Initial commit, JSTized site/ subdirectory from mirobot0.git commit 35e86ef
authorNick Downing <nick@ndcode.org>
Thu, 22 Nov 2018 12:39:06 +0000 (23:39 +1100)
committerNick Downing <nick@ndcode.org>
Thu, 22 Nov 2018 12:55:45 +0000 (23:55 +1100)
188 files changed:
.gitignore [new file with mode: 0644]
_config/server.jst [new file with mode: 0644]
_config/site.jst [new file with mode: 0644]
_doc/01247a.pdf [new file with mode: 0644]
_doc/98-mirobot.rules [new file with mode: 0644]
_doc/MiRobotLaser_1.ino [new file with mode: 0644]
_doc/unbind.sh [new file with mode: 0755]
_ssl/ca.conf [new file with mode: 0644]
_ssl/ca_cert.pem [new file with mode: 0644]
_ssl/ca_cert.srl [new file with mode: 0644]
_ssl/ca_key.pem [new file with mode: 0644]
_ssl/localhost.conf [new file with mode: 0644]
_ssl/localhost_cert.pem [new file with mode: 0644]
_ssl/localhost_cert_bundle.pem [new file with mode: 0644]
_ssl/localhost_csr.pem [new file with mode: 0644]
_ssl/localhost_ext.conf [new file with mode: 0644]
_ssl/localhost_key.pem [new file with mode: 0644]
_ssl/n.sh [new file with mode: 0755]
index.html.jst [new file with mode: 0644]
js/blockly_compressed.js [new file with mode: 0644]
js/blocks_compressed.js [new file with mode: 0644]
js/javascript_compressed.js [new file with mode: 0644]
js/msg/js/ab.js [new file with mode: 0644]
js/msg/js/ar.js [new file with mode: 0644]
js/msg/js/az.js [new file with mode: 0644]
js/msg/js/ba.js [new file with mode: 0644]
js/msg/js/bcc.js [new file with mode: 0644]
js/msg/js/be-tarask.js [new file with mode: 0644]
js/msg/js/be.js [new file with mode: 0644]
js/msg/js/bg.js [new file with mode: 0644]
js/msg/js/bn.js [new file with mode: 0644]
js/msg/js/br.js [new file with mode: 0644]
js/msg/js/ca.js [new file with mode: 0644]
js/msg/js/cs.js [new file with mode: 0644]
js/msg/js/da.js [new file with mode: 0644]
js/msg/js/de.js [new file with mode: 0644]
js/msg/js/diq.js [new file with mode: 0644]
js/msg/js/dty.js [new file with mode: 0644]
js/msg/js/el.js [new file with mode: 0644]
js/msg/js/en-gb.js [new file with mode: 0644]
js/msg/js/en.js [new file with mode: 0644]
js/msg/js/eo.js [new file with mode: 0644]
js/msg/js/es.js [new file with mode: 0644]
js/msg/js/et.js [new file with mode: 0644]
js/msg/js/eu.js [new file with mode: 0644]
js/msg/js/fa.js [new file with mode: 0644]
js/msg/js/fi.js [new file with mode: 0644]
js/msg/js/fr.js [new file with mode: 0644]
js/msg/js/gl.js [new file with mode: 0644]
js/msg/js/gor.js [new file with mode: 0644]
js/msg/js/he.js [new file with mode: 0644]
js/msg/js/hi.js [new file with mode: 0644]
js/msg/js/hrx.js [new file with mode: 0644]
js/msg/js/hu.js [new file with mode: 0644]
js/msg/js/ia.js [new file with mode: 0644]
js/msg/js/id.js [new file with mode: 0644]
js/msg/js/is.js [new file with mode: 0644]
js/msg/js/it.js [new file with mode: 0644]
js/msg/js/ja.js [new file with mode: 0644]
js/msg/js/kab.js [new file with mode: 0644]
js/msg/js/ko.js [new file with mode: 0644]
js/msg/js/lb.js [new file with mode: 0644]
js/msg/js/lki.js [new file with mode: 0644]
js/msg/js/lo.js [new file with mode: 0644]
js/msg/js/lrc.js [new file with mode: 0644]
js/msg/js/lt.js [new file with mode: 0644]
js/msg/js/lv.js [new file with mode: 0644]
js/msg/js/mk.js [new file with mode: 0644]
js/msg/js/ms.js [new file with mode: 0644]
js/msg/js/nb.js [new file with mode: 0644]
js/msg/js/nl.js [new file with mode: 0644]
js/msg/js/oc.js [new file with mode: 0644]
js/msg/js/pl.js [new file with mode: 0644]
js/msg/js/pms.js [new file with mode: 0644]
js/msg/js/pt-br.js [new file with mode: 0644]
js/msg/js/pt.js [new file with mode: 0644]
js/msg/js/ro.js [new file with mode: 0644]
js/msg/js/ru.js [new file with mode: 0644]
js/msg/js/sc.js [new file with mode: 0644]
js/msg/js/sd.js [new file with mode: 0644]
js/msg/js/shn.js [new file with mode: 0644]
js/msg/js/sk.js [new file with mode: 0644]
js/msg/js/skr-arab.js [new file with mode: 0644]
js/msg/js/sl.js [new file with mode: 0644]
js/msg/js/sq.js [new file with mode: 0644]
js/msg/js/sr-latn.js [new file with mode: 0644]
js/msg/js/sr.js [new file with mode: 0644]
js/msg/js/sv.js [new file with mode: 0644]
js/msg/js/ta.js [new file with mode: 0644]
js/msg/js/tcy.js [new file with mode: 0644]
js/msg/js/te.js [new file with mode: 0644]
js/msg/js/th.js [new file with mode: 0644]
js/msg/js/tl.js [new file with mode: 0644]
js/msg/js/tlh.js [new file with mode: 0644]
js/msg/js/tr.js [new file with mode: 0644]
js/msg/js/ug-arab.js [new file with mode: 0644]
js/msg/js/uk.js [new file with mode: 0644]
js/msg/js/ur.js [new file with mode: 0644]
js/msg/js/vi.js [new file with mode: 0644]
js/msg/js/xmf.js [new file with mode: 0644]
js/msg/js/zh-hans.js [new file with mode: 0644]
js/msg/js/zh-hant.js [new file with mode: 0644]
js/msg/json/ab.json [new file with mode: 0644]
js/msg/json/ar.json [new file with mode: 0644]
js/msg/json/az.json [new file with mode: 0644]
js/msg/json/ba.json [new file with mode: 0644]
js/msg/json/bcc.json [new file with mode: 0644]
js/msg/json/be-tarask.json [new file with mode: 0644]
js/msg/json/be.json [new file with mode: 0644]
js/msg/json/bg.json [new file with mode: 0644]
js/msg/json/bn.json [new file with mode: 0644]
js/msg/json/br.json [new file with mode: 0644]
js/msg/json/ca.json [new file with mode: 0644]
js/msg/json/constants.json [new file with mode: 0644]
js/msg/json/cs.json [new file with mode: 0644]
js/msg/json/da.json [new file with mode: 0644]
js/msg/json/de.json [new file with mode: 0644]
js/msg/json/diq.json [new file with mode: 0644]
js/msg/json/dty.json [new file with mode: 0644]
js/msg/json/el.json [new file with mode: 0644]
js/msg/json/en-gb.json [new file with mode: 0644]
js/msg/json/en.json [new file with mode: 0644]
js/msg/json/eo.json [new file with mode: 0644]
js/msg/json/es.json [new file with mode: 0644]
js/msg/json/et.json [new file with mode: 0644]
js/msg/json/eu.json [new file with mode: 0644]
js/msg/json/fa.json [new file with mode: 0644]
js/msg/json/fi.json [new file with mode: 0644]
js/msg/json/fr.json [new file with mode: 0644]
js/msg/json/gl.json [new file with mode: 0644]
js/msg/json/gor.json [new file with mode: 0644]
js/msg/json/he.json [new file with mode: 0644]
js/msg/json/hi.json [new file with mode: 0644]
js/msg/json/hrx.json [new file with mode: 0644]
js/msg/json/hu.json [new file with mode: 0644]
js/msg/json/ia.json [new file with mode: 0644]
js/msg/json/id.json [new file with mode: 0644]
js/msg/json/is.json [new file with mode: 0644]
js/msg/json/it.json [new file with mode: 0644]
js/msg/json/ja.json [new file with mode: 0644]
js/msg/json/kab.json [new file with mode: 0644]
js/msg/json/ko.json [new file with mode: 0644]
js/msg/json/lb.json [new file with mode: 0644]
js/msg/json/lki.json [new file with mode: 0644]
js/msg/json/lo.json [new file with mode: 0644]
js/msg/json/lrc.json [new file with mode: 0644]
js/msg/json/lt.json [new file with mode: 0644]
js/msg/json/lv.json [new file with mode: 0644]
js/msg/json/mk.json [new file with mode: 0644]
js/msg/json/ms.json [new file with mode: 0644]
js/msg/json/nb.json [new file with mode: 0644]
js/msg/json/nl.json [new file with mode: 0644]
js/msg/json/oc.json [new file with mode: 0644]
js/msg/json/pl.json [new file with mode: 0644]
js/msg/json/pms.json [new file with mode: 0644]
js/msg/json/pt-br.json [new file with mode: 0644]
js/msg/json/pt.json [new file with mode: 0644]
js/msg/json/qqq.json [new file with mode: 0644]
js/msg/json/ro.json [new file with mode: 0644]
js/msg/json/ru.json [new file with mode: 0644]
js/msg/json/sc.json [new file with mode: 0644]
js/msg/json/sd.json [new file with mode: 0644]
js/msg/json/shn.json [new file with mode: 0644]
js/msg/json/sk.json [new file with mode: 0644]
js/msg/json/skr-arab.json [new file with mode: 0644]
js/msg/json/sl.json [new file with mode: 0644]
js/msg/json/sq.json [new file with mode: 0644]
js/msg/json/sr-latn.json [new file with mode: 0644]
js/msg/json/sr.json [new file with mode: 0644]
js/msg/json/sv.json [new file with mode: 0644]
js/msg/json/synonyms.json [new file with mode: 0644]
js/msg/json/ta.json [new file with mode: 0644]
js/msg/json/tcy.json [new file with mode: 0644]
js/msg/json/te.json [new file with mode: 0644]
js/msg/json/th.json [new file with mode: 0644]
js/msg/json/tl.json [new file with mode: 0644]
js/msg/json/tlh.json [new file with mode: 0644]
js/msg/json/tr.json [new file with mode: 0644]
js/msg/json/ug-arab.json [new file with mode: 0644]
js/msg/json/uk.json [new file with mode: 0644]
js/msg/json/ur.json [new file with mode: 0644]
js/msg/json/vi.json [new file with mode: 0644]
js/msg/json/xmf.json [new file with mode: 0644]
js/msg/json/zh-hans.json [new file with mode: 0644]
js/msg/json/zh-hant.json [new file with mode: 0644]
js/msg/messages.js [new file with mode: 0644]
package.json [new file with mode: 0644]
stty.sh [new file with mode: 0755]

diff --git a/.gitignore b/.gitignore
new file mode 100644 (file)
index 0000000..2f58f7a
--- /dev/null
@@ -0,0 +1,2 @@
+.*.jst
+/node_modules
diff --git a/_config/server.jst b/_config/server.jst
new file mode 100644 (file)
index 0000000..1439059
--- /dev/null
@@ -0,0 +1,25 @@
+let jst_server = require('@ndcode/jst_server')
+
+return {
+  "enable_caching": false,
+  "listen": [
+    {"port": 8080},
+    {"port": 8443, "protocol": "https:"}
+  ],
+  "mime_types": {
+    ".css": "text/css; charset=utf-8",
+    ".html": "text/html; charset=utf-8",
+    ".ico": "image/x-icon",
+    ".jpg": "image/jpeg",
+    ".jpeg": "image/jpeg",
+    ".js": "application/javascript; charset=utf-8",
+    ".json": "application/json; charset=utf-8",
+    ".png": "image/png",
+    ".svg": "image/svg+xml",
+    ".xml": "text/xml; charset=utf-8"
+  },
+  sites: {
+    'localhost': new jst_server.SiteDefault(_server, '.'),
+    'localhost.localdomain': new jst_server.SiteRedirect(_server, 'localhost')
+  }
+}
diff --git a/_config/site.jst b/_config/site.jst
new file mode 100644 (file)
index 0000000..7a250a5
--- /dev/null
@@ -0,0 +1,23 @@
+let jst_server = require('@ndcode/jst_server')
+
+let CustomSite = function(server, root) {
+  if (!this instanceof CustomSite)
+    throw Error('CustomSite is a constructor')
+  jst_server.SiteRoot.call(this, server, root)
+}
+
+CustomSite.prototype = Object.create(jst_server.SiteRoot.prototype)
+
+CustomSite.prototype.respond = async function(env) {
+  if (
+    env.pathname === '/node_modules' ||
+    env.pathname.slice(0, 14) === '/node_modules/' ||
+    env.pathname === '/package.json'
+  ) {
+    this.die(env, `banned file ${env.pathname}`)
+    return
+  }
+  return /*await*/ jst_server.SiteRoot.prototype.respond.call(this, env)
+}
+
+return new CustomSite(_server, _root)
diff --git a/_doc/01247a.pdf b/_doc/01247a.pdf
new file mode 100644 (file)
index 0000000..95bc758
Binary files /dev/null and b/_doc/01247a.pdf differ
diff --git a/_doc/98-mirobot.rules b/_doc/98-mirobot.rules
new file mode 100644 (file)
index 0000000..812fd9b
--- /dev/null
@@ -0,0 +1 @@
+SUBSYSTEM=="usb", ATTRS{product}=="QinHeng Electronics HL-340 USB-Serial adapter", GROUP="dialout"
diff --git a/_doc/MiRobotLaser_1.ino b/_doc/MiRobotLaser_1.ino
new file mode 100644 (file)
index 0000000..712b9e5
--- /dev/null
@@ -0,0 +1,457 @@
+#include <VarSpeedServo.h>
+
+void(* resetFunc) (void) = 0;
+
+//**************************** MiRobot Servo Controller  *************************
+
+VarSpeedServo ServoA;    // create servo object for Servo A 
+VarSpeedServo ServoB;    // create servo object for Servo B
+VarSpeedServo ServoC;    // create servo object for Servo C
+VarSpeedServo ServoD;    // create servo object for Servo D
+VarSpeedServo ServoE;    // create servo object for Servo E
+VarSpeedServo ServoF;    // create servo object for Servo F
+
+
+//*************************** Include the AVR EEPROM Library *********************
+#include <avr/eeprom.h>
+
+// include the library code:
+#define eeprom_read_to(dst_p, eeprom_field, dst_size) eeprom_read_block(dst_p, (void *)offsetof(__eeprom_data, eeprom_field), MIN(dst_size, sizeof((__eeprom_data*)0)->eeprom_field))
+#define eeprom_read(dst, eeprom_field) eeprom_read_to(&dst, eeprom_field, sizeof(dst))
+#define eeprom_write_from(src_p, eeprom_field, src_size) eeprom_write_block(src_p, (void *)offsetof(__eeprom_data, eeprom_field), MIN(src_size, sizeof((__eeprom_data*)0)->eeprom_field))
+#define eeprom_write(src, eeprom_field) { typeof(src) x = src; eeprom_write_from(&x, eeprom_field, sizeof(x)); }
+#define MIN(x,y) ( x > y ? y : x )
+
+//**************************** Variable Declarations ****************************
+
+//Internal Command Variable
+String inputString = "";        // String to hold incoming data
+
+//Internal Servo Working Variables and Robot initial position in absolute degres
+int PosA = 90;                  // Position required for Axis A Servo
+int PosB = 105;                 // Position required for Axis B Servo
+int PosC = 70;                  // Position required for Axis C Servo
+int PosD = 90;                  // Position required for Axis D Servo
+int PosE = 90;                  // Position required for Axis E Servo
+int PosF = 90;                  // Position required for Axis D Servo
+
+int SpeedA = 10;                 // Speed required for Axis A Servo
+int SpeedB = 10;                 // Speed required for Axis B Servo
+int SpeedC = 10;                 // Speed required for Axis C Servo
+int SpeedD = 10;                 // Speed required for Axis D Servo
+int SpeedE = 10;                 // Speed required for Axis C Servo
+int SpeedF = 10;                 // Speed required for Axis D Servo
+
+// Trims - EEPROM definition
+struct __eeprom_data {
+  int StoredTrimA;               // Stored Trim for Axis A Servo
+  int StoredTrimB;               // Stored Trim for Axis B Servo
+  int StoredTrimC;               // Stored Trim for Axis C Servo
+  int StoredTrimD;               // Stored Trim for Axis D Servo
+  int StoredTrimE;               // Stored Trim for Axis E Servo
+  int StoredTrimF;               // Stored Trim for Axis F Servo
+};
+
+// Trims
+int TrimA;                       // A Axis working Trim
+int TrimB;                       // B Axis working Trim
+int TrimC;                       // C Axis working Trim
+int TrimD;                       // D Axis working Trim
+int TrimE;                       // E Axis working Trim
+int TrimF;                       // F Axis working Trim
+
+bool ServosActive = false;       // ServoActivate Flag
+
+//**************************** Setup Procedure ****************************
+
+void setup() {
+
+  //Read Trim settings from EEPROM
+  eeprom_read(TrimA, StoredTrimA);
+  eeprom_read(TrimB, StoredTrimB);
+  eeprom_read(TrimC, StoredTrimC);
+  eeprom_read(TrimD, StoredTrimD);
+  eeprom_read(TrimE, StoredTrimE);
+  eeprom_read(TrimF, StoredTrimF);
+    
+  // Linked LED
+  pinMode(13, OUTPUT);
+  // Turn Linked LED Off    
+  digitalWrite(13, LOW);
+
+  // E-STOP LED
+  pinMode(2, OUTPUT);
+  // Turn E-STOP LED ON    
+  digitalWrite(2, HIGH);
+  
+  // Handshake In
+  pinMode(A2, INPUT);
+  //Activate A2 Pullup
+  digitalWrite(A2, HIGH);
+
+  // Input In
+  pinMode(A0, INPUT);
+  //Activate A0 Pullup
+  digitalWrite(A0, HIGH);
+  
+  // Handshake Out
+  pinMode(A1, OUTPUT);
+  // Handshake Output OFF
+  digitalWrite(A1, HIGH);
+
+  // Servo Power Control
+  pinMode(A3, OUTPUT);
+  pinMode(A4, OUTPUT);
+  
+  //Activate A3 Pullup
+  digitalWrite(A4, HIGH);
+  
+  //Activate A4 Pullup
+  digitalWrite(A4, HIGH);
+  
+  // Servo Set 1 & 2 Off
+  digitalWrite(A3, LOW);
+  digitalWrite(A4, LOW);
+  
+  // User Output 1
+  pinMode(A5, OUTPUT);
+  // Output 1 Off  
+  digitalWrite(A5, LOW); 
+  
+  // User Output 2
+  pinMode(8, OUTPUT);
+  // Output 2 Off  
+  digitalWrite(8, LOW);
+
+   // User Output 3
+  pinMode(7, OUTPUT);
+  // Output 3 Off  
+  digitalWrite(7, LOW); 
+
+  // User Output 4
+  pinMode(4, OUTPUT);
+  // Output 4 Off  
+  digitalWrite(4, LOW); 
+                                                                                             
+  // Serial comms setup  
+  Serial.begin(500000);
+  inputString.reserve(20);       // reserve 20 bytes for the inputString:
+
+  ServoA.attach(11);  // attaches the Servo A to pin 11
+  ServoB.attach(10);  // attaches the Servo B to pin 10 
+  ServoC.attach(9);   // attaches the Servo C to pin 9 
+  ServoD.attach(6);   // attaches the Servo D to pin 6 
+  ServoE.attach(5);   // attaches the Servo E to pin 11
+  ServoF.attach(3);   // attaches the Servo F to pin 10 
+  
+}
+//**************************** Loop Procedure ****************************
+
+void loop() {
+  
+if(Serial.available() > 0){
+      
+  inputString = Serial.readStringUntil('\n');
+  CommandParse();}  // Call the Command Parser to do something with the Input
+
+  //Move the Servo's ?
+  //if (ServosActive == true){
+        
+    // Move the Servos
+    ServoA.write(PosA + TrimA, SpeedA, false);
+    ServoB.write(PosB + TrimB, SpeedB, false);
+    ServoC.write(PosC + TrimC, SpeedC, false);
+    ServoD.write(PosD + TrimD, SpeedD, false);
+    ServoE.write(PosE + TrimE, SpeedE, false);
+    ServoF.write(PosF + TrimF, SpeedF, false);
+  //}  
+     
+ }
+
+//**************************** Command Parser ****************************
+
+//  A   A Axis Position and Speed
+//  B   B Axis Position and Speed
+//  C   C Axis Position and Speed
+//  D   D Axis Position and Speed
+//  E   E Axis Position and Speed
+//  F   F Axis Position and Speed
+//  G   Reset
+//  H   Read Axes Trims
+//  I   Write the Axes Trims
+//  K   Request Status of Input In
+//``Q0  User Output 1 OFF
+//  Q1  User Output 1 ON
+//  R   Servos OFF
+//  S   Request Status of Interlock In
+//  T0  Interlock Out OFF
+//  T1  Interlock Out ON
+//  U   Servos ON
+//  V0  User Output 2 Off
+//  V1  User Output 2 ON 
+//  W0  User Output 3 Off
+//  W1  User Output 3 ON 
+//  X0  User Output 4 Off
+//  X1  User Output 4 ON 
+//  Z   Request Controller ID
+
+void CommandParse() {
+  
+  // Handle the Servo A Position and Speed Command
+  if (inputString.startsWith("A")) {    
+     PosA = (inputString.substring(1, 4)).toInt();
+     SpeedA = (inputString.substring(4, 7)).toInt();
+     goto QuickExit;
+  } 
+   
+  // Handle the Servo B Position and Speed Command
+  if (inputString.startsWith("B")) {    
+     PosB = (inputString.substring(1, 4)).toInt();
+     SpeedB = (inputString.substring(4, 7)).toInt();    
+     goto QuickExit;
+  } 
+  
+  // Handle the Servo C Position and Speed Command
+  if (inputString.startsWith("C")) {    
+     PosC = (inputString.substring(1, 4)).toInt();
+     SpeedC = (inputString.substring(4, 7)).toInt();    
+     goto QuickExit;
+  } 
+  
+  // Handle the Servo D Position and Speed Command
+  if (inputString.startsWith("D")) {    
+     PosD = (inputString.substring(1, 4)).toInt();
+     SpeedD = (inputString.substring(4, 7)).toInt();    
+     goto QuickExit;
+  } 
+
+    // Handle the Servo E Position and Speed Command
+  if (inputString.startsWith("E")) {    
+     PosE = (inputString.substring(1, 4)).toInt();
+     SpeedE = (inputString.substring(4, 7)).toInt();    
+     goto QuickExit;
+  } 
+
+    // Handle the Servo F Position and Speed Command
+  if (inputString.startsWith("F")) {    
+     PosF = (inputString.substring(1, 4)).toInt();
+     SpeedF = (inputString.substring(4, 7)).toInt();    
+     goto QuickExit;
+  } 
+
+// Handle the Uno Reset  request
+  if (inputString.startsWith("G")) {    
+
+    // Call Hardware Reset
+    resetFunc();       
+ }
+
+ // Handle the read Axis Trims request
+  if (inputString.startsWith("H")) {    
+     Serial.print("h,");
+     Serial.print(TrimA);
+     Serial.print(",");
+     Serial.print(TrimB);
+     Serial.print(",");
+     Serial.print(TrimC);
+     Serial.print(",");
+     Serial.print(TrimD);
+     Serial.print(",");
+     Serial.print(TrimE);
+     Serial.print(",");
+     Serial.println(TrimF);
+
+     goto QuickExit;
+  }
+
+ // Handle the Set Axis Trims request
+  if (inputString.startsWith("I")) {    
+      
+      //Write setting to EEPROM StroredTrimA
+      eeprom_write(inputString.substring(1, 4).toInt(), StoredTrimA);
+      TrimA = inputString.substring(1,4).toInt();
+
+      //Write setting to EEPROM StroredTrimB
+      eeprom_write(inputString.substring(4,7).toInt(), StoredTrimB);
+      TrimB = inputString.substring(4, 7).toInt();
+
+      //Write setting to EEPROM StroredTrimC
+      eeprom_write(inputString.substring(7,10).toInt(), StoredTrimC);
+      TrimC = inputString.substring(7, 10).toInt();
+
+      //Write setting to EEPROM StroredTrimD
+      eeprom_write(inputString.substring(10,13).toInt(), StoredTrimD);
+      TrimD = inputString.substring(10,13).toInt();
+
+      //Write setting to EEPROM StroredTrimE
+      eeprom_write(inputString.substring(13,16).toInt(), StoredTrimE);
+      TrimE = inputString.substring(13,16).toInt();
+
+      //Write setting to EEPROM StroredTrimF
+      eeprom_write(inputString.substring(16,19).toInt(), StoredTrimF);
+      TrimF = inputString.substring(16,19).toInt();
+      
+     goto QuickExit; 
+ }
+ // Handle the K Command (Status of Input IN)
+    if (inputString.startsWith("K")) {
+
+       bool val = digitalRead(A0);
+                     
+       if (val == 0) {
+       Serial.println("k");
+       goto QuickExit; 
+      }  
+    }  
+
+    // Handle the Q Command ( Operate the User 1 Output pin )                    
+    if (inputString.startsWith("Q")) {
+      bool Aux1OutputState = (inputString.substring(1, 2)).toInt();
+      if (Aux1OutputState == 0)
+        {digitalWrite(A5, LOW);}
+      else
+        {digitalWrite(A5, HIGH);}
+    goto QuickExit;
+    }  
+     
+    // Handle the R Command ( Turn all the servos OFF )
+    if (inputString.startsWith("R")) {    
+         
+         StopServos();
+         
+         // Turn E-STOP LED ON    
+         digitalWrite(2, HIGH);
+         
+         goto QuickExit;
+    }
+    
+    // Handle the S Command (Status of Interlock IN)
+    if (inputString.startsWith("S")) {
+
+       bool val = digitalRead(A2);
+                     
+       if (val == 0) {
+       Serial.println("s");
+       goto QuickExit; 
+      }  
+    }  
+  
+    // Handle the T Command ( Operate Interlock out )                    
+    if (inputString.startsWith("T")) {
+      bool Aux1OutputState = (inputString.substring(1, 2)).toInt();
+        if (Aux1OutputState == 1)
+          {digitalWrite(A1, LOW);}
+        else
+          {digitalWrite(A1, HIGH);}
+      goto QuickExit;
+    }
+
+    // Handle the U Command ( Turn all the servos ON )
+    if (inputString.startsWith("U")) {    
+         
+         StartServos();
+
+         // Turn E-STOP LED OFF    
+         digitalWrite(2, LOW);
+         
+         goto QuickExit;
+    }  
+
+    // Handle the V Command ( Operate the User 2 Output pin )                    
+    if (inputString.startsWith("V")) {
+      bool Aux2OutputState = (inputString.substring(1, 2)).toInt();
+      if (Aux2OutputState == 0)
+        {digitalWrite(8, LOW);}
+      else
+        {digitalWrite(8, HIGH);}
+    goto QuickExit;
+    }  
+
+    // Handle the W Command ( Operate the User 3 Output pin )                    
+    if (inputString.startsWith("W")) {
+      bool Aux3OutputState = (inputString.substring(1, 2)).toInt();
+      if (Aux3OutputState == 0)
+        {digitalWrite(7, LOW);}
+      else
+        {digitalWrite(7, HIGH);}
+    goto QuickExit;
+    } 
+
+    // Handle the X Command ( Operate the User 4 Output pin )                    
+    if (inputString.startsWith("X")) {
+      bool Aux4OutputState = (inputString.substring(1, 2)).toInt();
+      if (Aux4OutputState == 0)
+        {digitalWrite(4, LOW);}
+      else
+        {digitalWrite(4, HIGH);}
+    goto QuickExit;
+    }   
+                        
+    // Handle the Z Command (Request for Servo Controller ID)                                                                    
+    if (inputString.startsWith("Z")) {
+      Serial.println("MiRobotLaser V01-001");
+      goto QuickExit;
+    }
+     
+    // Command String has been processed so clear Input string and flags
+    QuickExit:
+    inputString = "";
+           
+}
+
+//**************************** Start Servos ****************************
+
+void StartServos() {
+
+    // Turn ON the LED
+    digitalWrite(13, HIGH);         // LED On
+
+    digitalWrite(A3, HIGH);         // Servo Set 1 on
+    digitalWrite(A4, HIGH);         // Servo Set 2 on
+
+    delay(500);  // wait awhile for servos to start up
+
+    // Default Servo Move
+    ServoA.write(PosA, SpeedA, true);
+    ServoB.write(PosB, SpeedB, true);
+    ServoC.write(PosC, SpeedC, true);
+    ServoD.write(PosD, SpeedD, true);
+    ServoE.write(PosE, SpeedE, true);
+    ServoF.write(PosF, SpeedF, true);
+
+    ServosActive == true;
+
+ }
+
+ //**************************** Stop Servos ****************************
+
+void StopServos() {
+
+  ServosActive == false;
+
+  // Turn OFF the LED
+  digitalWrite(13, LOW);         // LED On
+
+  ServoA.stop();  // Stop Servo A
+  ServoB.stop();  // Stop Servo B 
+  ServoC.stop();  // Stop Servo C 
+  ServoD.stop();  // Stop Servo D 
+  ServoE.stop();  // Stop Servo E
+  ServoF.stop();  // Stop Servo F 
+
+  //ServoA.detach();  // detach Servo A
+  //ServoB.detach();  // detach Servo B 
+  //ServoC.detach();  // detach Servo C 
+  //ServoD.detach();  // detach Servo D 
+  //ServoE.detach();  // detach Servo E
+  //ServoF.detach();  // detach Servo F 
+
+  delay(250);  // wait awhile for servos to shut down
+
+  digitalWrite(A3, LOW);         // Servo Set 1 off
+  digitalWrite(A4, LOW);         // Servo Set 2 off
+     
+ }
+\r
diff --git a/_doc/unbind.sh b/_doc/unbind.sh
new file mode 100755 (executable)
index 0000000..7e51a0d
--- /dev/null
@@ -0,0 +1,3 @@
+#!/bin/sh
+# this is for ttyACM devices
+echo -n "3-1:1.2" >/sys/bus/usb/drivers/cdc_acm/unbind
diff --git a/_ssl/ca.conf b/_ssl/ca.conf
new file mode 100644 (file)
index 0000000..d0d9a5f
--- /dev/null
@@ -0,0 +1,25 @@
+[ ca ]
+default_ca      = CA_default            # The default ca section
+
+[ CA_default ]
+
+#dir            = ./demoCA              # top dir
+#database       = $dir/index.txt        # index file.
+#new_certs_dir  = $dir/newcerts         # new certs dir
+#
+#certificate    = $dir/cacert.pem       # The CA cert
+#serial         = $dir/serial           # serial no file
+#private_key    = $dir/private/cakey.pem# CA private key
+#RANDFILE       = $dir/private/.rand    # random number file
+#
+default_days   = 365                   # how long to certify for
+#default_crl_days= 30                   # how long before next CRL
+#default_md     = md5                   # md to use
+#
+#policy         = policy_any            # default policy
+#email_in_dn    = no                    # Don't add the email into cert DN
+#
+#name_opt       = ca_default            # Subject name display option
+#cert_opt       = ca_default            # Certificate display option
+#copy_extensions = none
+copy_extensions = copyall
diff --git a/_ssl/ca_cert.pem b/_ssl/ca_cert.pem
new file mode 100644 (file)
index 0000000..a77b130
--- /dev/null
@@ -0,0 +1,21 @@
+-----BEGIN CERTIFICATE-----
+MIIDYDCCAkigAwIBAgIJANSi4mXBF9a+MA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV
+BAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBX
+aWRnaXRzIFB0eSBMdGQwHhcNMTgxMTE2MTAyNjU1WhcNMTgxMjE2MTAyNjU1WjBF
+MQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50
+ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
+CgKCAQEAy2PngRdvbUTVsDW+Lg3VlALPu4w8m3qLPeBPLYDyjiRHNn5QcKJZGvRl
+N+e8fSeb9igpzrgpCgK4S9rZpJrOX9heBHs2/5fQ568lHXJKgjCNm8AM/2v0/txy
+46iOJeZmsBNtSVzYIKgHHIsUVGP4Ct/lezPsznacEXOL+wmtEbAcMH73vFrPMaiq
+8lRb8yTNEF4gI2b8TKS8oHW55owiilQmNNDH4dtCqh2ATCDB2jNEYXUa74vP9qD3
+0XDAco2XY5/AUPslMEF28z9jAvoqvO5S7sVMRGBmkFOJ8yDB9exmtObes4ReNY6g
+5624yoG4MTxjTcb2rv666Qp6/vjUPwIDAQABo1MwUTAdBgNVHQ4EFgQUQbZw0emw
+0IwXLQAg13thU7AEgRMwHwYDVR0jBBgwFoAUQbZw0emw0IwXLQAg13thU7AEgRMw
+DwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAv9RHAheIwsVqdvbF
+USorz0z7PjDM8dmI1yanPNBUjNIMceZ0h+CcFOztMH8dvMM0r5pCQkIJJyFCyXtK
+y61AOrNbOAgnDm3z1YrVB8NEnji9Qicctpbse8UymD2kOdBXjU1Egrd/uUAgJZmP
+ASYeEYf/n7/bMwTNAJ+qc0o793ILIwJ20Ois43oh3RB57xDzHlHWEbN+lZFZWjmT
+yuVPvwULYmgLP8huh3EOwnsh0eCYkhgImhJICawjWQLT+EHbD3xt+QRYElDgv/Av
+kqRliJCa3yF8NLUdsQp7jD5QdpWUfcnl0Kfrc1I3KlM3SpneGcv6FT/U4hjW++AZ
+ezss0w==
+-----END CERTIFICATE-----
diff --git a/_ssl/ca_cert.srl b/_ssl/ca_cert.srl
new file mode 100644 (file)
index 0000000..401cc51
--- /dev/null
@@ -0,0 +1 @@
+D29D1C6A226490AC
diff --git a/_ssl/ca_key.pem b/_ssl/ca_key.pem
new file mode 100644 (file)
index 0000000..e65d8ce
--- /dev/null
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEowIBAAKCAQEAy2PngRdvbUTVsDW+Lg3VlALPu4w8m3qLPeBPLYDyjiRHNn5Q
+cKJZGvRlN+e8fSeb9igpzrgpCgK4S9rZpJrOX9heBHs2/5fQ568lHXJKgjCNm8AM
+/2v0/txy46iOJeZmsBNtSVzYIKgHHIsUVGP4Ct/lezPsznacEXOL+wmtEbAcMH73
+vFrPMaiq8lRb8yTNEF4gI2b8TKS8oHW55owiilQmNNDH4dtCqh2ATCDB2jNEYXUa
+74vP9qD30XDAco2XY5/AUPslMEF28z9jAvoqvO5S7sVMRGBmkFOJ8yDB9exmtObe
+s4ReNY6g5624yoG4MTxjTcb2rv666Qp6/vjUPwIDAQABAoIBAA3vOEsl2eJ4ltNN
+u0vYcsuDLcxBnV1hleyVU5dggD2wypg3KzesR8KK/+xGmilQ72R79/FLuLQQ36OC
+yOp4GK+EWVyhPHFia1OUMkzEKcqlnO4QyFMviEd1vwFN6P87u8lQa2pdTAlguawA
+81Gcz7+e+0/njM/QXHztl6eJUCwn7zEbG8+we0g8GkLILOBA3Tuy5Vu+ox1LQZQp
+WPqIMhm0GXPOVRKBr0mPVWtJvyAYvTX13GqNM1YFbElkbnkbsTaJhg/L3J9UJNsm
+BbOg0oUdq1yWoy7cjOXiq3aG9rNws9PBXbbDB/G67aae/1SJ7eBTV/kCEuYh0YDx
+MSn5xYECgYEA/uZueW4dFTKMBebNFvJreQei1ecaGwEFckUYD5u02VugtYc9inQ2
+sK7ENq/CsA10WKBxV84lIdiG5yXjG1RwCLvTV6YBP5uL9dVMln25x6ZDUxOlYzuZ
+OZUcabR3Y3Ar349vDV+vFle47J0YW8H89O5YlVxvLfZ+CFFFSBSMRCECgYEAzESS
+5IvNH1RUCR0tqRkHA0SXMiNxF85lFbUrbS2yMI60LCaTE2q/uK5008f5laD3LYKU
+Gq7SVP1U4z0+g9jGa0rvYd1h3o6fJMrFBiBN1ZRRzMFaiQxxNbyjCV7LR86m6aSo
+pz4f7k8EmzrsmZw7MF/l9Dy3AWHpg1cwYdR6DF8CgYB17kS0d6aK9Rzlahf/At+I
+WmkTD937Gmjbqm3sYry0R3k+IzjswsG+0szDBGRNsZvfmTN3TU/OrfAUJ2pAbbt7
+vvKTvaEcPanubeYGRlrarOi/GfrNw3grtPo1SaJm5jHWN/VIObm225UaG8B2S3Tu
+GQvw5pglqsI6tOcZ5y/SIQKBgBVJuD1VTIVNVoy0m8OZth9jEJbLFsgyXFqMzP/N
+2VoyJRjM1FsbrutiUw6XMq2jXt9BUooNWiI9XJFqGo/HEbaw0o3ScpatKmy9LRdc
+WoA9uuCp7fOGdm3xQNSDKpBLOx3yaRk04kMFvScoVuwTWh/Kfr6bbT8Zoypq9cHc
+UPPlAoGBAIEtVPhH6R51/HREPMWXWgwZujkeD0VQX+hNP8VOgSlts9L4bDn7res5
+DXHDXU3Q+vY+86qDvJgJaOdmt7IoNXgRlU9tUZP4MD8YG32Xjn3dnB5e/3SmBJwD
+NV4mVx+7X6me5rb4NdpMcSzulVXy3SfnQTaDsNghpcTqOXLFI0ti
+-----END RSA PRIVATE KEY-----
diff --git a/_ssl/localhost.conf b/_ssl/localhost.conf
new file mode 100644 (file)
index 0000000..fa3ef54
--- /dev/null
@@ -0,0 +1,66 @@
+# The main section is named req because the command we are using is req
+# (openssl req ...)
+[ req ]
+## This specifies the default key size in bits. If not specified then 512 is
+## used. It is used if the -new option is used. It can be overridden by using
+## the -newkey option. 
+#default_bits = 2048
+#
+## This is the default filename to write a private key to. If not specified the
+## key is written to standard output. This can be overridden by the -keyout
+## option.
+#default_keyfile = oats.key
+#
+## If this is set to no then if a private key is generated it is not encrypted.
+## This is equivalent to the -nodes command line option. For compatibility
+## encrypt_rsa_key is an equivalent option. 
+#encrypt_key = no
+
+# This option specifies the digest algorithm to use. Possible values include
+# md5 sha1 mdc2. If not present then MD5 is used. This option can be overridden
+# on the command line.
+default_md = sha1
+
+# if set to the value no this disables prompting of certificate fields and just
+# takes values from the config file directly. It also changes the expected
+# format of the distinguished_name and attributes sections.
+prompt = no
+
+# if set to the value yes then field values to be interpreted as UTF8 strings,
+# by default they are interpreted as ASCII. This means that the field values,
+# whether prompted from a terminal or obtained from a configuration file, must
+# be valid UTF8 strings.
+utf8 = yes
+
+# This specifies the section containing the distinguished name fields to
+# prompt for when generating a certificate or certificate request.
+distinguished_name = my_req_distinguished_name
+
+# this specifies the configuration file section containing a list of extensions
+# to add to the certificate request. It can be overridden by the -reqexts
+# command line switch. See the x509v3_config(5) manual page for details of the
+# extension section format.
+req_extensions = my_extensions
+
+[ my_req_distinguished_name ]
+C = PT
+ST = Lisboa
+L = Lisboa
+O  = Oats In The Water
+#CN = *.oats.org
+CN = localhost
+
+[ my_extensions ]
+basicConstraints=CA:FALSE
+subjectAltName=@my_subject_alt_names
+subjectKeyIdentifier = hash
+
+[ my_subject_alt_names ]
+#DNS.1 = *.oats.org
+#DNS.2 = *.oats.net
+#DNS.3 = *.oats.in
+#DNS.4 = oats.org
+#DNS.5 = oats.net
+#DNS.6 = oats.in
+DNS.1 = localhost
+DNS.2 = localhost.localdomain
diff --git a/_ssl/localhost_cert.pem b/_ssl/localhost_cert.pem
new file mode 100644 (file)
index 0000000..8820da7
--- /dev/null
@@ -0,0 +1,21 @@
+-----BEGIN CERTIFICATE-----
+MIIDgDCCAmigAwIBAgIJANKdHGoiZJCsMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV
+BAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBX
+aWRnaXRzIFB0eSBMdGQwHhcNMTgxMTE2MTAyNjU1WhcNMTgxMjE2MTAyNjU1WjBf
+MQswCQYDVQQGEwJQVDEPMA0GA1UECAwGTGlzYm9hMQ8wDQYDVQQHDAZMaXNib2Ex
+GjAYBgNVBAoMEU9hdHMgSW4gVGhlIFdhdGVyMRIwEAYDVQQDDAlsb2NhbGhvc3Qw
+ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDDJLav5I1Dxx9Lzv7DyHig
+ApIkm9U8tcRKuM3Q4q3xj8P2VmSHVHZ0FfjKs/NZ8hLi3go+EzGolmiRKPA7V9UQ
+Zgm5MmC6tewiol76lsjehUKuG+DmT3n79xSHsj5PC6wkE/IkifcQIeGVJWgQbRR4
+JSGaX4tmmpxNrDDgpVnaXEO8I5KR/jvniAn2DoTKlY5XSIUXlbZQPHdlLdLUU7in
+5M19b9qnIdJRxa4mcOWNtsUHU16SJZAmQBmg4vAhMc4XyJ23YE8cNxUxusKrhoUB
+sWmvjGgbbaYgtwBmCFQNSFiJhyzgg6sdUot7wVXDkXBTJPQRQO82CJyw6YoDnTCL
+AgMBAAGjWTBXMAkGA1UdEwQCMAAwKwYDVR0RBCQwIoIJbG9jYWxob3N0ghVsb2Nh
+bGhvc3QubG9jYWxkb21haW4wHQYDVR0OBBYEFPKfGhTkosDI90l245Si/Ce/CLr/
+MA0GCSqGSIb3DQEBCwUAA4IBAQBYjiwzD88QKfJvnmU6TTRTKOOWKpKdEIlZGPBu
+4opyLgB0N/cuiNKYN2WW2Z57TPZLwwKMTlMODco1MTnyVBU0kft+yPxcc9yao7wV
+Fxrb8WWylY5bFWKXwxB0SW01tgaDCAlKtCrTZVoXi/3578cru2/gf4pqoXhuIuG6
+pp5Z9baVOwVTbkNX+vSU8vxkWgpFoAcSaFkULbKCqnilqjn49myydJuorgvxvdOB
+hMHUpGWjhdkb121BvJjZfDxC6jGWmQ2ZGhJkLKU5OmOhl8GocEyDsYglx5PSJTvA
+zGvABNuodcksOPLyzPiKcTPVks5Ls1WxDgOYoRNeEYHszYDW
+-----END CERTIFICATE-----
diff --git a/_ssl/localhost_cert_bundle.pem b/_ssl/localhost_cert_bundle.pem
new file mode 100644 (file)
index 0000000..48fa2d7
--- /dev/null
@@ -0,0 +1,42 @@
+-----BEGIN CERTIFICATE-----
+MIIDgDCCAmigAwIBAgIJANKdHGoiZJCsMA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV
+BAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBX
+aWRnaXRzIFB0eSBMdGQwHhcNMTgxMTE2MTAyNjU1WhcNMTgxMjE2MTAyNjU1WjBf
+MQswCQYDVQQGEwJQVDEPMA0GA1UECAwGTGlzYm9hMQ8wDQYDVQQHDAZMaXNib2Ex
+GjAYBgNVBAoMEU9hdHMgSW4gVGhlIFdhdGVyMRIwEAYDVQQDDAlsb2NhbGhvc3Qw
+ggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDDJLav5I1Dxx9Lzv7DyHig
+ApIkm9U8tcRKuM3Q4q3xj8P2VmSHVHZ0FfjKs/NZ8hLi3go+EzGolmiRKPA7V9UQ
+Zgm5MmC6tewiol76lsjehUKuG+DmT3n79xSHsj5PC6wkE/IkifcQIeGVJWgQbRR4
+JSGaX4tmmpxNrDDgpVnaXEO8I5KR/jvniAn2DoTKlY5XSIUXlbZQPHdlLdLUU7in
+5M19b9qnIdJRxa4mcOWNtsUHU16SJZAmQBmg4vAhMc4XyJ23YE8cNxUxusKrhoUB
+sWmvjGgbbaYgtwBmCFQNSFiJhyzgg6sdUot7wVXDkXBTJPQRQO82CJyw6YoDnTCL
+AgMBAAGjWTBXMAkGA1UdEwQCMAAwKwYDVR0RBCQwIoIJbG9jYWxob3N0ghVsb2Nh
+bGhvc3QubG9jYWxkb21haW4wHQYDVR0OBBYEFPKfGhTkosDI90l245Si/Ce/CLr/
+MA0GCSqGSIb3DQEBCwUAA4IBAQBYjiwzD88QKfJvnmU6TTRTKOOWKpKdEIlZGPBu
+4opyLgB0N/cuiNKYN2WW2Z57TPZLwwKMTlMODco1MTnyVBU0kft+yPxcc9yao7wV
+Fxrb8WWylY5bFWKXwxB0SW01tgaDCAlKtCrTZVoXi/3578cru2/gf4pqoXhuIuG6
+pp5Z9baVOwVTbkNX+vSU8vxkWgpFoAcSaFkULbKCqnilqjn49myydJuorgvxvdOB
+hMHUpGWjhdkb121BvJjZfDxC6jGWmQ2ZGhJkLKU5OmOhl8GocEyDsYglx5PSJTvA
+zGvABNuodcksOPLyzPiKcTPVks5Ls1WxDgOYoRNeEYHszYDW
+-----END CERTIFICATE-----
+-----BEGIN CERTIFICATE-----
+MIIDYDCCAkigAwIBAgIJANSi4mXBF9a+MA0GCSqGSIb3DQEBCwUAMEUxCzAJBgNV
+BAYTAkFVMRMwEQYDVQQIDApTb21lLVN0YXRlMSEwHwYDVQQKDBhJbnRlcm5ldCBX
+aWRnaXRzIFB0eSBMdGQwHhcNMTgxMTE2MTAyNjU1WhcNMTgxMjE2MTAyNjU1WjBF
+MQswCQYDVQQGEwJBVTETMBEGA1UECAwKU29tZS1TdGF0ZTEhMB8GA1UECgwYSW50
+ZXJuZXQgV2lkZ2l0cyBQdHkgTHRkMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIB
+CgKCAQEAy2PngRdvbUTVsDW+Lg3VlALPu4w8m3qLPeBPLYDyjiRHNn5QcKJZGvRl
+N+e8fSeb9igpzrgpCgK4S9rZpJrOX9heBHs2/5fQ568lHXJKgjCNm8AM/2v0/txy
+46iOJeZmsBNtSVzYIKgHHIsUVGP4Ct/lezPsznacEXOL+wmtEbAcMH73vFrPMaiq
+8lRb8yTNEF4gI2b8TKS8oHW55owiilQmNNDH4dtCqh2ATCDB2jNEYXUa74vP9qD3
+0XDAco2XY5/AUPslMEF28z9jAvoqvO5S7sVMRGBmkFOJ8yDB9exmtObes4ReNY6g
+5624yoG4MTxjTcb2rv666Qp6/vjUPwIDAQABo1MwUTAdBgNVHQ4EFgQUQbZw0emw
+0IwXLQAg13thU7AEgRMwHwYDVR0jBBgwFoAUQbZw0emw0IwXLQAg13thU7AEgRMw
+DwYDVR0TAQH/BAUwAwEB/zANBgkqhkiG9w0BAQsFAAOCAQEAv9RHAheIwsVqdvbF
+USorz0z7PjDM8dmI1yanPNBUjNIMceZ0h+CcFOztMH8dvMM0r5pCQkIJJyFCyXtK
+y61AOrNbOAgnDm3z1YrVB8NEnji9Qicctpbse8UymD2kOdBXjU1Egrd/uUAgJZmP
+ASYeEYf/n7/bMwTNAJ+qc0o793ILIwJ20Ois43oh3RB57xDzHlHWEbN+lZFZWjmT
+yuVPvwULYmgLP8huh3EOwnsh0eCYkhgImhJICawjWQLT+EHbD3xt+QRYElDgv/Av
+kqRliJCa3yF8NLUdsQp7jD5QdpWUfcnl0Kfrc1I3KlM3SpneGcv6FT/U4hjW++AZ
+ezss0w==
+-----END CERTIFICATE-----
diff --git a/_ssl/localhost_csr.pem b/_ssl/localhost_csr.pem
new file mode 100644 (file)
index 0000000..b28c691
--- /dev/null
@@ -0,0 +1,19 @@
+-----BEGIN CERTIFICATE REQUEST-----
+MIIDDDCCAfQCAQAwXzELMAkGA1UEBhMCUFQxDzANBgNVBAgMBkxpc2JvYTEPMA0G
+A1UEBwwGTGlzYm9hMRowGAYDVQQKDBFPYXRzIEluIFRoZSBXYXRlcjESMBAGA1UE
+AwwJbG9jYWxob3N0MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAwyS2
+r+SNQ8cfS87+w8h4oAKSJJvVPLXESrjN0OKt8Y/D9lZkh1R2dBX4yrPzWfIS4t4K
+PhMxqJZokSjwO1fVEGYJuTJgurXsIqJe+pbI3oVCrhvg5k95+/cUh7I+TwusJBPy
+JIn3ECHhlSVoEG0UeCUhml+LZpqcTaww4KVZ2lxDvCOSkf4754gJ9g6EypWOV0iF
+F5W2UDx3ZS3S1FO4p+TNfW/apyHSUcWuJnDljbbFB1NekiWQJkAZoOLwITHOF8id
+t2BPHDcVMbrCq4aFAbFpr4xoG22mILcAZghUDUhYiYcs4IOrHVKLe8FVw5FwUyT0
+EUDvNgicsOmKA50wiwIDAQABoGgwZgYJKoZIhvcNAQkOMVkwVzAJBgNVHRMEAjAA
+MCsGA1UdEQQkMCKCCWxvY2FsaG9zdIIVbG9jYWxob3N0LmxvY2FsZG9tYWluMB0G
+A1UdDgQWBBTynxoU5KLAyPdJduOUovwnvwi6/zANBgkqhkiG9w0BAQUFAAOCAQEA
+L4XofNRjzahIDCj/pHVnsaXtioidv5Hp0vE+9LPhzZz/bH/e7s8lJnTalEkPNUxD
+FPwiRar6MILQwn5N1b+kToSoiYDsCL77Y5WSlhcwe7gLwgDTlNwu2H030BZEr0ve
+AEAems45TJk8o3kC5s3dt0KaGbRikub1HMTpFrlQUBLbO848t6qXcZCVjoAWYKlp
+jaYn7r3bWVyZ2W2oIlQ19Tbxz+kG81Vxrg1FtAo7aBHTaOvEskgnEQ2Emc0mbLoe
+YoT0Gg7Vrurl+T5gazmV1WMKszSjP8NKhTUcMESiRIUsmQczWiDBONiH9PGmGKHI
+7aEBzQIK7m3goyS3I4q6nw==
+-----END CERTIFICATE REQUEST-----
diff --git a/_ssl/localhost_ext.conf b/_ssl/localhost_ext.conf
new file mode 100644 (file)
index 0000000..d5005dc
--- /dev/null
@@ -0,0 +1,13 @@
+basicConstraints=CA:FALSE
+subjectAltName=@my_subject_alt_names
+subjectKeyIdentifier = hash
+
+[ my_subject_alt_names ]
+#DNS.1 = *.oats.org
+#DNS.2 = *.oats.net
+#DNS.3 = *.oats.in
+#DNS.4 = oats.org
+#DNS.5 = oats.net
+#DNS.6 = oats.in
+DNS.1 = localhost
+DNS.2 = localhost.localdomain
diff --git a/_ssl/localhost_key.pem b/_ssl/localhost_key.pem
new file mode 100644 (file)
index 0000000..6c94353
--- /dev/null
@@ -0,0 +1,27 @@
+-----BEGIN RSA PRIVATE KEY-----
+MIIEpAIBAAKCAQEAwyS2r+SNQ8cfS87+w8h4oAKSJJvVPLXESrjN0OKt8Y/D9lZk
+h1R2dBX4yrPzWfIS4t4KPhMxqJZokSjwO1fVEGYJuTJgurXsIqJe+pbI3oVCrhvg
+5k95+/cUh7I+TwusJBPyJIn3ECHhlSVoEG0UeCUhml+LZpqcTaww4KVZ2lxDvCOS
+kf4754gJ9g6EypWOV0iFF5W2UDx3ZS3S1FO4p+TNfW/apyHSUcWuJnDljbbFB1Ne
+kiWQJkAZoOLwITHOF8idt2BPHDcVMbrCq4aFAbFpr4xoG22mILcAZghUDUhYiYcs
+4IOrHVKLe8FVw5FwUyT0EUDvNgicsOmKA50wiwIDAQABAoIBAEuOiImcJbIrhAuX
+Lv9hPIs/05QHHk4uVr1TxqTtT8orDwXvN2dKpb6Wz0i02jFmUDe1HyQfzGdpLT2f
+Kzze6ik6SOODBP7l93MFiV7fSREXadT+CFtERIfxh+pucj+q1lD1xBivrpB5fd2A
+qUVK5tUKE3OxMMlebcyJMjeY7ixkRVgjROFeXs0t50xitzn/wPN0dVPZ6JFCPgRD
+fc72E1K+DmfrzFZ2+rzqoVzAE7OSYQns3r2jNXlCEVw2jXsmnIRIi9wejbRthjbx
+gA1IdenZcf4FkOMTTFuWGynT5tfF3cVzy5QtYemGZWSK4LNuWaTSzZCk3/sCxWk5
+Vbz/AdkCgYEA8gc2WEfbk5kVhU7UV5SRDRFtGuS8fmZ0RnqFdx6qy2EWYnwYXgzT
+cZc6TiEuJ5getmEVsqzxFm3gWMyD0bEhY0jqoMVKMM70QQOQOZOB4lykXmpRDKny
+/DU7/0bp7sBzFCKCWISCjGKWc98KWy24ZdKl8ZAr3zjDxE5UYvquKIcCgYEAzmie
+r+1Y7DUtniogqpDLr6NnuvH52d1s4DEsHZQ6KRWE82d/X+2YU2R7/0QwfLBvcbT7
+OxlQP5rRoL6pX+ViZBmky0CSc/HYZZ+8uGwFc1X46zGfuvTSWaAStdIFPOX2O0JF
+LLyF5/0/CK56agL3YxGREx2iQdauqTsOyr2LLN0CgYEAzYEgPN9u6ymd415m4KKO
+c1krmh1Ei9M0wa9A6j9I6H3cgu05x4n+c8HjyPlVdlstINDYmqlL4C6VwvCMsR1E
+60e7qZ07fKwNK7L54FmGfI0LJ/wAK8+WOV5+PiiZc5dHX35ZzQ1eyBLiCysEYR02
+KIcvTiiLh/NsDqAv+Qc/n7sCgYAup0z+3LnVoeturXz2sIWpbFi804ayrK64OcUL
+5n4C3T9QuNr8drqQVs0EFIiVFlgKLmr+n6kYx0iMeavU5gcIMxehbTXtCQPtbF5+
+nMPantsFZhEBc+a7pUe1WwQeEKhIGqGCDBaEKiR+NNmsboE2HjlZRcBv+zM9QwED
+6DW17QKBgQCRZfGUWasWXW6s9aZ1FgLPAXz/M9BLZjnx627KvbF4C+ZwfszntJxn
+1A74mhHWJyKbt8YzfOTsTj40lp/npSpgjRQmUoqThx8d2cA41ALo0ktk6E9Zpp1j
+phi0woa+TdEpqE2Jb8hJcyRKGCOVOKL/bnZL/QVgMebhg02n//wa9w==
+-----END RSA PRIVATE KEY-----
diff --git a/_ssl/n.sh b/_ssl/n.sh
new file mode 100755 (executable)
index 0000000..9fbf379
--- /dev/null
+++ b/_ssl/n.sh
@@ -0,0 +1,30 @@
+#!/bin/sh
+
+# see https://gist.github.com/Soarez/9688998
+
+# note that the CSR contains X509 extensions, particularly the SAN which
+# is mandatory for getting Google Chrome to accept the certificate, but
+# unfortunately "openssl x509" will strip extensions -- this can be fixed
+# by using the "openssl ca" command with "extensions = copyall" (or in
+# the normal case filters would be specified on what extensions to copy),
+# but the "openssl ca" command is very complicated and requires a directory
+# structure to be set up, so we fake it with the "localhost_ext.conf" file
+
+# generate a key for the subject
+#openssl genrsa -out localhost_key.pem 2048
+
+# generate a CSR
+openssl req -new -key localhost_key.pem -out localhost_csr.pem -config localhost.conf
+
+# generate a key for the CA
+#openssl genrsa -out ca_key.pem 2048
+
+# generate a self signed certificate for the CA
+openssl req -new -x509 -key ca_key.pem -out ca_cert.pem
+
+# sign the certificate
+#openssl x509 -req -in localhost_csr.pem -extfile localhost_ext.conf -CA ca_cert.pem -CAkey ca_key.pem -CAcreateserial -out localhost_cert.pem
+openssl x509 -req -in localhost_csr.pem -extfile localhost_ext.conf -CA ca_cert.pem -CAkey ca_key.pem -CAserial ca_cert.srl -out localhost_cert.pem
+
+# resolve problems with not including the signing chain (can improve this?)
+cat localhost_cert.pem ca_cert.pem > localhost_cert_bundle.pem
diff --git a/index.html.jst b/index.html.jst
new file mode 100644 (file)
index 0000000..261cdf2
--- /dev/null
@@ -0,0 +1,498 @@
+return env => {
+  let _out = []
+  _out.push('<!doctype html>')
+  html(lang="en") {
+    head {
+      // Required meta tags
+      meta(charset="utf-8") {}
+      meta(name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no") {}
+
+      // Bootstrap CSS
+      link(rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous") {}
+      title {
+        'MiRobot demonstration'
+      }
+
+      // Blockly stuff
+      script(src="js/blockly_compressed.js") {}
+      script(src="js/javascript_compressed.js") {}
+      script(src="js/blocks_compressed.js") {}
+      script(src="js/msg/js/en.js") {}
+      xml#toolbox(style="display: none") {
+        block(type="move_to") {
+          value(name="A") {
+            shadow(type="math_number") {
+              field(name="NUM") {
+                '90'
+              }
+            }
+          }
+          value(name="B") {
+            shadow(type="math_number") {
+              field(name="NUM") {
+                '105'
+              }
+            }
+          }
+          value(name="C") {
+            shadow(type="math_number") {
+              field(name="NUM") {
+                '70'
+              }
+            }
+          }
+        }
+        block(type="gripper") {
+          value(name="D") {
+            shadow(type="math_number") {
+              field(name="NUM") {
+                '90'
+              }
+            }
+          }
+        }
+        block(type="math_arithmetic") {
+          value(name="A") {
+            shadow(type="math_number") {
+              field(name="NUM") {
+                '90'
+              }
+            }
+          }
+          value(name="B") {
+            shadow(type="math_number") {
+              field(name="NUM") {
+                '10'
+              }
+            }
+          }
+        }
+        block(type="math_number") {
+          field(name="NUM") {
+            '10'
+          }
+        }
+        block(type="controls_for") {
+          field(name="VAR") {
+            'i'
+          }
+          value(name="FROM") {
+            block(type="math_number") {
+              field(name="NUM") {
+                '1'
+              }
+            }
+          }
+          value(name="TO") {
+            block(type="math_number") {
+              field(name="NUM") {
+                '10'
+              }
+            }
+          }
+          value(name="BY") {
+            block(type="math_number") {
+              field(name="NUM") {
+                '1'
+              }
+            }
+          }
+        }
+        block(type="variables_get") {
+          field(name="VAR") {
+            'i'
+          }
+        }
+        block(type="controls_whileUntil") {}
+        block(type="logic_boolean") {}
+      }
+    }
+    body {
+      div.container-fluid {
+        h1 {
+          'MiRobot Demonstration'
+        }
+        div.row.mb-2 {
+          div.col-md-6 {
+            div.form-group.form-inline {
+              label {
+                'Connected device:&nbsp;'
+              }
+              div.input-group.mb-2(style="width: 75%;") {
+                input.form-control#connected-device(type="text" readonly="true") {}
+                div.input-group-append {
+                  button.btn.btn-outline-secondary#connect(type="button") {
+                    'Connect'
+                  }
+                }
+              }
+            }
+          }
+        }
+        div.row.mb-2 {
+          div.col-md-1 {
+            div.form-group.form-inline {
+              label {
+                'A:&nbsp;'
+              }
+              ' '
+              input.form-control#A(type="number" value="90" min="0" max="360" step="5" style="width: 60px;") {}
+            }
+          }
+          div.col-md-1 {
+            div.form-group.form-inline {
+              label {
+                'B:&nbsp;'
+              }
+              ' '
+              input.form-control#B(type="number" value="105" min="0" max="360" step="5" style="width: 60px;") {}
+            }
+          }
+          div.col-md-1 {
+            div.form-group.form-inline {
+              label {
+                'C:&nbsp;'
+              }
+              ' '
+              input.form-control#C(type="number" value="70" min="0" max="360" step="5" style="width: 60px;") {}
+            }
+          }
+          div.col-md-1 {
+            div.form-group.form-inline {
+              label {
+                'D:&nbsp;'
+              }
+              ' '
+              input.form-control#D(type="number" value="90" min="0" max="360" step="5" style="width: 60px;") {}
+            }
+          }
+          div.col-md-1 {
+            div.form-group.form-inline {
+              label {
+                'E:&nbsp;'
+              }
+              ' '
+              input.form-control#E(type="number" value="90" min="0" max="360" step="5" style="width: 60px;") {}
+            }
+          }
+          div.col-md-1 {
+            div.form-group.form-inline {
+              label {
+                'F:&nbsp;'
+              }
+              ' '
+              input.form-control#F(type="number" value="90" min="0" max="360" step="5" style="width: 60px;") {}
+            }
+          }
+          div.col-md-1 {
+            button.btn#run(type="button") {
+              'Run'
+            }
+          }
+        }
+        div.row.mb-2 {
+          div.col-md-12 {
+            div#blocklyArea(style="height: 500px;") {}
+          }
+        }
+      }
+      div#blocklyDiv(style="position: absolute;") {}
+      script {
+        Blockly.defineBlocksWithJsonArray([
+          {
+            "type": "move_to",
+            "message0": "move to A %1 B %2 C %3",
+            "args0": [
+               {"type": "input_value", "name": "A", "check": "Number"},
+               {"type": "input_value", "name": "B", "check": "Number"},
+               {"type": "input_value", "name": "C", "check": "Number"},
+            ],
+            "inputsInline": true,
+            "previousStatement": null,
+            "nextStatement": null,
+            "colour": "%{BKY_LOGIC_HUE}" 
+          },
+          {
+            "type": "gripper",
+            "message0": "gripper %1",
+            "args0": [
+               {"type": "input_value", "name": "D", "check": "Number"},
+            ],
+            "inputsInline": true,
+            "previousStatement": null,
+            "nextStatement": null,
+            "colour": "%{BKY_LOGIC_HUE}" 
+          }
+   
+        ]);
+
+        Blockly.JavaScript['move_to'] = function(block) {
+          var a = Blockly.JavaScript.valueToCode(block, 'A',
+              Blockly.JavaScript.ORDER_COMMA) || '0';
+          var b = Blockly.JavaScript.valueToCode(block, 'B',
+              Blockly.JavaScript.ORDER_COMMA) || '0';
+          var c = Blockly.JavaScript.valueToCode(block, 'C',
+              Blockly.JavaScript.ORDER_COMMA) || '0';
+          return 'await deviceMoveTo(' + a + ', ' + b + ', ' + c + ');\n'
+        };
+
+        Blockly.JavaScript['gripper'] = function(block) {
+          var d = Blockly.JavaScript.valueToCode(block, 'D',
+              Blockly.JavaScript.ORDER_COMMA) || '0';
+          return 'await deviceGripper(' + d + ');\n'
+        };
+
+        var blocklyArea = document.getElementById('blocklyArea');
+        var blocklyDiv = document.getElementById('blocklyDiv');
+        var workspace = Blockly.inject(blocklyDiv,
+            {toolbox: document.getElementById('toolbox')});
+        var onresize = function(e) {
+          // Compute the absolute coordinates and dimensions of blocklyArea.
+          var element = blocklyArea;
+          var x = 0;
+          var y = 0;
+          do {
+            x += element.offsetLeft;
+            y += element.offsetTop;
+            element = element.offsetParent;
+          } while (element);
+          // Position blocklyDiv over blocklyArea.
+          blocklyDiv.style.left = x + 'px';
+          blocklyDiv.style.top = y + 'px';
+          blocklyDiv.style.width = blocklyArea.offsetWidth + 'px';
+          blocklyDiv.style.height = blocklyArea.offsetHeight + 'px';
+          Blockly.svgResize(workspace);
+        };
+        window.addEventListener('resize', onresize, false);
+        onresize();
+
+        var device;
+        var deviceSend = async (command) => {
+          data = new Uint8Array(command.length);
+          for (var i = 0; i < command.length; ++i)
+            data[i] = command.charCodeAt(i);
+          await device.transferOut(2, data.buffer)
+        }
+        var deviceReceive = async () => {
+          var response = ''
+          while (true) {
+            result = await device.transferIn(2, 64);
+            for (var i = 0; i < result.data.byteLength; ++i)
+              response += String.fromCharCode(result.data.getUint8(i));
+            var n = response.indexOf('\n');
+            if (n >= 0) {
+              response = response.substring(0, n);
+              break;
+            }
+          }
+          return response;
+        }
+
+        var deviceBusy = false;
+        var connectedDevice = document.getElementById("connected-device");
+        var deviceConnect = async () => {
+          deviceBusy = true;
+          try {
+            await device.open();
+            await device.selectConfiguration(1);
+            await device.claimInterface(0);
+
+            // this is for ttyACM devices:
+            //await device.controlTransferOut({
+            //    requestType: 'class',
+            //    recipient: 'interface',
+            //    request: 0x21,
+            //    value: 0,
+            //    index: 2},
+            //    new Uint8Array([0, 8, 7, 0, 0, 0, 8]).buffer); // 460800 bps, 8N1
+            //await device.controlTransferOut({
+            //    requestType: 'class',
+            //    recipient: 'interface',
+            //    request: 0x22,
+            //    value: 2,
+            //    index: 2},
+            //    new Uint8Array([3, 0]).buffer); // turn on DTR (0x01) and RTS (0x02)
+
+            await deviceSend("Z\n");
+            connectedDevice.value = await deviceReceive();
+
+            await deviceSend("U\n");
+            await deviceSend("T1\n");
+
+            deviceBusy = false;
+          }
+          catch (error) {
+            console.log(error);
+
+            connectedDevice.value = '';
+            device = null;
+          }
+        };
+
+        var delay = t => {
+          return new Promise(resolve => setTimeout(resolve, t));
+        }
+
+        var deviceMoveTo = async (a, b, c) => {
+          if (device != null) {
+            await deviceSend(
+              'A' + ('00' + a).slice(-3) + '010' + '\n' +
+              'B' + ('00' + b).slice(-3) + '010' + '\n' +
+              'C' + ('00' + c).slice(-3) + '010' + '\n'
+            );
+            await delay(2000);
+          }
+        }
+
+        var deviceGripper = async (d) => {
+          if (device != null) {
+            await deviceSend(
+              'D' + ('00' + d).slice(-3) + '010' + '\n'
+            );
+            await delay(2000);
+          }
+        }
+   
+        document.addEventListener('DOMContentLoaded', async () => {
+          let devices = await navigator.usb.getDevices();
+          devices.forEach(deviceIn => {
+            console.log('Add |device| to the UI.');
+            if (device == null) {
+              device = deviceIn;
+              deviceConnect();
+            }
+          });
+        });
+
+        navigator.usb.addEventListener('connect', event => {
+          console.log('Add |event.device| to the UI.');
+          if (device == null) {
+            device = deviceIn;
+            deviceConnect();
+          }
+        });
+        
+        navigator.usb.addEventListener('disconnect', event => {
+          console.log('Remove |event.device| from the UI.');
+          if (!deviceBusy) {
+            device = null;
+            connectedDevice.value = '';
+          }
+        });
+
+        document.getElementById('connect').addEventListener(
+          'click',
+          async () => {
+            let device;
+            try {
+              device = await navigator.usb.requestDevice({ filters: [{
+                  vendorId: 0x1a86,
+                  productId: 0x7523,
+              }]});
+            } catch (err) {
+              console.log('No device was selected.');
+            }
+          
+            if (device !== undefined) {
+              console.log('Add |device| to the UI.');
+            }
+          }
+        );
+
+        var A = document.getElementById('A');
+        A.addEventListener(
+          'change',
+          async () => {
+            if (device)
+              await deviceSend(
+                'A' + ('00' + A.value).slice(-3) + '010'
+              );
+          }
+        );
+
+        var B = document.getElementById('B');
+        B.addEventListener(
+          'change',
+          async () => {
+            if (device)
+              await deviceSend(
+                'B' + ('00' + B.value).slice(-3) + '010'
+              );
+          }
+        );
+
+        var C = document.getElementById('C');
+        C.addEventListener(
+          'change',
+          async () => {
+            if (device)
+              await deviceSend(
+                'C' + ('00' + C.value).slice(-3) + '010'
+              );
+          }
+        );
+
+        var D = document.getElementById('D');
+        D.addEventListener(
+          'change',
+          async () => {
+            if (device)
+              await deviceSend(
+                'D' + ('00' + D.value).slice(-3) + '010'
+              );
+          }
+        );
+
+        var E = document.getElementById('E');
+        E.addEventListener(
+          'change',
+          async () => {
+            if (device)
+              await deviceSend(
+                'E' + ('00' + E.value).slice(-3) + '010'
+              );
+          }
+        );
+
+        var F = document.getElementById('F');
+        F.addEventListener(
+          'change',
+          async () => {
+            if (device)
+              await deviceSend(
+                'F' + ('00' + F.value).slice(-3) + '010'
+              );
+          }
+        );
+
+        document.getElementById('run').addEventListener(
+          'click',
+          async () => {
+            if (device && !deviceBusy) {
+              deviceBusy = true;
+              Blockly.JavaScript.addReservedWords('code');
+              var code =
+                '(async () => {\n' +
+                Blockly.JavaScript.workspaceToCode(workspace) +
+                '})();\n';
+              console.log(code);
+              try {
+                eval(code);
+              } catch (e) {
+                alert(e);
+              }
+              deviceBusy = false;
+            }
+          }
+        );
+      }
+
+      // Optional JavaScript
+      // jQuery first, then Popper.js, then Bootstrap JS
+      script(src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous") {}
+      script(src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous") {}
+      script(src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous") {}
+    }
+  }
+  _site.serve(env, 200, Buffer.from(_out.join('')), 'index.html.jst')
+}
diff --git a/js/blockly_compressed.js b/js/blockly_compressed.js
new file mode 100644 (file)
index 0000000..af19e22
--- /dev/null
@@ -0,0 +1,1707 @@
+// Do not edit this file; automatically generated by build.py.
+'use strict';
+
+var $jscomp=$jscomp||{};$jscomp.scope={};var COMPILED=!0,goog=goog||{};goog.global=this;goog.isDef=function(a){return void 0!==a};goog.isString=function(a){return"string"==typeof a};goog.isBoolean=function(a){return"boolean"==typeof a};goog.isNumber=function(a){return"number"==typeof a};
+goog.exportPath_=function(a,b,c){a=a.split(".");c=c||goog.global;a[0]in c||"undefined"==typeof c.execScript||c.execScript("var "+a[0]);for(var d;a.length&&(d=a.shift());)!a.length&&goog.isDef(b)?c[d]=b:c=c[d]&&c[d]!==Object.prototype[d]?c[d]:c[d]={}};
+goog.define=function(a,b){var c=b;if(!COMPILED){var d=goog.global.CLOSURE_UNCOMPILED_DEFINES,e=goog.global.CLOSURE_DEFINES;d&&void 0===d.nodeType&&Object.prototype.hasOwnProperty.call(d,a)?c=d[a]:e&&void 0===e.nodeType&&Object.prototype.hasOwnProperty.call(e,a)&&(c=e[a])}goog.exportPath_(a,c)};goog.DEBUG=!1;goog.LOCALE="en";goog.TRUSTED_SITE=!0;goog.STRICT_MODE_COMPATIBLE=!1;goog.DISALLOW_TEST_ONLY_CODE=COMPILED&&!goog.DEBUG;goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING=!1;
+goog.provide=function(a){if(goog.isInModuleLoader_())throw Error("goog.provide cannot be used within a module.");if(!COMPILED&&goog.isProvided_(a))throw Error('Namespace "'+a+'" already declared.');goog.constructNamespace_(a)};goog.constructNamespace_=function(a,b){if(!COMPILED){delete goog.implicitNamespaces_[a];for(var c=a;(c=c.substring(0,c.lastIndexOf(".")))&&!goog.getObjectByName(c);)goog.implicitNamespaces_[c]=!0}goog.exportPath_(a,b)};
+goog.getScriptNonce=function(){null===goog.cspNonce_&&(goog.cspNonce_=goog.getScriptNonce_(goog.global.document)||"");return goog.cspNonce_};goog.NONCE_PATTERN_=/^[\w+/_-]+[=]{0,2}$/;goog.cspNonce_=null;goog.getScriptNonce_=function(a){return(a=a.querySelector&&a.querySelector("script[nonce]"))&&(a=a.nonce||a.getAttribute("nonce"))&&goog.NONCE_PATTERN_.test(a)?a:null};goog.VALID_MODULE_RE_=/^[a-zA-Z_$][a-zA-Z0-9._$]*$/;
+goog.module=function(a){if(!goog.isString(a)||!a||-1==a.search(goog.VALID_MODULE_RE_))throw Error("Invalid module identifier");if(!goog.isInGoogModuleLoader_())throw Error("Module "+a+" has been loaded incorrectly. Note, modules cannot be loaded as normal scripts. They require some kind of pre-processing step. You're likely trying to load a module via a script tag or as a part of a concatenated bundle without rewriting the module. For more info see: https://github.com/google/closure-library/wiki/goog.module:-an-ES6-module-like-alternative-to-goog.provide.");
+if(goog.moduleLoaderState_.moduleName)throw Error("goog.module may only be called once per module.");goog.moduleLoaderState_.moduleName=a;if(!COMPILED){if(goog.isProvided_(a))throw Error('Namespace "'+a+'" already declared.');delete goog.implicitNamespaces_[a]}};goog.module.get=function(a){return goog.module.getInternal_(a)};
+goog.module.getInternal_=function(a){if(!COMPILED){if(a in goog.loadedModules_)return goog.loadedModules_[a].exports;if(!goog.implicitNamespaces_[a])return a=goog.getObjectByName(a),null!=a?a:null}return null};goog.ModuleType={ES6:"es6",GOOG:"goog"};goog.moduleLoaderState_=null;goog.isInModuleLoader_=function(){return goog.isInGoogModuleLoader_()||goog.isInEs6ModuleLoader_()};goog.isInGoogModuleLoader_=function(){return!!goog.moduleLoaderState_&&goog.moduleLoaderState_.type==goog.ModuleType.GOOG};
+goog.isInEs6ModuleLoader_=function(){if(goog.moduleLoaderState_&&goog.moduleLoaderState_.type==goog.ModuleType.ES6)return!0;var a=goog.global.$jscomp;return a?"function"!=typeof a.getCurrentModulePath?!1:!!a.getCurrentModulePath():!1};
+goog.module.declareLegacyNamespace=function(){if(!COMPILED&&!goog.isInGoogModuleLoader_())throw Error("goog.module.declareLegacyNamespace must be called from within a goog.module");if(!COMPILED&&!goog.moduleLoaderState_.moduleName)throw Error("goog.module must be called prior to goog.module.declareLegacyNamespace.");goog.moduleLoaderState_.declareLegacyNamespace=!0};
+goog.module.declareNamespace=function(a){if(!COMPILED){if(!goog.isInEs6ModuleLoader_())throw Error("goog.module.declareNamespace may only be called from within an ES6 module");if(goog.moduleLoaderState_&&goog.moduleLoaderState_.moduleName)throw Error("goog.module.declareNamespace may only be called once per module.");if(a in goog.loadedModules_)throw Error('Module with namespace "'+a+'" already exists.');}if(goog.moduleLoaderState_)goog.moduleLoaderState_.moduleName=a;else{var b=goog.global.$jscomp;
+if(!b||"function"!=typeof b.getCurrentModulePath)throw Error('Module with namespace "'+a+'" has been loaded incorrectly.');b=b.require(b.getCurrentModulePath());goog.loadedModules_[a]={exports:b,type:goog.ModuleType.ES6,moduleId:a}}};goog.setTestOnly=function(a){if(goog.DISALLOW_TEST_ONLY_CODE)throw a=a||"",Error("Importing test-only code into non-debug environment"+(a?": "+a:"."));};goog.forwardDeclare=function(a){};
+COMPILED||(goog.isProvided_=function(a){return a in goog.loadedModules_||!goog.implicitNamespaces_[a]&&goog.isDefAndNotNull(goog.getObjectByName(a))},goog.implicitNamespaces_={"goog.module":!0});goog.getObjectByName=function(a,b){for(var c=a.split("."),d=b||goog.global,e=0;e<c.length;e++)if(d=d[c[e]],!goog.isDefAndNotNull(d))return null;return d};goog.globalize=function(a,b){var c=b||goog.global,d;for(d in a)c[d]=a[d]};
+goog.addDependency=function(a,b,c,d){!COMPILED&&goog.DEPENDENCIES_ENABLED&&goog.debugLoader_.addDependency(a,b,c,d)};goog.ENABLE_DEBUG_LOADER=!0;goog.logToConsole_=function(a){goog.global.console&&goog.global.console.error(a)};
+goog.require=function(a){if(!COMPILED){goog.ENABLE_DEBUG_LOADER&&goog.debugLoader_.requested(a);if(goog.isProvided_(a)){if(goog.isInModuleLoader_())return goog.module.getInternal_(a)}else if(goog.ENABLE_DEBUG_LOADER){var b=goog.moduleLoaderState_;goog.moduleLoaderState_=null;try{goog.debugLoader_.load_(a)}finally{goog.moduleLoaderState_=b}}return null}};goog.basePath="";goog.nullFunction=function(){};goog.abstractMethod=function(){throw Error("unimplemented abstract method");};
+goog.addSingletonGetter=function(a){a.instance_=void 0;a.getInstance=function(){if(a.instance_)return a.instance_;goog.DEBUG&&(goog.instantiatedSingletons_[goog.instantiatedSingletons_.length]=a);return a.instance_=new a}};goog.instantiatedSingletons_=[];goog.LOAD_MODULE_USING_EVAL=!0;goog.SEAL_MODULE_EXPORTS=goog.DEBUG;goog.loadedModules_={};goog.DEPENDENCIES_ENABLED=!COMPILED&&goog.ENABLE_DEBUG_LOADER;goog.TRANSPILE="detect";goog.TRANSPILE_TO_LANGUAGE="";goog.TRANSPILER="transpile.js";
+goog.hasBadLetScoping=null;goog.useSafari10Workaround=function(){if(null==goog.hasBadLetScoping){try{var a=!eval('"use strict";let x = 1; function f() { return typeof x; };f() == "number";')}catch(b){a=!1}goog.hasBadLetScoping=a}return goog.hasBadLetScoping};goog.workaroundSafari10EvalBug=function(a){return"(function(){"+a+"\n;})();\n"};
+goog.loadModule=function(a){var b=goog.moduleLoaderState_;try{goog.moduleLoaderState_={moduleName:"",declareLegacyNamespace:!1,type:goog.ModuleType.GOOG};if(goog.isFunction(a))var c=a.call(void 0,{});else if(goog.isString(a))goog.useSafari10Workaround()&&(a=goog.workaroundSafari10EvalBug(a)),c=goog.loadModuleFromSource_.call(void 0,a);else throw Error("Invalid module definition");var d=goog.moduleLoaderState_.moduleName;if(goog.isString(d)&&d)goog.moduleLoaderState_.declareLegacyNamespace?goog.constructNamespace_(d,
+c):goog.SEAL_MODULE_EXPORTS&&Object.seal&&"object"==typeof c&&null!=c&&Object.seal(c),goog.loadedModules_[d]={exports:c,type:goog.ModuleType.GOOG,moduleId:goog.moduleLoaderState_.moduleName};else throw Error('Invalid module name "'+d+'"');}finally{goog.moduleLoaderState_=b}};goog.loadModuleFromSource_=function(a){eval(a);return{}};goog.normalizePath_=function(a){a=a.split("/");for(var b=0;b<a.length;)"."==a[b]?a.splice(b,1):b&&".."==a[b]&&a[b-1]&&".."!=a[b-1]?a.splice(--b,2):b++;return a.join("/")};
+goog.loadFileSync_=function(a){if(goog.global.CLOSURE_LOAD_FILE_SYNC)return goog.global.CLOSURE_LOAD_FILE_SYNC(a);try{var b=new goog.global.XMLHttpRequest;b.open("get",a,!1);b.send();return 0==b.status||200==b.status?b.responseText:null}catch(c){return null}};
+goog.transpile_=function(a,b,c){var d=goog.global.$jscomp;d||(goog.global.$jscomp=d={});var e=d.transpile;if(!e){var f=goog.basePath+goog.TRANSPILER,g=goog.loadFileSync_(f);if(g){(function(){eval(g+"\n//# sourceURL="+f)}).call(goog.global);if(goog.global.$gwtExport&&goog.global.$gwtExport.$jscomp&&!goog.global.$gwtExport.$jscomp.transpile)throw Error('The transpiler did not properly export the "transpile" method. $gwtExport: '+JSON.stringify(goog.global.$gwtExport));goog.global.$jscomp.transpile=
+goog.global.$gwtExport.$jscomp.transpile;d=goog.global.$jscomp;e=d.transpile}}e||(e=d.transpile=function(a,b){goog.logToConsole_(b+" requires transpilation but no transpiler was found.");return a});return e(a,b,c)};
+goog.typeOf=function(a){var b=typeof a;if("object"==b)if(a){if(a instanceof Array)return"array";if(a instanceof Object)return b;var c=Object.prototype.toString.call(a);if("[object Window]"==c)return"object";if("[object Array]"==c||"number"==typeof a.length&&"undefined"!=typeof a.splice&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("splice"))return"array";if("[object Function]"==c||"undefined"!=typeof a.call&&"undefined"!=typeof a.propertyIsEnumerable&&!a.propertyIsEnumerable("call"))return"function"}else return"null";
+else if("function"==b&&"undefined"==typeof a.call)return"object";return b};goog.isNull=function(a){return null===a};goog.isDefAndNotNull=function(a){return null!=a};goog.isArray=function(a){return"array"==goog.typeOf(a)};goog.isArrayLike=function(a){var b=goog.typeOf(a);return"array"==b||"object"==b&&"number"==typeof a.length};goog.isDateLike=function(a){return goog.isObject(a)&&"function"==typeof a.getFullYear};goog.isFunction=function(a){return"function"==goog.typeOf(a)};
+goog.isObject=function(a){var b=typeof a;return"object"==b&&null!=a||"function"==b};goog.getUid=function(a){return a[goog.UID_PROPERTY_]||(a[goog.UID_PROPERTY_]=++goog.uidCounter_)};goog.hasUid=function(a){return!!a[goog.UID_PROPERTY_]};goog.removeUid=function(a){null!==a&&"removeAttribute"in a&&a.removeAttribute(goog.UID_PROPERTY_);try{delete a[goog.UID_PROPERTY_]}catch(b){}};goog.UID_PROPERTY_="closure_uid_"+(1E9*Math.random()>>>0);goog.uidCounter_=0;goog.getHashCode=goog.getUid;
+goog.removeHashCode=goog.removeUid;goog.cloneObject=function(a){var b=goog.typeOf(a);if("object"==b||"array"==b){if("function"===typeof a.clone)return a.clone();b="array"==b?[]:{};for(var c in a)b[c]=goog.cloneObject(a[c]);return b}return a};goog.bindNative_=function(a,b,c){return a.call.apply(a.bind,arguments)};
+goog.bindJs_=function(a,b,c){if(!a)throw Error();if(2<arguments.length){var d=Array.prototype.slice.call(arguments,2);return function(){var c=Array.prototype.slice.call(arguments);Array.prototype.unshift.apply(c,d);return a.apply(b,c)}}return function(){return a.apply(b,arguments)}};goog.bind=function(a,b,c){Function.prototype.bind&&-1!=Function.prototype.bind.toString().indexOf("native code")?goog.bind=goog.bindNative_:goog.bind=goog.bindJs_;return goog.bind.apply(null,arguments)};
+goog.partial=function(a,b){var c=Array.prototype.slice.call(arguments,1);return function(){var b=c.slice();b.push.apply(b,arguments);return a.apply(this,b)}};goog.mixin=function(a,b){for(var c in b)a[c]=b[c]};goog.now=goog.TRUSTED_SITE&&Date.now||function(){return+new Date};
+goog.globalEval=function(a){if(goog.global.execScript)goog.global.execScript(a,"JavaScript");else if(goog.global.eval){if(null==goog.evalWorksForGlobals_){try{goog.global.eval("var _evalTest_ = 1;")}catch(d){}if("undefined"!=typeof goog.global._evalTest_){try{delete goog.global._evalTest_}catch(d){}goog.evalWorksForGlobals_=!0}else goog.evalWorksForGlobals_=!1}if(goog.evalWorksForGlobals_)goog.global.eval(a);else{var b=goog.global.document,c=b.createElement("SCRIPT");c.type="text/javascript";c.defer=
+!1;c.appendChild(b.createTextNode(a));b.head.appendChild(c);b.head.removeChild(c)}}else throw Error("goog.globalEval not available");};goog.evalWorksForGlobals_=null;
+goog.getCssName=function(a,b){if("."==String(a).charAt(0))throw Error('className passed in goog.getCssName must not start with ".". You passed: '+a);var c=function(a){return goog.cssNameMapping_[a]||a},d=function(a){a=a.split("-");for(var b=[],d=0;d<a.length;d++)b.push(c(a[d]));return b.join("-")};d=goog.cssNameMapping_?"BY_WHOLE"==goog.cssNameMappingStyle_?c:d:function(a){return a};d=b?a+"-"+d(b):d(a);return goog.global.CLOSURE_CSS_NAME_MAP_FN?goog.global.CLOSURE_CSS_NAME_MAP_FN(d):d};
+goog.setCssNameMapping=function(a,b){goog.cssNameMapping_=a;goog.cssNameMappingStyle_=b};!COMPILED&&goog.global.CLOSURE_CSS_NAME_MAPPING&&(goog.cssNameMapping_=goog.global.CLOSURE_CSS_NAME_MAPPING);goog.getMsg=function(a,b){b&&(a=a.replace(/\{\$([^}]+)}/g,function(a,d){return null!=b&&d in b?b[d]:a}));return a};goog.getMsgWithFallback=function(a,b){return a};goog.exportSymbol=function(a,b,c){goog.exportPath_(a,b,c)};goog.exportProperty=function(a,b,c){a[b]=c};
+goog.inherits=function(a,b){function c(){}c.prototype=b.prototype;a.superClass_=b.prototype;a.prototype=new c;a.prototype.constructor=a;a.base=function(a,c,f){for(var d=Array(arguments.length-2),e=2;e<arguments.length;e++)d[e-2]=arguments[e];return b.prototype[c].apply(a,d)}};
+goog.base=function(a,b,c){var d=arguments.callee.caller;if(goog.STRICT_MODE_COMPATIBLE||goog.DEBUG&&!d)throw Error("arguments.caller not defined.  goog.base() cannot be used with strict mode code. See http://www.ecma-international.org/ecma-262/5.1/#sec-C");if("undefined"!==typeof d.superClass_){for(var e=Array(arguments.length-1),f=1;f<arguments.length;f++)e[f-1]=arguments[f];return d.superClass_.constructor.apply(a,e)}if("string"!=typeof b&&"symbol"!=typeof b)throw Error("method names provided to goog.base must be a string or a symbol");
+e=Array(arguments.length-2);for(f=2;f<arguments.length;f++)e[f-2]=arguments[f];f=!1;for(var g=a.constructor;g;g=g.superClass_&&g.superClass_.constructor)if(g.prototype[b]===d)f=!0;else if(f)return g.prototype[b].apply(a,e);if(a[b]===d)return a.constructor.prototype[b].apply(a,e);throw Error("goog.base called from a method of one name to a method of a different name");};goog.scope=function(a){if(goog.isInModuleLoader_())throw Error("goog.scope is not supported within a module.");a.call(goog.global)};
+COMPILED||(goog.global.COMPILED=COMPILED);goog.defineClass=function(a,b){var c=b.constructor,d=b.statics;c&&c!=Object.prototype.constructor||(c=function(){throw Error("cannot instantiate an interface (no constructor defined).");});c=goog.defineClass.createSealingConstructor_(c,a);a&&goog.inherits(c,a);delete b.constructor;delete b.statics;goog.defineClass.applyProperties_(c.prototype,b);null!=d&&(d instanceof Function?d(c):goog.defineClass.applyProperties_(c,d));return c};
+goog.defineClass.SEAL_CLASS_INSTANCES=goog.DEBUG;goog.defineClass.createSealingConstructor_=function(a,b){if(!goog.defineClass.SEAL_CLASS_INSTANCES)return a;var c=!goog.defineClass.isUnsealable_(b),d=function(){var b=a.apply(this,arguments)||this;b[goog.UID_PROPERTY_]=b[goog.UID_PROPERTY_];this.constructor===d&&c&&Object.seal instanceof Function&&Object.seal(b);return b};return d};goog.defineClass.isUnsealable_=function(a){return a&&a.prototype&&a.prototype[goog.UNSEALABLE_CONSTRUCTOR_PROPERTY_]};
+goog.defineClass.OBJECT_PROTOTYPE_FIELDS_="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");goog.defineClass.applyProperties_=function(a,b){for(var c in b)Object.prototype.hasOwnProperty.call(b,c)&&(a[c]=b[c]);for(var d=0;d<goog.defineClass.OBJECT_PROTOTYPE_FIELDS_.length;d++)c=goog.defineClass.OBJECT_PROTOTYPE_FIELDS_[d],Object.prototype.hasOwnProperty.call(b,c)&&(a[c]=b[c])};
+goog.tagUnsealableClass=function(a){!COMPILED&&goog.defineClass.SEAL_CLASS_INSTANCES&&(a.prototype[goog.UNSEALABLE_CONSTRUCTOR_PROPERTY_]=!0)};goog.UNSEALABLE_CONSTRUCTOR_PROPERTY_="goog_defineClass_legacy_unsealable";
+!COMPILED&&goog.DEPENDENCIES_ENABLED&&(goog.inHtmlDocument_=function(){var a=goog.global.document;return null!=a&&"write"in a},goog.isDocumentLoading_=function(){var a=goog.global.document;return a.attachEvent?"complete"!=a.readyState:"loading"==a.readyState},goog.findBasePath_=function(){if(goog.isDef(goog.global.CLOSURE_BASE_PATH)&&goog.isString(goog.global.CLOSURE_BASE_PATH))goog.basePath=goog.global.CLOSURE_BASE_PATH;else if(goog.inHtmlDocument_()){var a=goog.global.document,b=a.currentScript;
+a=b?[b]:a.getElementsByTagName("SCRIPT");for(b=a.length-1;0<=b;--b){var c=a[b].src,d=c.lastIndexOf("?");d=-1==d?c.length:d;if("base.js"==c.substr(d-7,7)){goog.basePath=c.substr(0,d-7);break}}}},goog.findBasePath_(),goog.Transpiler=function(){this.requiresTranspilation_=null;this.transpilationTarget_=goog.TRANSPILE_TO_LANGUAGE},goog.Transpiler.prototype.createRequiresTranspilation_=function(){function a(a,b){e?d[a]=!0:b()?(c=a,d[a]=!1):e=d[a]=!0}function b(a){try{return!!eval(a)}catch(h){return!1}}
+var c="es3",d={es3:!1},e=!1,f=goog.global.navigator&&goog.global.navigator.userAgent?goog.global.navigator.userAgent:"";a("es5",function(){return b("[1,].length==1")});a("es6",function(){var a=f.match(/Edge\/(\d+)(\.\d)*/i);return a&&15>Number(a[1])?!1:b('(()=>{"use strict";class X{constructor(){if(new.target!=String)throw 1;this.x=42}}let q=Reflect.construct(X,[],String);if(q.x!=42||!(q instanceof String))throw 1;for(const a of[2,3]){if(a==2)continue;function f(z={a}){let a=0;return z.a}{function f(){return 0;}}return f()==3}})()')});
+a("es6-impl",function(){return!0});a("es7",function(){return b("2 ** 2 == 4")});a("es8",function(){return b("async () => 1, true")});a("es9",function(){return b("({...rest} = {}), true")});a("es_next",function(){return!1});return{target:c,map:d}},goog.Transpiler.prototype.needsTranspile=function(a,b){if("always"==goog.TRANSPILE)return!0;if("never"==goog.TRANSPILE)return!1;if(!this.requiresTranspilation_){var c=this.createRequiresTranspilation_();this.requiresTranspilation_=c.map;this.transpilationTarget_=
+this.transpilationTarget_||c.target}if(a in this.requiresTranspilation_)return this.requiresTranspilation_[a]?!0:!goog.inHtmlDocument_()||"es6"!=b||"noModule"in goog.global.document.createElement("script")?!1:!0;throw Error("Unknown language mode: "+a);},goog.Transpiler.prototype.transpile=function(a,b){return goog.transpile_(a,b,this.transpilationTarget_)},goog.transpiler_=new goog.Transpiler,goog.protectScriptTag_=function(a){return a.replace(/<\/(SCRIPT)/ig,"\\x3c/$1")},goog.DebugLoader_=function(){this.dependencies_=
+{};this.idToPath_={};this.written_={};this.loadingDeps_=[];this.depsToLoad_=[];this.paused_=!1;this.factory_=new goog.DependencyFactory(goog.transpiler_);this.deferredCallbacks_={};this.deferredQueue_=[]},goog.DebugLoader_.prototype.bootstrap=function(a,b){function c(){d&&(goog.global.setTimeout(d,0),d=null)}var d=b;if(a.length){for(var e=[],f=0;f<a.length;f++){var g=this.getPathFromDeps_(a[f]);if(!g)throw Error("Unregonized namespace: "+a[f]);e.push(this.dependencies_[g])}g=goog.require;var h=0;
+for(f=0;f<a.length;f++)g(a[f]),e[f].onLoad(function(){++h==a.length&&c()})}else c()},goog.DebugLoader_.prototype.loadClosureDeps=function(){this.depsToLoad_.push(this.factory_.createDependency(goog.normalizePath_(goog.basePath+"deps.js"),"deps.js",[],[],{},!1));this.loadDeps_()},goog.DebugLoader_.prototype.requested=function(a,b){var c=this.getPathFromDeps_(a);if(c&&(b||this.areDepsLoaded_(this.dependencies_[c].requires))){var d=this.deferredCallbacks_[c];d&&(delete this.deferredCallbacks_[c],d())}},
+goog.DebugLoader_.prototype.setDependencyFactory=function(a){this.factory_=a},goog.DebugLoader_.prototype.load_=function(a){if(this.getPathFromDeps_(a)){var b=this,c=[],d=function(a){var e=b.getPathFromDeps_(a);if(!e)throw Error("Bad dependency path or symbol: "+a);if(!b.written_[e]){b.written_[e]=!0;a=b.dependencies_[e];for(e=0;e<a.requires.length;e++)goog.isProvided_(a.requires[e])||d(a.requires[e]);c.push(a)}};d(a);a=!!this.depsToLoad_.length;this.depsToLoad_=this.depsToLoad_.concat(c);this.paused_||
+a||this.loadDeps_()}else throw a="goog.require could not find: "+a,goog.logToConsole_(a),Error(a);},goog.DebugLoader_.prototype.loadDeps_=function(){for(var a=this,b=this.paused_;this.depsToLoad_.length&&!b;)(function(){var c=!1,d=a.depsToLoad_.shift(),e=!1;a.loading_(d);var f={pause:function(){if(c)throw Error("Cannot call pause after the call to load.");b=!0},resume:function(){c?a.resume_():b=!1},loaded:function(){if(e)throw Error("Double call to loaded.");e=!0;a.loaded_(d)},pending:function(){for(var b=
+[],c=0;c<a.loadingDeps_.length;c++)b.push(a.loadingDeps_[c]);return b},setModuleState:function(a){goog.moduleLoaderState_={type:a,moduleName:"",declareLegacyNamespace:!1}},registerEs6ModuleExports:function(a,b,c){c&&(goog.loadedModules_[c]={exports:b,type:goog.ModuleType.ES6,moduleId:c||""})},registerGoogModuleExports:function(a,b){goog.loadedModules_[a]={exports:b,type:goog.ModuleType.GOOG,moduleId:a}},clearModuleState:function(){goog.moduleLoaderState_=null},defer:function(b){if(c)throw Error("Cannot register with defer after the call to load.");
+a.defer_(d,b)},areDepsLoaded:function(){return a.areDepsLoaded_(d.requires)}};try{d.load(f)}finally{c=!0}})();b&&this.pause_()},goog.DebugLoader_.prototype.pause_=function(){this.paused_=!0},goog.DebugLoader_.prototype.resume_=function(){this.paused_&&(this.paused_=!1,this.loadDeps_())},goog.DebugLoader_.prototype.loading_=function(a){this.loadingDeps_.push(a)},goog.DebugLoader_.prototype.loaded_=function(a){for(var b=0;b<this.loadingDeps_.length;b++)if(this.loadingDeps_[b]==a){this.loadingDeps_.splice(b,
+1);break}for(b=0;b<this.deferredQueue_.length;b++)if(this.deferredQueue_[b]==a.path){this.deferredQueue_.splice(b,1);break}if(this.loadingDeps_.length==this.deferredQueue_.length&&!this.depsToLoad_.length)for(;this.deferredQueue_.length;)this.requested(this.deferredQueue_.shift(),!0);a.loaded()},goog.DebugLoader_.prototype.areDepsLoaded_=function(a){for(var b=0;b<a.length;b++){var c=this.getPathFromDeps_(a[b]);if(!c||!(c in this.deferredCallbacks_||goog.isProvided_(a[b])))return!1}return!0},goog.DebugLoader_.prototype.getPathFromDeps_=
+function(a){return a in this.idToPath_?this.idToPath_[a]:a in this.dependencies_?a:null},goog.DebugLoader_.prototype.defer_=function(a,b){this.deferredCallbacks_[a.path]=b;this.deferredQueue_.push(a.path)},goog.LoadController=function(){},goog.LoadController.prototype.pause=function(){},goog.LoadController.prototype.resume=function(){},goog.LoadController.prototype.loaded=function(){},goog.LoadController.prototype.pending=function(){},goog.LoadController.prototype.registerEs6ModuleExports=function(a,
+b,c){},goog.LoadController.prototype.setModuleState=function(a){},goog.LoadController.prototype.clearModuleState=function(){},goog.LoadController.prototype.defer=function(a){},goog.LoadController.prototype.areDepsLoaded=function(){},goog.Dependency=function(a,b,c,d,e){this.path=a;this.relativePath=b;this.provides=c;this.requires=d;this.loadFlags=e;this.loaded_=!1;this.loadCallbacks_=[]},goog.Dependency.prototype.getPathName=function(){var a=this.path,b=a.indexOf("://");0<=b&&(a=a.substring(b+3),b=
+a.indexOf("/"),0<=b&&(a=a.substring(b+1)));return a},goog.Dependency.prototype.onLoad=function(a){this.loaded_?a():this.loadCallbacks_.push(a)},goog.Dependency.prototype.loaded=function(){this.loaded_=!0;var a=this.loadCallbacks_;this.loadCallbacks_=[];for(var b=0;b<a.length;b++)a[b]()},goog.Dependency.defer_=!1,goog.Dependency.callbackMap_={},goog.Dependency.registerCallback_=function(a){var b=Math.random().toString(32);goog.Dependency.callbackMap_[b]=a;return b},goog.Dependency.unregisterCallback_=
+function(a){delete goog.Dependency.callbackMap_[a]},goog.Dependency.callback_=function(a,b){if(a in goog.Dependency.callbackMap_){for(var c=goog.Dependency.callbackMap_[a],d=[],e=1;e<arguments.length;e++)d.push(arguments[e]);c.apply(void 0,d)}else throw Error("Callback key "+a+" does not exist (was base.js loaded more than once?).");},goog.Dependency.prototype.load=function(a){if(goog.global.CLOSURE_IMPORT_SCRIPT)goog.global.CLOSURE_IMPORT_SCRIPT(this.path)?a.loaded():a.pause();else if(goog.inHtmlDocument_()){var b=
+goog.global.document;if("complete"==b.readyState&&!goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING){if(/\bdeps.js$/.test(this.path)){a.loaded();return}throw Error('Cannot write "'+this.path+'" after document load');}if(!goog.ENABLE_CHROME_APP_SAFE_SCRIPT_LOADING&&goog.isDocumentLoading_()){var c=goog.Dependency.registerCallback_(function(b){goog.DebugLoader_.IS_OLD_IE_&&"complete"!=b.readyState||(goog.Dependency.unregisterCallback_(c),a.loaded())}),d=!goog.DebugLoader_.IS_OLD_IE_&&goog.getScriptNonce()?
+' nonce="'+goog.getScriptNonce()+'"':"";b.write('<script src="'+this.path+'" '+(goog.DebugLoader_.IS_OLD_IE_?"onreadystatechange":"onload")+"=\"goog.Dependency.callback_('"+c+'\', this)" type="text/javascript" '+(goog.Dependency.defer_?"defer":"")+d+">\x3c/script>")}else{var e=b.createElement("script");e.defer=goog.Dependency.defer_;e.async=!1;e.type="text/javascript";(d=goog.getScriptNonce())&&e.setAttribute("nonce",d);goog.DebugLoader_.IS_OLD_IE_?(a.pause(),e.onreadystatechange=function(){if("loaded"==
+e.readyState||"complete"==e.readyState)a.loaded(),a.resume()}):e.onload=function(){e.onload=null;a.loaded()};e.src=this.path;b.head.appendChild(e)}}else goog.logToConsole_("Cannot use default debug loader outside of HTML documents."),"deps.js"==this.relativePath?(goog.logToConsole_("Consider setting CLOSURE_IMPORT_SCRIPT before loading base.js, or setting CLOSURE_NO_DEPS to true."),a.loaded()):a.pause()},goog.Es6ModuleDependency=function(a,b,c,d,e){goog.Dependency.call(this,a,b,c,d,e)},goog.inherits(goog.Es6ModuleDependency,
+goog.Dependency),goog.Es6ModuleDependency.prototype.load=function(a){function b(a,b){b?d.write('<script type="module" crossorigin>'+b+"\x3c/script>"):d.write('<script type="module" crossorigin src="'+a+'">\x3c/script>')}function c(a,b){var c=d.createElement("script");c.defer=!0;c.async=!1;c.type="module";c.setAttribute("crossorigin",!0);var e=goog.getScriptNonce();e&&c.setAttribute("nonce",e);b?c.textContent=b:c.src=a;d.head.appendChild(c)}if(goog.global.CLOSURE_IMPORT_SCRIPT)goog.global.CLOSURE_IMPORT_SCRIPT(this.path)?
+a.loaded():a.pause();else if(goog.inHtmlDocument_()){var d=goog.global.document,e=this;if(goog.isDocumentLoading_()){var f=b;goog.Dependency.defer_=!0}else f=c;var g=goog.Dependency.registerCallback_(function(){goog.Dependency.unregisterCallback_(g);a.setModuleState(goog.ModuleType.ES6)});f(void 0,'goog.Dependency.callback_("'+g+'")');f(this.path,void 0);var h=goog.Dependency.registerCallback_(function(b){goog.Dependency.unregisterCallback_(h);a.registerEs6ModuleExports(e.path,b,goog.moduleLoaderState_.moduleName)});
+f(void 0,'import * as m from "'+this.path+'"; goog.Dependency.callback_("'+h+'", m)');var k=goog.Dependency.registerCallback_(function(){goog.Dependency.unregisterCallback_(k);a.clearModuleState();a.loaded()});f(void 0,'goog.Dependency.callback_("'+k+'")')}else goog.logToConsole_("Cannot use default debug loader outside of HTML documents."),a.pause()},goog.TransformedDependency=function(a,b,c,d,e){goog.Dependency.call(this,a,b,c,d,e);this.contents_=null},goog.inherits(goog.TransformedDependency,goog.Dependency),
+goog.TransformedDependency.prototype.load=function(a){function b(){e.contents_=goog.loadFileSync_(e.path);e.contents_&&(e.contents_=e.transform(e.contents_),e.contents_&&(e.contents_+="\n//# sourceURL="+e.path))}function c(){b();if(e.contents_){f&&a.setModuleState(goog.ModuleType.ES6);try{var c=e.contents_;e.contents_=null;goog.globalEval(c);if(f)var d=goog.moduleLoaderState_.moduleName}finally{f&&a.clearModuleState()}f&&goog.global.$jscomp.require.ensure([e.getPathName()],function(){a.registerEs6ModuleExports(e.path,
+goog.global.$jscomp.require(e.getPathName()),d)});a.loaded()}}function d(){var a=goog.global.document,b=goog.Dependency.registerCallback_(function(){goog.Dependency.unregisterCallback_(b);c()});a.write('<script type="text/javascript">'+goog.protectScriptTag_('goog.Dependency.callback_("'+b+'");')+"\x3c/script>")}var e=this;if(goog.global.CLOSURE_IMPORT_SCRIPT)b(),this.contents_&&goog.global.CLOSURE_IMPORT_SCRIPT("",this.contents_)?(this.contents_=null,a.loaded()):a.pause();else{var f=this.loadFlags.module==
+goog.ModuleType.ES6,g=1<a.pending().length,h=g&&goog.DebugLoader_.IS_OLD_IE_;g=goog.Dependency.defer_&&(g||goog.isDocumentLoading_());if(h||g)a.defer(function(){c()});else{var k=goog.global.document;h=goog.inHtmlDocument_()&&"ActiveXObject"in goog.global;if(f&&goog.inHtmlDocument_()&&goog.isDocumentLoading_()&&!h){goog.Dependency.defer_=!0;a.pause();var l=k.onreadystatechange;k.onreadystatechange=function(){"interactive"==k.readyState&&(k.onreadystatechange=l,c(),a.resume());goog.isFunction(l)&&l.apply(void 0,
+arguments)}}else!goog.DebugLoader_.IS_OLD_IE_&&goog.inHtmlDocument_()&&goog.isDocumentLoading_()?d():c()}}},goog.TransformedDependency.prototype.transform=function(a){},goog.TranspiledDependency=function(a,b,c,d,e,f){goog.TransformedDependency.call(this,a,b,c,d,e);this.transpiler=f},goog.inherits(goog.TranspiledDependency,goog.TransformedDependency),goog.TranspiledDependency.prototype.transform=function(a){return this.transpiler.transpile(a,this.getPathName())},goog.GoogModuleDependency=function(a,
+b,c,d,e,f,g){goog.TransformedDependency.call(this,a,b,c,d,e);this.needsTranspile_=f;this.transpiler_=g},goog.inherits(goog.GoogModuleDependency,goog.TransformedDependency),goog.GoogModuleDependency.prototype.transform=function(a){this.needsTranspile_&&(a=this.transpiler_.transpile(a,this.getPathName()));return goog.LOAD_MODULE_USING_EVAL&&goog.isDef(goog.global.JSON)?"goog.loadModule("+goog.global.JSON.stringify(a+"\n//# sourceURL="+this.path+"\n")+");":'goog.loadModule(function(exports) {"use strict";'+
+a+"\n;return exports});\n//# sourceURL="+this.path+"\n"},goog.DebugLoader_.IS_OLD_IE_=!(goog.global.atob||!goog.global.document||!goog.global.document.all),goog.DebugLoader_.prototype.addDependency=function(a,b,c,d){b=b||[];a=a.replace(/\\/g,"/");var e=goog.normalizePath_(goog.basePath+a);d&&"boolean"!==typeof d||(d=d?{module:goog.ModuleType.GOOG}:{});c=this.factory_.createDependency(e,a,b,c,d,goog.transpiler_.needsTranspile(d.lang||"es3",d.module));this.dependencies_[e]=c;for(c=0;c<b.length;c++)this.idToPath_[b[c]]=
+e;this.idToPath_[a]=e},goog.DependencyFactory=function(a){this.transpiler=a},goog.DependencyFactory.prototype.createDependency=function(a,b,c,d,e,f){return e.module==goog.ModuleType.GOOG?new goog.GoogModuleDependency(a,b,c,d,e,f,this.transpiler):f?new goog.TranspiledDependency(a,b,c,d,e,this.transpiler):e.module==goog.ModuleType.ES6?new goog.Es6ModuleDependency(a,b,c,d,e):new goog.Dependency(a,b,c,d,e)},goog.debugLoader_=new goog.DebugLoader_,goog.loadClosureDeps=function(){goog.debugLoader_.loadClosureDeps()},
+goog.setDependencyFactory=function(a){goog.debugLoader_.setDependencyFactory(a)},goog.global.CLOSURE_NO_DEPS||goog.debugLoader_.loadClosureDeps(),goog.bootstrap=function(a,b){goog.debugLoader_.bootstrap(a,b)});goog.debug={};goog.debug.Error=function(a){if(Error.captureStackTrace)Error.captureStackTrace(this,goog.debug.Error);else{var b=Error().stack;b&&(this.stack=b)}a&&(this.message=String(a));this.reportErrorToServer=!0};goog.inherits(goog.debug.Error,Error);goog.debug.Error.prototype.name="CustomError";goog.dom={};goog.dom.NodeType={ELEMENT:1,ATTRIBUTE:2,TEXT:3,CDATA_SECTION:4,ENTITY_REFERENCE:5,ENTITY:6,PROCESSING_INSTRUCTION:7,COMMENT:8,DOCUMENT:9,DOCUMENT_TYPE:10,DOCUMENT_FRAGMENT:11,NOTATION:12};goog.asserts={};goog.asserts.ENABLE_ASSERTS=goog.DEBUG;goog.asserts.AssertionError=function(a,b){goog.debug.Error.call(this,goog.asserts.subs_(a,b));this.messagePattern=a};goog.inherits(goog.asserts.AssertionError,goog.debug.Error);goog.asserts.AssertionError.prototype.name="AssertionError";goog.asserts.DEFAULT_ERROR_HANDLER=function(a){throw a;};goog.asserts.errorHandler_=goog.asserts.DEFAULT_ERROR_HANDLER;
+goog.asserts.subs_=function(a,b){for(var c=a.split("%s"),d="",e=c.length-1,f=0;f<e;f++)d+=c[f]+(f<b.length?b[f]:"%s");return d+c[e]};goog.asserts.doAssertFailure_=function(a,b,c,d){var e="Assertion failed";if(c){e+=": "+c;var f=d}else a&&(e+=": "+a,f=b);a=new goog.asserts.AssertionError(""+e,f||[]);goog.asserts.errorHandler_(a)};goog.asserts.setErrorHandler=function(a){goog.asserts.ENABLE_ASSERTS&&(goog.asserts.errorHandler_=a)};
+goog.asserts.assert=function(a,b,c){goog.asserts.ENABLE_ASSERTS&&!a&&goog.asserts.doAssertFailure_("",null,b,Array.prototype.slice.call(arguments,2));return a};goog.asserts.fail=function(a,b){goog.asserts.ENABLE_ASSERTS&&goog.asserts.errorHandler_(new goog.asserts.AssertionError("Failure"+(a?": "+a:""),Array.prototype.slice.call(arguments,1)))};
+goog.asserts.assertNumber=function(a,b,c){goog.asserts.ENABLE_ASSERTS&&!goog.isNumber(a)&&goog.asserts.doAssertFailure_("Expected number but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};goog.asserts.assertString=function(a,b,c){goog.asserts.ENABLE_ASSERTS&&!goog.isString(a)&&goog.asserts.doAssertFailure_("Expected string but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};
+goog.asserts.assertFunction=function(a,b,c){goog.asserts.ENABLE_ASSERTS&&!goog.isFunction(a)&&goog.asserts.doAssertFailure_("Expected function but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};goog.asserts.assertObject=function(a,b,c){goog.asserts.ENABLE_ASSERTS&&!goog.isObject(a)&&goog.asserts.doAssertFailure_("Expected object but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};
+goog.asserts.assertArray=function(a,b,c){goog.asserts.ENABLE_ASSERTS&&!goog.isArray(a)&&goog.asserts.doAssertFailure_("Expected array but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};goog.asserts.assertBoolean=function(a,b,c){goog.asserts.ENABLE_ASSERTS&&!goog.isBoolean(a)&&goog.asserts.doAssertFailure_("Expected boolean but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};
+goog.asserts.assertElement=function(a,b,c){!goog.asserts.ENABLE_ASSERTS||goog.isObject(a)&&a.nodeType==goog.dom.NodeType.ELEMENT||goog.asserts.doAssertFailure_("Expected Element but got %s: %s.",[goog.typeOf(a),a],b,Array.prototype.slice.call(arguments,2));return a};
+goog.asserts.assertInstanceof=function(a,b,c,d){!goog.asserts.ENABLE_ASSERTS||a instanceof b||goog.asserts.doAssertFailure_("Expected instanceof %s but got %s.",[goog.asserts.getType_(b),goog.asserts.getType_(a)],c,Array.prototype.slice.call(arguments,3));return a};goog.asserts.assertFinite=function(a,b,c){!goog.asserts.ENABLE_ASSERTS||"number"==typeof a&&isFinite(a)||goog.asserts.doAssertFailure_("Expected %s to be a finite number but it is not.",[a],b,Array.prototype.slice.call(arguments,2));return a};
+goog.asserts.assertObjectPrototypeIsIntact=function(){for(var a in Object.prototype)goog.asserts.fail(a+" should not be enumerable in Object.prototype.")};goog.asserts.getType_=function(a){return a instanceof Function?a.displayName||a.name||"unknown type name":a instanceof Object?a.constructor.displayName||a.constructor.name||Object.prototype.toString.call(a):null===a?"null":typeof a};goog.array={};goog.NATIVE_ARRAY_PROTOTYPES=goog.TRUSTED_SITE;goog.array.ASSUME_NATIVE_FUNCTIONS=!1;goog.array.peek=function(a){return a[a.length-1]};goog.array.last=goog.array.peek;
+goog.array.indexOf=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.indexOf)?function(a,b,c){goog.asserts.assert(null!=a.length);return Array.prototype.indexOf.call(a,b,c)}:function(a,b,c){c=null==c?0:0>c?Math.max(0,a.length+c):c;if(goog.isString(a))return goog.isString(b)&&1==b.length?a.indexOf(b,c):-1;for(;c<a.length;c++)if(c in a&&a[c]===b)return c;return-1};
+goog.array.lastIndexOf=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.lastIndexOf)?function(a,b,c){goog.asserts.assert(null!=a.length);return Array.prototype.lastIndexOf.call(a,b,null==c?a.length-1:c)}:function(a,b,c){c=null==c?a.length-1:c;0>c&&(c=Math.max(0,a.length+c));if(goog.isString(a))return goog.isString(b)&&1==b.length?a.lastIndexOf(b,c):-1;for(;0<=c;c--)if(c in a&&a[c]===b)return c;return-1};
+goog.array.forEach=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.forEach)?function(a,b,c){goog.asserts.assert(null!=a.length);Array.prototype.forEach.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=goog.isString(a)?a.split(""):a,f=0;f<d;f++)f in e&&b.call(c,e[f],f,a)};goog.array.forEachRight=function(a,b,c){var d=a.length,e=goog.isString(a)?a.split(""):a;for(--d;0<=d;--d)d in e&&b.call(c,e[d],d,a)};
+goog.array.filter=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.filter)?function(a,b,c){goog.asserts.assert(null!=a.length);return Array.prototype.filter.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=[],f=0,g=goog.isString(a)?a.split(""):a,h=0;h<d;h++)if(h in g){var k=g[h];b.call(c,k,h,a)&&(e[f++]=k)}return e};
+goog.array.map=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.map)?function(a,b,c){goog.asserts.assert(null!=a.length);return Array.prototype.map.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=Array(d),f=goog.isString(a)?a.split(""):a,g=0;g<d;g++)g in f&&(e[g]=b.call(c,f[g],g,a));return e};
+goog.array.reduce=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.reduce)?function(a,b,c,d){goog.asserts.assert(null!=a.length);d&&(b=goog.bind(b,d));return Array.prototype.reduce.call(a,b,c)}:function(a,b,c,d){var e=c;goog.array.forEach(a,function(c,g){e=b.call(d,e,c,g,a)});return e};
+goog.array.reduceRight=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.reduceRight)?function(a,b,c,d){goog.asserts.assert(null!=a.length);goog.asserts.assert(null!=b);d&&(b=goog.bind(b,d));return Array.prototype.reduceRight.call(a,b,c)}:function(a,b,c,d){var e=c;goog.array.forEachRight(a,function(c,g){e=b.call(d,e,c,g,a)});return e};
+goog.array.some=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.some)?function(a,b,c){goog.asserts.assert(null!=a.length);return Array.prototype.some.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=goog.isString(a)?a.split(""):a,f=0;f<d;f++)if(f in e&&b.call(c,e[f],f,a))return!0;return!1};
+goog.array.every=goog.NATIVE_ARRAY_PROTOTYPES&&(goog.array.ASSUME_NATIVE_FUNCTIONS||Array.prototype.every)?function(a,b,c){goog.asserts.assert(null!=a.length);return Array.prototype.every.call(a,b,c)}:function(a,b,c){for(var d=a.length,e=goog.isString(a)?a.split(""):a,f=0;f<d;f++)if(f in e&&!b.call(c,e[f],f,a))return!1;return!0};goog.array.count=function(a,b,c){var d=0;goog.array.forEach(a,function(a,f,g){b.call(c,a,f,g)&&++d},c);return d};
+goog.array.find=function(a,b,c){b=goog.array.findIndex(a,b,c);return 0>b?null:goog.isString(a)?a.charAt(b):a[b]};goog.array.findIndex=function(a,b,c){for(var d=a.length,e=goog.isString(a)?a.split(""):a,f=0;f<d;f++)if(f in e&&b.call(c,e[f],f,a))return f;return-1};goog.array.findRight=function(a,b,c){b=goog.array.findIndexRight(a,b,c);return 0>b?null:goog.isString(a)?a.charAt(b):a[b]};
+goog.array.findIndexRight=function(a,b,c){var d=a.length,e=goog.isString(a)?a.split(""):a;for(--d;0<=d;d--)if(d in e&&b.call(c,e[d],d,a))return d;return-1};goog.array.contains=function(a,b){return 0<=goog.array.indexOf(a,b)};goog.array.isEmpty=function(a){return 0==a.length};goog.array.clear=function(a){if(!goog.isArray(a))for(var b=a.length-1;0<=b;b--)delete a[b];a.length=0};goog.array.insert=function(a,b){goog.array.contains(a,b)||a.push(b)};
+goog.array.insertAt=function(a,b,c){goog.array.splice(a,c,0,b)};goog.array.insertArrayAt=function(a,b,c){goog.partial(goog.array.splice,a,c,0).apply(null,b)};goog.array.insertBefore=function(a,b,c){var d;2==arguments.length||0>(d=goog.array.indexOf(a,c))?a.push(b):goog.array.insertAt(a,b,d)};goog.array.remove=function(a,b){var c=goog.array.indexOf(a,b),d;(d=0<=c)&&goog.array.removeAt(a,c);return d};
+goog.array.removeLast=function(a,b){var c=goog.array.lastIndexOf(a,b);return 0<=c?(goog.array.removeAt(a,c),!0):!1};goog.array.removeAt=function(a,b){goog.asserts.assert(null!=a.length);return 1==Array.prototype.splice.call(a,b,1).length};goog.array.removeIf=function(a,b,c){b=goog.array.findIndex(a,b,c);return 0<=b?(goog.array.removeAt(a,b),!0):!1};goog.array.removeAllIf=function(a,b,c){var d=0;goog.array.forEachRight(a,function(e,f){b.call(c,e,f,a)&&goog.array.removeAt(a,f)&&d++});return d};
+goog.array.concat=function(a){return Array.prototype.concat.apply([],arguments)};goog.array.join=function(a){return Array.prototype.concat.apply([],arguments)};goog.array.toArray=function(a){var b=a.length;if(0<b){for(var c=Array(b),d=0;d<b;d++)c[d]=a[d];return c}return[]};goog.array.clone=goog.array.toArray;goog.array.extend=function(a,b){for(var c=1;c<arguments.length;c++){var d=arguments[c];if(goog.isArrayLike(d)){var e=a.length||0,f=d.length||0;a.length=e+f;for(var g=0;g<f;g++)a[e+g]=d[g]}else a.push(d)}};
+goog.array.splice=function(a,b,c,d){goog.asserts.assert(null!=a.length);return Array.prototype.splice.apply(a,goog.array.slice(arguments,1))};goog.array.slice=function(a,b,c){goog.asserts.assert(null!=a.length);return 2>=arguments.length?Array.prototype.slice.call(a,b):Array.prototype.slice.call(a,b,c)};
+goog.array.removeDuplicates=function(a,b,c){b=b||a;var d=function(a){return goog.isObject(a)?"o"+goog.getUid(a):(typeof a).charAt(0)+a};c=c||d;d={};for(var e=0,f=0;f<a.length;){var g=a[f++],h=c(g);Object.prototype.hasOwnProperty.call(d,h)||(d[h]=!0,b[e++]=g)}b.length=e};goog.array.binarySearch=function(a,b,c){return goog.array.binarySearch_(a,c||goog.array.defaultCompare,!1,b)};goog.array.binarySelect=function(a,b,c){return goog.array.binarySearch_(a,b,!0,void 0,c)};
+goog.array.binarySearch_=function(a,b,c,d,e){for(var f=0,g=a.length,h;f<g;){var k=f+g>>1;var l=c?b.call(e,a[k],k,a):b(d,a[k]);0<l?f=k+1:(g=k,h=!l)}return h?f:~f};goog.array.sort=function(a,b){a.sort(b||goog.array.defaultCompare)};goog.array.stableSort=function(a,b){for(var c=Array(a.length),d=0;d<a.length;d++)c[d]={index:d,value:a[d]};var e=b||goog.array.defaultCompare;goog.array.sort(c,function(a,b){return e(a.value,b.value)||a.index-b.index});for(d=0;d<a.length;d++)a[d]=c[d].value};
+goog.array.sortByKey=function(a,b,c){var d=c||goog.array.defaultCompare;goog.array.sort(a,function(a,c){return d(b(a),b(c))})};goog.array.sortObjectsByKey=function(a,b,c){goog.array.sortByKey(a,function(a){return a[b]},c)};goog.array.isSorted=function(a,b,c){b=b||goog.array.defaultCompare;for(var d=1;d<a.length;d++){var e=b(a[d-1],a[d]);if(0<e||0==e&&c)return!1}return!0};
+goog.array.equals=function(a,b,c){if(!goog.isArrayLike(a)||!goog.isArrayLike(b)||a.length!=b.length)return!1;var d=a.length;c=c||goog.array.defaultCompareEquality;for(var e=0;e<d;e++)if(!c(a[e],b[e]))return!1;return!0};goog.array.compare3=function(a,b,c){c=c||goog.array.defaultCompare;for(var d=Math.min(a.length,b.length),e=0;e<d;e++){var f=c(a[e],b[e]);if(0!=f)return f}return goog.array.defaultCompare(a.length,b.length)};goog.array.defaultCompare=function(a,b){return a>b?1:a<b?-1:0};
+goog.array.inverseDefaultCompare=function(a,b){return-goog.array.defaultCompare(a,b)};goog.array.defaultCompareEquality=function(a,b){return a===b};goog.array.binaryInsert=function(a,b,c){c=goog.array.binarySearch(a,b,c);return 0>c?(goog.array.insertAt(a,b,-(c+1)),!0):!1};goog.array.binaryRemove=function(a,b,c){b=goog.array.binarySearch(a,b,c);return 0<=b?goog.array.removeAt(a,b):!1};
+goog.array.bucket=function(a,b,c){for(var d={},e=0;e<a.length;e++){var f=a[e],g=b.call(c,f,e,a);goog.isDef(g)&&(d[g]||(d[g]=[])).push(f)}return d};goog.array.toObject=function(a,b,c){var d={};goog.array.forEach(a,function(e,f){d[b.call(c,e,f,a)]=e});return d};goog.array.range=function(a,b,c){var d=[],e=0,f=a;c=c||1;void 0!==b&&(e=a,f=b);if(0>c*(f-e))return[];if(0<c)for(a=e;a<f;a+=c)d.push(a);else for(a=e;a>f;a+=c)d.push(a);return d};
+goog.array.repeat=function(a,b){for(var c=[],d=0;d<b;d++)c[d]=a;return c};goog.array.flatten=function(a){for(var b=[],c=0;c<arguments.length;c++){var d=arguments[c];if(goog.isArray(d))for(var e=0;e<d.length;e+=8192){var f=goog.array.slice(d,e,e+8192);f=goog.array.flatten.apply(null,f);for(var g=0;g<f.length;g++)b.push(f[g])}else b.push(d)}return b};
+goog.array.rotate=function(a,b){goog.asserts.assert(null!=a.length);a.length&&(b%=a.length,0<b?Array.prototype.unshift.apply(a,a.splice(-b,b)):0>b&&Array.prototype.push.apply(a,a.splice(0,-b)));return a};goog.array.moveItem=function(a,b,c){goog.asserts.assert(0<=b&&b<a.length);goog.asserts.assert(0<=c&&c<a.length);b=Array.prototype.splice.call(a,b,1);Array.prototype.splice.call(a,c,0,b[0])};
+goog.array.zip=function(a){if(!arguments.length)return[];for(var b=[],c=arguments[0].length,d=1;d<arguments.length;d++)arguments[d].length<c&&(c=arguments[d].length);for(d=0;d<c;d++){for(var e=[],f=0;f<arguments.length;f++)e.push(arguments[f][d]);b.push(e)}return b};goog.array.shuffle=function(a,b){for(var c=b||Math.random,d=a.length-1;0<d;d--){var e=Math.floor(c()*(d+1)),f=a[d];a[d]=a[e];a[e]=f}};goog.array.copyByIndex=function(a,b){var c=[];goog.array.forEach(b,function(b){c.push(a[b])});return c};
+goog.array.concatMap=function(a,b,c){return goog.array.concat.apply([],goog.array.map(a,b,c))};goog.math={};goog.math.randomInt=function(a){return Math.floor(Math.random()*a)};goog.math.uniformRandom=function(a,b){return a+Math.random()*(b-a)};goog.math.clamp=function(a,b,c){return Math.min(Math.max(a,b),c)};goog.math.modulo=function(a,b){var c=a%b;return 0>c*b?c+b:c};goog.math.lerp=function(a,b,c){return a+c*(b-a)};goog.math.nearlyEquals=function(a,b,c){return Math.abs(a-b)<=(c||1E-6)};goog.math.standardAngle=function(a){return goog.math.modulo(a,360)};
+goog.math.standardAngleInRadians=function(a){return goog.math.modulo(a,2*Math.PI)};goog.math.toRadians=function(a){return a*Math.PI/180};goog.math.toDegrees=function(a){return 180*a/Math.PI};goog.math.angleDx=function(a,b){return b*Math.cos(goog.math.toRadians(a))};goog.math.angleDy=function(a,b){return b*Math.sin(goog.math.toRadians(a))};goog.math.angle=function(a,b,c,d){return goog.math.standardAngle(goog.math.toDegrees(Math.atan2(d-b,c-a)))};
+goog.math.angleDifference=function(a,b){var c=goog.math.standardAngle(b)-goog.math.standardAngle(a);180<c?c-=360:-180>=c&&(c=360+c);return c};goog.math.sign=function(a){return 0<a?1:0>a?-1:a};
+goog.math.longestCommonSubsequence=function(a,b,c,d){c=c||function(a,b){return a==b};d=d||function(b,c){return a[b]};for(var e=a.length,f=b.length,g=[],h=0;h<e+1;h++)g[h]=[],g[h][0]=0;for(var k=0;k<f+1;k++)g[0][k]=0;for(h=1;h<=e;h++)for(k=1;k<=f;k++)c(a[h-1],b[k-1])?g[h][k]=g[h-1][k-1]+1:g[h][k]=Math.max(g[h-1][k],g[h][k-1]);var l=[];h=e;for(k=f;0<h&&0<k;)c(a[h-1],b[k-1])?(l.unshift(d(h-1,k-1)),h--,k--):g[h-1][k]>g[h][k-1]?h--:k--;return l};
+goog.math.sum=function(a){return goog.array.reduce(arguments,function(a,c){return a+c},0)};goog.math.average=function(a){return goog.math.sum.apply(null,arguments)/arguments.length};goog.math.sampleVariance=function(a){var b=arguments.length;if(2>b)return 0;var c=goog.math.average.apply(null,arguments);return goog.math.sum.apply(null,goog.array.map(arguments,function(a){return Math.pow(a-c,2)}))/(b-1)};goog.math.standardDeviation=function(a){return Math.sqrt(goog.math.sampleVariance.apply(null,arguments))};
+goog.math.isInt=function(a){return isFinite(a)&&0==a%1};goog.math.isFiniteNumber=function(a){return isFinite(a)};goog.math.isNegativeZero=function(a){return 0==a&&0>1/a};goog.math.log10Floor=function(a){if(0<a){var b=Math.round(Math.log(a)*Math.LOG10E);return b-(parseFloat("1e"+b)>a?1:0)}return 0==a?-Infinity:NaN};goog.math.safeFloor=function(a,b){goog.asserts.assert(!goog.isDef(b)||0<b);return Math.floor(a+(b||2E-15))};
+goog.math.safeCeil=function(a,b){goog.asserts.assert(!goog.isDef(b)||0<b);return Math.ceil(a-(b||2E-15))};goog.math.Coordinate=function(a,b){this.x=goog.isDef(a)?a:0;this.y=goog.isDef(b)?b:0};goog.math.Coordinate.prototype.clone=function(){return new goog.math.Coordinate(this.x,this.y)};goog.DEBUG&&(goog.math.Coordinate.prototype.toString=function(){return"("+this.x+", "+this.y+")"});goog.math.Coordinate.prototype.equals=function(a){return a instanceof goog.math.Coordinate&&goog.math.Coordinate.equals(this,a)};goog.math.Coordinate.equals=function(a,b){return a==b?!0:a&&b?a.x==b.x&&a.y==b.y:!1};
+goog.math.Coordinate.distance=function(a,b){var c=a.x-b.x,d=a.y-b.y;return Math.sqrt(c*c+d*d)};goog.math.Coordinate.magnitude=function(a){return Math.sqrt(a.x*a.x+a.y*a.y)};goog.math.Coordinate.azimuth=function(a){return goog.math.angle(0,0,a.x,a.y)};goog.math.Coordinate.squaredDistance=function(a,b){var c=a.x-b.x,d=a.y-b.y;return c*c+d*d};goog.math.Coordinate.difference=function(a,b){return new goog.math.Coordinate(a.x-b.x,a.y-b.y)};
+goog.math.Coordinate.sum=function(a,b){return new goog.math.Coordinate(a.x+b.x,a.y+b.y)};goog.math.Coordinate.prototype.ceil=function(){this.x=Math.ceil(this.x);this.y=Math.ceil(this.y);return this};goog.math.Coordinate.prototype.floor=function(){this.x=Math.floor(this.x);this.y=Math.floor(this.y);return this};goog.math.Coordinate.prototype.round=function(){this.x=Math.round(this.x);this.y=Math.round(this.y);return this};
+goog.math.Coordinate.prototype.translate=function(a,b){a instanceof goog.math.Coordinate?(this.x+=a.x,this.y+=a.y):(this.x+=Number(a),goog.isNumber(b)&&(this.y+=b));return this};goog.math.Coordinate.prototype.scale=function(a,b){var c=goog.isNumber(b)?b:a;this.x*=a;this.y*=c;return this};goog.math.Coordinate.prototype.rotateRadians=function(a,b){var c=b||new goog.math.Coordinate(0,0),d=this.x,e=this.y,f=Math.cos(a),g=Math.sin(a);this.x=(d-c.x)*f-(e-c.y)*g+c.x;this.y=(d-c.x)*g+(e-c.y)*f+c.y};
+goog.math.Coordinate.prototype.rotateDegrees=function(a,b){this.rotateRadians(goog.math.toRadians(a),b)};goog.string={};goog.string.DETECT_DOUBLE_ESCAPING=!1;goog.string.FORCE_NON_DOM_HTML_UNESCAPING=!1;goog.string.Unicode={NBSP:"\u00a0"};goog.string.startsWith=function(a,b){return 0==a.lastIndexOf(b,0)};goog.string.endsWith=function(a,b){var c=a.length-b.length;return 0<=c&&a.indexOf(b,c)==c};goog.string.caseInsensitiveStartsWith=function(a,b){return 0==goog.string.caseInsensitiveCompare(b,a.substr(0,b.length))};
+goog.string.caseInsensitiveEndsWith=function(a,b){return 0==goog.string.caseInsensitiveCompare(b,a.substr(a.length-b.length,b.length))};goog.string.caseInsensitiveEquals=function(a,b){return a.toLowerCase()==b.toLowerCase()};goog.string.subs=function(a,b){for(var c=a.split("%s"),d="",e=Array.prototype.slice.call(arguments,1);e.length&&1<c.length;)d+=c.shift()+e.shift();return d+c.join("%s")};goog.string.collapseWhitespace=function(a){return a.replace(/[\s\xa0]+/g," ").replace(/^\s+|\s+$/g,"")};
+goog.string.isEmptyOrWhitespace=function(a){return/^[\s\xa0]*$/.test(a)};goog.string.isEmptyString=function(a){return 0==a.length};goog.string.isEmpty=goog.string.isEmptyOrWhitespace;goog.string.isEmptyOrWhitespaceSafe=function(a){return goog.string.isEmptyOrWhitespace(goog.string.makeSafe(a))};goog.string.isEmptySafe=goog.string.isEmptyOrWhitespaceSafe;goog.string.isBreakingWhitespace=function(a){return!/[^\t\n\r ]/.test(a)};goog.string.isAlpha=function(a){return!/[^a-zA-Z]/.test(a)};
+goog.string.isNumeric=function(a){return!/[^0-9]/.test(a)};goog.string.isAlphaNumeric=function(a){return!/[^a-zA-Z0-9]/.test(a)};goog.string.isSpace=function(a){return" "==a};goog.string.isUnicodeChar=function(a){return 1==a.length&&" "<=a&&"~">=a||"\u0080"<=a&&"\ufffd">=a};goog.string.stripNewlines=function(a){return a.replace(/(\r\n|\r|\n)+/g," ")};goog.string.canonicalizeNewlines=function(a){return a.replace(/(\r\n|\r|\n)/g,"\n")};
+goog.string.normalizeWhitespace=function(a){return a.replace(/\xa0|\s/g," ")};goog.string.normalizeSpaces=function(a){return a.replace(/\xa0|[ \t]+/g," ")};goog.string.collapseBreakingSpaces=function(a){return a.replace(/[\t\r\n ]+/g," ").replace(/^[\t\r\n ]+|[\t\r\n ]+$/g,"")};goog.string.trim=goog.TRUSTED_SITE&&String.prototype.trim?function(a){return a.trim()}:function(a){return/^[\s\xa0]*([\s\S]*?)[\s\xa0]*$/.exec(a)[1]};goog.string.trimLeft=function(a){return a.replace(/^[\s\xa0]+/,"")};
+goog.string.trimRight=function(a){return a.replace(/[\s\xa0]+$/,"")};goog.string.caseInsensitiveCompare=function(a,b){var c=String(a).toLowerCase(),d=String(b).toLowerCase();return c<d?-1:c==d?0:1};
+goog.string.numberAwareCompare_=function(a,b,c){if(a==b)return 0;if(!a)return-1;if(!b)return 1;for(var d=a.toLowerCase().match(c),e=b.toLowerCase().match(c),f=Math.min(d.length,e.length),g=0;g<f;g++){c=d[g];var h=e[g];if(c!=h)return a=parseInt(c,10),!isNaN(a)&&(b=parseInt(h,10),!isNaN(b)&&a-b)?a-b:c<h?-1:1}return d.length!=e.length?d.length-e.length:a<b?-1:1};goog.string.intAwareCompare=function(a,b){return goog.string.numberAwareCompare_(a,b,/\d+|\D+/g)};
+goog.string.floatAwareCompare=function(a,b){return goog.string.numberAwareCompare_(a,b,/\d+|\.\d+|\D+/g)};goog.string.numerateCompare=goog.string.floatAwareCompare;goog.string.urlEncode=function(a){return encodeURIComponent(String(a))};goog.string.urlDecode=function(a){return decodeURIComponent(a.replace(/\+/g," "))};goog.string.newLineToBr=function(a,b){return a.replace(/(\r\n|\r|\n)/g,b?"<br />":"<br>")};
+goog.string.htmlEscape=function(a,b){if(b)a=a.replace(goog.string.AMP_RE_,"&amp;").replace(goog.string.LT_RE_,"&lt;").replace(goog.string.GT_RE_,"&gt;").replace(goog.string.QUOT_RE_,"&quot;").replace(goog.string.SINGLE_QUOTE_RE_,"&#39;").replace(goog.string.NULL_RE_,"&#0;"),goog.string.DETECT_DOUBLE_ESCAPING&&(a=a.replace(goog.string.E_RE_,"&#101;"));else{if(!goog.string.ALL_RE_.test(a))return a;-1!=a.indexOf("&")&&(a=a.replace(goog.string.AMP_RE_,"&amp;"));-1!=a.indexOf("<")&&(a=a.replace(goog.string.LT_RE_,
+"&lt;"));-1!=a.indexOf(">")&&(a=a.replace(goog.string.GT_RE_,"&gt;"));-1!=a.indexOf('"')&&(a=a.replace(goog.string.QUOT_RE_,"&quot;"));-1!=a.indexOf("'")&&(a=a.replace(goog.string.SINGLE_QUOTE_RE_,"&#39;"));-1!=a.indexOf("\x00")&&(a=a.replace(goog.string.NULL_RE_,"&#0;"));goog.string.DETECT_DOUBLE_ESCAPING&&-1!=a.indexOf("e")&&(a=a.replace(goog.string.E_RE_,"&#101;"))}return a};goog.string.AMP_RE_=/&/g;goog.string.LT_RE_=/</g;goog.string.GT_RE_=/>/g;goog.string.QUOT_RE_=/"/g;
+goog.string.SINGLE_QUOTE_RE_=/'/g;goog.string.NULL_RE_=/\x00/g;goog.string.E_RE_=/e/g;goog.string.ALL_RE_=goog.string.DETECT_DOUBLE_ESCAPING?/[\x00&<>"'e]/:/[\x00&<>"']/;goog.string.unescapeEntities=function(a){return goog.string.contains(a,"&")?!goog.string.FORCE_NON_DOM_HTML_UNESCAPING&&"document"in goog.global?goog.string.unescapeEntitiesUsingDom_(a):goog.string.unescapePureXmlEntities_(a):a};
+goog.string.unescapeEntitiesWithDocument=function(a,b){return goog.string.contains(a,"&")?goog.string.unescapeEntitiesUsingDom_(a,b):a};
+goog.string.unescapeEntitiesUsingDom_=function(a,b){var c={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"'};var d=b?b.createElement("div"):goog.global.document.createElement("div");return a.replace(goog.string.HTML_ENTITY_PATTERN_,function(a,b){var e=c[a];if(e)return e;if("#"==b.charAt(0)){var f=Number("0"+b.substr(1));isNaN(f)||(e=String.fromCharCode(f))}e||(d.innerHTML=a+" ",e=d.firstChild.nodeValue.slice(0,-1));return c[a]=e})};
+goog.string.unescapePureXmlEntities_=function(a){return a.replace(/&([^;]+);/g,function(a,c){switch(c){case "amp":return"&";case "lt":return"<";case "gt":return">";case "quot":return'"';default:if("#"==c.charAt(0)){var b=Number("0"+c.substr(1));if(!isNaN(b))return String.fromCharCode(b)}return a}})};goog.string.HTML_ENTITY_PATTERN_=/&([^;\s<&]+);?/g;goog.string.whitespaceEscape=function(a,b){return goog.string.newLineToBr(a.replace(/  /g," &#160;"),b)};
+goog.string.preserveSpaces=function(a){return a.replace(/(^|[\n ]) /g,"$1"+goog.string.Unicode.NBSP)};goog.string.stripQuotes=function(a,b){for(var c=b.length,d=0;d<c;d++){var e=1==c?b:b.charAt(d);if(a.charAt(0)==e&&a.charAt(a.length-1)==e)return a.substring(1,a.length-1)}return a};goog.string.truncate=function(a,b,c){c&&(a=goog.string.unescapeEntities(a));a.length>b&&(a=a.substring(0,b-3)+"...");c&&(a=goog.string.htmlEscape(a));return a};
+goog.string.truncateMiddle=function(a,b,c,d){c&&(a=goog.string.unescapeEntities(a));if(d&&a.length>b){d>b&&(d=b);var e=a.length-d;a=a.substring(0,b-d)+"..."+a.substring(e)}else a.length>b&&(d=Math.floor(b/2),e=a.length-d,a=a.substring(0,d+b%2)+"..."+a.substring(e));c&&(a=goog.string.htmlEscape(a));return a};goog.string.specialEscapeChars_={"\x00":"\\0","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r","\t":"\\t","\x0B":"\\x0B",'"':'\\"',"\\":"\\\\","<":"<"};goog.string.jsEscapeCache_={"'":"\\'"};
+goog.string.quote=function(a){a=String(a);for(var b=['"'],c=0;c<a.length;c++){var d=a.charAt(c),e=d.charCodeAt(0);b[c+1]=goog.string.specialEscapeChars_[d]||(31<e&&127>e?d:goog.string.escapeChar(d))}b.push('"');return b.join("")};goog.string.escapeString=function(a){for(var b=[],c=0;c<a.length;c++)b[c]=goog.string.escapeChar(a.charAt(c));return b.join("")};
+goog.string.escapeChar=function(a){if(a in goog.string.jsEscapeCache_)return goog.string.jsEscapeCache_[a];if(a in goog.string.specialEscapeChars_)return goog.string.jsEscapeCache_[a]=goog.string.specialEscapeChars_[a];var b=a.charCodeAt(0);if(31<b&&127>b)var c=a;else{if(256>b){if(c="\\x",16>b||256<b)c+="0"}else c="\\u",4096>b&&(c+="0");c+=b.toString(16).toUpperCase()}return goog.string.jsEscapeCache_[a]=c};goog.string.contains=function(a,b){return-1!=a.indexOf(b)};
+goog.string.caseInsensitiveContains=function(a,b){return goog.string.contains(a.toLowerCase(),b.toLowerCase())};goog.string.countOf=function(a,b){return a&&b?a.split(b).length-1:0};goog.string.removeAt=function(a,b,c){var d=a;0<=b&&b<a.length&&0<c&&(d=a.substr(0,b)+a.substr(b+c,a.length-b-c));return d};goog.string.remove=function(a,b){return a.replace(b,"")};goog.string.removeAll=function(a,b){var c=new RegExp(goog.string.regExpEscape(b),"g");return a.replace(c,"")};
+goog.string.replaceAll=function(a,b,c){b=new RegExp(goog.string.regExpEscape(b),"g");return a.replace(b,c.replace(/\$/g,"$$$$"))};goog.string.regExpEscape=function(a){return String(a).replace(/([-()\[\]{}+?*.$\^|,:#<!\\])/g,"\\$1").replace(/\x08/g,"\\x08")};goog.string.repeat=String.prototype.repeat?function(a,b){return a.repeat(b)}:function(a,b){return Array(b+1).join(a)};
+goog.string.padNumber=function(a,b,c){a=goog.isDef(c)?a.toFixed(c):String(a);c=a.indexOf(".");-1==c&&(c=a.length);return goog.string.repeat("0",Math.max(0,b-c))+a};goog.string.makeSafe=function(a){return null==a?"":String(a)};goog.string.buildString=function(a){return Array.prototype.join.call(arguments,"")};goog.string.getRandomString=function(){return Math.floor(2147483648*Math.random()).toString(36)+Math.abs(Math.floor(2147483648*Math.random())^goog.now()).toString(36)};
+goog.string.compareVersions=function(a,b){for(var c=0,d=goog.string.trim(String(a)).split("."),e=goog.string.trim(String(b)).split("."),f=Math.max(d.length,e.length),g=0;0==c&&g<f;g++){var h=d[g]||"",k=e[g]||"";do{h=/(\d*)(\D*)(.*)/.exec(h)||["","","",""];k=/(\d*)(\D*)(.*)/.exec(k)||["","","",""];if(0==h[0].length&&0==k[0].length)break;c=0==h[1].length?0:parseInt(h[1],10);var l=0==k[1].length?0:parseInt(k[1],10);c=goog.string.compareElements_(c,l)||goog.string.compareElements_(0==h[2].length,0==k[2].length)||
+goog.string.compareElements_(h[2],k[2]);h=h[3];k=k[3]}while(0==c)}return c};goog.string.compareElements_=function(a,b){return a<b?-1:a>b?1:0};goog.string.hashCode=function(a){for(var b=0,c=0;c<a.length;++c)b=31*b+a.charCodeAt(c)>>>0;return b};goog.string.uniqueStringCounter_=2147483648*Math.random()|0;goog.string.createUniqueString=function(){return"goog_"+goog.string.uniqueStringCounter_++};goog.string.toNumber=function(a){var b=Number(a);return 0==b&&goog.string.isEmptyOrWhitespace(a)?NaN:b};
+goog.string.isLowerCamelCase=function(a){return/^[a-z]+([A-Z][a-z]*)*$/.test(a)};goog.string.isUpperCamelCase=function(a){return/^([A-Z][a-z]*)+$/.test(a)};goog.string.toCamelCase=function(a){return String(a).replace(/\-([a-z])/g,function(a,c){return c.toUpperCase()})};goog.string.toSelectorCase=function(a){return String(a).replace(/([A-Z])/g,"-$1").toLowerCase()};
+goog.string.toTitleCase=function(a,b){var c=goog.isString(b)?goog.string.regExpEscape(b):"\\s";return a.replace(new RegExp("(^"+(c?"|["+c+"]+":"")+")([a-z])","g"),function(a,b,c){return b+c.toUpperCase()})};goog.string.capitalize=function(a){return String(a.charAt(0)).toUpperCase()+String(a.substr(1)).toLowerCase()};goog.string.parseInt=function(a){isFinite(a)&&(a=String(a));return goog.isString(a)?/^\s*-?0x/i.test(a)?parseInt(a,16):parseInt(a,10):NaN};
+goog.string.splitLimit=function(a,b,c){a=a.split(b);for(var d=[];0<c&&a.length;)d.push(a.shift()),c--;a.length&&d.push(a.join(b));return d};goog.string.lastComponent=function(a,b){if(b)"string"==typeof b&&(b=[b]);else return a;for(var c=-1,d=0;d<b.length;d++)if(""!=b[d]){var e=a.lastIndexOf(b[d]);e>c&&(c=e)}return-1==c?a:a.slice(c+1)};
+goog.string.editDistance=function(a,b){var c=[],d=[];if(a==b)return 0;if(!a.length||!b.length)return Math.max(a.length,b.length);for(var e=0;e<b.length+1;e++)c[e]=e;for(e=0;e<a.length;e++){d[0]=e+1;for(var f=0;f<b.length;f++)d[f+1]=Math.min(d[f]+1,c[f+1]+1,c[f]+Number(a[e]!=b[f]));for(f=0;f<c.length;f++)c[f]=d[f]}return d[b.length]};goog.labs={};goog.labs.userAgent={};goog.labs.userAgent.util={};goog.labs.userAgent.util.getNativeUserAgentString_=function(){var a=goog.labs.userAgent.util.getNavigator_();return a&&(a=a.userAgent)?a:""};goog.labs.userAgent.util.getNavigator_=function(){return goog.global.navigator};goog.labs.userAgent.util.userAgent_=goog.labs.userAgent.util.getNativeUserAgentString_();goog.labs.userAgent.util.setUserAgent=function(a){goog.labs.userAgent.util.userAgent_=a||goog.labs.userAgent.util.getNativeUserAgentString_()};
+goog.labs.userAgent.util.getUserAgent=function(){return goog.labs.userAgent.util.userAgent_};goog.labs.userAgent.util.matchUserAgent=function(a){var b=goog.labs.userAgent.util.getUserAgent();return goog.string.contains(b,a)};goog.labs.userAgent.util.matchUserAgentIgnoreCase=function(a){var b=goog.labs.userAgent.util.getUserAgent();return goog.string.caseInsensitiveContains(b,a)};
+goog.labs.userAgent.util.extractVersionTuples=function(a){for(var b=RegExp("(\\w[\\w ]+)/([^\\s]+)\\s*(?:\\((.*?)\\))?","g"),c=[],d;d=b.exec(a);)c.push([d[1],d[2],d[3]||void 0]);return c};goog.object={};goog.object.is=function(a,b){return a===b?0!==a||1/a===1/b:a!==a&&b!==b};goog.object.forEach=function(a,b,c){for(var d in a)b.call(c,a[d],d,a)};goog.object.filter=function(a,b,c){var d={},e;for(e in a)b.call(c,a[e],e,a)&&(d[e]=a[e]);return d};goog.object.map=function(a,b,c){var d={},e;for(e in a)d[e]=b.call(c,a[e],e,a);return d};goog.object.some=function(a,b,c){for(var d in a)if(b.call(c,a[d],d,a))return!0;return!1};
+goog.object.every=function(a,b,c){for(var d in a)if(!b.call(c,a[d],d,a))return!1;return!0};goog.object.getCount=function(a){var b=0,c;for(c in a)b++;return b};goog.object.getAnyKey=function(a){for(var b in a)return b};goog.object.getAnyValue=function(a){for(var b in a)return a[b]};goog.object.contains=function(a,b){return goog.object.containsValue(a,b)};goog.object.getValues=function(a){var b=[],c=0,d;for(d in a)b[c++]=a[d];return b};
+goog.object.getKeys=function(a){var b=[],c=0,d;for(d in a)b[c++]=d;return b};goog.object.getValueByKeys=function(a,b){var c=goog.isArrayLike(b),d=c?b:arguments;for(c=c?0:1;c<d.length;c++){if(null==a)return;a=a[d[c]]}return a};goog.object.containsKey=function(a,b){return null!==a&&b in a};goog.object.containsValue=function(a,b){for(var c in a)if(a[c]==b)return!0;return!1};goog.object.findKey=function(a,b,c){for(var d in a)if(b.call(c,a[d],d,a))return d};
+goog.object.findValue=function(a,b,c){return(b=goog.object.findKey(a,b,c))&&a[b]};goog.object.isEmpty=function(a){for(var b in a)return!1;return!0};goog.object.clear=function(a){for(var b in a)delete a[b]};goog.object.remove=function(a,b){var c;(c=b in a)&&delete a[b];return c};goog.object.add=function(a,b,c){if(null!==a&&b in a)throw Error('The object already contains the key "'+b+'"');goog.object.set(a,b,c)};goog.object.get=function(a,b,c){return null!==a&&b in a?a[b]:c};
+goog.object.set=function(a,b,c){a[b]=c};goog.object.setIfUndefined=function(a,b,c){return b in a?a[b]:a[b]=c};goog.object.setWithReturnValueIfNotSet=function(a,b,c){if(b in a)return a[b];c=c();return a[b]=c};goog.object.equals=function(a,b){for(var c in a)if(!(c in b)||a[c]!==b[c])return!1;for(c in b)if(!(c in a))return!1;return!0};goog.object.clone=function(a){var b={},c;for(c in a)b[c]=a[c];return b};
+goog.object.unsafeClone=function(a){var b=goog.typeOf(a);if("object"==b||"array"==b){if(goog.isFunction(a.clone))return a.clone();b="array"==b?[]:{};for(var c in a)b[c]=goog.object.unsafeClone(a[c]);return b}return a};goog.object.transpose=function(a){var b={},c;for(c in a)b[a[c]]=c;return b};goog.object.PROTOTYPE_FIELDS_="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" ");
+goog.object.extend=function(a,b){for(var c,d,e=1;e<arguments.length;e++){d=arguments[e];for(c in d)a[c]=d[c];for(var f=0;f<goog.object.PROTOTYPE_FIELDS_.length;f++)c=goog.object.PROTOTYPE_FIELDS_[f],Object.prototype.hasOwnProperty.call(d,c)&&(a[c]=d[c])}};
+goog.object.create=function(a){var b=arguments.length;if(1==b&&goog.isArray(arguments[0]))return goog.object.create.apply(null,arguments[0]);if(b%2)throw Error("Uneven number of arguments");for(var c={},d=0;d<b;d+=2)c[arguments[d]]=arguments[d+1];return c};goog.object.createSet=function(a){var b=arguments.length;if(1==b&&goog.isArray(arguments[0]))return goog.object.createSet.apply(null,arguments[0]);for(var c={},d=0;d<b;d++)c[arguments[d]]=!0;return c};
+goog.object.createImmutableView=function(a){var b=a;Object.isFrozen&&!Object.isFrozen(a)&&(b=Object.create(a),Object.freeze(b));return b};goog.object.isImmutableView=function(a){return!!Object.isFrozen&&Object.isFrozen(a)};
+goog.object.getAllPropertyNames=function(a,b,c){if(!a)return[];if(!Object.getOwnPropertyNames||!Object.getPrototypeOf)return goog.object.getKeys(a);for(var d={};a&&(a!==Object.prototype||b)&&(a!==Function.prototype||c);){for(var e=Object.getOwnPropertyNames(a),f=0;f<e.length;f++)d[e[f]]=!0;a=Object.getPrototypeOf(a)}return goog.object.getKeys(d)};goog.labs.userAgent.browser={};goog.labs.userAgent.browser.matchOpera_=function(){return goog.labs.userAgent.util.matchUserAgent("Opera")};goog.labs.userAgent.browser.matchIE_=function(){return goog.labs.userAgent.util.matchUserAgent("Trident")||goog.labs.userAgent.util.matchUserAgent("MSIE")};goog.labs.userAgent.browser.matchEdge_=function(){return goog.labs.userAgent.util.matchUserAgent("Edge")};goog.labs.userAgent.browser.matchFirefox_=function(){return goog.labs.userAgent.util.matchUserAgent("Firefox")};
+goog.labs.userAgent.browser.matchSafari_=function(){return goog.labs.userAgent.util.matchUserAgent("Safari")&&!(goog.labs.userAgent.browser.matchChrome_()||goog.labs.userAgent.browser.matchCoast_()||goog.labs.userAgent.browser.matchOpera_()||goog.labs.userAgent.browser.matchEdge_()||goog.labs.userAgent.browser.isSilk()||goog.labs.userAgent.util.matchUserAgent("Android"))};goog.labs.userAgent.browser.matchCoast_=function(){return goog.labs.userAgent.util.matchUserAgent("Coast")};
+goog.labs.userAgent.browser.matchIosWebview_=function(){return(goog.labs.userAgent.util.matchUserAgent("iPad")||goog.labs.userAgent.util.matchUserAgent("iPhone"))&&!goog.labs.userAgent.browser.matchSafari_()&&!goog.labs.userAgent.browser.matchChrome_()&&!goog.labs.userAgent.browser.matchCoast_()&&goog.labs.userAgent.util.matchUserAgent("AppleWebKit")};
+goog.labs.userAgent.browser.matchChrome_=function(){return(goog.labs.userAgent.util.matchUserAgent("Chrome")||goog.labs.userAgent.util.matchUserAgent("CriOS"))&&!goog.labs.userAgent.browser.matchEdge_()};goog.labs.userAgent.browser.matchAndroidBrowser_=function(){return goog.labs.userAgent.util.matchUserAgent("Android")&&!(goog.labs.userAgent.browser.isChrome()||goog.labs.userAgent.browser.isFirefox()||goog.labs.userAgent.browser.isOpera()||goog.labs.userAgent.browser.isSilk())};
+goog.labs.userAgent.browser.isOpera=goog.labs.userAgent.browser.matchOpera_;goog.labs.userAgent.browser.isIE=goog.labs.userAgent.browser.matchIE_;goog.labs.userAgent.browser.isEdge=goog.labs.userAgent.browser.matchEdge_;goog.labs.userAgent.browser.isFirefox=goog.labs.userAgent.browser.matchFirefox_;goog.labs.userAgent.browser.isSafari=goog.labs.userAgent.browser.matchSafari_;goog.labs.userAgent.browser.isCoast=goog.labs.userAgent.browser.matchCoast_;goog.labs.userAgent.browser.isIosWebview=goog.labs.userAgent.browser.matchIosWebview_;
+goog.labs.userAgent.browser.isChrome=goog.labs.userAgent.browser.matchChrome_;goog.labs.userAgent.browser.isAndroidBrowser=goog.labs.userAgent.browser.matchAndroidBrowser_;goog.labs.userAgent.browser.isSilk=function(){return goog.labs.userAgent.util.matchUserAgent("Silk")};
+goog.labs.userAgent.browser.getVersion=function(){function a(a){a=goog.array.find(a,d);return c[a]||""}var b=goog.labs.userAgent.util.getUserAgent();if(goog.labs.userAgent.browser.isIE())return goog.labs.userAgent.browser.getIEVersion_(b);b=goog.labs.userAgent.util.extractVersionTuples(b);var c={};goog.array.forEach(b,function(a){c[a[0]]=a[1]});var d=goog.partial(goog.object.containsKey,c);return goog.labs.userAgent.browser.isOpera()?a(["Version","Opera"]):goog.labs.userAgent.browser.isEdge()?a(["Edge"]):
+goog.labs.userAgent.browser.isChrome()?a(["Chrome","CriOS"]):(b=b[2])&&b[1]||""};goog.labs.userAgent.browser.isVersionOrHigher=function(a){return 0<=goog.string.compareVersions(goog.labs.userAgent.browser.getVersion(),a)};
+goog.labs.userAgent.browser.getIEVersion_=function(a){var b=/rv: *([\d\.]*)/.exec(a);if(b&&b[1])return b[1];b="";var c=/MSIE +([\d\.]+)/.exec(a);if(c&&c[1])if(a=/Trident\/(\d.\d)/.exec(a),"7.0"==c[1])if(a&&a[1])switch(a[1]){case "4.0":b="8.0";break;case "5.0":b="9.0";break;case "6.0":b="10.0";break;case "7.0":b="11.0"}else b="7.0";else b=c[1];return b};goog.labs.userAgent.engine={};goog.labs.userAgent.engine.isPresto=function(){return goog.labs.userAgent.util.matchUserAgent("Presto")};goog.labs.userAgent.engine.isTrident=function(){return goog.labs.userAgent.util.matchUserAgent("Trident")||goog.labs.userAgent.util.matchUserAgent("MSIE")};goog.labs.userAgent.engine.isEdge=function(){return goog.labs.userAgent.util.matchUserAgent("Edge")};
+goog.labs.userAgent.engine.isWebKit=function(){return goog.labs.userAgent.util.matchUserAgentIgnoreCase("WebKit")&&!goog.labs.userAgent.engine.isEdge()};goog.labs.userAgent.engine.isGecko=function(){return goog.labs.userAgent.util.matchUserAgent("Gecko")&&!goog.labs.userAgent.engine.isWebKit()&&!goog.labs.userAgent.engine.isTrident()&&!goog.labs.userAgent.engine.isEdge()};
+goog.labs.userAgent.engine.getVersion=function(){var a=goog.labs.userAgent.util.getUserAgent();if(a){a=goog.labs.userAgent.util.extractVersionTuples(a);var b=goog.labs.userAgent.engine.getEngineTuple_(a);if(b)return"Gecko"==b[0]?goog.labs.userAgent.engine.getVersionForKey_(a,"Firefox"):b[1];a=a[0];var c;if(a&&(c=a[2])&&(c=/Trident\/([^\s;]+)/.exec(c)))return c[1]}return""};
+goog.labs.userAgent.engine.getEngineTuple_=function(a){if(!goog.labs.userAgent.engine.isEdge())return a[1];for(var b=0;b<a.length;b++){var c=a[b];if("Edge"==c[0])return c}};goog.labs.userAgent.engine.isVersionOrHigher=function(a){return 0<=goog.string.compareVersions(goog.labs.userAgent.engine.getVersion(),a)};goog.labs.userAgent.engine.getVersionForKey_=function(a,b){var c=goog.array.find(a,function(a){return b==a[0]});return c&&c[1]||""};goog.labs.userAgent.platform={};goog.labs.userAgent.platform.isAndroid=function(){return goog.labs.userAgent.util.matchUserAgent("Android")};goog.labs.userAgent.platform.isIpod=function(){return goog.labs.userAgent.util.matchUserAgent("iPod")};goog.labs.userAgent.platform.isIphone=function(){return goog.labs.userAgent.util.matchUserAgent("iPhone")&&!goog.labs.userAgent.util.matchUserAgent("iPod")&&!goog.labs.userAgent.util.matchUserAgent("iPad")};goog.labs.userAgent.platform.isIpad=function(){return goog.labs.userAgent.util.matchUserAgent("iPad")};
+goog.labs.userAgent.platform.isIos=function(){return goog.labs.userAgent.platform.isIphone()||goog.labs.userAgent.platform.isIpad()||goog.labs.userAgent.platform.isIpod()};goog.labs.userAgent.platform.isMacintosh=function(){return goog.labs.userAgent.util.matchUserAgent("Macintosh")};goog.labs.userAgent.platform.isLinux=function(){return goog.labs.userAgent.util.matchUserAgent("Linux")};goog.labs.userAgent.platform.isWindows=function(){return goog.labs.userAgent.util.matchUserAgent("Windows")};
+goog.labs.userAgent.platform.isChromeOS=function(){return goog.labs.userAgent.util.matchUserAgent("CrOS")};goog.labs.userAgent.platform.isChromecast=function(){return goog.labs.userAgent.util.matchUserAgent("CrKey")};goog.labs.userAgent.platform.isKaiOS=function(){return goog.labs.userAgent.util.matchUserAgentIgnoreCase("KaiOS")};
+goog.labs.userAgent.platform.getVersion=function(){var a=goog.labs.userAgent.util.getUserAgent(),b="";goog.labs.userAgent.platform.isWindows()?(b=/Windows (?:NT|Phone) ([0-9.]+)/,b=(a=b.exec(a))?a[1]:"0.0"):goog.labs.userAgent.platform.isIos()?(b=/(?:iPhone|iPod|iPad|CPU)\s+OS\s+(\S+)/,b=(a=b.exec(a))&&a[1].replace(/_/g,".")):goog.labs.userAgent.platform.isMacintosh()?(b=/Mac OS X ([0-9_.]+)/,b=(a=b.exec(a))?a[1].replace(/_/g,"."):"10"):goog.labs.userAgent.platform.isAndroid()?(b=/Android\s+([^\);]+)(\)|;)/,
+b=(a=b.exec(a))&&a[1]):goog.labs.userAgent.platform.isChromeOS()&&(b=/(?:CrOS\s+(?:i686|x86_64)\s+([0-9.]+))/,b=(a=b.exec(a))&&a[1]);return b||""};goog.labs.userAgent.platform.isVersionOrHigher=function(a){return 0<=goog.string.compareVersions(goog.labs.userAgent.platform.getVersion(),a)};goog.reflect={};goog.reflect.object=function(a,b){return b};goog.reflect.objectProperty=function(a,b){return a};goog.reflect.sinkValue=function(a){goog.reflect.sinkValue[" "](a);return a};goog.reflect.sinkValue[" "]=goog.nullFunction;goog.reflect.canAccessProperty=function(a,b){try{return goog.reflect.sinkValue(a[b]),!0}catch(c){}return!1};goog.reflect.cache=function(a,b,c,d){d=d?d(b):b;return Object.prototype.hasOwnProperty.call(a,d)?a[d]:a[d]=c(b)};goog.userAgent={};goog.userAgent.ASSUME_IE=!1;goog.userAgent.ASSUME_EDGE=!1;goog.userAgent.ASSUME_GECKO=!1;goog.userAgent.ASSUME_WEBKIT=!1;goog.userAgent.ASSUME_MOBILE_WEBKIT=!1;goog.userAgent.ASSUME_OPERA=!1;goog.userAgent.ASSUME_ANY_VERSION=!1;goog.userAgent.BROWSER_KNOWN_=goog.userAgent.ASSUME_IE||goog.userAgent.ASSUME_EDGE||goog.userAgent.ASSUME_GECKO||goog.userAgent.ASSUME_MOBILE_WEBKIT||goog.userAgent.ASSUME_WEBKIT||goog.userAgent.ASSUME_OPERA;goog.userAgent.getUserAgentString=function(){return goog.labs.userAgent.util.getUserAgent()};
+goog.userAgent.getNavigatorTyped=function(){return goog.global.navigator||null};goog.userAgent.getNavigator=function(){return goog.userAgent.getNavigatorTyped()};goog.userAgent.OPERA=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_OPERA:goog.labs.userAgent.browser.isOpera();goog.userAgent.IE=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_IE:goog.labs.userAgent.browser.isIE();goog.userAgent.EDGE=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_EDGE:goog.labs.userAgent.engine.isEdge();
+goog.userAgent.EDGE_OR_IE=goog.userAgent.EDGE||goog.userAgent.IE;goog.userAgent.GECKO=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_GECKO:goog.labs.userAgent.engine.isGecko();goog.userAgent.WEBKIT=goog.userAgent.BROWSER_KNOWN_?goog.userAgent.ASSUME_WEBKIT||goog.userAgent.ASSUME_MOBILE_WEBKIT:goog.labs.userAgent.engine.isWebKit();goog.userAgent.isMobile_=function(){return goog.userAgent.WEBKIT&&goog.labs.userAgent.util.matchUserAgent("Mobile")};
+goog.userAgent.MOBILE=goog.userAgent.ASSUME_MOBILE_WEBKIT||goog.userAgent.isMobile_();goog.userAgent.SAFARI=goog.userAgent.WEBKIT;goog.userAgent.determinePlatform_=function(){var a=goog.userAgent.getNavigatorTyped();return a&&a.platform||""};goog.userAgent.PLATFORM=goog.userAgent.determinePlatform_();goog.userAgent.ASSUME_MAC=!1;goog.userAgent.ASSUME_WINDOWS=!1;goog.userAgent.ASSUME_LINUX=!1;goog.userAgent.ASSUME_X11=!1;goog.userAgent.ASSUME_ANDROID=!1;goog.userAgent.ASSUME_IPHONE=!1;
+goog.userAgent.ASSUME_IPAD=!1;goog.userAgent.ASSUME_IPOD=!1;goog.userAgent.ASSUME_KAIOS=!1;goog.userAgent.PLATFORM_KNOWN_=goog.userAgent.ASSUME_MAC||goog.userAgent.ASSUME_WINDOWS||goog.userAgent.ASSUME_LINUX||goog.userAgent.ASSUME_X11||goog.userAgent.ASSUME_ANDROID||goog.userAgent.ASSUME_IPHONE||goog.userAgent.ASSUME_IPAD||goog.userAgent.ASSUME_IPOD;goog.userAgent.MAC=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_MAC:goog.labs.userAgent.platform.isMacintosh();
+goog.userAgent.WINDOWS=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_WINDOWS:goog.labs.userAgent.platform.isWindows();goog.userAgent.isLegacyLinux_=function(){return goog.labs.userAgent.platform.isLinux()||goog.labs.userAgent.platform.isChromeOS()};goog.userAgent.LINUX=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_LINUX:goog.userAgent.isLegacyLinux_();goog.userAgent.isX11_=function(){var a=goog.userAgent.getNavigatorTyped();return!!a&&goog.string.contains(a.appVersion||"","X11")};
+goog.userAgent.X11=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_X11:goog.userAgent.isX11_();goog.userAgent.ANDROID=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_ANDROID:goog.labs.userAgent.platform.isAndroid();goog.userAgent.IPHONE=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_IPHONE:goog.labs.userAgent.platform.isIphone();goog.userAgent.IPAD=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_IPAD:goog.labs.userAgent.platform.isIpad();
+goog.userAgent.IPOD=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_IPOD:goog.labs.userAgent.platform.isIpod();goog.userAgent.IOS=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_IPHONE||goog.userAgent.ASSUME_IPAD||goog.userAgent.ASSUME_IPOD:goog.labs.userAgent.platform.isIos();goog.userAgent.KAIOS=goog.userAgent.PLATFORM_KNOWN_?goog.userAgent.ASSUME_KAIOS:goog.labs.userAgent.platform.isKaiOS();
+goog.userAgent.determineVersion_=function(){var a="",b=goog.userAgent.getVersionRegexResult_();b&&(a=b?b[1]:"");return goog.userAgent.IE&&(b=goog.userAgent.getDocumentMode_(),null!=b&&b>parseFloat(a))?String(b):a};
+goog.userAgent.getVersionRegexResult_=function(){var a=goog.userAgent.getUserAgentString();if(goog.userAgent.GECKO)return/rv:([^\);]+)(\)|;)/.exec(a);if(goog.userAgent.EDGE)return/Edge\/([\d\.]+)/.exec(a);if(goog.userAgent.IE)return/\b(?:MSIE|rv)[: ]([^\);]+)(\)|;)/.exec(a);if(goog.userAgent.WEBKIT)return/WebKit\/(\S+)/.exec(a);if(goog.userAgent.OPERA)return/(?:Version)[ \/]?(\S+)/.exec(a)};goog.userAgent.getDocumentMode_=function(){var a=goog.global.document;return a?a.documentMode:void 0};
+goog.userAgent.VERSION=goog.userAgent.determineVersion_();goog.userAgent.compare=function(a,b){return goog.string.compareVersions(a,b)};goog.userAgent.isVersionOrHigherCache_={};goog.userAgent.isVersionOrHigher=function(a){return goog.userAgent.ASSUME_ANY_VERSION||goog.reflect.cache(goog.userAgent.isVersionOrHigherCache_,a,function(){return 0<=goog.string.compareVersions(goog.userAgent.VERSION,a)})};goog.userAgent.isVersion=goog.userAgent.isVersionOrHigher;
+goog.userAgent.isDocumentModeOrHigher=function(a){return Number(goog.userAgent.DOCUMENT_MODE)>=a};goog.userAgent.isDocumentMode=goog.userAgent.isDocumentModeOrHigher;goog.userAgent.DOCUMENT_MODE=function(){var a=goog.global.document,b=goog.userAgent.getDocumentMode_();if(a&&goog.userAgent.IE)return b||("CSS1Compat"==a.compatMode?parseInt(goog.userAgent.VERSION,10):5)}();goog.dom.BrowserFeature={CAN_ADD_NAME_OR_TYPE_ATTRIBUTES:!goog.userAgent.IE||goog.userAgent.isDocumentModeOrHigher(9),CAN_USE_CHILDREN_ATTRIBUTE:!goog.userAgent.GECKO&&!goog.userAgent.IE||goog.userAgent.IE&&goog.userAgent.isDocumentModeOrHigher(9)||goog.userAgent.GECKO&&goog.userAgent.isVersionOrHigher("1.9.1"),CAN_USE_INNER_TEXT:goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("9"),CAN_USE_PARENT_ELEMENT_PROPERTY:goog.userAgent.IE||goog.userAgent.OPERA||goog.userAgent.WEBKIT,INNER_HTML_NEEDS_SCOPED_ELEMENT:goog.userAgent.IE,
+LEGACY_IE_RANGES:goog.userAgent.IE&&!goog.userAgent.isDocumentModeOrHigher(9)};goog.dom.HtmlElement=function(){};goog.dom.TagName=function(a){this.tagName_=a};goog.dom.TagName.prototype.toString=function(){return this.tagName_};goog.dom.TagName.A=new goog.dom.TagName("A");goog.dom.TagName.ABBR=new goog.dom.TagName("ABBR");goog.dom.TagName.ACRONYM=new goog.dom.TagName("ACRONYM");goog.dom.TagName.ADDRESS=new goog.dom.TagName("ADDRESS");goog.dom.TagName.APPLET=new goog.dom.TagName("APPLET");goog.dom.TagName.AREA=new goog.dom.TagName("AREA");goog.dom.TagName.ARTICLE=new goog.dom.TagName("ARTICLE");
+goog.dom.TagName.ASIDE=new goog.dom.TagName("ASIDE");goog.dom.TagName.AUDIO=new goog.dom.TagName("AUDIO");goog.dom.TagName.B=new goog.dom.TagName("B");goog.dom.TagName.BASE=new goog.dom.TagName("BASE");goog.dom.TagName.BASEFONT=new goog.dom.TagName("BASEFONT");goog.dom.TagName.BDI=new goog.dom.TagName("BDI");goog.dom.TagName.BDO=new goog.dom.TagName("BDO");goog.dom.TagName.BIG=new goog.dom.TagName("BIG");goog.dom.TagName.BLOCKQUOTE=new goog.dom.TagName("BLOCKQUOTE");goog.dom.TagName.BODY=new goog.dom.TagName("BODY");
+goog.dom.TagName.BR=new goog.dom.TagName("BR");goog.dom.TagName.BUTTON=new goog.dom.TagName("BUTTON");goog.dom.TagName.CANVAS=new goog.dom.TagName("CANVAS");goog.dom.TagName.CAPTION=new goog.dom.TagName("CAPTION");goog.dom.TagName.CENTER=new goog.dom.TagName("CENTER");goog.dom.TagName.CITE=new goog.dom.TagName("CITE");goog.dom.TagName.CODE=new goog.dom.TagName("CODE");goog.dom.TagName.COL=new goog.dom.TagName("COL");goog.dom.TagName.COLGROUP=new goog.dom.TagName("COLGROUP");
+goog.dom.TagName.COMMAND=new goog.dom.TagName("COMMAND");goog.dom.TagName.DATA=new goog.dom.TagName("DATA");goog.dom.TagName.DATALIST=new goog.dom.TagName("DATALIST");goog.dom.TagName.DD=new goog.dom.TagName("DD");goog.dom.TagName.DEL=new goog.dom.TagName("DEL");goog.dom.TagName.DETAILS=new goog.dom.TagName("DETAILS");goog.dom.TagName.DFN=new goog.dom.TagName("DFN");goog.dom.TagName.DIALOG=new goog.dom.TagName("DIALOG");goog.dom.TagName.DIR=new goog.dom.TagName("DIR");goog.dom.TagName.DIV=new goog.dom.TagName("DIV");
+goog.dom.TagName.DL=new goog.dom.TagName("DL");goog.dom.TagName.DT=new goog.dom.TagName("DT");goog.dom.TagName.EM=new goog.dom.TagName("EM");goog.dom.TagName.EMBED=new goog.dom.TagName("EMBED");goog.dom.TagName.FIELDSET=new goog.dom.TagName("FIELDSET");goog.dom.TagName.FIGCAPTION=new goog.dom.TagName("FIGCAPTION");goog.dom.TagName.FIGURE=new goog.dom.TagName("FIGURE");goog.dom.TagName.FONT=new goog.dom.TagName("FONT");goog.dom.TagName.FOOTER=new goog.dom.TagName("FOOTER");goog.dom.TagName.FORM=new goog.dom.TagName("FORM");
+goog.dom.TagName.FRAME=new goog.dom.TagName("FRAME");goog.dom.TagName.FRAMESET=new goog.dom.TagName("FRAMESET");goog.dom.TagName.H1=new goog.dom.TagName("H1");goog.dom.TagName.H2=new goog.dom.TagName("H2");goog.dom.TagName.H3=new goog.dom.TagName("H3");goog.dom.TagName.H4=new goog.dom.TagName("H4");goog.dom.TagName.H5=new goog.dom.TagName("H5");goog.dom.TagName.H6=new goog.dom.TagName("H6");goog.dom.TagName.HEAD=new goog.dom.TagName("HEAD");goog.dom.TagName.HEADER=new goog.dom.TagName("HEADER");
+goog.dom.TagName.HGROUP=new goog.dom.TagName("HGROUP");goog.dom.TagName.HR=new goog.dom.TagName("HR");goog.dom.TagName.HTML=new goog.dom.TagName("HTML");goog.dom.TagName.I=new goog.dom.TagName("I");goog.dom.TagName.IFRAME=new goog.dom.TagName("IFRAME");goog.dom.TagName.IMG=new goog.dom.TagName("IMG");goog.dom.TagName.INPUT=new goog.dom.TagName("INPUT");goog.dom.TagName.INS=new goog.dom.TagName("INS");goog.dom.TagName.ISINDEX=new goog.dom.TagName("ISINDEX");goog.dom.TagName.KBD=new goog.dom.TagName("KBD");
+goog.dom.TagName.KEYGEN=new goog.dom.TagName("KEYGEN");goog.dom.TagName.LABEL=new goog.dom.TagName("LABEL");goog.dom.TagName.LEGEND=new goog.dom.TagName("LEGEND");goog.dom.TagName.LI=new goog.dom.TagName("LI");goog.dom.TagName.LINK=new goog.dom.TagName("LINK");goog.dom.TagName.MAIN=new goog.dom.TagName("MAIN");goog.dom.TagName.MAP=new goog.dom.TagName("MAP");goog.dom.TagName.MARK=new goog.dom.TagName("MARK");goog.dom.TagName.MATH=new goog.dom.TagName("MATH");goog.dom.TagName.MENU=new goog.dom.TagName("MENU");
+goog.dom.TagName.MENUITEM=new goog.dom.TagName("MENUITEM");goog.dom.TagName.META=new goog.dom.TagName("META");goog.dom.TagName.METER=new goog.dom.TagName("METER");goog.dom.TagName.NAV=new goog.dom.TagName("NAV");goog.dom.TagName.NOFRAMES=new goog.dom.TagName("NOFRAMES");goog.dom.TagName.NOSCRIPT=new goog.dom.TagName("NOSCRIPT");goog.dom.TagName.OBJECT=new goog.dom.TagName("OBJECT");goog.dom.TagName.OL=new goog.dom.TagName("OL");goog.dom.TagName.OPTGROUP=new goog.dom.TagName("OPTGROUP");
+goog.dom.TagName.OPTION=new goog.dom.TagName("OPTION");goog.dom.TagName.OUTPUT=new goog.dom.TagName("OUTPUT");goog.dom.TagName.P=new goog.dom.TagName("P");goog.dom.TagName.PARAM=new goog.dom.TagName("PARAM");goog.dom.TagName.PICTURE=new goog.dom.TagName("PICTURE");goog.dom.TagName.PRE=new goog.dom.TagName("PRE");goog.dom.TagName.PROGRESS=new goog.dom.TagName("PROGRESS");goog.dom.TagName.Q=new goog.dom.TagName("Q");goog.dom.TagName.RP=new goog.dom.TagName("RP");goog.dom.TagName.RT=new goog.dom.TagName("RT");
+goog.dom.TagName.RTC=new goog.dom.TagName("RTC");goog.dom.TagName.RUBY=new goog.dom.TagName("RUBY");goog.dom.TagName.S=new goog.dom.TagName("S");goog.dom.TagName.SAMP=new goog.dom.TagName("SAMP");goog.dom.TagName.SCRIPT=new goog.dom.TagName("SCRIPT");goog.dom.TagName.SECTION=new goog.dom.TagName("SECTION");goog.dom.TagName.SELECT=new goog.dom.TagName("SELECT");goog.dom.TagName.SMALL=new goog.dom.TagName("SMALL");goog.dom.TagName.SOURCE=new goog.dom.TagName("SOURCE");goog.dom.TagName.SPAN=new goog.dom.TagName("SPAN");
+goog.dom.TagName.STRIKE=new goog.dom.TagName("STRIKE");goog.dom.TagName.STRONG=new goog.dom.TagName("STRONG");goog.dom.TagName.STYLE=new goog.dom.TagName("STYLE");goog.dom.TagName.SUB=new goog.dom.TagName("SUB");goog.dom.TagName.SUMMARY=new goog.dom.TagName("SUMMARY");goog.dom.TagName.SUP=new goog.dom.TagName("SUP");goog.dom.TagName.SVG=new goog.dom.TagName("SVG");goog.dom.TagName.TABLE=new goog.dom.TagName("TABLE");goog.dom.TagName.TBODY=new goog.dom.TagName("TBODY");goog.dom.TagName.TD=new goog.dom.TagName("TD");
+goog.dom.TagName.TEMPLATE=new goog.dom.TagName("TEMPLATE");goog.dom.TagName.TEXTAREA=new goog.dom.TagName("TEXTAREA");goog.dom.TagName.TFOOT=new goog.dom.TagName("TFOOT");goog.dom.TagName.TH=new goog.dom.TagName("TH");goog.dom.TagName.THEAD=new goog.dom.TagName("THEAD");goog.dom.TagName.TIME=new goog.dom.TagName("TIME");goog.dom.TagName.TITLE=new goog.dom.TagName("TITLE");goog.dom.TagName.TR=new goog.dom.TagName("TR");goog.dom.TagName.TRACK=new goog.dom.TagName("TRACK");goog.dom.TagName.TT=new goog.dom.TagName("TT");
+goog.dom.TagName.U=new goog.dom.TagName("U");goog.dom.TagName.UL=new goog.dom.TagName("UL");goog.dom.TagName.VAR=new goog.dom.TagName("VAR");goog.dom.TagName.VIDEO=new goog.dom.TagName("VIDEO");goog.dom.TagName.WBR=new goog.dom.TagName("WBR");goog.dom.asserts={};goog.dom.asserts.assertIsLocation=function(a){if(goog.asserts.ENABLE_ASSERTS){var b=goog.dom.asserts.getWindow_(a);"undefined"!=typeof b.Location&&"undefined"!=typeof b.Element&&goog.asserts.assert(a&&(a instanceof b.Location||!(a instanceof b.Element)),"Argument is not a Location (or a non-Element mock); got: %s",goog.dom.asserts.debugStringForType_(a))}return a};
+goog.dom.asserts.assertIsElementType_=function(a,b){if(goog.asserts.ENABLE_ASSERTS){var c=goog.dom.asserts.getWindow_(a);"undefined"!=typeof c[b]&&"undefined"!=typeof c.Location&&"undefined"!=typeof c.Element&&goog.asserts.assert(a&&(a instanceof c[b]||!(a instanceof c.Location||a instanceof c.Element)),"Argument is not a %s (or a non-Element, non-Location mock); got: %s",b,goog.dom.asserts.debugStringForType_(a))}return a};
+goog.dom.asserts.assertIsHTMLAnchorElement=function(a){return goog.dom.asserts.assertIsElementType_(a,"HTMLAnchorElement")};goog.dom.asserts.assertIsHTMLButtonElement=function(a){return goog.dom.asserts.assertIsElementType_(a,"HTMLButtonElement")};goog.dom.asserts.assertIsHTMLLinkElement=function(a){return goog.dom.asserts.assertIsElementType_(a,"HTMLLinkElement")};goog.dom.asserts.assertIsHTMLImageElement=function(a){return goog.dom.asserts.assertIsElementType_(a,"HTMLImageElement")};
+goog.dom.asserts.assertIsHTMLAudioElement=function(a){return goog.dom.asserts.assertIsElementType_(a,"HTMLAudioElement")};goog.dom.asserts.assertIsHTMLVideoElement=function(a){return goog.dom.asserts.assertIsElementType_(a,"HTMLVideoElement")};goog.dom.asserts.assertIsHTMLInputElement=function(a){return goog.dom.asserts.assertIsElementType_(a,"HTMLInputElement")};goog.dom.asserts.assertIsHTMLEmbedElement=function(a){return goog.dom.asserts.assertIsElementType_(a,"HTMLEmbedElement")};
+goog.dom.asserts.assertIsHTMLFormElement=function(a){return goog.dom.asserts.assertIsElementType_(a,"HTMLFormElement")};goog.dom.asserts.assertIsHTMLFrameElement=function(a){return goog.dom.asserts.assertIsElementType_(a,"HTMLFrameElement")};goog.dom.asserts.assertIsHTMLIFrameElement=function(a){return goog.dom.asserts.assertIsElementType_(a,"HTMLIFrameElement")};goog.dom.asserts.assertIsHTMLObjectElement=function(a){return goog.dom.asserts.assertIsElementType_(a,"HTMLObjectElement")};
+goog.dom.asserts.assertIsHTMLScriptElement=function(a){return goog.dom.asserts.assertIsElementType_(a,"HTMLScriptElement")};goog.dom.asserts.debugStringForType_=function(a){return goog.isObject(a)?a.constructor.displayName||a.constructor.name||Object.prototype.toString.call(a):void 0===a?"undefined":null===a?"null":typeof a};goog.dom.asserts.getWindow_=function(a){return(a=a&&a.ownerDocument)&&(a.defaultView||a.parentWindow)||goog.global};goog.functions={};goog.functions.constant=function(a){return function(){return a}};goog.functions.FALSE=goog.functions.constant(!1);goog.functions.TRUE=goog.functions.constant(!0);goog.functions.NULL=goog.functions.constant(null);goog.functions.identity=function(a,b){return a};goog.functions.error=function(a){return function(){throw Error(a);}};goog.functions.fail=function(a){return function(){throw a;}};
+goog.functions.lock=function(a,b){b=b||0;return function(){return a.apply(this,Array.prototype.slice.call(arguments,0,b))}};goog.functions.nth=function(a){return function(){return arguments[a]}};goog.functions.partialRight=function(a,b){var c=Array.prototype.slice.call(arguments,1);return function(){var b=Array.prototype.slice.call(arguments);b.push.apply(b,c);return a.apply(this,b)}};goog.functions.withReturnValue=function(a,b){return goog.functions.sequence(a,goog.functions.constant(b))};
+goog.functions.equalTo=function(a,b){return function(c){return b?a==c:a===c}};goog.functions.compose=function(a,b){var c=arguments,d=c.length;return function(){var a;d&&(a=c[d-1].apply(this,arguments));for(var b=d-2;0<=b;b--)a=c[b].call(this,a);return a}};goog.functions.sequence=function(a){var b=arguments,c=b.length;return function(){for(var a,e=0;e<c;e++)a=b[e].apply(this,arguments);return a}};
+goog.functions.and=function(a){var b=arguments,c=b.length;return function(){for(var a=0;a<c;a++)if(!b[a].apply(this,arguments))return!1;return!0}};goog.functions.or=function(a){var b=arguments,c=b.length;return function(){for(var a=0;a<c;a++)if(b[a].apply(this,arguments))return!0;return!1}};goog.functions.not=function(a){return function(){return!a.apply(this,arguments)}};
+goog.functions.create=function(a,b){var c=function(){};c.prototype=a.prototype;c=new c;a.apply(c,Array.prototype.slice.call(arguments,1));return c};goog.functions.CACHE_RETURN_VALUE=!0;goog.functions.cacheReturnValue=function(a){var b=!1,c;return function(){if(!goog.functions.CACHE_RETURN_VALUE)return a();b||(c=a(),b=!0);return c}};goog.functions.once=function(a){var b=a;return function(){if(b){var a=b;b=null;a()}}};
+goog.functions.debounce=function(a,b,c){var d=0;return function(e){goog.global.clearTimeout(d);var f=arguments;d=goog.global.setTimeout(function(){a.apply(c,f)},b)}};goog.functions.throttle=function(a,b,c){var d=0,e=!1,f=[],g=function(){d=0;e&&(e=!1,h())},h=function(){d=goog.global.setTimeout(g,b);a.apply(c,f)};return function(a){f=arguments;d?e=!0:h()}};goog.functions.rateLimit=function(a,b,c){var d=0,e=function(){d=0};return function(f){d||(d=goog.global.setTimeout(e,b),a.apply(c,arguments))}};goog.dom.tags={};goog.dom.tags.VOID_TAGS_={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0};goog.dom.tags.isVoidTag=function(a){return!0===goog.dom.tags.VOID_TAGS_[a]};goog.string.TypedString=function(){};goog.string.Const=function(a,b){this.stringConstValueWithSecurityContract__googStringSecurityPrivate_=a===goog.string.Const.GOOG_STRING_CONSTRUCTOR_TOKEN_PRIVATE_&&b||"";this.STRING_CONST_TYPE_MARKER__GOOG_STRING_SECURITY_PRIVATE_=goog.string.Const.TYPE_MARKER_};goog.string.Const.prototype.implementsGoogStringTypedString=!0;goog.string.Const.prototype.getTypedStringValue=function(){return this.stringConstValueWithSecurityContract__googStringSecurityPrivate_};
+goog.string.Const.prototype.toString=function(){return"Const{"+this.stringConstValueWithSecurityContract__googStringSecurityPrivate_+"}"};goog.string.Const.unwrap=function(a){if(a instanceof goog.string.Const&&a.constructor===goog.string.Const&&a.STRING_CONST_TYPE_MARKER__GOOG_STRING_SECURITY_PRIVATE_===goog.string.Const.TYPE_MARKER_)return a.stringConstValueWithSecurityContract__googStringSecurityPrivate_;goog.asserts.fail("expected object of type Const, got '"+a+"'");return"type_error:Const"};
+goog.string.Const.from=function(a){return new goog.string.Const(goog.string.Const.GOOG_STRING_CONSTRUCTOR_TOKEN_PRIVATE_,a)};goog.string.Const.TYPE_MARKER_={};goog.string.Const.GOOG_STRING_CONSTRUCTOR_TOKEN_PRIVATE_={};goog.string.Const.EMPTY=goog.string.Const.from("");goog.html={};goog.html.SafeScript=function(){this.privateDoNotAccessOrElseSafeScriptWrappedValue_="";this.SAFE_SCRIPT_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.SafeScript.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_};goog.html.SafeScript.prototype.implementsGoogStringTypedString=!0;goog.html.SafeScript.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_={};goog.html.SafeScript.fromConstant=function(a){a=goog.string.Const.unwrap(a);return 0===a.length?goog.html.SafeScript.EMPTY:goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse(a)};
+goog.html.SafeScript.fromConstantAndArgs=function(a,b){for(var c=[],d=1;d<arguments.length;d++)c.push(goog.html.SafeScript.stringify_(arguments[d]));return goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse("("+goog.string.Const.unwrap(a)+")("+c.join(", ")+");")};goog.html.SafeScript.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeScriptWrappedValue_};
+goog.DEBUG&&(goog.html.SafeScript.prototype.toString=function(){return"SafeScript{"+this.privateDoNotAccessOrElseSafeScriptWrappedValue_+"}"});
+goog.html.SafeScript.unwrap=function(a){if(a instanceof goog.html.SafeScript&&a.constructor===goog.html.SafeScript&&a.SAFE_SCRIPT_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.SafeScript.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_)return a.privateDoNotAccessOrElseSafeScriptWrappedValue_;goog.asserts.fail("expected object of type SafeScript, got '"+a+"' of type "+goog.typeOf(a));return"type_error:SafeScript"};goog.html.SafeScript.stringify_=function(a){return JSON.stringify(a).replace(/</g,"\\x3c")};
+goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse=function(a){return(new goog.html.SafeScript).initSecurityPrivateDoNotAccessOrElse_(a)};goog.html.SafeScript.prototype.initSecurityPrivateDoNotAccessOrElse_=function(a){this.privateDoNotAccessOrElseSafeScriptWrappedValue_=a;return this};goog.html.SafeScript.EMPTY=goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse("");goog.fs={};goog.fs.url={};goog.fs.url.createObjectUrl=function(a){return goog.fs.url.getUrlObject_().createObjectURL(a)};goog.fs.url.revokeObjectUrl=function(a){goog.fs.url.getUrlObject_().revokeObjectURL(a)};goog.fs.url.getUrlObject_=function(){var a=goog.fs.url.findUrlObject_();if(null!=a)return a;throw Error("This browser doesn't seem to support blob URLs");};
+goog.fs.url.findUrlObject_=function(){return goog.isDef(goog.global.URL)&&goog.isDef(goog.global.URL.createObjectURL)?goog.global.URL:goog.isDef(goog.global.webkitURL)&&goog.isDef(goog.global.webkitURL.createObjectURL)?goog.global.webkitURL:goog.isDef(goog.global.createObjectURL)?goog.global:null};goog.fs.url.browserSupportsObjectUrls=function(){return null!=goog.fs.url.findUrlObject_()};goog.i18n={};goog.i18n.bidi={};goog.i18n.bidi.FORCE_RTL=!1;
+goog.i18n.bidi.IS_RTL=goog.i18n.bidi.FORCE_RTL||("ar"==goog.LOCALE.substring(0,2).toLowerCase()||"fa"==goog.LOCALE.substring(0,2).toLowerCase()||"he"==goog.LOCALE.substring(0,2).toLowerCase()||"iw"==goog.LOCALE.substring(0,2).toLowerCase()||"ps"==goog.LOCALE.substring(0,2).toLowerCase()||"sd"==goog.LOCALE.substring(0,2).toLowerCase()||"ug"==goog.LOCALE.substring(0,2).toLowerCase()||"ur"==goog.LOCALE.substring(0,2).toLowerCase()||"yi"==goog.LOCALE.substring(0,2).toLowerCase())&&(2==goog.LOCALE.length||
+"-"==goog.LOCALE.substring(2,3)||"_"==goog.LOCALE.substring(2,3))||3<=goog.LOCALE.length&&"ckb"==goog.LOCALE.substring(0,3).toLowerCase()&&(3==goog.LOCALE.length||"-"==goog.LOCALE.substring(3,4)||"_"==goog.LOCALE.substring(3,4));goog.i18n.bidi.Format={LRE:"\u202a",RLE:"\u202b",PDF:"\u202c",LRM:"\u200e",RLM:"\u200f"};goog.i18n.bidi.Dir={LTR:1,RTL:-1,NEUTRAL:0};goog.i18n.bidi.RIGHT="right";goog.i18n.bidi.LEFT="left";goog.i18n.bidi.I18N_RIGHT=goog.i18n.bidi.IS_RTL?goog.i18n.bidi.LEFT:goog.i18n.bidi.RIGHT;
+goog.i18n.bidi.I18N_LEFT=goog.i18n.bidi.IS_RTL?goog.i18n.bidi.RIGHT:goog.i18n.bidi.LEFT;goog.i18n.bidi.toDir=function(a,b){return"number"==typeof a?0<a?goog.i18n.bidi.Dir.LTR:0>a?goog.i18n.bidi.Dir.RTL:b?null:goog.i18n.bidi.Dir.NEUTRAL:null==a?null:a?goog.i18n.bidi.Dir.RTL:goog.i18n.bidi.Dir.LTR};goog.i18n.bidi.ltrChars_="A-Za-z\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02b8\u0300-\u0590\u0800-\u1fff\u200e\u2c00-\ufb1c\ufe00-\ufe6f\ufefd-\uffff";goog.i18n.bidi.rtlChars_="\u0591-\u06ef\u06fa-\u07ff\u200f\ufb1d-\ufdff\ufe70-\ufefc";
+goog.i18n.bidi.htmlSkipReg_=/<[^>]*>|&[^;]+;/g;goog.i18n.bidi.stripHtmlIfNeeded_=function(a,b){return b?a.replace(goog.i18n.bidi.htmlSkipReg_,""):a};goog.i18n.bidi.rtlCharReg_=new RegExp("["+goog.i18n.bidi.rtlChars_+"]");goog.i18n.bidi.ltrCharReg_=new RegExp("["+goog.i18n.bidi.ltrChars_+"]");goog.i18n.bidi.hasAnyRtl=function(a,b){return goog.i18n.bidi.rtlCharReg_.test(goog.i18n.bidi.stripHtmlIfNeeded_(a,b))};goog.i18n.bidi.hasRtlChar=goog.i18n.bidi.hasAnyRtl;
+goog.i18n.bidi.hasAnyLtr=function(a,b){return goog.i18n.bidi.ltrCharReg_.test(goog.i18n.bidi.stripHtmlIfNeeded_(a,b))};goog.i18n.bidi.ltrRe_=new RegExp("^["+goog.i18n.bidi.ltrChars_+"]");goog.i18n.bidi.rtlRe_=new RegExp("^["+goog.i18n.bidi.rtlChars_+"]");goog.i18n.bidi.isRtlChar=function(a){return goog.i18n.bidi.rtlRe_.test(a)};goog.i18n.bidi.isLtrChar=function(a){return goog.i18n.bidi.ltrRe_.test(a)};goog.i18n.bidi.isNeutralChar=function(a){return!goog.i18n.bidi.isLtrChar(a)&&!goog.i18n.bidi.isRtlChar(a)};
+goog.i18n.bidi.ltrDirCheckRe_=new RegExp("^[^"+goog.i18n.bidi.rtlChars_+"]*["+goog.i18n.bidi.ltrChars_+"]");goog.i18n.bidi.rtlDirCheckRe_=new RegExp("^[^"+goog.i18n.bidi.ltrChars_+"]*["+goog.i18n.bidi.rtlChars_+"]");goog.i18n.bidi.startsWithRtl=function(a,b){return goog.i18n.bidi.rtlDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(a,b))};goog.i18n.bidi.isRtlText=goog.i18n.bidi.startsWithRtl;
+goog.i18n.bidi.startsWithLtr=function(a,b){return goog.i18n.bidi.ltrDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(a,b))};goog.i18n.bidi.isLtrText=goog.i18n.bidi.startsWithLtr;goog.i18n.bidi.isRequiredLtrRe_=/^http:\/\/.*/;goog.i18n.bidi.isNeutralText=function(a,b){a=goog.i18n.bidi.stripHtmlIfNeeded_(a,b);return goog.i18n.bidi.isRequiredLtrRe_.test(a)||!goog.i18n.bidi.hasAnyLtr(a)&&!goog.i18n.bidi.hasAnyRtl(a)};
+goog.i18n.bidi.ltrExitDirCheckRe_=new RegExp("["+goog.i18n.bidi.ltrChars_+"][^"+goog.i18n.bidi.rtlChars_+"]*$");goog.i18n.bidi.rtlExitDirCheckRe_=new RegExp("["+goog.i18n.bidi.rtlChars_+"][^"+goog.i18n.bidi.ltrChars_+"]*$");goog.i18n.bidi.endsWithLtr=function(a,b){return goog.i18n.bidi.ltrExitDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(a,b))};goog.i18n.bidi.isLtrExitText=goog.i18n.bidi.endsWithLtr;
+goog.i18n.bidi.endsWithRtl=function(a,b){return goog.i18n.bidi.rtlExitDirCheckRe_.test(goog.i18n.bidi.stripHtmlIfNeeded_(a,b))};goog.i18n.bidi.isRtlExitText=goog.i18n.bidi.endsWithRtl;goog.i18n.bidi.rtlLocalesRe_=/^(ar|ckb|dv|he|iw|fa|nqo|ps|sd|ug|ur|yi|.*[-_](Arab|Hebr|Thaa|Nkoo|Tfng))(?!.*[-_](Latn|Cyrl)($|-|_))($|-|_)/i;goog.i18n.bidi.isRtlLanguage=function(a){return goog.i18n.bidi.rtlLocalesRe_.test(a)};goog.i18n.bidi.bracketGuardTextRe_=/(\(.*?\)+)|(\[.*?\]+)|(\{.*?\}+)|(<.*?>+)/g;
+goog.i18n.bidi.guardBracketInText=function(a,b){var c=(void 0===b?goog.i18n.bidi.hasAnyRtl(a):b)?goog.i18n.bidi.Format.RLM:goog.i18n.bidi.Format.LRM;return a.replace(goog.i18n.bidi.bracketGuardTextRe_,c+"$&"+c)};goog.i18n.bidi.enforceRtlInHtml=function(a){return"<"==a.charAt(0)?a.replace(/<\w+/,"$& dir=rtl"):"\n<span dir=rtl>"+a+"</span>"};goog.i18n.bidi.enforceRtlInText=function(a){return goog.i18n.bidi.Format.RLE+a+goog.i18n.bidi.Format.PDF};
+goog.i18n.bidi.enforceLtrInHtml=function(a){return"<"==a.charAt(0)?a.replace(/<\w+/,"$& dir=ltr"):"\n<span dir=ltr>"+a+"</span>"};goog.i18n.bidi.enforceLtrInText=function(a){return goog.i18n.bidi.Format.LRE+a+goog.i18n.bidi.Format.PDF};goog.i18n.bidi.dimensionsRe_=/:\s*([.\d][.\w]*)\s+([.\d][.\w]*)\s+([.\d][.\w]*)\s+([.\d][.\w]*)/g;goog.i18n.bidi.leftRe_=/left/gi;goog.i18n.bidi.rightRe_=/right/gi;goog.i18n.bidi.tempRe_=/%%%%/g;
+goog.i18n.bidi.mirrorCSS=function(a){return a.replace(goog.i18n.bidi.dimensionsRe_,":$1 $4 $3 $2").replace(goog.i18n.bidi.leftRe_,"%%%%").replace(goog.i18n.bidi.rightRe_,goog.i18n.bidi.LEFT).replace(goog.i18n.bidi.tempRe_,goog.i18n.bidi.RIGHT)};goog.i18n.bidi.doubleQuoteSubstituteRe_=/([\u0591-\u05f2])"/g;goog.i18n.bidi.singleQuoteSubstituteRe_=/([\u0591-\u05f2])'/g;
+goog.i18n.bidi.normalizeHebrewQuote=function(a){return a.replace(goog.i18n.bidi.doubleQuoteSubstituteRe_,"$1\u05f4").replace(goog.i18n.bidi.singleQuoteSubstituteRe_,"$1\u05f3")};goog.i18n.bidi.wordSeparatorRe_=/\s+/;goog.i18n.bidi.hasNumeralsRe_=/[\d\u06f0-\u06f9]/;goog.i18n.bidi.rtlDetectionThreshold_=.4;
+goog.i18n.bidi.estimateDirection=function(a,b){for(var c=0,d=0,e=!1,f=goog.i18n.bidi.stripHtmlIfNeeded_(a,b).split(goog.i18n.bidi.wordSeparatorRe_),g=0;g<f.length;g++){var h=f[g];goog.i18n.bidi.startsWithRtl(h)?(c++,d++):goog.i18n.bidi.isRequiredLtrRe_.test(h)?e=!0:goog.i18n.bidi.hasAnyLtr(h)?d++:goog.i18n.bidi.hasNumeralsRe_.test(h)&&(e=!0)}return 0==d?e?goog.i18n.bidi.Dir.LTR:goog.i18n.bidi.Dir.NEUTRAL:c/d>goog.i18n.bidi.rtlDetectionThreshold_?goog.i18n.bidi.Dir.RTL:goog.i18n.bidi.Dir.LTR};
+goog.i18n.bidi.detectRtlDirectionality=function(a,b){return goog.i18n.bidi.estimateDirection(a,b)==goog.i18n.bidi.Dir.RTL};goog.i18n.bidi.setElementDirAndAlign=function(a,b){a&&(b=goog.i18n.bidi.toDir(b))&&(a.style.textAlign=b==goog.i18n.bidi.Dir.RTL?goog.i18n.bidi.RIGHT:goog.i18n.bidi.LEFT,a.dir=b==goog.i18n.bidi.Dir.RTL?"rtl":"ltr")};
+goog.i18n.bidi.setElementDirByTextDirectionality=function(a,b){switch(goog.i18n.bidi.estimateDirection(b)){case goog.i18n.bidi.Dir.LTR:a.dir="ltr";break;case goog.i18n.bidi.Dir.RTL:a.dir="rtl";break;default:a.removeAttribute("dir")}};goog.i18n.bidi.DirectionalString=function(){};goog.html.TrustedResourceUrl=function(){this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_="";this.TRUSTED_RESOURCE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.TrustedResourceUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_};goog.html.TrustedResourceUrl.prototype.implementsGoogStringTypedString=!0;goog.html.TrustedResourceUrl.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_};
+goog.html.TrustedResourceUrl.prototype.implementsGoogI18nBidiDirectionalString=!0;goog.html.TrustedResourceUrl.prototype.getDirection=function(){return goog.i18n.bidi.Dir.LTR};
+goog.html.TrustedResourceUrl.prototype.cloneWithParams=function(a){var b=goog.html.TrustedResourceUrl.unwrap(this);if(/#/.test(b))throw Error("Found a hash in url ("+b+"), appending not supported.");var c=/\?/.test(b)?"&":"?",d;for(d in a)for(var e=goog.isArray(a[d])?a[d]:[a[d]],f=0;f<e.length;f++)null!=e[f]&&(b+=c+encodeURIComponent(d)+"="+encodeURIComponent(String(e[f])),c="&");return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(b)};
+goog.DEBUG&&(goog.html.TrustedResourceUrl.prototype.toString=function(){return"TrustedResourceUrl{"+this.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_+"}"});
+goog.html.TrustedResourceUrl.unwrap=function(a){if(a instanceof goog.html.TrustedResourceUrl&&a.constructor===goog.html.TrustedResourceUrl&&a.TRUSTED_RESOURCE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.TrustedResourceUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_)return a.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_;goog.asserts.fail("expected object of type TrustedResourceUrl, got '"+a+"' of type "+goog.typeOf(a));return"type_error:TrustedResourceUrl"};
+goog.html.TrustedResourceUrl.format=function(a,b){var c=goog.string.Const.unwrap(a);if(!goog.html.TrustedResourceUrl.BASE_URL_.test(c))throw Error("Invalid TrustedResourceUrl format: "+c);var d=c.replace(goog.html.TrustedResourceUrl.FORMAT_MARKER_,function(a,d){if(!Object.prototype.hasOwnProperty.call(b,d))throw Error('Found marker, "'+d+'", in format string, "'+c+'", but no valid label mapping found in args: '+JSON.stringify(b));var e=b[d];return e instanceof goog.string.Const?goog.string.Const.unwrap(e):
+encodeURIComponent(String(e))});return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(d)};goog.html.TrustedResourceUrl.FORMAT_MARKER_=/%{(\w+)}/g;goog.html.TrustedResourceUrl.BASE_URL_=/^(?:https:)?\/\/[0-9a-z.:[\]-]+\/|^\/[^\/\\]|^about:blank#/i;goog.html.TrustedResourceUrl.formatWithParams=function(a,b,c){return goog.html.TrustedResourceUrl.format(a,b).cloneWithParams(c)};goog.html.TrustedResourceUrl.fromConstant=function(a){return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(goog.string.Const.unwrap(a))};
+goog.html.TrustedResourceUrl.fromConstants=function(a){for(var b="",c=0;c<a.length;c++)b+=goog.string.Const.unwrap(a[c]);return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(b)};goog.html.TrustedResourceUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_={};goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse=function(a){var b=new goog.html.TrustedResourceUrl;b.privateDoNotAccessOrElseTrustedResourceUrlWrappedValue_=a;return b};goog.html.SafeUrl=function(){this.privateDoNotAccessOrElseSafeHtmlWrappedValue_="";this.SAFE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.SafeUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_};goog.html.SafeUrl.INNOCUOUS_STRING="about:invalid#zClosurez";goog.html.SafeUrl.prototype.implementsGoogStringTypedString=!0;goog.html.SafeUrl.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeHtmlWrappedValue_};
+goog.html.SafeUrl.prototype.implementsGoogI18nBidiDirectionalString=!0;goog.html.SafeUrl.prototype.getDirection=function(){return goog.i18n.bidi.Dir.LTR};goog.DEBUG&&(goog.html.SafeUrl.prototype.toString=function(){return"SafeUrl{"+this.privateDoNotAccessOrElseSafeHtmlWrappedValue_+"}"});
+goog.html.SafeUrl.unwrap=function(a){if(a instanceof goog.html.SafeUrl&&a.constructor===goog.html.SafeUrl&&a.SAFE_URL_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.SafeUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_)return a.privateDoNotAccessOrElseSafeHtmlWrappedValue_;goog.asserts.fail("expected object of type SafeUrl, got '"+a+"' of type "+goog.typeOf(a));return"type_error:SafeUrl"};goog.html.SafeUrl.fromConstant=function(a){return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(goog.string.Const.unwrap(a))};
+goog.html.SAFE_MIME_TYPE_PATTERN_=/^(?:audio\/(?:3gpp2|3gpp|aac|midi|mp3|mp4|mpeg|oga|ogg|opus|x-m4a|x-wav|wav|webm)|image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|text\/csv|video\/(?:mpeg|mp4|ogg|webm|quicktime))$/i;goog.html.SafeUrl.fromBlob=function(a){a=goog.html.SAFE_MIME_TYPE_PATTERN_.test(a.type)?goog.fs.url.createObjectUrl(a):goog.html.SafeUrl.INNOCUOUS_STRING;return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(a)};goog.html.DATA_URL_PATTERN_=/^data:([^;,]*);base64,[a-z0-9+\/]+=*$/i;
+goog.html.SafeUrl.fromDataUrl=function(a){var b=a.match(goog.html.DATA_URL_PATTERN_);b=b&&goog.html.SAFE_MIME_TYPE_PATTERN_.test(b[1]);return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(b?a:goog.html.SafeUrl.INNOCUOUS_STRING)};goog.html.SafeUrl.fromTelUrl=function(a){goog.string.caseInsensitiveStartsWith(a,"tel:")||(a=goog.html.SafeUrl.INNOCUOUS_STRING);return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(a)};goog.html.SIP_URL_PATTERN_=/^sip[s]?:[+a-z0-9_.!$%&'*\/=^`{|}~-]+@([a-z0-9-]+\.)+[a-z0-9]{2,63}$/i;
+goog.html.SafeUrl.fromSipUrl=function(a){goog.html.SIP_URL_PATTERN_.test(decodeURIComponent(a))||(a=goog.html.SafeUrl.INNOCUOUS_STRING);return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(a)};goog.html.SafeUrl.fromSmsUrl=function(a){goog.string.caseInsensitiveStartsWith(a,"sms:")&&goog.html.SafeUrl.isSmsUrlBodyValid_(a)||(a=goog.html.SafeUrl.INNOCUOUS_STRING);return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(a)};
+goog.html.SafeUrl.isSmsUrlBodyValid_=function(a){var b=a.match(/[?&]body=/gi);if(!b)return!0;if(1<b.length)return!1;a=a.match(/[?&]body=([^&]+)/)[1];if(!a)return!0;try{return goog.string.urlEncode(a)===a||goog.string.urlDecode(a)!==a}catch(c){return!1}};goog.html.SafeUrl.fromTrustedResourceUrl=function(a){return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(goog.html.TrustedResourceUrl.unwrap(a))};goog.html.SAFE_URL_PATTERN_=/^(?:(?:https?|mailto|ftp):|[^:/?#]*(?:[/?#]|$))/i;
+goog.html.SafeUrl.sanitize=function(a){if(a instanceof goog.html.SafeUrl)return a;a="object"==typeof a&&a.implementsGoogStringTypedString?a.getTypedStringValue():String(a);goog.html.SAFE_URL_PATTERN_.test(a)||(a=goog.html.SafeUrl.INNOCUOUS_STRING);return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(a)};
+goog.html.SafeUrl.sanitizeAssertUnchanged=function(a){if(a instanceof goog.html.SafeUrl)return a;a="object"==typeof a&&a.implementsGoogStringTypedString?a.getTypedStringValue():String(a);goog.asserts.assert(goog.html.SAFE_URL_PATTERN_.test(a))||(a=goog.html.SafeUrl.INNOCUOUS_STRING);return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(a)};goog.html.SafeUrl.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_={};
+goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse=function(a){var b=new goog.html.SafeUrl;b.privateDoNotAccessOrElseSafeHtmlWrappedValue_=a;return b};goog.html.SafeUrl.ABOUT_BLANK=goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse("about:blank");goog.html.SafeStyle=function(){this.privateDoNotAccessOrElseSafeStyleWrappedValue_="";this.SAFE_STYLE_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.SafeStyle.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_};goog.html.SafeStyle.prototype.implementsGoogStringTypedString=!0;goog.html.SafeStyle.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_={};
+goog.html.SafeStyle.fromConstant=function(a){a=goog.string.Const.unwrap(a);if(0===a.length)return goog.html.SafeStyle.EMPTY;goog.html.SafeStyle.checkStyle_(a);goog.asserts.assert(goog.string.endsWith(a,";"),"Last character of style string is not ';': "+a);goog.asserts.assert(goog.string.contains(a,":"),"Style string must contain at least one ':', to specify a \"name: value\" pair: "+a);return goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(a)};
+goog.html.SafeStyle.checkStyle_=function(a){goog.asserts.assert(!/[<>]/.test(a),"Forbidden characters in style string: "+a)};goog.html.SafeStyle.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeStyleWrappedValue_};goog.DEBUG&&(goog.html.SafeStyle.prototype.toString=function(){return"SafeStyle{"+this.privateDoNotAccessOrElseSafeStyleWrappedValue_+"}"});
+goog.html.SafeStyle.unwrap=function(a){if(a instanceof goog.html.SafeStyle&&a.constructor===goog.html.SafeStyle&&a.SAFE_STYLE_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.SafeStyle.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_)return a.privateDoNotAccessOrElseSafeStyleWrappedValue_;goog.asserts.fail("expected object of type SafeStyle, got '"+a+"' of type "+goog.typeOf(a));return"type_error:SafeStyle"};goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse=function(a){return(new goog.html.SafeStyle).initSecurityPrivateDoNotAccessOrElse_(a)};
+goog.html.SafeStyle.prototype.initSecurityPrivateDoNotAccessOrElse_=function(a){this.privateDoNotAccessOrElseSafeStyleWrappedValue_=a;return this};goog.html.SafeStyle.EMPTY=goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse("");goog.html.SafeStyle.INNOCUOUS_STRING="zClosurez";
+goog.html.SafeStyle.create=function(a){var b="",c;for(c in a){if(!/^[-_a-zA-Z0-9]+$/.test(c))throw Error("Name allows only [-_a-zA-Z0-9], got: "+c);var d=a[c];null!=d&&(d=goog.isArray(d)?goog.array.map(d,goog.html.SafeStyle.sanitizePropertyValue_).join(" "):goog.html.SafeStyle.sanitizePropertyValue_(d),b+=c+":"+d+";")}if(!b)return goog.html.SafeStyle.EMPTY;goog.html.SafeStyle.checkStyle_(b);return goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(b)};
+goog.html.SafeStyle.sanitizePropertyValue_=function(a){if(a instanceof goog.html.SafeUrl)return'url("'+goog.html.SafeUrl.unwrap(a).replace(/</g,"%3c").replace(/[\\"]/g,"\\$&")+'")';a=a instanceof goog.string.Const?goog.string.Const.unwrap(a):goog.html.SafeStyle.sanitizePropertyValueString_(String(a));goog.asserts.assert(!/[{;}]/.test(a),"Value does not allow [{;}].");return a};
+goog.html.SafeStyle.sanitizePropertyValueString_=function(a){var b=a.replace(goog.html.SafeStyle.FUNCTIONS_RE_,"$1").replace(goog.html.SafeStyle.FUNCTIONS_RE_,"$1").replace(goog.html.SafeStyle.URL_RE_,"url");if(goog.html.SafeStyle.VALUE_RE_.test(b)){if(goog.html.SafeStyle.COMMENT_RE_.test(a))return goog.asserts.fail("String value disallows comments, got: "+a),goog.html.SafeStyle.INNOCUOUS_STRING;if(!goog.html.SafeStyle.hasBalancedQuotes_(a))return goog.asserts.fail("String value requires balanced quotes, got: "+
+a),goog.html.SafeStyle.INNOCUOUS_STRING;if(!goog.html.SafeStyle.hasBalancedSquareBrackets_(a))return goog.asserts.fail("String value requires balanced square brackets and one identifier per pair of brackets, got: "+a),goog.html.SafeStyle.INNOCUOUS_STRING}else return goog.asserts.fail("String value allows only "+goog.html.SafeStyle.VALUE_ALLOWED_CHARS_+" and simple functions, got: "+a),goog.html.SafeStyle.INNOCUOUS_STRING;return goog.html.SafeStyle.sanitizeUrl_(a)};
+goog.html.SafeStyle.hasBalancedQuotes_=function(a){for(var b=!0,c=!0,d=0;d<a.length;d++){var e=a.charAt(d);"'"==e&&c?b=!b:'"'==e&&b&&(c=!c)}return b&&c};goog.html.SafeStyle.hasBalancedSquareBrackets_=function(a){for(var b=!0,c=/^[-_a-zA-Z0-9]$/,d=0;d<a.length;d++){var e=a.charAt(d);if("]"==e){if(b)return!1;b=!0}else if("["==e){if(!b)return!1;b=!1}else if(!b&&!c.test(e))return!1}return b};goog.html.SafeStyle.VALUE_ALLOWED_CHARS_="[-,.\"'%_!# a-zA-Z0-9\\[\\]]";
+goog.html.SafeStyle.VALUE_RE_=new RegExp("^"+goog.html.SafeStyle.VALUE_ALLOWED_CHARS_+"+$");goog.html.SafeStyle.URL_RE_=RegExp("\\b(url\\([ \t\n]*)('[ -&(-\\[\\]-~]*'|\"[ !#-\\[\\]-~]*\"|[!#-&*-\\[\\]-~]*)([ \t\n]*\\))","g");goog.html.SafeStyle.FUNCTIONS_RE_=RegExp("\\b(hsl|hsla|rgb|rgba|matrix|calc|minmax|fit-content|repeat|(rotate|scale|translate)(X|Y|Z|3d)?)\\([-+*/0-9a-z.%\\[\\], ]+\\)","g");goog.html.SafeStyle.COMMENT_RE_=/\/\*/;
+goog.html.SafeStyle.sanitizeUrl_=function(a){return a.replace(goog.html.SafeStyle.URL_RE_,function(a,c,d,e){var b="";d=d.replace(/^(['"])(.*)\1$/,function(a,c,d){b=c;return d});a=goog.html.SafeUrl.sanitize(d).getTypedStringValue();return c+b+a+b+e})};goog.html.SafeStyle.concat=function(a){var b="",c=function(a){goog.isArray(a)?goog.array.forEach(a,c):b+=goog.html.SafeStyle.unwrap(a)};goog.array.forEach(arguments,c);return b?goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(b):goog.html.SafeStyle.EMPTY};goog.html.SafeStyleSheet=function(){this.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_="";this.SAFE_STYLE_SHEET_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.SafeStyleSheet.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_};goog.html.SafeStyleSheet.prototype.implementsGoogStringTypedString=!0;goog.html.SafeStyleSheet.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_={};
+goog.html.SafeStyleSheet.createRule=function(a,b){if(goog.string.contains(a,"<"))throw Error("Selector does not allow '<', got: "+a);var c=a.replace(/('|")((?!\1)[^\r\n\f\\]|\\[\s\S])*\1/g,"");if(!/^[-_a-zA-Z0-9#.:* ,>+~[\]()=^$|]+$/.test(c))throw Error("Selector allows only [-_a-zA-Z0-9#.:* ,>+~[\\]()=^$|] and strings, got: "+a);if(!goog.html.SafeStyleSheet.hasBalancedBrackets_(c))throw Error("() and [] in selector must be balanced, got: "+a);b instanceof goog.html.SafeStyle||(b=goog.html.SafeStyle.create(b));
+c=a+"{"+goog.html.SafeStyle.unwrap(b)+"}";return goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(c)};goog.html.SafeStyleSheet.hasBalancedBrackets_=function(a){for(var b={"(":")","[":"]"},c=[],d=0;d<a.length;d++){var e=a[d];if(b[e])c.push(b[e]);else if(goog.object.contains(b,e)&&c.pop()!=e)return!1}return 0==c.length};
+goog.html.SafeStyleSheet.concat=function(a){var b="",c=function(a){goog.isArray(a)?goog.array.forEach(a,c):b+=goog.html.SafeStyleSheet.unwrap(a)};goog.array.forEach(arguments,c);return goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(b)};
+goog.html.SafeStyleSheet.fromConstant=function(a){a=goog.string.Const.unwrap(a);if(0===a.length)return goog.html.SafeStyleSheet.EMPTY;goog.asserts.assert(!goog.string.contains(a,"<"),"Forbidden '<' character in style sheet string: "+a);return goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(a)};goog.html.SafeStyleSheet.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_};
+goog.DEBUG&&(goog.html.SafeStyleSheet.prototype.toString=function(){return"SafeStyleSheet{"+this.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_+"}"});
+goog.html.SafeStyleSheet.unwrap=function(a){if(a instanceof goog.html.SafeStyleSheet&&a.constructor===goog.html.SafeStyleSheet&&a.SAFE_STYLE_SHEET_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.SafeStyleSheet.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_)return a.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_;goog.asserts.fail("expected object of type SafeStyleSheet, got '"+a+"' of type "+goog.typeOf(a));return"type_error:SafeStyleSheet"};
+goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse=function(a){return(new goog.html.SafeStyleSheet).initSecurityPrivateDoNotAccessOrElse_(a)};goog.html.SafeStyleSheet.prototype.initSecurityPrivateDoNotAccessOrElse_=function(a){this.privateDoNotAccessOrElseSafeStyleSheetWrappedValue_=a;return this};goog.html.SafeStyleSheet.EMPTY=goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse("");goog.html.SafeHtml=function(){this.privateDoNotAccessOrElseSafeHtmlWrappedValue_="";this.SAFE_HTML_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_=goog.html.SafeHtml.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_;this.dir_=null};goog.html.SafeHtml.prototype.implementsGoogI18nBidiDirectionalString=!0;goog.html.SafeHtml.prototype.getDirection=function(){return this.dir_};goog.html.SafeHtml.prototype.implementsGoogStringTypedString=!0;goog.html.SafeHtml.prototype.getTypedStringValue=function(){return this.privateDoNotAccessOrElseSafeHtmlWrappedValue_};
+goog.DEBUG&&(goog.html.SafeHtml.prototype.toString=function(){return"SafeHtml{"+this.privateDoNotAccessOrElseSafeHtmlWrappedValue_+"}"});
+goog.html.SafeHtml.unwrap=function(a){if(a instanceof goog.html.SafeHtml&&a.constructor===goog.html.SafeHtml&&a.SAFE_HTML_TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_===goog.html.SafeHtml.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_)return a.privateDoNotAccessOrElseSafeHtmlWrappedValue_;goog.asserts.fail("expected object of type SafeHtml, got '"+a+"' of type "+goog.typeOf(a));return"type_error:SafeHtml"};
+goog.html.SafeHtml.htmlEscape=function(a){if(a instanceof goog.html.SafeHtml)return a;var b="object"==typeof a,c=null;b&&a.implementsGoogI18nBidiDirectionalString&&(c=a.getDirection());a=b&&a.implementsGoogStringTypedString?a.getTypedStringValue():String(a);return goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(goog.string.htmlEscape(a),c)};
+goog.html.SafeHtml.htmlEscapePreservingNewlines=function(a){if(a instanceof goog.html.SafeHtml)return a;a=goog.html.SafeHtml.htmlEscape(a);return goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(goog.string.newLineToBr(goog.html.SafeHtml.unwrap(a)),a.getDirection())};
+goog.html.SafeHtml.htmlEscapePreservingNewlinesAndSpaces=function(a){if(a instanceof goog.html.SafeHtml)return a;a=goog.html.SafeHtml.htmlEscape(a);return goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(goog.string.whitespaceEscape(goog.html.SafeHtml.unwrap(a)),a.getDirection())};goog.html.SafeHtml.from=goog.html.SafeHtml.htmlEscape;goog.html.SafeHtml.VALID_NAMES_IN_TAG_=/^[a-zA-Z0-9-]+$/;
+goog.html.SafeHtml.URL_ATTRIBUTES_={action:!0,cite:!0,data:!0,formaction:!0,href:!0,manifest:!0,poster:!0,src:!0};goog.html.SafeHtml.NOT_ALLOWED_TAG_NAMES_={APPLET:!0,BASE:!0,EMBED:!0,IFRAME:!0,LINK:!0,MATH:!0,META:!0,OBJECT:!0,SCRIPT:!0,STYLE:!0,SVG:!0,TEMPLATE:!0};goog.html.SafeHtml.create=function(a,b,c){goog.html.SafeHtml.verifyTagName(String(a));return goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse(String(a),b,c)};
+goog.html.SafeHtml.verifyTagName=function(a){if(!goog.html.SafeHtml.VALID_NAMES_IN_TAG_.test(a))throw Error("Invalid tag name <"+a+">.");if(a.toUpperCase()in goog.html.SafeHtml.NOT_ALLOWED_TAG_NAMES_)throw Error("Tag name <"+a+"> is not allowed for SafeHtml.");};
+goog.html.SafeHtml.createIframe=function(a,b,c,d){a&&goog.html.TrustedResourceUrl.unwrap(a);var e={};e.src=a||null;e.srcdoc=b&&goog.html.SafeHtml.unwrap(b);a=goog.html.SafeHtml.combineAttributes(e,{sandbox:""},c);return goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("iframe",a,d)};
+goog.html.SafeHtml.createSandboxIframe=function(a,b,c,d){if(!goog.html.SafeHtml.canUseSandboxIframe())throw Error("The browser does not support sandboxed iframes.");var e={};e.src=a?goog.html.SafeUrl.unwrap(goog.html.SafeUrl.sanitize(a)):null;e.srcdoc=b||null;e.sandbox="";a=goog.html.SafeHtml.combineAttributes(e,{},c);return goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("iframe",a,d)};
+goog.html.SafeHtml.canUseSandboxIframe=function(){return goog.global.HTMLIFrameElement&&"sandbox"in goog.global.HTMLIFrameElement.prototype};goog.html.SafeHtml.createScriptSrc=function(a,b){goog.html.TrustedResourceUrl.unwrap(a);var c=goog.html.SafeHtml.combineAttributes({src:a},{},b);return goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("script",c)};
+goog.html.SafeHtml.createScript=function(a,b){for(var c in b){var d=c.toLowerCase();if("language"==d||"src"==d||"text"==d||"type"==d)throw Error('Cannot set "'+d+'" attribute');}c="";a=goog.array.concat(a);for(d=0;d<a.length;d++)c+=goog.html.SafeScript.unwrap(a[d]);c=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(c,goog.i18n.bidi.Dir.NEUTRAL);return goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("script",b,c)};
+goog.html.SafeHtml.createStyle=function(a,b){var c=goog.html.SafeHtml.combineAttributes({type:"text/css"},{},b),d="";a=goog.array.concat(a);for(var e=0;e<a.length;e++)d+=goog.html.SafeStyleSheet.unwrap(a[e]);d=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(d,goog.i18n.bidi.Dir.NEUTRAL);return goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("style",c,d)};
+goog.html.SafeHtml.createMetaRefresh=function(a,b){var c=goog.html.SafeUrl.unwrap(goog.html.SafeUrl.sanitize(a));(goog.labs.userAgent.browser.isIE()||goog.labs.userAgent.browser.isEdge())&&goog.string.contains(c,";")&&(c="'"+c.replace(/'/g,"%27")+"'");return goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse("meta",{"http-equiv":"refresh",content:(b||0)+"; url="+c})};
+goog.html.SafeHtml.getAttrNameAndValue_=function(a,b,c){if(c instanceof goog.string.Const)c=goog.string.Const.unwrap(c);else if("style"==b.toLowerCase())c=goog.html.SafeHtml.getStyleValue_(c);else{if(/^on/i.test(b))throw Error('Attribute "'+b+'" requires goog.string.Const value, "'+c+'" given.');if(b.toLowerCase()in goog.html.SafeHtml.URL_ATTRIBUTES_)if(c instanceof goog.html.TrustedResourceUrl)c=goog.html.TrustedResourceUrl.unwrap(c);else if(c instanceof goog.html.SafeUrl)c=goog.html.SafeUrl.unwrap(c);
+else if(goog.isString(c))c=goog.html.SafeUrl.sanitize(c).getTypedStringValue();else throw Error('Attribute "'+b+'" on tag "'+a+'" requires goog.html.SafeUrl, goog.string.Const, or string, value "'+c+'" given.');}c.implementsGoogStringTypedString&&(c=c.getTypedStringValue());goog.asserts.assert(goog.isString(c)||goog.isNumber(c),"String or number value expected, got "+typeof c+" with value: "+c);return b+'="'+goog.string.htmlEscape(String(c))+'"'};
+goog.html.SafeHtml.getStyleValue_=function(a){if(!goog.isObject(a))throw Error('The "style" attribute requires goog.html.SafeStyle or map of style properties, '+typeof a+" given: "+a);a instanceof goog.html.SafeStyle||(a=goog.html.SafeStyle.create(a));return goog.html.SafeStyle.unwrap(a)};goog.html.SafeHtml.createWithDir=function(a,b,c,d){b=goog.html.SafeHtml.create(b,c,d);b.dir_=a;return b};
+goog.html.SafeHtml.concat=function(a){var b=goog.i18n.bidi.Dir.NEUTRAL,c="",d=function(a){goog.isArray(a)?goog.array.forEach(a,d):(a=goog.html.SafeHtml.htmlEscape(a),c+=goog.html.SafeHtml.unwrap(a),a=a.getDirection(),b==goog.i18n.bidi.Dir.NEUTRAL?b=a:a!=goog.i18n.bidi.Dir.NEUTRAL&&b!=a&&(b=null))};goog.array.forEach(arguments,d);return goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(c,b)};
+goog.html.SafeHtml.concatWithDir=function(a,b){var c=goog.html.SafeHtml.concat(goog.array.slice(arguments,1));c.dir_=a;return c};goog.html.SafeHtml.TYPE_MARKER_GOOG_HTML_SECURITY_PRIVATE_={};goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse=function(a,b){return(new goog.html.SafeHtml).initSecurityPrivateDoNotAccessOrElse_(a,b)};goog.html.SafeHtml.prototype.initSecurityPrivateDoNotAccessOrElse_=function(a,b){this.privateDoNotAccessOrElseSafeHtmlWrappedValue_=a;this.dir_=b;return this};
+goog.html.SafeHtml.createSafeHtmlTagSecurityPrivateDoNotAccessOrElse=function(a,b,c){var d=null;var e="<"+a+goog.html.SafeHtml.stringifyAttributes(a,b);goog.isDefAndNotNull(c)?goog.isArray(c)||(c=[c]):c=[];goog.dom.tags.isVoidTag(a.toLowerCase())?(goog.asserts.assert(!c.length,"Void tag <"+a+"> does not allow content."),e+=">"):(d=goog.html.SafeHtml.concat(c),e+=">"+goog.html.SafeHtml.unwrap(d)+"</"+a+">",d=d.getDirection());(a=b&&b.dir)&&(d=/^(ltr|rtl|auto)$/i.test(a)?goog.i18n.bidi.Dir.NEUTRAL:
+null);return goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(e,d)};goog.html.SafeHtml.stringifyAttributes=function(a,b){var c="";if(b)for(var d in b){if(!goog.html.SafeHtml.VALID_NAMES_IN_TAG_.test(d))throw Error('Invalid attribute name "'+d+'".');var e=b[d];goog.isDefAndNotNull(e)&&(c+=" "+goog.html.SafeHtml.getAttrNameAndValue_(a,d,e))}return c};
+goog.html.SafeHtml.combineAttributes=function(a,b,c){var d={},e;for(e in a)goog.asserts.assert(e.toLowerCase()==e,"Must be lower case"),d[e]=a[e];for(e in b)goog.asserts.assert(e.toLowerCase()==e,"Must be lower case"),d[e]=b[e];for(e in c){var f=e.toLowerCase();if(f in a)throw Error('Cannot override "'+f+'" attribute, got "'+e+'" with value "'+c[e]+'"');f in b&&delete d[f];d[e]=c[e]}return d};
+goog.html.SafeHtml.DOCTYPE_HTML=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse("<!DOCTYPE html>",goog.i18n.bidi.Dir.NEUTRAL);goog.html.SafeHtml.EMPTY=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse("",goog.i18n.bidi.Dir.NEUTRAL);goog.html.SafeHtml.BR=goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse("<br>",goog.i18n.bidi.Dir.NEUTRAL);goog.dom.safe={};goog.dom.safe.InsertAdjacentHtmlPosition={AFTERBEGIN:"afterbegin",AFTEREND:"afterend",BEFOREBEGIN:"beforebegin",BEFOREEND:"beforeend"};goog.dom.safe.insertAdjacentHtml=function(a,b,c){a.insertAdjacentHTML(b,goog.html.SafeHtml.unwrap(c))};goog.dom.safe.SET_INNER_HTML_DISALLOWED_TAGS_={MATH:!0,SCRIPT:!0,STYLE:!0,SVG:!0,TEMPLATE:!0};
+goog.dom.safe.isInnerHtmlCleanupRecursive_=goog.functions.cacheReturnValue(function(){if(goog.DEBUG&&"undefined"===typeof document)return!1;var a=document.createElement("div");a.innerHTML="<div><div></div></div>";if(goog.DEBUG&&!a.firstChild)return!1;var b=a.firstChild.firstChild;a.innerHTML="";return!b.parentElement});goog.dom.safe.unsafeSetInnerHtmlDoNotUseOrElse=function(a,b){if(goog.dom.safe.isInnerHtmlCleanupRecursive_())for(;a.lastChild;)a.removeChild(a.lastChild);a.innerHTML=b};
+goog.dom.safe.setInnerHtml=function(a,b){if(goog.asserts.ENABLE_ASSERTS){var c=a.tagName.toUpperCase();if(goog.dom.safe.SET_INNER_HTML_DISALLOWED_TAGS_[c])throw Error("goog.dom.safe.setInnerHtml cannot be used to set content of "+a.tagName+".");}goog.dom.safe.unsafeSetInnerHtmlDoNotUseOrElse(a,goog.html.SafeHtml.unwrap(b))};goog.dom.safe.setOuterHtml=function(a,b){a.outerHTML=goog.html.SafeHtml.unwrap(b)};
+goog.dom.safe.setFormElementAction=function(a,b){var c=b instanceof goog.html.SafeUrl?b:goog.html.SafeUrl.sanitizeAssertUnchanged(b);goog.dom.asserts.assertIsHTMLFormElement(a).action=goog.html.SafeUrl.unwrap(c)};goog.dom.safe.setButtonFormAction=function(a,b){var c=b instanceof goog.html.SafeUrl?b:goog.html.SafeUrl.sanitizeAssertUnchanged(b);goog.dom.asserts.assertIsHTMLButtonElement(a).formAction=goog.html.SafeUrl.unwrap(c)};
+goog.dom.safe.setInputFormAction=function(a,b){var c=b instanceof goog.html.SafeUrl?b:goog.html.SafeUrl.sanitizeAssertUnchanged(b);goog.dom.asserts.assertIsHTMLInputElement(a).formAction=goog.html.SafeUrl.unwrap(c)};goog.dom.safe.setStyle=function(a,b){a.style.cssText=goog.html.SafeStyle.unwrap(b)};goog.dom.safe.documentWrite=function(a,b){a.write(goog.html.SafeHtml.unwrap(b))};
+goog.dom.safe.setAnchorHref=function(a,b){goog.dom.asserts.assertIsHTMLAnchorElement(a);var c=b instanceof goog.html.SafeUrl?b:goog.html.SafeUrl.sanitizeAssertUnchanged(b);a.href=goog.html.SafeUrl.unwrap(c)};goog.dom.safe.setImageSrc=function(a,b){goog.dom.asserts.assertIsHTMLImageElement(a);var c=b instanceof goog.html.SafeUrl?b:goog.html.SafeUrl.sanitizeAssertUnchanged(b);a.src=goog.html.SafeUrl.unwrap(c)};
+goog.dom.safe.setAudioSrc=function(a,b){goog.dom.asserts.assertIsHTMLAudioElement(a);var c=b instanceof goog.html.SafeUrl?b:goog.html.SafeUrl.sanitizeAssertUnchanged(b);a.src=goog.html.SafeUrl.unwrap(c)};goog.dom.safe.setVideoSrc=function(a,b){goog.dom.asserts.assertIsHTMLVideoElement(a);var c=b instanceof goog.html.SafeUrl?b:goog.html.SafeUrl.sanitizeAssertUnchanged(b);a.src=goog.html.SafeUrl.unwrap(c)};goog.dom.safe.setEmbedSrc=function(a,b){goog.dom.asserts.assertIsHTMLEmbedElement(a);a.src=goog.html.TrustedResourceUrl.unwrap(b)};
+goog.dom.safe.setFrameSrc=function(a,b){goog.dom.asserts.assertIsHTMLFrameElement(a);a.src=goog.html.TrustedResourceUrl.unwrap(b)};goog.dom.safe.setIframeSrc=function(a,b){goog.dom.asserts.assertIsHTMLIFrameElement(a);a.src=goog.html.TrustedResourceUrl.unwrap(b)};goog.dom.safe.setIframeSrcdoc=function(a,b){goog.dom.asserts.assertIsHTMLIFrameElement(a);a.srcdoc=goog.html.SafeHtml.unwrap(b)};
+goog.dom.safe.setLinkHrefAndRel=function(a,b,c){goog.dom.asserts.assertIsHTMLLinkElement(a);a.rel=c;goog.string.caseInsensitiveContains(c,"stylesheet")?(goog.asserts.assert(b instanceof goog.html.TrustedResourceUrl,'URL must be TrustedResourceUrl because "rel" contains "stylesheet"'),a.href=goog.html.TrustedResourceUrl.unwrap(b)):a.href=b instanceof goog.html.TrustedResourceUrl?goog.html.TrustedResourceUrl.unwrap(b):b instanceof goog.html.SafeUrl?goog.html.SafeUrl.unwrap(b):goog.html.SafeUrl.sanitizeAssertUnchanged(b).getTypedStringValue()};
+goog.dom.safe.setObjectData=function(a,b){goog.dom.asserts.assertIsHTMLObjectElement(a);a.data=goog.html.TrustedResourceUrl.unwrap(b)};goog.dom.safe.setScriptSrc=function(a,b){goog.dom.asserts.assertIsHTMLScriptElement(a);a.src=goog.html.TrustedResourceUrl.unwrap(b);var c=goog.getScriptNonce();c&&a.setAttribute("nonce",c)};
+goog.dom.safe.setScriptContent=function(a,b){goog.dom.asserts.assertIsHTMLScriptElement(a);a.text=goog.html.SafeScript.unwrap(b);var c=goog.getScriptNonce();c&&a.setAttribute("nonce",c)};goog.dom.safe.setLocationHref=function(a,b){goog.dom.asserts.assertIsLocation(a);var c=b instanceof goog.html.SafeUrl?b:goog.html.SafeUrl.sanitizeAssertUnchanged(b);a.href=goog.html.SafeUrl.unwrap(c)};
+goog.dom.safe.replaceLocation=function(a,b){goog.dom.asserts.assertIsLocation(a);var c=b instanceof goog.html.SafeUrl?b:goog.html.SafeUrl.sanitizeAssertUnchanged(b);a.replace(goog.html.SafeUrl.unwrap(c))};goog.dom.safe.openInWindow=function(a,b,c,d,e){a=a instanceof goog.html.SafeUrl?a:goog.html.SafeUrl.sanitizeAssertUnchanged(a);return(b||window).open(goog.html.SafeUrl.unwrap(a),c?goog.string.Const.unwrap(c):"",d,e)};goog.html.uncheckedconversions={};goog.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract=function(a,b,c){goog.asserts.assertString(goog.string.Const.unwrap(a),"must provide justification");goog.asserts.assert(!goog.string.isEmptyOrWhitespace(goog.string.Const.unwrap(a)),"must provide non-empty justification");return goog.html.SafeHtml.createSafeHtmlSecurityPrivateDoNotAccessOrElse(b,c||null)};
+goog.html.uncheckedconversions.safeScriptFromStringKnownToSatisfyTypeContract=function(a,b){goog.asserts.assertString(goog.string.Const.unwrap(a),"must provide justification");goog.asserts.assert(!goog.string.isEmptyOrWhitespace(goog.string.Const.unwrap(a)),"must provide non-empty justification");return goog.html.SafeScript.createSafeScriptSecurityPrivateDoNotAccessOrElse(b)};
+goog.html.uncheckedconversions.safeStyleFromStringKnownToSatisfyTypeContract=function(a,b){goog.asserts.assertString(goog.string.Const.unwrap(a),"must provide justification");goog.asserts.assert(!goog.string.isEmptyOrWhitespace(goog.string.Const.unwrap(a)),"must provide non-empty justification");return goog.html.SafeStyle.createSafeStyleSecurityPrivateDoNotAccessOrElse(b)};
+goog.html.uncheckedconversions.safeStyleSheetFromStringKnownToSatisfyTypeContract=function(a,b){goog.asserts.assertString(goog.string.Const.unwrap(a),"must provide justification");goog.asserts.assert(!goog.string.isEmptyOrWhitespace(goog.string.Const.unwrap(a)),"must provide non-empty justification");return goog.html.SafeStyleSheet.createSafeStyleSheetSecurityPrivateDoNotAccessOrElse(b)};
+goog.html.uncheckedconversions.safeUrlFromStringKnownToSatisfyTypeContract=function(a,b){goog.asserts.assertString(goog.string.Const.unwrap(a),"must provide justification");goog.asserts.assert(!goog.string.isEmptyOrWhitespace(goog.string.Const.unwrap(a)),"must provide non-empty justification");return goog.html.SafeUrl.createSafeUrlSecurityPrivateDoNotAccessOrElse(b)};
+goog.html.uncheckedconversions.trustedResourceUrlFromStringKnownToSatisfyTypeContract=function(a,b){goog.asserts.assertString(goog.string.Const.unwrap(a),"must provide justification");goog.asserts.assert(!goog.string.isEmptyOrWhitespace(goog.string.Const.unwrap(a)),"must provide non-empty justification");return goog.html.TrustedResourceUrl.createTrustedResourceUrlSecurityPrivateDoNotAccessOrElse(b)};goog.math.Size=function(a,b){this.width=a;this.height=b};goog.math.Size.equals=function(a,b){return a==b?!0:a&&b?a.width==b.width&&a.height==b.height:!1};goog.math.Size.prototype.clone=function(){return new goog.math.Size(this.width,this.height)};goog.DEBUG&&(goog.math.Size.prototype.toString=function(){return"("+this.width+" x "+this.height+")"});goog.math.Size.prototype.getLongest=function(){return Math.max(this.width,this.height)};
+goog.math.Size.prototype.getShortest=function(){return Math.min(this.width,this.height)};goog.math.Size.prototype.area=function(){return this.width*this.height};goog.math.Size.prototype.perimeter=function(){return 2*(this.width+this.height)};goog.math.Size.prototype.aspectRatio=function(){return this.width/this.height};goog.math.Size.prototype.isEmpty=function(){return!this.area()};goog.math.Size.prototype.ceil=function(){this.width=Math.ceil(this.width);this.height=Math.ceil(this.height);return this};
+goog.math.Size.prototype.fitsInside=function(a){return this.width<=a.width&&this.height<=a.height};goog.math.Size.prototype.floor=function(){this.width=Math.floor(this.width);this.height=Math.floor(this.height);return this};goog.math.Size.prototype.round=function(){this.width=Math.round(this.width);this.height=Math.round(this.height);return this};goog.math.Size.prototype.scale=function(a,b){var c=goog.isNumber(b)?b:a;this.width*=a;this.height*=c;return this};
+goog.math.Size.prototype.scaleToCover=function(a){a=this.aspectRatio()<=a.aspectRatio()?a.width/this.width:a.height/this.height;return this.scale(a)};goog.math.Size.prototype.scaleToFit=function(a){a=this.aspectRatio()>a.aspectRatio()?a.width/this.width:a.height/this.height;return this.scale(a)};goog.dom.ASSUME_QUIRKS_MODE=!1;goog.dom.ASSUME_STANDARDS_MODE=!1;goog.dom.COMPAT_MODE_KNOWN_=goog.dom.ASSUME_QUIRKS_MODE||goog.dom.ASSUME_STANDARDS_MODE;goog.dom.getDomHelper=function(a){return a?new goog.dom.DomHelper(goog.dom.getOwnerDocument(a)):goog.dom.defaultDomHelper_||(goog.dom.defaultDomHelper_=new goog.dom.DomHelper)};goog.dom.getDocument=function(){return document};goog.dom.getElement=function(a){return goog.dom.getElementHelper_(document,a)};
+goog.dom.getElementHelper_=function(a,b){return goog.isString(b)?a.getElementById(b):b};goog.dom.getRequiredElement=function(a){return goog.dom.getRequiredElementHelper_(document,a)};goog.dom.getRequiredElementHelper_=function(a,b){goog.asserts.assertString(b);var c=goog.dom.getElementHelper_(a,b);return c=goog.asserts.assertElement(c,"No element found with id: "+b)};goog.dom.$=goog.dom.getElement;goog.dom.getElementsByTagName=function(a,b){return(b||document).getElementsByTagName(String(a))};
+goog.dom.getElementsByTagNameAndClass=function(a,b,c){return goog.dom.getElementsByTagNameAndClass_(document,a,b,c)};goog.dom.getElementByTagNameAndClass=function(a,b,c){return goog.dom.getElementByTagNameAndClass_(document,a,b,c)};goog.dom.getElementsByClass=function(a,b){var c=b||document;return goog.dom.canUseQuerySelector_(c)?c.querySelectorAll("."+a):goog.dom.getElementsByTagNameAndClass_(document,"*",a,b)};
+goog.dom.getElementByClass=function(a,b){var c=b||document;return(c.getElementsByClassName?c.getElementsByClassName(a)[0]:goog.dom.getElementByTagNameAndClass_(document,"*",a,b))||null};goog.dom.getRequiredElementByClass=function(a,b){var c=goog.dom.getElementByClass(a,b);return goog.asserts.assert(c,"No element found with className: "+a)};goog.dom.canUseQuerySelector_=function(a){return!(!a.querySelectorAll||!a.querySelector)};
+goog.dom.getElementsByTagNameAndClass_=function(a,b,c,d){a=d||a;b=b&&"*"!=b?String(b).toUpperCase():"";if(goog.dom.canUseQuerySelector_(a)&&(b||c))return a.querySelectorAll(b+(c?"."+c:""));if(c&&a.getElementsByClassName){a=a.getElementsByClassName(c);if(b){d={};for(var e=0,f=0,g;g=a[f];f++)b==g.nodeName&&(d[e++]=g);d.length=e;return d}return a}a=a.getElementsByTagName(b||"*");if(c){d={};for(f=e=0;g=a[f];f++)b=g.className,"function"==typeof b.split&&goog.array.contains(b.split(/\s+/),c)&&(d[e++]=g);
+d.length=e;return d}return a};goog.dom.getElementByTagNameAndClass_=function(a,b,c,d){var e=d||a,f=b&&"*"!=b?String(b).toUpperCase():"";return goog.dom.canUseQuerySelector_(e)&&(f||c)?e.querySelector(f+(c?"."+c:"")):goog.dom.getElementsByTagNameAndClass_(a,b,c,d)[0]||null};goog.dom.$$=goog.dom.getElementsByTagNameAndClass;
+goog.dom.setProperties=function(a,b){goog.object.forEach(b,function(b,d){b&&"object"==typeof b&&b.implementsGoogStringTypedString&&(b=b.getTypedStringValue());"style"==d?a.style.cssText=b:"class"==d?a.className=b:"for"==d?a.htmlFor=b:goog.dom.DIRECT_ATTRIBUTE_MAP_.hasOwnProperty(d)?a.setAttribute(goog.dom.DIRECT_ATTRIBUTE_MAP_[d],b):goog.string.startsWith(d,"aria-")||goog.string.startsWith(d,"data-")?a.setAttribute(d,b):a[d]=b})};
+goog.dom.DIRECT_ATTRIBUTE_MAP_={cellpadding:"cellPadding",cellspacing:"cellSpacing",colspan:"colSpan",frameborder:"frameBorder",height:"height",maxlength:"maxLength",nonce:"nonce",role:"role",rowspan:"rowSpan",type:"type",usemap:"useMap",valign:"vAlign",width:"width"};goog.dom.getViewportSize=function(a){return goog.dom.getViewportSize_(a||window)};goog.dom.getViewportSize_=function(a){a=a.document;a=goog.dom.isCss1CompatMode_(a)?a.documentElement:a.body;return new goog.math.Size(a.clientWidth,a.clientHeight)};
+goog.dom.getDocumentHeight=function(){return goog.dom.getDocumentHeight_(window)};goog.dom.getDocumentHeightForWindow=function(a){return goog.dom.getDocumentHeight_(a)};
+goog.dom.getDocumentHeight_=function(a){var b=a.document,c=0;if(b){c=b.body;var d=b.documentElement;if(!d||!c)return 0;a=goog.dom.getViewportSize_(a).height;if(goog.dom.isCss1CompatMode_(b)&&d.scrollHeight)c=d.scrollHeight!=a?d.scrollHeight:d.offsetHeight;else{b=d.scrollHeight;var e=d.offsetHeight;d.clientHeight!=e&&(b=c.scrollHeight,e=c.offsetHeight);c=b>a?b>e?b:e:b<e?b:e}}return c};goog.dom.getPageScroll=function(a){return goog.dom.getDomHelper((a||goog.global||window).document).getDocumentScroll()};
+goog.dom.getDocumentScroll=function(){return goog.dom.getDocumentScroll_(document)};goog.dom.getDocumentScroll_=function(a){var b=goog.dom.getDocumentScrollElement_(a);a=goog.dom.getWindow_(a);return goog.userAgent.IE&&goog.userAgent.isVersionOrHigher("10")&&a.pageYOffset!=b.scrollTop?new goog.math.Coordinate(b.scrollLeft,b.scrollTop):new goog.math.Coordinate(a.pageXOffset||b.scrollLeft,a.pageYOffset||b.scrollTop)};goog.dom.getDocumentScrollElement=function(){return goog.dom.getDocumentScrollElement_(document)};
+goog.dom.getDocumentScrollElement_=function(a){return a.scrollingElement?a.scrollingElement:!goog.userAgent.WEBKIT&&goog.dom.isCss1CompatMode_(a)?a.documentElement:a.body||a.documentElement};goog.dom.getWindow=function(a){return a?goog.dom.getWindow_(a):window};goog.dom.getWindow_=function(a){return a.parentWindow||a.defaultView};goog.dom.createDom=function(a,b,c){return goog.dom.createDom_(document,arguments)};
+goog.dom.createDom_=function(a,b){var c=String(b[0]),d=b[1];if(!goog.dom.BrowserFeature.CAN_ADD_NAME_OR_TYPE_ATTRIBUTES&&d&&(d.name||d.type)){c=["<",c];d.name&&c.push(' name="',goog.string.htmlEscape(d.name),'"');if(d.type){c.push(' type="',goog.string.htmlEscape(d.type),'"');var e={};goog.object.extend(e,d);delete e.type;d=e}c.push(">");c=c.join("")}c=a.createElement(c);d&&(goog.isString(d)?c.className=d:goog.isArray(d)?c.className=d.join(" "):goog.dom.setProperties(c,d));2<b.length&&goog.dom.append_(a,
+c,b,2);return c};goog.dom.append_=function(a,b,c,d){function e(c){c&&b.appendChild(goog.isString(c)?a.createTextNode(c):c)}for(;d<c.length;d++){var f=c[d];goog.isArrayLike(f)&&!goog.dom.isNodeLike(f)?goog.array.forEach(goog.dom.isNodeList(f)?goog.array.toArray(f):f,e):e(f)}};goog.dom.$dom=goog.dom.createDom;goog.dom.createElement=function(a){return goog.dom.createElement_(document,a)};goog.dom.createElement_=function(a,b){return a.createElement(String(b))};goog.dom.createTextNode=function(a){return document.createTextNode(String(a))};
+goog.dom.createTable=function(a,b,c){return goog.dom.createTable_(document,a,b,!!c)};goog.dom.createTable_=function(a,b,c,d){for(var e=goog.dom.createElement_(a,"TABLE"),f=e.appendChild(goog.dom.createElement_(a,"TBODY")),g=0;g<b;g++){for(var h=goog.dom.createElement_(a,"TR"),k=0;k<c;k++){var l=goog.dom.createElement_(a,"TD");d&&goog.dom.setTextContent(l,goog.string.Unicode.NBSP);h.appendChild(l)}f.appendChild(h)}return e};
+goog.dom.constHtmlToNode=function(a){var b=goog.array.map(arguments,goog.string.Const.unwrap);b=goog.html.uncheckedconversions.safeHtmlFromStringKnownToSatisfyTypeContract(goog.string.Const.from("Constant HTML string, that gets turned into a Node later, so it will be automatically balanced."),b.join(""));return goog.dom.safeHtmlToNode(b)};goog.dom.safeHtmlToNode=function(a){return goog.dom.safeHtmlToNode_(document,a)};
+goog.dom.safeHtmlToNode_=function(a,b){var c=goog.dom.createElement_(a,"DIV");goog.dom.BrowserFeature.INNER_HTML_NEEDS_SCOPED_ELEMENT?(goog.dom.safe.setInnerHtml(c,goog.html.SafeHtml.concat(goog.html.SafeHtml.BR,b)),c.removeChild(c.firstChild)):goog.dom.safe.setInnerHtml(c,b);return goog.dom.childrenToNode_(a,c)};goog.dom.childrenToNode_=function(a,b){if(1==b.childNodes.length)return b.removeChild(b.firstChild);for(var c=a.createDocumentFragment();b.firstChild;)c.appendChild(b.firstChild);return c};
+goog.dom.isCss1CompatMode=function(){return goog.dom.isCss1CompatMode_(document)};goog.dom.isCss1CompatMode_=function(a){return goog.dom.COMPAT_MODE_KNOWN_?goog.dom.ASSUME_STANDARDS_MODE:"CSS1Compat"==a.compatMode};goog.dom.canHaveChildren=function(a){if(a.nodeType!=goog.dom.NodeType.ELEMENT)return!1;switch(a.tagName){case "APPLET":case "AREA":case "BASE":case "BR":case "COL":case "COMMAND":case "EMBED":case "FRAME":case "HR":case "IMG":case "INPUT":case "IFRAME":case "ISINDEX":case "KEYGEN":case "LINK":case "NOFRAMES":case "NOSCRIPT":case "META":case "OBJECT":case "PARAM":case "SCRIPT":case "SOURCE":case "STYLE":case "TRACK":case "WBR":return!1}return!0};
+goog.dom.appendChild=function(a,b){a.appendChild(b)};goog.dom.append=function(a,b){goog.dom.append_(goog.dom.getOwnerDocument(a),a,arguments,1)};goog.dom.removeChildren=function(a){for(var b;b=a.firstChild;)a.removeChild(b)};goog.dom.insertSiblingBefore=function(a,b){b.parentNode&&b.parentNode.insertBefore(a,b)};goog.dom.insertSiblingAfter=function(a,b){b.parentNode&&b.parentNode.insertBefore(a,b.nextSibling)};goog.dom.insertChildAt=function(a,b,c){a.insertBefore(b,a.childNodes[c]||null)};
+goog.dom.removeNode=function(a){return a&&a.parentNode?a.parentNode.removeChild(a):null};goog.dom.replaceNode=function(a,b){var c=b.parentNode;c&&c.replaceChild(a,b)};goog.dom.flattenElement=function(a){var b,c=a.parentNode;if(c&&c.nodeType!=goog.dom.NodeType.DOCUMENT_FRAGMENT){if(a.removeNode)return a.removeNode(!1);for(;b=a.firstChild;)c.insertBefore(b,a);return goog.dom.removeNode(a)}};
+goog.dom.getChildren=function(a){return goog.dom.BrowserFeature.CAN_USE_CHILDREN_ATTRIBUTE&&void 0!=a.children?a.children:goog.array.filter(a.childNodes,function(a){return a.nodeType==goog.dom.NodeType.ELEMENT})};goog.dom.getFirstElementChild=function(a){return goog.isDef(a.firstElementChild)?a.firstElementChild:goog.dom.getNextElementNode_(a.firstChild,!0)};goog.dom.getLastElementChild=function(a){return goog.isDef(a.lastElementChild)?a.lastElementChild:goog.dom.getNextElementNode_(a.lastChild,!1)};
+goog.dom.getNextElementSibling=function(a){return goog.isDef(a.nextElementSibling)?a.nextElementSibling:goog.dom.getNextElementNode_(a.nextSibling,!0)};goog.dom.getPreviousElementSibling=function(a){return goog.isDef(a.previousElementSibling)?a.previousElementSibling:goog.dom.getNextElementNode_(a.previousSibling,!1)};goog.dom.getNextElementNode_=function(a,b){for(;a&&a.nodeType!=goog.dom.NodeType.ELEMENT;)a=b?a.nextSibling:a.previousSibling;return a};
+goog.dom.getNextNode=function(a){if(!a)return null;if(a.firstChild)return a.firstChild;for(;a&&!a.nextSibling;)a=a.parentNode;return a?a.nextSibling:null};goog.dom.getPreviousNode=function(a){if(!a)return null;if(!a.previousSibling)return a.parentNode;for(a=a.previousSibling;a&&a.lastChild;)a=a.lastChild;return a};goog.dom.isNodeLike=function(a){return goog.isObject(a)&&0<a.nodeType};goog.dom.isElement=function(a){return goog.isObject(a)&&a.nodeType==goog.dom.NodeType.ELEMENT};
+goog.dom.isWindow=function(a){return goog.isObject(a)&&a.window==a};goog.dom.getParentElement=function(a){var b;if(goog.dom.BrowserFeature.CAN_USE_PARENT_ELEMENT_PROPERTY&&!(goog.userAgent.IE&&goog.userAgent.isVersionOrHigher("9")&&!goog.userAgent.isVersionOrHigher("10")&&goog.global.SVGElement&&a instanceof goog.global.SVGElement)&&(b=a.parentElement))return b;b=a.parentNode;return goog.dom.isElement(b)?b:null};
+goog.dom.contains=function(a,b){if(!a||!b)return!1;if(a.contains&&b.nodeType==goog.dom.NodeType.ELEMENT)return a==b||a.contains(b);if("undefined"!=typeof a.compareDocumentPosition)return a==b||!!(a.compareDocumentPosition(b)&16);for(;b&&a!=b;)b=b.parentNode;return b==a};
+goog.dom.compareNodeOrder=function(a,b){if(a==b)return 0;if(a.compareDocumentPosition)return a.compareDocumentPosition(b)&2?1:-1;if(goog.userAgent.IE&&!goog.userAgent.isDocumentModeOrHigher(9)){if(a.nodeType==goog.dom.NodeType.DOCUMENT)return-1;if(b.nodeType==goog.dom.NodeType.DOCUMENT)return 1}if("sourceIndex"in a||a.parentNode&&"sourceIndex"in a.parentNode){var c=a.nodeType==goog.dom.NodeType.ELEMENT,d=b.nodeType==goog.dom.NodeType.ELEMENT;if(c&&d)return a.sourceIndex-b.sourceIndex;var e=a.parentNode,
+f=b.parentNode;return e==f?goog.dom.compareSiblingOrder_(a,b):!c&&goog.dom.contains(e,b)?-1*goog.dom.compareParentsDescendantNodeIe_(a,b):!d&&goog.dom.contains(f,a)?goog.dom.compareParentsDescendantNodeIe_(b,a):(c?a.sourceIndex:e.sourceIndex)-(d?b.sourceIndex:f.sourceIndex)}d=goog.dom.getOwnerDocument(a);c=d.createRange();c.selectNode(a);c.collapse(!0);d=d.createRange();d.selectNode(b);d.collapse(!0);return c.compareBoundaryPoints(goog.global.Range.START_TO_END,d)};
+goog.dom.compareParentsDescendantNodeIe_=function(a,b){var c=a.parentNode;if(c==b)return-1;for(var d=b;d.parentNode!=c;)d=d.parentNode;return goog.dom.compareSiblingOrder_(d,a)};goog.dom.compareSiblingOrder_=function(a,b){for(var c=b;c=c.previousSibling;)if(c==a)return-1;return 1};
+goog.dom.findCommonAncestor=function(a){var b,c=arguments.length;if(!c)return null;if(1==c)return arguments[0];var d=[],e=Infinity;for(b=0;b<c;b++){for(var f=[],g=arguments[b];g;)f.unshift(g),g=g.parentNode;d.push(f);e=Math.min(e,f.length)}f=null;for(b=0;b<e;b++){g=d[0][b];for(var h=1;h<c;h++)if(g!=d[h][b])return f;f=g}return f};goog.dom.getOwnerDocument=function(a){goog.asserts.assert(a,"Node cannot be null or undefined.");return a.nodeType==goog.dom.NodeType.DOCUMENT?a:a.ownerDocument||a.document};
+goog.dom.getFrameContentDocument=function(a){return a.contentDocument||a.contentWindow.document};goog.dom.getFrameContentWindow=function(a){try{return a.contentWindow||(a.contentDocument?goog.dom.getWindow(a.contentDocument):null)}catch(b){}return null};
+goog.dom.setTextContent=function(a,b){goog.asserts.assert(null!=a,"goog.dom.setTextContent expects a non-null value for node");if("textContent"in a)a.textContent=b;else if(a.nodeType==goog.dom.NodeType.TEXT)a.data=String(b);else if(a.firstChild&&a.firstChild.nodeType==goog.dom.NodeType.TEXT){for(;a.lastChild!=a.firstChild;)a.removeChild(a.lastChild);a.firstChild.data=String(b)}else{goog.dom.removeChildren(a);var c=goog.dom.getOwnerDocument(a);a.appendChild(c.createTextNode(String(b)))}};
+goog.dom.getOuterHtml=function(a){goog.asserts.assert(null!==a,"goog.dom.getOuterHtml expects a non-null value for element");if("outerHTML"in a)return a.outerHTML;var b=goog.dom.getOwnerDocument(a);b=goog.dom.createElement_(b,"DIV");b.appendChild(a.cloneNode(!0));return b.innerHTML};goog.dom.findNode=function(a,b){var c=[];return goog.dom.findNodes_(a,b,c,!0)?c[0]:void 0};goog.dom.findNodes=function(a,b){var c=[];goog.dom.findNodes_(a,b,c,!1);return c};
+goog.dom.findNodes_=function(a,b,c,d){if(null!=a)for(a=a.firstChild;a;){if(b(a)&&(c.push(a),d)||goog.dom.findNodes_(a,b,c,d))return!0;a=a.nextSibling}return!1};goog.dom.TAGS_TO_IGNORE_={SCRIPT:1,STYLE:1,HEAD:1,IFRAME:1,OBJECT:1};goog.dom.PREDEFINED_TAG_VALUES_={IMG:" ",BR:"\n"};goog.dom.isFocusableTabIndex=function(a){return goog.dom.hasSpecifiedTabIndex_(a)&&goog.dom.isTabIndexFocusable_(a)};goog.dom.setFocusableTabIndex=function(a,b){b?a.tabIndex=0:(a.tabIndex=-1,a.removeAttribute("tabIndex"))};
+goog.dom.isFocusable=function(a){var b;return(b=goog.dom.nativelySupportsFocus_(a)?!a.disabled&&(!goog.dom.hasSpecifiedTabIndex_(a)||goog.dom.isTabIndexFocusable_(a)):goog.dom.isFocusableTabIndex(a))&&goog.userAgent.IE?goog.dom.hasNonZeroBoundingRect_(a):b};goog.dom.hasSpecifiedTabIndex_=function(a){return goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("9")?(a=a.getAttributeNode("tabindex"),goog.isDefAndNotNull(a)&&a.specified):a.hasAttribute("tabindex")};
+goog.dom.isTabIndexFocusable_=function(a){a=a.tabIndex;return goog.isNumber(a)&&0<=a&&32768>a};goog.dom.nativelySupportsFocus_=function(a){return"A"==a.tagName||"INPUT"==a.tagName||"TEXTAREA"==a.tagName||"SELECT"==a.tagName||"BUTTON"==a.tagName};goog.dom.hasNonZeroBoundingRect_=function(a){a=!goog.isFunction(a.getBoundingClientRect)||goog.userAgent.IE&&null==a.parentElement?{height:a.offsetHeight,width:a.offsetWidth}:a.getBoundingClientRect();return goog.isDefAndNotNull(a)&&0<a.height&&0<a.width};
+goog.dom.getTextContent=function(a){if(goog.dom.BrowserFeature.CAN_USE_INNER_TEXT&&null!==a&&"innerText"in a)a=goog.string.canonicalizeNewlines(a.innerText);else{var b=[];goog.dom.getTextContent_(a,b,!0);a=b.join("")}a=a.replace(/ \xAD /g," ").replace(/\xAD/g,"");a=a.replace(/\u200B/g,"");goog.dom.BrowserFeature.CAN_USE_INNER_TEXT||(a=a.replace(/ +/g," "));" "!=a&&(a=a.replace(/^\s*/,""));return a};goog.dom.getRawTextContent=function(a){var b=[];goog.dom.getTextContent_(a,b,!1);return b.join("")};
+goog.dom.getTextContent_=function(a,b,c){if(!(a.nodeName in goog.dom.TAGS_TO_IGNORE_))if(a.nodeType==goog.dom.NodeType.TEXT)c?b.push(String(a.nodeValue).replace(/(\r\n|\r|\n)/g,"")):b.push(a.nodeValue);else if(a.nodeName in goog.dom.PREDEFINED_TAG_VALUES_)b.push(goog.dom.PREDEFINED_TAG_VALUES_[a.nodeName]);else for(a=a.firstChild;a;)goog.dom.getTextContent_(a,b,c),a=a.nextSibling};goog.dom.getNodeTextLength=function(a){return goog.dom.getTextContent(a).length};
+goog.dom.getNodeTextOffset=function(a,b){for(var c=b||goog.dom.getOwnerDocument(a).body,d=[];a&&a!=c;){for(var e=a;e=e.previousSibling;)d.unshift(goog.dom.getTextContent(e));a=a.parentNode}return goog.string.trimLeft(d.join("")).replace(/ +/g," ").length};
+goog.dom.getNodeAtOffset=function(a,b,c){a=[a];for(var d=0,e=null;0<a.length&&d<b;)if(e=a.pop(),!(e.nodeName in goog.dom.TAGS_TO_IGNORE_))if(e.nodeType==goog.dom.NodeType.TEXT){var f=e.nodeValue.replace(/(\r\n|\r|\n)/g,"").replace(/ +/g," ");d+=f.length}else if(e.nodeName in goog.dom.PREDEFINED_TAG_VALUES_)d+=goog.dom.PREDEFINED_TAG_VALUES_[e.nodeName].length;else for(f=e.childNodes.length-1;0<=f;f--)a.push(e.childNodes[f]);goog.isObject(c)&&(c.remainder=e?e.nodeValue.length+b-d-1:0,c.node=e);return e};
+goog.dom.isNodeList=function(a){if(a&&"number"==typeof a.length){if(goog.isObject(a))return"function"==typeof a.item||"string"==typeof a.item;if(goog.isFunction(a))return"function"==typeof a.item}return!1};goog.dom.getAncestorByTagNameAndClass=function(a,b,c,d){if(!b&&!c)return null;var e=b?String(b).toUpperCase():null;return goog.dom.getAncestor(a,function(a){return(!e||a.nodeName==e)&&(!c||goog.isString(a.className)&&goog.array.contains(a.className.split(/\s+/),c))},!0,d)};
+goog.dom.getAncestorByClass=function(a,b,c){return goog.dom.getAncestorByTagNameAndClass(a,null,b,c)};goog.dom.getAncestor=function(a,b,c,d){a&&!c&&(a=a.parentNode);for(c=0;a&&(null==d||c<=d);){goog.asserts.assert("parentNode"!=a.name);if(b(a))return a;a=a.parentNode;c++}return null};goog.dom.getActiveElement=function(a){try{var b=a&&a.activeElement;return b&&b.nodeName?b:null}catch(c){return null}};
+goog.dom.getPixelRatio=function(){var a=goog.dom.getWindow();return goog.isDef(a.devicePixelRatio)?a.devicePixelRatio:a.matchMedia?goog.dom.matchesPixelRatio_(3)||goog.dom.matchesPixelRatio_(2)||goog.dom.matchesPixelRatio_(1.5)||goog.dom.matchesPixelRatio_(1)||.75:1};goog.dom.matchesPixelRatio_=function(a){return goog.dom.getWindow().matchMedia("(min-resolution: "+a+"dppx),(min--moz-device-pixel-ratio: "+a+"),(min-resolution: "+96*a+"dpi)").matches?a:0};goog.dom.getCanvasContext2D=function(a){return a.getContext("2d")};
+goog.dom.DomHelper=function(a){this.document_=a||goog.global.document||document};goog.dom.DomHelper.prototype.getDomHelper=goog.dom.getDomHelper;goog.dom.DomHelper.prototype.setDocument=function(a){this.document_=a};goog.dom.DomHelper.prototype.getDocument=function(){return this.document_};goog.dom.DomHelper.prototype.getElement=function(a){return goog.dom.getElementHelper_(this.document_,a)};
+goog.dom.DomHelper.prototype.getRequiredElement=function(a){return goog.dom.getRequiredElementHelper_(this.document_,a)};goog.dom.DomHelper.prototype.$=goog.dom.DomHelper.prototype.getElement;goog.dom.DomHelper.prototype.getElementsByTagName=function(a,b){return(b||this.document_).getElementsByTagName(String(a))};goog.dom.DomHelper.prototype.getElementsByTagNameAndClass=function(a,b,c){return goog.dom.getElementsByTagNameAndClass_(this.document_,a,b,c)};
+goog.dom.DomHelper.prototype.getElementByTagNameAndClass=function(a,b,c){return goog.dom.getElementByTagNameAndClass_(this.document_,a,b,c)};goog.dom.DomHelper.prototype.getElementsByClass=function(a,b){return goog.dom.getElementsByClass(a,b||this.document_)};goog.dom.DomHelper.prototype.getElementByClass=function(a,b){return goog.dom.getElementByClass(a,b||this.document_)};goog.dom.DomHelper.prototype.getRequiredElementByClass=function(a,b){return goog.dom.getRequiredElementByClass(a,b||this.document_)};
+goog.dom.DomHelper.prototype.$$=goog.dom.DomHelper.prototype.getElementsByTagNameAndClass;goog.dom.DomHelper.prototype.setProperties=goog.dom.setProperties;goog.dom.DomHelper.prototype.getViewportSize=function(a){return goog.dom.getViewportSize(a||this.getWindow())};goog.dom.DomHelper.prototype.getDocumentHeight=function(){return goog.dom.getDocumentHeight_(this.getWindow())};goog.dom.DomHelper.prototype.createDom=function(a,b,c){return goog.dom.createDom_(this.document_,arguments)};
+goog.dom.DomHelper.prototype.$dom=goog.dom.DomHelper.prototype.createDom;goog.dom.DomHelper.prototype.createElement=function(a){return goog.dom.createElement_(this.document_,a)};goog.dom.DomHelper.prototype.createTextNode=function(a){return this.document_.createTextNode(String(a))};goog.dom.DomHelper.prototype.createTable=function(a,b,c){return goog.dom.createTable_(this.document_,a,b,!!c)};goog.dom.DomHelper.prototype.safeHtmlToNode=function(a){return goog.dom.safeHtmlToNode_(this.document_,a)};
+goog.dom.DomHelper.prototype.isCss1CompatMode=function(){return goog.dom.isCss1CompatMode_(this.document_)};goog.dom.DomHelper.prototype.getWindow=function(){return goog.dom.getWindow_(this.document_)};goog.dom.DomHelper.prototype.getDocumentScrollElement=function(){return goog.dom.getDocumentScrollElement_(this.document_)};goog.dom.DomHelper.prototype.getDocumentScroll=function(){return goog.dom.getDocumentScroll_(this.document_)};
+goog.dom.DomHelper.prototype.getActiveElement=function(a){return goog.dom.getActiveElement(a||this.document_)};goog.dom.DomHelper.prototype.appendChild=goog.dom.appendChild;goog.dom.DomHelper.prototype.append=goog.dom.append;goog.dom.DomHelper.prototype.canHaveChildren=goog.dom.canHaveChildren;goog.dom.DomHelper.prototype.removeChildren=goog.dom.removeChildren;goog.dom.DomHelper.prototype.insertSiblingBefore=goog.dom.insertSiblingBefore;goog.dom.DomHelper.prototype.insertSiblingAfter=goog.dom.insertSiblingAfter;
+goog.dom.DomHelper.prototype.insertChildAt=goog.dom.insertChildAt;goog.dom.DomHelper.prototype.removeNode=goog.dom.removeNode;goog.dom.DomHelper.prototype.replaceNode=goog.dom.replaceNode;goog.dom.DomHelper.prototype.flattenElement=goog.dom.flattenElement;goog.dom.DomHelper.prototype.getChildren=goog.dom.getChildren;goog.dom.DomHelper.prototype.getFirstElementChild=goog.dom.getFirstElementChild;goog.dom.DomHelper.prototype.getLastElementChild=goog.dom.getLastElementChild;
+goog.dom.DomHelper.prototype.getNextElementSibling=goog.dom.getNextElementSibling;goog.dom.DomHelper.prototype.getPreviousElementSibling=goog.dom.getPreviousElementSibling;goog.dom.DomHelper.prototype.getNextNode=goog.dom.getNextNode;goog.dom.DomHelper.prototype.getPreviousNode=goog.dom.getPreviousNode;goog.dom.DomHelper.prototype.isNodeLike=goog.dom.isNodeLike;goog.dom.DomHelper.prototype.isElement=goog.dom.isElement;goog.dom.DomHelper.prototype.isWindow=goog.dom.isWindow;
+goog.dom.DomHelper.prototype.getParentElement=goog.dom.getParentElement;goog.dom.DomHelper.prototype.contains=goog.dom.contains;goog.dom.DomHelper.prototype.compareNodeOrder=goog.dom.compareNodeOrder;goog.dom.DomHelper.prototype.findCommonAncestor=goog.dom.findCommonAncestor;goog.dom.DomHelper.prototype.getOwnerDocument=goog.dom.getOwnerDocument;goog.dom.DomHelper.prototype.getFrameContentDocument=goog.dom.getFrameContentDocument;goog.dom.DomHelper.prototype.getFrameContentWindow=goog.dom.getFrameContentWindow;
+goog.dom.DomHelper.prototype.setTextContent=goog.dom.setTextContent;goog.dom.DomHelper.prototype.getOuterHtml=goog.dom.getOuterHtml;goog.dom.DomHelper.prototype.findNode=goog.dom.findNode;goog.dom.DomHelper.prototype.findNodes=goog.dom.findNodes;goog.dom.DomHelper.prototype.isFocusableTabIndex=goog.dom.isFocusableTabIndex;goog.dom.DomHelper.prototype.setFocusableTabIndex=goog.dom.setFocusableTabIndex;goog.dom.DomHelper.prototype.isFocusable=goog.dom.isFocusable;
+goog.dom.DomHelper.prototype.getTextContent=goog.dom.getTextContent;goog.dom.DomHelper.prototype.getNodeTextLength=goog.dom.getNodeTextLength;goog.dom.DomHelper.prototype.getNodeTextOffset=goog.dom.getNodeTextOffset;goog.dom.DomHelper.prototype.getNodeAtOffset=goog.dom.getNodeAtOffset;goog.dom.DomHelper.prototype.isNodeList=goog.dom.isNodeList;goog.dom.DomHelper.prototype.getAncestorByTagNameAndClass=goog.dom.getAncestorByTagNameAndClass;goog.dom.DomHelper.prototype.getAncestorByClass=goog.dom.getAncestorByClass;
+goog.dom.DomHelper.prototype.getAncestor=goog.dom.getAncestor;goog.dom.DomHelper.prototype.getCanvasContext2D=goog.dom.getCanvasContext2D;goog.color={};
+goog.color.names={aliceblue:"#f0f8ff",antiquewhite:"#faebd7",aqua:"#00ffff",aquamarine:"#7fffd4",azure:"#f0ffff",beige:"#f5f5dc",bisque:"#ffe4c4",black:"#000000",blanchedalmond:"#ffebcd",blue:"#0000ff",blueviolet:"#8a2be2",brown:"#a52a2a",burlywood:"#deb887",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",cornflowerblue:"#6495ed",cornsilk:"#fff8dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkgray:"#a9a9a9",darkgreen:"#006400",
+darkgrey:"#a9a9a9",darkkhaki:"#bdb76b",darkmagenta:"#8b008b",darkolivegreen:"#556b2f",darkorange:"#ff8c00",darkorchid:"#9932cc",darkred:"#8b0000",darksalmon:"#e9967a",darkseagreen:"#8fbc8f",darkslateblue:"#483d8b",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",darkturquoise:"#00ced1",darkviolet:"#9400d3",deeppink:"#ff1493",deepskyblue:"#00bfff",dimgray:"#696969",dimgrey:"#696969",dodgerblue:"#1e90ff",firebrick:"#b22222",floralwhite:"#fffaf0",forestgreen:"#228b22",fuchsia:"#ff00ff",gainsboro:"#dcdcdc",
+ghostwhite:"#f8f8ff",gold:"#ffd700",goldenrod:"#daa520",gray:"#808080",green:"#008000",greenyellow:"#adff2f",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",indianred:"#cd5c5c",indigo:"#4b0082",ivory:"#fffff0",khaki:"#f0e68c",lavender:"#e6e6fa",lavenderblush:"#fff0f5",lawngreen:"#7cfc00",lemonchiffon:"#fffacd",lightblue:"#add8e6",lightcoral:"#f08080",lightcyan:"#e0ffff",lightgoldenrodyellow:"#fafad2",lightgray:"#d3d3d3",lightgreen:"#90ee90",lightgrey:"#d3d3d3",lightpink:"#ffb6c1",lightsalmon:"#ffa07a",
+lightseagreen:"#20b2aa",lightskyblue:"#87cefa",lightslategray:"#778899",lightslategrey:"#778899",lightsteelblue:"#b0c4de",lightyellow:"#ffffe0",lime:"#00ff00",limegreen:"#32cd32",linen:"#faf0e6",magenta:"#ff00ff",maroon:"#800000",mediumaquamarine:"#66cdaa",mediumblue:"#0000cd",mediumorchid:"#ba55d3",mediumpurple:"#9370db",mediumseagreen:"#3cb371",mediumslateblue:"#7b68ee",mediumspringgreen:"#00fa9a",mediumturquoise:"#48d1cc",mediumvioletred:"#c71585",midnightblue:"#191970",mintcream:"#f5fffa",mistyrose:"#ffe4e1",
+moccasin:"#ffe4b5",navajowhite:"#ffdead",navy:"#000080",oldlace:"#fdf5e6",olive:"#808000",olivedrab:"#6b8e23",orange:"#ffa500",orangered:"#ff4500",orchid:"#da70d6",palegoldenrod:"#eee8aa",palegreen:"#98fb98",paleturquoise:"#afeeee",palevioletred:"#db7093",papayawhip:"#ffefd5",peachpuff:"#ffdab9",peru:"#cd853f",pink:"#ffc0cb",plum:"#dda0dd",powderblue:"#b0e0e6",purple:"#800080",red:"#ff0000",rosybrown:"#bc8f8f",royalblue:"#4169e1",saddlebrown:"#8b4513",salmon:"#fa8072",sandybrown:"#f4a460",seagreen:"#2e8b57",
+seashell:"#fff5ee",sienna:"#a0522d",silver:"#c0c0c0",skyblue:"#87ceeb",slateblue:"#6a5acd",slategray:"#708090",slategrey:"#708090",snow:"#fffafa",springgreen:"#00ff7f",steelblue:"#4682b4",tan:"#d2b48c",teal:"#008080",thistle:"#d8bfd8",tomato:"#ff6347",turquoise:"#40e0d0",violet:"#ee82ee",wheat:"#f5deb3",white:"#ffffff",whitesmoke:"#f5f5f5",yellow:"#ffff00",yellowgreen:"#9acd32"};goog.color.parse=function(a){var b={};a=String(a);var c=goog.color.prependHashIfNecessaryHelper(a);if(goog.color.isValidHexColor_(c))return b.hex=goog.color.normalizeHex(c),b.type="hex",b;c=goog.color.isValidRgbColor_(a);if(c.length)return b.hex=goog.color.rgbArrayToHex(c),b.type="rgb",b;if(goog.color.names&&(c=goog.color.names[a.toLowerCase()]))return b.hex=c,b.type="named",b;throw Error(a+" is not a valid color string");};
+goog.color.isValidColor=function(a){var b=goog.color.prependHashIfNecessaryHelper(a);return!!(goog.color.isValidHexColor_(b)||goog.color.isValidRgbColor_(a).length||goog.color.names&&goog.color.names[a.toLowerCase()])};goog.color.parseRgb=function(a){var b=goog.color.isValidRgbColor_(a);if(!b.length)throw Error(a+" is not a valid RGB color");return b};goog.color.hexToRgbStyle=function(a){return goog.color.rgbStyle_(goog.color.hexToRgb(a))};goog.color.hexTripletRe_=/#(.)(.)(.)/;
+goog.color.normalizeHex=function(a){if(!goog.color.isValidHexColor_(a))throw Error("'"+a+"' is not a valid hex color");4==a.length&&(a=a.replace(goog.color.hexTripletRe_,"#$1$1$2$2$3$3"));return a.toLowerCase()};goog.color.hexToRgb=function(a){a=goog.color.normalizeHex(a);var b=parseInt(a.substr(1,2),16),c=parseInt(a.substr(3,2),16);a=parseInt(a.substr(5,2),16);return[b,c,a]};
+goog.color.rgbToHex=function(a,b,c){a=Number(a);b=Number(b);c=Number(c);if(a!=(a&255)||b!=(b&255)||c!=(c&255))throw Error('"('+a+","+b+","+c+'") is not a valid RGB color');a=goog.color.prependZeroIfNecessaryHelper(a.toString(16));b=goog.color.prependZeroIfNecessaryHelper(b.toString(16));c=goog.color.prependZeroIfNecessaryHelper(c.toString(16));return"#"+a+b+c};goog.color.rgbArrayToHex=function(a){return goog.color.rgbToHex(a[0],a[1],a[2])};
+goog.color.rgbToHsl=function(a,b,c){a/=255;b/=255;c/=255;var d=Math.max(a,b,c),e=Math.min(a,b,c),f=0,g=0,h=.5*(d+e);d!=e&&(d==a?f=60*(b-c)/(d-e):d==b?f=60*(c-a)/(d-e)+120:d==c&&(f=60*(a-b)/(d-e)+240),g=0<h&&.5>=h?(d-e)/(2*h):(d-e)/(2-2*h));return[Math.round(f+360)%360,g,h]};goog.color.rgbArrayToHsl=function(a){return goog.color.rgbToHsl(a[0],a[1],a[2])};goog.color.hueToRgb_=function(a,b,c){0>c?c+=1:1<c&&--c;return 1>6*c?a+6*(b-a)*c:1>2*c?b:2>3*c?a+(b-a)*(2/3-c)*6:a};
+goog.color.hslToRgb=function(a,b,c){a/=360;if(0==b)c=b=a=255*c;else{var d=.5>c?c*(1+b):c+b-b*c;var e=2*c-d;c=255*goog.color.hueToRgb_(e,d,a+1/3);b=255*goog.color.hueToRgb_(e,d,a);a=255*goog.color.hueToRgb_(e,d,a-1/3)}return[Math.round(c),Math.round(b),Math.round(a)]};goog.color.hslArrayToRgb=function(a){return goog.color.hslToRgb(a[0],a[1],a[2])};goog.color.validHexColorRe_=/^#(?:[0-9a-f]{3}){1,2}$/i;goog.color.isValidHexColor_=function(a){return goog.color.validHexColorRe_.test(a)};
+goog.color.normalizedHexColorRe_=/^#[0-9a-f]{6}$/;goog.color.isNormalizedHexColor_=function(a){return goog.color.normalizedHexColorRe_.test(a)};goog.color.rgbColorRe_=/^(?:rgb)?\((0|[1-9]\d{0,2}),\s?(0|[1-9]\d{0,2}),\s?(0|[1-9]\d{0,2})\)$/i;goog.color.isValidRgbColor_=function(a){var b=a.match(goog.color.rgbColorRe_);if(b){a=Number(b[1]);var c=Number(b[2]);b=Number(b[3]);if(0<=a&&255>=a&&0<=c&&255>=c&&0<=b&&255>=b)return[a,c,b]}return[]};
+goog.color.prependZeroIfNecessaryHelper=function(a){return 1==a.length?"0"+a:a};goog.color.prependHashIfNecessaryHelper=function(a){return"#"==a.charAt(0)?a:"#"+a};goog.color.rgbStyle_=function(a){return"rgb("+a.join(",")+")"};
+goog.color.hsvToRgb=function(a,b,c){var d=0,e=0,f=0;if(0==b)f=e=d=c;else{var g=Math.floor(a/60),h=a/60-g;a=c*(1-b);var k=c*(1-b*h);b=c*(1-b*(1-h));switch(g){case 1:d=k;e=c;f=a;break;case 2:d=a;e=c;f=b;break;case 3:d=a;e=k;f=c;break;case 4:d=b;e=a;f=c;break;case 5:d=c;e=a;f=k;break;case 6:case 0:d=c,e=b,f=a}}return[Math.floor(d),Math.floor(e),Math.floor(f)]};
+goog.color.rgbToHsv=function(a,b,c){var d=Math.max(Math.max(a,b),c),e=Math.min(Math.min(a,b),c);if(e==d)e=a=0;else{var f=d-e;e=f/d;a=60*(a==d?(b-c)/f:b==d?2+(c-a)/f:4+(a-b)/f);0>a&&(a+=360);360<a&&(a-=360)}return[a,e,d]};goog.color.rgbArrayToHsv=function(a){return goog.color.rgbToHsv(a[0],a[1],a[2])};goog.color.hsvArrayToRgb=function(a){return goog.color.hsvToRgb(a[0],a[1],a[2])};goog.color.hexToHsl=function(a){a=goog.color.hexToRgb(a);return goog.color.rgbToHsl(a[0],a[1],a[2])};
+goog.color.hslToHex=function(a,b,c){return goog.color.rgbArrayToHex(goog.color.hslToRgb(a,b,c))};goog.color.hslArrayToHex=function(a){return goog.color.rgbArrayToHex(goog.color.hslToRgb(a[0],a[1],a[2]))};goog.color.hexToHsv=function(a){return goog.color.rgbArrayToHsv(goog.color.hexToRgb(a))};goog.color.hsvToHex=function(a,b,c){return goog.color.rgbArrayToHex(goog.color.hsvToRgb(a,b,c))};goog.color.hsvArrayToHex=function(a){return goog.color.hsvToHex(a[0],a[1],a[2])};
+goog.color.hslDistance=function(a,b){var c=.5>=a[2]?a[1]*a[2]:a[1]*(1-a[2]);var d=.5>=b[2]?b[1]*b[2]:b[1]*(1-b[2]);return(a[2]-b[2])*(a[2]-b[2])+c*c+d*d-2*c*d*Math.cos(2*(a[0]/360-b[0]/360)*Math.PI)};goog.color.blend=function(a,b,c){c=goog.math.clamp(c,0,1);return[Math.round(c*a[0]+(1-c)*b[0]),Math.round(c*a[1]+(1-c)*b[1]),Math.round(c*a[2]+(1-c)*b[2])]};goog.color.darken=function(a,b){return goog.color.blend([0,0,0],a,b)};goog.color.lighten=function(a,b){return goog.color.blend([255,255,255],a,b)};
+goog.color.highContrast=function(a,b){for(var c=[],d=0;d<b.length;d++)c.push({color:b[d],diff:goog.color.yiqBrightnessDiff_(b[d],a)+goog.color.colorDiff_(b[d],a)});c.sort(function(a,b){return b.diff-a.diff});return c[0].color};goog.color.yiqBrightness_=function(a){return Math.round((299*a[0]+587*a[1]+114*a[2])/1E3)};goog.color.yiqBrightnessDiff_=function(a,b){return Math.abs(goog.color.yiqBrightness_(a)-goog.color.yiqBrightness_(b))};
+goog.color.colorDiff_=function(a,b){return Math.abs(a[0]-b[0])+Math.abs(a[1]-b[1])+Math.abs(a[2]-b[2])};goog.debug.entryPointRegistry={};goog.debug.EntryPointMonitor=function(){};goog.debug.entryPointRegistry.refList_=[];goog.debug.entryPointRegistry.monitors_=[];goog.debug.entryPointRegistry.monitorsMayExist_=!1;goog.debug.entryPointRegistry.register=function(a){goog.debug.entryPointRegistry.refList_[goog.debug.entryPointRegistry.refList_.length]=a;if(goog.debug.entryPointRegistry.monitorsMayExist_)for(var b=goog.debug.entryPointRegistry.monitors_,c=0;c<b.length;c++)a(goog.bind(b[c].wrap,b[c]))};
+goog.debug.entryPointRegistry.monitorAll=function(a){goog.debug.entryPointRegistry.monitorsMayExist_=!0;for(var b=goog.bind(a.wrap,a),c=0;c<goog.debug.entryPointRegistry.refList_.length;c++)goog.debug.entryPointRegistry.refList_[c](b);goog.debug.entryPointRegistry.monitors_.push(a)};
+goog.debug.entryPointRegistry.unmonitorAllIfPossible=function(a){var b=goog.debug.entryPointRegistry.monitors_;goog.asserts.assert(a==b[b.length-1],"Only the most recent monitor can be unwrapped.");a=goog.bind(a.unwrap,a);for(var c=0;c<goog.debug.entryPointRegistry.refList_.length;c++)goog.debug.entryPointRegistry.refList_[c](a);b.length--};goog.debug.errorcontext={};goog.debug.errorcontext.addErrorContext=function(a,b,c){a[goog.debug.errorcontext.CONTEXT_KEY_]||(a[goog.debug.errorcontext.CONTEXT_KEY_]={});a[goog.debug.errorcontext.CONTEXT_KEY_][b]=c};goog.debug.errorcontext.getErrorContext=function(a){return a[goog.debug.errorcontext.CONTEXT_KEY_]||{}};goog.debug.errorcontext.CONTEXT_KEY_="__closure__error__context__984382";goog.debug.LOGGING_ENABLED=goog.DEBUG;goog.debug.FORCE_SLOPPY_STACKS=!1;goog.debug.catchErrors=function(a,b,c){c=c||goog.global;var d=c.onerror,e=!!b;goog.userAgent.WEBKIT&&!goog.userAgent.isVersionOrHigher("535.3")&&(e=!e);c.onerror=function(b,c,h,k,l){d&&d(b,c,h,k,l);a({message:b,fileName:c,line:h,lineNumber:h,col:k,error:l});return e}};
+goog.debug.expose=function(a,b){if("undefined"==typeof a)return"undefined";if(null==a)return"NULL";var c=[],d;for(d in a)if(b||!goog.isFunction(a[d])){var e=d+" = ";try{e+=a[d]}catch(f){e+="*** "+f+" ***"}c.push(e)}return c.join("\n")};
+goog.debug.deepExpose=function(a,b){var c=[],d=[],e={},f=function(a,g){var h=g+"  ";try{if(goog.isDef(a))if(goog.isNull(a))c.push("NULL");else if(goog.isString(a))c.push('"'+a.replace(/\n/g,"\n"+g)+'"');else if(goog.isFunction(a))c.push(String(a).replace(/\n/g,"\n"+g));else if(goog.isObject(a)){goog.hasUid(a)||d.push(a);var k=goog.getUid(a);if(e[k])c.push("*** reference loop detected (id="+k+") ***");else{e[k]=!0;c.push("{");for(var m in a)if(b||!goog.isFunction(a[m]))c.push("\n"),c.push(h),c.push(m+
+" = "),f(a[m],h);c.push("\n"+g+"}");delete e[k]}}else c.push(a);else c.push("undefined")}catch(p){c.push("*** "+p+" ***")}};f(a,"");for(var g=0;g<d.length;g++)goog.removeUid(d[g]);return c.join("")};goog.debug.exposeArray=function(a){for(var b=[],c=0;c<a.length;c++)goog.isArray(a[c])?b.push(goog.debug.exposeArray(a[c])):b.push(a[c]);return"[ "+b.join(", ")+" ]"};
+goog.debug.normalizeErrorObject=function(a){var b=goog.getObjectByName("window.location.href");if(goog.isString(a))return{message:a,name:"Unknown error",lineNumber:"Not available",fileName:b,stack:"Not available"};var c=!1;try{var d=a.lineNumber||a.line||"Not available"}catch(f){d="Not available",c=!0}try{var e=a.fileName||a.filename||a.sourceURL||goog.global.$googDebugFname||b}catch(f){e="Not available",c=!0}return!c&&a.lineNumber&&a.fileName&&a.stack&&a.message&&a.name?a:{message:a.message||"Not available",
+name:a.name||"UnknownError",lineNumber:d,fileName:e,stack:a.stack||"Not available"}};goog.debug.enhanceError=function(a,b){if(a instanceof Error)var c=a;else c=Error(a),Error.captureStackTrace&&Error.captureStackTrace(c,goog.debug.enhanceError);c.stack||(c.stack=goog.debug.getStacktrace(goog.debug.enhanceError));if(b){for(var d=0;c["message"+d];)++d;c["message"+d]=String(b)}return c};
+goog.debug.enhanceErrorWithContext=function(a,b){var c=goog.debug.enhanceError(a);if(b)for(var d in b)goog.debug.errorcontext.addErrorContext(c,d,b[d]);return c};
+goog.debug.getStacktraceSimple=function(a){if(!goog.debug.FORCE_SLOPPY_STACKS){var b=goog.debug.getNativeStackTrace_(goog.debug.getStacktraceSimple);if(b)return b}b=[];for(var c=arguments.callee.caller,d=0;c&&(!a||d<a);){b.push(goog.debug.getFunctionName(c));b.push("()\n");try{c=c.caller}catch(e){b.push("[exception trying to get caller]\n");break}d++;if(d>=goog.debug.MAX_STACK_DEPTH){b.push("[...long stack...]");break}}a&&d>=a?b.push("[...reached max depth limit...]"):b.push("[end]");return b.join("")};
+goog.debug.MAX_STACK_DEPTH=50;goog.debug.getNativeStackTrace_=function(a){var b=Error();if(Error.captureStackTrace)return Error.captureStackTrace(b,a),String(b.stack);try{throw b;}catch(c){b=c}return(a=b.stack)?String(a):null};goog.debug.getStacktrace=function(a){var b;goog.debug.FORCE_SLOPPY_STACKS||(b=goog.debug.getNativeStackTrace_(a||goog.debug.getStacktrace));b||(b=goog.debug.getStacktraceHelper_(a||arguments.callee.caller,[]));return b};
+goog.debug.getStacktraceHelper_=function(a,b){var c=[];if(goog.array.contains(b,a))c.push("[...circular reference...]");else if(a&&b.length<goog.debug.MAX_STACK_DEPTH){c.push(goog.debug.getFunctionName(a)+"(");for(var d=a.arguments,e=0;d&&e<d.length;e++){0<e&&c.push(", ");var f=d[e];switch(typeof f){case "object":f=f?"object":"null";break;case "string":break;case "number":f=String(f);break;case "boolean":f=f?"true":"false";break;case "function":f=(f=goog.debug.getFunctionName(f))?f:"[fn]";break;default:f=
+typeof f}40<f.length&&(f=f.substr(0,40)+"...");c.push(f)}b.push(a);c.push(")\n");try{c.push(goog.debug.getStacktraceHelper_(a.caller,b))}catch(g){c.push("[exception trying to get caller]\n")}}else a?c.push("[...long stack...]"):c.push("[end]");return c.join("")};goog.debug.setFunctionResolver=function(a){goog.debug.fnNameResolver_=a};
+goog.debug.getFunctionName=function(a){if(goog.debug.fnNameCache_[a])return goog.debug.fnNameCache_[a];if(goog.debug.fnNameResolver_){var b=goog.debug.fnNameResolver_(a);if(b)return goog.debug.fnNameCache_[a]=b}a=String(a);goog.debug.fnNameCache_[a]||(b=/function\s+([^\(]+)/m.exec(a),goog.debug.fnNameCache_[a]=b?b[1]:"[Anonymous]");return goog.debug.fnNameCache_[a]};
+goog.debug.makeWhitespaceVisible=function(a){return a.replace(/ /g,"[_]").replace(/\f/g,"[f]").replace(/\n/g,"[n]\n").replace(/\r/g,"[r]").replace(/\t/g,"[t]")};goog.debug.runtimeType=function(a){return a instanceof Function?a.displayName||a.name||"unknown type name":a instanceof Object?a.constructor.displayName||a.constructor.name||Object.prototype.toString.call(a):null===a?"null":typeof a};goog.debug.fnNameCache_={};goog.debug.freezeInternal_=goog.DEBUG&&Object.freeze||function(a){return a};
+goog.debug.freeze=function(a){return goog.debug.freezeInternal_(a)};goog.events={};$jscomp.scope.purify=function(a){return{valueOf:a}.valueOf()};
+goog.events.BrowserFeature={HAS_W3C_BUTTON:!goog.userAgent.IE||goog.userAgent.isDocumentModeOrHigher(9),HAS_W3C_EVENT_SUPPORT:!goog.userAgent.IE||goog.userAgent.isDocumentModeOrHigher(9),SET_KEY_CODE_TO_PREVENT_DEFAULT:goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("9"),HAS_NAVIGATOR_ONLINE_PROPERTY:!goog.userAgent.WEBKIT||goog.userAgent.isVersionOrHigher("528"),HAS_HTML5_NETWORK_EVENT_SUPPORT:goog.userAgent.GECKO&&goog.userAgent.isVersionOrHigher("1.9b")||goog.userAgent.IE&&goog.userAgent.isVersionOrHigher("8")||
+goog.userAgent.OPERA&&goog.userAgent.isVersionOrHigher("9.5")||goog.userAgent.WEBKIT&&goog.userAgent.isVersionOrHigher("528"),HTML5_NETWORK_EVENTS_FIRE_ON_BODY:goog.userAgent.GECKO&&!goog.userAgent.isVersionOrHigher("8")||goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("9"),TOUCH_ENABLED:"ontouchstart"in goog.global||!!(goog.global.document&&document.documentElement&&"ontouchstart"in document.documentElement)||!(!goog.global.navigator||!goog.global.navigator.maxTouchPoints&&!goog.global.navigator.msMaxTouchPoints),
+POINTER_EVENTS:"PointerEvent"in goog.global,MSPOINTER_EVENTS:"MSPointerEvent"in goog.global&&!(!goog.global.navigator||!goog.global.navigator.msPointerEnabled),PASSIVE_EVENTS:(0,$jscomp.scope.purify)(function(){if(!goog.global.addEventListener||!Object.defineProperty)return!1;var a=!1,b=Object.defineProperty({},"passive",{get:function(){a=!0}});try{goog.global.addEventListener("test",goog.nullFunction,b),goog.global.removeEventListener("test",goog.nullFunction,b)}catch(c){}return a})};goog.disposable={};goog.disposable.IDisposable=function(){};goog.disposable.IDisposable.prototype.dispose=goog.abstractMethod;goog.disposable.IDisposable.prototype.isDisposed=goog.abstractMethod;goog.Disposable=function(){goog.Disposable.MONITORING_MODE!=goog.Disposable.MonitoringMode.OFF&&(goog.Disposable.INCLUDE_STACK_ON_CREATION&&(this.creationStack=Error().stack),goog.Disposable.instances_[goog.getUid(this)]=this);this.disposed_=this.disposed_;this.onDisposeCallbacks_=this.onDisposeCallbacks_};goog.Disposable.MonitoringMode={OFF:0,PERMANENT:1,INTERACTIVE:2};goog.Disposable.MONITORING_MODE=0;goog.Disposable.INCLUDE_STACK_ON_CREATION=!0;goog.Disposable.instances_={};
+goog.Disposable.getUndisposedObjects=function(){var a=[],b;for(b in goog.Disposable.instances_)goog.Disposable.instances_.hasOwnProperty(b)&&a.push(goog.Disposable.instances_[Number(b)]);return a};goog.Disposable.clearUndisposedObjects=function(){goog.Disposable.instances_={}};goog.Disposable.prototype.disposed_=!1;goog.Disposable.prototype.isDisposed=function(){return this.disposed_};goog.Disposable.prototype.getDisposed=goog.Disposable.prototype.isDisposed;
+goog.Disposable.prototype.dispose=function(){if(!this.disposed_&&(this.disposed_=!0,this.disposeInternal(),goog.Disposable.MONITORING_MODE!=goog.Disposable.MonitoringMode.OFF)){var a=goog.getUid(this);if(goog.Disposable.MONITORING_MODE==goog.Disposable.MonitoringMode.PERMANENT&&!goog.Disposable.instances_.hasOwnProperty(a))throw Error(this+" did not call the goog.Disposable base constructor or was disposed of after a clearUndisposedObjects call");if(goog.Disposable.MONITORING_MODE!=goog.Disposable.MonitoringMode.OFF&&
+this.onDisposeCallbacks_&&0<this.onDisposeCallbacks_.length)throw Error(this+" did not empty its onDisposeCallbacks queue. This probably means it overrode dispose() or disposeInternal() without calling the superclass' method.");delete goog.Disposable.instances_[a]}};goog.Disposable.prototype.registerDisposable=function(a){this.addOnDisposeCallback(goog.partial(goog.dispose,a))};
+goog.Disposable.prototype.addOnDisposeCallback=function(a,b){this.disposed_?goog.isDef(b)?a.call(b):a():(this.onDisposeCallbacks_||(this.onDisposeCallbacks_=[]),this.onDisposeCallbacks_.push(goog.isDef(b)?goog.bind(a,b):a))};goog.Disposable.prototype.disposeInternal=function(){if(this.onDisposeCallbacks_)for(;this.onDisposeCallbacks_.length;)this.onDisposeCallbacks_.shift()()};goog.Disposable.isDisposed=function(a){return a&&"function"==typeof a.isDisposed?a.isDisposed():!1};
+goog.dispose=function(a){a&&"function"==typeof a.dispose&&a.dispose()};goog.disposeAll=function(a){for(var b=0,c=arguments.length;b<c;++b){var d=arguments[b];goog.isArrayLike(d)?goog.disposeAll.apply(null,d):goog.dispose(d)}};goog.events.EventId=function(a){this.id=a};goog.events.EventId.prototype.toString=function(){return this.id};goog.events.Event=function(a,b){this.type=a instanceof goog.events.EventId?String(a):a;this.currentTarget=this.target=b;this.defaultPrevented=this.propagationStopped_=!1;this.returnValue_=!0};goog.events.Event.prototype.stopPropagation=function(){this.propagationStopped_=!0};goog.events.Event.prototype.preventDefault=function(){this.defaultPrevented=!0;this.returnValue_=!1};goog.events.Event.stopPropagation=function(a){a.stopPropagation()};goog.events.Event.preventDefault=function(a){a.preventDefault()};goog.events.getVendorPrefixedName_=function(a){return goog.userAgent.WEBKIT?"webkit"+a:goog.userAgent.OPERA?"o"+a.toLowerCase():a.toLowerCase()};
+goog.events.EventType={CLICK:"click",RIGHTCLICK:"rightclick",DBLCLICK:"dblclick",MOUSEDOWN:"mousedown",MOUSEUP:"mouseup",MOUSEOVER:"mouseover",MOUSEOUT:"mouseout",MOUSEMOVE:"mousemove",MOUSEENTER:"mouseenter",MOUSELEAVE:"mouseleave",MOUSECANCEL:"mousecancel",SELECTIONCHANGE:"selectionchange",SELECTSTART:"selectstart",WHEEL:"wheel",KEYPRESS:"keypress",KEYDOWN:"keydown",KEYUP:"keyup",BLUR:"blur",FOCUS:"focus",DEACTIVATE:"deactivate",FOCUSIN:"focusin",FOCUSOUT:"focusout",CHANGE:"change",RESET:"reset",
+SELECT:"select",SUBMIT:"submit",INPUT:"input",PROPERTYCHANGE:"propertychange",DRAGSTART:"dragstart",DRAG:"drag",DRAGENTER:"dragenter",DRAGOVER:"dragover",DRAGLEAVE:"dragleave",DROP:"drop",DRAGEND:"dragend",TOUCHSTART:"touchstart",TOUCHMOVE:"touchmove",TOUCHEND:"touchend",TOUCHCANCEL:"touchcancel",BEFOREUNLOAD:"beforeunload",CONSOLEMESSAGE:"consolemessage",CONTEXTMENU:"contextmenu",DEVICECHANGE:"devicechange",DEVICEMOTION:"devicemotion",DEVICEORIENTATION:"deviceorientation",DOMCONTENTLOADED:"DOMContentLoaded",
+ERROR:"error",HELP:"help",LOAD:"load",LOSECAPTURE:"losecapture",ORIENTATIONCHANGE:"orientationchange",READYSTATECHANGE:"readystatechange",RESIZE:"resize",SCROLL:"scroll",UNLOAD:"unload",CANPLAY:"canplay",CANPLAYTHROUGH:"canplaythrough",DURATIONCHANGE:"durationchange",EMPTIED:"emptied",ENDED:"ended",LOADEDDATA:"loadeddata",LOADEDMETADATA:"loadedmetadata",PAUSE:"pause",PLAY:"play",PLAYING:"playing",RATECHANGE:"ratechange",SEEKED:"seeked",SEEKING:"seeking",STALLED:"stalled",SUSPEND:"suspend",TIMEUPDATE:"timeupdate",
+VOLUMECHANGE:"volumechange",WAITING:"waiting",SOURCEOPEN:"sourceopen",SOURCEENDED:"sourceended",SOURCECLOSED:"sourceclosed",ABORT:"abort",UPDATE:"update",UPDATESTART:"updatestart",UPDATEEND:"updateend",HASHCHANGE:"hashchange",PAGEHIDE:"pagehide",PAGESHOW:"pageshow",POPSTATE:"popstate",COPY:"copy",PASTE:"paste",CUT:"cut",BEFORECOPY:"beforecopy",BEFORECUT:"beforecut",BEFOREPASTE:"beforepaste",ONLINE:"online",OFFLINE:"offline",MESSAGE:"message",CONNECT:"connect",INSTALL:"install",ACTIVATE:"activate",
+FETCH:"fetch",FOREIGNFETCH:"foreignfetch",MESSAGEERROR:"messageerror",STATECHANGE:"statechange",UPDATEFOUND:"updatefound",CONTROLLERCHANGE:"controllerchange",ANIMATIONSTART:goog.events.getVendorPrefixedName_("AnimationStart"),ANIMATIONEND:goog.events.getVendorPrefixedName_("AnimationEnd"),ANIMATIONITERATION:goog.events.getVendorPrefixedName_("AnimationIteration"),TRANSITIONEND:goog.events.getVendorPrefixedName_("TransitionEnd"),POINTERDOWN:"pointerdown",POINTERUP:"pointerup",POINTERCANCEL:"pointercancel",
+POINTERMOVE:"pointermove",POINTEROVER:"pointerover",POINTEROUT:"pointerout",POINTERENTER:"pointerenter",POINTERLEAVE:"pointerleave",GOTPOINTERCAPTURE:"gotpointercapture",LOSTPOINTERCAPTURE:"lostpointercapture",MSGESTURECHANGE:"MSGestureChange",MSGESTUREEND:"MSGestureEnd",MSGESTUREHOLD:"MSGestureHold",MSGESTURESTART:"MSGestureStart",MSGESTURETAP:"MSGestureTap",MSGOTPOINTERCAPTURE:"MSGotPointerCapture",MSINERTIASTART:"MSInertiaStart",MSLOSTPOINTERCAPTURE:"MSLostPointerCapture",MSPOINTERCANCEL:"MSPointerCancel",
+MSPOINTERDOWN:"MSPointerDown",MSPOINTERENTER:"MSPointerEnter",MSPOINTERHOVER:"MSPointerHover",MSPOINTERLEAVE:"MSPointerLeave",MSPOINTERMOVE:"MSPointerMove",MSPOINTEROUT:"MSPointerOut",MSPOINTEROVER:"MSPointerOver",MSPOINTERUP:"MSPointerUp",TEXT:"text",TEXTINPUT:goog.userAgent.IE?"textinput":"textInput",COMPOSITIONSTART:"compositionstart",COMPOSITIONUPDATE:"compositionupdate",COMPOSITIONEND:"compositionend",BEFOREINPUT:"beforeinput",EXIT:"exit",LOADABORT:"loadabort",LOADCOMMIT:"loadcommit",LOADREDIRECT:"loadredirect",
+LOADSTART:"loadstart",LOADSTOP:"loadstop",RESPONSIVE:"responsive",SIZECHANGED:"sizechanged",UNRESPONSIVE:"unresponsive",VISIBILITYCHANGE:"visibilitychange",STORAGE:"storage",DOMSUBTREEMODIFIED:"DOMSubtreeModified",DOMNODEINSERTED:"DOMNodeInserted",DOMNODEREMOVED:"DOMNodeRemoved",DOMNODEREMOVEDFROMDOCUMENT:"DOMNodeRemovedFromDocument",DOMNODEINSERTEDINTODOCUMENT:"DOMNodeInsertedIntoDocument",DOMATTRMODIFIED:"DOMAttrModified",DOMCHARACTERDATAMODIFIED:"DOMCharacterDataModified",BEFOREPRINT:"beforeprint",
+AFTERPRINT:"afterprint",BEFOREINSTALLPROMPT:"beforeinstallprompt",APPINSTALLED:"appinstalled"};goog.events.getPointerFallbackEventName_=function(a,b,c){return goog.events.BrowserFeature.POINTER_EVENTS?a:goog.events.BrowserFeature.MSPOINTER_EVENTS?b:c};
+goog.events.PointerFallbackEventType={POINTERDOWN:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTERDOWN,goog.events.EventType.MSPOINTERDOWN,goog.events.EventType.MOUSEDOWN),POINTERUP:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTERUP,goog.events.EventType.MSPOINTERUP,goog.events.EventType.MOUSEUP),POINTERCANCEL:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTERCANCEL,goog.events.EventType.MSPOINTERCANCEL,goog.events.EventType.MOUSECANCEL),
+POINTERMOVE:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTERMOVE,goog.events.EventType.MSPOINTERMOVE,goog.events.EventType.MOUSEMOVE),POINTEROVER:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTEROVER,goog.events.EventType.MSPOINTEROVER,goog.events.EventType.MOUSEOVER),POINTEROUT:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTEROUT,goog.events.EventType.MSPOINTEROUT,goog.events.EventType.MOUSEOUT),POINTERENTER:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTERENTER,
+goog.events.EventType.MSPOINTERENTER,goog.events.EventType.MOUSEENTER),POINTERLEAVE:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTERLEAVE,goog.events.EventType.MSPOINTERLEAVE,goog.events.EventType.MOUSELEAVE)};
+goog.events.PointerTouchFallbackEventType={POINTERDOWN:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTERDOWN,goog.events.EventType.MSPOINTERDOWN,goog.events.EventType.TOUCHSTART),POINTERUP:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTERUP,goog.events.EventType.MSPOINTERUP,goog.events.EventType.TOUCHEND),POINTERCANCEL:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTERCANCEL,goog.events.EventType.MSPOINTERCANCEL,goog.events.EventType.TOUCHCANCEL),
+POINTERMOVE:goog.events.getPointerFallbackEventName_(goog.events.EventType.POINTERMOVE,goog.events.EventType.MSPOINTERMOVE,goog.events.EventType.TOUCHMOVE)};
+goog.events.PointerAsMouseEventType={MOUSEDOWN:goog.events.PointerFallbackEventType.POINTERDOWN,MOUSEUP:goog.events.PointerFallbackEventType.POINTERUP,MOUSECANCEL:goog.events.PointerFallbackEventType.POINTERCANCEL,MOUSEMOVE:goog.events.PointerFallbackEventType.POINTERMOVE,MOUSEOVER:goog.events.PointerFallbackEventType.POINTEROVER,MOUSEOUT:goog.events.PointerFallbackEventType.POINTEROUT,MOUSEENTER:goog.events.PointerFallbackEventType.POINTERENTER,MOUSELEAVE:goog.events.PointerFallbackEventType.POINTERLEAVE};
+goog.events.PointerAsTouchEventType={TOUCHCANCEL:goog.events.PointerTouchFallbackEventType.POINTERCANCEL,TOUCHEND:goog.events.PointerTouchFallbackEventType.POINTERUP,TOUCHMOVE:goog.events.PointerTouchFallbackEventType.POINTERMOVE,TOUCHSTART:goog.events.PointerTouchFallbackEventType.POINTERDOWN};goog.events.BrowserEvent=function(a,b){goog.events.Event.call(this,a?a.type:"");this.relatedTarget=this.currentTarget=this.target=null;this.button=this.screenY=this.screenX=this.clientY=this.clientX=this.offsetY=this.offsetX=0;this.key="";this.charCode=this.keyCode=0;this.metaKey=this.shiftKey=this.altKey=this.ctrlKey=!1;this.state=null;this.platformModifierKey=!1;this.pointerId=0;this.pointerType="";this.event_=null;a&&this.init(a,b)};goog.inherits(goog.events.BrowserEvent,goog.events.Event);
+goog.events.BrowserEvent.MouseButton={LEFT:0,MIDDLE:1,RIGHT:2};goog.events.BrowserEvent.PointerType={MOUSE:"mouse",PEN:"pen",TOUCH:"touch"};goog.events.BrowserEvent.IEButtonMap=goog.debug.freeze([1,4,2]);goog.events.BrowserEvent.IE_BUTTON_MAP=goog.events.BrowserEvent.IEButtonMap;goog.events.BrowserEvent.IE_POINTER_TYPE_MAP=goog.debug.freeze({2:goog.events.BrowserEvent.PointerType.TOUCH,3:goog.events.BrowserEvent.PointerType.PEN,4:goog.events.BrowserEvent.PointerType.MOUSE});
+goog.events.BrowserEvent.prototype.init=function(a,b){var c=this.type=a.type,d=a.changedTouches?a.changedTouches[0]:null;this.target=a.target||a.srcElement;this.currentTarget=b;var e=a.relatedTarget;e?goog.userAgent.GECKO&&(goog.reflect.canAccessProperty(e,"nodeName")||(e=null)):c==goog.events.EventType.MOUSEOVER?e=a.fromElement:c==goog.events.EventType.MOUSEOUT&&(e=a.toElement);this.relatedTarget=e;goog.isNull(d)?(this.offsetX=goog.userAgent.WEBKIT||void 0!==a.offsetX?a.offsetX:a.layerX,this.offsetY=
+goog.userAgent.WEBKIT||void 0!==a.offsetY?a.offsetY:a.layerY,this.clientX=void 0!==a.clientX?a.clientX:a.pageX,this.clientY=void 0!==a.clientY?a.clientY:a.pageY,this.screenX=a.screenX||0,this.screenY=a.screenY||0):(this.clientX=void 0!==d.clientX?d.clientX:d.pageX,this.clientY=void 0!==d.clientY?d.clientY:d.pageY,this.screenX=d.screenX||0,this.screenY=d.screenY||0);this.button=a.button;this.keyCode=a.keyCode||0;this.key=a.key||"";this.charCode=a.charCode||("keypress"==c?a.keyCode:0);this.ctrlKey=
+a.ctrlKey;this.altKey=a.altKey;this.shiftKey=a.shiftKey;this.metaKey=a.metaKey;this.platformModifierKey=goog.userAgent.MAC?a.metaKey:a.ctrlKey;this.pointerId=a.pointerId||0;this.pointerType=goog.events.BrowserEvent.getPointerType_(a);this.state=a.state;this.event_=a;a.defaultPrevented&&this.preventDefault()};
+goog.events.BrowserEvent.prototype.isButton=function(a){return goog.events.BrowserFeature.HAS_W3C_BUTTON?this.event_.button==a:"click"==this.type?a==goog.events.BrowserEvent.MouseButton.LEFT:!!(this.event_.button&goog.events.BrowserEvent.IE_BUTTON_MAP[a])};goog.events.BrowserEvent.prototype.isMouseActionButton=function(){return this.isButton(goog.events.BrowserEvent.MouseButton.LEFT)&&!(goog.userAgent.WEBKIT&&goog.userAgent.MAC&&this.ctrlKey)};
+goog.events.BrowserEvent.prototype.stopPropagation=function(){goog.events.BrowserEvent.superClass_.stopPropagation.call(this);this.event_.stopPropagation?this.event_.stopPropagation():this.event_.cancelBubble=!0};
+goog.events.BrowserEvent.prototype.preventDefault=function(){goog.events.BrowserEvent.superClass_.preventDefault.call(this);var a=this.event_;if(a.preventDefault)a.preventDefault();else if(a.returnValue=!1,goog.events.BrowserFeature.SET_KEY_CODE_TO_PREVENT_DEFAULT)try{if(a.ctrlKey||112<=a.keyCode&&123>=a.keyCode)a.keyCode=-1}catch(b){}};goog.events.BrowserEvent.prototype.getBrowserEvent=function(){return this.event_};
+goog.events.BrowserEvent.getPointerType_=function(a){return goog.isString(a.pointerType)?a.pointerType:goog.events.BrowserEvent.IE_POINTER_TYPE_MAP[a.pointerType]||""};goog.events.Listenable=function(){};goog.events.Listenable.IMPLEMENTED_BY_PROP="closure_listenable_"+(1E6*Math.random()|0);goog.events.Listenable.addImplementation=function(a){a.prototype[goog.events.Listenable.IMPLEMENTED_BY_PROP]=!0};goog.events.Listenable.isImplementedBy=function(a){return!(!a||!a[goog.events.Listenable.IMPLEMENTED_BY_PROP])};goog.events.ListenableKey=function(){};goog.events.ListenableKey.counter_=0;goog.events.ListenableKey.reserveKey=function(){return++goog.events.ListenableKey.counter_};goog.events.Listener=function(a,b,c,d,e,f){goog.events.Listener.ENABLE_MONITORING&&(this.creationStack=Error().stack);this.listener=a;this.proxy=b;this.src=c;this.type=d;this.capture=!!e;this.handler=f;this.key=goog.events.ListenableKey.reserveKey();this.removed=this.callOnce=!1};goog.events.Listener.ENABLE_MONITORING=!1;goog.events.Listener.prototype.markAsRemoved=function(){this.removed=!0;this.handler=this.src=this.proxy=this.listener=null};goog.events.ListenerMap=function(a){this.src=a;this.listeners={};this.typeCount_=0};goog.events.ListenerMap.prototype.getTypeCount=function(){return this.typeCount_};goog.events.ListenerMap.prototype.getListenerCount=function(){var a=0,b;for(b in this.listeners)a+=this.listeners[b].length;return a};
+goog.events.ListenerMap.prototype.add=function(a,b,c,d,e){var f=a.toString();a=this.listeners[f];a||(a=this.listeners[f]=[],this.typeCount_++);var g=goog.events.ListenerMap.findListenerIndex_(a,b,d,e);-1<g?(b=a[g],c||(b.callOnce=!1)):(b=new goog.events.Listener(b,null,this.src,f,!!d,e),b.callOnce=c,a.push(b));return b};
+goog.events.ListenerMap.prototype.remove=function(a,b,c,d){a=a.toString();if(!(a in this.listeners))return!1;var e=this.listeners[a];b=goog.events.ListenerMap.findListenerIndex_(e,b,c,d);return-1<b?(e[b].markAsRemoved(),goog.array.removeAt(e,b),0==e.length&&(delete this.listeners[a],this.typeCount_--),!0):!1};
+goog.events.ListenerMap.prototype.removeByKey=function(a){var b=a.type;if(!(b in this.listeners))return!1;var c=goog.array.remove(this.listeners[b],a);c&&(a.markAsRemoved(),0==this.listeners[b].length&&(delete this.listeners[b],this.typeCount_--));return c};goog.events.ListenerMap.prototype.removeAll=function(a){a=a&&a.toString();var b=0,c;for(c in this.listeners)if(!a||c==a){for(var d=this.listeners[c],e=0;e<d.length;e++)++b,d[e].markAsRemoved();delete this.listeners[c];this.typeCount_--}return b};
+goog.events.ListenerMap.prototype.getListeners=function(a,b){var c=this.listeners[a.toString()],d=[];if(c)for(var e=0;e<c.length;++e){var f=c[e];f.capture==b&&d.push(f)}return d};goog.events.ListenerMap.prototype.getListener=function(a,b,c,d){a=this.listeners[a.toString()];var e=-1;a&&(e=goog.events.ListenerMap.findListenerIndex_(a,b,c,d));return-1<e?a[e]:null};
+goog.events.ListenerMap.prototype.hasListener=function(a,b){var c=goog.isDef(a),d=c?a.toString():"",e=goog.isDef(b);return goog.object.some(this.listeners,function(a,g){for(var f=0;f<a.length;++f)if(!(c&&a[f].type!=d||e&&a[f].capture!=b))return!0;return!1})};goog.events.ListenerMap.findListenerIndex_=function(a,b,c,d){for(var e=0;e<a.length;++e){var f=a[e];if(!f.removed&&f.listener==b&&f.capture==!!c&&f.handler==d)return e}return-1};goog.events.LISTENER_MAP_PROP_="closure_lm_"+(1E6*Math.random()|0);goog.events.onString_="on";goog.events.onStringMap_={};goog.events.CaptureSimulationMode={OFF_AND_FAIL:0,OFF_AND_SILENT:1,ON:2};goog.events.CAPTURE_SIMULATION_MODE=2;goog.events.listenerCountEstimate_=0;
+goog.events.listen=function(a,b,c,d,e){if(d&&d.once)return goog.events.listenOnce(a,b,c,d,e);if(goog.isArray(b)){for(var f=0;f<b.length;f++)goog.events.listen(a,b[f],c,d,e);return null}c=goog.events.wrapListener(c);return goog.events.Listenable.isImplementedBy(a)?(d=goog.isObject(d)?!!d.capture:!!d,a.listen(b,c,d,e)):goog.events.listen_(a,b,c,!1,d,e)};
+goog.events.listen_=function(a,b,c,d,e,f){if(!b)throw Error("Invalid event type");var g=goog.isObject(e)?!!e.capture:!!e;if(g&&!goog.events.BrowserFeature.HAS_W3C_EVENT_SUPPORT){if(goog.events.CAPTURE_SIMULATION_MODE==goog.events.CaptureSimulationMode.OFF_AND_FAIL)return goog.asserts.fail("Can not register capture listener in IE8-."),null;if(goog.events.CAPTURE_SIMULATION_MODE==goog.events.CaptureSimulationMode.OFF_AND_SILENT)return null}var h=goog.events.getListenerMap_(a);h||(a[goog.events.LISTENER_MAP_PROP_]=
+h=new goog.events.ListenerMap(a));c=h.add(b,c,d,g,f);if(c.proxy)return c;d=goog.events.getProxy();c.proxy=d;d.src=a;d.listener=c;if(a.addEventListener)goog.events.BrowserFeature.PASSIVE_EVENTS||(e=g),void 0===e&&(e=!1),a.addEventListener(b.toString(),d,e);else if(a.attachEvent)a.attachEvent(goog.events.getOnString_(b.toString()),d);else if(a.addListener&&a.removeListener)goog.asserts.assert("change"===b,"MediaQueryList only has a change event"),a.addListener(d);else throw Error("addEventListener and attachEvent are unavailable.");
+goog.events.listenerCountEstimate_++;return c};goog.events.getProxy=function(){var a=goog.events.handleBrowserEvent_,b=goog.events.BrowserFeature.HAS_W3C_EVENT_SUPPORT?function(c){return a.call(b.src,b.listener,c)}:function(c){c=a.call(b.src,b.listener,c);if(!c)return c};return b};
+goog.events.listenOnce=function(a,b,c,d,e){if(goog.isArray(b)){for(var f=0;f<b.length;f++)goog.events.listenOnce(a,b[f],c,d,e);return null}c=goog.events.wrapListener(c);return goog.events.Listenable.isImplementedBy(a)?(d=goog.isObject(d)?!!d.capture:!!d,a.listenOnce(b,c,d,e)):goog.events.listen_(a,b,c,!0,d,e)};goog.events.listenWithWrapper=function(a,b,c,d,e){b.listen(a,c,d,e)};
+goog.events.unlisten=function(a,b,c,d,e){if(goog.isArray(b)){for(var f=0;f<b.length;f++)goog.events.unlisten(a,b[f],c,d,e);return null}d=goog.isObject(d)?!!d.capture:!!d;c=goog.events.wrapListener(c);if(goog.events.Listenable.isImplementedBy(a))return a.unlisten(b,c,d,e);if(!a)return!1;if(a=goog.events.getListenerMap_(a))if(b=a.getListener(b,c,d,e))return goog.events.unlistenByKey(b);return!1};
+goog.events.unlistenByKey=function(a){if(goog.isNumber(a)||!a||a.removed)return!1;var b=a.src;if(goog.events.Listenable.isImplementedBy(b))return b.unlistenByKey(a);var c=a.type,d=a.proxy;b.removeEventListener?b.removeEventListener(c,d,a.capture):b.detachEvent?b.detachEvent(goog.events.getOnString_(c),d):b.addListener&&b.removeListener&&b.removeListener(d);goog.events.listenerCountEstimate_--;(c=goog.events.getListenerMap_(b))?(c.removeByKey(a),0==c.getTypeCount()&&(c.src=null,b[goog.events.LISTENER_MAP_PROP_]=
+null)):a.markAsRemoved();return!0};goog.events.unlistenWithWrapper=function(a,b,c,d,e){b.unlisten(a,c,d,e)};goog.events.removeAll=function(a,b){if(!a)return 0;if(goog.events.Listenable.isImplementedBy(a))return a.removeAllListeners(b);var c=goog.events.getListenerMap_(a);if(!c)return 0;var d=0,e=b&&b.toString(),f;for(f in c.listeners)if(!e||f==e)for(var g=c.listeners[f].concat(),h=0;h<g.length;++h)goog.events.unlistenByKey(g[h])&&++d;return d};
+goog.events.getListeners=function(a,b,c){return goog.events.Listenable.isImplementedBy(a)?a.getListeners(b,c):a?(a=goog.events.getListenerMap_(a))?a.getListeners(b,c):[]:[]};goog.events.getListener=function(a,b,c,d,e){c=goog.events.wrapListener(c);d=!!d;return goog.events.Listenable.isImplementedBy(a)?a.getListener(b,c,d,e):a?(a=goog.events.getListenerMap_(a))?a.getListener(b,c,d,e):null:null};
+goog.events.hasListener=function(a,b,c){if(goog.events.Listenable.isImplementedBy(a))return a.hasListener(b,c);a=goog.events.getListenerMap_(a);return!!a&&a.hasListener(b,c)};goog.events.expose=function(a){var b=[],c;for(c in a)a[c]&&a[c].id?b.push(c+" = "+a[c]+" ("+a[c].id+")"):b.push(c+" = "+a[c]);return b.join("\n")};goog.events.getOnString_=function(a){return a in goog.events.onStringMap_?goog.events.onStringMap_[a]:goog.events.onStringMap_[a]=goog.events.onString_+a};
+goog.events.fireListeners=function(a,b,c,d){return goog.events.Listenable.isImplementedBy(a)?a.fireListeners(b,c,d):goog.events.fireListeners_(a,b,c,d)};goog.events.fireListeners_=function(a,b,c,d){var e=!0;if(a=goog.events.getListenerMap_(a))if(b=a.listeners[b.toString()])for(b=b.concat(),a=0;a<b.length;a++){var f=b[a];f&&f.capture==c&&!f.removed&&(f=goog.events.fireListener(f,d),e=e&&!1!==f)}return e};
+goog.events.fireListener=function(a,b){var c=a.listener,d=a.handler||a.src;a.callOnce&&goog.events.unlistenByKey(a);return c.call(d,b)};goog.events.getTotalListenerCount=function(){return goog.events.listenerCountEstimate_};goog.events.dispatchEvent=function(a,b){goog.asserts.assert(goog.events.Listenable.isImplementedBy(a),"Can not use goog.events.dispatchEvent with non-goog.events.Listenable instance.");return a.dispatchEvent(b)};
+goog.events.protectBrowserEventEntryPoint=function(a){goog.events.handleBrowserEvent_=a.protectEntryPoint(goog.events.handleBrowserEvent_)};
+goog.events.handleBrowserEvent_=function(a,b){if(a.removed)return!0;if(!goog.events.BrowserFeature.HAS_W3C_EVENT_SUPPORT){var c=b||goog.getObjectByName("window.event"),d=new goog.events.BrowserEvent(c,this),e=!0;if(goog.events.CAPTURE_SIMULATION_MODE==goog.events.CaptureSimulationMode.ON){if(!goog.events.isMarkedIeEvent_(c)){goog.events.markIeEvent_(c);c=[];for(var f=d.currentTarget;f;f=f.parentNode)c.push(f);f=a.type;for(var g=c.length-1;!d.propagationStopped_&&0<=g;g--){d.currentTarget=c[g];var h=
+goog.events.fireListeners_(c[g],f,!0,d);e=e&&h}for(g=0;!d.propagationStopped_&&g<c.length;g++)d.currentTarget=c[g],h=goog.events.fireListeners_(c[g],f,!1,d),e=e&&h}}else e=goog.events.fireListener(a,d);return e}return goog.events.fireListener(a,new goog.events.BrowserEvent(b,this))};goog.events.markIeEvent_=function(a){var b=!1;if(0==a.keyCode)try{a.keyCode=-1;return}catch(c){b=!0}if(b||void 0==a.returnValue)a.returnValue=!0};goog.events.isMarkedIeEvent_=function(a){return 0>a.keyCode||void 0!=a.returnValue};
+goog.events.uniqueIdCounter_=0;goog.events.getUniqueId=function(a){return a+"_"+goog.events.uniqueIdCounter_++};goog.events.getListenerMap_=function(a){a=a[goog.events.LISTENER_MAP_PROP_];return a instanceof goog.events.ListenerMap?a:null};goog.events.LISTENER_WRAPPER_PROP_="__closure_events_fn_"+(1E9*Math.random()>>>0);
+goog.events.wrapListener=function(a){goog.asserts.assert(a,"Listener can not be null.");if(goog.isFunction(a))return a;goog.asserts.assert(a.handleEvent,"An object listener must have handleEvent method.");a[goog.events.LISTENER_WRAPPER_PROP_]||(a[goog.events.LISTENER_WRAPPER_PROP_]=function(b){return a.handleEvent(b)});return a[goog.events.LISTENER_WRAPPER_PROP_]};goog.debug.entryPointRegistry.register(function(a){goog.events.handleBrowserEvent_=a(goog.events.handleBrowserEvent_)});goog.dom.vendor={};goog.dom.vendor.getVendorJsPrefix=function(){return goog.userAgent.WEBKIT?"Webkit":goog.userAgent.GECKO?"Moz":goog.userAgent.IE?"ms":goog.userAgent.OPERA?"O":null};goog.dom.vendor.getVendorPrefix=function(){return goog.userAgent.WEBKIT?"-webkit":goog.userAgent.GECKO?"-moz":goog.userAgent.IE?"-ms":goog.userAgent.OPERA?"-o":null};
+goog.dom.vendor.getPrefixedPropertyName=function(a,b){if(b&&a in b)return a;var c=goog.dom.vendor.getVendorJsPrefix();return c?(c=c.toLowerCase(),c+=goog.string.toTitleCase(a),!goog.isDef(b)||c in b?c:null):null};goog.dom.vendor.getPrefixedEventType=function(a){return((goog.dom.vendor.getVendorJsPrefix()||"")+a).toLowerCase()};goog.math.Box=function(a,b,c,d){this.top=a;this.right=b;this.bottom=c;this.left=d};goog.math.Box.boundingBox=function(a){for(var b=new goog.math.Box(arguments[0].y,arguments[0].x,arguments[0].y,arguments[0].x),c=1;c<arguments.length;c++)b.expandToIncludeCoordinate(arguments[c]);return b};goog.math.Box.prototype.getWidth=function(){return this.right-this.left};goog.math.Box.prototype.getHeight=function(){return this.bottom-this.top};
+goog.math.Box.prototype.clone=function(){return new goog.math.Box(this.top,this.right,this.bottom,this.left)};goog.DEBUG&&(goog.math.Box.prototype.toString=function(){return"("+this.top+"t, "+this.right+"r, "+this.bottom+"b, "+this.left+"l)"});goog.math.Box.prototype.contains=function(a){return goog.math.Box.contains(this,a)};
+goog.math.Box.prototype.expand=function(a,b,c,d){goog.isObject(a)?(this.top-=a.top,this.right+=a.right,this.bottom+=a.bottom,this.left-=a.left):(this.top-=a,this.right+=Number(b),this.bottom+=Number(c),this.left-=Number(d));return this};goog.math.Box.prototype.expandToInclude=function(a){this.left=Math.min(this.left,a.left);this.top=Math.min(this.top,a.top);this.right=Math.max(this.right,a.right);this.bottom=Math.max(this.bottom,a.bottom)};
+goog.math.Box.prototype.expandToIncludeCoordinate=function(a){this.top=Math.min(this.top,a.y);this.right=Math.max(this.right,a.x);this.bottom=Math.max(this.bottom,a.y);this.left=Math.min(this.left,a.x)};goog.math.Box.equals=function(a,b){return a==b?!0:a&&b?a.top==b.top&&a.right==b.right&&a.bottom==b.bottom&&a.left==b.left:!1};
+goog.math.Box.contains=function(a,b){return a&&b?b instanceof goog.math.Box?b.left>=a.left&&b.right<=a.right&&b.top>=a.top&&b.bottom<=a.bottom:b.x>=a.left&&b.x<=a.right&&b.y>=a.top&&b.y<=a.bottom:!1};goog.math.Box.relativePositionX=function(a,b){return b.x<a.left?b.x-a.left:b.x>a.right?b.x-a.right:0};goog.math.Box.relativePositionY=function(a,b){return b.y<a.top?b.y-a.top:b.y>a.bottom?b.y-a.bottom:0};
+goog.math.Box.distance=function(a,b){var c=goog.math.Box.relativePositionX(a,b),d=goog.math.Box.relativePositionY(a,b);return Math.sqrt(c*c+d*d)};goog.math.Box.intersects=function(a,b){return a.left<=b.right&&b.left<=a.right&&a.top<=b.bottom&&b.top<=a.bottom};goog.math.Box.intersectsWithPadding=function(a,b,c){return a.left<=b.right+c&&b.left<=a.right+c&&a.top<=b.bottom+c&&b.top<=a.bottom+c};
+goog.math.Box.prototype.ceil=function(){this.top=Math.ceil(this.top);this.right=Math.ceil(this.right);this.bottom=Math.ceil(this.bottom);this.left=Math.ceil(this.left);return this};goog.math.Box.prototype.floor=function(){this.top=Math.floor(this.top);this.right=Math.floor(this.right);this.bottom=Math.floor(this.bottom);this.left=Math.floor(this.left);return this};
+goog.math.Box.prototype.round=function(){this.top=Math.round(this.top);this.right=Math.round(this.right);this.bottom=Math.round(this.bottom);this.left=Math.round(this.left);return this};goog.math.Box.prototype.translate=function(a,b){a instanceof goog.math.Coordinate?(this.left+=a.x,this.right+=a.x,this.top+=a.y,this.bottom+=a.y):(goog.asserts.assertNumber(a),this.left+=a,this.right+=a,goog.isNumber(b)&&(this.top+=b,this.bottom+=b));return this};
+goog.math.Box.prototype.scale=function(a,b){var c=goog.isNumber(b)?b:a;this.left*=a;this.right*=a;this.top*=c;this.bottom*=c;return this};goog.math.IRect=function(){};goog.math.Rect=function(a,b,c,d){this.left=a;this.top=b;this.width=c;this.height=d};goog.math.Rect.prototype.clone=function(){return new goog.math.Rect(this.left,this.top,this.width,this.height)};goog.math.Rect.prototype.toBox=function(){return new goog.math.Box(this.top,this.left+this.width,this.top+this.height,this.left)};goog.math.Rect.createFromPositionAndSize=function(a,b){return new goog.math.Rect(a.x,a.y,b.width,b.height)};
+goog.math.Rect.createFromBox=function(a){return new goog.math.Rect(a.left,a.top,a.right-a.left,a.bottom-a.top)};goog.DEBUG&&(goog.math.Rect.prototype.toString=function(){return"("+this.left+", "+this.top+" - "+this.width+"w x "+this.height+"h)"});goog.math.Rect.equals=function(a,b){return a==b?!0:a&&b?a.left==b.left&&a.width==b.width&&a.top==b.top&&a.height==b.height:!1};
+goog.math.Rect.prototype.intersection=function(a){var b=Math.max(this.left,a.left),c=Math.min(this.left+this.width,a.left+a.width);if(b<=c){var d=Math.max(this.top,a.top);a=Math.min(this.top+this.height,a.top+a.height);if(d<=a)return this.left=b,this.top=d,this.width=c-b,this.height=a-d,!0}return!1};
+goog.math.Rect.intersection=function(a,b){var c=Math.max(a.left,b.left),d=Math.min(a.left+a.width,b.left+b.width);if(c<=d){var e=Math.max(a.top,b.top),f=Math.min(a.top+a.height,b.top+b.height);if(e<=f)return new goog.math.Rect(c,e,d-c,f-e)}return null};goog.math.Rect.intersects=function(a,b){return a.left<=b.left+b.width&&b.left<=a.left+a.width&&a.top<=b.top+b.height&&b.top<=a.top+a.height};goog.math.Rect.prototype.intersects=function(a){return goog.math.Rect.intersects(this,a)};
+goog.math.Rect.difference=function(a,b){var c=goog.math.Rect.intersection(a,b);if(!c||!c.height||!c.width)return[a.clone()];c=[];var d=a.top,e=a.height,f=a.left+a.width,g=a.top+a.height,h=b.left+b.width,k=b.top+b.height;b.top>a.top&&(c.push(new goog.math.Rect(a.left,a.top,a.width,b.top-a.top)),d=b.top,e-=b.top-a.top);k<g&&(c.push(new goog.math.Rect(a.left,k,a.width,g-k)),e=k-d);b.left>a.left&&c.push(new goog.math.Rect(a.left,d,b.left-a.left,e));h<f&&c.push(new goog.math.Rect(h,d,f-h,e));return c};
+goog.math.Rect.prototype.difference=function(a){return goog.math.Rect.difference(this,a)};goog.math.Rect.prototype.boundingRect=function(a){var b=Math.max(this.left+this.width,a.left+a.width),c=Math.max(this.top+this.height,a.top+a.height);this.left=Math.min(this.left,a.left);this.top=Math.min(this.top,a.top);this.width=b-this.left;this.height=c-this.top};goog.math.Rect.boundingRect=function(a,b){if(!a||!b)return null;var c=new goog.math.Rect(a.left,a.top,a.width,a.height);c.boundingRect(b);return c};
+goog.math.Rect.prototype.contains=function(a){return a instanceof goog.math.Coordinate?a.x>=this.left&&a.x<=this.left+this.width&&a.y>=this.top&&a.y<=this.top+this.height:this.left<=a.left&&this.left+this.width>=a.left+a.width&&this.top<=a.top&&this.top+this.height>=a.top+a.height};goog.math.Rect.prototype.squaredDistance=function(a){var b=a.x<this.left?this.left-a.x:Math.max(a.x-(this.left+this.width),0);a=a.y<this.top?this.top-a.y:Math.max(a.y-(this.top+this.height),0);return b*b+a*a};
+goog.math.Rect.prototype.distance=function(a){return Math.sqrt(this.squaredDistance(a))};goog.math.Rect.prototype.getSize=function(){return new goog.math.Size(this.width,this.height)};goog.math.Rect.prototype.getTopLeft=function(){return new goog.math.Coordinate(this.left,this.top)};goog.math.Rect.prototype.getCenter=function(){return new goog.math.Coordinate(this.left+this.width/2,this.top+this.height/2)};
+goog.math.Rect.prototype.getBottomRight=function(){return new goog.math.Coordinate(this.left+this.width,this.top+this.height)};goog.math.Rect.prototype.ceil=function(){this.left=Math.ceil(this.left);this.top=Math.ceil(this.top);this.width=Math.ceil(this.width);this.height=Math.ceil(this.height);return this};goog.math.Rect.prototype.floor=function(){this.left=Math.floor(this.left);this.top=Math.floor(this.top);this.width=Math.floor(this.width);this.height=Math.floor(this.height);return this};
+goog.math.Rect.prototype.round=function(){this.left=Math.round(this.left);this.top=Math.round(this.top);this.width=Math.round(this.width);this.height=Math.round(this.height);return this};goog.math.Rect.prototype.translate=function(a,b){a instanceof goog.math.Coordinate?(this.left+=a.x,this.top+=a.y):(this.left+=goog.asserts.assertNumber(a),goog.isNumber(b)&&(this.top+=b));return this};
+goog.math.Rect.prototype.scale=function(a,b){var c=goog.isNumber(b)?b:a;this.left*=a;this.width*=a;this.top*=c;this.height*=c;return this};goog.style={};goog.style.setStyle=function(a,b,c){if(goog.isString(b))goog.style.setStyle_(a,c,b);else for(var d in b)goog.style.setStyle_(a,b[d],d)};goog.style.setStyle_=function(a,b,c){(c=goog.style.getVendorJsStyleName_(a,c))&&(a.style[c]=b)};goog.style.styleNameCache_={};
+goog.style.getVendorJsStyleName_=function(a,b){var c=goog.style.styleNameCache_[b];if(!c){var d=goog.string.toCamelCase(b);c=d;void 0===a.style[d]&&(d=goog.dom.vendor.getVendorJsPrefix()+goog.string.toTitleCase(d),void 0!==a.style[d]&&(c=d));goog.style.styleNameCache_[b]=c}return c};
+goog.style.getVendorStyleName_=function(a,b){var c=goog.string.toCamelCase(b);return void 0===a.style[c]&&(c=goog.dom.vendor.getVendorJsPrefix()+goog.string.toTitleCase(c),void 0!==a.style[c])?goog.dom.vendor.getVendorPrefix()+"-"+b:b};goog.style.getStyle=function(a,b){var c=a.style[goog.string.toCamelCase(b)];return"undefined"!==typeof c?c:a.style[goog.style.getVendorJsStyleName_(a,b)]||""};
+goog.style.getComputedStyle=function(a,b){var c=goog.dom.getOwnerDocument(a);return c.defaultView&&c.defaultView.getComputedStyle&&(c=c.defaultView.getComputedStyle(a,null))?c[b]||c.getPropertyValue(b)||"":""};goog.style.getCascadedStyle=function(a,b){return a.currentStyle?a.currentStyle[b]:null};goog.style.getStyle_=function(a,b){return goog.style.getComputedStyle(a,b)||goog.style.getCascadedStyle(a,b)||a.style&&a.style[b]};
+goog.style.getComputedBoxSizing=function(a){return goog.style.getStyle_(a,"boxSizing")||goog.style.getStyle_(a,"MozBoxSizing")||goog.style.getStyle_(a,"WebkitBoxSizing")||null};goog.style.getComputedPosition=function(a){return goog.style.getStyle_(a,"position")};goog.style.getBackgroundColor=function(a){return goog.style.getStyle_(a,"backgroundColor")};goog.style.getComputedOverflowX=function(a){return goog.style.getStyle_(a,"overflowX")};
+goog.style.getComputedOverflowY=function(a){return goog.style.getStyle_(a,"overflowY")};goog.style.getComputedZIndex=function(a){return goog.style.getStyle_(a,"zIndex")};goog.style.getComputedTextAlign=function(a){return goog.style.getStyle_(a,"textAlign")};goog.style.getComputedCursor=function(a){return goog.style.getStyle_(a,"cursor")};goog.style.getComputedTransform=function(a){var b=goog.style.getVendorStyleName_(a,"transform");return goog.style.getStyle_(a,b)||goog.style.getStyle_(a,"transform")};
+goog.style.setPosition=function(a,b,c){if(b instanceof goog.math.Coordinate){var d=b.x;b=b.y}else d=b,b=c;a.style.left=goog.style.getPixelStyleValue_(d,!1);a.style.top=goog.style.getPixelStyleValue_(b,!1)};goog.style.getPosition=function(a){return new goog.math.Coordinate(a.offsetLeft,a.offsetTop)};
+goog.style.getClientViewportElement=function(a){a=a?goog.dom.getOwnerDocument(a):goog.dom.getDocument();return!goog.userAgent.IE||goog.userAgent.isDocumentModeOrHigher(9)||goog.dom.getDomHelper(a).isCss1CompatMode()?a.documentElement:a.body};goog.style.getViewportPageOffset=function(a){var b=a.body;a=a.documentElement;return new goog.math.Coordinate(b.scrollLeft||a.scrollLeft,b.scrollTop||a.scrollTop)};
+goog.style.getBoundingClientRect_=function(a){try{var b=a.getBoundingClientRect()}catch(c){return{left:0,top:0,right:0,bottom:0}}goog.userAgent.IE&&a.ownerDocument.body&&(a=a.ownerDocument,b.left-=a.documentElement.clientLeft+a.body.clientLeft,b.top-=a.documentElement.clientTop+a.body.clientTop);return b};
+goog.style.getOffsetParent=function(a){if(goog.userAgent.IE&&!goog.userAgent.isDocumentModeOrHigher(8))return goog.asserts.assert(a&&"offsetParent"in a),a.offsetParent;var b=goog.dom.getOwnerDocument(a),c=goog.style.getStyle_(a,"position"),d="fixed"==c||"absolute"==c;for(a=a.parentNode;a&&a!=b;a=a.parentNode)if(a.nodeType==goog.dom.NodeType.DOCUMENT_FRAGMENT&&a.host&&(a=a.host),c=goog.style.getStyle_(a,"position"),d=d&&"static"==c&&a!=b.documentElement&&a!=b.body,!d&&(a.scrollWidth>a.clientWidth||
+a.scrollHeight>a.clientHeight||"fixed"==c||"absolute"==c||"relative"==c))return a;return null};
+goog.style.getVisibleRectForElement=function(a){for(var b=new goog.math.Box(0,Infinity,Infinity,0),c=goog.dom.getDomHelper(a),d=c.getDocument().body,e=c.getDocument().documentElement,f=c.getDocumentScrollElement();a=goog.style.getOffsetParent(a);)if(!(goog.userAgent.IE&&0==a.clientWidth||goog.userAgent.WEBKIT&&0==a.clientHeight&&a==d)&&a!=d&&a!=e&&"visible"!=goog.style.getStyle_(a,"overflow")){var g=goog.style.getPageOffset(a),h=goog.style.getClientLeftTop(a);g.x+=h.x;g.y+=h.y;b.top=Math.max(b.top,
+g.y);b.right=Math.min(b.right,g.x+a.clientWidth);b.bottom=Math.min(b.bottom,g.y+a.clientHeight);b.left=Math.max(b.left,g.x)}d=f.scrollLeft;f=f.scrollTop;b.left=Math.max(b.left,d);b.top=Math.max(b.top,f);c=c.getViewportSize();b.right=Math.min(b.right,d+c.width);b.bottom=Math.min(b.bottom,f+c.height);return 0<=b.top&&0<=b.left&&b.bottom>b.top&&b.right>b.left?b:null};
+goog.style.getContainerOffsetToScrollInto=function(a,b,c){var d=b||goog.dom.getDocumentScrollElement(),e=goog.style.getPageOffset(a),f=goog.style.getPageOffset(d),g=goog.style.getBorderBox(d);d==goog.dom.getDocumentScrollElement()?(b=e.x-d.scrollLeft,e=e.y-d.scrollTop,goog.userAgent.IE&&!goog.userAgent.isDocumentModeOrHigher(10)&&(b+=g.left,e+=g.top)):(b=e.x-f.x-g.left,e=e.y-f.y-g.top);g=goog.style.getSizeWithDisplay_(a);a=d.clientWidth-g.width;g=d.clientHeight-g.height;f=d.scrollLeft;d=d.scrollTop;
+c?(f+=b-a/2,d+=e-g/2):(f+=Math.min(b,Math.max(b-a,0)),d+=Math.min(e,Math.max(e-g,0)));return new goog.math.Coordinate(f,d)};goog.style.scrollIntoContainerView=function(a,b,c){b=b||goog.dom.getDocumentScrollElement();a=goog.style.getContainerOffsetToScrollInto(a,b,c);b.scrollLeft=a.x;b.scrollTop=a.y};goog.style.getClientLeftTop=function(a){return new goog.math.Coordinate(a.clientLeft,a.clientTop)};
+goog.style.getPageOffset=function(a){var b=goog.dom.getOwnerDocument(a);goog.asserts.assertObject(a,"Parameter is required");var c=new goog.math.Coordinate(0,0),d=goog.style.getClientViewportElement(b);if(a==d)return c;a=goog.style.getBoundingClientRect_(a);b=goog.dom.getDomHelper(b).getDocumentScroll();c.x=a.left+b.x;c.y=a.top+b.y;return c};goog.style.getPageOffsetLeft=function(a){return goog.style.getPageOffset(a).x};goog.style.getPageOffsetTop=function(a){return goog.style.getPageOffset(a).y};
+goog.style.getFramedPageOffset=function(a,b){var c=new goog.math.Coordinate(0,0),d=goog.dom.getWindow(goog.dom.getOwnerDocument(a));if(!goog.reflect.canAccessProperty(d,"parent"))return c;var e=a;do{var f=d==b?goog.style.getPageOffset(e):goog.style.getClientPositionForElement_(goog.asserts.assert(e));c.x+=f.x;c.y+=f.y}while(d&&d!=b&&d!=d.parent&&(e=d.frameElement)&&(d=d.parent));return c};
+goog.style.translateRectForAnotherFrame=function(a,b,c){if(b.getDocument()!=c.getDocument()){var d=b.getDocument().body;c=goog.style.getFramedPageOffset(d,c.getWindow());c=goog.math.Coordinate.difference(c,goog.style.getPageOffset(d));!goog.userAgent.IE||goog.userAgent.isDocumentModeOrHigher(9)||b.isCss1CompatMode()||(c=goog.math.Coordinate.difference(c,b.getDocumentScroll()));a.left+=c.x;a.top+=c.y}};
+goog.style.getRelativePosition=function(a,b){var c=goog.style.getClientPosition(a),d=goog.style.getClientPosition(b);return new goog.math.Coordinate(c.x-d.x,c.y-d.y)};goog.style.getClientPositionForElement_=function(a){a=goog.style.getBoundingClientRect_(a);return new goog.math.Coordinate(a.left,a.top)};
+goog.style.getClientPosition=function(a){goog.asserts.assert(a);if(a.nodeType==goog.dom.NodeType.ELEMENT)return goog.style.getClientPositionForElement_(a);a=a.changedTouches?a.changedTouches[0]:a;return new goog.math.Coordinate(a.clientX,a.clientY)};goog.style.setPageOffset=function(a,b,c){var d=goog.style.getPageOffset(a);b instanceof goog.math.Coordinate&&(c=b.y,b=b.x);b=goog.asserts.assertNumber(b)-d.x;goog.style.setPosition(a,a.offsetLeft+b,a.offsetTop+(Number(c)-d.y))};
+goog.style.setSize=function(a,b,c){if(b instanceof goog.math.Size)c=b.height,b=b.width;else if(void 0==c)throw Error("missing height argument");goog.style.setWidth(a,b);goog.style.setHeight(a,c)};goog.style.getPixelStyleValue_=function(a,b){"number"==typeof a&&(a=(b?Math.round(a):a)+"px");return a};goog.style.setHeight=function(a,b){a.style.height=goog.style.getPixelStyleValue_(b,!0)};goog.style.setWidth=function(a,b){a.style.width=goog.style.getPixelStyleValue_(b,!0)};
+goog.style.getSize=function(a){return goog.style.evaluateWithTemporaryDisplay_(goog.style.getSizeWithDisplay_,a)};goog.style.evaluateWithTemporaryDisplay_=function(a,b){if("none"!=goog.style.getStyle_(b,"display"))return a(b);var c=b.style,d=c.display,e=c.visibility,f=c.position;c.visibility="hidden";c.position="absolute";c.display="inline";var g=a(b);c.display=d;c.position=f;c.visibility=e;return g};
+goog.style.getSizeWithDisplay_=function(a){var b=a.offsetWidth,c=a.offsetHeight,d=goog.userAgent.WEBKIT&&!b&&!c;return goog.isDef(b)&&!d||!a.getBoundingClientRect?new goog.math.Size(b,c):(a=goog.style.getBoundingClientRect_(a),new goog.math.Size(a.right-a.left,a.bottom-a.top))};goog.style.getTransformedSize=function(a){if(!a.getBoundingClientRect)return null;a=goog.style.evaluateWithTemporaryDisplay_(goog.style.getBoundingClientRect_,a);return new goog.math.Size(a.right-a.left,a.bottom-a.top)};
+goog.style.getBounds=function(a){var b=goog.style.getPageOffset(a);a=goog.style.getSize(a);return new goog.math.Rect(b.x,b.y,a.width,a.height)};goog.style.toCamelCase=function(a){return goog.string.toCamelCase(String(a))};goog.style.toSelectorCase=function(a){return goog.string.toSelectorCase(a)};
+goog.style.getOpacity=function(a){goog.asserts.assert(a);var b=a.style;a="";"opacity"in b?a=b.opacity:"MozOpacity"in b?a=b.MozOpacity:"filter"in b&&(b=b.filter.match(/alpha\(opacity=([\d.]+)\)/))&&(a=String(b[1]/100));return""==a?a:Number(a)};goog.style.setOpacity=function(a,b){goog.asserts.assert(a);var c=a.style;"opacity"in c?c.opacity=b:"MozOpacity"in c?c.MozOpacity=b:"filter"in c&&(c.filter=""===b?"":"alpha(opacity="+100*Number(b)+")")};
+goog.style.setTransparentBackgroundImage=function(a,b){var c=a.style;goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("8")?c.filter='progid:DXImageTransform.Microsoft.AlphaImageLoader(src="'+b+'", sizingMethod="crop")':(c.backgroundImage="url("+b+")",c.backgroundPosition="top left",c.backgroundRepeat="no-repeat")};goog.style.clearTransparentBackgroundImage=function(a){a=a.style;"filter"in a?a.filter="":a.backgroundImage="none"};
+goog.style.showElement=function(a,b){goog.style.setElementShown(a,b)};goog.style.setElementShown=function(a,b){a.style.display=b?"":"none"};goog.style.isElementShown=function(a){return"none"!=a.style.display};
+goog.style.installSafeStyleSheet=function(a,b){var c=goog.dom.getDomHelper(b),d=c.getDocument();if(goog.userAgent.IE&&d.createStyleSheet)return c=d.createStyleSheet(),goog.style.setSafeStyleSheet(c,a),c;d=c.getElementsByTagNameAndClass("HEAD")[0];if(!d){var e=c.getElementsByTagNameAndClass("BODY")[0];d=c.createDom("HEAD");e.parentNode.insertBefore(d,e)}e=c.createDom("STYLE");goog.style.setSafeStyleSheet(e,a);c.appendChild(d,e);return e};
+goog.style.uninstallStyles=function(a){goog.dom.removeNode(a.ownerNode||a.owningElement||a)};goog.style.setSafeStyleSheet=function(a,b){var c=goog.html.SafeStyleSheet.unwrap(b);goog.userAgent.IE&&goog.isDef(a.cssText)?a.cssText=c:a.innerHTML=c};goog.style.setPreWrap=function(a){a=a.style;goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("8")?(a.whiteSpace="pre",a.wordWrap="break-word"):a.whiteSpace=goog.userAgent.GECKO?"-moz-pre-wrap":"pre-wrap"};
+goog.style.setInlineBlock=function(a){a=a.style;a.position="relative";goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("8")?(a.zoom="1",a.display="inline"):a.display="inline-block"};goog.style.isRightToLeft=function(a){return"rtl"==goog.style.getStyle_(a,"direction")};goog.style.unselectableStyle_=goog.userAgent.GECKO?"MozUserSelect":goog.userAgent.WEBKIT||goog.userAgent.EDGE?"WebkitUserSelect":null;
+goog.style.isUnselectable=function(a){return goog.style.unselectableStyle_?"none"==a.style[goog.style.unselectableStyle_].toLowerCase():goog.userAgent.IE||goog.userAgent.OPERA?"on"==a.getAttribute("unselectable"):!1};
+goog.style.setUnselectable=function(a,b,c){c=c?null:a.getElementsByTagName("*");var d=goog.style.unselectableStyle_;if(d){if(b=b?"none":"",a.style&&(a.style[d]=b),c){a=0;for(var e;e=c[a];a++)e.style&&(e.style[d]=b)}}else if(goog.userAgent.IE||goog.userAgent.OPERA)if(b=b?"on":"",a.setAttribute("unselectable",b),c)for(a=0;e=c[a];a++)e.setAttribute("unselectable",b)};goog.style.getBorderBoxSize=function(a){return new goog.math.Size(a.offsetWidth,a.offsetHeight)};
+goog.style.setBorderBoxSize=function(a,b){var c=goog.dom.getOwnerDocument(a),d=goog.dom.getDomHelper(c).isCss1CompatMode();if(!goog.userAgent.IE||goog.userAgent.isVersionOrHigher("10")||d&&goog.userAgent.isVersionOrHigher("8"))goog.style.setBoxSizingSize_(a,b,"border-box");else if(c=a.style,d){d=goog.style.getPaddingBox(a);var e=goog.style.getBorderBox(a);c.pixelWidth=b.width-e.left-d.left-d.right-e.right;c.pixelHeight=b.height-e.top-d.top-d.bottom-e.bottom}else c.pixelWidth=b.width,c.pixelHeight=
+b.height};
+goog.style.getContentBoxSize=function(a){var b=goog.dom.getOwnerDocument(a),c=goog.userAgent.IE&&a.currentStyle;if(c&&goog.dom.getDomHelper(b).isCss1CompatMode()&&"auto"!=c.width&&"auto"!=c.height&&!c.boxSizing)return b=goog.style.getIePixelValue_(a,c.width,"width","pixelWidth"),a=goog.style.getIePixelValue_(a,c.height,"height","pixelHeight"),new goog.math.Size(b,a);c=goog.style.getBorderBoxSize(a);b=goog.style.getPaddingBox(a);a=goog.style.getBorderBox(a);return new goog.math.Size(c.width-a.left-
+b.left-b.right-a.right,c.height-a.top-b.top-b.bottom-a.bottom)};
+goog.style.setContentBoxSize=function(a,b){var c=goog.dom.getOwnerDocument(a),d=goog.dom.getDomHelper(c).isCss1CompatMode();if(!goog.userAgent.IE||goog.userAgent.isVersionOrHigher("10")||d&&goog.userAgent.isVersionOrHigher("8"))goog.style.setBoxSizingSize_(a,b,"content-box");else if(c=a.style,d)c.pixelWidth=b.width,c.pixelHeight=b.height;else{d=goog.style.getPaddingBox(a);var e=goog.style.getBorderBox(a);c.pixelWidth=b.width+e.left+d.left+d.right+e.right;c.pixelHeight=b.height+e.top+d.top+d.bottom+
+e.bottom}};goog.style.setBoxSizingSize_=function(a,b,c){a=a.style;goog.userAgent.GECKO?a.MozBoxSizing=c:goog.userAgent.WEBKIT?a.WebkitBoxSizing=c:a.boxSizing=c;a.width=Math.max(b.width,0)+"px";a.height=Math.max(b.height,0)+"px"};goog.style.getIePixelValue_=function(a,b,c,d){if(/^\d+px?$/.test(b))return parseInt(b,10);var e=a.style[c],f=a.runtimeStyle[c];a.runtimeStyle[c]=a.currentStyle[c];a.style[c]=b;b=a.style[d];a.style[c]=e;a.runtimeStyle[c]=f;return+b};
+goog.style.getIePixelDistance_=function(a,b){var c=goog.style.getCascadedStyle(a,b);return c?goog.style.getIePixelValue_(a,c,"left","pixelLeft"):0};
+goog.style.getBox_=function(a,b){if(goog.userAgent.IE){var c=goog.style.getIePixelDistance_(a,b+"Left"),d=goog.style.getIePixelDistance_(a,b+"Right"),e=goog.style.getIePixelDistance_(a,b+"Top"),f=goog.style.getIePixelDistance_(a,b+"Bottom");return new goog.math.Box(e,d,f,c)}c=goog.style.getComputedStyle(a,b+"Left");d=goog.style.getComputedStyle(a,b+"Right");e=goog.style.getComputedStyle(a,b+"Top");f=goog.style.getComputedStyle(a,b+"Bottom");return new goog.math.Box(parseFloat(e),parseFloat(d),parseFloat(f),
+parseFloat(c))};goog.style.getPaddingBox=function(a){return goog.style.getBox_(a,"padding")};goog.style.getMarginBox=function(a){return goog.style.getBox_(a,"margin")};goog.style.ieBorderWidthKeywords_={thin:2,medium:4,thick:6};
+goog.style.getIePixelBorder_=function(a,b){if("none"==goog.style.getCascadedStyle(a,b+"Style"))return 0;var c=goog.style.getCascadedStyle(a,b+"Width");return c in goog.style.ieBorderWidthKeywords_?goog.style.ieBorderWidthKeywords_[c]:goog.style.getIePixelValue_(a,c,"left","pixelLeft")};
+goog.style.getBorderBox=function(a){if(goog.userAgent.IE&&!goog.userAgent.isDocumentModeOrHigher(9)){var b=goog.style.getIePixelBorder_(a,"borderLeft"),c=goog.style.getIePixelBorder_(a,"borderRight"),d=goog.style.getIePixelBorder_(a,"borderTop");a=goog.style.getIePixelBorder_(a,"borderBottom");return new goog.math.Box(d,c,a,b)}b=goog.style.getComputedStyle(a,"borderLeftWidth");c=goog.style.getComputedStyle(a,"borderRightWidth");d=goog.style.getComputedStyle(a,"borderTopWidth");a=goog.style.getComputedStyle(a,
+"borderBottomWidth");return new goog.math.Box(parseFloat(d),parseFloat(c),parseFloat(a),parseFloat(b))};goog.style.getFontFamily=function(a){var b=goog.dom.getOwnerDocument(a),c="";if(b.body.createTextRange&&goog.dom.contains(b,a)){b=b.body.createTextRange();b.moveToElementText(a);try{c=b.queryCommandValue("FontName")}catch(d){c=""}}c||(c=goog.style.getStyle_(a,"fontFamily"));a=c.split(",");1<a.length&&(c=a[0]);return goog.string.stripQuotes(c,"\"'")};goog.style.lengthUnitRegex_=/[^\d]+$/;
+goog.style.getLengthUnits=function(a){return(a=a.match(goog.style.lengthUnitRegex_))&&a[0]||null};goog.style.ABSOLUTE_CSS_LENGTH_UNITS_={cm:1,"in":1,mm:1,pc:1,pt:1};goog.style.CONVERTIBLE_RELATIVE_CSS_UNITS_={em:1,ex:1};
+goog.style.getFontSize=function(a){var b=goog.style.getStyle_(a,"fontSize"),c=goog.style.getLengthUnits(b);if(b&&"px"==c)return parseInt(b,10);if(goog.userAgent.IE){if(String(c)in goog.style.ABSOLUTE_CSS_LENGTH_UNITS_)return goog.style.getIePixelValue_(a,b,"left","pixelLeft");if(a.parentNode&&a.parentNode.nodeType==goog.dom.NodeType.ELEMENT&&String(c)in goog.style.CONVERTIBLE_RELATIVE_CSS_UNITS_)return a=a.parentNode,c=goog.style.getStyle_(a,"fontSize"),goog.style.getIePixelValue_(a,b==c?"1em":b,
+"left","pixelLeft")}c=goog.dom.createDom("SPAN",{style:"visibility:hidden;position:absolute;line-height:0;padding:0;margin:0;border:0;height:1em;"});goog.dom.appendChild(a,c);b=c.offsetHeight;goog.dom.removeNode(c);return b};goog.style.parseStyleAttribute=function(a){var b={};goog.array.forEach(a.split(/\s*;\s*/),function(a){var c=a.match(/\s*([\w-]+)\s*:(.+)/);c&&(a=c[1],c=goog.string.trim(c[2]),b[goog.string.toCamelCase(a.toLowerCase())]=c)});return b};
+goog.style.toStyleAttribute=function(a){var b=[];goog.object.forEach(a,function(a,d){b.push(goog.string.toSelectorCase(d),":",a,";")});return b.join("")};goog.style.setFloat=function(a,b){a.style[goog.userAgent.IE?"styleFloat":"cssFloat"]=b};goog.style.getFloat=function(a){return a.style[goog.userAgent.IE?"styleFloat":"cssFloat"]||""};
+goog.style.getScrollbarWidth=function(a){var b=goog.dom.createElement("DIV");a&&(b.className=a);b.style.cssText="overflow:auto;position:absolute;top:0;width:100px;height:100px";a=goog.dom.createElement("DIV");goog.style.setSize(a,"200px","200px");b.appendChild(a);goog.dom.appendChild(goog.dom.getDocument().body,b);a=b.offsetWidth-b.clientWidth;goog.dom.removeNode(b);return a};goog.style.MATRIX_TRANSLATION_REGEX_=/matrix\([0-9\.\-]+, [0-9\.\-]+, [0-9\.\-]+, [0-9\.\-]+, ([0-9\.\-]+)p?x?, ([0-9\.\-]+)p?x?\)/;
+goog.style.getCssTranslation=function(a){a=goog.style.getComputedTransform(a);return a?(a=a.match(goog.style.MATRIX_TRANSLATION_REGEX_))?new goog.math.Coordinate(parseFloat(a[1]),parseFloat(a[2])):new goog.math.Coordinate(0,0):new goog.math.Coordinate(0,0)};goog.events.EventHandler=function(a){goog.Disposable.call(this);this.handler_=a;this.keys_={}};goog.inherits(goog.events.EventHandler,goog.Disposable);goog.events.EventHandler.typeArray_=[];goog.events.EventHandler.prototype.listen=function(a,b,c,d){return this.listen_(a,b,c,d)};goog.events.EventHandler.prototype.listenWithScope=function(a,b,c,d,e){return this.listen_(a,b,c,d,e)};
+goog.events.EventHandler.prototype.listen_=function(a,b,c,d,e){goog.isArray(b)||(b&&(goog.events.EventHandler.typeArray_[0]=b.toString()),b=goog.events.EventHandler.typeArray_);for(var f=0;f<b.length;f++){var g=goog.events.listen(a,b[f],c||this.handleEvent,d||!1,e||this.handler_||this);if(!g)break;this.keys_[g.key]=g}return this};goog.events.EventHandler.prototype.listenOnce=function(a,b,c,d){return this.listenOnce_(a,b,c,d)};
+goog.events.EventHandler.prototype.listenOnceWithScope=function(a,b,c,d,e){return this.listenOnce_(a,b,c,d,e)};goog.events.EventHandler.prototype.listenOnce_=function(a,b,c,d,e){if(goog.isArray(b))for(var f=0;f<b.length;f++)this.listenOnce_(a,b[f],c,d,e);else{a=goog.events.listenOnce(a,b,c||this.handleEvent,d,e||this.handler_||this);if(!a)return this;this.keys_[a.key]=a}return this};goog.events.EventHandler.prototype.listenWithWrapper=function(a,b,c,d){return this.listenWithWrapper_(a,b,c,d)};
+goog.events.EventHandler.prototype.listenWithWrapperAndScope=function(a,b,c,d,e){return this.listenWithWrapper_(a,b,c,d,e)};goog.events.EventHandler.prototype.listenWithWrapper_=function(a,b,c,d,e){b.listen(a,c,d,e||this.handler_||this,this);return this};goog.events.EventHandler.prototype.getListenerCount=function(){var a=0,b;for(b in this.keys_)Object.prototype.hasOwnProperty.call(this.keys_,b)&&a++;return a};
+goog.events.EventHandler.prototype.unlisten=function(a,b,c,d,e){if(goog.isArray(b))for(var f=0;f<b.length;f++)this.unlisten(a,b[f],c,d,e);else if(d=goog.isObject(d)?!!d.capture:!!d,a=goog.events.getListener(a,b,c||this.handleEvent,d,e||this.handler_||this))goog.events.unlistenByKey(a),delete this.keys_[a.key];return this};goog.events.EventHandler.prototype.unlistenWithWrapper=function(a,b,c,d,e){b.unlisten(a,c,d,e||this.handler_||this,this);return this};
+goog.events.EventHandler.prototype.removeAll=function(){goog.object.forEach(this.keys_,function(a,b){this.keys_.hasOwnProperty(b)&&goog.events.unlistenByKey(a)},this);this.keys_={}};goog.events.EventHandler.prototype.disposeInternal=function(){goog.events.EventHandler.superClass_.disposeInternal.call(this);this.removeAll()};goog.events.EventHandler.prototype.handleEvent=function(a){throw Error("EventHandler.handleEvent not implemented");};goog.events.EventTarget=function(){goog.Disposable.call(this);this.eventTargetListeners_=new goog.events.ListenerMap(this);this.actualEventTarget_=this;this.parentEventTarget_=null};goog.inherits(goog.events.EventTarget,goog.Disposable);goog.events.Listenable.addImplementation(goog.events.EventTarget);goog.events.EventTarget.MAX_ANCESTORS_=1E3;goog.events.EventTarget.prototype.getParentEventTarget=function(){return this.parentEventTarget_};
+goog.events.EventTarget.prototype.setParentEventTarget=function(a){this.parentEventTarget_=a};goog.events.EventTarget.prototype.addEventListener=function(a,b,c,d){goog.events.listen(this,a,b,c,d)};goog.events.EventTarget.prototype.removeEventListener=function(a,b,c,d){goog.events.unlisten(this,a,b,c,d)};
+goog.events.EventTarget.prototype.dispatchEvent=function(a){this.assertInitialized_();var b=this.getParentEventTarget();if(b){var c=[];for(var d=1;b;b=b.getParentEventTarget())c.push(b),goog.asserts.assert(++d<goog.events.EventTarget.MAX_ANCESTORS_,"infinite loop")}return goog.events.EventTarget.dispatchEventInternal_(this.actualEventTarget_,a,c)};
+goog.events.EventTarget.prototype.disposeInternal=function(){goog.events.EventTarget.superClass_.disposeInternal.call(this);this.removeAllListeners();this.parentEventTarget_=null};goog.events.EventTarget.prototype.listen=function(a,b,c,d){this.assertInitialized_();return this.eventTargetListeners_.add(String(a),b,!1,c,d)};goog.events.EventTarget.prototype.listenOnce=function(a,b,c,d){return this.eventTargetListeners_.add(String(a),b,!0,c,d)};
+goog.events.EventTarget.prototype.unlisten=function(a,b,c,d){return this.eventTargetListeners_.remove(String(a),b,c,d)};goog.events.EventTarget.prototype.unlistenByKey=function(a){return this.eventTargetListeners_.removeByKey(a)};goog.events.EventTarget.prototype.removeAllListeners=function(a){return this.eventTargetListeners_?this.eventTargetListeners_.removeAll(a):0};
+goog.events.EventTarget.prototype.fireListeners=function(a,b,c){a=this.eventTargetListeners_.listeners[String(a)];if(!a)return!0;a=a.concat();for(var d=!0,e=0;e<a.length;++e){var f=a[e];if(f&&!f.removed&&f.capture==b){var g=f.listener,h=f.handler||f.src;f.callOnce&&this.unlistenByKey(f);d=!1!==g.call(h,c)&&d}}return d&&0!=c.returnValue_};goog.events.EventTarget.prototype.getListeners=function(a,b){return this.eventTargetListeners_.getListeners(String(a),b)};
+goog.events.EventTarget.prototype.getListener=function(a,b,c,d){return this.eventTargetListeners_.getListener(String(a),b,c,d)};goog.events.EventTarget.prototype.hasListener=function(a,b){var c=goog.isDef(a)?String(a):void 0;return this.eventTargetListeners_.hasListener(c,b)};goog.events.EventTarget.prototype.setTargetForTesting=function(a){this.actualEventTarget_=a};goog.events.EventTarget.prototype.assertInitialized_=function(){goog.asserts.assert(this.eventTargetListeners_,"Event target is not initialized. Did you call the superclass (goog.events.EventTarget) constructor?")};
+goog.events.EventTarget.dispatchEventInternal_=function(a,b,c){var d=b.type||b;if(goog.isString(b))b=new goog.events.Event(b,a);else if(b instanceof goog.events.Event)b.target=b.target||a;else{var e=b;b=new goog.events.Event(d,a);goog.object.extend(b,e)}e=!0;if(c)for(var f=c.length-1;!b.propagationStopped_&&0<=f;f--){var g=b.currentTarget=c[f];e=g.fireListeners(d,!0,b)&&e}b.propagationStopped_||(g=b.currentTarget=a,e=g.fireListeners(d,!0,b)&&e,b.propagationStopped_||(e=g.fireListeners(d,!1,b)&&e));
+if(c)for(f=0;!b.propagationStopped_&&f<c.length;f++)g=b.currentTarget=c[f],e=g.fireListeners(d,!1,b)&&e;return e};goog.ui={};goog.ui.IdGenerator=function(){};goog.addSingletonGetter(goog.ui.IdGenerator);goog.ui.IdGenerator.prototype.nextId_=0;goog.ui.IdGenerator.prototype.idPrefix_="";goog.ui.IdGenerator.prototype.setIdPrefix=function(a){this.idPrefix_=a};goog.ui.IdGenerator.prototype.getNextUniqueId=function(){return this.idPrefix_+":"+(this.nextId_++).toString(36)};goog.ui.Component=function(a){goog.events.EventTarget.call(this);this.dom_=a||goog.dom.getDomHelper();this.rightToLeft_=goog.ui.Component.defaultRightToLeft_;this.id_=null;this.inDocument_=!1;this.element_=null;this.googUiComponentHandler_=void 0;this.childIndex_=this.children_=this.parent_=this.model_=null;this.pointerEventsEnabled_=this.wasDecorated_=!1};goog.inherits(goog.ui.Component,goog.events.EventTarget);goog.ui.Component.ALLOW_DETACHED_DECORATION=!1;
+goog.ui.Component.prototype.idGenerator_=goog.ui.IdGenerator.getInstance();goog.ui.Component.DEFAULT_BIDI_DIR=0;goog.ui.Component.defaultRightToLeft_=1==goog.ui.Component.DEFAULT_BIDI_DIR?!1:-1==goog.ui.Component.DEFAULT_BIDI_DIR?!0:null;
+goog.ui.Component.EventType={BEFORE_SHOW:"beforeshow",SHOW:"show",HIDE:"hide",DISABLE:"disable",ENABLE:"enable",HIGHLIGHT:"highlight",UNHIGHLIGHT:"unhighlight",ACTIVATE:"activate",DEACTIVATE:"deactivate",SELECT:"select",UNSELECT:"unselect",CHECK:"check",UNCHECK:"uncheck",FOCUS:"focus",BLUR:"blur",OPEN:"open",CLOSE:"close",ENTER:"enter",LEAVE:"leave",ACTION:"action",CHANGE:"change"};
+goog.ui.Component.Error={NOT_SUPPORTED:"Method not supported",DECORATE_INVALID:"Invalid element to decorate",ALREADY_RENDERED:"Component already rendered",PARENT_UNABLE_TO_BE_SET:"Unable to set parent component",CHILD_INDEX_OUT_OF_BOUNDS:"Child component index out of bounds",NOT_OUR_CHILD:"Child is not in parent component",NOT_IN_DOCUMENT:"Operation not supported while component is not in document",STATE_INVALID:"Invalid component state"};
+goog.ui.Component.State={ALL:255,DISABLED:1,HOVER:2,ACTIVE:4,SELECTED:8,CHECKED:16,FOCUSED:32,OPENED:64};
+goog.ui.Component.getStateTransitionEvent=function(a,b){switch(a){case goog.ui.Component.State.DISABLED:return b?goog.ui.Component.EventType.DISABLE:goog.ui.Component.EventType.ENABLE;case goog.ui.Component.State.HOVER:return b?goog.ui.Component.EventType.HIGHLIGHT:goog.ui.Component.EventType.UNHIGHLIGHT;case goog.ui.Component.State.ACTIVE:return b?goog.ui.Component.EventType.ACTIVATE:goog.ui.Component.EventType.DEACTIVATE;case goog.ui.Component.State.SELECTED:return b?goog.ui.Component.EventType.SELECT:
+goog.ui.Component.EventType.UNSELECT;case goog.ui.Component.State.CHECKED:return b?goog.ui.Component.EventType.CHECK:goog.ui.Component.EventType.UNCHECK;case goog.ui.Component.State.FOCUSED:return b?goog.ui.Component.EventType.FOCUS:goog.ui.Component.EventType.BLUR;case goog.ui.Component.State.OPENED:return b?goog.ui.Component.EventType.OPEN:goog.ui.Component.EventType.CLOSE}throw Error(goog.ui.Component.Error.STATE_INVALID);};
+goog.ui.Component.setDefaultRightToLeft=function(a){goog.ui.Component.defaultRightToLeft_=a};goog.ui.Component.prototype.getId=function(){return this.id_||(this.id_=this.idGenerator_.getNextUniqueId())};goog.ui.Component.prototype.setId=function(a){this.parent_&&this.parent_.childIndex_&&(goog.object.remove(this.parent_.childIndex_,this.id_),goog.object.add(this.parent_.childIndex_,a,this));this.id_=a};goog.ui.Component.prototype.getElement=function(){return this.element_};
+goog.ui.Component.prototype.getElementStrict=function(){var a=this.element_;goog.asserts.assert(a,"Can not call getElementStrict before rendering/decorating.");return a};goog.ui.Component.prototype.setElementInternal=function(a){this.element_=a};goog.ui.Component.prototype.getElementsByClass=function(a){return this.element_?this.dom_.getElementsByClass(a,this.element_):[]};goog.ui.Component.prototype.getElementByClass=function(a){return this.element_?this.dom_.getElementByClass(a,this.element_):null};
+goog.ui.Component.prototype.getRequiredElementByClass=function(a){var b=this.getElementByClass(a);goog.asserts.assert(b,"Expected element in component with class: %s",a);return b};goog.ui.Component.prototype.getHandler=function(){this.googUiComponentHandler_||(this.googUiComponentHandler_=new goog.events.EventHandler(this));return goog.asserts.assert(this.googUiComponentHandler_)};
+goog.ui.Component.prototype.setParent=function(a){if(this==a)throw Error(goog.ui.Component.Error.PARENT_UNABLE_TO_BE_SET);if(a&&this.parent_&&this.id_&&this.parent_.getChild(this.id_)&&this.parent_!=a)throw Error(goog.ui.Component.Error.PARENT_UNABLE_TO_BE_SET);this.parent_=a;goog.ui.Component.superClass_.setParentEventTarget.call(this,a)};goog.ui.Component.prototype.getParent=function(){return this.parent_};
+goog.ui.Component.prototype.setParentEventTarget=function(a){if(this.parent_&&this.parent_!=a)throw Error(goog.ui.Component.Error.NOT_SUPPORTED);goog.ui.Component.superClass_.setParentEventTarget.call(this,a)};goog.ui.Component.prototype.getDomHelper=function(){return this.dom_};goog.ui.Component.prototype.isInDocument=function(){return this.inDocument_};goog.ui.Component.prototype.createDom=function(){this.element_=this.dom_.createElement("DIV")};goog.ui.Component.prototype.render=function(a){this.render_(a)};
+goog.ui.Component.prototype.renderBefore=function(a){this.render_(a.parentNode,a)};goog.ui.Component.prototype.render_=function(a,b){if(this.inDocument_)throw Error(goog.ui.Component.Error.ALREADY_RENDERED);this.element_||this.createDom();a?a.insertBefore(this.element_,b||null):this.dom_.getDocument().body.appendChild(this.element_);this.parent_&&!this.parent_.isInDocument()||this.enterDocument()};
+goog.ui.Component.prototype.decorate=function(a){if(this.inDocument_)throw Error(goog.ui.Component.Error.ALREADY_RENDERED);if(a&&this.canDecorate(a)){this.wasDecorated_=!0;var b=goog.dom.getOwnerDocument(a);this.dom_&&this.dom_.getDocument()==b||(this.dom_=goog.dom.getDomHelper(a));this.decorateInternal(a);goog.ui.Component.ALLOW_DETACHED_DECORATION&&!goog.dom.contains(b,a)||this.enterDocument()}else throw Error(goog.ui.Component.Error.DECORATE_INVALID);};goog.ui.Component.prototype.canDecorate=function(a){return!0};
+goog.ui.Component.prototype.wasDecorated=function(){return this.wasDecorated_};goog.ui.Component.prototype.decorateInternal=function(a){this.element_=a};goog.ui.Component.prototype.enterDocument=function(){this.inDocument_=!0;this.forEachChild(function(a){!a.isInDocument()&&a.getElement()&&a.enterDocument()})};
+goog.ui.Component.prototype.exitDocument=function(){this.forEachChild(function(a){a.isInDocument()&&a.exitDocument()});this.googUiComponentHandler_&&this.googUiComponentHandler_.removeAll();this.inDocument_=!1};
+goog.ui.Component.prototype.disposeInternal=function(){this.inDocument_&&this.exitDocument();this.googUiComponentHandler_&&(this.googUiComponentHandler_.dispose(),delete this.googUiComponentHandler_);this.forEachChild(function(a){a.dispose()});!this.wasDecorated_&&this.element_&&goog.dom.removeNode(this.element_);this.parent_=this.model_=this.element_=this.childIndex_=this.children_=null;goog.ui.Component.superClass_.disposeInternal.call(this)};
+goog.ui.Component.prototype.makeId=function(a){return this.getId()+"."+a};goog.ui.Component.prototype.makeIds=function(a){var b={},c;for(c in a)b[c]=this.makeId(a[c]);return b};goog.ui.Component.prototype.getModel=function(){return this.model_};goog.ui.Component.prototype.setModel=function(a){this.model_=a};goog.ui.Component.prototype.getFragmentFromId=function(a){return a.substring(this.getId().length+1)};
+goog.ui.Component.prototype.getElementByFragment=function(a){if(!this.inDocument_)throw Error(goog.ui.Component.Error.NOT_IN_DOCUMENT);return this.dom_.getElement(this.makeId(a))};goog.ui.Component.prototype.addChild=function(a,b){this.addChildAt(a,this.getChildCount(),b)};
+goog.ui.Component.prototype.addChildAt=function(a,b,c){goog.asserts.assert(!!a,"Provided element must not be null.");if(a.inDocument_&&(c||!this.inDocument_))throw Error(goog.ui.Component.Error.ALREADY_RENDERED);if(0>b||b>this.getChildCount())throw Error(goog.ui.Component.Error.CHILD_INDEX_OUT_OF_BOUNDS);this.childIndex_&&this.children_||(this.childIndex_={},this.children_=[]);a.getParent()==this?(goog.object.set(this.childIndex_,a.getId(),a),goog.array.remove(this.children_,a)):goog.object.add(this.childIndex_,
+a.getId(),a);a.setParent(this);goog.array.insertAt(this.children_,a,b);a.inDocument_&&this.inDocument_&&a.getParent()==this?(c=this.getContentElement(),b=c.childNodes[b]||null,b!=a.getElement()&&c.insertBefore(a.getElement(),b)):c?(this.element_||this.createDom(),b=this.getChildAt(b+1),a.render_(this.getContentElement(),b?b.element_:null)):this.inDocument_&&!a.inDocument_&&a.element_&&a.element_.parentNode&&a.element_.parentNode.nodeType==goog.dom.NodeType.ELEMENT&&a.enterDocument()};
+goog.ui.Component.prototype.getContentElement=function(){return this.element_};goog.ui.Component.prototype.isRightToLeft=function(){null==this.rightToLeft_&&(this.rightToLeft_=goog.style.isRightToLeft(this.inDocument_?this.element_:this.dom_.getDocument().body));return this.rightToLeft_};goog.ui.Component.prototype.setRightToLeft=function(a){if(this.inDocument_)throw Error(goog.ui.Component.Error.ALREADY_RENDERED);this.rightToLeft_=a};
+goog.ui.Component.prototype.hasChildren=function(){return!!this.children_&&0!=this.children_.length};goog.ui.Component.prototype.getChildCount=function(){return this.children_?this.children_.length:0};goog.ui.Component.prototype.getChildIds=function(){var a=[];this.forEachChild(function(b){a.push(b.getId())});return a};goog.ui.Component.prototype.getChild=function(a){return this.childIndex_&&a?goog.object.get(this.childIndex_,a)||null:null};
+goog.ui.Component.prototype.getChildAt=function(a){return this.children_?this.children_[a]||null:null};goog.ui.Component.prototype.forEachChild=function(a,b){this.children_&&goog.array.forEach(this.children_,a,b)};goog.ui.Component.prototype.indexOfChild=function(a){return this.children_&&a?goog.array.indexOf(this.children_,a):-1};
+goog.ui.Component.prototype.removeChild=function(a,b){if(a){var c=goog.isString(a)?a:a.getId();a=this.getChild(c);c&&a&&(goog.object.remove(this.childIndex_,c),goog.array.remove(this.children_,a),b&&(a.exitDocument(),a.element_&&goog.dom.removeNode(a.element_)),a.setParent(null))}if(!a)throw Error(goog.ui.Component.Error.NOT_OUR_CHILD);return a};goog.ui.Component.prototype.removeChildAt=function(a,b){return this.removeChild(this.getChildAt(a),b)};
+goog.ui.Component.prototype.removeChildren=function(a){for(var b=[];this.hasChildren();)b.push(this.removeChildAt(0,a));return b};goog.ui.Component.prototype.pointerEventsEnabled=function(){return this.pointerEventsEnabled_};goog.ui.Component.prototype.setPointerEventsEnabled=function(a){if(this.inDocument_)throw Error(goog.ui.Component.Error.ALREADY_RENDERED);this.pointerEventsEnabled_=a};goog.a11y={};goog.a11y.aria={};
+goog.a11y.aria.Role={ALERT:"alert",ALERTDIALOG:"alertdialog",APPLICATION:"application",ARTICLE:"article",BANNER:"banner",BUTTON:"button",CHECKBOX:"checkbox",COLUMNHEADER:"columnheader",COMBOBOX:"combobox",COMPLEMENTARY:"complementary",CONTENTINFO:"contentinfo",DEFINITION:"definition",DIALOG:"dialog",DIRECTORY:"directory",DOCUMENT:"document",FORM:"form",GRID:"grid",GRIDCELL:"gridcell",GROUP:"group",HEADING:"heading",IMG:"img",LINK:"link",LIST:"list",LISTBOX:"listbox",LISTITEM:"listitem",LOG:"log",
+MAIN:"main",MARQUEE:"marquee",MATH:"math",MENU:"menu",MENUBAR:"menubar",MENU_ITEM:"menuitem",MENU_ITEM_CHECKBOX:"menuitemcheckbox",MENU_ITEM_RADIO:"menuitemradio",NAVIGATION:"navigation",NOTE:"note",OPTION:"option",PRESENTATION:"presentation",PROGRESSBAR:"progressbar",RADIO:"radio",RADIOGROUP:"radiogroup",REGION:"region",ROW:"row",ROWGROUP:"rowgroup",ROWHEADER:"rowheader",SCROLLBAR:"scrollbar",SEARCH:"search",SEPARATOR:"separator",SLIDER:"slider",SPINBUTTON:"spinbutton",STATUS:"status",TAB:"tab",
+TAB_LIST:"tablist",TAB_PANEL:"tabpanel",TEXTBOX:"textbox",TEXTINFO:"textinfo",TIMER:"timer",TOOLBAR:"toolbar",TOOLTIP:"tooltip",TREE:"tree",TREEGRID:"treegrid",TREEITEM:"treeitem"};goog.a11y.aria.State={ACTIVEDESCENDANT:"activedescendant",ATOMIC:"atomic",AUTOCOMPLETE:"autocomplete",BUSY:"busy",CHECKED:"checked",COLINDEX:"colindex",CONTROLS:"controls",DESCRIBEDBY:"describedby",DISABLED:"disabled",DROPEFFECT:"dropeffect",EXPANDED:"expanded",FLOWTO:"flowto",GRABBED:"grabbed",HASPOPUP:"haspopup",HIDDEN:"hidden",INVALID:"invalid",LABEL:"label",LABELLEDBY:"labelledby",LEVEL:"level",LIVE:"live",MULTILINE:"multiline",MULTISELECTABLE:"multiselectable",ORIENTATION:"orientation",OWNS:"owns",
+POSINSET:"posinset",PRESSED:"pressed",READONLY:"readonly",RELEVANT:"relevant",REQUIRED:"required",ROWINDEX:"rowindex",SELECTED:"selected",SETSIZE:"setsize",SORT:"sort",VALUEMAX:"valuemax",VALUEMIN:"valuemin",VALUENOW:"valuenow",VALUETEXT:"valuetext"};goog.a11y.aria.AutoCompleteValues={INLINE:"inline",LIST:"list",BOTH:"both",NONE:"none"};goog.a11y.aria.DropEffectValues={COPY:"copy",MOVE:"move",LINK:"link",EXECUTE:"execute",POPUP:"popup",NONE:"none"};
+goog.a11y.aria.LivePriority={OFF:"off",POLITE:"polite",ASSERTIVE:"assertive"};goog.a11y.aria.OrientationValues={VERTICAL:"vertical",HORIZONTAL:"horizontal"};goog.a11y.aria.RelevantValues={ADDITIONS:"additions",REMOVALS:"removals",TEXT:"text",ALL:"all"};goog.a11y.aria.SortValues={ASCENDING:"ascending",DESCENDING:"descending",NONE:"none",OTHER:"other"};goog.a11y.aria.CheckedValues={TRUE:"true",FALSE:"false",MIXED:"mixed",UNDEFINED:"undefined"};
+goog.a11y.aria.ExpandedValues={TRUE:"true",FALSE:"false",UNDEFINED:"undefined"};goog.a11y.aria.GrabbedValues={TRUE:"true",FALSE:"false",UNDEFINED:"undefined"};goog.a11y.aria.InvalidValues={FALSE:"false",TRUE:"true",GRAMMAR:"grammar",SPELLING:"spelling"};goog.a11y.aria.PressedValues={TRUE:"true",FALSE:"false",MIXED:"mixed",UNDEFINED:"undefined"};goog.a11y.aria.SelectedValues={TRUE:"true",FALSE:"false",UNDEFINED:"undefined"};goog.a11y.aria.datatables={};
+goog.a11y.aria.datatables.getDefaultValuesMap=function(){goog.a11y.aria.DefaultStateValueMap_||(goog.a11y.aria.DefaultStateValueMap_=goog.object.create(goog.a11y.aria.State.ATOMIC,!1,goog.a11y.aria.State.AUTOCOMPLETE,"none",goog.a11y.aria.State.DROPEFFECT,"none",goog.a11y.aria.State.HASPOPUP,!1,goog.a11y.aria.State.LIVE,"off",goog.a11y.aria.State.MULTILINE,!1,goog.a11y.aria.State.MULTISELECTABLE,!1,goog.a11y.aria.State.ORIENTATION,"vertical",goog.a11y.aria.State.READONLY,!1,goog.a11y.aria.State.RELEVANT,
+"additions text",goog.a11y.aria.State.REQUIRED,!1,goog.a11y.aria.State.SORT,"none",goog.a11y.aria.State.BUSY,!1,goog.a11y.aria.State.DISABLED,!1,goog.a11y.aria.State.HIDDEN,!1,goog.a11y.aria.State.INVALID,"false"));return goog.a11y.aria.DefaultStateValueMap_};goog.a11y.aria.ARIA_PREFIX_="aria-";goog.a11y.aria.ROLE_ATTRIBUTE_="role";goog.a11y.aria.TAGS_WITH_ASSUMED_ROLES_=goog.object.createSet("A AREA BUTTON HEAD INPUT LINK MENU META OPTGROUP OPTION PROGRESS STYLE SELECT SOURCE TEXTAREA TITLE TRACK".split(" "));
+goog.a11y.aria.CONTAINER_ROLES_=[goog.a11y.aria.Role.COMBOBOX,goog.a11y.aria.Role.GRID,goog.a11y.aria.Role.GROUP,goog.a11y.aria.Role.LISTBOX,goog.a11y.aria.Role.MENU,goog.a11y.aria.Role.MENUBAR,goog.a11y.aria.Role.RADIOGROUP,goog.a11y.aria.Role.ROW,goog.a11y.aria.Role.ROWGROUP,goog.a11y.aria.Role.TAB_LIST,goog.a11y.aria.Role.TEXTBOX,goog.a11y.aria.Role.TOOLBAR,goog.a11y.aria.Role.TREE,goog.a11y.aria.Role.TREEGRID];
+goog.a11y.aria.setRole=function(a,b){b?(goog.asserts.ENABLE_ASSERTS&&goog.asserts.assert(goog.object.containsValue(goog.a11y.aria.Role,b),"No such ARIA role "+b),a.setAttribute(goog.a11y.aria.ROLE_ATTRIBUTE_,b)):goog.a11y.aria.removeRole(a)};goog.a11y.aria.getRole=function(a){return a.getAttribute(goog.a11y.aria.ROLE_ATTRIBUTE_)||null};goog.a11y.aria.removeRole=function(a){a.removeAttribute(goog.a11y.aria.ROLE_ATTRIBUTE_)};
+goog.a11y.aria.setState=function(a,b,c){goog.isArray(c)&&(c=c.join(" "));var d=goog.a11y.aria.getAriaAttributeName_(b);""===c||void 0==c?(c=goog.a11y.aria.datatables.getDefaultValuesMap(),b in c?a.setAttribute(d,c[b]):a.removeAttribute(d)):a.setAttribute(d,c)};goog.a11y.aria.toggleState=function(a,b){var c=goog.a11y.aria.getState(a,b);goog.string.isEmptyOrWhitespace(goog.string.makeSafe(c))||"true"==c||"false"==c?goog.a11y.aria.setState(a,b,"true"==c?"false":"true"):goog.a11y.aria.removeState(a,b)};
+goog.a11y.aria.removeState=function(a,b){a.removeAttribute(goog.a11y.aria.getAriaAttributeName_(b))};goog.a11y.aria.getState=function(a,b){var c=a.getAttribute(goog.a11y.aria.getAriaAttributeName_(b));return null==c||void 0==c?"":String(c)};goog.a11y.aria.getActiveDescendant=function(a){var b=goog.a11y.aria.getState(a,goog.a11y.aria.State.ACTIVEDESCENDANT);return goog.dom.getOwnerDocument(a).getElementById(b)};
+goog.a11y.aria.setActiveDescendant=function(a,b){var c="";b&&(c=b.id,goog.asserts.assert(c,"The active element should have an id."));goog.a11y.aria.setState(a,goog.a11y.aria.State.ACTIVEDESCENDANT,c)};goog.a11y.aria.getLabel=function(a){return goog.a11y.aria.getState(a,goog.a11y.aria.State.LABEL)};goog.a11y.aria.setLabel=function(a,b){goog.a11y.aria.setState(a,goog.a11y.aria.State.LABEL,b)};
+goog.a11y.aria.assertRoleIsSetInternalUtil=function(a,b){if(!goog.a11y.aria.TAGS_WITH_ASSUMED_ROLES_[a.tagName]){var c=goog.a11y.aria.getRole(a);goog.asserts.assert(null!=c,"The element ARIA role cannot be null.");goog.asserts.assert(goog.array.contains(b,c),'Non existing or incorrect role set for element.The role set is "'+c+'". The role should be any of "'+b+'". Check the ARIA specification for more details http://www.w3.org/TR/wai-aria/roles.')}};
+goog.a11y.aria.getStateBoolean=function(a,b){var c=a.getAttribute(goog.a11y.aria.getAriaAttributeName_(b));goog.asserts.assert(goog.isBoolean(c)||null==c||"true"==c||"false"==c);return null==c?c:goog.isBoolean(c)?c:"true"==c};goog.a11y.aria.getStateNumber=function(a,b){var c=a.getAttribute(goog.a11y.aria.getAriaAttributeName_(b));goog.asserts.assert((null==c||!isNaN(Number(c)))&&!goog.isBoolean(c));return null==c?null:Number(c)};
+goog.a11y.aria.getStateString=function(a,b){var c=a.getAttribute(goog.a11y.aria.getAriaAttributeName_(b));goog.asserts.assert((null==c||goog.isString(c))&&(""==c||isNaN(Number(c)))&&"true"!=c&&"false"!=c);return null==c||""==c?null:c};goog.a11y.aria.getStringArrayStateInternalUtil=function(a,b){var c=a.getAttribute(goog.a11y.aria.getAriaAttributeName_(b));return goog.a11y.aria.splitStringOnWhitespace_(c)};goog.a11y.aria.hasState=function(a,b){return a.hasAttribute(goog.a11y.aria.getAriaAttributeName_(b))};
+goog.a11y.aria.isContainerRole=function(a){a=goog.a11y.aria.getRole(a);return goog.array.contains(goog.a11y.aria.CONTAINER_ROLES_,a)};goog.a11y.aria.splitStringOnWhitespace_=function(a){return a?a.split(/\s+/):[]};goog.a11y.aria.getAriaAttributeName_=function(a){goog.asserts.ENABLE_ASSERTS&&(goog.asserts.assert(a,"ARIA attribute cannot be empty."),goog.asserts.assert(goog.object.containsValue(goog.a11y.aria.State,a),"No such ARIA attribute "+a));return goog.a11y.aria.ARIA_PREFIX_+a};goog.events.KeyCodes={WIN_KEY_FF_LINUX:0,MAC_ENTER:3,BACKSPACE:8,TAB:9,NUM_CENTER:12,ENTER:13,SHIFT:16,CTRL:17,ALT:18,PAUSE:19,CAPS_LOCK:20,ESC:27,SPACE:32,PAGE_UP:33,PAGE_DOWN:34,END:35,HOME:36,LEFT:37,UP:38,RIGHT:39,DOWN:40,PLUS_SIGN:43,PRINT_SCREEN:44,INSERT:45,DELETE:46,ZERO:48,ONE:49,TWO:50,THREE:51,FOUR:52,FIVE:53,SIX:54,SEVEN:55,EIGHT:56,NINE:57,FF_SEMICOLON:59,FF_EQUALS:61,FF_DASH:173,QUESTION_MARK:63,AT_SIGN:64,A:65,B:66,C:67,D:68,E:69,F:70,G:71,H:72,I:73,J:74,K:75,L:76,M:77,N:78,O:79,P:80,
+Q:81,R:82,S:83,T:84,U:85,V:86,W:87,X:88,Y:89,Z:90,META:91,WIN_KEY_RIGHT:92,CONTEXT_MENU:93,NUM_ZERO:96,NUM_ONE:97,NUM_TWO:98,NUM_THREE:99,NUM_FOUR:100,NUM_FIVE:101,NUM_SIX:102,NUM_SEVEN:103,NUM_EIGHT:104,NUM_NINE:105,NUM_MULTIPLY:106,NUM_PLUS:107,NUM_MINUS:109,NUM_PERIOD:110,NUM_DIVISION:111,F1:112,F2:113,F3:114,F4:115,F5:116,F6:117,F7:118,F8:119,F9:120,F10:121,F11:122,F12:123,NUMLOCK:144,SCROLL_LOCK:145,FIRST_MEDIA_KEY:166,LAST_MEDIA_KEY:183,SEMICOLON:186,DASH:189,EQUALS:187,COMMA:188,PERIOD:190,
+SLASH:191,APOSTROPHE:192,TILDE:192,SINGLE_QUOTE:222,OPEN_SQUARE_BRACKET:219,BACKSLASH:220,CLOSE_SQUARE_BRACKET:221,WIN_KEY:224,MAC_FF_META:224,MAC_WK_CMD_LEFT:91,MAC_WK_CMD_RIGHT:93,WIN_IME:229,VK_NONAME:252,PHANTOM:255};
+goog.events.KeyCodes.isTextModifyingKeyEvent=function(a){if(a.altKey&&!a.ctrlKey||a.metaKey||a.keyCode>=goog.events.KeyCodes.F1&&a.keyCode<=goog.events.KeyCodes.F12)return!1;switch(a.keyCode){case goog.events.KeyCodes.ALT:case goog.events.KeyCodes.CAPS_LOCK:case goog.events.KeyCodes.CONTEXT_MENU:case goog.events.KeyCodes.CTRL:case goog.events.KeyCodes.DOWN:case goog.events.KeyCodes.END:case goog.events.KeyCodes.ESC:case goog.events.KeyCodes.HOME:case goog.events.KeyCodes.INSERT:case goog.events.KeyCodes.LEFT:case goog.events.KeyCodes.MAC_FF_META:case goog.events.KeyCodes.META:case goog.events.KeyCodes.NUMLOCK:case goog.events.KeyCodes.NUM_CENTER:case goog.events.KeyCodes.PAGE_DOWN:case goog.events.KeyCodes.PAGE_UP:case goog.events.KeyCodes.PAUSE:case goog.events.KeyCodes.PHANTOM:case goog.events.KeyCodes.PRINT_SCREEN:case goog.events.KeyCodes.RIGHT:case goog.events.KeyCodes.SCROLL_LOCK:case goog.events.KeyCodes.SHIFT:case goog.events.KeyCodes.UP:case goog.events.KeyCodes.VK_NONAME:case goog.events.KeyCodes.WIN_KEY:case goog.events.KeyCodes.WIN_KEY_RIGHT:return!1;case goog.events.KeyCodes.WIN_KEY_FF_LINUX:return!goog.userAgent.GECKO;
+default:return a.keyCode<goog.events.KeyCodes.FIRST_MEDIA_KEY||a.keyCode>goog.events.KeyCodes.LAST_MEDIA_KEY}};
+goog.events.KeyCodes.firesKeyPressEvent=function(a,b,c,d,e,f){if(goog.userAgent.WEBKIT&&!goog.userAgent.isVersionOrHigher("525"))return!0;if(goog.userAgent.MAC&&e)return goog.events.KeyCodes.isCharacterKey(a);if(e&&!d)return!1;if(!goog.userAgent.GECKO){goog.isNumber(b)&&(b=goog.events.KeyCodes.normalizeKeyCode(b));var g=b==goog.events.KeyCodes.CTRL||b==goog.events.KeyCodes.ALT||goog.userAgent.MAC&&b==goog.events.KeyCodes.META,h=b==goog.events.KeyCodes.SHIFT&&(d||f);if((!c||goog.userAgent.MAC)&&g||
+goog.userAgent.MAC&&h)return!1}if((goog.userAgent.WEBKIT||goog.userAgent.EDGE)&&d&&c)switch(a){case goog.events.KeyCodes.BACKSLASH:case goog.events.KeyCodes.OPEN_SQUARE_BRACKET:case goog.events.KeyCodes.CLOSE_SQUARE_BRACKET:case goog.events.KeyCodes.TILDE:case goog.events.KeyCodes.SEMICOLON:case goog.events.KeyCodes.DASH:case goog.events.KeyCodes.EQUALS:case goog.events.KeyCodes.COMMA:case goog.events.KeyCodes.PERIOD:case goog.events.KeyCodes.SLASH:case goog.events.KeyCodes.APOSTROPHE:case goog.events.KeyCodes.SINGLE_QUOTE:return!1}if(goog.userAgent.IE&&
+d&&b==a)return!1;switch(a){case goog.events.KeyCodes.ENTER:return goog.userAgent.GECKO?f||e?!1:!(c&&d):!0;case goog.events.KeyCodes.ESC:return!(goog.userAgent.WEBKIT||goog.userAgent.EDGE||goog.userAgent.GECKO)}return goog.userAgent.GECKO&&(d||e||f)?!1:goog.events.KeyCodes.isCharacterKey(a)};
+goog.events.KeyCodes.isCharacterKey=function(a){if(a>=goog.events.KeyCodes.ZERO&&a<=goog.events.KeyCodes.NINE||a>=goog.events.KeyCodes.NUM_ZERO&&a<=goog.events.KeyCodes.NUM_MULTIPLY||a>=goog.events.KeyCodes.A&&a<=goog.events.KeyCodes.Z||(goog.userAgent.WEBKIT||goog.userAgent.EDGE)&&0==a)return!0;switch(a){case goog.events.KeyCodes.SPACE:case goog.events.KeyCodes.PLUS_SIGN:case goog.events.KeyCodes.QUESTION_MARK:case goog.events.KeyCodes.AT_SIGN:case goog.events.KeyCodes.NUM_PLUS:case goog.events.KeyCodes.NUM_MINUS:case goog.events.KeyCodes.NUM_PERIOD:case goog.events.KeyCodes.NUM_DIVISION:case goog.events.KeyCodes.SEMICOLON:case goog.events.KeyCodes.FF_SEMICOLON:case goog.events.KeyCodes.DASH:case goog.events.KeyCodes.EQUALS:case goog.events.KeyCodes.FF_EQUALS:case goog.events.KeyCodes.COMMA:case goog.events.KeyCodes.PERIOD:case goog.events.KeyCodes.SLASH:case goog.events.KeyCodes.APOSTROPHE:case goog.events.KeyCodes.SINGLE_QUOTE:case goog.events.KeyCodes.OPEN_SQUARE_BRACKET:case goog.events.KeyCodes.BACKSLASH:case goog.events.KeyCodes.CLOSE_SQUARE_BRACKET:return!0;
+default:return!1}};goog.events.KeyCodes.normalizeKeyCode=function(a){return goog.userAgent.GECKO?goog.events.KeyCodes.normalizeGeckoKeyCode(a):goog.userAgent.MAC&&goog.userAgent.WEBKIT?goog.events.KeyCodes.normalizeMacWebKitKeyCode(a):a};
+goog.events.KeyCodes.normalizeGeckoKeyCode=function(a){switch(a){case goog.events.KeyCodes.FF_EQUALS:return goog.events.KeyCodes.EQUALS;case goog.events.KeyCodes.FF_SEMICOLON:return goog.events.KeyCodes.SEMICOLON;case goog.events.KeyCodes.FF_DASH:return goog.events.KeyCodes.DASH;case goog.events.KeyCodes.MAC_FF_META:return goog.events.KeyCodes.META;case goog.events.KeyCodes.WIN_KEY_FF_LINUX:return goog.events.KeyCodes.WIN_KEY;default:return a}};
+goog.events.KeyCodes.normalizeMacWebKitKeyCode=function(a){switch(a){case goog.events.KeyCodes.MAC_WK_CMD_RIGHT:return goog.events.KeyCodes.META;default:return a}};goog.events.KeyHandler=function(a,b){goog.events.EventTarget.call(this);a&&this.attach(a,b)};goog.inherits(goog.events.KeyHandler,goog.events.EventTarget);goog.events.KeyHandler.prototype.element_=null;goog.events.KeyHandler.prototype.keyPressKey_=null;goog.events.KeyHandler.prototype.keyDownKey_=null;goog.events.KeyHandler.prototype.keyUpKey_=null;goog.events.KeyHandler.prototype.lastKey_=-1;goog.events.KeyHandler.prototype.keyCode_=-1;goog.events.KeyHandler.prototype.altKey_=!1;
+goog.events.KeyHandler.EventType={KEY:"key"};
+goog.events.KeyHandler.safariKey_={3:goog.events.KeyCodes.ENTER,12:goog.events.KeyCodes.NUMLOCK,63232:goog.events.KeyCodes.UP,63233:goog.events.KeyCodes.DOWN,63234:goog.events.KeyCodes.LEFT,63235:goog.events.KeyCodes.RIGHT,63236:goog.events.KeyCodes.F1,63237:goog.events.KeyCodes.F2,63238:goog.events.KeyCodes.F3,63239:goog.events.KeyCodes.F4,63240:goog.events.KeyCodes.F5,63241:goog.events.KeyCodes.F6,63242:goog.events.KeyCodes.F7,63243:goog.events.KeyCodes.F8,63244:goog.events.KeyCodes.F9,63245:goog.events.KeyCodes.F10,
+63246:goog.events.KeyCodes.F11,63247:goog.events.KeyCodes.F12,63248:goog.events.KeyCodes.PRINT_SCREEN,63272:goog.events.KeyCodes.DELETE,63273:goog.events.KeyCodes.HOME,63275:goog.events.KeyCodes.END,63276:goog.events.KeyCodes.PAGE_UP,63277:goog.events.KeyCodes.PAGE_DOWN,63289:goog.events.KeyCodes.NUMLOCK,63302:goog.events.KeyCodes.INSERT};
+goog.events.KeyHandler.keyIdentifier_={Up:goog.events.KeyCodes.UP,Down:goog.events.KeyCodes.DOWN,Left:goog.events.KeyCodes.LEFT,Right:goog.events.KeyCodes.RIGHT,Enter:goog.events.KeyCodes.ENTER,F1:goog.events.KeyCodes.F1,F2:goog.events.KeyCodes.F2,F3:goog.events.KeyCodes.F3,F4:goog.events.KeyCodes.F4,F5:goog.events.KeyCodes.F5,F6:goog.events.KeyCodes.F6,F7:goog.events.KeyCodes.F7,F8:goog.events.KeyCodes.F8,F9:goog.events.KeyCodes.F9,F10:goog.events.KeyCodes.F10,F11:goog.events.KeyCodes.F11,F12:goog.events.KeyCodes.F12,
+"U+007F":goog.events.KeyCodes.DELETE,Home:goog.events.KeyCodes.HOME,End:goog.events.KeyCodes.END,PageUp:goog.events.KeyCodes.PAGE_UP,PageDown:goog.events.KeyCodes.PAGE_DOWN,Insert:goog.events.KeyCodes.INSERT};goog.events.KeyHandler.USES_KEYDOWN_=!goog.userAgent.WEBKIT||goog.userAgent.isVersionOrHigher("525");goog.events.KeyHandler.SAVE_ALT_FOR_KEYPRESS_=goog.userAgent.MAC&&goog.userAgent.GECKO;
+goog.events.KeyHandler.prototype.handleKeyDown_=function(a){(goog.userAgent.WEBKIT||goog.userAgent.EDGE)&&(this.lastKey_==goog.events.KeyCodes.CTRL&&!a.ctrlKey||this.lastKey_==goog.events.KeyCodes.ALT&&!a.altKey||goog.userAgent.MAC&&this.lastKey_==goog.events.KeyCodes.META&&!a.metaKey)&&this.resetState();-1==this.lastKey_&&(a.ctrlKey&&a.keyCode!=goog.events.KeyCodes.CTRL?this.lastKey_=goog.events.KeyCodes.CTRL:a.altKey&&a.keyCode!=goog.events.KeyCodes.ALT?this.lastKey_=goog.events.KeyCodes.ALT:a.metaKey&&
+a.keyCode!=goog.events.KeyCodes.META&&(this.lastKey_=goog.events.KeyCodes.META));goog.events.KeyHandler.USES_KEYDOWN_&&!goog.events.KeyCodes.firesKeyPressEvent(a.keyCode,this.lastKey_,a.shiftKey,a.ctrlKey,a.altKey,a.metaKey)?this.handleEvent(a):(this.keyCode_=goog.events.KeyCodes.normalizeKeyCode(a.keyCode),goog.events.KeyHandler.SAVE_ALT_FOR_KEYPRESS_&&(this.altKey_=a.altKey))};goog.events.KeyHandler.prototype.resetState=function(){this.keyCode_=this.lastKey_=-1};
+goog.events.KeyHandler.prototype.handleKeyup_=function(a){this.resetState();this.altKey_=a.altKey};
+goog.events.KeyHandler.prototype.handleEvent=function(a){var b=a.getBrowserEvent(),c=b.altKey;if(goog.userAgent.IE&&a.type==goog.events.EventType.KEYPRESS){var d=this.keyCode_;var e=d!=goog.events.KeyCodes.ENTER&&d!=goog.events.KeyCodes.ESC?b.keyCode:0}else(goog.userAgent.WEBKIT||goog.userAgent.EDGE)&&a.type==goog.events.EventType.KEYPRESS?(d=this.keyCode_,e=0<=b.charCode&&63232>b.charCode&&goog.events.KeyCodes.isCharacterKey(d)?b.charCode:0):goog.userAgent.OPERA&&!goog.userAgent.WEBKIT?(d=this.keyCode_,
+e=goog.events.KeyCodes.isCharacterKey(d)?b.keyCode:0):(d=b.keyCode||this.keyCode_,e=b.charCode||0,goog.events.KeyHandler.SAVE_ALT_FOR_KEYPRESS_&&a.type==goog.events.EventType.KEYPRESS&&(c=this.altKey_),goog.userAgent.MAC&&e==goog.events.KeyCodes.QUESTION_MARK&&d==goog.events.KeyCodes.WIN_KEY&&(d=goog.events.KeyCodes.SLASH));var f=d=goog.events.KeyCodes.normalizeKeyCode(d);d?63232<=d&&d in goog.events.KeyHandler.safariKey_?f=goog.events.KeyHandler.safariKey_[d]:25==d&&a.shiftKey&&(f=9):b.keyIdentifier&&
+b.keyIdentifier in goog.events.KeyHandler.keyIdentifier_&&(f=goog.events.KeyHandler.keyIdentifier_[b.keyIdentifier]);goog.userAgent.GECKO&&goog.events.KeyHandler.USES_KEYDOWN_&&a.type==goog.events.EventType.KEYPRESS&&!goog.events.KeyCodes.firesKeyPressEvent(f,this.lastKey_,a.shiftKey,a.ctrlKey,c,a.metaKey)||(a=f==this.lastKey_,this.lastKey_=f,b=new goog.events.KeyEvent(f,e,a,b),b.altKey=c,this.dispatchEvent(b))};goog.events.KeyHandler.prototype.getElement=function(){return this.element_};
+goog.events.KeyHandler.prototype.attach=function(a,b){this.keyUpKey_&&this.detach();this.element_=a;this.keyPressKey_=goog.events.listen(this.element_,goog.events.EventType.KEYPRESS,this,b);this.keyDownKey_=goog.events.listen(this.element_,goog.events.EventType.KEYDOWN,this.handleKeyDown_,b,this);this.keyUpKey_=goog.events.listen(this.element_,goog.events.EventType.KEYUP,this.handleKeyup_,b,this)};
+goog.events.KeyHandler.prototype.detach=function(){this.keyPressKey_&&(goog.events.unlistenByKey(this.keyPressKey_),goog.events.unlistenByKey(this.keyDownKey_),goog.events.unlistenByKey(this.keyUpKey_),this.keyUpKey_=this.keyDownKey_=this.keyPressKey_=null);this.element_=null;this.keyCode_=this.lastKey_=-1};goog.events.KeyHandler.prototype.disposeInternal=function(){goog.events.KeyHandler.superClass_.disposeInternal.call(this);this.detach()};
+goog.events.KeyEvent=function(a,b,c,d){goog.events.BrowserEvent.call(this,d);this.type=goog.events.KeyHandler.EventType.KEY;this.keyCode=a;this.charCode=b;this.repeat=c};goog.inherits(goog.events.KeyEvent,goog.events.BrowserEvent);goog.ui.ComponentUtil={};goog.ui.ComponentUtil.getMouseEventType=function(a){return a.pointerEventsEnabled()?goog.events.PointerAsMouseEventType:goog.events.EventType};goog.dom.classlist={};goog.dom.classlist.ALWAYS_USE_DOM_TOKEN_LIST=!1;goog.dom.classlist.get=function(a){if(goog.dom.classlist.ALWAYS_USE_DOM_TOKEN_LIST||a.classList)return a.classList;a=a.className;return goog.isString(a)&&a.match(/\S+/g)||[]};goog.dom.classlist.set=function(a,b){a.className=b};goog.dom.classlist.contains=function(a,b){return goog.dom.classlist.ALWAYS_USE_DOM_TOKEN_LIST||a.classList?a.classList.contains(b):goog.array.contains(goog.dom.classlist.get(a),b)};
+goog.dom.classlist.add=function(a,b){goog.dom.classlist.ALWAYS_USE_DOM_TOKEN_LIST||a.classList?a.classList.add(b):goog.dom.classlist.contains(a,b)||(a.className+=0<a.className.length?" "+b:b)};
+goog.dom.classlist.addAll=function(a,b){if(goog.dom.classlist.ALWAYS_USE_DOM_TOKEN_LIST||a.classList)goog.array.forEach(b,function(b){goog.dom.classlist.add(a,b)});else{var c={};goog.array.forEach(goog.dom.classlist.get(a),function(a){c[a]=!0});goog.array.forEach(b,function(a){c[a]=!0});a.className="";for(var d in c)a.className+=0<a.className.length?" "+d:d}};
+goog.dom.classlist.remove=function(a,b){goog.dom.classlist.ALWAYS_USE_DOM_TOKEN_LIST||a.classList?a.classList.remove(b):goog.dom.classlist.contains(a,b)&&(a.className=goog.array.filter(goog.dom.classlist.get(a),function(a){return a!=b}).join(" "))};
+goog.dom.classlist.removeAll=function(a,b){goog.dom.classlist.ALWAYS_USE_DOM_TOKEN_LIST||a.classList?goog.array.forEach(b,function(b){goog.dom.classlist.remove(a,b)}):a.className=goog.array.filter(goog.dom.classlist.get(a),function(a){return!goog.array.contains(b,a)}).join(" ")};goog.dom.classlist.enable=function(a,b,c){c?goog.dom.classlist.add(a,b):goog.dom.classlist.remove(a,b)};goog.dom.classlist.enableAll=function(a,b,c){(c?goog.dom.classlist.addAll:goog.dom.classlist.removeAll)(a,b)};
+goog.dom.classlist.swap=function(a,b,c){return goog.dom.classlist.contains(a,b)?(goog.dom.classlist.remove(a,b),goog.dom.classlist.add(a,c),!0):!1};goog.dom.classlist.toggle=function(a,b){var c=!goog.dom.classlist.contains(a,b);goog.dom.classlist.enable(a,b,c);return c};goog.dom.classlist.addRemove=function(a,b,c){goog.dom.classlist.remove(a,b);goog.dom.classlist.add(a,c)};goog.ui.registry={};goog.ui.registry.getDefaultRenderer=function(a){for(var b;a;){b=goog.getUid(a);if(b=goog.ui.registry.defaultRenderers_[b])break;a=a.superClass_?a.superClass_.constructor:null}return b?goog.isFunction(b.getInstance)?b.getInstance():new b:null};
+goog.ui.registry.setDefaultRenderer=function(a,b){if(!goog.isFunction(a))throw Error("Invalid component class "+a);if(!goog.isFunction(b))throw Error("Invalid renderer class "+b);var c=goog.getUid(a);goog.ui.registry.defaultRenderers_[c]=b};goog.ui.registry.getDecoratorByClassName=function(a){return a in goog.ui.registry.decoratorFunctions_?goog.ui.registry.decoratorFunctions_[a]():null};
+goog.ui.registry.setDecoratorByClassName=function(a,b){if(!a)throw Error("Invalid class name "+a);if(!goog.isFunction(b))throw Error("Invalid decorator function "+b);goog.ui.registry.decoratorFunctions_[a]=b};goog.ui.registry.getDecorator=function(a){goog.asserts.assert(a);for(var b=goog.dom.classlist.get(a),c=0,d=b.length;c<d;c++)if(a=goog.ui.registry.getDecoratorByClassName(b[c]))return a;return null};
+goog.ui.registry.reset=function(){goog.ui.registry.defaultRenderers_={};goog.ui.registry.decoratorFunctions_={}};goog.ui.registry.defaultRenderers_={};goog.ui.registry.decoratorFunctions_={};goog.ui.ContainerRenderer=function(a){this.ariaRole_=a};goog.addSingletonGetter(goog.ui.ContainerRenderer);goog.ui.ContainerRenderer.getCustomRenderer=function(a,b){var c=new a;c.getCssClass=function(){return b};return c};goog.ui.ContainerRenderer.CSS_CLASS="goog-container";goog.ui.ContainerRenderer.prototype.getAriaRole=function(){return this.ariaRole_};goog.ui.ContainerRenderer.prototype.enableTabIndex=function(a,b){a&&(a.tabIndex=b?0:-1)};
+goog.ui.ContainerRenderer.prototype.createDom=function(a){return a.getDomHelper().createDom("DIV",this.getClassNames(a).join(" "))};goog.ui.ContainerRenderer.prototype.getContentElement=function(a){return a};goog.ui.ContainerRenderer.prototype.canDecorate=function(a){return"DIV"==a.tagName};
+goog.ui.ContainerRenderer.prototype.decorate=function(a,b){b.id&&a.setId(b.id);var c=this.getCssClass(),d=!1,e=goog.dom.classlist.get(b);e&&goog.array.forEach(e,function(b){b==c?d=!0:b&&this.setStateFromClassName(a,b,c)},this);d||goog.dom.classlist.add(b,c);this.decorateChildren(a,this.getContentElement(b));return b};
+goog.ui.ContainerRenderer.prototype.setStateFromClassName=function(a,b,c){b==c+"-disabled"?a.setEnabled(!1):b==c+"-horizontal"?a.setOrientation(goog.ui.Container.Orientation.HORIZONTAL):b==c+"-vertical"&&a.setOrientation(goog.ui.Container.Orientation.VERTICAL)};
+goog.ui.ContainerRenderer.prototype.decorateChildren=function(a,b,c){if(b){c=c||b.firstChild;for(var d;c&&c.parentNode==b;){d=c.nextSibling;if(c.nodeType==goog.dom.NodeType.ELEMENT){var e=this.getDecoratorForChild(c);e&&(e.setElementInternal(c),a.isEnabled()||e.setEnabled(!1),a.addChild(e),e.decorate(c))}else c.nodeValue&&""!=goog.string.trim(c.nodeValue)||b.removeChild(c);c=d}}};goog.ui.ContainerRenderer.prototype.getDecoratorForChild=function(a){return goog.ui.registry.getDecorator(a)};
+goog.ui.ContainerRenderer.prototype.initializeDom=function(a){a=a.getElement();goog.asserts.assert(a,"The container DOM element cannot be null.");goog.style.setUnselectable(a,!0,goog.userAgent.GECKO);goog.userAgent.IE&&(a.hideFocus=!0);var b=this.getAriaRole();b&&goog.a11y.aria.setRole(a,b)};goog.ui.ContainerRenderer.prototype.getKeyEventTarget=function(a){return a.getElement()};goog.ui.ContainerRenderer.prototype.getCssClass=function(){return goog.ui.ContainerRenderer.CSS_CLASS};
+goog.ui.ContainerRenderer.prototype.getClassNames=function(a){var b=this.getCssClass(),c=a.getOrientation()==goog.ui.Container.Orientation.HORIZONTAL;c=[b,c?b+"-horizontal":b+"-vertical"];a.isEnabled()||c.push(b+"-disabled");return c};goog.ui.ContainerRenderer.prototype.getDefaultOrientation=function(){return goog.ui.Container.Orientation.VERTICAL};goog.ui.ControlRenderer=function(){};goog.addSingletonGetter(goog.ui.ControlRenderer);goog.tagUnsealableClass(goog.ui.ControlRenderer);goog.ui.ControlRenderer.getCustomRenderer=function(a,b){var c=new a;c.getCssClass=function(){return b};return c};goog.ui.ControlRenderer.CSS_CLASS="goog-control";goog.ui.ControlRenderer.IE6_CLASS_COMBINATIONS=[];
+goog.ui.ControlRenderer.TOGGLE_ARIA_STATE_MAP_=goog.object.create(goog.a11y.aria.Role.BUTTON,goog.a11y.aria.State.PRESSED,goog.a11y.aria.Role.CHECKBOX,goog.a11y.aria.State.CHECKED,goog.a11y.aria.Role.MENU_ITEM,goog.a11y.aria.State.SELECTED,goog.a11y.aria.Role.MENU_ITEM_CHECKBOX,goog.a11y.aria.State.CHECKED,goog.a11y.aria.Role.MENU_ITEM_RADIO,goog.a11y.aria.State.CHECKED,goog.a11y.aria.Role.RADIO,goog.a11y.aria.State.CHECKED,goog.a11y.aria.Role.TAB,goog.a11y.aria.State.SELECTED,goog.a11y.aria.Role.TREEITEM,
+goog.a11y.aria.State.SELECTED);goog.ui.ControlRenderer.prototype.getAriaRole=function(){};goog.ui.ControlRenderer.prototype.createDom=function(a){return a.getDomHelper().createDom("DIV",this.getClassNames(a).join(" "),a.getContent())};goog.ui.ControlRenderer.prototype.getContentElement=function(a){return a};
+goog.ui.ControlRenderer.prototype.enableClassName=function(a,b,c){if(a=a.getElement?a.getElement():a){var d=[b];goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("7")&&(d=this.getAppliedCombinedClassNames_(goog.dom.classlist.get(a),b),d.push(b));goog.dom.classlist.enableAll(a,d,c)}};goog.ui.ControlRenderer.prototype.enableExtraClassName=function(a,b,c){this.enableClassName(a,b,c)};goog.ui.ControlRenderer.prototype.canDecorate=function(a){return!0};
+goog.ui.ControlRenderer.prototype.decorate=function(a,b){b.id&&a.setId(b.id);var c=this.getContentElement(b);c&&c.firstChild?a.setContentInternal(c.firstChild.nextSibling?goog.array.clone(c.childNodes):c.firstChild):a.setContentInternal(null);var d=0,e=this.getCssClass(),f=this.getStructuralCssClass(),g=!1,h=!1,k=!1,l=goog.array.toArray(goog.dom.classlist.get(b));goog.array.forEach(l,function(a){g||a!=e?h||a!=f?d|=this.getStateFromClass(a):h=!0:(g=!0,f==e&&(h=!0));this.getStateFromClass(a)==goog.ui.Component.State.DISABLED&&
+(goog.asserts.assertElement(c),goog.dom.isFocusableTabIndex(c)&&goog.dom.setFocusableTabIndex(c,!1))},this);a.setStateInternal(d);g||(l.push(e),f==e&&(h=!0));h||l.push(f);var n=a.getExtraClassNames();n&&l.push.apply(l,n);if(goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("7")){var m=this.getAppliedCombinedClassNames_(l);0<m.length&&(l.push.apply(l,m),k=!0)}g&&h&&!n&&!k||goog.dom.classlist.set(b,l.join(" "));return b};
+goog.ui.ControlRenderer.prototype.initializeDom=function(a){a.isRightToLeft()&&this.setRightToLeft(a.getElement(),!0);a.isEnabled()&&this.setFocusable(a,a.isVisible())};goog.ui.ControlRenderer.prototype.setAriaRole=function(a,b){var c=b||this.getAriaRole();if(c){goog.asserts.assert(a,"The element passed as a first parameter cannot be null.");var d=goog.a11y.aria.getRole(a);c!=d&&goog.a11y.aria.setRole(a,c)}};
+goog.ui.ControlRenderer.prototype.setAriaStates=function(a,b){goog.asserts.assert(a);goog.asserts.assert(b);var c=a.getAriaLabel();goog.isDefAndNotNull(c)&&this.setAriaLabel(b,c);a.isVisible()||goog.a11y.aria.setState(b,goog.a11y.aria.State.HIDDEN,!a.isVisible());a.isEnabled()||this.updateAriaState(b,goog.ui.Component.State.DISABLED,!a.isEnabled());a.isSupportedState(goog.ui.Component.State.SELECTED)&&this.updateAriaState(b,goog.ui.Component.State.SELECTED,a.isSelected());a.isSupportedState(goog.ui.Component.State.CHECKED)&&
+this.updateAriaState(b,goog.ui.Component.State.CHECKED,a.isChecked());a.isSupportedState(goog.ui.Component.State.OPENED)&&this.updateAriaState(b,goog.ui.Component.State.OPENED,a.isOpen())};goog.ui.ControlRenderer.prototype.setAriaLabel=function(a,b){goog.a11y.aria.setLabel(a,b)};goog.ui.ControlRenderer.prototype.setAllowTextSelection=function(a,b){goog.style.setUnselectable(a,!b,!goog.userAgent.IE&&!goog.userAgent.OPERA)};
+goog.ui.ControlRenderer.prototype.setRightToLeft=function(a,b){this.enableClassName(a,this.getStructuralCssClass()+"-rtl",b)};goog.ui.ControlRenderer.prototype.isFocusable=function(a){var b;return a.isSupportedState(goog.ui.Component.State.FOCUSED)&&(b=a.getKeyEventTarget())?goog.dom.isFocusableTabIndex(b):!1};
+goog.ui.ControlRenderer.prototype.setFocusable=function(a,b){var c;if(a.isSupportedState(goog.ui.Component.State.FOCUSED)&&(c=a.getKeyEventTarget())){if(!b&&a.isFocused()){try{c.blur()}catch(d){}a.isFocused()&&a.handleBlur(null)}goog.dom.isFocusableTabIndex(c)!=b&&goog.dom.setFocusableTabIndex(c,b)}};goog.ui.ControlRenderer.prototype.setVisible=function(a,b){goog.style.setElementShown(a,b);a&&goog.a11y.aria.setState(a,goog.a11y.aria.State.HIDDEN,!b)};
+goog.ui.ControlRenderer.prototype.setState=function(a,b,c){var d=a.getElement();if(d){var e=this.getClassForState(b);e&&this.enableClassName(a,e,c);this.updateAriaState(d,b,c)}};
+goog.ui.ControlRenderer.prototype.updateAriaState=function(a,b,c){goog.ui.ControlRenderer.ariaAttributeMap_||(goog.ui.ControlRenderer.ariaAttributeMap_=goog.object.create(goog.ui.Component.State.DISABLED,goog.a11y.aria.State.DISABLED,goog.ui.Component.State.SELECTED,goog.a11y.aria.State.SELECTED,goog.ui.Component.State.CHECKED,goog.a11y.aria.State.CHECKED,goog.ui.Component.State.OPENED,goog.a11y.aria.State.EXPANDED));goog.asserts.assert(a,"The element passed as a first parameter cannot be null.");
+(b=goog.ui.ControlRenderer.getAriaStateForAriaRole_(a,goog.ui.ControlRenderer.ariaAttributeMap_[b]))&&goog.a11y.aria.setState(a,b,c)};goog.ui.ControlRenderer.getAriaStateForAriaRole_=function(a,b){var c=goog.a11y.aria.getRole(a);if(!c)return b;c=goog.ui.ControlRenderer.TOGGLE_ARIA_STATE_MAP_[c]||b;return goog.ui.ControlRenderer.isAriaState_(b)?c:b};goog.ui.ControlRenderer.isAriaState_=function(a){return a==goog.a11y.aria.State.CHECKED||a==goog.a11y.aria.State.SELECTED};
+goog.ui.ControlRenderer.prototype.setContent=function(a,b){var c=this.getContentElement(a);if(c&&(goog.dom.removeChildren(c),b))if(goog.isString(b))goog.dom.setTextContent(c,b);else{var d=function(a){if(a){var b=goog.dom.getOwnerDocument(c);c.appendChild(goog.isString(a)?b.createTextNode(a):a)}};goog.isArray(b)?goog.array.forEach(b,d):!goog.isArrayLike(b)||"nodeType"in b?d(b):goog.array.forEach(goog.array.clone(b),d)}};goog.ui.ControlRenderer.prototype.getKeyEventTarget=function(a){return a.getElement()};
+goog.ui.ControlRenderer.prototype.getCssClass=function(){return goog.ui.ControlRenderer.CSS_CLASS};goog.ui.ControlRenderer.prototype.getIe6ClassCombinations=function(){return[]};goog.ui.ControlRenderer.prototype.getStructuralCssClass=function(){return this.getCssClass()};
+goog.ui.ControlRenderer.prototype.getClassNames=function(a){var b=this.getCssClass(),c=[b],d=this.getStructuralCssClass();d!=b&&c.push(d);b=this.getClassNamesForState(a.getState());c.push.apply(c,b);(a=a.getExtraClassNames())&&c.push.apply(c,a);goog.userAgent.IE&&!goog.userAgent.isVersionOrHigher("7")&&c.push.apply(c,this.getAppliedCombinedClassNames_(c));return c};
+goog.ui.ControlRenderer.prototype.getAppliedCombinedClassNames_=function(a,b){var c=[];b&&(a=goog.array.concat(a,[b]));goog.array.forEach(this.getIe6ClassCombinations(),function(d){!goog.array.every(d,goog.partial(goog.array.contains,a))||b&&!goog.array.contains(d,b)||c.push(d.join("_"))});return c};goog.ui.ControlRenderer.prototype.getClassNamesForState=function(a){for(var b=[];a;){var c=a&-a;b.push(this.getClassForState(c));a&=~c}return b};
+goog.ui.ControlRenderer.prototype.getClassForState=function(a){this.classByState_||this.createClassByStateMap_();return this.classByState_[a]};goog.ui.ControlRenderer.prototype.getStateFromClass=function(a){this.stateByClass_||this.createStateByClassMap_();a=parseInt(this.stateByClass_[a],10);return isNaN(a)?0:a};
+goog.ui.ControlRenderer.prototype.createClassByStateMap_=function(){var a=this.getStructuralCssClass(),b=!goog.string.contains(goog.string.normalizeWhitespace(a)," ");goog.asserts.assert(b,"ControlRenderer has an invalid css class: '"+a+"'");this.classByState_=goog.object.create(goog.ui.Component.State.DISABLED,a+"-disabled",goog.ui.Component.State.HOVER,a+"-hover",goog.ui.Component.State.ACTIVE,a+"-active",goog.ui.Component.State.SELECTED,a+"-selected",goog.ui.Component.State.CHECKED,a+"-checked",
+goog.ui.Component.State.FOCUSED,a+"-focused",goog.ui.Component.State.OPENED,a+"-open")};goog.ui.ControlRenderer.prototype.createStateByClassMap_=function(){this.classByState_||this.createClassByStateMap_();this.stateByClass_=goog.object.transpose(this.classByState_)};goog.ui.Control=function(a,b,c){goog.ui.Component.call(this,c);this.renderer_=b||goog.ui.registry.getDefaultRenderer(this.constructor);this.setContentInternal(goog.isDef(a)?a:null);this.ariaLabel_=null};goog.inherits(goog.ui.Control,goog.ui.Component);goog.tagUnsealableClass(goog.ui.Control);goog.ui.Control.registerDecorator=goog.ui.registry.setDecoratorByClassName;goog.ui.Control.getDecorator=goog.ui.registry.getDecorator;goog.ui.Control.prototype.content_=null;goog.ui.Control.prototype.state_=0;
+goog.ui.Control.prototype.supportedStates_=goog.ui.Component.State.DISABLED|goog.ui.Component.State.HOVER|goog.ui.Component.State.ACTIVE|goog.ui.Component.State.FOCUSED;goog.ui.Control.prototype.autoStates_=goog.ui.Component.State.ALL;goog.ui.Control.prototype.statesWithTransitionEvents_=0;goog.ui.Control.prototype.visible_=!0;goog.ui.Control.prototype.extraClassNames_=null;goog.ui.Control.prototype.handleMouseEvents_=!0;goog.ui.Control.prototype.allowTextSelection_=!1;
+goog.ui.Control.prototype.preferredAriaRole_=null;goog.ui.Control.prototype.isHandleMouseEvents=function(){return this.handleMouseEvents_};goog.ui.Control.prototype.setHandleMouseEvents=function(a){this.isInDocument()&&a!=this.handleMouseEvents_&&this.enableMouseEventHandling_(a);this.handleMouseEvents_=a};goog.ui.Control.prototype.getKeyEventTarget=function(){return this.renderer_.getKeyEventTarget(this)};
+goog.ui.Control.prototype.getKeyHandler=function(){return this.keyHandler_||(this.keyHandler_=new goog.events.KeyHandler)};goog.ui.Control.prototype.getRenderer=function(){return this.renderer_};goog.ui.Control.prototype.setRenderer=function(a){if(this.isInDocument())throw Error(goog.ui.Component.Error.ALREADY_RENDERED);this.getElement()&&this.setElementInternal(null);this.renderer_=a};goog.ui.Control.prototype.getExtraClassNames=function(){return this.extraClassNames_};
+goog.ui.Control.prototype.addClassName=function(a){a&&(this.extraClassNames_?goog.array.contains(this.extraClassNames_,a)||this.extraClassNames_.push(a):this.extraClassNames_=[a],this.renderer_.enableExtraClassName(this,a,!0))};goog.ui.Control.prototype.removeClassName=function(a){a&&this.extraClassNames_&&goog.array.remove(this.extraClassNames_,a)&&(0==this.extraClassNames_.length&&(this.extraClassNames_=null),this.renderer_.enableExtraClassName(this,a,!1))};
+goog.ui.Control.prototype.enableClassName=function(a,b){b?this.addClassName(a):this.removeClassName(a)};goog.ui.Control.prototype.createDom=function(){var a=this.renderer_.createDom(this);this.setElementInternal(a);this.renderer_.setAriaRole(a,this.getPreferredAriaRole());this.isAllowTextSelection()||this.renderer_.setAllowTextSelection(a,!1);this.isVisible()||this.renderer_.setVisible(a,!1)};goog.ui.Control.prototype.getPreferredAriaRole=function(){return this.preferredAriaRole_};
+goog.ui.Control.prototype.setPreferredAriaRole=function(a){this.preferredAriaRole_=a};goog.ui.Control.prototype.getAriaLabel=function(){return this.ariaLabel_};goog.ui.Control.prototype.setAriaLabel=function(a){this.ariaLabel_=a;var b=this.getElement();b&&this.renderer_.setAriaLabel(b,a)};goog.ui.Control.prototype.getContentElement=function(){return this.renderer_.getContentElement(this.getElement())};goog.ui.Control.prototype.canDecorate=function(a){return this.renderer_.canDecorate(a)};
+goog.ui.Control.prototype.decorateInternal=function(a){a=this.renderer_.decorate(this,a);this.setElementInternal(a);this.renderer_.setAriaRole(a,this.getPreferredAriaRole());this.isAllowTextSelection()||this.renderer_.setAllowTextSelection(a,!1);this.visible_="none"!=a.style.display};
+goog.ui.Control.prototype.enterDocument=function(){goog.ui.Control.superClass_.enterDocument.call(this);this.renderer_.setAriaStates(this,this.getElementStrict());this.renderer_.initializeDom(this);if(this.supportedStates_&~goog.ui.Component.State.DISABLED&&(this.isHandleMouseEvents()&&this.enableMouseEventHandling_(!0),this.isSupportedState(goog.ui.Component.State.FOCUSED))){var a=this.getKeyEventTarget();if(a){var b=this.getKeyHandler();b.attach(a);this.getHandler().listen(b,goog.events.KeyHandler.EventType.KEY,
+this.handleKeyEvent).listen(a,goog.events.EventType.FOCUS,this.handleFocus).listen(a,goog.events.EventType.BLUR,this.handleBlur)}}};
+goog.ui.Control.prototype.enableMouseEventHandling_=function(a){var b=goog.ui.ComponentUtil.getMouseEventType(this),c=this.getHandler(),d=this.getElement();a?(c.listen(d,b.MOUSEDOWN,this.handleMouseDown).listen(d,[b.MOUSEUP,b.MOUSECANCEL],this.handleMouseUp).listen(d,goog.events.EventType.MOUSEOVER,this.handleMouseOver).listen(d,goog.events.EventType.MOUSEOUT,this.handleMouseOut),this.pointerEventsEnabled()&&c.listen(d,goog.events.EventType.GOTPOINTERCAPTURE,this.preventPointerCapture_),this.handleContextMenu!=
+goog.nullFunction&&c.listen(d,goog.events.EventType.CONTEXTMENU,this.handleContextMenu),goog.userAgent.IE&&(goog.userAgent.isVersionOrHigher(9)||c.listen(d,goog.events.EventType.DBLCLICK,this.handleDblClick),this.ieMouseEventSequenceSimulator_||(this.ieMouseEventSequenceSimulator_=new goog.ui.Control.IeMouseEventSequenceSimulator_(this),this.registerDisposable(this.ieMouseEventSequenceSimulator_)))):(c.unlisten(d,b.MOUSEDOWN,this.handleMouseDown).unlisten(d,[b.MOUSEUP,b.MOUSECANCEL],this.handleMouseUp).unlisten(d,
+goog.events.EventType.MOUSEOVER,this.handleMouseOver).unlisten(d,goog.events.EventType.MOUSEOUT,this.handleMouseOut),this.pointerEventsEnabled()&&c.unlisten(d,goog.events.EventType.GOTPOINTERCAPTURE,this.preventPointerCapture_),this.handleContextMenu!=goog.nullFunction&&c.unlisten(d,goog.events.EventType.CONTEXTMENU,this.handleContextMenu),goog.userAgent.IE&&(goog.userAgent.isVersionOrHigher(9)||c.unlisten(d,goog.events.EventType.DBLCLICK,this.handleDblClick),goog.dispose(this.ieMouseEventSequenceSimulator_),
+this.ieMouseEventSequenceSimulator_=null))};goog.ui.Control.prototype.exitDocument=function(){goog.ui.Control.superClass_.exitDocument.call(this);this.keyHandler_&&this.keyHandler_.detach();this.isVisible()&&this.isEnabled()&&this.renderer_.setFocusable(this,!1)};
+goog.ui.Control.prototype.disposeInternal=function(){goog.ui.Control.superClass_.disposeInternal.call(this);this.keyHandler_&&(this.keyHandler_.dispose(),delete this.keyHandler_);delete this.renderer_;this.ieMouseEventSequenceSimulator_=this.extraClassNames_=this.content_=null};goog.ui.Control.prototype.getContent=function(){return this.content_};goog.ui.Control.prototype.setContent=function(a){this.renderer_.setContent(this.getElement(),a);this.setContentInternal(a)};
+goog.ui.Control.prototype.setContentInternal=function(a){this.content_=a};goog.ui.Control.prototype.getCaption=function(){var a=this.getContent();if(!a)return"";a=goog.isString(a)?a:goog.isArray(a)?goog.array.map(a,goog.dom.getRawTextContent).join(""):goog.dom.getTextContent(a);return goog.string.collapseBreakingSpaces(a)};goog.ui.Control.prototype.setCaption=function(a){this.setContent(a)};
+goog.ui.Control.prototype.setRightToLeft=function(a){goog.ui.Control.superClass_.setRightToLeft.call(this,a);var b=this.getElement();b&&this.renderer_.setRightToLeft(b,a)};goog.ui.Control.prototype.isAllowTextSelection=function(){return this.allowTextSelection_};goog.ui.Control.prototype.setAllowTextSelection=function(a){this.allowTextSelection_=a;var b=this.getElement();b&&this.renderer_.setAllowTextSelection(b,a)};goog.ui.Control.prototype.isVisible=function(){return this.visible_};
+goog.ui.Control.prototype.setVisible=function(a,b){if(b||this.visible_!=a&&this.dispatchEvent(a?goog.ui.Component.EventType.SHOW:goog.ui.Component.EventType.HIDE)){var c=this.getElement();c&&this.renderer_.setVisible(c,a);this.isEnabled()&&this.renderer_.setFocusable(this,a);this.visible_=a;return!0}return!1};goog.ui.Control.prototype.isEnabled=function(){return!this.hasState(goog.ui.Component.State.DISABLED)};
+goog.ui.Control.prototype.isParentDisabled_=function(){var a=this.getParent();return!!a&&"function"==typeof a.isEnabled&&!a.isEnabled()};goog.ui.Control.prototype.setEnabled=function(a){!this.isParentDisabled_()&&this.isTransitionAllowed(goog.ui.Component.State.DISABLED,!a)&&(a||(this.setActive(!1),this.setHighlighted(!1)),this.isVisible()&&this.renderer_.setFocusable(this,a),this.setState(goog.ui.Component.State.DISABLED,!a,!0))};goog.ui.Control.prototype.isHighlighted=function(){return this.hasState(goog.ui.Component.State.HOVER)};
+goog.ui.Control.prototype.setHighlighted=function(a){this.isTransitionAllowed(goog.ui.Component.State.HOVER,a)&&this.setState(goog.ui.Component.State.HOVER,a)};goog.ui.Control.prototype.isActive=function(){return this.hasState(goog.ui.Component.State.ACTIVE)};goog.ui.Control.prototype.setActive=function(a){this.isTransitionAllowed(goog.ui.Component.State.ACTIVE,a)&&this.setState(goog.ui.Component.State.ACTIVE,a)};goog.ui.Control.prototype.isSelected=function(){return this.hasState(goog.ui.Component.State.SELECTED)};
+goog.ui.Control.prototype.setSelected=function(a){this.isTransitionAllowed(goog.ui.Component.State.SELECTED,a)&&this.setState(goog.ui.Component.State.SELECTED,a)};goog.ui.Control.prototype.isChecked=function(){return this.hasState(goog.ui.Component.State.CHECKED)};goog.ui.Control.prototype.setChecked=function(a){this.isTransitionAllowed(goog.ui.Component.State.CHECKED,a)&&this.setState(goog.ui.Component.State.CHECKED,a)};goog.ui.Control.prototype.isFocused=function(){return this.hasState(goog.ui.Component.State.FOCUSED)};
+goog.ui.Control.prototype.setFocused=function(a){this.isTransitionAllowed(goog.ui.Component.State.FOCUSED,a)&&this.setState(goog.ui.Component.State.FOCUSED,a)};goog.ui.Control.prototype.isOpen=function(){return this.hasState(goog.ui.Component.State.OPENED)};goog.ui.Control.prototype.setOpen=function(a){this.isTransitionAllowed(goog.ui.Component.State.OPENED,a)&&this.setState(goog.ui.Component.State.OPENED,a)};goog.ui.Control.prototype.getState=function(){return this.state_};
+goog.ui.Control.prototype.hasState=function(a){return!!(this.state_&a)};goog.ui.Control.prototype.setState=function(a,b,c){c||a!=goog.ui.Component.State.DISABLED?this.isSupportedState(a)&&b!=this.hasState(a)&&(this.renderer_.setState(this,a,b),this.state_=b?this.state_|a:this.state_&~a):this.setEnabled(!b)};goog.ui.Control.prototype.setStateInternal=function(a){this.state_=a};goog.ui.Control.prototype.isSupportedState=function(a){return!!(this.supportedStates_&a)};
+goog.ui.Control.prototype.setSupportedState=function(a,b){if(this.isInDocument()&&this.hasState(a)&&!b)throw Error(goog.ui.Component.Error.ALREADY_RENDERED);!b&&this.hasState(a)&&this.setState(a,!1);this.supportedStates_=b?this.supportedStates_|a:this.supportedStates_&~a};goog.ui.Control.prototype.isAutoState=function(a){return!!(this.autoStates_&a)&&this.isSupportedState(a)};goog.ui.Control.prototype.setAutoStates=function(a,b){this.autoStates_=b?this.autoStates_|a:this.autoStates_&~a};
+goog.ui.Control.prototype.isDispatchTransitionEvents=function(a){return!!(this.statesWithTransitionEvents_&a)&&this.isSupportedState(a)};goog.ui.Control.prototype.setDispatchTransitionEvents=function(a,b){this.statesWithTransitionEvents_=b?this.statesWithTransitionEvents_|a:this.statesWithTransitionEvents_&~a};
+goog.ui.Control.prototype.isTransitionAllowed=function(a,b){return this.isSupportedState(a)&&this.hasState(a)!=b&&(!(this.statesWithTransitionEvents_&a)||this.dispatchEvent(goog.ui.Component.getStateTransitionEvent(a,b)))&&!this.isDisposed()};goog.ui.Control.prototype.handleMouseOver=function(a){!goog.ui.Control.isMouseEventWithinElement_(a,this.getElement())&&this.dispatchEvent(goog.ui.Component.EventType.ENTER)&&this.isEnabled()&&this.isAutoState(goog.ui.Component.State.HOVER)&&this.setHighlighted(!0)};
+goog.ui.Control.prototype.handleMouseOut=function(a){!goog.ui.Control.isMouseEventWithinElement_(a,this.getElement())&&this.dispatchEvent(goog.ui.Component.EventType.LEAVE)&&(this.isAutoState(goog.ui.Component.State.ACTIVE)&&this.setActive(!1),this.isAutoState(goog.ui.Component.State.HOVER)&&this.setHighlighted(!1))};goog.ui.Control.prototype.preventPointerCapture_=function(a){var b=a.target;b.releasePointerCapture&&b.releasePointerCapture(a.pointerId)};
+goog.ui.Control.prototype.handleContextMenu=goog.nullFunction;goog.ui.Control.isMouseEventWithinElement_=function(a,b){return!!a.relatedTarget&&goog.dom.contains(b,a.relatedTarget)};
+goog.ui.Control.prototype.handleMouseDown=function(a){this.isEnabled()&&(this.isAutoState(goog.ui.Component.State.HOVER)&&this.setHighlighted(!0),a.isMouseActionButton()&&(this.isAutoState(goog.ui.Component.State.ACTIVE)&&this.setActive(!0),this.renderer_&&this.renderer_.isFocusable(this)&&this.getKeyEventTarget().focus()));!this.isAllowTextSelection()&&a.isMouseActionButton()&&a.preventDefault()};
+goog.ui.Control.prototype.handleMouseUp=function(a){this.isEnabled()&&(this.isAutoState(goog.ui.Component.State.HOVER)&&this.setHighlighted(!0),this.isActive()&&this.performActionInternal(a)&&this.isAutoState(goog.ui.Component.State.ACTIVE)&&this.setActive(!1))};goog.ui.Control.prototype.handleDblClick=function(a){this.isEnabled()&&this.performActionInternal(a)};
+goog.ui.Control.prototype.performActionInternal=function(a){this.isAutoState(goog.ui.Component.State.CHECKED)&&this.setChecked(!this.isChecked());this.isAutoState(goog.ui.Component.State.SELECTED)&&this.setSelected(!0);this.isAutoState(goog.ui.Component.State.OPENED)&&this.setOpen(!this.isOpen());var b=new goog.events.Event(goog.ui.Component.EventType.ACTION,this);a&&(b.altKey=a.altKey,b.ctrlKey=a.ctrlKey,b.metaKey=a.metaKey,b.shiftKey=a.shiftKey,b.platformModifierKey=a.platformModifierKey);return this.dispatchEvent(b)};
+goog.ui.Control.prototype.handleFocus=function(a){this.isAutoState(goog.ui.Component.State.FOCUSED)&&this.setFocused(!0)};goog.ui.Control.prototype.handleBlur=function(a){this.isAutoState(goog.ui.Component.State.ACTIVE)&&this.setActive(!1);this.isAutoState(goog.ui.Component.State.FOCUSED)&&this.setFocused(!1)};goog.ui.Control.prototype.handleKeyEvent=function(a){return this.isVisible()&&this.isEnabled()&&this.handleKeyEventInternal(a)?(a.preventDefault(),a.stopPropagation(),!0):!1};
+goog.ui.Control.prototype.handleKeyEventInternal=function(a){return a.keyCode==goog.events.KeyCodes.ENTER&&this.performActionInternal(a)};goog.ui.registry.setDefaultRenderer(goog.ui.Control,goog.ui.ControlRenderer);goog.ui.registry.setDecoratorByClassName(goog.ui.ControlRenderer.CSS_CLASS,function(){return new goog.ui.Control(null)});
+goog.ui.Control.IeMouseEventSequenceSimulator_=function(a){goog.Disposable.call(this);this.control_=a;this.clickExpected_=!1;this.handler_=new goog.events.EventHandler(this);this.registerDisposable(this.handler_);a=this.control_.getElementStrict();this.handler_.listen(a,goog.events.EventType.MOUSEDOWN,this.handleMouseDown_).listen(a,goog.events.EventType.MOUSEUP,this.handleMouseUp_).listen(a,goog.events.EventType.CLICK,this.handleClick_)};
+goog.inherits(goog.ui.Control.IeMouseEventSequenceSimulator_,goog.Disposable);goog.ui.Control.IeMouseEventSequenceSimulator_.SYNTHETIC_EVENTS_=!goog.userAgent.IE||goog.userAgent.isDocumentModeOrHigher(9);goog.ui.Control.IeMouseEventSequenceSimulator_.prototype.handleMouseDown_=function(){this.clickExpected_=!1};goog.ui.Control.IeMouseEventSequenceSimulator_.prototype.handleMouseUp_=function(){this.clickExpected_=!0};
+goog.ui.Control.IeMouseEventSequenceSimulator_.makeLeftMouseEvent_=function(a,b){if(!goog.ui.Control.IeMouseEventSequenceSimulator_.SYNTHETIC_EVENTS_)return a.button=goog.events.BrowserEvent.MouseButton.LEFT,a.type=b,a;var c=document.createEvent("MouseEvents");c.initMouseEvent(b,a.bubbles,a.cancelable,a.view||null,a.detail,a.screenX,a.screenY,a.clientX,a.clientY,a.ctrlKey,a.altKey,a.shiftKey,a.metaKey,goog.events.BrowserEvent.MouseButton.LEFT,a.relatedTarget||null);return c};
+goog.ui.Control.IeMouseEventSequenceSimulator_.prototype.handleClick_=function(a){if(this.clickExpected_)this.clickExpected_=!1;else{var b=a.getBrowserEvent(),c=b.button,d=b.type,e=goog.ui.Control.IeMouseEventSequenceSimulator_.makeLeftMouseEvent_(b,goog.events.EventType.MOUSEDOWN);this.control_.handleMouseDown(new goog.events.BrowserEvent(e,a.currentTarget));e=goog.ui.Control.IeMouseEventSequenceSimulator_.makeLeftMouseEvent_(b,goog.events.EventType.MOUSEUP);this.control_.handleMouseUp(new goog.events.BrowserEvent(e,
+a.currentTarget));goog.ui.Control.IeMouseEventSequenceSimulator_.SYNTHETIC_EVENTS_||(b.button=c,b.type=d)}};goog.ui.Control.IeMouseEventSequenceSimulator_.prototype.disposeInternal=function(){this.control_=null;goog.ui.Control.IeMouseEventSequenceSimulator_.superClass_.disposeInternal.call(this)};goog.ui.Container=function(a,b,c){goog.ui.Component.call(this,c);this.renderer_=b||goog.ui.ContainerRenderer.getInstance();this.orientation_=a||this.renderer_.getDefaultOrientation()};goog.inherits(goog.ui.Container,goog.ui.Component);goog.tagUnsealableClass(goog.ui.Container);goog.ui.Container.EventType={AFTER_SHOW:"aftershow",AFTER_HIDE:"afterhide"};goog.ui.Container.Orientation={HORIZONTAL:"horizontal",VERTICAL:"vertical"};goog.ui.Container.prototype.keyEventTarget_=null;
+goog.ui.Container.prototype.keyHandler_=null;goog.ui.Container.prototype.renderer_=null;goog.ui.Container.prototype.orientation_=null;goog.ui.Container.prototype.visible_=!0;goog.ui.Container.prototype.enabled_=!0;goog.ui.Container.prototype.focusable_=!0;goog.ui.Container.prototype.highlightedIndex_=-1;goog.ui.Container.prototype.openItem_=null;goog.ui.Container.prototype.mouseButtonPressed_=!1;goog.ui.Container.prototype.allowFocusableChildren_=!1;
+goog.ui.Container.prototype.openFollowsHighlight_=!0;goog.ui.Container.prototype.childElementIdMap_=null;goog.ui.Container.prototype.getKeyEventTarget=function(){return this.keyEventTarget_||this.renderer_.getKeyEventTarget(this)};
+goog.ui.Container.prototype.setKeyEventTarget=function(a){if(this.focusable_){var b=this.getKeyEventTarget(),c=this.isInDocument();this.keyEventTarget_=a;var d=this.getKeyEventTarget();c&&(this.keyEventTarget_=b,this.enableFocusHandling_(!1),this.keyEventTarget_=a,this.getKeyHandler().attach(d),this.enableFocusHandling_(!0))}else throw Error("Can't set key event target for container that doesn't support keyboard focus!");};
+goog.ui.Container.prototype.getKeyHandler=function(){return this.keyHandler_||(this.keyHandler_=new goog.events.KeyHandler(this.getKeyEventTarget()))};goog.ui.Container.prototype.getRenderer=function(){return this.renderer_};goog.ui.Container.prototype.setRenderer=function(a){if(this.getElement())throw Error(goog.ui.Component.Error.ALREADY_RENDERED);this.renderer_=a};goog.ui.Container.prototype.createDom=function(){this.setElementInternal(this.renderer_.createDom(this))};
+goog.ui.Container.prototype.getContentElement=function(){return this.renderer_.getContentElement(this.getElement())};goog.ui.Container.prototype.canDecorate=function(a){return this.renderer_.canDecorate(a)};goog.ui.Container.prototype.decorateInternal=function(a){this.setElementInternal(this.renderer_.decorate(this,a));"none"==a.style.display&&(this.visible_=!1)};
+goog.ui.Container.prototype.enterDocument=function(){goog.ui.Container.superClass_.enterDocument.call(this);this.forEachChild(function(a){a.isInDocument()&&this.registerChildId_(a)},this);var a=this.getElement();this.renderer_.initializeDom(this);this.setVisible(this.visible_,!0);var b=goog.ui.ComponentUtil.getMouseEventType(this);this.getHandler().listen(this,goog.ui.Component.EventType.ENTER,this.handleEnterItem).listen(this,goog.ui.Component.EventType.HIGHLIGHT,this.handleHighlightItem).listen(this,
+goog.ui.Component.EventType.UNHIGHLIGHT,this.handleUnHighlightItem).listen(this,goog.ui.Component.EventType.OPEN,this.handleOpenItem).listen(this,goog.ui.Component.EventType.CLOSE,this.handleCloseItem).listen(a,b.MOUSEDOWN,this.handleMouseDown).listen(goog.dom.getOwnerDocument(a),[b.MOUSEUP,b.MOUSECANCEL],this.handleDocumentMouseUp).listen(a,[b.MOUSEDOWN,b.MOUSEUP,b.MOUSECANCEL,goog.events.EventType.MOUSEOVER,goog.events.EventType.MOUSEOUT,goog.events.EventType.CONTEXTMENU],this.handleChildMouseEvents);
+this.pointerEventsEnabled()&&this.getHandler().listen(a,goog.events.EventType.GOTPOINTERCAPTURE,this.preventPointerCapture_);this.isFocusable()&&this.enableFocusHandling_(!0)};goog.ui.Container.prototype.preventPointerCapture_=function(a){var b=a.target;b.releasePointerCapture&&b.releasePointerCapture(a.pointerId)};
+goog.ui.Container.prototype.enableFocusHandling_=function(a){var b=this.getHandler(),c=this.getKeyEventTarget();a?b.listen(c,goog.events.EventType.FOCUS,this.handleFocus).listen(c,goog.events.EventType.BLUR,this.handleBlur).listen(this.getKeyHandler(),goog.events.KeyHandler.EventType.KEY,this.handleKeyEvent):b.unlisten(c,goog.events.EventType.FOCUS,this.handleFocus).unlisten(c,goog.events.EventType.BLUR,this.handleBlur).unlisten(this.getKeyHandler(),goog.events.KeyHandler.EventType.KEY,this.handleKeyEvent)};
+goog.ui.Container.prototype.exitDocument=function(){this.setHighlightedIndex(-1);this.openItem_&&this.openItem_.setOpen(!1);this.mouseButtonPressed_=!1;goog.ui.Container.superClass_.exitDocument.call(this)};goog.ui.Container.prototype.disposeInternal=function(){goog.ui.Container.superClass_.disposeInternal.call(this);this.keyHandler_&&(this.keyHandler_.dispose(),this.keyHandler_=null);this.renderer_=this.openItem_=this.childElementIdMap_=this.keyEventTarget_=null};
+goog.ui.Container.prototype.handleEnterItem=function(a){return!0};
+goog.ui.Container.prototype.handleHighlightItem=function(a){var b=this.indexOfChild(a.target);if(-1<b&&b!=this.highlightedIndex_){var c=this.getHighlighted();c&&c.setHighlighted(!1);this.highlightedIndex_=b;c=this.getHighlighted();this.isMouseButtonPressed()&&c.setActive(!0);this.openFollowsHighlight_&&this.openItem_&&c!=this.openItem_&&(c.isSupportedState(goog.ui.Component.State.OPENED)?c.setOpen(!0):this.openItem_.setOpen(!1))}b=this.getElement();goog.asserts.assert(b,"The DOM element for the container cannot be null.");
+null!=a.target.getElement()&&goog.a11y.aria.setState(b,goog.a11y.aria.State.ACTIVEDESCENDANT,a.target.getElement().id)};goog.ui.Container.prototype.handleUnHighlightItem=function(a){a.target==this.getHighlighted()&&(this.highlightedIndex_=-1);a=this.getElement();goog.asserts.assert(a,"The DOM element for the container cannot be null.");goog.a11y.aria.removeState(a,goog.a11y.aria.State.ACTIVEDESCENDANT)};
+goog.ui.Container.prototype.handleOpenItem=function(a){(a=a.target)&&a!=this.openItem_&&a.getParent()==this&&(this.openItem_&&this.openItem_.setOpen(!1),this.openItem_=a)};goog.ui.Container.prototype.handleCloseItem=function(a){a.target==this.openItem_&&(this.openItem_=null);var b=this.getElement(),c=a.target.getElement();b&&a.target.isHighlighted()&&c&&goog.a11y.aria.setActiveDescendant(b,c)};
+goog.ui.Container.prototype.handleMouseDown=function(a){this.enabled_&&this.setMouseButtonPressed(!0);var b=this.getKeyEventTarget();b&&goog.dom.isFocusableTabIndex(b)?b.focus():a.preventDefault()};goog.ui.Container.prototype.handleDocumentMouseUp=function(a){this.setMouseButtonPressed(!1)};
+goog.ui.Container.prototype.handleChildMouseEvents=function(a){var b=goog.ui.ComponentUtil.getMouseEventType(this),c=this.getOwnerControl(a.target);if(c)switch(a.type){case b.MOUSEDOWN:c.handleMouseDown(a);break;case b.MOUSEUP:case b.MOUSECANCEL:c.handleMouseUp(a);break;case goog.events.EventType.MOUSEOVER:c.handleMouseOver(a);break;case goog.events.EventType.MOUSEOUT:c.handleMouseOut(a);break;case goog.events.EventType.CONTEXTMENU:c.handleContextMenu(a)}};
+goog.ui.Container.prototype.getOwnerControl=function(a){if(this.childElementIdMap_)for(var b=this.getElement();a&&a!==b;){var c=a.id;if(c in this.childElementIdMap_)return this.childElementIdMap_[c];a=a.parentNode}return null};goog.ui.Container.prototype.handleFocus=function(a){};goog.ui.Container.prototype.handleBlur=function(a){this.setHighlightedIndex(-1);this.setMouseButtonPressed(!1);this.openItem_&&this.openItem_.setOpen(!1)};
+goog.ui.Container.prototype.handleKeyEvent=function(a){return this.isEnabled()&&this.isVisible()&&(0!=this.getChildCount()||this.keyEventTarget_)&&this.handleKeyEventInternal(a)?(a.preventDefault(),a.stopPropagation(),!0):!1};
+goog.ui.Container.prototype.handleKeyEventInternal=function(a){var b=this.getHighlighted();if(b&&"function"==typeof b.handleKeyEvent&&b.handleKeyEvent(a)||this.openItem_&&this.openItem_!=b&&"function"==typeof this.openItem_.handleKeyEvent&&this.openItem_.handleKeyEvent(a))return!0;if(a.shiftKey||a.ctrlKey||a.metaKey||a.altKey)return!1;switch(a.keyCode){case goog.events.KeyCodes.ESC:if(this.isFocusable())this.getKeyEventTarget().blur();else return!1;break;case goog.events.KeyCodes.HOME:this.highlightFirst();
+break;case goog.events.KeyCodes.END:this.highlightLast();break;case goog.events.KeyCodes.UP:if(this.orientation_==goog.ui.Container.Orientation.VERTICAL)this.highlightPrevious();else return!1;break;case goog.events.KeyCodes.LEFT:if(this.orientation_==goog.ui.Container.Orientation.HORIZONTAL)this.isRightToLeft()?this.highlightNext():this.highlightPrevious();else return!1;break;case goog.events.KeyCodes.DOWN:if(this.orientation_==goog.ui.Container.Orientation.VERTICAL)this.highlightNext();else return!1;
+break;case goog.events.KeyCodes.RIGHT:if(this.orientation_==goog.ui.Container.Orientation.HORIZONTAL)this.isRightToLeft()?this.highlightPrevious():this.highlightNext();else return!1;break;default:return!1}return!0};goog.ui.Container.prototype.registerChildId_=function(a){var b=a.getElement();b=b.id||(b.id=a.getId());this.childElementIdMap_||(this.childElementIdMap_={});this.childElementIdMap_[b]=a};
+goog.ui.Container.prototype.addChild=function(a,b){goog.asserts.assertInstanceof(a,goog.ui.Control,"The child of a container must be a control");goog.ui.Container.superClass_.addChild.call(this,a,b)};
+goog.ui.Container.prototype.addChildAt=function(a,b,c){goog.asserts.assertInstanceof(a,goog.ui.Control);a.setDispatchTransitionEvents(goog.ui.Component.State.HOVER,!0);a.setDispatchTransitionEvents(goog.ui.Component.State.OPENED,!0);!this.isFocusable()&&this.isFocusableChildrenAllowed()||a.setSupportedState(goog.ui.Component.State.FOCUSED,!1);a.setHandleMouseEvents(!1);var d=a.getParent()==this?this.indexOfChild(a):-1;goog.ui.Container.superClass_.addChildAt.call(this,a,b,c);a.isInDocument()&&this.isInDocument()&&
+this.registerChildId_(a);this.updateHighlightedIndex_(d,b)};goog.ui.Container.prototype.updateHighlightedIndex_=function(a,b){-1==a&&(a=this.getChildCount());a==this.highlightedIndex_?this.highlightedIndex_=Math.min(this.getChildCount()-1,b):a>this.highlightedIndex_&&b<=this.highlightedIndex_?this.highlightedIndex_++:a<this.highlightedIndex_&&b>this.highlightedIndex_&&this.highlightedIndex_--};
+goog.ui.Container.prototype.removeChild=function(a,b){a=goog.isString(a)?this.getChild(a):a;goog.asserts.assertInstanceof(a,goog.ui.Control);if(a){var c=this.indexOfChild(a);-1!=c&&(c==this.highlightedIndex_?(a.setHighlighted(!1),this.highlightedIndex_=-1):c<this.highlightedIndex_&&this.highlightedIndex_--);(c=a.getElement())&&c.id&&this.childElementIdMap_&&goog.object.remove(this.childElementIdMap_,c.id)}a=goog.ui.Container.superClass_.removeChild.call(this,a,b);a.setHandleMouseEvents(!0);return a};
+goog.ui.Container.prototype.getOrientation=function(){return this.orientation_};goog.ui.Container.prototype.setOrientation=function(a){if(this.getElement())throw Error(goog.ui.Component.Error.ALREADY_RENDERED);this.orientation_=a};goog.ui.Container.prototype.isVisible=function(){return this.visible_};
+goog.ui.Container.prototype.setVisible=function(a,b){if(b||this.visible_!=a&&this.dispatchEvent(a?goog.ui.Component.EventType.SHOW:goog.ui.Component.EventType.HIDE)){this.visible_=a;var c=this.getElement();c&&(goog.style.setElementShown(c,a),this.isFocusable()&&this.renderer_.enableTabIndex(this.getKeyEventTarget(),this.enabled_&&this.visible_),b||this.dispatchEvent(this.visible_?goog.ui.Container.EventType.AFTER_SHOW:goog.ui.Container.EventType.AFTER_HIDE));return!0}return!1};
+goog.ui.Container.prototype.isEnabled=function(){return this.enabled_};
+goog.ui.Container.prototype.setEnabled=function(a){this.enabled_!=a&&this.dispatchEvent(a?goog.ui.Component.EventType.ENABLE:goog.ui.Component.EventType.DISABLE)&&(a?(this.enabled_=!0,this.forEachChild(function(a){a.wasDisabled?delete a.wasDisabled:a.setEnabled(!0)})):(this.forEachChild(function(a){a.isEnabled()?a.setEnabled(!1):a.wasDisabled=!0}),this.enabled_=!1,this.setMouseButtonPressed(!1)),this.isFocusable()&&this.renderer_.enableTabIndex(this.getKeyEventTarget(),a&&this.visible_))};
+goog.ui.Container.prototype.isFocusable=function(){return this.focusable_};goog.ui.Container.prototype.setFocusable=function(a){a!=this.focusable_&&this.isInDocument()&&this.enableFocusHandling_(a);this.focusable_=a;this.enabled_&&this.visible_&&this.renderer_.enableTabIndex(this.getKeyEventTarget(),a)};goog.ui.Container.prototype.isFocusableChildrenAllowed=function(){return this.allowFocusableChildren_};
+goog.ui.Container.prototype.setFocusableChildrenAllowed=function(a){this.allowFocusableChildren_=a};goog.ui.Container.prototype.isOpenFollowsHighlight=function(){return this.openFollowsHighlight_};goog.ui.Container.prototype.setOpenFollowsHighlight=function(a){this.openFollowsHighlight_=a};goog.ui.Container.prototype.getHighlightedIndex=function(){return this.highlightedIndex_};
+goog.ui.Container.prototype.setHighlightedIndex=function(a){(a=this.getChildAt(a))?a.setHighlighted(!0):-1<this.highlightedIndex_&&this.getHighlighted().setHighlighted(!1)};goog.ui.Container.prototype.setHighlighted=function(a){this.setHighlightedIndex(this.indexOfChild(a))};goog.ui.Container.prototype.getHighlighted=function(){return this.getChildAt(this.highlightedIndex_)};
+goog.ui.Container.prototype.highlightFirst=function(){this.highlightHelper(function(a,b){return(a+1)%b},this.getChildCount()-1)};goog.ui.Container.prototype.highlightLast=function(){this.highlightHelper(function(a,b){a--;return 0>a?b-1:a},0)};goog.ui.Container.prototype.highlightNext=function(){this.highlightHelper(function(a,b){return(a+1)%b},this.highlightedIndex_)};goog.ui.Container.prototype.highlightPrevious=function(){this.highlightHelper(function(a,b){a--;return 0>a?b-1:a},this.highlightedIndex_)};
+goog.ui.Container.prototype.highlightHelper=function(a,b){var c=0>b?this.indexOfChild(this.openItem_):b,d=this.getChildCount();c=a.call(this,c,d);for(var e=0;e<=d;){var f=this.getChildAt(c);if(f&&this.canHighlightItem(f))return this.setHighlightedIndexFromKeyEvent(c),!0;e++;c=a.call(this,c,d)}return!1};goog.ui.Container.prototype.canHighlightItem=function(a){return a.isVisible()&&a.isEnabled()&&a.isSupportedState(goog.ui.Component.State.HOVER)};
+goog.ui.Container.prototype.setHighlightedIndexFromKeyEvent=function(a){this.setHighlightedIndex(a)};goog.ui.Container.prototype.getOpenItem=function(){return this.openItem_};goog.ui.Container.prototype.isMouseButtonPressed=function(){return this.mouseButtonPressed_};goog.ui.Container.prototype.setMouseButtonPressed=function(a){this.mouseButtonPressed_=a};goog.ui.MenuHeaderRenderer=function(){goog.ui.ControlRenderer.call(this)};goog.inherits(goog.ui.MenuHeaderRenderer,goog.ui.ControlRenderer);goog.addSingletonGetter(goog.ui.MenuHeaderRenderer);goog.ui.MenuHeaderRenderer.CSS_CLASS="goog-menuheader";goog.ui.MenuHeaderRenderer.prototype.getCssClass=function(){return goog.ui.MenuHeaderRenderer.CSS_CLASS};goog.ui.MenuHeader=function(a,b,c){goog.ui.Control.call(this,a,c||goog.ui.MenuHeaderRenderer.getInstance(),b);this.setSupportedState(goog.ui.Component.State.DISABLED,!1);this.setSupportedState(goog.ui.Component.State.HOVER,!1);this.setSupportedState(goog.ui.Component.State.ACTIVE,!1);this.setSupportedState(goog.ui.Component.State.FOCUSED,!1);this.setStateInternal(goog.ui.Component.State.DISABLED)};goog.inherits(goog.ui.MenuHeader,goog.ui.Control);
+goog.ui.registry.setDecoratorByClassName(goog.ui.MenuHeaderRenderer.CSS_CLASS,function(){return new goog.ui.MenuHeader(null)});goog.ui.MenuItemRenderer=function(){goog.ui.ControlRenderer.call(this);this.classNameCache_=[]};goog.inherits(goog.ui.MenuItemRenderer,goog.ui.ControlRenderer);goog.addSingletonGetter(goog.ui.MenuItemRenderer);goog.ui.MenuItemRenderer.CSS_CLASS="goog-menuitem";goog.ui.MenuItemRenderer.CompositeCssClassIndex_={HOVER:0,CHECKBOX:1,CONTENT:2};
+goog.ui.MenuItemRenderer.prototype.getCompositeCssClass_=function(a){var b=this.classNameCache_[a];if(!b){switch(a){case goog.ui.MenuItemRenderer.CompositeCssClassIndex_.HOVER:b=this.getStructuralCssClass()+"-highlight";break;case goog.ui.MenuItemRenderer.CompositeCssClassIndex_.CHECKBOX:b=this.getStructuralCssClass()+"-checkbox";break;case goog.ui.MenuItemRenderer.CompositeCssClassIndex_.CONTENT:b=this.getStructuralCssClass()+"-content"}this.classNameCache_[a]=b}return b};
+goog.ui.MenuItemRenderer.prototype.getAriaRole=function(){return goog.a11y.aria.Role.MENU_ITEM};goog.ui.MenuItemRenderer.prototype.createDom=function(a){var b=a.getDomHelper().createDom("DIV",this.getClassNames(a).join(" "),this.createContent(a.getContent(),a.getDomHelper()));this.setEnableCheckBoxStructure(a,b,a.isSupportedState(goog.ui.Component.State.SELECTED)||a.isSupportedState(goog.ui.Component.State.CHECKED));return b};
+goog.ui.MenuItemRenderer.prototype.getContentElement=function(a){return a&&a.firstChild};goog.ui.MenuItemRenderer.prototype.decorate=function(a,b){goog.asserts.assert(b);this.hasContentStructure(b)||b.appendChild(this.createContent(b.childNodes,a.getDomHelper()));goog.dom.classlist.contains(b,"goog-option")&&(a.setCheckable(!0),this.setCheckable(a,b,!0));return goog.ui.MenuItemRenderer.superClass_.decorate.call(this,a,b)};
+goog.ui.MenuItemRenderer.prototype.setContent=function(a,b){var c=this.getContentElement(a),d=this.hasCheckBoxStructure(a)?c.firstChild:null;goog.ui.MenuItemRenderer.superClass_.setContent.call(this,a,b);d&&!this.hasCheckBoxStructure(a)&&c.insertBefore(d,c.firstChild||null)};
+goog.ui.MenuItemRenderer.prototype.hasContentStructure=function(a){a=goog.dom.getFirstElementChild(a);var b=this.getCompositeCssClass_(goog.ui.MenuItemRenderer.CompositeCssClassIndex_.CONTENT);return!!a&&goog.dom.classlist.contains(a,b)};goog.ui.MenuItemRenderer.prototype.createContent=function(a,b){var c=this.getCompositeCssClass_(goog.ui.MenuItemRenderer.CompositeCssClassIndex_.CONTENT);return b.createDom("DIV",c,a)};
+goog.ui.MenuItemRenderer.prototype.setSelectable=function(a,b,c){a&&b&&this.setEnableCheckBoxStructure(a,b,c)};goog.ui.MenuItemRenderer.prototype.setCheckable=function(a,b,c){a&&b&&this.setEnableCheckBoxStructure(a,b,c)};goog.ui.MenuItemRenderer.prototype.hasCheckBoxStructure=function(a){if(a=this.getContentElement(a)){a=a.firstChild;var b=this.getCompositeCssClass_(goog.ui.MenuItemRenderer.CompositeCssClassIndex_.CHECKBOX);return!!a&&goog.dom.isElement(a)&&goog.dom.classlist.contains(a,b)}return!1};
+goog.ui.MenuItemRenderer.prototype.setEnableCheckBoxStructure=function(a,b,c){this.setAriaRole(b,a.getPreferredAriaRole());this.setAriaStates(a,b);c!=this.hasCheckBoxStructure(b)&&(goog.dom.classlist.enable(b,"goog-option",c),b=this.getContentElement(b),c?(c=this.getCompositeCssClass_(goog.ui.MenuItemRenderer.CompositeCssClassIndex_.CHECKBOX),b.insertBefore(a.getDomHelper().createDom("DIV",c),b.firstChild||null)):b.removeChild(b.firstChild))};
+goog.ui.MenuItemRenderer.prototype.getClassForState=function(a){switch(a){case goog.ui.Component.State.HOVER:return this.getCompositeCssClass_(goog.ui.MenuItemRenderer.CompositeCssClassIndex_.HOVER);case goog.ui.Component.State.CHECKED:case goog.ui.Component.State.SELECTED:return"goog-option-selected";default:return goog.ui.MenuItemRenderer.superClass_.getClassForState.call(this,a)}};
+goog.ui.MenuItemRenderer.prototype.getStateFromClass=function(a){var b=this.getCompositeCssClass_(goog.ui.MenuItemRenderer.CompositeCssClassIndex_.HOVER);switch(a){case "goog-option-selected":return goog.ui.Component.State.CHECKED;case b:return goog.ui.Component.State.HOVER;default:return goog.ui.MenuItemRenderer.superClass_.getStateFromClass.call(this,a)}};goog.ui.MenuItemRenderer.prototype.getCssClass=function(){return goog.ui.MenuItemRenderer.CSS_CLASS};goog.ui.MenuItem=function(a,b,c,d){goog.ui.Control.call(this,a,d||goog.ui.MenuItemRenderer.getInstance(),c);this.setValue(b)};goog.inherits(goog.ui.MenuItem,goog.ui.Control);goog.tagUnsealableClass(goog.ui.MenuItem);goog.ui.MenuItem.MNEMONIC_WRAPPER_CLASS_="goog-menuitem-mnemonic-separator";goog.ui.MenuItem.ACCELERATOR_CLASS="goog-menuitem-accel";goog.ui.MenuItem.prototype.getValue=function(){var a=this.getModel();return null!=a?a:this.getCaption()};goog.ui.MenuItem.prototype.setValue=function(a){this.setModel(a)};
+goog.ui.MenuItem.prototype.setSupportedState=function(a,b){goog.ui.MenuItem.superClass_.setSupportedState.call(this,a,b);switch(a){case goog.ui.Component.State.SELECTED:this.setSelectableInternal_(b);break;case goog.ui.Component.State.CHECKED:this.setCheckableInternal_(b)}};goog.ui.MenuItem.prototype.setSelectable=function(a){this.setSupportedState(goog.ui.Component.State.SELECTED,a)};
+goog.ui.MenuItem.prototype.setSelectableInternal_=function(a){this.isChecked()&&!a&&this.setChecked(!1);var b=this.getElement();b&&this.getRenderer().setSelectable(this,b,a)};goog.ui.MenuItem.prototype.setCheckable=function(a){this.setSupportedState(goog.ui.Component.State.CHECKED,a)};goog.ui.MenuItem.prototype.setCheckableInternal_=function(a){var b=this.getElement();b&&this.getRenderer().setCheckable(this,b,a)};
+goog.ui.MenuItem.prototype.getCaption=function(){var a=this.getContent();if(goog.isArray(a)){var b=goog.ui.MenuItem.ACCELERATOR_CLASS,c=goog.ui.MenuItem.MNEMONIC_WRAPPER_CLASS_;a=goog.array.map(a,function(a){return goog.dom.isElement(a)&&(goog.dom.classlist.contains(a,b)||goog.dom.classlist.contains(a,c))?"":goog.dom.getRawTextContent(a)}).join("");return goog.string.collapseBreakingSpaces(a)}return goog.ui.MenuItem.superClass_.getCaption.call(this)};
+goog.ui.MenuItem.prototype.getAccelerator=function(){var a=this.getDomHelper(),b=this.getContent();return goog.isArray(b)&&(b=goog.array.find(b,function(a){return goog.dom.classlist.contains(a,goog.ui.MenuItem.ACCELERATOR_CLASS)}))?a.getTextContent(b):null};
+goog.ui.MenuItem.prototype.handleMouseUp=function(a){var b=this.getParent();if(b){var c=b.openingCoords;b.openingCoords=null;if(c&&goog.isNumber(a.clientX)&&(b=new goog.math.Coordinate(a.clientX,a.clientY),goog.math.Coordinate.equals(c,b)))return}goog.ui.MenuItem.superClass_.handleMouseUp.call(this,a)};goog.ui.MenuItem.prototype.handleKeyEventInternal=function(a){return a.keyCode==this.getMnemonic()&&this.performActionInternal(a)?!0:goog.ui.MenuItem.superClass_.handleKeyEventInternal.call(this,a)};
+goog.ui.MenuItem.prototype.setMnemonic=function(a){this.mnemonicKey_=a};goog.ui.MenuItem.prototype.getMnemonic=function(){return this.mnemonicKey_};goog.ui.registry.setDecoratorByClassName(goog.ui.MenuItemRenderer.CSS_CLASS,function(){return new goog.ui.MenuItem(null)});
+goog.ui.MenuItem.prototype.getPreferredAriaRole=function(){return this.isSupportedState(goog.ui.Component.State.CHECKED)?goog.a11y.aria.Role.MENU_ITEM_CHECKBOX:this.isSupportedState(goog.ui.Component.State.SELECTED)?goog.a11y.aria.Role.MENU_ITEM_RADIO:goog.ui.MenuItem.superClass_.getPreferredAriaRole.call(this)};goog.ui.MenuItem.prototype.getParent=function(){return goog.ui.Control.prototype.getParent.call(this)};goog.ui.MenuItem.prototype.getParentEventTarget=function(){return goog.ui.Control.prototype.getParentEventTarget.call(this)};goog.ui.MenuSeparatorRenderer=function(){goog.ui.ControlRenderer.call(this)};goog.inherits(goog.ui.MenuSeparatorRenderer,goog.ui.ControlRenderer);goog.addSingletonGetter(goog.ui.MenuSeparatorRenderer);goog.ui.MenuSeparatorRenderer.CSS_CLASS="goog-menuseparator";goog.ui.MenuSeparatorRenderer.prototype.createDom=function(a){return a.getDomHelper().createDom("DIV",this.getCssClass())};
+goog.ui.MenuSeparatorRenderer.prototype.decorate=function(a,b){b.id&&a.setId(b.id);if("HR"==b.tagName){var c=b;b=this.createDom(a);goog.dom.insertSiblingBefore(b,c);goog.dom.removeNode(c)}else goog.dom.classlist.add(b,this.getCssClass());return b};goog.ui.MenuSeparatorRenderer.prototype.setContent=function(a,b){};goog.ui.MenuSeparatorRenderer.prototype.getCssClass=function(){return goog.ui.MenuSeparatorRenderer.CSS_CLASS};goog.ui.Separator=function(a,b){goog.ui.Control.call(this,null,a||goog.ui.MenuSeparatorRenderer.getInstance(),b);this.setSupportedState(goog.ui.Component.State.DISABLED,!1);this.setSupportedState(goog.ui.Component.State.HOVER,!1);this.setSupportedState(goog.ui.Component.State.ACTIVE,!1);this.setSupportedState(goog.ui.Component.State.FOCUSED,!1);this.setStateInternal(goog.ui.Component.State.DISABLED)};goog.inherits(goog.ui.Separator,goog.ui.Control);
+goog.ui.Separator.prototype.enterDocument=function(){goog.ui.Separator.superClass_.enterDocument.call(this);var a=this.getElement();goog.asserts.assert(a,"The DOM element for the separator cannot be null.");goog.a11y.aria.setRole(a,"separator")};goog.ui.registry.setDecoratorByClassName(goog.ui.MenuSeparatorRenderer.CSS_CLASS,function(){return new goog.ui.Separator});goog.ui.MenuRenderer=function(a){goog.ui.ContainerRenderer.call(this,a||goog.a11y.aria.Role.MENU)};goog.inherits(goog.ui.MenuRenderer,goog.ui.ContainerRenderer);goog.addSingletonGetter(goog.ui.MenuRenderer);goog.ui.MenuRenderer.CSS_CLASS="goog-menu";goog.ui.MenuRenderer.prototype.canDecorate=function(a){return"UL"==a.tagName||goog.ui.MenuRenderer.superClass_.canDecorate.call(this,a)};
+goog.ui.MenuRenderer.prototype.getDecoratorForChild=function(a){return"HR"==a.tagName?new goog.ui.Separator:goog.ui.MenuRenderer.superClass_.getDecoratorForChild.call(this,a)};goog.ui.MenuRenderer.prototype.containsElement=function(a,b){return goog.dom.contains(a.getElement(),b)};goog.ui.MenuRenderer.prototype.getCssClass=function(){return goog.ui.MenuRenderer.CSS_CLASS};
+goog.ui.MenuRenderer.prototype.initializeDom=function(a){goog.ui.MenuRenderer.superClass_.initializeDom.call(this,a);a=a.getElement();goog.asserts.assert(a,"The menu DOM element cannot be null.");goog.a11y.aria.setState(a,goog.a11y.aria.State.HASPOPUP,"true")};goog.ui.MenuSeparator=function(a){goog.ui.Separator.call(this,goog.ui.MenuSeparatorRenderer.getInstance(),a)};goog.inherits(goog.ui.MenuSeparator,goog.ui.Separator);goog.ui.registry.setDecoratorByClassName(goog.ui.MenuSeparatorRenderer.CSS_CLASS,function(){return new goog.ui.Separator});goog.ui.Menu=function(a,b){goog.ui.Container.call(this,goog.ui.Container.Orientation.VERTICAL,b||goog.ui.MenuRenderer.getInstance(),a);this.setFocusable(!1)};goog.inherits(goog.ui.Menu,goog.ui.Container);goog.tagUnsealableClass(goog.ui.Menu);goog.ui.Menu.EventType={BEFORE_SHOW:goog.ui.Component.EventType.BEFORE_SHOW,SHOW:goog.ui.Component.EventType.SHOW,BEFORE_HIDE:goog.ui.Component.EventType.HIDE,HIDE:goog.ui.Component.EventType.HIDE};goog.ui.Menu.CSS_CLASS=goog.ui.MenuRenderer.CSS_CLASS;
+goog.ui.Menu.prototype.allowAutoFocus_=!0;goog.ui.Menu.prototype.allowHighlightDisabled_=!1;goog.ui.Menu.prototype.getCssClass=function(){return this.getRenderer().getCssClass()};goog.ui.Menu.prototype.containsElement=function(a){if(this.getRenderer().containsElement(this,a))return!0;for(var b=0,c=this.getChildCount();b<c;b++){var d=this.getChildAt(b);if("function"==typeof d.containsElement&&d.containsElement(a))return!0}return!1};goog.ui.Menu.prototype.addItem=function(a){this.addChild(a,!0)};
+goog.ui.Menu.prototype.addItemAt=function(a,b){this.addChildAt(a,b,!0)};goog.ui.Menu.prototype.removeItem=function(a){(a=this.removeChild(a,!0))&&a.dispose()};goog.ui.Menu.prototype.removeItemAt=function(a){(a=this.removeChildAt(a,!0))&&a.dispose()};goog.ui.Menu.prototype.getItemAt=function(a){return this.getChildAt(a)};goog.ui.Menu.prototype.getItemCount=function(){return this.getChildCount()};goog.ui.Menu.prototype.getItems=function(){var a=[];this.forEachChild(function(b){a.push(b)});return a};
+goog.ui.Menu.prototype.setPosition=function(a,b){var c=this.isVisible();c||goog.style.setElementShown(this.getElement(),!0);goog.style.setPageOffset(this.getElement(),a,b);c||goog.style.setElementShown(this.getElement(),!1)};goog.ui.Menu.prototype.getPosition=function(){return this.isVisible()?goog.style.getPageOffset(this.getElement()):null};goog.ui.Menu.prototype.setAllowAutoFocus=function(a){(this.allowAutoFocus_=a)&&this.setFocusable(!0)};goog.ui.Menu.prototype.getAllowAutoFocus=function(){return this.allowAutoFocus_};
+goog.ui.Menu.prototype.setAllowHighlightDisabled=function(a){this.allowHighlightDisabled_=a};goog.ui.Menu.prototype.getAllowHighlightDisabled=function(){return this.allowHighlightDisabled_};goog.ui.Menu.prototype.setVisible=function(a,b,c){(b=goog.ui.Menu.superClass_.setVisible.call(this,a,b))&&a&&this.isInDocument()&&this.allowAutoFocus_&&this.getKeyEventTarget().focus();a&&c&&goog.isNumber(c.clientX)?this.openingCoords=new goog.math.Coordinate(c.clientX,c.clientY):this.openingCoords=null;return b};
+goog.ui.Menu.prototype.handleEnterItem=function(a){this.allowAutoFocus_&&this.getKeyEventTarget().focus();return goog.ui.Menu.superClass_.handleEnterItem.call(this,a)};goog.ui.Menu.prototype.highlightNextPrefix=function(a){var b=new RegExp("^"+goog.string.regExpEscape(a),"i");return this.highlightHelper(function(a,d){var c=0>a?0:a,f=!1;do{++a;a==d&&(a=0,f=!0);var g=this.getChildAt(a).getCaption();if(g&&g.match(b))return a}while(!f||a!=c);return this.getHighlightedIndex()},this.getHighlightedIndex())};
+goog.ui.Menu.prototype.canHighlightItem=function(a){return(this.allowHighlightDisabled_||a.isEnabled())&&a.isVisible()&&a.isSupportedState(goog.ui.Component.State.HOVER)};goog.ui.Menu.prototype.decorateInternal=function(a){this.decorateContent(a);goog.ui.Menu.superClass_.decorateInternal.call(this,a)};
+goog.ui.Menu.prototype.handleKeyEventInternal=function(a){var b=goog.ui.Menu.superClass_.handleKeyEventInternal.call(this,a);b||this.forEachChild(function(c){!b&&c.getMnemonic&&c.getMnemonic()==a.keyCode&&(this.isEnabled()&&this.setHighlighted(c),b=c.handleKeyEvent(a))},this);return b};goog.ui.Menu.prototype.setHighlightedIndex=function(a){goog.ui.Menu.superClass_.setHighlightedIndex.call(this,a);(a=this.getChildAt(a))&&goog.style.scrollIntoContainerView(a.getElement(),this.getElement())};
+goog.ui.Menu.prototype.decorateContent=function(a){var b=this.getRenderer();a=this.getDomHelper().getElementsByTagNameAndClass("DIV",b.getCssClass()+"-content",a);for(var c=a.length,d=0;d<c;d++)b.decorateChildren(this,a[d])};goog.events.FocusHandler=function(a){goog.events.EventTarget.call(this);this.element_=a;a=goog.userAgent.IE?"focusout":"blur";this.listenKeyIn_=goog.events.listen(this.element_,goog.userAgent.IE?"focusin":"focus",this,!goog.userAgent.IE);this.listenKeyOut_=goog.events.listen(this.element_,a,this,!goog.userAgent.IE)};goog.inherits(goog.events.FocusHandler,goog.events.EventTarget);goog.events.FocusHandler.EventType={FOCUSIN:"focusin",FOCUSOUT:"focusout"};
+goog.events.FocusHandler.prototype.handleEvent=function(a){var b=a.getBrowserEvent();b=new goog.events.BrowserEvent(b);b.type="focusin"==a.type||"focus"==a.type?goog.events.FocusHandler.EventType.FOCUSIN:goog.events.FocusHandler.EventType.FOCUSOUT;this.dispatchEvent(b)};goog.events.FocusHandler.prototype.disposeInternal=function(){goog.events.FocusHandler.superClass_.disposeInternal.call(this);goog.events.unlistenByKey(this.listenKeyIn_);goog.events.unlistenByKey(this.listenKeyOut_);delete this.element_};goog.debug.LogRecord=function(a,b,c,d,e){this.reset(a,b,c,d,e)};goog.debug.LogRecord.prototype.sequenceNumber_=0;goog.debug.LogRecord.prototype.exception_=null;goog.debug.LogRecord.ENABLE_SEQUENCE_NUMBERS=!0;goog.debug.LogRecord.nextSequenceNumber_=0;
+goog.debug.LogRecord.prototype.reset=function(a,b,c,d,e){goog.debug.LogRecord.ENABLE_SEQUENCE_NUMBERS&&(this.sequenceNumber_="number"==typeof e?e:goog.debug.LogRecord.nextSequenceNumber_++);this.time_=d||goog.now();this.level_=a;this.msg_=b;this.loggerName_=c;delete this.exception_};goog.debug.LogRecord.prototype.getLoggerName=function(){return this.loggerName_};goog.debug.LogRecord.prototype.getException=function(){return this.exception_};
+goog.debug.LogRecord.prototype.setException=function(a){this.exception_=a};goog.debug.LogRecord.prototype.setLoggerName=function(a){this.loggerName_=a};goog.debug.LogRecord.prototype.getLevel=function(){return this.level_};goog.debug.LogRecord.prototype.setLevel=function(a){this.level_=a};goog.debug.LogRecord.prototype.getMessage=function(){return this.msg_};goog.debug.LogRecord.prototype.setMessage=function(a){this.msg_=a};goog.debug.LogRecord.prototype.getMillis=function(){return this.time_};
+goog.debug.LogRecord.prototype.setMillis=function(a){this.time_=a};goog.debug.LogRecord.prototype.getSequenceNumber=function(){return this.sequenceNumber_};goog.debug.LogBuffer=function(){goog.asserts.assert(goog.debug.LogBuffer.isBufferingEnabled(),"Cannot use goog.debug.LogBuffer without defining goog.debug.LogBuffer.CAPACITY.");this.clear()};goog.debug.LogBuffer.getInstance=function(){goog.debug.LogBuffer.instance_||(goog.debug.LogBuffer.instance_=new goog.debug.LogBuffer);return goog.debug.LogBuffer.instance_};goog.debug.LogBuffer.CAPACITY=0;
+goog.debug.LogBuffer.prototype.addRecord=function(a,b,c){var d=(this.curIndex_+1)%goog.debug.LogBuffer.CAPACITY;this.curIndex_=d;if(this.isFull_)return d=this.buffer_[d],d.reset(a,b,c),d;this.isFull_=d==goog.debug.LogBuffer.CAPACITY-1;return this.buffer_[d]=new goog.debug.LogRecord(a,b,c)};goog.debug.LogBuffer.isBufferingEnabled=function(){return 0<goog.debug.LogBuffer.CAPACITY};
+goog.debug.LogBuffer.prototype.clear=function(){this.buffer_=Array(goog.debug.LogBuffer.CAPACITY);this.curIndex_=-1;this.isFull_=!1};goog.debug.LogBuffer.prototype.forEachRecord=function(a){var b=this.buffer_;if(b[0]){var c=this.curIndex_,d=this.isFull_?c:-1;do d=(d+1)%goog.debug.LogBuffer.CAPACITY,a(b[d]);while(d!=c)}};goog.debug.Logger=function(a){this.name_=a;this.handlers_=this.children_=this.level_=this.parent_=null};goog.debug.Logger.ROOT_LOGGER_NAME="";goog.debug.Logger.ENABLE_HIERARCHY=!0;goog.debug.Logger.ENABLE_PROFILER_LOGGING=!1;goog.debug.Logger.ENABLE_HIERARCHY||(goog.debug.Logger.rootHandlers_=[]);goog.debug.Logger.Level=function(a,b){this.name=a;this.value=b};goog.debug.Logger.Level.prototype.toString=function(){return this.name};goog.debug.Logger.Level.OFF=new goog.debug.Logger.Level("OFF",Infinity);
+goog.debug.Logger.Level.SHOUT=new goog.debug.Logger.Level("SHOUT",1200);goog.debug.Logger.Level.SEVERE=new goog.debug.Logger.Level("SEVERE",1E3);goog.debug.Logger.Level.WARNING=new goog.debug.Logger.Level("WARNING",900);goog.debug.Logger.Level.INFO=new goog.debug.Logger.Level("INFO",800);goog.debug.Logger.Level.CONFIG=new goog.debug.Logger.Level("CONFIG",700);goog.debug.Logger.Level.FINE=new goog.debug.Logger.Level("FINE",500);goog.debug.Logger.Level.FINER=new goog.debug.Logger.Level("FINER",400);
+goog.debug.Logger.Level.FINEST=new goog.debug.Logger.Level("FINEST",300);goog.debug.Logger.Level.ALL=new goog.debug.Logger.Level("ALL",0);goog.debug.Logger.Level.PREDEFINED_LEVELS=[goog.debug.Logger.Level.OFF,goog.debug.Logger.Level.SHOUT,goog.debug.Logger.Level.SEVERE,goog.debug.Logger.Level.WARNING,goog.debug.Logger.Level.INFO,goog.debug.Logger.Level.CONFIG,goog.debug.Logger.Level.FINE,goog.debug.Logger.Level.FINER,goog.debug.Logger.Level.FINEST,goog.debug.Logger.Level.ALL];
+goog.debug.Logger.Level.predefinedLevelsCache_=null;goog.debug.Logger.Level.createPredefinedLevelsCache_=function(){goog.debug.Logger.Level.predefinedLevelsCache_={};for(var a=0,b;b=goog.debug.Logger.Level.PREDEFINED_LEVELS[a];a++)goog.debug.Logger.Level.predefinedLevelsCache_[b.value]=b,goog.debug.Logger.Level.predefinedLevelsCache_[b.name]=b};
+goog.debug.Logger.Level.getPredefinedLevel=function(a){goog.debug.Logger.Level.predefinedLevelsCache_||goog.debug.Logger.Level.createPredefinedLevelsCache_();return goog.debug.Logger.Level.predefinedLevelsCache_[a]||null};
+goog.debug.Logger.Level.getPredefinedLevelByValue=function(a){goog.debug.Logger.Level.predefinedLevelsCache_||goog.debug.Logger.Level.createPredefinedLevelsCache_();if(a in goog.debug.Logger.Level.predefinedLevelsCache_)return goog.debug.Logger.Level.predefinedLevelsCache_[a];for(var b=0;b<goog.debug.Logger.Level.PREDEFINED_LEVELS.length;++b){var c=goog.debug.Logger.Level.PREDEFINED_LEVELS[b];if(c.value<=a)return c}return null};goog.debug.Logger.getLogger=function(a){return goog.debug.LogManager.getLogger(a)};
+goog.debug.Logger.logToProfilers=function(a){if(goog.debug.Logger.ENABLE_PROFILER_LOGGING){var b=goog.global.msWriteProfilerMark;b?b(a):(b=goog.global.console)&&b.timeStamp&&b.timeStamp(a)}};goog.debug.Logger.prototype.getName=function(){return this.name_};
+goog.debug.Logger.prototype.addHandler=function(a){goog.debug.LOGGING_ENABLED&&(goog.debug.Logger.ENABLE_HIERARCHY?(this.handlers_||(this.handlers_=[]),this.handlers_.push(a)):(goog.asserts.assert(!this.name_,"Cannot call addHandler on a non-root logger when goog.debug.Logger.ENABLE_HIERARCHY is false."),goog.debug.Logger.rootHandlers_.push(a)))};
+goog.debug.Logger.prototype.removeHandler=function(a){if(goog.debug.LOGGING_ENABLED){var b=goog.debug.Logger.ENABLE_HIERARCHY?this.handlers_:goog.debug.Logger.rootHandlers_;return!!b&&goog.array.remove(b,a)}return!1};goog.debug.Logger.prototype.getParent=function(){return this.parent_};goog.debug.Logger.prototype.getChildren=function(){this.children_||(this.children_={});return this.children_};
+goog.debug.Logger.prototype.setLevel=function(a){goog.debug.LOGGING_ENABLED&&(goog.debug.Logger.ENABLE_HIERARCHY?this.level_=a:(goog.asserts.assert(!this.name_,"Cannot call setLevel() on a non-root logger when goog.debug.Logger.ENABLE_HIERARCHY is false."),goog.debug.Logger.rootLevel_=a))};goog.debug.Logger.prototype.getLevel=function(){return goog.debug.LOGGING_ENABLED?this.level_:goog.debug.Logger.Level.OFF};
+goog.debug.Logger.prototype.getEffectiveLevel=function(){if(!goog.debug.LOGGING_ENABLED)return goog.debug.Logger.Level.OFF;if(!goog.debug.Logger.ENABLE_HIERARCHY)return goog.debug.Logger.rootLevel_;if(this.level_)return this.level_;if(this.parent_)return this.parent_.getEffectiveLevel();goog.asserts.fail("Root logger has no level set.");return null};goog.debug.Logger.prototype.isLoggable=function(a){return goog.debug.LOGGING_ENABLED&&a.value>=this.getEffectiveLevel().value};
+goog.debug.Logger.prototype.log=function(a,b,c){goog.debug.LOGGING_ENABLED&&this.isLoggable(a)&&(goog.isFunction(b)&&(b=b()),this.doLogRecord_(this.getLogRecord(a,b,c)))};goog.debug.Logger.prototype.getLogRecord=function(a,b,c){a=goog.debug.LogBuffer.isBufferingEnabled()?goog.debug.LogBuffer.getInstance().addRecord(a,b,this.name_):new goog.debug.LogRecord(a,String(b),this.name_);c&&a.setException(c);return a};
+goog.debug.Logger.prototype.shout=function(a,b){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.SHOUT,a,b)};goog.debug.Logger.prototype.severe=function(a,b){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.SEVERE,a,b)};goog.debug.Logger.prototype.warning=function(a,b){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.WARNING,a,b)};goog.debug.Logger.prototype.info=function(a,b){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.INFO,a,b)};
+goog.debug.Logger.prototype.config=function(a,b){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.CONFIG,a,b)};goog.debug.Logger.prototype.fine=function(a,b){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.FINE,a,b)};goog.debug.Logger.prototype.finer=function(a,b){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.FINER,a,b)};goog.debug.Logger.prototype.finest=function(a,b){goog.debug.LOGGING_ENABLED&&this.log(goog.debug.Logger.Level.FINEST,a,b)};
+goog.debug.Logger.prototype.logRecord=function(a){goog.debug.LOGGING_ENABLED&&this.isLoggable(a.getLevel())&&this.doLogRecord_(a)};goog.debug.Logger.prototype.doLogRecord_=function(a){goog.debug.Logger.ENABLE_PROFILER_LOGGING&&goog.debug.Logger.logToProfilers("log:"+a.getMessage());if(goog.debug.Logger.ENABLE_HIERARCHY)for(var b=this;b;)b.callPublish_(a),b=b.getParent();else{b=0;for(var c;c=goog.debug.Logger.rootHandlers_[b++];)c(a)}};
+goog.debug.Logger.prototype.callPublish_=function(a){if(this.handlers_)for(var b=0,c;c=this.handlers_[b];b++)c(a)};goog.debug.Logger.prototype.setParent_=function(a){this.parent_=a};goog.debug.Logger.prototype.addChild_=function(a,b){this.getChildren()[a]=b};goog.debug.LogManager={};goog.debug.LogManager.loggers_={};goog.debug.LogManager.rootLogger_=null;
+goog.debug.LogManager.initialize=function(){goog.debug.LogManager.rootLogger_||(goog.debug.LogManager.rootLogger_=new goog.debug.Logger(goog.debug.Logger.ROOT_LOGGER_NAME),goog.debug.LogManager.loggers_[goog.debug.Logger.ROOT_LOGGER_NAME]=goog.debug.LogManager.rootLogger_,goog.debug.LogManager.rootLogger_.setLevel(goog.debug.Logger.Level.CONFIG))};goog.debug.LogManager.getLoggers=function(){return goog.debug.LogManager.loggers_};
+goog.debug.LogManager.getRoot=function(){goog.debug.LogManager.initialize();return goog.debug.LogManager.rootLogger_};goog.debug.LogManager.getLogger=function(a){goog.debug.LogManager.initialize();return goog.debug.LogManager.loggers_[a]||goog.debug.LogManager.createLogger_(a)};goog.debug.LogManager.createFunctionForCatchErrors=function(a){return function(b){(a||goog.debug.LogManager.getRoot()).severe("Error: "+b.message+" ("+b.fileName+" @ Line: "+b.line+")")}};
+goog.debug.LogManager.createLogger_=function(a){var b=new goog.debug.Logger(a);if(goog.debug.Logger.ENABLE_HIERARCHY){var c=a.lastIndexOf("."),d=a.substr(0,c);c=a.substr(c+1);d=goog.debug.LogManager.getLogger(d);d.addChild_(c,b);b.setParent_(d)}return goog.debug.LogManager.loggers_[a]=b};goog.log={};goog.log.ENABLED=goog.debug.LOGGING_ENABLED;goog.log.ROOT_LOGGER_NAME=goog.debug.Logger.ROOT_LOGGER_NAME;goog.log.Logger=goog.debug.Logger;goog.log.Level=goog.debug.Logger.Level;goog.log.LogRecord=goog.debug.LogRecord;goog.log.getLogger=function(a,b){if(goog.log.ENABLED){var c=goog.debug.LogManager.getLogger(a);b&&c&&c.setLevel(b);return c}return null};goog.log.addHandler=function(a,b){goog.log.ENABLED&&a&&a.addHandler(b)};
+goog.log.removeHandler=function(a,b){return goog.log.ENABLED&&a?a.removeHandler(b):!1};goog.log.log=function(a,b,c,d){goog.log.ENABLED&&a&&a.log(b,c,d)};goog.log.error=function(a,b,c){goog.log.ENABLED&&a&&a.severe(b,c)};goog.log.warning=function(a,b,c){goog.log.ENABLED&&a&&a.warning(b,c)};goog.log.info=function(a,b,c){goog.log.ENABLED&&a&&a.info(b,c)};goog.log.fine=function(a,b,c){goog.log.ENABLED&&a&&a.fine(b,c)};goog.Thenable=function(){};goog.Thenable.prototype.then=function(a,b,c){};goog.Thenable.IMPLEMENTED_BY_PROP="$goog_Thenable";goog.Thenable.addImplementation=function(a){a.prototype.then=a.prototype.then;COMPILED?a.prototype[goog.Thenable.IMPLEMENTED_BY_PROP]=!0:a.prototype.$goog_Thenable=!0};goog.Thenable.isImplementedBy=function(a){if(!a)return!1;try{return COMPILED?!!a[goog.Thenable.IMPLEMENTED_BY_PROP]:!!a.$goog_Thenable}catch(b){return!1}};goog.async={};goog.async.FreeList=function(a,b,c){this.limit_=c;this.create_=a;this.reset_=b;this.occupants_=0;this.head_=null};goog.async.FreeList.prototype.get=function(){if(0<this.occupants_){this.occupants_--;var a=this.head_;this.head_=a.next;a.next=null}else a=this.create_();return a};goog.async.FreeList.prototype.put=function(a){this.reset_(a);this.occupants_<this.limit_&&(this.occupants_++,a.next=this.head_,this.head_=a)};goog.async.FreeList.prototype.occupants=function(){return this.occupants_};goog.async.WorkQueue=function(){this.workTail_=this.workHead_=null};goog.async.WorkQueue.DEFAULT_MAX_UNUSED=100;goog.async.WorkQueue.freelist_=new goog.async.FreeList(function(){return new goog.async.WorkItem},function(a){a.reset()},goog.async.WorkQueue.DEFAULT_MAX_UNUSED);goog.async.WorkQueue.prototype.add=function(a,b){var c=this.getUnusedItem_();c.set(a,b);this.workTail_?this.workTail_.next=c:(goog.asserts.assert(!this.workHead_),this.workHead_=c);this.workTail_=c};
+goog.async.WorkQueue.prototype.remove=function(){var a=null;this.workHead_&&(a=this.workHead_,this.workHead_=this.workHead_.next,this.workHead_||(this.workTail_=null),a.next=null);return a};goog.async.WorkQueue.prototype.returnUnused=function(a){goog.async.WorkQueue.freelist_.put(a)};goog.async.WorkQueue.prototype.getUnusedItem_=function(){return goog.async.WorkQueue.freelist_.get()};goog.async.WorkItem=function(){this.next=this.scope=this.fn=null};
+goog.async.WorkItem.prototype.set=function(a,b){this.fn=a;this.scope=b;this.next=null};goog.async.WorkItem.prototype.reset=function(){this.next=this.scope=this.fn=null};goog.async.throwException=function(a){goog.global.setTimeout(function(){throw a;},0)};goog.async.nextTick=function(a,b,c){var d=a;b&&(d=goog.bind(a,b));d=goog.async.nextTick.wrapCallback_(d);goog.isFunction(goog.global.setImmediate)&&(c||goog.async.nextTick.useSetImmediate_())?goog.global.setImmediate(d):(goog.async.nextTick.setImmediate_||(goog.async.nextTick.setImmediate_=goog.async.nextTick.getSetImmediateEmulator_()),goog.async.nextTick.setImmediate_(d))};
+goog.async.nextTick.useSetImmediate_=function(){return goog.global.Window&&goog.global.Window.prototype&&!goog.labs.userAgent.browser.isEdge()&&goog.global.Window.prototype.setImmediate==goog.global.setImmediate?!1:!0};
+goog.async.nextTick.getSetImmediateEmulator_=function(){var a=goog.global.MessageChannel;"undefined"===typeof a&&"undefined"!==typeof window&&window.postMessage&&window.addEventListener&&!goog.labs.userAgent.engine.isPresto()&&(a=function(){var a=document.createElement("IFRAME");a.style.display="none";a.src="";document.documentElement.appendChild(a);var b=a.contentWindow;a=b.document;a.open();a.write("");a.close();var c="callImmediate"+Math.random(),d="file:"==b.location.protocol?"*":b.location.protocol+
+"//"+b.location.host;a=goog.bind(function(a){if(("*"==d||a.origin==d)&&a.data==c)this.port1.onmessage()},this);b.addEventListener("message",a,!1);this.port1={};this.port2={postMessage:function(){b.postMessage(c,d)}}});if("undefined"!==typeof a&&!goog.labs.userAgent.browser.isIE()){var b=new a,c={},d=c;b.port1.onmessage=function(){if(goog.isDef(c.next)){c=c.next;var a=c.cb;c.cb=null;a()}};return function(a){d.next={cb:a};d=d.next;b.port2.postMessage(0)}}return"undefined"!==typeof document&&"onreadystatechange"in
+document.createElement("SCRIPT")?function(a){var b=document.createElement("SCRIPT");b.onreadystatechange=function(){b.onreadystatechange=null;b.parentNode.removeChild(b);b=null;a();a=null};document.documentElement.appendChild(b)}:function(a){goog.global.setTimeout(a,0)}};goog.async.nextTick.wrapCallback_=goog.functions.identity;goog.debug.entryPointRegistry.register(function(a){goog.async.nextTick.wrapCallback_=a});goog.async.run=function(a,b){goog.async.run.schedule_||goog.async.run.initializeRunner_();goog.async.run.workQueueScheduled_||(goog.async.run.schedule_(),goog.async.run.workQueueScheduled_=!0);goog.async.run.workQueue_.add(a,b)};goog.async.run.initializeRunner_=function(){if(goog.global.Promise&&goog.global.Promise.resolve){var a=goog.global.Promise.resolve(void 0);goog.async.run.schedule_=function(){a.then(goog.async.run.processWorkQueue)}}else goog.async.run.schedule_=function(){goog.async.nextTick(goog.async.run.processWorkQueue)}};
+goog.async.run.forceNextTick=function(a){goog.async.run.schedule_=function(){goog.async.nextTick(goog.async.run.processWorkQueue);a&&a(goog.async.run.processWorkQueue)}};goog.async.run.workQueueScheduled_=!1;goog.async.run.workQueue_=new goog.async.WorkQueue;goog.DEBUG&&(goog.async.run.resetQueue=function(){goog.async.run.workQueueScheduled_=!1;goog.async.run.workQueue_=new goog.async.WorkQueue});
+goog.async.run.processWorkQueue=function(){for(var a;a=goog.async.run.workQueue_.remove();){try{a.fn.call(a.scope)}catch(b){goog.async.throwException(b)}goog.async.run.workQueue_.returnUnused(a)}goog.async.run.workQueueScheduled_=!1};goog.promise={};goog.promise.Resolver=function(){};goog.Promise=function(a,b){this.state_=goog.Promise.State_.PENDING;this.result_=void 0;this.callbackEntriesTail_=this.callbackEntries_=this.parent_=null;this.executing_=!1;0<goog.Promise.UNHANDLED_REJECTION_DELAY?this.unhandledRejectionId_=0:0==goog.Promise.UNHANDLED_REJECTION_DELAY&&(this.hadUnhandledRejection_=!1);goog.Promise.LONG_STACK_TRACES&&(this.stack_=[],this.addStackTrace_(Error("created")),this.currentStep_=0);if(a!=goog.nullFunction)try{var c=this;a.call(b,function(a){c.resolve_(goog.Promise.State_.FULFILLED,
+a)},function(a){if(goog.DEBUG&&!(a instanceof goog.Promise.CancellationError))try{if(a instanceof Error)throw a;throw Error("Promise rejected.");}catch(e){}c.resolve_(goog.Promise.State_.REJECTED,a)})}catch(d){this.resolve_(goog.Promise.State_.REJECTED,d)}};goog.Promise.LONG_STACK_TRACES=!1;goog.Promise.UNHANDLED_REJECTION_DELAY=0;goog.Promise.State_={PENDING:0,BLOCKED:1,FULFILLED:2,REJECTED:3};
+goog.Promise.CallbackEntry_=function(){this.next=this.context=this.onRejected=this.onFulfilled=this.child=null;this.always=!1};goog.Promise.CallbackEntry_.prototype.reset=function(){this.context=this.onRejected=this.onFulfilled=this.child=null;this.always=!1};goog.Promise.DEFAULT_MAX_UNUSED=100;goog.Promise.freelist_=new goog.async.FreeList(function(){return new goog.Promise.CallbackEntry_},function(a){a.reset()},goog.Promise.DEFAULT_MAX_UNUSED);
+goog.Promise.getCallbackEntry_=function(a,b,c){var d=goog.Promise.freelist_.get();d.onFulfilled=a;d.onRejected=b;d.context=c;return d};goog.Promise.returnEntry_=function(a){goog.Promise.freelist_.put(a)};goog.Promise.resolve=function(a){if(a instanceof goog.Promise)return a;var b=new goog.Promise(goog.nullFunction);b.resolve_(goog.Promise.State_.FULFILLED,a);return b};goog.Promise.reject=function(a){return new goog.Promise(function(b,c){c(a)})};
+goog.Promise.resolveThen_=function(a,b,c){goog.Promise.maybeThen_(a,b,c,null)||goog.async.run(goog.partial(b,a))};goog.Promise.race=function(a){return new goog.Promise(function(b,c){a.length||b(void 0);for(var d=0,e;d<a.length;d++)e=a[d],goog.Promise.resolveThen_(e,b,c)})};
+goog.Promise.all=function(a){return new goog.Promise(function(b,c){var d=a.length,e=[];if(d)for(var f=function(a,c){d--;e[a]=c;0==d&&b(e)},g=function(a){c(a)},h=0,k;h<a.length;h++)k=a[h],goog.Promise.resolveThen_(k,goog.partial(f,h),g);else b(e)})};
+goog.Promise.allSettled=function(a){return new goog.Promise(function(b,c){var d=a.length,e=[];if(d)for(var f=function(a,c,f){d--;e[a]=c?{fulfilled:!0,value:f}:{fulfilled:!1,reason:f};0==d&&b(e)},g=0,h;g<a.length;g++)h=a[g],goog.Promise.resolveThen_(h,goog.partial(f,g,!0),goog.partial(f,g,!1));else b(e)})};
+goog.Promise.firstFulfilled=function(a){return new goog.Promise(function(b,c){var d=a.length,e=[];if(d)for(var f=function(a){b(a)},g=function(a,b){d--;e[a]=b;0==d&&c(e)},h=0,k;h<a.length;h++)k=a[h],goog.Promise.resolveThen_(k,f,goog.partial(g,h));else b(void 0)})};goog.Promise.withResolver=function(){var a,b,c=new goog.Promise(function(c,e){a=c;b=e});return new goog.Promise.Resolver_(c,a,b)};
+goog.Promise.prototype.then=function(a,b,c){null!=a&&goog.asserts.assertFunction(a,"opt_onFulfilled should be a function.");null!=b&&goog.asserts.assertFunction(b,"opt_onRejected should be a function. Did you pass opt_context as the second argument instead of the third?");goog.Promise.LONG_STACK_TRACES&&this.addStackTrace_(Error("then"));return this.addChildPromise_(goog.isFunction(a)?a:null,goog.isFunction(b)?b:null,c)};goog.Thenable.addImplementation(goog.Promise);
+goog.Promise.prototype.thenVoid=function(a,b,c){null!=a&&goog.asserts.assertFunction(a,"opt_onFulfilled should be a function.");null!=b&&goog.asserts.assertFunction(b,"opt_onRejected should be a function. Did you pass opt_context as the second argument instead of the third?");goog.Promise.LONG_STACK_TRACES&&this.addStackTrace_(Error("then"));this.addCallbackEntry_(goog.Promise.getCallbackEntry_(a||goog.nullFunction,b||null,c))};
+goog.Promise.prototype.thenAlways=function(a,b){goog.Promise.LONG_STACK_TRACES&&this.addStackTrace_(Error("thenAlways"));var c=goog.Promise.getCallbackEntry_(a,a,b);c.always=!0;this.addCallbackEntry_(c);return this};goog.Promise.prototype.thenCatch=function(a,b){goog.Promise.LONG_STACK_TRACES&&this.addStackTrace_(Error("thenCatch"));return this.addChildPromise_(null,a,b)};
+goog.Promise.prototype.cancel=function(a){this.state_==goog.Promise.State_.PENDING&&goog.async.run(function(){var b=new goog.Promise.CancellationError(a);this.cancelInternal_(b)},this)};goog.Promise.prototype.cancelInternal_=function(a){this.state_==goog.Promise.State_.PENDING&&(this.parent_?(this.parent_.cancelChild_(this,a),this.parent_=null):this.resolve_(goog.Promise.State_.REJECTED,a))};
+goog.Promise.prototype.cancelChild_=function(a,b){if(this.callbackEntries_){for(var c=0,d=null,e=null,f=this.callbackEntries_;f&&(f.always||(c++,f.child==a&&(d=f),!(d&&1<c)));f=f.next)d||(e=f);d&&(this.state_==goog.Promise.State_.PENDING&&1==c?this.cancelInternal_(b):(e?this.removeEntryAfter_(e):this.popEntry_(),this.executeCallback_(d,goog.Promise.State_.REJECTED,b)))}};
+goog.Promise.prototype.addCallbackEntry_=function(a){this.hasEntry_()||this.state_!=goog.Promise.State_.FULFILLED&&this.state_!=goog.Promise.State_.REJECTED||this.scheduleCallbacks_();this.queueEntry_(a)};
+goog.Promise.prototype.addChildPromise_=function(a,b,c){var d=goog.Promise.getCallbackEntry_(null,null,null);d.child=new goog.Promise(function(e,f){d.onFulfilled=a?function(b){try{var d=a.call(c,b);e(d)}catch(k){f(k)}}:e;d.onRejected=b?function(a){try{var d=b.call(c,a);!goog.isDef(d)&&a instanceof goog.Promise.CancellationError?f(a):e(d)}catch(k){f(k)}}:f});d.child.parent_=this;this.addCallbackEntry_(d);return d.child};
+goog.Promise.prototype.unblockAndFulfill_=function(a){goog.asserts.assert(this.state_==goog.Promise.State_.BLOCKED);this.state_=goog.Promise.State_.PENDING;this.resolve_(goog.Promise.State_.FULFILLED,a)};goog.Promise.prototype.unblockAndReject_=function(a){goog.asserts.assert(this.state_==goog.Promise.State_.BLOCKED);this.state_=goog.Promise.State_.PENDING;this.resolve_(goog.Promise.State_.REJECTED,a)};
+goog.Promise.prototype.resolve_=function(a,b){this.state_==goog.Promise.State_.PENDING&&(this===b&&(a=goog.Promise.State_.REJECTED,b=new TypeError("Promise cannot resolve to itself")),this.state_=goog.Promise.State_.BLOCKED,goog.Promise.maybeThen_(b,this.unblockAndFulfill_,this.unblockAndReject_,this)||(this.result_=b,this.state_=a,this.parent_=null,this.scheduleCallbacks_(),a!=goog.Promise.State_.REJECTED||b instanceof goog.Promise.CancellationError||goog.Promise.addUnhandledRejection_(this,b)))};
+goog.Promise.maybeThen_=function(a,b,c,d){if(a instanceof goog.Promise)return a.thenVoid(b,c,d),!0;if(goog.Thenable.isImplementedBy(a))return a.then(b,c,d),!0;if(goog.isObject(a))try{var e=a.then;if(goog.isFunction(e))return goog.Promise.tryThen_(a,e,b,c,d),!0}catch(f){return c.call(d,f),!0}return!1};goog.Promise.tryThen_=function(a,b,c,d,e){var f=!1,g=function(a){f||(f=!0,c.call(e,a))},h=function(a){f||(f=!0,d.call(e,a))};try{b.call(a,g,h)}catch(k){h(k)}};
+goog.Promise.prototype.scheduleCallbacks_=function(){this.executing_||(this.executing_=!0,goog.async.run(this.executeCallbacks_,this))};goog.Promise.prototype.hasEntry_=function(){return!!this.callbackEntries_};goog.Promise.prototype.queueEntry_=function(a){goog.asserts.assert(null!=a.onFulfilled);this.callbackEntriesTail_?this.callbackEntriesTail_.next=a:this.callbackEntries_=a;this.callbackEntriesTail_=a};
+goog.Promise.prototype.popEntry_=function(){var a=null;this.callbackEntries_&&(a=this.callbackEntries_,this.callbackEntries_=a.next,a.next=null);this.callbackEntries_||(this.callbackEntriesTail_=null);null!=a&&goog.asserts.assert(null!=a.onFulfilled);return a};goog.Promise.prototype.removeEntryAfter_=function(a){goog.asserts.assert(this.callbackEntries_);goog.asserts.assert(null!=a);a.next==this.callbackEntriesTail_&&(this.callbackEntriesTail_=a);a.next=a.next.next};
+goog.Promise.prototype.executeCallbacks_=function(){for(var a;a=this.popEntry_();)goog.Promise.LONG_STACK_TRACES&&this.currentStep_++,this.executeCallback_(a,this.state_,this.result_);this.executing_=!1};
+goog.Promise.prototype.executeCallback_=function(a,b,c){b==goog.Promise.State_.REJECTED&&a.onRejected&&!a.always&&this.removeUnhandledRejection_();if(a.child)a.child.parent_=null,goog.Promise.invokeCallback_(a,b,c);else try{a.always?a.onFulfilled.call(a.context):goog.Promise.invokeCallback_(a,b,c)}catch(d){goog.Promise.handleRejection_.call(null,d)}goog.Promise.returnEntry_(a)};
+goog.Promise.invokeCallback_=function(a,b,c){b==goog.Promise.State_.FULFILLED?a.onFulfilled.call(a.context,c):a.onRejected&&a.onRejected.call(a.context,c)};goog.Promise.prototype.addStackTrace_=function(a){if(goog.Promise.LONG_STACK_TRACES&&goog.isString(a.stack)){var b=a.stack.split("\n",4)[3];a=a.message;a+=Array(11-a.length).join(" ");this.stack_.push(a+b)}};
+goog.Promise.prototype.appendLongStack_=function(a){if(goog.Promise.LONG_STACK_TRACES&&a&&goog.isString(a.stack)&&this.stack_.length){for(var b=["Promise trace:"],c=this;c;c=c.parent_){for(var d=this.currentStep_;0<=d;d--)b.push(c.stack_[d]);b.push("Value: ["+(c.state_==goog.Promise.State_.REJECTED?"REJECTED":"FULFILLED")+"] <"+String(c.result_)+">")}a.stack+="\n\n"+b.join("\n")}};
+goog.Promise.prototype.removeUnhandledRejection_=function(){if(0<goog.Promise.UNHANDLED_REJECTION_DELAY)for(var a=this;a&&a.unhandledRejectionId_;a=a.parent_)goog.global.clearTimeout(a.unhandledRejectionId_),a.unhandledRejectionId_=0;else if(0==goog.Promise.UNHANDLED_REJECTION_DELAY)for(a=this;a&&a.hadUnhandledRejection_;a=a.parent_)a.hadUnhandledRejection_=!1};
+goog.Promise.addUnhandledRejection_=function(a,b){0<goog.Promise.UNHANDLED_REJECTION_DELAY?a.unhandledRejectionId_=goog.global.setTimeout(function(){a.appendLongStack_(b);goog.Promise.handleRejection_.call(null,b)},goog.Promise.UNHANDLED_REJECTION_DELAY):0==goog.Promise.UNHANDLED_REJECTION_DELAY&&(a.hadUnhandledRejection_=!0,goog.async.run(function(){a.hadUnhandledRejection_&&(a.appendLongStack_(b),goog.Promise.handleRejection_.call(null,b))}))};goog.Promise.handleRejection_=goog.async.throwException;
+goog.Promise.setUnhandledRejectionHandler=function(a){goog.Promise.handleRejection_=a};goog.Promise.CancellationError=function(a){goog.debug.Error.call(this,a)};goog.inherits(goog.Promise.CancellationError,goog.debug.Error);goog.Promise.CancellationError.prototype.name="cancel";goog.Promise.Resolver_=function(a,b,c){this.promise=a;this.resolve=b;this.reject=c};goog.Timer=function(a,b){goog.events.EventTarget.call(this);this.interval_=a||1;this.timerObject_=b||goog.Timer.defaultTimerObject;this.boundTick_=goog.bind(this.tick_,this);this.last_=goog.now()};goog.inherits(goog.Timer,goog.events.EventTarget);goog.Timer.MAX_TIMEOUT_=2147483647;goog.Timer.INVALID_TIMEOUT_ID_=-1;goog.Timer.prototype.enabled=!1;goog.Timer.defaultTimerObject=goog.global;goog.Timer.intervalScale=.8;goog.Timer.prototype.timer_=null;goog.Timer.prototype.getInterval=function(){return this.interval_};
+goog.Timer.prototype.setInterval=function(a){this.interval_=a;this.timer_&&this.enabled?(this.stop(),this.start()):this.timer_&&this.stop()};goog.Timer.prototype.tick_=function(){if(this.enabled){var a=goog.now()-this.last_;0<a&&a<this.interval_*goog.Timer.intervalScale?this.timer_=this.timerObject_.setTimeout(this.boundTick_,this.interval_-a):(this.timer_&&(this.timerObject_.clearTimeout(this.timer_),this.timer_=null),this.dispatchTick(),this.enabled&&(this.stop(),this.start()))}};
+goog.Timer.prototype.dispatchTick=function(){this.dispatchEvent(goog.Timer.TICK)};goog.Timer.prototype.start=function(){this.enabled=!0;this.timer_||(this.timer_=this.timerObject_.setTimeout(this.boundTick_,this.interval_),this.last_=goog.now())};goog.Timer.prototype.stop=function(){this.enabled=!1;this.timer_&&(this.timerObject_.clearTimeout(this.timer_),this.timer_=null)};goog.Timer.prototype.disposeInternal=function(){goog.Timer.superClass_.disposeInternal.call(this);this.stop();delete this.timerObject_};
+goog.Timer.TICK="tick";goog.Timer.callOnce=function(a,b,c){if(goog.isFunction(a))c&&(a=goog.bind(a,c));else if(a&&"function"==typeof a.handleEvent)a=goog.bind(a.handleEvent,a);else throw Error("Invalid listener argument");return Number(b)>goog.Timer.MAX_TIMEOUT_?goog.Timer.INVALID_TIMEOUT_ID_:goog.Timer.defaultTimerObject.setTimeout(a,b||0)};goog.Timer.clear=function(a){goog.Timer.defaultTimerObject.clearTimeout(a)};
+goog.Timer.promise=function(a,b){var c=null;return(new goog.Promise(function(d,e){c=goog.Timer.callOnce(function(){d(b)},a);c==goog.Timer.INVALID_TIMEOUT_ID_&&e(Error("Failed to schedule timer."))})).thenCatch(function(a){goog.Timer.clear(c);throw a;})};goog.string.StringBuffer=function(a,b){null!=a&&this.append.apply(this,arguments)};goog.string.StringBuffer.prototype.buffer_="";goog.string.StringBuffer.prototype.set=function(a){this.buffer_=""+a};goog.string.StringBuffer.prototype.append=function(a,b,c){this.buffer_+=String(a);if(null!=b)for(var d=1;d<arguments.length;d++)this.buffer_+=arguments[d];return this};goog.string.StringBuffer.prototype.clear=function(){this.buffer_=""};goog.string.StringBuffer.prototype.getLength=function(){return this.buffer_.length};
+goog.string.StringBuffer.prototype.toString=function(){return this.buffer_};goog.ui.tree={};goog.ui.tree.BaseNode=function(a,b,c){goog.ui.Component.call(this,c);this.config_=b||goog.ui.tree.BaseNode.defaultConfig;this.html_=goog.html.SafeHtml.htmlEscapePreservingNewlines(a);this.expanded_=this.selected_=!1;this.toolTip_=null;this.afterLabelHtml_=goog.html.SafeHtml.EMPTY;this.isUserCollapsible_=!0;this.depth_=-1};goog.inherits(goog.ui.tree.BaseNode,goog.ui.Component);
+goog.ui.tree.BaseNode.EventType={BEFORE_EXPAND:"beforeexpand",EXPAND:"expand",BEFORE_COLLAPSE:"beforecollapse",COLLAPSE:"collapse"};goog.ui.tree.BaseNode.allNodes={};goog.ui.tree.BaseNode.prototype.disposeInternal=function(){goog.ui.tree.BaseNode.superClass_.disposeInternal.call(this);this.tree&&(this.tree.removeNode(this),this.tree=null);this.setElementInternal(null)};
+goog.ui.tree.BaseNode.prototype.initAccessibility=function(){var a=this.getElement();if(a){var b=this.getLabelElement();b&&!b.id&&(b.id=this.getId()+".label");goog.a11y.aria.setRole(a,"treeitem");goog.a11y.aria.setState(a,"selected",!1);goog.a11y.aria.setState(a,"level",this.getDepth());b&&goog.a11y.aria.setState(a,"labelledby",b.id);(b=this.getIconElement())&&goog.a11y.aria.setRole(b,"presentation");(b=this.getExpandIconElement())&&goog.a11y.aria.setRole(b,"presentation");if(b=this.getChildrenElement())if(goog.a11y.aria.setRole(b,
+"group"),b.hasChildNodes())for(goog.a11y.aria.setState(a,goog.a11y.aria.State.EXPANDED,!1),a=this.getChildCount(),b=1;b<=a;b++){var c=this.getChildAt(b-1).getElement();goog.asserts.assert(c,"The child element cannot be null");goog.a11y.aria.setState(c,"setsize",a);goog.a11y.aria.setState(c,"posinset",b)}}};goog.ui.tree.BaseNode.prototype.createDom=function(){var a=this.getDomHelper().safeHtmlToNode(this.toSafeHtml());this.setElementInternal(a)};
+goog.ui.tree.BaseNode.prototype.enterDocument=function(){goog.ui.tree.BaseNode.superClass_.enterDocument.call(this);goog.ui.tree.BaseNode.allNodes[this.getId()]=this;this.initAccessibility()};goog.ui.tree.BaseNode.prototype.exitDocument=function(){goog.ui.tree.BaseNode.superClass_.exitDocument.call(this);delete goog.ui.tree.BaseNode.allNodes[this.getId()]};
+goog.ui.tree.BaseNode.prototype.addChildAt=function(a,b,c){goog.asserts.assert(!a.getParent());goog.asserts.assertInstanceof(a,goog.ui.tree.BaseNode);c=this.getChildAt(b-1);var d=this.getChildAt(b);goog.ui.tree.BaseNode.superClass_.addChildAt.call(this,a,b);a.previousSibling_=c;a.nextSibling_=d;c?c.nextSibling_=a:this.firstChild_=a;d?d.previousSibling_=a:this.lastChild_=a;(b=this.getTree())&&a.setTreeInternal(b);a.setDepth_(this.getDepth()+1);if(b=this.getElement())if(this.updateExpandIcon(),goog.a11y.aria.setState(b,
+goog.a11y.aria.State.EXPANDED,this.getExpanded()),this.getExpanded()){b=this.getChildrenElement();a.getElement()||a.createDom();var e=a.getElement(),f=d&&d.getElement();b.insertBefore(e,f);this.isInDocument()&&a.enterDocument();d||(c?c.updateExpandIcon():(goog.style.setElementShown(b,!0),this.setExpanded(this.getExpanded())))}};
+goog.ui.tree.BaseNode.prototype.add=function(a,b){goog.asserts.assert(!b||b.getParent()==this,"Can only add nodes before siblings");a.getParent()&&a.getParent().removeChild(a);this.addChildAt(a,b?this.indexOfChild(b):this.getChildCount());return a};
+goog.ui.tree.BaseNode.prototype.removeChild=function(a,b){var c=this.getTree(),d=c?c.getSelectedItem():null;if(d==a||a.contains(d))c.hasFocus()?(this.select(),goog.Timer.callOnce(this.onTimeoutSelect_,10,this)):this.select();goog.ui.tree.BaseNode.superClass_.removeChild.call(this,a);this.lastChild_==a&&(this.lastChild_=a.previousSibling_);this.firstChild_==a&&(this.firstChild_=a.nextSibling_);a.previousSibling_&&(a.previousSibling_.nextSibling_=a.nextSibling_);a.nextSibling_&&(a.nextSibling_.previousSibling_=
+a.previousSibling_);d=a.isLastSibling();a.tree=null;a.depth_=-1;if(c&&(c.removeNode(a),this.isInDocument())){c=this.getChildrenElement();if(a.isInDocument()){var e=a.getElement();c.removeChild(e);a.exitDocument()}d&&(d=this.getLastChild())&&d.updateExpandIcon();this.hasChildren()||(c.style.display="none",this.updateExpandIcon(),this.updateIcon_(),(d=this.getElement())&&goog.a11y.aria.removeState(d,goog.a11y.aria.State.EXPANDED))}return a};goog.ui.tree.BaseNode.prototype.remove=goog.ui.tree.BaseNode.prototype.removeChild;
+goog.ui.tree.BaseNode.prototype.onTimeoutSelect_=function(){this.select()};goog.ui.tree.BaseNode.prototype.getTree=goog.abstractMethod;goog.ui.tree.BaseNode.prototype.getDepth=function(){var a=this.depth_;0>a&&(a=this.computeDepth_(),this.setDepth_(a));return a};goog.ui.tree.BaseNode.prototype.computeDepth_=function(){var a=this.getParent();return a?a.getDepth()+1:0};
+goog.ui.tree.BaseNode.prototype.setDepth_=function(a){if(a!=this.depth_){this.depth_=a;var b=this.getRowElement();if(b){var c=this.getPixelIndent_()+"px";this.isRightToLeft()?b.style.paddingRight=c:b.style.paddingLeft=c}this.forEachChild(function(b){b.setDepth_(a+1)})}};goog.ui.tree.BaseNode.prototype.contains=function(a){for(;a;){if(a==this)return!0;a=a.getParent()}return!1};goog.ui.tree.BaseNode.EMPTY_CHILDREN_=[];
+goog.ui.tree.BaseNode.prototype.getChildren=function(){var a=[];this.forEachChild(function(b){a.push(b)});return a};goog.ui.tree.BaseNode.prototype.getFirstChild=function(){return this.getChildAt(0)};goog.ui.tree.BaseNode.prototype.getLastChild=function(){return this.getChildAt(this.getChildCount()-1)};goog.ui.tree.BaseNode.prototype.getPreviousSibling=function(){return this.previousSibling_};goog.ui.tree.BaseNode.prototype.getNextSibling=function(){return this.nextSibling_};
+goog.ui.tree.BaseNode.prototype.isLastSibling=function(){return!this.nextSibling_};goog.ui.tree.BaseNode.prototype.isSelected=function(){return this.selected_};goog.ui.tree.BaseNode.prototype.select=function(){var a=this.getTree();a&&a.setSelectedItem(this)};goog.ui.tree.BaseNode.prototype.deselect=goog.nullFunction;
+goog.ui.tree.BaseNode.prototype.setSelectedInternal=function(a){if(this.selected_!=a){this.selected_=a;this.updateRow();var b=this.getElement();b&&(goog.a11y.aria.setState(b,"selected",a),a&&(a=this.getTree().getElement(),goog.asserts.assert(a,"The DOM element for the tree cannot be null"),goog.a11y.aria.setState(a,"activedescendant",this.getId())))}};goog.ui.tree.BaseNode.prototype.getExpanded=function(){return this.expanded_};
+goog.ui.tree.BaseNode.prototype.setExpandedInternal=function(a){this.expanded_=a};
+goog.ui.tree.BaseNode.prototype.setExpanded=function(a){var b=a!=this.expanded_;if(!b||this.dispatchEvent(a?goog.ui.tree.BaseNode.EventType.BEFORE_EXPAND:goog.ui.tree.BaseNode.EventType.BEFORE_COLLAPSE)){this.expanded_=a;var c=this.getTree();var d=this.getElement();if(this.hasChildren()){if(!a&&c&&this.contains(c.getSelectedItem())&&this.select(),d){if(c=this.getChildrenElement())if(goog.style.setElementShown(c,a),goog.a11y.aria.setState(d,goog.a11y.aria.State.EXPANDED,a),a&&this.isInDocument()&&
+!c.hasChildNodes()){var e=[];this.forEachChild(function(a){e.push(a.toSafeHtml())});goog.dom.safe.setInnerHtml(c,goog.html.SafeHtml.concat(e));this.forEachChild(function(a){a.enterDocument()})}this.updateExpandIcon()}}else(c=this.getChildrenElement())&&goog.style.setElementShown(c,!1);d&&this.updateIcon_();b&&this.dispatchEvent(a?goog.ui.tree.BaseNode.EventType.EXPAND:goog.ui.tree.BaseNode.EventType.COLLAPSE)}};goog.ui.tree.BaseNode.prototype.toggle=function(){this.setExpanded(!this.getExpanded())};
+goog.ui.tree.BaseNode.prototype.expand=function(){this.setExpanded(!0)};goog.ui.tree.BaseNode.prototype.collapse=function(){this.setExpanded(!1)};goog.ui.tree.BaseNode.prototype.collapseChildren=function(){this.forEachChild(function(a){a.collapseAll()})};goog.ui.tree.BaseNode.prototype.collapseAll=function(){this.collapseChildren();this.collapse()};goog.ui.tree.BaseNode.prototype.expandChildren=function(){this.forEachChild(function(a){a.expandAll()})};
+goog.ui.tree.BaseNode.prototype.expandAll=function(){this.expandChildren();this.expand()};goog.ui.tree.BaseNode.prototype.reveal=function(){var a=this.getParent();a&&(a.setExpanded(!0),a.reveal())};goog.ui.tree.BaseNode.prototype.setIsUserCollapsible=function(a){(this.isUserCollapsible_=a)||this.expand();this.getElement()&&this.updateExpandIcon()};goog.ui.tree.BaseNode.prototype.isUserCollapsible=function(){return this.isUserCollapsible_};
+goog.ui.tree.BaseNode.prototype.toSafeHtml=function(){var a=this.getTree(),b=!a.getShowLines()||a==this.getParent()&&!a.getShowRootLines()?this.config_.cssChildrenNoLines:this.config_.cssChildren;a=this.getExpanded()&&this.hasChildren();b={"class":b,style:this.getLineStyle()};var c=[];a&&this.forEachChild(function(a){c.push(a.toSafeHtml())});a=goog.html.SafeHtml.create("div",b,c);return goog.html.SafeHtml.create("div",{"class":this.config_.cssItem,id:this.getId()},[this.getRowSafeHtml(),a])};
+goog.ui.tree.BaseNode.prototype.getPixelIndent_=function(){return Math.max(0,(this.getDepth()-1)*this.config_.indentWidth)};goog.ui.tree.BaseNode.prototype.getRowSafeHtml=function(){var a={};a["padding-"+(this.isRightToLeft()?"right":"left")]=this.getPixelIndent_()+"px";a={"class":this.getRowClassName(),style:a};var b=[this.getExpandIconSafeHtml(),this.getIconSafeHtml(),this.getLabelSafeHtml()];return goog.html.SafeHtml.create("div",a,b)};
+goog.ui.tree.BaseNode.prototype.getRowClassName=function(){var a=this.isSelected()?" "+this.config_.cssSelectedRow:"";return this.config_.cssTreeRow+a};goog.ui.tree.BaseNode.prototype.getLabelSafeHtml=function(){var a=goog.html.SafeHtml.create("span",{"class":this.config_.cssItemLabel,title:this.getToolTip()||null},this.getSafeHtml());return goog.html.SafeHtml.concat(a,goog.html.SafeHtml.create("span",{},this.getAfterLabelSafeHtml()))};goog.ui.tree.BaseNode.prototype.getAfterLabelHtml=function(){return goog.html.SafeHtml.unwrap(this.getAfterLabelSafeHtml())};
+goog.ui.tree.BaseNode.prototype.getAfterLabelSafeHtml=function(){return this.afterLabelHtml_};goog.ui.tree.BaseNode.prototype.setAfterLabelSafeHtml=function(a){this.afterLabelHtml_=a;var b=this.getAfterLabelElement();b&&goog.dom.safe.setInnerHtml(b,a)};goog.ui.tree.BaseNode.prototype.getIconSafeHtml=function(){return goog.html.SafeHtml.create("span",{style:{display:"inline-block"},"class":this.getCalculatedIconClass()})};goog.ui.tree.BaseNode.prototype.getCalculatedIconClass=goog.abstractMethod;
+goog.ui.tree.BaseNode.prototype.getExpandIconSafeHtml=function(){return goog.html.SafeHtml.create("span",{type:"expand",style:{display:"inline-block"},"class":this.getExpandIconClass()})};
+goog.ui.tree.BaseNode.prototype.getExpandIconClass=function(){var a=this.getTree(),b=!a.getShowLines()||a==this.getParent()&&!a.getShowRootLines(),c=this.config_,d=new goog.string.StringBuffer;d.append(c.cssTreeIcon," ",c.cssExpandTreeIcon," ");if(this.hasChildren()){var e=0;a.getShowExpandIcons()&&this.isUserCollapsible_&&(e=this.getExpanded()?2:1);b||(e=this.isLastSibling()?e+4:e+8);switch(e){case 1:d.append(c.cssExpandTreeIconPlus);break;case 2:d.append(c.cssExpandTreeIconMinus);break;case 4:d.append(c.cssExpandTreeIconL);
+break;case 5:d.append(c.cssExpandTreeIconLPlus);break;case 6:d.append(c.cssExpandTreeIconLMinus);break;case 8:d.append(c.cssExpandTreeIconT);break;case 9:d.append(c.cssExpandTreeIconTPlus);break;case 10:d.append(c.cssExpandTreeIconTMinus);break;default:d.append(c.cssExpandTreeIconBlank)}}else b?d.append(c.cssExpandTreeIconBlank):this.isLastSibling()?d.append(c.cssExpandTreeIconL):d.append(c.cssExpandTreeIconT);return d.toString()};
+goog.ui.tree.BaseNode.prototype.getLineStyle=function(){var a=this.getExpanded()&&this.hasChildren();return goog.html.SafeStyle.create({"background-position":this.getBackgroundPosition(),display:a?null:"none"})};goog.ui.tree.BaseNode.prototype.getBackgroundPosition=function(){return(this.isLastSibling()?"-100":(this.getDepth()-1)*this.config_.indentWidth)+"px 0"};
+goog.ui.tree.BaseNode.prototype.getElement=function(){var a=goog.ui.tree.BaseNode.superClass_.getElement.call(this);a||(a=this.getDomHelper().getElement(this.getId()),this.setElementInternal(a));return a};goog.ui.tree.BaseNode.prototype.getRowElement=function(){var a=this.getElement();return a?a.firstChild:null};goog.ui.tree.BaseNode.prototype.getExpandIconElement=function(){var a=this.getRowElement();return a?a.firstChild:null};
+goog.ui.tree.BaseNode.prototype.getIconElement=function(){var a=this.getRowElement();return a?a.childNodes[1]:null};goog.ui.tree.BaseNode.prototype.getLabelElement=function(){var a=this.getRowElement();return a&&a.lastChild?a.lastChild.previousSibling:null};goog.ui.tree.BaseNode.prototype.getAfterLabelElement=function(){var a=this.getRowElement();return a?a.lastChild:null};goog.ui.tree.BaseNode.prototype.getChildrenElement=function(){var a=this.getElement();return a?a.lastChild:null};
+goog.ui.tree.BaseNode.prototype.setIconClass=function(a){this.iconClass_=a;this.isInDocument()&&this.updateIcon_()};goog.ui.tree.BaseNode.prototype.getIconClass=function(){return this.iconClass_};goog.ui.tree.BaseNode.prototype.setExpandedIconClass=function(a){this.expandedIconClass_=a;this.isInDocument()&&this.updateIcon_()};goog.ui.tree.BaseNode.prototype.getExpandedIconClass=function(){return this.expandedIconClass_};goog.ui.tree.BaseNode.prototype.setText=function(a){this.setSafeHtml(goog.html.SafeHtml.htmlEscape(a))};
+goog.ui.tree.BaseNode.prototype.getText=function(){return goog.string.unescapeEntities(goog.html.SafeHtml.unwrap(this.html_))};goog.ui.tree.BaseNode.prototype.setSafeHtml=function(a){this.html_=a;var b=this.getLabelElement();b&&goog.dom.safe.setInnerHtml(b,a);(a=this.getTree())&&a.setNode(this)};goog.ui.tree.BaseNode.prototype.getHtml=function(){return goog.html.SafeHtml.unwrap(this.getSafeHtml())};goog.ui.tree.BaseNode.prototype.getSafeHtml=function(){return this.html_};
+goog.ui.tree.BaseNode.prototype.setToolTip=function(a){this.toolTip_=a;var b=this.getLabelElement();b&&(b.title=a)};goog.ui.tree.BaseNode.prototype.getToolTip=function(){return this.toolTip_};goog.ui.tree.BaseNode.prototype.updateRow=function(){var a=this.getRowElement();a&&(a.className=this.getRowClassName())};
+goog.ui.tree.BaseNode.prototype.updateExpandIcon=function(){var a=this.getExpandIconElement();a&&(a.className=this.getExpandIconClass());if(a=this.getChildrenElement())a.style.backgroundPosition=this.getBackgroundPosition()};goog.ui.tree.BaseNode.prototype.updateIcon_=function(){this.getIconElement().className=this.getCalculatedIconClass()};
+goog.ui.tree.BaseNode.prototype.onMouseDown=function(a){"expand"==a.target.getAttribute("type")&&this.hasChildren()?this.isUserCollapsible_&&this.toggle():(this.select(),this.updateRow())};goog.ui.tree.BaseNode.prototype.onClick_=goog.events.Event.preventDefault;goog.ui.tree.BaseNode.prototype.onDoubleClick_=function(a){"expand"==a.target.getAttribute("type")&&this.hasChildren()||this.isUserCollapsible_&&this.toggle()};
+goog.ui.tree.BaseNode.prototype.onKeyDown=function(a){var b=!0;switch(a.keyCode){case goog.events.KeyCodes.RIGHT:if(a.altKey)break;this.hasChildren()&&(this.getExpanded()?this.getFirstChild().select():this.setExpanded(!0));break;case goog.events.KeyCodes.LEFT:if(a.altKey)break;if(this.hasChildren()&&this.getExpanded()&&this.isUserCollapsible_)this.setExpanded(!1);else{var c=this.getParent(),d=this.getTree();c&&(d.getShowRootNode()||c!=d)&&c.select()}break;case goog.events.KeyCodes.DOWN:(c=this.getNextShownNode())&&
+c.select();break;case goog.events.KeyCodes.UP:(c=this.getPreviousShownNode())&&c.select();break;default:b=!1}b&&(a.preventDefault(),(d=this.getTree())&&d.clearTypeAhead());return b};goog.ui.tree.BaseNode.prototype.getLastShownDescendant=function(){return this.getExpanded()&&this.hasChildren()?this.getLastChild().getLastShownDescendant():this};
+goog.ui.tree.BaseNode.prototype.getNextShownNode=function(){if(this.hasChildren()&&this.getExpanded())return this.getFirstChild();for(var a=this,b;a!=this.getTree();){b=a.getNextSibling();if(null!=b)return b;a=a.getParent()}return null};goog.ui.tree.BaseNode.prototype.getPreviousShownNode=function(){var a=this.getPreviousSibling();if(null!=a)return a.getLastShownDescendant();a=this.getParent();var b=this.getTree();return!b.getShowRootNode()&&a==b||this==b?null:a};
+goog.ui.tree.BaseNode.prototype.getClientData=goog.ui.tree.BaseNode.prototype.getModel;goog.ui.tree.BaseNode.prototype.setClientData=goog.ui.tree.BaseNode.prototype.setModel;goog.ui.tree.BaseNode.prototype.getConfig=function(){return this.config_};goog.ui.tree.BaseNode.prototype.setTreeInternal=function(a){this.tree!=a&&(this.tree=a,a.setNode(this),this.forEachChild(function(b){b.setTreeInternal(a)}))};
+goog.ui.tree.BaseNode.defaultConfig={indentWidth:19,cssRoot:"goog-tree-root goog-tree-item",cssHideRoot:"goog-tree-hide-root",cssItem:"goog-tree-item",cssChildren:"goog-tree-children",cssChildrenNoLines:"goog-tree-children-nolines",cssTreeRow:"goog-tree-row",cssItemLabel:"goog-tree-item-label",cssTreeIcon:"goog-tree-icon",cssExpandTreeIcon:"goog-tree-expand-icon",cssExpandTreeIconPlus:"goog-tree-expand-icon-plus",cssExpandTreeIconMinus:"goog-tree-expand-icon-minus",cssExpandTreeIconTPlus:"goog-tree-expand-icon-tplus",
+cssExpandTreeIconTMinus:"goog-tree-expand-icon-tminus",cssExpandTreeIconLPlus:"goog-tree-expand-icon-lplus",cssExpandTreeIconLMinus:"goog-tree-expand-icon-lminus",cssExpandTreeIconT:"goog-tree-expand-icon-t",cssExpandTreeIconL:"goog-tree-expand-icon-l",cssExpandTreeIconBlank:"goog-tree-expand-icon-blank",cssExpandedFolderIcon:"goog-tree-expanded-folder-icon",cssCollapsedFolderIcon:"goog-tree-collapsed-folder-icon",cssFileIcon:"goog-tree-file-icon",cssExpandedRootIcon:"goog-tree-expanded-folder-icon",
+cssCollapsedRootIcon:"goog-tree-collapsed-folder-icon",cssSelectedRow:"selected"};goog.ui.tree.TreeNode=function(a,b,c){goog.ui.tree.BaseNode.call(this,a,b,c)};goog.inherits(goog.ui.tree.TreeNode,goog.ui.tree.BaseNode);goog.ui.tree.TreeNode.prototype.getTree=function(){if(this.tree)return this.tree;var a=this.getParent();return a&&(a=a.getTree())?(this.setTreeInternal(a),a):null};
+goog.ui.tree.TreeNode.prototype.getCalculatedIconClass=function(){var a=this.getExpanded(),b=this.getExpandedIconClass();if(a&&b)return b;b=this.getIconClass();if(!a&&b)return b;b=this.getConfig();if(this.hasChildren()){if(a&&b.cssExpandedFolderIcon)return b.cssTreeIcon+" "+b.cssExpandedFolderIcon;if(!a&&b.cssCollapsedFolderIcon)return b.cssTreeIcon+" "+b.cssCollapsedFolderIcon}else if(b.cssFileIcon)return b.cssTreeIcon+" "+b.cssFileIcon;return""};goog.structs={};goog.structs.getCount=function(a){return a.getCount&&"function"==typeof a.getCount?a.getCount():goog.isArrayLike(a)||goog.isString(a)?a.length:goog.object.getCount(a)};goog.structs.getValues=function(a){if(a.getValues&&"function"==typeof a.getValues)return a.getValues();if(goog.isString(a))return a.split("");if(goog.isArrayLike(a)){for(var b=[],c=a.length,d=0;d<c;d++)b.push(a[d]);return b}return goog.object.getValues(a)};
+goog.structs.getKeys=function(a){if(a.getKeys&&"function"==typeof a.getKeys)return a.getKeys();if(!a.getValues||"function"!=typeof a.getValues){if(goog.isArrayLike(a)||goog.isString(a)){var b=[];a=a.length;for(var c=0;c<a;c++)b.push(c);return b}return goog.object.getKeys(a)}};
+goog.structs.contains=function(a,b){return a.contains&&"function"==typeof a.contains?a.contains(b):a.containsValue&&"function"==typeof a.containsValue?a.containsValue(b):goog.isArrayLike(a)||goog.isString(a)?goog.array.contains(a,b):goog.object.containsValue(a,b)};goog.structs.isEmpty=function(a){return a.isEmpty&&"function"==typeof a.isEmpty?a.isEmpty():goog.isArrayLike(a)||goog.isString(a)?goog.array.isEmpty(a):goog.object.isEmpty(a)};
+goog.structs.clear=function(a){a.clear&&"function"==typeof a.clear?a.clear():goog.isArrayLike(a)?goog.array.clear(a):goog.object.clear(a)};goog.structs.forEach=function(a,b,c){if(a.forEach&&"function"==typeof a.forEach)a.forEach(b,c);else if(goog.isArrayLike(a)||goog.isString(a))goog.array.forEach(a,b,c);else for(var d=goog.structs.getKeys(a),e=goog.structs.getValues(a),f=e.length,g=0;g<f;g++)b.call(c,e[g],d&&d[g],a)};
+goog.structs.filter=function(a,b,c){if("function"==typeof a.filter)return a.filter(b,c);if(goog.isArrayLike(a)||goog.isString(a))return goog.array.filter(a,b,c);var d=goog.structs.getKeys(a),e=goog.structs.getValues(a),f=e.length;if(d){var g={};for(var h=0;h<f;h++)b.call(c,e[h],d[h],a)&&(g[d[h]]=e[h])}else for(g=[],h=0;h<f;h++)b.call(c,e[h],void 0,a)&&g.push(e[h]);return g};
+goog.structs.map=function(a,b,c){if("function"==typeof a.map)return a.map(b,c);if(goog.isArrayLike(a)||goog.isString(a))return goog.array.map(a,b,c);var d=goog.structs.getKeys(a),e=goog.structs.getValues(a),f=e.length;if(d){var g={};for(var h=0;h<f;h++)g[d[h]]=b.call(c,e[h],d[h],a)}else for(g=[],h=0;h<f;h++)g[h]=b.call(c,e[h],void 0,a);return g};
+goog.structs.some=function(a,b,c){if("function"==typeof a.some)return a.some(b,c);if(goog.isArrayLike(a)||goog.isString(a))return goog.array.some(a,b,c);for(var d=goog.structs.getKeys(a),e=goog.structs.getValues(a),f=e.length,g=0;g<f;g++)if(b.call(c,e[g],d&&d[g],a))return!0;return!1};
+goog.structs.every=function(a,b,c){if("function"==typeof a.every)return a.every(b,c);if(goog.isArrayLike(a)||goog.isString(a))return goog.array.every(a,b,c);for(var d=goog.structs.getKeys(a),e=goog.structs.getValues(a),f=e.length,g=0;g<f;g++)if(!b.call(c,e[g],d&&d[g],a))return!1;return!0};goog.structs.Trie=function(a){this.value_=void 0;this.childNodes_={};a&&this.setAll(a)};goog.structs.Trie.prototype.set=function(a,b){this.setOrAdd_(a,b,!1)};goog.structs.Trie.prototype.add=function(a,b){this.setOrAdd_(a,b,!0)};
+goog.structs.Trie.prototype.setOrAdd_=function(a,b,c){for(var d=this,e=0;e<a.length;e++){var f=a.charAt(e);d.childNodes_[f]||(d.childNodes_[f]=new goog.structs.Trie);d=d.childNodes_[f]}if(c&&void 0!==d.value_)throw Error('The collection already contains the key "'+a+'"');d.value_=b};goog.structs.Trie.prototype.setAll=function(a){var b=goog.structs.getKeys(a);a=goog.structs.getValues(a);for(var c=0;c<b.length;c++)this.set(b[c],a[c])};
+goog.structs.Trie.prototype.getChildNode_=function(a){for(var b=this,c=0;c<a.length;c++){var d=a.charAt(c);b=b.childNodes_[d];if(!b)return}return b};goog.structs.Trie.prototype.get=function(a){return(a=this.getChildNode_(a))?a.value_:void 0};goog.structs.Trie.prototype.getKeyAndPrefixes=function(a,b){var c=this,d={},e=b||0;void 0!==c.value_&&(d[e]=c.value_);for(;e<a.length;e++){var f=a.charAt(e);if(!(f in c.childNodes_))break;c=c.childNodes_[f];void 0!==c.value_&&(d[e]=c.value_)}return d};
+goog.structs.Trie.prototype.getValues=function(){var a=[];this.getValuesInternal_(a);return a};goog.structs.Trie.prototype.getValuesInternal_=function(a){void 0!==this.value_&&a.push(this.value_);for(var b in this.childNodes_)this.childNodes_[b].getValuesInternal_(a)};goog.structs.Trie.prototype.getKeys=function(a){var b=[];if(a){for(var c=this,d=0;d<a.length;d++){var e=a.charAt(d);if(!c.childNodes_[e])return[];c=c.childNodes_[e]}c.getKeysInternal_(a,b)}else this.getKeysInternal_("",b);return b};
+goog.structs.Trie.prototype.getKeysInternal_=function(a,b){void 0!==this.value_&&b.push(a);for(var c in this.childNodes_)this.childNodes_[c].getKeysInternal_(a+c,b)};goog.structs.Trie.prototype.containsKey=function(a){return void 0!==this.get(a)};goog.structs.Trie.prototype.containsPrefix=function(a){return 0==a.length?!this.isEmpty():!!this.getChildNode_(a)};
+goog.structs.Trie.prototype.containsValue=function(a){if(this.value_===a)return!0;for(var b in this.childNodes_)if(this.childNodes_[b].containsValue(a))return!0;return!1};goog.structs.Trie.prototype.clear=function(){this.childNodes_={};this.value_=void 0};
+goog.structs.Trie.prototype.remove=function(a){for(var b=this,c=[],d=0;d<a.length;d++){var e=a.charAt(d);if(!b.childNodes_[e])throw Error('The collection does not have the key "'+a+'"');c.push([b,e]);b=b.childNodes_[e]}a=b.value_;for(delete b.value_;0<c.length;)if(e=c.pop(),b=e[0],e=e[1],b.childNodes_[e].isEmpty())delete b.childNodes_[e];else break;return a};goog.structs.Trie.prototype.clone=function(){return new goog.structs.Trie(this)};goog.structs.Trie.prototype.getCount=function(){return goog.structs.getCount(this.getValues())};
+goog.structs.Trie.prototype.isEmpty=function(){return void 0===this.value_&&goog.object.isEmpty(this.childNodes_)};goog.ui.tree.TypeAhead=function(){this.nodeMap_=new goog.structs.Trie;this.buffer_="";this.matchingNodes_=this.matchingLabels_=null;this.matchingNodeIndex_=this.matchingLabelIndex_=0};goog.ui.tree.TypeAhead.Offset={DOWN:1,UP:-1};
+goog.ui.tree.TypeAhead.prototype.handleNavigation=function(a){var b=!1;switch(a.keyCode){case goog.events.KeyCodes.DOWN:case goog.events.KeyCodes.UP:a.ctrlKey&&(this.jumpTo_(a.keyCode==goog.events.KeyCodes.DOWN?goog.ui.tree.TypeAhead.Offset.DOWN:goog.ui.tree.TypeAhead.Offset.UP),b=!0);break;case goog.events.KeyCodes.BACKSPACE:a=this.buffer_.length-1;b=!0;0<a?(this.buffer_=this.buffer_.substring(0,a),this.jumpToLabel_(this.buffer_)):0==a?this.buffer_="":b=!1;break;case goog.events.KeyCodes.ESC:this.buffer_=
+"",b=!0}return b};goog.ui.tree.TypeAhead.prototype.handleTypeAheadChar=function(a){var b=!1;a.ctrlKey||a.altKey||(a=String.fromCharCode(a.charCode||a.keyCode).toLowerCase(),goog.string.isUnicodeChar(a)&&(" "!=a||this.buffer_)&&(this.buffer_+=a,b=this.jumpToLabel_(this.buffer_)));return b};
+goog.ui.tree.TypeAhead.prototype.setNodeInMap=function(a){var b=a.getText();if(b&&!goog.string.isEmptyOrWhitespace(goog.string.makeSafe(b))){b=b.toLowerCase();var c=this.nodeMap_.get(b);c?c.push(a):this.nodeMap_.set(b,[a])}};
+goog.ui.tree.TypeAhead.prototype.removeNodeFromMap=function(a){var b=a.getText();if(b&&!goog.string.isEmptyOrWhitespace(goog.string.makeSafe(b))){b=b.toLowerCase();var c=this.nodeMap_.get(b);if(c){for(var d=a.getChildCount(),e=0;e<d;e++)this.removeNodeFromMap(a.getChildAt(e));goog.array.remove(c,a);c.length||this.nodeMap_.remove(b)}}};
+goog.ui.tree.TypeAhead.prototype.jumpToLabel_=function(a){var b=!1;(a=this.nodeMap_.getKeys(a))&&a.length&&(this.matchingLabelIndex_=this.matchingNodeIndex_=0,b=this.nodeMap_.get(a[0]),b=this.selectMatchingNode_(b))&&(this.matchingLabels_=a);return b};
+goog.ui.tree.TypeAhead.prototype.jumpTo_=function(a){var b=!1,c=this.matchingLabels_;if(c){b=null;var d=!1;if(this.matchingNodes_){var e=this.matchingNodeIndex_+a;0<=e&&e<this.matchingNodes_.length?(this.matchingNodeIndex_=e,b=this.matchingNodes_):d=!0}b||(e=this.matchingLabelIndex_+a,0<=e&&e<c.length&&(this.matchingLabelIndex_=e),c.length>this.matchingLabelIndex_&&(b=this.nodeMap_.get(c[this.matchingLabelIndex_])),b&&b.length&&d&&(this.matchingNodeIndex_=a==goog.ui.tree.TypeAhead.Offset.UP?b.length-
+1:0));if(b=this.selectMatchingNode_(b))this.matchingLabels_=c}return b};goog.ui.tree.TypeAhead.prototype.selectMatchingNode_=function(a){if(a){if(this.matchingNodeIndex_<a.length){var b=a[this.matchingNodeIndex_];this.matchingNodes_=a}b&&(b.reveal(),b.select())}return!!b};goog.ui.tree.TypeAhead.prototype.clear=function(){this.buffer_=""};goog.ui.tree.TreeControl=function(a,b,c){goog.ui.tree.BaseNode.call(this,a,b,c);this.setExpandedInternal(!0);this.setSelectedInternal(!0);this.selectedItem_=this;this.typeAhead_=new goog.ui.tree.TypeAhead;this.focusHandler_=this.keyHandler_=null;this.logger_=goog.log.getLogger("this");this.focused_=!1;this.focusedNode_=null;this.showRootLines_=this.showRootNode_=this.showExpandIcons_=this.showLines_=!0;if(goog.userAgent.IE)try{document.execCommand("BackgroundImageCache",!1,!0)}catch(d){goog.log.warning(this.logger_,
+"Failed to enable background image cache")}};goog.inherits(goog.ui.tree.TreeControl,goog.ui.tree.BaseNode);goog.ui.tree.TreeControl.prototype.getTree=function(){return this};goog.ui.tree.TreeControl.prototype.getDepth=function(){return 0};goog.ui.tree.TreeControl.prototype.reveal=function(){};goog.ui.tree.TreeControl.prototype.handleFocus_=function(a){this.focused_=!0;goog.dom.classlist.add(goog.asserts.assert(this.getElement()),"focused");this.selectedItem_&&this.selectedItem_.select()};
+goog.ui.tree.TreeControl.prototype.handleBlur_=function(a){this.focused_=!1;goog.dom.classlist.remove(goog.asserts.assert(this.getElement()),"focused")};goog.ui.tree.TreeControl.prototype.hasFocus=function(){return this.focused_};goog.ui.tree.TreeControl.prototype.getExpanded=function(){return!this.showRootNode_||goog.ui.tree.TreeControl.superClass_.getExpanded.call(this)};
+goog.ui.tree.TreeControl.prototype.setExpanded=function(a){this.showRootNode_?goog.ui.tree.TreeControl.superClass_.setExpanded.call(this,a):this.setExpandedInternal(a)};goog.ui.tree.TreeControl.prototype.getExpandIconSafeHtml=function(){return goog.html.SafeHtml.EMPTY};goog.ui.tree.TreeControl.prototype.getIconElement=function(){var a=this.getRowElement();return a?a.firstChild:null};goog.ui.tree.TreeControl.prototype.getExpandIconElement=function(){return null};
+goog.ui.tree.TreeControl.prototype.updateExpandIcon=function(){};goog.ui.tree.TreeControl.prototype.getRowClassName=function(){return goog.ui.tree.TreeControl.superClass_.getRowClassName.call(this)+(this.showRootNode_?"":" "+this.getConfig().cssHideRoot)};
+goog.ui.tree.TreeControl.prototype.getCalculatedIconClass=function(){var a=this.getExpanded(),b=this.getExpandedIconClass();if(a&&b)return b;b=this.getIconClass();if(!a&&b)return b;b=this.getConfig();return a&&b.cssExpandedRootIcon?b.cssTreeIcon+" "+b.cssExpandedRootIcon:!a&&b.cssCollapsedRootIcon?b.cssTreeIcon+" "+b.cssCollapsedRootIcon:""};
+goog.ui.tree.TreeControl.prototype.setSelectedItem=function(a){if(this.selectedItem_!=a){var b=!1;this.selectedItem_&&(b=this.selectedItem_==this.focusedNode_,this.selectedItem_.setSelectedInternal(!1));if(this.selectedItem_=a)a.setSelectedInternal(!0),b&&a.select();this.dispatchEvent(goog.events.EventType.CHANGE)}};goog.ui.tree.TreeControl.prototype.getSelectedItem=function(){return this.selectedItem_};
+goog.ui.tree.TreeControl.prototype.setShowLines=function(a){this.showLines_!=a&&(this.showLines_=a,this.isInDocument()&&this.updateLinesAndExpandIcons_())};goog.ui.tree.TreeControl.prototype.getShowLines=function(){return this.showLines_};
+goog.ui.tree.TreeControl.prototype.updateLinesAndExpandIcons_=function(){function a(e){var f=e.getChildrenElement();if(f){var g=!c||b==e.getParent()&&!d?e.getConfig().cssChildrenNoLines:e.getConfig().cssChildren;f.className=g;if(f=e.getExpandIconElement())f.className=e.getExpandIconClass()}e.forEachChild(a)}var b=this,c=b.getShowLines(),d=b.getShowRootLines();a(this)};
+goog.ui.tree.TreeControl.prototype.setShowRootLines=function(a){this.showRootLines_!=a&&(this.showRootLines_=a,this.isInDocument()&&this.updateLinesAndExpandIcons_())};goog.ui.tree.TreeControl.prototype.getShowRootLines=function(){return this.showRootLines_};goog.ui.tree.TreeControl.prototype.setShowExpandIcons=function(a){this.showExpandIcons_!=a&&(this.showExpandIcons_=a,this.isInDocument()&&this.updateLinesAndExpandIcons_())};goog.ui.tree.TreeControl.prototype.getShowExpandIcons=function(){return this.showExpandIcons_};
+goog.ui.tree.TreeControl.prototype.setShowRootNode=function(a){if(this.showRootNode_!=a){this.showRootNode_=a;if(this.isInDocument()){var b=this.getRowElement();b&&(b.className=this.getRowClassName())}!a&&this.getSelectedItem()==this&&this.getFirstChild()&&this.setSelectedItem(this.getFirstChild())}};goog.ui.tree.TreeControl.prototype.getShowRootNode=function(){return this.showRootNode_};
+goog.ui.tree.TreeControl.prototype.initAccessibility=function(){goog.ui.tree.TreeControl.superClass_.initAccessibility.call(this);var a=this.getElement();goog.asserts.assert(a,"The DOM element for the tree cannot be null.");goog.a11y.aria.setRole(a,"tree");goog.a11y.aria.setState(a,"labelledby",this.getLabelElement().id)};
+goog.ui.tree.TreeControl.prototype.enterDocument=function(){goog.ui.tree.TreeControl.superClass_.enterDocument.call(this);var a=this.getElement();a.className=this.getConfig().cssRoot;a.setAttribute("hideFocus","true");this.attachEvents_();this.initAccessibility()};goog.ui.tree.TreeControl.prototype.exitDocument=function(){goog.ui.tree.TreeControl.superClass_.exitDocument.call(this);this.detachEvents_()};
+goog.ui.tree.TreeControl.prototype.attachEvents_=function(){var a=this.getElement();a.tabIndex=0;var b=this.keyHandler_=new goog.events.KeyHandler(a),c=this.focusHandler_=new goog.events.FocusHandler(a);this.getHandler().listen(c,goog.events.FocusHandler.EventType.FOCUSOUT,this.handleBlur_).listen(c,goog.events.FocusHandler.EventType.FOCUSIN,this.handleFocus_).listen(b,goog.events.KeyHandler.EventType.KEY,this.handleKeyEvent).listen(a,goog.events.EventType.MOUSEDOWN,this.handleMouseEvent_).listen(a,
+goog.events.EventType.CLICK,this.handleMouseEvent_).listen(a,goog.events.EventType.DBLCLICK,this.handleMouseEvent_)};goog.ui.tree.TreeControl.prototype.detachEvents_=function(){this.keyHandler_.dispose();this.keyHandler_=null;this.focusHandler_.dispose();this.focusHandler_=null};
+goog.ui.tree.TreeControl.prototype.handleMouseEvent_=function(a){goog.log.fine(this.logger_,"Received event "+a.type);var b=this.getNodeFromEvent_(a);if(b)switch(a.type){case goog.events.EventType.MOUSEDOWN:b.onMouseDown(a);break;case goog.events.EventType.CLICK:b.onClick_(a);break;case goog.events.EventType.DBLCLICK:b.onDoubleClick_(a)}};
+goog.ui.tree.TreeControl.prototype.handleKeyEvent=function(a){var b;(b=this.typeAhead_.handleNavigation(a)||this.selectedItem_&&this.selectedItem_.onKeyDown(a)||this.typeAhead_.handleTypeAheadChar(a))&&a.preventDefault();return b};goog.ui.tree.TreeControl.prototype.getNodeFromEvent_=function(a){for(var b=a.target;null!=b;){if(a=goog.ui.tree.BaseNode.allNodes[b.id])return a;if(b==this.getElement())break;b=b.parentNode}return null};
+goog.ui.tree.TreeControl.prototype.createNode=function(a){return new goog.ui.tree.TreeNode(a||goog.html.SafeHtml.EMPTY,this.getConfig(),this.getDomHelper())};goog.ui.tree.TreeControl.prototype.setNode=function(a){this.typeAhead_.setNodeInMap(a)};goog.ui.tree.TreeControl.prototype.removeNode=function(a){this.typeAhead_.removeNodeFromMap(a)};goog.ui.tree.TreeControl.prototype.clearTypeAhead=function(){this.typeAhead_.clear()};goog.ui.tree.TreeControl.defaultConfig=goog.ui.tree.BaseNode.defaultConfig;
+var Blockly={};Blockly.Blocks=Object(null);
+Blockly.utils={};Blockly.utils.removeAttribute=function(a,b){goog.userAgent.IE&&goog.userAgent.isVersion("10.0")?a.setAttribute(b,null):a.removeAttribute(b)};Blockly.utils.addClass=function(a,b){var c=a.getAttribute("class")||"";if(-1!=(" "+c+" ").indexOf(" "+b+" "))return!1;c&&(c+=" ");a.setAttribute("class",c+b);return!0};
+Blockly.utils.removeClass=function(a,b){var c=a.getAttribute("class");if(-1==(" "+c+" ").indexOf(" "+b+" "))return!1;c=c.split(/\s+/);for(var d=0;d<c.length;d++)c[d]&&c[d]!=b||(c.splice(d,1),d--);c.length?a.setAttribute("class",c.join(" ")):Blockly.utils.removeAttribute(a,"class");return!0};Blockly.utils.hasClass=function(a,b){return-1!=(" "+a.getAttribute("class")+" ").indexOf(" "+b+" ")};Blockly.utils.removeNode=function(a){return a&&a.parentNode?a.parentNode.removeChild(a):null};
+Blockly.utils.noEvent=function(a){a.preventDefault();a.stopPropagation()};Blockly.utils.isTargetInput=function(a){return"textarea"==a.target.type||"text"==a.target.type||"number"==a.target.type||"email"==a.target.type||"password"==a.target.type||"search"==a.target.type||"tel"==a.target.type||"url"==a.target.type||a.target.isContentEditable};
+Blockly.utils.getRelativeXY=function(a){var b=new goog.math.Coordinate(0,0),c=a.getAttribute("x");c&&(b.x=parseInt(c,10));if(c=a.getAttribute("y"))b.y=parseInt(c,10);if(c=(c=a.getAttribute("transform"))&&c.match(Blockly.utils.getRelativeXY.XY_REGEX_))b.x+=parseFloat(c[1]),c[3]&&(b.y+=parseFloat(c[3]));(a=a.getAttribute("style"))&&-1<a.indexOf("translate")&&((c=a.match(Blockly.utils.getRelativeXY.XY_2D_REGEX_))||(c=a.match(Blockly.utils.getRelativeXY.XY_3D_REGEX_)),c&&(b.x+=parseFloat(c[1]),c[3]&&
+(b.y+=parseFloat(c[3]))));return b};Blockly.utils.getInjectionDivXY_=function(a){for(var b=0,c=0;a;){var d=Blockly.utils.getRelativeXY(a);b+=d.x;c+=d.y;if(-1!=(" "+(a.getAttribute("class")||"")+" ").indexOf(" injectionDiv "))break;a=a.parentNode}return new goog.math.Coordinate(b,c)};Blockly.utils.getRelativeXY.XY_REGEX_=/translate\(\s*([-+\d.e]+)([ ,]\s*([-+\d.e]+)\s*\))?/;Blockly.utils.getRelativeXY.XY_3D_REGEX_=/transform:\s*translate3d\(\s*([-+\d.e]+)px([ ,]\s*([-+\d.e]+)\s*)px([ ,]\s*([-+\d.e]+)\s*)px\)?/;
+Blockly.utils.getRelativeXY.XY_2D_REGEX_=/transform:\s*translate\(\s*([-+\d.e]+)px([ ,]\s*([-+\d.e]+)\s*)px\)?/;Blockly.utils.createSvgElement=function(a,b,c){a=document.createElementNS(Blockly.SVG_NS,a);for(var d in b)a.setAttribute(d,b[d]);document.body.runtimeStyle&&(a.runtimeStyle=a.currentStyle=a.style);c&&c.appendChild(a);return a};Blockly.utils.isRightButton=function(a){return a.ctrlKey&&goog.userAgent.MAC?!0:2==a.button};
+Blockly.utils.mouseToSvg=function(a,b,c){var d=b.createSVGPoint();d.x=a.clientX;d.y=a.clientY;c||(c=b.getScreenCTM().inverse());return d.matrixTransform(c)};Blockly.utils.shortestStringLength=function(a){return a.length?a.reduce(function(a,c){return a.length<c.length?a:c}).length:0};
+Blockly.utils.commonWordPrefix=function(a,b){if(!a.length)return 0;if(1==a.length)return a[0].length;for(var c=0,d=b||Blockly.utils.shortestStringLength(a),e=0;e<d;e++){for(var f=a[0][e],g=1;g<a.length;g++)if(f!=a[g][e])return c;" "==f&&(c=e+1)}for(g=1;g<a.length;g++)if((f=a[g][e])&&" "!=f)return c;return d};
+Blockly.utils.commonWordSuffix=function(a,b){if(!a.length)return 0;if(1==a.length)return a[0].length;for(var c=0,d=b||Blockly.utils.shortestStringLength(a),e=0;e<d;e++){for(var f=a[0].substr(-e-1,1),g=1;g<a.length;g++)if(f!=a[g].substr(-e-1,1))return c;" "==f&&(c=e+1)}for(g=1;g<a.length;g++)if((f=a[g].charAt(a[g].length-e-1))&&" "!=f)return c;return d};Blockly.utils.tokenizeInterpolation=function(a){return Blockly.utils.tokenizeInterpolation_(a,!0)};
+Blockly.utils.replaceMessageReferences=function(a){if("string"!=typeof a)return a;a=Blockly.utils.tokenizeInterpolation_(a,!1);return a.length?a[0]:""};
+Blockly.utils.checkMessageReferences=function(a){for(var b=!0,c=Blockly.Msg,d=/%{(BKY_[A-Z][A-Z0-9_]*)}/gi,e=d.exec(a);e;){var f=e[1];f=f.toUpperCase();"BKY_"!=f.substr(0,4)?(console.log("WARNING: Unsupported message table prefix in %{"+e[1]+"}."),b=!1):void 0==c[f.substr(4)]&&(console.log("WARNING: No message string for %{"+e[1]+"}."),b=!1);a=a.substring(e.index+f.length+1);e=d.exec(a)}return b};
+Blockly.utils.tokenizeInterpolation_=function(a,b){var c=[],d=a.split("");d.push("");for(var e=0,f=[],g=null,h=0;h<d.length;h++){var k=d[h];0==e?"%"==k?((k=f.join(""))&&c.push(k),f.length=0,e=1):f.push(k):1==e?"%"==k?(f.push(k),e=0):b&&"0"<=k&&"9">=k?(e=2,g=k,(k=f.join(""))&&c.push(k),f.length=0):"{"==k?e=3:(f.push("%",k),e=0):2==e?"0"<=k&&"9">=k?g+=k:(c.push(parseInt(g,10)),h--,e=0):3==e&&(""==k?(f.splice(0,0,"%{"),h--,e=0):"}"!=k?f.push(k):(e=f.join(""),/[a-zA-Z][a-zA-Z0-9_]*/.test(e)?(k=e.toUpperCase(),
+(k=Blockly.utils.startsWith(k,"BKY_")?k.substring(4):null)&&k in Blockly.Msg?(e=Blockly.Msg[k],"string"==typeof e?Array.prototype.push.apply(c,Blockly.utils.tokenizeInterpolation_(e,b)):b?c.push(String(e)):c.push(e)):c.push("%{"+e+"}")):c.push("%{"+e+"}"),e=f.length=0))}(k=f.join(""))&&c.push(k);d=[];for(h=f.length=0;h<c.length;++h)"string"==typeof c[h]?f.push(c[h]):((k=f.join(""))&&d.push(k),f.length=0,d.push(c[h]));(k=f.join(""))&&d.push(k);f.length=0;return d};
+Blockly.utils.genUid=function(){for(var a=Blockly.utils.genUid.soup_.length,b=[],c=0;20>c;c++)b[c]=Blockly.utils.genUid.soup_.charAt(Math.random()*a);return b.join("")};Blockly.utils.genUid.soup_="!#$%()*+,-./:;=?@[]^_`{|}~ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";Blockly.utils.wrap=function(a,b){for(var c=a.split("\n"),d=0;d<c.length;d++)c[d]=Blockly.utils.wrapLine_(c[d],b);return c.join("\n")};
+Blockly.utils.wrapLine_=function(a,b){if(a.length<=b)return a;for(var c=a.trim().split(/\s+/),d=0;d<c.length;d++)c[d].length>b&&(b=c[d].length);d=-Infinity;var e=1;do{var f=d;var g=a;var h=[],k=c.length/e,l=1;for(d=0;d<c.length-1;d++)l<(d+1.5)/k?(l++,h[d]=!0):h[d]=!1;h=Blockly.utils.wrapMutate_(c,h,b);d=Blockly.utils.wrapScore_(c,h,b);a=Blockly.utils.wrapToText_(c,h);e++}while(d>f);return g};
+Blockly.utils.wrapScore_=function(a,b,c){for(var d=[0],e=[],f=0;f<a.length;f++)d[d.length-1]+=a[f].length,!0===b[f]?(d.push(0),e.push(a[f].charAt(a[f].length-1))):!1===b[f]&&d[d.length-1]++;a=Math.max.apply(Math,d);for(f=b=0;f<d.length;f++)b-=2*Math.pow(Math.abs(c-d[f]),1.5),b-=Math.pow(a-d[f],1.5),-1!=".?!".indexOf(e[f])?b+=c/3:-1!=",;)]}".indexOf(e[f])&&(b+=c/4);1<d.length&&d[d.length-1]<=d[d.length-2]&&(b+=.5);return b};
+Blockly.utils.wrapMutate_=function(a,b,c){for(var d=Blockly.utils.wrapScore_(a,b,c),e,f=0;f<b.length-1;f++)if(b[f]!=b[f+1]){var g=[].concat(b);g[f]=!g[f];g[f+1]=!g[f+1];var h=Blockly.utils.wrapScore_(a,g,c);h>d&&(d=h,e=g)}return e?Blockly.utils.wrapMutate_(a,e,c):b};Blockly.utils.wrapToText_=function(a,b){for(var c=[],d=0;d<a.length;d++)c.push(a[d]),void 0!==b[d]&&c.push(b[d]?"\n":" ");return c.join("")};
+Blockly.utils.is3dSupported=function(){if(void 0!==Blockly.utils.is3dSupported.cached_)return Blockly.utils.is3dSupported.cached_;if(!goog.global.getComputedStyle)return!1;var a=document.createElement("p"),b="none",c={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.insertBefore(a,null);for(var d in c)if(void 0!==a.style[d]){a.style[d]="translate3d(1px,1px,1px)";b=goog.global.getComputedStyle(a);
+if(!b)return document.body.removeChild(a),!1;b=b.getPropertyValue(c[d])}document.body.removeChild(a);Blockly.utils.is3dSupported.cached_="none"!==b;return Blockly.utils.is3dSupported.cached_};Blockly.utils.insertAfter=function(a,b){var c=b.nextSibling,d=b.parentNode;if(!d)throw Error("Reference node has no parent.");c?d.insertBefore(a,c):d.appendChild(a)};
+Blockly.utils.runAfterPageLoad=function(a){if("object"!=typeof document)throw Error("Blockly.utils.runAfterPageLoad() requires browser document.");if("complete"===document.readyState)a();else var b=setInterval(function(){"complete"===document.readyState&&(clearInterval(b),a())},10)};Blockly.utils.setCssTransform=function(a,b){a.style.transform=b;a.style["-webkit-transform"]=b};
+Blockly.utils.getViewportBBox=function(){var a=goog.dom.getViewportSize(),b=goog.style.getViewportPageOffset(document);return{right:a.width+b.x,bottom:a.height+b.y,top:b.y,left:b.x}};Blockly.utils.startsWith=function(a,b){return 0==a.lastIndexOf(b,0)};Blockly.utils.arrayRemove=function(a,b){var c=a.indexOf(b);if(-1==c)return!1;a.splice(c,1);return!0};Blockly.utils.toRadians=function(a){return a*Math.PI/180};Blockly.utils.toDegrees=function(a){return 180*a/Math.PI};
+Blockly.utils.containsNode=function(a,b){return!!(a.compareDocumentPosition(b)&Node.DOCUMENT_POSITION_CONTAINED_BY)};
+Blockly.Touch={};Blockly.Touch.touchIdentifier_=null;Blockly.Touch.TOUCH_MAP={};
+goog.global.PointerEvent?Blockly.Touch.TOUCH_MAP={mousedown:["pointerdown"],mouseenter:["pointerenter"],mouseleave:["pointerleave"],mousemove:["pointermove"],mouseout:["pointerout"],mouseover:["pointerover"],mouseup:["pointerup","pointercancel"],touchend:["pointerup"],touchcancel:["pointercancel"]}:goog.events.BrowserFeature.TOUCH_ENABLED&&(Blockly.Touch.TOUCH_MAP={mousedown:["touchstart"],mousemove:["touchmove"],mouseup:["touchend","touchcancel"]});Blockly.longPid_=0;
+Blockly.longStart_=function(a,b){Blockly.longStop_();a.changedTouches&&1!=a.changedTouches.length||(Blockly.longPid_=setTimeout(function(){a.changedTouches&&(a.button=2,a.clientX=a.changedTouches[0].clientX,a.clientY=a.changedTouches[0].clientY);b&&b.handleRightClick(a)},Blockly.LONGPRESS))};Blockly.longStop_=function(){Blockly.longPid_&&(clearTimeout(Blockly.longPid_),Blockly.longPid_=0)};Blockly.Touch.clearTouchIdentifier=function(){Blockly.Touch.touchIdentifier_=null};
+Blockly.Touch.shouldHandleEvent=function(a){return!Blockly.Touch.isMouseOrTouchEvent(a)||Blockly.Touch.checkTouchIdentifier(a)};Blockly.Touch.getTouchIdentifierFromEvent=function(a){return void 0!=a.pointerId?a.pointerId:a.changedTouches&&a.changedTouches[0]&&void 0!==a.changedTouches[0].identifier&&null!==a.changedTouches[0].identifier?a.changedTouches[0].identifier:"mouse"};
+Blockly.Touch.checkTouchIdentifier=function(a){var b=Blockly.Touch.getTouchIdentifierFromEvent(a);return void 0!==Blockly.Touch.touchIdentifier_&&null!==Blockly.Touch.touchIdentifier_?Blockly.Touch.touchIdentifier_==b:"mousedown"==a.type||"touchstart"==a.type||"pointerdown"==a.type?(Blockly.Touch.touchIdentifier_=b,!0):!1};Blockly.Touch.setClientFromTouch=function(a){if(Blockly.utils.startsWith(a.type,"touch")){var b=a.changedTouches[0];a.clientX=b.clientX;a.clientY=b.clientY}};
+Blockly.Touch.isMouseOrTouchEvent=function(a){return Blockly.utils.startsWith(a.type,"touch")||Blockly.utils.startsWith(a.type,"mouse")||Blockly.utils.startsWith(a.type,"pointer")};Blockly.Touch.isTouchEvent=function(a){return Blockly.utils.startsWith(a.type,"touch")||Blockly.utils.startsWith(a.type,"pointer")};
+Blockly.Touch.splitEventByTouches=function(a){var b=[];if(a.changedTouches)for(var c=0;c<a.changedTouches.length;c++)b[c]={type:a.type,changedTouches:[a.changedTouches[c]],target:a.target,stopPropagation:function(){a.stopPropagation()},preventDefault:function(){a.preventDefault()}};else b.push(a);return b};Blockly.Events={};Blockly.Events.group_="";Blockly.Events.recordUndo=!0;Blockly.Events.disabled_=0;Blockly.Events.CREATE="create";Blockly.Events.BLOCK_CREATE=Blockly.Events.CREATE;Blockly.Events.DELETE="delete";Blockly.Events.BLOCK_DELETE=Blockly.Events.DELETE;Blockly.Events.CHANGE="change";Blockly.Events.BLOCK_CHANGE=Blockly.Events.CHANGE;Blockly.Events.MOVE="move";Blockly.Events.BLOCK_MOVE=Blockly.Events.MOVE;Blockly.Events.VAR_CREATE="var_create";Blockly.Events.VAR_DELETE="var_delete";
+Blockly.Events.VAR_RENAME="var_rename";Blockly.Events.UI="ui";Blockly.Events.COMMENT_CREATE="comment_create";Blockly.Events.COMMENT_DELETE="comment_delete";Blockly.Events.COMMENT_CHANGE="comment_change";Blockly.Events.COMMENT_MOVE="comment_move";Blockly.Events.FIRE_QUEUE_=[];Blockly.Events.fire=function(a){Blockly.Events.isEnabled()&&(Blockly.Events.FIRE_QUEUE_.length||setTimeout(Blockly.Events.fireNow_,0),Blockly.Events.FIRE_QUEUE_.push(a))};
+Blockly.Events.fireNow_=function(){for(var a=Blockly.Events.filter(Blockly.Events.FIRE_QUEUE_,!0),b=Blockly.Events.FIRE_QUEUE_.length=0,c;c=a[b];b++){var d=Blockly.Workspace.getById(c.workspaceId);d&&d.fireChangeListener(c)}};
+Blockly.Events.filter=function(a,b){var c=a.slice();b||c.reverse();for(var d=[],e=Object.create(null),f=0,g;g=c[f];f++)if(!g.isNull()){var h=[g.type,g.blockId,g.workspaceId].join(" "),k=e[h],l=k?k.event:null;k?g.type==Blockly.Events.MOVE&&k.index==f-1?(l.newParentId=g.newParentId,l.newInputName=g.newInputName,l.newCoordinate=g.newCoordinate,k.index=f):g.type==Blockly.Events.CHANGE&&g.element==l.element&&g.name==l.name?l.newValue=g.newValue:g.type!=Blockly.Events.UI||"click"!=g.element||"commentOpen"!=
+l.element&&"mutatorOpen"!=l.element&&"warningOpen"!=l.element?(e[h]={event:g,index:1},d.push(g)):l.newValue=g.newValue:(e[h]={event:g,index:f},d.push(g))}c=d.filter(function(a){return!a.isNull()});b||c.reverse();for(f=1;g=c[f];f++)g.type==Blockly.Events.CHANGE&&"mutation"==g.element&&c.unshift(c.splice(f,1)[0]);return c};Blockly.Events.clearPendingUndo=function(){for(var a=0,b;b=Blockly.Events.FIRE_QUEUE_[a];a++)b.recordUndo=!1};Blockly.Events.disable=function(){Blockly.Events.disabled_++};
+Blockly.Events.enable=function(){Blockly.Events.disabled_--};Blockly.Events.isEnabled=function(){return 0==Blockly.Events.disabled_};Blockly.Events.getGroup=function(){return Blockly.Events.group_};Blockly.Events.setGroup=function(a){Blockly.Events.group_="boolean"==typeof a?a?Blockly.utils.genUid():"":a};Blockly.Events.getDescendantIds_=function(a){var b=[];a=a.getDescendants(!1);for(var c=0,d;d=a[c];c++)b[c]=d.id;return b};
+Blockly.Events.fromJson=function(a,b){switch(a.type){case Blockly.Events.CREATE:var c=new Blockly.Events.Create(null);break;case Blockly.Events.DELETE:c=new Blockly.Events.Delete(null);break;case Blockly.Events.CHANGE:c=new Blockly.Events.Change(null,"","","","");break;case Blockly.Events.MOVE:c=new Blockly.Events.Move(null);break;case Blockly.Events.VAR_CREATE:c=new Blockly.Events.VarCreate(null);break;case Blockly.Events.VAR_DELETE:c=new Blockly.Events.VarDelete(null);break;case Blockly.Events.VAR_RENAME:c=
+new Blockly.Events.VarRename(null,"");break;case Blockly.Events.UI:c=new Blockly.Events.Ui(null);break;case Blockly.Events.COMMENT_CREATE:c=new Blockly.Events.CommentCreate(null);break;case Blockly.Events.COMMENT_CHANGE:c=new Blockly.Events.CommentChange(null);break;case Blockly.Events.COMMENT_MOVE:c=new Blockly.Events.CommentMove(null);break;case Blockly.Events.COMMENT_DELETE:c=new Blockly.Events.CommentDelete(null);break;default:throw Error("Unknown event type.");}c.fromJson(a);c.workspaceId=b.id;
+return c};Blockly.Events.disableOrphans=function(a){if(a.type==Blockly.Events.MOVE||a.type==Blockly.Events.CREATE){var b=Blockly.Workspace.getById(a.workspaceId);if(a=b.getBlockById(a.blockId))if(a.getParent()&&!a.getParent().disabled){b=a.getDescendants(!1);a=0;for(var c;c=b[a];a++)c.setDisabled(!1)}else if((a.outputConnection||a.previousConnection)&&!b.isDragging()){do a.setDisabled(!0),a=a.getNextBlock();while(a)}}};
+Blockly.Events.Abstract=function(){this.workspaceId=void 0;this.group=Blockly.Events.group_;this.recordUndo=Blockly.Events.recordUndo};Blockly.Events.Abstract.prototype.toJson=function(){var a={type:this.type};this.group&&(a.group=this.group);return a};Blockly.Events.Abstract.prototype.fromJson=function(a){this.group=a.group};Blockly.Events.Abstract.prototype.isNull=function(){return!1};Blockly.Events.Abstract.prototype.run=function(a){};
+Blockly.Events.Abstract.prototype.getEventWorkspace_=function(){var a=Blockly.Workspace.getById(this.workspaceId);if(!a)throw Error("Workspace is null. Event must have been generated from real Blockly events.");return a};Blockly.Events.VarBase=function(a){Blockly.Events.VarBase.superClass_.constructor.call(this);this.varId=a.getId();this.workspaceId=a.workspace.id};goog.inherits(Blockly.Events.VarBase,Blockly.Events.Abstract);Blockly.Events.VarBase.prototype.toJson=function(){var a=Blockly.Events.VarBase.superClass_.toJson.call(this);a.varId=this.varId;return a};Blockly.Events.VarBase.prototype.fromJson=function(a){Blockly.Events.VarBase.superClass_.toJson.call(this);this.varId=a.varId};
+Blockly.Events.VarCreate=function(a){a&&(Blockly.Events.VarCreate.superClass_.constructor.call(this,a),this.varType=a.type,this.varName=a.name)};goog.inherits(Blockly.Events.VarCreate,Blockly.Events.VarBase);Blockly.Events.VarCreate.prototype.type=Blockly.Events.VAR_CREATE;Blockly.Events.VarCreate.prototype.toJson=function(){var a=Blockly.Events.VarCreate.superClass_.toJson.call(this);a.varType=this.varType;a.varName=this.varName;return a};
+Blockly.Events.VarCreate.prototype.fromJson=function(a){Blockly.Events.VarCreate.superClass_.fromJson.call(this,a);this.varType=a.varType;this.varName=a.varName};Blockly.Events.VarCreate.prototype.run=function(a){var b=this.getEventWorkspace_();a?b.createVariable(this.varName,this.varType,this.varId):b.deleteVariableById(this.varId)};Blockly.Events.VarDelete=function(a){a&&(Blockly.Events.VarDelete.superClass_.constructor.call(this,a),this.varType=a.type,this.varName=a.name)};
+goog.inherits(Blockly.Events.VarDelete,Blockly.Events.VarBase);Blockly.Events.VarDelete.prototype.type=Blockly.Events.VAR_DELETE;Blockly.Events.VarDelete.prototype.toJson=function(){var a=Blockly.Events.VarDelete.superClass_.toJson.call(this);a.varType=this.varType;a.varName=this.varName;return a};Blockly.Events.VarDelete.prototype.fromJson=function(a){Blockly.Events.VarDelete.superClass_.fromJson.call(this,a);this.varType=a.varType;this.varName=a.varName};
+Blockly.Events.VarDelete.prototype.run=function(a){var b=this.getEventWorkspace_();a?b.deleteVariableById(this.varId):b.createVariable(this.varName,this.varType,this.varId)};Blockly.Events.VarRename=function(a,b){a&&(Blockly.Events.VarRename.superClass_.constructor.call(this,a),this.oldName=a.name,this.newName=b)};goog.inherits(Blockly.Events.VarRename,Blockly.Events.VarBase);Blockly.Events.VarRename.prototype.type=Blockly.Events.VAR_RENAME;
+Blockly.Events.VarRename.prototype.toJson=function(){var a=Blockly.Events.VarRename.superClass_.toJson.call(this);a.oldName=this.oldName;a.newName=this.newName;return a};Blockly.Events.VarRename.prototype.fromJson=function(a){Blockly.Events.VarRename.superClass_.fromJson.call(this,a);this.oldName=a.oldName;this.newName=a.newName};Blockly.Events.VarRename.prototype.run=function(a){var b=this.getEventWorkspace_();a?b.renameVariableById(this.varId,this.newName):b.renameVariableById(this.varId,this.oldName)};
+Blockly.VariableMap=function(a){this.variableMap_={};this.workspace=a};Blockly.VariableMap.prototype.clear=function(){this.variableMap_=Object(null)};Blockly.VariableMap.prototype.renameVariable=function(a,b){var c=this.getVariable(b,a.type),d=this.workspace.getAllBlocks();Blockly.Events.setGroup(!0);try{c&&c.getId()!=a.getId()?this.renameVariableWithConflict_(a,b,c,d):this.renameVariableAndUses_(a,b,d)}finally{Blockly.Events.setGroup(!1)}};
+Blockly.VariableMap.prototype.renameVariableById=function(a,b){var c=this.getVariableById(a);if(!c)throw Error("Tried to rename a variable that didn't exist. ID: "+a);this.renameVariable(c,b)};Blockly.VariableMap.prototype.renameVariableAndUses_=function(a,b,c){Blockly.Events.fire(new Blockly.Events.VarRename(a,b));a.name=b;for(b=0;b<c.length;b++)c[b].updateVarName(a)};
+Blockly.VariableMap.prototype.renameVariableWithConflict_=function(a,b,c,d){var e=a.type;b!=c.name&&this.renameVariableAndUses_(c,b,d);for(b=0;b<d.length;b++)d[b].renameVarById(a.getId(),c.getId());Blockly.Events.fire(new Blockly.Events.VarDelete(a));a=this.getVariablesOfType(e).indexOf(a);this.variableMap_[e].splice(a,1)};
+Blockly.VariableMap.prototype.createVariable=function(a,b,c){var d=this.getVariable(a,b);if(d){if(c&&d.getId()!=c)throw Error('Variable "'+a+'" is already in use and its id is "'+d.getId()+'" which conflicts with the passed in id, "'+c+'".');return d}if(c&&this.getVariableById(c))throw Error('Variable id, "'+c+'", is already in use.');c=c||Blockly.utils.genUid();b=b||"";d=new Blockly.VariableModel(this.workspace,a,b,c);this.variableMap_[b]?this.variableMap_[b].push(d):this.variableMap_[b]=[d];return d};
+Blockly.VariableMap.prototype.deleteVariable=function(a){for(var b=this.variableMap_[a.type],c=0,d;d=b[c];c++)if(d.getId()==a.getId()){b.splice(c,1);Blockly.Events.fire(new Blockly.Events.VarDelete(a));break}};
+Blockly.VariableMap.prototype.deleteVariableById=function(a){var b=this.getVariableById(a);if(b){var c=b.name,d=this.getVariableUsesById(a);a=0;for(var e;e=d[a];a++)if("procedures_defnoreturn"==e.type||"procedures_defreturn"==e.type){a=e.getFieldValue("NAME");c=Blockly.Msg.CANNOT_DELETE_VARIABLE_PROCEDURE.replace("%1",c).replace("%2",a);Blockly.alert(c);return}var f=this;1<d.length?(c=Blockly.Msg.DELETE_VARIABLE_CONFIRMATION.replace("%1",String(d.length)).replace("%2",c),Blockly.confirm(c,function(a){a&&
+f.deleteVariableInternal_(b,d)})):f.deleteVariableInternal_(b,d)}else console.warn("Can't delete non-existent variable: "+a)};Blockly.VariableMap.prototype.deleteVariableInternal_=function(a,b){var c=Blockly.Events.getGroup();c||Blockly.Events.setGroup(!0);try{for(var d=0;d<b.length;d++)b[d].dispose(!0,!1);this.deleteVariable(a)}finally{c||Blockly.Events.setGroup(!1)}};
+Blockly.VariableMap.prototype.getVariable=function(a,b){var c=this.variableMap_[b||""];if(c)for(var d=0,e;e=c[d];d++)if(Blockly.Names.equals(e.name,a))return e;return null};Blockly.VariableMap.prototype.getVariableById=function(a){for(var b=Object.keys(this.variableMap_),c=0;c<b.length;c++)for(var d=b[c],e=0,f;f=this.variableMap_[d][e];e++)if(f.getId()==a)return f;return null};Blockly.VariableMap.prototype.getVariablesOfType=function(a){return(a=this.variableMap_[a||""])?a.slice():[]};
+Blockly.VariableMap.prototype.getVariableTypes=function(){for(var a=Object.keys(this.variableMap_),b=!1,c=0;c<a.length;c++)""==a[c]&&(b=!0);b||a.push("");return a};Blockly.VariableMap.prototype.getAllVariables=function(){for(var a=[],b=Object.keys(this.variableMap_),c=0;c<b.length;c++)a=a.concat(this.variableMap_[b[c]]);return a};
+Blockly.VariableMap.prototype.getVariableUsesById=function(a){for(var b=[],c=this.workspace.getAllBlocks(),d=0;d<c.length;d++){var e=c[d].getVarModels();if(e)for(var f=0;f<e.length;f++)e[f].getId()==a&&b.push(c[d])}return b};Blockly.Events.CommentBase=function(a){this.commentId=a.id;this.workspaceId=a.workspace.id;this.group=Blockly.Events.group_;this.recordUndo=Blockly.Events.recordUndo};goog.inherits(Blockly.Events.CommentBase,Blockly.Events.Abstract);Blockly.Events.CommentBase.prototype.toJson=function(){var a={type:this.type};this.group&&(a.group=this.group);this.commentId&&(a.commentId=this.commentId);return a};Blockly.Events.CommentBase.prototype.fromJson=function(a){this.commentId=a.commentId;this.group=a.group};
+Blockly.Events.CommentChange=function(a,b,c){a&&(Blockly.Events.CommentChange.superClass_.constructor.call(this,a),this.oldContents_=b,this.newContents_=c)};goog.inherits(Blockly.Events.CommentChange,Blockly.Events.CommentBase);Blockly.Events.CommentChange.prototype.type=Blockly.Events.COMMENT_CHANGE;Blockly.Events.CommentChange.prototype.toJson=function(){var a=Blockly.Events.CommentChange.superClass_.toJson.call(this);a.newContents=this.newContents_;return a};
+Blockly.Events.CommentChange.prototype.fromJson=function(a){Blockly.Events.CommentChange.superClass_.fromJson.call(this,a);this.newContents_=a.newValue};Blockly.Events.CommentChange.prototype.isNull=function(){return this.oldContents_==this.newContents_};Blockly.Events.CommentChange.prototype.run=function(a){var b=this.getEventWorkspace_().getCommentById(this.commentId);b?b.setContent(a?this.newContents_:this.oldContents_):console.warn("Can't change non-existent comment: "+this.commentId)};
+Blockly.Events.CommentCreate=function(a){a&&(Blockly.Events.CommentCreate.superClass_.constructor.call(this,a),this.xml=a.toXmlWithXY())};goog.inherits(Blockly.Events.CommentCreate,Blockly.Events.CommentBase);Blockly.Events.CommentCreate.prototype.type=Blockly.Events.COMMENT_CREATE;Blockly.Events.CommentCreate.prototype.toJson=function(){var a=Blockly.Events.CommentCreate.superClass_.toJson.call(this);a.xml=Blockly.Xml.domToText(this.xml);return a};
+Blockly.Events.CommentCreate.prototype.fromJson=function(a){Blockly.Events.CommentCreate.superClass_.fromJson.call(this,a);this.xml=Blockly.Xml.textToDom("<xml>"+a.xml+"</xml>").firstChild};Blockly.Events.CommentCreate.prototype.run=function(a){Blockly.Events.CommentCreateDeleteHelper(a)};
+Blockly.Events.CommentCreateDeleteHelper=function(a){var b=this.getEventWorkspace_();a?(a=goog.dom.createDom("xml"),a.appendChild(this.xml),Blockly.Xml.domToWorkspace(a,b)):(b=b.getCommentById(this.commentId))?b.dispose(!1,!1):console.warn("Can't uncreate non-existent comment: "+this.commentId)};Blockly.Events.CommentDelete=function(a){a&&(Blockly.Events.CommentDelete.superClass_.constructor.call(this,a),this.xml=a.toXmlWithXY())};goog.inherits(Blockly.Events.CommentDelete,Blockly.Events.CommentBase);
+Blockly.Events.CommentDelete.prototype.type=Blockly.Events.COMMENT_DELETE;Blockly.Events.CommentDelete.prototype.toJson=function(){return Blockly.Events.CommentDelete.superClass_.toJson.call(this)};Blockly.Events.CommentDelete.prototype.fromJson=function(a){Blockly.Events.CommentDelete.superClass_.fromJson.call(this,a)};Blockly.Events.CommentDelete.prototype.run=function(a){Blockly.Events.CommentCreateDeleteHelper(!a)};
+Blockly.Events.CommentMove=function(a){a&&(Blockly.Events.CommentMove.superClass_.constructor.call(this,a),this.comment_=a,this.oldCoordinate_=a.getXY(),this.newCoordinate_=null)};goog.inherits(Blockly.Events.CommentMove,Blockly.Events.CommentBase);Blockly.Events.CommentMove.prototype.recordNew=function(){if(!this.comment_)throw Error("Tried to record the new position of a comment on the same event twice.");this.newCoordinate_=this.comment_.getXY();this.comment_=null};
+Blockly.Events.CommentMove.prototype.type=Blockly.Events.COMMENT_MOVE;Blockly.Events.CommentMove.prototype.setOldCoordinate=function(a){this.oldCoordinate_=a};Blockly.Events.CommentMove.prototype.toJson=function(){var a=Blockly.Events.CommentMove.superClass_.toJson.call(this);this.newCoordinate_&&(a.newCoordinate=Math.round(this.newCoordinate_.x)+","+Math.round(this.newCoordinate_.y));return a};
+Blockly.Events.CommentMove.prototype.fromJson=function(a){Blockly.Events.CommentMove.superClass_.fromJson.call(this,a);a.newCoordinate&&(a=a.newCoordinate.split(","),this.newCoordinate_=new goog.math.Coordinate(parseFloat(a[0]),parseFloat(a[1])))};Blockly.Events.CommentMove.prototype.isNull=function(){return goog.math.Coordinate.equals(this.oldCoordinate_,this.newCoordinate_)};
+Blockly.Events.CommentMove.prototype.run=function(a){var b=this.getEventWorkspace_().getCommentById(this.commentId);if(b){a=a?this.newCoordinate_:this.oldCoordinate_;var c=b.getXY();b.moveBy(a.x-c.x,a.y-c.y)}else console.warn("Can't move non-existent comment: "+this.commentId)};Blockly.WorkspaceComment=function(a,b,c,d,e){this.id=e&&!a.getCommentById(e)?e:Blockly.utils.genUid();a.addTopComment(this);this.xy_=new goog.math.Coordinate(0,0);this.height_=c;this.width_=d;this.workspace=a;this.RTL=a.RTL;this.movable_=this.deletable_=!0;this.content_=b;this.isComment=!0;Blockly.WorkspaceComment.fireCreateEvent(this)};
+Blockly.WorkspaceComment.prototype.dispose=function(){this.workspace&&(Blockly.Events.isEnabled()&&Blockly.Events.fire(new Blockly.Events.CommentDelete(this)),this.workspace.removeTopComment(this),this.workspace=null)};Blockly.WorkspaceComment.prototype.getHeight=function(){return this.height_};Blockly.WorkspaceComment.prototype.setHeight=function(a){this.height_=a};Blockly.WorkspaceComment.prototype.getWidth=function(){return this.width_};
+Blockly.WorkspaceComment.prototype.setWidth=function(a){this.width_=a};Blockly.WorkspaceComment.prototype.getXY=function(){return this.xy_.clone()};Blockly.WorkspaceComment.prototype.moveBy=function(a,b){var c=new Blockly.Events.CommentMove(this);this.xy_.translate(a,b);c.recordNew();Blockly.Events.fire(c)};Blockly.WorkspaceComment.prototype.isDeletable=function(){return this.deletable_&&!(this.workspace&&this.workspace.options.readOnly)};
+Blockly.WorkspaceComment.prototype.setDeletable=function(a){this.deletable_=a};Blockly.WorkspaceComment.prototype.isMovable=function(){return this.movable_&&!(this.workspace&&this.workspace.options.readOnly)};Blockly.WorkspaceComment.prototype.setMovable=function(a){this.movable_=a};Blockly.WorkspaceComment.prototype.getContent=function(){return this.content_};
+Blockly.WorkspaceComment.prototype.setContent=function(a){this.content_!=a&&(Blockly.Events.fire(new Blockly.Events.CommentChange(this,this.content_,a)),this.content_=a)};Blockly.WorkspaceComment.prototype.toXmlWithXY=function(a){a=this.toXml(a);a.setAttribute("x",Math.round(this.xy_.x));a.setAttribute("y",Math.round(this.xy_.y));a.setAttribute("h",this.height_);a.setAttribute("w",this.width_);return a};
+Blockly.WorkspaceComment.prototype.toXml=function(a){var b=goog.dom.createDom("comment");a||b.setAttribute("id",this.id);b.textContent=this.getContent();return b};Blockly.WorkspaceComment.fireCreateEvent=function(a){if(Blockly.Events.isEnabled()){var b=Blockly.Events.getGroup();b||Blockly.Events.setGroup(!0);try{Blockly.Events.fire(new Blockly.Events.CommentCreate(a))}finally{b||Blockly.Events.setGroup(!1)}}};
+Blockly.WorkspaceComment.fromXml=function(a,b){var c=Blockly.WorkspaceComment.parseAttributes(a);c=new Blockly.WorkspaceComment(b,c.content,c.h,c.w,c.id);var d=parseInt(a.getAttribute("x"),10),e=parseInt(a.getAttribute("y"),10);isNaN(d)||isNaN(e)||c.moveBy(d,e);Blockly.WorkspaceComment.fireCreateEvent(c);return c};
+Blockly.WorkspaceComment.parseAttributes=function(a){var b=a.getAttribute("h"),c=a.getAttribute("w");return{id:a.getAttribute("id"),h:b?parseInt(b,10):100,w:c?parseInt(c,10):100,x:parseInt(a.getAttribute("x"),10),y:parseInt(a.getAttribute("y"),10),content:a.textContent}};Blockly.Workspace=function(a){this.id=Blockly.utils.genUid();Blockly.Workspace.WorkspaceDB_[this.id]=this;this.options=a||{};this.RTL=!!this.options.RTL;this.horizontalLayout=!!this.options.horizontalLayout;this.toolboxPosition=this.options.toolboxPosition;this.topBlocks_=[];this.topComments_=[];this.commentDB_=Object.create(null);this.listeners_=[];this.undoStack_=[];this.redoStack_=[];this.blockDB_=Object.create(null);this.variableMap_=new Blockly.VariableMap(this);this.potentialVariableMap_=null};
+Blockly.Workspace.prototype.rendered=!1;Blockly.Workspace.prototype.isClearing=!1;Blockly.Workspace.prototype.MAX_UNDO=1024;Blockly.Workspace.prototype.dispose=function(){this.listeners_.length=0;this.clear();delete Blockly.Workspace.WorkspaceDB_[this.id]};Blockly.Workspace.SCAN_ANGLE=3;Blockly.Workspace.prototype.addTopBlock=function(a){this.topBlocks_.push(a)};
+Blockly.Workspace.prototype.removeTopBlock=function(a){if(!Blockly.utils.arrayRemove(this.topBlocks_,a))throw Error("Block not present in workspace's list of top-most blocks.");};Blockly.Workspace.prototype.getTopBlocks=function(a){var b=[].concat(this.topBlocks_);if(a&&1<b.length){var c=Math.sin(Blockly.utils.toRadians(Blockly.Workspace.SCAN_ANGLE));this.RTL&&(c*=-1);b.sort(function(a,b){var d=a.getRelativeToSurfaceXY(),e=b.getRelativeToSurfaceXY();return d.y+c*d.x-(e.y+c*e.x)})}return b};
+Blockly.Workspace.prototype.addTopComment=function(a){this.topComments_.push(a);this.commentDB_[a.id]&&console.warn('Overriding an existing comment on this workspace, with id "'+a.id+'"');this.commentDB_[a.id]=a};Blockly.Workspace.prototype.removeTopComment=function(a){if(!Blockly.utils.arrayRemove(this.topComments_,a))throw Error("Comment not present in workspace's list of top-most comments.");delete this.commentDB_[a.id]};
+Blockly.Workspace.prototype.getTopComments=function(a){var b=[].concat(this.topComments_);if(a&&1<b.length){var c=Math.sin(Blockly.utils.toRadians(Blockly.Workspace.SCAN_ANGLE));this.RTL&&(c*=-1);b.sort(function(a,b){var d=a.getRelativeToSurfaceXY(),e=b.getRelativeToSurfaceXY();return d.y+c*d.x-(e.y+c*e.x)})}return b};
+Blockly.Workspace.prototype.getAllBlocks=function(a){if(a){a=this.getTopBlocks(!0);for(var b=[],c=0;c<a.length;c++)b.push.apply(b,a[c].getDescendants(!0))}else for(b=this.getTopBlocks(!1),c=0;c<b.length;c++)b.push.apply(b,b[c].getChildren(!1));return b};
+Blockly.Workspace.prototype.clear=function(){this.isClearing=!0;try{var a=Blockly.Events.getGroup();for(a||Blockly.Events.setGroup(!0);this.topBlocks_.length;)this.topBlocks_[0].dispose();for(;this.topComments_.length;)this.topComments_[this.topComments_.length-1].dispose();a||Blockly.Events.setGroup(!1);this.variableMap_.clear();this.potentialVariableMap_&&this.potentialVariableMap_.clear()}finally{this.isClearing=!1}};
+Blockly.Workspace.prototype.renameVariableById=function(a,b){this.variableMap_.renameVariableById(a,b)};Blockly.Workspace.prototype.createVariable=function(a,b,c){return this.variableMap_.createVariable(a,b,c)};Blockly.Workspace.prototype.getVariableUsesById=function(a){return this.variableMap_.getVariableUsesById(a)};Blockly.Workspace.prototype.deleteVariableById=function(a){this.variableMap_.deleteVariableById(a)};
+Blockly.Workspace.prototype.deleteVariableInternal_=function(a,b){this.variableMap_.deleteVariableInternal_(a,b)};Blockly.Workspace.prototype.variableIndexOf=function(a){console.warn("Deprecated call to Blockly.Workspace.prototype.variableIndexOf");return-1};Blockly.Workspace.prototype.getVariable=function(a,b){return this.variableMap_.getVariable(a,b)};Blockly.Workspace.prototype.getVariableById=function(a){return this.variableMap_.getVariableById(a)};
+Blockly.Workspace.prototype.getVariablesOfType=function(a){return this.variableMap_.getVariablesOfType(a)};Blockly.Workspace.prototype.getVariableTypes=function(){return this.variableMap_.getVariableTypes()};Blockly.Workspace.prototype.getAllVariables=function(){return this.variableMap_.getAllVariables()};Blockly.Workspace.prototype.getWidth=function(){return 0};Blockly.Workspace.prototype.newBlock=function(a,b){return new Blockly.Block(this,a,b)};
+Blockly.Workspace.prototype.remainingCapacity=function(){return isNaN(this.options.maxBlocks)?Infinity:this.options.maxBlocks-this.getAllBlocks().length};
+Blockly.Workspace.prototype.undo=function(a){var b=a?this.redoStack_:this.undoStack_,c=a?this.undoStack_:this.redoStack_,d=b.pop();if(d){for(var e=[d];b.length&&d.group&&d.group==b[b.length-1].group;)e.push(b.pop());for(b=0;d=e[b];b++)c.push(d);e=Blockly.Events.filter(e,a);Blockly.Events.recordUndo=!1;try{for(b=0;d=e[b];b++)d.run(a)}finally{Blockly.Events.recordUndo=!0}}};Blockly.Workspace.prototype.clearUndo=function(){this.undoStack_.length=0;this.redoStack_.length=0;Blockly.Events.clearPendingUndo()};
+Blockly.Workspace.prototype.addChangeListener=function(a){this.listeners_.push(a);return a};Blockly.Workspace.prototype.removeChangeListener=function(a){Blockly.utils.arrayRemove(this.listeners_,a)};Blockly.Workspace.prototype.fireChangeListener=function(a){a.recordUndo&&(this.undoStack_.push(a),this.redoStack_.length=0,this.undoStack_.length>this.MAX_UNDO&&this.undoStack_.unshift());for(var b=0,c;c=this.listeners_[b];b++)c(a)};
+Blockly.Workspace.prototype.getBlockById=function(a){return this.blockDB_[a]||null};Blockly.Workspace.prototype.getCommentById=function(a){return this.commentDB_[a]||null};Blockly.Workspace.prototype.allInputsFilled=function(a){for(var b=this.getTopBlocks(!1),c=0,d;d=b[c];c++)if(!d.allInputsFilled(a))return!1;return!0};Blockly.Workspace.prototype.getPotentialVariableMap=function(){return this.potentialVariableMap_};
+Blockly.Workspace.prototype.createPotentialVariableMap=function(){this.potentialVariableMap_=new Blockly.VariableMap(this)};Blockly.Workspace.prototype.getVariableMap=function(){return this.variableMap_};Blockly.Workspace.WorkspaceDB_=Object.create(null);Blockly.Workspace.getById=function(a){return Blockly.Workspace.WorkspaceDB_[a]||null};Blockly.Workspace.prototype.clear=Blockly.Workspace.prototype.clear;Blockly.Workspace.prototype.clearUndo=Blockly.Workspace.prototype.clearUndo;
+Blockly.Workspace.prototype.addChangeListener=Blockly.Workspace.prototype.addChangeListener;Blockly.Workspace.prototype.removeChangeListener=Blockly.Workspace.prototype.removeChangeListener;Blockly.Bubble=function(a,b,c,d,e,f){this.workspace_=a;this.content_=b;this.shape_=c;c=Blockly.Bubble.ARROW_ANGLE;this.workspace_.RTL&&(c=-c);this.arrow_radians_=Blockly.utils.toRadians(c);a.getBubbleCanvas().appendChild(this.createDom_(b,!(!e||!f)));this.setAnchorLocation(d);e&&f||(b=this.content_.getBBox(),e=b.width+2*Blockly.Bubble.BORDER_WIDTH,f=b.height+2*Blockly.Bubble.BORDER_WIDTH);this.setBubbleSize(e,f);this.positionBubble_();this.renderArrow_();this.rendered_=!0;a.options.readOnly||(Blockly.bindEventWithChecks_(this.bubbleBack_,
+"mousedown",this,this.bubbleMouseDown_),this.resizeGroup_&&Blockly.bindEventWithChecks_(this.resizeGroup_,"mousedown",this,this.resizeMouseDown_))};Blockly.Bubble.BORDER_WIDTH=6;Blockly.Bubble.ARROW_THICKNESS=5;Blockly.Bubble.ARROW_ANGLE=20;Blockly.Bubble.ARROW_BEND=4;Blockly.Bubble.ANCHOR_RADIUS=8;Blockly.Bubble.onMouseUpWrapper_=null;Blockly.Bubble.onMouseMoveWrapper_=null;Blockly.Bubble.prototype.resizeCallback_=null;
+Blockly.Bubble.unbindDragEvents_=function(){Blockly.Bubble.onMouseUpWrapper_&&(Blockly.unbindEvent_(Blockly.Bubble.onMouseUpWrapper_),Blockly.Bubble.onMouseUpWrapper_=null);Blockly.Bubble.onMouseMoveWrapper_&&(Blockly.unbindEvent_(Blockly.Bubble.onMouseMoveWrapper_),Blockly.Bubble.onMouseMoveWrapper_=null)};Blockly.Bubble.bubbleMouseUp_=function(){Blockly.Touch.clearTouchIdentifier();Blockly.Bubble.unbindDragEvents_()};Blockly.Bubble.prototype.rendered_=!1;Blockly.Bubble.prototype.anchorXY_=null;
+Blockly.Bubble.prototype.relativeLeft_=0;Blockly.Bubble.prototype.relativeTop_=0;Blockly.Bubble.prototype.width_=0;Blockly.Bubble.prototype.height_=0;Blockly.Bubble.prototype.autoLayout_=!0;
+Blockly.Bubble.prototype.createDom_=function(a,b){this.bubbleGroup_=Blockly.utils.createSvgElement("g",{},null);var c={filter:"url(#"+this.workspace_.options.embossFilterId+")"};-1!=goog.userAgent.getUserAgentString().indexOf("JavaFX")&&(c={});c=Blockly.utils.createSvgElement("g",c,this.bubbleGroup_);this.bubbleArrow_=Blockly.utils.createSvgElement("path",{},c);this.bubbleBack_=Blockly.utils.createSvgElement("rect",{"class":"blocklyDraggable",x:0,y:0,rx:Blockly.Bubble.BORDER_WIDTH,ry:Blockly.Bubble.BORDER_WIDTH},
+c);b?(this.resizeGroup_=Blockly.utils.createSvgElement("g",{"class":this.workspace_.RTL?"blocklyResizeSW":"blocklyResizeSE"},this.bubbleGroup_),c=2*Blockly.Bubble.BORDER_WIDTH,Blockly.utils.createSvgElement("polygon",{points:"0,x x,x x,0".replace(/x/g,c.toString())},this.resizeGroup_),Blockly.utils.createSvgElement("line",{"class":"blocklyResizeLine",x1:c/3,y1:c-1,x2:c-1,y2:c/3},this.resizeGroup_),Blockly.utils.createSvgElement("line",{"class":"blocklyResizeLine",x1:2*c/3,y1:c-1,x2:c-1,y2:2*c/3},
+this.resizeGroup_)):this.resizeGroup_=null;this.bubbleGroup_.appendChild(a);return this.bubbleGroup_};Blockly.Bubble.prototype.getSvgRoot=function(){return this.bubbleGroup_};Blockly.Bubble.prototype.setSvgId=function(a){this.bubbleGroup_.dataset&&(this.bubbleGroup_.dataset.blockId=a)};Blockly.Bubble.prototype.bubbleMouseDown_=function(a){var b=this.workspace_.getGesture(a);b&&b.handleBubbleStart(a,this)};Blockly.Bubble.prototype.showContextMenu_=function(a){};
+Blockly.Bubble.prototype.isDeletable=function(){return!1};
+Blockly.Bubble.prototype.resizeMouseDown_=function(a){this.promote_();Blockly.Bubble.unbindDragEvents_();Blockly.utils.isRightButton(a)||(this.workspace_.startDrag(a,new goog.math.Coordinate(this.workspace_.RTL?-this.width_:this.width_,this.height_)),Blockly.Bubble.onMouseUpWrapper_=Blockly.bindEventWithChecks_(document,"mouseup",this,Blockly.Bubble.bubbleMouseUp_),Blockly.Bubble.onMouseMoveWrapper_=Blockly.bindEventWithChecks_(document,"mousemove",this,this.resizeMouseMove_),Blockly.hideChaff());
+a.stopPropagation()};Blockly.Bubble.prototype.resizeMouseMove_=function(a){this.autoLayout_=!1;a=this.workspace_.moveDrag(a);this.setBubbleSize(this.workspace_.RTL?-a.x:a.x,a.y);this.workspace_.RTL&&this.positionBubble_()};Blockly.Bubble.prototype.registerResizeEvent=function(a){this.resizeCallback_=a};Blockly.Bubble.prototype.promote_=function(){var a=this.bubbleGroup_.parentNode;return a.lastChild!==this.bubbleGroup_?(a.appendChild(this.bubbleGroup_),!0):!1};
+Blockly.Bubble.prototype.setAnchorLocation=function(a){this.anchorXY_=a;this.rendered_&&this.positionBubble_()};
+Blockly.Bubble.prototype.layoutBubble_=function(){var a=-this.width_/4,b=-this.height_-Blockly.BlockSvg.MIN_BLOCK_Y,c=this.workspace_.getMetrics();c.viewWidth/=this.workspace_.scale;c.viewLeft/=this.workspace_.scale;var d=this.anchorXY_.x;this.workspace_.RTL?d-c.viewLeft-a-this.width_<Blockly.Scrollbar.scrollbarThickness?a=d-c.viewLeft-this.width_-Blockly.Scrollbar.scrollbarThickness:d-c.viewLeft-a>c.viewWidth&&(a=d-c.viewLeft-c.viewWidth):d+a<c.viewLeft?a=c.viewLeft-d:c.viewLeft+c.viewWidth<d+a+
+this.width_+Blockly.BlockSvg.SEP_SPACE_X+Blockly.Scrollbar.scrollbarThickness&&(a=c.viewLeft+c.viewWidth-d-this.width_-Blockly.Scrollbar.scrollbarThickness);this.anchorXY_.y+b<c.viewTop&&(b=this.shape_.getBBox().height);this.relativeLeft_=a;this.relativeTop_=b};Blockly.Bubble.prototype.positionBubble_=function(){var a=this.anchorXY_.x;a=this.workspace_.RTL?a-(this.relativeLeft_+this.width_):a+this.relativeLeft_;this.moveTo(a,this.relativeTop_+this.anchorXY_.y)};
+Blockly.Bubble.prototype.moveTo=function(a,b){this.bubbleGroup_.setAttribute("transform","translate("+a+","+b+")")};Blockly.Bubble.prototype.getBubbleSize=function(){return{width:this.width_,height:this.height_}};
+Blockly.Bubble.prototype.setBubbleSize=function(a,b){var c=2*Blockly.Bubble.BORDER_WIDTH;a=Math.max(a,c+45);b=Math.max(b,c+20);this.width_=a;this.height_=b;this.bubbleBack_.setAttribute("width",a);this.bubbleBack_.setAttribute("height",b);this.resizeGroup_&&(this.workspace_.RTL?this.resizeGroup_.setAttribute("transform","translate("+2*Blockly.Bubble.BORDER_WIDTH+","+(b-c)+") scale(-1 1)"):this.resizeGroup_.setAttribute("transform","translate("+(a-c)+","+(b-c)+")"));this.rendered_&&(this.autoLayout_&&
+this.layoutBubble_(),this.positionBubble_(),this.renderArrow_());this.resizeCallback_&&this.resizeCallback_()};
+Blockly.Bubble.prototype.renderArrow_=function(){var a=[],b=this.width_/2,c=this.height_/2,d=-this.relativeLeft_,e=-this.relativeTop_;if(b==d&&c==e)a.push("M "+b+","+c);else{e-=c;d-=b;this.workspace_.RTL&&(d*=-1);var f=Math.sqrt(e*e+d*d),g=Math.acos(d/f);0>e&&(g=2*Math.PI-g);var h=g+Math.PI/2;h>2*Math.PI&&(h-=2*Math.PI);var k=Math.sin(h),l=Math.cos(h),n=this.getBubbleSize();h=(n.width+n.height)/Blockly.Bubble.ARROW_THICKNESS;h=Math.min(h,n.width,n.height)/4;n=1-Blockly.Bubble.ANCHOR_RADIUS/f;d=b+
+n*d;e=c+n*e;n=b+h*l;var m=c+h*k;b-=h*l;c-=h*k;k=g+this.arrow_radians_;k>2*Math.PI&&(k-=2*Math.PI);g=Math.sin(k)*f/Blockly.Bubble.ARROW_BEND;f=Math.cos(k)*f/Blockly.Bubble.ARROW_BEND;a.push("M"+n+","+m);a.push("C"+(n+f)+","+(m+g)+" "+d+","+e+" "+d+","+e);a.push("C"+d+","+e+" "+(b+f)+","+(c+g)+" "+b+","+c)}a.push("z");this.bubbleArrow_.setAttribute("d",a.join(" "))};Blockly.Bubble.prototype.setColour=function(a){this.bubbleBack_.setAttribute("fill",a);this.bubbleArrow_.setAttribute("fill",a)};
+Blockly.Bubble.prototype.dispose=function(){Blockly.Bubble.unbindDragEvents_();Blockly.utils.removeNode(this.bubbleGroup_);this.shape_=this.content_=this.workspace_=this.resizeGroup_=this.bubbleBack_=this.bubbleArrow_=this.bubbleGroup_=null};Blockly.Bubble.prototype.moveDuringDrag=function(a,b){a?a.translateSurface(b.x,b.y):this.moveTo(b.x,b.y);this.relativeLeft_=this.workspace_.RTL?this.anchorXY_.x-b.x-this.width_:b.x-this.anchorXY_.x;this.relativeTop_=b.y-this.anchorXY_.y;this.renderArrow_()};
+Blockly.Bubble.prototype.getRelativeToSurfaceXY=function(){return new goog.math.Coordinate(this.anchorXY_.x+this.relativeLeft_,this.anchorXY_.y+this.relativeTop_)};Blockly.Bubble.prototype.setAutoLayout=function(a){this.autoLayout_=a};Blockly.Events.BlockBase=function(a){Blockly.Events.BlockBase.superClass_.constructor.call(this);this.blockId=a.id;this.workspaceId=a.workspace.id};goog.inherits(Blockly.Events.BlockBase,Blockly.Events.Abstract);Blockly.Events.BlockBase.prototype.toJson=function(){var a=Blockly.Events.BlockBase.superClass_.toJson.call(this);a.blockId=this.blockId;return a};Blockly.Events.BlockBase.prototype.fromJson=function(a){Blockly.Events.BlockBase.superClass_.toJson.call(this);this.blockId=a.blockId};
+Blockly.Events.Change=function(a,b,c,d,e){a&&(Blockly.Events.Change.superClass_.constructor.call(this,a),this.element=b,this.name=c,this.oldValue=d,this.newValue=e)};goog.inherits(Blockly.Events.Change,Blockly.Events.BlockBase);Blockly.Events.BlockChange=Blockly.Events.Change;Blockly.Events.Change.prototype.type=Blockly.Events.CHANGE;
+Blockly.Events.Change.prototype.toJson=function(){var a=Blockly.Events.Change.superClass_.toJson.call(this);a.element=this.element;this.name&&(a.name=this.name);a.newValue=this.newValue;return a};Blockly.Events.Change.prototype.fromJson=function(a){Blockly.Events.Change.superClass_.fromJson.call(this,a);this.element=a.element;this.name=a.name;this.newValue=a.newValue};Blockly.Events.Change.prototype.isNull=function(){return this.oldValue==this.newValue};
+Blockly.Events.Change.prototype.run=function(a){var b=this.getEventWorkspace_().getBlockById(this.blockId);if(b)switch(b.mutator&&b.mutator.setVisible(!1),a=a?this.newValue:this.oldValue,this.element){case "field":(b=b.getField(this.name))?(b.callValidator(a),b.setValue(a)):console.warn("Can't set non-existent field: "+this.name);break;case "comment":b.setCommentText(a||null);break;case "collapsed":b.setCollapsed(a);break;case "disabled":b.setDisabled(a);break;case "inline":b.setInputsInline(a);break;
+case "mutation":var c="";b.mutationToDom&&(c=(c=b.mutationToDom())&&Blockly.Xml.domToText(c));if(b.domToMutation){a=a||"<mutation></mutation>";var d=Blockly.Xml.textToDom("<xml>"+a+"</xml>");b.domToMutation(d.firstChild)}Blockly.Events.fire(new Blockly.Events.Change(b,"mutation",null,c,a));break;default:console.warn("Unknown change type: "+this.element)}else console.warn("Can't change non-existent block: "+this.blockId)};
+Blockly.Events.Create=function(a){a&&(Blockly.Events.Create.superClass_.constructor.call(this,a),this.xml=a.workspace.rendered?Blockly.Xml.blockToDomWithXY(a):Blockly.Xml.blockToDom(a),this.ids=Blockly.Events.getDescendantIds_(a))};goog.inherits(Blockly.Events.Create,Blockly.Events.BlockBase);Blockly.Events.BlockCreate=Blockly.Events.Create;Blockly.Events.Create.prototype.type=Blockly.Events.CREATE;
+Blockly.Events.Create.prototype.toJson=function(){var a=Blockly.Events.Create.superClass_.toJson.call(this);a.xml=Blockly.Xml.domToText(this.xml);a.ids=this.ids;return a};Blockly.Events.Create.prototype.fromJson=function(a){Blockly.Events.Create.superClass_.fromJson.call(this,a);this.xml=Blockly.Xml.textToDom("<xml>"+a.xml+"</xml>").firstChild;this.ids=a.ids};
+Blockly.Events.Create.prototype.run=function(a){var b=this.getEventWorkspace_();if(a)a=goog.dom.createDom("xml"),a.appendChild(this.xml),Blockly.Xml.domToWorkspace(a,b);else{a=0;for(var c;c=this.ids[a];a++){var d=b.getBlockById(c);d?d.dispose(!1,!1):c==this.blockId&&console.warn("Can't uncreate non-existent block: "+c)}}};
+Blockly.Events.Delete=function(a){if(a){if(a.getParent())throw Error("Connected blocks cannot be deleted.");Blockly.Events.Delete.superClass_.constructor.call(this,a);this.oldXml=a.workspace.rendered?Blockly.Xml.blockToDomWithXY(a):Blockly.Xml.blockToDom(a);this.ids=Blockly.Events.getDescendantIds_(a)}};goog.inherits(Blockly.Events.Delete,Blockly.Events.BlockBase);Blockly.Events.BlockDelete=Blockly.Events.Delete;Blockly.Events.Delete.prototype.type=Blockly.Events.DELETE;
+Blockly.Events.Delete.prototype.toJson=function(){var a=Blockly.Events.Delete.superClass_.toJson.call(this);a.ids=this.ids;return a};Blockly.Events.Delete.prototype.fromJson=function(a){Blockly.Events.Delete.superClass_.fromJson.call(this,a);this.ids=a.ids};
+Blockly.Events.Delete.prototype.run=function(a){var b=this.getEventWorkspace_();if(a){a=0;for(var c;c=this.ids[a];a++){var d=b.getBlockById(c);d?d.dispose(!1,!1):c==this.blockId&&console.warn("Can't delete non-existent block: "+c)}}else a=goog.dom.createDom("xml"),a.appendChild(this.oldXml),Blockly.Xml.domToWorkspace(a,b)};
+Blockly.Events.Move=function(a){a&&(Blockly.Events.Move.superClass_.constructor.call(this,a),a=this.currentLocation_(),this.oldParentId=a.parentId,this.oldInputName=a.inputName,this.oldCoordinate=a.coordinate)};goog.inherits(Blockly.Events.Move,Blockly.Events.BlockBase);Blockly.Events.BlockMove=Blockly.Events.Move;Blockly.Events.Move.prototype.type=Blockly.Events.MOVE;
+Blockly.Events.Move.prototype.toJson=function(){var a=Blockly.Events.Move.superClass_.toJson.call(this);this.newParentId&&(a.newParentId=this.newParentId);this.newInputName&&(a.newInputName=this.newInputName);this.newCoordinate&&(a.newCoordinate=Math.round(this.newCoordinate.x)+","+Math.round(this.newCoordinate.y));return a};
+Blockly.Events.Move.prototype.fromJson=function(a){Blockly.Events.Move.superClass_.fromJson.call(this,a);this.newParentId=a.newParentId;this.newInputName=a.newInputName;a.newCoordinate&&(a=a.newCoordinate.split(","),this.newCoordinate=new goog.math.Coordinate(parseFloat(a[0]),parseFloat(a[1])))};Blockly.Events.Move.prototype.recordNew=function(){var a=this.currentLocation_();this.newParentId=a.parentId;this.newInputName=a.inputName;this.newCoordinate=a.coordinate};
+Blockly.Events.Move.prototype.currentLocation_=function(){var a=Blockly.Workspace.getById(this.workspaceId).getBlockById(this.blockId),b={},c=a.getParent();if(c){if(b.parentId=c.id,a=c.getInputWithBlock(a))b.inputName=a.name}else b.coordinate=a.getRelativeToSurfaceXY();return b};Blockly.Events.Move.prototype.isNull=function(){return this.oldParentId==this.newParentId&&this.oldInputName==this.newInputName&&goog.math.Coordinate.equals(this.oldCoordinate,this.newCoordinate)};
+Blockly.Events.Move.prototype.run=function(a){var b=this.getEventWorkspace_(),c=b.getBlockById(this.blockId);if(c){var d=a?this.newParentId:this.oldParentId,e=a?this.newInputName:this.oldInputName;a=a?this.newCoordinate:this.oldCoordinate;var f=null;if(d&&(f=b.getBlockById(d),!f)){console.warn("Can't connect to non-existent block: "+d);return}c.getParent()&&c.unplug();if(a)e=c.getRelativeToSurfaceXY(),c.moveBy(a.x-e.x,a.y-e.y);else{c=c.outputConnection||c.previousConnection;if(e){if(b=f.getInput(e))var g=
+b.connection}else c.type==Blockly.PREVIOUS_STATEMENT&&(g=f.nextConnection);g?c.connect(g):console.warn("Can't connect to non-existent input: "+e)}}else console.warn("Can't move non-existent block: "+this.blockId)};Blockly.Events.Ui=function(a,b,c,d){Blockly.Events.Ui.superClass_.constructor.call(this);this.blockId=a?a.id:null;this.workspaceId=a?a.workspace.id:null;this.element=b;this.oldValue=c;this.newValue=d;this.recordUndo=!1};goog.inherits(Blockly.Events.Ui,Blockly.Events.Abstract);Blockly.Events.Ui.prototype.type=Blockly.Events.UI;
+Blockly.Events.Ui.prototype.toJson=function(){var a=Blockly.Events.Ui.superClass_.toJson.call(this);a.element=this.element;void 0!==this.newValue&&(a.newValue=this.newValue);this.blockId&&(a.blockId=this.blockId);return a};Blockly.Events.Ui.prototype.fromJson=function(a){Blockly.Events.Ui.superClass_.fromJson.call(this,a);this.element=a.element;this.newValue=a.newValue;this.blockId=a.blockId};Blockly.Icon=function(a){this.block_=a};Blockly.Icon.prototype.collapseHidden=!0;Blockly.Icon.prototype.SIZE=17;Blockly.Icon.prototype.bubble_=null;Blockly.Icon.prototype.iconXY_=null;
+Blockly.Icon.prototype.createIcon=function(){this.iconGroup_||(this.iconGroup_=Blockly.utils.createSvgElement("g",{"class":"blocklyIconGroup"},null),this.block_.isInFlyout&&Blockly.utils.addClass(this.iconGroup_,"blocklyIconGroupReadonly"),this.drawIcon_(this.iconGroup_),this.block_.getSvgRoot().appendChild(this.iconGroup_),Blockly.bindEventWithChecks_(this.iconGroup_,"mouseup",this,this.iconClick_),this.updateEditable())};
+Blockly.Icon.prototype.dispose=function(){Blockly.utils.removeNode(this.iconGroup_);this.iconGroup_=null;this.setVisible(!1);this.block_=null};Blockly.Icon.prototype.updateEditable=function(){};Blockly.Icon.prototype.isVisible=function(){return!!this.bubble_};Blockly.Icon.prototype.iconClick_=function(a){this.block_.workspace.isDragging()||this.block_.isInFlyout||Blockly.utils.isRightButton(a)||this.setVisible(!this.isVisible())};Blockly.Icon.prototype.updateColour=function(){this.isVisible()&&this.bubble_.setColour(this.block_.getColour())};
+Blockly.Icon.prototype.renderIcon=function(a){if(this.collapseHidden&&this.block_.isCollapsed())return this.iconGroup_.setAttribute("display","none"),a;this.iconGroup_.setAttribute("display","block");var b=this.SIZE;this.block_.RTL&&(a-=b);this.iconGroup_.setAttribute("transform","translate("+a+",5)");this.computeIconLocation();return a=this.block_.RTL?a-Blockly.BlockSvg.SEP_SPACE_X:a+(b+Blockly.BlockSvg.SEP_SPACE_X)};
+Blockly.Icon.prototype.setIconLocation=function(a){this.iconXY_=a;this.isVisible()&&this.bubble_.setAnchorLocation(a)};Blockly.Icon.prototype.computeIconLocation=function(){var a=this.block_.getRelativeToSurfaceXY(),b=Blockly.utils.getRelativeXY(this.iconGroup_);a=new goog.math.Coordinate(a.x+b.x+this.SIZE/2,a.y+b.y+this.SIZE/2);goog.math.Coordinate.equals(this.getIconLocation(),a)||this.setIconLocation(a)};Blockly.Icon.prototype.getIconLocation=function(){return this.iconXY_};
+Blockly.Comment=function(a){Blockly.Comment.superClass_.constructor.call(this,a);this.createIcon()};goog.inherits(Blockly.Comment,Blockly.Icon);Blockly.Comment.prototype.text_="";Blockly.Comment.prototype.width_=160;Blockly.Comment.prototype.height_=80;
+Blockly.Comment.prototype.drawIcon_=function(a){Blockly.utils.createSvgElement("circle",{"class":"blocklyIconShape",r:"8",cx:"8",cy:"8"},a);Blockly.utils.createSvgElement("path",{"class":"blocklyIconSymbol",d:"m6.8,10h2c0.003,-0.617 0.271,-0.962 0.633,-1.266 2.875,-2.4050.607,-5.534 -3.765,-3.874v1.7c3.12,-1.657 3.698,0.118 2.336,1.25-1.201,0.998 -1.201,1.528 -1.204,2.19z"},a);Blockly.utils.createSvgElement("rect",{"class":"blocklyIconSymbol",x:"6.8",y:"10.78",height:"2",width:"2"},a)};
+Blockly.Comment.prototype.createEditor_=function(){this.foreignObject_=Blockly.utils.createSvgElement("foreignObject",{x:Blockly.Bubble.BORDER_WIDTH,y:Blockly.Bubble.BORDER_WIDTH},null);var a=document.createElementNS(Blockly.HTML_NS,"body");a.setAttribute("xmlns",Blockly.HTML_NS);a.className="blocklyMinimalBody";var b=document.createElementNS(Blockly.HTML_NS,"textarea");b.className="blocklyCommentTextarea";b.setAttribute("dir",this.block_.RTL?"RTL":"LTR");a.appendChild(b);this.textarea_=b;this.foreignObject_.appendChild(a);
+Blockly.bindEventWithChecks_(b,"mouseup",this,this.textareaFocus_,!0,!0);Blockly.bindEventWithChecks_(b,"wheel",this,function(a){a.stopPropagation()});Blockly.bindEventWithChecks_(b,"change",this,function(a){this.text_!=b.value&&(Blockly.Events.fire(new Blockly.Events.BlockChange(this.block_,"comment",null,this.text_,b.value)),this.text_=b.value)});setTimeout(function(){b.focus()},0);return this.foreignObject_};
+Blockly.Comment.prototype.updateEditable=function(){this.isVisible()&&(this.setVisible(!1),this.setVisible(!0));Blockly.Icon.prototype.updateEditable.call(this)};Blockly.Comment.prototype.resizeBubble_=function(){if(this.isVisible()){var a=this.bubble_.getBubbleSize(),b=2*Blockly.Bubble.BORDER_WIDTH;this.foreignObject_.setAttribute("width",a.width-b);this.foreignObject_.setAttribute("height",a.height-b);this.textarea_.style.width=a.width-b-4+"px";this.textarea_.style.height=a.height-b-4+"px"}};
+Blockly.Comment.prototype.setVisible=function(a){if(a!=this.isVisible())if(Blockly.Events.fire(new Blockly.Events.Ui(this.block_,"commentOpen",!a,a)),!this.block_.isEditable()&&!this.textarea_||goog.userAgent.IE)Blockly.Warning.prototype.setVisible.call(this,a);else{var b=this.getText(),c=this.getBubbleSize();a?(this.bubble_=new Blockly.Bubble(this.block_.workspace,this.createEditor_(),this.block_.svgPath_,this.iconXY_,this.width_,this.height_),this.bubble_.setSvgId(this.block_.id),this.bubble_.registerResizeEvent(this.resizeBubble_.bind(this)),
+this.updateColour()):(this.bubble_.dispose(),this.foreignObject_=this.textarea_=this.bubble_=null);this.setText(b);this.setBubbleSize(c.width,c.height)}};Blockly.Comment.prototype.textareaFocus_=function(a){this.bubble_.promote_()&&this.textarea_.focus()};Blockly.Comment.prototype.getBubbleSize=function(){return this.isVisible()?this.bubble_.getBubbleSize():{width:this.width_,height:this.height_}};
+Blockly.Comment.prototype.setBubbleSize=function(a,b){this.textarea_?this.bubble_.setBubbleSize(a,b):(this.width_=a,this.height_=b)};Blockly.Comment.prototype.getText=function(){return this.textarea_?this.textarea_.value:this.text_};Blockly.Comment.prototype.setText=function(a){this.text_!=a&&(Blockly.Events.fire(new Blockly.Events.BlockChange(this.block_,"comment",null,this.text_,a)),this.text_=a);this.textarea_&&(this.textarea_.value=a)};
+Blockly.Comment.prototype.dispose=function(){Blockly.Events.isEnabled()&&this.setText("");this.block_.comment=null;Blockly.Icon.prototype.dispose.call(this)};Blockly.Connection=function(a,b){this.sourceBlock_=a;this.type=b;a.workspace.connectionDBList&&(this.db_=a.workspace.connectionDBList[b],this.dbOpposite_=a.workspace.connectionDBList[Blockly.OPPOSITE_TYPE[b]],this.hidden_=!this.db_)};Blockly.Connection.CAN_CONNECT=0;Blockly.Connection.REASON_SELF_CONNECTION=1;Blockly.Connection.REASON_WRONG_TYPE=2;Blockly.Connection.REASON_TARGET_NULL=3;Blockly.Connection.REASON_CHECKS_FAILED=4;Blockly.Connection.REASON_DIFFERENT_WORKSPACES=5;
+Blockly.Connection.REASON_SHADOW_PARENT=6;Blockly.Connection.prototype.targetConnection=null;Blockly.Connection.prototype.check_=null;Blockly.Connection.prototype.shadowDom_=null;Blockly.Connection.prototype.x_=0;Blockly.Connection.prototype.y_=0;Blockly.Connection.prototype.inDB_=!1;Blockly.Connection.prototype.db_=null;Blockly.Connection.prototype.dbOpposite_=null;Blockly.Connection.prototype.hidden_=null;
+Blockly.Connection.prototype.connect_=function(a){var b=this,c=b.getSourceBlock(),d=a.getSourceBlock();a.isConnected()&&a.disconnect();if(b.isConnected()){var e=b.targetBlock(),f=b.getShadowDom();b.setShadowDom(null);if(e.isShadow())f=Blockly.Xml.blockToDom(e),e.dispose(),e=null;else if(b.type==Blockly.INPUT_VALUE){if(!e.outputConnection)throw Error("Orphan block does not have an output connection.");var g=Blockly.Connection.lastConnectionInRow_(d,e);g&&(e.outputConnection.connect(g),e=null)}else if(b.type==
+Blockly.NEXT_STATEMENT){if(!e.previousConnection)throw Error("Orphan block does not have a previous connection.");for(g=d;g.nextConnection;){var h=g.getNextBlock();if(h&&!h.isShadow())g=h;else{e.previousConnection.checkType_(g.nextConnection)&&(g.nextConnection.connect(e.previousConnection),e=null);break}}}if(e&&(b.disconnect(),Blockly.Events.recordUndo)){var k=Blockly.Events.getGroup();setTimeout(function(){e.workspace&&!e.getParent()&&(Blockly.Events.setGroup(k),e.outputConnection?e.outputConnection.bumpAwayFrom_(b):
+e.previousConnection&&e.previousConnection.bumpAwayFrom_(b),Blockly.Events.setGroup(!1))},Blockly.BUMP_DELAY)}b.setShadowDom(f)}var l;Blockly.Events.isEnabled()&&(l=new Blockly.Events.BlockMove(d));Blockly.Connection.connectReciprocally_(b,a);d.setParent(c);l&&(l.recordNew(),Blockly.Events.fire(l))};
+Blockly.Connection.prototype.dispose=function(){if(this.isConnected())throw Error("Disconnect connection before disposing of it.");this.inDB_&&this.db_.removeConnection_(this);this.dbOpposite_=this.db_=null};Blockly.Connection.prototype.getSourceBlock=function(){return this.sourceBlock_};Blockly.Connection.prototype.isSuperior=function(){return this.type==Blockly.INPUT_VALUE||this.type==Blockly.NEXT_STATEMENT};Blockly.Connection.prototype.isConnected=function(){return!!this.targetConnection};
+Blockly.Connection.prototype.canConnectWithReason_=function(a){if(!a)return Blockly.Connection.REASON_TARGET_NULL;if(this.isSuperior())var b=this.sourceBlock_,c=a.getSourceBlock();else c=this.sourceBlock_,b=a.getSourceBlock();return b&&b==c?Blockly.Connection.REASON_SELF_CONNECTION:a.type!=Blockly.OPPOSITE_TYPE[this.type]?Blockly.Connection.REASON_WRONG_TYPE:b&&c&&b.workspace!==c.workspace?Blockly.Connection.REASON_DIFFERENT_WORKSPACES:this.checkType_(a)?b.isShadow()&&!c.isShadow()?Blockly.Connection.REASON_SHADOW_PARENT:
+Blockly.Connection.CAN_CONNECT:Blockly.Connection.REASON_CHECKS_FAILED};
+Blockly.Connection.prototype.checkConnection_=function(a){switch(this.canConnectWithReason_(a)){case Blockly.Connection.CAN_CONNECT:break;case Blockly.Connection.REASON_SELF_CONNECTION:throw Error("Attempted to connect a block to itself.");case Blockly.Connection.REASON_DIFFERENT_WORKSPACES:throw Error("Blocks not on same workspace.");case Blockly.Connection.REASON_WRONG_TYPE:throw Error("Attempt to connect incompatible types.");case Blockly.Connection.REASON_TARGET_NULL:throw Error("Target connection is null.");
+case Blockly.Connection.REASON_CHECKS_FAILED:throw Error("Connection checks failed. "+(this+" expected "+this.check_+", found "+a.check_));case Blockly.Connection.REASON_SHADOW_PARENT:throw Error("Connecting non-shadow to shadow block.");default:throw Error("Unknown connection failure: this should never happen!");}};
+Blockly.Connection.prototype.isConnectionAllowed=function(a){if(this.canConnectWithReason_(a)!=Blockly.Connection.CAN_CONNECT)return!1;if(a.type==Blockly.OUTPUT_VALUE||a.type==Blockly.PREVIOUS_STATEMENT)if(a.isConnected()||this.isConnected())return!1;return a.type==Blockly.INPUT_VALUE&&a.isConnected()&&!a.targetBlock().isMovable()&&!a.targetBlock().isShadow()||this.type==Blockly.PREVIOUS_STATEMENT&&a.isConnected()&&!this.sourceBlock_.nextConnection&&!a.targetBlock().isShadow()&&a.targetBlock().nextConnection||
+-1!=Blockly.draggingConnections_.indexOf(a)?!1:!0};Blockly.Connection.prototype.connect=function(a){this.targetConnection!=a&&(this.checkConnection_(a),this.isSuperior()?this.connect_(a):a.connect_(this))};Blockly.Connection.connectReciprocally_=function(a,b){if(!a||!b)throw Error("Cannot connect null connections.");a.targetConnection=b;b.targetConnection=a};
+Blockly.Connection.singleConnection_=function(a,b){for(var c=!1,d=0;d<a.inputList.length;d++){var e=a.inputList[d].connection;if(e&&e.type==Blockly.INPUT_VALUE&&b.outputConnection.checkType_(e)){if(c)return null;c=e}}return c};Blockly.Connection.lastConnectionInRow_=function(a,b){for(var c=a,d;d=Blockly.Connection.singleConnection_(c,b);)if(c=d.targetBlock(),!c||c.isShadow())return d;return null};
+Blockly.Connection.prototype.disconnect=function(){var a=this.targetConnection;if(!a)throw Error("Source connection not connected.");if(a.targetConnection!=this)throw Error("Target connection not connected to source connection.");if(this.isSuperior()){var b=this.sourceBlock_;var c=a.getSourceBlock();a=this}else b=a.getSourceBlock(),c=this.sourceBlock_;this.disconnectInternal_(b,c);a.respawnShadow_()};
+Blockly.Connection.prototype.disconnectInternal_=function(a,b){var c;Blockly.Events.isEnabled()&&(c=new Blockly.Events.BlockMove(b));this.targetConnection=this.targetConnection.targetConnection=null;b.setParent(null);c&&(c.recordNew(),Blockly.Events.fire(c))};
+Blockly.Connection.prototype.respawnShadow_=function(){var a=this.getSourceBlock(),b=this.getShadowDom();if(a.workspace&&b&&Blockly.Events.recordUndo)if(a=Blockly.Xml.domToBlock(b,a.workspace),a.outputConnection)this.connect(a.outputConnection);else if(a.previousConnection)this.connect(a.previousConnection);else throw Error("Child block does not have output or previous statement.");};
+Blockly.Connection.prototype.targetBlock=function(){return this.isConnected()?this.targetConnection.getSourceBlock():null};Blockly.Connection.prototype.checkType_=function(a){if(!this.check_||!a.check_)return!0;for(var b=0;b<this.check_.length;b++)if(-1!=a.check_.indexOf(this.check_[b]))return!0;return!1};Blockly.Connection.prototype.onCheckChanged_=function(){this.isConnected()&&!this.checkType_(this.targetConnection)&&(this.isSuperior()?this.targetBlock():this.sourceBlock_).unplug()};
+Blockly.Connection.prototype.setCheck=function(a){a?(Array.isArray(a)||(a=[a]),this.check_=a,this.onCheckChanged_()):this.check_=null;return this};Blockly.Connection.prototype.setShadowDom=function(a){this.shadowDom_=a};Blockly.Connection.prototype.getShadowDom=function(){return this.shadowDom_};Blockly.Connection.prototype.neighbours_=function(){return[]};
+Blockly.Connection.prototype.toString=function(){var a=this.sourceBlock_;if(a)if(a.outputConnection==this)var b="Output Connection of ";else if(a.previousConnection==this)b="Previous Connection of ";else if(a.nextConnection==this)b="Next Connection of ";else{b=null;for(var c=0,d;d=a.inputList[c];c++)if(d.connection==this){b=d;break}if(b)b='Input "'+b.name+'" connection on ';else return console.warn("Connection not actually connected to sourceBlock_"),"Orphan Connection"}else return"Orphan Connection";
+return b+a.toDevString()};Blockly.ConnectionDB=function(){};Blockly.ConnectionDB.prototype=[];Blockly.ConnectionDB.constructor=Blockly.ConnectionDB;Blockly.ConnectionDB.prototype.addConnection=function(a){if(a.inDB_)throw Error("Connection already in database.");if(!a.getSourceBlock().isInFlyout){var b=this.findPositionForConnection_(a);this.splice(b,0,a);a.inDB_=!0}};
+Blockly.ConnectionDB.prototype.findConnection=function(a){if(!this.length)return-1;var b=this.findPositionForConnection_(a);if(b>=this.length)return-1;for(var c=a.y_,d=b;0<=d&&this[d].y_==c;){if(this[d]==a)return d;d--}for(;b<this.length&&this[b].y_==c;){if(this[b]==a)return b;b++}return-1};
+Blockly.ConnectionDB.prototype.findPositionForConnection_=function(a){if(!this.length)return 0;for(var b=0,c=this.length;b<c;){var d=Math.floor((b+c)/2);if(this[d].y_<a.y_)b=d+1;else if(this[d].y_>a.y_)c=d;else{b=d;break}}return b};Blockly.ConnectionDB.prototype.removeConnection_=function(a){if(!a.inDB_)throw Error("Connection not in database.");var b=this.findConnection(a);if(-1==b)throw Error("Unable to find connection in connectionDB.");a.inDB_=!1;this.splice(b,1)};
+Blockly.ConnectionDB.prototype.getNeighbours=function(a,b){function c(a){var c=e-d[a].x_,g=f-d[a].y_;Math.sqrt(c*c+g*g)<=b&&l.push(d[a]);return g<b}for(var d=this,e=a.x_,f=a.y_,g=0,h=d.length-2,k=h;g<k;)d[k].y_<f?g=k:h=k,k=Math.floor((g+h)/2);var l=[];h=g=k;if(d.length){for(;0<=g&&c(g);)g--;do h++;while(h<d.length&&c(h))}return l};Blockly.ConnectionDB.prototype.isInYRange_=function(a,b,c){return Math.abs(this[a].y_-b)<=c};
+Blockly.ConnectionDB.prototype.searchForClosest=function(a,b,c){if(!this.length)return{connection:null,radius:b};var d=a.y_,e=a.x_;a.x_=e+c.x;a.y_=d+c.y;var f=this.findPositionForConnection_(a);c=null;for(var g=b,h,k=f-1;0<=k&&this.isInYRange_(k,a.y_,b);)h=this[k],a.isConnectionAllowed(h,g)&&(c=h,g=h.distanceFrom(a)),k--;for(;f<this.length&&this.isInYRange_(f,a.y_,b);)h=this[f],a.isConnectionAllowed(h,g)&&(c=h,g=h.distanceFrom(a)),f++;a.x_=e;a.y_=d;return{connection:c,radius:g}};
+Blockly.ConnectionDB.init=function(a){var b=[];b[Blockly.INPUT_VALUE]=new Blockly.ConnectionDB;b[Blockly.OUTPUT_VALUE]=new Blockly.ConnectionDB;b[Blockly.NEXT_STATEMENT]=new Blockly.ConnectionDB;b[Blockly.PREVIOUS_STATEMENT]=new Blockly.ConnectionDB;a.connectionDBList=b};Blockly.constants={};Blockly.DRAG_RADIUS=5;Blockly.FLYOUT_DRAG_RADIUS=10;Blockly.SNAP_RADIUS=20;Blockly.BUMP_DELAY=250;Blockly.COLLAPSE_CHARS=30;Blockly.LONGPRESS=750;Blockly.SOUND_LIMIT=100;Blockly.DRAG_STACK=!0;Blockly.HSV_SATURATION=.45;Blockly.HSV_VALUE=.65;Blockly.SPRITE={width:96,height:124,url:"sprites.png"};Blockly.SVG_NS="http://www.w3.org/2000/svg";Blockly.HTML_NS="http://www.w3.org/1999/xhtml";Blockly.INPUT_VALUE=1;Blockly.OUTPUT_VALUE=2;Blockly.NEXT_STATEMENT=3;
+Blockly.PREVIOUS_STATEMENT=4;Blockly.DUMMY_INPUT=5;Blockly.ALIGN_LEFT=-1;Blockly.ALIGN_CENTRE=0;Blockly.ALIGN_RIGHT=1;Blockly.DRAG_NONE=0;Blockly.DRAG_STICKY=1;Blockly.DRAG_BEGIN=1;Blockly.DRAG_FREE=2;Blockly.OPPOSITE_TYPE=[];Blockly.OPPOSITE_TYPE[Blockly.INPUT_VALUE]=Blockly.OUTPUT_VALUE;Blockly.OPPOSITE_TYPE[Blockly.OUTPUT_VALUE]=Blockly.INPUT_VALUE;Blockly.OPPOSITE_TYPE[Blockly.NEXT_STATEMENT]=Blockly.PREVIOUS_STATEMENT;Blockly.OPPOSITE_TYPE[Blockly.PREVIOUS_STATEMENT]=Blockly.NEXT_STATEMENT;
+Blockly.TOOLBOX_AT_TOP=0;Blockly.TOOLBOX_AT_BOTTOM=1;Blockly.TOOLBOX_AT_LEFT=2;Blockly.TOOLBOX_AT_RIGHT=3;Blockly.DELETE_AREA_NONE=null;Blockly.DELETE_AREA_TRASH=1;Blockly.DELETE_AREA_TOOLBOX=2;Blockly.VARIABLE_CATEGORY_NAME="VARIABLE";Blockly.VARIABLE_DYNAMIC_CATEGORY_NAME="VARIABLE_DYNAMIC";Blockly.PROCEDURE_CATEGORY_NAME="PROCEDURE";Blockly.RENAME_VARIABLE_ID="RENAME_VARIABLE_ID";Blockly.DELETE_VARIABLE_ID="DELETE_VARIABLE_ID";Blockly.BlockAnimations={};Blockly.BlockAnimations.disconnectPid_=0;Blockly.BlockAnimations.disconnectGroup_=null;Blockly.BlockAnimations.disposeUiEffect=function(a){var b=a.workspace,c=a.getSvgRoot();b.getAudioManager().play("delete");a=b.getSvgXY(c);c=c.cloneNode(!0);c.translateX_=a.x;c.translateY_=a.y;c.setAttribute("transform","translate("+a.x+","+a.y+")");b.getParentSvg().appendChild(c);c.bBox_=c.getBBox();Blockly.BlockAnimations.disposeUiStep_(c,b.RTL,new Date,b.scale)};
+Blockly.BlockAnimations.disposeUiStep_=function(a,b,c,d){var e=(new Date-c)/150;1<e?Blockly.utils.removeNode(a):(a.setAttribute("transform","translate("+(a.translateX_+(b?-1:1)*a.bBox_.width*d/2*e)+","+(a.translateY_+a.bBox_.height*d*e)+") scale("+(1-e)*d+")"),setTimeout(Blockly.BlockAnimations.disposeUiStep_,10,a,b,c,d))};
+Blockly.BlockAnimations.connectionUiEffect=function(a){var b=a.workspace,c=b.scale;b.getAudioManager().play("click");if(!(1>c)){var d=b.getSvgXY(a.getSvgRoot());a.outputConnection?(d.x+=(a.RTL?3:-3)*c,d.y+=13*c):a.previousConnection&&(d.x+=(a.RTL?-23:23)*c,d.y+=3*c);a=Blockly.utils.createSvgElement("circle",{cx:d.x,cy:d.y,r:0,fill:"none",stroke:"#888","stroke-width":10},b.getParentSvg());Blockly.BlockAnimations.connectionUiStep_(a,new Date,c)}};
+Blockly.BlockAnimations.connectionUiStep_=function(a,b,c){var d=(new Date-b)/150;1<d?Blockly.utils.removeNode(a):(a.setAttribute("r",25*d*c),a.style.opacity=1-d,Blockly.BlockAnimations.disconnectPid_=setTimeout(Blockly.BlockAnimations.connectionUiStep_,10,a,b,c))};
+Blockly.BlockAnimations.disconnectUiEffect=function(a){a.workspace.getAudioManager().play("disconnect");if(!(1>a.workspace.scale)){var b=a.getHeightWidth().height;b=Math.atan(10/b)/Math.PI*180;a.RTL||(b*=-1);Blockly.BlockAnimations.disconnectUiStep_(a.getSvgRoot(),b,new Date)}};
+Blockly.BlockAnimations.disconnectUiStep_=function(a,b,c){var d=(new Date-c)/200;1<d?a.skew_="":(a.skew_="skewX("+Math.round(Math.sin(d*Math.PI*3)*(1-d)*b)+")",Blockly.BlockAnimations.disconnectGroup_=a,Blockly.BlockAnimations.disconnectPid_=setTimeout(Blockly.BlockAnimations.disconnectUiStep_,10,a,b,c));a.setAttribute("transform",a.translate_+a.skew_)};
+Blockly.BlockAnimations.disconnectUiStop=function(){if(Blockly.BlockAnimations.disconnectGroup_){clearTimeout(Blockly.BlockAnimations.disconnectPid_);var a=Blockly.BlockAnimations.disconnectGroup_;a.skew_="";a.setAttribute("transform",a.translate_);Blockly.BlockAnimations.disconnectGroup_=null}};Blockly.RenderedConnection=function(a,b){Blockly.RenderedConnection.superClass_.constructor.call(this,a,b);this.offsetInBlock_=new goog.math.Coordinate(0,0)};goog.inherits(Blockly.RenderedConnection,Blockly.Connection);Blockly.RenderedConnection.prototype.distanceFrom=function(a){var b=this.x_-a.x_;a=this.y_-a.y_;return Math.sqrt(b*b+a*a)};
+Blockly.RenderedConnection.prototype.bumpAwayFrom_=function(a){if(!this.sourceBlock_.workspace.isDragging()){var b=this.sourceBlock_.getRootBlock();if(!b.isInFlyout){var c=!1;if(!b.isMovable()){b=a.getSourceBlock().getRootBlock();if(!b.isMovable())return;a=this;c=!0}var d=Blockly.selected==b;d||b.addSelect();var e=a.x_+Blockly.SNAP_RADIUS-this.x_;a=a.y_+Blockly.SNAP_RADIUS-this.y_;c&&(a=-a);b.RTL&&(e=-e);b.moveBy(e,a);d||b.removeSelect()}}};
+Blockly.RenderedConnection.prototype.moveTo=function(a,b){this.inDB_&&this.db_.removeConnection_(this);this.x_=a;this.y_=b;this.hidden_||this.db_.addConnection(this)};Blockly.RenderedConnection.prototype.moveBy=function(a,b){this.moveTo(this.x_+a,this.y_+b)};Blockly.RenderedConnection.prototype.moveToOffset=function(a){this.moveTo(a.x+this.offsetInBlock_.x,a.y+this.offsetInBlock_.y)};
+Blockly.RenderedConnection.prototype.setOffsetInBlock=function(a,b){this.offsetInBlock_.x=a;this.offsetInBlock_.y=b};Blockly.RenderedConnection.prototype.tighten_=function(){var a=this.targetConnection.x_-this.x_,b=this.targetConnection.y_-this.y_;if(0!=a||0!=b){var c=this.targetBlock(),d=c.getSvgRoot();if(!d)throw Error("block is not rendered.");d=Blockly.utils.getRelativeXY(d);c.getSvgRoot().setAttribute("transform","translate("+(d.x-a)+","+(d.y-b)+")");c.moveConnections_(-a,-b)}};
+Blockly.RenderedConnection.prototype.closest=function(a,b){return this.dbOpposite_.searchForClosest(this,a,b)};
+Blockly.RenderedConnection.prototype.highlight=function(){var a=this.type==Blockly.INPUT_VALUE||this.type==Blockly.OUTPUT_VALUE?"m 0,0 "+Blockly.BlockSvg.TAB_PATH_DOWN+" v 5":"m -20,0 h 5 "+Blockly.BlockSvg.NOTCH_PATH_LEFT+" h 5";var b=this.sourceBlock_.getRelativeToSurfaceXY();Blockly.Connection.highlightedPath_=Blockly.utils.createSvgElement("path",{"class":"blocklyHighlightedConnectionPath",d:a,transform:"translate("+(this.x_-b.x)+","+(this.y_-b.y)+")"+(this.sourceBlock_.RTL?" scale(-1 1)":"")},
+this.sourceBlock_.getSvgRoot())};
+Blockly.RenderedConnection.prototype.unhideAll=function(){this.setHidden(!1);var a=[];if(this.type!=Blockly.INPUT_VALUE&&this.type!=Blockly.NEXT_STATEMENT)return a;var b=this.targetBlock();if(b){if(b.isCollapsed()){var c=[];b.outputConnection&&c.push(b.outputConnection);b.nextConnection&&c.push(b.nextConnection);b.previousConnection&&c.push(b.previousConnection)}else c=b.getConnections_(!0);for(var d=0;d<c.length;d++)a.push.apply(a,c[d].unhideAll());a.length||(a[0]=b)}return a};
+Blockly.RenderedConnection.prototype.unhighlight=function(){Blockly.utils.removeNode(Blockly.Connection.highlightedPath_);delete Blockly.Connection.highlightedPath_};Blockly.RenderedConnection.prototype.setHidden=function(a){(this.hidden_=a)&&this.inDB_?this.db_.removeConnection_(this):a||this.inDB_||this.db_.addConnection(this)};
+Blockly.RenderedConnection.prototype.hideAll=function(){this.setHidden(!0);if(this.targetConnection)for(var a=this.targetBlock().getDescendants(!1),b=0;b<a.length;b++){for(var c=a[b],d=c.getConnections_(!0),e=0;e<d.length;e++)d[e].setHidden(!0);c=c.getIcons();for(e=0;e<c.length;e++)c[e].setVisible(!1)}};Blockly.RenderedConnection.prototype.isConnectionAllowed=function(a,b){return this.distanceFrom(a)>b?!1:Blockly.RenderedConnection.superClass_.isConnectionAllowed.call(this,a)};
+Blockly.RenderedConnection.prototype.disconnectInternal_=function(a,b){Blockly.RenderedConnection.superClass_.disconnectInternal_.call(this,a,b);a.rendered&&a.render();b.rendered&&(b.updateDisabled(),b.render())};
+Blockly.RenderedConnection.prototype.respawnShadow_=function(){var a=this.getSourceBlock(),b=this.getShadowDom();if(a.workspace&&b&&Blockly.Events.recordUndo){Blockly.RenderedConnection.superClass_.respawnShadow_.call(this);b=this.targetBlock();if(!b)throw Error("Couldn't respawn the shadow block that should exist here.");b.initSvg();b.render(!1);a.rendered&&a.render()}};Blockly.RenderedConnection.prototype.neighbours_=function(a){return this.dbOpposite_.getNeighbours(this,a)};
+Blockly.RenderedConnection.prototype.connect_=function(a){Blockly.RenderedConnection.superClass_.connect_.call(this,a);var b=this.getSourceBlock();a=a.getSourceBlock();b.rendered&&b.updateDisabled();a.rendered&&a.updateDisabled();b.rendered&&a.rendered&&(this.type==Blockly.NEXT_STATEMENT||this.type==Blockly.PREVIOUS_STATEMENT?a.render():b.render())};
+Blockly.RenderedConnection.prototype.onCheckChanged_=function(){this.isConnected()&&!this.checkType_(this.targetConnection)&&((this.isSuperior()?this.targetBlock():this.sourceBlock_).unplug(),this.sourceBlock_.bumpNeighbours_())};Blockly.DraggedConnectionManager=function(a){this.topBlock_=Blockly.selected=a;this.workspace_=a.workspace;this.availableConnections_=this.initAvailableConnections_();this.localConnection_=this.closestConnection_=null;this.radiusConnection_=0;this.wouldDeleteBlock_=!1};Blockly.DraggedConnectionManager.prototype.dispose=function(){this.workspace_=this.topBlock_=null;this.availableConnections_.length=0;this.localConnection_=this.closestConnection_=null};
+Blockly.DraggedConnectionManager.prototype.wouldDeleteBlock=function(){return this.wouldDeleteBlock_};Blockly.DraggedConnectionManager.prototype.wouldConnectBlock=function(){return!!this.closestConnection_};
+Blockly.DraggedConnectionManager.prototype.applyConnections=function(){if(this.closestConnection_){this.localConnection_.connect(this.closestConnection_);if(this.topBlock_.rendered){var a=this.localConnection_.isSuperior()?this.closestConnection_:this.localConnection_;Blockly.BlockAnimations.connectionUiEffect(a.getSourceBlock());this.topBlock_.getRootBlock().bringToFront()}this.removeHighlighting_()}};
+Blockly.DraggedConnectionManager.prototype.update=function(a,b){var c=this.closestConnection_,d=this.updateClosest_(a);d&&c&&c.unhighlight();c=!!this.closestConnection_&&b!=Blockly.DELETE_AREA_TOOLBOX;var e=!!b&&!this.topBlock_.getParent()&&this.topBlock_.isDeletable();this.wouldDeleteBlock_=e&&!c;e&&this.closestConnection_&&(this.closestConnection_.unhighlight(),this.closestConnection_=null);!this.wouldDeleteBlock_&&d&&this.closestConnection_&&this.addHighlighting_()};
+Blockly.DraggedConnectionManager.prototype.removeHighlighting_=function(){this.closestConnection_&&this.closestConnection_.unhighlight()};Blockly.DraggedConnectionManager.prototype.addHighlighting_=function(){this.closestConnection_&&this.closestConnection_.highlight()};Blockly.DraggedConnectionManager.prototype.initAvailableConnections_=function(){var a=this.topBlock_.getConnections_(!1),b=this.topBlock_.lastConnectionInStack();b&&b!=this.topBlock_.nextConnection&&a.push(b);return a};
+Blockly.DraggedConnectionManager.prototype.updateClosest_=function(a){var b=this.closestConnection_;this.localConnection_=this.closestConnection_=null;this.radiusConnection_=Blockly.SNAP_RADIUS;for(var c=0;c<this.availableConnections_.length;c++){var d=this.availableConnections_[c],e=d.closest(this.radiusConnection_,a);e.connection&&(this.closestConnection_=e.connection,this.localConnection_=d,this.radiusConnection_=e.radius)}return b!=this.closestConnection_};Blockly.BlockDragger=function(a,b){this.draggingBlock_=a;this.workspace_=b;this.draggedConnectionManager_=new Blockly.DraggedConnectionManager(this.draggingBlock_);this.deleteArea_=null;this.wouldDeleteBlock_=!1;this.startXY_=this.draggingBlock_.getRelativeToSurfaceXY();this.dragIconData_=Blockly.BlockDragger.initIconData_(a)};
+Blockly.BlockDragger.prototype.dispose=function(){this.startWorkspace_=this.workspace_=this.draggingBlock_=null;this.dragIconData_.length=0;this.draggedConnectionManager_&&(this.draggedConnectionManager_.dispose(),this.draggedConnectionManager_=null)};Blockly.BlockDragger.initIconData_=function(a){var b=[];a=a.getDescendants(!1);for(var c=0,d;d=a[c];c++){d=d.getIcons();for(var e=0;e<d.length;e++){var f={location:d[e].getIconLocation(),icon:d[e]};b.push(f)}}return b};
+Blockly.BlockDragger.prototype.startBlockDrag=function(a,b){Blockly.Events.getGroup()||Blockly.Events.setGroup(!0);this.workspace_.isMutator&&this.draggingBlock_.bringToFront();this.workspace_.setResizesEnabled(!1);Blockly.BlockAnimations.disconnectUiStop();if(this.draggingBlock_.getParent()||b&&this.draggingBlock_.nextConnection&&this.draggingBlock_.nextConnection.targetBlock()){this.draggingBlock_.unplug(b);var c=this.pixelsToWorkspaceUnits_(a);c=goog.math.Coordinate.sum(this.startXY_,c);this.draggingBlock_.translate(c.x,
+c.y);Blockly.BlockAnimations.disconnectUiEffect(this.draggingBlock_)}this.draggingBlock_.setDragging(!0);this.draggingBlock_.moveToDragSurface_();if(c=this.workspace_.getToolbox()){var d=this.draggingBlock_.isDeletable()?"blocklyToolboxDelete":"blocklyToolboxGrab";c.addStyle(d)}};
+Blockly.BlockDragger.prototype.dragBlock=function(a,b){var c=this.pixelsToWorkspaceUnits_(b),d=goog.math.Coordinate.sum(this.startXY_,c);this.draggingBlock_.moveDuringDrag(d);this.dragIcons_(c);this.deleteArea_=this.workspace_.isDeleteArea(a);this.draggedConnectionManager_.update(c,this.deleteArea_);this.updateCursorDuringBlockDrag_()};
+Blockly.BlockDragger.prototype.endBlockDrag=function(a,b){this.dragBlock(a,b);this.dragIconData_=[];Blockly.BlockAnimations.disconnectUiStop();var c=this.pixelsToWorkspaceUnits_(b),d=goog.math.Coordinate.sum(this.startXY_,c);this.draggingBlock_.moveOffDragSurface_(d);this.maybeDeleteBlock_()||(this.draggingBlock_.moveConnections_(c.x,c.y),this.draggingBlock_.setDragging(!1),this.fireMoveEvent_(),this.draggedConnectionManager_.wouldConnectBlock()?this.draggedConnectionManager_.applyConnections():this.draggingBlock_.render(),
+this.draggingBlock_.scheduleSnapAndBump());this.workspace_.setResizesEnabled(!0);if(c=this.workspace_.getToolbox())d=this.draggingBlock_.isDeletable()?"blocklyToolboxDelete":"blocklyToolboxGrab",c.removeStyle(d);Blockly.Events.setGroup(!1)};Blockly.BlockDragger.prototype.fireMoveEvent_=function(){var a=new Blockly.Events.BlockMove(this.draggingBlock_);a.oldCoordinate=this.startXY_;a.recordNew();Blockly.Events.fire(a)};
+Blockly.BlockDragger.prototype.maybeDeleteBlock_=function(){var a=this.workspace_.trashcan;this.wouldDeleteBlock_?(a&&setTimeout(a.close.bind(a),100),this.fireMoveEvent_(),this.draggingBlock_.dispose(!1,!0)):a&&a.close();return this.wouldDeleteBlock_};
+Blockly.BlockDragger.prototype.updateCursorDuringBlockDrag_=function(){this.wouldDeleteBlock_=this.draggedConnectionManager_.wouldDeleteBlock();var a=this.workspace_.trashcan;this.wouldDeleteBlock_?(this.draggingBlock_.setDeleteStyle(!0),this.deleteArea_==Blockly.DELETE_AREA_TRASH&&a&&a.setOpen_(!0)):(this.draggingBlock_.setDeleteStyle(!1),a&&a.setOpen_(!1))};
+Blockly.BlockDragger.prototype.pixelsToWorkspaceUnits_=function(a){a=new goog.math.Coordinate(a.x/this.workspace_.scale,a.y/this.workspace_.scale);this.workspace_.isMutator&&(a=a.scale(1/this.workspace_.options.parentWorkspace.scale));return a};Blockly.BlockDragger.prototype.dragIcons_=function(a){for(var b=0;b<this.dragIconData_.length;b++){var c=this.dragIconData_[b];c.icon.setIconLocation(goog.math.Coordinate.sum(c.location,a))}};Blockly.WorkspaceCommentSvg=function(a,b,c,d,e){this.svgGroup_=Blockly.utils.createSvgElement("g",{"class":"blocklyComment"},null);this.svgGroup_.translate_="";this.svgRect_=Blockly.utils.createSvgElement("rect",{"class":"blocklyCommentRect",x:0,y:0,rx:Blockly.WorkspaceCommentSvg.BORDER_RADIUS,ry:Blockly.WorkspaceCommentSvg.BORDER_RADIUS});this.svgGroup_.appendChild(this.svgRect_);this.rendered_=!1;this.useDragSurface_=Blockly.utils.is3dSupported()&&!!a.blockDragSurface_;Blockly.WorkspaceCommentSvg.superClass_.constructor.call(this,
+a,b,c,d,e);this.render()};goog.inherits(Blockly.WorkspaceCommentSvg,Blockly.WorkspaceComment);Blockly.WorkspaceCommentSvg.DEFAULT_SIZE=100;
+Blockly.WorkspaceCommentSvg.prototype.dispose=function(){this.workspace&&(Blockly.selected==this&&(this.unselect(),this.workspace.cancelCurrentGesture()),Blockly.Events.isEnabled()&&Blockly.Events.fire(new Blockly.Events.CommentDelete(this)),Blockly.utils.removeNode(this.svgGroup_),this.svgRect_=this.svgGroup_=null,this.disposeInternal_(),Blockly.Events.disable(),Blockly.WorkspaceCommentSvg.superClass_.dispose.call(this),Blockly.Events.enable())};
+Blockly.WorkspaceCommentSvg.prototype.initSvg=function(){if(!this.workspace.rendered)throw TypeError("Workspace is headless.");this.workspace.options.readOnly||this.eventsInit_||(Blockly.bindEventWithChecks_(this.svgRectTarget_,"mousedown",this,this.pathMouseDown_),Blockly.bindEventWithChecks_(this.svgHandleTarget_,"mousedown",this,this.pathMouseDown_));this.eventsInit_=!0;this.updateMovable();this.getSvgRoot().parentNode||this.workspace.getBubbleCanvas().appendChild(this.getSvgRoot())};
+Blockly.WorkspaceCommentSvg.prototype.pathMouseDown_=function(a){var b=this.workspace.getGesture(a);b&&b.handleBubbleStart(a,this)};Blockly.WorkspaceCommentSvg.prototype.showContextMenu_=function(a){if(!this.workspace.options.readOnly){var b=[];this.isDeletable()&&this.isMovable()&&(b.push(Blockly.ContextMenu.commentDuplicateOption(this)),b.push(Blockly.ContextMenu.commentDeleteOption(this)));Blockly.ContextMenu.show(a,b,this.RTL)}};
+Blockly.WorkspaceCommentSvg.prototype.select=function(){if(Blockly.selected!=this){var a=null;if(Blockly.selected){a=Blockly.selected.id;Blockly.Events.disable();try{Blockly.selected.unselect()}finally{Blockly.Events.enable()}}a=new Blockly.Events.Ui(null,"selected",a,this.id);a.workspaceId=this.workspace.id;Blockly.Events.fire(a);Blockly.selected=this;this.addSelect()}};
+Blockly.WorkspaceCommentSvg.prototype.unselect=function(){if(Blockly.selected==this){var a=new Blockly.Events.Ui(null,"selected",this.id,null);a.workspaceId=this.workspace.id;Blockly.Events.fire(a);Blockly.selected=null;this.removeSelect();this.blurFocus()}};Blockly.WorkspaceCommentSvg.prototype.addSelect=function(){Blockly.utils.addClass(this.svgGroup_,"blocklySelected");this.setFocus()};
+Blockly.WorkspaceCommentSvg.prototype.removeSelect=function(){Blockly.utils.removeClass(this.svgGroup_,"blocklySelected");this.blurFocus()};Blockly.WorkspaceCommentSvg.prototype.addFocus=function(){Blockly.utils.addClass(this.svgGroup_,"blocklyFocused")};Blockly.WorkspaceCommentSvg.prototype.removeFocus=function(){Blockly.utils.removeClass(this.svgGroup_,"blocklyFocused")};
+Blockly.WorkspaceCommentSvg.prototype.getRelativeToSurfaceXY=function(){var a=0,b=0,c=this.useDragSurface_?this.workspace.blockDragSurface_.getGroup():null,d=this.getSvgRoot();if(d){do{var e=Blockly.utils.getRelativeXY(d);a+=e.x;b+=e.y;this.useDragSurface_&&this.workspace.blockDragSurface_.getCurrentBlock()==d&&(e=this.workspace.blockDragSurface_.getSurfaceTranslation(),a+=e.x,b+=e.y);d=d.parentNode}while(d&&d!=this.workspace.getBubbleCanvas()&&d!=c)}return this.xy_=new goog.math.Coordinate(a,b)};
+Blockly.WorkspaceCommentSvg.prototype.moveBy=function(a,b){var c=new Blockly.Events.CommentMove(this),d=this.getRelativeToSurfaceXY();this.translate(d.x+a,d.y+b);this.xy_=new goog.math.Coordinate(d.x+a,d.y+b);c.recordNew();Blockly.Events.fire(c);this.workspace.resizeContents()};Blockly.WorkspaceCommentSvg.prototype.translate=function(a,b){this.xy_=new goog.math.Coordinate(a,b);this.getSvgRoot().setAttribute("transform","translate("+a+","+b+")")};
+Blockly.WorkspaceCommentSvg.prototype.moveToDragSurface_=function(){if(this.useDragSurface_){var a=this.getRelativeToSurfaceXY();this.clearTransformAttributes_();this.workspace.blockDragSurface_.translateSurface(a.x,a.y);this.workspace.blockDragSurface_.setBlocksAndShow(this.getSvgRoot())}};Blockly.WorkspaceCommentSvg.prototype.moveOffDragSurface_=function(a){this.useDragSurface_&&(this.translate(a.x,a.y),this.workspace.blockDragSurface_.clearAndHide(this.workspace.getCanvas()))};
+Blockly.WorkspaceCommentSvg.prototype.moveDuringDrag=function(a,b){a?a.translateSurface(b.x,b.y):(this.svgGroup_.translate_="translate("+b.x+","+b.y+")",this.svgGroup_.setAttribute("transform",this.svgGroup_.translate_+this.svgGroup_.skew_))};Blockly.WorkspaceCommentSvg.prototype.moveTo=function(a,b){this.translate(a,b)};Blockly.WorkspaceCommentSvg.prototype.clearTransformAttributes_=function(){Blockly.utils.removeAttribute(this.getSvgRoot(),"transform")};
+Blockly.WorkspaceCommentSvg.prototype.getBoundingRectangle=function(){var a=this.getRelativeToSurfaceXY(),b=this.getHeightWidth();if(this.RTL){var c=new goog.math.Coordinate(a.x-b.width,a.y);a=new goog.math.Coordinate(a.x,a.y+b.height)}else c=new goog.math.Coordinate(a.x,a.y),a=new goog.math.Coordinate(a.x+b.width,a.y+b.height);return{topLeft:c,bottomRight:a}};
+Blockly.WorkspaceCommentSvg.prototype.updateMovable=function(){this.isMovable()?Blockly.utils.addClass(this.svgGroup_,"blocklyDraggable"):Blockly.utils.removeClass(this.svgGroup_,"blocklyDraggable")};Blockly.WorkspaceCommentSvg.prototype.setMovable=function(a){Blockly.WorkspaceCommentSvg.superClass_.setMovable.call(this,a);this.updateMovable()};
+Blockly.WorkspaceCommentSvg.prototype.setDragging=function(a){a?(a=this.getSvgRoot(),a.translate_="",a.skew_="",Blockly.utils.addClass(this.svgGroup_,"blocklyDragging")):Blockly.utils.removeClass(this.svgGroup_,"blocklyDragging")};Blockly.WorkspaceCommentSvg.prototype.getSvgRoot=function(){return this.svgGroup_};Blockly.WorkspaceCommentSvg.prototype.getContent=function(){return this.textarea_?this.textarea_.value:this.content_};
+Blockly.WorkspaceCommentSvg.prototype.setContent=function(a){Blockly.WorkspaceCommentSvg.superClass_.setContent.call(this,a);this.textarea_&&(this.textarea_.value=a)};Blockly.WorkspaceCommentSvg.prototype.setDeleteStyle=function(a){a?Blockly.utils.addClass(this.svgGroup_,"blocklyDraggingDelete"):Blockly.utils.removeClass(this.svgGroup_,"blocklyDraggingDelete")};Blockly.WorkspaceCommentSvg.prototype.setAutoLayout=function(){};
+Blockly.WorkspaceCommentSvg.fromXml=function(a,b,c){Blockly.Events.disable();try{var d=Blockly.WorkspaceComment.parseAttributes(a),e=new Blockly.WorkspaceCommentSvg(b,d.content,d.h,d.w,d.id);b.rendered&&(e.initSvg(),e.render(!1));if(!isNaN(d.x)&&!isNaN(d.y))if(b.RTL){var f=c||b.getWidth();e.moveBy(f-d.x,d.y)}else e.moveBy(d.x,d.y)}finally{Blockly.Events.enable()}Blockly.WorkspaceComment.fireCreateEvent(e);return e};
+Blockly.WorkspaceCommentSvg.prototype.toXmlWithXY=function(a){var b;this.workspace.RTL&&(b=this.workspace.getWidth());a=this.toXml(a);var c=this.getRelativeToSurfaceXY();a.setAttribute("x",Math.round(this.workspace.RTL?b-c.x:c.x));a.setAttribute("y",Math.round(c.y));a.setAttribute("h",this.getHeight());a.setAttribute("w",this.getWidth());return a};Blockly.BubbleDragger=function(a,b){this.draggingBubble_=a;this.workspace_=b;this.deleteArea_=null;this.wouldDeleteBubble_=!1;this.startXY_=this.draggingBubble_.getRelativeToSurfaceXY();this.dragSurface_=Blockly.utils.is3dSupported()&&b.getBlockDragSurface()?b.getBlockDragSurface():null};Blockly.BubbleDragger.prototype.dispose=function(){this.dragSurface_=this.workspace_=this.draggingBubble_=null};
+Blockly.BubbleDragger.prototype.startBubbleDrag=function(){Blockly.Events.getGroup()||Blockly.Events.setGroup(!0);this.workspace_.setResizesEnabled(!1);this.draggingBubble_.setAutoLayout(!1);this.dragSurface_&&this.moveToDragSurface_();this.draggingBubble_.setDragging&&this.draggingBubble_.setDragging(!0);var a=this.workspace_.getToolbox();if(a){var b=this.draggingBubble_.isDeletable()?"blocklyToolboxDelete":"blocklyToolboxGrab";a.addStyle(b)}};
+Blockly.BubbleDragger.prototype.dragBubble=function(a,b){var c=this.pixelsToWorkspaceUnits_(b);c=goog.math.Coordinate.sum(this.startXY_,c);this.draggingBubble_.moveDuringDrag(this.dragSurface_,c);this.draggingBubble_.isDeletable()&&(this.deleteArea_=this.workspace_.isDeleteArea(a),this.updateCursorDuringBubbleDrag_())};
+Blockly.BubbleDragger.prototype.maybeDeleteBubble_=function(){var a=this.workspace_.trashcan;this.wouldDeleteBubble_?(a&&setTimeout(a.close.bind(a),100),this.fireMoveEvent_(),this.draggingBubble_.dispose(!1,!0)):a&&a.close();return this.wouldDeleteBubble_};
+Blockly.BubbleDragger.prototype.updateCursorDuringBubbleDrag_=function(){this.wouldDeleteBubble_=this.deleteArea_!=Blockly.DELETE_AREA_NONE;var a=this.workspace_.trashcan;this.wouldDeleteBubble_?(this.draggingBubble_.setDeleteStyle(!0),this.deleteArea_==Blockly.DELETE_AREA_TRASH&&a&&a.setOpen_(!0)):(this.draggingBubble_.setDeleteStyle(!1),a&&a.setOpen_(!1))};
+Blockly.BubbleDragger.prototype.endBubbleDrag=function(a,b){this.dragBubble(a,b);var c=this.pixelsToWorkspaceUnits_(b);c=goog.math.Coordinate.sum(this.startXY_,c);this.draggingBubble_.moveTo(c.x,c.y);this.maybeDeleteBubble_()||(this.dragSurface_&&this.dragSurface_.clearAndHide(this.workspace_.getBubbleCanvas()),this.draggingBubble_.setDragging&&this.draggingBubble_.setDragging(!1),this.fireMoveEvent_());this.workspace_.setResizesEnabled(!0);this.workspace_.toolbox_&&(c=this.draggingBubble_.isDeletable()?
+"blocklyToolboxDelete":"blocklyToolboxGrab",this.workspace_.toolbox_.removeStyle(c));Blockly.Events.setGroup(!1)};Blockly.BubbleDragger.prototype.fireMoveEvent_=function(){if(this.draggingBubble_.isComment){var a=new Blockly.Events.CommentMove(this.draggingBubble_);a.setOldCoordinate(this.startXY_);a.recordNew();Blockly.Events.fire(a)}};
+Blockly.BubbleDragger.prototype.pixelsToWorkspaceUnits_=function(a){a=new goog.math.Coordinate(a.x/this.workspace_.scale,a.y/this.workspace_.scale);this.workspace_.isMutator&&(a=a.scale(1/this.workspace_.options.parentWorkspace.scale));return a};Blockly.BubbleDragger.prototype.moveToDragSurface_=function(){this.draggingBubble_.moveTo(0,0);this.dragSurface_.translateSurface(this.startXY_.x,this.startXY_.y);this.dragSurface_.setBlocksAndShow(this.draggingBubble_.getSvgRoot())};Blockly.WorkspaceDragger=function(a){this.workspace_=a;this.startDragMetrics_=a.getMetrics();this.startScrollXY_=new goog.math.Coordinate(a.scrollX,a.scrollY)};Blockly.WorkspaceDragger.prototype.dispose=function(){this.workspace_=null};Blockly.WorkspaceDragger.prototype.startDrag=function(){Blockly.selected&&Blockly.selected.unselect();this.workspace_.setupDragSurface()};Blockly.WorkspaceDragger.prototype.endDrag=function(a){this.drag(a);this.workspace_.resetDragSurface()};
+Blockly.WorkspaceDragger.prototype.drag=function(a){var b=this.startDragMetrics_,c=goog.math.Coordinate.sum(this.startScrollXY_,a);a=Math.min(c.x,-b.contentLeft);c=Math.min(c.y,-b.contentTop);a=Math.max(a,b.viewWidth-b.contentLeft-b.contentWidth);c=Math.max(c,b.viewHeight-b.contentTop-b.contentHeight);a=-a-b.contentLeft;c=-c-b.contentTop;this.updateScroll_(a,c)};Blockly.WorkspaceDragger.prototype.updateScroll_=function(a,b){this.workspace_.scrollbar.set(a,b)};Blockly.FlyoutDragger=function(a){Blockly.FlyoutDragger.superClass_.constructor.call(this,a.getWorkspace());this.scrollbar_=a.scrollbar_;this.horizontalLayout_=a.horizontalLayout_};goog.inherits(Blockly.FlyoutDragger,Blockly.WorkspaceDragger);Blockly.FlyoutDragger.prototype.updateScroll_=function(a,b){this.horizontalLayout_?this.scrollbar_.set(a):this.scrollbar_.set(b)};Blockly.Tooltip={};Blockly.Tooltip.visible=!1;Blockly.Tooltip.blocked_=!1;Blockly.Tooltip.LIMIT=50;Blockly.Tooltip.mouseOutPid_=0;Blockly.Tooltip.showPid_=0;Blockly.Tooltip.lastX_=0;Blockly.Tooltip.lastY_=0;Blockly.Tooltip.element_=null;Blockly.Tooltip.poisonedElement_=null;Blockly.Tooltip.OFFSET_X=0;Blockly.Tooltip.OFFSET_Y=10;Blockly.Tooltip.RADIUS_OK=10;Blockly.Tooltip.HOVER_MS=750;Blockly.Tooltip.MARGINS=5;Blockly.Tooltip.DIV=null;
+Blockly.Tooltip.createDom=function(){Blockly.Tooltip.DIV||(Blockly.Tooltip.DIV=document.createElement("div"),Blockly.Tooltip.DIV.className="blocklyTooltipDiv",document.body.appendChild(Blockly.Tooltip.DIV))};Blockly.Tooltip.bindMouseEvents=function(a){Blockly.bindEvent_(a,"mouseover",null,Blockly.Tooltip.onMouseOver_);Blockly.bindEvent_(a,"mouseout",null,Blockly.Tooltip.onMouseOut_);a.addEventListener("mousemove",Blockly.Tooltip.onMouseMove_,!1)};
+Blockly.Tooltip.onMouseOver_=function(a){if(!Blockly.Tooltip.blocked_){for(a=a.target;"string"!=typeof a.tooltip&&"function"!=typeof a.tooltip;)a=a.tooltip;Blockly.Tooltip.element_!=a&&(Blockly.Tooltip.hide(),Blockly.Tooltip.poisonedElement_=null,Blockly.Tooltip.element_=a);clearTimeout(Blockly.Tooltip.mouseOutPid_)}};
+Blockly.Tooltip.onMouseOut_=function(a){Blockly.Tooltip.blocked_||(Blockly.Tooltip.mouseOutPid_=setTimeout(function(){Blockly.Tooltip.element_=null;Blockly.Tooltip.poisonedElement_=null;Blockly.Tooltip.hide()},1),clearTimeout(Blockly.Tooltip.showPid_))};
+Blockly.Tooltip.onMouseMove_=function(a){if(Blockly.Tooltip.element_&&Blockly.Tooltip.element_.tooltip&&!Blockly.WidgetDiv.isVisible()&&!Blockly.Tooltip.blocked_)if(Blockly.Tooltip.visible){var b=Blockly.Tooltip.lastX_-a.pageX;a=Blockly.Tooltip.lastY_-a.pageY;Math.sqrt(b*b+a*a)>Blockly.Tooltip.RADIUS_OK&&Blockly.Tooltip.hide()}else Blockly.Tooltip.poisonedElement_!=Blockly.Tooltip.element_&&(clearTimeout(Blockly.Tooltip.showPid_),Blockly.Tooltip.lastX_=a.pageX,Blockly.Tooltip.lastY_=a.pageY,Blockly.Tooltip.showPid_=
+setTimeout(Blockly.Tooltip.show_,Blockly.Tooltip.HOVER_MS))};Blockly.Tooltip.hide=function(){Blockly.Tooltip.visible&&(Blockly.Tooltip.visible=!1,Blockly.Tooltip.DIV&&(Blockly.Tooltip.DIV.style.display="none"));Blockly.Tooltip.showPid_&&clearTimeout(Blockly.Tooltip.showPid_)};Blockly.Tooltip.block=function(){Blockly.Tooltip.hide();Blockly.Tooltip.blocked_=!0};Blockly.Tooltip.unblock=function(){Blockly.Tooltip.blocked_=!1};
+Blockly.Tooltip.show_=function(){if(!Blockly.Tooltip.blocked_&&(Blockly.Tooltip.poisonedElement_=Blockly.Tooltip.element_,Blockly.Tooltip.DIV)){Blockly.Tooltip.DIV.innerHTML="";for(var a=Blockly.Tooltip.element_.tooltip;"function"==typeof a;)a=a();a=Blockly.utils.wrap(a,Blockly.Tooltip.LIMIT);a=a.split("\n");for(var b=0;b<a.length;b++){var c=document.createElement("div");c.appendChild(document.createTextNode(a[b]));Blockly.Tooltip.DIV.appendChild(c)}a=Blockly.Tooltip.element_.RTL;b=goog.dom.getViewportSize();
+Blockly.Tooltip.DIV.style.direction=a?"rtl":"ltr";Blockly.Tooltip.DIV.style.display="block";Blockly.Tooltip.visible=!0;c=Blockly.Tooltip.lastX_;c=a?c-(Blockly.Tooltip.OFFSET_X+Blockly.Tooltip.DIV.offsetWidth):c+Blockly.Tooltip.OFFSET_X;var d=Blockly.Tooltip.lastY_+Blockly.Tooltip.OFFSET_Y;d+Blockly.Tooltip.DIV.offsetHeight>b.height+window.scrollY&&(d-=Blockly.Tooltip.DIV.offsetHeight+2*Blockly.Tooltip.OFFSET_Y);a?c=Math.max(Blockly.Tooltip.MARGINS-window.scrollX,c):c+Blockly.Tooltip.DIV.offsetWidth>
+b.width+window.scrollX-2*Blockly.Tooltip.MARGINS&&(c=b.width-Blockly.Tooltip.DIV.offsetWidth-2*Blockly.Tooltip.MARGINS);Blockly.Tooltip.DIV.style.top=d+"px";Blockly.Tooltip.DIV.style.left=c+"px"}};Blockly.Gesture=function(a,b){this.startWorkspace_=this.targetBlock_=this.startBlock_=this.startField_=this.startBubble_=this.currentDragDeltaXY_=this.mouseDownXY_=null;this.creatorWorkspace_=b;this.isDraggingBubble_=this.isDraggingBlock_=this.isDraggingWorkspace_=this.hasExceededDragRadius_=!1;this.mostRecentEvent_=a;this.flyout_=this.workspaceDragger_=this.blockDragger_=this.bubbleDragger_=this.onUpWrapper_=this.onMoveWrapper_=null;this.isEnding_=this.hasStarted_=this.calledUpdateIsDragging_=!1;
+this.healStack_=!Blockly.DRAG_STACK};
+Blockly.Gesture.prototype.dispose=function(){Blockly.Touch.clearTouchIdentifier();Blockly.Tooltip.unblock();this.creatorWorkspace_.clearGesture();this.onMoveWrapper_&&Blockly.unbindEvent_(this.onMoveWrapper_);this.onUpWrapper_&&Blockly.unbindEvent_(this.onUpWrapper_);this.flyout_=this.startWorkspace_=this.targetBlock_=this.startBlock_=this.startField_=null;this.blockDragger_&&(this.blockDragger_.dispose(),this.blockDragger_=null);this.workspaceDragger_&&(this.workspaceDragger_.dispose(),this.workspaceDragger_=
+null);this.bubbleDragger_&&(this.bubbleDragger_.dispose(),this.bubbleDragger_=null)};Blockly.Gesture.prototype.updateFromEvent_=function(a){var b=new goog.math.Coordinate(a.clientX,a.clientY);this.updateDragDelta_(b)&&(this.updateIsDragging_(),Blockly.longStop_());this.mostRecentEvent_=a};
+Blockly.Gesture.prototype.updateDragDelta_=function(a){this.currentDragDeltaXY_=goog.math.Coordinate.difference(a,this.mouseDownXY_);return this.hasExceededDragRadius_?!1:this.hasExceededDragRadius_=goog.math.Coordinate.magnitude(this.currentDragDeltaXY_)>(this.flyout_?Blockly.FLYOUT_DRAG_RADIUS:Blockly.DRAG_RADIUS)};
+Blockly.Gesture.prototype.updateIsDraggingFromFlyout_=function(){return this.targetBlock_.disabled?!1:!this.flyout_.isScrollable()||this.flyout_.isDragTowardWorkspace(this.currentDragDeltaXY_)?(this.startWorkspace_=this.flyout_.targetWorkspace_,this.startWorkspace_.updateScreenCalculationsIfScrolled(),Blockly.Events.getGroup()||Blockly.Events.setGroup(!0),this.startBlock_=null,this.targetBlock_=this.flyout_.createBlock(this.targetBlock_),this.targetBlock_.select(),!0):!1};
+Blockly.Gesture.prototype.updateIsDraggingBubble_=function(){if(!this.startBubble_)return!1;this.isDraggingBubble_=!0;this.startDraggingBubble_();return!0};Blockly.Gesture.prototype.updateIsDraggingBlock_=function(){if(!this.targetBlock_)return!1;this.flyout_?this.isDraggingBlock_=this.updateIsDraggingFromFlyout_():this.targetBlock_.isMovable()&&(this.isDraggingBlock_=!0);return this.isDraggingBlock_?(this.startDraggingBlock_(),!0):!1};
+Blockly.Gesture.prototype.updateIsDraggingWorkspace_=function(){if(this.flyout_?this.flyout_.isScrollable():this.startWorkspace_&&this.startWorkspace_.isDraggable())this.workspaceDragger_=this.flyout_?new Blockly.FlyoutDragger(this.flyout_):new Blockly.WorkspaceDragger(this.startWorkspace_),this.isDraggingWorkspace_=!0,this.workspaceDragger_.startDrag()};
+Blockly.Gesture.prototype.updateIsDragging_=function(){if(this.calledUpdateIsDragging_)throw Error("updateIsDragging_ should only be called once per gesture.");this.calledUpdateIsDragging_=!0;this.updateIsDraggingBubble_()||this.updateIsDraggingBlock_()||this.updateIsDraggingWorkspace_()};
+Blockly.Gesture.prototype.startDraggingBlock_=function(){this.blockDragger_=new Blockly.BlockDragger(this.targetBlock_,this.startWorkspace_);this.blockDragger_.startBlockDrag(this.currentDragDeltaXY_,this.healStack_);this.blockDragger_.dragBlock(this.mostRecentEvent_,this.currentDragDeltaXY_)};
+Blockly.Gesture.prototype.startDraggingBubble_=function(){this.bubbleDragger_=new Blockly.BubbleDragger(this.startBubble_,this.startWorkspace_);this.bubbleDragger_.startBubbleDrag();this.bubbleDragger_.dragBubble(this.mostRecentEvent_,this.currentDragDeltaXY_)};
+Blockly.Gesture.prototype.doStart=function(a){Blockly.utils.isTargetInput(a)?this.cancel():(this.hasStarted_=!0,Blockly.BlockAnimations.disconnectUiStop(),this.startWorkspace_.updateScreenCalculationsIfScrolled(),this.startWorkspace_.isMutator&&this.startWorkspace_.resize(),this.startWorkspace_.markFocused(),this.mostRecentEvent_=a,Blockly.hideChaff(!!this.flyout_),Blockly.Tooltip.block(),this.targetBlock_&&this.targetBlock_.select(),Blockly.utils.isRightButton(a)?this.handleRightClick(a):("touchstart"!=
+a.type.toLowerCase()&&"pointerdown"!=a.type.toLowerCase()||"mouse"==a.pointerType||Blockly.longStart_(a,this),this.mouseDownXY_=new goog.math.Coordinate(a.clientX,a.clientY),this.healStack_=a.altKey||a.ctrlKey||a.metaKey,this.bindMouseEvents(a)))};
+Blockly.Gesture.prototype.bindMouseEvents=function(a){this.onMoveWrapper_=Blockly.bindEventWithChecks_(document,"mousemove",null,this.handleMove.bind(this));this.onUpWrapper_=Blockly.bindEventWithChecks_(document,"mouseup",null,this.handleUp.bind(this));a.preventDefault();a.stopPropagation()};
+Blockly.Gesture.prototype.handleMove=function(a){this.updateFromEvent_(a);this.isDraggingWorkspace_?this.workspaceDragger_.drag(this.currentDragDeltaXY_):this.isDraggingBlock_?this.blockDragger_.dragBlock(this.mostRecentEvent_,this.currentDragDeltaXY_):this.isDraggingBubble_&&this.bubbleDragger_.dragBubble(this.mostRecentEvent_,this.currentDragDeltaXY_);a.preventDefault();a.stopPropagation()};
+Blockly.Gesture.prototype.handleUp=function(a){this.updateFromEvent_(a);Blockly.longStop_();this.isEnding_?console.log("Trying to end a gesture recursively."):(this.isEnding_=!0,this.isDraggingBubble_?this.bubbleDragger_.endBubbleDrag(a,this.currentDragDeltaXY_):this.isDraggingBlock_?this.blockDragger_.endBlockDrag(a,this.currentDragDeltaXY_):this.isDraggingWorkspace_?this.workspaceDragger_.endDrag(this.currentDragDeltaXY_):this.isBubbleClick_()?this.doBubbleClick_():this.isFieldClick_()?this.doFieldClick_():
+this.isBlockClick_()?this.doBlockClick_():this.isWorkspaceClick_()&&this.doWorkspaceClick_(),a.preventDefault(),a.stopPropagation(),this.dispose())};
+Blockly.Gesture.prototype.cancel=function(){this.isEnding_||(Blockly.longStop_(),this.isDraggingBubble_?this.bubbleDragger_.endBubbleDrag(this.mostRecentEvent_,this.currentDragDeltaXY_):this.isDraggingBlock_?this.blockDragger_.endBlockDrag(this.mostRecentEvent_,this.currentDragDeltaXY_):this.isDraggingWorkspace_&&this.workspaceDragger_.endDrag(this.currentDragDeltaXY_),this.dispose())};
+Blockly.Gesture.prototype.handleRightClick=function(a){this.targetBlock_?(this.bringBlockToFront_(),Blockly.hideChaff(this.flyout_),this.targetBlock_.showContextMenu_(a)):this.startBubble_?this.startBubble_.showContextMenu_(a):this.startWorkspace_&&!this.flyout_&&(Blockly.hideChaff(),this.startWorkspace_.showContextMenu_(a));a.preventDefault();a.stopPropagation();this.dispose()};
+Blockly.Gesture.prototype.handleWsStart=function(a,b){if(this.hasStarted_)throw Error("Tried to call gesture.handleWsStart, but the gesture had already been started.");this.setStartWorkspace_(b);this.mostRecentEvent_=a;this.doStart(a)};Blockly.Gesture.prototype.handleFlyoutStart=function(a,b){if(this.hasStarted_)throw Error("Tried to call gesture.handleFlyoutStart, but the gesture had already been started.");this.setStartFlyout_(b);this.handleWsStart(a,b.getWorkspace())};
+Blockly.Gesture.prototype.handleBlockStart=function(a,b){if(this.hasStarted_)throw Error("Tried to call gesture.handleBlockStart, but the gesture had already been started.");this.setStartBlock(b);this.mostRecentEvent_=a};Blockly.Gesture.prototype.handleBubbleStart=function(a,b){if(this.hasStarted_)throw Error("Tried to call gesture.handleBubbleStart, but the gesture had already been started.");this.setStartBubble(b);this.mostRecentEvent_=a};
+Blockly.Gesture.prototype.doBubbleClick_=function(){this.startBubble_.setFocus&&this.startBubble_.setFocus();this.startBubble_.select&&this.startBubble_.select()};Blockly.Gesture.prototype.doFieldClick_=function(){this.startField_.showEditor_();this.bringBlockToFront_()};
+Blockly.Gesture.prototype.doBlockClick_=function(){this.flyout_&&this.flyout_.autoClose?this.targetBlock_.disabled||(Blockly.Events.getGroup()||Blockly.Events.setGroup(!0),this.flyout_.createBlock(this.targetBlock_).scheduleSnapAndBump()):Blockly.Events.fire(new Blockly.Events.Ui(this.startBlock_,"click",void 0,void 0));this.bringBlockToFront_();Blockly.Events.setGroup(!1)};Blockly.Gesture.prototype.doWorkspaceClick_=function(){Blockly.selected&&Blockly.selected.unselect()};
+Blockly.Gesture.prototype.bringBlockToFront_=function(){this.targetBlock_&&!this.flyout_&&this.targetBlock_.bringToFront()};Blockly.Gesture.prototype.setStartField=function(a){if(this.hasStarted_)throw Error("Tried to call gesture.setStartField, but the gesture had already been started.");this.startField_||(this.startField_=a)};Blockly.Gesture.prototype.setStartBubble=function(a){this.startBubble_||(this.startBubble_=a)};
+Blockly.Gesture.prototype.setStartBlock=function(a){this.startBlock_||this.startBubble_||(this.startBlock_=a,a.isInFlyout&&a!=a.getRootBlock()?this.setTargetBlock_(a.getRootBlock()):this.setTargetBlock_(a))};Blockly.Gesture.prototype.setTargetBlock_=function(a){a.isShadow()?this.setTargetBlock_(a.getParent()):this.targetBlock_=a};Blockly.Gesture.prototype.setStartWorkspace_=function(a){this.startWorkspace_||(this.startWorkspace_=a)};
+Blockly.Gesture.prototype.setStartFlyout_=function(a){this.flyout_||(this.flyout_=a)};Blockly.Gesture.prototype.isBubbleClick_=function(){return!!this.startBubble_&&!this.hasExceededDragRadius_};Blockly.Gesture.prototype.isBlockClick_=function(){return!!this.startBlock_&&!this.hasExceededDragRadius_&&!this.isFieldClick_()};Blockly.Gesture.prototype.isFieldClick_=function(){return(this.startField_?this.startField_.isCurrentlyEditable():!1)&&!this.hasExceededDragRadius_&&(!this.flyout_||!this.flyout_.autoClose)};
+Blockly.Gesture.prototype.isWorkspaceClick_=function(){return!this.startBlock_&&!this.startBubble_&&!this.startField_&&!this.hasExceededDragRadius_};Blockly.Gesture.prototype.isDragging=function(){return this.isDraggingWorkspace_||this.isDraggingBlock_||this.isDraggingBubble_};Blockly.Gesture.prototype.hasStarted=function(){return this.hasStarted_};Blockly.Grid=function(a,b){this.gridPattern_=a;this.spacing_=b.spacing;this.length_=b.length;this.line2_=(this.line1_=a.firstChild)&&this.line1_.nextSibling;this.snapToGrid_=b.snap};Blockly.Grid.prototype.scale_=1;Blockly.Grid.prototype.dispose=function(){this.gridPattern_=null};Blockly.Grid.prototype.shouldSnap=function(){return this.snapToGrid_};Blockly.Grid.prototype.getSpacing=function(){return this.spacing_};Blockly.Grid.prototype.getPatternId=function(){return this.gridPattern_.id};
+Blockly.Grid.prototype.update=function(a){this.scale_=a;var b=this.spacing_*a||100;this.gridPattern_.setAttribute("width",b);this.gridPattern_.setAttribute("height",b);b=Math.floor(this.spacing_/2)+.5;var c=b-this.length_/2,d=b+this.length_/2;b*=a;c*=a;d*=a;this.setLineAttributes_(this.line1_,a,c,d,b,b);this.setLineAttributes_(this.line2_,a,b,b,c,d)};
+Blockly.Grid.prototype.setLineAttributes_=function(a,b,c,d,e,f){a&&(a.setAttribute("stroke-width",b),a.setAttribute("x1",c),a.setAttribute("y1",e),a.setAttribute("x2",d),a.setAttribute("y2",f))};Blockly.Grid.prototype.moveTo=function(a,b){this.gridPattern_.setAttribute("x",a);this.gridPattern_.setAttribute("y",b);(goog.userAgent.IE||goog.userAgent.EDGE)&&this.update(this.scale_)};
+Blockly.Grid.createDom=function(a,b,c){a=Blockly.utils.createSvgElement("pattern",{id:"blocklyGridPattern"+a,patternUnits:"userSpaceOnUse"},c);0<b.length&&0<b.spacing?(Blockly.utils.createSvgElement("line",{stroke:b.colour},a),1<b.length&&Blockly.utils.createSvgElement("line",{stroke:b.colour},a)):Blockly.utils.createSvgElement("line",{},a);return a};Blockly.Options=function(a){var b=!!a.readOnly;if(b)var c=null,d=!1,e=!1,f=!1,g=!1,h=!1,k=!1;else c=Blockly.Options.parseToolboxTree(a.toolbox),d=!(!c||!c.getElementsByTagName("category").length),e=a.trashcan,void 0===e&&(e=d),f=a.collapse,void 0===f&&(f=d),g=a.comments,void 0===g&&(g=d),h=a.disable,void 0===h&&(h=d),k=a.sounds,void 0===k&&(k=!0);var l=!!a.rtl,n=a.horizontalLayout;void 0===n&&(n=!1);var m=a.toolboxPosition;m="end"===m?!1:!0;m=n?m?Blockly.TOOLBOX_AT_TOP:Blockly.TOOLBOX_AT_BOTTOM:m==
+l?Blockly.TOOLBOX_AT_RIGHT:Blockly.TOOLBOX_AT_LEFT;var p=a.scrollbars;void 0===p&&(p=d);var q=a.css;void 0===q&&(q=!0);var t="https://blockly-demo.appspot.com/static/media/";a.media?t=a.media:a.path&&(t=a.path+"media/");var r=void 0===a.oneBasedIndex?!0:!!a.oneBasedIndex;this.RTL=l;this.oneBasedIndex=r;this.collapse=f;this.comments=g;this.disable=h;this.readOnly=b;this.maxBlocks=a.maxBlocks||Infinity;this.pathToMedia=t;this.hasCategories=d;this.hasScrollbars=p;this.hasTrashcan=e;this.hasSounds=k;
+this.hasCss=q;this.horizontalLayout=n;this.languageTree=c;this.gridOptions=Blockly.Options.parseGridOptions_(a);this.zoomOptions=Blockly.Options.parseZoomOptions_(a);this.toolboxPosition=m};Blockly.Options.prototype.parentWorkspace=null;Blockly.Options.prototype.setMetrics=null;Blockly.Options.prototype.getMetrics=null;
+Blockly.Options.parseZoomOptions_=function(a){a=a.zoom||{};var b={};b.controls=void 0===a.controls?!1:!!a.controls;b.wheel=void 0===a.wheel?!1:!!a.wheel;b.startScale=void 0===a.startScale?1:parseFloat(a.startScale);b.maxScale=void 0===a.maxScale?3:parseFloat(a.maxScale);b.minScale=void 0===a.minScale?.3:parseFloat(a.minScale);b.scaleSpeed=void 0===a.scaleSpeed?1.2:parseFloat(a.scaleSpeed);return b};
+Blockly.Options.parseGridOptions_=function(a){a=a.grid||{};var b={};b.spacing=parseFloat(a.spacing)||0;b.colour=a.colour||"#888";b.length=parseFloat(a.length)||1;b.snap=0<b.spacing&&!!a.snap;return b};Blockly.Options.parseToolboxTree=function(a){a?("string"!=typeof a&&("undefined"==typeof XSLTProcessor&&a.outerHTML?a=a.outerHTML:a instanceof Element||(a=null)),"string"==typeof a&&(a=Blockly.Xml.textToDom(a))):a=null;return a};Blockly.ScrollbarPair=function(a){this.workspace_=a;this.hScroll=new Blockly.Scrollbar(a,!0,!0,"blocklyMainWorkspaceScrollbar");this.vScroll=new Blockly.Scrollbar(a,!1,!0,"blocklyMainWorkspaceScrollbar");this.corner_=Blockly.utils.createSvgElement("rect",{height:Blockly.Scrollbar.scrollbarThickness,width:Blockly.Scrollbar.scrollbarThickness,"class":"blocklyScrollbarBackground"},null);Blockly.utils.insertAfter(this.corner_,a.getBubbleCanvas())};Blockly.ScrollbarPair.prototype.oldHostMetrics_=null;
+Blockly.ScrollbarPair.prototype.dispose=function(){Blockly.utils.removeNode(this.corner_);this.oldHostMetrics_=this.workspace_=this.corner_=null;this.hScroll.dispose();this.hScroll=null;this.vScroll.dispose();this.vScroll=null};
+Blockly.ScrollbarPair.prototype.resize=function(){var a=this.workspace_.getMetrics();if(a){var b=!1,c=!1;this.oldHostMetrics_&&this.oldHostMetrics_.viewWidth==a.viewWidth&&this.oldHostMetrics_.viewHeight==a.viewHeight&&this.oldHostMetrics_.absoluteTop==a.absoluteTop&&this.oldHostMetrics_.absoluteLeft==a.absoluteLeft?(this.oldHostMetrics_&&this.oldHostMetrics_.contentWidth==a.contentWidth&&this.oldHostMetrics_.viewLeft==a.viewLeft&&this.oldHostMetrics_.contentLeft==a.contentLeft||(b=!0),this.oldHostMetrics_&&
+this.oldHostMetrics_.contentHeight==a.contentHeight&&this.oldHostMetrics_.viewTop==a.viewTop&&this.oldHostMetrics_.contentTop==a.contentTop||(c=!0)):c=b=!0;b&&this.hScroll.resize(a);c&&this.vScroll.resize(a);this.oldHostMetrics_&&this.oldHostMetrics_.viewWidth==a.viewWidth&&this.oldHostMetrics_.absoluteLeft==a.absoluteLeft||this.corner_.setAttribute("x",this.vScroll.position_.x);this.oldHostMetrics_&&this.oldHostMetrics_.viewHeight==a.viewHeight&&this.oldHostMetrics_.absoluteTop==a.absoluteTop||this.corner_.setAttribute("y",
+this.hScroll.position_.y);this.oldHostMetrics_=a}};Blockly.ScrollbarPair.prototype.set=function(a,b){var c={},d=a*this.hScroll.ratio_,e=b*this.vScroll.ratio_,f=this.vScroll.scrollViewSize_;c.x=this.getRatio_(d,this.hScroll.scrollViewSize_);c.y=this.getRatio_(e,f);this.workspace_.setMetrics(c);this.hScroll.setHandlePosition(d);this.vScroll.setHandlePosition(e)};Blockly.ScrollbarPair.prototype.getRatio_=function(a,b){var c=a/b;return isNaN(c)?0:c};
+Blockly.Scrollbar=function(a,b,c,d){this.workspace_=a;this.pair_=c||!1;this.horizontal_=b;this.oldHostMetrics_=null;this.createDom_(d);this.position_=new goog.math.Coordinate(0,0);a=Blockly.Scrollbar.scrollbarThickness;b?(this.svgBackground_.setAttribute("height",a),this.outerSvg_.setAttribute("height",a),this.svgHandle_.setAttribute("height",a-5),this.svgHandle_.setAttribute("y",2.5),this.lengthAttribute_="width",this.positionAttribute_="x"):(this.svgBackground_.setAttribute("width",a),this.outerSvg_.setAttribute("width",
+a),this.svgHandle_.setAttribute("width",a-5),this.svgHandle_.setAttribute("x",2.5),this.lengthAttribute_="height",this.positionAttribute_="y");this.onMouseDownBarWrapper_=Blockly.bindEventWithChecks_(this.svgBackground_,"mousedown",this,this.onMouseDownBar_);this.onMouseDownHandleWrapper_=Blockly.bindEventWithChecks_(this.svgHandle_,"mousedown",this,this.onMouseDownHandle_)};Blockly.Scrollbar.prototype.origin_=new goog.math.Coordinate(0,0);Blockly.Scrollbar.prototype.startDragMouse_=0;
+Blockly.Scrollbar.prototype.scrollViewSize_=0;Blockly.Scrollbar.prototype.handleLength_=0;Blockly.Scrollbar.prototype.handlePosition_=0;Blockly.Scrollbar.prototype.isVisible_=!0;Blockly.Scrollbar.prototype.containerVisible_=!0;Blockly.Scrollbar.scrollbarThickness=15;goog.events.BrowserFeature.TOUCH_ENABLED&&(Blockly.Scrollbar.scrollbarThickness=25);
+Blockly.Scrollbar.metricsAreEquivalent_=function(a,b){return a&&b&&a.viewWidth==b.viewWidth&&a.viewHeight==b.viewHeight&&a.viewLeft==b.viewLeft&&a.viewTop==b.viewTop&&a.absoluteTop==b.absoluteTop&&a.absoluteLeft==b.absoluteLeft&&a.contentWidth==b.contentWidth&&a.contentHeight==b.contentHeight&&a.contentLeft==b.contentLeft&&a.contentTop==b.contentTop?!0:!1};
+Blockly.Scrollbar.prototype.dispose=function(){this.cleanUp_();Blockly.unbindEvent_(this.onMouseDownBarWrapper_);this.onMouseDownBarWrapper_=null;Blockly.unbindEvent_(this.onMouseDownHandleWrapper_);this.onMouseDownHandleWrapper_=null;Blockly.utils.removeNode(this.outerSvg_);this.workspace_=this.svgHandle_=this.svgBackground_=this.svgGroup_=this.outerSvg_=null};Blockly.Scrollbar.prototype.setHandleLength_=function(a){this.handleLength_=a;this.svgHandle_.setAttribute(this.lengthAttribute_,this.handleLength_)};
+Blockly.Scrollbar.prototype.setHandlePosition=function(a){this.handlePosition_=a;this.svgHandle_.setAttribute(this.positionAttribute_,this.handlePosition_)};Blockly.Scrollbar.prototype.setScrollViewSize_=function(a){this.scrollViewSize_=a;this.outerSvg_.setAttribute(this.lengthAttribute_,this.scrollViewSize_);this.svgBackground_.setAttribute(this.lengthAttribute_,this.scrollViewSize_)};Blockly.ScrollbarPair.prototype.setContainerVisible=function(a){this.hScroll.setContainerVisible(a);this.vScroll.setContainerVisible(a)};
+Blockly.Scrollbar.prototype.setPosition_=function(a,b){this.position_.x=a;this.position_.y=b;Blockly.utils.setCssTransform(this.outerSvg_,"translate("+(this.position_.x+this.origin_.x)+"px,"+(this.position_.y+this.origin_.y)+"px)")};Blockly.Scrollbar.prototype.resize=function(a){if(!a&&(a=this.workspace_.getMetrics(),!a))return;Blockly.Scrollbar.metricsAreEquivalent_(a,this.oldHostMetrics_)||(this.oldHostMetrics_=a,this.horizontal_?this.resizeHorizontal_(a):this.resizeVertical_(a),this.onScroll_())};
+Blockly.Scrollbar.prototype.resizeHorizontal_=function(a){this.resizeViewHorizontal(a)};Blockly.Scrollbar.prototype.resizeViewHorizontal=function(a){var b=a.viewWidth-1;this.pair_&&(b-=Blockly.Scrollbar.scrollbarThickness);this.setScrollViewSize_(Math.max(0,b));b=a.absoluteLeft+.5;this.pair_&&this.workspace_.RTL&&(b+=Blockly.Scrollbar.scrollbarThickness);this.setPosition_(b,a.absoluteTop+a.viewHeight-Blockly.Scrollbar.scrollbarThickness-.5);this.resizeContentHorizontal(a)};
+Blockly.Scrollbar.prototype.resizeContentHorizontal=function(a){this.pair_||this.setVisible(this.scrollViewSize_<a.contentWidth);this.ratio_=this.scrollViewSize_/a.contentWidth;if(-Infinity==this.ratio_||Infinity==this.ratio_||isNaN(this.ratio_))this.ratio_=0;this.setHandleLength_(Math.max(0,a.viewWidth*this.ratio_));this.setHandlePosition(this.constrainHandle_((a.viewLeft-a.contentLeft)*this.ratio_))};Blockly.Scrollbar.prototype.resizeVertical_=function(a){this.resizeViewVertical(a)};
+Blockly.Scrollbar.prototype.resizeViewVertical=function(a){var b=a.viewHeight-1;this.pair_&&(b-=Blockly.Scrollbar.scrollbarThickness);this.setScrollViewSize_(Math.max(0,b));b=a.absoluteLeft+.5;this.workspace_.RTL||(b+=a.viewWidth-Blockly.Scrollbar.scrollbarThickness-1);this.setPosition_(b,a.absoluteTop+.5);this.resizeContentVertical(a)};
+Blockly.Scrollbar.prototype.resizeContentVertical=function(a){this.pair_||this.setVisible(this.scrollViewSize_<a.contentHeight);this.ratio_=this.scrollViewSize_/a.contentHeight;if(-Infinity==this.ratio_||Infinity==this.ratio_||isNaN(this.ratio_))this.ratio_=0;this.setHandleLength_(Math.max(0,a.viewHeight*this.ratio_));this.setHandlePosition(this.constrainHandle_((a.viewTop-a.contentTop)*this.ratio_))};
+Blockly.Scrollbar.prototype.createDom_=function(a){var b="blocklyScrollbar"+(this.horizontal_?"Horizontal":"Vertical");a&&(b+=" "+a);this.outerSvg_=Blockly.utils.createSvgElement("svg",{"class":b},null);this.svgGroup_=Blockly.utils.createSvgElement("g",{},this.outerSvg_);this.svgBackground_=Blockly.utils.createSvgElement("rect",{"class":"blocklyScrollbarBackground"},this.svgGroup_);a=Math.floor((Blockly.Scrollbar.scrollbarThickness-5)/2);this.svgHandle_=Blockly.utils.createSvgElement("rect",{"class":"blocklyScrollbarHandle",
+rx:a,ry:a},this.svgGroup_);Blockly.utils.insertAfter(this.outerSvg_,this.workspace_.getParentSvg())};Blockly.Scrollbar.prototype.isVisible=function(){return this.isVisible_};Blockly.Scrollbar.prototype.setContainerVisible=function(a){var b=a!=this.containerVisible_;this.containerVisible_=a;b&&this.updateDisplay_()};Blockly.Scrollbar.prototype.setVisible=function(a){var b=a!=this.isVisible();if(this.pair_)throw Error("Unable to toggle visibility of paired scrollbars.");this.isVisible_=a;b&&this.updateDisplay_()};
+Blockly.Scrollbar.prototype.updateDisplay_=function(){this.containerVisible_&&this.isVisible()?this.outerSvg_.setAttribute("display","block"):this.outerSvg_.setAttribute("display","none")};
+Blockly.Scrollbar.prototype.onMouseDownBar_=function(a){this.workspace_.markFocused();Blockly.Touch.clearTouchIdentifier();this.cleanUp_();if(Blockly.utils.isRightButton(a))a.stopPropagation();else{var b=Blockly.utils.mouseToSvg(a,this.workspace_.getParentSvg(),this.workspace_.getInverseScreenCTM());b=this.horizontal_?b.x:b.y;var c=Blockly.utils.getInjectionDivXY_(this.svgHandle_);c=this.horizontal_?c.x:c.y;var d=this.handlePosition_,e=.95*this.handleLength_;b<=c?d-=e:b>=c+this.handleLength_&&(d+=
+e);this.setHandlePosition(this.constrainHandle_(d));this.onScroll_();a.stopPropagation();a.preventDefault()}};
+Blockly.Scrollbar.prototype.onMouseDownHandle_=function(a){this.workspace_.markFocused();this.cleanUp_();Blockly.utils.isRightButton(a)?a.stopPropagation():(this.startDragHandle=this.handlePosition_,this.workspace_.setupDragSurface(),this.startDragMouse_=this.horizontal_?a.clientX:a.clientY,Blockly.Scrollbar.onMouseUpWrapper_=Blockly.bindEventWithChecks_(document,"mouseup",this,this.onMouseUpHandle_),Blockly.Scrollbar.onMouseMoveWrapper_=Blockly.bindEventWithChecks_(document,"mousemove",this,this.onMouseMoveHandle_),
+a.stopPropagation(),a.preventDefault())};Blockly.Scrollbar.prototype.onMouseMoveHandle_=function(a){this.setHandlePosition(this.constrainHandle_(this.startDragHandle+((this.horizontal_?a.clientX:a.clientY)-this.startDragMouse_)));this.onScroll_()};Blockly.Scrollbar.prototype.onMouseUpHandle_=function(){this.workspace_.resetDragSurface();Blockly.Touch.clearTouchIdentifier();this.cleanUp_()};
+Blockly.Scrollbar.prototype.cleanUp_=function(){Blockly.hideChaff(!0);Blockly.Scrollbar.onMouseUpWrapper_&&(Blockly.unbindEvent_(Blockly.Scrollbar.onMouseUpWrapper_),Blockly.Scrollbar.onMouseUpWrapper_=null);Blockly.Scrollbar.onMouseMoveWrapper_&&(Blockly.unbindEvent_(Blockly.Scrollbar.onMouseMoveWrapper_),Blockly.Scrollbar.onMouseMoveWrapper_=null)};
+Blockly.Scrollbar.prototype.constrainHandle_=function(a){return a=0>=a||isNaN(a)||this.scrollViewSize_<this.handleLength_?0:Math.min(a,this.scrollViewSize_-this.handleLength_)};Blockly.Scrollbar.prototype.onScroll_=function(){var a=this.handlePosition_/this.scrollViewSize_;isNaN(a)&&(a=0);var b={};this.horizontal_?b.x=a:b.y=a;this.workspace_.setMetrics(b)};Blockly.Scrollbar.prototype.set=function(a){this.setHandlePosition(this.constrainHandle_(a*this.ratio_));this.onScroll_()};
+Blockly.Scrollbar.prototype.setOrigin=function(a,b){this.origin_=new goog.math.Coordinate(a,b)};Blockly.TouchGesture=function(a,b){Blockly.TouchGesture.superClass_.constructor.call(this,a,b);this.isMultiTouch_=!1;this.cachedPoints_={};this.startDistance_=this.previousScale_=0;this.onStartWrapper_=null};goog.inherits(Blockly.TouchGesture,Blockly.Gesture);Blockly.TouchGesture.ZOOM_IN_MULTIPLIER=5;Blockly.TouchGesture.ZOOM_OUT_MULTIPLIER=6;Blockly.TouchGesture.prototype.doStart=function(a){Blockly.TouchGesture.superClass_.doStart.call(this,a);!this.isEnding_&&Blockly.Touch.isTouchEvent(a)&&this.handleTouchStart(a)};
+Blockly.TouchGesture.prototype.bindMouseEvents=function(a){this.onStartWrapper_=Blockly.bindEventWithChecks_(document,"mousedown",null,this.handleStart.bind(this),!0);this.onMoveWrapper_=Blockly.bindEventWithChecks_(document,"mousemove",null,this.handleMove.bind(this),!0);this.onUpWrapper_=Blockly.bindEventWithChecks_(document,"mouseup",null,this.handleUp.bind(this),!0);a.preventDefault();a.stopPropagation()};
+Blockly.TouchGesture.prototype.handleStart=function(a){!this.isDragging()&&Blockly.Touch.isTouchEvent(a)&&(this.handleTouchStart(a),this.isMultiTouch()&&Blockly.longStop_())};Blockly.TouchGesture.prototype.handleMove=function(a){this.isDragging()?Blockly.Touch.shouldHandleEvent(a)&&Blockly.TouchGesture.superClass_.handleMove.call(this,a):this.isMultiTouch()?(Blockly.Touch.isTouchEvent(a)&&this.handleTouchMove(a),Blockly.longStop_()):Blockly.TouchGesture.superClass_.handleMove.call(this,a)};
+Blockly.TouchGesture.prototype.handleUp=function(a){Blockly.Touch.isTouchEvent(a)&&!this.isDragging()&&this.handleTouchEnd(a);!this.isMultiTouch()||this.isDragging()?Blockly.Touch.shouldHandleEvent(a)&&Blockly.TouchGesture.superClass_.handleUp.call(this,a):(a.preventDefault(),a.stopPropagation(),this.dispose())};Blockly.TouchGesture.prototype.isMultiTouch=function(){return this.isMultiTouch_};
+Blockly.TouchGesture.prototype.dispose=function(){Blockly.TouchGesture.superClass_.dispose.call(this);this.onStartWrapper_&&Blockly.unbindEvent_(this.onStartWrapper_)};Blockly.TouchGesture.prototype.handleTouchStart=function(a){var b=Blockly.Touch.getTouchIdentifierFromEvent(a);this.cachedPoints_[b]=this.getTouchPoint(a);b=Object.keys(this.cachedPoints_);2==b.length&&(this.startDistance_=goog.math.Coordinate.distance(this.cachedPoints_[b[0]],this.cachedPoints_[b[1]]),this.isMultiTouch_=!0,a.preventDefault())};
+Blockly.TouchGesture.prototype.handleTouchMove=function(a){var b=Blockly.Touch.getTouchIdentifierFromEvent(a);this.cachedPoints_[b]=this.getTouchPoint(a);b=Object.keys(this.cachedPoints_);if(2==b.length){b=this.touchScale_=goog.math.Coordinate.distance(this.cachedPoints_[b[0]],this.cachedPoints_[b[1]])/this.startDistance_;if(0<this.previousScale_&&Infinity>this.previousScale_){var c=b-this.previousScale_;c=0<c?c*Blockly.TouchGesture.ZOOM_IN_MULTIPLIER:c*Blockly.TouchGesture.ZOOM_OUT_MULTIPLIER;var d=
+this.startWorkspace_,e=Blockly.utils.mouseToSvg(a,d.getParentSvg(),d.getInverseScreenCTM());d.zoom(e.x,e.y,c)}this.previousScale_=b;a.preventDefault()}};Blockly.TouchGesture.prototype.handleTouchEnd=function(a){a=Blockly.Touch.getTouchIdentifierFromEvent(a);this.cachedPoints_[a]&&delete this.cachedPoints_[a];2>Object.keys(this.cachedPoints_).length&&(this.cachedPoints_={},this.previousScale_=0)};
+Blockly.TouchGesture.prototype.getTouchPoint=function(a){return this.startWorkspace_?new goog.math.Coordinate(a.pageX?a.pageX:a.changedTouches[0].pageX,a.pageY?a.pageY:a.changedTouches[0].pageY):null};Blockly.Trashcan=function(a){this.workspace_=a};Blockly.Trashcan.prototype.WIDTH_=47;Blockly.Trashcan.prototype.BODY_HEIGHT_=44;Blockly.Trashcan.prototype.LID_HEIGHT_=16;Blockly.Trashcan.prototype.MARGIN_BOTTOM_=20;Blockly.Trashcan.prototype.MARGIN_SIDE_=20;Blockly.Trashcan.prototype.MARGIN_HOTSPOT_=10;Blockly.Trashcan.prototype.SPRITE_LEFT_=0;Blockly.Trashcan.prototype.SPRITE_TOP_=32;Blockly.Trashcan.prototype.isOpen=!1;Blockly.Trashcan.prototype.svgGroup_=null;
+Blockly.Trashcan.prototype.svgLid_=null;Blockly.Trashcan.prototype.lidTask_=0;Blockly.Trashcan.prototype.lidOpen_=0;Blockly.Trashcan.prototype.left_=0;Blockly.Trashcan.prototype.top_=0;
+Blockly.Trashcan.prototype.createDom=function(){this.svgGroup_=Blockly.utils.createSvgElement("g",{"class":"blocklyTrash"},null);var a=String(Math.random()).substring(2);var b=Blockly.utils.createSvgElement("clipPath",{id:"blocklyTrashBodyClipPath"+a},this.svgGroup_);Blockly.utils.createSvgElement("rect",{width:this.WIDTH_,height:this.BODY_HEIGHT_,y:this.LID_HEIGHT_},b);Blockly.utils.createSvgElement("image",{width:Blockly.SPRITE.width,x:-this.SPRITE_LEFT_,height:Blockly.SPRITE.height,y:-this.SPRITE_TOP_,
+"clip-path":"url(#blocklyTrashBodyClipPath"+a+")"},this.svgGroup_).setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.workspace_.options.pathToMedia+Blockly.SPRITE.url);b=Blockly.utils.createSvgElement("clipPath",{id:"blocklyTrashLidClipPath"+a},this.svgGroup_);Blockly.utils.createSvgElement("rect",{width:this.WIDTH_,height:this.LID_HEIGHT_},b);this.svgLid_=Blockly.utils.createSvgElement("image",{width:Blockly.SPRITE.width,x:-this.SPRITE_LEFT_,height:Blockly.SPRITE.height,y:-this.SPRITE_TOP_,
+"clip-path":"url(#blocklyTrashLidClipPath"+a+")"},this.svgGroup_);this.svgLid_.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.workspace_.options.pathToMedia+Blockly.SPRITE.url);Blockly.bindEventWithChecks_(this.svgGroup_,"mouseup",this,this.click);this.animateLid_();return this.svgGroup_};Blockly.Trashcan.prototype.init=function(a){this.bottom_=this.MARGIN_BOTTOM_+a;this.setOpen_(!1);return this.bottom_+this.BODY_HEIGHT_+this.LID_HEIGHT_};
+Blockly.Trashcan.prototype.dispose=function(){this.svgGroup_&&(Blockly.utils.removeNode(this.svgGroup_),this.svgGroup_=null);this.workspace_=this.svgLid_=null;clearTimeout(this.lidTask_)};
+Blockly.Trashcan.prototype.position=function(){var a=this.workspace_.getMetrics();a&&(this.workspace_.RTL?(this.left_=this.MARGIN_SIDE_+Blockly.Scrollbar.scrollbarThickness,a.toolboxPosition==Blockly.TOOLBOX_AT_LEFT&&(this.left_+=a.flyoutWidth,this.workspace_.toolbox_&&(this.left_+=a.absoluteLeft))):(this.left_=a.viewWidth+a.absoluteLeft-this.WIDTH_-this.MARGIN_SIDE_-Blockly.Scrollbar.scrollbarThickness,a.toolboxPosition==Blockly.TOOLBOX_AT_RIGHT&&(this.left_-=a.flyoutWidth)),this.top_=a.viewHeight+
+a.absoluteTop-(this.BODY_HEIGHT_+this.LID_HEIGHT_)-this.bottom_,a.toolboxPosition==Blockly.TOOLBOX_AT_BOTTOM&&(this.top_-=a.flyoutHeight),this.svgGroup_.setAttribute("transform","translate("+this.left_+","+this.top_+")"))};
+Blockly.Trashcan.prototype.getClientRect=function(){if(!this.svgGroup_)return null;var a=this.svgGroup_.getBoundingClientRect();return new goog.math.Rect(a.left+this.SPRITE_LEFT_-this.MARGIN_HOTSPOT_,a.top+this.SPRITE_TOP_-this.MARGIN_HOTSPOT_,this.WIDTH_+2*this.MARGIN_HOTSPOT_,this.LID_HEIGHT_+this.BODY_HEIGHT_+2*this.MARGIN_HOTSPOT_)};Blockly.Trashcan.prototype.setOpen_=function(a){this.isOpen!=a&&(clearTimeout(this.lidTask_),this.isOpen=a,this.animateLid_())};
+Blockly.Trashcan.prototype.animateLid_=function(){this.lidOpen_+=this.isOpen?.2:-.2;this.lidOpen_=Math.min(Math.max(this.lidOpen_,0),1);var a=45*this.lidOpen_;this.svgLid_.setAttribute("transform","rotate("+(this.workspace_.RTL?-a:a)+","+(this.workspace_.RTL?4:this.WIDTH_-4)+","+(this.LID_HEIGHT_-2)+")");this.svgGroup_.style.opacity=.4+.4*this.lidOpen_;0<this.lidOpen_&&1>this.lidOpen_&&(this.lidTask_=setTimeout(this.animateLid_.bind(this),20))};Blockly.Trashcan.prototype.close=function(){this.setOpen_(!1)};
+Blockly.Trashcan.prototype.click=function(){var a=this.workspace_.startScrollX-this.workspace_.scrollX,b=this.workspace_.startScrollY-this.workspace_.scrollY;Math.sqrt(a*a+b*b)>Blockly.DRAG_RADIUS||console.log("TODO: Inspect trash.")};Blockly.VariableModel=function(a,b,c,d){this.workspace=a;this.name=b;this.type=c||"";this.id_=d||Blockly.utils.genUid();Blockly.Events.fire(new Blockly.Events.VarCreate(this))};Blockly.VariableModel.prototype.getId=function(){return this.id_};Blockly.VariableModel.compareByName=function(a,b){var c=a.name.toLowerCase(),d=b.name.toLowerCase();return c<d?-1:c==d?0:1};Blockly.Variables={};Blockly.Variables.NAME_TYPE=Blockly.VARIABLE_CATEGORY_NAME;Blockly.Variables.allUsedVarModels=function(a){var b=a.getAllBlocks();a=Object.create(null);for(var c=0;c<b.length;c++){var d=b[c].getVarModels();if(d)for(var e=0;e<d.length;e++){var f=d[e];f.getId()&&(a[f.getId()]=f)}}b=[];for(var g in a)b.push(a[g]);return b};Blockly.Variables.allUsedVariables=function(){console.warn("Deprecated call to Blockly.Variables.allUsedVariables. Use Blockly.Variables.allUsedVarModels instead.\nIf this is a major issue please file a bug on GitHub.")};
+Blockly.Variables.ALL_DEVELOPER_VARS_WARNINGS_BY_BLOCK_TYPE_={};
+Blockly.Variables.allDeveloperVariables=function(a){var b=a.getAllBlocks();a={};for(var c=0;c<b.length;c++){var d=b[c],e=d.getDeveloperVariables;!e&&d.getDeveloperVars&&(e=d.getDeveloperVars,Blockly.Variables.ALL_DEVELOPER_VARS_WARNINGS_BY_BLOCK_TYPE_[d.type]||(console.warn("Function getDeveloperVars() deprecated. Use getDeveloperVariables() (block type '"+d.type+"')"),Blockly.Variables.ALL_DEVELOPER_VARS_WARNINGS_BY_BLOCK_TYPE_[d.type]=!0));if(e)for(d=e(),e=0;e<d.length;e++)a[d[e]]=d[e]}b=[];for(var f in a)b.push(a[f]);
+return b};Blockly.Variables.flyoutCategory=function(a){var b=[],c=goog.dom.createDom("button");c.setAttribute("text","%{BKY_NEW_VARIABLE}");c.setAttribute("callbackKey","CREATE_VARIABLE");a.registerButtonCallback("CREATE_VARIABLE",function(a){Blockly.Variables.createVariableButtonHandler(a.getTargetWorkspace())});b.push(c);a=Blockly.Variables.flyoutCategoryBlocks(a);return b=b.concat(a)};
+Blockly.Variables.flyoutCategoryBlocks=function(a){a=a.getVariablesOfType("");a.sort(Blockly.VariableModel.compareByName);var b=[];if(0<a.length){var c=a[0];if(Blockly.Blocks.variables_set){var d=Blockly.Blocks.math_change?8:24;d='<xml><block type="variables_set" gap="'+d+'">'+Blockly.Variables.generateVariableFieldXmlString(c)+"</block></xml>";d=Blockly.Xml.textToDom(d).firstChild;b.push(d)}Blockly.Blocks.math_change&&(d=Blockly.Blocks.variables_get?20:8,d='<xml><block type="math_change" gap="'+
+d+'">'+Blockly.Variables.generateVariableFieldXmlString(c)+'<value name="DELTA"><shadow type="math_number"><field name="NUM">1</field></shadow></value></block></xml>',d=Blockly.Xml.textToDom(d).firstChild,b.push(d));for(c=0;d=a[c];c++)Blockly.Blocks.variables_get&&(d='<xml><block type="variables_get" gap="8">'+Blockly.Variables.generateVariableFieldXmlString(d)+"</block></xml>",d=Blockly.Xml.textToDom(d).firstChild,b.push(d))}return b};
+Blockly.Variables.generateUniqueName=function(a){a=a.getAllVariables();var b="";if(a.length)for(var c=1,d=0,e="ijkmnopqrstuvwxyzabcdefgh".charAt(d);!b;){for(var f=!1,g=0;g<a.length;g++)if(a[g].name.toLowerCase()==e){f=!0;break}f?(d++,25==d&&(d=0,c++),e="ijkmnopqrstuvwxyzabcdefgh".charAt(d),1<c&&(e+=c)):b=e}else b="i";return b};
+Blockly.Variables.createVariableButtonHandler=function(a,b,c){var d=c||"",e=function(c){Blockly.Variables.promptName(Blockly.Msg.NEW_VARIABLE_TITLE,c,function(c){if(c){var f=Blockly.Variables.nameUsedWithAnyType_(c,a);if(f){var g=c.toLowerCase();if(f.type==d)var l=Blockly.Msg.VARIABLE_ALREADY_EXISTS.replace("%1",g);else l=Blockly.Msg.VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE,l=l.replace("%1",g).replace("%2",f.type);Blockly.alert(l,function(){e(c)})}else a.createVariable(c,d),b&&b(c)}else b&&b(null)})};
+e("")};goog.exportSymbol("Blockly.Variables.createVariableButtonHandler",Blockly.Variables.createVariableButtonHandler);Blockly.Variables.createVariable=Blockly.Variables.createVariableButtonHandler;goog.exportSymbol("Blockly.Variables.createVariable",Blockly.Variables.createVariable);
+Blockly.Variables.renameVariable=function(a,b,c){var d=function(e){var f=Blockly.Msg.RENAME_VARIABLE_TITLE.replace("%1",b.name);Blockly.Variables.promptName(f,e,function(e){if(e){var f=Blockly.Variables.nameUsedWithOtherType_(e,b.type,a);f?(f=Blockly.Msg.VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE.replace("%1",e.toLowerCase()).replace("%2",f.type),Blockly.alert(f,function(){d(e)})):(a.renameVariableById(b.getId(),e),c&&c(e))}else c&&c(null)})};d("")};
+Blockly.Variables.promptName=function(a,b,c){Blockly.prompt(a,b,function(a){a&&(a=a.replace(/[\s\xa0]+/g," ").replace(/^ | $/g,""),a==Blockly.Msg.RENAME_VARIABLE||a==Blockly.Msg.NEW_VARIABLE)&&(a=null);c(a)})};Blockly.Variables.nameUsedWithOtherType_=function(a,b,c){c=c.getVariableMap().getAllVariables();a=a.toLowerCase();for(var d=0,e;e=c[d];d++)if(e.name.toLowerCase()==a&&e.type!=b)return e;return null};
+Blockly.Variables.nameUsedWithAnyType_=function(a,b){var c=b.getVariableMap().getAllVariables();a=a.toLowerCase();for(var d=0,e;e=c[d];d++)if(e.name.toLowerCase()==a)return e;return null};Blockly.Variables.generateVariableFieldXmlString=function(a){var b=a.type;""==b&&(b="''");return'<field name="VAR" id="'+a.getId()+'" variabletype="'+goog.string.htmlEscape(b)+'">'+goog.string.htmlEscape(a.name)+"</field>"};
+Blockly.Variables.generateVariableFieldDom=function(a){a=Blockly.Variables.generateVariableFieldXmlString(a);return Blockly.Xml.textToDom("<xml>"+a+"</xml>").firstChild};Blockly.Variables.getOrCreateVariablePackage=function(a,b,c,d){var e=Blockly.Variables.getVariable(a,b,c,d);e||(e=Blockly.Variables.createVariable_(a,b,c,d));return e};
+Blockly.Variables.getVariable=function(a,b,c,d){var e=a.getPotentialVariableMap();if(b){var f=a.getVariableById(b);!f&&e&&(f=e.getVariableById(b))}else if(c){if(void 0==d)throw Error("Tried to look up a variable by name without a type");f=a.getVariable(c,d);!f&&e&&(f=e.getVariable(c,d))}return f};
+Blockly.Variables.createVariable_=function(a,b,c,d){var e=a.getPotentialVariableMap();c||(c=Blockly.Variables.generateUniqueName(a.isFlyout?a.targetWorkspace:a));return e?e.createVariable(c,d,b):a.createVariable(c,d,b)};Blockly.Variables.getAddedVariables=function(a,b){var c=a.getAllVariables(),d=[];if(b.length!=c.length)for(var e=0;e<c.length;e++){var f=c[e];-1==b.indexOf(f)&&d.push(f)}return d};Blockly.VariablesDynamic={};Blockly.VariablesDynamic.onCreateVariableButtonClick_String=function(a){Blockly.Variables.createVariableButtonHandler(a.getTargetWorkspace(),null,"String")};Blockly.VariablesDynamic.onCreateVariableButtonClick_Number=function(a){Blockly.Variables.createVariableButtonHandler(a.getTargetWorkspace(),null,"Number")};Blockly.VariablesDynamic.onCreateVariableButtonClick_Colour=function(a){Blockly.Variables.createVariableButtonHandler(a.getTargetWorkspace(),null,"Colour")};
+Blockly.VariablesDynamic.flyoutCategory=function(a){var b=[],c=goog.dom.createDom("button");c.setAttribute("text",Blockly.Msg.NEW_STRING_VARIABLE);c.setAttribute("callbackKey","CREATE_VARIABLE_STRING");b.push(c);c=goog.dom.createDom("button");c.setAttribute("text",Blockly.Msg.NEW_NUMBER_VARIABLE);c.setAttribute("callbackKey","CREATE_VARIABLE_NUMBER");b.push(c);c=goog.dom.createDom("button");c.setAttribute("text",Blockly.Msg.NEW_COLOUR_VARIABLE);c.setAttribute("callbackKey","CREATE_VARIABLE_COLOUR");
+b.push(c);a.registerButtonCallback("CREATE_VARIABLE_STRING",Blockly.VariablesDynamic.onCreateVariableButtonClick_String);a.registerButtonCallback("CREATE_VARIABLE_NUMBER",Blockly.VariablesDynamic.onCreateVariableButtonClick_Number);a.registerButtonCallback("CREATE_VARIABLE_COLOUR",Blockly.VariablesDynamic.onCreateVariableButtonClick_Colour);a=Blockly.VariablesDynamic.flyoutCategoryBlocks(a);return b=b.concat(a)};
+Blockly.VariablesDynamic.flyoutCategoryBlocks=function(a){a=a.getAllVariables();a.sort(Blockly.VariableModel.compareByName);var b=[];if(0<a.length){if(Blockly.Blocks.variables_set_dynamic){var c='<xml><block type="variables_set_dynamic" gap="24">'+Blockly.Variables.generateVariableFieldXmlString(a[0])+"</block></xml>";c=Blockly.Xml.textToDom(c).firstChild;b.push(c)}if(Blockly.Blocks.variables_get_dynamic)for(var d=0;c=a[d];d++)c='<xml><block type="variables_get_dynamic" gap="8">'+Blockly.Variables.generateVariableFieldXmlString(c)+
+"</block></xml>",c=Blockly.Xml.textToDom(c).firstChild,b.push(c)}return b};Blockly.WorkspaceAudio=function(a){this.parentWorkspace_=a;this.SOUNDS_=Object.create(null)};Blockly.WorkspaceAudio.prototype.lastSound_=null;Blockly.WorkspaceAudio.prototype.dispose=function(){this.SOUNDS_=this.parentWorkspace_=null};Blockly.WorkspaceAudio.prototype.load=function(a,b){if(a.length){try{var c=new window.Audio}catch(h){return}for(var d,e=0;e<a.length;e++){var f=a[e],g=f.match(/\.(\w+)$/);if(g&&c.canPlayType("audio/"+g[1])){d=new window.Audio(f);break}}d&&d.play&&(this.SOUNDS_[b]=d)}};
+Blockly.WorkspaceAudio.prototype.preload=function(){for(var a in this.SOUNDS_){var b=this.SOUNDS_[a];b.volume=.01;b.play();b.pause();if(goog.userAgent.IPAD||goog.userAgent.IPHONE)break}};
+Blockly.WorkspaceAudio.prototype.play=function(a,b){var c=this.SOUNDS_[a];if(c){var d=new Date;null!=this.lastSound_&&d-this.lastSound_<Blockly.SOUND_LIMIT||(this.lastSound_=d,c=goog.userAgent.DOCUMENT_MODE&&9===goog.userAgent.DOCUMENT_MODE||goog.userAgent.IPAD||goog.userAgent.ANDROID?c:c.cloneNode(),c.volume=void 0===b?1:b,c.play())}else this.parentWorkspace_&&this.parentWorkspace_.getAudioManager().play(a,b)};Blockly.WorkspaceCommentSvg.render={};Blockly.WorkspaceCommentSvg.RESIZE_SIZE=8;Blockly.WorkspaceCommentSvg.BORDER_RADIUS=3;Blockly.WorkspaceCommentSvg.TEXTAREA_OFFSET=2;Blockly.WorkspaceCommentSvg.TOP_OFFSET=10;Blockly.WorkspaceCommentSvg.prototype.getHeightWidth=function(){return{width:this.getWidth(),height:this.getHeight()}};
+Blockly.WorkspaceCommentSvg.prototype.render=function(){if(!this.rendered_){var a=this.getHeightWidth();this.createEditor_();this.svgGroup_.appendChild(this.foreignObject_);this.svgHandleTarget_=Blockly.utils.createSvgElement("rect",{"class":"blocklyCommentHandleTarget",x:0,y:0});this.svgGroup_.appendChild(this.svgHandleTarget_);this.svgRectTarget_=Blockly.utils.createSvgElement("rect",{"class":"blocklyCommentTarget",x:0,y:0,rx:Blockly.WorkspaceCommentSvg.BORDER_RADIUS,ry:Blockly.WorkspaceCommentSvg.BORDER_RADIUS});
+this.svgGroup_.appendChild(this.svgRectTarget_);this.addResizeDom_();this.isDeletable()&&this.addDeleteDom_();this.setSize_(a.width,a.height);this.textarea_.value=this.content_;this.rendered_=!0;this.resizeGroup_&&Blockly.bindEventWithChecks_(this.resizeGroup_,"mousedown",this,this.resizeMouseDown_);this.isDeletable()&&(Blockly.bindEventWithChecks_(this.deleteGroup_,"mousedown",this,this.deleteMouseDown_),Blockly.bindEventWithChecks_(this.deleteGroup_,"mouseout",this,this.deleteMouseOut_),Blockly.bindEventWithChecks_(this.deleteGroup_,
+"mouseup",this,this.deleteMouseUp_))}};
+Blockly.WorkspaceCommentSvg.prototype.createEditor_=function(){this.foreignObject_=Blockly.utils.createSvgElement("foreignObject",{x:0,y:Blockly.WorkspaceCommentSvg.TOP_OFFSET,"class":"blocklyCommentForeignObject"},null);var a=document.createElementNS(Blockly.HTML_NS,"body");a.setAttribute("xmlns",Blockly.HTML_NS);a.className="blocklyMinimalBody";var b=document.createElementNS(Blockly.HTML_NS,"textarea");b.className="blocklyCommentTextarea";b.setAttribute("dir",this.RTL?"RTL":"LTR");a.appendChild(b);
+this.textarea_=b;this.foreignObject_.appendChild(a);Blockly.bindEventWithChecks_(b,"wheel",this,function(a){a.stopPropagation()});Blockly.bindEventWithChecks_(b,"change",this,function(a){this.setContent(b.value)});return this.foreignObject_};
+Blockly.WorkspaceCommentSvg.prototype.addResizeDom_=function(){this.resizeGroup_=Blockly.utils.createSvgElement("g",{"class":this.RTL?"blocklyResizeSW":"blocklyResizeSE"},this.svgGroup_);var a=Blockly.WorkspaceCommentSvg.RESIZE_SIZE;Blockly.utils.createSvgElement("polygon",{points:"0,x x,x x,0".replace(/x/g,a.toString())},this.resizeGroup_);Blockly.utils.createSvgElement("line",{"class":"blocklyResizeLine",x1:a/3,y1:a-1,x2:a-1,y2:a/3},this.resizeGroup_);Blockly.utils.createSvgElement("line",{"class":"blocklyResizeLine",
+x1:2*a/3,y1:a-1,x2:a-1,y2:2*a/3},this.resizeGroup_)};
+Blockly.WorkspaceCommentSvg.prototype.addDeleteDom_=function(){this.deleteGroup_=Blockly.utils.createSvgElement("g",{"class":"blocklyCommentDeleteIcon"},this.svgGroup_);this.deleteIconBorder_=Blockly.utils.createSvgElement("circle",{"class":"blocklyDeleteIconShape",r:"7",cx:"7.5",cy:"7.5"},this.deleteGroup_);Blockly.utils.createSvgElement("line",{x1:"5",y1:"10",x2:"10",y2:"5",stroke:"#fff","stroke-width":"2"},this.deleteGroup_);Blockly.utils.createSvgElement("line",{x1:"5",y1:"5",x2:"10",y2:"10",
+stroke:"#fff","stroke-width":"2"},this.deleteGroup_)};
+Blockly.WorkspaceCommentSvg.prototype.resizeMouseDown_=function(a){this.unbindDragEvents_();Blockly.utils.isRightButton(a)||(this.workspace.startDrag(a,new goog.math.Coordinate(this.workspace.RTL?-this.width_:this.width_,this.height_)),this.onMouseUpWrapper_=Blockly.bindEventWithChecks_(document,"mouseup",this,this.resizeMouseUp_),this.onMouseMoveWrapper_=Blockly.bindEventWithChecks_(document,"mousemove",this,this.resizeMouseMove_),Blockly.hideChaff());a.stopPropagation()};
+Blockly.WorkspaceCommentSvg.prototype.deleteMouseDown_=function(a){Blockly.utils.addClass(this.deleteIconBorder_,"blocklyDeleteIconHighlighted");a.stopPropagation()};Blockly.WorkspaceCommentSvg.prototype.deleteMouseOut_=function(){Blockly.utils.removeClass(this.deleteIconBorder_,"blocklyDeleteIconHighlighted")};Blockly.WorkspaceCommentSvg.prototype.deleteMouseUp_=function(a){this.dispose(!0,!0);a.stopPropagation()};
+Blockly.WorkspaceCommentSvg.prototype.unbindDragEvents_=function(){this.onMouseUpWrapper_&&(Blockly.unbindEvent_(this.onMouseUpWrapper_),this.onMouseUpWrapper_=null);this.onMouseMoveWrapper_&&(Blockly.unbindEvent_(this.onMouseMoveWrapper_),this.onMouseMoveWrapper_=null)};Blockly.WorkspaceCommentSvg.prototype.resizeMouseUp_=function(){Blockly.Touch.clearTouchIdentifier();this.unbindDragEvents_()};
+Blockly.WorkspaceCommentSvg.prototype.resizeMouseMove_=function(a){this.autoLayout_=!1;a=this.workspace.moveDrag(a);this.setSize_(this.RTL?-a.x:a.x,a.y)};
+Blockly.WorkspaceCommentSvg.prototype.resizeComment_=function(){var a=this.getHeightWidth(),b=Blockly.WorkspaceCommentSvg.TOP_OFFSET,c=2*Blockly.WorkspaceCommentSvg.TEXTAREA_OFFSET;this.foreignObject_.setAttribute("width",a.width);this.foreignObject_.setAttribute("height",a.height-b);this.RTL&&this.foreignObject_.setAttribute("x",-a.width);this.textarea_.style.width=a.width-c+"px";this.textarea_.style.height=a.height-c-b+"px"};
+Blockly.WorkspaceCommentSvg.prototype.setSize_=function(a,b){a=Math.max(a,45);b=Math.max(b,20+Blockly.WorkspaceCommentSvg.TOP_OFFSET);this.width_=a;this.height_=b;this.svgRect_.setAttribute("width",a);this.svgRect_.setAttribute("height",b);this.svgRectTarget_.setAttribute("width",a);this.svgRectTarget_.setAttribute("height",b);this.svgHandleTarget_.setAttribute("width",a);this.svgHandleTarget_.setAttribute("height",Blockly.WorkspaceCommentSvg.TOP_OFFSET);this.RTL&&(this.svgRect_.setAttribute("transform",
+"scale(-1 1)"),this.svgRectTarget_.setAttribute("transform","scale(-1 1)"));var c=Blockly.WorkspaceCommentSvg.RESIZE_SIZE;this.resizeGroup_&&(this.RTL?(this.resizeGroup_.setAttribute("transform","translate("+(-a+c)+","+(b-c)+") scale(-1 1)"),this.deleteGroup_.setAttribute("transform","translate("+(-a+c)+","+-c+") scale(-1 1)")):(this.resizeGroup_.setAttribute("transform","translate("+(a-c)+","+(b-c)+")"),this.deleteGroup_.setAttribute("transform","translate("+(a-c)+","+-c+")")));this.resizeComment_()};
+Blockly.WorkspaceCommentSvg.prototype.disposeInternal_=function(){this.svgHandleTarget_=this.svgRectTarget_=this.foreignObject_=this.textarea_=null};Blockly.WorkspaceCommentSvg.prototype.setFocus=function(){var a=this;this.focused_=!0;setTimeout(function(){a.textarea_.focus();a.addFocus();Blockly.utils.addClass(a.svgRectTarget_,"blocklyCommentTargetFocused");Blockly.utils.addClass(a.svgHandleTarget_,"blocklyCommentHandleTargetFocused")},0)};
+Blockly.WorkspaceCommentSvg.prototype.blurFocus=function(){var a=this;this.focused_=!1;setTimeout(function(){a.textarea_.blur();a.removeFocus();Blockly.utils.removeClass(a.svgRectTarget_,"blocklyCommentTargetFocused");Blockly.utils.removeClass(a.svgHandleTarget_,"blocklyCommentHandleTargetFocused")},0)};Blockly.WorkspaceDragSurfaceSvg=function(a){this.container_=a;this.createDom()};Blockly.WorkspaceDragSurfaceSvg.prototype.SVG_=null;Blockly.WorkspaceDragSurfaceSvg.prototype.dragGroup_=null;Blockly.WorkspaceDragSurfaceSvg.prototype.container_=null;
+Blockly.WorkspaceDragSurfaceSvg.prototype.createDom=function(){this.SVG_||(this.SVG_=Blockly.utils.createSvgElement("svg",{xmlns:Blockly.SVG_NS,"xmlns:html":Blockly.HTML_NS,"xmlns:xlink":"http://www.w3.org/1999/xlink",version:"1.1","class":"blocklyWsDragSurface blocklyOverflowVisible"},null),this.container_.appendChild(this.SVG_))};
+Blockly.WorkspaceDragSurfaceSvg.prototype.translateSurface=function(a,b){var c=a.toFixed(0),d=b.toFixed(0);this.SVG_.style.display="block";Blockly.utils.setCssTransform(this.SVG_,"translate3d("+c+"px, "+d+"px, 0px)")};Blockly.WorkspaceDragSurfaceSvg.prototype.getSurfaceTranslation=function(){return Blockly.utils.getRelativeXY(this.SVG_)};
+Blockly.WorkspaceDragSurfaceSvg.prototype.clearAndHide=function(a){if(!a)throw Error("Couldn't clear and hide the drag surface: missing new surface.");var b=this.SVG_.childNodes[0],c=this.SVG_.childNodes[1];if(!(b&&c&&Blockly.utils.hasClass(b,"blocklyBlockCanvas")&&Blockly.utils.hasClass(c,"blocklyBubbleCanvas")))throw Error("Couldn't clear and hide the drag surface. A node was missing.");null!=this.previousSibling_?Blockly.utils.insertAfter(b,this.previousSibling_):a.insertBefore(b,a.firstChild);
+Blockly.utils.insertAfter(c,b);this.SVG_.style.display="none";if(this.SVG_.childNodes.length)throw Error("Drag surface was not cleared.");Blockly.utils.setCssTransform(this.SVG_,"");this.previousSibling_=null};
+Blockly.WorkspaceDragSurfaceSvg.prototype.setContentsAndShow=function(a,b,c,d,e,f){if(this.SVG_.childNodes.length)throw Error("Already dragging a block.");this.previousSibling_=c;a.setAttribute("transform","translate(0, 0) scale("+f+")");b.setAttribute("transform","translate(0, 0) scale("+f+")");this.SVG_.setAttribute("width",d);this.SVG_.setAttribute("height",e);this.SVG_.appendChild(a);this.SVG_.appendChild(b);this.SVG_.style.display="block"};Blockly.Xml={};Blockly.Xml.workspaceToDom=function(a,b){var c=goog.dom.createDom("xml"),d=Blockly.Xml.variablesToDom(Blockly.Variables.allUsedVarModels(a));d.hasChildNodes()&&c.appendChild(d);var e=a.getTopComments(!0);d=0;for(var f;f=e[d];d++)c.appendChild(f.toXmlWithXY(b));e=a.getTopBlocks(!0);for(d=0;f=e[d];d++)c.appendChild(Blockly.Xml.blockToDomWithXY(f,b));return c};
+Blockly.Xml.variablesToDom=function(a){for(var b=goog.dom.createDom("variables"),c=0,d;d=a[c];c++){var e=goog.dom.createDom("variable",null,d.name);e.setAttribute("type",d.type);e.setAttribute("id",d.getId());b.appendChild(e)}return b};Blockly.Xml.blockToDomWithXY=function(a,b){var c;a.workspace.RTL&&(c=a.workspace.getWidth());var d=Blockly.Xml.blockToDom(a,b),e=a.getRelativeToSurfaceXY();d.setAttribute("x",Math.round(a.workspace.RTL?c-e.x:e.x));d.setAttribute("y",Math.round(e.y));return d};
+Blockly.Xml.fieldToDomVariable_=function(a){null==a.getValue()&&(a.initModel(),a.getValue());var b=a.getVariable();if(!b)throw Error("Tried to serialize a variable field with no variable.");var c=goog.dom.createDom("field",null,b.name);c.setAttribute("name",a.name);c.setAttribute("id",b.getId());c.setAttribute("variabletype",b.type);return c};
+Blockly.Xml.fieldToDom_=function(a){if(a.name&&a.EDITABLE){if(a.referencesVariables())return Blockly.Xml.fieldToDomVariable_(a);var b=goog.dom.createDom("field",null,a.getValue());b.setAttribute("name",a.name);return b}return null};Blockly.Xml.allFieldsToDom_=function(a,b){for(var c=0,d;d=a.inputList[c];c++)for(var e=0,f;f=d.fieldRow[e];e++)(f=Blockly.Xml.fieldToDom_(f))&&b.appendChild(f)};
+Blockly.Xml.blockToDom=function(a,b){var c=goog.dom.createDom(a.isShadow()?"shadow":"block");c.setAttribute("type",a.type);b||c.setAttribute("id",a.id);if(a.mutationToDom){var d=a.mutationToDom();d&&(d.hasChildNodes()||d.hasAttributes())&&c.appendChild(d)}Blockly.Xml.allFieldsToDom_(a,c);if(d=a.getCommentText()){d=goog.dom.createDom("comment",null,d);if("object"==typeof a.comment){d.setAttribute("pinned",a.comment.isVisible());var e=a.comment.getBubbleSize();d.setAttribute("h",e.height);d.setAttribute("w",
+e.width)}c.appendChild(d)}a.data&&(d=goog.dom.createDom("data",null,a.data),c.appendChild(d));e=0;for(var f;f=a.inputList[e];e++){var g,h=!0;if(f.type!=Blockly.DUMMY_INPUT){var k=f.connection.targetBlock();f.type==Blockly.INPUT_VALUE?g=goog.dom.createDom("value"):f.type==Blockly.NEXT_STATEMENT&&(g=goog.dom.createDom("statement"));d=f.connection.getShadowDom();!d||k&&k.isShadow()||g.appendChild(Blockly.Xml.cloneShadow_(d));k&&(g.appendChild(Blockly.Xml.blockToDom(k,b)),h=!1);g.setAttribute("name",
+f.name);h||c.appendChild(g)}}a.inputsInlineDefault!=a.inputsInline&&c.setAttribute("inline",a.inputsInline);a.isCollapsed()&&c.setAttribute("collapsed",!0);a.disabled&&c.setAttribute("disabled",!0);a.isDeletable()||a.isShadow()||c.setAttribute("deletable",!1);a.isMovable()||a.isShadow()||c.setAttribute("movable",!1);a.isEditable()||c.setAttribute("editable",!1);if(e=a.getNextBlock())g=goog.dom.createDom("next",null,Blockly.Xml.blockToDom(e,b)),c.appendChild(g);d=a.nextConnection&&a.nextConnection.getShadowDom();
+!d||e&&e.isShadow()||g.appendChild(Blockly.Xml.cloneShadow_(d));return c};Blockly.Xml.cloneShadow_=function(a){for(var b=a=a.cloneNode(!0),c;b;)if(b.firstChild)b=b.firstChild;else{for(;b&&!b.nextSibling;)c=b,b=b.parentNode,3==c.nodeType&&""==c.data.trim()&&b.firstChild!=c&&Blockly.utils.removeNode(c);b&&(c=b,b=b.nextSibling,3==c.nodeType&&""==c.data.trim()&&Blockly.utils.removeNode(c))}return a};Blockly.Xml.domToText=function(a){return(new XMLSerializer).serializeToString(a)};
+Blockly.Xml.domToPrettyText=function(a){a=Blockly.Xml.domToText(a).split("<");for(var b="",c=1;c<a.length;c++){var d=a[c];"/"==d[0]&&(b=b.substring(2));a[c]=b+"<"+d;"/"!=d[0]&&"/>"!=d.slice(-2)&&(b+="  ")}a=a.join("\n");a=a.replace(/(<(\w+)\b[^>]*>[^\n]*)\n *<\/\2>/g,"$1</$2>");return a.replace(/^\n/,"")};Blockly.Xml.textToDomDocument_=function(a){return(new DOMParser).parseFromString(a,"text/xml")};
+Blockly.Xml.textToDom=function(a){a=Blockly.Xml.textToDomDocument_(a);if(!a||!a.documentElement||"xml"!=a.documentElement.nodeName.toLowerCase())throw TypeError("Blockly.Xml.textToDom expected an <xml> document.");return a.documentElement};Blockly.Xml.clearWorkspaceAndLoadFromXml=function(a,b){b.setResizesEnabled(!1);b.clear();var c=Blockly.Xml.domToWorkspace(a,b);b.setResizesEnabled(!0);return c};
+Blockly.Xml.domToWorkspace=function(a,b){if(a instanceof Blockly.Workspace){var c=a;a=b;b=c;console.warn("Deprecated call to Blockly.Xml.domToWorkspace, swap the arguments.")}var d;b.RTL&&(d=b.getWidth());c=[];Blockly.Field.startCache();var e=a.childNodes.length,f=Blockly.Events.getGroup();f||Blockly.Events.setGroup(!0);b.setResizesEnabled&&b.setResizesEnabled(!1);var g=!0;try{for(var h=0;h<e;h++){var k=a.childNodes[h],l=k.nodeName.toLowerCase();if("block"==l||"shadow"==l&&!Blockly.Events.recordUndo){var n=
+Blockly.Xml.domToBlock(k,b);c.push(n.id);var m=k.hasAttribute("x")?parseInt(k.getAttribute("x"),10):10,p=k.hasAttribute("y")?parseInt(k.getAttribute("y"),10):10;isNaN(m)||isNaN(p)||n.moveBy(b.RTL?d-m:m,p);g=!1}else{if("shadow"==l)throw TypeError("Shadow block cannot be a top-level block.");if("comment"==l)b.rendered?Blockly.WorkspaceCommentSvg.fromXml(k,b,d):Blockly.WorkspaceComment.fromXml(k,b);else if("variables"==l){if(g)Blockly.Xml.domToVariables(k,b);else throw Error("'variables' tag must exist once before block and shadow tag elements in the workspace XML, but it was found in another location.");
+g=!1}}}}finally{f||Blockly.Events.setGroup(!1),Blockly.Field.stopCache()}b.setResizesEnabled&&b.setResizesEnabled(!0);return c};
+Blockly.Xml.appendDomToWorkspace=function(a,b){if(b.hasOwnProperty("scale")){var c=Blockly.BlockSvg.TAB_WIDTH;try{Blockly.BlockSvg.TAB_WIDTH=0;var d=b.getBlocksBoundingBox()}finally{Blockly.BlockSvg.TAB_WIDTH=c}}c=Blockly.Xml.domToWorkspace(a,b);if(d&&d.height){var e=d.y+d.height;var f=d.x;var g=Infinity,h=Infinity;for(d=0;d<c.length;d++){var k=b.getBlockById(c[d]).getRelativeToSurfaceXY();k.y<h&&(h=k.y);k.x<g&&(g=k.x)}e=e-h+Blockly.BlockSvg.SEP_SPACE_Y;f-=g;var l;b.RTL&&(l=b.getWidth());for(d=0;d<
+c.length;d++)b.getBlockById(c[d]).moveBy(b.RTL?l-f:f,e)}return c};
+Blockly.Xml.domToBlock=function(a,b){if(a instanceof Blockly.Workspace){var c=a;a=b;b=c;console.warn("Deprecated call to Blockly.Xml.domToBlock, swap the arguments.")}Blockly.Events.disable();c=b.getAllVariables();try{var d=Blockly.Xml.domToBlockHeadless_(a,b),e=d.getDescendants(!1);if(b.rendered){d.setConnectionsHidden(!0);for(var f=e.length-1;0<=f;f--)e[f].initSvg();for(f=e.length-1;0<=f;f--)e[f].render(!1);setTimeout(function(){d.workspace&&d.setConnectionsHidden(!1)},1);d.updateDisabled();b.resizeContents()}else for(f=
+e.length-1;0<=f;f--)e[f].initModel()}finally{Blockly.Events.enable()}if(Blockly.Events.isEnabled()){e=Blockly.Variables.getAddedVariables(b,c);for(f=0;f<e.length;f++)Blockly.Events.fire(new Blockly.Events.VarCreate(e[f]));Blockly.Events.fire(new Blockly.Events.BlockCreate(d))}return d};
+Blockly.Xml.domToVariables=function(a,b){for(var c=0,d;d=a.children[c];c++){var e=d.getAttribute("type"),f=d.getAttribute("id");d=d.textContent;if(null==e)throw Error("Variable with id, "+f+" is without a type");b.createVariable(d,e,f)}};
+Blockly.Xml.domToBlockHeadless_=function(a,b){var c=null,d=a.getAttribute("type");if(!d)throw TypeError("Block type unspecified: "+a.outerHTML);var e=a.getAttribute("id");c=b.newBlock(d,e);var f=null;e=0;for(var g;g=a.childNodes[e];e++)if(3!=g.nodeType){for(var h=f=null,k=0,l;l=g.childNodes[k];k++)1==l.nodeType&&("block"==l.nodeName.toLowerCase()?f=l:"shadow"==l.nodeName.toLowerCase()&&(h=l));!f&&h&&(f=h);k=g.getAttribute("name");switch(g.nodeName.toLowerCase()){case "mutation":c.domToMutation&&(c.domToMutation(g),
+c.initSvg&&c.initSvg());break;case "comment":c.setCommentText(g.textContent);var n=g.getAttribute("pinned");n&&!c.isInFlyout&&setTimeout(function(){c.comment&&c.comment.setVisible&&c.comment.setVisible("true"==n)},1);f=parseInt(g.getAttribute("w"),10);g=parseInt(g.getAttribute("h"),10);!isNaN(f)&&!isNaN(g)&&c.comment&&c.comment.setVisible&&c.comment.setBubbleSize(f,g);break;case "data":c.data=g.textContent;break;case "title":case "field":Blockly.Xml.domToField_(c,k,g);break;case "value":case "statement":g=
+c.getInput(k);if(!g){console.warn("Ignoring non-existent input "+k+" in block "+d);break}h&&g.connection.setShadowDom(h);if(f)if(f=Blockly.Xml.domToBlockHeadless_(f,b),f.outputConnection)g.connection.connect(f.outputConnection);else if(f.previousConnection)g.connection.connect(f.previousConnection);else throw TypeError("Child block does not have output or previous statement.");break;case "next":h&&c.nextConnection&&c.nextConnection.setShadowDom(h);if(f){if(!c.nextConnection)throw TypeError("Next statement does not exist.");
+if(c.nextConnection.isConnected())throw TypeError("Next statement is already connected.");f=Blockly.Xml.domToBlockHeadless_(f,b);if(!f.previousConnection)throw TypeError("Next block does not have previous statement.");c.nextConnection.connect(f.previousConnection)}break;default:console.warn("Ignoring unknown tag: "+g.nodeName)}}(e=a.getAttribute("inline"))&&c.setInputsInline("true"==e);(e=a.getAttribute("disabled"))&&c.setDisabled("true"==e||"disabled"==e);(e=a.getAttribute("deletable"))&&c.setDeletable("true"==
+e);(e=a.getAttribute("movable"))&&c.setMovable("true"==e);(e=a.getAttribute("editable"))&&c.setEditable("true"==e);(e=a.getAttribute("collapsed"))&&c.setCollapsed("true"==e);if("shadow"==a.nodeName.toLowerCase()){d=c.getChildren(!1);for(e=0;g=d[e];e++)if(!g.isShadow())throw TypeError("Shadow block not allowed non-shadow child.");if(c.getVarModels().length)throw TypeError("Shadow blocks cannot have variable references.");c.setShadow(!0)}return c};
+Blockly.Xml.domToFieldVariable_=function(a,b,c,d){var e=b.getAttribute("variabletype")||"";"''"==e&&(e="");a=Blockly.Variables.getOrCreateVariablePackage(a,b.id,c,e);if(null!=e&&e!==a.type)throw Error("Serialized variable type with id '"+a.getId()+"' had type "+a.type+", and does not match variable field that references it: "+Blockly.Xml.domToText(b)+".");d.setValue(a.getId())};
+Blockly.Xml.domToField_=function(a,b,c){var d=a.getField(b);d?(a=a.workspace,b=c.textContent,d.referencesVariables()?Blockly.Xml.domToFieldVariable_(a,c,b,d):d.setValue(b)):console.warn("Ignoring non-existent field "+b+" in block "+a.type)};Blockly.Xml.deleteNext=function(a){for(var b=0,c;c=a.childNodes[b];b++)if("next"==c.nodeName.toLowerCase()){a.removeChild(c);break}};goog.global.Blockly||(goog.global.Blockly={});goog.global.Blockly.Xml||(goog.global.Blockly.Xml={});
+goog.global.Blockly.Xml.domToText=Blockly.Xml.domToText;goog.global.Blockly.Xml.domToWorkspace=Blockly.Xml.domToWorkspace;goog.global.Blockly.Xml.textToDom=Blockly.Xml.textToDom;goog.global.Blockly.Xml.workspaceToDom=Blockly.Xml.workspaceToDom;
+Blockly.ZoomControls=function(a){this.workspace_=a};Blockly.ZoomControls.prototype.WIDTH_=32;Blockly.ZoomControls.prototype.HEIGHT_=110;Blockly.ZoomControls.prototype.MARGIN_BOTTOM_=20;Blockly.ZoomControls.prototype.MARGIN_SIDE_=20;Blockly.ZoomControls.prototype.svgGroup_=null;Blockly.ZoomControls.prototype.left_=0;Blockly.ZoomControls.prototype.top_=0;
+Blockly.ZoomControls.prototype.createDom=function(){this.svgGroup_=Blockly.utils.createSvgElement("g",{"class":"blocklyZoom"},null);var a=String(Math.random()).substring(2);this.createZoomOutSvg_(a);this.createZoomInSvg_(a);this.createZoomResetSvg_(a);return this.svgGroup_};Blockly.ZoomControls.prototype.init=function(a){this.bottom_=this.MARGIN_BOTTOM_+a;return this.bottom_+this.HEIGHT_};
+Blockly.ZoomControls.prototype.dispose=function(){this.svgGroup_&&(Blockly.utils.removeNode(this.svgGroup_),this.svgGroup_=null);this.workspace_=null};
+Blockly.ZoomControls.prototype.position=function(){var a=this.workspace_.getMetrics();a&&(this.workspace_.RTL?(this.left_=this.MARGIN_SIDE_+Blockly.Scrollbar.scrollbarThickness,a.toolboxPosition==Blockly.TOOLBOX_AT_LEFT&&(this.left_+=a.flyoutWidth,this.workspace_.toolbox_&&(this.left_+=a.absoluteLeft))):(this.left_=a.viewWidth+a.absoluteLeft-this.WIDTH_-this.MARGIN_SIDE_-Blockly.Scrollbar.scrollbarThickness,a.toolboxPosition==Blockly.TOOLBOX_AT_RIGHT&&(this.left_-=a.flyoutWidth)),this.top_=a.viewHeight+
+a.absoluteTop-this.HEIGHT_-this.bottom_,a.toolboxPosition==Blockly.TOOLBOX_AT_BOTTOM&&(this.top_-=a.flyoutHeight),this.svgGroup_.setAttribute("transform","translate("+this.left_+","+this.top_+")"))};
+Blockly.ZoomControls.prototype.createZoomOutSvg_=function(a){var b=this.workspace_,c=Blockly.utils.createSvgElement("clipPath",{id:"blocklyZoomoutClipPath"+a},this.svgGroup_);Blockly.utils.createSvgElement("rect",{width:32,height:32,y:77},c);a=Blockly.utils.createSvgElement("image",{width:Blockly.SPRITE.width,height:Blockly.SPRITE.height,x:-64,y:-15,"clip-path":"url(#blocklyZoomoutClipPath"+a+")"},this.svgGroup_);a.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",b.options.pathToMedia+Blockly.SPRITE.url);
+Blockly.bindEventWithChecks_(a,"mousedown",null,function(a){b.markFocused();b.zoomCenter(-1);Blockly.Touch.clearTouchIdentifier();a.stopPropagation();a.preventDefault()})};
+Blockly.ZoomControls.prototype.createZoomInSvg_=function(a){var b=this.workspace_,c=Blockly.utils.createSvgElement("clipPath",{id:"blocklyZoominClipPath"+a},this.svgGroup_);Blockly.utils.createSvgElement("rect",{width:32,height:32,y:43},c);a=Blockly.utils.createSvgElement("image",{width:Blockly.SPRITE.width,height:Blockly.SPRITE.height,x:-32,y:-49,"clip-path":"url(#blocklyZoominClipPath"+a+")"},this.svgGroup_);a.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",b.options.pathToMedia+Blockly.SPRITE.url);
+Blockly.bindEventWithChecks_(a,"mousedown",null,function(a){b.markFocused();b.zoomCenter(1);Blockly.Touch.clearTouchIdentifier();a.stopPropagation();a.preventDefault()})};
+Blockly.ZoomControls.prototype.createZoomResetSvg_=function(a){var b=this.workspace_,c=Blockly.utils.createSvgElement("clipPath",{id:"blocklyZoomresetClipPath"+a},this.svgGroup_);Blockly.utils.createSvgElement("rect",{width:32,height:32},c);a=Blockly.utils.createSvgElement("image",{width:Blockly.SPRITE.width,height:Blockly.SPRITE.height,y:-92,"clip-path":"url(#blocklyZoomresetClipPath"+a+")"},this.svgGroup_);a.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",b.options.pathToMedia+Blockly.SPRITE.url);
+Blockly.bindEventWithChecks_(a,"mousedown",null,function(a){b.markFocused();b.setScale(b.options.zoomOptions.startScale);b.beginCanvasTransition();b.scrollCenter();setTimeout(function(){b.endCanvasTransition()},500);Blockly.Touch.clearTouchIdentifier();a.stopPropagation();a.preventDefault()})};
+Blockly.WorkspaceSvg=function(a,b,c){Blockly.WorkspaceSvg.superClass_.constructor.call(this,a);this.getMetrics=a.getMetrics||Blockly.WorkspaceSvg.getTopLevelWorkspaceMetrics_;this.setMetrics=a.setMetrics||Blockly.WorkspaceSvg.setTopLevelWorkspaceMetrics_;Blockly.ConnectionDB.init(this);b&&(this.blockDragSurface_=b);c&&(this.workspaceDragSurface_=c);this.useWorkspaceDragSurface_=this.workspaceDragSurface_&&Blockly.utils.is3dSupported();this.highlightedBlocks_=[];this.audioManager_=new Blockly.WorkspaceAudio(a.parentWorkspace);
+this.grid_=this.options.gridPattern?new Blockly.Grid(a.gridPattern,a.gridOptions):null;Blockly.Variables&&Blockly.Variables.flyoutCategory&&this.registerToolboxCategoryCallback(Blockly.VARIABLE_CATEGORY_NAME,Blockly.Variables.flyoutCategory);Blockly.VariablesDynamic&&Blockly.VariablesDynamic.flyoutCategory&&this.registerToolboxCategoryCallback(Blockly.VARIABLE_DYNAMIC_CATEGORY_NAME,Blockly.VariablesDynamic.flyoutCategory);Blockly.Procedures&&Blockly.Procedures.flyoutCategory&&this.registerToolboxCategoryCallback(Blockly.PROCEDURE_CATEGORY_NAME,
+Blockly.Procedures.flyoutCategory)};goog.inherits(Blockly.WorkspaceSvg,Blockly.Workspace);Blockly.WorkspaceSvg.prototype.resizeHandlerWrapper_=null;Blockly.WorkspaceSvg.prototype.rendered=!0;Blockly.WorkspaceSvg.prototype.isVisible_=!0;Blockly.WorkspaceSvg.prototype.isFlyout=!1;Blockly.WorkspaceSvg.prototype.isMutator=!1;Blockly.WorkspaceSvg.prototype.resizesEnabled_=!0;Blockly.WorkspaceSvg.prototype.scrollX=0;Blockly.WorkspaceSvg.prototype.scrollY=0;Blockly.WorkspaceSvg.prototype.startScrollX=0;
+Blockly.WorkspaceSvg.prototype.startScrollY=0;Blockly.WorkspaceSvg.prototype.dragDeltaXY_=null;Blockly.WorkspaceSvg.prototype.scale=1;Blockly.WorkspaceSvg.prototype.trashcan=null;Blockly.WorkspaceSvg.prototype.scrollbar=null;Blockly.WorkspaceSvg.prototype.currentGesture_=null;Blockly.WorkspaceSvg.prototype.blockDragSurface_=null;Blockly.WorkspaceSvg.prototype.workspaceDragSurface_=null;Blockly.WorkspaceSvg.prototype.useWorkspaceDragSurface_=!1;Blockly.WorkspaceSvg.prototype.isDragSurfaceActive_=!1;
+Blockly.WorkspaceSvg.prototype.injectionDiv_=null;Blockly.WorkspaceSvg.prototype.lastRecordedPageScroll_=null;Blockly.WorkspaceSvg.prototype.flyoutButtonCallbacks_={};Blockly.WorkspaceSvg.prototype.toolboxCategoryCallbacks_={};Blockly.WorkspaceSvg.prototype.configureContextMenu=null;Blockly.WorkspaceSvg.prototype.targetWorkspace=null;Blockly.WorkspaceSvg.prototype.inverseScreenCTM_=null;Blockly.WorkspaceSvg.prototype.inverseScreenCTMDirty_=!0;
+Blockly.WorkspaceSvg.prototype.getInverseScreenCTM=function(){if(this.inverseScreenCTMDirty_){var a=this.getParentSvg().getScreenCTM();a&&(this.inverseScreenCTM_=a.inverse(),this.inverseScreenCTMDirty_=!1)}return this.inverseScreenCTM_};Blockly.WorkspaceSvg.prototype.updateInverseScreenCTM=function(){this.inverseScreenCTMDirty_=!0};Blockly.WorkspaceSvg.prototype.isVisible=function(){return this.isVisible_};
+Blockly.WorkspaceSvg.prototype.getSvgXY=function(a){var b=0,c=0,d=1;if(Blockly.utils.containsNode(this.getCanvas(),a)||Blockly.utils.containsNode(this.getBubbleCanvas(),a))d=this.scale;do{var e=Blockly.utils.getRelativeXY(a);if(a==this.getCanvas()||a==this.getBubbleCanvas())d=1;b+=e.x*d;c+=e.y*d;a=a.parentNode}while(a&&a!=this.getParentSvg());return new goog.math.Coordinate(b,c)};Blockly.WorkspaceSvg.prototype.getOriginOffsetInPixels=function(){return Blockly.utils.getInjectionDivXY_(this.svgBlockCanvas_)};
+Blockly.WorkspaceSvg.prototype.getInjectionDiv=function(){if(!this.injectionDiv_)for(var a=this.svgGroup_;a;){if(-1!=(" "+(a.getAttribute("class")||"")+" ").indexOf(" injectionDiv ")){this.injectionDiv_=a;break}a=a.parentNode}return this.injectionDiv_};Blockly.WorkspaceSvg.prototype.setResizeHandlerWrapper=function(a){this.resizeHandlerWrapper_=a};
+Blockly.WorkspaceSvg.prototype.createDom=function(a){this.svgGroup_=Blockly.utils.createSvgElement("g",{"class":"blocklyWorkspace"},null);a&&(this.svgBackground_=Blockly.utils.createSvgElement("rect",{height:"100%",width:"100%","class":a},this.svgGroup_),"blocklyMainBackground"==a&&this.grid_&&(this.svgBackground_.style.fill="url(#"+this.grid_.getPatternId()+")"));this.svgBlockCanvas_=Blockly.utils.createSvgElement("g",{"class":"blocklyBlockCanvas"},this.svgGroup_);this.svgBubbleCanvas_=Blockly.utils.createSvgElement("g",
+{"class":"blocklyBubbleCanvas"},this.svgGroup_);a=Blockly.Scrollbar.scrollbarThickness;this.options.hasTrashcan&&(a=this.addTrashcan_(a));this.options.zoomOptions&&this.options.zoomOptions.controls&&this.addZoomControls_(a);this.isFlyout||(Blockly.bindEventWithChecks_(this.svgGroup_,"mousedown",this,this.onMouseDown_,!1,!0),this.options.zoomOptions&&this.options.zoomOptions.wheel&&Blockly.bindEventWithChecks_(this.svgGroup_,"wheel",this,this.onMouseWheel_));this.options.hasCategories&&(this.toolbox_=
+new Blockly.Toolbox(this));this.grid_&&this.grid_.update(this.scale);this.recordDeleteAreas();return this.svgGroup_};
+Blockly.WorkspaceSvg.prototype.dispose=function(){this.rendered=!1;this.currentGesture_&&this.currentGesture_.cancel();Blockly.WorkspaceSvg.superClass_.dispose.call(this);this.svgGroup_&&(Blockly.utils.removeNode(this.svgGroup_),this.svgGroup_=null);this.svgBubbleCanvas_=this.svgBlockCanvas_=null;this.toolbox_&&(this.toolbox_.dispose(),this.toolbox_=null);this.flyout_&&(this.flyout_.dispose(),this.flyout_=null);this.trashcan&&(this.trashcan.dispose(),this.trashcan=null);this.scrollbar&&(this.scrollbar.dispose(),
+this.scrollbar=null);this.zoomControls_&&(this.zoomControls_.dispose(),this.zoomControls_=null);this.audioManager_&&(this.audioManager_.dispose(),this.audioManager_=null);this.grid_&&(this.grid_.dispose(),this.grid_=null);this.toolboxCategoryCallbacks_&&(this.toolboxCategoryCallbacks_=null);this.flyoutButtonCallbacks_&&(this.flyoutButtonCallbacks_=null);if(!this.options.parentWorkspace){var a=this.getParentSvg().parentNode;a&&Blockly.utils.removeNode(a)}this.resizeHandlerWrapper_&&(Blockly.unbindEvent_(this.resizeHandlerWrapper_),
+this.resizeHandlerWrapper_=null)};Blockly.WorkspaceSvg.prototype.newBlock=function(a,b){return new Blockly.BlockSvg(this,a,b)};Blockly.WorkspaceSvg.prototype.addTrashcan_=function(a){this.trashcan=new Blockly.Trashcan(this);var b=this.trashcan.createDom();this.svgGroup_.insertBefore(b,this.svgBlockCanvas_);return this.trashcan.init(a)};
+Blockly.WorkspaceSvg.prototype.addZoomControls_=function(a){this.zoomControls_=new Blockly.ZoomControls(this);var b=this.zoomControls_.createDom();this.svgGroup_.appendChild(b);return this.zoomControls_.init(a)};
+Blockly.WorkspaceSvg.prototype.addFlyout_=function(a){var b={disabledPatternId:this.options.disabledPatternId,parentWorkspace:this,RTL:this.RTL,oneBasedIndex:this.options.oneBasedIndex,horizontalLayout:this.horizontalLayout,toolboxPosition:this.options.toolboxPosition};this.flyout_=null;this.flyout_=this.horizontalLayout?new Blockly.HorizontalFlyout(b):new Blockly.VerticalFlyout(b);this.flyout_.autoClose=!1;return this.flyout_.createDom(a)};
+Blockly.WorkspaceSvg.prototype.getFlyout_=function(){return this.flyout_?this.flyout_:this.toolbox_?this.toolbox_.flyout_:null};Blockly.WorkspaceSvg.prototype.getToolbox=function(){return this.toolbox_};Blockly.WorkspaceSvg.prototype.updateScreenCalculations_=function(){this.updateInverseScreenCTM();this.recordDeleteAreas()};Blockly.WorkspaceSvg.prototype.resizeContents=function(){this.resizesEnabled_&&this.rendered&&(this.scrollbar&&this.scrollbar.resize(),this.updateInverseScreenCTM())};
+Blockly.WorkspaceSvg.prototype.resize=function(){this.toolbox_&&this.toolbox_.position();this.flyout_&&this.flyout_.position();this.trashcan&&this.trashcan.position();this.zoomControls_&&this.zoomControls_.position();this.scrollbar&&this.scrollbar.resize();this.updateScreenCalculations_()};Blockly.WorkspaceSvg.prototype.updateScreenCalculationsIfScrolled=function(){var a=goog.dom.getDocumentScroll();goog.math.Coordinate.equals(this.lastRecordedPageScroll_,a)||(this.lastRecordedPageScroll_=a,this.updateScreenCalculations_())};
+Blockly.WorkspaceSvg.prototype.getCanvas=function(){return this.svgBlockCanvas_};Blockly.WorkspaceSvg.prototype.getBubbleCanvas=function(){return this.svgBubbleCanvas_};Blockly.WorkspaceSvg.prototype.getParentSvg=function(){if(this.cachedParentSvg_)return this.cachedParentSvg_;for(var a=this.svgGroup_;a;){if("svg"==a.tagName)return this.cachedParentSvg_=a;a=a.parentNode}return null};
+Blockly.WorkspaceSvg.prototype.translate=function(a,b){if(this.useWorkspaceDragSurface_&&this.isDragSurfaceActive_)this.workspaceDragSurface_.translateSurface(a,b);else{var c="translate("+a+","+b+") scale("+this.scale+")";this.svgBlockCanvas_.setAttribute("transform",c);this.svgBubbleCanvas_.setAttribute("transform",c)}this.blockDragSurface_&&this.blockDragSurface_.translateAndScaleGroup(a,b,this.scale)};
+Blockly.WorkspaceSvg.prototype.resetDragSurface=function(){if(this.useWorkspaceDragSurface_){this.isDragSurfaceActive_=!1;var a=this.workspaceDragSurface_.getSurfaceTranslation();this.workspaceDragSurface_.clearAndHide(this.svgGroup_);a="translate("+a.x+","+a.y+") scale("+this.scale+")";this.svgBlockCanvas_.setAttribute("transform",a);this.svgBubbleCanvas_.setAttribute("transform",a)}};
+Blockly.WorkspaceSvg.prototype.setupDragSurface=function(){if(this.useWorkspaceDragSurface_&&!this.isDragSurfaceActive_){this.isDragSurfaceActive_=!0;var a=this.svgBlockCanvas_.previousSibling,b=parseInt(this.getParentSvg().getAttribute("width"),10),c=parseInt(this.getParentSvg().getAttribute("height"),10),d=Blockly.utils.getRelativeXY(this.svgBlockCanvas_);this.workspaceDragSurface_.setContentsAndShow(this.svgBlockCanvas_,this.svgBubbleCanvas_,a,b,c,this.scale);this.workspaceDragSurface_.translateSurface(d.x,
+d.y)}};Blockly.WorkspaceSvg.prototype.getBlockDragSurface=function(){return this.blockDragSurface_};Blockly.WorkspaceSvg.prototype.getWidth=function(){var a=this.getMetrics();return a?a.viewWidth/this.scale:0};
+Blockly.WorkspaceSvg.prototype.setVisible=function(a){this.scrollbar&&this.scrollbar.setContainerVisible(a);this.getFlyout_()&&this.getFlyout_().setContainerVisible(a);this.getParentSvg().style.display=a?"block":"none";this.toolbox_&&(this.toolbox_.HtmlDiv.style.display=a?"block":"none");a?(this.render(),this.toolbox_&&this.toolbox_.position()):Blockly.hideChaff(!0);this.isVisible_=a};Blockly.WorkspaceSvg.prototype.render=function(){for(var a=this.getAllBlocks(),b=a.length-1;0<=b;b--)a[b].render(!1)};
+Blockly.WorkspaceSvg.prototype.traceOn=function(){console.warn("Deprecated call to traceOn, delete this.")};Blockly.WorkspaceSvg.prototype.highlightBlock=function(a,b){if(void 0===b){for(var c=0,d;d=this.highlightedBlocks_[c];c++)d.setHighlighted(!1);this.highlightedBlocks_.length=0}if(d=a?this.getBlockById(a):null)(c=void 0===b||b)?-1==this.highlightedBlocks_.indexOf(d)&&this.highlightedBlocks_.push(d):Blockly.utils.arrayRemove(this.highlightedBlocks_,d),d.setHighlighted(c)};
+Blockly.WorkspaceSvg.prototype.paste=function(a){!this.rendered||a.getElementsByTagName("block").length>=this.remainingCapacity()||(this.currentGesture_&&this.currentGesture_.cancel(),"comment"==a.tagName.toLowerCase()?this.pasteWorkspaceComment_(a):this.pasteBlock_(a))};
+Blockly.WorkspaceSvg.prototype.pasteBlock_=function(a){Blockly.Events.disable();try{var b=Blockly.Xml.domToBlock(a,this),c=parseInt(a.getAttribute("x"),10),d=parseInt(a.getAttribute("y"),10);if(!isNaN(c)&&!isNaN(d)){this.RTL&&(c=-c);do{a=!1;for(var e=this.getAllBlocks(),f=0,g;g=e[f];f++){var h=g.getRelativeToSurfaceXY();if(1>=Math.abs(c-h.x)&&1>=Math.abs(d-h.y)){a=!0;break}}if(!a){var k=b.getConnections_(!1);f=0;for(var l;l=k[f];f++)if(l.closest(Blockly.SNAP_RADIUS,new goog.math.Coordinate(c,d)).connection){a=
+!0;break}}a&&(c=this.RTL?c-Blockly.SNAP_RADIUS:c+Blockly.SNAP_RADIUS,d+=2*Blockly.SNAP_RADIUS)}while(a);b.moveBy(c,d)}}finally{Blockly.Events.enable()}Blockly.Events.isEnabled()&&!b.isShadow()&&Blockly.Events.fire(new Blockly.Events.BlockCreate(b));b.select()};
+Blockly.WorkspaceSvg.prototype.pasteWorkspaceComment_=function(a){Blockly.Events.disable();try{var b=Blockly.WorkspaceCommentSvg.fromXml(a,this),c=parseInt(a.getAttribute("x"),10),d=parseInt(a.getAttribute("y"),10);isNaN(c)||isNaN(d)||(this.RTL&&(c=-c),b.moveBy(c+50,d+50))}finally{Blockly.Events.enable()}Blockly.Events.isEnabled();b.select()};
+Blockly.WorkspaceSvg.prototype.refreshToolboxSelection=function(){var a=this.isFlyout?this.targetWorkspace:this;a&&!a.currentGesture_&&a.toolbox_&&a.toolbox_.flyout_&&a.toolbox_.refreshSelection()};Blockly.WorkspaceSvg.prototype.renameVariableById=function(a,b){Blockly.WorkspaceSvg.superClass_.renameVariableById.call(this,a,b);this.refreshToolboxSelection()};Blockly.WorkspaceSvg.prototype.deleteVariableById=function(a){Blockly.WorkspaceSvg.superClass_.deleteVariableById.call(this,a);this.refreshToolboxSelection()};
+Blockly.WorkspaceSvg.prototype.createVariable=function(a,b,c){a=Blockly.WorkspaceSvg.superClass_.createVariable.call(this,a,b,c);this.refreshToolboxSelection();return a};Blockly.WorkspaceSvg.prototype.recordDeleteAreas=function(){this.deleteAreaTrash_=this.trashcan&&this.svgGroup_.parentNode?this.trashcan.getClientRect():null;this.deleteAreaToolbox_=this.flyout_?this.flyout_.getClientRect():this.toolbox_?this.toolbox_.getClientRect():null};
+Blockly.WorkspaceSvg.prototype.isDeleteArea=function(a){a=new goog.math.Coordinate(a.clientX,a.clientY);return this.deleteAreaTrash_&&this.deleteAreaTrash_.contains(a)?Blockly.DELETE_AREA_TRASH:this.deleteAreaToolbox_&&this.deleteAreaToolbox_.contains(a)?Blockly.DELETE_AREA_TOOLBOX:Blockly.DELETE_AREA_NONE};Blockly.WorkspaceSvg.prototype.onMouseDown_=function(a){var b=this.getGesture(a);b&&b.handleWsStart(a,this)};
+Blockly.WorkspaceSvg.prototype.startDrag=function(a,b){var c=Blockly.utils.mouseToSvg(a,this.getParentSvg(),this.getInverseScreenCTM());c.x/=this.scale;c.y/=this.scale;this.dragDeltaXY_=goog.math.Coordinate.difference(b,c)};Blockly.WorkspaceSvg.prototype.moveDrag=function(a){a=Blockly.utils.mouseToSvg(a,this.getParentSvg(),this.getInverseScreenCTM());a.x/=this.scale;a.y/=this.scale;return goog.math.Coordinate.sum(this.dragDeltaXY_,a)};
+Blockly.WorkspaceSvg.prototype.isDragging=function(){return null!=this.currentGesture_&&this.currentGesture_.isDragging()};Blockly.WorkspaceSvg.prototype.isDraggable=function(){return!!this.scrollbar};Blockly.WorkspaceSvg.prototype.onMouseWheel_=function(a){this.currentGesture_&&this.currentGesture_.cancel();var b=-a.deltaY/50,c=Blockly.utils.mouseToSvg(a,this.getParentSvg(),this.getInverseScreenCTM());this.zoom(c.x,c.y,b);a.preventDefault()};
+Blockly.WorkspaceSvg.prototype.getBlocksBoundingBox=function(){var a=this.getTopBlocks(!1),b=this.getTopComments(!1);a=a.concat(b);if(!a.length)return{x:0,y:0,width:0,height:0};b=a[0].getBoundingRectangle();for(var c=1;c<a.length;c++){var d=a[c].getBoundingRectangle();d.topLeft.x<b.topLeft.x&&(b.topLeft.x=d.topLeft.x);d.bottomRight.x>b.bottomRight.x&&(b.bottomRight.x=d.bottomRight.x);d.topLeft.y<b.topLeft.y&&(b.topLeft.y=d.topLeft.y);d.bottomRight.y>b.bottomRight.y&&(b.bottomRight.y=d.bottomRight.y)}return{x:b.topLeft.x,
+y:b.topLeft.y,width:b.bottomRight.x-b.topLeft.x,height:b.bottomRight.y-b.topLeft.y}};Blockly.WorkspaceSvg.prototype.cleanUp=function(){this.setResizesEnabled(!1);Blockly.Events.setGroup(!0);for(var a=this.getTopBlocks(!0),b=0,c=0,d;d=a[c];c++){var e=d.getRelativeToSurfaceXY();d.moveBy(-e.x,b-e.y);d.snapToGrid();b=d.getRelativeToSurfaceXY().y+d.getHeightWidth().height+Blockly.BlockSvg.MIN_BLOCK_Y}Blockly.Events.setGroup(!1);this.setResizesEnabled(!0)};
+Blockly.WorkspaceSvg.prototype.showContextMenu_=function(a){function b(a){if(a.isDeletable())p=p.concat(a.getDescendants(!1));else{a=a.getChildren(!1);for(var c=0;c<a.length;c++)b(a[c])}}function c(){Blockly.Events.setGroup(f);var a=p.shift();a&&(a.workspace?(a.dispose(!1,!0),setTimeout(c,10)):c());Blockly.Events.setGroup(!1)}if(!this.options.readOnly&&!this.isFlyout){var d=[],e=this.getTopBlocks(!0),f=Blockly.utils.genUid(),g=this,h={};h.text=Blockly.Msg.UNDO;h.enabled=0<this.undoStack_.length;h.callback=
+this.undo.bind(this,!1);d.push(h);h={};h.text=Blockly.Msg.REDO;h.enabled=0<this.redoStack_.length;h.callback=this.undo.bind(this,!0);d.push(h);this.scrollbar&&(h={},h.text=Blockly.Msg.CLEAN_UP,h.enabled=1<e.length,h.callback=this.cleanUp.bind(this),d.push(h));if(this.options.collapse){for(var k=h=!1,l=0;l<e.length;l++)for(var n=e[l];n;)n.isCollapsed()?h=!0:k=!0,n=n.getNextBlock();var m=function(a){for(var b=0,c=0;c<e.length;c++)for(var d=e[c];d;)setTimeout(d.setCollapsed.bind(d,a),b),d=d.getNextBlock(),
+b+=10};k={enabled:k};k.text=Blockly.Msg.COLLAPSE_ALL;k.callback=function(){m(!0)};d.push(k);h={enabled:h};h.text=Blockly.Msg.EXPAND_ALL;h.callback=function(){m(!1)};d.push(h)}var p=[];for(l=0;l<e.length;l++)b(e[l]);h={text:1==p.length?Blockly.Msg.DELETE_BLOCK:Blockly.Msg.DELETE_X_BLOCKS.replace("%1",String(p.length)),enabled:0<p.length,callback:function(){g.currentGesture_&&g.currentGesture_.cancel();2>p.length?c():Blockly.confirm(Blockly.Msg.DELETE_ALL_BLOCKS.replace("%1",p.length),function(a){a&&
+c()})}};d.push(h);this.configureContextMenu&&this.configureContextMenu(d);Blockly.ContextMenu.show(a,d,this.RTL)}};
+Blockly.WorkspaceSvg.prototype.updateToolbox=function(a){if(a=Blockly.Options.parseToolboxTree(a)){if(!this.options.languageTree)throw Error("Existing toolbox is null.  Can't create new toolbox.");if(a.getElementsByTagName("category").length){if(!this.toolbox_)throw Error("Existing toolbox has no categories.  Can't change mode.");this.options.languageTree=a;this.toolbox_.populate_(a);this.toolbox_.addColour_()}else{if(!this.flyout_)throw Error("Existing toolbox has categories.  Can't change mode.");
+this.options.languageTree=a;this.flyout_.show(a.childNodes)}}else if(this.options.languageTree)throw Error("Can't nullify an existing toolbox.");};Blockly.WorkspaceSvg.prototype.markFocused=function(){this.options.parentWorkspace?this.options.parentWorkspace.markFocused():(Blockly.mainWorkspace=this,this.setBrowserFocus())};Blockly.WorkspaceSvg.prototype.setBrowserFocus=function(){document.activeElement&&document.activeElement.blur();try{this.getParentSvg().focus()}catch(a){try{this.getParentSvg().parentNode.setActive()}catch(b){this.getParentSvg().parentNode.focus()}}};
+Blockly.WorkspaceSvg.prototype.zoom=function(a,b,c){var d=this.options.zoomOptions.scaleSpeed,e=this.getMetrics(),f=this.getParentSvg().createSVGPoint();f.x=a;f.y=b;f=f.matrixTransform(this.getCanvas().getCTM().inverse());a=f.x;b=f.y;f=this.getCanvas();d=Math.pow(d,c);c=this.scale*d;c>this.options.zoomOptions.maxScale?d=this.options.zoomOptions.maxScale/this.scale:c<this.options.zoomOptions.minScale&&(d=this.options.zoomOptions.minScale/this.scale);this.scale!=c&&(this.scrollbar&&(a=f.getCTM().translate(a*
+(1-d),b*(1-d)).scale(d),this.scrollX=a.e-e.absoluteLeft,this.scrollY=a.f-e.absoluteTop),this.setScale(c))};Blockly.WorkspaceSvg.prototype.zoomCenter=function(a){var b=this.getMetrics();this.zoom(b.viewWidth/2,b.viewHeight/2,a)};
+Blockly.WorkspaceSvg.prototype.zoomToFit=function(){var a=this.getMetrics(),b=this.getBlocksBoundingBox(),c=b.width;b=b.height;if(c){var d=a.viewWidth,e=a.viewHeight;this.flyout_&&(d-=this.flyout_.width_);this.scrollbar||(c+=a.contentLeft,b+=a.contentTop);this.setScale(Math.min(d/c,e/b));this.scrollCenter()}};Blockly.WorkspaceSvg.prototype.beginCanvasTransition=function(){Blockly.utils.addClass(this.svgBlockCanvas_,"blocklyCanvasTransitioning");Blockly.utils.addClass(this.svgBubbleCanvas_,"blocklyCanvasTransitioning")};
+Blockly.WorkspaceSvg.prototype.endCanvasTransition=function(){Blockly.utils.removeClass(this.svgBlockCanvas_,"blocklyCanvasTransitioning");Blockly.utils.removeClass(this.svgBubbleCanvas_,"blocklyCanvasTransitioning")};Blockly.WorkspaceSvg.prototype.scrollCenter=function(){if(this.scrollbar){var a=this.getMetrics(),b=(a.contentWidth-a.viewWidth)/2;this.flyout_&&(b-=this.flyout_.width_/2);this.scrollbar.set(b,(a.contentHeight-a.viewHeight)/2)}else console.warn("Tried to scroll a non-scrollable workspace.")};
+Blockly.WorkspaceSvg.prototype.centerOnBlock=function(a){if(this.scrollbar){if(a=this.getBlockById(a)){var b=a.getRelativeToSurfaceXY(),c=a.getHeightWidth(),d=this.scale;a=(b.x+(this.RTL?-1:1)*c.width/2)*d;b=(b.y+c.height/2)*d;c=this.getMetrics();a=a-c.contentLeft-c.viewWidth/2;b=b-c.contentTop-c.viewHeight/2;Blockly.hideChaff();this.scrollbar.set(a,b)}}else console.warn("Tried to scroll a non-scrollable workspace.")};
+Blockly.WorkspaceSvg.prototype.setScale=function(a){this.options.zoomOptions.maxScale&&a>this.options.zoomOptions.maxScale?a=this.options.zoomOptions.maxScale:this.options.zoomOptions.minScale&&a<this.options.zoomOptions.minScale&&(a=this.options.zoomOptions.minScale);this.scale=a;this.grid_&&this.grid_.update(this.scale);this.scrollbar?this.scrollbar.resize():this.translate(this.scrollX,this.scrollY);Blockly.hideChaff(!1);this.flyout_&&this.flyout_.reflow()};
+Blockly.WorkspaceSvg.getDimensionsPx_=function(a){var b=0,c=0;a&&(b=a.getWidth(),c=a.getHeight());return{width:b,height:c}};Blockly.WorkspaceSvg.getContentDimensions_=function(a,b){return a.scrollbar?Blockly.WorkspaceSvg.getContentDimensionsBounded_(a,b):Blockly.WorkspaceSvg.getContentDimensionsExact_(a)};
+Blockly.WorkspaceSvg.getContentDimensionsExact_=function(a){var b=a.getBlocksBoundingBox(),c=a.scale;a=b.width*c;var d=b.height*c,e=b.x*c;b=b.y*c;return{left:e,top:b,right:e+a,bottom:b+d,width:a,height:d}};
+Blockly.WorkspaceSvg.getContentDimensionsBounded_=function(a,b){var c=Blockly.WorkspaceSvg.getContentDimensionsExact_(a),d=b.width,e=b.height,f=d/2,g=e/2,h=Math.min(c.left-f,c.right-d),k=Math.min(c.top-g,c.bottom-e);return{left:h,top:k,height:Math.max(c.bottom+g,c.top+e)-k,width:Math.max(c.right+f,c.left+d)-h}};
+Blockly.WorkspaceSvg.getTopLevelWorkspaceMetrics_=function(){var a=Blockly.WorkspaceSvg.getDimensionsPx_(this.toolbox_),b=Blockly.WorkspaceSvg.getDimensionsPx_(this.flyout_),c=Blockly.svgSize(this.getParentSvg());if(this.toolbox_)if(this.toolboxPosition==Blockly.TOOLBOX_AT_TOP||this.toolboxPosition==Blockly.TOOLBOX_AT_BOTTOM)c.height-=a.height;else if(this.toolboxPosition==Blockly.TOOLBOX_AT_LEFT||this.toolboxPosition==Blockly.TOOLBOX_AT_RIGHT)c.width-=a.width;var d=Blockly.WorkspaceSvg.getContentDimensions_(this,
+c),e=0;this.toolbox_&&this.toolboxPosition==Blockly.TOOLBOX_AT_LEFT&&(e=a.width);var f=0;this.toolbox_&&this.toolboxPosition==Blockly.TOOLBOX_AT_TOP&&(f=a.height);return{contentHeight:d.height,contentWidth:d.width,contentTop:d.top,contentLeft:d.left,viewHeight:c.height,viewWidth:c.width,viewTop:-this.scrollY,viewLeft:-this.scrollX,absoluteTop:f,absoluteLeft:e,toolboxWidth:a.width,toolboxHeight:a.height,flyoutWidth:b.width,flyoutHeight:b.height,toolboxPosition:this.toolboxPosition}};
+Blockly.WorkspaceSvg.setTopLevelWorkspaceMetrics_=function(a){if(!this.scrollbar)throw Error("Attempt to set top level workspace scroll without scrollbars.");var b=this.getMetrics();"number"==typeof a.x&&(this.scrollX=-b.contentWidth*a.x-b.contentLeft);"number"==typeof a.y&&(this.scrollY=-b.contentHeight*a.y-b.contentTop);a=this.scrollX+b.absoluteLeft;b=this.scrollY+b.absoluteTop;this.translate(a,b);this.grid_&&this.grid_.moveTo(a,b)};
+Blockly.WorkspaceSvg.prototype.setResizesEnabled=function(a){var b=!this.resizesEnabled_&&a;this.resizesEnabled_=a;b&&this.resizeContents()};Blockly.WorkspaceSvg.prototype.clear=function(){this.setResizesEnabled(!1);Blockly.WorkspaceSvg.superClass_.clear.call(this);this.setResizesEnabled(!0)};Blockly.WorkspaceSvg.prototype.registerButtonCallback=function(a,b){if("function"!=typeof b)throw TypeError("Button callbacks must be functions.");this.flyoutButtonCallbacks_[a]=b};
+Blockly.WorkspaceSvg.prototype.getButtonCallback=function(a){return(a=this.flyoutButtonCallbacks_[a])?a:null};Blockly.WorkspaceSvg.prototype.removeButtonCallback=function(a){this.flyoutButtonCallbacks_[a]=null};Blockly.WorkspaceSvg.prototype.registerToolboxCategoryCallback=function(a,b){if("function"!=typeof b)throw TypeError("Toolbox category callbacks must be functions.");this.toolboxCategoryCallbacks_[a]=b};
+Blockly.WorkspaceSvg.prototype.getToolboxCategoryCallback=function(a){return(a=this.toolboxCategoryCallbacks_[a])?a:null};Blockly.WorkspaceSvg.prototype.removeToolboxCategoryCallback=function(a){this.toolboxCategoryCallbacks_[a]=null};
+Blockly.WorkspaceSvg.prototype.getGesture=function(a){var b="mousedown"==a.type||"touchstart"==a.type||"pointerdown"==a.type,c=this.currentGesture_;return c?b&&c.hasStarted()?(console.warn("tried to start the same gesture twice"),c.cancel(),null):c:b?this.currentGesture_=new Blockly.TouchGesture(a,this):null};Blockly.WorkspaceSvg.prototype.clearGesture=function(){this.currentGesture_=null};Blockly.WorkspaceSvg.prototype.cancelCurrentGesture=function(){this.currentGesture_&&this.currentGesture_.cancel()};
+Blockly.WorkspaceSvg.prototype.getAudioManager=function(){return this.audioManager_};Blockly.WorkspaceSvg.prototype.getGrid=function(){return this.grid_};Blockly.WorkspaceSvg.prototype.setVisible=Blockly.WorkspaceSvg.prototype.setVisible;Blockly.Mutator=function(a){Blockly.Mutator.superClass_.constructor.call(this,null);this.quarkNames_=a};goog.inherits(Blockly.Mutator,Blockly.Icon);Blockly.Mutator.prototype.workspaceWidth_=0;Blockly.Mutator.prototype.workspaceHeight_=0;
+Blockly.Mutator.prototype.drawIcon_=function(a){Blockly.utils.createSvgElement("rect",{"class":"blocklyIconShape",rx:"4",ry:"4",height:"16",width:"16"},a);Blockly.utils.createSvgElement("path",{"class":"blocklyIconSymbol",d:"m4.203,7.296 0,1.368 -0.92,0.677 -0.11,0.41 0.9,1.559 0.41,0.11 1.043,-0.457 1.187,0.683 0.127,1.134 0.3,0.3 1.8,0 0.3,-0.299 0.127,-1.138 1.185,-0.682 1.046,0.458 0.409,-0.11 0.9,-1.559 -0.11,-0.41 -0.92,-0.677 0,-1.366 0.92,-0.677 0.11,-0.41 -0.9,-1.559 -0.409,-0.109 -1.046,0.458 -1.185,-0.682 -0.127,-1.138 -0.3,-0.299 -1.8,0 -0.3,0.3 -0.126,1.135 -1.187,0.682 -1.043,-0.457 -0.41,0.11 -0.899,1.559 0.108,0.409z"},a);
+Blockly.utils.createSvgElement("circle",{"class":"blocklyIconShape",r:"2.7",cx:"8",cy:"8"},a)};Blockly.Mutator.prototype.iconClick_=function(a){this.block_.isEditable()&&Blockly.Icon.prototype.iconClick_.call(this,a)};
+Blockly.Mutator.prototype.createEditor_=function(){this.svgDialog_=Blockly.utils.createSvgElement("svg",{x:Blockly.Bubble.BORDER_WIDTH,y:Blockly.Bubble.BORDER_WIDTH},null);if(this.quarkNames_.length)for(var a=goog.dom.createDom("xml"),b=0,c;c=this.quarkNames_[b];b++)a.appendChild(goog.dom.createDom("block",{type:c}));else a=null;a={languageTree:a,parentWorkspace:this.block_.workspace,pathToMedia:this.block_.workspace.options.pathToMedia,RTL:this.block_.RTL,toolboxPosition:this.block_.RTL?Blockly.TOOLBOX_AT_RIGHT:
+Blockly.TOOLBOX_AT_LEFT,horizontalLayout:!1,getMetrics:this.getFlyoutMetrics_.bind(this),setMetrics:null};this.workspace_=new Blockly.WorkspaceSvg(a);this.workspace_.isMutator=!0;a=this.workspace_.addFlyout_("g");b=this.workspace_.createDom("blocklyMutatorBackground");b.insertBefore(a,this.workspace_.svgBlockCanvas_);this.svgDialog_.appendChild(b);return this.svgDialog_};
+Blockly.Mutator.prototype.updateEditable=function(){this.block_.isInFlyout||(this.block_.isEditable()?this.iconGroup_&&Blockly.utils.removeClass(this.iconGroup_,"blocklyIconGroupReadonly"):(this.setVisible(!1),this.iconGroup_&&Blockly.utils.addClass(this.iconGroup_,"blocklyIconGroupReadonly")));Blockly.Icon.prototype.updateEditable.call(this)};
+Blockly.Mutator.prototype.resizeBubble_=function(){var a=2*Blockly.Bubble.BORDER_WIDTH,b=this.workspace_.getCanvas().getBBox();var c=this.block_.RTL?-b.x:b.width+b.x;b=b.height+3*a;if(this.workspace_.flyout_){var d=this.workspace_.flyout_.getMetrics_();b=Math.max(b,d.contentHeight+20)}c+=3*a;if(Math.abs(this.workspaceWidth_-c)>a||Math.abs(this.workspaceHeight_-b)>a)this.workspaceWidth_=c,this.workspaceHeight_=b,this.bubble_.setBubbleSize(c+a,b+a),this.svgDialog_.setAttribute("width",this.workspaceWidth_),
+this.svgDialog_.setAttribute("height",this.workspaceHeight_);this.block_.RTL&&(a="translate("+this.workspaceWidth_+",0)",this.workspace_.getCanvas().setAttribute("transform",a));this.workspace_.resize()};
+Blockly.Mutator.prototype.setVisible=function(a){if(a!=this.isVisible())if(Blockly.Events.fire(new Blockly.Events.Ui(this.block_,"mutatorOpen",!a,a)),a){this.bubble_=new Blockly.Bubble(this.block_.workspace,this.createEditor_(),this.block_.svgPath_,this.iconXY_,null,null);this.bubble_.setSvgId(this.block_.id);if(a=this.workspace_.options.languageTree)this.workspace_.flyout_.init(this.workspace_),this.workspace_.flyout_.show(a.childNodes);this.rootBlock_=this.block_.decompose(this.workspace_);a=this.rootBlock_.getDescendants(!1);
+for(var b=0,c;c=a[b];b++)c.render();this.rootBlock_.setMovable(!1);this.rootBlock_.setDeletable(!1);this.workspace_.flyout_?(a=2*this.workspace_.flyout_.CORNER_RADIUS,b=this.workspace_.flyout_.width_+a):b=a=16;this.block_.RTL&&(b=-b);this.rootBlock_.moveBy(b,a);if(this.block_.saveConnections){var d=this;this.block_.saveConnections(this.rootBlock_);this.sourceListener_=function(){d.block_.saveConnections(d.rootBlock_)};this.block_.workspace.addChangeListener(this.sourceListener_)}this.resizeBubble_();
+this.workspace_.addChangeListener(this.workspaceChanged_.bind(this));this.updateColour()}else this.svgDialog_=null,this.workspace_.dispose(),this.rootBlock_=this.workspace_=null,this.bubble_.dispose(),this.bubble_=null,this.workspaceHeight_=this.workspaceWidth_=0,this.sourceListener_&&(this.block_.workspace.removeChangeListener(this.sourceListener_),this.sourceListener_=null)};
+Blockly.Mutator.prototype.workspaceChanged_=function(){if(!this.workspace_.isDragging())for(var a=this.workspace_.getTopBlocks(!1),b=0,c;c=a[b];b++){var d=c.getRelativeToSurfaceXY(),e=c.getHeightWidth();20>d.y+e.height&&c.moveBy(0,20-e.height-d.y)}if(this.rootBlock_.workspace==this.workspace_){Blockly.Events.setGroup(!0);c=this.block_;a=(a=c.mutationToDom())&&Blockly.Xml.domToText(a);b=c.rendered;c.rendered=!1;c.compose(this.rootBlock_);c.rendered=b;c.initSvg();b=(b=c.mutationToDom())&&Blockly.Xml.domToText(b);
+if(a!=b){Blockly.Events.fire(new Blockly.Events.BlockChange(c,"mutation",null,a,b));var f=Blockly.Events.getGroup();setTimeout(function(){Blockly.Events.setGroup(f);c.bumpNeighbours_();Blockly.Events.setGroup(!1)},Blockly.BUMP_DELAY)}c.rendered&&c.render();this.workspace_.isDragging()||this.resizeBubble_();Blockly.Events.setGroup(!1)}};Blockly.Mutator.prototype.getFlyoutMetrics_=function(){return{viewHeight:this.workspaceHeight_,viewWidth:this.workspaceWidth_,absoluteTop:0,absoluteLeft:0}};
+Blockly.Mutator.prototype.dispose=function(){this.block_.mutator=null;Blockly.Icon.prototype.dispose.call(this)};Blockly.Mutator.reconnect=function(a,b,c){if(!a||!a.getSourceBlock().workspace)return!1;c=b.getInput(c).connection;var d=a.targetBlock();return d&&d!=b||c.targetConnection==a?!1:(c.isConnected()&&c.disconnect(),c.connect(a),!0)};
+Blockly.Mutator.findParentWs=function(a){var b=null;if(a&&a.options){var c=a.options.parentWorkspace;a.isFlyout?c&&c.options&&(b=c.options.parentWorkspace):c&&(b=c)}return b};goog.global.Blockly||(goog.global.Blockly={});goog.global.Blockly.Mutator||(goog.global.Blockly.Mutator={});goog.global.Blockly.Mutator.reconnect=Blockly.Mutator.reconnect;Blockly.Extensions={};Blockly.Extensions.ALL_={};Blockly.Extensions.register=function(a,b){if("string"!=typeof a||""==a.trim())throw Error('Error: Invalid extension name "'+a+'"');if(Blockly.Extensions.ALL_[a])throw Error('Error: Extension "'+a+'" is already registered.');if("function"!=typeof b)throw Error('Error: Extension "'+a+'" must be a function');Blockly.Extensions.ALL_[a]=b};
+Blockly.Extensions.registerMixin=function(a,b){if(!b||"object"!=typeof b)throw Error('Error: Mixin "'+a+'" must be a object');Blockly.Extensions.register(a,function(){this.mixin(b)})};
+Blockly.Extensions.registerMutator=function(a,b,c,d){var e='Error when registering mutator "'+a+'": ';Blockly.Extensions.checkHasFunction_(e,b.domToMutation,"domToMutation");Blockly.Extensions.checkHasFunction_(e,b.mutationToDom,"mutationToDom");var f=Blockly.Extensions.checkMutatorDialog_(b,e);if(c&&"function"!=typeof c)throw Error('Extension "'+a+'" is not a function');Blockly.Extensions.register(a,function(){f&&this.setMutator(new Blockly.Mutator(d));this.mixin(b);c&&c.apply(this)})};
+Blockly.Extensions.apply=function(a,b,c){var d=Blockly.Extensions.ALL_[a];if("function"!=typeof d)throw Error('Error: Extension "'+a+'" not found.');if(c)Blockly.Extensions.checkNoMutatorProperties_(a,b);else var e=Blockly.Extensions.getMutatorProperties_(b);d.apply(b);if(c)Blockly.Extensions.checkBlockHasMutatorProperties_('Error after applying mutator "'+a+'": ',b);else if(!Blockly.Extensions.mutatorPropertiesMatch_(e,b))throw Error('Error when applying extension "'+a+'": mutation properties changed when applying a non-mutator extension.');
+};Blockly.Extensions.checkHasFunction_=function(a,b,c){if(!b)throw Error(a+'missing required property "'+c+'"');if("function"!=typeof b)throw Error(a+'" required property "'+c+'" must be a function');};Blockly.Extensions.checkNoMutatorProperties_=function(a,b){if(Blockly.Extensions.getMutatorProperties_(b).length)throw Error('Error: tried to apply mutation "'+a+'" to a block that already has mutator functions.  Block id: '+b.id);};
+Blockly.Extensions.checkMutatorDialog_=function(a,b){var c=void 0!==a.compose,d=void 0!==a.decompose;if(c&&d){if("function"!=typeof a.compose)throw Error(b+"compose must be a function.");if("function"!=typeof a.decompose)throw Error(b+"decompose must be a function.");return!0}if(c||d)throw Error(b+'Must have both or neither of "compose" and "decompose"');return!1};
+Blockly.Extensions.checkBlockHasMutatorProperties_=function(a,b){if("function"!=typeof b.domToMutation)throw Error(a+'Applying a mutator didn\'t add "domToMutation"');if("function"!=typeof b.mutationToDom)throw Error(a+'Applying a mutator didn\'t add "mutationToDom"');Blockly.Extensions.checkMutatorDialog_(b,a)};
+Blockly.Extensions.getMutatorProperties_=function(a){var b=[];void 0!==a.domToMutation&&b.push(a.domToMutation);void 0!==a.mutationToDom&&b.push(a.mutationToDom);void 0!==a.compose&&b.push(a.compose);void 0!==a.decompose&&b.push(a.decompose);return b};Blockly.Extensions.mutatorPropertiesMatch_=function(a,b){var c=Blockly.Extensions.getMutatorProperties_(b);if(c.length!=a.length)return!1;for(var d=0;d<c.length;d++)if(a[d]!=c[d])return!1;return!0};
+Blockly.Extensions.buildTooltipForDropdown=function(a,b){var c=[];"object"==typeof document&&Blockly.utils.runAfterPageLoad(function(){for(var a in b)Blockly.utils.checkMessageReferences(b[a])});return function(){this.type&&-1===c.indexOf(this.type)&&(Blockly.Extensions.checkDropdownOptionsInTable_(this,a,b),c.push(this.type));this.setTooltip(function(){var d=this.getFieldValue(a),e=b[d];null==e?-1===c.indexOf(this.type)&&(d="No tooltip mapping for value "+d+" of field "+a,null!=this.type&&(d+=" of block type "+
+this.type),console.warn(d+".")):e=Blockly.utils.replaceMessageReferences(e);return e}.bind(this))}};Blockly.Extensions.checkDropdownOptionsInTable_=function(a,b,c){var d=a.getField(b);if(!d.isOptionListDynamic()){d=d.getOptions();for(var e=0;e<d.length;++e){var f=d[e][1];null==c[f]&&console.warn("No tooltip mapping for value "+f+" of field "+b+" of block type "+a.type)}}};
+Blockly.Extensions.buildTooltipWithFieldText=function(a,b){"object"==typeof document&&Blockly.utils.runAfterPageLoad(function(){Blockly.utils.checkMessageReferences(a)});return function(){this.setTooltip(function(){var c=this.getField(b);return Blockly.utils.replaceMessageReferences(a).replace("%1",c?c.getText():"")}.bind(this))}};
+Blockly.Extensions.extensionParentTooltip_=function(){this.tooltipWhenNotConnected_=this.tooltip;this.setTooltip(function(){var a=this.getParent();return a&&a.getInputsInline()&&a.tooltip||this.tooltipWhenNotConnected_}.bind(this))};Blockly.Extensions.register("parent_tooltip_when_inline",Blockly.Extensions.extensionParentTooltip_);Blockly.Field=function(a,b){this.size_=new goog.math.Size(0,Blockly.BlockSvg.MIN_BLOCK_Y);this.setValue(a);this.setValidator(b)};Blockly.Field.TYPE_MAP_={};Blockly.Field.register=function(a,b){if("string"!=typeof a||""==a.trim())throw Error('Invalid field type "'+a+'"');if(!b||"function"!=typeof b.fromJson)throw Error('Field "'+b+'" must have a fromJson function');Blockly.Field.TYPE_MAP_[a]=b};Blockly.Field.fromJson=function(a){var b=Blockly.Field.TYPE_MAP_[a.type];return b?b.fromJson(a):null};
+Blockly.Field.cacheWidths_=null;Blockly.Field.cacheReference_=0;Blockly.Field.prototype.name=void 0;Blockly.Field.prototype.maxDisplayLength=50;Blockly.Field.prototype.text_="";Blockly.Field.prototype.sourceBlock_=null;Blockly.Field.prototype.visible_=!0;Blockly.Field.prototype.validator_=null;Blockly.Field.NBSP="\u00a0";Blockly.Field.prototype.EDITABLE=!0;Blockly.Field.prototype.setSourceBlock=function(a){if(this.sourceBlock_)throw Error("Field already bound to a block.");this.sourceBlock_=a};
+Blockly.Field.prototype.init=function(){this.fieldGroup_||(this.fieldGroup_=Blockly.utils.createSvgElement("g",{},null),this.visible_||(this.fieldGroup_.style.display="none"),this.borderRect_=Blockly.utils.createSvgElement("rect",{rx:4,ry:4,x:-Blockly.BlockSvg.SEP_SPACE_X/2,y:0,height:16},this.fieldGroup_),this.textElement_=Blockly.utils.createSvgElement("text",{"class":"blocklyText",y:this.size_.height-12.5},this.fieldGroup_),this.updateEditable(),this.sourceBlock_.getSvgRoot().appendChild(this.fieldGroup_),
+this.mouseDownWrapper_=Blockly.bindEventWithChecks_(this.fieldGroup_,"mousedown",this,this.onMouseDown_),this.render_())};Blockly.Field.prototype.initModel=function(){};Blockly.Field.prototype.dispose=function(){this.mouseDownWrapper_&&(Blockly.unbindEvent_(this.mouseDownWrapper_),this.mouseDownWrapper_=null);this.sourceBlock_=null;this.fieldGroup_&&(Blockly.utils.removeNode(this.fieldGroup_),this.fieldGroup_=null);this.validator_=this.borderRect_=this.textElement_=null};
+Blockly.Field.prototype.updateEditable=function(){var a=this.fieldGroup_;this.EDITABLE&&a&&(this.sourceBlock_.isEditable()?(Blockly.utils.addClass(a,"blocklyEditableText"),Blockly.utils.removeClass(a,"blocklyNonEditableText"),this.fieldGroup_.style.cursor=this.CURSOR):(Blockly.utils.addClass(a,"blocklyNonEditableText"),Blockly.utils.removeClass(a,"blocklyEditableText"),this.fieldGroup_.style.cursor=""))};
+Blockly.Field.prototype.isCurrentlyEditable=function(){return this.EDITABLE&&!!this.sourceBlock_&&this.sourceBlock_.isEditable()};Blockly.Field.prototype.isVisible=function(){return this.visible_};Blockly.Field.prototype.setVisible=function(a){if(this.visible_!=a){this.visible_=a;var b=this.getSvgRoot();b&&(b.style.display=a?"block":"none",this.render_())}};Blockly.Field.prototype.setValidator=function(a){this.validator_=a};Blockly.Field.prototype.getValidator=function(){return this.validator_};
+Blockly.Field.prototype.classValidator=function(a){return a};Blockly.Field.prototype.callValidator=function(a){var b=this.classValidator(a);if(null===b)return null;void 0!==b&&(a=b);if(b=this.getValidator()){b=b.call(this,a);if(null===b)return null;void 0!==b&&(a=b)}return a};Blockly.Field.prototype.getSvgRoot=function(){return this.fieldGroup_};Blockly.Field.prototype.render_=function(){this.visible_?(this.textElement_.textContent=this.getDisplayText_(),this.updateWidth()):this.size_.width=0};
+Blockly.Field.prototype.updateWidth=function(){var a=Blockly.Field.getCachedWidth(this.textElement_);this.borderRect_&&this.borderRect_.setAttribute("width",a+Blockly.BlockSvg.SEP_SPACE_X);this.size_.width=a};
+Blockly.Field.getCachedWidth=function(a){var b=a.textContent+"\n"+a.className.baseVal,c;if(Blockly.Field.cacheWidths_&&(c=Blockly.Field.cacheWidths_[b]))return c;try{c=goog.userAgent.IE||goog.userAgent.EDGE?a.getBBox().width:a.getComputedTextLength()}catch(d){return 8*a.textContent.length}Blockly.Field.cacheWidths_&&(Blockly.Field.cacheWidths_[b]=c);return c};Blockly.Field.startCache=function(){Blockly.Field.cacheReference_++;Blockly.Field.cacheWidths_||(Blockly.Field.cacheWidths_={})};
+Blockly.Field.stopCache=function(){Blockly.Field.cacheReference_--;Blockly.Field.cacheReference_||(Blockly.Field.cacheWidths_=null)};Blockly.Field.prototype.getSize=function(){this.size_.width||this.render_();return this.size_};Blockly.Field.prototype.getScaledBBox_=function(){var a=this.borderRect_.getBBox(),b=a.height*this.sourceBlock_.workspace.scale;a=a.width*this.sourceBlock_.workspace.scale;var c=this.getAbsoluteXY_();return{top:c.y,bottom:c.y+b,left:c.x,right:c.x+a}};
+Blockly.Field.prototype.getDisplayText_=function(){var a=this.text_;if(!a)return Blockly.Field.NBSP;a.length>this.maxDisplayLength&&(a=a.substring(0,this.maxDisplayLength-2)+"\u2026");a=a.replace(/\s/g,Blockly.Field.NBSP);this.sourceBlock_.RTL&&(a+="\u200f");return a};Blockly.Field.prototype.getText=function(){return this.text_};Blockly.Field.prototype.setText=function(a){null!==a&&(a=String(a),a!==this.text_&&(this.text_=a,this.forceRerender()))};
+Blockly.Field.prototype.forceRerender=function(){this.size_.width=0;this.sourceBlock_&&this.sourceBlock_.rendered&&(this.sourceBlock_.render(),this.sourceBlock_.bumpNeighbours_())};Blockly.Field.prototype.getValue=function(){return this.getText()};Blockly.Field.prototype.setValue=function(a){if(null!==a){var b=this.getValue();b!=a&&(this.sourceBlock_&&Blockly.Events.isEnabled()&&Blockly.Events.fire(new Blockly.Events.BlockChange(this.sourceBlock_,"field",this.name,b,a)),this.setText(a))}};
+Blockly.Field.prototype.onMouseDown_=function(a){this.sourceBlock_&&this.sourceBlock_.workspace&&(a=this.sourceBlock_.workspace.getGesture(a))&&a.setStartField(this)};Blockly.Field.prototype.setTooltip=function(a){};Blockly.Field.prototype.getAbsoluteXY_=function(){return goog.style.getPageOffset(this.borderRect_)};Blockly.Field.prototype.referencesVariables=function(){return!1};Blockly.FieldLabel=function(a,b){this.size_=new goog.math.Size(0,17.5);this.class_=b;this.setValue(a)};goog.inherits(Blockly.FieldLabel,Blockly.Field);Blockly.FieldLabel.fromJson=function(a){var b=Blockly.utils.replaceMessageReferences(a.text);return new Blockly.FieldLabel(b,a["class"])};Blockly.FieldLabel.prototype.EDITABLE=!1;
+Blockly.FieldLabel.prototype.init=function(){this.textElement_||(this.textElement_=Blockly.utils.createSvgElement("text",{"class":"blocklyText",y:this.size_.height-5},null),this.class_&&Blockly.utils.addClass(this.textElement_,this.class_),this.visible_||(this.textElement_.style.display="none"),this.sourceBlock_.getSvgRoot().appendChild(this.textElement_),this.textElement_.tooltip=this.sourceBlock_,Blockly.Tooltip.bindMouseEvents(this.textElement_),this.render_())};
+Blockly.FieldLabel.prototype.dispose=function(){this.textElement_&&(Blockly.utils.removeNode(this.textElement_),this.textElement_=null)};Blockly.FieldLabel.prototype.getSvgRoot=function(){return this.textElement_};Blockly.FieldLabel.prototype.setTooltip=function(a){this.textElement_.tooltip=a};Blockly.Field.register("field_label",Blockly.FieldLabel);Blockly.Input=function(a,b,c,d){if(a!=Blockly.DUMMY_INPUT&&!b)throw Error("Value inputs and statement inputs must have non-empty name.");this.type=a;this.name=b;this.sourceBlock_=c;this.connection=d;this.fieldRow=[]};Blockly.Input.prototype.align=Blockly.ALIGN_LEFT;Blockly.Input.prototype.visible_=!0;Blockly.Input.prototype.appendField=function(a,b){this.insertFieldAt(this.fieldRow.length,a,b);return this};
+Blockly.Input.prototype.insertFieldAt=function(a,b,c){if(0>a||a>this.fieldRow.length)throw Error("index "+a+" out of bounds.");if(!b&&!c)return a;"string"==typeof b&&(b=new Blockly.FieldLabel(b));b.setSourceBlock(this.sourceBlock_);this.sourceBlock_.rendered&&b.init();b.name=c;b.prefixField&&(a=this.insertFieldAt(a,b.prefixField));this.fieldRow.splice(a,0,b);++a;b.suffixField&&(a=this.insertFieldAt(a,b.suffixField));this.sourceBlock_.rendered&&(this.sourceBlock_.render(),this.sourceBlock_.bumpNeighbours_());
+return a};Blockly.Input.prototype.removeField=function(a){for(var b=0,c;c=this.fieldRow[b];b++)if(c.name===a){c.dispose();this.fieldRow.splice(b,1);this.sourceBlock_.rendered&&(this.sourceBlock_.render(),this.sourceBlock_.bumpNeighbours_());return}throw Error('Field "%s" not found.',a);};Blockly.Input.prototype.isVisible=function(){return this.visible_};
+Blockly.Input.prototype.setVisible=function(a){var b=[];if(this.visible_==a)return b;for(var c=(this.visible_=a)?"block":"none",d=0,e;e=this.fieldRow[d];d++)e.setVisible(a);this.connection&&(a?b=this.connection.unhideAll():this.connection.hideAll(),d=this.connection.targetBlock())&&(d.getSvgRoot().style.display=c,a||(d.rendered=!1));return b};Blockly.Input.prototype.setCheck=function(a){if(!this.connection)throw Error("This input does not have a connection.");this.connection.setCheck(a);return this};
+Blockly.Input.prototype.setAlign=function(a){this.align=a;this.sourceBlock_.rendered&&this.sourceBlock_.render();return this};Blockly.Input.prototype.init=function(){if(this.sourceBlock_.workspace.rendered)for(var a=0;a<this.fieldRow.length;a++)this.fieldRow[a].init()};Blockly.Input.prototype.dispose=function(){for(var a=0,b;b=this.fieldRow[a];a++)b.dispose();this.connection&&this.connection.dispose();this.sourceBlock_=null};Blockly.Warning=function(a){Blockly.Warning.superClass_.constructor.call(this,a);this.createIcon();this.text_={}};goog.inherits(Blockly.Warning,Blockly.Icon);Blockly.Warning.prototype.collapseHidden=!1;
+Blockly.Warning.prototype.drawIcon_=function(a){Blockly.utils.createSvgElement("path",{"class":"blocklyIconShape",d:"M2,15Q-1,15 0.5,12L6.5,1.7Q8,-1 9.5,1.7L15.5,12Q17,15 14,15z"},a);Blockly.utils.createSvgElement("path",{"class":"blocklyIconSymbol",d:"m7,4.8v3.16l0.27,2.27h1.46l0.27,-2.27v-3.16z"},a);Blockly.utils.createSvgElement("rect",{"class":"blocklyIconSymbol",x:"7",y:"11",height:"2",width:"2"},a)};
+Blockly.Warning.textToDom_=function(a){var b=Blockly.utils.createSvgElement("text",{"class":"blocklyText blocklyBubbleText",y:Blockly.Bubble.BORDER_WIDTH},null);a=a.split("\n");for(var c=0;c<a.length;c++){var d=Blockly.utils.createSvgElement("tspan",{dy:"1em",x:Blockly.Bubble.BORDER_WIDTH},b),e=document.createTextNode(a[c]);d.appendChild(e)}return b};
+Blockly.Warning.prototype.setVisible=function(a){if(a!=this.isVisible())if(Blockly.Events.fire(new Blockly.Events.Ui(this.block_,"warningOpen",!a,a)),a){a=Blockly.Warning.textToDom_(this.getText());this.bubble_=new Blockly.Bubble(this.block_.workspace,a,this.block_.svgPath_,this.iconXY_,null,null);this.bubble_.setSvgId(this.block_.id);if(this.block_.RTL)for(var b=a.getBBox().width,c=0,d;d=a.childNodes[c];c++)d.setAttribute("text-anchor","end"),d.setAttribute("x",b+Blockly.Bubble.BORDER_WIDTH);this.updateColour();
+a=this.bubble_.getBubbleSize();this.bubble_.setBubbleSize(a.width,a.height)}else this.bubble_.dispose(),this.body_=this.bubble_=null};Blockly.Warning.prototype.bodyFocus_=function(a){this.bubble_.promote_()};Blockly.Warning.prototype.setText=function(a,b){this.text_[b]!=a&&(a?this.text_[b]=a:delete this.text_[b],this.isVisible()&&(this.setVisible(!1),this.setVisible(!0)))};Blockly.Warning.prototype.getText=function(){var a=[],b;for(b in this.text_)a.push(this.text_[b]);return a.join("\n")};
+Blockly.Warning.prototype.dispose=function(){this.block_.warning=null;Blockly.Icon.prototype.dispose.call(this)};Blockly.Block=function(a,b,c){"undefined"!==typeof Blockly.Generator.prototype[b]&&console.warn('FUTURE ERROR: Block prototypeName "'+b+'" conflicts with Blockly.Generator members. Registering Generators for this block type will incur errors.\nThis name will be DISALLOWED (throwing an error) in future versions of Blockly.');this.id=c&&!a.getBlockById(c)?c:Blockly.utils.genUid();a.blockDB_[this.id]=this;this.previousConnection=this.nextConnection=this.outputConnection=null;this.inputList=[];this.inputsInline=
+void 0;this.disabled=!1;this.tooltip="";this.contextMenu=!0;this.parentBlock_=null;this.childBlocks_=[];this.editable_=this.movable_=this.deletable_=!0;this.collapsed_=this.isShadow_=!1;this.comment=null;this.xy_=new goog.math.Coordinate(0,0);this.workspace=a;this.isInFlyout=a.isFlyout;this.isInMutator=a.isMutator;this.RTL=a.RTL;if(b){this.type=b;c=Blockly.Blocks[b];if(!c||"object"!=typeof c)throw TypeError("Unknown block type: "+b);goog.mixin(this,c)}a.addTopBlock(this);"function"==typeof this.init&&
+this.init();this.inputsInlineDefault=this.inputsInline;if(Blockly.Events.isEnabled()){(a=Blockly.Events.getGroup())||Blockly.Events.setGroup(!0);try{Blockly.Events.fire(new Blockly.Events.BlockCreate(this))}finally{a||Blockly.Events.setGroup(!1)}}"function"==typeof this.onchange&&this.setOnChange(this.onchange)};Blockly.Block.obtain=function(a,b){console.warn("Deprecated call to Blockly.Block.obtain, use workspace.newBlock instead.");return a.newBlock(b)};Blockly.Block.prototype.data=null;
+Blockly.Block.prototype.colour_="#000000";Blockly.Block.prototype.hue_=null;
+Blockly.Block.prototype.dispose=function(a){if(this.workspace){this.onchangeWrapper_&&this.workspace.removeChangeListener(this.onchangeWrapper_);this.unplug(a);Blockly.Events.isEnabled()&&Blockly.Events.fire(new Blockly.Events.BlockDelete(this));Blockly.Events.disable();try{this.workspace&&(this.workspace.removeTopBlock(this),delete this.workspace.blockDB_[this.id],this.workspace=null);Blockly.selected==this&&(Blockly.selected=null);for(var b=this.childBlocks_.length-1;0<=b;b--)this.childBlocks_[b].dispose(!1);
+b=0;for(var c;c=this.inputList[b];b++)c.dispose();this.inputList.length=0;var d=this.getConnections_(!0);for(b=0;b<d.length;b++){var e=d[b];e.isConnected()&&e.disconnect();d[b].dispose()}}finally{Blockly.Events.enable()}}};Blockly.Block.prototype.initModel=function(){for(var a=0,b;b=this.inputList[a];a++)for(var c=0,d;d=b.fieldRow[c];c++)d.initModel&&d.initModel()};Blockly.Block.prototype.unplug=function(a){this.outputConnection?this.unplugFromRow_(a):this.previousConnection&&this.unplugFromStack_(a)};
+Blockly.Block.prototype.unplugFromRow_=function(a){var b=null;this.outputConnection.isConnected()&&(b=this.outputConnection.targetConnection,this.outputConnection.disconnect());b&&a&&(a=this.getOnlyValueConnection_())&&a.isConnected()&&(a=a.targetConnection,a.checkType_(b)&&(a.disconnect(),b.connect(a)))};
+Blockly.Block.prototype.getOnlyValueConnection_=function(){for(var a=!1,b=0;b<this.inputList.length;b++){var c=this.inputList[b].connection;if(c&&c.type==Blockly.INPUT_VALUE){if(a)return null;a=c}}return a};Blockly.Block.prototype.unplugFromStack_=function(a){var b=null;this.previousConnection.isConnected()&&(b=this.previousConnection.targetConnection,this.previousConnection.disconnect());var c=this.getNextBlock();a&&c&&(a=this.nextConnection.targetConnection,a.disconnect(),b&&b.checkType_(a)&&b.connect(a))};
+Blockly.Block.prototype.getConnections_=function(a){a=[];this.outputConnection&&a.push(this.outputConnection);this.previousConnection&&a.push(this.previousConnection);this.nextConnection&&a.push(this.nextConnection);for(var b=0,c;c=this.inputList[b];b++)c.connection&&a.push(c.connection);return a};Blockly.Block.prototype.lastConnectionInStack=function(){for(var a=this.nextConnection;a;){var b=a.targetBlock();if(!b)return a;a=b.nextConnection}return null};Blockly.Block.prototype.bumpNeighbours_=function(){console.warn("Not expected to reach this bumpNeighbours_ function. The BlockSvg function for bumpNeighbours_ was expected to be called instead.")};
+Blockly.Block.prototype.getParent=function(){return this.parentBlock_};Blockly.Block.prototype.getInputWithBlock=function(a){for(var b=0,c;c=this.inputList[b];b++)if(c.connection&&c.connection.targetBlock()==a)return c;return null};Blockly.Block.prototype.getSurroundParent=function(){var a=this;do{var b=a;a=a.getParent();if(!a)return null}while(a.getNextBlock()==b);return a};Blockly.Block.prototype.getNextBlock=function(){return this.nextConnection&&this.nextConnection.targetBlock()};
+Blockly.Block.prototype.getRootBlock=function(){var a=this;do{var b=a;a=b.parentBlock_}while(a);return b};Blockly.Block.prototype.getChildren=function(a){if(!a)return this.childBlocks_;a=[];for(var b=0,c;c=this.inputList[b];b++)c.connection&&(c=c.connection.targetBlock())&&a.push(c);(b=this.getNextBlock())&&a.push(b);return a};
+Blockly.Block.prototype.setParent=function(a){if(a!=this.parentBlock_){if(this.parentBlock_){Blockly.utils.arrayRemove(this.parentBlock_.childBlocks_,this);if(this.previousConnection&&this.previousConnection.isConnected())throw Error("Still connected to previous block.");if(this.outputConnection&&this.outputConnection.isConnected())throw Error("Still connected to parent block.");this.parentBlock_=null}else this.workspace.removeTopBlock(this);(this.parentBlock_=a)?a.childBlocks_.push(this):this.workspace.addTopBlock(this)}};
+Blockly.Block.prototype.getDescendants=function(a){for(var b=[this],c=this.getChildren(a),d,e=0;d=c[e];e++)b.push.apply(b,d.getDescendants(a));return b};Blockly.Block.prototype.isDeletable=function(){return this.deletable_&&!this.isShadow_&&!(this.workspace&&this.workspace.options.readOnly)};Blockly.Block.prototype.setDeletable=function(a){this.deletable_=a};Blockly.Block.prototype.isMovable=function(){return this.movable_&&!this.isShadow_&&!(this.workspace&&this.workspace.options.readOnly)};
+Blockly.Block.prototype.setMovable=function(a){this.movable_=a};Blockly.Block.prototype.isShadow=function(){return this.isShadow_};Blockly.Block.prototype.setShadow=function(a){this.isShadow_=a};Blockly.Block.prototype.isEditable=function(){return this.editable_&&!(this.workspace&&this.workspace.options.readOnly)};Blockly.Block.prototype.setEditable=function(a){this.editable_=a;a=0;for(var b;b=this.inputList[a];a++)for(var c=0,d;d=b.fieldRow[c];c++)d.updateEditable()};
+Blockly.Block.prototype.setConnectionsHidden=function(a){if(!a&&this.isCollapsed()){if(this.outputConnection&&this.outputConnection.setHidden(a),this.previousConnection&&this.previousConnection.setHidden(a),this.nextConnection){this.nextConnection.setHidden(a);var b=this.nextConnection.targetBlock();b&&b.setConnectionsHidden(a)}}else for(var c=this.getConnections_(!0),d=0;b=c[d];d++)b.setHidden(a),b.isSuperior()&&(b=b.targetBlock())&&b.setConnectionsHidden(a)};
+Blockly.Block.prototype.setHelpUrl=function(a){this.helpUrl=a};Blockly.Block.prototype.setTooltip=function(a){this.tooltip=a};Blockly.Block.prototype.getColour=function(){return this.colour_};Blockly.Block.prototype.getHue=function(){return this.hue_};
+Blockly.Block.prototype.setColour=function(a){var b="string"==typeof a?Blockly.utils.replaceMessageReferences(a):a,c=Number(b);if(!isNaN(c)&&0<=c&&360>=c)this.hue_=c,this.colour_=Blockly.hueToRgb(c);else if("string"==typeof b&&/^#[0-9a-fA-F]{6}$/.test(b))this.colour_=b,this.hue_=null;else throw c='Invalid colour: "'+b+'"',a!=b&&(c+=' (from "'+a+'")'),c;};
+Blockly.Block.prototype.setOnChange=function(a){if(a&&"function"!=typeof a)throw Error("onchange must be a function.");this.onchangeWrapper_&&this.workspace.removeChangeListener(this.onchangeWrapper_);if(this.onchange=a)this.onchangeWrapper_=a.bind(this),this.workspace.addChangeListener(this.onchangeWrapper_)};Blockly.Block.prototype.getField=function(a){for(var b=0,c;c=this.inputList[b];b++)for(var d=0,e;e=c.fieldRow[d];d++)if(e.name===a)return e;return null};
+Blockly.Block.prototype.getVars=function(){for(var a=[],b=0,c;c=this.inputList[b];b++)for(var d=0,e;e=c.fieldRow[d];d++)e.referencesVariables()&&a.push(e.getValue());return a};Blockly.Block.prototype.getVarModels=function(){for(var a=[],b=0,c;c=this.inputList[b];b++)for(var d=0,e;e=c.fieldRow[d];d++)e.referencesVariables()&&(e=this.workspace.getVariableById(e.getValue()))&&a.push(e);return a};
+Blockly.Block.prototype.updateVarName=function(a){for(var b=0,c;c=this.inputList[b];b++)for(var d=0,e;e=c.fieldRow[d];d++)e.referencesVariables()&&a.getId()==e.getValue()&&e.setText(a.name)};Blockly.Block.prototype.renameVarById=function(a,b){for(var c=0,d;d=this.inputList[c];c++)for(var e=0,f;f=d.fieldRow[e];e++)f.referencesVariables()&&a==f.getValue()&&f.setValue(b)};Blockly.Block.prototype.getFieldValue=function(a){return(a=this.getField(a))?a.getValue():null};
+Blockly.Block.prototype.setFieldValue=function(a,b){var c=this.getField(b);if(!c)throw Error('Field "'+b+'" not found.');c.setValue(a)};
+Blockly.Block.prototype.setPreviousStatement=function(a,b){if(a){void 0===b&&(b=null);if(!this.previousConnection){if(this.outputConnection)throw Error("Remove output connection prior to adding previous connection.");this.previousConnection=this.makeConnection_(Blockly.PREVIOUS_STATEMENT)}this.previousConnection.setCheck(b)}else if(this.previousConnection){if(this.previousConnection.isConnected())throw Error("Must disconnect previous statement before removing connection.");this.previousConnection.dispose();
+this.previousConnection=null}};Blockly.Block.prototype.setNextStatement=function(a,b){if(a)void 0===b&&(b=null),this.nextConnection||(this.nextConnection=this.makeConnection_(Blockly.NEXT_STATEMENT)),this.nextConnection.setCheck(b);else if(this.nextConnection){if(this.nextConnection.isConnected())throw Error("Must disconnect next statement before removing connection.");this.nextConnection.dispose();this.nextConnection=null}};
+Blockly.Block.prototype.setOutput=function(a,b){if(a){void 0===b&&(b=null);if(!this.outputConnection){if(this.previousConnection)throw Error("Remove previous connection prior to adding output connection.");this.outputConnection=this.makeConnection_(Blockly.OUTPUT_VALUE)}this.outputConnection.setCheck(b)}else if(this.outputConnection){if(this.outputConnection.isConnected())throw Error("Must disconnect output value before removing connection.");this.outputConnection.dispose();this.outputConnection=
+null}};Blockly.Block.prototype.setInputsInline=function(a){this.inputsInline!=a&&(Blockly.Events.fire(new Blockly.Events.BlockChange(this,"inline",null,this.inputsInline,a)),this.inputsInline=a)};
+Blockly.Block.prototype.getInputsInline=function(){if(void 0!=this.inputsInline)return this.inputsInline;for(var a=1;a<this.inputList.length;a++)if(this.inputList[a-1].type==Blockly.DUMMY_INPUT&&this.inputList[a].type==Blockly.DUMMY_INPUT)return!1;for(a=1;a<this.inputList.length;a++)if(this.inputList[a-1].type==Blockly.INPUT_VALUE&&this.inputList[a].type==Blockly.DUMMY_INPUT)return!0;return!1};
+Blockly.Block.prototype.setDisabled=function(a){this.disabled!=a&&(Blockly.Events.fire(new Blockly.Events.BlockChange(this,"disabled",null,this.disabled,a)),this.disabled=a)};Blockly.Block.prototype.getInheritedDisabled=function(){for(var a=this.getSurroundParent();a;){if(a.disabled)return!0;a=a.getSurroundParent()}return!1};Blockly.Block.prototype.isCollapsed=function(){return this.collapsed_};
+Blockly.Block.prototype.setCollapsed=function(a){this.collapsed_!=a&&(Blockly.Events.fire(new Blockly.Events.BlockChange(this,"collapsed",null,this.collapsed_,a)),this.collapsed_=a)};
+Blockly.Block.prototype.toString=function(a,b){var c=[],d=b||"?";if(this.collapsed_)c.push(this.getInput("_TEMP_COLLAPSED_INPUT").fieldRow[0].text_);else for(var e=0,f;f=this.inputList[e];e++){for(var g=0,h;h=f.fieldRow[g];g++)h instanceof Blockly.FieldDropdown&&!h.getValue()?c.push(d):c.push(h.getText());f.connection&&((f=f.connection.targetBlock())?c.push(f.toString(void 0,b)):c.push(d))}c=c.join(" ").trim()||"???";a&&c.length>a&&(c=c.substring(0,a-3)+"...");return c};
+Blockly.Block.prototype.appendValueInput=function(a){return this.appendInput_(Blockly.INPUT_VALUE,a)};Blockly.Block.prototype.appendStatementInput=function(a){return this.appendInput_(Blockly.NEXT_STATEMENT,a)};Blockly.Block.prototype.appendDummyInput=function(a){return this.appendInput_(Blockly.DUMMY_INPUT,a||"")};
+Blockly.Block.prototype.jsonInit=function(a){var b=a.type?'Block "'+a.type+'": ':"";if(a.output&&a.previousStatement)throw Error(b+"Must not have both an output and a previousStatement.");this.jsonInitColour_(a,b);for(var c=0;void 0!==a["message"+c];)this.interpolate_(a["message"+c],a["args"+c]||[],a["lastDummyAlign"+c]),c++;void 0!==a.inputsInline&&this.setInputsInline(a.inputsInline);void 0!==a.output&&this.setOutput(!0,a.output);void 0!==a.previousStatement&&this.setPreviousStatement(!0,a.previousStatement);
+void 0!==a.nextStatement&&this.setNextStatement(!0,a.nextStatement);void 0!==a.tooltip&&(c=a.tooltip,c=Blockly.utils.replaceMessageReferences(c),this.setTooltip(c));void 0!==a.enableContextMenu&&(c=a.enableContextMenu,this.contextMenu=!!c);void 0!==a.helpUrl&&(c=a.helpUrl,c=Blockly.utils.replaceMessageReferences(c),this.setHelpUrl(c));"string"==typeof a.extensions&&(console.warn(b+"JSON attribute 'extensions' should be an array of strings. Found raw string in JSON for '"+a.type+"' block."),a.extensions=
+[a.extensions]);void 0!==a.mutator&&Blockly.Extensions.apply(a.mutator,this,!0);if(Array.isArray(a.extensions))for(a=a.extensions,b=0;b<a.length;++b)Blockly.Extensions.apply(a[b],this,!1)};Blockly.Block.prototype.jsonInitColour_=function(a,b){if("colour"in a)if(void 0===a.colour)console.warn(b+"Undefined color value.");else{var c=a.colour;try{this.setColour(c)}catch(d){console.warn(b+"Illegal color value: ",c)}}};
+Blockly.Block.prototype.mixin=function(a,b){if(void 0!==b&&"boolean"!=typeof b)throw Error("opt_disableCheck must be a boolean if provided");if(!b){var c=[],d;for(d in a)void 0!==this[d]&&c.push(d);if(c.length)throw Error("Mixin will overwrite block members: "+JSON.stringify(c));}goog.mixin(this,a)};
+Blockly.Block.prototype.interpolate_=function(a,b,c){var d=Blockly.utils.tokenizeInterpolation(a),e=[],f=0;a=[];for(var g=0;g<d.length;g++){var h=d[g];if("number"==typeof h){if(0>=h||h>b.length)throw Error('Block "'+this.type+'": Message index %'+h+" out of range.");if(e[h])throw Error('Block "'+this.type+'": Message index %'+h+" duplicated.");e[h]=!0;f++;a.push(b[h-1])}else(h=h.trim())&&a.push(h)}if(f!=b.length)throw Error('Block "'+this.type+'": Message does not reference all '+b.length+" arg(s).");
+a.length&&("string"==typeof a[a.length-1]||Blockly.utils.startsWith(a[a.length-1].type,"field_"))&&(g={type:"input_dummy"},c&&(g.align=c),a.push(g));c={LEFT:Blockly.ALIGN_LEFT,RIGHT:Blockly.ALIGN_RIGHT,CENTRE:Blockly.ALIGN_CENTRE};b=[];for(g=0;g<a.length;g++)if(e=a[g],"string"==typeof e)b.push([e,void 0]);else{d=f=null;do if(h=!1,"string"==typeof e)f=new Blockly.FieldLabel(e);else switch(e.type){case "input_value":d=this.appendValueInput(e.name);break;case "input_statement":d=this.appendStatementInput(e.name);
+break;case "input_dummy":d=this.appendDummyInput(e.name);break;default:f=Blockly.Field.fromJson(e),f||(e.alt?(e=e.alt,h=!0):console.warn("Blockly could not create a field of type "+e.type+". You may need to register your custom field.  See github.com/google/blockly/issues/1584"))}while(h);if(f)b.push([f,e.name]);else if(d){e.check&&d.setCheck(e.check);e.align&&d.setAlign(c[e.align]);for(e=0;e<b.length;e++)d.appendField(b[e][0],b[e][1]);b.length=0}}};
+Blockly.Block.prototype.appendInput_=function(a,b){var c=null;if(a==Blockly.INPUT_VALUE||a==Blockly.NEXT_STATEMENT)c=this.makeConnection_(a);c=new Blockly.Input(a,b,this,c);this.inputList.push(c);return c};
+Blockly.Block.prototype.moveInputBefore=function(a,b){if(a!=b){for(var c=-1,d=b?-1:this.inputList.length,e=0,f;f=this.inputList[e];e++)if(f.name==a){if(c=e,-1!=d)break}else if(b&&f.name==b&&(d=e,-1!=c))break;if(-1==c)throw Error('Named input "'+a+'" not found.');if(-1==d)throw Error('Reference input "'+b+'" not found.');this.moveNumberedInputBefore(c,d)}};
+Blockly.Block.prototype.moveNumberedInputBefore=function(a,b){if(a==b)throw Error("Can't move input to itself.");if(a>=this.inputList.length)throw RangeError("Input index "+a+" out of bounds.");if(b>this.inputList.length)throw RangeError("Reference input "+b+" out of bounds.");var c=this.inputList[a];this.inputList.splice(a,1);a<b&&b--;this.inputList.splice(b,0,c)};
+Blockly.Block.prototype.removeInput=function(a,b){for(var c=0,d;d=this.inputList[c];c++)if(d.name==a){if(d.connection&&d.connection.isConnected()){d.connection.setShadowDom(null);var e=d.connection.targetBlock();e.isShadow()?e.dispose():e.unplug()}d.dispose();this.inputList.splice(c,1);return}if(!b)throw Error("Input not found: "+a);};Blockly.Block.prototype.getInput=function(a){for(var b=0,c;c=this.inputList[b];b++)if(c.name==a)return c;return null};
+Blockly.Block.prototype.getInputTargetBlock=function(a){return(a=this.getInput(a))&&a.connection&&a.connection.targetBlock()};Blockly.Block.prototype.getCommentText=function(){return this.comment||""};Blockly.Block.prototype.setCommentText=function(a){this.comment!=a&&(Blockly.Events.fire(new Blockly.Events.BlockChange(this,"comment",null,this.comment,a||"")),this.comment=a)};Blockly.Block.prototype.setWarningText=function(a,b){};Blockly.Block.prototype.setMutator=function(a){};
+Blockly.Block.prototype.getRelativeToSurfaceXY=function(){return this.xy_};Blockly.Block.prototype.moveBy=function(a,b){if(this.parentBlock_)throw Error("Block has parent.");var c=new Blockly.Events.BlockMove(this);this.xy_.translate(a,b);c.recordNew();Blockly.Events.fire(c)};Blockly.Block.prototype.makeConnection_=function(a){return new Blockly.Connection(this,a)};
+Blockly.Block.prototype.allInputsFilled=function(a){void 0===a&&(a=!0);if(!a&&this.isShadow())return!1;for(var b=0,c;c=this.inputList[b];b++)if(c.connection&&(c=c.connection.targetBlock(),!c||!c.allInputsFilled(a)))return!1;return(b=this.getNextBlock())?b.allInputsFilled(a):!0};Blockly.Block.prototype.toDevString=function(){var a=this.type?'"'+this.type+'" block':"Block";this.id&&(a+=' (id="'+this.id+'")');return a};Blockly.BlockDragSurfaceSvg=function(a){this.container_=a;this.createDom()};Blockly.BlockDragSurfaceSvg.prototype.SVG_=null;Blockly.BlockDragSurfaceSvg.prototype.dragGroup_=null;Blockly.BlockDragSurfaceSvg.prototype.container_=null;Blockly.BlockDragSurfaceSvg.prototype.scale_=1;Blockly.BlockDragSurfaceSvg.prototype.surfaceXY_=null;
+Blockly.BlockDragSurfaceSvg.prototype.createDom=function(){this.SVG_||(this.SVG_=Blockly.utils.createSvgElement("svg",{xmlns:Blockly.SVG_NS,"xmlns:html":Blockly.HTML_NS,"xmlns:xlink":"http://www.w3.org/1999/xlink",version:"1.1","class":"blocklyBlockDragSurface"},this.container_),this.dragGroup_=Blockly.utils.createSvgElement("g",{},this.SVG_))};
+Blockly.BlockDragSurfaceSvg.prototype.setBlocksAndShow=function(a){if(this.dragGroup_.childNodes.length)throw Error("Already dragging a block.");this.dragGroup_.appendChild(a);this.SVG_.style.display="block";this.surfaceXY_=new goog.math.Coordinate(0,0)};Blockly.BlockDragSurfaceSvg.prototype.translateAndScaleGroup=function(a,b,c){this.scale_=c;a=a.toFixed(0);b=b.toFixed(0);this.dragGroup_.setAttribute("transform","translate("+a+","+b+") scale("+c+")")};
+Blockly.BlockDragSurfaceSvg.prototype.translateSurfaceInternal_=function(){var a=this.surfaceXY_.x,b=this.surfaceXY_.y;a=a.toFixed(0);b=b.toFixed(0);this.SVG_.style.display="block";Blockly.utils.setCssTransform(this.SVG_,"translate3d("+a+"px, "+b+"px, 0px)")};Blockly.BlockDragSurfaceSvg.prototype.translateSurface=function(a,b){this.surfaceXY_=new goog.math.Coordinate(a*this.scale_,b*this.scale_);this.translateSurfaceInternal_()};
+Blockly.BlockDragSurfaceSvg.prototype.getSurfaceTranslation=function(){var a=Blockly.utils.getRelativeXY(this.SVG_);return new goog.math.Coordinate(a.x/this.scale_,a.y/this.scale_)};Blockly.BlockDragSurfaceSvg.prototype.getGroup=function(){return this.dragGroup_};Blockly.BlockDragSurfaceSvg.prototype.getCurrentBlock=function(){return this.dragGroup_.firstChild};
+Blockly.BlockDragSurfaceSvg.prototype.clearAndHide=function(a){a?a.appendChild(this.getCurrentBlock()):this.dragGroup_.removeChild(this.getCurrentBlock());this.SVG_.style.display="none";if(this.dragGroup_.childNodes.length)throw Error("Drag group was not cleared.");this.surfaceXY_=null};Blockly.utils.uiMenu={};Blockly.utils.uiMenu.getSize=function(a){a=a.getElement();var b=goog.style.getSize(a);b.height=a.scrollHeight;return b};Blockly.utils.uiMenu.adjustBBoxesForRTL=function(a,b,c){b.left+=c.width;b.right+=c.width;a.left+=c.width;a.right+=c.width};Blockly.ContextMenu={};Blockly.ContextMenu.currentBlock=null;Blockly.ContextMenu.eventWrapper_=null;Blockly.ContextMenu.show=function(a,b,c){Blockly.WidgetDiv.show(Blockly.ContextMenu,c,null);if(b.length){var d=Blockly.ContextMenu.populate_(b,c);goog.events.listen(d,goog.ui.Component.EventType.ACTION,Blockly.ContextMenu.hide);Blockly.ContextMenu.position_(d,a,c);setTimeout(function(){d.getElement().focus()},1);Blockly.ContextMenu.currentBlock=null}else Blockly.ContextMenu.hide()};
+Blockly.ContextMenu.populate_=function(a,b){var c=new goog.ui.Menu;c.setRightToLeft(b);for(var d=0,e;e=a[d];d++){var f=new goog.ui.MenuItem(e.text);f.setRightToLeft(b);c.addChild(f,!0);f.setEnabled(e.enabled);e.enabled&&(goog.events.listen(f,goog.ui.Component.EventType.ACTION,e.callback),f.handleContextMenu=function(){goog.events.dispatchEvent(this,goog.ui.Component.EventType.ACTION)})}return c};
+Blockly.ContextMenu.position_=function(a,b,c){var d=Blockly.utils.getViewportBBox();b={top:b.clientY+d.top,bottom:b.clientY+d.top,left:b.clientX+d.left,right:b.clientX+d.left};Blockly.ContextMenu.createWidget_(a);var e=Blockly.utils.uiMenu.getSize(a);c&&Blockly.utils.uiMenu.adjustBBoxesForRTL(d,b,e);Blockly.WidgetDiv.positionWithAnchor(d,b,e,c);a.getElement().focus()};
+Blockly.ContextMenu.createWidget_=function(a){a.render(Blockly.WidgetDiv.DIV);var b=a.getElement();Blockly.utils.addClass(b,"blocklyContextMenu");Blockly.bindEventWithChecks_(b,"contextmenu",null,Blockly.utils.noEvent);a.setAllowAutoFocus(!0)};Blockly.ContextMenu.hide=function(){Blockly.WidgetDiv.hideIfOwner(Blockly.ContextMenu);Blockly.ContextMenu.currentBlock=null;Blockly.ContextMenu.eventWrapper_&&Blockly.unbindEvent_(Blockly.ContextMenu.eventWrapper_)};
+Blockly.ContextMenu.callbackFactory=function(a,b){return function(){Blockly.Events.disable();try{var c=Blockly.Xml.domToBlock(b,a.workspace),d=a.getRelativeToSurfaceXY();d.x=a.RTL?d.x-Blockly.SNAP_RADIUS:d.x+Blockly.SNAP_RADIUS;d.y+=2*Blockly.SNAP_RADIUS;c.moveBy(d.x,d.y)}finally{Blockly.Events.enable()}Blockly.Events.isEnabled()&&!c.isShadow()&&Blockly.Events.fire(new Blockly.Events.BlockCreate(c));c.select()}};
+Blockly.ContextMenu.blockDeleteOption=function(a){var b=a.getDescendants(!1).length,c=a.getNextBlock();c&&(b-=c.getDescendants(!1).length);return{text:1==b?Blockly.Msg.DELETE_BLOCK:Blockly.Msg.DELETE_X_BLOCKS.replace("%1",String(b)),enabled:!0,callback:function(){Blockly.Events.setGroup(!0);a.dispose(!0,!0);Blockly.Events.setGroup(!1)}}};Blockly.ContextMenu.blockHelpOption=function(a){return{enabled:!("function"==typeof a.helpUrl?!a.helpUrl():!a.helpUrl),text:Blockly.Msg.HELP,callback:function(){a.showHelp_()}}};
+Blockly.ContextMenu.blockDuplicateOption=function(a){var b=!0;a.getDescendants(!1).length>a.workspace.remainingCapacity()&&(b=!1);return{text:Blockly.Msg.DUPLICATE_BLOCK,enabled:b,callback:function(){Blockly.duplicate_(a)}}};Blockly.ContextMenu.blockCommentOption=function(a){var b={enabled:!goog.userAgent.IE};a.comment?(b.text=Blockly.Msg.REMOVE_COMMENT,b.callback=function(){a.setCommentText(null)}):(b.text=Blockly.Msg.ADD_COMMENT,b.callback=function(){a.setCommentText("")});return b};
+Blockly.ContextMenu.commentDeleteOption=function(a){return{text:Blockly.Msg.REMOVE_COMMENT,enabled:!0,callback:function(){Blockly.Events.setGroup(!0);a.dispose(!0,!0);Blockly.Events.setGroup(!1)}}};Blockly.ContextMenu.commentDuplicateOption=function(a){return{text:Blockly.Msg.DUPLICATE_COMMENT,enabled:!0,callback:function(){Blockly.duplicate_(a)}}};
+Blockly.ContextMenu.workspaceCommentOption=function(a,b){var c={enabled:!goog.userAgent.IE};c.text=Blockly.Msg.ADD_COMMENT;c.callback=function(){var c=new Blockly.WorkspaceCommentSvg(a,Blockly.Msg.WORKSPACE_COMMENT_DEFAULT_TEXT,Blockly.WorkspaceCommentSvg.DEFAULT_SIZE,Blockly.WorkspaceCommentSvg.DEFAULT_SIZE),e=a.getInjectionDiv().getBoundingClientRect();e=new goog.math.Coordinate(b.clientX-e.left,b.clientY-e.top);var f=a.getOriginOffsetInPixels();e=goog.math.Coordinate.difference(e,f).scale(1/a.scale);
+c.moveBy(e.x,e.y);a.rendered&&(c.initSvg(),c.render(!1),c.select())};return c};Blockly.BlockSvg=function(a,b,c){this.svgGroup_=Blockly.utils.createSvgElement("g",{},null);this.svgGroup_.translate_="";this.svgPathDark_=Blockly.utils.createSvgElement("path",{"class":"blocklyPathDark",transform:"translate(1,1)"},this.svgGroup_);this.svgPath_=Blockly.utils.createSvgElement("path",{"class":"blocklyPath"},this.svgGroup_);this.svgPathLight_=Blockly.utils.createSvgElement("path",{"class":"blocklyPathLight"},this.svgGroup_);this.svgPath_.tooltip=this;this.rendered=!1;this.useDragSurface_=
+Blockly.utils.is3dSupported()&&!!a.blockDragSurface_;Blockly.Tooltip.bindMouseEvents(this.svgPath_);Blockly.BlockSvg.superClass_.constructor.call(this,a,b,c);this.svgGroup_.dataset&&(this.svgGroup_.dataset.id=this.id)};goog.inherits(Blockly.BlockSvg,Blockly.Block);Blockly.BlockSvg.prototype.height=0;Blockly.BlockSvg.prototype.width=0;Blockly.BlockSvg.prototype.dragStartXY_=null;Blockly.BlockSvg.prototype.warningTextDb_=null;Blockly.BlockSvg.INLINE=-1;
+Blockly.BlockSvg.prototype.initSvg=function(){if(!this.workspace.rendered)throw TypeError("Workspace is headless.");for(var a=0,b;b=this.inputList[a];a++)b.init();b=this.getIcons();for(a=0;a<b.length;a++)b[a].createIcon();this.updateColour();this.updateMovable();this.workspace.options.readOnly||this.eventsInit_||Blockly.bindEventWithChecks_(this.getSvgRoot(),"mousedown",this,this.onMouseDown_);this.eventsInit_=!0;this.getSvgRoot().parentNode||this.workspace.getCanvas().appendChild(this.getSvgRoot())};
+Blockly.BlockSvg.prototype.select=function(){if(this.isShadow()&&this.getParent())this.getParent().select();else if(Blockly.selected!=this){var a=null;if(Blockly.selected){a=Blockly.selected.id;Blockly.Events.disable();try{Blockly.selected.unselect()}finally{Blockly.Events.enable()}}a=new Blockly.Events.Ui(null,"selected",a,this.id);a.workspaceId=this.workspace.id;Blockly.Events.fire(a);Blockly.selected=this;this.addSelect()}};
+Blockly.BlockSvg.prototype.unselect=function(){if(Blockly.selected==this){var a=new Blockly.Events.Ui(null,"selected",this.id,null);a.workspaceId=this.workspace.id;Blockly.Events.fire(a);Blockly.selected=null;this.removeSelect()}};Blockly.BlockSvg.prototype.mutator=null;Blockly.BlockSvg.prototype.comment=null;Blockly.BlockSvg.prototype.warning=null;
+Blockly.BlockSvg.prototype.getIcons=function(){var a=[];this.mutator&&a.push(this.mutator);this.comment&&a.push(this.comment);this.warning&&a.push(this.warning);return a};
+Blockly.BlockSvg.prototype.setParent=function(a){var b=this.parentBlock_;if(a!=b){Blockly.Field.startCache();Blockly.BlockSvg.superClass_.setParent.call(this,a);Blockly.Field.stopCache();var c=this.getSvgRoot();if(!this.workspace.isClearing&&c){var d=this.getRelativeToSurfaceXY();a?(a.getSvgRoot().appendChild(c),a=this.getRelativeToSurfaceXY(),this.moveConnections_(a.x-d.x,a.y-d.y)):b&&(this.workspace.getCanvas().appendChild(c),this.translate(d.x,d.y))}}};
+Blockly.BlockSvg.prototype.getRelativeToSurfaceXY=function(){var a=0,b=0,c=this.useDragSurface_?this.workspace.blockDragSurface_.getGroup():null,d=this.getSvgRoot();if(d){do{var e=Blockly.utils.getRelativeXY(d);a+=e.x;b+=e.y;this.useDragSurface_&&this.workspace.blockDragSurface_.getCurrentBlock()==d&&(e=this.workspace.blockDragSurface_.getSurfaceTranslation(),a+=e.x,b+=e.y);d=d.parentNode}while(d&&d!=this.workspace.getCanvas()&&d!=c)}return new goog.math.Coordinate(a,b)};
+Blockly.BlockSvg.prototype.moveBy=function(a,b){if(this.parentBlock_)throw Error("Block has parent.");var c=Blockly.Events.isEnabled();if(c)var d=new Blockly.Events.BlockMove(this);var e=this.getRelativeToSurfaceXY();this.translate(e.x+a,e.y+b);this.moveConnections_(a,b);c&&(d.recordNew(),Blockly.Events.fire(d));this.workspace.resizeContents()};Blockly.BlockSvg.prototype.translate=function(a,b){this.getSvgRoot().setAttribute("transform","translate("+a+","+b+")")};
+Blockly.BlockSvg.prototype.moveToDragSurface_=function(){if(this.useDragSurface_){var a=this.getRelativeToSurfaceXY();this.clearTransformAttributes_();this.workspace.blockDragSurface_.translateSurface(a.x,a.y);this.workspace.blockDragSurface_.setBlocksAndShow(this.getSvgRoot())}};Blockly.BlockSvg.prototype.moveOffDragSurface_=function(a){this.useDragSurface_&&(this.translate(a.x,a.y),this.workspace.blockDragSurface_.clearAndHide(this.workspace.getCanvas()))};
+Blockly.BlockSvg.prototype.moveDuringDrag=function(a){this.useDragSurface_?this.workspace.blockDragSurface_.translateSurface(a.x,a.y):(this.svgGroup_.translate_="translate("+a.x+","+a.y+")",this.svgGroup_.setAttribute("transform",this.svgGroup_.translate_+this.svgGroup_.skew_))};Blockly.BlockSvg.prototype.clearTransformAttributes_=function(){Blockly.utils.removeAttribute(this.getSvgRoot(),"transform")};
+Blockly.BlockSvg.prototype.snapToGrid=function(){if(this.workspace&&!this.workspace.isDragging()&&!this.getParent()&&!this.isInFlyout){var a=this.workspace.getGrid();if(a&&a.shouldSnap()){var b=a.getSpacing(),c=b/2,d=this.getRelativeToSurfaceXY();a=Math.round((d.x-c)/b)*b+c-d.x;b=Math.round((d.y-c)/b)*b+c-d.y;a=Math.round(a);b=Math.round(b);0==a&&0==b||this.moveBy(a,b)}}};
+Blockly.BlockSvg.prototype.getBoundingRectangle=function(){var a=this.getRelativeToSurfaceXY(this),b=this.outputConnection?Blockly.BlockSvg.TAB_WIDTH:0,c=this.getHeightWidth();if(this.RTL){var d=new goog.math.Coordinate(a.x-(c.width-b),a.y);a=new goog.math.Coordinate(a.x+b,a.y+c.height)}else d=new goog.math.Coordinate(a.x-b,a.y),a=new goog.math.Coordinate(a.x+c.width-b,a.y+c.height);return{topLeft:d,bottomRight:a}};
+Blockly.BlockSvg.prototype.setCollapsed=function(a){if(this.collapsed_!=a){for(var b=[],c=0,d;d=this.inputList[c];c++)b.push.apply(b,d.setVisible(!a));if(a){d=this.getIcons();for(c=0;c<d.length;c++)d[c].setVisible(!1);c=this.toString(Blockly.COLLAPSE_CHARS);this.appendDummyInput("_TEMP_COLLAPSED_INPUT").appendField(c).init()}else this.removeInput("_TEMP_COLLAPSED_INPUT"),this.setWarningText(null);Blockly.BlockSvg.superClass_.setCollapsed.call(this,a);b.length||(b[0]=this);if(this.rendered)for(c=0;a=
+b[c];c++)a.render()}};Blockly.BlockSvg.prototype.tab=function(a,b){var c=this.createTabList_(),d=c.indexOf(a);-1==d&&(d=b?-1:c.length);(c=c[b?d+1:d-1])?c instanceof Blockly.Field?c.showEditor_():c.tab(null,b):(c=this.getParent())&&c.tab(this,b)};Blockly.BlockSvg.prototype.createTabList_=function(){for(var a=[],b=0,c;c=this.inputList[b];b++){for(var d=0,e;e=c.fieldRow[d];d++)e instanceof Blockly.FieldTextInput&&a.push(e);c.connection&&(c=c.connection.targetBlock())&&a.push(c)}return a};
+Blockly.BlockSvg.prototype.onMouseDown_=function(a){var b=this.workspace&&this.workspace.getGesture(a);b&&b.handleBlockStart(a,this)};Blockly.BlockSvg.prototype.showHelp_=function(){var a="function"==typeof this.helpUrl?this.helpUrl():this.helpUrl;a&&window.open(a)};
+Blockly.BlockSvg.prototype.showContextMenu_=function(a){if(!this.workspace.options.readOnly&&this.contextMenu){var b=this,c=[];if(this.isDeletable()&&this.isMovable()&&!b.isInFlyout){c.push(Blockly.ContextMenu.blockDuplicateOption(b));this.isEditable()&&!this.collapsed_&&this.workspace.options.comments&&c.push(Blockly.ContextMenu.blockCommentOption(b));if(!this.collapsed_)for(var d=1;d<this.inputList.length;d++)if(this.inputList[d-1].type!=Blockly.NEXT_STATEMENT&&this.inputList[d].type!=Blockly.NEXT_STATEMENT){d=
+{enabled:!0};var e=this.getInputsInline();d.text=e?Blockly.Msg.EXTERNAL_INPUTS:Blockly.Msg.INLINE_INPUTS;d.callback=function(){b.setInputsInline(!e)};c.push(d);break}this.workspace.options.collapse&&(this.collapsed_?(d={enabled:!0},d.text=Blockly.Msg.EXPAND_BLOCK,d.callback=function(){b.setCollapsed(!1)},c.push(d)):(d={enabled:!0},d.text=Blockly.Msg.COLLAPSE_BLOCK,d.callback=function(){b.setCollapsed(!0)},c.push(d)));this.workspace.options.disable&&(d={text:this.disabled?Blockly.Msg.ENABLE_BLOCK:
+Blockly.Msg.DISABLE_BLOCK,enabled:!this.getInheritedDisabled(),callback:function(){var a=Blockly.Events.getGroup();a||Blockly.Events.setGroup(!0);b.setDisabled(!b.disabled);a||Blockly.Events.setGroup(!1)}},c.push(d));c.push(Blockly.ContextMenu.blockDeleteOption(b))}c.push(Blockly.ContextMenu.blockHelpOption(b));this.customContextMenu&&this.customContextMenu(c);Blockly.ContextMenu.show(a,c,this.RTL);Blockly.ContextMenu.currentBlock=this}};
+Blockly.BlockSvg.prototype.moveConnections_=function(a,b){if(this.rendered){for(var c=this.getConnections_(!1),d=0;d<c.length;d++)c[d].moveBy(a,b);c=this.getIcons();for(d=0;d<c.length;d++)c[d].computeIconLocation();for(d=0;d<this.childBlocks_.length;d++)this.childBlocks_[d].moveConnections_(a,b)}};
+Blockly.BlockSvg.prototype.setDragging=function(a){if(a){var b=this.getSvgRoot();b.translate_="";b.skew_="";Blockly.draggingConnections_=Blockly.draggingConnections_.concat(this.getConnections_(!0));Blockly.utils.addClass(this.svgGroup_,"blocklyDragging")}else Blockly.draggingConnections_=[],Blockly.utils.removeClass(this.svgGroup_,"blocklyDragging");for(b=0;b<this.childBlocks_.length;b++)this.childBlocks_[b].setDragging(a)};
+Blockly.BlockSvg.prototype.updateMovable=function(){this.isMovable()?Blockly.utils.addClass(this.svgGroup_,"blocklyDraggable"):Blockly.utils.removeClass(this.svgGroup_,"blocklyDraggable")};Blockly.BlockSvg.prototype.setMovable=function(a){Blockly.BlockSvg.superClass_.setMovable.call(this,a);this.updateMovable()};Blockly.BlockSvg.prototype.setEditable=function(a){Blockly.BlockSvg.superClass_.setEditable.call(this,a);a=this.getIcons();for(var b=0;b<a.length;b++)a[b].updateEditable()};
+Blockly.BlockSvg.prototype.setShadow=function(a){Blockly.BlockSvg.superClass_.setShadow.call(this,a);this.updateColour()};Blockly.BlockSvg.prototype.getSvgRoot=function(){return this.svgGroup_};
+Blockly.BlockSvg.prototype.dispose=function(a,b){if(this.workspace){Blockly.Tooltip.hide();Blockly.Field.startCache();var c=this.workspace;Blockly.selected==this&&(this.unselect(),this.workspace.cancelCurrentGesture());Blockly.ContextMenu.currentBlock==this&&Blockly.ContextMenu.hide();b&&this.rendered&&(this.unplug(a),Blockly.BlockAnimations.disposeUiEffect(this));this.rendered=!1;if(this.warningTextDb_){for(var d in this.warningTextDb_)clearTimeout(this.warningTextDb_[d]);this.warningTextDb_=null}Blockly.Events.disable();
+try{var e=this.getIcons();for(d=0;d<e.length;d++)e[d].dispose()}finally{Blockly.Events.enable()}Blockly.BlockSvg.superClass_.dispose.call(this,a);Blockly.utils.removeNode(this.svgGroup_);c.resizeContents();this.svgPathDark_=this.svgPathLight_=this.svgPath_=this.svgGroup_=null;Blockly.Field.stopCache()}};
+Blockly.BlockSvg.prototype.updateColour=function(){if(!this.disabled){var a=this.getColour(),b=goog.color.hexToRgb(a);if(this.isShadow())b=goog.color.lighten(b,.6),a=goog.color.rgbArrayToHex(b),this.svgPathLight_.style.display="none",this.svgPathDark_.setAttribute("fill",a);else{this.svgPathLight_.style.display="";var c=goog.color.rgbArrayToHex(goog.color.lighten(b,.3));b=goog.color.rgbArrayToHex(goog.color.darken(b,.2));this.svgPathLight_.setAttribute("stroke",c);this.svgPathDark_.setAttribute("fill",
+b)}this.svgPath_.setAttribute("fill",a);a=this.getIcons();for(c=0;c<a.length;c++)a[c].updateColour();for(a=0;c=this.inputList[a];a++){b=0;for(var d;d=c.fieldRow[b];b++)d.forceRerender()}}};
+Blockly.BlockSvg.prototype.updateDisabled=function(){this.disabled||this.getInheritedDisabled()?Blockly.utils.addClass(this.svgGroup_,"blocklyDisabled")&&this.svgPath_.setAttribute("fill","url(#"+this.workspace.options.disabledPatternId+")"):Blockly.utils.removeClass(this.svgGroup_,"blocklyDisabled")&&this.updateColour();for(var a=this.getChildren(!1),b=0,c;c=a[b];b++)c.updateDisabled()};
+Blockly.BlockSvg.prototype.getCommentText=function(){return this.comment?this.comment.getText().replace(/\s+$/,"").replace(/ +\n/g,"\n"):""};Blockly.BlockSvg.prototype.setCommentText=function(a){var b=!1;"string"==typeof a?(this.comment||(this.comment=new Blockly.Comment(this),b=!0),this.comment.setText(a)):this.comment&&(this.comment.dispose(),b=!0);b&&this.rendered&&(this.render(),this.bumpNeighbours_())};
+Blockly.BlockSvg.prototype.setWarningText=function(a,b){this.warningTextDb_||(this.warningTextDb_=Object.create(null));var c=b||"";if(c)this.warningTextDb_[c]&&(clearTimeout(this.warningTextDb_[c]),delete this.warningTextDb_[c]);else for(var d in this.warningTextDb_)clearTimeout(this.warningTextDb_[d]),delete this.warningTextDb_[d];if(this.workspace.isDragging()){var e=this;this.warningTextDb_[c]=setTimeout(function(){e.workspace&&(delete e.warningTextDb_[c],e.setWarningText(a,c))},100)}else{this.isInFlyout&&
+(a=null);d=this.getSurroundParent();for(var f=null;d;)d.isCollapsed()&&(f=d),d=d.getSurroundParent();f&&f.setWarningText(a,"collapsed "+this.id+" "+c);d=!1;"string"==typeof a?(this.warning||(this.warning=new Blockly.Warning(this),d=!0),this.warning.setText(a,c)):this.warning&&!c?(this.warning.dispose(),d=!0):this.warning&&(d=this.warning.getText(),this.warning.setText("",c),(f=this.warning.getText())||this.warning.dispose(),d=d!=f);d&&this.rendered&&(this.render(),this.bumpNeighbours_())}};
+Blockly.BlockSvg.prototype.setMutator=function(a){this.mutator&&this.mutator!==a&&this.mutator.dispose();a&&(a.block_=this,this.mutator=a,a.createIcon())};Blockly.BlockSvg.prototype.setDisabled=function(a){this.disabled!=a&&(Blockly.BlockSvg.superClass_.setDisabled.call(this,a),this.rendered&&this.updateDisabled())};
+Blockly.BlockSvg.prototype.setHighlighted=function(a){this.rendered&&(a?(this.svgPath_.setAttribute("filter","url(#"+this.workspace.options.embossFilterId+")"),this.svgPathLight_.style.display="none"):(Blockly.utils.removeAttribute(this.svgPath_,"filter"),delete this.svgPathLight_.style.display))};Blockly.BlockSvg.prototype.addSelect=function(){Blockly.utils.addClass(this.svgGroup_,"blocklySelected")};Blockly.BlockSvg.prototype.removeSelect=function(){Blockly.utils.removeClass(this.svgGroup_,"blocklySelected")};
+Blockly.BlockSvg.prototype.setDeleteStyle=function(a){a?Blockly.utils.addClass(this.svgGroup_,"blocklyDraggingDelete"):Blockly.utils.removeClass(this.svgGroup_,"blocklyDraggingDelete")};Blockly.BlockSvg.prototype.setColour=function(a){Blockly.BlockSvg.superClass_.setColour.call(this,a);this.rendered&&this.updateColour()};Blockly.BlockSvg.prototype.bringToFront=function(){var a=this;do{var b=a.getSvgRoot();b.parentNode.appendChild(b);a=a.getParent()}while(a)};
+Blockly.BlockSvg.prototype.setPreviousStatement=function(a,b){Blockly.BlockSvg.superClass_.setPreviousStatement.call(this,a,b);this.rendered&&(this.render(),this.bumpNeighbours_())};Blockly.BlockSvg.prototype.setNextStatement=function(a,b){Blockly.BlockSvg.superClass_.setNextStatement.call(this,a,b);this.rendered&&(this.render(),this.bumpNeighbours_())};Blockly.BlockSvg.prototype.setOutput=function(a,b){Blockly.BlockSvg.superClass_.setOutput.call(this,a,b);this.rendered&&(this.render(),this.bumpNeighbours_())};
+Blockly.BlockSvg.prototype.setInputsInline=function(a){Blockly.BlockSvg.superClass_.setInputsInline.call(this,a);this.rendered&&(this.render(),this.bumpNeighbours_())};Blockly.BlockSvg.prototype.removeInput=function(a,b){Blockly.BlockSvg.superClass_.removeInput.call(this,a,b);this.rendered&&(this.render(),this.bumpNeighbours_())};Blockly.BlockSvg.prototype.moveNumberedInputBefore=function(a,b){Blockly.BlockSvg.superClass_.moveNumberedInputBefore.call(this,a,b);this.rendered&&(this.render(),this.bumpNeighbours_())};
+Blockly.BlockSvg.prototype.appendInput_=function(a,b){var c=Blockly.BlockSvg.superClass_.appendInput_.call(this,a,b);this.rendered&&(this.render(),this.bumpNeighbours_());return c};Blockly.BlockSvg.prototype.getConnections_=function(a){var b=[];if(a||this.rendered)if(this.outputConnection&&b.push(this.outputConnection),this.previousConnection&&b.push(this.previousConnection),this.nextConnection&&b.push(this.nextConnection),a||!this.collapsed_){a=0;for(var c;c=this.inputList[a];a++)c.connection&&b.push(c.connection)}return b};
+Blockly.BlockSvg.prototype.makeConnection_=function(a){return new Blockly.RenderedConnection(this,a)};
+Blockly.BlockSvg.prototype.bumpNeighbours_=function(){if(this.workspace&&!this.workspace.isDragging()){var a=this.getRootBlock();if(!a.isInFlyout)for(var b=this.getConnections_(!1),c=0,d;d=b[c];c++){d.isConnected()&&d.isSuperior()&&d.targetBlock().bumpNeighbours_();for(var e=d.neighbours_(Blockly.SNAP_RADIUS),f=0,g;g=e[f];f++)d.isConnected()&&g.isConnected()||g.getSourceBlock().getRootBlock()!=a&&(d.isSuperior()?g.bumpAwayFrom_(d):d.bumpAwayFrom_(g))}}};
+Blockly.BlockSvg.prototype.scheduleSnapAndBump=function(){var a=this,b=Blockly.Events.getGroup();setTimeout(function(){Blockly.Events.setGroup(b);a.snapToGrid();Blockly.Events.setGroup(!1)},Blockly.BUMP_DELAY/2);setTimeout(function(){Blockly.Events.setGroup(b);a.bumpNeighbours_();Blockly.Events.setGroup(!1)},Blockly.BUMP_DELAY)};Blockly.BlockSvg.render={};Blockly.BlockSvg.PathObject=function(){this.steps=[];this.highlightSteps=[];this.inlineSteps=[];this.highlightInlineSteps=[]};Blockly.BlockSvg.SEP_SPACE_X=10;Blockly.BlockSvg.SEP_SPACE_Y=10;Blockly.BlockSvg.INLINE_PADDING_Y=5;Blockly.BlockSvg.MIN_BLOCK_Y=25;Blockly.BlockSvg.TAB_HEIGHT=20;Blockly.BlockSvg.TAB_WIDTH=8;Blockly.BlockSvg.NOTCH_WIDTH=30;Blockly.BlockSvg.CORNER_RADIUS=8;Blockly.BlockSvg.START_HAT=!1;Blockly.BlockSvg.START_HAT_HEIGHT=15;
+Blockly.BlockSvg.START_HAT_PATH="c 30,-"+Blockly.BlockSvg.START_HAT_HEIGHT+" 70,-"+Blockly.BlockSvg.START_HAT_HEIGHT+" 100,0";Blockly.BlockSvg.START_HAT_HIGHLIGHT_LTR="c 17.8,-9.2 45.3,-14.9 75,-8.7 M 100.5,0.5";Blockly.BlockSvg.START_HAT_HIGHLIGHT_RTL="m 25,-8.7 c 29.7,-6.2 57.2,-0.5 75,8.7";Blockly.BlockSvg.DISTANCE_45_INSIDE=(1-Math.SQRT1_2)*(Blockly.BlockSvg.CORNER_RADIUS-.5)+.5;Blockly.BlockSvg.DISTANCE_45_OUTSIDE=(1-Math.SQRT1_2)*(Blockly.BlockSvg.CORNER_RADIUS+.5)-.5;
+Blockly.BlockSvg.NOTCH_PATH_LEFT="l 6,4 3,0 6,-4";Blockly.BlockSvg.NOTCH_PATH_LEFT_HIGHLIGHT="l 6,4 3,0 6,-4";Blockly.BlockSvg.NOTCH_PATH_RIGHT="l -6,4 -3,0 -6,-4";Blockly.BlockSvg.JAGGED_TEETH="l 8,0 0,4 8,4 -16,8 8,4";Blockly.BlockSvg.JAGGED_TEETH_HEIGHT=20;Blockly.BlockSvg.JAGGED_TEETH_WIDTH=15;Blockly.BlockSvg.TAB_PATH_DOWN="v 5 c 0,10 -"+Blockly.BlockSvg.TAB_WIDTH+",-8 -"+Blockly.BlockSvg.TAB_WIDTH+",7.5 s "+Blockly.BlockSvg.TAB_WIDTH+",-2.5 "+Blockly.BlockSvg.TAB_WIDTH+",7.5";
+Blockly.BlockSvg.TAB_PATH_DOWN_HIGHLIGHT_RTL="v 6.5 m -"+.97*Blockly.BlockSvg.TAB_WIDTH+",3 q -"+.05*Blockly.BlockSvg.TAB_WIDTH+",10 "+.3*Blockly.BlockSvg.TAB_WIDTH+",9.5 m "+.67*Blockly.BlockSvg.TAB_WIDTH+",-1.9 v 1.4";Blockly.BlockSvg.TOP_LEFT_CORNER_START="m 0,"+Blockly.BlockSvg.CORNER_RADIUS;Blockly.BlockSvg.TOP_LEFT_CORNER_START_HIGHLIGHT_RTL="m "+Blockly.BlockSvg.DISTANCE_45_INSIDE+","+Blockly.BlockSvg.DISTANCE_45_INSIDE;
+Blockly.BlockSvg.TOP_LEFT_CORNER_START_HIGHLIGHT_LTR="m 0.5,"+(Blockly.BlockSvg.CORNER_RADIUS-.5);Blockly.BlockSvg.TOP_LEFT_CORNER="A "+Blockly.BlockSvg.CORNER_RADIUS+","+Blockly.BlockSvg.CORNER_RADIUS+" 0 0,1 "+Blockly.BlockSvg.CORNER_RADIUS+",0";Blockly.BlockSvg.TOP_LEFT_CORNER_HIGHLIGHT="A "+(Blockly.BlockSvg.CORNER_RADIUS-.5)+","+(Blockly.BlockSvg.CORNER_RADIUS-.5)+" 0 0,1 "+Blockly.BlockSvg.CORNER_RADIUS+",0.5";
+Blockly.BlockSvg.INNER_TOP_LEFT_CORNER=Blockly.BlockSvg.NOTCH_PATH_RIGHT+" h -"+(Blockly.BlockSvg.NOTCH_WIDTH-15-Blockly.BlockSvg.CORNER_RADIUS)+" a "+Blockly.BlockSvg.CORNER_RADIUS+","+Blockly.BlockSvg.CORNER_RADIUS+" 0 0,0 -"+Blockly.BlockSvg.CORNER_RADIUS+","+Blockly.BlockSvg.CORNER_RADIUS;Blockly.BlockSvg.INNER_BOTTOM_LEFT_CORNER="a "+Blockly.BlockSvg.CORNER_RADIUS+","+Blockly.BlockSvg.CORNER_RADIUS+" 0 0,0 "+Blockly.BlockSvg.CORNER_RADIUS+","+Blockly.BlockSvg.CORNER_RADIUS;
+Blockly.BlockSvg.INNER_TOP_LEFT_CORNER_HIGHLIGHT_RTL="a "+Blockly.BlockSvg.CORNER_RADIUS+","+Blockly.BlockSvg.CORNER_RADIUS+" 0 0,0 "+(-Blockly.BlockSvg.DISTANCE_45_OUTSIDE-.5)+","+(Blockly.BlockSvg.CORNER_RADIUS-Blockly.BlockSvg.DISTANCE_45_OUTSIDE);Blockly.BlockSvg.INNER_BOTTOM_LEFT_CORNER_HIGHLIGHT_RTL="a "+(Blockly.BlockSvg.CORNER_RADIUS+.5)+","+(Blockly.BlockSvg.CORNER_RADIUS+.5)+" 0 0,0 "+(Blockly.BlockSvg.CORNER_RADIUS+.5)+","+(Blockly.BlockSvg.CORNER_RADIUS+.5);
+Blockly.BlockSvg.INNER_BOTTOM_LEFT_CORNER_HIGHLIGHT_LTR="a "+(Blockly.BlockSvg.CORNER_RADIUS+.5)+","+(Blockly.BlockSvg.CORNER_RADIUS+.5)+" 0 0,0 "+(Blockly.BlockSvg.CORNER_RADIUS-Blockly.BlockSvg.DISTANCE_45_OUTSIDE)+","+(Blockly.BlockSvg.DISTANCE_45_OUTSIDE+.5);Blockly.BlockSvg.prototype.getHeightWidth=function(){var a=this.height,b=this.width,c=this.getNextBlock();c?(c=c.getHeightWidth(),a+=c.height-4,b=Math.max(b,c.width)):this.nextConnection||this.outputConnection||(a+=2);return{height:a,width:b}};
+Blockly.BlockSvg.prototype.render=function(a){Blockly.Field.startCache();this.rendered=!0;var b=Blockly.BlockSvg.SEP_SPACE_X;this.RTL&&(b=-b);for(var c=this.getIcons(),d=0;d<c.length;d++)b=c[d].renderIcon(b);b+=this.RTL?Blockly.BlockSvg.SEP_SPACE_X:-Blockly.BlockSvg.SEP_SPACE_X;c=this.renderCompute_(b);this.renderDraw_(b,c);this.renderMoveConnections_();!1!==a&&((a=this.getParent())?a.render(!0):this.workspace.resizeContents());Blockly.Field.stopCache()};
+Blockly.BlockSvg.prototype.renderFields_=function(a,b,c){c+=Blockly.BlockSvg.INLINE_PADDING_Y;this.RTL&&(b=-b);for(var d=0,e;e=a[d];d++){var f=e.getSvgRoot();f&&(this.RTL?(b-=e.renderSep+e.renderWidth,f.setAttribute("transform","translate("+b+","+c+")"),e.renderWidth&&(b-=Blockly.BlockSvg.SEP_SPACE_X)):(f.setAttribute("transform","translate("+(b+e.renderSep)+","+c+")"),e.renderWidth&&(b+=e.renderSep+e.renderWidth+Blockly.BlockSvg.SEP_SPACE_X)))}return this.RTL?-b:b};
+Blockly.BlockSvg.prototype.renderCompute_=function(a){var b=this.inputList,c=[];c.rightEdge=a+2*Blockly.BlockSvg.SEP_SPACE_X;if(this.previousConnection||this.nextConnection)c.rightEdge=Math.max(c.rightEdge,Blockly.BlockSvg.NOTCH_WIDTH+Blockly.BlockSvg.SEP_SPACE_X);for(var d=0,e=0,f=!1,g=!1,h=!1,k=void 0,l=this.getInputsInline()&&!this.isCollapsed(),n=0,m;m=b[n];n++)if(m.isVisible()){if(l&&k&&k!=Blockly.NEXT_STATEMENT&&m.type!=Blockly.NEXT_STATEMENT)var p=c[c.length-1];else k=m.type,p=[],p.type=l&&
+m.type!=Blockly.NEXT_STATEMENT?Blockly.BlockSvg.INLINE:m.type,p.height=0,c.push(p);p.push(m);m.renderHeight=Blockly.BlockSvg.MIN_BLOCK_Y;m.renderWidth=l&&m.type==Blockly.INPUT_VALUE?Blockly.BlockSvg.TAB_WIDTH+1.25*Blockly.BlockSvg.SEP_SPACE_X:0;if(m.connection&&m.connection.isConnected()){var q=m.connection.targetBlock().getHeightWidth();m.renderHeight=Math.max(m.renderHeight,q.height);m.renderWidth=Math.max(m.renderWidth,q.width)}l||n!=b.length-1?!l&&m.type==Blockly.INPUT_VALUE&&b[n+1]&&b[n+1].type==
+Blockly.NEXT_STATEMENT&&m.renderHeight--:m.renderHeight--;p.height=Math.max(p.height,m.renderHeight);m.fieldWidth=0;1==c.length&&(m.fieldWidth+=this.RTL?-a:a);q=!1;for(var t=0,r;r=m.fieldRow[t];t++){0!=t&&(m.fieldWidth+=Blockly.BlockSvg.SEP_SPACE_X);var u=r.getSize();r.renderWidth=u.width;r.renderSep=q&&r.EDITABLE?Blockly.BlockSvg.SEP_SPACE_X:0;m.fieldWidth+=r.renderWidth+r.renderSep;p.height=Math.max(p.height,u.height);q=r.EDITABLE}p.type!=Blockly.BlockSvg.INLINE&&(p.type==Blockly.NEXT_STATEMENT?
+(g=!0,e=Math.max(e,m.fieldWidth)):(p.type==Blockly.INPUT_VALUE?f=!0:p.type==Blockly.DUMMY_INPUT&&(h=!0),d=Math.max(d,m.fieldWidth)))}for(a=0;p=c[a];a++)if(p.thicker=!1,p.type==Blockly.BlockSvg.INLINE)for(b=0;m=p[b];b++)if(m.type==Blockly.INPUT_VALUE){p.height+=2*Blockly.BlockSvg.INLINE_PADDING_Y;p.thicker=!0;break}c.statementEdge=2*Blockly.BlockSvg.SEP_SPACE_X+e;g&&(c.rightEdge=Math.max(c.rightEdge,c.statementEdge+Blockly.BlockSvg.NOTCH_WIDTH));f?c.rightEdge=Math.max(c.rightEdge,d+2*Blockly.BlockSvg.SEP_SPACE_X+
+Blockly.BlockSvg.TAB_WIDTH):h&&(c.rightEdge=Math.max(c.rightEdge,d+2*Blockly.BlockSvg.SEP_SPACE_X));c.hasValue=f;c.hasStatement=g;c.hasDummy=h;return c};
+Blockly.BlockSvg.prototype.renderDraw_=function(a,b){this.startHat_=!1;this.height=0;if(this.outputConnection)this.squareBottomLeftCorner_=this.squareTopLeftCorner_=!0;else{this.squareBottomLeftCorner_=this.squareTopLeftCorner_=!1;if(this.previousConnection){var c=this.previousConnection.targetBlock();c&&c.getNextBlock()==this&&(this.squareTopLeftCorner_=!0)}else Blockly.BlockSvg.START_HAT&&(this.startHat_=this.squareTopLeftCorner_=!0,this.height+=Blockly.BlockSvg.START_HAT_HEIGHT,b.rightEdge=Math.max(b.rightEdge,
+100));this.getNextBlock()&&(this.squareBottomLeftCorner_=!0)}c=new Blockly.BlockSvg.PathObject;this.renderDrawTop_(c,b.rightEdge);var d=this.renderDrawRight_(c,b,a);this.renderDrawBottom_(c,d);this.renderDrawLeft_(c);this.setPaths_(c)};
+Blockly.BlockSvg.prototype.setPaths_=function(a){var b=a.steps.join(" ")+"\n"+a.inlineSteps.join(" ");this.svgPath_.setAttribute("d",b);this.svgPathDark_.setAttribute("d",b);b=a.highlightSteps.join(" ")+"\n"+a.highlightInlineSteps.join(" ");this.svgPathLight_.setAttribute("d",b);this.RTL&&(this.svgPath_.setAttribute("transform","scale(-1 1)"),this.svgPathLight_.setAttribute("transform","scale(-1 1)"),this.svgPathDark_.setAttribute("transform","translate(1,1) scale(-1 1)"))};
+Blockly.BlockSvg.prototype.renderMoveConnections_=function(){var a=this.getRelativeToSurfaceXY();this.previousConnection&&this.previousConnection.moveToOffset(a);this.outputConnection&&this.outputConnection.moveToOffset(a);for(var b=0;b<this.inputList.length;b++){var c=this.inputList[b].connection;c&&(c.moveToOffset(a),c.isConnected()&&c.tighten_())}this.nextConnection&&(this.nextConnection.moveToOffset(a),this.nextConnection.isConnected()&&this.nextConnection.tighten_())};
+Blockly.BlockSvg.prototype.renderDrawTop_=function(a,b){var c=a.steps,d=a.highlightSteps;this.squareTopLeftCorner_?(c.push("m 0,0"),d.push("m 0.5,0.5"),this.startHat_&&(c.push(Blockly.BlockSvg.START_HAT_PATH),d.push(this.RTL?Blockly.BlockSvg.START_HAT_HIGHLIGHT_RTL:Blockly.BlockSvg.START_HAT_HIGHLIGHT_LTR))):(c.push(Blockly.BlockSvg.TOP_LEFT_CORNER_START),d.push(this.RTL?Blockly.BlockSvg.TOP_LEFT_CORNER_START_HIGHLIGHT_RTL:Blockly.BlockSvg.TOP_LEFT_CORNER_START_HIGHLIGHT_LTR),c.push(Blockly.BlockSvg.TOP_LEFT_CORNER),
+d.push(Blockly.BlockSvg.TOP_LEFT_CORNER_HIGHLIGHT));this.previousConnection&&(c.push("H",Blockly.BlockSvg.NOTCH_WIDTH-15),d.push("H",Blockly.BlockSvg.NOTCH_WIDTH-15),c.push(Blockly.BlockSvg.NOTCH_PATH_LEFT),d.push(Blockly.BlockSvg.NOTCH_PATH_LEFT_HIGHLIGHT),this.previousConnection.setOffsetInBlock(this.RTL?-Blockly.BlockSvg.NOTCH_WIDTH:Blockly.BlockSvg.NOTCH_WIDTH,0));c.push("H",b);d.push("H",b-.5);this.width=b};
+Blockly.BlockSvg.prototype.renderDrawRight_=function(a,b,c){for(var d={x:0,y:0},e={x:0,y:0},f=0,g;g=b[f];f++)d.x=Blockly.BlockSvg.SEP_SPACE_X,0==f&&(d.x+=this.RTL?-c:c),a.highlightSteps.push("M",b.rightEdge-.5+","+(d.y+.5)),this.isCollapsed()?this.renderJaggedEdge_(a,g,d):g.type==Blockly.BlockSvg.INLINE?this.renderInlineRow_(a,g,d,e,b.rightEdge):g.type==Blockly.INPUT_VALUE?this.renderExternalValueInput_(a,g,d,e,b.rightEdge):g.type==Blockly.DUMMY_INPUT?this.renderDummyInput_(a,g,d,b.rightEdge,b.hasValue):
+g.type==Blockly.NEXT_STATEMENT&&this.renderStatementInput_(a,g,d,e,b,f),d.y+=g.height;b.length||(d.y=Blockly.BlockSvg.MIN_BLOCK_Y,a.steps.push("V",d.y),this.RTL&&a.highlightSteps.push("V",d.y-1));return d.y};
+Blockly.BlockSvg.prototype.renderDrawBottom_=function(a,b){var c=a.steps,d=a.highlightSteps;this.height+=b+1;this.nextConnection&&(c.push("H",Blockly.BlockSvg.NOTCH_WIDTH+(this.RTL?.5:-.5)+" "+Blockly.BlockSvg.NOTCH_PATH_RIGHT),this.nextConnection.setOffsetInBlock(this.RTL?-Blockly.BlockSvg.NOTCH_WIDTH:Blockly.BlockSvg.NOTCH_WIDTH,b+1),this.height+=4);this.squareBottomLeftCorner_?(c.push("H 0"),this.RTL||d.push("M","0.5,"+(b-.5))):(c.push("H",Blockly.BlockSvg.CORNER_RADIUS),c.push("a",Blockly.BlockSvg.CORNER_RADIUS+
+","+Blockly.BlockSvg.CORNER_RADIUS+" 0 0,1 -"+Blockly.BlockSvg.CORNER_RADIUS+",-"+Blockly.BlockSvg.CORNER_RADIUS),this.RTL||(d.push("M",Blockly.BlockSvg.DISTANCE_45_INSIDE+","+(b-Blockly.BlockSvg.DISTANCE_45_INSIDE)),d.push("A",Blockly.BlockSvg.CORNER_RADIUS-.5+","+(Blockly.BlockSvg.CORNER_RADIUS-.5)+" 0 0,1 0.5,"+(b-Blockly.BlockSvg.CORNER_RADIUS))))};
+Blockly.BlockSvg.prototype.renderDrawLeft_=function(a){var b=a.steps;a=a.highlightSteps;this.outputConnection?(this.outputConnection.setOffsetInBlock(0,0),b.push("V",Blockly.BlockSvg.TAB_HEIGHT),b.push("c 0,-10 -"+Blockly.BlockSvg.TAB_WIDTH+",8 -"+Blockly.BlockSvg.TAB_WIDTH+",-7.5 s "+Blockly.BlockSvg.TAB_WIDTH+",2.5 "+Blockly.BlockSvg.TAB_WIDTH+",-7.5"),this.RTL?(a.push("M",-.25*Blockly.BlockSvg.TAB_WIDTH+",8.4"),a.push("l",-.45*Blockly.BlockSvg.TAB_WIDTH+",-2.1")):(a.push("V",Blockly.BlockSvg.TAB_HEIGHT-
+1.5),a.push("m",-.92*Blockly.BlockSvg.TAB_WIDTH+",-0.5 q "+-.19*Blockly.BlockSvg.TAB_WIDTH+",-5.5 0,-11"),a.push("m",.92*Blockly.BlockSvg.TAB_WIDTH+",1 V 0.5 H 1")),this.width+=Blockly.BlockSvg.TAB_WIDTH):this.RTL||(this.squareTopLeftCorner_?a.push("V",.5):a.push("V",Blockly.BlockSvg.CORNER_RADIUS));b.push("z")};
+Blockly.BlockSvg.prototype.renderJaggedEdge_=function(a,b,c){var d=a.steps;a=a.highlightSteps;this.renderFields_(b[0].fieldRow,c.x,c.y);d.push(Blockly.BlockSvg.JAGGED_TEETH);a.push("h 8");b=b.height-Blockly.BlockSvg.JAGGED_TEETH_HEIGHT;d.push("v",b);this.RTL&&(a.push("v 3.9 l 7.2,3.4 m -14.5,8.9 l 7.3,3.5"),a.push("v",b-.7));this.width+=Blockly.BlockSvg.JAGGED_TEETH_WIDTH};
+Blockly.BlockSvg.prototype.renderInlineRow_=function(a,b,c,d,e){var f=a.inlineSteps,g=a.highlightInlineSteps,h=a.steps;a=a.highlightSteps;for(var k=0,l;l=b[k];k++){var n=c.x,m=c.y;b.thicker&&(m+=Blockly.BlockSvg.INLINE_PADDING_Y);c.x=this.renderFields_(l.fieldRow,n,m);l.type!=Blockly.DUMMY_INPUT&&(c.x+=l.renderWidth+Blockly.BlockSvg.SEP_SPACE_X);l.type==Blockly.INPUT_VALUE&&(f.push("M",c.x-Blockly.BlockSvg.SEP_SPACE_X+","+(c.y+Blockly.BlockSvg.INLINE_PADDING_Y)),f.push("h",Blockly.BlockSvg.TAB_WIDTH-
+2-l.renderWidth),f.push(Blockly.BlockSvg.TAB_PATH_DOWN),f.push("v",l.renderHeight+1-Blockly.BlockSvg.TAB_HEIGHT),f.push("h",l.renderWidth+2-Blockly.BlockSvg.TAB_WIDTH),f.push("z"),this.RTL?(g.push("M",c.x-Blockly.BlockSvg.SEP_SPACE_X-2.5+Blockly.BlockSvg.TAB_WIDTH-l.renderWidth+","+(c.y+Blockly.BlockSvg.INLINE_PADDING_Y+.5)),g.push(Blockly.BlockSvg.TAB_PATH_DOWN_HIGHLIGHT_RTL),g.push("v",l.renderHeight-Blockly.BlockSvg.TAB_HEIGHT+2.5),g.push("h",l.renderWidth-Blockly.BlockSvg.TAB_WIDTH+2)):(g.push("M",
+c.x-Blockly.BlockSvg.SEP_SPACE_X+.5+","+(c.y+Blockly.BlockSvg.INLINE_PADDING_Y+.5)),g.push("v",l.renderHeight+1),g.push("h",Blockly.BlockSvg.TAB_WIDTH-2-l.renderWidth),g.push("M",c.x-l.renderWidth-Blockly.BlockSvg.SEP_SPACE_X+.9+","+(c.y+Blockly.BlockSvg.INLINE_PADDING_Y+Blockly.BlockSvg.TAB_HEIGHT-.7)),g.push("l",.46*Blockly.BlockSvg.TAB_WIDTH+",-2.1")),d.x=this.RTL?-c.x-Blockly.BlockSvg.TAB_WIDTH+Blockly.BlockSvg.SEP_SPACE_X+l.renderWidth+1:c.x+Blockly.BlockSvg.TAB_WIDTH-Blockly.BlockSvg.SEP_SPACE_X-
+l.renderWidth-1,d.y=c.y+Blockly.BlockSvg.INLINE_PADDING_Y+1,l.connection.setOffsetInBlock(d.x,d.y))}c.x=Math.max(c.x,e);this.width=Math.max(this.width,c.x);h.push("H",c.x);a.push("H",c.x-.5);h.push("v",b.height);this.RTL&&a.push("v",b.height-1)};
+Blockly.BlockSvg.prototype.renderExternalValueInput_=function(a,b,c,d,e){var f=a.steps;a=a.highlightSteps;var g=b[0],h=c.x,k=c.y;if(g.align!=Blockly.ALIGN_LEFT){var l=e-g.fieldWidth-Blockly.BlockSvg.TAB_WIDTH-2*Blockly.BlockSvg.SEP_SPACE_X;g.align==Blockly.ALIGN_RIGHT?h+=l:g.align==Blockly.ALIGN_CENTRE&&(h+=l/2)}this.renderFields_(g.fieldRow,h,k);f.push(Blockly.BlockSvg.TAB_PATH_DOWN);b=b.height-Blockly.BlockSvg.TAB_HEIGHT;f.push("v",b);this.RTL?(a.push(Blockly.BlockSvg.TAB_PATH_DOWN_HIGHLIGHT_RTL),
+a.push("v",b+.5)):(a.push("M",e-5+","+(c.y+Blockly.BlockSvg.TAB_HEIGHT-.7)),a.push("l",.46*Blockly.BlockSvg.TAB_WIDTH+",-2.1"));d.x=this.RTL?-e-1:e+1;g.connection.setOffsetInBlock(d.x,c.y);g.connection.isConnected()&&(this.width=Math.max(this.width,e+g.connection.targetBlock().getHeightWidth().width-Blockly.BlockSvg.TAB_WIDTH+1))};
+Blockly.BlockSvg.prototype.renderDummyInput_=function(a,b,c,d,e){var f=a.steps;a=a.highlightSteps;var g=b[0],h=c.x;c=c.y;g.align!=Blockly.ALIGN_LEFT&&(d=d-g.fieldWidth-2*Blockly.BlockSvg.SEP_SPACE_X,e&&(d-=Blockly.BlockSvg.TAB_WIDTH),g.align==Blockly.ALIGN_RIGHT?h+=d:g.align==Blockly.ALIGN_CENTRE&&(h+=d/2));this.renderFields_(g.fieldRow,h,c);f.push("v",b.height);this.RTL&&a.push("v",b.height-1)};
+Blockly.BlockSvg.prototype.renderStatementInput_=function(a,b,c,d,e,f){var g=a.steps;a=a.highlightSteps;var h=b[0];0==f&&(g.push("v",Blockly.BlockSvg.SEP_SPACE_Y),this.RTL&&a.push("v",Blockly.BlockSvg.SEP_SPACE_Y-1),c.y+=Blockly.BlockSvg.SEP_SPACE_Y);var k=c.x,l=c.y;if(h.align!=Blockly.ALIGN_LEFT){var n=e.statementEdge-h.fieldWidth-2*Blockly.BlockSvg.SEP_SPACE_X;h.align==Blockly.ALIGN_RIGHT?k+=n:h.align==Blockly.ALIGN_CENTRE&&(k+=n/2)}this.renderFields_(h.fieldRow,k,l);c.x=e.statementEdge+Blockly.BlockSvg.NOTCH_WIDTH;
+g.push("H",c.x);g.push(Blockly.BlockSvg.INNER_TOP_LEFT_CORNER);g.push("v",b.height-2*Blockly.BlockSvg.CORNER_RADIUS);g.push(Blockly.BlockSvg.INNER_BOTTOM_LEFT_CORNER);g.push("H",e.rightEdge);this.RTL?(a.push("M",c.x-Blockly.BlockSvg.NOTCH_WIDTH+Blockly.BlockSvg.DISTANCE_45_OUTSIDE+","+(c.y+Blockly.BlockSvg.DISTANCE_45_OUTSIDE)),a.push(Blockly.BlockSvg.INNER_TOP_LEFT_CORNER_HIGHLIGHT_RTL),a.push("v",b.height-2*Blockly.BlockSvg.CORNER_RADIUS),a.push(Blockly.BlockSvg.INNER_BOTTOM_LEFT_CORNER_HIGHLIGHT_RTL)):
+(a.push("M",c.x-Blockly.BlockSvg.NOTCH_WIDTH+Blockly.BlockSvg.DISTANCE_45_OUTSIDE+","+(c.y+b.height-Blockly.BlockSvg.DISTANCE_45_OUTSIDE)),a.push(Blockly.BlockSvg.INNER_BOTTOM_LEFT_CORNER_HIGHLIGHT_LTR));a.push("H",e.rightEdge-.5);d.x=this.RTL?-c.x:c.x+1;h.connection.setOffsetInBlock(d.x,c.y+1);h.connection.isConnected()&&(this.width=Math.max(this.width,e.statementEdge+h.connection.targetBlock().getHeightWidth().width));if(f==e.length-1||e[f+1].type==Blockly.NEXT_STATEMENT)g.push("v",Blockly.BlockSvg.SEP_SPACE_Y),
+this.RTL&&a.push("v",Blockly.BlockSvg.SEP_SPACE_Y-1),c.y+=Blockly.BlockSvg.SEP_SPACE_Y};Blockly.Msg={};goog.getMsgOrig=goog.getMsg;goog.getMsg=function(a,b){var c=goog.getMsg.blocklyMsgMap[a];c&&(a=Blockly.Msg[c]);return goog.getMsgOrig(a,b)};goog.getMsg.blocklyMsgMap={Today:"TODAY"};Blockly.FieldTextInput=function(a,b){Blockly.FieldTextInput.superClass_.constructor.call(this,a,b)};goog.inherits(Blockly.FieldTextInput,Blockly.Field);Blockly.FieldTextInput.fromJson=function(a){var b=Blockly.utils.replaceMessageReferences(a.text);b=new Blockly.FieldTextInput(b,a["class"]);"boolean"===typeof a.spellcheck&&b.setSpellcheck(a.spellcheck);return b};Blockly.FieldTextInput.FONTSIZE=11;Blockly.FieldTextInput.htmlInput_=null;Blockly.FieldTextInput.prototype.CURSOR="text";
+Blockly.FieldTextInput.prototype.spellcheck_=!0;Blockly.FieldTextInput.prototype.dispose=function(){Blockly.WidgetDiv.hideIfOwner(this);Blockly.FieldTextInput.superClass_.dispose.call(this)};Blockly.FieldTextInput.prototype.setValue=function(a){if(null!==a){if(this.sourceBlock_){var b=this.callValidator(a);null!==b&&(a=b)}Blockly.Field.prototype.setValue.call(this,a)}};
+Blockly.FieldTextInput.prototype.setText=function(a){null!==a&&(a=String(a),a!==this.text_&&(this.sourceBlock_&&Blockly.Events.isEnabled()&&Blockly.Events.fire(new Blockly.Events.BlockChange(this.sourceBlock_,"field",this.name,this.text_,a)),Blockly.Field.prototype.setText.call(this,a)))};Blockly.FieldTextInput.prototype.setSpellcheck=function(a){this.spellcheck_=a};
+Blockly.FieldTextInput.prototype.showEditor_=function(a){this.workspace_=this.sourceBlock_.workspace;a=a||!1;!a&&(goog.userAgent.MOBILE||goog.userAgent.ANDROID||goog.userAgent.IPAD)?this.showPromptEditor_():this.showInlineEditor_(a)};Blockly.FieldTextInput.prototype.showPromptEditor_=function(){var a=this;Blockly.prompt(Blockly.Msg.CHANGE_VALUE_TITLE,this.text_,function(b){a.sourceBlock_&&(b=a.callValidator(b));a.setValue(b)})};
+Blockly.FieldTextInput.prototype.showInlineEditor_=function(a){Blockly.WidgetDiv.show(this,this.sourceBlock_.RTL,this.widgetDispose_());var b=Blockly.WidgetDiv.DIV,c=document.createElement("input");c.className="blocklyHtmlInput";c.setAttribute("spellcheck",this.spellcheck_);var d=Blockly.FieldTextInput.FONTSIZE*this.workspace_.scale+"pt";b.style.fontSize=d;c.style.fontSize=d;Blockly.FieldTextInput.htmlInput_=c;b.appendChild(c);c.value=c.defaultValue=this.text_;c.oldValue_=null;this.validate_();this.resizeEditor_();
+a||(c.focus(),c.select());this.bindEvents_(c)};Blockly.FieldTextInput.prototype.bindEvents_=function(a){a.onKeyDownWrapper_=Blockly.bindEventWithChecks_(a,"keydown",this,this.onHtmlInputKeyDown_);a.onKeyUpWrapper_=Blockly.bindEventWithChecks_(a,"keyup",this,this.onHtmlInputChange_);a.onKeyPressWrapper_=Blockly.bindEventWithChecks_(a,"keypress",this,this.onHtmlInputChange_);a.onWorkspaceChangeWrapper_=this.resizeEditor_.bind(this);this.workspace_.addChangeListener(a.onWorkspaceChangeWrapper_)};
+Blockly.FieldTextInput.prototype.unbindEvents_=function(a){Blockly.unbindEvent_(a.onKeyDownWrapper_);Blockly.unbindEvent_(a.onKeyUpWrapper_);Blockly.unbindEvent_(a.onKeyPressWrapper_);this.workspace_.removeChangeListener(a.onWorkspaceChangeWrapper_)};
+Blockly.FieldTextInput.prototype.onHtmlInputKeyDown_=function(a){var b=Blockly.FieldTextInput.htmlInput_;13==a.keyCode?Blockly.WidgetDiv.hide():27==a.keyCode?(b.value=b.defaultValue,Blockly.WidgetDiv.hide()):9==a.keyCode&&(Blockly.WidgetDiv.hide(),this.sourceBlock_.tab(this,!a.shiftKey),a.preventDefault())};
+Blockly.FieldTextInput.prototype.onHtmlInputChange_=function(a){a=Blockly.FieldTextInput.htmlInput_;var b=a.value;b!==a.oldValue_?(a.oldValue_=b,this.setValue(b),this.validate_()):goog.userAgent.WEBKIT&&this.sourceBlock_.render();this.resizeEditor_();Blockly.svgResize(this.sourceBlock_.workspace)};
+Blockly.FieldTextInput.prototype.validate_=function(){var a=!0;if(!Blockly.FieldTextInput.htmlInput_)throw Error("htmlInput not defined");var b=Blockly.FieldTextInput.htmlInput_;this.sourceBlock_&&(a=this.callValidator(b.value));null===a?Blockly.utils.addClass(b,"blocklyInvalidInput"):Blockly.utils.removeClass(b,"blocklyInvalidInput")};
+Blockly.FieldTextInput.prototype.resizeEditor_=function(){var a=Blockly.WidgetDiv.DIV,b=this.getScaledBBox_();a.style.width=b.right-b.left+"px";a.style.height=b.bottom-b.top+"px";b=new goog.math.Coordinate(this.sourceBlock_.RTL?b.right-a.offsetWidth:b.left,b.top);b.y+=1;goog.userAgent.GECKO&&Blockly.WidgetDiv.DIV.style.top&&(--b.x,--b.y);goog.userAgent.WEBKIT&&(b.y-=3);a.style.left=b.x+"px";a.style.top=b.y+"px"};
+Blockly.FieldTextInput.prototype.widgetDispose_=function(){var a=this;return function(){var b=Blockly.FieldTextInput.htmlInput_;a.maybeSaveEdit_();a.unbindEvents_(b);Blockly.FieldTextInput.htmlInput_=null;Blockly.Events.setGroup(!1);b=Blockly.WidgetDiv.DIV.style;b.width="auto";b.height="auto";b.fontSize=""}};
+Blockly.FieldTextInput.prototype.maybeSaveEdit_=function(){var a=Blockly.FieldTextInput.htmlInput_,b=a.value;if(this.sourceBlock_)if(b=this.callValidator(b),null===b)b=a.defaultValue;else if(this.onFinishEditing_)this.onFinishEditing_(b);this.setText(b);this.sourceBlock_.rendered&&this.sourceBlock_.render()};
+Blockly.FieldTextInput.numberValidator=function(a){console.warn("Blockly.FieldTextInput.numberValidator is deprecated. Use Blockly.FieldNumber instead.");if(null===a)return null;a=String(a);a=a.replace(/O/ig,"0");a=a.replace(/,/g,"");a=parseFloat(a||0);return isNaN(a)?null:String(a)};Blockly.FieldTextInput.nonnegativeIntegerValidator=function(a){(a=Blockly.FieldTextInput.numberValidator(a))&&(a=String(Math.max(0,Math.floor(a))));return a};Blockly.Field.register("field_input",Blockly.FieldTextInput);Blockly.FieldAngle=function(a,b){this.symbol_=Blockly.utils.createSvgElement("tspan",{},null);this.symbol_.appendChild(document.createTextNode("\u00b0"));a=a&&!isNaN(a)?String(a):"0";Blockly.FieldAngle.superClass_.constructor.call(this,a,b)};goog.inherits(Blockly.FieldAngle,Blockly.FieldTextInput);Blockly.FieldAngle.fromJson=function(a){return new Blockly.FieldAngle(a.angle)};Blockly.FieldAngle.ROUND=15;Blockly.FieldAngle.HALF=50;Blockly.FieldAngle.CLOCKWISE=!1;Blockly.FieldAngle.OFFSET=0;
+Blockly.FieldAngle.WRAP=360;Blockly.FieldAngle.RADIUS=Blockly.FieldAngle.HALF-1;Blockly.FieldAngle.prototype.render_=function(){this.visible_?(this.textElement_.textContent=this.getDisplayText_(),this.sourceBlock_.RTL?this.textElement_.insertBefore(this.symbol_,this.textElement_.firstChild):this.textElement_.appendChild(this.symbol_),this.updateWidth()):this.size_.width=0};
+Blockly.FieldAngle.prototype.dispose_=function(){var a=this;return function(){Blockly.FieldAngle.superClass_.dispose_.call(a)();a.gauge_=null;a.clickWrapper_&&Blockly.unbindEvent_(a.clickWrapper_);a.moveWrapper1_&&Blockly.unbindEvent_(a.moveWrapper1_);a.moveWrapper2_&&Blockly.unbindEvent_(a.moveWrapper2_)}};
+Blockly.FieldAngle.prototype.showEditor_=function(){Blockly.FieldAngle.superClass_.showEditor_.call(this,goog.userAgent.MOBILE||goog.userAgent.ANDROID||goog.userAgent.IPAD);var a=Blockly.WidgetDiv.DIV;if(a.firstChild){a=Blockly.utils.createSvgElement("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:html":"http://www.w3.org/1999/xhtml","xmlns:xlink":"http://www.w3.org/1999/xlink",version:"1.1",height:2*Blockly.FieldAngle.HALF+"px",width:2*Blockly.FieldAngle.HALF+"px"},a);var b=Blockly.utils.createSvgElement("circle",
+{cx:Blockly.FieldAngle.HALF,cy:Blockly.FieldAngle.HALF,r:Blockly.FieldAngle.RADIUS,"class":"blocklyAngleCircle"},a);this.gauge_=Blockly.utils.createSvgElement("path",{"class":"blocklyAngleGauge"},a);this.line_=Blockly.utils.createSvgElement("line",{x1:Blockly.FieldAngle.HALF,y1:Blockly.FieldAngle.HALF,"class":"blocklyAngleLine"},a);for(var c=0;360>c;c+=15)Blockly.utils.createSvgElement("line",{x1:Blockly.FieldAngle.HALF+Blockly.FieldAngle.RADIUS,y1:Blockly.FieldAngle.HALF,x2:Blockly.FieldAngle.HALF+
+Blockly.FieldAngle.RADIUS-(0==c%45?10:5),y2:Blockly.FieldAngle.HALF,"class":"blocklyAngleMarks",transform:"rotate("+c+","+Blockly.FieldAngle.HALF+","+Blockly.FieldAngle.HALF+")"},a);a.style.marginLeft=15-Blockly.FieldAngle.RADIUS+"px";this.clickWrapper_=Blockly.bindEvent_(a,"click",this,Blockly.WidgetDiv.hide);this.moveWrapper1_=Blockly.bindEvent_(b,"mousemove",this,this.onMouseMove);this.moveWrapper2_=Blockly.bindEvent_(this.gauge_,"mousemove",this,this.onMouseMove);this.updateGraph_()}};
+Blockly.FieldAngle.prototype.onMouseMove=function(a){var b=this.gauge_.ownerSVGElement.getBoundingClientRect(),c=a.clientX-b.left-Blockly.FieldAngle.HALF;a=a.clientY-b.top-Blockly.FieldAngle.HALF;b=Math.atan(-a/c);isNaN(b)||(b=Blockly.utils.toDegrees(b),0>c?b+=180:0<a&&(b+=360),b=Blockly.FieldAngle.CLOCKWISE?Blockly.FieldAngle.OFFSET+360-b:b-Blockly.FieldAngle.OFFSET,Blockly.FieldAngle.ROUND&&(b=Math.round(b/Blockly.FieldAngle.ROUND)*Blockly.FieldAngle.ROUND),b=this.callValidator(b),Blockly.FieldTextInput.htmlInput_.value=
+b,this.setValue(b),this.validate_(),this.resizeEditor_())};Blockly.FieldAngle.prototype.setText=function(a){Blockly.FieldAngle.superClass_.setText.call(this,a);this.textElement_&&(this.updateGraph_(),this.size_.width=0)};
+Blockly.FieldAngle.prototype.updateGraph_=function(){if(this.gauge_){var a=Number(this.getText())+Blockly.FieldAngle.OFFSET,b=Blockly.utils.toRadians(a);a=["M ",Blockly.FieldAngle.HALF,",",Blockly.FieldAngle.HALF];var c=Blockly.FieldAngle.HALF,d=Blockly.FieldAngle.HALF;if(!isNaN(b)){var e=Blockly.utils.toRadians(Blockly.FieldAngle.OFFSET),f=Math.cos(e)*Blockly.FieldAngle.RADIUS,g=Math.sin(e)*-Blockly.FieldAngle.RADIUS;Blockly.FieldAngle.CLOCKWISE&&(b=2*e-b);c+=Math.cos(b)*Blockly.FieldAngle.RADIUS;
+d-=Math.sin(b)*Blockly.FieldAngle.RADIUS;b=Math.abs(Math.floor((b-e)/Math.PI)%2);Blockly.FieldAngle.CLOCKWISE&&(b=1-b);a.push(" l ",f,",",g," A ",Blockly.FieldAngle.RADIUS,",",Blockly.FieldAngle.RADIUS," 0 ",b," ",Number(Blockly.FieldAngle.CLOCKWISE)," ",c,",",d," z")}this.gauge_.setAttribute("d",a.join(""));this.line_.setAttribute("x2",c);this.line_.setAttribute("y2",d)}};
+Blockly.FieldAngle.prototype.classValidator=function(a){if(null===a)return null;a=parseFloat(a||0);if(isNaN(a))return null;a%=360;0>a&&(a+=360);a>Blockly.FieldAngle.WRAP&&(a-=360);return String(a)};Blockly.Field.register("field_angle",Blockly.FieldAngle);Blockly.FieldCheckbox=function(a,b){Blockly.FieldCheckbox.superClass_.constructor.call(this,"",b);this.setValue(a)};goog.inherits(Blockly.FieldCheckbox,Blockly.Field);Blockly.FieldCheckbox.fromJson=function(a){return new Blockly.FieldCheckbox(a.checked?"TRUE":"FALSE")};Blockly.FieldCheckbox.CHECK_CHAR="\u2713";Blockly.FieldCheckbox.prototype.CURSOR="default";
+Blockly.FieldCheckbox.prototype.init=function(){if(!this.fieldGroup_){Blockly.FieldCheckbox.superClass_.init.call(this);this.checkElement_=Blockly.utils.createSvgElement("text",{"class":"blocklyText blocklyCheckbox",x:-3,y:14},this.fieldGroup_);var a=document.createTextNode(Blockly.FieldCheckbox.CHECK_CHAR);this.checkElement_.appendChild(a);this.checkElement_.style.display=this.state_?"block":"none"}};Blockly.FieldCheckbox.prototype.getValue=function(){return String(this.state_).toUpperCase()};
+Blockly.FieldCheckbox.prototype.setValue=function(a){a="string"==typeof a?"TRUE"==a.toUpperCase():!!a;this.state_!==a&&(this.sourceBlock_&&Blockly.Events.isEnabled()&&Blockly.Events.fire(new Blockly.Events.BlockChange(this.sourceBlock_,"field",this.name,this.state_,a)),this.state_=a,this.checkElement_&&(this.checkElement_.style.display=a?"block":"none"))};Blockly.FieldCheckbox.prototype.showEditor_=function(){var a=!this.state_;this.sourceBlock_&&(a=this.callValidator(a));null!==a&&this.setValue(String(a).toUpperCase())};
+Blockly.Field.register("field_checkbox",Blockly.FieldCheckbox);Blockly.FieldColour=function(a,b){Blockly.FieldColour.superClass_.constructor.call(this,a,b);this.setText(Blockly.Field.NBSP+Blockly.Field.NBSP+Blockly.Field.NBSP)};goog.inherits(Blockly.FieldColour,Blockly.Field);Blockly.FieldColour.fromJson=function(a){return new Blockly.FieldColour(a.colour)};Blockly.FieldColour.prototype.colours_=null;Blockly.FieldColour.prototype.titles_=null;Blockly.FieldColour.prototype.columns_=0;
+Blockly.FieldColour.prototype.init=function(){Blockly.FieldColour.superClass_.init.call(this);this.borderRect_.style.fillOpacity=1;this.setValue(this.getValue())};Blockly.FieldColour.prototype.CURSOR="default";Blockly.FieldColour.prototype.dispose=function(){Blockly.WidgetDiv.hideIfOwner(this);Blockly.FieldColour.superClass_.dispose.call(this)};Blockly.FieldColour.prototype.getValue=function(){return this.colour_};
+Blockly.FieldColour.prototype.setValue=function(a){this.sourceBlock_&&Blockly.Events.isEnabled()&&this.colour_!=a&&Blockly.Events.fire(new Blockly.Events.BlockChange(this.sourceBlock_,"field",this.name,this.colour_,a));this.colour_=a;this.borderRect_&&(this.borderRect_.style.fill=a)};Blockly.FieldColour.prototype.getText=function(){var a=this.colour_,b=a.match(/^#(.)\1(.)\2(.)\3$/);b&&(a="#"+b[1]+b[2]+b[3]);return a};Blockly.FieldColour.COLOURS="#ffffff #cccccc #c0c0c0 #999999 #666666 #333333 #000000 #ffcccc #ff6666 #ff0000 #cc0000 #990000 #660000 #330000 #ffcc99 #ff9966 #ff9900 #ff6600 #cc6600 #993300 #663300 #ffff99 #ffff66 #ffcc66 #ffcc33 #cc9933 #996633 #663333 #ffffcc #ffff33 #ffff00 #ffcc00 #999900 #666600 #333300 #99ff99 #66ff99 #33ff33 #33cc00 #009900 #006600 #003300 #99ffff #33ffff #66cccc #00cccc #339999 #336666 #003333 #ccffff #66ffff #33ccff #3366ff #3333ff #000099 #000066 #ccccff #9999ff #6666cc #6633ff #6600cc #333399 #330099 #ffccff #ff99ff #cc66cc #cc33cc #993399 #663366 #330033".split(" ");
+Blockly.FieldColour.TITLES=[];Blockly.FieldColour.COLUMNS=7;Blockly.FieldColour.prototype.setColours=function(a,b){this.colours_=a;void 0!==b&&(this.titles_=b);return this};Blockly.FieldColour.prototype.setColumns=function(a){this.columns_=a;return this};
+Blockly.FieldColour.prototype.showEditor_=function(){Blockly.WidgetDiv.show(this,this.sourceBlock_.RTL,Blockly.FieldColour.widgetDispose_);var a=Blockly.utils.getViewportBBox(),b=this.getScaledBBox_(),c=this.createWidget_();Blockly.WidgetDiv.DIV.appendChild(c);var d=goog.style.getSize(c);Blockly.WidgetDiv.positionWithAnchor(a,b,d,this.sourceBlock_.RTL);Blockly.FieldColour.onUpWrapper_=Blockly.bindEvent_(c,"mouseup",this,this.onClick_)};
+Blockly.FieldColour.prototype.onClick_=function(a){(a=a.target)&&!a.label&&(a=a.parentNode);a=a&&a.label;Blockly.WidgetDiv.hide();this.sourceBlock_&&(a=this.callValidator(a));null!==a&&this.setValue(a)};
+Blockly.FieldColour.prototype.createWidget_=function(){var a=this.columns_||Blockly.FieldColour.COLUMNS,b=this.colours_||Blockly.FieldColour.COLOURS,c=this.titles_||Blockly.FieldColour.TITLES,d=this.getValue(),e=document.createElement("table");e.className="blocklyColourTable";for(var f,g=0;g<b.length;g++){0==g%a&&(f=document.createElement("tr"),e.appendChild(f));var h=document.createElement("td");f.appendChild(h);var k=document.createElement("div");h.appendChild(k);h.label=b[g];h.title=c[g]||b[g];
+k.style.backgroundColor=b[g];b[g]==d&&(k.className="blocklyColourSelected")}return e};Blockly.FieldColour.widgetDispose_=function(){Blockly.FieldColour.onUpWrapper_&&Blockly.unbindEvent_(Blockly.FieldColour.onUpWrapper_);Blockly.Events.setGroup(!1)};Blockly.Field.register("field_colour",Blockly.FieldColour);Blockly.FieldDropdown=function(a,b){"function"!=typeof a&&Blockly.FieldDropdown.validateOptions_(a);this.menuGenerator_=a;this.trimOptions_();var c=this.getOptions()[0];Blockly.FieldDropdown.superClass_.constructor.call(this,c[1],b)};goog.inherits(Blockly.FieldDropdown,Blockly.Field);Blockly.FieldDropdown.fromJson=function(a){return new Blockly.FieldDropdown(a.options)};Blockly.FieldDropdown.CHECKMARK_OVERHANG=25;Blockly.FieldDropdown.MAX_MENU_HEIGHT_VH=.45;
+Blockly.FieldDropdown.ARROW_CHAR=goog.userAgent.ANDROID?"\u25bc":"\u25be";Blockly.FieldDropdown.prototype.CURSOR="default";Blockly.FieldDropdown.prototype.value_="";Blockly.FieldDropdown.prototype.imageElement_=null;Blockly.FieldDropdown.prototype.imageJson_=null;
+Blockly.FieldDropdown.prototype.init=function(){this.fieldGroup_||(this.arrow_=Blockly.utils.createSvgElement("tspan",{},null),this.arrow_.appendChild(document.createTextNode(this.sourceBlock_.RTL?Blockly.FieldDropdown.ARROW_CHAR+" ":" "+Blockly.FieldDropdown.ARROW_CHAR)),Blockly.FieldDropdown.superClass_.init.call(this))};Blockly.FieldDropdown.prototype.showEditor_=function(){Blockly.WidgetDiv.show(this,this.sourceBlock_.RTL,null);var a=this.createMenu_();this.addActionListener_(a);this.positionMenu_(a)};
+Blockly.FieldDropdown.prototype.addActionListener_=function(a){var b=this;goog.events.listen(a,goog.ui.Component.EventType.ACTION,function(a){if(a=a.target)b.onItemSelected(this,a);Blockly.WidgetDiv.hideIfOwner(b);Blockly.Events.setGroup(!1)})};
+Blockly.FieldDropdown.prototype.createMenu_=function(){var a=new goog.ui.Menu;a.setRightToLeft(this.sourceBlock_.RTL);for(var b=this.getOptions(),c=0;c<b.length;c++){var d=b[c][0],e=b[c][1];if("object"==typeof d){var f=new Image(d.width,d.height);f.src=d.src;f.alt=d.alt||"";d=f}d=new goog.ui.MenuItem(d);d.setRightToLeft(this.sourceBlock_.RTL);d.setValue(e);d.setCheckable(!0);a.addChild(d,!0);d.setChecked(e==this.value_)}return a};
+Blockly.FieldDropdown.prototype.positionMenu_=function(a){var b=Blockly.utils.getViewportBBox(),c=this.getAnchorDimensions_();this.createWidget_(a);var d=Blockly.utils.uiMenu.getSize(a),e=Blockly.FieldDropdown.MAX_MENU_HEIGHT_VH*document.documentElement.clientHeight;d.height>e&&(d.height=e);this.sourceBlock_.RTL&&Blockly.utils.uiMenu.adjustBBoxesForRTL(b,c,d);Blockly.WidgetDiv.positionWithAnchor(b,c,d,this.sourceBlock_.RTL);a.getElement().focus()};
+Blockly.FieldDropdown.prototype.createWidget_=function(a){a.render(Blockly.WidgetDiv.DIV);Blockly.utils.addClass(a.getElement(),"blocklyDropdownMenu");a.setAllowAutoFocus(!0)};Blockly.FieldDropdown.prototype.getAnchorDimensions_=function(){var a=this.getScaledBBox_();this.sourceBlock_.RTL?a.right+=Blockly.FieldDropdown.CHECKMARK_OVERHANG:a.left-=Blockly.FieldDropdown.CHECKMARK_OVERHANG;return a};
+Blockly.FieldDropdown.prototype.onItemSelected=function(a,b){var c=b.getValue();this.sourceBlock_&&(c=this.callValidator(c));null!==c&&this.setValue(c)};
+Blockly.FieldDropdown.prototype.trimOptions_=function(){this.suffixField=this.prefixField=null;var a=this.menuGenerator_;if(Array.isArray(a)){for(var b=!1,c=0;c<a.length;c++){var d=a[c][0];"string"==typeof d?a[c][0]=Blockly.utils.replaceMessageReferences(d):(null!=d.alt&&(a[c][0].alt=Blockly.utils.replaceMessageReferences(d.alt)),b=!0)}if(!(b||2>a.length)){b=[];for(c=0;c<a.length;c++)b.push(a[c][0]);c=Blockly.utils.shortestStringLength(b);d=Blockly.utils.commonWordPrefix(b,c);var e=Blockly.utils.commonWordSuffix(b,
+c);!d&&!e||c<=d+e||(d&&(this.prefixField=b[0].substring(0,d-1)),e&&(this.suffixField=b[0].substr(1-e)),this.menuGenerator_=Blockly.FieldDropdown.applyTrim_(a,d,e))}}};Blockly.FieldDropdown.applyTrim_=function(a,b,c){for(var d=[],e=0;e<a.length;e++){var f=a[e][0],g=a[e][1];f=f.substring(b,f.length-c);d[e]=[f,g]}return d};Blockly.FieldDropdown.prototype.isOptionListDynamic=function(){return"function"==typeof this.menuGenerator_};
+Blockly.FieldDropdown.prototype.getOptions=function(){if(this.isOptionListDynamic()){var a=this.menuGenerator_.call(this);Blockly.FieldDropdown.validateOptions_(a);return a}return this.menuGenerator_};Blockly.FieldDropdown.prototype.getValue=function(){return this.value_};
+Blockly.FieldDropdown.prototype.setValue=function(a){if(null!==a&&a!==this.value_){this.sourceBlock_&&Blockly.Events.isEnabled()&&Blockly.Events.fire(new Blockly.Events.BlockChange(this.sourceBlock_,"field",this.name,this.value_,a));this.value_=a;for(var b=this.getOptions(),c=0;c<b.length;c++)if(b[c][1]==a){a=b[c][0];"object"==typeof a?(this.imageJson_=a,this.text_=a.alt):(this.imageJson_=null,this.text_=a);this.forceRerender();return}this.text_=a;this.forceRerender()}};
+Blockly.FieldDropdown.prototype.render_=function(){if(this.visible_){this.sourceBlock_&&this.arrow_&&(this.arrow_.style.fill=this.sourceBlock_.getColour());for(var a;a=this.textElement_.firstChild;)this.textElement_.removeChild(a);this.imageElement_&&(Blockly.utils.removeNode(this.imageElement_),this.imageElement_=null);this.imageJson_?this.renderSelectedImage_():this.renderSelectedText_();this.borderRect_.setAttribute("height",this.size_.height-9);this.borderRect_.setAttribute("width",this.size_.width+
+Blockly.BlockSvg.SEP_SPACE_X)}else this.size_.width=0};
+Blockly.FieldDropdown.prototype.renderSelectedImage_=function(){this.imageElement_=Blockly.utils.createSvgElement("image",{y:5,height:this.imageJson_.height+"px",width:this.imageJson_.width+"px"},this.fieldGroup_);this.imageElement_.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.imageJson_.src);this.textElement_.appendChild(this.arrow_);var a=Blockly.Field.getCachedWidth(this.arrow_);this.size_.height=Number(this.imageJson_.height)+19;this.size_.width=Number(this.imageJson_.width)+
+a;this.sourceBlock_.RTL?(this.imageElement_.setAttribute("x",a),this.textElement_.setAttribute("x",-1)):(this.textElement_.setAttribute("text-anchor","end"),this.textElement_.setAttribute("x",this.size_.width+1))};
+Blockly.FieldDropdown.prototype.renderSelectedText_=function(){var a=document.createTextNode(this.getDisplayText_());this.textElement_.appendChild(a);this.sourceBlock_.RTL?this.textElement_.insertBefore(this.arrow_,this.textElement_.firstChild):this.textElement_.appendChild(this.arrow_);this.textElement_.setAttribute("text-anchor","start");this.textElement_.setAttribute("x",0);this.size_.height=Blockly.BlockSvg.MIN_BLOCK_Y;this.size_.width=Blockly.Field.getCachedWidth(this.textElement_)};
+Blockly.FieldDropdown.prototype.updateWidth=function(){if(this.imageJson_&&(goog.userAgent.IE||goog.userAgent.EDGE)){var a=Blockly.Field.getCachedWidth(this.arrow_);a=Number(this.imageJson_.width)+a+Blockly.BlockSvg.SEP_SPACE_X;this.borderRect_&&this.borderRect_.setAttribute("width",a);this.size_.width=a}else Blockly.Field.prototype.updateWidth.call(this)};Blockly.FieldDropdown.prototype.dispose=function(){Blockly.WidgetDiv.hideIfOwner(this);Blockly.FieldDropdown.superClass_.dispose.call(this)};
+Blockly.FieldDropdown.validateOptions_=function(a){if(!Array.isArray(a))throw TypeError("FieldDropdown options must be an array.");for(var b=!1,c=0;c<a.length;++c){var d=a[c];Array.isArray(a)?"string"!=typeof d[1]?(b=!0,console.error("Invalid option["+c+"]: Each FieldDropdown option id must be a string. Found "+d[1]+" in: ",d)):"string"!=typeof d[0]&&"string"!=typeof d[0].src&&(b=!0,console.error("Invalid option["+c+"]: Each FieldDropdown option must have a string label or image description. Found"+
+d[0]+" in: ",d)):(b=!0,console.error("Invalid option["+c+"]: Each FieldDropdown option must be an array. Found: ",d))}if(b)throw TypeError("Found invalid FieldDropdown options.");};Blockly.Field.register("field_dropdown",Blockly.FieldDropdown);Blockly.FieldImage=function(a,b,c,d,e){this.sourceBlock_=null;this.height_=Number(c);this.width_=Number(b);this.size_=new goog.math.Size(this.width_,this.height_+2*Blockly.BlockSvg.INLINE_PADDING_Y);this.text_=d||"";this.setValue(a);"function"==typeof e&&(this.clickHandler_=e)};goog.inherits(Blockly.FieldImage,Blockly.Field);
+Blockly.FieldImage.fromJson=function(a){var b=Blockly.utils.replaceMessageReferences(a.src),c=Number(Blockly.utils.replaceMessageReferences(a.width)),d=Number(Blockly.utils.replaceMessageReferences(a.height));a=Blockly.utils.replaceMessageReferences(a.alt);return new Blockly.FieldImage(b,c,d,a)};Blockly.FieldImage.prototype.EDITABLE=!1;
+Blockly.FieldImage.prototype.init=function(){this.fieldGroup_||(this.fieldGroup_=Blockly.utils.createSvgElement("g",{},null),this.visible_||(this.fieldGroup_.style.display="none"),this.imageElement_=Blockly.utils.createSvgElement("image",{height:this.height_+"px",width:this.width_+"px"},this.fieldGroup_),this.setValue(this.src_),this.sourceBlock_.getSvgRoot().appendChild(this.fieldGroup_),this.setTooltip(this.sourceBlock_),Blockly.Tooltip.bindMouseEvents(this.imageElement_),this.maybeAddClickHandler_())};
+Blockly.FieldImage.prototype.dispose=function(){this.fieldGroup_&&(Blockly.utils.removeNode(this.fieldGroup_),this.fieldGroup_=null);this.imageElement_=null};Blockly.FieldImage.prototype.maybeAddClickHandler_=function(){this.clickHandler_&&(this.mouseDownWrapper_=Blockly.bindEventWithChecks_(this.fieldGroup_,"mousedown",this,this.onMouseDown_))};Blockly.FieldImage.prototype.setTooltip=function(a){this.imageElement_.tooltip=a};Blockly.FieldImage.prototype.getValue=function(){return this.src_};
+Blockly.FieldImage.prototype.setValue=function(a){null!==a&&(this.src_=a,this.imageElement_&&this.imageElement_.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",a||""))};Blockly.FieldImage.prototype.setText=function(a){null!==a&&(this.text_=a)};Blockly.FieldImage.prototype.render_=function(){};Blockly.FieldImage.prototype.forceRerender=function(){};Blockly.FieldImage.prototype.updateWidth=function(){};Blockly.FieldImage.prototype.showEditor_=function(){this.clickHandler_&&this.clickHandler_(this)};
+Blockly.Field.register("field_image",Blockly.FieldImage);Blockly.FieldNumber=function(a,b,c,d,e){a=a&&!isNaN(a)?String(a):"0";Blockly.FieldNumber.superClass_.constructor.call(this,a,e);this.setConstraints(b,c,d)};goog.inherits(Blockly.FieldNumber,Blockly.FieldTextInput);Blockly.FieldNumber.fromJson=function(a){return new Blockly.FieldNumber(a.value,a.min,a.max,a.precision)};
+Blockly.FieldNumber.prototype.setConstraints=function(a,b,c){c=parseFloat(c);this.precision_=isNaN(c)?0:c;a=parseFloat(a);this.min_=isNaN(a)?-Infinity:a;b=parseFloat(b);this.max_=isNaN(b)?Infinity:b;this.setValue(this.callValidator(this.getValue()))};
+Blockly.FieldNumber.prototype.classValidator=function(a){if(null===a)return null;a=String(a);a=a.replace(/O/ig,"0");a=a.replace(/,/g,"");a=parseFloat(a||0);if(isNaN(a))return null;this.precision_&&isFinite(a)&&(a=Math.round(a/this.precision_)*this.precision_);a=Math.min(Math.max(a,this.min_),this.max_);return String(a)};Blockly.Field.register("field_number",Blockly.FieldNumber);Blockly.FieldVariable=function(a,b,c,d){this.menuGenerator_=Blockly.FieldVariable.dropdownCreate;this.size_=new goog.math.Size(0,Blockly.BlockSvg.MIN_BLOCK_Y);this.setValidator(b);this.defaultVariableName=a||"";this.setTypes_(c,d);this.value_=null};goog.inherits(Blockly.FieldVariable,Blockly.FieldDropdown);Blockly.FieldVariable.fromJson=function(a){var b=Blockly.utils.replaceMessageReferences(a.variable);return new Blockly.FieldVariable(b,null,a.variableTypes,a.defaultType)};
+Blockly.FieldVariable.prototype.init=function(){this.fieldGroup_||(Blockly.FieldVariable.superClass_.init.call(this),this.initModel())};Blockly.FieldVariable.prototype.initModel=function(){if(!this.variable_){this.workspace_=this.sourceBlock_.workspace;var a=Blockly.Variables.getOrCreateVariablePackage(this.workspace_,null,this.defaultVariableName,this.defaultType_);Blockly.Events.disable();try{this.setValue(a.getId())}finally{Blockly.Events.enable()}}};
+Blockly.FieldVariable.prototype.dispose=function(){Blockly.FieldVariable.superClass_.dispose.call(this);this.variableMap_=this.workspace_=null};Blockly.FieldVariable.prototype.setSourceBlock=function(a){if(a.isShadow())throw Error("Variable fields are not allowed to exist on shadow blocks.");Blockly.FieldVariable.superClass_.setSourceBlock.call(this,a)};Blockly.FieldVariable.prototype.getValue=function(){return this.variable_?this.variable_.getId():null};
+Blockly.FieldVariable.prototype.getText=function(){return this.variable_?this.variable_.name:""};Blockly.FieldVariable.prototype.getVariable=function(){return this.variable_};
+Blockly.FieldVariable.prototype.setValue=function(a){var b=Blockly.Variables.getVariable(this.sourceBlock_.workspace,a);if(!b)throw Error("Variable id doesn't point to a real variable!  ID was "+a);var c=b.type;if(!this.typeIsAllowed_(c))throw Error("Variable type doesn't match this field!  Type was "+c);this.sourceBlock_&&Blockly.Events.isEnabled()&&(c=this.variable_?this.variable_.getId():null,Blockly.Events.fire(new Blockly.Events.BlockChange(this.sourceBlock_,"field",this.name,c,a)));this.variable_=
+b;this.value_=a;this.setText(b.name)};Blockly.FieldVariable.prototype.typeIsAllowed_=function(a){var b=this.getVariableTypes_();if(!b)return!0;for(var c=0;c<b.length;c++)if(a==b[c])return!0;return!1};Blockly.FieldVariable.prototype.getVariableTypes_=function(){var a=this.variableTypes;if(null===a&&this.sourceBlock_)return this.sourceBlock_.workspace.getVariableTypes();a=a||[""];if(0==a.length)throw a=this.getText(),Error("'variableTypes' of field variable "+a+" was an empty list");return a};
+Blockly.FieldVariable.prototype.setTypes_=function(a,b){var c=b||"";if(null==a||void 0==a)var d=null;else if(Array.isArray(a)){d=a;for(var e=!1,f=0;f<d.length;f++)d[f]==c&&(e=!0);if(!e)throw Error("Invalid default type '"+c+"' in the definition of a FieldVariable");}else throw Error("'variableTypes' was not an array in the definition of a FieldVariable");this.defaultType_=c;this.variableTypes=d};
+Blockly.FieldVariable.dropdownCreate=function(){if(!this.variable_)throw Error("Tried to call dropdownCreate on a variable field with no variable selected.");var a=this.getText(),b=null;this.sourceBlock_&&(b=this.sourceBlock_.workspace);var c=[];if(b)for(var d=this.getVariableTypes_(),e=0;e<d.length;e++){var f=b.getVariablesOfType(d[e]);c=c.concat(f)}c.sort(Blockly.VariableModel.compareByName);b=[];for(e=0;e<c.length;e++)b[e]=[c[e].name,c[e].getId()];b.push([Blockly.Msg.RENAME_VARIABLE,Blockly.RENAME_VARIABLE_ID]);
+Blockly.Msg.DELETE_VARIABLE&&b.push([Blockly.Msg.DELETE_VARIABLE.replace("%1",a),Blockly.DELETE_VARIABLE_ID]);return b};Blockly.FieldVariable.prototype.onItemSelected=function(a,b){var c=b.getValue();if(this.sourceBlock_&&this.sourceBlock_.workspace){var d=this.sourceBlock_.workspace;if(c==Blockly.RENAME_VARIABLE_ID){Blockly.Variables.renameVariable(d,this.variable_);return}if(c==Blockly.DELETE_VARIABLE_ID){d.deleteVariableById(this.variable_.getId());return}}this.setValue(c)};
+Blockly.FieldVariable.prototype.referencesVariables=function(){return!0};Blockly.Field.register("field_variable",Blockly.FieldVariable);Blockly.Generator=function(a){this.name_=a;this.FUNCTION_NAME_PLACEHOLDER_REGEXP_=new RegExp(this.FUNCTION_NAME_PLACEHOLDER_,"g")};Blockly.Generator.NAME_TYPE="generated_function";Blockly.Generator.prototype.INFINITE_LOOP_TRAP=null;Blockly.Generator.prototype.STATEMENT_PREFIX=null;Blockly.Generator.prototype.INDENT="  ";Blockly.Generator.prototype.COMMENT_WRAP=60;Blockly.Generator.prototype.ORDER_OVERRIDES=[];
+Blockly.Generator.prototype.workspaceToCode=function(a){a||(console.warn("No workspace specified in workspaceToCode call.  Guessing."),a=Blockly.getMainWorkspace());var b=[];this.init(a);a=a.getTopBlocks(!0);for(var c=0,d;d=a[c];c++){var e=this.blockToCode(d);Array.isArray(e)&&(e=e[0]);e&&(d.outputConnection&&(e=this.scrubNakedValue(e)),b.push(e))}b=b.join("\n");b=this.finish(b);b=b.replace(/^\s+\n/,"");b=b.replace(/\n\s+$/,"\n");return b=b.replace(/[ \t]+\n/g,"\n")};
+Blockly.Generator.prototype.prefixLines=function(a,b){return b+a.replace(/(?!\n$)\n/g,"\n"+b)};Blockly.Generator.prototype.allNestedComments=function(a){var b=[];a=a.getDescendants(!0);for(var c=0;c<a.length;c++){var d=a[c].getCommentText();d&&b.push(d)}b.length&&b.push("");return b.join("\n")};
+Blockly.Generator.prototype.blockToCode=function(a){if(!a)return"";if(a.disabled)return this.blockToCode(a.getNextBlock());var b=this[a.type];if("function"!=typeof b)throw Error('Language "'+this.name_+'" does not know how to generate  code for block type "'+a.type+'".');b=b.call(a,a);if(Array.isArray(b)){if(!a.outputConnection)throw TypeError("Expecting string from statement block: "+a.type);return[this.scrub_(a,b[0]),b[1]]}if("string"==typeof b){var c=a.id.replace(/\$/g,"$$$$");this.STATEMENT_PREFIX&&
+(b=this.STATEMENT_PREFIX.replace(/%1/g,"'"+c+"'")+b);return this.scrub_(a,b)}if(null===b)return"";throw SyntaxError("Invalid code generated: "+b);};
+Blockly.Generator.prototype.valueToCode=function(a,b,c){if(isNaN(c))throw TypeError("Expecting valid order from block: "+a.type);var d=a.getInputTargetBlock(b);if(!d)return"";b=this.blockToCode(d);if(""===b)return"";if(!Array.isArray(b))throw TypeError("Expecting tuple from value block: "+d.type);a=b[0];b=b[1];if(isNaN(b))throw TypeError("Expecting valid order from value block: "+d.type);if(!a)return"";d=!1;var e=Math.floor(c),f=Math.floor(b);if(e<=f&&(e!=f||0!=e&&99!=e))for(d=!0,e=0;e<this.ORDER_OVERRIDES.length;e++)if(this.ORDER_OVERRIDES[e][0]==
+c&&this.ORDER_OVERRIDES[e][1]==b){d=!1;break}d&&(a="("+a+")");return a};Blockly.Generator.prototype.statementToCode=function(a,b){var c=a.getInputTargetBlock(b),d=this.blockToCode(c);if("string"!=typeof d)throw TypeError("Expecting code from statement block: "+(c&&c.type));d&&(d=this.prefixLines(d,this.INDENT));return d};
+Blockly.Generator.prototype.addLoopTrap=function(a,b){b=b.replace(/\$/g,"$$$$");this.INFINITE_LOOP_TRAP&&(a=this.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+b+"'")+a);this.STATEMENT_PREFIX&&(a+=this.prefixLines(this.STATEMENT_PREFIX.replace(/%1/g,"'"+b+"'"),this.INDENT));return a};Blockly.Generator.prototype.RESERVED_WORDS_="";Blockly.Generator.prototype.addReservedWords=function(a){this.RESERVED_WORDS_+=a+","};Blockly.Generator.prototype.FUNCTION_NAME_PLACEHOLDER_="{leCUI8hutHZI4480Dc}";
+Blockly.Generator.prototype.provideFunction_=function(a,b){if(!this.definitions_[a]){var c=this.variableDB_.getDistinctName(a,Blockly.Procedures.NAME_TYPE);this.functionNames_[a]=c;c=b.join("\n").replace(this.FUNCTION_NAME_PLACEHOLDER_REGEXP_,c);for(var d;d!=c;)d=c,c=c.replace(/^(( {2})*) {2}/gm,"$1\x00");c=c.replace(/\0/g,this.INDENT);this.definitions_[a]=c}return this.functionNames_[a]};Blockly.Generator.prototype.init=function(a){};Blockly.Generator.prototype.scrub_=function(a,b){return b};
+Blockly.Generator.prototype.finish=function(a){return a};Blockly.Generator.prototype.scrubNakedValue=function(a){return a};Blockly.Names=function(a,b){this.variablePrefix_=b||"";this.reservedDict_=Object.create(null);if(a)for(var c=a.split(","),d=0;d<c.length;d++)this.reservedDict_[c[d]]=!0;this.reset()};Blockly.Names.DEVELOPER_VARIABLE_TYPE="DEVELOPER_VARIABLE";Blockly.Names.prototype.reset=function(){this.db_=Object.create(null);this.dbReverse_=Object.create(null);this.variableMap_=null};Blockly.Names.prototype.setVariableMap=function(a){this.variableMap_=a};
+Blockly.Names.prototype.getNameForUserVariable_=function(a){return this.variableMap_?(a=this.variableMap_.getVariableById(a))?a.name:null:(console.log("Deprecated call to Blockly.Names.prototype.getName without defining a variable map. To fix, add the folowing code in your generator's init() function:\nBlockly.YourGeneratorName.variableDB_.setVariableMap(workspace.getVariableMap());"),null)};
+Blockly.Names.prototype.getName=function(a,b){if(b==Blockly.Variables.NAME_TYPE){var c=this.getNameForUserVariable_(a);c&&(a=c)}c=a.toLowerCase()+"_"+b;var d=b==Blockly.Variables.NAME_TYPE||b==Blockly.Names.DEVELOPER_VARIABLE_TYPE?this.variablePrefix_:"";if(c in this.db_)return d+this.db_[c];var e=this.getDistinctName(a,b);this.db_[c]=e.substr(d.length);return e};
+Blockly.Names.prototype.getDistinctName=function(a,b){for(var c=this.safeName_(a),d="";this.dbReverse_[c+d]||c+d in this.reservedDict_;)d=d?d+1:2;c+=d;this.dbReverse_[c]=!0;return(b==Blockly.Variables.NAME_TYPE||b==Blockly.Names.DEVELOPER_VARIABLE_TYPE?this.variablePrefix_:"")+c};Blockly.Names.prototype.safeName_=function(a){a?(a=encodeURI(a.replace(/ /g,"_")).replace(/[^\w]/g,"_"),-1!="0123456789".indexOf(a[0])&&(a="my_"+a)):a="unnamed";return a};
+Blockly.Names.equals=function(a,b){return a.toLowerCase()==b.toLowerCase()};Blockly.Procedures={};Blockly.Procedures.NAME_TYPE=Blockly.PROCEDURE_CATEGORY_NAME;Blockly.Procedures.allProcedures=function(a){a=a.getAllBlocks();for(var b=[],c=[],d=0;d<a.length;d++)if(a[d].getProcedureDef){var e=a[d].getProcedureDef();e&&(e[2]?b.push(e):c.push(e))}c.sort(Blockly.Procedures.procTupleComparator_);b.sort(Blockly.Procedures.procTupleComparator_);return[c,b]};Blockly.Procedures.procTupleComparator_=function(a,b){return a[0].toLowerCase().localeCompare(b[0].toLowerCase())};
+Blockly.Procedures.findLegalName=function(a,b){if(b.isInFlyout)return a;for(;!Blockly.Procedures.isLegalName_(a,b.workspace,b);){var c=a.match(/^(.*?)(\d+)$/);a=c?c[1]+(parseInt(c[2],10)+1):a+"2"}return a};Blockly.Procedures.isLegalName_=function(a,b,c){return!Blockly.Procedures.isNameUsed(a,b,c)};Blockly.Procedures.isNameUsed=function(a,b,c){b=b.getAllBlocks();for(var d=0;d<b.length;d++)if(b[d]!=c&&b[d].getProcedureDef){var e=b[d].getProcedureDef();if(Blockly.Names.equals(e[0],a))return!0}return!1};
+Blockly.Procedures.rename=function(a){a=a.replace(/^[\s\xa0]+|[\s\xa0]+$/g,"");var b=Blockly.Procedures.findLegalName(a,this.sourceBlock_),c=this.text_;if(c!=a&&c!=b){a=this.sourceBlock_.workspace.getAllBlocks();for(var d=0;d<a.length;d++)a[d].renameProcedure&&a[d].renameProcedure(c,b)}return b};
+Blockly.Procedures.flyoutCategory=function(a){function b(a,b){for(var d=0;d<a.length;d++){var e=a[d][0],f=a[d][1],g=goog.dom.createDom("block");g.setAttribute("type",b);g.setAttribute("gap",16);var m=goog.dom.createDom("mutation");m.setAttribute("name",e);g.appendChild(m);for(e=0;e<f.length;e++){var p=goog.dom.createDom("arg");p.setAttribute("name",f[e]);m.appendChild(p)}c.push(g)}}var c=[];if(Blockly.Blocks.procedures_defnoreturn){var d=goog.dom.createDom("block");d.setAttribute("type","procedures_defnoreturn");
+d.setAttribute("gap",16);var e=goog.dom.createDom("field",null,Blockly.Msg.PROCEDURES_DEFNORETURN_PROCEDURE);e.setAttribute("name","NAME");d.appendChild(e);c.push(d)}Blockly.Blocks.procedures_defreturn&&(d=goog.dom.createDom("block"),d.setAttribute("type","procedures_defreturn"),d.setAttribute("gap",16),e=goog.dom.createDom("field",null,Blockly.Msg.PROCEDURES_DEFRETURN_PROCEDURE),e.setAttribute("name","NAME"),d.appendChild(e),c.push(d));Blockly.Blocks.procedures_ifreturn&&(d=goog.dom.createDom("block"),
+d.setAttribute("type","procedures_ifreturn"),d.setAttribute("gap",16),c.push(d));c.length&&c[c.length-1].setAttribute("gap",24);a=Blockly.Procedures.allProcedures(a);b(a[0],"procedures_callnoreturn");b(a[1],"procedures_callreturn");return c};Blockly.Procedures.getCallers=function(a,b){for(var c=[],d=b.getAllBlocks(),e=0;e<d.length;e++)if(d[e].getProcedureCall){var f=d[e].getProcedureCall();f&&Blockly.Names.equals(f,a)&&c.push(d[e])}return c};
+Blockly.Procedures.mutateCallers=function(a){var b=Blockly.Events.recordUndo,c=a.getProcedureDef()[0],d=a.mutationToDom(!0);a=Blockly.Procedures.getCallers(c,a.workspace);c=0;for(var e;e=a[c];c++){var f=e.mutationToDom();f=f&&Blockly.Xml.domToText(f);e.domToMutation(d);var g=e.mutationToDom();g=g&&Blockly.Xml.domToText(g);f!=g&&(Blockly.Events.recordUndo=!1,Blockly.Events.fire(new Blockly.Events.BlockChange(e,"mutation",null,f,g)),Blockly.Events.recordUndo=b)}};
+Blockly.Procedures.getDefinition=function(a,b){for(var c=b.getTopBlocks(!1),d=0;d<c.length;d++)if(c[d].getProcedureDef){var e=c[d].getProcedureDef();if(e&&Blockly.Names.equals(e[0],a))return c[d]}return null};Blockly.FlyoutButton=function(a,b,c,d){this.workspace_=a;this.targetWorkspace_=b;this.text_=c.getAttribute("text");this.position_=new goog.math.Coordinate(0,0);this.isLabel_=d;this.callback_=null;a=c.getAttribute("callbackKey");this.isLabel_&&a?console.warn("Labels should not have callbacks. Label text: "+this.text_):this.isLabel_||a&&b.getButtonCallback(a)?this.callback_=b.getButtonCallback(a):console.warn("Buttons should have callbacks. Button text: "+this.text_);this.cssClass_=c.getAttribute("web-class")||
+null};Blockly.FlyoutButton.MARGIN=5;Blockly.FlyoutButton.prototype.width=0;Blockly.FlyoutButton.prototype.height=0;Blockly.FlyoutButton.prototype.onMouseUpWrapper_=null;
+Blockly.FlyoutButton.prototype.createDom=function(){var a=this.isLabel_?"blocklyFlyoutLabel":"blocklyFlyoutButton";this.cssClass_&&(a+=" "+this.cssClass_);this.svgGroup_=Blockly.utils.createSvgElement("g",{"class":a},this.workspace_.getCanvas());if(!this.isLabel_)var b=Blockly.utils.createSvgElement("rect",{"class":"blocklyFlyoutButtonShadow",rx:4,ry:4,x:1,y:1},this.svgGroup_);a=Blockly.utils.createSvgElement("rect",{"class":this.isLabel_?"blocklyFlyoutLabelBackground":"blocklyFlyoutButtonBackground",
+rx:4,ry:4},this.svgGroup_);var c=Blockly.utils.createSvgElement("text",{"class":this.isLabel_?"blocklyFlyoutLabelText":"blocklyText",x:0,y:0,"text-anchor":"middle"},this.svgGroup_);c.textContent=Blockly.utils.replaceMessageReferences(this.text_);this.width=Blockly.Field.getCachedWidth(c);this.height=20;this.isLabel_||(this.width+=2*Blockly.FlyoutButton.MARGIN,b.setAttribute("width",this.width),b.setAttribute("height",this.height));a.setAttribute("width",this.width);a.setAttribute("height",this.height);
+c.setAttribute("x",this.width/2);c.setAttribute("y",this.height-Blockly.FlyoutButton.MARGIN);this.updateTransform_();this.onMouseUpWrapper_=Blockly.bindEventWithChecks_(this.svgGroup_,"mouseup",this,this.onMouseUp_);return this.svgGroup_};Blockly.FlyoutButton.prototype.show=function(){this.updateTransform_();this.svgGroup_.setAttribute("display","block")};
+Blockly.FlyoutButton.prototype.updateTransform_=function(){this.svgGroup_.setAttribute("transform","translate("+this.position_.x+","+this.position_.y+")")};Blockly.FlyoutButton.prototype.moveTo=function(a,b){this.position_.x=a;this.position_.y=b;this.updateTransform_()};Blockly.FlyoutButton.prototype.getPosition=function(){return this.position_};Blockly.FlyoutButton.prototype.getTargetWorkspace=function(){return this.targetWorkspace_};
+Blockly.FlyoutButton.prototype.dispose=function(){this.onMouseUpWrapper_&&Blockly.unbindEvent_(this.onMouseUpWrapper_);this.svgGroup_&&(Blockly.utils.removeNode(this.svgGroup_),this.svgGroup_=null);this.targetWorkspace_=this.workspace_=null};Blockly.FlyoutButton.prototype.onMouseUp_=function(a){(a=this.targetWorkspace_.getGesture(a))&&a.cancel();this.callback_&&this.callback_(this)};Blockly.Flyout=function(a){a.getMetrics=this.getMetrics_.bind(this);a.setMetrics=this.setMetrics_.bind(this);this.workspace_=new Blockly.WorkspaceSvg(a);this.workspace_.isFlyout=!0;this.RTL=!!a.RTL;this.toolboxPosition_=a.toolboxPosition;this.eventWrappers_=[];this.mats_=[];this.buttons_=[];this.listeners_=[];this.permanentlyDisabled_=[]};Blockly.Flyout.prototype.autoClose=!0;Blockly.Flyout.prototype.isVisible_=!1;Blockly.Flyout.prototype.containerVisible_=!0;
+Blockly.Flyout.prototype.CORNER_RADIUS=8;Blockly.Flyout.prototype.MARGIN=Blockly.Flyout.prototype.CORNER_RADIUS;Blockly.Flyout.prototype.GAP_X=3*Blockly.Flyout.prototype.MARGIN;Blockly.Flyout.prototype.GAP_Y=3*Blockly.Flyout.prototype.MARGIN;Blockly.Flyout.prototype.SCROLLBAR_PADDING=2;Blockly.Flyout.prototype.width_=0;Blockly.Flyout.prototype.height_=0;Blockly.Flyout.prototype.dragAngleRange_=70;
+Blockly.Flyout.prototype.createDom=function(a){this.svgGroup_=Blockly.utils.createSvgElement(a,{"class":"blocklyFlyout",style:"display: none"},null);this.svgBackground_=Blockly.utils.createSvgElement("path",{"class":"blocklyFlyoutBackground"},this.svgGroup_);this.svgGroup_.appendChild(this.workspace_.createDom());return this.svgGroup_};
+Blockly.Flyout.prototype.init=function(a){this.targetWorkspace_=a;this.workspace_.targetWorkspace=a;this.scrollbar_=new Blockly.Scrollbar(this.workspace_,this.horizontalLayout_,!1,"blocklyFlyoutScrollbar");this.hide();Array.prototype.push.apply(this.eventWrappers_,Blockly.bindEventWithChecks_(this.svgGroup_,"wheel",this,this.wheel_));this.autoClose||(this.filterWrapper_=this.filterForCapacity_.bind(this),this.targetWorkspace_.addChangeListener(this.filterWrapper_));Array.prototype.push.apply(this.eventWrappers_,
+Blockly.bindEventWithChecks_(this.svgBackground_,"mousedown",this,this.onMouseDown_));this.workspace_.getGesture=this.targetWorkspace_.getGesture.bind(this.targetWorkspace_);this.workspace_.variableMap_=this.targetWorkspace_.getVariableMap();this.workspace_.createPotentialVariableMap()};
+Blockly.Flyout.prototype.dispose=function(){this.hide();Blockly.unbindEvent_(this.eventWrappers_);this.filterWrapper_&&(this.targetWorkspace_.removeChangeListener(this.filterWrapper_),this.filterWrapper_=null);this.scrollbar_&&(this.scrollbar_.dispose(),this.scrollbar_=null);this.workspace_&&(this.workspace_.targetWorkspace=null,this.workspace_.dispose(),this.workspace_=null);this.svgGroup_&&(Blockly.utils.removeNode(this.svgGroup_),this.svgGroup_=null);this.targetWorkspace_=this.svgBackground_=null};
+Blockly.Flyout.prototype.getWidth=function(){return this.width_};Blockly.Flyout.prototype.getHeight=function(){return this.height_};Blockly.Flyout.prototype.getWorkspace=function(){return this.workspace_};Blockly.Flyout.prototype.isVisible=function(){return this.isVisible_};Blockly.Flyout.prototype.setVisible=function(a){var b=a!=this.isVisible();this.isVisible_=a;b&&this.updateDisplay_()};
+Blockly.Flyout.prototype.setContainerVisible=function(a){var b=a!=this.containerVisible_;this.containerVisible_=a;b&&this.updateDisplay_()};Blockly.Flyout.prototype.updateDisplay_=function(){var a=this.containerVisible_?this.isVisible():!1;this.svgGroup_.style.display=a?"block":"none";this.scrollbar_.setContainerVisible(a)};
+Blockly.Flyout.prototype.positionAt_=function(a,b,c,d){this.svgGroup_.setAttribute("width",a);this.svgGroup_.setAttribute("height",b);"svg"==this.svgGroup_.tagName?Blockly.utils.setCssTransform(this.svgGroup_,"translate("+c+"px,"+d+"px)"):this.svgGroup_.setAttribute("transform","translate("+c+","+d+")");this.scrollbar_&&(this.scrollbar_.setOrigin(c,d),this.scrollbar_.resize())};
+Blockly.Flyout.prototype.hide=function(){if(this.isVisible()){this.setVisible(!1);for(var a=0,b;b=this.listeners_[a];a++)Blockly.unbindEvent_(b);this.listeners_.length=0;this.reflowWrapper_&&(this.workspace_.removeChangeListener(this.reflowWrapper_),this.reflowWrapper_=null)}};
+Blockly.Flyout.prototype.show=function(a){this.workspace_.setResizesEnabled(!1);this.hide();this.clearOldBlocks_();if("string"==typeof a){a=this.workspace_.targetWorkspace.getToolboxCategoryCallback(a);if("function"!=typeof a)throw TypeError("Couldn't find a callback function when opening a toolbox category.");a=a(this.workspace_.targetWorkspace);if(!Array.isArray(a))throw TypeError("Result of toolbox category callback must be an array.");}this.setVisible(!0);for(var b=[],c=[],d=this.permanentlyDisabled_.length=
+0,e;e=a[d];d++)if(e.tagName){var f=e.tagName.toUpperCase(),g=this.horizontalLayout_?this.GAP_X:this.GAP_Y;if("BLOCK"==f)f=Blockly.Xml.domToBlock(e,this.workspace_),f.disabled&&this.permanentlyDisabled_.push(f),b.push({type:"block",block:f}),e=parseInt(e.getAttribute("gap"),10),c.push(isNaN(e)?g:e);else if("SEP"==e.tagName.toUpperCase())e=parseInt(e.getAttribute("gap"),10),!isNaN(e)&&0<c.length?c[c.length-1]=e:c.push(g);else if("BUTTON"==f||"LABEL"==f)e=new Blockly.FlyoutButton(this.workspace_,this.targetWorkspace_,
+e,"LABEL"==f),b.push({type:"button",button:e}),c.push(g)}this.layout_(b,c);this.listeners_.push(Blockly.bindEventWithChecks_(this.svgBackground_,"mouseover",this,function(){for(var a=this.workspace_.getTopBlocks(!1),b=0,c;c=a[b];b++)c.removeSelect()}));this.horizontalLayout_?this.height_=0:this.width_=0;this.workspace_.setResizesEnabled(!0);this.reflow();this.filterForCapacity_();this.position();this.reflowWrapper_=this.reflow.bind(this);this.workspace_.addChangeListener(this.reflowWrapper_)};
+Blockly.Flyout.prototype.clearOldBlocks_=function(){for(var a=this.workspace_.getTopBlocks(!1),b=0,c;c=a[b];b++)c.workspace==this.workspace_&&c.dispose(!1,!1);for(b=0;b<this.mats_.length;b++)(a=this.mats_[b])&&Blockly.utils.removeNode(a);for(b=this.mats_.length=0;a=this.buttons_[b];b++)a.dispose();this.buttons_.length=0;this.workspace_.getPotentialVariableMap().clear()};
+Blockly.Flyout.prototype.addBlockListeners_=function(a,b,c){this.listeners_.push(Blockly.bindEventWithChecks_(a,"mousedown",null,this.blockMouseDown_(b)));this.listeners_.push(Blockly.bindEventWithChecks_(c,"mousedown",null,this.blockMouseDown_(b)));this.listeners_.push(Blockly.bindEvent_(a,"mouseover",b,b.addSelect));this.listeners_.push(Blockly.bindEvent_(a,"mouseout",b,b.removeSelect));this.listeners_.push(Blockly.bindEvent_(c,"mouseover",b,b.addSelect));this.listeners_.push(Blockly.bindEvent_(c,
+"mouseout",b,b.removeSelect))};Blockly.Flyout.prototype.blockMouseDown_=function(a){var b=this;return function(c){var d=b.targetWorkspace_.getGesture(c);d&&(d.setStartBlock(a),d.handleFlyoutStart(c,b))}};Blockly.Flyout.prototype.onMouseDown_=function(a){var b=this.targetWorkspace_.getGesture(a);b&&b.handleFlyoutStart(a,this)};
+Blockly.Flyout.prototype.createBlock=function(a){var b=null;Blockly.Events.disable();var c=this.targetWorkspace_.getAllVariables();this.targetWorkspace_.setResizesEnabled(!1);try{b=this.placeNewBlock_(a),Blockly.hideChaff()}finally{Blockly.Events.enable()}a=Blockly.Variables.getAddedVariables(this.targetWorkspace_,c);if(Blockly.Events.isEnabled())for(Blockly.Events.setGroup(!0),Blockly.Events.fire(new Blockly.Events.Create(b)),c=0;c<a.length;c++)Blockly.Events.fire(new Blockly.Events.VarCreate(a[c]));
+this.autoClose?this.hide():this.filterForCapacity_();return b};Blockly.Flyout.prototype.initFlyoutButton_=function(a,b,c){var d=a.createDom();a.moveTo(b,c);a.show();this.listeners_.push(Blockly.bindEventWithChecks_(d,"mousedown",this,this.onMouseDown_));this.buttons_.push(a)};
+Blockly.Flyout.prototype.createRect_=function(a,b,c,d,e){b=Blockly.utils.createSvgElement("rect",{"fill-opacity":0,x:b,y:c,height:d.height,width:d.width},null);b.tooltip=a;Blockly.Tooltip.bindMouseEvents(b);this.workspace_.getCanvas().insertBefore(b,a.getSvgRoot());a.flyoutRect_=b;return this.mats_[e]=b};
+Blockly.Flyout.prototype.moveRectToBlock_=function(a,b){var c=b.getHeightWidth();a.setAttribute("width",c.width);a.setAttribute("height",c.height);var d=b.startHat_?Blockly.BlockSvg.START_HAT_HEIGHT:0;d&&b.moveBy(0,d);d=b.outputConnection?Blockly.BlockSvg.TAB_WIDTH:0;var e=b.getRelativeToSurfaceXY();a.setAttribute("y",e.y);a.setAttribute("x",this.RTL?e.x-c.width+d:e.x-d)};
+Blockly.Flyout.prototype.filterForCapacity_=function(){for(var a=this.targetWorkspace_.remainingCapacity(),b=this.workspace_.getTopBlocks(!1),c=0,d;d=b[c];c++)if(-1==this.permanentlyDisabled_.indexOf(d)){var e=d.getDescendants(!1);d.setDisabled(e.length>a)}};Blockly.Flyout.prototype.reflow=function(){this.reflowWrapper_&&this.workspace_.removeChangeListener(this.reflowWrapper_);this.reflowInternal_();this.reflowWrapper_&&this.workspace_.addChangeListener(this.reflowWrapper_)};
+Blockly.Flyout.prototype.isScrollable=function(){return this.scrollbar_?this.scrollbar_.isVisible():!1};
+Blockly.Flyout.prototype.placeNewBlock_=function(a){var b=this.targetWorkspace_;if(!a.getSvgRoot())throw Error("oldBlock is not rendered.");var c=Blockly.Xml.blockToDom(a);b.setResizesEnabled(!1);c=Blockly.Xml.domToBlock(c,b);if(!c.getSvgRoot())throw Error("block is not rendered.");var d=b.getOriginOffsetInPixels(),e=this.workspace_.getOriginOffsetInPixels();a=a.getRelativeToSurfaceXY().scale(this.workspace_.scale);a=goog.math.Coordinate.sum(e,a);b=goog.math.Coordinate.difference(a,d).scale(1/b.scale);
+c.moveBy(b.x,b.y);return c};Blockly.HorizontalFlyout=function(a){a.getMetrics=this.getMetrics_.bind(this);a.setMetrics=this.setMetrics_.bind(this);Blockly.HorizontalFlyout.superClass_.constructor.call(this,a);this.horizontalLayout_=!0};goog.inherits(Blockly.HorizontalFlyout,Blockly.Flyout);
+Blockly.HorizontalFlyout.prototype.getMetrics_=function(){if(!this.isVisible())return null;try{var a=this.workspace_.getCanvas().getBBox()}catch(e){a={height:0,y:0,width:0,x:0}}var b=this.SCROLLBAR_PADDING,c=this.SCROLLBAR_PADDING;this.toolboxPosition_==Blockly.TOOLBOX_AT_BOTTOM&&(b=0);var d=this.height_;this.toolboxPosition_==Blockly.TOOLBOX_AT_TOP&&(d-=this.SCROLLBAR_PADDING);return{viewHeight:d,viewWidth:this.width_-2*this.SCROLLBAR_PADDING,contentHeight:(a.height+2*this.MARGIN)*this.workspace_.scale,
+contentWidth:(a.width+2*this.MARGIN)*this.workspace_.scale,viewTop:-this.workspace_.scrollY,viewLeft:-this.workspace_.scrollX,contentTop:a.y,contentLeft:a.x,absoluteTop:b,absoluteLeft:c}};Blockly.HorizontalFlyout.prototype.setMetrics_=function(a){var b=this.getMetrics_();b&&("number"==typeof a.x&&(this.workspace_.scrollX=-b.contentWidth*a.x),this.workspace_.translate(this.workspace_.scrollX+b.absoluteLeft,this.workspace_.scrollY+b.absoluteTop))};
+Blockly.HorizontalFlyout.prototype.position=function(){if(this.isVisible()){var a=this.targetWorkspace_.getMetrics();if(a){this.width_=a.viewWidth;this.setBackgroundPath_(a.viewWidth-2*this.CORNER_RADIUS,this.height_-this.CORNER_RADIUS);var b=a.absoluteLeft,c=a.absoluteTop;this.toolboxPosition_==Blockly.TOOLBOX_AT_BOTTOM&&(c+=a.viewHeight-this.height_);this.positionAt_(this.width_,this.height_,b,c)}}};
+Blockly.HorizontalFlyout.prototype.setBackgroundPath_=function(a,b){var c=this.toolboxPosition_==Blockly.TOOLBOX_AT_TOP,d=["M 0,"+(c?0:this.CORNER_RADIUS)];c?(d.push("h",a+2*this.CORNER_RADIUS),d.push("v",b),d.push("a",this.CORNER_RADIUS,this.CORNER_RADIUS,0,0,1,-this.CORNER_RADIUS,this.CORNER_RADIUS),d.push("h",-1*a),d.push("a",this.CORNER_RADIUS,this.CORNER_RADIUS,0,0,1,-this.CORNER_RADIUS,-this.CORNER_RADIUS)):(d.push("a",this.CORNER_RADIUS,this.CORNER_RADIUS,0,0,1,this.CORNER_RADIUS,-this.CORNER_RADIUS),
+d.push("h",a),d.push("a",this.CORNER_RADIUS,this.CORNER_RADIUS,0,0,1,this.CORNER_RADIUS,this.CORNER_RADIUS),d.push("v",b),d.push("h",-a-2*this.CORNER_RADIUS));d.push("z");this.svgBackground_.setAttribute("d",d.join(" "))};Blockly.HorizontalFlyout.prototype.scrollToStart=function(){this.scrollbar_.set(this.RTL?Infinity:0)};
+Blockly.HorizontalFlyout.prototype.wheel_=function(a){var b=a.deltaX;if(b){goog.userAgent.GECKO&&1===a.deltaMode&&(b*=10);var c=this.getMetrics_();b=c.viewLeft+b;b=Math.min(b,c.contentWidth-c.viewWidth);b=Math.max(b,0);this.scrollbar_.set(b);Blockly.WidgetDiv.hide()}a.preventDefault();a.stopPropagation()};
+Blockly.HorizontalFlyout.prototype.layout_=function(a,b){this.workspace_.scale=this.targetWorkspace_.scale;var c=this.MARGIN,d=this.RTL?c:c+Blockly.BlockSvg.TAB_WIDTH;this.RTL&&(a=a.reverse());for(var e=0,f;f=a[e];e++)if("block"==f.type){f=f.block;for(var g=f.getDescendants(!1),h=0,k;k=g[h];h++)k.isInFlyout=!0;f.render();g=f.getSvgRoot();h=f.getHeightWidth();k=f.outputConnection?Blockly.BlockSvg.TAB_WIDTH:0;k=this.RTL?d+h.width:d+k;f.moveBy(k,c);k=this.createRect_(f,k,c,h,e);d+=h.width+b[e];this.addBlockListeners_(g,
+f,k)}else"button"==f.type&&(this.initFlyoutButton_(f.button,d,c),d+=f.button.width+b[e])};Blockly.HorizontalFlyout.prototype.isDragTowardWorkspace=function(a){a=Math.atan2(a.y,a.x)/Math.PI*180;var b=this.dragAngleRange_;return a<90+b&&a>90-b||a>-90-b&&a<-90+b?!0:!1};
+Blockly.HorizontalFlyout.prototype.getClientRect=function(){if(!this.svgGroup_)return null;var a=this.svgGroup_.getBoundingClientRect(),b=a.top;a=a.height;if(this.toolboxPosition_==Blockly.TOOLBOX_AT_TOP)return new goog.math.Rect(-1E9,b-1E9,2E9,1E9+a);if(this.toolboxPosition_==Blockly.TOOLBOX_AT_BOTTOM)return new goog.math.Rect(-1E9,b,2E9,1E9+a)};
+Blockly.HorizontalFlyout.prototype.reflowInternal_=function(){this.workspace_.scale=this.targetWorkspace_.scale;for(var a=0,b=this.workspace_.getTopBlocks(!1),c=0,d;d=b[c];c++)a=Math.max(a,d.getHeightWidth().height);a+=1.5*this.MARGIN;a*=this.workspace_.scale;a+=Blockly.Scrollbar.scrollbarThickness;if(this.height_!=a){for(c=0;d=b[c];c++)d.flyoutRect_&&this.moveRectToBlock_(d.flyoutRect_,d);this.height_=a;this.targetWorkspace_.resize()}};Blockly.VerticalFlyout=function(a){a.getMetrics=this.getMetrics_.bind(this);a.setMetrics=this.setMetrics_.bind(this);Blockly.VerticalFlyout.superClass_.constructor.call(this,a);this.horizontalLayout_=!1};goog.inherits(Blockly.VerticalFlyout,Blockly.Flyout);
+Blockly.VerticalFlyout.prototype.getMetrics_=function(){if(!this.isVisible())return null;try{var a=this.workspace_.getCanvas().getBBox()}catch(e){a={height:0,y:0,width:0,x:0}}var b=this.SCROLLBAR_PADDING,c=this.height_-2*this.SCROLLBAR_PADDING,d=this.width_;this.RTL||(d-=this.SCROLLBAR_PADDING);return{viewHeight:c,viewWidth:d,contentHeight:a.height*this.workspace_.scale+2*this.MARGIN,contentWidth:a.width*this.workspace_.scale+2*this.MARGIN,viewTop:-this.workspace_.scrollY+a.y,viewLeft:-this.workspace_.scrollX,
+contentTop:a.y,contentLeft:a.x,absoluteTop:b,absoluteLeft:0}};Blockly.VerticalFlyout.prototype.setMetrics_=function(a){var b=this.getMetrics_();b&&("number"==typeof a.y&&(this.workspace_.scrollY=-b.contentHeight*a.y),this.workspace_.translate(this.workspace_.scrollX+b.absoluteLeft,this.workspace_.scrollY+b.absoluteTop))};
+Blockly.VerticalFlyout.prototype.position=function(){if(this.isVisible()){var a=this.targetWorkspace_.getMetrics();if(a){this.height_=a.viewHeight;this.setBackgroundPath_(this.width_-this.CORNER_RADIUS,a.viewHeight-2*this.CORNER_RADIUS);var b=a.absoluteTop,c=a.absoluteLeft;this.toolboxPosition_==Blockly.TOOLBOX_AT_RIGHT&&(this.leftEdge_=c+=a.viewWidth-this.width_);this.positionAt_(this.width_,this.height_,c,b)}}};
+Blockly.VerticalFlyout.prototype.setBackgroundPath_=function(a,b){var c=this.toolboxPosition_==Blockly.TOOLBOX_AT_RIGHT,d=a+this.CORNER_RADIUS;d=["M "+(c?d:0)+",0"];d.push("h",c?-a:a);d.push("a",this.CORNER_RADIUS,this.CORNER_RADIUS,0,0,c?0:1,c?-this.CORNER_RADIUS:this.CORNER_RADIUS,this.CORNER_RADIUS);d.push("v",Math.max(0,b));d.push("a",this.CORNER_RADIUS,this.CORNER_RADIUS,0,0,c?0:1,c?this.CORNER_RADIUS:-this.CORNER_RADIUS,this.CORNER_RADIUS);d.push("h",c?a:-a);d.push("z");this.svgBackground_.setAttribute("d",
+d.join(" "))};Blockly.VerticalFlyout.prototype.scrollToStart=function(){this.scrollbar_.set(0)};Blockly.VerticalFlyout.prototype.wheel_=function(a){var b=a.deltaY;if(b){goog.userAgent.GECKO&&1===a.deltaMode&&(b*=10);var c=this.getMetrics_();b=c.viewTop-c.contentTop+b;b=Math.min(b,c.contentHeight-c.viewHeight);b=Math.max(b,0);this.scrollbar_.set(b);Blockly.WidgetDiv.hide()}a.preventDefault();a.stopPropagation()};
+Blockly.VerticalFlyout.prototype.layout_=function(a,b){this.workspace_.scale=this.targetWorkspace_.scale;for(var c=this.MARGIN,d=this.RTL?c:c+Blockly.BlockSvg.TAB_WIDTH,e=0,f;f=a[e];e++)if("block"==f.type){f=f.block;for(var g=f.getDescendants(!1),h=0,k;k=g[h];h++)k.isInFlyout=!0;f.render();g=f.getSvgRoot();h=f.getHeightWidth();f.moveBy(d,c);k=this.createRect_(f,this.RTL?d-h.width:d,c,h,e);this.addBlockListeners_(g,f,k);c+=h.height+b[e]}else"button"==f.type&&(this.initFlyoutButton_(f.button,d,c),c+=
+f.button.height+b[e])};Blockly.VerticalFlyout.prototype.isDragTowardWorkspace=function(a){a=Math.atan2(a.y,a.x)/Math.PI*180;var b=this.dragAngleRange_;return a<b&&a>-b||a<-180+b||a>180-b?!0:!1};
+Blockly.VerticalFlyout.prototype.getClientRect=function(){if(!this.svgGroup_)return null;var a=this.svgGroup_.getBoundingClientRect(),b=a.left;a=a.width;if(this.toolboxPosition_==Blockly.TOOLBOX_AT_LEFT)return new goog.math.Rect(b-1E9,-1E9,1E9+a,2E9);if(goog.userAgent.GECKO&&this.targetWorkspace_&&this.targetWorkspace_.isMutator){var c=this.targetWorkspace_.svgGroup_.getBoundingClientRect().x;10>Math.abs(c-b)&&(b+=this.leftEdge_*this.targetWorkspace_.options.parentWorkspace.scale)}return new goog.math.Rect(b,
+-1E9,1E9+a,2E9)};
+Blockly.VerticalFlyout.prototype.reflowInternal_=function(){this.workspace_.scale=this.targetWorkspace_.scale;for(var a=0,b=this.workspace_.getTopBlocks(!1),c=0,d;d=b[c];c++){var e=d.getHeightWidth().width;d.outputConnection&&(e-=Blockly.BlockSvg.TAB_WIDTH);a=Math.max(a,e)}for(c=0;d=this.buttons_[c];c++)a=Math.max(a,d.width);a+=1.5*this.MARGIN+Blockly.BlockSvg.TAB_WIDTH;a*=this.workspace_.scale;a+=Blockly.Scrollbar.scrollbarThickness;if(this.width_!=a){for(c=0;d=b[c];c++)this.RTL&&(e=d.getRelativeToSurfaceXY().x,
+d.moveBy(a/this.workspace_.scale-this.MARGIN-Blockly.BlockSvg.TAB_WIDTH-e,0)),d.flyoutRect_&&this.moveRectToBlock_(d.flyoutRect_,d);if(this.RTL)for(c=0;d=this.buttons_[c];c++)b=d.getPosition().y,d.moveTo(a/this.workspace_.scale-d.width-this.MARGIN-Blockly.BlockSvg.TAB_WIDTH,b);this.width_=a;this.targetWorkspace_.resize()}};Blockly.Toolbox=function(a){this.workspace_=a;this.RTL=a.options.RTL;this.horizontalLayout_=a.options.horizontalLayout;this.toolboxPosition=a.options.toolboxPosition;this.config_={indentWidth:19,cssRoot:"blocklyTreeRoot",cssHideRoot:"blocklyHidden",cssItem:"",cssTreeRow:"blocklyTreeRow",cssItemLabel:"blocklyTreeLabel",cssTreeIcon:"blocklyTreeIcon",cssExpandedFolderIcon:"blocklyTreeIconOpen",cssFileIcon:"blocklyTreeIconNone",cssSelectedRow:"blocklyTreeSelected"};this.treeSeparatorConfig_={cssTreeRow:"blocklyTreeSeparator"};
+this.horizontalLayout_&&(this.config_.cssTreeRow+=a.RTL?" blocklyHorizontalTreeRtl":" blocklyHorizontalTree",this.treeSeparatorConfig_.cssTreeRow="blocklyTreeSeparatorHorizontal "+(a.RTL?"blocklyHorizontalTreeRtl":"blocklyHorizontalTree"),this.config_.cssTreeIcon="")};Blockly.Toolbox.prototype.width=0;Blockly.Toolbox.prototype.height=0;Blockly.Toolbox.prototype.selectedOption_=null;Blockly.Toolbox.prototype.lastCategory_=null;
+Blockly.Toolbox.prototype.init=function(){var a=this.workspace_,b=this.workspace_.getParentSvg();this.HtmlDiv=document.createElement("div");this.HtmlDiv.className="blocklyToolboxDiv";this.HtmlDiv.setAttribute("dir",a.RTL?"RTL":"LTR");b.parentNode.insertBefore(this.HtmlDiv,b);Blockly.bindEventWithChecks_(this.HtmlDiv,"mousedown",this,function(a){Blockly.utils.isRightButton(a)||a.target==this.HtmlDiv?Blockly.hideChaff(!1):Blockly.hideChaff(!0);Blockly.Touch.clearTouchIdentifier()},!1,!0);b={disabledPatternId:a.options.disabledPatternId,
+parentWorkspace:a,RTL:a.RTL,oneBasedIndex:a.options.oneBasedIndex,horizontalLayout:a.horizontalLayout,toolboxPosition:a.options.toolboxPosition};this.flyout_=null;this.flyout_=a.horizontalLayout?new Blockly.HorizontalFlyout(b):new Blockly.VerticalFlyout(b);Blockly.utils.insertAfter(this.flyout_.createDom("svg"),this.workspace_.getParentSvg());this.flyout_.init(a);this.config_.cleardotPath=a.options.pathToMedia+"1x1.gif";this.config_.cssCollapsedFolderIcon="blocklyTreeIconClosed"+(a.RTL?"Rtl":"Ltr");
+this.tree_=b=new Blockly.Toolbox.TreeControl(this,this.config_);b.setShowRootNode(!1);b.setShowLines(!1);b.setShowExpandIcons(!1);b.setSelectedItem(null);a=this.populate_(a.options.languageTree);b.render(this.HtmlDiv);a&&b.setSelectedItem(a);this.addColour_();this.position()};Blockly.Toolbox.prototype.dispose=function(){this.flyout_.dispose();this.tree_.dispose();Blockly.utils.removeNode(this.HtmlDiv);this.lastCategory_=this.workspace_=null};Blockly.Toolbox.prototype.getWidth=function(){return this.width};
+Blockly.Toolbox.prototype.getHeight=function(){return this.height};
+Blockly.Toolbox.prototype.position=function(){var a=this.HtmlDiv;if(a){var b=this.workspace_.getParentSvg();b=Blockly.svgSize(b);this.horizontalLayout_?(a.style.left="0",a.style.height="auto",a.style.width=b.width+"px",this.height=a.offsetHeight,this.toolboxPosition==Blockly.TOOLBOX_AT_TOP?a.style.top="0":a.style.bottom="0"):(this.toolboxPosition==Blockly.TOOLBOX_AT_RIGHT?a.style.right="0":a.style.left="0",a.style.height=b.height+"px",this.width=a.offsetWidth);this.flyout_.position()}};
+Blockly.Toolbox.prototype.populate_=function(a){this.tree_.removeChildren();this.tree_.blocks=[];this.hasColours_=!1;a=this.syncTrees_(a,this.tree_,this.workspace_.options.pathToMedia);if(this.tree_.blocks.length)throw Error("Toolbox cannot have both blocks and categories in the root level.");this.workspace_.resizeContents();return a};
+Blockly.Toolbox.prototype.syncTrees_=function(a,b,c){for(var d=null,e=null,f=0,g;g=a.childNodes[f];f++)if(g.tagName)switch(g.tagName.toUpperCase()){case "CATEGORY":e=Blockly.utils.replaceMessageReferences(g.getAttribute("name"));var h=this.tree_.createNode(e);h.blocks=[];b.add(h);var k=g.getAttribute("custom");k?h.blocks=k:(k=this.syncTrees_(g,h,c))&&(d=k);k=Blockly.utils.replaceMessageReferences(g.getAttribute("colour"));null===k||""===k?h.hexColour="":/^#[0-9a-fA-F]{6}$/.test(k)?(h.hexColour=k,
+this.hasColours_=!0):"number"===typeof k||"string"===typeof k&&!isNaN(Number(k))?(h.hexColour=Blockly.hueToRgb(Number(k)),this.hasColours_=!0):(h.hexColour="",console.warn('Toolbox category "'+e+'" has unrecognized colour attribute: '+k));"true"==g.getAttribute("expanded")?(h.blocks.length&&(d=h),h.setExpanded(!0)):h.setExpanded(!1);e=g;break;case "SEP":e&&("CATEGORY"==e.tagName.toUpperCase()?b.add(new Blockly.Toolbox.TreeSeparator(this.treeSeparatorConfig_)):(g=parseFloat(g.getAttribute("gap")),
+!isNaN(g)&&e&&e.setAttribute("gap",g)));break;case "BLOCK":case "SHADOW":case "LABEL":case "BUTTON":b.blocks.push(g),e=g}return d};Blockly.Toolbox.prototype.addColour_=function(a){a=(a||this.tree_).getChildren(!1);for(var b=0,c;c=a[b];b++){var d=c.getRowElement();if(d){var e=this.hasColours_?"8px solid "+(c.hexColour||"#ddd"):"none";this.workspace_.RTL?d.style.borderRight=e:d.style.borderLeft=e}this.addColour_(c)}};Blockly.Toolbox.prototype.clearSelection=function(){this.tree_.setSelectedItem(null)};
+Blockly.Toolbox.prototype.addStyle=function(a){Blockly.utils.addClass(this.HtmlDiv,a)};Blockly.Toolbox.prototype.removeStyle=function(a){Blockly.utils.removeClass(this.HtmlDiv,a)};
+Blockly.Toolbox.prototype.getClientRect=function(){if(!this.HtmlDiv)return null;var a=this.HtmlDiv.getBoundingClientRect(),b=a.left,c=a.top,d=a.width;a=a.height;return this.toolboxPosition==Blockly.TOOLBOX_AT_LEFT?new goog.math.Rect(-1E7,-1E7,1E7+b+d,2E7):this.toolboxPosition==Blockly.TOOLBOX_AT_RIGHT?new goog.math.Rect(b,-1E7,1E7+d,2E7):this.toolboxPosition==Blockly.TOOLBOX_AT_TOP?new goog.math.Rect(-1E7,-1E7,2E7,1E7+c+a):new goog.math.Rect(0,c,2E7,1E7+d)};
+Blockly.Toolbox.prototype.refreshSelection=function(){var a=this.tree_.getSelectedItem();a&&a.blocks&&this.flyout_.show(a.blocks)};Blockly.Toolbox.TreeControl=function(a,b){this.toolbox_=a;goog.ui.tree.TreeControl.call(this,goog.html.SafeHtml.EMPTY,b)};goog.inherits(Blockly.Toolbox.TreeControl,goog.ui.tree.TreeControl);
+Blockly.Toolbox.TreeControl.prototype.enterDocument=function(){Blockly.Toolbox.TreeControl.superClass_.enterDocument.call(this);if(goog.events.BrowserFeature.TOUCH_ENABLED){var a=this.getElement();Blockly.bindEventWithChecks_(a,goog.events.EventType.TOUCHEND,this,this.handleTouchEvent_)}};Blockly.Toolbox.TreeControl.prototype.handleTouchEvent_=function(a){var b=this.getNodeFromEvent_(a);b&&a.type===goog.events.EventType.TOUCHEND&&setTimeout(function(){b.onClick_(a)},1)};
+Blockly.Toolbox.TreeControl.prototype.createNode=function(a){a=a?goog.html.SafeHtml.htmlEscape(a):goog.html.SafeHtml.EMPTY;return new Blockly.Toolbox.TreeNode(this.toolbox_,a,this.getConfig(),this.getDomHelper())};
+Blockly.Toolbox.TreeControl.prototype.setSelectedItem=function(a){var b=this.toolbox_;if(a!=this.selectedItem_&&a!=b.tree_){b.lastCategory_&&(b.lastCategory_.getRowElement().style.backgroundColor="");if(a){var c=a.hexColour||"#57e";a.getRowElement().style.backgroundColor=c;b.addColour_(a)}c=this.getSelectedItem();goog.ui.tree.TreeControl.prototype.setSelectedItem.call(this,a);a&&a.blocks&&a.blocks.length?(b.flyout_.show(a.blocks),b.lastCategory_!=a&&b.flyout_.scrollToStart()):b.flyout_.hide();c!=
+a&&c!=this&&(c=new Blockly.Events.Ui(null,"category",c&&c.getHtml(),a&&a.getHtml()),c.workspaceId=b.workspace_.id,Blockly.Events.fire(c));a&&(b.lastCategory_=a)}};Blockly.Toolbox.TreeNode=function(a,b,c,d){goog.ui.tree.TreeNode.call(this,b,c,d);a&&(b=function(){Blockly.svgResize(a.workspace_)},goog.events.listen(a.tree_,goog.ui.tree.BaseNode.EventType.EXPAND,b),goog.events.listen(a.tree_,goog.ui.tree.BaseNode.EventType.COLLAPSE,b))};goog.inherits(Blockly.Toolbox.TreeNode,goog.ui.tree.TreeNode);
+Blockly.Toolbox.TreeNode.prototype.getExpandIconSafeHtml=function(){return goog.html.SafeHtml.create("span")};Blockly.Toolbox.TreeNode.prototype.onClick_=function(a){this.hasChildren()&&this.isUserCollapsible_?(this.toggle(),this.select()):this.isSelected()?this.getTree().setSelectedItem(null):this.select();this.updateRow()};Blockly.Toolbox.TreeNode.prototype.onMouseDown=function(a){};Blockly.Toolbox.TreeNode.prototype.onDoubleClick_=function(a){};
+Blockly.Toolbox.TreeNode.prototype.onKeyDown=function(a){if(this.tree.toolbox_.horizontalLayout_){var b={},c=goog.events.KeyCodes.DOWN,d=goog.events.KeyCodes.UP;b[goog.events.KeyCodes.RIGHT]=this.rightToLeft_?d:c;b[goog.events.KeyCodes.LEFT]=this.rightToLeft_?c:d;b[goog.events.KeyCodes.UP]=goog.events.KeyCodes.LEFT;b[goog.events.KeyCodes.DOWN]=goog.events.KeyCodes.RIGHT;a.keyCode=b[a.keyCode]||a.keyCode}return Blockly.Toolbox.TreeNode.superClass_.onKeyDown.call(this,a)};
+Blockly.Toolbox.TreeSeparator=function(a){Blockly.Toolbox.TreeNode.call(this,null,goog.html.SafeHtml.EMPTY,a)};goog.inherits(Blockly.Toolbox.TreeSeparator,Blockly.Toolbox.TreeNode);Blockly.Css={};Blockly.Css.Cursor={OPEN:"handopen",CLOSED:"handclosed",DELETE:"handdelete"};Blockly.Css.currentCursor_="";Blockly.Css.styleSheet_=null;Blockly.Css.mediaPath_="";
+Blockly.Css.inject=function(a,b){if(!Blockly.Css.styleSheet_){var c=".blocklyDraggable {}\n";a&&(c+=Blockly.Css.CONTENT.join("\n"),Blockly.FieldDate&&(c+=Blockly.FieldDate.CSS.join("\n")));Blockly.Css.mediaPath_=b.replace(/[\\\/]$/,"");c=c.replace(/<<<PATH>>>/g,Blockly.Css.mediaPath_);var d=document.createElement("style");document.head.insertBefore(d,document.head.firstChild);c=document.createTextNode(c);d.appendChild(c);Blockly.Css.styleSheet_=d.sheet}};Blockly.Css.setCursor=function(a){console.warn("Deprecated call to Blockly.Css.setCursor.See https://github.com/google/blockly/issues/981 for context")};
+Blockly.Css.CONTENT=[".blocklySvg {","background-color: #fff;","outline: none;","overflow: hidden;","position: absolute;","display: block;","}",".blocklyWidgetDiv {","display: none;","position: absolute;","z-index: 99999;","}",".injectionDiv {","height: 100%;","position: relative;","overflow: hidden;","touch-action: none","}",".blocklyNonSelectable {","user-select: none;","-moz-user-select: none;","-ms-user-select: none;","-webkit-user-select: none;","}",".blocklyWsDragSurface {","display: none;",
+"position: absolute;","top: 0;","left: 0;","}",".blocklyWsDragSurface.blocklyOverflowVisible {","overflow: visible;","}",".blocklyBlockDragSurface {","display: none;","position: absolute;","top: 0;","left: 0;","right: 0;","bottom: 0;","overflow: visible !important;","z-index: 50;","}",".blocklyBlockCanvas.blocklyCanvasTransitioning,",".blocklyBubbleCanvas.blocklyCanvasTransitioning {","transition: transform .5s;","}",".blocklyTooltipDiv {","background-color: #ffffc7;","border: 1px solid #ddc;","box-shadow: 4px 4px 20px 1px rgba(0,0,0,.15);",
+"color: #000;","display: none;","font-family: sans-serif;","font-size: 9pt;","opacity: .9;","padding: 2px;","position: absolute;","z-index: 100000;","}",".blocklyResizeSE {","cursor: se-resize;","fill: #aaa;","}",".blocklyResizeSW {","cursor: sw-resize;","fill: #aaa;","}",".blocklyResizeLine {","stroke: #515A5A;","stroke-width: 1;","}",".blocklyHighlightedConnectionPath {","fill: none;","stroke: #fc3;","stroke-width: 4px;","}",".blocklyPathLight {","fill: none;","stroke-linecap: round;","stroke-width: 1;",
+"}",".blocklySelected>.blocklyPath {","stroke: #fc3;","stroke-width: 3px;","}",".blocklySelected>.blocklyPathLight {","display: none;","}",".blocklyDraggable {",'cursor: url("<<<PATH>>>/handopen.cur"), auto;',"cursor: grab;","cursor: -webkit-grab;","}",".blocklyDragging {",'cursor: url("<<<PATH>>>/handclosed.cur"), auto;',"cursor: grabbing;","cursor: -webkit-grabbing;","}",".blocklyDraggable:active {",'cursor: url("<<<PATH>>>/handclosed.cur"), auto;',"cursor: grabbing;","cursor: -webkit-grabbing;",
+"}",".blocklyBlockDragSurface .blocklyDraggable {",'cursor: url("<<<PATH>>>/handclosed.cur"), auto;',"cursor: grabbing;","cursor: -webkit-grabbing;","}",".blocklyDragging.blocklyDraggingDelete {",'cursor: url("<<<PATH>>>/handdelete.cur"), auto;',"}",".blocklyToolboxDelete {",'cursor: url("<<<PATH>>>/handdelete.cur"), auto;',"}",".blocklyToolboxGrab {",'cursor: url("<<<PATH>>>/handclosed.cur"), auto;',"cursor: grabbing;","cursor: -webkit-grabbing;","}",".blocklyDragging>.blocklyPath,",".blocklyDragging>.blocklyPathLight {",
+"fill-opacity: .8;","stroke-opacity: .8;","}",".blocklyDragging>.blocklyPathDark {","display: none;","}",".blocklyDisabled>.blocklyPath {","fill-opacity: .5;","stroke-opacity: .5;","}",".blocklyDisabled>.blocklyPathLight,",".blocklyDisabled>.blocklyPathDark {","display: none;","}",".blocklyText {","cursor: default;","fill: #fff;","font-family: sans-serif;","font-size: 11pt;","}",".blocklyNonEditableText>text {","pointer-events: none;","}",".blocklyNonEditableText>rect,",".blocklyEditableText>rect {",
+"fill: #fff;","fill-opacity: .6;","}",".blocklyNonEditableText>text,",".blocklyEditableText>text {","fill: #000;","}",".blocklyEditableText:hover>rect {","stroke: #fff;","stroke-width: 2;","}",".blocklyBubbleText {","fill: #000;","}",".blocklyFlyout {","position: absolute;","z-index: 20;","}",".blocklyFlyoutButton {","fill: #888;","cursor: default;","}",".blocklyFlyoutButtonShadow {","fill: #666;","}",".blocklyFlyoutButton:hover {","fill: #aaa;","}",".blocklyFlyoutLabel {","cursor: default;","}",
+".blocklyFlyoutLabelBackground {","opacity: 0;","}",".blocklyFlyoutLabelText {","fill: #000;","}",".blocklySvg text, .blocklyBlockDragSurface text {","user-select: none;","-moz-user-select: none;","-ms-user-select: none;","-webkit-user-select: none;","cursor: inherit;","}",".blocklyHidden {","display: none;","}",".blocklyFieldDropdown:not(.blocklyHidden) {","display: block;","}",".blocklyIconGroup {","cursor: default;","}",".blocklyIconGroup:not(:hover),",".blocklyIconGroupReadonly {","opacity: .6;",
+"}",".blocklyIconShape {","fill: #00f;","stroke: #fff;","stroke-width: 1px;","}",".blocklyIconSymbol {","fill: #fff;","}",".blocklyMinimalBody {","margin: 0;","padding: 0;","}",".blocklyCommentForeignObject {","position: relative;","z-index: 0;","}",".blocklyCommentRect {","fill: #E7DE8E;","stroke: #bcA903;","stroke-width: 1px","}",".blocklyCommentTarget {","fill: transparent;","stroke: #bcA903;","}",".blocklyCommentTargetFocused {","fill: none;","}",".blocklyCommentHandleTarget {","fill: none;",
+"}",".blocklyCommentHandleTargetFocused {","fill: transparent;","}",".blocklyFocused>.blocklyCommentRect {","fill: #B9B272;","stroke: #B9B272;","}",".blocklySelected>.blocklyCommentTarget {","stroke: #fc3;","stroke-width: 3px;","}",".blocklyCommentTextarea {","background-color: #fef49c;","border: 0;","outline: 0;","margin: 0;","padding: 3px;","resize: none;","display: block;","overflow: hidden;","}",".blocklyCommentDeleteIcon {","cursor: pointer;","fill: #000;","display: none","}",".blocklySelected > .blocklyCommentDeleteIcon {",
+"display: block","}",".blocklyDeleteIconShape {","fill: #000;","stroke: #000;","stroke-width: 1px;","}",".blocklyDeleteIconShape.blocklyDeleteIconHighlighted {","stroke: #fc3;","}",".blocklyHtmlInput {","border: none;","border-radius: 4px;","font-family: sans-serif;","height: 100%;","margin: 0;","outline: none;","padding: 0 1px;","width: 100%","}",".blocklyMainBackground {","stroke-width: 1;","stroke: #c6c6c6;","}",".blocklyMutatorBackground {","fill: #fff;","stroke: #ddd;","stroke-width: 1;","}",
+".blocklyFlyoutBackground {","fill: #ddd;","fill-opacity: .8;","}",".blocklyTransparentBackground {","opacity: 0;","}",".blocklyMainWorkspaceScrollbar {","z-index: 20;","}",".blocklyFlyoutScrollbar {","z-index: 30;","}",".blocklyScrollbarHorizontal, .blocklyScrollbarVertical {","position: absolute;","outline: none;","}",".blocklyScrollbarBackground {","opacity: 0;","}",".blocklyScrollbarHandle {","fill: #ccc;","}",".blocklyScrollbarBackground:hover+.blocklyScrollbarHandle,",".blocklyScrollbarHandle:hover {",
+"fill: #bbb;","}",".blocklyZoom>image {","opacity: .4;","}",".blocklyZoom>image:hover {","opacity: .6;","}",".blocklyZoom>image:active {","opacity: .8;","}",".blocklyFlyout .blocklyScrollbarHandle {","fill: #bbb;","}",".blocklyFlyout .blocklyScrollbarBackground:hover+.blocklyScrollbarHandle,",".blocklyFlyout .blocklyScrollbarHandle:hover {","fill: #aaa;","}",".blocklyInvalidInput {","background: #faa;","}",".blocklyAngleCircle {","stroke: #444;","stroke-width: 1;","fill: #ddd;","fill-opacity: .8;",
+"}",".blocklyAngleMarks {","stroke: #444;","stroke-width: 1;","}",".blocklyAngleGauge {","fill: #f88;","fill-opacity: .8;","}",".blocklyAngleLine {","stroke: #f00;","stroke-width: 2;","stroke-linecap: round;","pointer-events: none;","}",".blocklyContextMenu {","border-radius: 4px;","}",".blocklyDropdownMenu {","padding: 0 !important;","}",".blocklyWidgetDiv .goog-option-selected .goog-menuitem-checkbox,",".blocklyWidgetDiv .goog-option-selected .goog-menuitem-icon {","background: url(<<<PATH>>>/sprites.png) no-repeat -48px -16px !important;",
+"}",".blocklyToolboxDiv {","background-color: #ddd;","overflow-x: visible;","overflow-y: auto;","position: absolute;","user-select: none;","-moz-user-select: none;","-ms-user-select: none;","-webkit-user-select: none;","z-index: 70;","-webkit-tap-highlight-color: transparent;","}",".blocklyTreeRoot {","padding: 4px 0;","}",".blocklyTreeRoot:focus {","outline: none;","}",".blocklyTreeRow {","height: 22px;","line-height: 22px;","margin-bottom: 3px;","padding-right: 8px;","white-space: nowrap;","}",
+".blocklyHorizontalTree {","float: left;","margin: 1px 5px 8px 0;","}",".blocklyHorizontalTreeRtl {","float: right;","margin: 1px 0 8px 5px;","}",'.blocklyToolboxDiv[dir="RTL"] .blocklyTreeRow {',"margin-left: 8px;","}",".blocklyTreeRow:not(.blocklyTreeSelected):hover {","background-color: #e4e4e4;","}",".blocklyTreeSeparator {","border-bottom: solid #e5e5e5 1px;","height: 0;","margin: 5px 0;","}",".blocklyTreeSeparatorHorizontal {","border-right: solid #e5e5e5 1px;","width: 0;","padding: 5px 0;",
+"margin: 0 5px;","}",".blocklyTreeIcon {","background-image: url(<<<PATH>>>/sprites.png);","height: 16px;","vertical-align: middle;","width: 16px;","}",".blocklyTreeIconClosedLtr {","background-position: -32px -1px;","}",".blocklyTreeIconClosedRtl {","background-position: 0 -1px;","}",".blocklyTreeIconOpen {","background-position: -16px -1px;","}",".blocklyTreeSelected>.blocklyTreeIconClosedLtr {","background-position: -32px -17px;","}",".blocklyTreeSelected>.blocklyTreeIconClosedRtl {","background-position: 0 -17px;",
+"}",".blocklyTreeSelected>.blocklyTreeIconOpen {","background-position: -16px -17px;","}",".blocklyTreeIconNone,",".blocklyTreeSelected>.blocklyTreeIconNone {","background-position: -48px -1px;","}",".blocklyTreeLabel {","cursor: default;","font-family: sans-serif;","font-size: 16px;","padding: 0 3px;","vertical-align: middle;","}",".blocklyToolboxDelete .blocklyTreeLabel {",'cursor: url("<<<PATH>>>/handdelete.cur"), auto;',"}",".blocklyTreeSelected .blocklyTreeLabel {","color: #fff;","}",".blocklyColourTable {",
+"border-collapse: collapse;","}",".blocklyColourTable>tr>td {","border: 1px solid #666;","padding: 0;","}",".blocklyColourTable>tr>td>div {","border: 1px solid #666;","height: 13px;","width: 15px;","}",".blocklyColourTable>tr>td>div:hover {","border: 1px solid #fff;","}",".blocklyColourSelected, .blocklyColourSelected:hover {","border: 1px solid #000 !important;","}",".blocklyWidgetDiv .goog-menu {","background: #fff;","border-color: #ccc #666 #666 #ccc;","border-style: solid;","border-width: 1px;",
+"cursor: default;","font: normal 13px Arial, sans-serif;","margin: 0;","outline: none;","padding: 4px 0;","position: absolute;","overflow-y: auto;","overflow-x: hidden;","max-height: 100%;","z-index: 20000;","}",".blocklyWidgetDiv .goog-menuitem {","color: #000;","font: normal 13px Arial, sans-serif;","list-style: none;","margin: 0;","padding: 4px 7em 4px 28px;","white-space: nowrap;","}",".blocklyWidgetDiv .goog-menuitem.goog-menuitem-rtl {","padding-left: 7em;","padding-right: 28px;","}",".blocklyWidgetDiv .goog-menu-nocheckbox .goog-menuitem,",
+".blocklyWidgetDiv .goog-menu-noicon .goog-menuitem {","padding-left: 12px;","}",".blocklyWidgetDiv .goog-menu-noaccel .goog-menuitem {","padding-right: 20px;","}",".blocklyWidgetDiv .goog-menuitem-content {","color: #000;","font: normal 13px Arial, sans-serif;","}",".blocklyWidgetDiv .goog-menuitem-disabled .goog-menuitem-accel,",".blocklyWidgetDiv .goog-menuitem-disabled .goog-menuitem-content {","color: #ccc !important;","}",".blocklyWidgetDiv .goog-menuitem-disabled .goog-menuitem-icon {","opacity: 0.3;",
+"filter: alpha(opacity=30);","}",".blocklyWidgetDiv .goog-menuitem-highlight,",".blocklyWidgetDiv .goog-menuitem-hover {","background-color: #d6e9f8;","border-color: #d6e9f8;","border-style: dotted;","border-width: 1px 0;","padding-bottom: 3px;","padding-top: 3px;","}",".blocklyWidgetDiv .goog-menuitem-checkbox,",".blocklyWidgetDiv .goog-menuitem-icon {","background-repeat: no-repeat;","height: 16px;","left: 6px;","position: absolute;","right: auto;","vertical-align: middle;","width: 16px;","}",".blocklyWidgetDiv .goog-menuitem-rtl .goog-menuitem-checkbox,",
+".blocklyWidgetDiv .goog-menuitem-rtl .goog-menuitem-icon {","left: auto;","right: 6px;","}",".blocklyWidgetDiv .goog-option-selected .goog-menuitem-checkbox,",".blocklyWidgetDiv .goog-option-selected .goog-menuitem-icon {","background: url(//ssl.gstatic.com/editor/editortoolbar.png) no-repeat -512px 0;","}",".blocklyWidgetDiv .goog-menuitem-accel {","color: #999;","direction: ltr;","left: auto;","padding: 0 6px;","position: absolute;","right: 0;","text-align: right;","}",".blocklyWidgetDiv .goog-menuitem-rtl .goog-menuitem-accel {",
+"left: 0;","right: auto;","text-align: left;","}",".blocklyWidgetDiv .goog-menuitem-mnemonic-hint {","text-decoration: underline;","}",".blocklyWidgetDiv .goog-menuitem-mnemonic-separator {","color: #999;","font-size: 12px;","padding-left: 4px;","}",".blocklyWidgetDiv .goog-menuseparator {","border-top: 1px solid #ccc;","margin: 4px 0;","padding: 0;","}",""];Blockly.WidgetDiv={};Blockly.WidgetDiv.DIV=null;Blockly.WidgetDiv.owner_=null;Blockly.WidgetDiv.dispose_=null;Blockly.WidgetDiv.createDom=function(){Blockly.WidgetDiv.DIV||(Blockly.WidgetDiv.DIV=document.createElement("div"),Blockly.WidgetDiv.DIV.className="blocklyWidgetDiv",document.body.appendChild(Blockly.WidgetDiv.DIV))};
+Blockly.WidgetDiv.show=function(a,b,c){Blockly.WidgetDiv.hide();Blockly.WidgetDiv.owner_=a;Blockly.WidgetDiv.dispose_=c;a=goog.style.getViewportPageOffset(document);Blockly.WidgetDiv.DIV.style.top=a.y+"px";Blockly.WidgetDiv.DIV.style.direction=b?"rtl":"ltr";Blockly.WidgetDiv.DIV.style.display="block"};
+Blockly.WidgetDiv.hide=function(){Blockly.WidgetDiv.owner_&&(Blockly.WidgetDiv.owner_=null,Blockly.WidgetDiv.DIV.style.display="none",Blockly.WidgetDiv.DIV.style.left="",Blockly.WidgetDiv.DIV.style.top="",Blockly.WidgetDiv.dispose_&&Blockly.WidgetDiv.dispose_(),Blockly.WidgetDiv.dispose_=null,Blockly.WidgetDiv.DIV.innerHTML="")};Blockly.WidgetDiv.isVisible=function(){return!!Blockly.WidgetDiv.owner_};Blockly.WidgetDiv.hideIfOwner=function(a){Blockly.WidgetDiv.owner_==a&&Blockly.WidgetDiv.hide()};
+Blockly.WidgetDiv.position=function(a,b,c,d,e){b<d.y&&(b=d.y);e?a>c.width+d.x&&(a=c.width+d.x):a<d.x&&(a=d.x);Blockly.WidgetDiv.positionInternal_(a,b,c.height)};Blockly.WidgetDiv.positionInternal_=function(a,b,c){Blockly.WidgetDiv.DIV.style.left=a+"px";Blockly.WidgetDiv.DIV.style.top=b+"px";Blockly.WidgetDiv.DIV.style.height=c+"px"};
+Blockly.WidgetDiv.positionWithAnchor=function(a,b,c,d){var e=Blockly.WidgetDiv.calculateY_(a,b,c);a=Blockly.WidgetDiv.calculateX_(a,b,c,d);Blockly.WidgetDiv.positionInternal_(a,e,c.height)};Blockly.WidgetDiv.calculateX_=function(a,b,c,d){if(d)return b=Math.max(b.right-c.width,a.left),Math.min(b,a.right-c.width);b=Math.min(b.left,a.right-c.width);return Math.max(b,a.left)};Blockly.WidgetDiv.calculateY_=function(a,b,c){return b.bottom+c.height>=a.bottom?b.top-c.height:b.bottom};Blockly.inject=function(a,b){Blockly.checkBlockColourConstants();"string"==typeof a&&(a=document.getElementById(a)||document.querySelector(a));if(!Blockly.utils.containsNode(document,a))throw Error("Error: container is not in current document.");var c=new Blockly.Options(b||{}),d=document.createElement("div");d.className="injectionDiv";a.appendChild(d);var e=Blockly.createDom_(d,c),f=new Blockly.BlockDragSurfaceSvg(d);d=new Blockly.WorkspaceDragSurfaceSvg(d);c=Blockly.createMainWorkspace_(e,c,f,d);
+Blockly.init_(c);Blockly.mainWorkspace=c;Blockly.svgResize(c);return c};
+Blockly.createDom_=function(a,b){a.setAttribute("dir","LTR");goog.ui.Component.setDefaultRightToLeft(b.RTL);Blockly.Css.inject(b.hasCss,b.pathToMedia);var c=Blockly.utils.createSvgElement("svg",{xmlns:"http://www.w3.org/2000/svg","xmlns:html":"http://www.w3.org/1999/xhtml","xmlns:xlink":"http://www.w3.org/1999/xlink",version:"1.1","class":"blocklySvg"},a),d=Blockly.utils.createSvgElement("defs",{},c),e=String(Math.random()).substring(2),f=Blockly.utils.createSvgElement("filter",{id:"blocklyEmbossFilter"+
+e},d);Blockly.utils.createSvgElement("feGaussianBlur",{"in":"SourceAlpha",stdDeviation:1,result:"blur"},f);var g=Blockly.utils.createSvgElement("feSpecularLighting",{"in":"blur",surfaceScale:1,specularConstant:.5,specularExponent:10,"lighting-color":"white",result:"specOut"},f);Blockly.utils.createSvgElement("fePointLight",{x:-5E3,y:-1E4,z:2E4},g);Blockly.utils.createSvgElement("feComposite",{"in":"specOut",in2:"SourceAlpha",operator:"in",result:"specOut"},f);Blockly.utils.createSvgElement("feComposite",
+{"in":"SourceGraphic",in2:"specOut",operator:"arithmetic",k1:0,k2:1,k3:1,k4:0},f);b.embossFilterId=f.id;f=Blockly.utils.createSvgElement("pattern",{id:"blocklyDisabledPattern"+e,patternUnits:"userSpaceOnUse",width:10,height:10},d);Blockly.utils.createSvgElement("rect",{width:10,height:10,fill:"#aaa"},f);Blockly.utils.createSvgElement("path",{d:"M 0 0 L 10 10 M 10 0 L 0 10",stroke:"#cc0"},f);b.disabledPatternId=f.id;b.gridPattern=Blockly.Grid.createDom(e,b.gridOptions,d);return c};
+Blockly.createMainWorkspace_=function(a,b,c,d){b.parentWorkspace=null;var e=new Blockly.WorkspaceSvg(b,c,d);e.scale=b.zoomOptions.startScale;a.appendChild(e.createDom("blocklyMainBackground"));!b.hasCategories&&b.languageTree&&(c=e.addFlyout_("svg"),Blockly.utils.insertAfter(c,a));e.translate(0,0);Blockly.mainWorkspace=e;b.readOnly||b.hasScrollbars||e.addChangeListener(function(){if(!e.isDragging()){var a=e.getMetrics(),c=a.viewLeft+a.absoluteLeft,d=a.viewTop+a.absoluteTop;if(a.contentTop<d||a.contentTop+
+a.contentHeight>a.viewHeight+d||a.contentLeft<(b.RTL?a.viewLeft:c)||a.contentLeft+a.contentWidth>(b.RTL?a.viewWidth:a.viewWidth+c))for(var k=e.getTopBlocks(!1),l=0,n;n=k[l];l++){var m=n.getRelativeToSurfaceXY(),p=n.getHeightWidth(),q=d+25-p.height-m.y;0<q&&n.moveBy(0,q);q=d+a.viewHeight-25-m.y;0>q&&n.moveBy(0,q);q=25+c-m.x-(b.RTL?0:p.width);0<q&&n.moveBy(q,0);m=c+a.viewWidth-25-m.x+(b.RTL?p.width:0);0>m&&n.moveBy(m,0)}}});Blockly.svgResize(e);Blockly.WidgetDiv.createDom();Blockly.Tooltip.createDom();
+return e};
+Blockly.init_=function(a){var b=a.options,c=a.getParentSvg();Blockly.bindEventWithChecks_(c.parentNode,"contextmenu",null,function(a){Blockly.utils.isTargetInput(a)||a.preventDefault()});c=Blockly.bindEventWithChecks_(window,"resize",null,function(){Blockly.hideChaff(!0);Blockly.svgResize(a)});a.setResizeHandlerWrapper(c);Blockly.inject.bindDocumentEvents_();b.languageTree&&(a.toolbox_?a.toolbox_.init(a):a.flyout_&&(a.flyout_.init(a),a.flyout_.show(b.languageTree.childNodes),a.flyout_.scrollToStart(),a.scrollX=
+a.flyout_.width_,b.toolboxPosition==Blockly.TOOLBOX_AT_RIGHT&&(a.scrollX*=-1),a.translate(a.scrollX,0)));b.hasScrollbars&&(a.scrollbar=new Blockly.ScrollbarPair(a),a.scrollbar.resize());b.hasSounds&&Blockly.inject.loadSounds_(b.pathToMedia,a)};
+Blockly.inject.bindDocumentEvents_=function(){Blockly.documentEventsBound_||(Blockly.bindEventWithChecks_(document,"keydown",null,Blockly.onKeyDown_),Blockly.bindEvent_(document,"touchend",null,Blockly.longStop_),Blockly.bindEvent_(document,"touchcancel",null,Blockly.longStop_),goog.userAgent.IPAD&&Blockly.bindEventWithChecks_(window,"orientationchange",document,function(){Blockly.svgResize(Blockly.getMainWorkspace())}));Blockly.documentEventsBound_=!0};
+Blockly.inject.loadSounds_=function(a,b){var c=b.getAudioManager();c.load([a+"click.mp3",a+"click.wav",a+"click.ogg"],"click");c.load([a+"disconnect.wav",a+"disconnect.mp3",a+"disconnect.ogg"],"disconnect");c.load([a+"delete.mp3",a+"delete.ogg",a+"delete.wav"],"delete");var d=[],e=function(){for(;d.length;)Blockly.unbindEvent_(d.pop());c.preload()};d.push(Blockly.bindEventWithChecks_(document,"mousemove",null,e,!0));d.push(Blockly.bindEventWithChecks_(document,"touchstart",null,e,!0))};
+Blockly.updateToolbox=function(a){console.warn("Deprecated call to Blockly.updateToolbox, use workspace.updateToolbox instead.");Blockly.getMainWorkspace().updateToolbox(a)};var CLOSURE_DEFINES={"goog.DEBUG":!1};Blockly.mainWorkspace=null;Blockly.selected=null;Blockly.draggingConnections_=[];Blockly.clipboardXml_=null;Blockly.clipboardSource_=null;Blockly.cache3dSupported_=null;Blockly.hueToRgb=function(a){return goog.color.hsvToHex(a,Blockly.HSV_SATURATION,255*Blockly.HSV_VALUE)};Blockly.svgSize=function(a){return{width:a.cachedWidth_,height:a.cachedHeight_}};Blockly.resizeSvgContents=function(a){a.resizeContents()};
+Blockly.svgResize=function(a){for(;a.options.parentWorkspace;)a=a.options.parentWorkspace;var b=a.getParentSvg(),c=b.parentNode;if(c){var d=c.offsetWidth;c=c.offsetHeight;b.cachedWidth_!=d&&(b.setAttribute("width",d+"px"),b.cachedWidth_=d);b.cachedHeight_!=c&&(b.setAttribute("height",c+"px"),b.cachedHeight_=c);a.resize()}};
+Blockly.onKeyDown_=function(a){if(!(Blockly.mainWorkspace.options.readOnly||Blockly.utils.isTargetInput(a)||Blockly.mainWorkspace.rendered&&!Blockly.mainWorkspace.isVisible())){var b=!1;if(27==a.keyCode)Blockly.hideChaff();else if(8==a.keyCode||46==a.keyCode){a.preventDefault();if(Blockly.mainWorkspace.isDragging())return;Blockly.selected&&Blockly.selected.isDeletable()&&(b=!0)}else if(a.altKey||a.ctrlKey||a.metaKey){if(Blockly.mainWorkspace.isDragging())return;Blockly.selected&&Blockly.selected.isDeletable()&&
+Blockly.selected.isMovable()&&(67==a.keyCode?(Blockly.hideChaff(),Blockly.copy_(Blockly.selected)):88!=a.keyCode||Blockly.selected.workspace.isFlyout||(Blockly.copy_(Blockly.selected),b=!0));86==a.keyCode?Blockly.clipboardXml_&&(Blockly.Events.setGroup(!0),a=Blockly.clipboardSource_,a.isFlyout&&(a=a.targetWorkspace),a.paste(Blockly.clipboardXml_),Blockly.Events.setGroup(!1)):90==a.keyCode&&(Blockly.hideChaff(),Blockly.mainWorkspace.undo(a.shiftKey))}b&&!Blockly.selected.workspace.isFlyout&&(Blockly.Events.setGroup(!0),
+Blockly.hideChaff(),Blockly.selected.dispose(!0,!0),Blockly.Events.setGroup(!1))}};Blockly.copy_=function(a){if(a.isComment)var b=a.toXmlWithXY();else{b=Blockly.Xml.blockToDom(a);Blockly.Xml.deleteNext(b);var c=a.getRelativeToSurfaceXY();b.setAttribute("x",a.RTL?-c.x:c.x);b.setAttribute("y",c.y)}Blockly.clipboardXml_=b;Blockly.clipboardSource_=a.workspace};
+Blockly.duplicate_=function(a){var b=Blockly.clipboardXml_,c=Blockly.clipboardSource_;Blockly.copy_(a);a.workspace.paste(Blockly.clipboardXml_);Blockly.clipboardXml_=b;Blockly.clipboardSource_=c};Blockly.onContextMenu_=function(a){Blockly.utils.isTargetInput(a)||a.preventDefault()};Blockly.hideChaff=function(a){Blockly.Tooltip.hide();Blockly.WidgetDiv.hide();a||(a=Blockly.getMainWorkspace(),a.toolbox_&&a.toolbox_.flyout_&&a.toolbox_.flyout_.autoClose&&a.toolbox_.clearSelection())};
+Blockly.addChangeListener=function(a){console.warn("Deprecated call to Blockly.addChangeListener, use workspace.addChangeListener instead.");return Blockly.getMainWorkspace().addChangeListener(a)};Blockly.getMainWorkspace=function(){return Blockly.mainWorkspace};Blockly.alert=function(a,b){window.alert(a);b&&b()};Blockly.confirm=function(a,b){b(window.confirm(a))};Blockly.prompt=function(a,b,c){c(window.prompt(a,b))};Blockly.jsonInitFactory_=function(a){return function(){this.jsonInit(a)}};
+Blockly.defineBlocksWithJsonArray=function(a){for(var b=0;b<a.length;b++){var c=a[b];if(c){var d=c.type;null==d||""===d?console.warn("Block definition #"+b+" in JSON array is missing a type attribute. Skipping."):(Blockly.Blocks[d]&&console.warn("Block definition #"+b+' in JSON array overwrites prior definition of "'+d+'".'),Blockly.Blocks[d]={init:Blockly.jsonInitFactory_(c)})}else console.warn("Block definition #"+b+" in JSON array is "+c+". Skipping.")}};
+Blockly.bindEventWithChecks_=function(a,b,c,d,e,f){var g=!1,h=function(a){var b=!e;a=Blockly.Touch.splitEventByTouches(a);for(var f=0,h;h=a[f];f++)if(!b||Blockly.Touch.shouldHandleEvent(h))Blockly.Touch.setClientFromTouch(h),c?d.call(c,h):d(h),g=!0},k=[];if(goog.global.PointerEvent&&b in Blockly.Touch.TOUCH_MAP)for(var l=0,n;n=Blockly.Touch.TOUCH_MAP[b][l];l++)a.addEventListener(n,h,!1),k.push([a,n,h]);else if(a.addEventListener(b,h,!1),k.push([a,b,h]),b in Blockly.Touch.TOUCH_MAP){var m=function(a){h(a);
+var b=!f;g&&b&&a.preventDefault()};for(l=0;n=Blockly.Touch.TOUCH_MAP[b][l];l++)a.addEventListener(n,m,!1),k.push([a,n,m])}return k};
+Blockly.bindEvent_=function(a,b,c,d){var e=function(a){c?d.call(c,a):d(a)},f=[],g=goog.global.window;if(g&&g.PointerEvent&&b in Blockly.Touch.TOUCH_MAP){g=0;for(var h;h=Blockly.Touch.TOUCH_MAP[b][g];g++)a.addEventListener(h,e,!1),f.push([a,h,e])}else if(a.addEventListener(b,e,!1),f.push([a,b,e]),b in Blockly.Touch.TOUCH_MAP){var k=function(a){if(a.changedTouches&&1==a.changedTouches.length){var b=a.changedTouches[0];a.clientX=b.clientX;a.clientY=b.clientY}e(a);a.preventDefault()};for(g=0;h=Blockly.Touch.TOUCH_MAP[b][g];g++)a.addEventListener(h,
+k,!1),f.push([a,h,k])}return f};Blockly.unbindEvent_=function(a){for(;a.length;){var b=a.pop(),c=b[2];b[0].removeEventListener(b[1],c,!1)}return c};Blockly.isNumber=function(a){return/^\s*-?\d+(\.\d+)?\s*$/.test(a)};
+Blockly.checkBlockColourConstants=function(){Blockly.checkBlockColourConstant_("LOGIC_HUE",["Blocks","logic","HUE"],void 0);Blockly.checkBlockColourConstant_("LOGIC_HUE",["Constants","Logic","HUE"],210);Blockly.checkBlockColourConstant_("LOOPS_HUE",["Blocks","loops","HUE"],void 0);Blockly.checkBlockColourConstant_("LOOPS_HUE",["Constants","Loops","HUE"],120);Blockly.checkBlockColourConstant_("MATH_HUE",["Blocks","math","HUE"],void 0);Blockly.checkBlockColourConstant_("MATH_HUE",["Constants","Math",
+"HUE"],230);Blockly.checkBlockColourConstant_("TEXTS_HUE",["Blocks","texts","HUE"],void 0);Blockly.checkBlockColourConstant_("TEXTS_HUE",["Constants","Text","HUE"],160);Blockly.checkBlockColourConstant_("LISTS_HUE",["Blocks","lists","HUE"],void 0);Blockly.checkBlockColourConstant_("LISTS_HUE",["Constants","Lists","HUE"],260);Blockly.checkBlockColourConstant_("COLOUR_HUE",["Blocks","colour","HUE"],void 0);Blockly.checkBlockColourConstant_("COLOUR_HUE",["Constants","Colour","HUE"],20);Blockly.checkBlockColourConstant_("VARIABLES_HUE",
+["Blocks","variables","HUE"],void 0);Blockly.checkBlockColourConstant_("VARIABLES_HUE",["Constants","Variables","HUE"],330);Blockly.checkBlockColourConstant_("VARIABLES_DYNAMIC_HUE",["Constants","VariablesDynamic","HUE"],310);Blockly.checkBlockColourConstant_("PROCEDURES_HUE",["Blocks","procedures","HUE"],void 0)};
+Blockly.checkBlockColourConstant_=function(a,b,c){for(var d="Blockly",e=Blockly,f=0;f<b.length;++f)d+="."+b[f],e&&(e=e[b[f]]);e&&e!==c&&(a=(void 0===c?'%1 has been removed. Use Blockly.Msg["%2"].':'%1 is deprecated and unused. Override Blockly.Msg["%2"].').replace("%1",d).replace("%2",a),console.warn(a))};goog.global.console||(goog.global.console={log:function(){},warn:function(){}});goog.global.Blockly||(goog.global.Blockly={});goog.global.Blockly.getMainWorkspace=Blockly.getMainWorkspace;
+goog.global.Blockly.addChangeListener=Blockly.addChangeListener;
\ No newline at end of file
diff --git a/js/blocks_compressed.js b/js/blocks_compressed.js
new file mode 100644 (file)
index 0000000..c58c70f
--- /dev/null
@@ -0,0 +1,164 @@
+// Do not edit this file; automatically generated by build.py.
+'use strict';
+
+
+Blockly.Blocks.colour={};Blockly.Constants={};Blockly.Constants.Colour={};Blockly.Constants.Colour.HUE=20;
+Blockly.defineBlocksWithJsonArray([{type:"colour_picker",message0:"%1",args0:[{type:"field_colour",name:"COLOUR",colour:"#ff0000"}],output:"Colour",colour:"%{BKY_COLOUR_HUE}",helpUrl:"%{BKY_COLOUR_PICKER_HELPURL}",tooltip:"%{BKY_COLOUR_PICKER_TOOLTIP}",extensions:["parent_tooltip_when_inline"]},{type:"colour_random",message0:"%{BKY_COLOUR_RANDOM_TITLE}",output:"Colour",colour:"%{BKY_COLOUR_HUE}",helpUrl:"%{BKY_COLOUR_RANDOM_HELPURL}",tooltip:"%{BKY_COLOUR_RANDOM_TOOLTIP}"},{type:"colour_rgb",message0:"%{BKY_COLOUR_RGB_TITLE} %{BKY_COLOUR_RGB_RED} %1 %{BKY_COLOUR_RGB_GREEN} %2 %{BKY_COLOUR_RGB_BLUE} %3",
+args0:[{type:"input_value",name:"RED",check:"Number",align:"RIGHT"},{type:"input_value",name:"GREEN",check:"Number",align:"RIGHT"},{type:"input_value",name:"BLUE",check:"Number",align:"RIGHT"}],output:"Colour",colour:"%{BKY_COLOUR_HUE}",helpUrl:"%{BKY_COLOUR_RGB_HELPURL}",tooltip:"%{BKY_COLOUR_RGB_TOOLTIP}"},{type:"colour_blend",message0:"%{BKY_COLOUR_BLEND_TITLE} %{BKY_COLOUR_BLEND_COLOUR1} %1 %{BKY_COLOUR_BLEND_COLOUR2} %2 %{BKY_COLOUR_BLEND_RATIO} %3",args0:[{type:"input_value",name:"COLOUR1",
+check:"Colour",align:"RIGHT"},{type:"input_value",name:"COLOUR2",check:"Colour",align:"RIGHT"},{type:"input_value",name:"RATIO",check:"Number",align:"RIGHT"}],output:"Colour",colour:"%{BKY_COLOUR_HUE}",helpUrl:"%{BKY_COLOUR_BLEND_HELPURL}",tooltip:"%{BKY_COLOUR_BLEND_TOOLTIP}"}]);Blockly.Blocks.lists={};Blockly.Constants.Lists={};Blockly.Constants.Lists.HUE=260;
+Blockly.defineBlocksWithJsonArray([{type:"lists_create_empty",message0:"%{BKY_LISTS_CREATE_EMPTY_TITLE}",output:"Array",colour:"%{BKY_LISTS_HUE}",tooltip:"%{BKY_LISTS_CREATE_EMPTY_TOOLTIP}",helpUrl:"%{BKY_LISTS_CREATE_EMPTY_HELPURL}"},{type:"lists_repeat",message0:"%{BKY_LISTS_REPEAT_TITLE}",args0:[{type:"input_value",name:"ITEM"},{type:"input_value",name:"NUM",check:"Number"}],output:"Array",colour:"%{BKY_LISTS_HUE}",tooltip:"%{BKY_LISTS_REPEAT_TOOLTIP}",helpUrl:"%{BKY_LISTS_REPEAT_HELPURL}"},{type:"lists_reverse",
+message0:"%{BKY_LISTS_REVERSE_MESSAGE0}",args0:[{type:"input_value",name:"LIST",check:"Array"}],output:"Array",inputsInline:!0,colour:"%{BKY_LISTS_HUE}",tooltip:"%{BKY_LISTS_REVERSE_TOOLTIP}",helpUrl:"%{BKY_LISTS_REVERSE_HELPURL}"},{type:"lists_isEmpty",message0:"%{BKY_LISTS_ISEMPTY_TITLE}",args0:[{type:"input_value",name:"VALUE",check:["String","Array"]}],output:"Boolean",colour:"%{BKY_LISTS_HUE}",tooltip:"%{BKY_LISTS_ISEMPTY_TOOLTIP}",helpUrl:"%{BKY_LISTS_ISEMPTY_HELPURL}"},{type:"lists_length",
+message0:"%{BKY_LISTS_LENGTH_TITLE}",args0:[{type:"input_value",name:"VALUE",check:["String","Array"]}],output:"Number",colour:"%{BKY_LISTS_HUE}",tooltip:"%{BKY_LISTS_LENGTH_TOOLTIP}",helpUrl:"%{BKY_LISTS_LENGTH_HELPURL}"}]);
+Blockly.Blocks.lists_create_with={init:function(){this.setHelpUrl(Blockly.Msg.LISTS_CREATE_WITH_HELPURL);this.setColour(Blockly.Msg.LISTS_HUE);this.itemCount_=3;this.updateShape_();this.setOutput(!0,"Array");this.setMutator(new Blockly.Mutator(["lists_create_with_item"]));this.setTooltip(Blockly.Msg.LISTS_CREATE_WITH_TOOLTIP)},mutationToDom:function(){var a=document.createElement("mutation");a.setAttribute("items",this.itemCount_);return a},domToMutation:function(a){this.itemCount_=parseInt(a.getAttribute("items"),
+10);this.updateShape_()},decompose:function(a){var b=a.newBlock("lists_create_with_container");b.initSvg();for(var c=b.getInput("STACK").connection,e=0;e<this.itemCount_;e++){var d=a.newBlock("lists_create_with_item");d.initSvg();c.connect(d.previousConnection);c=d.nextConnection}return b},compose:function(a){var b=a.getInputTargetBlock("STACK");for(a=[];b;)a.push(b.valueConnection_),b=b.nextConnection&&b.nextConnection.targetBlock();for(b=0;b<this.itemCount_;b++){var c=this.getInput("ADD"+b).connection.targetConnection;
+c&&-1==a.indexOf(c)&&c.disconnect()}this.itemCount_=a.length;this.updateShape_();for(b=0;b<this.itemCount_;b++)Blockly.Mutator.reconnect(a[b],this,"ADD"+b)},saveConnections:function(a){a=a.getInputTargetBlock("STACK");for(var b=0;a;){var c=this.getInput("ADD"+b);a.valueConnection_=c&&c.connection.targetConnection;b++;a=a.nextConnection&&a.nextConnection.targetBlock()}},updateShape_:function(){this.itemCount_&&this.getInput("EMPTY")?this.removeInput("EMPTY"):this.itemCount_||this.getInput("EMPTY")||
+this.appendDummyInput("EMPTY").appendField(Blockly.Msg.LISTS_CREATE_EMPTY_TITLE);for(var a=0;a<this.itemCount_;a++)if(!this.getInput("ADD"+a)){var b=this.appendValueInput("ADD"+a);0==a&&b.appendField(Blockly.Msg.LISTS_CREATE_WITH_INPUT_WITH)}for(;this.getInput("ADD"+a);)this.removeInput("ADD"+a),a++}};
+Blockly.Blocks.lists_create_with_container={init:function(){this.setColour(Blockly.Msg.LISTS_HUE);this.appendDummyInput().appendField(Blockly.Msg.LISTS_CREATE_WITH_CONTAINER_TITLE_ADD);this.appendStatementInput("STACK");this.setTooltip(Blockly.Msg.LISTS_CREATE_WITH_CONTAINER_TOOLTIP);this.contextMenu=!1}};
+Blockly.Blocks.lists_create_with_item={init:function(){this.setColour(Blockly.Msg.LISTS_HUE);this.appendDummyInput().appendField(Blockly.Msg.LISTS_CREATE_WITH_ITEM_TITLE);this.setPreviousStatement(!0);this.setNextStatement(!0);this.setTooltip(Blockly.Msg.LISTS_CREATE_WITH_ITEM_TOOLTIP);this.contextMenu=!1}};
+Blockly.Blocks.lists_indexOf={init:function(){var a=[[Blockly.Msg.LISTS_INDEX_OF_FIRST,"FIRST"],[Blockly.Msg.LISTS_INDEX_OF_LAST,"LAST"]];this.setHelpUrl(Blockly.Msg.LISTS_INDEX_OF_HELPURL);this.setColour(Blockly.Msg.LISTS_HUE);this.setOutput(!0,"Number");this.appendValueInput("VALUE").setCheck("Array").appendField(Blockly.Msg.LISTS_INDEX_OF_INPUT_IN_LIST);this.appendValueInput("FIND").appendField(new Blockly.FieldDropdown(a),"END");this.setInputsInline(!0);var b=this;this.setTooltip(function(){return Blockly.Msg.LISTS_INDEX_OF_TOOLTIP.replace("%1",
+b.workspace.options.oneBasedIndex?"0":"-1")})}};
+Blockly.Blocks.lists_getIndex={init:function(){var a=[[Blockly.Msg.LISTS_GET_INDEX_GET,"GET"],[Blockly.Msg.LISTS_GET_INDEX_GET_REMOVE,"GET_REMOVE"],[Blockly.Msg.LISTS_GET_INDEX_REMOVE,"REMOVE"]];this.WHERE_OPTIONS=[[Blockly.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Blockly.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Blockly.Msg.LISTS_GET_INDEX_FIRST,"FIRST"],[Blockly.Msg.LISTS_GET_INDEX_LAST,"LAST"],[Blockly.Msg.LISTS_GET_INDEX_RANDOM,"RANDOM"]];this.setHelpUrl(Blockly.Msg.LISTS_GET_INDEX_HELPURL);this.setColour(Blockly.Msg.LISTS_HUE);
+a=new Blockly.FieldDropdown(a,function(a){this.sourceBlock_.updateStatement_("REMOVE"==a)});this.appendValueInput("VALUE").setCheck("Array").appendField(Blockly.Msg.LISTS_GET_INDEX_INPUT_IN_LIST);this.appendDummyInput().appendField(a,"MODE").appendField("","SPACE");this.appendDummyInput("AT");Blockly.Msg.LISTS_GET_INDEX_TAIL&&this.appendDummyInput("TAIL").appendField(Blockly.Msg.LISTS_GET_INDEX_TAIL);this.setInputsInline(!0);this.setOutput(!0);this.updateAt_(!0);var b=this;this.setTooltip(function(){var a=
+b.getFieldValue("MODE"),e=b.getFieldValue("WHERE"),d="";switch(a+" "+e){case "GET FROM_START":case "GET FROM_END":d=Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM;break;case "GET FIRST":d=Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FIRST;break;case "GET LAST":d=Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_LAST;break;case "GET RANDOM":d=Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM;break;case "GET_REMOVE FROM_START":case "GET_REMOVE FROM_END":d=Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM;break;case "GET_REMOVE FIRST":d=
+Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST;break;case "GET_REMOVE LAST":d=Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST;break;case "GET_REMOVE RANDOM":d=Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM;break;case "REMOVE FROM_START":case "REMOVE FROM_END":d=Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM;break;case "REMOVE FIRST":d=Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST;break;case "REMOVE LAST":d=Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST;break;case "REMOVE RANDOM":d=
+Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM}if("FROM_START"==e||"FROM_END"==e)d+="  "+("FROM_START"==e?Blockly.Msg.LISTS_INDEX_FROM_START_TOOLTIP:Blockly.Msg.LISTS_INDEX_FROM_END_TOOLTIP).replace("%1",b.workspace.options.oneBasedIndex?"#1":"#0");return d})},mutationToDom:function(){var a=document.createElement("mutation");a.setAttribute("statement",!this.outputConnection);var b=this.getInput("AT").type==Blockly.INPUT_VALUE;a.setAttribute("at",b);return a},domToMutation:function(a){var b="true"==
+a.getAttribute("statement");this.updateStatement_(b);a="false"!=a.getAttribute("at");this.updateAt_(a)},updateStatement_:function(a){a!=!this.outputConnection&&(this.unplug(!0,!0),a?(this.setOutput(!1),this.setPreviousStatement(!0),this.setNextStatement(!0)):(this.setPreviousStatement(!1),this.setNextStatement(!1),this.setOutput(!0)))},updateAt_:function(a){this.removeInput("AT");this.removeInput("ORDINAL",!0);a?(this.appendValueInput("AT").setCheck("Number"),Blockly.Msg.ORDINAL_NUMBER_SUFFIX&&this.appendDummyInput("ORDINAL").appendField(Blockly.Msg.ORDINAL_NUMBER_SUFFIX)):
+this.appendDummyInput("AT");var b=new Blockly.FieldDropdown(this.WHERE_OPTIONS,function(b){var c="FROM_START"==b||"FROM_END"==b;if(c!=a){var d=this.sourceBlock_;d.updateAt_(c);d.setFieldValue(b,"WHERE");return null}});this.getInput("AT").appendField(b,"WHERE");Blockly.Msg.LISTS_GET_INDEX_TAIL&&this.moveInputBefore("TAIL",null)}};
+Blockly.Blocks.lists_setIndex={init:function(){var a=[[Blockly.Msg.LISTS_SET_INDEX_SET,"SET"],[Blockly.Msg.LISTS_SET_INDEX_INSERT,"INSERT"]];this.WHERE_OPTIONS=[[Blockly.Msg.LISTS_GET_INDEX_FROM_START,"FROM_START"],[Blockly.Msg.LISTS_GET_INDEX_FROM_END,"FROM_END"],[Blockly.Msg.LISTS_GET_INDEX_FIRST,"FIRST"],[Blockly.Msg.LISTS_GET_INDEX_LAST,"LAST"],[Blockly.Msg.LISTS_GET_INDEX_RANDOM,"RANDOM"]];this.setHelpUrl(Blockly.Msg.LISTS_SET_INDEX_HELPURL);this.setColour(Blockly.Msg.LISTS_HUE);this.appendValueInput("LIST").setCheck("Array").appendField(Blockly.Msg.LISTS_SET_INDEX_INPUT_IN_LIST);
+this.appendDummyInput().appendField(new Blockly.FieldDropdown(a),"MODE").appendField("","SPACE");this.appendDummyInput("AT");this.appendValueInput("TO").appendField(Blockly.Msg.LISTS_SET_INDEX_INPUT_TO);this.setInputsInline(!0);this.setPreviousStatement(!0);this.setNextStatement(!0);this.setTooltip(Blockly.Msg.LISTS_SET_INDEX_TOOLTIP);this.updateAt_(!0);var b=this;this.setTooltip(function(){var a=b.getFieldValue("MODE"),e=b.getFieldValue("WHERE"),d="";switch(a+" "+e){case "SET FROM_START":case "SET FROM_END":d=
+Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_SET_FROM;break;case "SET FIRST":d=Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_SET_FIRST;break;case "SET LAST":d=Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_SET_LAST;break;case "SET RANDOM":d=Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_SET_RANDOM;break;case "INSERT FROM_START":case "INSERT FROM_END":d=Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_FROM;break;case "INSERT FIRST":d=Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST;break;case "INSERT LAST":d=Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_LAST;
+break;case "INSERT RANDOM":d=Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM}if("FROM_START"==e||"FROM_END"==e)d+="  "+Blockly.Msg.LISTS_INDEX_FROM_START_TOOLTIP.replace("%1",b.workspace.options.oneBasedIndex?"#1":"#0");return d})},mutationToDom:function(){var a=document.createElement("mutation"),b=this.getInput("AT").type==Blockly.INPUT_VALUE;a.setAttribute("at",b);return a},domToMutation:function(a){a="false"!=a.getAttribute("at");this.updateAt_(a)},updateAt_:function(a){this.removeInput("AT");
+this.removeInput("ORDINAL",!0);a?(this.appendValueInput("AT").setCheck("Number"),Blockly.Msg.ORDINAL_NUMBER_SUFFIX&&this.appendDummyInput("ORDINAL").appendField(Blockly.Msg.ORDINAL_NUMBER_SUFFIX)):this.appendDummyInput("AT");var b=new Blockly.FieldDropdown(this.WHERE_OPTIONS,function(b){var c="FROM_START"==b||"FROM_END"==b;if(c!=a){var d=this.sourceBlock_;d.updateAt_(c);d.setFieldValue(b,"WHERE");return null}});this.moveInputBefore("AT","TO");this.getInput("ORDINAL")&&this.moveInputBefore("ORDINAL",
+"TO");this.getInput("AT").appendField(b,"WHERE")}};
+Blockly.Blocks.lists_getSublist={init:function(){this.WHERE_OPTIONS_1=[[Blockly.Msg.LISTS_GET_SUBLIST_START_FROM_START,"FROM_START"],[Blockly.Msg.LISTS_GET_SUBLIST_START_FROM_END,"FROM_END"],[Blockly.Msg.LISTS_GET_SUBLIST_START_FIRST,"FIRST"]];this.WHERE_OPTIONS_2=[[Blockly.Msg.LISTS_GET_SUBLIST_END_FROM_START,"FROM_START"],[Blockly.Msg.LISTS_GET_SUBLIST_END_FROM_END,"FROM_END"],[Blockly.Msg.LISTS_GET_SUBLIST_END_LAST,"LAST"]];this.setHelpUrl(Blockly.Msg.LISTS_GET_SUBLIST_HELPURL);this.setColour(Blockly.Msg.LISTS_HUE);
+this.appendValueInput("LIST").setCheck("Array").appendField(Blockly.Msg.LISTS_GET_SUBLIST_INPUT_IN_LIST);this.appendDummyInput("AT1");this.appendDummyInput("AT2");Blockly.Msg.LISTS_GET_SUBLIST_TAIL&&this.appendDummyInput("TAIL").appendField(Blockly.Msg.LISTS_GET_SUBLIST_TAIL);this.setInputsInline(!0);this.setOutput(!0,"Array");this.updateAt_(1,!0);this.updateAt_(2,!0);this.setTooltip(Blockly.Msg.LISTS_GET_SUBLIST_TOOLTIP)},mutationToDom:function(){var a=document.createElement("mutation"),b=this.getInput("AT1").type==
+Blockly.INPUT_VALUE;a.setAttribute("at1",b);b=this.getInput("AT2").type==Blockly.INPUT_VALUE;a.setAttribute("at2",b);return a},domToMutation:function(a){var b="true"==a.getAttribute("at1");a="true"==a.getAttribute("at2");this.updateAt_(1,b);this.updateAt_(2,a)},updateAt_:function(a,b){this.removeInput("AT"+a);this.removeInput("ORDINAL"+a,!0);b?(this.appendValueInput("AT"+a).setCheck("Number"),Blockly.Msg.ORDINAL_NUMBER_SUFFIX&&this.appendDummyInput("ORDINAL"+a).appendField(Blockly.Msg.ORDINAL_NUMBER_SUFFIX)):
+this.appendDummyInput("AT"+a);var c=new Blockly.FieldDropdown(this["WHERE_OPTIONS_"+a],function(c){var d="FROM_START"==c||"FROM_END"==c;if(d!=b){var e=this.sourceBlock_;e.updateAt_(a,d);e.setFieldValue(c,"WHERE"+a);return null}});this.getInput("AT"+a).appendField(c,"WHERE"+a);1==a&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1","AT2"));Blockly.Msg.LISTS_GET_SUBLIST_TAIL&&this.moveInputBefore("TAIL",null)}};
+Blockly.Blocks.lists_sort={init:function(){this.jsonInit({message0:Blockly.Msg.LISTS_SORT_TITLE,args0:[{type:"field_dropdown",name:"TYPE",options:[[Blockly.Msg.LISTS_SORT_TYPE_NUMERIC,"NUMERIC"],[Blockly.Msg.LISTS_SORT_TYPE_TEXT,"TEXT"],[Blockly.Msg.LISTS_SORT_TYPE_IGNORECASE,"IGNORE_CASE"]]},{type:"field_dropdown",name:"DIRECTION",options:[[Blockly.Msg.LISTS_SORT_ORDER_ASCENDING,"1"],[Blockly.Msg.LISTS_SORT_ORDER_DESCENDING,"-1"]]},{type:"input_value",name:"LIST",check:"Array"}],output:"Array",colour:Blockly.Msg.LISTS_HUE,
+tooltip:Blockly.Msg.LISTS_SORT_TOOLTIP,helpUrl:Blockly.Msg.LISTS_SORT_HELPURL})}};
+Blockly.Blocks.lists_split={init:function(){var a=this,b=new Blockly.FieldDropdown([[Blockly.Msg.LISTS_SPLIT_LIST_FROM_TEXT,"SPLIT"],[Blockly.Msg.LISTS_SPLIT_TEXT_FROM_LIST,"JOIN"]],function(b){a.updateType_(b)});this.setHelpUrl(Blockly.Msg.LISTS_SPLIT_HELPURL);this.setColour(Blockly.Msg.LISTS_HUE);this.appendValueInput("INPUT").setCheck("String").appendField(b,"MODE");this.appendValueInput("DELIM").setCheck("String").appendField(Blockly.Msg.LISTS_SPLIT_WITH_DELIMITER);this.setInputsInline(!0);this.setOutput(!0,
+"Array");this.setTooltip(function(){var b=a.getFieldValue("MODE");if("SPLIT"==b)return Blockly.Msg.LISTS_SPLIT_TOOLTIP_SPLIT;if("JOIN"==b)return Blockly.Msg.LISTS_SPLIT_TOOLTIP_JOIN;throw Error("Unknown mode: "+b);})},updateType_:function(a){"SPLIT"==a?(this.outputConnection.setCheck("Array"),this.getInput("INPUT").setCheck("String")):(this.outputConnection.setCheck("String"),this.getInput("INPUT").setCheck("Array"))},mutationToDom:function(){var a=document.createElement("mutation");a.setAttribute("mode",
+this.getFieldValue("MODE"));return a},domToMutation:function(a){this.updateType_(a.getAttribute("mode"))}};Blockly.Blocks.logic={};Blockly.Constants.Logic={};Blockly.Constants.Logic.HUE=210;
+Blockly.defineBlocksWithJsonArray([{type:"logic_boolean",message0:"%1",args0:[{type:"field_dropdown",name:"BOOL",options:[["%{BKY_LOGIC_BOOLEAN_TRUE}","TRUE"],["%{BKY_LOGIC_BOOLEAN_FALSE}","FALSE"]]}],output:"Boolean",colour:"%{BKY_LOGIC_HUE}",tooltip:"%{BKY_LOGIC_BOOLEAN_TOOLTIP}",helpUrl:"%{BKY_LOGIC_BOOLEAN_HELPURL}"},{type:"controls_if",message0:"%{BKY_CONTROLS_IF_MSG_IF} %1",args0:[{type:"input_value",name:"IF0",check:"Boolean"}],message1:"%{BKY_CONTROLS_IF_MSG_THEN} %1",args1:[{type:"input_statement",
+name:"DO0"}],previousStatement:null,nextStatement:null,colour:"%{BKY_LOGIC_HUE}",helpUrl:"%{BKY_CONTROLS_IF_HELPURL}",mutator:"controls_if_mutator",extensions:["controls_if_tooltip"]},{type:"controls_ifelse",message0:"%{BKY_CONTROLS_IF_MSG_IF} %1",args0:[{type:"input_value",name:"IF0",check:"Boolean"}],message1:"%{BKY_CONTROLS_IF_MSG_THEN} %1",args1:[{type:"input_statement",name:"DO0"}],message2:"%{BKY_CONTROLS_IF_MSG_ELSE} %1",args2:[{type:"input_statement",name:"ELSE"}],previousStatement:null,nextStatement:null,
+colour:"%{BKY_LOGIC_HUE}",tooltip:"%{BKYCONTROLS_IF_TOOLTIP_2}",helpUrl:"%{BKY_CONTROLS_IF_HELPURL}",extensions:["controls_if_tooltip"]},{type:"logic_compare",message0:"%1 %2 %3",args0:[{type:"input_value",name:"A"},{type:"field_dropdown",name:"OP",options:[["=","EQ"],["\u2260","NEQ"],["\u200f<","LT"],["\u200f\u2264","LTE"],["\u200f>","GT"],["\u200f\u2265","GTE"]]},{type:"input_value",name:"B"}],inputsInline:!0,output:"Boolean",colour:"%{BKY_LOGIC_HUE}",helpUrl:"%{BKY_LOGIC_COMPARE_HELPURL}",extensions:["logic_compare",
+"logic_op_tooltip"]},{type:"logic_operation",message0:"%1 %2 %3",args0:[{type:"input_value",name:"A",check:"Boolean"},{type:"field_dropdown",name:"OP",options:[["%{BKY_LOGIC_OPERATION_AND}","AND"],["%{BKY_LOGIC_OPERATION_OR}","OR"]]},{type:"input_value",name:"B",check:"Boolean"}],inputsInline:!0,output:"Boolean",colour:"%{BKY_LOGIC_HUE}",helpUrl:"%{BKY_LOGIC_OPERATION_HELPURL}",extensions:["logic_op_tooltip"]},{type:"logic_negate",message0:"%{BKY_LOGIC_NEGATE_TITLE}",args0:[{type:"input_value",name:"BOOL",
+check:"Boolean"}],output:"Boolean",colour:"%{BKY_LOGIC_HUE}",tooltip:"%{BKY_LOGIC_NEGATE_TOOLTIP}",helpUrl:"%{BKY_LOGIC_NEGATE_HELPURL}"},{type:"logic_null",message0:"%{BKY_LOGIC_NULL}",output:null,colour:"%{BKY_LOGIC_HUE}",tooltip:"%{BKY_LOGIC_NULL_TOOLTIP}",helpUrl:"%{BKY_LOGIC_NULL_HELPURL}"},{type:"logic_ternary",message0:"%{BKY_LOGIC_TERNARY_CONDITION} %1",args0:[{type:"input_value",name:"IF",check:"Boolean"}],message1:"%{BKY_LOGIC_TERNARY_IF_TRUE} %1",args1:[{type:"input_value",name:"THEN"}],
+message2:"%{BKY_LOGIC_TERNARY_IF_FALSE} %1",args2:[{type:"input_value",name:"ELSE"}],output:null,colour:"%{BKY_LOGIC_HUE}",tooltip:"%{BKY_LOGIC_TERNARY_TOOLTIP}",helpUrl:"%{BKY_LOGIC_TERNARY_HELPURL}",extensions:["logic_ternary"]}]);
+Blockly.defineBlocksWithJsonArray([{type:"controls_if_if",message0:"%{BKY_CONTROLS_IF_IF_TITLE_IF}",nextStatement:null,enableContextMenu:!1,colour:"%{BKY_LOGIC_HUE}",tooltip:"%{BKY_CONTROLS_IF_IF_TOOLTIP}"},{type:"controls_if_elseif",message0:"%{BKY_CONTROLS_IF_ELSEIF_TITLE_ELSEIF}",previousStatement:null,nextStatement:null,enableContextMenu:!1,colour:"%{BKY_LOGIC_HUE}",tooltip:"%{BKY_CONTROLS_IF_ELSEIF_TOOLTIP}"},{type:"controls_if_else",message0:"%{BKY_CONTROLS_IF_ELSE_TITLE_ELSE}",previousStatement:null,
+enableContextMenu:!1,colour:"%{BKY_LOGIC_HUE}",tooltip:"%{BKY_CONTROLS_IF_ELSE_TOOLTIP}"}]);Blockly.Constants.Logic.TOOLTIPS_BY_OP={EQ:"%{BKY_LOGIC_COMPARE_TOOLTIP_EQ}",NEQ:"%{BKY_LOGIC_COMPARE_TOOLTIP_NEQ}",LT:"%{BKY_LOGIC_COMPARE_TOOLTIP_LT}",LTE:"%{BKY_LOGIC_COMPARE_TOOLTIP_LTE}",GT:"%{BKY_LOGIC_COMPARE_TOOLTIP_GT}",GTE:"%{BKY_LOGIC_COMPARE_TOOLTIP_GTE}",AND:"%{BKY_LOGIC_OPERATION_TOOLTIP_AND}",OR:"%{BKY_LOGIC_OPERATION_TOOLTIP_OR}"};
+Blockly.Extensions.register("logic_op_tooltip",Blockly.Extensions.buildTooltipForDropdown("OP",Blockly.Constants.Logic.TOOLTIPS_BY_OP));
+Blockly.Constants.Logic.CONTROLS_IF_MUTATOR_MIXIN={elseifCount_:0,elseCount_:0,mutationToDom:function(){if(!this.elseifCount_&&!this.elseCount_)return null;var a=document.createElement("mutation");this.elseifCount_&&a.setAttribute("elseif",this.elseifCount_);this.elseCount_&&a.setAttribute("else",1);return a},domToMutation:function(a){this.elseifCount_=parseInt(a.getAttribute("elseif"),10)||0;this.elseCount_=parseInt(a.getAttribute("else"),10)||0;this.updateShape_()},decompose:function(a){var b=a.newBlock("controls_if_if");
+b.initSvg();for(var c=b.nextConnection,e=1;e<=this.elseifCount_;e++){var d=a.newBlock("controls_if_elseif");d.initSvg();c.connect(d.previousConnection);c=d.nextConnection}this.elseCount_&&(a=a.newBlock("controls_if_else"),a.initSvg(),c.connect(a.previousConnection));return b},compose:function(a){var b=a.nextConnection.targetBlock();this.elseCount_=this.elseifCount_=0;a=[null];for(var c=[null],e=null;b;){switch(b.type){case "controls_if_elseif":this.elseifCount_++;a.push(b.valueConnection_);c.push(b.statementConnection_);
+break;case "controls_if_else":this.elseCount_++;e=b.statementConnection_;break;default:throw TypeError("Unknown block type: "+b.type);}b=b.nextConnection&&b.nextConnection.targetBlock()}this.updateShape_();for(b=1;b<=this.elseifCount_;b++)Blockly.Mutator.reconnect(a[b],this,"IF"+b),Blockly.Mutator.reconnect(c[b],this,"DO"+b);Blockly.Mutator.reconnect(e,this,"ELSE")},saveConnections:function(a){a=a.nextConnection.targetBlock();for(var b=1;a;){switch(a.type){case "controls_if_elseif":var c=this.getInput("IF"+
+b),e=this.getInput("DO"+b);a.valueConnection_=c&&c.connection.targetConnection;a.statementConnection_=e&&e.connection.targetConnection;b++;break;case "controls_if_else":e=this.getInput("ELSE");a.statementConnection_=e&&e.connection.targetConnection;break;default:throw TypeError("Unknown block type: "+a.type);}a=a.nextConnection&&a.nextConnection.targetBlock()}},updateShape_:function(){this.getInput("ELSE")&&this.removeInput("ELSE");for(var a=1;this.getInput("IF"+a);)this.removeInput("IF"+a),this.removeInput("DO"+
+a),a++;for(a=1;a<=this.elseifCount_;a++)this.appendValueInput("IF"+a).setCheck("Boolean").appendField(Blockly.Msg.CONTROLS_IF_MSG_ELSEIF),this.appendStatementInput("DO"+a).appendField(Blockly.Msg.CONTROLS_IF_MSG_THEN);this.elseCount_&&this.appendStatementInput("ELSE").appendField(Blockly.Msg.CONTROLS_IF_MSG_ELSE)}};Blockly.Extensions.registerMutator("controls_if_mutator",Blockly.Constants.Logic.CONTROLS_IF_MUTATOR_MIXIN,null,["controls_if_elseif","controls_if_else"]);
+Blockly.Constants.Logic.CONTROLS_IF_TOOLTIP_EXTENSION=function(){this.setTooltip(function(){if(this.elseifCount_||this.elseCount_){if(!this.elseifCount_&&this.elseCount_)return Blockly.Msg.CONTROLS_IF_TOOLTIP_2;if(this.elseifCount_&&!this.elseCount_)return Blockly.Msg.CONTROLS_IF_TOOLTIP_3;if(this.elseifCount_&&this.elseCount_)return Blockly.Msg.CONTROLS_IF_TOOLTIP_4}else return Blockly.Msg.CONTROLS_IF_TOOLTIP_1;return""}.bind(this))};Blockly.Extensions.register("controls_if_tooltip",Blockly.Constants.Logic.CONTROLS_IF_TOOLTIP_EXTENSION);
+Blockly.Constants.Logic.LOGIC_COMPARE_ONCHANGE_MIXIN={onchange:function(a){this.prevBlocks_||(this.prevBlocks_=[null,null]);var b=this.getInputTargetBlock("A"),c=this.getInputTargetBlock("B");b&&c&&!b.outputConnection.checkType_(c.outputConnection)&&(Blockly.Events.setGroup(a.group),a=this.prevBlocks_[0],a!==b&&(b.unplug(),a&&!a.isShadow()&&this.getInput("A").connection.connect(a.outputConnection)),b=this.prevBlocks_[1],b!==c&&(c.unplug(),b&&!b.isShadow()&&this.getInput("B").connection.connect(b.outputConnection)),
+this.bumpNeighbours_(),Blockly.Events.setGroup(!1));this.prevBlocks_[0]=this.getInputTargetBlock("A");this.prevBlocks_[1]=this.getInputTargetBlock("B")}};Blockly.Constants.Logic.LOGIC_COMPARE_EXTENSION=function(){this.mixin(Blockly.Constants.Logic.LOGIC_COMPARE_ONCHANGE_MIXIN)};Blockly.Extensions.register("logic_compare",Blockly.Constants.Logic.LOGIC_COMPARE_EXTENSION);
+Blockly.Constants.Logic.LOGIC_TERNARY_ONCHANGE_MIXIN={prevParentConnection_:null,onchange:function(a){var b=this.getInputTargetBlock("THEN"),c=this.getInputTargetBlock("ELSE"),e=this.outputConnection.targetConnection;if((b||c)&&e)for(var d=0;2>d;d++){var f=1==d?b:c;f&&!f.outputConnection.checkType_(e)&&(Blockly.Events.setGroup(a.group),e===this.prevParentConnection_?(this.unplug(),e.getSourceBlock().bumpNeighbours_()):(f.unplug(),f.bumpNeighbours_()),Blockly.Events.setGroup(!1))}this.prevParentConnection_=
+e}};Blockly.Extensions.registerMixin("logic_ternary",Blockly.Constants.Logic.LOGIC_TERNARY_ONCHANGE_MIXIN);Blockly.Blocks.loops={};Blockly.Constants.Loops={};Blockly.Constants.Loops.HUE=120;
+Blockly.defineBlocksWithJsonArray([{type:"controls_repeat_ext",message0:"%{BKY_CONTROLS_REPEAT_TITLE}",args0:[{type:"input_value",name:"TIMES",check:"Number"}],message1:"%{BKY_CONTROLS_REPEAT_INPUT_DO} %1",args1:[{type:"input_statement",name:"DO"}],previousStatement:null,nextStatement:null,colour:"%{BKY_LOOPS_HUE}",tooltip:"%{BKY_CONTROLS_REPEAT_TOOLTIP}",helpUrl:"%{BKY_CONTROLS_REPEAT_HELPURL}"},{type:"controls_repeat",message0:"%{BKY_CONTROLS_REPEAT_TITLE}",args0:[{type:"field_number",name:"TIMES",
+value:10,min:0,precision:1}],message1:"%{BKY_CONTROLS_REPEAT_INPUT_DO} %1",args1:[{type:"input_statement",name:"DO"}],previousStatement:null,nextStatement:null,colour:"%{BKY_LOOPS_HUE}",tooltip:"%{BKY_CONTROLS_REPEAT_TOOLTIP}",helpUrl:"%{BKY_CONTROLS_REPEAT_HELPURL}"},{type:"controls_whileUntil",message0:"%1 %2",args0:[{type:"field_dropdown",name:"MODE",options:[["%{BKY_CONTROLS_WHILEUNTIL_OPERATOR_WHILE}","WHILE"],["%{BKY_CONTROLS_WHILEUNTIL_OPERATOR_UNTIL}","UNTIL"]]},{type:"input_value",name:"BOOL",
+check:"Boolean"}],message1:"%{BKY_CONTROLS_REPEAT_INPUT_DO} %1",args1:[{type:"input_statement",name:"DO"}],previousStatement:null,nextStatement:null,colour:"%{BKY_LOOPS_HUE}",helpUrl:"%{BKY_CONTROLS_WHILEUNTIL_HELPURL}",extensions:["controls_whileUntil_tooltip"]},{type:"controls_for",message0:"%{BKY_CONTROLS_FOR_TITLE}",args0:[{type:"field_variable",name:"VAR",variable:null},{type:"input_value",name:"FROM",check:"Number",align:"RIGHT"},{type:"input_value",name:"TO",check:"Number",align:"RIGHT"},{type:"input_value",
+name:"BY",check:"Number",align:"RIGHT"}],message1:"%{BKY_CONTROLS_REPEAT_INPUT_DO} %1",args1:[{type:"input_statement",name:"DO"}],inputsInline:!0,previousStatement:null,nextStatement:null,colour:"%{BKY_LOOPS_HUE}",helpUrl:"%{BKY_CONTROLS_FOR_HELPURL}",extensions:["contextMenu_newGetVariableBlock","controls_for_tooltip"]},{type:"controls_forEach",message0:"%{BKY_CONTROLS_FOREACH_TITLE}",args0:[{type:"field_variable",name:"VAR",variable:null},{type:"input_value",name:"LIST",check:"Array"}],message1:"%{BKY_CONTROLS_REPEAT_INPUT_DO} %1",
+args1:[{type:"input_statement",name:"DO"}],previousStatement:null,nextStatement:null,colour:"%{BKY_LOOPS_HUE}",helpUrl:"%{BKY_CONTROLS_FOREACH_HELPURL}",extensions:["contextMenu_newGetVariableBlock","controls_forEach_tooltip"]},{type:"controls_flow_statements",message0:"%1",args0:[{type:"field_dropdown",name:"FLOW",options:[["%{BKY_CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK}","BREAK"],["%{BKY_CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE}","CONTINUE"]]}],previousStatement:null,colour:"%{BKY_LOOPS_HUE}",
+helpUrl:"%{BKY_CONTROLS_FLOW_STATEMENTS_HELPURL}",extensions:["controls_flow_tooltip","controls_flow_in_loop_check"]}]);Blockly.Constants.Loops.WHILE_UNTIL_TOOLTIPS={WHILE:"%{BKY_CONTROLS_WHILEUNTIL_TOOLTIP_WHILE}",UNTIL:"%{BKY_CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL}"};Blockly.Extensions.register("controls_whileUntil_tooltip",Blockly.Extensions.buildTooltipForDropdown("MODE",Blockly.Constants.Loops.WHILE_UNTIL_TOOLTIPS));
+Blockly.Constants.Loops.BREAK_CONTINUE_TOOLTIPS={BREAK:"%{BKY_CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK}",CONTINUE:"%{BKY_CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE}"};Blockly.Extensions.register("controls_flow_tooltip",Blockly.Extensions.buildTooltipForDropdown("FLOW",Blockly.Constants.Loops.BREAK_CONTINUE_TOOLTIPS));
+Blockly.Constants.Loops.CUSTOM_CONTEXT_MENU_CREATE_VARIABLES_GET_MIXIN={customContextMenu:function(a){if(!this.isInFlyout){var b=this.getField("VAR").getVariable(),c=b.name;if(!this.isCollapsed()&&null!=c){var e={enabled:!0};e.text=Blockly.Msg.VARIABLES_SET_CREATE_GET.replace("%1",c);b=Blockly.Variables.generateVariableFieldDom(b);c=document.createElement("block");c.setAttribute("type","variables_get");c.appendChild(b);e.callback=Blockly.ContextMenu.callbackFactory(this,c);a.push(e)}}}};
+Blockly.Extensions.registerMixin("contextMenu_newGetVariableBlock",Blockly.Constants.Loops.CUSTOM_CONTEXT_MENU_CREATE_VARIABLES_GET_MIXIN);Blockly.Extensions.register("controls_for_tooltip",Blockly.Extensions.buildTooltipWithFieldText("%{BKY_CONTROLS_FOR_TOOLTIP}","VAR"));Blockly.Extensions.register("controls_forEach_tooltip",Blockly.Extensions.buildTooltipWithFieldText("%{BKY_CONTROLS_FOREACH_TOOLTIP}","VAR"));
+Blockly.Constants.Loops.CONTROL_FLOW_IN_LOOP_CHECK_MIXIN={LOOP_TYPES:["controls_repeat","controls_repeat_ext","controls_forEach","controls_for","controls_whileUntil"],onchange:function(){if(this.workspace.isDragging&&!this.workspace.isDragging()){var a=!1,b=this;do{if(-1!=this.LOOP_TYPES.indexOf(b.type)){a=!0;break}b=b.getSurroundParent()}while(b);a?(this.setWarningText(null),this.isInFlyout||this.setDisabled(!1)):(this.setWarningText(Blockly.Msg.CONTROLS_FLOW_STATEMENTS_WARNING),this.isInFlyout||
+this.getInheritedDisabled()||this.setDisabled(!0))}}};Blockly.Extensions.registerMixin("controls_flow_in_loop_check",Blockly.Constants.Loops.CONTROL_FLOW_IN_LOOP_CHECK_MIXIN);Blockly.Blocks.math={};Blockly.Constants.Math={};Blockly.Constants.Math.HUE=230;
+Blockly.defineBlocksWithJsonArray([{type:"math_number",message0:"%1",args0:[{type:"field_number",name:"NUM",value:0}],output:"Number",colour:"%{BKY_MATH_HUE}",helpUrl:"%{BKY_MATH_NUMBER_HELPURL}",tooltip:"%{BKY_MATH_NUMBER_TOOLTIP}",extensions:["parent_tooltip_when_inline"]},{type:"math_arithmetic",message0:"%1 %2 %3",args0:[{type:"input_value",name:"A",check:"Number"},{type:"field_dropdown",name:"OP",options:[["%{BKY_MATH_ADDITION_SYMBOL}","ADD"],["%{BKY_MATH_SUBTRACTION_SYMBOL}","MINUS"],["%{BKY_MATH_MULTIPLICATION_SYMBOL}",
+"MULTIPLY"],["%{BKY_MATH_DIVISION_SYMBOL}","DIVIDE"],["%{BKY_MATH_POWER_SYMBOL}","POWER"]]},{type:"input_value",name:"B",check:"Number"}],inputsInline:!0,output:"Number",colour:"%{BKY_MATH_HUE}",helpUrl:"%{BKY_MATH_ARITHMETIC_HELPURL}",extensions:["math_op_tooltip"]},{type:"math_single",message0:"%1 %2",args0:[{type:"field_dropdown",name:"OP",options:[["%{BKY_MATH_SINGLE_OP_ROOT}","ROOT"],["%{BKY_MATH_SINGLE_OP_ABSOLUTE}","ABS"],["-","NEG"],["ln","LN"],["log10","LOG10"],["e^","EXP"],["10^","POW10"]]},
+{type:"input_value",name:"NUM",check:"Number"}],output:"Number",colour:"%{BKY_MATH_HUE}",helpUrl:"%{BKY_MATH_SINGLE_HELPURL}",extensions:["math_op_tooltip"]},{type:"math_trig",message0:"%1 %2",args0:[{type:"field_dropdown",name:"OP",options:[["%{BKY_MATH_TRIG_SIN}","SIN"],["%{BKY_MATH_TRIG_COS}","COS"],["%{BKY_MATH_TRIG_TAN}","TAN"],["%{BKY_MATH_TRIG_ASIN}","ASIN"],["%{BKY_MATH_TRIG_ACOS}","ACOS"],["%{BKY_MATH_TRIG_ATAN}","ATAN"]]},{type:"input_value",name:"NUM",check:"Number"}],output:"Number",colour:"%{BKY_MATH_HUE}",
+helpUrl:"%{BKY_MATH_TRIG_HELPURL}",extensions:["math_op_tooltip"]},{type:"math_constant",message0:"%1",args0:[{type:"field_dropdown",name:"CONSTANT",options:[["\u03c0","PI"],["e","E"],["\u03c6","GOLDEN_RATIO"],["sqrt(2)","SQRT2"],["sqrt(\u00bd)","SQRT1_2"],["\u221e","INFINITY"]]}],output:"Number",colour:"%{BKY_MATH_HUE}",tooltip:"%{BKY_MATH_CONSTANT_TOOLTIP}",helpUrl:"%{BKY_MATH_CONSTANT_HELPURL}"},{type:"math_number_property",message0:"%1 %2",args0:[{type:"input_value",name:"NUMBER_TO_CHECK",check:"Number"},
+{type:"field_dropdown",name:"PROPERTY",options:[["%{BKY_MATH_IS_EVEN}","EVEN"],["%{BKY_MATH_IS_ODD}","ODD"],["%{BKY_MATH_IS_PRIME}","PRIME"],["%{BKY_MATH_IS_WHOLE}","WHOLE"],["%{BKY_MATH_IS_POSITIVE}","POSITIVE"],["%{BKY_MATH_IS_NEGATIVE}","NEGATIVE"],["%{BKY_MATH_IS_DIVISIBLE_BY}","DIVISIBLE_BY"]]}],inputsInline:!0,output:"Boolean",colour:"%{BKY_MATH_HUE}",tooltip:"%{BKY_MATH_IS_TOOLTIP}",mutator:"math_is_divisibleby_mutator"},{type:"math_change",message0:"%{BKY_MATH_CHANGE_TITLE}",args0:[{type:"field_variable",
+name:"VAR",variable:"%{BKY_MATH_CHANGE_TITLE_ITEM}"},{type:"input_value",name:"DELTA",check:"Number"}],previousStatement:null,nextStatement:null,colour:"%{BKY_VARIABLES_HUE}",helpUrl:"%{BKY_MATH_CHANGE_HELPURL}",extensions:["math_change_tooltip"]},{type:"math_round",message0:"%1 %2",args0:[{type:"field_dropdown",name:"OP",options:[["%{BKY_MATH_ROUND_OPERATOR_ROUND}","ROUND"],["%{BKY_MATH_ROUND_OPERATOR_ROUNDUP}","ROUNDUP"],["%{BKY_MATH_ROUND_OPERATOR_ROUNDDOWN}","ROUNDDOWN"]]},{type:"input_value",
+name:"NUM",check:"Number"}],output:"Number",colour:"%{BKY_MATH_HUE}",helpUrl:"%{BKY_MATH_ROUND_HELPURL}",tooltip:"%{BKY_MATH_ROUND_TOOLTIP}"},{type:"math_on_list",message0:"%1 %2",args0:[{type:"field_dropdown",name:"OP",options:[["%{BKY_MATH_ONLIST_OPERATOR_SUM}","SUM"],["%{BKY_MATH_ONLIST_OPERATOR_MIN}","MIN"],["%{BKY_MATH_ONLIST_OPERATOR_MAX}","MAX"],["%{BKY_MATH_ONLIST_OPERATOR_AVERAGE}","AVERAGE"],["%{BKY_MATH_ONLIST_OPERATOR_MEDIAN}","MEDIAN"],["%{BKY_MATH_ONLIST_OPERATOR_MODE}","MODE"],["%{BKY_MATH_ONLIST_OPERATOR_STD_DEV}",
+"STD_DEV"],["%{BKY_MATH_ONLIST_OPERATOR_RANDOM}","RANDOM"]]},{type:"input_value",name:"LIST",check:"Array"}],output:"Number",colour:"%{BKY_MATH_HUE}",helpUrl:"%{BKY_MATH_ONLIST_HELPURL}",mutator:"math_modes_of_list_mutator",extensions:["math_op_tooltip"]},{type:"math_modulo",message0:"%{BKY_MATH_MODULO_TITLE}",args0:[{type:"input_value",name:"DIVIDEND",check:"Number"},{type:"input_value",name:"DIVISOR",check:"Number"}],inputsInline:!0,output:"Number",colour:"%{BKY_MATH_HUE}",tooltip:"%{BKY_MATH_MODULO_TOOLTIP}",
+helpUrl:"%{BKY_MATH_MODULO_HELPURL}"},{type:"math_constrain",message0:"%{BKY_MATH_CONSTRAIN_TITLE}",args0:[{type:"input_value",name:"VALUE",check:"Number"},{type:"input_value",name:"LOW",check:"Number"},{type:"input_value",name:"HIGH",check:"Number"}],inputsInline:!0,output:"Number",colour:"%{BKY_MATH_HUE}",tooltip:"%{BKY_MATH_CONSTRAIN_TOOLTIP}",helpUrl:"%{BKY_MATH_CONSTRAIN_HELPURL}"},{type:"math_random_int",message0:"%{BKY_MATH_RANDOM_INT_TITLE}",args0:[{type:"input_value",name:"FROM",check:"Number"},
+{type:"input_value",name:"TO",check:"Number"}],inputsInline:!0,output:"Number",colour:"%{BKY_MATH_HUE}",tooltip:"%{BKY_MATH_RANDOM_INT_TOOLTIP}",helpUrl:"%{BKY_MATH_RANDOM_INT_HELPURL}"},{type:"math_random_float",message0:"%{BKY_MATH_RANDOM_FLOAT_TITLE_RANDOM}",output:"Number",colour:"%{BKY_MATH_HUE}",tooltip:"%{BKY_MATH_RANDOM_FLOAT_TOOLTIP}",helpUrl:"%{BKY_MATH_RANDOM_FLOAT_HELPURL}"}]);
+Blockly.Constants.Math.TOOLTIPS_BY_OP={ADD:"%{BKY_MATH_ARITHMETIC_TOOLTIP_ADD}",MINUS:"%{BKY_MATH_ARITHMETIC_TOOLTIP_MINUS}",MULTIPLY:"%{BKY_MATH_ARITHMETIC_TOOLTIP_MULTIPLY}",DIVIDE:"%{BKY_MATH_ARITHMETIC_TOOLTIP_DIVIDE}",POWER:"%{BKY_MATH_ARITHMETIC_TOOLTIP_POWER}",ROOT:"%{BKY_MATH_SINGLE_TOOLTIP_ROOT}",ABS:"%{BKY_MATH_SINGLE_TOOLTIP_ABS}",NEG:"%{BKY_MATH_SINGLE_TOOLTIP_NEG}",LN:"%{BKY_MATH_SINGLE_TOOLTIP_LN}",LOG10:"%{BKY_MATH_SINGLE_TOOLTIP_LOG10}",EXP:"%{BKY_MATH_SINGLE_TOOLTIP_EXP}",POW10:"%{BKY_MATH_SINGLE_TOOLTIP_POW10}",
+SIN:"%{BKY_MATH_TRIG_TOOLTIP_SIN}",COS:"%{BKY_MATH_TRIG_TOOLTIP_COS}",TAN:"%{BKY_MATH_TRIG_TOOLTIP_TAN}",ASIN:"%{BKY_MATH_TRIG_TOOLTIP_ASIN}",ACOS:"%{BKY_MATH_TRIG_TOOLTIP_ACOS}",ATAN:"%{BKY_MATH_TRIG_TOOLTIP_ATAN}",SUM:"%{BKY_MATH_ONLIST_TOOLTIP_SUM}",MIN:"%{BKY_MATH_ONLIST_TOOLTIP_MIN}",MAX:"%{BKY_MATH_ONLIST_TOOLTIP_MAX}",AVERAGE:"%{BKY_MATH_ONLIST_TOOLTIP_AVERAGE}",MEDIAN:"%{BKY_MATH_ONLIST_TOOLTIP_MEDIAN}",MODE:"%{BKY_MATH_ONLIST_TOOLTIP_MODE}",STD_DEV:"%{BKY_MATH_ONLIST_TOOLTIP_STD_DEV}",RANDOM:"%{BKY_MATH_ONLIST_TOOLTIP_RANDOM}"};
+Blockly.Extensions.register("math_op_tooltip",Blockly.Extensions.buildTooltipForDropdown("OP",Blockly.Constants.Math.TOOLTIPS_BY_OP));
+Blockly.Constants.Math.IS_DIVISIBLEBY_MUTATOR_MIXIN={mutationToDom:function(){var a=document.createElement("mutation"),b="DIVISIBLE_BY"==this.getFieldValue("PROPERTY");a.setAttribute("divisor_input",b);return a},domToMutation:function(a){a="true"==a.getAttribute("divisor_input");this.updateShape_(a)},updateShape_:function(a){var b=this.getInput("DIVISOR");a?b||this.appendValueInput("DIVISOR").setCheck("Number"):b&&this.removeInput("DIVISOR")}};
+Blockly.Constants.Math.IS_DIVISIBLE_MUTATOR_EXTENSION=function(){this.getField("PROPERTY").setValidator(function(a){this.sourceBlock_.updateShape_("DIVISIBLE_BY"==a)})};Blockly.Extensions.registerMutator("math_is_divisibleby_mutator",Blockly.Constants.Math.IS_DIVISIBLEBY_MUTATOR_MIXIN,Blockly.Constants.Math.IS_DIVISIBLE_MUTATOR_EXTENSION);Blockly.Extensions.register("math_change_tooltip",Blockly.Extensions.buildTooltipWithFieldText("%{BKY_MATH_CHANGE_TOOLTIP}","VAR"));
+Blockly.Constants.Math.LIST_MODES_MUTATOR_MIXIN={updateType_:function(a){"MODE"==a?this.outputConnection.setCheck("Array"):this.outputConnection.setCheck("Number")},mutationToDom:function(){var a=document.createElement("mutation");a.setAttribute("op",this.getFieldValue("OP"));return a},domToMutation:function(a){this.updateType_(a.getAttribute("op"))}};Blockly.Constants.Math.LIST_MODES_MUTATOR_EXTENSION=function(){this.getField("OP").setValidator(function(a){this.updateType_(a)}.bind(this))};
+Blockly.Extensions.registerMutator("math_modes_of_list_mutator",Blockly.Constants.Math.LIST_MODES_MUTATOR_MIXIN,Blockly.Constants.Math.LIST_MODES_MUTATOR_EXTENSION);Blockly.Blocks.procedures={};
+Blockly.Blocks.procedures_defnoreturn={init:function(){var a=new Blockly.FieldTextInput("",Blockly.Procedures.rename);a.setSpellcheck(!1);this.appendDummyInput().appendField(Blockly.Msg.PROCEDURES_DEFNORETURN_TITLE).appendField(a,"NAME").appendField("","PARAMS");this.setMutator(new Blockly.Mutator(["procedures_mutatorarg"]));(this.workspace.options.comments||this.workspace.options.parentWorkspace&&this.workspace.options.parentWorkspace.options.comments)&&Blockly.Msg.PROCEDURES_DEFNORETURN_COMMENT&&this.setCommentText(Blockly.Msg.PROCEDURES_DEFNORETURN_COMMENT);
+this.setColour(Blockly.Msg.PROCEDURES_HUE);this.setTooltip(Blockly.Msg.PROCEDURES_DEFNORETURN_TOOLTIP);this.setHelpUrl(Blockly.Msg.PROCEDURES_DEFNORETURN_HELPURL);this.arguments_=[];this.argumentVarModels_=[];this.setStatements_(!0);this.statementConnection_=null},setStatements_:function(a){this.hasStatements_!==a&&(a?(this.appendStatementInput("STACK").appendField(Blockly.Msg.PROCEDURES_DEFNORETURN_DO),this.getInput("RETURN")&&this.moveInputBefore("STACK","RETURN")):this.removeInput("STACK",!0),
+this.hasStatements_=a)},updateParams_:function(){for(var a=!1,b={},c=0;c<this.arguments_.length;c++){if(b["arg_"+this.arguments_[c].toLowerCase()]){a=!0;break}b["arg_"+this.arguments_[c].toLowerCase()]=!0}a?this.setWarningText(Blockly.Msg.PROCEDURES_DEF_DUPLICATE_WARNING):this.setWarningText(null);a="";this.arguments_.length&&(a=Blockly.Msg.PROCEDURES_BEFORE_PARAMS+" "+this.arguments_.join(", "));Blockly.Events.disable();try{this.setFieldValue(a,"PARAMS")}finally{Blockly.Events.enable()}},mutationToDom:function(a){var b=
+document.createElement("mutation");a&&b.setAttribute("name",this.getFieldValue("NAME"));for(var c=0;c<this.argumentVarModels_.length;c++){var e=document.createElement("arg"),d=this.argumentVarModels_[c];e.setAttribute("name",d.name);e.setAttribute("varid",d.getId());a&&this.paramIds_&&e.setAttribute("paramId",this.paramIds_[c]);b.appendChild(e)}this.hasStatements_||b.setAttribute("statements","false");return b},domToMutation:function(a){this.arguments_=[];this.argumentVarModels_=[];for(var b=0,c;c=
+a.childNodes[b];b++)if("arg"==c.nodeName.toLowerCase()){var e=c.getAttribute("name");c=c.getAttribute("varid")||c.getAttribute("varId");this.arguments_.push(e);e=Blockly.Variables.getOrCreateVariablePackage(this.workspace,c,e,"");this.argumentVarModels_.push(e)}this.updateParams_();Blockly.Procedures.mutateCallers(this);this.setStatements_("false"!==a.getAttribute("statements"))},decompose:function(a){var b=a.newBlock("procedures_mutatorcontainer");b.initSvg();this.getInput("RETURN")?b.setFieldValue(this.hasStatements_?
+"TRUE":"FALSE","STATEMENTS"):b.getInput("STATEMENT_INPUT").setVisible(!1);for(var c=b.getInput("STACK").connection,e=0;e<this.arguments_.length;e++){var d=a.newBlock("procedures_mutatorarg");d.initSvg();d.setFieldValue(this.arguments_[e],"NAME");d.oldLocation=e;c.connect(d.previousConnection);c=d.nextConnection}Blockly.Procedures.mutateCallers(this);return b},compose:function(a){this.arguments_=[];this.paramIds_=[];this.argumentVarModels_=[];for(var b=a.getInputTargetBlock("STACK");b;){var c=b.getFieldValue("NAME");
+this.arguments_.push(c);c=this.workspace.getVariable(c,"");this.argumentVarModels_.push(c);this.paramIds_.push(b.id);b=b.nextConnection&&b.nextConnection.targetBlock()}this.updateParams_();Blockly.Procedures.mutateCallers(this);a=a.getFieldValue("STATEMENTS");if(null!==a&&(a="TRUE"==a,this.hasStatements_!=a))if(a)this.setStatements_(!0),Blockly.Mutator.reconnect(this.statementConnection_,this,"STACK"),this.statementConnection_=null;else{a=this.getInput("STACK").connection;if(this.statementConnection_=
+a.targetConnection)a=a.targetBlock(),a.unplug(),a.bumpNeighbours_();this.setStatements_(!1)}},getProcedureDef:function(){return[this.getFieldValue("NAME"),this.arguments_,!1]},getVars:function(){return this.arguments_},getVarModels:function(){return this.argumentVarModels_},renameVarById:function(a,b){var c=this.workspace.getVariableById(a);if(""==c.type){c=c.name;for(var e=this.workspace.getVariableById(b),d=!1,f=0;f<this.argumentVarModels_.length;f++)this.argumentVarModels_[f].getId()==a&&(this.arguments_[f]=
+e.name,this.argumentVarModels_[f]=e,d=!0);d&&this.displayRenamedVar_(c,e.name)}},updateVarName:function(a){for(var b=a.name,c=!1,e=0;e<this.argumentVarModels_.length;e++)if(this.argumentVarModels_[e].getId()==a.getId()){var d=this.arguments_[e];this.arguments_[e]=b;c=!0}c&&this.displayRenamedVar_(d,b)},displayRenamedVar_:function(a,b){this.updateParams_();if(this.mutator.isVisible())for(var c=this.mutator.workspace_.getAllBlocks(),e=0,d;d=c[e];e++)"procedures_mutatorarg"==d.type&&Blockly.Names.equals(a,
+d.getFieldValue("NAME"))&&d.setFieldValue(b,"NAME")},customContextMenu:function(a){if(!this.isInFlyout){var b={enabled:!0},c=this.getFieldValue("NAME");b.text=Blockly.Msg.PROCEDURES_CREATE_DO.replace("%1",c);var e=document.createElement("mutation");e.setAttribute("name",c);for(var d=0;d<this.arguments_.length;d++)c=document.createElement("arg"),c.setAttribute("name",this.arguments_[d]),e.appendChild(c);c=document.createElement("block");c.setAttribute("type",this.callType_);c.appendChild(e);b.callback=
+Blockly.ContextMenu.callbackFactory(this,c);a.push(b);if(!this.isCollapsed())for(d=0;d<this.argumentVarModels_.length;d++)b={enabled:!0},e=this.argumentVarModels_[d],c=e.name,b.text=Blockly.Msg.VARIABLES_SET_CREATE_GET.replace("%1",c),e=Blockly.Variables.generateVariableFieldDom(e),c=document.createElement("block"),c.setAttribute("type","variables_get"),c.appendChild(e),b.callback=Blockly.ContextMenu.callbackFactory(this,c),a.push(b)}},callType_:"procedures_callnoreturn"};
+Blockly.Blocks.procedures_defreturn={init:function(){var a=new Blockly.FieldTextInput("",Blockly.Procedures.rename);a.setSpellcheck(!1);this.appendDummyInput().appendField(Blockly.Msg.PROCEDURES_DEFRETURN_TITLE).appendField(a,"NAME").appendField("","PARAMS");this.appendValueInput("RETURN").setAlign(Blockly.ALIGN_RIGHT).appendField(Blockly.Msg.PROCEDURES_DEFRETURN_RETURN);this.setMutator(new Blockly.Mutator(["procedures_mutatorarg"]));(this.workspace.options.comments||this.workspace.options.parentWorkspace&&
+this.workspace.options.parentWorkspace.options.comments)&&Blockly.Msg.PROCEDURES_DEFRETURN_COMMENT&&this.setCommentText(Blockly.Msg.PROCEDURES_DEFRETURN_COMMENT);this.setColour(Blockly.Msg.PROCEDURES_HUE);this.setTooltip(Blockly.Msg.PROCEDURES_DEFRETURN_TOOLTIP);this.setHelpUrl(Blockly.Msg.PROCEDURES_DEFRETURN_HELPURL);this.arguments_=[];this.argumentVarModels_=[];this.setStatements_(!0);this.statementConnection_=null},setStatements_:Blockly.Blocks.procedures_defnoreturn.setStatements_,updateParams_:Blockly.Blocks.procedures_defnoreturn.updateParams_,
+mutationToDom:Blockly.Blocks.procedures_defnoreturn.mutationToDom,domToMutation:Blockly.Blocks.procedures_defnoreturn.domToMutation,decompose:Blockly.Blocks.procedures_defnoreturn.decompose,compose:Blockly.Blocks.procedures_defnoreturn.compose,getProcedureDef:function(){return[this.getFieldValue("NAME"),this.arguments_,!0]},getVars:Blockly.Blocks.procedures_defnoreturn.getVars,getVarModels:Blockly.Blocks.procedures_defnoreturn.getVarModels,renameVarById:Blockly.Blocks.procedures_defnoreturn.renameVarById,
+updateVarName:Blockly.Blocks.procedures_defnoreturn.updateVarName,displayRenamedVar_:Blockly.Blocks.procedures_defnoreturn.displayRenamedVar_,customContextMenu:Blockly.Blocks.procedures_defnoreturn.customContextMenu,callType_:"procedures_callreturn"};
+Blockly.Blocks.procedures_mutatorcontainer={init:function(){this.appendDummyInput().appendField(Blockly.Msg.PROCEDURES_MUTATORCONTAINER_TITLE);this.appendStatementInput("STACK");this.appendDummyInput("STATEMENT_INPUT").appendField(Blockly.Msg.PROCEDURES_ALLOW_STATEMENTS).appendField(new Blockly.FieldCheckbox("TRUE"),"STATEMENTS");this.setColour(Blockly.Msg.PROCEDURES_HUE);this.setTooltip(Blockly.Msg.PROCEDURES_MUTATORCONTAINER_TOOLTIP);this.contextMenu=!1}};
+Blockly.Blocks.procedures_mutatorarg={init:function(){var a=new Blockly.FieldTextInput("x",this.validator_);a.oldShowEditorFn_=a.showEditor_;a.showEditor_=function(){this.createdVariables_=[];this.oldShowEditorFn_()};this.appendDummyInput().appendField(Blockly.Msg.PROCEDURES_MUTATORARG_TITLE).appendField(a,"NAME");this.setPreviousStatement(!0);this.setNextStatement(!0);this.setColour(Blockly.Msg.PROCEDURES_HUE);this.setTooltip(Blockly.Msg.PROCEDURES_MUTATORARG_TOOLTIP);this.contextMenu=!1;a.onFinishEditing_=
+this.deleteIntermediateVars_;a.createdVariables_=[];a.onFinishEditing_("x")},validator_:function(a){var b=Blockly.Mutator.findParentWs(this.sourceBlock_.workspace);a=a.replace(/[\s\xa0]+/g," ").replace(/^ | $/g,"");if(!a)return null;var c=b.getVariable(a,"");c&&c.name!=a&&b.renameVarById(c.getId(),a);c||(c=b.createVariable(a,""))&&this.createdVariables_&&this.createdVariables_.push(c);return a},deleteIntermediateVars_:function(a){var b=Blockly.Mutator.findParentWs(this.sourceBlock_.workspace);if(b)for(var c=
+0;c<this.createdVariables_.length;c++){var e=this.createdVariables_[c];e.name!=a&&b.deleteVariableById(e.getId())}}};
+Blockly.Blocks.procedures_callnoreturn={init:function(){this.appendDummyInput("TOPROW").appendField(this.id,"NAME");this.setPreviousStatement(!0);this.setNextStatement(!0);this.setColour(Blockly.Msg.PROCEDURES_HUE);this.setHelpUrl(Blockly.Msg.PROCEDURES_CALLNORETURN_HELPURL);this.arguments_=[];this.argumentVarModels_=[];this.quarkConnections_={};this.quarkIds_=null;this.previousDisabledState_=!1},getProcedureCall:function(){return this.getFieldValue("NAME")},renameProcedure:function(a,b){Blockly.Names.equals(a,
+this.getProcedureCall())&&(this.setFieldValue(b,"NAME"),this.setTooltip((this.outputConnection?Blockly.Msg.PROCEDURES_CALLRETURN_TOOLTIP:Blockly.Msg.PROCEDURES_CALLNORETURN_TOOLTIP).replace("%1",b)))},setProcedureParameters_:function(a,b){var c=Blockly.Procedures.getDefinition(this.getProcedureCall(),this.workspace),e=c&&c.mutator&&c.mutator.isVisible();e||(this.quarkConnections_={},this.quarkIds_=null);if(b)if(a.join("\n")==this.arguments_.join("\n"))this.quarkIds_=b;else{if(b.length!=a.length)throw RangeError("paramNames and paramIds must be the same length.");
+this.setCollapsed(!1);this.quarkIds_||(this.quarkConnections_={},this.quarkIds_=[]);c=this.rendered;this.rendered=!1;for(var d=0;d<this.arguments_.length;d++){var f=this.getInput("ARG"+d);f&&(f=f.connection.targetConnection,this.quarkConnections_[this.quarkIds_[d]]=f,e&&f&&-1==b.indexOf(this.quarkIds_[d])&&(f.disconnect(),f.getSourceBlock().bumpNeighbours_()))}this.arguments_=[].concat(a);this.argumentVarModels_=[];for(d=0;d<this.arguments_.length;d++)e=Blockly.Variables.getOrCreateVariablePackage(this.workspace,
+null,this.arguments_[d],""),this.argumentVarModels_.push(e);this.updateShape_();if(this.quarkIds_=b)for(d=0;d<this.arguments_.length;d++)e=this.quarkIds_[d],e in this.quarkConnections_&&(f=this.quarkConnections_[e],Blockly.Mutator.reconnect(f,this,"ARG"+d)||delete this.quarkConnections_[e]);(this.rendered=c)&&this.render()}},updateShape_:function(){for(var a=0;a<this.arguments_.length;a++){var b=this.getField("ARGNAME"+a);if(b){Blockly.Events.disable();try{b.setValue(this.arguments_[a])}finally{Blockly.Events.enable()}}else b=
+new Blockly.FieldLabel(this.arguments_[a]),this.appendValueInput("ARG"+a).setAlign(Blockly.ALIGN_RIGHT).appendField(b,"ARGNAME"+a).init()}for(;this.getInput("ARG"+a);)this.removeInput("ARG"+a),a++;if(a=this.getInput("TOPROW"))this.arguments_.length?this.getField("WITH")||(a.appendField(Blockly.Msg.PROCEDURES_CALL_BEFORE_PARAMS,"WITH"),a.init()):this.getField("WITH")&&a.removeField("WITH")},mutationToDom:function(){var a=document.createElement("mutation");a.setAttribute("name",this.getProcedureCall());
+for(var b=0;b<this.arguments_.length;b++){var c=document.createElement("arg");c.setAttribute("name",this.arguments_[b]);a.appendChild(c)}return a},domToMutation:function(a){var b=a.getAttribute("name");this.renameProcedure(this.getProcedureCall(),b);b=[];for(var c=[],e=0,d;d=a.childNodes[e];e++)"arg"==d.nodeName.toLowerCase()&&(b.push(d.getAttribute("name")),c.push(d.getAttribute("paramId")));this.setProcedureParameters_(b,c)},getVarModels:function(){return this.argumentVarModels_},onchange:function(a){if(this.workspace&&
+!this.workspace.isFlyout&&a.recordUndo)if(a.type==Blockly.Events.BLOCK_CREATE&&-1!=a.ids.indexOf(this.id)){var b=this.getProcedureCall();b=Blockly.Procedures.getDefinition(b,this.workspace);!b||b.type==this.defType_&&JSON.stringify(b.arguments_)==JSON.stringify(this.arguments_)||(b=null);if(!b){Blockly.Events.setGroup(a.group);a=document.createElement("xml");b=document.createElement("block");b.setAttribute("type",this.defType_);var c=this.getRelativeToSurfaceXY(),e=c.y+2*Blockly.SNAP_RADIUS;b.setAttribute("x",
+c.x+Blockly.SNAP_RADIUS*(this.RTL?-1:1));b.setAttribute("y",e);c=this.mutationToDom();b.appendChild(c);c=document.createElement("field");c.setAttribute("name","NAME");c.appendChild(document.createTextNode(this.getProcedureCall()));b.appendChild(c);a.appendChild(b);Blockly.Xml.domToWorkspace(a,this.workspace);Blockly.Events.setGroup(!1)}}else a.type==Blockly.Events.BLOCK_DELETE?(b=this.getProcedureCall(),b=Blockly.Procedures.getDefinition(b,this.workspace),b||(Blockly.Events.setGroup(a.group),this.dispose(!0,
+!1),Blockly.Events.setGroup(!1))):a.type==Blockly.Events.CHANGE&&"disabled"==a.element&&(b=this.getProcedureCall(),(b=Blockly.Procedures.getDefinition(b,this.workspace))&&b.id==a.blockId&&((b=Blockly.Events.getGroup())&&console.log("Saw an existing group while responding to a definition change"),Blockly.Events.setGroup(a.group),a.newValue?(this.previousDisabledState_=this.disabled,this.setDisabled(!0)):this.setDisabled(this.previousDisabledState_),Blockly.Events.setGroup(b)))},customContextMenu:function(a){var b=
+{enabled:!0};b.text=Blockly.Msg.PROCEDURES_HIGHLIGHT_DEF;var c=this.getProcedureCall(),e=this.workspace;b.callback=function(){var a=Blockly.Procedures.getDefinition(c,e);a&&(e.centerOnBlock(a.id),a.select())};a.push(b)},defType_:"procedures_defnoreturn"};
+Blockly.Blocks.procedures_callreturn={init:function(){this.appendDummyInput("TOPROW").appendField("","NAME");this.setOutput(!0);this.setColour(Blockly.Msg.PROCEDURES_HUE);this.setHelpUrl(Blockly.Msg.PROCEDURES_CALLRETURN_HELPURL);this.arguments_=[];this.quarkConnections_={};this.quarkIds_=null;this.previousDisabledState_=!1},getProcedureCall:Blockly.Blocks.procedures_callnoreturn.getProcedureCall,renameProcedure:Blockly.Blocks.procedures_callnoreturn.renameProcedure,setProcedureParameters_:Blockly.Blocks.procedures_callnoreturn.setProcedureParameters_,
+updateShape_:Blockly.Blocks.procedures_callnoreturn.updateShape_,mutationToDom:Blockly.Blocks.procedures_callnoreturn.mutationToDom,domToMutation:Blockly.Blocks.procedures_callnoreturn.domToMutation,getVarModels:Blockly.Blocks.procedures_callnoreturn.getVarModels,onchange:Blockly.Blocks.procedures_callnoreturn.onchange,customContextMenu:Blockly.Blocks.procedures_callnoreturn.customContextMenu,defType_:"procedures_defreturn"};
+Blockly.Blocks.procedures_ifreturn={init:function(){this.appendValueInput("CONDITION").setCheck("Boolean").appendField(Blockly.Msg.CONTROLS_IF_MSG_IF);this.appendValueInput("VALUE").appendField(Blockly.Msg.PROCEDURES_DEFRETURN_RETURN);this.setInputsInline(!0);this.setPreviousStatement(!0);this.setNextStatement(!0);this.setColour(Blockly.Msg.PROCEDURES_HUE);this.setTooltip(Blockly.Msg.PROCEDURES_IFRETURN_TOOLTIP);this.setHelpUrl(Blockly.Msg.PROCEDURES_IFRETURN_HELPURL);this.hasReturnValue_=!0},mutationToDom:function(){var a=
+document.createElement("mutation");a.setAttribute("value",Number(this.hasReturnValue_));return a},domToMutation:function(a){this.hasReturnValue_=1==a.getAttribute("value");this.hasReturnValue_||(this.removeInput("VALUE"),this.appendDummyInput("VALUE").appendField(Blockly.Msg.PROCEDURES_DEFRETURN_RETURN))},onchange:function(){if(this.workspace.isDragging&&!this.workspace.isDragging()){var a=!1,b=this;do{if(-1!=this.FUNCTION_TYPES.indexOf(b.type)){a=!0;break}b=b.getSurroundParent()}while(b);a?("procedures_defnoreturn"==
+b.type&&this.hasReturnValue_?(this.removeInput("VALUE"),this.appendDummyInput("VALUE").appendField(Blockly.Msg.PROCEDURES_DEFRETURN_RETURN),this.hasReturnValue_=!1):"procedures_defreturn"!=b.type||this.hasReturnValue_||(this.removeInput("VALUE"),this.appendValueInput("VALUE").appendField(Blockly.Msg.PROCEDURES_DEFRETURN_RETURN),this.hasReturnValue_=!0),this.setWarningText(null),this.isInFlyout||this.setDisabled(!1)):(this.setWarningText(Blockly.Msg.PROCEDURES_IFRETURN_WARNING),this.isInFlyout||this.getInheritedDisabled()||
+this.setDisabled(!0))}},FUNCTION_TYPES:["procedures_defnoreturn","procedures_defreturn"]};Blockly.Blocks.texts={};Blockly.Constants.Text={};Blockly.Constants.Text.HUE=160;
+Blockly.defineBlocksWithJsonArray([{type:"text",message0:"%1",args0:[{type:"field_input",name:"TEXT",text:""}],output:"String",colour:"%{BKY_TEXTS_HUE}",helpUrl:"%{BKY_TEXT_TEXT_HELPURL}",tooltip:"%{BKY_TEXT_TEXT_TOOLTIP}",extensions:["text_quotes","parent_tooltip_when_inline"]},{type:"text_join",message0:"",output:"String",colour:"%{BKY_TEXTS_HUE}",helpUrl:"%{BKY_TEXT_JOIN_HELPURL}",tooltip:"%{BKY_TEXT_JOIN_TOOLTIP}",mutator:"text_join_mutator"},{type:"text_create_join_container",message0:"%{BKY_TEXT_CREATE_JOIN_TITLE_JOIN} %1 %2",
+args0:[{type:"input_dummy"},{type:"input_statement",name:"STACK"}],colour:"%{BKY_TEXTS_HUE}",tooltip:"%{BKY_TEXT_CREATE_JOIN_TOOLTIP}",enableContextMenu:!1},{type:"text_create_join_item",message0:"%{BKY_TEXT_CREATE_JOIN_ITEM_TITLE_ITEM}",previousStatement:null,nextStatement:null,colour:"%{BKY_TEXTS_HUE}",tooltip:"%{BKY_TEXT_CREATE_JOIN_ITEM_TOOLTIP}",enableContextMenu:!1},{type:"text_append",message0:"%{BKY_TEXT_APPEND_TITLE}",args0:[{type:"field_variable",name:"VAR",variable:"%{BKY_TEXT_APPEND_VARIABLE}"},
+{type:"input_value",name:"TEXT"}],previousStatement:null,nextStatement:null,colour:"%{BKY_TEXTS_HUE}",extensions:["text_append_tooltip"]},{type:"text_length",message0:"%{BKY_TEXT_LENGTH_TITLE}",args0:[{type:"input_value",name:"VALUE",check:["String","Array"]}],output:"Number",colour:"%{BKY_TEXTS_HUE}",tooltip:"%{BKY_TEXT_LENGTH_TOOLTIP}",helpUrl:"%{BKY_TEXT_LENGTH_HELPURL}"},{type:"text_isEmpty",message0:"%{BKY_TEXT_ISEMPTY_TITLE}",args0:[{type:"input_value",name:"VALUE",check:["String","Array"]}],
+output:"Boolean",colour:"%{BKY_TEXTS_HUE}",tooltip:"%{BKY_TEXT_ISEMPTY_TOOLTIP}",helpUrl:"%{BKY_TEXT_ISEMPTY_HELPURL}"},{type:"text_indexOf",message0:"%{BKY_TEXT_INDEXOF_TITLE}",args0:[{type:"input_value",name:"VALUE",check:"String"},{type:"field_dropdown",name:"END",options:[["%{BKY_TEXT_INDEXOF_OPERATOR_FIRST}","FIRST"],["%{BKY_TEXT_INDEXOF_OPERATOR_LAST}","LAST"]]},{type:"input_value",name:"FIND",check:"String"}],output:"Number",colour:"%{BKY_TEXTS_HUE}",helpUrl:"%{BKY_TEXT_INDEXOF_HELPURL}",inputsInline:!0,
+extensions:["text_indexOf_tooltip"]},{type:"text_charAt",message0:"%{BKY_TEXT_CHARAT_TITLE}",args0:[{type:"input_value",name:"VALUE",check:"String"},{type:"field_dropdown",name:"WHERE",options:[["%{BKY_TEXT_CHARAT_FROM_START}","FROM_START"],["%{BKY_TEXT_CHARAT_FROM_END}","FROM_END"],["%{BKY_TEXT_CHARAT_FIRST}","FIRST"],["%{BKY_TEXT_CHARAT_LAST}","LAST"],["%{BKY_TEXT_CHARAT_RANDOM}","RANDOM"]]}],output:"String",colour:"%{BKY_TEXTS_HUE}",helpUrl:"%{BKY_TEXT_CHARAT_HELPURL}",inputsInline:!0,mutator:"text_charAt_mutator"}]);
+Blockly.Blocks.text_getSubstring={init:function(){this.WHERE_OPTIONS_1=[[Blockly.Msg.TEXT_GET_SUBSTRING_START_FROM_START,"FROM_START"],[Blockly.Msg.TEXT_GET_SUBSTRING_START_FROM_END,"FROM_END"],[Blockly.Msg.TEXT_GET_SUBSTRING_START_FIRST,"FIRST"]];this.WHERE_OPTIONS_2=[[Blockly.Msg.TEXT_GET_SUBSTRING_END_FROM_START,"FROM_START"],[Blockly.Msg.TEXT_GET_SUBSTRING_END_FROM_END,"FROM_END"],[Blockly.Msg.TEXT_GET_SUBSTRING_END_LAST,"LAST"]];this.setHelpUrl(Blockly.Msg.TEXT_GET_SUBSTRING_HELPURL);this.setColour(Blockly.Msg.TEXTS_HUE);
+this.appendValueInput("STRING").setCheck("String").appendField(Blockly.Msg.TEXT_GET_SUBSTRING_INPUT_IN_TEXT);this.appendDummyInput("AT1");this.appendDummyInput("AT2");Blockly.Msg.TEXT_GET_SUBSTRING_TAIL&&this.appendDummyInput("TAIL").appendField(Blockly.Msg.TEXT_GET_SUBSTRING_TAIL);this.setInputsInline(!0);this.setOutput(!0,"String");this.updateAt_(1,!0);this.updateAt_(2,!0);this.setTooltip(Blockly.Msg.TEXT_GET_SUBSTRING_TOOLTIP)},mutationToDom:function(){var a=document.createElement("mutation"),
+b=this.getInput("AT1").type==Blockly.INPUT_VALUE;a.setAttribute("at1",b);b=this.getInput("AT2").type==Blockly.INPUT_VALUE;a.setAttribute("at2",b);return a},domToMutation:function(a){var b="true"==a.getAttribute("at1");a="true"==a.getAttribute("at2");this.updateAt_(1,b);this.updateAt_(2,a)},updateAt_:function(a,b){this.removeInput("AT"+a);this.removeInput("ORDINAL"+a,!0);b?(this.appendValueInput("AT"+a).setCheck("Number"),Blockly.Msg.ORDINAL_NUMBER_SUFFIX&&this.appendDummyInput("ORDINAL"+a).appendField(Blockly.Msg.ORDINAL_NUMBER_SUFFIX)):
+this.appendDummyInput("AT"+a);2==a&&Blockly.Msg.TEXT_GET_SUBSTRING_TAIL&&(this.removeInput("TAIL",!0),this.appendDummyInput("TAIL").appendField(Blockly.Msg.TEXT_GET_SUBSTRING_TAIL));var c=new Blockly.FieldDropdown(this["WHERE_OPTIONS_"+a],function(c){var d="FROM_START"==c||"FROM_END"==c;if(d!=b){var e=this.sourceBlock_;e.updateAt_(a,d);e.setFieldValue(c,"WHERE"+a);return null}});this.getInput("AT"+a).appendField(c,"WHERE"+a);1==a&&(this.moveInputBefore("AT1","AT2"),this.getInput("ORDINAL1")&&this.moveInputBefore("ORDINAL1",
+"AT2"))}};Blockly.Blocks.text_changeCase={init:function(){var a=[[Blockly.Msg.TEXT_CHANGECASE_OPERATOR_UPPERCASE,"UPPERCASE"],[Blockly.Msg.TEXT_CHANGECASE_OPERATOR_LOWERCASE,"LOWERCASE"],[Blockly.Msg.TEXT_CHANGECASE_OPERATOR_TITLECASE,"TITLECASE"]];this.setHelpUrl(Blockly.Msg.TEXT_CHANGECASE_HELPURL);this.setColour(Blockly.Msg.TEXTS_HUE);this.appendValueInput("TEXT").setCheck("String").appendField(new Blockly.FieldDropdown(a),"CASE");this.setOutput(!0,"String");this.setTooltip(Blockly.Msg.TEXT_CHANGECASE_TOOLTIP)}};
+Blockly.Blocks.text_trim={init:function(){var a=[[Blockly.Msg.TEXT_TRIM_OPERATOR_BOTH,"BOTH"],[Blockly.Msg.TEXT_TRIM_OPERATOR_LEFT,"LEFT"],[Blockly.Msg.TEXT_TRIM_OPERATOR_RIGHT,"RIGHT"]];this.setHelpUrl(Blockly.Msg.TEXT_TRIM_HELPURL);this.setColour(Blockly.Msg.TEXTS_HUE);this.appendValueInput("TEXT").setCheck("String").appendField(new Blockly.FieldDropdown(a),"MODE");this.setOutput(!0,"String");this.setTooltip(Blockly.Msg.TEXT_TRIM_TOOLTIP)}};
+Blockly.Blocks.text_print={init:function(){this.jsonInit({message0:Blockly.Msg.TEXT_PRINT_TITLE,args0:[{type:"input_value",name:"TEXT"}],previousStatement:null,nextStatement:null,colour:Blockly.Msg.TEXTS_HUE,tooltip:Blockly.Msg.TEXT_PRINT_TOOLTIP,helpUrl:Blockly.Msg.TEXT_PRINT_HELPURL})}};
+Blockly.Blocks.text_prompt_ext={init:function(){var a=[[Blockly.Msg.TEXT_PROMPT_TYPE_TEXT,"TEXT"],[Blockly.Msg.TEXT_PROMPT_TYPE_NUMBER,"NUMBER"]];this.setHelpUrl(Blockly.Msg.TEXT_PROMPT_HELPURL);this.setColour(Blockly.Msg.TEXTS_HUE);var b=this;a=new Blockly.FieldDropdown(a,function(a){b.updateType_(a)});this.appendValueInput("TEXT").appendField(a,"TYPE");this.setOutput(!0,"String");this.setTooltip(function(){return"TEXT"==b.getFieldValue("TYPE")?Blockly.Msg.TEXT_PROMPT_TOOLTIP_TEXT:Blockly.Msg.TEXT_PROMPT_TOOLTIP_NUMBER})},
+updateType_:function(a){this.outputConnection.setCheck("NUMBER"==a?"Number":"String")},mutationToDom:function(){var a=document.createElement("mutation");a.setAttribute("type",this.getFieldValue("TYPE"));return a},domToMutation:function(a){this.updateType_(a.getAttribute("type"))}};
+Blockly.Blocks.text_prompt={init:function(){this.mixin(Blockly.Constants.Text.QUOTE_IMAGE_MIXIN);var a=[[Blockly.Msg.TEXT_PROMPT_TYPE_TEXT,"TEXT"],[Blockly.Msg.TEXT_PROMPT_TYPE_NUMBER,"NUMBER"]],b=this;this.setHelpUrl(Blockly.Msg.TEXT_PROMPT_HELPURL);this.setColour(Blockly.Msg.TEXTS_HUE);a=new Blockly.FieldDropdown(a,function(a){b.updateType_(a)});this.appendDummyInput().appendField(a,"TYPE").appendField(this.newQuote_(!0)).appendField(new Blockly.FieldTextInput(""),"TEXT").appendField(this.newQuote_(!1));
+this.setOutput(!0,"String");this.setTooltip(function(){return"TEXT"==b.getFieldValue("TYPE")?Blockly.Msg.TEXT_PROMPT_TOOLTIP_TEXT:Blockly.Msg.TEXT_PROMPT_TOOLTIP_NUMBER})},updateType_:Blockly.Blocks.text_prompt_ext.updateType_,mutationToDom:Blockly.Blocks.text_prompt_ext.mutationToDom,domToMutation:Blockly.Blocks.text_prompt_ext.domToMutation};
+Blockly.Blocks.text_count={init:function(){this.jsonInit({message0:Blockly.Msg.TEXT_COUNT_MESSAGE0,args0:[{type:"input_value",name:"SUB",check:"String"},{type:"input_value",name:"TEXT",check:"String"}],output:"Number",inputsInline:!0,colour:Blockly.Msg.TEXTS_HUE,tooltip:Blockly.Msg.TEXT_COUNT_TOOLTIP,helpUrl:Blockly.Msg.TEXT_COUNT_HELPURL})}};
+Blockly.Blocks.text_replace={init:function(){this.jsonInit({message0:Blockly.Msg.TEXT_REPLACE_MESSAGE0,args0:[{type:"input_value",name:"FROM",check:"String"},{type:"input_value",name:"TO",check:"String"},{type:"input_value",name:"TEXT",check:"String"}],output:"String",inputsInline:!0,colour:Blockly.Msg.TEXTS_HUE,tooltip:Blockly.Msg.TEXT_REPLACE_TOOLTIP,helpUrl:Blockly.Msg.TEXT_REPLACE_HELPURL})}};
+Blockly.Blocks.text_reverse={init:function(){this.jsonInit({message0:Blockly.Msg.TEXT_REVERSE_MESSAGE0,args0:[{type:"input_value",name:"TEXT",check:"String"}],output:"String",inputsInline:!0,colour:Blockly.Msg.TEXTS_HUE,tooltip:Blockly.Msg.TEXT_REVERSE_TOOLTIP,helpUrl:Blockly.Msg.TEXT_REVERSE_HELPURL})}};
+Blockly.Constants.Text.QUOTE_IMAGE_MIXIN={QUOTE_IMAGE_LEFT_DATAURI:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAn0lEQVQI1z3OMa5BURSF4f/cQhAKjUQhuQmFNwGJEUi0RKN5rU7FHKhpjEH3TEMtkdBSCY1EIv8r7nFX9e29V7EBAOvu7RPjwmWGH/VuF8CyN9/OAdvqIXYLvtRaNjx9mMTDyo+NjAN1HNcl9ZQ5oQMM3dgDUqDo1l8DzvwmtZN7mnD+PkmLa+4mhrxVA9fRowBWmVBhFy5gYEjKMfz9AylsaRRgGzvZAAAAAElFTkSuQmCC",QUOTE_IMAGE_RIGHT_DATAURI:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAKCAQAAAAqJXdxAAAAqUlEQVQI1z3KvUpCcRiA8ef9E4JNHhI0aFEacm1o0BsI0Slx8wa8gLauoDnoBhq7DcfWhggONDmJJgqCPA7neJ7p934EOOKOnM8Q7PDElo/4x4lFb2DmuUjcUzS3URnGib9qaPNbuXvBO3sGPHJDRG6fGVdMSeWDP2q99FQdFrz26Gu5Tq7dFMzUvbXy8KXeAj57cOklgA+u1B5AoslLtGIHQMaCVnwDnADZIFIrXsoXrgAAAABJRU5ErkJggg==",
+QUOTE_IMAGE_WIDTH:12,QUOTE_IMAGE_HEIGHT:12,quoteField_:function(a){for(var b=0,c;c=this.inputList[b];b++)for(var e=0,d;d=c.fieldRow[e];e++)if(a==d.name){c.insertFieldAt(e,this.newQuote_(!0));c.insertFieldAt(e+2,this.newQuote_(!1));return}console.warn('field named "'+a+'" not found in '+this.toDevString())},newQuote_:function(a){a=this.RTL?!a:a;return new Blockly.FieldImage(a?this.QUOTE_IMAGE_LEFT_DATAURI:this.QUOTE_IMAGE_RIGHT_DATAURI,this.QUOTE_IMAGE_WIDTH,this.QUOTE_IMAGE_HEIGHT,a?"\u201c":"\u201d")}};
+Blockly.Constants.Text.TEXT_QUOTES_EXTENSION=function(){this.mixin(Blockly.Constants.Text.QUOTE_IMAGE_MIXIN);this.quoteField_("TEXT")};
+Blockly.Constants.Text.TEXT_JOIN_MUTATOR_MIXIN={mutationToDom:function(){var a=document.createElement("mutation");a.setAttribute("items",this.itemCount_);return a},domToMutation:function(a){this.itemCount_=parseInt(a.getAttribute("items"),10);this.updateShape_()},decompose:function(a){var b=a.newBlock("text_create_join_container");b.initSvg();for(var c=b.getInput("STACK").connection,e=0;e<this.itemCount_;e++){var d=a.newBlock("text_create_join_item");d.initSvg();c.connect(d.previousConnection);c=
+d.nextConnection}return b},compose:function(a){var b=a.getInputTargetBlock("STACK");for(a=[];b;)a.push(b.valueConnection_),b=b.nextConnection&&b.nextConnection.targetBlock();for(b=0;b<this.itemCount_;b++){var c=this.getInput("ADD"+b).connection.targetConnection;c&&-1==a.indexOf(c)&&c.disconnect()}this.itemCount_=a.length;this.updateShape_();for(b=0;b<this.itemCount_;b++)Blockly.Mutator.reconnect(a[b],this,"ADD"+b)},saveConnections:function(a){a=a.getInputTargetBlock("STACK");for(var b=0;a;){var c=
+this.getInput("ADD"+b);a.valueConnection_=c&&c.connection.targetConnection;b++;a=a.nextConnection&&a.nextConnection.targetBlock()}},updateShape_:function(){this.itemCount_&&this.getInput("EMPTY")?this.removeInput("EMPTY"):this.itemCount_||this.getInput("EMPTY")||this.appendDummyInput("EMPTY").appendField(this.newQuote_(!0)).appendField(this.newQuote_(!1));for(var a=0;a<this.itemCount_;a++)if(!this.getInput("ADD"+a)){var b=this.appendValueInput("ADD"+a);0==a&&b.appendField(Blockly.Msg.TEXT_JOIN_TITLE_CREATEWITH)}for(;this.getInput("ADD"+
+a);)this.removeInput("ADD"+a),a++}};Blockly.Constants.Text.TEXT_JOIN_EXTENSION=function(){this.mixin(Blockly.Constants.Text.QUOTE_IMAGE_MIXIN);this.itemCount_=2;this.updateShape_();this.setMutator(new Blockly.Mutator(["text_create_join_item"]))};Blockly.Extensions.register("text_append_tooltip",Blockly.Extensions.buildTooltipWithFieldText("%{BKY_TEXT_APPEND_TOOLTIP}","VAR"));
+Blockly.Constants.Text.TEXT_INDEXOF_TOOLTIP_EXTENSION=function(){var a=this;this.setTooltip(function(){return Blockly.Msg.TEXT_INDEXOF_TOOLTIP.replace("%1",a.workspace.options.oneBasedIndex?"0":"-1")})};
+Blockly.Constants.Text.TEXT_CHARAT_MUTATOR_MIXIN={mutationToDom:function(){var a=document.createElement("mutation");a.setAttribute("at",!!this.isAt_);return a},domToMutation:function(a){a="false"!=a.getAttribute("at");this.updateAt_(a)},updateAt_:function(a){this.removeInput("AT",!0);this.removeInput("ORDINAL",!0);a&&(this.appendValueInput("AT").setCheck("Number"),Blockly.Msg.ORDINAL_NUMBER_SUFFIX&&this.appendDummyInput("ORDINAL").appendField(Blockly.Msg.ORDINAL_NUMBER_SUFFIX));Blockly.Msg.TEXT_CHARAT_TAIL&&
+(this.removeInput("TAIL",!0),this.appendDummyInput("TAIL").appendField(Blockly.Msg.TEXT_CHARAT_TAIL));this.isAt_=a}};
+Blockly.Constants.Text.TEXT_CHARAT_EXTENSION=function(){this.getField("WHERE").setValidator(function(a){var b="FROM_START"==a||"FROM_END"==a;if(b!=this.isAt_){var e=this.sourceBlock_;e.updateAt_(b);e.setFieldValue(a,"WHERE");return null}});this.updateAt_(!0);var a=this;this.setTooltip(function(){var b=a.getFieldValue("WHERE"),c=Blockly.Msg.TEXT_CHARAT_TOOLTIP;("FROM_START"==b||"FROM_END"==b)&&(b="FROM_START"==b?Blockly.Msg.LISTS_INDEX_FROM_START_TOOLTIP:Blockly.Msg.LISTS_INDEX_FROM_END_TOOLTIP)&&
+(c+="  "+b.replace("%1",a.workspace.options.oneBasedIndex?"#1":"#0"));return c})};Blockly.Extensions.register("text_indexOf_tooltip",Blockly.Constants.Text.TEXT_INDEXOF_TOOLTIP_EXTENSION);Blockly.Extensions.register("text_quotes",Blockly.Constants.Text.TEXT_QUOTES_EXTENSION);Blockly.Extensions.registerMutator("text_join_mutator",Blockly.Constants.Text.TEXT_JOIN_MUTATOR_MIXIN,Blockly.Constants.Text.TEXT_JOIN_EXTENSION);
+Blockly.Extensions.registerMutator("text_charAt_mutator",Blockly.Constants.Text.TEXT_CHARAT_MUTATOR_MIXIN,Blockly.Constants.Text.TEXT_CHARAT_EXTENSION);Blockly.Blocks.variables={};Blockly.Constants.Variables={};Blockly.Constants.Variables.HUE=330;
+Blockly.defineBlocksWithJsonArray([{type:"variables_get",message0:"%1",args0:[{type:"field_variable",name:"VAR",variable:"%{BKY_VARIABLES_DEFAULT_NAME}"}],output:null,colour:"%{BKY_VARIABLES_HUE}",helpUrl:"%{BKY_VARIABLES_GET_HELPURL}",tooltip:"%{BKY_VARIABLES_GET_TOOLTIP}",extensions:["contextMenu_variableSetterGetter"]},{type:"variables_set",message0:"%{BKY_VARIABLES_SET}",args0:[{type:"field_variable",name:"VAR",variable:"%{BKY_VARIABLES_DEFAULT_NAME}"},{type:"input_value",name:"VALUE"}],previousStatement:null,
+nextStatement:null,colour:"%{BKY_VARIABLES_HUE}",tooltip:"%{BKY_VARIABLES_SET_TOOLTIP}",helpUrl:"%{BKY_VARIABLES_SET_HELPURL}",extensions:["contextMenu_variableSetterGetter"]}]);
+Blockly.Constants.Variables.CUSTOM_CONTEXT_MENU_VARIABLE_GETTER_SETTER_MIXIN={customContextMenu:function(a){if(!this.isInFlyout){if("variables_get"==this.type)var b="variables_set",c=Blockly.Msg.VARIABLES_GET_CREATE_SET;else b="variables_get",c=Blockly.Msg.VARIABLES_SET_CREATE_GET;var e={enabled:0<this.workspace.remainingCapacity()},d=this.getField("VAR").getText();e.text=c.replace("%1",d);c=document.createElement("field");c.setAttribute("name","VAR");c.appendChild(document.createTextNode(d));d=document.createElement("block");
+d.setAttribute("type",b);d.appendChild(c);e.callback=Blockly.ContextMenu.callbackFactory(this,d);a.push(e)}}};Blockly.Extensions.registerMixin("contextMenu_variableSetterGetter",Blockly.Constants.Variables.CUSTOM_CONTEXT_MENU_VARIABLE_GETTER_SETTER_MIXIN);
+Blockly.Constants.VariablesDynamic={};Blockly.Constants.VariablesDynamic.HUE=310;
+Blockly.defineBlocksWithJsonArray([{type:"variables_get_dynamic",message0:"%1",args0:[{type:"field_variable",name:"VAR",variable:"%{BKY_VARIABLES_DEFAULT_NAME}"}],output:null,colour:"%{BKY_VARIABLES_DYNAMIC_HUE}",helpUrl:"%{BKY_VARIABLES_GET_HELPURL}",tooltip:"%{BKY_VARIABLES_GET_TOOLTIP}",extensions:["contextMenu_variableDynamicSetterGetter"]},{type:"variables_set_dynamic",message0:"%{BKY_VARIABLES_SET}",args0:[{type:"field_variable",name:"VAR",variable:"%{BKY_VARIABLES_DEFAULT_NAME}"},{type:"input_value",
+name:"VALUE"}],previousStatement:null,nextStatement:null,colour:"%{BKY_VARIABLES_DYNAMIC_HUE}",tooltip:"%{BKY_VARIABLES_SET_TOOLTIP}",helpUrl:"%{BKY_VARIABLES_SET_HELPURL}",extensions:["contextMenu_variableDynamicSetterGetter"]}]);
+Blockly.Constants.VariablesDynamic.CUSTOM_CONTEXT_MENU_VARIABLE_GETTER_SETTER_MIXIN={customContextMenu:function(a){if(!this.isInFlyout){if("variables_get_dynamic"==this.type){var b="variables_set_dynamic";var c=Blockly.Msg.VARIABLES_GET_CREATE_SET}else b="variables_get_dynamic",c=Blockly.Msg.VARIABLES_SET_CREATE_GET;var e={enabled:0<this.workspace.remainingCapacity()},d=this.getField("VAR").getText();e.text=c.replace("%1",d);c=document.createElement("field");c.setAttribute("name","VAR");c.appendChild(document.createTextNode(d));
+d=document.createElement("block");d.setAttribute("type",b);d.appendChild(c);e.callback=Blockly.ContextMenu.callbackFactory(this,d);a.push(e)}},onchange:function(){var a=this.getFieldValue("VAR");a=this.workspace.getVariableById(a);"variables_get_dynamic"==this.type?this.outputConnection.setCheck(a.type):this.getInput("VALUE").connection.setCheck(a.type)}};Blockly.Extensions.registerMixin("contextMenu_variableDynamicSetterGetter",Blockly.Constants.VariablesDynamic.CUSTOM_CONTEXT_MENU_VARIABLE_GETTER_SETTER_MIXIN);
\ No newline at end of file
diff --git a/js/javascript_compressed.js b/js/javascript_compressed.js
new file mode 100644 (file)
index 0000000..902e5c2
--- /dev/null
@@ -0,0 +1,95 @@
+// Do not edit this file; automatically generated by build.py.
+'use strict';
+
+
+Blockly.JavaScript=new Blockly.Generator("JavaScript");Blockly.JavaScript.addReservedWords("Blockly,break,case,catch,continue,debugger,default,delete,do,else,finally,for,function,if,in,instanceof,new,return,switch,this,throw,try,typeof,var,void,while,with,class,enum,export,extends,import,super,implements,interface,let,package,private,protected,public,static,yield,const,null,true,false,Array,ArrayBuffer,Boolean,Date,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Error,eval,EvalError,Float32Array,Float64Array,Function,Infinity,Int16Array,Int32Array,Int8Array,isFinite,isNaN,Iterator,JSON,Math,NaN,Number,Object,parseFloat,parseInt,RangeError,ReferenceError,RegExp,StopIteration,String,SyntaxError,TypeError,Uint16Array,Uint32Array,Uint8Array,Uint8ClampedArray,undefined,uneval,URIError,applicationCache,closed,Components,content,_content,controllers,crypto,defaultStatus,dialogArguments,directories,document,frameElement,frames,fullScreen,globalStorage,history,innerHeight,innerWidth,length,location,locationbar,localStorage,menubar,messageManager,mozAnimationStartTime,mozInnerScreenX,mozInnerScreenY,mozPaintCount,name,navigator,opener,outerHeight,outerWidth,pageXOffset,pageYOffset,parent,performance,personalbar,pkcs11,returnValue,screen,screenX,screenY,scrollbars,scrollMaxX,scrollMaxY,scrollX,scrollY,self,sessionStorage,sidebar,status,statusbar,toolbar,top,URL,window,addEventListener,alert,atob,back,blur,btoa,captureEvents,clearImmediate,clearInterval,clearTimeout,close,confirm,disableExternalCapture,dispatchEvent,dump,enableExternalCapture,escape,find,focus,forward,GeckoActiveXObject,getAttention,getAttentionWithCycleCount,getComputedStyle,getSelection,home,matchMedia,maximize,minimize,moveBy,moveTo,mozRequestAnimationFrame,open,openDialog,postMessage,print,prompt,QueryInterface,releaseEvents,removeEventListener,resizeBy,resizeTo,restore,routeEvent,scroll,scrollBy,scrollByLines,scrollByPages,scrollTo,setCursor,setImmediate,setInterval,setResizable,setTimeout,showModalDialog,sizeToContent,stop,unescape,updateCommands,XPCNativeWrapper,XPCSafeJSObjectWrapper,onabort,onbeforeunload,onblur,onchange,onclick,onclose,oncontextmenu,ondevicemotion,ondeviceorientation,ondragdrop,onerror,onfocus,onhashchange,onkeydown,onkeypress,onkeyup,onload,onmousedown,onmousemove,onmouseout,onmouseover,onmouseup,onmozbeforepaint,onpaint,onpopstate,onreset,onresize,onscroll,onselect,onsubmit,onunload,onpageshow,onpagehide,Image,Option,Worker,Event,Range,File,FileReader,Blob,BlobBuilder,Attr,CDATASection,CharacterData,Comment,console,DocumentFragment,DocumentType,DomConfiguration,DOMError,DOMErrorHandler,DOMException,DOMImplementation,DOMImplementationList,DOMImplementationRegistry,DOMImplementationSource,DOMLocator,DOMObject,DOMString,DOMStringList,DOMTimeStamp,DOMUserData,Entity,EntityReference,MediaQueryList,MediaQueryListListener,NameList,NamedNodeMap,Node,NodeFilter,NodeIterator,NodeList,Notation,Plugin,PluginArray,ProcessingInstruction,SharedWorker,Text,TimeRanges,Treewalker,TypeInfo,UserDataHandler,Worker,WorkerGlobalScope,HTMLDocument,HTMLElement,HTMLAnchorElement,HTMLAppletElement,HTMLAudioElement,HTMLAreaElement,HTMLBaseElement,HTMLBaseFontElement,HTMLBodyElement,HTMLBRElement,HTMLButtonElement,HTMLCanvasElement,HTMLDirectoryElement,HTMLDivElement,HTMLDListElement,HTMLEmbedElement,HTMLFieldSetElement,HTMLFontElement,HTMLFormElement,HTMLFrameElement,HTMLFrameSetElement,HTMLHeadElement,HTMLHeadingElement,HTMLHtmlElement,HTMLHRElement,HTMLIFrameElement,HTMLImageElement,HTMLInputElement,HTMLKeygenElement,HTMLLabelElement,HTMLLIElement,HTMLLinkElement,HTMLMapElement,HTMLMenuElement,HTMLMetaElement,HTMLModElement,HTMLObjectElement,HTMLOListElement,HTMLOptGroupElement,HTMLOptionElement,HTMLOutputElement,HTMLParagraphElement,HTMLParamElement,HTMLPreElement,HTMLQuoteElement,HTMLScriptElement,HTMLSelectElement,HTMLSourceElement,HTMLSpanElement,HTMLStyleElement,HTMLTableElement,HTMLTableCaptionElement,HTMLTableCellElement,HTMLTableDataCellElement,HTMLTableHeaderCellElement,HTMLTableColElement,HTMLTableRowElement,HTMLTableSectionElement,HTMLTextAreaElement,HTMLTimeElement,HTMLTitleElement,HTMLTrackElement,HTMLUListElement,HTMLUnknownElement,HTMLVideoElement,HTMLCanvasElement,CanvasRenderingContext2D,CanvasGradient,CanvasPattern,TextMetrics,ImageData,CanvasPixelArray,HTMLAudioElement,HTMLVideoElement,NotifyAudioAvailableEvent,HTMLCollection,HTMLAllCollection,HTMLFormControlsCollection,HTMLOptionsCollection,HTMLPropertiesCollection,DOMTokenList,DOMSettableTokenList,DOMStringMap,RadioNodeList,SVGDocument,SVGElement,SVGAElement,SVGAltGlyphElement,SVGAltGlyphDefElement,SVGAltGlyphItemElement,SVGAnimationElement,SVGAnimateElement,SVGAnimateColorElement,SVGAnimateMotionElement,SVGAnimateTransformElement,SVGSetElement,SVGCircleElement,SVGClipPathElement,SVGColorProfileElement,SVGCursorElement,SVGDefsElement,SVGDescElement,SVGEllipseElement,SVGFilterElement,SVGFilterPrimitiveStandardAttributes,SVGFEBlendElement,SVGFEColorMatrixElement,SVGFEComponentTransferElement,SVGFECompositeElement,SVGFEConvolveMatrixElement,SVGFEDiffuseLightingElement,SVGFEDisplacementMapElement,SVGFEDistantLightElement,SVGFEFloodElement,SVGFEGaussianBlurElement,SVGFEImageElement,SVGFEMergeElement,SVGFEMergeNodeElement,SVGFEMorphologyElement,SVGFEOffsetElement,SVGFEPointLightElement,SVGFESpecularLightingElement,SVGFESpotLightElement,SVGFETileElement,SVGFETurbulenceElement,SVGComponentTransferFunctionElement,SVGFEFuncRElement,SVGFEFuncGElement,SVGFEFuncBElement,SVGFEFuncAElement,SVGFontElement,SVGFontFaceElement,SVGFontFaceFormatElement,SVGFontFaceNameElement,SVGFontFaceSrcElement,SVGFontFaceUriElement,SVGForeignObjectElement,SVGGElement,SVGGlyphElement,SVGGlyphRefElement,SVGGradientElement,SVGLinearGradientElement,SVGRadialGradientElement,SVGHKernElement,SVGImageElement,SVGLineElement,SVGMarkerElement,SVGMaskElement,SVGMetadataElement,SVGMissingGlyphElement,SVGMPathElement,SVGPathElement,SVGPatternElement,SVGPolylineElement,SVGPolygonElement,SVGRectElement,SVGScriptElement,SVGStopElement,SVGStyleElement,SVGSVGElement,SVGSwitchElement,SVGSymbolElement,SVGTextElement,SVGTextPathElement,SVGTitleElement,SVGTRefElement,SVGTSpanElement,SVGUseElement,SVGViewElement,SVGVKernElement,SVGAngle,SVGColor,SVGICCColor,SVGElementInstance,SVGElementInstanceList,SVGLength,SVGLengthList,SVGMatrix,SVGNumber,SVGNumberList,SVGPaint,SVGPoint,SVGPointList,SVGPreserveAspectRatio,SVGRect,SVGStringList,SVGTransform,SVGTransformList,SVGAnimatedAngle,SVGAnimatedBoolean,SVGAnimatedEnumeration,SVGAnimatedInteger,SVGAnimatedLength,SVGAnimatedLengthList,SVGAnimatedNumber,SVGAnimatedNumberList,SVGAnimatedPreserveAspectRatio,SVGAnimatedRect,SVGAnimatedString,SVGAnimatedTransformList,SVGPathSegList,SVGPathSeg,SVGPathSegArcAbs,SVGPathSegArcRel,SVGPathSegClosePath,SVGPathSegCurvetoCubicAbs,SVGPathSegCurvetoCubicRel,SVGPathSegCurvetoCubicSmoothAbs,SVGPathSegCurvetoCubicSmoothRel,SVGPathSegCurvetoQuadraticAbs,SVGPathSegCurvetoQuadraticRel,SVGPathSegCurvetoQuadraticSmoothAbs,SVGPathSegCurvetoQuadraticSmoothRel,SVGPathSegLinetoAbs,SVGPathSegLinetoHorizontalAbs,SVGPathSegLinetoHorizontalRel,SVGPathSegLinetoRel,SVGPathSegLinetoVerticalAbs,SVGPathSegLinetoVerticalRel,SVGPathSegMovetoAbs,SVGPathSegMovetoRel,ElementTimeControl,TimeEvent,SVGAnimatedPathData,SVGAnimatedPoints,SVGColorProfileRule,SVGCSSRule,SVGExternalResourcesRequired,SVGFitToViewBox,SVGLangSpace,SVGLocatable,SVGRenderingIntent,SVGStylable,SVGTests,SVGTextContentElement,SVGTextPositioningElement,SVGTransformable,SVGUnitTypes,SVGURIReference,SVGViewSpec,SVGZoomAndPan");
+Blockly.JavaScript.ORDER_ATOMIC=0;Blockly.JavaScript.ORDER_NEW=1.1;Blockly.JavaScript.ORDER_MEMBER=1.2;Blockly.JavaScript.ORDER_FUNCTION_CALL=2;Blockly.JavaScript.ORDER_INCREMENT=3;Blockly.JavaScript.ORDER_DECREMENT=3;Blockly.JavaScript.ORDER_BITWISE_NOT=4.1;Blockly.JavaScript.ORDER_UNARY_PLUS=4.2;Blockly.JavaScript.ORDER_UNARY_NEGATION=4.3;Blockly.JavaScript.ORDER_LOGICAL_NOT=4.4;Blockly.JavaScript.ORDER_TYPEOF=4.5;Blockly.JavaScript.ORDER_VOID=4.6;Blockly.JavaScript.ORDER_DELETE=4.7;
+Blockly.JavaScript.ORDER_AWAIT=4.8;Blockly.JavaScript.ORDER_EXPONENTIATION=5;Blockly.JavaScript.ORDER_MULTIPLICATION=5.1;Blockly.JavaScript.ORDER_DIVISION=5.2;Blockly.JavaScript.ORDER_MODULUS=5.3;Blockly.JavaScript.ORDER_SUBTRACTION=6.1;Blockly.JavaScript.ORDER_ADDITION=6.2;Blockly.JavaScript.ORDER_BITWISE_SHIFT=7;Blockly.JavaScript.ORDER_RELATIONAL=8;Blockly.JavaScript.ORDER_IN=8;Blockly.JavaScript.ORDER_INSTANCEOF=8;Blockly.JavaScript.ORDER_EQUALITY=9;Blockly.JavaScript.ORDER_BITWISE_AND=10;
+Blockly.JavaScript.ORDER_BITWISE_XOR=11;Blockly.JavaScript.ORDER_BITWISE_OR=12;Blockly.JavaScript.ORDER_LOGICAL_AND=13;Blockly.JavaScript.ORDER_LOGICAL_OR=14;Blockly.JavaScript.ORDER_CONDITIONAL=15;Blockly.JavaScript.ORDER_ASSIGNMENT=16;Blockly.JavaScript.ORDER_YIELD=17;Blockly.JavaScript.ORDER_COMMA=18;Blockly.JavaScript.ORDER_NONE=99;
+Blockly.JavaScript.ORDER_OVERRIDES=[[Blockly.JavaScript.ORDER_FUNCTION_CALL,Blockly.JavaScript.ORDER_MEMBER],[Blockly.JavaScript.ORDER_FUNCTION_CALL,Blockly.JavaScript.ORDER_FUNCTION_CALL],[Blockly.JavaScript.ORDER_MEMBER,Blockly.JavaScript.ORDER_MEMBER],[Blockly.JavaScript.ORDER_MEMBER,Blockly.JavaScript.ORDER_FUNCTION_CALL],[Blockly.JavaScript.ORDER_LOGICAL_NOT,Blockly.JavaScript.ORDER_LOGICAL_NOT],[Blockly.JavaScript.ORDER_MULTIPLICATION,Blockly.JavaScript.ORDER_MULTIPLICATION],[Blockly.JavaScript.ORDER_ADDITION,
+Blockly.JavaScript.ORDER_ADDITION],[Blockly.JavaScript.ORDER_LOGICAL_AND,Blockly.JavaScript.ORDER_LOGICAL_AND],[Blockly.JavaScript.ORDER_LOGICAL_OR,Blockly.JavaScript.ORDER_LOGICAL_OR]];
+Blockly.JavaScript.init=function(a){Blockly.JavaScript.definitions_=Object.create(null);Blockly.JavaScript.functionNames_=Object.create(null);Blockly.JavaScript.variableDB_?Blockly.JavaScript.variableDB_.reset():Blockly.JavaScript.variableDB_=new Blockly.Names(Blockly.JavaScript.RESERVED_WORDS_);Blockly.JavaScript.variableDB_.setVariableMap(a.getVariableMap());for(var b=[],c=Blockly.Variables.allDeveloperVariables(a),d=0;d<c.length;d++)b.push(Blockly.JavaScript.variableDB_.getName(c[d],Blockly.Names.DEVELOPER_VARIABLE_TYPE));
+a=Blockly.Variables.allUsedVarModels(a);for(d=0;d<a.length;d++)b.push(Blockly.JavaScript.variableDB_.getName(a[d].getId(),Blockly.Variables.NAME_TYPE));b.length&&(Blockly.JavaScript.definitions_.variables="var "+b.join(", ")+";")};
+Blockly.JavaScript.finish=function(a){var b=[],c;for(c in Blockly.JavaScript.definitions_)b.push(Blockly.JavaScript.definitions_[c]);delete Blockly.JavaScript.definitions_;delete Blockly.JavaScript.functionNames_;Blockly.JavaScript.variableDB_.reset();return b.join("\n\n")+"\n\n\n"+a};Blockly.JavaScript.scrubNakedValue=function(a){return a+";\n"};Blockly.JavaScript.quote_=function(a){a=a.replace(/\\/g,"\\\\").replace(/\n/g,"\\\n").replace(/'/g,"\\'");return"'"+a+"'"};
+Blockly.JavaScript.scrub_=function(a,b){var c="";if(!a.outputConnection||!a.outputConnection.targetConnection){var d=a.getCommentText();(d=Blockly.utils.wrap(d,Blockly.JavaScript.COMMENT_WRAP-3))&&(c=a.getProcedureDef?c+("/**\n"+Blockly.JavaScript.prefixLines(d+"\n"," * ")+" */\n"):c+Blockly.JavaScript.prefixLines(d+"\n","// "));for(var e=0;e<a.inputList.length;e++)a.inputList[e].type==Blockly.INPUT_VALUE&&(d=a.inputList[e].connection.targetBlock())&&(d=Blockly.JavaScript.allNestedComments(d))&&(c+=
+Blockly.JavaScript.prefixLines(d,"// "))}e=a.nextConnection&&a.nextConnection.targetBlock();e=Blockly.JavaScript.blockToCode(e);return c+b+e};
+Blockly.JavaScript.getAdjusted=function(a,b,c,d,e){c=c||0;e=e||Blockly.JavaScript.ORDER_NONE;a.workspace.options.oneBasedIndex&&c--;var f=a.workspace.options.oneBasedIndex?"1":"0";a=0<c?Blockly.JavaScript.valueToCode(a,b,Blockly.JavaScript.ORDER_ADDITION)||f:0>c?Blockly.JavaScript.valueToCode(a,b,Blockly.JavaScript.ORDER_SUBTRACTION)||f:d?Blockly.JavaScript.valueToCode(a,b,Blockly.JavaScript.ORDER_UNARY_NEGATION)||f:Blockly.JavaScript.valueToCode(a,b,e)||f;if(Blockly.isNumber(a))a=parseFloat(a)+c,
+d&&(a=-a);else{if(0<c){a=a+" + "+c;var g=Blockly.JavaScript.ORDER_ADDITION}else 0>c&&(a=a+" - "+-c,g=Blockly.JavaScript.ORDER_SUBTRACTION);d&&(a=c?"-("+a+")":"-"+a,g=Blockly.JavaScript.ORDER_UNARY_NEGATION);g=Math.floor(g);e=Math.floor(e);g&&e>=g&&(a="("+a+")")}return a};Blockly.JavaScript.colour={};Blockly.JavaScript.colour_picker=function(a){return["'"+a.getFieldValue("COLOUR")+"'",Blockly.JavaScript.ORDER_ATOMIC]};Blockly.JavaScript.colour_random=function(a){return[Blockly.JavaScript.provideFunction_("colourRandom",["function "+Blockly.JavaScript.FUNCTION_NAME_PLACEHOLDER_+"() {","  var num = Math.floor(Math.random() * Math.pow(2, 24));","  return '#' + ('00000' + num.toString(16)).substr(-6);","}"])+"()",Blockly.JavaScript.ORDER_FUNCTION_CALL]};
+Blockly.JavaScript.colour_rgb=function(a){var b=Blockly.JavaScript.valueToCode(a,"RED",Blockly.JavaScript.ORDER_COMMA)||0,c=Blockly.JavaScript.valueToCode(a,"GREEN",Blockly.JavaScript.ORDER_COMMA)||0;a=Blockly.JavaScript.valueToCode(a,"BLUE",Blockly.JavaScript.ORDER_COMMA)||0;return[Blockly.JavaScript.provideFunction_("colourRgb",["function "+Blockly.JavaScript.FUNCTION_NAME_PLACEHOLDER_+"(r, g, b) {","  r = Math.max(Math.min(Number(r), 100), 0) * 2.55;","  g = Math.max(Math.min(Number(g), 100), 0) * 2.55;",
+"  b = Math.max(Math.min(Number(b), 100), 0) * 2.55;","  r = ('0' + (Math.round(r) || 0).toString(16)).slice(-2);","  g = ('0' + (Math.round(g) || 0).toString(16)).slice(-2);","  b = ('0' + (Math.round(b) || 0).toString(16)).slice(-2);","  return '#' + r + g + b;","}"])+"("+b+", "+c+", "+a+")",Blockly.JavaScript.ORDER_FUNCTION_CALL]};
+Blockly.JavaScript.colour_blend=function(a){var b=Blockly.JavaScript.valueToCode(a,"COLOUR1",Blockly.JavaScript.ORDER_COMMA)||"'#000000'",c=Blockly.JavaScript.valueToCode(a,"COLOUR2",Blockly.JavaScript.ORDER_COMMA)||"'#000000'";a=Blockly.JavaScript.valueToCode(a,"RATIO",Blockly.JavaScript.ORDER_COMMA)||.5;return[Blockly.JavaScript.provideFunction_("colourBlend",["function "+Blockly.JavaScript.FUNCTION_NAME_PLACEHOLDER_+"(c1, c2, ratio) {","  ratio = Math.max(Math.min(Number(ratio), 1), 0);","  var r1 = parseInt(c1.substring(1, 3), 16);",
+"  var g1 = parseInt(c1.substring(3, 5), 16);","  var b1 = parseInt(c1.substring(5, 7), 16);","  var r2 = parseInt(c2.substring(1, 3), 16);","  var g2 = parseInt(c2.substring(3, 5), 16);","  var b2 = parseInt(c2.substring(5, 7), 16);","  var r = Math.round(r1 * (1 - ratio) + r2 * ratio);","  var g = Math.round(g1 * (1 - ratio) + g2 * ratio);","  var b = Math.round(b1 * (1 - ratio) + b2 * ratio);","  r = ('0' + (r || 0).toString(16)).slice(-2);","  g = ('0' + (g || 0).toString(16)).slice(-2);","  b = ('0' + (b || 0).toString(16)).slice(-2);",
+"  return '#' + r + g + b;","}"])+"("+b+", "+c+", "+a+")",Blockly.JavaScript.ORDER_FUNCTION_CALL]};Blockly.JavaScript.lists={};Blockly.JavaScript.lists_create_empty=function(a){return["[]",Blockly.JavaScript.ORDER_ATOMIC]};Blockly.JavaScript.lists_create_with=function(a){for(var b=Array(a.itemCount_),c=0;c<a.itemCount_;c++)b[c]=Blockly.JavaScript.valueToCode(a,"ADD"+c,Blockly.JavaScript.ORDER_COMMA)||"null";return["["+b.join(", ")+"]",Blockly.JavaScript.ORDER_ATOMIC]};
+Blockly.JavaScript.lists_repeat=function(a){var b=Blockly.JavaScript.provideFunction_("listsRepeat",["function "+Blockly.JavaScript.FUNCTION_NAME_PLACEHOLDER_+"(value, n) {","  var array = [];","  for (var i = 0; i < n; i++) {","    array[i] = value;","  }","  return array;","}"]),c=Blockly.JavaScript.valueToCode(a,"ITEM",Blockly.JavaScript.ORDER_COMMA)||"null";a=Blockly.JavaScript.valueToCode(a,"NUM",Blockly.JavaScript.ORDER_COMMA)||"0";return[b+"("+c+", "+a+")",Blockly.JavaScript.ORDER_FUNCTION_CALL]};
+Blockly.JavaScript.lists_length=function(a){return[(Blockly.JavaScript.valueToCode(a,"VALUE",Blockly.JavaScript.ORDER_MEMBER)||"[]")+".length",Blockly.JavaScript.ORDER_MEMBER]};Blockly.JavaScript.lists_isEmpty=function(a){return["!"+(Blockly.JavaScript.valueToCode(a,"VALUE",Blockly.JavaScript.ORDER_MEMBER)||"[]")+".length",Blockly.JavaScript.ORDER_LOGICAL_NOT]};
+Blockly.JavaScript.lists_indexOf=function(a){var b="FIRST"==a.getFieldValue("END")?"indexOf":"lastIndexOf",c=Blockly.JavaScript.valueToCode(a,"FIND",Blockly.JavaScript.ORDER_NONE)||"''";b=(Blockly.JavaScript.valueToCode(a,"VALUE",Blockly.JavaScript.ORDER_MEMBER)||"[]")+"."+b+"("+c+")";return a.workspace.options.oneBasedIndex?[b+" + 1",Blockly.JavaScript.ORDER_ADDITION]:[b,Blockly.JavaScript.ORDER_FUNCTION_CALL]};
+Blockly.JavaScript.lists_getIndex=function(a){var b=a.getFieldValue("MODE")||"GET",c=a.getFieldValue("WHERE")||"FROM_START",d=Blockly.JavaScript.valueToCode(a,"VALUE","RANDOM"==c?Blockly.JavaScript.ORDER_COMMA:Blockly.JavaScript.ORDER_MEMBER)||"[]";switch(c){case "FIRST":if("GET"==b)return[d+"[0]",Blockly.JavaScript.ORDER_MEMBER];if("GET_REMOVE"==b)return[d+".shift()",Blockly.JavaScript.ORDER_MEMBER];if("REMOVE"==b)return d+".shift();\n";break;case "LAST":if("GET"==b)return[d+".slice(-1)[0]",Blockly.JavaScript.ORDER_MEMBER];
+if("GET_REMOVE"==b)return[d+".pop()",Blockly.JavaScript.ORDER_MEMBER];if("REMOVE"==b)return d+".pop();\n";break;case "FROM_START":a=Blockly.JavaScript.getAdjusted(a,"AT");if("GET"==b)return[d+"["+a+"]",Blockly.JavaScript.ORDER_MEMBER];if("GET_REMOVE"==b)return[d+".splice("+a+", 1)[0]",Blockly.JavaScript.ORDER_FUNCTION_CALL];if("REMOVE"==b)return d+".splice("+a+", 1);\n";break;case "FROM_END":a=Blockly.JavaScript.getAdjusted(a,"AT",1,!0);if("GET"==b)return[d+".slice("+a+")[0]",Blockly.JavaScript.ORDER_FUNCTION_CALL];
+if("GET_REMOVE"==b)return[d+".splice("+a+", 1)[0]",Blockly.JavaScript.ORDER_FUNCTION_CALL];if("REMOVE"==b)return d+".splice("+a+", 1);";break;case "RANDOM":d=Blockly.JavaScript.provideFunction_("listsGetRandomItem",["function "+Blockly.JavaScript.FUNCTION_NAME_PLACEHOLDER_+"(list, remove) {","  var x = Math.floor(Math.random() * list.length);","  if (remove) {","    return list.splice(x, 1)[0];","  } else {","    return list[x];","  }","}"])+"("+d+", "+("GET"!=b)+")";if("GET"==b||"GET_REMOVE"==b)return[d,
+Blockly.JavaScript.ORDER_FUNCTION_CALL];if("REMOVE"==b)return d+";\n"}throw Error("Unhandled combination (lists_getIndex).");};
+Blockly.JavaScript.lists_setIndex=function(a){function b(){if(c.match(/^\w+$/))return"";var a=Blockly.JavaScript.variableDB_.getDistinctName("tmpList",Blockly.Variables.NAME_TYPE),b="var "+a+" = "+c+";\n";c=a;return b}var c=Blockly.JavaScript.valueToCode(a,"LIST",Blockly.JavaScript.ORDER_MEMBER)||"[]",d=a.getFieldValue("MODE")||"GET",e=a.getFieldValue("WHERE")||"FROM_START",f=Blockly.JavaScript.valueToCode(a,"TO",Blockly.JavaScript.ORDER_ASSIGNMENT)||"null";switch(e){case "FIRST":if("SET"==d)return c+
+"[0] = "+f+";\n";if("INSERT"==d)return c+".unshift("+f+");\n";break;case "LAST":if("SET"==d)return a=b(),a+(c+"["+c+".length - 1] = "+f+";\n");if("INSERT"==d)return c+".push("+f+");\n";break;case "FROM_START":e=Blockly.JavaScript.getAdjusted(a,"AT");if("SET"==d)return c+"["+e+"] = "+f+";\n";if("INSERT"==d)return c+".splice("+e+", 0, "+f+");\n";break;case "FROM_END":e=Blockly.JavaScript.getAdjusted(a,"AT",1,!1,Blockly.JavaScript.ORDER_SUBTRACTION);a=b();if("SET"==d)return a+(c+"["+c+".length - "+e+
+"] = "+f+";\n");if("INSERT"==d)return a+(c+".splice("+c+".length - "+e+", 0, "+f+");\n");break;case "RANDOM":a=b();e=Blockly.JavaScript.variableDB_.getDistinctName("tmpX",Blockly.Variables.NAME_TYPE);a+="var "+e+" = Math.floor(Math.random() * "+c+".length);\n";if("SET"==d)return a+(c+"["+e+"] = "+f+";\n");if("INSERT"==d)return a+(c+".splice("+e+", 0, "+f+");\n")}throw Error("Unhandled combination (lists_setIndex).");};
+Blockly.JavaScript.lists.getIndex_=function(a,b,c){return"FIRST"==b?"0":"FROM_END"==b?a+".length - 1 - "+c:"LAST"==b?a+".length - 1":c};
+Blockly.JavaScript.lists_getSublist=function(a){var b=Blockly.JavaScript.valueToCode(a,"LIST",Blockly.JavaScript.ORDER_MEMBER)||"[]",c=a.getFieldValue("WHERE1"),d=a.getFieldValue("WHERE2");if("FIRST"==c&&"LAST"==d)b+=".slice(0)";else if(b.match(/^\w+$/)||"FROM_END"!=c&&"FROM_START"==d){switch(c){case "FROM_START":var e=Blockly.JavaScript.getAdjusted(a,"AT1");break;case "FROM_END":e=Blockly.JavaScript.getAdjusted(a,"AT1",1,!1,Blockly.JavaScript.ORDER_SUBTRACTION);e=b+".length - "+e;break;case "FIRST":e=
+"0";break;default:throw Error("Unhandled option (lists_getSublist).");}switch(d){case "FROM_START":a=Blockly.JavaScript.getAdjusted(a,"AT2",1);break;case "FROM_END":a=Blockly.JavaScript.getAdjusted(a,"AT2",0,!1,Blockly.JavaScript.ORDER_SUBTRACTION);a=b+".length - "+a;break;case "LAST":a=b+".length";break;default:throw Error("Unhandled option (lists_getSublist).");}b=b+".slice("+e+", "+a+")"}else{e=Blockly.JavaScript.getAdjusted(a,"AT1");a=Blockly.JavaScript.getAdjusted(a,"AT2");var f=Blockly.JavaScript.lists.getIndex_,
+g={FIRST:"First",LAST:"Last",FROM_START:"FromStart",FROM_END:"FromEnd"};b=Blockly.JavaScript.provideFunction_("subsequence"+g[c]+g[d],["function "+Blockly.JavaScript.FUNCTION_NAME_PLACEHOLDER_+"(sequence"+("FROM_END"==c||"FROM_START"==c?", at1":"")+("FROM_END"==d||"FROM_START"==d?", at2":"")+") {","  var start = "+f("sequence",c,"at1")+";","  var end = "+f("sequence",d,"at2")+" + 1;","  return sequence.slice(start, end);","}"])+"("+b+("FROM_END"==c||"FROM_START"==c?", "+e:"")+("FROM_END"==d||"FROM_START"==
+d?", "+a:"")+")"}return[b,Blockly.JavaScript.ORDER_FUNCTION_CALL]};
+Blockly.JavaScript.lists_sort=function(a){var b=Blockly.JavaScript.valueToCode(a,"LIST",Blockly.JavaScript.ORDER_FUNCTION_CALL)||"[]",c="1"===a.getFieldValue("DIRECTION")?1:-1;a=a.getFieldValue("TYPE");var d=Blockly.JavaScript.provideFunction_("listsGetSortCompare",["function "+Blockly.JavaScript.FUNCTION_NAME_PLACEHOLDER_+"(type, direction) {","  var compareFuncs = {",'    "NUMERIC": function(a, b) {',"        return parseFloat(a) - parseFloat(b); },",'    "TEXT": function(a, b) {',"        return a.toString() > b.toString() ? 1 : -1; },",
+'    "IGNORE_CASE": function(a, b) {',"        return a.toString().toLowerCase() > b.toString().toLowerCase() ? 1 : -1; },","  };","  var compare = compareFuncs[type];","  return function(a, b) { return compare(a, b) * direction; }","}"]);return[b+".slice().sort("+d+'("'+a+'", '+c+"))",Blockly.JavaScript.ORDER_FUNCTION_CALL]};
+Blockly.JavaScript.lists_split=function(a){var b=Blockly.JavaScript.valueToCode(a,"INPUT",Blockly.JavaScript.ORDER_MEMBER),c=Blockly.JavaScript.valueToCode(a,"DELIM",Blockly.JavaScript.ORDER_NONE)||"''";a=a.getFieldValue("MODE");if("SPLIT"==a)b||(b="''"),a="split";else if("JOIN"==a)b||(b="[]"),a="join";else throw Error("Unknown mode: "+a);return[b+"."+a+"("+c+")",Blockly.JavaScript.ORDER_FUNCTION_CALL]};
+Blockly.JavaScript.lists_reverse=function(a){return[(Blockly.JavaScript.valueToCode(a,"LIST",Blockly.JavaScript.ORDER_FUNCTION_CALL)||"[]")+".slice().reverse()",Blockly.JavaScript.ORDER_FUNCTION_CALL]};Blockly.JavaScript.logic={};Blockly.JavaScript.controls_if=function(a){var b=0,c="";do{var d=Blockly.JavaScript.valueToCode(a,"IF"+b,Blockly.JavaScript.ORDER_NONE)||"false";var e=Blockly.JavaScript.statementToCode(a,"DO"+b);c+=(0<b?" else ":"")+"if ("+d+") {\n"+e+"}";++b}while(a.getInput("IF"+b));a.getInput("ELSE")&&(e=Blockly.JavaScript.statementToCode(a,"ELSE"),c+=" else {\n"+e+"}");return c+"\n"};Blockly.JavaScript.controls_ifelse=Blockly.JavaScript.controls_if;
+Blockly.JavaScript.logic_compare=function(a){var b={EQ:"==",NEQ:"!=",LT:"<",LTE:"<=",GT:">",GTE:">="}[a.getFieldValue("OP")],c="=="==b||"!="==b?Blockly.JavaScript.ORDER_EQUALITY:Blockly.JavaScript.ORDER_RELATIONAL,d=Blockly.JavaScript.valueToCode(a,"A",c)||"0";a=Blockly.JavaScript.valueToCode(a,"B",c)||"0";return[d+" "+b+" "+a,c]};
+Blockly.JavaScript.logic_operation=function(a){var b="AND"==a.getFieldValue("OP")?"&&":"||",c="&&"==b?Blockly.JavaScript.ORDER_LOGICAL_AND:Blockly.JavaScript.ORDER_LOGICAL_OR,d=Blockly.JavaScript.valueToCode(a,"A",c);a=Blockly.JavaScript.valueToCode(a,"B",c);if(d||a){var e="&&"==b?"true":"false";d||(d=e);a||(a=e)}else a=d="false";return[d+" "+b+" "+a,c]};
+Blockly.JavaScript.logic_negate=function(a){var b=Blockly.JavaScript.ORDER_LOGICAL_NOT;return["!"+(Blockly.JavaScript.valueToCode(a,"BOOL",b)||"true"),b]};Blockly.JavaScript.logic_boolean=function(a){return["TRUE"==a.getFieldValue("BOOL")?"true":"false",Blockly.JavaScript.ORDER_ATOMIC]};Blockly.JavaScript.logic_null=function(a){return["null",Blockly.JavaScript.ORDER_ATOMIC]};
+Blockly.JavaScript.logic_ternary=function(a){var b=Blockly.JavaScript.valueToCode(a,"IF",Blockly.JavaScript.ORDER_CONDITIONAL)||"false",c=Blockly.JavaScript.valueToCode(a,"THEN",Blockly.JavaScript.ORDER_CONDITIONAL)||"null";a=Blockly.JavaScript.valueToCode(a,"ELSE",Blockly.JavaScript.ORDER_CONDITIONAL)||"null";return[b+" ? "+c+" : "+a,Blockly.JavaScript.ORDER_CONDITIONAL]};Blockly.JavaScript.loops={};
+Blockly.JavaScript.controls_repeat_ext=function(a){var b=a.getField("TIMES")?String(Number(a.getFieldValue("TIMES"))):Blockly.JavaScript.valueToCode(a,"TIMES",Blockly.JavaScript.ORDER_ASSIGNMENT)||"0",c=Blockly.JavaScript.statementToCode(a,"DO");c=Blockly.JavaScript.addLoopTrap(c,a.id);a="";var d=Blockly.JavaScript.variableDB_.getDistinctName("count",Blockly.Variables.NAME_TYPE),e=b;b.match(/^\w+$/)||Blockly.isNumber(b)||(e=Blockly.JavaScript.variableDB_.getDistinctName("repeat_end",Blockly.Variables.NAME_TYPE),
+a+="var "+e+" = "+b+";\n");return a+("for (var "+d+" = 0; "+d+" < "+e+"; "+d+"++) {\n"+c+"}\n")};Blockly.JavaScript.controls_repeat=Blockly.JavaScript.controls_repeat_ext;
+Blockly.JavaScript.controls_whileUntil=function(a){var b="UNTIL"==a.getFieldValue("MODE"),c=Blockly.JavaScript.valueToCode(a,"BOOL",b?Blockly.JavaScript.ORDER_LOGICAL_NOT:Blockly.JavaScript.ORDER_NONE)||"false",d=Blockly.JavaScript.statementToCode(a,"DO");d=Blockly.JavaScript.addLoopTrap(d,a.id);b&&(c="!"+c);return"while ("+c+") {\n"+d+"}\n"};
+Blockly.JavaScript.controls_for=function(a){var b=Blockly.JavaScript.variableDB_.getName(a.getFieldValue("VAR"),Blockly.Variables.NAME_TYPE),c=Blockly.JavaScript.valueToCode(a,"FROM",Blockly.JavaScript.ORDER_ASSIGNMENT)||"0",d=Blockly.JavaScript.valueToCode(a,"TO",Blockly.JavaScript.ORDER_ASSIGNMENT)||"0",e=Blockly.JavaScript.valueToCode(a,"BY",Blockly.JavaScript.ORDER_ASSIGNMENT)||"1",f=Blockly.JavaScript.statementToCode(a,"DO");f=Blockly.JavaScript.addLoopTrap(f,a.id);if(Blockly.isNumber(c)&&Blockly.isNumber(d)&&
+Blockly.isNumber(e)){var g=parseFloat(c)<=parseFloat(d);a="for ("+b+" = "+c+"; "+b+(g?" <= ":" >= ")+d+"; "+b;b=Math.abs(parseFloat(e));a=(1==b?a+(g?"++":"--"):a+((g?" += ":" -= ")+b))+(") {\n"+f+"}\n")}else a="",g=c,c.match(/^\w+$/)||Blockly.isNumber(c)||(g=Blockly.JavaScript.variableDB_.getDistinctName(b+"_start",Blockly.Variables.NAME_TYPE),a+="var "+g+" = "+c+";\n"),c=d,d.match(/^\w+$/)||Blockly.isNumber(d)||(c=Blockly.JavaScript.variableDB_.getDistinctName(b+"_end",Blockly.Variables.NAME_TYPE),
+a+="var "+c+" = "+d+";\n"),d=Blockly.JavaScript.variableDB_.getDistinctName(b+"_inc",Blockly.Variables.NAME_TYPE),a+="var "+d+" = ",a=Blockly.isNumber(e)?a+(Math.abs(e)+";\n"):a+("Math.abs("+e+");\n"),a=a+("if ("+g+" > "+c+") {\n")+(Blockly.JavaScript.INDENT+d+" = -"+d+";\n"),a+="}\n",a+="for ("+b+" = "+g+"; "+d+" >= 0 ? "+b+" <= "+c+" : "+b+" >= "+c+"; "+b+" += "+d+") {\n"+f+"}\n";return a};
+Blockly.JavaScript.controls_forEach=function(a){var b=Blockly.JavaScript.variableDB_.getName(a.getFieldValue("VAR"),Blockly.Variables.NAME_TYPE),c=Blockly.JavaScript.valueToCode(a,"LIST",Blockly.JavaScript.ORDER_ASSIGNMENT)||"[]",d=Blockly.JavaScript.statementToCode(a,"DO");d=Blockly.JavaScript.addLoopTrap(d,a.id);a="";var e=c;c.match(/^\w+$/)||(e=Blockly.JavaScript.variableDB_.getDistinctName(b+"_list",Blockly.Variables.NAME_TYPE),a+="var "+e+" = "+c+";\n");c=Blockly.JavaScript.variableDB_.getDistinctName(b+
+"_index",Blockly.Variables.NAME_TYPE);d=Blockly.JavaScript.INDENT+b+" = "+e+"["+c+"];\n"+d;return a+("for (var "+c+" in "+e+") {\n"+d+"}\n")};Blockly.JavaScript.controls_flow_statements=function(a){switch(a.getFieldValue("FLOW")){case "BREAK":return"break;\n";case "CONTINUE":return"continue;\n"}throw Error("Unknown flow statement.");};Blockly.JavaScript.math={};Blockly.JavaScript.math_number=function(a){a=parseFloat(a.getFieldValue("NUM"));return[a,0<=a?Blockly.JavaScript.ORDER_ATOMIC:Blockly.JavaScript.ORDER_UNARY_NEGATION]};
+Blockly.JavaScript.math_arithmetic=function(a){var b={ADD:[" + ",Blockly.JavaScript.ORDER_ADDITION],MINUS:[" - ",Blockly.JavaScript.ORDER_SUBTRACTION],MULTIPLY:[" * ",Blockly.JavaScript.ORDER_MULTIPLICATION],DIVIDE:[" / ",Blockly.JavaScript.ORDER_DIVISION],POWER:[null,Blockly.JavaScript.ORDER_COMMA]}[a.getFieldValue("OP")],c=b[0];b=b[1];var d=Blockly.JavaScript.valueToCode(a,"A",b)||"0";a=Blockly.JavaScript.valueToCode(a,"B",b)||"0";return c?[d+c+a,b]:["Math.pow("+d+", "+a+")",Blockly.JavaScript.ORDER_FUNCTION_CALL]};
+Blockly.JavaScript.math_single=function(a){var b=a.getFieldValue("OP");if("NEG"==b)return a=Blockly.JavaScript.valueToCode(a,"NUM",Blockly.JavaScript.ORDER_UNARY_NEGATION)||"0","-"==a[0]&&(a=" "+a),["-"+a,Blockly.JavaScript.ORDER_UNARY_NEGATION];a="SIN"==b||"COS"==b||"TAN"==b?Blockly.JavaScript.valueToCode(a,"NUM",Blockly.JavaScript.ORDER_DIVISION)||"0":Blockly.JavaScript.valueToCode(a,"NUM",Blockly.JavaScript.ORDER_NONE)||"0";switch(b){case "ABS":var c="Math.abs("+a+")";break;case "ROOT":c="Math.sqrt("+
+a+")";break;case "LN":c="Math.log("+a+")";break;case "EXP":c="Math.exp("+a+")";break;case "POW10":c="Math.pow(10,"+a+")";break;case "ROUND":c="Math.round("+a+")";break;case "ROUNDUP":c="Math.ceil("+a+")";break;case "ROUNDDOWN":c="Math.floor("+a+")";break;case "SIN":c="Math.sin("+a+" / 180 * Math.PI)";break;case "COS":c="Math.cos("+a+" / 180 * Math.PI)";break;case "TAN":c="Math.tan("+a+" / 180 * Math.PI)"}if(c)return[c,Blockly.JavaScript.ORDER_FUNCTION_CALL];switch(b){case "LOG10":c="Math.log("+a+
+") / Math.log(10)";break;case "ASIN":c="Math.asin("+a+") / Math.PI * 180";break;case "ACOS":c="Math.acos("+a+") / Math.PI * 180";break;case "ATAN":c="Math.atan("+a+") / Math.PI * 180";break;default:throw Error("Unknown math operator: "+b);}return[c,Blockly.JavaScript.ORDER_DIVISION]};
+Blockly.JavaScript.math_constant=function(a){return{PI:["Math.PI",Blockly.JavaScript.ORDER_MEMBER],E:["Math.E",Blockly.JavaScript.ORDER_MEMBER],GOLDEN_RATIO:["(1 + Math.sqrt(5)) / 2",Blockly.JavaScript.ORDER_DIVISION],SQRT2:["Math.SQRT2",Blockly.JavaScript.ORDER_MEMBER],SQRT1_2:["Math.SQRT1_2",Blockly.JavaScript.ORDER_MEMBER],INFINITY:["Infinity",Blockly.JavaScript.ORDER_ATOMIC]}[a.getFieldValue("CONSTANT")]};
+Blockly.JavaScript.math_number_property=function(a){var b=Blockly.JavaScript.valueToCode(a,"NUMBER_TO_CHECK",Blockly.JavaScript.ORDER_MODULUS)||"0",c=a.getFieldValue("PROPERTY");if("PRIME"==c)return[Blockly.JavaScript.provideFunction_("mathIsPrime",["function "+Blockly.JavaScript.FUNCTION_NAME_PLACEHOLDER_+"(n) {","  // https://en.wikipedia.org/wiki/Primality_test#Naive_methods","  if (n == 2 || n == 3) {","    return true;","  }","  // False if n is NaN, negative, is 1, or not whole.","  // And false if n is divisible by 2 or 3.",
+"  if (isNaN(n) || n <= 1 || n % 1 != 0 || n % 2 == 0 || n % 3 == 0) {","    return false;","  }","  // Check all the numbers of form 6k +/- 1, up to sqrt(n).","  for (var x = 6; x <= Math.sqrt(n) + 1; x += 6) {","    if (n % (x - 1) == 0 || n % (x + 1) == 0) {","      return false;","    }","  }","  return true;","}"])+"("+b+")",Blockly.JavaScript.ORDER_FUNCTION_CALL];switch(c){case "EVEN":var d=b+" % 2 == 0";break;case "ODD":d=b+" % 2 == 1";break;case "WHOLE":d=b+" % 1 == 0";break;case "POSITIVE":d=
+b+" > 0";break;case "NEGATIVE":d=b+" < 0";break;case "DIVISIBLE_BY":a=Blockly.JavaScript.valueToCode(a,"DIVISOR",Blockly.JavaScript.ORDER_MODULUS)||"0",d=b+" % "+a+" == 0"}return[d,Blockly.JavaScript.ORDER_EQUALITY]};Blockly.JavaScript.math_change=function(a){var b=Blockly.JavaScript.valueToCode(a,"DELTA",Blockly.JavaScript.ORDER_ADDITION)||"0";a=Blockly.JavaScript.variableDB_.getName(a.getFieldValue("VAR"),Blockly.Variables.NAME_TYPE);return a+" = (typeof "+a+" == 'number' ? "+a+" : 0) + "+b+";\n"};
+Blockly.JavaScript.math_round=Blockly.JavaScript.math_single;Blockly.JavaScript.math_trig=Blockly.JavaScript.math_single;
+Blockly.JavaScript.math_on_list=function(a){var b=a.getFieldValue("OP");switch(b){case "SUM":a=Blockly.JavaScript.valueToCode(a,"LIST",Blockly.JavaScript.ORDER_MEMBER)||"[]";a+=".reduce(function(x, y) {return x + y;})";break;case "MIN":a=Blockly.JavaScript.valueToCode(a,"LIST",Blockly.JavaScript.ORDER_COMMA)||"[]";a="Math.min.apply(null, "+a+")";break;case "MAX":a=Blockly.JavaScript.valueToCode(a,"LIST",Blockly.JavaScript.ORDER_COMMA)||"[]";a="Math.max.apply(null, "+a+")";break;case "AVERAGE":b=Blockly.JavaScript.provideFunction_("mathMean",
+["function "+Blockly.JavaScript.FUNCTION_NAME_PLACEHOLDER_+"(myList) {","  return myList.reduce(function(x, y) {return x + y;}) / myList.length;","}"]);a=Blockly.JavaScript.valueToCode(a,"LIST",Blockly.JavaScript.ORDER_NONE)||"[]";a=b+"("+a+")";break;case "MEDIAN":b=Blockly.JavaScript.provideFunction_("mathMedian",["function "+Blockly.JavaScript.FUNCTION_NAME_PLACEHOLDER_+"(myList) {","  var localList = myList.filter(function (x) {return typeof x == 'number';});","  if (!localList.length) return null;",
+"  localList.sort(function(a, b) {return b - a;});","  if (localList.length % 2 == 0) {","    return (localList[localList.length / 2 - 1] + localList[localList.length / 2]) / 2;","  } else {","    return localList[(localList.length - 1) / 2];","  }","}"]);a=Blockly.JavaScript.valueToCode(a,"LIST",Blockly.JavaScript.ORDER_NONE)||"[]";a=b+"("+a+")";break;case "MODE":b=Blockly.JavaScript.provideFunction_("mathModes",["function "+Blockly.JavaScript.FUNCTION_NAME_PLACEHOLDER_+"(values) {","  var modes = [];",
+"  var counts = [];","  var maxCount = 0;","  for (var i = 0; i < values.length; i++) {","    var value = values[i];","    var found = false;","    var thisCount;","    for (var j = 0; j < counts.length; j++) {","      if (counts[j][0] === value) {","        thisCount = ++counts[j][1];","        found = true;","        break;","      }","    }","    if (!found) {","      counts.push([value, 1]);","      thisCount = 1;","    }","    maxCount = Math.max(thisCount, maxCount);","  }","  for (var j = 0; j < counts.length; j++) {",
+"    if (counts[j][1] == maxCount) {","        modes.push(counts[j][0]);","    }","  }","  return modes;","}"]);a=Blockly.JavaScript.valueToCode(a,"LIST",Blockly.JavaScript.ORDER_NONE)||"[]";a=b+"("+a+")";break;case "STD_DEV":b=Blockly.JavaScript.provideFunction_("mathStandardDeviation",["function "+Blockly.JavaScript.FUNCTION_NAME_PLACEHOLDER_+"(numbers) {","  var n = numbers.length;","  if (!n) return null;","  var mean = numbers.reduce(function(x, y) {return x + y;}) / n;","  var variance = 0;",
+"  for (var j = 0; j < n; j++) {","    variance += Math.pow(numbers[j] - mean, 2);","  }","  variance = variance / n;","  return Math.sqrt(variance);","}"]);a=Blockly.JavaScript.valueToCode(a,"LIST",Blockly.JavaScript.ORDER_NONE)||"[]";a=b+"("+a+")";break;case "RANDOM":b=Blockly.JavaScript.provideFunction_("mathRandomList",["function "+Blockly.JavaScript.FUNCTION_NAME_PLACEHOLDER_+"(list) {","  var x = Math.floor(Math.random() * list.length);","  return list[x];","}"]);a=Blockly.JavaScript.valueToCode(a,
+"LIST",Blockly.JavaScript.ORDER_NONE)||"[]";a=b+"("+a+")";break;default:throw Error("Unknown operator: "+b);}return[a,Blockly.JavaScript.ORDER_FUNCTION_CALL]};Blockly.JavaScript.math_modulo=function(a){var b=Blockly.JavaScript.valueToCode(a,"DIVIDEND",Blockly.JavaScript.ORDER_MODULUS)||"0";a=Blockly.JavaScript.valueToCode(a,"DIVISOR",Blockly.JavaScript.ORDER_MODULUS)||"0";return[b+" % "+a,Blockly.JavaScript.ORDER_MODULUS]};
+Blockly.JavaScript.math_constrain=function(a){var b=Blockly.JavaScript.valueToCode(a,"VALUE",Blockly.JavaScript.ORDER_COMMA)||"0",c=Blockly.JavaScript.valueToCode(a,"LOW",Blockly.JavaScript.ORDER_COMMA)||"0";a=Blockly.JavaScript.valueToCode(a,"HIGH",Blockly.JavaScript.ORDER_COMMA)||"Infinity";return["Math.min(Math.max("+b+", "+c+"), "+a+")",Blockly.JavaScript.ORDER_FUNCTION_CALL]};
+Blockly.JavaScript.math_random_int=function(a){var b=Blockly.JavaScript.valueToCode(a,"FROM",Blockly.JavaScript.ORDER_COMMA)||"0";a=Blockly.JavaScript.valueToCode(a,"TO",Blockly.JavaScript.ORDER_COMMA)||"0";return[Blockly.JavaScript.provideFunction_("mathRandomInt",["function "+Blockly.JavaScript.FUNCTION_NAME_PLACEHOLDER_+"(a, b) {","  if (a > b) {","    // Swap a and b to ensure a is smaller.","    var c = a;","    a = b;","    b = c;","  }","  return Math.floor(Math.random() * (b - a + 1) + a);",
+"}"])+"("+b+", "+a+")",Blockly.JavaScript.ORDER_FUNCTION_CALL]};Blockly.JavaScript.math_random_float=function(a){return["Math.random()",Blockly.JavaScript.ORDER_FUNCTION_CALL]};Blockly.JavaScript.procedures={};
+Blockly.JavaScript.procedures_defreturn=function(a){var b=Blockly.JavaScript.variableDB_.getName(a.getFieldValue("NAME"),Blockly.Procedures.NAME_TYPE),c=Blockly.JavaScript.statementToCode(a,"STACK");if(Blockly.JavaScript.STATEMENT_PREFIX){var d=a.id.replace(/\$/g,"$$$$");c=Blockly.JavaScript.prefixLines(Blockly.JavaScript.STATEMENT_PREFIX.replace(/%1/g,"'"+d+"'"),Blockly.JavaScript.INDENT)+c}Blockly.JavaScript.INFINITE_LOOP_TRAP&&(c=Blockly.JavaScript.INFINITE_LOOP_TRAP.replace(/%1/g,"'"+a.id+"'")+
+c);(d=Blockly.JavaScript.valueToCode(a,"RETURN",Blockly.JavaScript.ORDER_NONE)||"")&&(d=Blockly.JavaScript.INDENT+"return "+d+";\n");for(var e=[],f=0;f<a.arguments_.length;f++)e[f]=Blockly.JavaScript.variableDB_.getName(a.arguments_[f],Blockly.Variables.NAME_TYPE);c="function "+b+"("+e.join(", ")+") {\n"+c+d+"}";c=Blockly.JavaScript.scrub_(a,c);Blockly.JavaScript.definitions_["%"+b]=c;return null};Blockly.JavaScript.procedures_defnoreturn=Blockly.JavaScript.procedures_defreturn;
+Blockly.JavaScript.procedures_callreturn=function(a){for(var b=Blockly.JavaScript.variableDB_.getName(a.getFieldValue("NAME"),Blockly.Procedures.NAME_TYPE),c=[],d=0;d<a.arguments_.length;d++)c[d]=Blockly.JavaScript.valueToCode(a,"ARG"+d,Blockly.JavaScript.ORDER_COMMA)||"null";return[b+"("+c.join(", ")+")",Blockly.JavaScript.ORDER_FUNCTION_CALL]};
+Blockly.JavaScript.procedures_callnoreturn=function(a){for(var b=Blockly.JavaScript.variableDB_.getName(a.getFieldValue("NAME"),Blockly.Procedures.NAME_TYPE),c=[],d=0;d<a.arguments_.length;d++)c[d]=Blockly.JavaScript.valueToCode(a,"ARG"+d,Blockly.JavaScript.ORDER_COMMA)||"null";return b+"("+c.join(", ")+");\n"};
+Blockly.JavaScript.procedures_ifreturn=function(a){var b="if ("+(Blockly.JavaScript.valueToCode(a,"CONDITION",Blockly.JavaScript.ORDER_NONE)||"false")+") {\n";a.hasReturnValue_?(a=Blockly.JavaScript.valueToCode(a,"VALUE",Blockly.JavaScript.ORDER_NONE)||"null",b+=Blockly.JavaScript.INDENT+"return "+a+";\n"):b+=Blockly.JavaScript.INDENT+"return;\n";return b+"}\n"};Blockly.JavaScript.texts={};Blockly.JavaScript.text=function(a){return[Blockly.JavaScript.quote_(a.getFieldValue("TEXT")),Blockly.JavaScript.ORDER_ATOMIC]};
+Blockly.JavaScript.text_join=function(a){switch(a.itemCount_){case 0:return["''",Blockly.JavaScript.ORDER_ATOMIC];case 1:return["String("+(Blockly.JavaScript.valueToCode(a,"ADD0",Blockly.JavaScript.ORDER_NONE)||"''")+")",Blockly.JavaScript.ORDER_FUNCTION_CALL];case 2:var b=Blockly.JavaScript.valueToCode(a,"ADD0",Blockly.JavaScript.ORDER_NONE)||"''";a=Blockly.JavaScript.valueToCode(a,"ADD1",Blockly.JavaScript.ORDER_NONE)||"''";return["String("+b+") + String("+a+")",Blockly.JavaScript.ORDER_ADDITION];
+default:b=Array(a.itemCount_);for(var c=0;c<a.itemCount_;c++)b[c]=Blockly.JavaScript.valueToCode(a,"ADD"+c,Blockly.JavaScript.ORDER_COMMA)||"''";a="["+b.join(",")+"].join('')";return[a,Blockly.JavaScript.ORDER_FUNCTION_CALL]}};Blockly.JavaScript.text_append=function(a){var b=Blockly.JavaScript.variableDB_.getName(a.getFieldValue("VAR"),Blockly.Variables.NAME_TYPE);a=Blockly.JavaScript.valueToCode(a,"TEXT",Blockly.JavaScript.ORDER_NONE)||"''";return b+" = String("+b+") + String("+a+");\n"};
+Blockly.JavaScript.text_length=function(a){return[(Blockly.JavaScript.valueToCode(a,"VALUE",Blockly.JavaScript.ORDER_FUNCTION_CALL)||"''")+".length",Blockly.JavaScript.ORDER_MEMBER]};Blockly.JavaScript.text_isEmpty=function(a){return["!"+(Blockly.JavaScript.valueToCode(a,"VALUE",Blockly.JavaScript.ORDER_MEMBER)||"''")+".length",Blockly.JavaScript.ORDER_LOGICAL_NOT]};
+Blockly.JavaScript.text_indexOf=function(a){var b="FIRST"==a.getFieldValue("END")?"indexOf":"lastIndexOf",c=Blockly.JavaScript.valueToCode(a,"FIND",Blockly.JavaScript.ORDER_NONE)||"''";b=(Blockly.JavaScript.valueToCode(a,"VALUE",Blockly.JavaScript.ORDER_MEMBER)||"''")+"."+b+"("+c+")";return a.workspace.options.oneBasedIndex?[b+" + 1",Blockly.JavaScript.ORDER_ADDITION]:[b,Blockly.JavaScript.ORDER_FUNCTION_CALL]};
+Blockly.JavaScript.text_charAt=function(a){var b=a.getFieldValue("WHERE")||"FROM_START",c=Blockly.JavaScript.valueToCode(a,"VALUE","RANDOM"==b?Blockly.JavaScript.ORDER_NONE:Blockly.JavaScript.ORDER_MEMBER)||"''";switch(b){case "FIRST":return[c+".charAt(0)",Blockly.JavaScript.ORDER_FUNCTION_CALL];case "LAST":return[c+".slice(-1)",Blockly.JavaScript.ORDER_FUNCTION_CALL];case "FROM_START":return a=Blockly.JavaScript.getAdjusted(a,"AT"),[c+".charAt("+a+")",Blockly.JavaScript.ORDER_FUNCTION_CALL];case "FROM_END":return a=
+Blockly.JavaScript.getAdjusted(a,"AT",1,!0),[c+".slice("+a+").charAt(0)",Blockly.JavaScript.ORDER_FUNCTION_CALL];case "RANDOM":return[Blockly.JavaScript.provideFunction_("textRandomLetter",["function "+Blockly.JavaScript.FUNCTION_NAME_PLACEHOLDER_+"(text) {","  var x = Math.floor(Math.random() * text.length);","  return text[x];","}"])+"("+c+")",Blockly.JavaScript.ORDER_FUNCTION_CALL]}throw Error("Unhandled option (text_charAt).");};
+Blockly.JavaScript.text.getIndex_=function(a,b,c){return"FIRST"==b?"0":"FROM_END"==b?a+".length - 1 - "+c:"LAST"==b?a+".length - 1":c};
+Blockly.JavaScript.text_getSubstring=function(a){var b=Blockly.JavaScript.valueToCode(a,"STRING",Blockly.JavaScript.ORDER_FUNCTION_CALL)||"''",c=a.getFieldValue("WHERE1"),d=a.getFieldValue("WHERE2");if("FIRST"!=c||"LAST"!=d)if(b.match(/^'?\w+'?$/)||"FROM_END"!=c&&"LAST"!=c&&"FROM_END"!=d&&"LAST"!=d){switch(c){case "FROM_START":var e=Blockly.JavaScript.getAdjusted(a,"AT1");break;case "FROM_END":e=Blockly.JavaScript.getAdjusted(a,"AT1",1,!1,Blockly.JavaScript.ORDER_SUBTRACTION);e=b+".length - "+e;break;
+case "FIRST":e="0";break;default:throw Error("Unhandled option (text_getSubstring).");}switch(d){case "FROM_START":a=Blockly.JavaScript.getAdjusted(a,"AT2",1);break;case "FROM_END":a=Blockly.JavaScript.getAdjusted(a,"AT2",0,!1,Blockly.JavaScript.ORDER_SUBTRACTION);a=b+".length - "+a;break;case "LAST":a=b+".length";break;default:throw Error("Unhandled option (text_getSubstring).");}b=b+".slice("+e+", "+a+")"}else{e=Blockly.JavaScript.getAdjusted(a,"AT1");a=Blockly.JavaScript.getAdjusted(a,"AT2");var f=
+Blockly.JavaScript.text.getIndex_,g={FIRST:"First",LAST:"Last",FROM_START:"FromStart",FROM_END:"FromEnd"};b=Blockly.JavaScript.provideFunction_("subsequence"+g[c]+g[d],["function "+Blockly.JavaScript.FUNCTION_NAME_PLACEHOLDER_+"(sequence"+("FROM_END"==c||"FROM_START"==c?", at1":"")+("FROM_END"==d||"FROM_START"==d?", at2":"")+") {","  var start = "+f("sequence",c,"at1")+";","  var end = "+f("sequence",d,"at2")+" + 1;","  return sequence.slice(start, end);","}"])+"("+b+("FROM_END"==c||"FROM_START"==
+c?", "+e:"")+("FROM_END"==d||"FROM_START"==d?", "+a:"")+")"}return[b,Blockly.JavaScript.ORDER_FUNCTION_CALL]};
+Blockly.JavaScript.text_changeCase=function(a){var b={UPPERCASE:".toUpperCase()",LOWERCASE:".toLowerCase()",TITLECASE:null}[a.getFieldValue("CASE")];a=Blockly.JavaScript.valueToCode(a,"TEXT",b?Blockly.JavaScript.ORDER_MEMBER:Blockly.JavaScript.ORDER_NONE)||"''";return[b?a+b:Blockly.JavaScript.provideFunction_("textToTitleCase",["function "+Blockly.JavaScript.FUNCTION_NAME_PLACEHOLDER_+"(str) {","  return str.replace(/\\S+/g,","      function(txt) {return txt[0].toUpperCase() + txt.substring(1).toLowerCase();});",
+"}"])+"("+a+")",Blockly.JavaScript.ORDER_FUNCTION_CALL]};Blockly.JavaScript.text_trim=function(a){var b={LEFT:".replace(/^[\\s\\xa0]+/, '')",RIGHT:".replace(/[\\s\\xa0]+$/, '')",BOTH:".trim()"}[a.getFieldValue("MODE")];return[(Blockly.JavaScript.valueToCode(a,"TEXT",Blockly.JavaScript.ORDER_MEMBER)||"''")+b,Blockly.JavaScript.ORDER_FUNCTION_CALL]};Blockly.JavaScript.text_print=function(a){return"window.alert("+(Blockly.JavaScript.valueToCode(a,"TEXT",Blockly.JavaScript.ORDER_NONE)||"''")+");\n"};
+Blockly.JavaScript.text_prompt_ext=function(a){var b="window.prompt("+(a.getField("TEXT")?Blockly.JavaScript.quote_(a.getFieldValue("TEXT")):Blockly.JavaScript.valueToCode(a,"TEXT",Blockly.JavaScript.ORDER_NONE)||"''")+")";"NUMBER"==a.getFieldValue("TYPE")&&(b="parseFloat("+b+")");return[b,Blockly.JavaScript.ORDER_FUNCTION_CALL]};Blockly.JavaScript.text_prompt=Blockly.JavaScript.text_prompt_ext;
+Blockly.JavaScript.text_count=function(a){var b=Blockly.JavaScript.valueToCode(a,"TEXT",Blockly.JavaScript.ORDER_MEMBER)||"''";a=Blockly.JavaScript.valueToCode(a,"SUB",Blockly.JavaScript.ORDER_NONE)||"''";return[Blockly.JavaScript.provideFunction_("textCount",["function "+Blockly.JavaScript.FUNCTION_NAME_PLACEHOLDER_+"(haystack, needle) {","  if (needle.length === 0) {","    return haystack.length + 1;","  } else {","    return haystack.split(needle).length - 1;","  }","}"])+"("+b+", "+a+")",Blockly.JavaScript.ORDER_SUBTRACTION]};
+Blockly.JavaScript.text_replace=function(a){var b=Blockly.JavaScript.valueToCode(a,"TEXT",Blockly.JavaScript.ORDER_MEMBER)||"''",c=Blockly.JavaScript.valueToCode(a,"FROM",Blockly.JavaScript.ORDER_NONE)||"''";a=Blockly.JavaScript.valueToCode(a,"TO",Blockly.JavaScript.ORDER_NONE)||"''";return[Blockly.JavaScript.provideFunction_("textReplace",["function "+Blockly.JavaScript.FUNCTION_NAME_PLACEHOLDER_+"(haystack, needle, replacement) {",'  needle = needle.replace(/([-()\\[\\]{}+?*.$\\^|,:#<!\\\\])/g,"\\\\$1")',
+'                 .replace(/\\x08/g,"\\\\x08");',"  return haystack.replace(new RegExp(needle, 'g'), replacement);","}"])+"("+b+", "+c+", "+a+")",Blockly.JavaScript.ORDER_MEMBER]};Blockly.JavaScript.text_reverse=function(a){return[(Blockly.JavaScript.valueToCode(a,"TEXT",Blockly.JavaScript.ORDER_MEMBER)||"''")+".split('').reverse().join('')",Blockly.JavaScript.ORDER_MEMBER]};Blockly.JavaScript.variables={};Blockly.JavaScript.variables_get=function(a){return[Blockly.JavaScript.variableDB_.getName(a.getFieldValue("VAR"),Blockly.Variables.NAME_TYPE),Blockly.JavaScript.ORDER_ATOMIC]};Blockly.JavaScript.variables_set=function(a){var b=Blockly.JavaScript.valueToCode(a,"VALUE",Blockly.JavaScript.ORDER_ASSIGNMENT)||"0";return Blockly.JavaScript.variableDB_.getName(a.getFieldValue("VAR"),Blockly.Variables.NAME_TYPE)+" = "+b+";\n"};
+Blockly.JavaScript.variablesDynamic={};Blockly.JavaScript.variables_get_dynamic=Blockly.JavaScript.variables_get;Blockly.JavaScript.variables_set_dynamic=Blockly.JavaScript.variables_set;
\ No newline at end of file
diff --git a/js/msg/js/ab.js b/js/msg/js/ab.js
new file mode 100644 (file)
index 0000000..34871d6
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.ab');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["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'";  // untranslated
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "ИшәыҧÑах Ð°ÒµÐ°ÐºÑ‹";
+Blockly.Msg["CLEAN_UP"] = "Иқәгатәуп Ð°Ð±Ð»Ð¾ÐºÒ›Ó™Ð°";
+Blockly.Msg["COLLAPSE_ALL"] = "Иеикәрҳәтәуп Ðблокқәа";
+Blockly.Msg["COLLAPSE_BLOCK"] = "Иеикәрҳәтәуп Ðблокқәа";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "аҧштәы 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "аҧштәы 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";  // untranslated
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "аҧштәы 1 Ð°Ñ…әҭа";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "еилаҵатәуп";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "Blends two colours together with a given ratio (0.0 - 1.0).";  // untranslated
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://ru.wikipedia.org/wiki/Ðҧштәы";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "Иалышәх Ð°Ò§ÑˆÑ‚әы";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "иарбанзаалакь Ð°Ò§ÑˆÑ‚әы";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "Иалнахуеит Ð°Ò§ÑˆÑ‚әы Ð¼Ð°ÑˆÓ™Ñ‹Ñ€ÑˆÐ°Ò›Ó™";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "жәҩангәҧштәы";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "аиаҵәа";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";  // untranslated
+Blockly.Msg["COLOUR_RGB_RED"] = "аҟаҧшь";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "аҧштәы Ð°ÒŸÑ‹Ð½Ñ‚әи";
+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.";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "ацикл Ð¸Ò­Ñ‹ÒµÑ‚әуп";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "ииаÑтәуп Ð°Ñ†Ð¸ÐºÐ» Ð°Ð½Ð°Ò©Ñтәи Ð°ÑˆÑŒÐ°Ò¿Ð°Ñ…ьы";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "Иааннакылоит Ð°Ð±Ñ€Ð¸ Ð°Ñ†Ð¸ÐºÐ».";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "Skip the rest of this loop, and continue with the next iteration.";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "Ðгәҽанҵара:Ðри Ð°Ð±Ð»Ð¾Ðº Ð°Ñ…архәара Ð°Ð¼Ð¾ÑƒÐ¿ Ð°Ñ†Ð¸ÐºÐ» Ð°Ò©Ð½Ñ‹ÒµÒŸÐ° Ð¼Ð°Ñ†Ð°Ñ€Ð°.";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "for each item %1 in list %2";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "For each item in a list, set the variable '%1' to the item, and then do some statements.";  // untranslated
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "ацикл %1 Ð°Ð»Ð° %2 Ð¸Ð½Ð°Ñ€ÐºÐ½Ñ‹ %3 Ñ€ÒŸÑ‹Ð½Ó¡Ð° Ð°ÑˆÑŒÐ°Ò¿Ð° %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.";  // untranslated
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "Иацнаҵоит Ð°Ò­Ð°Ð³Ñ‹Ð°Ð·Ð°Ð°ÑˆÑŒÐ° Ð°Ð±Ð»Ð¾Ðº \"акәзар\" Ð°Ñ…ÑŒ";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "Add a final, catch-all condition to the if block.";  // untranslated
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this if block.";  // untranslated
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "акәымзар";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "акәымзар";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "акәзар";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "Ðҭагылазаашьа Ð¸Ð°ÑˆÐ°Ð·Ð°Ñ€, Ð¸Ð½Ð°Ð½Ð°Ð³Ó¡Ð¾Ð¸Ñ‚ Ð°ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ò›Ó™Ð°.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "Ðҭагылазаашьа Ð¸Ð°ÑˆÐ°Ð·Ð°Ñ€, Ð¸Ð½Ð°Ð½Ð°Ð³Ó¡Ð¾Ð¸Ñ‚ Ð°ÐºÑ‚әи Ð°Ð±Ð»Ð¾Ðº Ð°ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ò›Ó™Ð°. Ðкәымзар Ð¸Ð½Ð°Ð½Ð°Ð³Ó¡Ð¾Ð¸Ñ‚ Ð°Ò©Ð±Ð°Ñ‚әи Ð°Ð±Ð»Ð¾Ðº Ð°ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ò›Ó™Ð°.";
+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.";  // untranslated
+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.";  // untranslated
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://ru.wikipedia.org/wiki/Ðцикл_(апрограммаркра)";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "инагӡатәуп";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "инагӡалатәуп %1 - Ð½Ñ‚Ó™";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "Инанагӡоит Ð°ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ò›Ó™Ð° ÐºÑ‹Ñ€Ñ‹Ð½Ñ‚Ó™";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "инагӡалатәуп Ð°ÐºÓ™Ñ‹Ð¼Ð·Ð°Ñ€";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "инагӡалатәуп Ð°ÐºÓ™Ð·Ð°Ñ€";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "Ðҭагылазаашьа Ð¼Ñ†Ð½Ð°ÒµÑ‹, Ð¸Ð½Ð°Ð½Ð°Ð³Ó¡Ð°Ð»Ð¾Ð¸Ñ‚ Ð°ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ò›Ó™Ð°.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "Ðҭагылазаашьа Ð¸Ð°ÑˆÐ°Ð½Ð°Òµ, Ð¸Ð½Ð°Ð½Ð°Ð³Ó¡Ð°Ð»Ð¾Ð¸Ñ‚ Ð°ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ò›Ó™Ð°.";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "Ианыхтәуп Ð°Ð±Ð»Ð¾ÐºÒ›Ó™Ð° (%1) Ð·ÐµÐ³ÑŒÑ‹?";
+Blockly.Msg["DELETE_BLOCK"] = "Ианыхтәуп Ð°Ð±Ð»Ð¾Ðº";
+Blockly.Msg["DELETE_VARIABLE"] = "Ианыхтәуп Ð°Ò½ÐµÐ¸Ò­Ð°Ðº '%1'";
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Delete %1 uses of the '%2' variable?";  // untranslated
+Blockly.Msg["DELETE_X_BLOCKS"] = "Ианыхтәуп %1 Ð±Ð»Ð¾ÐºÐº";
+Blockly.Msg["DISABLE_BLOCK"] = "Иаҿыхтәуп Ðблок";
+Blockly.Msg["DUPLICATE_BLOCK"] = "Ðкопиа Ð°Ñ…ыхтәуп";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicate Comment";  // untranslated
+Blockly.Msg["ENABLE_BLOCK"] = "Иаҿыхтәуп Ðблокқәа";
+Blockly.Msg["EXPAND_ALL"] = "Иаарҧштәуп Ðблокқәа";
+Blockly.Msg["EXPAND_BLOCK"] = "Иаарҧштәуп Ðблокқәа";
+Blockly.Msg["EXTERNAL_INPUTS"] = "External Inputs";  // untranslated
+Blockly.Msg["HELP"] = "Ðцхыраара";
+Blockly.Msg["INLINE_INPUTS"] = "Inline Inputs";  // untranslated
+Blockly.Msg["IOS_CANCEL"] = "Ðҟәыхра";
+Blockly.Msg["IOS_ERROR"] = "Ðгха";
+Blockly.Msg["IOS_OK"] = "OK";
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Ð˜Ð°Ñ†ÒµÐ°Ñ‚әуп Ð°Ò­Ð°Ð³Ð°Ð»Ð°Ñ€Ð°Ñ‚Ó™ Ò½ÐµÐ¸Ò­Ð°Ðº";
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Ðоператорқәа Ð°Ð·Ð¸Ð½ Ñ€Ñ‹Ò­Ð°Ñ€Ð°";
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "This function has duplicate inputs.";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "Ðҭаларҭа";
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "Иацҵатәуп";
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Ð˜Ð°Ñ†ÒµÐ°Ñ‚әуп Ð°Ò½ÐµÐ¸Ò­Ð°Ðº";
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "Ианыхтәуп";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "Шәара Ð¸ÑˆÓ™Ñ‹Ð»ÑˆÐ¾Ð¼ Ð°Ò½ÐµÐ¸Ò­Ð°Ðº Ð°Ð·Ñ‹ Ð¸Ò­Ð°Ñ†Ó™Ñƒ Ð°Ñ…ьӡ Ð°Ñ…архәара";
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Ðхьӡ Ð°Ò§Ñахра";
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Ðҽеиҭак Ð°Ñ…ьӡ";
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "иаҧцатәуп Ð¸Ò­Ð°Ñ†Ó™Ñƒ Ð°Ñ…ьӡынҵа";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Returns a list, of length 0, containing no data records";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "ахьӡынҵа";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this list block.";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "иаҧҵатәуп Ð°Ñ…ьӡынҵа Ð°ÒŸÑ‹Ð½Ñ‚әи";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Иацнаҵоит Ð°ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ð°Ñ…ьӡынҵахьы";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Create a list with any number of items.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "актәи";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "â„– Ð°Ð½ÒµÓ™Ð°Ð¼Ð½Ò­Ð° Ð°ÒŸÑ‹Ð½Ñ‚әи";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "игатәуп";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "иалхны Ð¸Ð°Ð½Ñ‹Ñ…тәуп";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "аҵыхәтәантәи";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "иарбанзаалакь";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "ианыхтәуп";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Иҳанаҭоит Ð°Ñ…ьӡынҵа Ð°ÐºÑ‚әи Ð°ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Returns the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Иҳанаҭоит Ð°Ñ…ьӡынҵа Ð°ÒµÑ‹Ñ…әтәантәи Ð°ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Иҳанаҭоит Ð°Ñ…ьӡынҵа Ð¸Ð°Ñ€Ð±Ð°Ð½Ð·Ð°Ð°Ð»Ð°ÐºÑŒ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚к.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "Removes and returns the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "Removes and returns the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "Removes and returns the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Removes and returns a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "Ианнахәуеит Ð°Ñ…ьӡынҵа Ð°ÐºÑ‚әи Ð°ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "Removes the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "Ианнахәуеит Ð°Ñ…ьӡынҵа Ð°ÒµÑ‹Ñ…әтәантәи Ð°ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Ианнахәуеит Ð°Ñ…ьӡынҵа Ð¸Ð°Ñ€Ð±Ð°Ð½Ð·Ð°Ð°Ð»Ð°ÐºÑŒ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚к.";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "to # from end";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "â„– Ð°Ð»Ð°";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "to last";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "get sub-list from first";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "get sub-list from # from end";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "get sub-list from #";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Creates a copy of the specified portion of a list.";  // untranslated
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 - Ð°ÒµÑ‹Ñ…әтәантәи Ð°ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚.";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 - Ð°ÐºÑ‚әи Ð°ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚.";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "find first occurrence of item";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "find last occurrence of item";  // untranslated
+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.";  // untranslated
+Blockly.Msg["LISTS_INLIST"] = "ахьӡынҵа Ð°ÒŸÐ½Ñ‹";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 Ò­Ð°Ñ†Ó™ÑƒÐ¿";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Иҳанаҭоит Ð°Ð¸Ð°ÑˆÐ°, Ð°Ñ…ьӡынҵа Ò­Ð°Ñ†Ó™Ñ‹Ð·Ð°Ñ€.";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "аура %1";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Иҳанаҭоит Ð°Ñ…ьӡынҵа Ð°ÑƒÑ€Ð°.";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "create list with item %1 repeated %2 times";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Creates a list consisting of the given value repeated the specified number of times.";  // untranslated
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";  // untranslated
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Reverse a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "=";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "ибжьаргылатәуп";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "иаҭатәуп";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Inserts the item at the start of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Inserts the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Иацнаҵоит Ð°ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ð°Ñ…ьӡынҵа Ð°Ð½ÒµÓ™Ð°Ð¼Ò­Ð°Ñ…ÑŒ.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Inserts the item randomly in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Sets the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Sets the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Sets the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Sets a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";  // untranslated
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "еиҵоу-еиҳауала";
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "еиҳау-еиҵоуала";
+Blockly.Msg["LISTS_SORT_TITLE"] = "еилыҧшаатәуп %1 %2 %3";
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Еилыҧшаатәуп Ð°Ñ…ьӡынҵа Ð°ÐºÐ¾Ð¿Ð¸Ð°.";
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "alphabetic, ignore case";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "ахыҧхьаӡаратәи";
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "алфавитла";
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "make list from text";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "еизгатәуп Ð°Ñ‚еқÑÑ‚ Ð°Ñ…ьӡынҵа Ð°ÒŸÑ‹Ð½Ñ‚әи";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Join a list of texts into one text, separated by a delimiter.";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Split text into a list of texts, breaking at each delimiter.";  // untranslated
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "with delimiter";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "амц";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "Иҳанаҭоит Ð°ÒµÐ°ÐºÑ‹ Ð°Ð¸Ð°ÑˆÐ° Ð¼Ð° Ð°Ð¼Ñ†";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "аиаша";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://ru.wikipedia.org/wiki/Ðиҟарамра";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Иҳанаҭоит Ð¸ÒµÐ¾ÑƒÑ€Ð¾Ñƒ Ð°ÒµÐ°ÐºÑ‹, Ð¸Ò­Ð°Ð³Ð°Ð»Ð°Ò›Ó™Ð¾Ñƒ ÐµÐ¸ÒŸÐ°Ñ€Ð°Ð·Ð°Ñ€.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Иҳанаҭоит Ð°ÒµÐ°ÐºÑ‹ Ð°Ð¸Ð°ÑˆÐ°, Ð°ÐºÑ‚әи Ð¸Ò­Ð°Ð³Ð°Ð»Ð¾Ñƒ Ð°Ò©Ð±Ð°Ñ‚әи Ð°Ð°Ñҭа ÐµÐ¸Ò³Ð°Ð·Ð°Ñ€.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Иҳанаҭоит Ð°ÒµÐ°ÐºÑ‹ Ð°Ð¸Ð°ÑˆÐ°, Ð°ÐºÑ‚әи Ð¸Ò­Ð°Ð³Ð°Ð»Ð¾Ñƒ Ð°Ò©Ð±Ð°Ñ‚әи Ð°Ð°Ñҭа ÐµÐ¸Ò³Ð°Ð·Ð°Ñ€ Ð¼Ð° Ð¸Ð°ÒŸÐ°Ñ€Ð°Ð·Ð°Ñ€.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "Иҳанаҭоит Ð¸ÒµÐ¾ÑƒÑ€Ð¾Ñƒ Ð°ÒµÐ°ÐºÑ‹, Ð°ÐºÑ‚әи Ð¸Ò­Ð°Ð³Ð°Ð»Ð¾Ñƒ Ð°Ò©Ð±Ð°Ñ‚әи Ð°Ð°Ñҭа ÐµÐ¸ÒµÐ°Ð·Ð°Ñ€.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "Иҳанаҭоит Ð°ÒµÐ°ÐºÑ‹ Ð°Ð¸Ð°ÑˆÐ°, Ð°ÐºÑ‚әи Ð¸Ò­Ð°Ð³Ð°Ð»Ð¾Ñƒ Ð°Ò©Ð±Ð°Ñ‚әи Ð°Ð°Ñҭа ÐµÐ¸ÒµÐ°Ð·Ð°Ñ€ Ð¼Ð° Ð¸Ð°ÒŸÐ°Ñ€Ð°Ð·Ð°Ñ€.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "Иҳанаҭоит Ð¸ÒµÐ¾ÑƒÑ€Ð¾Ñƒ Ð°ÒµÐ°ÐºÑ‹, Ð¸Ò­Ð°Ð³Ð°Ð»Ð°Ò›Ó™Ð¾Ñƒ ÐµÐ¸ÒŸÐ°Ñ€Ð°Ð¼Ð·Ð°Ñ€.";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "%1 Ð°ÐºÓ™Ó¡Ð°Ð¼";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "Иҳанаҭоит Ð°ÒµÐ°ÐºÑ‹ Ð°Ð¸Ð°ÑˆÐ°, Ð¸Ò­Ð°Ð³Ð°Ð»Ð¾Ñƒ Ð¼Ñ†Ñ‹Ð·Ð°Ñ€. Ð˜Ò³Ð°Ð½Ð°Ò­Ð¾Ð¸Ñ‚ Ð°ÒµÐ°ÐºÑ‹ Ð°Ð¼Ñ†, Ð¸Ò­Ð°Ð³Ð°Ð»Ð¾Ñƒ Ð¸Ð°ÑˆÐ°Ð·Ð°Ñ€.";
+Blockly.Msg["LOGIC_NULL"] = "акагьы";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";  // untranslated
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "Иҳанаҭоит Ð°ÐºÐ°Ð³ÑŒÑ‹";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "и";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "ма";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "Иҳанаҭоит Ð°ÒµÐ°ÐºÑ‹ Ð°Ð¸Ð°ÑˆÐ°, Ð¸Ò­Ð°Ð³Ð°Ð»Ð¾Ñƒ Ð°Ò©Ð±Ð°Ð³ÑŒÑ‹ Ð¸Ð°ÑˆÐ°Ð·Ð°Ñ€.";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "Иҳанаҭоит Ð°ÒµÐ°ÐºÑ‹ Ð°Ð¸Ð°ÑˆÐ°, Ð¸Ò­Ð°Ð³Ð°Ð»Ð¾Ñƒ Ñ€ÑƒÐ°Ðº Ð¸Ð°ÑˆÐ°Ð·Ð°Ñ€.";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "иалхтәуп Ð°Ð»Ð°";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "амц Ð°ÐºÓ™Ð·Ð°Ñ€";
+Blockly.Msg["LOGIC_TERNARY_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.";  // untranslated
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://ru.wikipedia.org/wiki/Ðрифметика";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Иҳанаҭоит Ò©-хыҧхьаӡарак Ñ€ÐµÐ¸Ñ†ÒµÐ°Ð»Ñ‹Òµ.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Иҳанаҭоит Ò©-хыҧхьаӡарак Ñ€ÑˆÐ°Ð»Ñ‹Òµ.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Иҳанаҭоит Ò©-хыҧхьаӡарак Ñ€ÐµÐ¸Ð³Ñ‹Ñ€Ñ…алыҵ.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Иҳанаҭоит Ò©-хыҧхьаӡарак Ñ€Ñ‹ÑˆÑŒÒ­Ñ‹Ñ…лыҵ.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Return the first number raised to the power of the second number.";  // untranslated
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";  // untranslated
+Blockly.Msg["MATH_CHANGE_TITLE"] = "иеизырҳатәуп %1 %2 Ñ€Ñ‹Ð»Ð°";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Иацнаҵоит Ð°Ñ…ыҧхьаӡара Ð°Ò½ÐµÐ¸Ò­Ð°Ðº'%1' Ð°Ñ…ÑŒ.";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://ru.wikipedia.org/wiki/Ðматематикатә_конÑтанта";
+Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "Иҳанаҭооит Ð°ÐºÐ¾Ð½Ñтантақәа Ñ€ÑƒÐ°Ðº: Ï€ (3.141...), e (2.718...), Ï† (1.618...), sqrt(2) (1.414...), sqrt(½) (0.707...) Ð¼Ð° âˆž (аҵыхәаҧҵәарадара).";
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "constrain %1 low %2 high %3";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Constrain a number to be between the specified limits (inclusive).";  // untranslated
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";  // untranslated
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "ишоит Ð°Ð»Ð°";
+Blockly.Msg["MATH_IS_EVEN"] = "еиҩшо";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "иҵоурам";
+Blockly.Msg["MATH_IS_ODD"] = "еиҩымшо";
+Blockly.Msg["MATH_IS_POSITIVE"] = "иҵоуроу";
+Blockly.Msg["MATH_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.";  // untranslated
+Blockly.Msg["MATH_IS_WHOLE"] = "аибга";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://ru.wikipedia.org/wiki/Ðшара_цәынхала";
+Blockly.Msg["MATH_MODULO_TITLE"] = "ацәынха %1 : %2";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Иҳанаҭоит Ð°Ñ†Ó™Ñ‹Ð½Ñ…а Ò©-хыҧхьаӡарак Ñ€ÑˆÐ°Ñ€Ð°Ð°Ð½.";
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";  // untranslated
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://ru.wikipedia.org/wiki/Ðхыҧхьаӡара";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "Ðхыҧхьаӡара.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "ахьӡынҵа Ð°Ñ€Ð¸Ñ„метикатә Ð±Ð¶ÑŒÐ°Ñ€Ð°";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "ахьӡынҵа Ð°ÒŸÐ½Ñ‹ Ð¸Ñ€ÐµÐ¸Ò³Ð°Ñƒ";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "ахьӡынҵа Ð°Ð¼ÐµÐ´Ð¸Ð°Ð½Ð°";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "ахьӡынҵа Ð°ÒŸÐ½Ñ‹ Ð¸Ñ€ÐµÐ¸ÒµÐ¾";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "ахьӡынҵа Ð°Ð¼Ð¾Ð´Ð°";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "ахьӡынҵа Ð¸Ð°Ñ€Ð±Ð°Ð½Ð·Ð°Ð°Ð»Ð°ÐºÑŒ Ð°ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "standard deviation of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "ахьӡынҵа Ð°Ð¸Ñ†ÒµÐ°Ð»Ñ‹Òµ";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Иҳанаҭоит Ð°Ñ…ьӡынҵа Ð°ÒŸÐ½Ñ‹ Ð°Ñ…ыҧхьаӡарақәа Ð·ÐµÐ³ÑŒÑ‹ Ñ€Ð°Ñ€Ð¸Ñ„метикатә Ð±Ð¶ÑŒÐ°Ñ€Ð°.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "Иҳанаҭоит Ð°Ñ…ьӡынҵа Ð°ÒŸÐ½Ñ‹ Ð¸Ñ€ÐµÐ¸Ò³Ð°Ñƒ Ð°Ñ…ыҧхьаӡара.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "Иҳанаҭоит Ð°Ñ…ьӡынҵа Ð°ÒŸÐ½Ñ‹ Ð°Ñ…ыҧхьаӡарақәа Ð·ÐµÐ³ÑŒÑ‹ Ñ€Ð¼ÐµÐ´Ð¸Ð°Ð½Ð°.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "Иҳанаҭоит Ð°Ñ…ьӡынҵа Ð°ÒŸÐ½Ñ‹ Ð¸Ñ€ÐµÐ¸Ñ†Ð¾ Ð°Ñ…ыҧхьаӡара.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Return a list of the most common item(s) in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Иҳанаҭоит Ð°Ñ…ьӡынҵа Ð°ÒŸÐ½Ñ‹ Ð¸Ð°Ñ€Ð±Ð°Ð½Ð·Ð°Ð°Ð»Ð°ÐºÑŒ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚к.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Return the standard deviation of the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Иҳанаҭоит Ð°Ñ…ьӡынҵа Ð¸Ð°ÒµÐ°Ð½Ð°ÐºÑƒÐ° Ð°Ñ…ыҧхьаӡарақәа Ð·ÐµÐ³ÑŒÑ‹ Ñ€ÐµÐ¸Ñ†ÒµÐ°Ð»Ñ‹Òµ.";
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "иарбанзаалакь Ð°Ñ…ыҧхьашара 0 Ð¸Ð½Ð°Ñ€ÐºÐ½Ñ‹ (иалаҵаны)  1 Ð°ÒŸÑ‹Ð½Ó¡Ð°";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Иҳанаҭоит Ð¸Ð°Ñ€Ð±Ð°Ð½Ð·Ð°Ð°Ð»Ð°ÐºÑŒ Ð°Ñ…ыҧхьаӡара 0.0 Ð¸Ð½Ð°Ñ€ÐºÐ½Ñ‹ (иалаҵаны) 1.0 Ð°ÒŸÑ‹Ð½Ó¡Ð°.";
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";  // untranslated
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "иарбанзаалакь ÐµÐ¸Ð±Ð³Ð¾Ñƒ Ð°Ñ…ыҧхьаӡара %1 Ð¸Ð½Ð°Ñ€ÐºÐ½Ñ‹ %2 Ð½Ó¡Ð°";
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Return a random integer between the two specified limits, inclusive.";  // untranslated
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://ru.wikipedia.org/wiki/Ðхыркәшара";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "ихыркәшатәуп";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "ихыркәшатәуп ÐµÐ¸ÒµÐ¾Ñƒ Ð°Ñ…ÑŒ";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "ихыркәшатәуп ÐµÐ¸Ò³Ð°Ñƒ Ð°Ñ…ÑŒ";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Round a number up or down.";  // untranslated
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://en.wikipedia.org/wiki/Square_root";  // untranslated
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "амодуль";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "square root";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Иҳанаҭоит Ð°Ñ…ыҧхьаӡара Ð°Ð¼Ð¾Ð´ÑƒÐ»ÑŒ.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Return e to the power of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "Иҳанаҭоит Ð°Ñ…ыҧхьаӡара Ð¸Ò§Ñабаратәу Ð°Ð»Ð°Ð³Ð¾Ñ€Ð¸Ñ„м.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "Иҳанаҭоит Ð°Ñ…ыҧхьаӡара Ð°Ð¶Ó™Ð°Ð±Ð°Ñ‚Ó™ Ð»Ð¾Ð³Ð°Ñ€Ð¸Ì“фм";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Иҳанаҭоит Ð¸Ð°Ò¿Ð°Ð³Ñ‹Ð»Ð¾ Ð°Ñ…ыҧхьаӡара.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Return 10 to the power of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Return the square root of a number.";  // untranslated
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";  // untranslated
+Blockly.Msg["MATH_TRIG_ACOS"] = "acos";  // untranslated
+Blockly.Msg["MATH_TRIG_ASIN"] = "asin";  // untranslated
+Blockly.Msg["MATH_TRIG_ATAN"] = "atan";  // untranslated
+Blockly.Msg["MATH_TRIG_COS"] = "cos";  // untranslated
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://ru.wikipedia.org/wiki/Ðтригонометриатә_функциақәа";
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";  // untranslated
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Иҳанаҭоит Ð°Ñ€ÐºÐºÐ¾ÑинуѠградуÑла.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Иҳанаҭоит Ð°Ñ€ÐºÑинуѠградуÑла.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Иҳанаҭоит Ð°Ñ€ÐºÑ‚ангенѠградуÑла.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Иҳанаҭоит Ð°ÐºÐ¾ÑинуѠградуÑла.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Иҳанаҭоит Ð°ÑинуѠградуÑла.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Иҳанаҭоит Ð°Ñ‚ангенѠградуÑла.";
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Create colour variable...";  // untranslated
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Create number variable...";  // untranslated
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Create string variable...";  // untranslated
+Blockly.Msg["NEW_VARIABLE"] = "Иаҧҵатәуп Ð°Ò½ÐµÐ¸Ò­Ð°Ðº";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "Ðҽеиҭак Ð°Ñ…ьӡ Ò¿Ñ‹Ñ†:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "New variable type:";  // untranslated
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "Ðоператорқәа Ð°Ð·Ð¸Ð½ Ñ€Ñ‹Ò­Ð°Ñ€Ð°";
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "аҟынтәи:";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://ru.wikipedia.org/wiki/Ðцхыраагӡатә Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð°";
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Run the user-defined function '%1'.";  // untranslated
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://ru.wikipedia.org/wiki/Ðцхыраагӡатә Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð°";
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Run the user-defined function '%1' and use its output.";  // untranslated
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "аҟынтәи:";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "Иаҧҵатәуп Ð°Ð°Ò§Ñ…ьара'%1'";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Ðбри Ð°Ñ„ункциа Ð°Ñ…ҳәа Ð°Ð·Ñ‹ÒŸÐ°ÑˆÓ™ÒµÐ°...";
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "иҟаҵатәуп ÑŸÑŒÐ°Ñ€Ð° Ð°ÐºÑ‹";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "азы";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Иаҧнаҵоит Ð°Ð¿Ñ€Ð¾Ñ†ÐµÐ´ÑƒÑ€Ð°, Ð°ÒµÐ°ÐºÑ‹ Ò³Ð°Ð·Ñ‹Ð¼Ò­Ð¾.";
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "ирхынҳәтәуп";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "Иаҧнаҵоит Ð°Ð¿Ñ€Ð¾Ñ†ÐµÐ´ÑƒÑ€Ð°, Ð°ÒµÐ°ÐºÑ‹ Ò³Ð°Ð·Ò­Ð¾.";
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "Warning: This function has duplicate parameters.";  // untranslated
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "Highlight function definition";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "Ðктәи Ð°ÒµÐ°ÐºÑ‹ Ð¸Ð°ÑˆÐ°Ð·Ð°Ñ€, Ð¸Ò³Ð°Ð½Ð°Ò­Ð¾Ð¸Ñ‚ Ð°Ò©Ð±Ð°Ñ‚әи Ð°ÒµÐ°ÐºÑ‹.";
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "Ðгәаҽанҵара: Ðри Ð°Ð±Ð»Ð¾Ðº Ð°Ñ…архәара Ð°ÑƒÐµÐ¸Ñ‚ Ð°Ñ„ункциа Ð°Ò§ÒµÐ°Ñ€Ð° Ð°ÒŸÐ½Ñ‹.";
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "апараметр Ð°Ñ…ьӡ:";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Add an input to the function.";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "апараметрқәа";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Add, remove, or reorder inputs to this function.";  // untranslated
+Blockly.Msg["REDO"] = "Ðиҭаҟаҵара";
+Blockly.Msg["REMOVE_COMMENT"] = "Ианыхтәуп Ð°Ñ…цәажәара";
+Blockly.Msg["RENAME_VARIABLE"] = "Ðҽеиҭак Ð°Ñ…ьӡ Ò§Ñахтәуп";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Ðҽеиҭакқәа'%1' Ð·ÐµÐ³ÑŒ Ñ€Ñ‹Ñ…ьӡ Ò§Ñахтәуп Ð°ÒŸÐ½Ñ‹:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "%1 Ð°Ñ…ьы Ð¸Ð°Ñ†ÒµÐ°Ñ‚әуп Ð°Ñ‚еқÑÑ‚ %2";
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Иацҵатәуп Ð°Ñ‚еқÑÑ‚ Ð°Ò½ÐµÐ¸Ò­Ð°Ðº Â«%1» Ð°Ñ…ÑŒ.";
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "to lower case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "to Title Case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "to UPPER CASE";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Return a copy of the text in a different case.";  // untranslated
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "игатәуп Ð°ÐºÑ‚әи Ð°Ð½Ð±Ð°Ð½";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "игатәуп Ð°Ð½Ð±Ð°Ð½ â„– Ð°Ð½ÒµÓ™Ð°Ð¼Ò­Ð° Ð°ÒŸÑ‹Ð½Ñ‚әи";
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "игатәуп Ð°Ð½Ð±Ð°Ð½ â„–";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "игатәуп Ð°ÒµÑ‹Ñ…әтәантәи Ð°Ð½Ð±Ð°Ð½";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "игатәуп Ð¸Ð°Ñ€Ð±Ð°Ð½Ð·Ð°Ð°Ð»Ð°ÐºÑŒ Ð½Ð±Ð°Ð½Ðº";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "атеқÑÑ‚ %1 %2 Ð°ÒŸÐ½Ñ‹";
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Иҳанаҭоит Ð°Ð½Ð±Ð°Ð½ Ð¸Ð°Ñ€Ð±Ð¾Ñƒ Ð°Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ð° Ð°ÒŸÐ½Ñ‹";
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";  // untranslated
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "count %1 in %2";  // untranslated
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Count how many times some text occurs within some other text.";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Иацҵатәуп Ð°ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ð°Ñ‚еқÑÑ‚ Ð°Ñ…ÑŒ.";
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "иеиҧшьтәуп";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this text block.";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "to letter # from end";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "анбан â„– Ð°Ð»Ð°";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "аҵыхәтәантәи Ð°Ð½Ð±Ð°Ð½ Ð°Ð»Ð°";
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "атеқÑÑ‚ Ð°ÒŸÐ½Ñ‹";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "get substring from first letter";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "get substring from letter # from end";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "get substring from letter #";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Иҳанаҭоит Ð°Ñ‚еқÑÑ‚ Ð°ÒŸÐ½Ñ‹ Ð¸Ð°Ñ€Ð±Ð¾Ñƒ Ð°Ñ…әҭа.";
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "find first occurrence of text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "find last occurrence of text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "атеқÑÑ‚ %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.";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 Ò­Ð°Ñ†Ó™ÑƒÐ¿";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Иҳанаҭоит Ð°ÒµÐ°ÐºÑ‹ Ð°Ð¸Ð°ÑˆÐ°, Ð¸ÒŸÐ¾Ñƒ Ð°Ñ‚еқÑÑ‚ Ò­Ð°Ñ†Ó™Ñ‹Ð·Ð°Ñ€.";
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "иаҧҵатәуп Ð°Ñ‚еқÑÑ‚ Ð°ÒŸÑ‹Ð½Ñ‚әи";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Create a piece of text by joining together any number of items.";  // untranslated
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "аура %1";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Иҳанаҭоит Ð°Ñимволқәа Ñ€Ñ…ыҧхьаӡара (апробелқәа Ð°Ð»Ð°ÒµÐ°Ð½Ñ‹) Ð¸ÒŸÐ¾Ñƒ Ð°Ñ‚еқÑÑ‚ Ð°ÒŸÐ½Ñ‹.";
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "икьыҧхьтәуп %1";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Иакьыҧхьуеит Ð°Ñ‚еқÑÑ‚, Ð°Ñ…ыҧхьаӡара Ð¼Ð° Ð´Ð°Ò½Ð° Ð¾Ð±Ð¸ÐµÒ›Ñ‚к.";
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Prompt for user for a number.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Prompt for user for some text.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "prompt for number with message";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "prompt for text with message";  // untranslated
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";  // untranslated
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "иҧÑахтәуп %1 %2 Ð°Ð»Ð° %3 Ð°ÒŸÐ½Ñ‹";
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Replace all occurances of some text within some other text.";  // untranslated
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";  // untranslated
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Reverses the order of the characters in the text.";  // untranslated
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://ru.wikipedia.org/wiki/Ðцәаҳәатә_хкы";
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "Ðнбан, Ð°Ð¶Ó™Ð° Ð¼Ð° Ð°Ñ†Ó™Ð°Ò³Ó™Ð° Ð°Ñ‚еқÑÑ‚ Ð°ÒŸÐ½Ñ‹.";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "trim spaces from both sides of";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "trim spaces from left side of";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "trim spaces from right side of";  // untranslated
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Return a copy of the text with spaces removed from one or both ends.";  // untranslated
+Blockly.Msg["TODAY"] = "Иахьа";
+Blockly.Msg["UNDO"] = "Иаҟәыхтәуп";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "аелемент";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Иаҧҵатәуп Ð°Ð±Ð»Ð¾Ðº \"иаҭатәуп\" %1 Ð°Ð·Ñ‹";
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Иҳанаҭоит Ð°Ò½ÐµÐ¸Ò­Ð°Ðº Ð°ÒµÐ°ÐºÑ‹.";
+Blockly.Msg["VARIABLES_SET"] = "иаҭатәуп %1 = %2";
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Create 'get %1'";  // untranslated
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Sets this variable to be equal to the input.";  // untranslated
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "Ðҽеиҭак Ð°Ñ…ьӡ '%1' Ð·Ð¼Ð¾Ñƒ Ñ‹ÒŸÐ¾ÑƒÐ¿.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "A variable named '%1' already exists for another type: '%2'.";  // untranslated
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something...";  // untranslated
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/ar.js b/js/msg/js/ar.js
new file mode 100644 (file)
index 0000000..3f763c0
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.ar');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "أض٠تعليقًا";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "لايمكن Ø­Ø°Ù Ù…تغير \"%1\" Ø¨Ø³Ø¨Ø¨ Ø§Ù†Ù‡ Ø¬Ø²Ø¡ Ù…Ù† Ø§Ù„دالة \"%2\"";
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "تغيير Ù‚يمة:";
+Blockly.Msg["CLEAN_UP"] = "ترتيب Ø§Ù„قطع";
+Blockly.Msg["COLLAPSE_ALL"] = "إخÙاء Ø§Ù„قطع";
+Blockly.Msg["COLLAPSE_BLOCK"] = "إخÙاء Ø§Ù„قطعة";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "اللون 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "اللون 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "نسبة";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "دمج";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "دمج Ù„ونين Ø¨Ø¨Ø¹Ø¶Ù‡Ù…ا Ø§Ù„بعض Ø¨Ù†Ø³Ø¨Ø© (0.0 - 1.0).";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://ar.wikipedia.org/wiki/Color";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "اختر Ù„ون Ù…Ù† Ø§Ù„لوحة.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "لون Ø¹Ø´ÙˆØ§Ø¦ÙŠ";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "اختر Ù„ون Ø¨Ø´ÙƒÙ„ Ø¹Ø´ÙˆØ§Ø¦ÙŠ.";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "أزرق";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "أخضر";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";
+Blockly.Msg["COLOUR_RGB_RED"] = "أحمر";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "لون Ù…ع";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "إنشئ Ù„ون Ø¨Ø§Ù„كمية Ø§Ù„محددة Ù…Ù† Ø§Ù„أحمر, Ø§Ù„أخضر ÙˆØ§Ù„أزرق. Ø¨Ø­ÙŠØ« ÙŠØ¬Ø¨ ØªÙƒÙˆÙ† ÙƒØ§ÙØ© Ø§Ù„قيم Ø¨ÙŠÙ† 0 Ùˆ 100.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "اخرج Ù…Ù† Ø§Ù„حلقة";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "استمر Ø§Ø¨ØªØ¯Ø§Ø¡Ø§ Ù…Ù† Ø§Ù„تكرار Ø§Ù„تالي Ù…Ù† Ø§Ù„حلقة";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "اخرج Ù…Ù† Ø§Ù„حلقة Ø§Ù„حالية.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "تخط Ù…ا ØªØ¨Ù‚Ù‰ Ù…Ù† Ù‡Ø°Ù‡ Ø§Ù„حلقة، ÙˆØ§Ø³ØªÙ…ر Ø§Ø¨ØªØ¯Ø§Ø¡Ø§ Ù…Ù† Ø§Ù„تكرار Ø§Ù„تالي.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "تحذير: ÙŠÙ…كن Ø§Ø³ØªØ®Ø¯Ø§Ù… Ù‡Ø°Ù‡ Ø§Ù„قطعة Ùقط Ø¯Ø§Ø®Ù„ Ø­Ù„قة.";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "لكل Ø¹Ù†ØµØ± %1 ÙÙŠ Ù‚ائمة %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "لكل Ø¹Ù†ØµØ± ÙÙŠ Ù‚ائمة Ù…ا، Ø¹ÙŠÙ† Ø§Ù„متغير '%1' Ù„هذا Ø§Ù„غنصر، ÙˆÙ…Ù† Ø«Ù… Ù†ÙØ° Ø¨Ø¹Ø¶ Ø§Ù„أوامر.";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "عد Ø¨Ù€ %1 Ù…Ù† %2 Ø¥Ù„Ù‰ %3 Ø¨Ù…عدل %4";
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "اجعل Ø§Ù„متغير  %1 ÙŠØ£Ø®Ø° Ø§Ù„قيم Ù…Ù† Ø±Ù‚Ù… Ø§Ù„بداية Ø§Ù„Ù‰ Ø±Ù‚Ù… Ø§Ù„نهاية، ÙˆÙ‚Ù… Ø¨Ø§Ù„عد Ø¯Ø§Ø®Ù„ Ø§Ù„مجال Ø§Ù„محدد، ÙˆØ·Ø¨Ù‚ Ø£ÙˆØ§Ù…ر Ø§Ù„قطع Ø§Ù„محددة.";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "إض٠شرطا Ø¥Ù„Ù‰ Ø§Ù„قطعة Ø§Ù„شرطية \"إذا\".";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "أض٠شرط \"نهاية، Ø¥Ø¬Ù…ع\" Ø¥Ù„Ù‰ Ø§Ù„قطعة Ø§Ù„شرطية \"إذا\".";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "أضÙ, Ø¥Ø²Ù„, Ø£Ùˆ Ø£Ø¹Ø¯ ØªØ±ØªÙŠØ¨ Ø§Ù„مقاطع Ù„إعادة ØªÙƒÙˆÙŠÙ† Ø§Ù„قطعة Ø§Ù„شرطية \"إذا\".";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "والا";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "وإﻻ Ø¥Ø°Ø§";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "إذا";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "إذا ÙƒØ§Ù†Øª Ù‚يمة Ù…ا ØªØ³Ø§ÙˆÙŠ ØµØ­ÙŠØ­, Ø¥Ø°Ù† Ù‚Ù… Ø¨ØªÙ†Ùيذ Ø£Ù…ر Ù…ا.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "إذا ÙƒØ§Ù†Øª Ù‚يمة Ù…ا ØªØ³Ø§ÙˆÙŠ \"صحيح\"ØŒ Ø¥Ø°Ù† Ù‚Ù… Ø¨ØªÙ†Ùيذ Ø£ÙˆÙ„ Ù‚طعة Ù…Ù† Ø§Ù„أوامر. ÙˆØ§Ù„ا ØŒÙ‚Ù… Ø¨ØªÙ†Ùيذ Ø§Ù„قطعة Ø§Ù„ثانية Ù…Ù† Ø§Ù„أوامر.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "إذا ÙƒØ§Ù†Øª Ø§Ù„قيمة Ø§Ù„أولى ØªØ³Ø§ÙˆÙŠ \"صحيح\", Ø¥Ø°Ù† Ù‚Ù… Ø¨ØªÙ†Ùيذ Ø§Ù„قطعة Ø§Ù„أولى Ù…Ù† Ø§Ù„أوامر. ÙˆØ§Ù„ا, Ø¥Ø°Ø§ ÙƒØ§Ù†Øª Ø§Ù„قيمة Ø§Ù„ثانية ØªØ³Ø§ÙˆÙŠ \"صحيح\", Ù‚Ù… Ø¨ØªÙ†Ùيذ Ø§Ù„قطعة Ø§Ù„ثانية Ù…Ù† Ø§Ù„أوامر.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "إذا ÙƒØ§Ù†Øª Ø§Ù„قيمة Ø§Ù„أولى ØªØ³Ø§ÙˆÙŠ \"صحيح\", Ø¥Ø°Ù† Ù‚Ù… Ø¨ØªÙ†Ùيذ Ø§Ù„قطعة Ø§Ù„أولى Ù…Ù† Ø§Ù„أوامر. ÙˆØ§Ù„ا , Ø¥Ø°Ø§ ÙƒØ§Ù†Øª Ø§Ù„قيمة Ø§Ù„ثانية ØªØ³Ø§ÙˆÙŠ \"صحيح\", Ù‚Ù… Ø¨ØªÙ†Ùيذ Ø§Ù„قطعة Ø§Ù„ثانية Ù…Ù† Ø§Ù„أوامر. Ø¥Ø°Ø§ Ù„Ù… ØªÙƒÙ† Ù‡Ù†Ø§Ùƒ Ø£ÙŠ Ù‚يمة ØªØ³Ø§ÙˆÙŠ ØµØ­ÙŠØ­, Ù‚Ù… Ø¨ØªÙ†Ùيذ Ø¢Ø®Ø± Ù‚طعة Ù…Ù† Ø§Ù„أوامر.";
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://en.wikipedia.org/wiki/For_loop";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "Ù†Ùّذ";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "كرر  %1 Ù…رات";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "Ù†Ùّذ Ø¨Ø¹Ø¶ Ø§Ù„أوامر Ø¹Ø¯Ø© Ù…رات.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "اكرّر Ø­ØªÙ‰";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "اكرّر Ø·Ø§Ù„ما";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "بما Ø§Ù† Ø§Ù„قيمة Ø®Ø§Ø·Ø¦Ø©, Ù†Ùّذ Ø¨Ø¹Ø¶ Ø§Ù„أوامر.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "بما Ø§Ù† Ø§Ù„قيمة ØµØ­ÙŠØ­Ø©, Ù†Ùّذ Ø¨Ø¹Ø¶ Ø§Ù„أوامر.";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "حذ٠%1 Ù‚طعة؟";
+Blockly.Msg["DELETE_BLOCK"] = "احذ٠القطعة";
+Blockly.Msg["DELETE_VARIABLE"] = "حذ٠المتغير %1";
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "حذÙ%1 1 Ø§Ø³ØªØ®Ø¯Ø§Ù…ات Ø§Ù„متغير '%2'ØŸ";
+Blockly.Msg["DELETE_X_BLOCKS"] = "احذ٠%1 Ù‚طع";
+Blockly.Msg["DISABLE_BLOCK"] = "عطّل Ø§Ù„قطعة";
+Blockly.Msg["DUPLICATE_BLOCK"] = "مكرر";
+Blockly.Msg["DUPLICATE_COMMENT"] = "تعليق Ù…كرر";
+Blockly.Msg["ENABLE_BLOCK"] = "أعد ØªÙعيل Ø§Ù„قطعة";
+Blockly.Msg["EXPAND_ALL"] = "وسٌّع Ø§Ù„قطع";
+Blockly.Msg["EXPAND_BLOCK"] = "وسٌّع Ø§Ù„قطعة";
+Blockly.Msg["EXTERNAL_INPUTS"] = "ادخال Ø®Ø§Ø±Ø¬ÙŠ";
+Blockly.Msg["HELP"] = "مساعدة";
+Blockly.Msg["INLINE_INPUTS"] = "ادخال Ø®Ø·ÙŠ";
+Blockly.Msg["IOS_CANCEL"] = "ألغÙ";
+Blockly.Msg["IOS_ERROR"] = "خطأ";
+Blockly.Msg["IOS_OK"] = "أواÙÙ‚";
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+اضاÙØ© Ø§Ø¯Ø®Ø§Ù„";
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "العبارات Ø§Ù„مسموحة";
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "هذه Ø§Ù„دالة Ù„ها Ù…دخلات Ù…كررة.";
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "المدخلات";
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "أضÙ";
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+اض٠متغير";
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "احذÙ";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "لا ÙŠÙ…كنك Ø§Ø³ØªØ®Ø¯Ø§Ù… Ø§Ø³Ù… Ù…تغير Ùارغ.";
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "أعد Ø§Ù„تسمية";
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "اسم Ø§Ù„متغير";
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "إنشئ Ù‚ائمة Ùارغة";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "تقوم Ø¨Ø¥Ø±Ø¬Ø§Ø¹ Ù‚ائمة، Ø·ÙˆÙ„ها 0, Ù„ا ØªØ­ØªÙˆÙŠ Ø¹Ù„Ù‰ Ø£ÙŠØ© Ø³Ø¬Ù„ات Ø§Ù„بيانات";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "قائمة";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "أضÙ, Ø¥Ø²Ù„, Ø£Ùˆ Ø£Ø¹Ø¯ ØªØ±ØªÙŠØ¨ Ø§Ù„مقاطع Ù„إعادة ØªÙƒÙˆÙŠÙ† Ø§Ù„قطعة Ù‚ائمة Ø§Ù„قطع Ø§Ù„تالية.";
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "أتشئ Ù‚ائمة Ù…ع";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "أض٠عنصرا Ø¥Ù„Ù‰ Ø§Ù„قائمة.";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "أنشيء Ù‚ائمة Ù…Ù† Ø£ÙŠ Ø¹Ø¯Ø¯ Ù…Ù† Ø§Ù„عناصر.";
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "أول";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "# Ù…Ù† Ù†Ù‡Ø§ÙŠØ©";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "احصل Ø¹Ù„Ù‰";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "احصل Ø¹Ù„Ù‰ Ùˆ Ø§Ø²Ù„";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "أخير";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "عشوائي";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "ازل";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "يرجع Ø§Ù„عنصر Ø§Ù„أول ÙÙŠ Ù‚ائمة Ù…ا.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "يقوم Ø¨Ø¥Ø±Ø¬Ø§Ø¹ Ø§Ù„عنصر ÙÙŠ Ø§Ù„موضع Ø§Ù„محدد ÙÙŠ Ù‚ائمة Ù…ا.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "يرجع Ø§Ù„عنصر Ø§Ù„أخير ÙÙŠ Ù‚ائمة Ù…ا.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "يرجع Ø¹Ù†ØµØ±Ø§ Ø¹Ø´ÙˆØ§Ø¦ÙŠØ§ ÙÙŠ Ù‚ائمة.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "يزيل ÙˆÙŠØ±Ø¬Ø¹ Ø§Ù„عنصر Ø§Ù„أول ÙÙŠ Ù‚ائمة.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "يزيل ÙˆÙŠÙ‚وم Ø¨Ø¥Ø±Ø¬Ø§Ø¹ Ø§Ù„عنصر ÙÙŠ Ø§Ù„موضع Ø§Ù„محدد ÙÙŠ Ù‚ائمة Ù…ا.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "يزيل ÙˆÙŠØ±Ø¬Ø¹ Ø§Ù„عنصر Ø§Ù„أخير ÙÙŠ Ù‚ائمة Ù…ا.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "يزيل Ùˆ ÙŠØ±Ø¬Ø¹ Ø¹Ù†ØµØ±Ø§ Ø¹Ø´ÙˆØ§Ø¦ÙŠØ§ ÙÙŠ Ù‚ائمة Ù…ا.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "يزيل Ø§Ù„عنصر Ø§Ù„أول ÙÙŠ Ù‚ائمة Ù…ا.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "يزيل Ø§Ù„عنصر Ø§Ù„موجود ÙÙŠ Ø§Ù„موضع Ø§Ù„محدد ÙÙŠ Ù‚ائمة Ù…ا.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "يزيل Ø§Ù„عنصر Ø§Ù„أخير ÙÙŠ Ù‚ائمة Ù…ا.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "يزيل Ø¹Ù†ØµØ±Ø§ Ø¹Ø´ÙˆØ§Ø¦ÙŠØ§ ÙÙŠ Ù‚ائمة Ù…ا.";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "إلى # Ù…Ù† Ù†Ù‡Ø§ÙŠØ©";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "إلى #";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "إلى Ø§Ù„أخير";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "احصل Ø¹Ù„Ù‰ Ù‚ائمة Ùرعية Ù…Ù† Ø§Ù„أول";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "احصل  Ø¹Ù„Ù‰ Ù‚ائمة Ùرعية Ù…Ù† # Ù…Ù† Ù†Ù‡Ø§ÙŠØ©";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "احصل Ø¹Ù„Ù‰ Ù‚ائمة Ùرعية Ù…Ù† #";
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "يقوم Ø¨Ø¥Ù†Ø´Ø§Ø¡ Ù†Ø³Ø®Ø© Ù…Ù† Ø§Ù„جزء Ø§Ù„محدد Ù…Ù† Ù‚ائمة Ù…ا.";
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 Ù‡Ùˆ Ø§Ù„عنصر Ø§Ù„أخير.";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 Ù‡Ùˆ Ø§Ù„عنصر Ø§Ù„أول.";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "ابحث Ø¹Ù„Ù‰ Ø¹Ù„Ù‰ Ø§Ù„تواجد Ø§Ù„أول Ù„لعنصر";
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "ابحث Ø¹Ù„Ù‰ Ø§Ù„تواجد Ø§Ù„أخير Ù„لعنصر";
+Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "تقوم Ø¨Ø¥Ø±Ø¬Ø§Ø¹ Ù…ؤشر Ø§Ù„تواجد  Ø§Ù„أول/الأخير ÙÙŠ Ø§Ù„قائمة.  ØªÙ‚وم Ø¨Ø¥Ø±Ø¬Ø§Ø¹ %1 Ø¥Ø°Ø§ Ù„Ù… ÙŠØªÙ… Ø§Ù„عثور Ø¹Ù„Ù‰ Ø§Ù„نص.";
+Blockly.Msg["LISTS_INLIST"] = "ÙÙŠ Ù‚ائمة";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 Ùارغ";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "يرجع \"صحيح\" Ø¥Ø°Ø§ ÙƒØ§Ù†Øª Ø§Ù„قائمة Ùارغة.";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "الطول Ù…Ù† %1";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "تقوم Ø¨Ø¥Ø±Ø¬Ø§Ø¹ Ø·ÙˆÙ„ Ù‚ائمة.";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "إنشئ Ù‚ائمة Ù…ع Ø§Ù„عنصر  %1 %2 Ù…رات";
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "انشئ Ù‚ائمة ØªØªØ£Ù„٠من Ø§Ù„قيمة Ø§Ù„معطاة Ù…تكررة Ù„عدد Ù…حدد Ù…Ù† Ø§Ù„مرات.";
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";  // untranslated
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "عكس %1";
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "عكس Ù†Ø³Ø®Ø© Ù…Ù† Ø§Ù„قائمة.";
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "مثل";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "أدخل ÙÙŠ";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "تعيين";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "يقوم Ø¨Ø¥Ø¯Ø±Ø§Ø¬ Ù‡Ø°Ø§ Ø§Ù„عنصر ÙÙŠ Ø¨Ø¯Ø§ÙŠØ© Ù‚ائمة.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "يقوم Ø¨Ø¥Ø¯Ø®Ø§Ù„ Ø§Ù„عنصر ÙÙŠ Ø§Ù„موضع Ø§Ù„محدد ÙÙŠ Ù‚ائمة Ù…ا.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "ألصق Ù‡Ø°Ø§ Ø§Ù„عنصر Ø¨Ù†Ù‡Ø§ÙŠØ© Ù‚ائمة.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "ادخل Ø§Ù„عنصر Ø¹Ø´ÙˆØ§Ø¦ÙŠØ§Ù‹ ÙÙŠ Ø§Ù„قائمة.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "يحدد Ø§Ù„عنصر Ø§Ù„أول ÙÙŠ Ù‚ائمة.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "يحدد Ø§Ù„عنصر ÙÙŠ Ø§Ù„موضع Ø§Ù„محدد ÙÙŠ Ù‚ائمة Ù…ا.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "يحدد Ø§Ù„عنصر Ø§Ù„أخير ÙÙŠ Ù‚ائمة.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "يحدد Ø¹Ù†ØµØ±Ø§ Ø¹Ø´ÙˆØ§Ø¦ÙŠØ§ ÙÙŠ Ù‚ائمة.";
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "تصاعديا";
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "تنازليا";
+Blockly.Msg["LISTS_SORT_TITLE"] = "رتب %1 %2 %3";
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Ùرز Ù†Ø³Ø®Ø© Ù…Ù† Ø§Ù„قائمة.";
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "أبجديا، ÙˆØªØ¬Ø§Ù‡Ù„ Ø§Ù„حالة";
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "رقمي";
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "أبجديًا";
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "إعداد Ù‚ائمة Ù…Ù† Ø§Ù„نصوص";
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "إعداد Ù†Øµ Ù…Ù† Ø§Ù„قائمة";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "ضم Ù‚ائمة Ø§Ù„نصوص ÙÙŠ Ù†Øµ ÙˆØ§Ø­Ø¯ØŒ Ù…Ùصولة Ø¨ÙˆØ§Ø³Ø·Ø© Ù…حدد.";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "تقسيم Ø§Ù„نص Ø¥Ù„Ù‰ Ù‚ائمة Ù…Ù† Ø§Ù„نصوص، ÙˆÙƒØ³Ø± ÙÙŠ ÙƒÙ„ Ù…حدد";
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "مع Ù…حدد";
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "خاطئ";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "يرجع ØµØ­ÙŠØ­ Ø£Ùˆ Ø®Ø§Ø·Ø¦.";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "صحيح";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://en.wikipedia.org/wiki/Inequality_(mathematics)";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "يرجع ØµØ­ÙŠØ­ Ø¥Ø°Ø§ ÙƒØ§Ù† ÙƒÙ„ا Ø§Ù„مدخلات Ù…ساوية Ø¨Ø¹Ø¶Ù‡Ø§ Ø§Ù„بعض.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "يرجع ØµØ­ÙŠØ­ Ø¥Ø°Ø§ ÙƒØ§Ù† Ø§Ù„إدخال Ø§Ù„أول Ø£ÙƒØ¨Ø± Ù…Ù† Ø§Ù„إدخال Ø§Ù„ثاني.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "يرجع ØµØ­ÙŠØ­ Ø¥Ø°Ø§ ÙƒØ§Ù† Ø§Ù„إدخال Ø§Ù„أول Ø£ÙƒØ¨Ø± Ù…Ù† Ø£Ùˆ ÙŠØ³Ø§ÙˆÙŠ Ø§Ù„إدخال Ø§Ù„ثاني.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "يرجع ØµØ­ÙŠØ­ Ø¥Ø°Ø§ ÙƒØ§Ù† Ø§Ù„إدخال Ø§Ù„أول Ø£ØµØºØ± Ù…Ù† Ø§Ù„إدخال Ø§Ù„ثاني.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "يرجع ØµØ­ÙŠØ­ Ø¥Ø°Ø§ ÙƒØ§Ù† Ø§Ù„إدخال Ø§Ù„أول Ø£ØµØºØ± Ù…Ù† Ø£Ùˆ ÙŠØ³Ø§ÙˆÙŠ Ø§Ù„إدخال Ø§Ù„ثاني.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "يرجع ØµØ­ÙŠØ­ Ø¥Ø°Ø§ ÙƒØ§Ù†Øª ÙƒÙ„ا Ø§Ù„مدخلات ØºÙŠØ± Ù…ساوية Ù„بعضها Ø§Ù„بعض.";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "ليس %1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "يرجع ØµØ­ÙŠØ­ Ø¥Ø°Ø§ ÙƒØ§Ù† Ø§Ù„إدخال Ø®Ø§Ø·Ø¦ .  ÙŠØ±Ø¬Ø¹ Ø®Ø§Ø·Ø¦ Ø¥Ø°Ø§ ÙƒØ§Ù† Ø§Ù„إدخال ØµØ­ÙŠØ­.";
+Blockly.Msg["LOGIC_NULL"] = "Ùارغ";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "ترجع Ù…لغى.";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "Ùˆ";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "أو";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "ترجع ØµØ­ÙŠØ­ Ø¥Ø°Ø§ ÙƒØ§Ù† ÙƒÙ„ا Ø§Ù„مٌدخلات ØµØ­ÙŠØ­.";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "ترجع ØµØ­ÙŠØ­ Ø¥Ø°Ø§ ÙƒØ§Ù† ÙˆØ§Ø­Ø¯ Ø¹Ù„Ù‰ Ø§Ù„أقل Ù…Ù† Ø§Ù„مدخلات ØµØ­ÙŠØ­.";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "اختبار";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "إذا ÙƒØ§Ù†Øª Ø§Ù„عبارة Ø®Ø§Ø·Ø¦Ø©";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "إذا ÙƒØ§Ù†Øª Ø§Ù„عبارة ØµØ­ÙŠØ­Ø©";
+Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "تحقق Ø§Ù„شرط ÙÙŠ 'الاختبار'. Ø¥Ø°Ø§ ÙƒØ§Ù† Ø§Ù„شرط ØµØ­ÙŠØ­ØŒ ÙŠÙ‚وم Ø¨Ø¥Ø±Ø¬Ø§Ø¹ Ù‚يمة 'اذا ÙƒØ§Ù†Øª Ø§Ù„عبارة ØµØ­ÙŠØ­Ø©'Ø› Ø®Ù„ا٠ذلك ÙŠØ±Ø¬Ø¹ Ù‚يمة 'اذا ÙƒØ§Ù†Øª Ø§Ù„عبارة Ø®Ø§Ø·Ø¦Ø©'.";
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://en.wikipedia.org/wiki/Arithmetic";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "يرجع Ù…جموع Ø§Ù„رقمين.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "يرجع Ø­Ø§ØµÙ„ Ù‚سمة Ø§Ù„رقمين.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "يرجع Ø§Ù„Ùرق Ø¨ÙŠÙ† Ø§Ù„رقمين.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "يرجع Ø­Ø§ØµÙ„ Ø¶Ø±Ø¨ Ø§Ù„رقمين.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "يرجع Ø§Ù„رقم Ø§Ù„أول Ù…رÙوع Ø¥Ù„Ù‰ ØªØ±Ø¨ÙŠØ¹ Ø§Ù„رقم Ø§Ù„ثاني.";
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";
+Blockly.Msg["MATH_CHANGE_TITLE"] = "غير %1 Ø¨Ù€ %2";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "إض٠رقم Ø¥Ù„Ù‰ Ù…تغير '%1'.";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://en.wikipedia.org/wiki/Mathematical_constant";
+Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "ير Ø¬Ø¹ ÙˆØ§Ø­Ø¯ Ù…Ù† Ø§Ù„ثوابت Ø§Ù„شائعة : Ï€ (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)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "تقيد %1 Ù…نخÙض %2 Ù…رتÙع %3";
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "تقييد Ø§Ù„عددليكون Ø¨ÙŠÙ† Ø§Ù„حدود Ø§Ù„محددة (ضمناً).";
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "قابل Ù„لقسمة";
+Blockly.Msg["MATH_IS_EVEN"] = "هو Ø²ÙˆØ¬ÙŠ";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "هو Ø³Ø§Ù„ب";
+Blockly.Msg["MATH_IS_ODD"] = "هو Ùرذي";
+Blockly.Msg["MATH_IS_POSITIVE"] = "هو Ù…وجب";
+Blockly.Msg["MATH_IS_PRIME"] = "هو Ø£ÙˆÙ„ÙŠ";
+Blockly.Msg["MATH_IS_TOOLTIP"] = "تحقق Ø¥Ø°Ø§ ÙƒØ§Ù† Ø¹Ø¯Ø¯ Ù…ا Ø²ÙˆØ¬ÙŠØ§ØŒ Ùرذيا, Ø£ÙˆÙ„يا، ØµØ­ÙŠØ­Ø§ØŒÙ…وجبا Ø£Ùˆ Ø³Ø§Ù„با، Ø£Ùˆ Ø¥Ø°Ø§ ÙƒØ§Ù† Ù‚ابلا Ù„لقسمة Ø¹Ù„Ù‰ Ø¹Ø¯Ø¯ Ù…عين.  ÙŠØ±Ø¬Ø¹ ØµØ­ÙŠØ­ Ø£Ùˆ Ø®Ø§Ø·Ø¦.";
+Blockly.Msg["MATH_IS_WHOLE"] = "هو ØµØ­ÙŠØ­";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://en.wikipedia.org/wiki/Modulo_operation";
+Blockly.Msg["MATH_MODULO_TITLE"] = "باقي %1 Ã· %2";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "يرجع Ø§Ù„باقي Ù…Ù† Ù‚سمة Ø§Ù„رقمين.";
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://ar.wikipedia.org/wiki/%D8%B9%D8%AF%D8%AF";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "عدد Ù…ا.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "متوسط Ø§Ù„قائمة";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "الحد Ø§Ù„أقصى Ù„قائمة";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "متوسط Ø§Ù„قائمة";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "الحد Ø§Ù„أدنى Ù…Ù† Ù‚ائمة";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "منوال Ø§Ù„قائمة";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "عنصر Ø¹Ø´ÙˆØ§Ø¦ÙŠ Ù…Ù† Ø§Ù„قائمة";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "الانحرا٠المعياري Ù„لقائمة";
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "مجموع Ø§Ù„قائمة";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "يرجع Ø§Ù„معدل (الوسط Ø§Ù„حسابي) Ù„لقيم Ø§Ù„رقمية ÙÙŠ Ø§Ù„قائمة.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "يرجع Ø£ÙƒØ¨Ø± Ø¹Ø¯Ø¯ ÙÙŠ Ø§Ù„قائمة.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "يرجع ÙˆØ³ÙŠØ· Ø§Ù„عدد ÙÙŠ Ø§Ù„قائمة.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "يرجع Ø£ØµØºØ± Ø±Ù‚Ù… ÙÙŠ Ø§Ù„قائمة.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "يرجع Ù‚ائمة Ù…Ù† Ø§Ù„عنصر Ø£Ùˆ Ø§Ù„عناصر Ø§Ù„أكثر Ø´ÙŠÙˆØ¹Ø§Ù‹ ÙÙŠ Ø§Ù„قائمة.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "يرجع Ø¹Ù†ØµØ± Ø¹Ø´ÙˆØ§Ø¦ÙŠ Ù…Ù† Ø§Ù„قائمة.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "يرجع Ø§Ù„انحرا٠المعياري Ù„لقائمة.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "يرجع Ù…جموع ÙƒØ§ÙØ© Ø§Ù„أرقام Ø§Ù„موجودة ÙÙŠ Ø§Ù„قائمة.";
+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"] = "كسر Ø¹Ø´ÙˆØ§Ø¦ÙŠ";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "يرجع Ø¬Ø²Ø¡ Ø¹Ø´ÙˆØ§Ø¦ÙŠ Ø¨ÙŠÙ† 0.0 (ضمنياً) Ùˆ 1.0 (خارجيا).";
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = " Ø¹Ø¯Ø¯ ØµØ­ÙŠØ­ Ø¹Ø´ÙˆØ§Ø¦ÙŠ Ù…Ù† %1 Ø¥Ù„Ù‰ %2";
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "يرجع Ø¹Ø¯Ø¯ ØµØ­ÙŠØ­ Ø¹Ø´ÙˆØ§Ø¦ÙŠ Ø¨ÙŠÙ† Ø­Ø¯ÙŠÙ† Ù…حددين, Ø¶Ù…نيا.";
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://en.wikipedia.org/wiki/Rounding";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "تقريب";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "تقريب Ø¥Ù„Ù‰ Ø§ØµØºØ± Ø¹Ø¯Ø¯ ØµØ­ÙŠØ­";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "تقريب Ø§Ù„Ù‰ Ø§ÙƒØ¨Ø± Ø¹Ø¯Ø¯ ØµØ­ÙŠØ­";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "تقريب Ø§Ù„Ù‰ Ø§ÙƒØ¨Ø± Ø¹Ø¯Ø¯ ØµØ­ÙŠØ­ Ø£Ùˆ Ø§Ù„Ù‰ Ø§ØµØºØ± Ø¹Ø¯Ø¯ ØµØ­ÙŠØ­.";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://en.wikipedia.org/wiki/Square_root";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "مطلق";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "الجذر Ø§Ù„تربيعي";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "يرجع Ø§Ù„قيمة Ø§Ù„مطلقة Ù„رقم.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "يرجع Ù‡â€ (e) Ù…رÙوعا Ù„أس Ø¨Ù‚يمة Ø§Ù„رقم Ø§Ù„مدخل.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "يرجع Ø§Ù„لوغاريتم Ø§Ù„طبيعي Ù„رقم.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "يرجع Ù„وغاريتم Ø¹Ø¯Ø¯ Ù…عين Ù„لاساس 10.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "يرجع Ø¹Ø¯Ø¯ Ø³Ø§Ù„ب.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "يرجع Ù…ضروب Ø§Ù„رقم 10 ÙÙŠ Ù†Ùسه .";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "يرجع Ø§Ù„جذر Ø§Ù„تربيعي Ù„لرقم.";
+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"] = "جيب ØªÙ…ام";
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://en.wikipedia.org/wiki/Trigonometric_functions";
+Blockly.Msg["MATH_TRIG_SIN"] = "جيب";
+Blockly.Msg["MATH_TRIG_TAN"] = "ظل";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "يرجع Ù‚وس Ø¬ÙŠØ¨ Ø§Ù„تمام Ù„رقم.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "يرجع Ù‚وس Ø§Ù„جيب Ù„لرقم.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "يرجع Ù‚وس Ø§Ù„ظل Ù„لرقم.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "يرجع Ø¬ÙŠØ¨ Ø§Ù„تمام Ù„درجة (لا Ø²ÙˆØ§ÙŠØ© Ù†ØµÙ Ù‚طرية).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "يرجع Ø¬ÙŠØ¨ Ø§Ù„تمام Ù„درجة (لا Ø²ÙˆØ§ÙŠØ© Ù†ØµÙ Ù‚طرية).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "يرجع Ø§Ù„ظل Ù„درجة (لا Ø¯Ø§Ø¦Ø±Ø© Ù†ØµÙ Ù‚طرية).";
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "انشاء Ù…تغير Ù„وني...";
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "انشاء Ù…تغير Ø±Ù‚مي...";
+Blockly.Msg["NEW_STRING_VARIABLE"] = "انشاء Ù…تغير Ù†ØµÙŠ...";
+Blockly.Msg["NEW_VARIABLE"] = "إنشاء Ù…تغير...";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "اسم Ø§Ù„متغير Ø§Ù„جديد:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "نوع Ù…تغير Ø¬Ø¯ÙŠØ¯:";
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "اسمح Ø¨Ø§Ù„بيانات";
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "مع:";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "تشغيل Ø§Ù„دالة Ø§Ù„معرÙØ© Ù…Ù† Ù‚بل Ø§Ù„مستخدم '%1'.";
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "تشغيل Ø§Ù„دالة Ø§Ù„معرÙØ© Ù…Ù† Ù‚بل Ø§Ù„مستخدم %1 ÙˆØ§Ø³ØªØ®Ø¯Ø§Ù…  Ù…خرجاتها.";
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "مع:";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "إنشئ '%1'";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "ص٠هذه Ø§Ù„وظيÙØ©...";
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29";
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "القيام Ø¨Ø´ÙŠØ¡ Ù…ا";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "إلى";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "انشئ Ø¯Ø§Ù„Ø© Ø¨Ø¯ÙˆÙ† Ù…خرجات .";
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29";
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "يرجع";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "انشئ Ø¯Ø§Ù„Ø© Ù…ع Ø§Ù„مخرجات.";
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "تحذير: Ù‡Ø°Ù‡ Ø§Ù„دالة ØªØ­ØªÙˆÙŠ Ø¹Ù„Ù‰ Ù…علمات Ù…كررة.";
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "تسليط Ø§Ù„ضوء Ø¹Ù„Ù‰ ØªØ¹Ø±ÙŠÙ Ø§Ù„دالة";
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "إذا ÙƒØ§Ù†Øª Ø§Ù„قيمة ØµØ­ÙŠØ­Ø© ØŒ Ø§Ø°Ø§Ù† Ù‚Ù… Ø¨Ø§Ø±Ø¬Ø§Ø¹ Ø§Ù„قيمة Ø§Ù„ثانية.";
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "تحذير:هذه Ø§Ù„قطعة ØªØ³ØªØ®Ø¯Ù… Ùقط Ø¯Ø§Ø®Ù„ ØªØ¹Ø±ÙŠÙ Ø¯Ø§Ù„Ø©.";
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "اسم Ø§Ù„إدخال:";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "أض٠مدخلا Ø¥Ù„Ù‰ Ø§Ù„وظيÙØ©.";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "المدخلات";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "إضاÙØ© Ø£Ùˆ Ø¥Ø²Ø§Ù„Ø© Ø£Ùˆ Ø¥Ø¹Ø§Ø¯Ø© ØªØ±ØªÙŠØ¨ Ø§Ù„مدخلات Ù„هذه Ø§Ù„مهمة.";
+Blockly.Msg["REDO"] = "إعادة";
+Blockly.Msg["REMOVE_COMMENT"] = "أزل Ø§Ù„تعليق";
+Blockly.Msg["RENAME_VARIABLE"] = "إعادة ØªØ³Ù…ية Ø§Ù„متغير...";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "إعادة ØªØ³Ù…ية ÙƒØ§ÙØ© Ø§Ù„متغيرات '%1' Ø¥Ù„Ù‰:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "إلى %1 Ø¥Ù„صق Ù†Øµ %2";
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "إلصق Ø¬Ø²Ø¡Ø§ Ù…Ù† Ø§Ù„نص Ø¥Ù„Ù‰ Ù…تغير '%1'.";
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "الى Ø­Ø±ÙˆÙ ØµØºÙŠØ±Ø©";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "الى Ø­Ø±ÙˆÙ Ø§Ù„عنوان";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "الى Ø­Ø±ÙˆÙ ÙƒØ¨ÙŠØ±Ø©";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "يرجع Ù†Ø³Ø®Ø© Ù…Ù† Ø§Ù„نص ÙÙŠ Ø­Ø§Ù„Ø© Ù…ختلÙØ©.";
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "احصل Ø¹Ù„Ù‰ Ø§Ù„حر٠الأول";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "الحصول Ø¹Ù„Ù‰ Ø§Ù„حر٠# Ù…Ù† Ù†Ù‡Ø§ÙŠØ©";
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "الحصول Ø¹Ù„Ù‰ Ø§Ù„حر٠#";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "احصل Ø¹Ù„Ù‰ Ø¢Ø®Ø± Ø­Ø±Ù";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "الحصول Ø¹Ù„Ù‰ Ø­Ø±Ù Ø¹Ø´ÙˆØ§Ø¦ÙŠ";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "ÙÙŠ Ø§Ù„نص %1 %2";
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "يرجع Ø­Ø±Ù Ù…ا ÙÙŠ Ø§Ù„موضع Ø§Ù„محدد.";
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";  // untranslated
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "العدد %1 ÙÙŠ %2";
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "احسب ÙƒÙ… Ø¹Ø¯Ø¯ Ø¨Ø¹Ø¶ Ø§Ù„نصوص ØªØªÙƒØ±Ø± Ø¶Ù…Ù† Ù†Øµ Ø§Ø®Ø±.";
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "إض٠عنصر Ø¥Ù„Ù‰ Ø§Ù„نص.";
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "الانضمام Ø¥Ù„Ù‰";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "أضÙ, Ø¥Ø­Ø°Ù, Ø£Ùˆ Ø£Ø¹Ø¯ ØªØ±ØªÙŠØ¨ Ø§Ù„مقاطع Ù„إعادة ØªÙƒÙˆÙŠÙ† Ø§Ù„نص Ù…Ù† Ø§Ù„قطع Ø§Ù„تالية.";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "إلى Ø­Ø±Ù # Ù…Ù† Ù†Ù‡Ø§ÙŠØ©";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "إلى Ø­Ø±Ù #";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "إلى Ø¢Ø®Ø± Ø­Ø±Ù";
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "ÙÙŠ Ø§Ù„نص";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "الحصول Ø¹Ù„Ù‰ Ø³Ù„سلة Ùرعية Ù…Ù† Ø§Ù„حر٠الأول";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "الحصول Ø¹Ù„Ù‰ Ø³Ù„سلة Ø­Ø±ÙˆÙ Ùرعية Ù…Ù† Ø§Ù„حر٠# Ù…Ù† Ù†Ù‡Ø§ÙŠØ©";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "الحصول Ø¹Ù„Ù‰ Ø³Ù„سلة Ø­Ø±ÙˆÙ Ùرعية Ù…Ù† Ø§Ù„حر٠#";
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "يرجع Ø¬Ø²Ø¡ Ù…عين Ù…Ù† Ø§Ù„نص.";
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "ابحث Ø¹Ù† Ø§Ù„تواجد Ø§Ù„أول Ù„لنص";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "ابحث Ø¹Ù† Ø§Ù„تواجد Ø§Ù„أخير Ù„لنص";
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "ÙÙŠ Ø§Ù„نص %1 %2 %3";
+Blockly.Msg["TEXT_INDEXOF_TOOLTIP"] = "تقوم Ø¨Ø¥Ø±Ø¬Ø§Ø¹ Ù…ؤشر Ø§Ù„تواجد Ø§Ù„أول/الأخير Ù„لنص Ø§Ù„أول ÙÙŠ Ø§Ù„نص Ø§Ù„ثاني.  ØªÙ‚وم Ø¨Ø¥Ø±Ø¬Ø§Ø¹ %1 Ø¥Ø°Ø§ Ù„Ù… ÙŠØªÙ… Ø§Ù„عثور Ø¹Ù„Ù‰ Ø§Ù„نص.";
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 Ùارغ";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "يرجع \"صحيح\" Ø¥Ø°Ø§ ÙƒØ§Ù† Ø§Ù„نص Ø§Ù„مقدم Ùارغ.";
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "انشئ Ù†Øµ Ù…ع";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "أنشئ Ø¬Ø²Ø¡ Ù…Ù† Ø§Ù„نص Ø¨Ø§Ù„صاق Ø£ÙŠ Ø¹Ø¯Ø¯ Ù…Ù† Ø§Ù„عناصر Ø¨Ø¨Ø¹Ø¶Ù‡Ø§ Ø§Ù„بعض.";
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "طول %1";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "تقوم Ø¨Ø¥Ø±Ø¬Ø§Ø¹ Ø¹Ø¯Ø¯ Ø§Ù„احر٠(بما ÙÙŠ Ø°Ù„Ùƒ Ø§Ù„Ùراغات) ÙÙŠ Ø§Ù„نص Ø§Ù„مقدم.";
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "اطبع %1";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "اطبع Ø§Ù„نص Ø§Ù„محدد Ø£Ùˆ Ø§Ù„عدد Ø£Ùˆ Ù‚يمة Ø£Ø®Ø±Ù‰.";
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "انتظر Ø§Ø¯Ø®Ø§Ù„ Ø§Ù„مستخذم Ù„رقم Ù…ا.";
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "انتظر Ø§Ø¯Ø®Ø§Ù„ Ø§Ù„مستخدم Ù„نص Ù…ا.";
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "انتظر Ø§Ø¯Ø®Ø§Ù„ Ø§Ù„مستخدم Ù„رقم Ù…ا Ù…ع Ø§Ø¸Ù‡Ø§Ø± Ø±Ø³Ø§Ù„Ø©";
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "انتظر Ø§Ø¯Ø®Ø§Ù„ Ø§Ù„مستخدم Ù„نص Ù…ا Ù…ع Ø§Ø¸Ù‡Ø§Ø± Ø±Ø³Ø§Ù„Ø©";
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";  // untranslated
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "بدل %1 Ø¨ %2 ÙÙŠ %3";
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "استبدل Ø¬Ù…يع Ø­Ø§Ù„ات Ø­Ø¯ÙˆØ« Ø¨Ø¹Ø¶ Ø§Ù„نصوص Ø¯Ø§Ø®Ù„ Ù†Øµ Ø¢Ø®Ø±.";
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";  // untranslated
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "عكس %1";
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "يعكس ØªØ±ØªÙŠØ¨ Ø­Ø±ÙˆÙ Ø§Ù„نص";
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://en.wikipedia.org/wiki/String_(computer_science)";
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "حر٠أو ÙƒÙ„مة Ø£Ùˆ Ø³Ø·Ø± Ù…Ù† Ø§Ù„نص.";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "إزالة Ø§Ù„Ùراغات Ù…Ù† ÙƒÙ„ا Ø§Ù„جانبين";
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "إزالة Ø§Ù„Ùراغات Ù…Ù† Ø§Ù„جانب Ø§Ù„أيسر Ù…Ù†";
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "إزالة Ø§Ù„Ùراغات Ù…Ù† Ø§Ù„جانب Ø§Ù„أيمن Ù…Ù†";
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "يرجع Ù†Ø³Ø®Ø© Ù…Ù† Ø§Ù„نص Ù…ع Ø­Ø°Ù Ù…Ù† Ø£Ø­Ø¯ Ø£Ùˆ ÙƒÙ„ا Ø§Ù„Ùراغات Ù…Ù† Ø£Ø·Ø±Ø§ÙÙ‡.";
+Blockly.Msg["TODAY"] = "اليوم";
+Blockly.Msg["UNDO"] = "رجوع";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "البند";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "انشئ 'التعيين %1'";
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "يرجع Ù‚يمة Ù‡Ø°Ø§ Ø§Ù„متغير.";
+Blockly.Msg["VARIABLES_SET"] = "تعيين %1 Ø¥Ù„Ù‰ %2";
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "انشئ 'احصل Ø¹Ù„Ù‰ %1'";
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "تعيين Ù‡Ø°Ø§ Ø§Ù„متغير Ù„تكون Ù…ساوية Ù„لقيمة Ø§Ù„مدخلة.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "المتغير '%1' Ù…وجود Ø¨Ø§Ù„Ùعل";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "متغير Ø¨Ø£Ø³Ù… '%1' Ù…عر٠من Ù†ÙˆØ¹ Ø§Ø®Ø± : '%2'.";
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "قل Ø´ÙŠØ¦Ø§...";
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/az.js b/js/msg/js/az.js
new file mode 100644 (file)
index 0000000..6d3dbfd
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.az');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "Şərh É™lavÉ™ et";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "'%1' dÉ™yiÅŸÉ™nini silmÉ™k mümkün deyil, Ã§Ã¼nki o '%2' funksiyasının tÉ™yin hissÉ™sidir";
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "QiymÉ™ti dÉ™yiÅŸ:";
+Blockly.Msg["CLEAN_UP"] = "Blokları tÉ™mizlÉ™";
+Blockly.Msg["COLLAPSE_ALL"] = "Blokları yığ";
+Blockly.Msg["COLLAPSE_BLOCK"] = "Bloku yığ";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "rÉ™ng 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "rÉ™ng 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "nisbÉ™t";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "qarışdır";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "Ä°ki rÉ™ngi verilmiÅŸ nisbÉ™tdÉ™ (0,0 - 1,0) qarışdırır.";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://az.wikipedia.org/wiki/RÉ™ng";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "Palitradan bir rÉ™ng seçin.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "tÉ™sadüfi rÉ™ng";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "TÉ™sadüfi bir rÉ™ng seçin.";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "mavi";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "yaşıl";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";
+Blockly.Msg["COLOUR_RGB_RED"] = "qırmızı";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "rÉ™nglÉ™";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "Qırmızı, yaşıl vÉ™ mavinin göstÉ™rilÉ™n miqdarı ilÉ™ bir rÉ™ng düzÉ™lt. Bütün qiymÉ™tlÉ™r 0 ilÉ™ 100 arasında olmalıdır.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "dövrdÉ™n Ã§Ä±x";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "dövrün növbÉ™ti addımından davam et";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "Cari dövrdÉ™n Ã§Ä±x.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "Bu dövrün qalanını Ã¶tür vÉ™ növbÉ™ti addımla davam et.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "XÉ™bÉ™rdarlıq: Bu blok ancaq dövr daxilindÉ™ istifadÉ™ oluna bilÉ™r.";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "hÉ™r element Ã¼Ã§Ã¼n %1 siyahıda %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "Siyahıdakı hÉ™r element Ã¼Ã§Ã¼n \"%1\" dÉ™yiÅŸÉ™nini elementÉ™ mÉ™nimsÉ™t vÉ™ bundan sonra bÉ™zi É™mrlÉ™ri yerinÉ™ yetir.";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "say: %1 %2 ilÉ™ baÅŸlayıb, %3 qiymÉ™tinÉ™ kimi %4 qÉ™dÉ™r dÉ™yiÅŸ";
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "\"%1\" dÉ™yiÅŸÉ™ni baÅŸlanğıc É™dÉ™ddÉ™n son É™dÉ™dÉ™ qÉ™dÉ™r göstÉ™rilÉ™n aralıqla qiymÉ™tlÉ™r aldıqca göstÉ™rilÉ™n blokları yerinÉ™ yetir.";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "\"ÆgÉ™r\" blokuna bir ÅŸÉ™rt É™lavÉ™ et.";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "\"ÆgÉ™r\" blokuna qalan bütün halları É™hatÉ™ edÉ™b son bir ÅŸÉ™rt É™lavÉ™ et.";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Bu \"É™gÉ™r\" blokunu dÉ™yiÅŸdirmÉ™k Ã¼Ã§Ã¼n bölümlÉ™rin yenisini É™lavÉ™ et, sil vÉ™ ya yerini dÉ™yiÅŸ.";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "É™ks halda";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "É™ks halda É™gÉ™r";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "É™gÉ™r";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "ÆgÉ™r qiymÉ™t doÄŸrudursa, onda bÉ™zi É™mrlÉ™ri yerinÉ™ yetir.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "ÆgÉ™r qiymÉ™t doÄŸrudursa, onda birinci É™mrlÉ™r blokunu yerinÉ™ yetir. Æks halda isÉ™ ikinci É™mrlÉ™r blokunu yerinÉ™ yetir.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "ÆgÉ™r birinci qiymÉ™t doÄŸrudursa, onda birinci É™mrlÉ™r blokunu yerinÉ™ yetir. Æks halda É™gÉ™r ikinci qiymÉ™t doÄŸrudursa, onda ikinci É™mrlÉ™r blokunu yerinÉ™ yetir.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "ÆgÉ™r birinci qiymÉ™t doÄŸrudursa, onda birinci É™mrlÉ™r blokunu yerinÉ™ yetir. Æks halda É™gÉ™r ikinci qiymÉ™t doÄŸrudursa, onda ikinci É™mrlÉ™r blokunu yerinÉ™ yetir. ÆgÉ™r qiymÉ™tlÉ™rdÉ™n heç biri doÄŸru deyilsÉ™, onda axırıncı É™mrlÉ™r blokunu yerinÉ™ yetir.";
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://az.wikipedia.org/wiki/For_loop";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "icra et";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "%1 dÉ™fÉ™ tÉ™krar et";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "BÉ™zi É™mrlÉ™ri bir neçə dÉ™fÉ™ yerinÉ™ yetir.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "tÉ™krar et, ta ki";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "tÉ™krar et, hÉ™lÉ™ ki";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "HÉ™lÉ™ ki, qiymÉ™t \"yalan\"dır, bÉ™zi É™mrlÉ™ri yerinÉ™ yetir.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "HÉ™lÉ™ ki, qiymÉ™t \"doÄŸru\"dur, bÉ™zi É™mrlÉ™ri yerinÉ™ yetir.";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "Bütün %1 blok silinsin?";
+Blockly.Msg["DELETE_BLOCK"] = "Bloku sil";
+Blockly.Msg["DELETE_VARIABLE"] = "'%1' adlı dÉ™yiÅŸÉ™ni sil";
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "'%2' dÉ™yiÅŸÉ™ninin %1 istifadÉ™sini silÉ™k?";
+Blockly.Msg["DELETE_X_BLOCKS"] = "%1 bloku sil";
+Blockly.Msg["DISABLE_BLOCK"] = "Bloku söndür";
+Blockly.Msg["DUPLICATE_BLOCK"] = "Dublikat";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Şərhin nüsxÉ™sini yarat";
+Blockly.Msg["ENABLE_BLOCK"] = "Bloku aktivləşdir";
+Blockly.Msg["EXPAND_ALL"] = "Blokları aç";
+Blockly.Msg["EXPAND_BLOCK"] = "Bloku aç";
+Blockly.Msg["EXTERNAL_INPUTS"] = "Xarici giriÅŸlÉ™r";
+Blockly.Msg["HELP"] = "KömÉ™k";
+Blockly.Msg["INLINE_INPUTS"] = "SÉ™tiriçi giriÅŸlÉ™r";
+Blockly.Msg["IOS_CANCEL"] = "Ləğv et";
+Blockly.Msg["IOS_ERROR"] = "XÉ™ta";
+Blockly.Msg["IOS_OK"] = "OK";
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ GiriÅŸ É™lavÉ™ et";
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Operatorlara icazÉ™";
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "Bu funksiyada tÉ™krarlanan giriÅŸ dÉ™yiÅŸÉ™nlÉ™ri vardır.";
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "GÄ°RÄ°Åž";
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "ÆlavÉ™ et";
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ DÉ™yiÅŸÉ™n É™lavÉ™ et";
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "Sil";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "Adsız dÉ™yiÅŸÉ™n istifadÉ™ edÉ™ bilmÉ™zsiniz.";
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Adını dÉ™yiÅŸ";
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "DÉ™yiÅŸÉ™nin adı";
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "boÅŸ siyahı düzÉ™lt";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Heç bir verilÉ™n qeyd olunmamış, uzunluÄŸu 0 olan bir siyahı verir";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "siyahı";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Bu siyahı blokunu yenidÉ™n konfigurasiya etmÉ™k Ã¼Ã§Ã¼n bölmÉ™lÉ™ri É™lavÉ™ edin, silin vÉ™ ya yerlÉ™rini dÉ™yiÅŸin.";
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "bunlardan siyahı düzÉ™lt";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Siyahıya element É™lavÉ™ edin.";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Ä°stÉ™nilÉ™n Ã¶lçülü siyahı yaradın.";
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "birinci";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "axırdan # nömrÉ™li";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "götür";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "götür vÉ™ sil";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "axırıncı";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "tÉ™sadüfi";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "yığışdır";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Siyahının ilk elementini qaytarır.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Siyahıdan tÉ™yin olunmuÅŸ indeksli elementi qaytarır.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Siyahının son elementini qaytarır.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Siyahıdan hÉ™r hansı tÉ™sadüfi elementi qaytarır.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "Siyahıdan ilk elementi silir vÉ™ qaytarır.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "Siyahıdan tÉ™yin olunmuÅŸ indeksli elementi silir vÉ™ qaytarır.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "Siyahıdan son elementi silir vÉ™ qaytarır.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Siyahıdan tÉ™sadufi elementi silir vÉ™ qaytarır.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "Siyahıdan ilk elementi silir.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "Siyahıdan tÉ™yin olunmuÅŸ indeksli elementi silir.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "Siyahıdan son elementi silir.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Siyahıdan tÉ™sadüfi bir elementi silir.";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "sondan # nömrÉ™liyÉ™";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "# nömrÉ™liyÉ™";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "Sonuncuya";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "BirincidÉ™n alt-siyahını alın";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "# sonuncudan alt-siyahını alın";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "# - dÉ™n alt-siyahını alın";
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Siyahının tÉ™yin olunmuÅŸ hissÉ™sinin surÉ™tini yaradın.";
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 son elementdir.";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 ilk elementdir.";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "Element ilÉ™ ilk rastlaÅŸma indeksini müəyyÉ™n edin";
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "Element ilÉ™ son rastlaÅŸma indeksini müəyyÉ™n edin";
+Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "Elementin siyahıda ilk/son rastlaÅŸma indeksini qaytarır. ÆgÉ™r siyahıda mÉ™tn tapılmadısa, %1 qaytarılır.";
+Blockly.Msg["LISTS_INLIST"] = "siyahıda";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 boÅŸdur";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Siyahı boÅŸdursa \"doÄŸru\" cavabını qaytarır.";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "%1 siyahısının uzunluÄŸu";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Siyahının uzunluÄŸunu verir.";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "%1 elementinin %2 dÉ™fÉ™ tÉ™krarlandığı siyahı düzÉ™lt";
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "TÉ™yin olunmuÅŸ elementin/qiymÉ™tin tÉ™yin olunmuÅŸ sayda tÉ™krarlandığı siyahını yaradır.";
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";  // untranslated
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "É™ksinÉ™ dÉ™yiÅŸ %1";
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Siyahının nüsxÉ™sini É™ksinÉ™ dÉ™yiÅŸ.";
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "Kimi";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "daxil et";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "tÉ™yin et";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Elementi siyahının É™vvÉ™linÉ™ daxil edir.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Elementi siyahıda göstÉ™rilÉ™n yerÉ™ daxil edir.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Elementi siyahının sonuna artırır.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Elementi siyahıda tÉ™sadüfi seçilmiÅŸ bir yerÉ™ atır.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Siyahıda birinci elementi tÉ™yin edir.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Siyahının göstÉ™rilÉ™n yerdÉ™ki elementini tÉ™yin edir.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Siyahının sonuncu elementini tÉ™yin edir.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Siyahının tÉ™sadüfi seçilmiÅŸ bir elementini tÉ™yin edir.";
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "artan Ã¼zrÉ™";
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "azalan Ã¼zrÉ™";
+Blockly.Msg["LISTS_SORT_TITLE"] = "%1 %2 %3 sortlaÅŸdır";
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Siyahının nüsxÉ™sini sortlaÅŸdır.";
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "É™lifba Ã¼zrÉ™, registrı nÉ™zÉ™rÉ™ almadan";
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "say Ã¼zrÉ™";
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "É™lifba Ã¼zrÉ™";
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "mÉ™tndÉ™n siyahı düzÉ™lt";
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "siyahıdan mÉ™tn düzÉ™lt";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "MÉ™tnlÉ™r siyahısından ayırıcılarla birgÉ™ bir mÉ™tn yaradır.";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "MÉ™tni ayırıcılara görÉ™ bölÉ™rÉ™k mÉ™tnlÉ™r siyahısı yaradır.";
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "ayırıcıyla";
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "sÉ™hf";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "\"doÄŸru\" vÉ™ ya \"sÉ™hf\" cavanını qaytarır.";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "doÄŸru";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://az.wikipedia.org/wiki/bÉ™rabÉ™rsizlik_(riyazi)";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "GiriÅŸlÉ™r bir birinÉ™ bÉ™rabÉ™rdirsÉ™ \"doÄŸru\" cavabını qaytarır.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Birinci giriÅŸ ikincidÉ™n böyükdürsÉ™ \"doÄŸru\" cavabını qaytarır.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Birinci giriÅŸ ikincidÉ™n böyük vÉ™ ya bÉ™rarbÉ™rdirsÉ™ \"doÄŸru\" cavabını qaytarır.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "Birinci giriÅŸ ikincidÉ™n kiçikdirsÉ™ \"doÄŸru\" cavabını qaytarır.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "Birinci giriÅŸ ikincidÉ™n kiçik vÉ™ ya bÉ™rarbÉ™rdirsÉ™ \"doÄŸru\" cavabını qaytarır.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "GiriÅŸlÉ™r bÉ™rabÉ™r deyillÉ™rsÉ™ \"doÄŸru\" cavabını qaytarır.";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "%1 deyil";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "GiriÅŸ \"yalan\"-dursa \"doÄŸru\" cavabını qaytarır. GiriÅŸ \"doÄŸru\"-dursa \"sÉ™hf\" cavabını qaytarır.";
+Blockly.Msg["LOGIC_NULL"] = "boÅŸ";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";  // untranslated
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "BoÅŸ cavab qaytarır.";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "vÉ™";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "vÉ™ ya";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "HÉ™r iki giriÅŸ \"doÄŸru\"-dursa \"doÄŸru\" cavabını qaytarır.";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "GiriÅŸlÉ™rdÉ™n heç olmasa biri \"doÄŸru\"-dursa \"doÄŸru\" cavabını qaytarır.";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "test";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "É™gÉ™r sÉ™hfdirsÉ™";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "É™gÉ™r doÄŸrudursa";
+Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "'Yoxla' É™mrindÉ™ki ÅŸÉ™rtÉ™ nÉ™zÉ™r yetirin. ÆgÉ™r ÅŸÉ™rt \"doÄŸru\"-dursa \"É™gÉ™r doÄŸru\", É™ks halda isÉ™ \"É™gÉ™r yalan\" cavabını qaytarır.";
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://az.wikipedia.org/wiki/Hesab";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Ä°ki É™dÉ™din cÉ™mini qaytarır.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Ä°ki É™dÉ™din nisbÉ™tini qaytarır.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Ä°ki É™dÉ™din fÉ™rqini qaytarır.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Ä°ki É™dÉ™din hasilini verir.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Birinci É™dÉ™din ikinci É™dÉ™d dÉ™rÉ™cÉ™sindÉ™n qüvvÉ™tini qaytarır.";
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";
+Blockly.Msg["MATH_CHANGE_TITLE"] = "dÉ™yiÅŸ: %1 buna: %2";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "'%1' dÉ™yiÅŸÉ™ninin Ã¼zÉ™rinÉ™ bir É™dÉ™d artır.";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://az.wikipedia.org/wiki/Riyazi_sabitlÉ™r";
+Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "Ãœmumi sabitlÉ™rdÉ™n birini qaytarır Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), vÉ™ ya âˆž (sonsuzluq).";
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "%1 Ã¼Ã§Ã¼n É™n aÅŸağı %2, É™n yuxarı %3 olmağı tÉ™lÉ™b et";
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Bir É™dÉ™din verilmiÅŸ iki É™dÉ™d arasında olmasını tÉ™lÉ™b edir (sÉ™rhÉ™dlÉ™r dÉ™ daxil olmaqla).";
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "bölünür";
+Blockly.Msg["MATH_IS_EVEN"] = "cütdür";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "mÉ™nfidir";
+Blockly.Msg["MATH_IS_ODD"] = "tÉ™kdir";
+Blockly.Msg["MATH_IS_POSITIVE"] = "müsbÉ™tdir";
+Blockly.Msg["MATH_IS_PRIME"] = "sadÉ™dir";
+Blockly.Msg["MATH_IS_TOOLTIP"] = "Bir É™dÉ™din cüt, tÉ™k, sadÉ™, tam, müsbÉ™t, mÉ™nfi olmasını vÉ™ ya müəyyÉ™n bir É™dÉ™dÉ™ bölünmÉ™sini yoxlayır. \"DoÄŸru\" vÉ™ ya \"yalan\" qiymÉ™tini qaytarır.";
+Blockly.Msg["MATH_IS_WHOLE"] = "tamdır";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://en.wikipedia.org/wiki/Modulo_operation";
+Blockly.Msg["MATH_MODULO_TITLE"] = "%1 Ã· %2 bölmÉ™sinin qalığı";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Ä°ki É™dÉ™din nisbÉ™tindÉ™n alınan qalığı qaytarır.";
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://az.wikipedia.org/wiki/ÆdÉ™d";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "ÆdÉ™d.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "siyahının É™dÉ™di ortası";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "siyahının maksimumu";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "siyahının medianı";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "siyahının minimumu";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "Siyahı modları( Æn Ã§ox rastlaşılan elementlÉ™ri)";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "siyahıdan tÉ™sadüfi seçilmiÅŸ bir element";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "Siyahının standart deviasiyası";
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "Siyahının cÉ™mi";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Siyahıdaki É™dÉ™dlÉ™rin É™dÉ™di ortasını qaytarır.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "Siyahıdaki É™n böyük elementi qaytarır.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "Siyahının median elementini qaytarır.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "Siyahıdaki É™n kiçik É™dÉ™di qaytarır.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Siyahıdaki É™n Ã§ox rastlanan element(lÉ™r)dÉ™n ibarÉ™t siyahı qaytarır.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Siyahıdan tÉ™sadüfi bir element qaytarır.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Siyahının standart deviasiyasını qaytarır.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Siyahıdakı bütün É™dÉ™dlÉ™rin cÉ™mini qaytarır.";
+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"] = "tÉ™sadüfi kÉ™sr";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "0.0 (daxil olmaqla) vÉ™ 1.0 (daxil olmamaqla) É™dÉ™dlÉ™rinin arasından tÉ™sadüfi bir kÉ™sr É™dÉ™d qaytarır.";
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "%1 ilÉ™ %2 arasından tÉ™sadüfi tam É™dÉ™d";
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "VerilmiÅŸ iki É™dÉ™d arasından (É™dÉ™drlÉ™r dÉ™ daxil olmaqla) tÉ™sadüfi bir tam É™dÉ™d qaytarır.";
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://en.wikipedia.org/wiki/Rounding";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "yuvarlaqlaÅŸdır";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "aÅŸağı yuvarlaqlaÅŸdır";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "yuxarı yuvarlaqlaÅŸdır";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "ÆdÉ™di aÅŸağı vÉ™ ya yuxari yuvarlaqÅŸdır.";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://az.wikipedia.org/wiki/Kvadrat_köklÉ™ri";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "modul";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "kvadrat kök";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "ÆdÉ™din modulunu qaytarır.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "e sabitinin verilmiÅŸ É™dÉ™dÉ™ qüvvÉ™tini qaytarır.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "ÆdÉ™din natural loqarifmini tapır.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "ÆdÉ™din 10-cu dÉ™rÉ™cÉ™dÉ™n loqarifmini tapır.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "ÆdÉ™din É™ksini qaytarır.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "10-un verilmiÅŸ É™dÉ™dÉ™ qüvvÉ™tini qaytarır.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "ÆdÉ™din kvadrat kökünü qaytarır.";
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";
+Blockly.Msg["MATH_TRIG_ACOS"] = "arccos";
+Blockly.Msg["MATH_TRIG_ASIN"] = "arcsin";
+Blockly.Msg["MATH_TRIG_ATAN"] = "arctan";
+Blockly.Msg["MATH_TRIG_COS"] = "cos";
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://az.wikipedia.org/wiki/Triqonometrik_funksiyalar";
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";
+Blockly.Msg["MATH_TRIG_TAN"] = "tg";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "ÆdÉ™din arccosinusunu qaytarır.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "ÆdÉ™din arcsinusunu qaytarır.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "ÆdÉ™din arctanqensini qaytarır.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "DÉ™rÉ™cÉ™nin kosinusunu qaytarır (radianın yox).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "DÉ™rÉ™cÉ™nin sinusunu qaytar (radianın yox).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "DÉ™rÉ™cÉ™nin tangensini qaytar (radianın yox).";
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Yeni rÉ™ng dÉ™yiÅŸÉ™ni...";
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Yeni rÉ™qÉ™m dÉ™yiÅŸÉ™ni...";
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Yeni sÉ™tir dÉ™yiÅŸÉ™ni...";
+Blockly.Msg["NEW_VARIABLE"] = "Yeni dÉ™yiÅŸÉ™n...";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "Yeni dÉ™yiÅŸÉ™nin adı:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "Yeni dÉ™yiÅŸÉ™nin tipi:";
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "operatorlara icazÉ™";
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "ilÉ™:";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Yaradılmış '%1' funksiyasını Ã§alışdır.";
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Yaradılmış '%1' funksiyasını Ã§alışdır vÉ™ nÉ™ticÉ™ni istifadÉ™ et.";
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "ilÉ™:";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "'%1' yarat";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Bu funksiyanı tÉ™svir et";
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "hansısa É™mÉ™liyyat";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "icra et:";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "NÉ™ticÉ™si olmayan funksiya yaradır.";
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "qaytar";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "NÉ™ticÉ™si olan funksiya yaradır.";
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "XÉ™bÉ™rdarlıq: Bu funksiyanın tÉ™krar olunmuÅŸ parametrlÉ™ri var.";
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "Funksiyanın tÉ™yinatını vurÄŸula";
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "ÆgÉ™r bir dÉ™yÉ™r \"doÄŸru\"-dursa onda ikinci dÉ™yÉ™ri qaytar.";
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "XÉ™bÉ™rdarlıq: Bu blok ancaq bir funksiyanın tÉ™yinatı daxilindÉ™ iÅŸlÉ™dilÉ™ bilÉ™r.";
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "GiriÅŸ adı:";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Funksiyaya giriÅŸ parametrlÉ™ri É™lavÉ™ et.";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "giriÅŸlÉ™r";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Bu funksiyanın giriÅŸ parametrlÉ™ri Ã¼Ã§Ã¼n É™lavÉ™ et, sil, vÉ™ ya yenilÉ™.";
+Blockly.Msg["REDO"] = "Ä°rÉ™li";
+Blockly.Msg["REMOVE_COMMENT"] = "Şərhi sil";
+Blockly.Msg["RENAME_VARIABLE"] = "DÉ™yiÅŸÉ™nin adını dÉ™yiÅŸ...";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Bütün '%1' dÉ™yiÅŸÉ™nlÉ™rinin adını buna dÉ™yiÅŸ:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "bu mÉ™tnin sonuna: %1 bu mÉ™tni É™lavÉ™ et: %2";
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "'%1' dÉ™yiÅŸÉ™ninin sonuna nÉ™sÉ™ É™lavÉ™ et.";
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "kiçik hÉ™rflÉ™rlÉ™";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "BaÅŸ HÉ™rflÉ™rlÉ™";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "BÖYÃœK HÆRFLÆRLÆ";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "MÉ™tndÉ™ hÉ™rflÉ™rin böyük-kiçikliyini dÉ™yiÅŸ.";
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "birinci hÉ™rfi götür";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "axırdan bu nömrÉ™li hÉ™rfi götür";
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "bu nömrÉ™li hÉ™rfi götür";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "axırıncı hÉ™rfi götür";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "tÉ™sadüfi hÉ™rf götür";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "mÉ™tndÉ™ %1 %2";
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "GöstÉ™rilÉ™n mövqedÉ™ki hÉ™rfi qaytarır.";
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";  // untranslated
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "%2 içindÉ™n %1 sayını hesabla";
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Hesablayaq, mÉ™tnin bu hissÉ™si baÅŸqa mÉ™tndÉ™ neçə dÉ™fÉ™  rast gÉ™linir.";
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "MÉ™tnÉ™ bir element É™lavÉ™ et.";
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "birləşdir";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Bu mÉ™tn blokunu yenidÉ™n konfigurasiya etmÉ™k Ã¼Ã§Ã¼n bölmÉ™lÉ™ri É™lavÉ™ edin, silin vÉ™ ya yerlÉ™rini dÉ™yiÅŸin.";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "axırdan bu nömrÉ™li hÉ™rfÉ™ qÉ™dÉ™r";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "bu nömrÉ™li hÉ™rfÉ™ qÉ™dÉ™r";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "son hÉ™rfÉ™ qÉ™dÉ™r";
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "mÉ™tndÉ™";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "MÉ™tnin surÉ™tini ilk hÉ™rfdÉ™n";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "MÉ™tnin surÉ™tini sondan bu nömrÉ™li # hÉ™rfdÉ™n";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "MÉ™tnin surÉ™tini bu nömrÉ™li hÉ™rfdÉ™n";
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "MÉ™tnin tÉ™yin olunmuÅŸ hissÉ™sini qaytarır.";
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "Bu mÉ™tn ilÉ™ ilk rastlaÅŸmanı tap:";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "Bu mÉ™tn ilÉ™ son rastlaÅŸmanı tap:";
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "mÉ™tndÉ™ %1 %2 %3";
+Blockly.Msg["TEXT_INDEXOF_TOOLTIP"] = "Birinci mÉ™tnin ikinci mÉ™tndÉ™ ilk/son rastlaÅŸma indeksini qaytarır. ÆgÉ™r rastlaÅŸma baÅŸ vermÉ™zsÉ™, %1 qaytarır.";
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 boÅŸdur";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "VerilmiÅŸ mÉ™tn boÅŸdursa, doÄŸru qiymÉ™tini qaytarır.";
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "VerilmiÅŸlÉ™rlÉ™ mÉ™tn yarat";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Ä°xtiyari sayda elementlÉ™rinin birləşmÉ™si ilÉ™ mÉ™tn parçası yarat.";
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "%1 - Ä±n uzunluÄŸu";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "VerilmiÅŸ mÉ™tndÉ™ki hÉ™rflÉ™rin(sözlÉ™r arası boÅŸluqlar sayılmaqla) sayını qaytarır.";
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "%1 - i Ã§ap elÉ™";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "TÉ™yin olunmuÅŸ mÉ™tn, É™dÉ™d vÉ™ ya hÉ™r hansı bir baÅŸqa elementi Ã§ap elÉ™.";
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Ä°stifadəçiyÉ™ É™dÉ™d daxil etmÉ™si Ã¼Ã§Ã¼n sorÄŸu/tÉ™lÉ™b göndÉ™rin.";
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Ä°stifadəçiyÉ™ mÉ™tn daxil etmÉ™si Ã¼Ã§Ã¼n sorÄŸu/tÉ™lÉ™b göndÉ™rin.";
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "Ä°stifadəçiyÉ™ É™dÉ™d daxil etmÉ™si Ã¼Ã§Ã¼n sorÄŸunu/tÉ™lÉ™bi ismarıc kimi göndÉ™rin";
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "Ä°stifadəçiyÉ™ mÉ™tn daxil etmÉ™si Ã¼Ã§Ã¼n sorÄŸunu/tÉ™lÉ™bi ismarıc ilÉ™ göndÉ™rin";
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";  // untranslated
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "%3 -dÉ™ %1 É™vÉ™z et %2";
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Bütün uyÄŸunluqlu bÉ™zi mÉ™tnlÉ™rin digÉ™r bÉ™zi mÉ™tnlÉ™rÉ™ dÉ™yiÅŸdirilmÉ™si.";
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";  // untranslated
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "É™ksinÉ™ dÉ™yiÅŸ %1";
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "MÉ™tndÉ™ki simvolların ardıcıllığını É™ksinÉ™ dÉ™yiÅŸ.";
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://en.wikipedia.org/wiki/String_(computer_science)";
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "MÉ™tndÉ™ki hÉ™rf, söz vÉ™ ya sÉ™tir.";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "boÅŸluqları hÉ™r iki tÉ™rÉ™fdÉ™n pozun";
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "boÅŸluqlari yalnız sol tÉ™rÉ™fdÉ™n pozun";
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "boÅŸluqları yalnız saÄŸ tÉ™rÉ™fdÉ™n pozun";
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "MÉ™tnin hÉ™r iki vÉ™ ya yalnız bir tÉ™rÉ™fdÉ™n olan boÅŸluqları pozulmuÅŸ surÉ™tini qaytarın.";
+Blockly.Msg["TODAY"] = "Bugün";
+Blockly.Msg["UNDO"] = "Geri";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "element";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "'%1 - i tÉ™yin et' - i yarat";
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Bu dÉ™yiÅŸÉ™nin qiymÉ™tini qaytarır.";
+Blockly.Msg["VARIABLES_SET"] = "%1 - i bu qiymÉ™t ilÉ™ tÉ™yin et: %2";
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "'%1 - i götür' - ü yarat";
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Bu dÉ™yiÅŸÉ™ni daxil edilmiÅŸ qiymÉ™tÉ™ bÉ™rabÉ™r edir.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "'%1' adlı dÉ™yiÅŸÉ™n artıq mövcuddur.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "'%1' adlı dÉ™yiÅŸÉ™n artıq '%2': tipindÉ™ istifadÉ™ edilir .";
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Buraya nÉ™ isÉ™ yaz...";
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/ba.js b/js/msg/js/ba.js
new file mode 100644 (file)
index 0000000..0b3a2cb
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.ba');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["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'";  // untranslated
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "Мәғәнәне Ò¯Ò™Ð³Ó™Ñ€Ñ‚егеҙ:";
+Blockly.Msg["CLEAN_UP"] = "Блоктарҙы Ñ‚аҙартырға";
+Blockly.Msg["COLLAPSE_ALL"] = "Блоктарҙы Ñ‚өрөргә";
+Blockly.Msg["COLLAPSE_BLOCK"] = "Блокты Ñ‚өрөргә";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "1-Ñе Ñ‚Ó©Ò«";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "2-Ñе Ñ‚Ó©Ò«";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";  // untranslated
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "1-Ñе Ñ‚Ó©Ò«Ñ‚Ó©Ò£ Ó©Ð»Ó©ÑˆÓ©";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "ҡатнаштырырға";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "Ике Ñ‚Ó©Ò«Ñ‚Ó© Ð±Ð¸Ñ€ÐµÐ»Ð³Ó™Ð½ Ð½Ð¸Ñбәттә Ð±Ð¾Ð»Ò“ата (0.0 - 1.0).";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://en.wikipedia.org/wiki/Төҫ";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "Палитранан Ñ‚Ó©Ò« Ò»Ð°Ð¹Ð»Ð°Ò“Ñ‹Ò™.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "оÑраҡлы Ñ‚Ó©Ò«";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "Төҫтө Ð¾Ñраҡлылыҡ Ð±ÑƒÐ¹Ñ‹Ð½Ñа Ò»Ð°Ð¹Ð»Ð°Ð¹.";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "зәңгәр";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "йәшелдән";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";  // untranslated
+Blockly.Msg["COLOUR_RGB_RED"] = "ҡыҙылдан";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "ошонан Ñ‚Ó©Ò«";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "Бирелгән Ð½Ð¸Ñбәттәрҙә Ò¡Ñ‹Ò™Ñ‹Ð»Ð´Ð°Ð½, Ð¹Ó™ÑˆÐµÐ»Ð´Ó™Ð½ Ò»Ó™Ð¼ Ð·Ó™Ò£Ð³Ó™Ñ€Ò™Ó™Ð½ Ñ‚Ó©Ò« Ð±Ð°Ñ€Ð»Ñ‹Ò¡Ò¡Ð° ÐºÐ¸Ð»Ó™. Ð‘Ó©Ñ‚Ó™ Ð¼Ó™Ò“әнәләр 0 Ð¼ÐµÐ½Ó™Ð½ 100 Ð°Ñ€Ð°Ò»Ñ‹Ð½Ð´Ð° Ð±ÑƒÐ»Ñ‹Ñ€Ò“а Ñ‚ейеш.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "циклдан Ñығырға";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "циклдың ÐºÐ¸Ð»Ó™Ò»Ðµ Ð°Ò™Ñ‹Ð¼Ñ‹Ð½Ð° ÐºÒ¯Ñергә";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "Был Ñ†Ð¸ÐºÐ»Ð´Ñ‹ Ó©Ò™Ó™.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "Циклдың Ò¡Ð°Ð»Ð´Ñ‹Ò“ын Ñ‚өшөрөп Ò¡Ð°Ð»Ð´Ñ‹Ñ€Ð° Ò»Ó™Ð¼ ÐºÐ¸Ð»Ó™Ò»Ðµ Ð°Ò™Ñ‹Ð¼Ò“а ÐºÒ¯ÑÓ™.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "Иҫкәртеү: Ð±Ñ‹Ð» Ð±Ð»Ð¾Ðº Ñ†Ð¸ÐºÐ» ÑÑендә Ð³ÐµÐ½Ó™ Ò¡ÑƒÐ»Ð»Ð°Ð½Ñ‹Ð»Ð° Ð°Ð»Ð°.";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "һәр Ñлемент Ó©Ñөн %1 Ð¸Ñемлектә %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "ИÑемлектәге Ò»Ó™Ñ€ Ñлемент Ó©Ñөн Ò¯Ò™Ð³Ó™Ñ€ÐµÒ¯Ñәнгә Ñлементтың '%1' Ð¼Ó™Ò“әнәһен Ð±Ð¸Ñ€Ó™ Ò»Ó™Ð¼ ÐºÒ¯Ñ€Ò»Ó™Ñ‚елгән ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ð»Ð°Ñ€Ò™Ñ‹ Ò¯Ñ‚әй.";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "count with %1 from %2 to %3 by %4";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "ҮҙгәреүÑәнгә Ð±Ð°ÑˆÑ‹Ð½Ð°Ð½ Ð°Ò™Ð°Ò“ына Ñ‚иклем Ñ‚әғәйен Ð°Ò™Ñ‹Ð¼ Ð¼ÐµÐ½Ó™Ð½ %1 Ð¼Ó™Ò“әнәне Ð±Ð¸Ñ€Ó™ Ò»Ó™Ð¼ ÐºÒ¯Ñ€Ò»Ó™Ñ‚елгән ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ð»Ð°Ñ€Ò™Ñ‹ Ò¯Ñ‚әй.";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "\"Әгәр\" Ð±Ð»Ð¾Ð³Ñ‹Ð½Ð° ÑˆÐ°Ñ€Ñ‚ Ó©Ò«Ñ‚әй";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "Бер ÑˆÐ°Ñ€Ñ‚ Ñ‚а Ð´Ó©Ñ€Ó©Ò« Ð±ÑƒÐ»Ð¼Ð°Ò“ан Ð¾Ñраҡҡа Ð¹Ð¾Ð¼Ò“аҡлау ÑрҙамÑÑ‹ Ð±Ð»Ð¾Ð³Ñ‹Ð½ Ó©Ò«Ñ‚әргә.";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "\"Әгәр\" Ð±Ð»Ð¾Ð³Ñ‹Ð½ Ò¡Ð°Ð±Ð°Ñ‚тан Ñ‚Ó©Ò™Ó©Ò¯ Ó©Ñөн ÐºÐ¸Ò«Ó™ÐºÑ‚әрҙе Ó©Ò«Ñ‚әгеҙ, ÑŽÐ¹Ò™Ñ‹Ñ€Ñ‹Ò“Ñ‹Ò™, ÑƒÑ€Ñ‹Ð½Ð´Ð°Ñ€Ñ‹Ð½ Ð°Ð»Ð¼Ð°ÑˆÑ‚ырығыҙ.";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "юғиһә";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "юғиһә, Ó™Ð³Ó™Ñ€";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "әгәр";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "Мәғәнә Ð´Ó©Ñ€Ó©Ò« Ð±ÑƒÐ»Ò“анда, ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ð»Ð°Ñ€Ò™Ñ‹ Ò¯Ñ‚әй.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "Шарт Ð´Ó©Ñ€Ó©Ò« Ð±ÑƒÐ»Ò“анда, ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ð»Ð°Ñ€Ò™Ñ‹Ò£ Ð±ÐµÑ€ÐµÐ½Ñе Ð±Ð»Ð¾Ð³Ñ‹Ð½ Ò¯Ñ‚әй. Ð£Ð»Ð°Ð¹ Ð±ÑƒÐ»Ð¼Ð°Ò»Ð°, ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ð»Ð°Ñ€Ò™Ñ‹Ò£ Ð¸ÐºÐµÐ½Ñе Ð±Ð»Ð¾Ð³Ñ‹ Ò¯Ñ‚әлә.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "БеренÑе ÑˆÐ°Ñ€Ñ‚ Ð´Ó©Ñ€Ó©Ò« Ð±ÑƒÐ»Ò»Ð°, ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ð»Ð°Ñ€Ò™Ñ‹Ò£ Ð±ÐµÑ€ÐµÐ½Ñе Ð±Ð»Ð¾Ð³Ñ‹Ð½ Ò¯Ñ‚әй. Ð˜ÐºÐµÐ½Ñе ÑˆÐ°Ñ€Ñ‚ Ð´Ó©Ñ€Ó©Ò« Ð±ÑƒÐ»Ò»Ð°, ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ð»Ð°Ñ€Ò™Ñ‹Ò£ Ð¸ÐºÐµÐ½Ñе Ð±Ð»Ð¾Ð³Ñ‹Ð½ Ò¯Ñ‚әй.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "БеренÑе ÑˆÐ°Ñ€Ñ‚ Ð´Ó©Ñ€Ó©Ò« Ð±ÑƒÐ»Ò»Ð°, ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ð»Ð°Ñ€Ò™Ñ‹Ò£ Ð±ÐµÑ€ÐµÐ½Ñе Ð±Ð»Ð¾Ð³Ñ‹Ð½ Ò¯Ñ‚әй. Ó˜Ð³Ó™Ñ€ Ð¸ÐºÐµÐ½Ñе ÑˆÐ°Ñ€Ñ‚ Ð´Ó©Ñ€Ó©Ò« Ð±ÑƒÐ»Ò»Ð°, ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ð»Ð°Ñ€Ò™Ñ‹Ò£ Ð¸ÐºÐµÐ½Ñе Ð±Ð»Ð¾Ð³Ñ‹Ð½ Ò¯Ñ‚әй. Ð‘ер ÑˆÐ°Ñ€Ñ‚ Ñ‚а Ð´Ó©Ñ€Ó©Ò« Ð±ÑƒÐ»Ð¼Ð°Ò»Ð°, ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° Ð±Ð»Ð¾ÐºÑ‚арының Ò»ÑƒÒ£Ò“ыһын Ò¯Ñ‚әй.";
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://en.wikipedia.org/wiki/Цикл_(программалау)";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "үтәргә";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = " %1 Ñ‚апҡыр Ò¡Ð°Ð±Ð°Ñ‚ларға";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "Командаларҙы Ð±ÐµÑ€ Ð½Ð¸ÑÓ™ Ñ‚апҡыр Ò¯Ñ‚әй.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "ҡабатларға, Ó™Ð»ÐµÐ³Ó™ ÑŽÒ¡";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "ҡабатларға, Ó™Ð»ÐµÐ³Ó™";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "Мәғәнә Ñлған Ð±ÑƒÐ»Ò“анда, ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ð»Ð°Ñ€Ò™Ñ‹ Ò¡Ð°Ð±Ð°Ñ‚лай.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "Мәғәнә Ð´Ó©Ñ€Ó©Ò« Ð±ÑƒÐ»Ò“анда, ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ð»Ð°Ñ€Ò™Ñ‹ Ò¡Ð°Ð±Ð°Ñ‚лай.";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "Бөтә %1 Ð±Ð»Ð¾ÐºÑ‚арҙы ÑŽÐ¹Ñ‹Ñ€Ò“амы?";
+Blockly.Msg["DELETE_BLOCK"] = "Блокты ÑŽÐ¹Ò™Ñ‹Ñ€Ñ‹Ñ€Ò“а";
+Blockly.Msg["DELETE_VARIABLE"] = "Delete the '%1' variable";  // untranslated
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Delete %1 uses of the '%2' variable?";  // untranslated
+Blockly.Msg["DELETE_X_BLOCKS"] = " %1 Ð±Ð»Ð¾ÐºÑ‚Ñ‹ ÑŽÐ¹Ò™Ñ‹Ñ€Ñ‹Ñ€Ò“а";
+Blockly.Msg["DISABLE_BLOCK"] = "Блокты Ò»Ò¯Ð½Ð´ÐµÑ€ÐµÑ€Ð³Ó™";
+Blockly.Msg["DUPLICATE_BLOCK"] = "КүÑереп Ð°Ð»Ñ‹Ñ€Ò“а";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicate Comment";  // untranslated
+Blockly.Msg["ENABLE_BLOCK"] = "Блокты Ñ‚оҡандырырға";
+Blockly.Msg["EXPAND_ALL"] = "Блоктарҙы Ð¹Ó™Ð¹ÐµÑ€Ð³Ó™";
+Blockly.Msg["EXPAND_BLOCK"] = "Блокты Ð¹Ó™Ð¹ÐµÑ€Ð³Ó™";
+Blockly.Msg["EXTERNAL_INPUTS"] = "Тышҡы Ó©Ò«Ñ‚әлмә";
+Blockly.Msg["HELP"] = "Ярҙам";
+Blockly.Msg["INLINE_INPUTS"] = "ЭÑке Ó©Ò«Ñ‚әлмә";
+Blockly.Msg["IOS_CANCEL"] = "Cancel";  // untranslated
+Blockly.Msg["IOS_ERROR"] = "Error";  // untranslated
+Blockly.Msg["IOS_OK"] = "OK";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Add Input";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Allow statements";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "This function has duplicate inputs.";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "INPUTS";  // untranslated
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "Add";  // untranslated
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Add Variable";  // untranslated
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "Delete";  // untranslated
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "You can't use an empty variable name.";  // untranslated
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Rename";  // untranslated
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Variable name";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "create empty list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Returns a list, of length 0, containing no data records";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "иÑемлек";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this list block.";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "менән Ð¸Ñемлек Ñ‚өҙөргә";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Add an item to the list.";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Create a list with any number of items.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "беренÑе";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "# Ð°Ò™Ð°Ò“ынан";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "алырға";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "алырға Ò»Ó™Ð¼ ÑŽÐ¹Ñ‹Ñ€Ò“а";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "аҙаҡҡы";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "оÑраҡлы";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "юйырға";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Returns the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Returns the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Returns the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Returns a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "Removes and returns the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "Removes and returns the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "Removes and returns the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Removes and returns a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "Removes the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "Removes the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "Removes the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Removes a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "to # from end";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "to #";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "to last";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "get sub-list from first";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "get sub-list from # from end";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "get sub-list from #";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Creates a copy of the specified portion of a list.";  // untranslated
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 is the last item.";  // untranslated
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 is the first item.";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "find first occurrence of item";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "find last occurrence of item";  // untranslated
+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.";  // untranslated
+Blockly.Msg["LISTS_INLIST"] = "иÑемлеккә";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 Ð±ÑƒÑˆ";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Returns true if the list is empty.";  // untranslated
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "оҙонлоғо %1";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Returns the length of a list.";  // untranslated
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "create list with item %1 repeated %2 times";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Creates a list consisting of the given value repeated the specified number of times.";  // untranslated
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";  // untranslated
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Reverse a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "кеүек";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "өҫтәп Ò¡ÑƒÐ¹Ñ‹Ñ€Ò“а";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "йыйылма";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Inserts the item at the start of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Inserts the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Append the item to the end of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Inserts the item randomly in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Sets the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Sets the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Sets the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Sets a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";  // untranslated
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "ascending";  // untranslated
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "descending";  // untranslated
+Blockly.Msg["LISTS_SORT_TITLE"] = "sort %1 %2 %3";  // untranslated
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Sort a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "alphabetic, ignore case";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "numeric";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "alphabetic";  // untranslated
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "make list from text";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "make text from list";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Join a list of texts into one text, separated by a delimiter.";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Split text into a list of texts, breaking at each delimiter.";  // untranslated
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "with delimiter";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "Ñлған";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "Дөрөҫ Ð¹Ó™ÐºÐ¸ Ñлғанды Ò¡Ð°Ð¹Ñ‚ара.";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "дөрөҫ";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://en.wikipedia.org/wiki/Inequality_(математика)";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Өҫтәмәләр Ñ‚игеҙ Ð±ÑƒÐ»Ò»Ð°, Ð´Ó©Ñ€Ó©Ò« Ð¼Ó™Ò“әнәһен ÐºÐ¸Ñ€Ðµ Ò¡Ð°Ð¹Ñ‚ара.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "БеренÑе Ó©Ò«Ñ‚әмә Ð¸ÐºÐµÐ½Ñеһенән Ò™ÑƒÑ€Ñ‹Ñ€Ð°Ò¡ Ð±ÑƒÐ»Ò»Ð°, Ð´Ó©Ñ€Ó©Ò« Ð¼Ó™Ò“әнәһен ÐºÐ¸Ñ€Ðµ Ò¡Ð°Ð¹Ñ‚ара.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "БеренÑе Ó©Ò«Ñ‚әмә Ð¸ÐºÐµÐ½Ñеһенән Ð±Ó™Ð»Ó™ÐºÓ™Ð¹ÐµÑ€Ó™Ðº Ð¹Ó™ ÑƒÒ“а Ñ‚иң Ð±ÑƒÐ»Ò»Ð°, Ð´Ó©Ñ€Ó©Ò« Ð¼Ó™Ò“әнәһен ÐºÐ¸Ñ€Ðµ Ò¡Ð°Ð¹Ñ‚ара.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "БеренÑе Ó©Ò«Ñ‚әмә Ð¸ÐºÐµÐ½Ñеһенән Ð±Ó™Ð»Ó™ÐºÓ™Ð¹ÐµÑ€Ó™Ðº Ð±ÑƒÐ»Ò»Ð°, Ð´Ó©Ñ€Ó©Ò« Ð¼Ó™Ò“әнәһен ÐºÐ¸Ñ€Ðµ Ò¡Ð°Ð¹Ñ‚ара.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "БеренÑе Ó©Ò«Ñ‚әмә Ð¸ÐºÐµÐ½Ñеһенән Ð±Ó™Ð»Ó™ÐºÓ™Ð¹ÐµÑ€Ó™Ðº Ð¹Ó™ ÑƒÒ“а Ñ‚иң Ð±ÑƒÐ»Ò»Ð°, Ð´Ó©Ñ€Ó©Ò« Ð¼Ó™Ò“әнәһен ÐºÐ¸Ñ€Ðµ Ò¡Ð°Ð¹Ñ‚ара.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "Өҫтәмәләр Ñ‚игеҙ Ð±ÑƒÐ»Ð¼Ð°Ò»Ð°, Ð´Ó©Ñ€Ó©Ò« Ð¼Ó™Ò“әнәһен ÐºÐ¸Ñ€Ðµ Ò¡Ð°Ð¹Ñ‚ара.";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "%1 Ñ‚үгел";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "Өҫтәлмә Ñлған Ð±ÑƒÐ»Ò»Ð°, Ð´Ó©Ñ€Ó©Ò« Ð°Ò£Ð»Ð°Ñ‚маны Ò¡Ð°Ð¹Ñ‚ара. Ó¨Ò«Ñ‚әлмә Ð´Ó©Ñ€Ó©Ò« Ð±ÑƒÐ»Ò»Ð°, Ñлған Ð°Ò£Ð»Ð°Ñ‚маны Ò¡Ð°Ð¹Ñ‚ара.";
+Blockly.Msg["LOGIC_NULL"] = "нуль";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";  // untranslated
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "Ðулде Ò¡Ð°Ð¹Ñ‚ара.";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "һәм";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "йәки";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "Әгәр Ò™Ó™ Ð¸ÐºÐµ Ó©Ò«Ñ‚әлмә Ð»Ó™ Ñ‚ап ÐºÐ¸Ð»Ò»Ó™, Ð´Ó©Ñ€Ó©Ò« Ð°Ò£Ð»Ð°Ñ‚маны ÐºÐ¸Ñ€Ðµ Ò¡Ð°Ð¹Ñ‚ара.";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "Өҫтәлмәләрҙең Ð±ÐµÑ€ÐµÒ»Ðµ Ð³ÐµÐ½Ó™ Ð´Ó©Ñ€Ó©Ò« Ð±ÑƒÐ»Ò»Ð°, Ð´Ó©Ñ€Ó©Ò« Ð°Ò£Ð»Ð°Ñ‚маны Ò¡Ð°Ð¹Ñ‚ара.";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "теÑÑ‚";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "әгәр Ñлған Ð±ÑƒÐ»Ò»Ð°";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "әгәр Ð´Ó©Ñ€Ó©Ò« Ð±ÑƒÐ»Ò»Ð°";
+Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "Һайлау ÑˆÐ°Ñ€Ñ‚ын Ñ‚икшерә. Ó˜Ð³Ó™Ñ€ ÑƒÐ» Ð´Ó©Ñ€Ó©Ò« Ð±ÑƒÐ»Ò»Ð°, Ð±ÐµÑ€ÐµÐ½Ñе Ð¼Ó™Ò“әнәне, Ñ…ата Ð±ÑƒÐ»Ò»Ð°, Ð¸ÐºÐµÐ½Ñе Ð¼Ó™Ò“әнәне Ò¡Ð°Ð¹Ñ‚ара.";
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://ba.wikipedia.org/wiki/Ðрифметика";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Ике Ò»Ð°Ð½Ð´Ñ‹Ò£ Ñуммаһын Ò¡Ð°Ð¹Ñ‚ара.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Ике Ò»Ð°Ð½Ð´Ñ‹Ò£ Ð±Ò¯Ð»ÐµÐ½Ð´ÐµÐ³ÐµÐ½ Ò¡Ð°Ð¹Ñ‚ара.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Ике Ò»Ð°Ð½Ð´Ñ‹Ò£ Ð°Ð¹Ñ‹Ñ€Ð¼Ð°Ò»Ñ‹Ð½ Ò¡Ð°Ð¹Ñ‚ара.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Ике Ò»Ð°Ð½Ð´Ñ‹Ò£ Ò¡Ð°Ð±Ð°Ñ‚ландығын Ò¡Ð°Ð¹Ñ‚ара.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Дәрәжәгә ÐºÒ¯Ñ‚әрелгән Ð¸ÐºÐµÐ½Ñе Ò»Ð°Ð½Ð´Ð°Ð½ Ñ‚әүгеһенә Ò¡Ð°Ð¹Ñ‚ара.";
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://ba.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";
+Blockly.Msg["MATH_CHANGE_TITLE"] = "%1 Ñ‚ан %2 Ò¡Ð° Ð°Ñ€Ñ‚тырырға";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "ҮҙгәреүÑән Ò»Ð°Ð½Ò“а Ó©Ò«Ñ‚әй '%1'.";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://ba.wikipedia.org/wiki/Математик_конÑтанта";
+Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "Таралған ÐºÐ¾Ð½Ñтантаның Ð±ÐµÑ€ÐµÒ»ÐµÐ½ ÐºÒ¯Ñ€Ò»Ó™Ñ‚Ó™: Ï€ (3.141...), e (2.718...), Ï† (1.618...), sqrt(2) (1.414...), sqrt(½) (0.707...) Ð¹Ó™ÐºÐ¸ âˆž (Ñикһеҙлек).";
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "Ñикләргә %1 Ð°Ò«Ñ‚ан %2 Ó©Ò«Ñ‚ән %3";
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Һанды Ð°Ò«Ñ‚ан Ò»Ó™Ð¼ Ó©Ò«Ñ‚ән Ñикләй (Ñиктәгеләрен Ð¸Ð½Ð´ÐµÑ€ÐµÐ¿).";
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";  // untranslated
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "бүленә";
+Blockly.Msg["MATH_IS_EVEN"] = "тағы";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "тиҫкәре";
+Blockly.Msg["MATH_IS_ODD"] = "Ñәйер";
+Blockly.Msg["MATH_IS_POSITIVE"] = "ыңғай";
+Blockly.Msg["MATH_IS_PRIME"] = "Ñбай";
+Blockly.Msg["MATH_IS_TOOLTIP"] = "Һандың Ð¹Ð¾Ð¿, Ñ‚аҡ, Ñбай, Ð±Ó©Ñ‚өн, Ñ‹Ò£Ò“ай, ÐºÐ¸Ñ€Ðµ Ð¹Ó™ÐºÐ¸ Ð±Ð¸Ð»Ð´Ó™Ð»Ðµ Ò»Ð°Ð½Ò“а Ò¡Ð°Ñ€Ð°Ñ‚а Ð½Ð¸Ð½Ð´Ó™Ð¹ Ð±ÑƒÐ»Ñ‹ÑƒÑ‹Ð½ Ñ‚икшерә. Ð”Ó©Ñ€Ó©Ò« Ð¹Ó™ Ñлған Ð¼Ó™Ò“әнәһен ÐºÒ¯Ñ€Ò»Ó™Ñ‚Ó™.";
+Blockly.Msg["MATH_IS_WHOLE"] = "бөтөн";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://ba.wikipedia.org/wiki/Ҡалдыҡ_менән_бүлеү";
+Blockly.Msg["MATH_MODULO_TITLE"] = "ҡалдыҡ %1 : %2 Ð°Ñ€Ð°Ò»Ñ‹Ð½Ð´Ð°";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Ике Ò»Ð°Ð½Ð´Ñ‹ Ð±Ò¯Ð»ÐµÒ¯ Ò¡Ð°Ð»Ð´Ñ‹Ò“ын ÐºÒ¯Ñ€Ò»Ó™Ñ‚Ó™.";
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";  // untranslated
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://ba.wikipedia.org/wiki/Һан";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "Рәт.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "иÑемлектең ÑƒÑ€Ñ‚аÑа Ð°Ñ€Ð¸Ñ„метик Ð´Ó™Ò¯Ð¼Ó™Ð»Ðµ";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "иÑемлектәге Ð¸Ò£ Ò™ÑƒÑ€Ñ‹";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "иÑемлек Ð¼ÐµÐ´Ð¸Ð°Ð½Ð°Ò»Ñ‹";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "ИÑемлектәге Ð¸Ò£ Ð±Ó™Ð»Ó™ÐºÓ™Ð¹Ðµ";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "иÑемлек Ð¼Ð¾Ð´Ð°Ð»Ð°Ñ€Ñ‹";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "иÑемлектең Ð¾Ñраҡлы Ñлементы";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "иÑемлекте Ñтандарт ÐºÐ¸Ñ€Ðµ Ò¡Ð°Ò“ыу";
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "иÑемлек Ñуммаһы";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "ИÑемлектең ÑƒÑ€Ñ‚аÑа Ð°Ñ€Ð¸Ñ„метик Ð´Ó™Ò¯Ð¼Ó™Ð»Ðµ ÐºÒ¯Ñ€Ò»Ó™Ñ‚Ó™.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "ИÑемлектең Ð¸Ò£ Ò™ÑƒÑ€ Ò»Ð°Ð½Ñ‹Ð½  ÐºÒ¯Ñ€Ò»Ó™Ñ‚Ó™.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "ИÑемлек Ð¼ÐµÐ´Ð¸Ð°Ð½Ð°Ò»Ñ‹Ð½ ÐºÒ¯Ñ€Ò»Ó™Ñ‚Ó™.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "ИÑемлектәге Ð¸Ò£ Ð±Ó™Ð»Ó™ÐºÓ™Ð¹ Ò»Ð°Ð½Ð´Ñ‹ ÐºÒ¯Ñ€Ò»Ó™Ñ‚Ó™.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "ИÑемлектең Ð¸Ò£ ÐºÒ¯Ð¿ Ð¾Ñраған Ñлементтарын ÐºÒ¯Ñ€Ò»Ó™Ñ‚Ó™.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "ИÑемлектең Ð¾Ñраҡлы Ñлементын ÐºÒ¯Ñ€Ò»Ó™Ñ‚Ó™.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "ИÑемлекте Ñтандарт ÐºÐ¸Ñ€Ðµ Ò¡Ð°Ò“ыуҙы ÐºÒ¯Ñ€Ò»Ó™Ñ‚Ó™.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "ИÑемлектәрҙәге Ò»Ð°Ð½Ð´Ð°Ñ€ Ñуммаһын ÐºÒ¯Ñ€Ò»Ó™Ñ‚Ó™.";
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://ba.wikipedia.org/wiki/Ялған Ð¾Ñраҡлы_һандар_генераторы";
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "0 (үҙен Ð´Ó™ Ð¸Ð½Ð´ÐµÑ€ÐµÐ¿) Ò»Ó™Ð¼ 1 Ð°Ñ€Ð°Ò»Ñ‹Ð½Ð´Ð°Ò“Ñ‹ Ð¾Ñраҡлы Ò»Ð°Ð½";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Return a random fraction between 0.0 (inclusive) and 1.0 (exclusive).";  // untranslated
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://ba.wikipedia.org/wiki/Ялған Ð¾Ñраҡлы_һандар_генераторы";
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "%1-ҙән %2-гә Ñ‚иклем Ð¾Ñраҡлы Ð±Ó©Ñ‚өн Ò»Ð°Ð½";
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Ике Ð±Ð¸Ñ€ÐµÐ»Ð³Ó™Ð½ Ò»Ð°Ð½ Ð°Ñ€Ð°Ò»Ñ‹Ð½Ð´Ð°Ò“Ñ‹ (үҙҙәрен Ð´Ó™ Ð¸Ð½Ð´ÐµÑ€ÐµÐ¿) Ð¾Ñраҡлы Ò»Ð°Ð½Ð´Ñ‹ ÐºÒ¯Ñ€Ò»Ó™Ñ‚Ó™.";
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://ba.wikipedia.org/wiki/Т=Түңәрәкләү";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "түңәрәк";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "бәләкәйгә Ñ‚иклем Ñ‚үңәрәкләргә";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "ҙурына Ñ‚иклем Ñ‚үңәрәкләргә";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Һанды Ò™ÑƒÑ€Ñ‹Ð½Ð° Ð¹Ó™ Ð±Ó™Ð»Ó™ÐºÓ™Ð¹ÐµÐ½Ó™ Ñ‚иклем Ñ‚үңәрәкләргә.";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://ba.wikipedia.org/wiki/Квадрат_тамыр";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "абÑолют";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "квадрат Ñ‚амыр";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Һандың Ð¼Ð¾Ð´ÑƒÐ»ÐµÐ½ Ò¡Ð°Ð¹Ñ‚ара.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Күрһәтелгән Ð´Ó™Ñ€Ó™Ð¶Ó™Ð»Ó™ Ò¡Ð°Ð¹Ñ‚ара.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "Һандың Ð½Ð°Ñ‚ураль Ð»Ð¾Ð³Ð°Ñ€Ð¸Ñ‚мын Ò¡Ð°Ð¹Ñ‚ара.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "Һандың ÑƒÐ½Ñ‹Ð½ÑÑ‹ Ð»Ð¾Ð³Ð°Ñ€Ð¸Ñ‚мын Ò¡Ð°Ð¹Ñ‚ара.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Кире Ò»Ð°Ð½Ð´Ñ‹ Ò¡Ð°Ð¹Ñ‚ара.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Күрһәтелгән 10-ÑÑ‹ Ð´Ó™Ñ€Ó™Ð¶Ó™Ð»Ó™ Ò¡Ð°Ð¹Ñ‚ара.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Һандың ÐºÐ²Ð°Ð´Ñ€Ð°Ñ‚ Ñ‚амырын Ò¡Ð°Ð¹Ñ‚ара.";
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";  // untranslated
+Blockly.Msg["MATH_TRIG_ACOS"] = "acos";  // untranslated
+Blockly.Msg["MATH_TRIG_ASIN"] = "asin";  // untranslated
+Blockly.Msg["MATH_TRIG_ATAN"] = "atan";  // untranslated
+Blockly.Msg["MATH_TRIG_COS"] = "cos";  // untranslated
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://ba..wikipedia.org/wiki/Тригонометрик_функциÑлар";
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";  // untranslated
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "ÐрккоÑинуÑÑ‚Ñ‹ Ð³Ñ€Ð°Ð´ÑƒÑтарҙа ÐºÒ¯Ñ€Ò»Ó™Ñ‚Ó™.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "ÐркÑинуÑÑ‚Ñ‹ Ð³Ñ€Ð°Ð´ÑƒÑтарҙа ÐºÒ¯Ñ€Ò»Ó™Ñ‚Ó™.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "ÐрктангенÑÑ‚Ñ‹ Ð³Ñ€Ð°Ð´ÑƒÑтарҙа ÐºÒ¯Ñ€Ò»Ó™Ñ‚Ó™.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Мөйөштөң ÐºÐ¾ÑинуÑын Ð³Ñ€Ð°Ð´ÑƒÑтарҙа Ò¡Ð°Ð¹Ñ‚ара.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Мөйөштөң ÑинуÑын Ð³Ñ€Ð°Ð´ÑƒÑтарҙа Ò¡Ð°Ð¹Ñ‚ара.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Мөйөштөң Ñ‚ангенÑын Ð³Ñ€Ð°Ð´ÑƒÑтарҙа ÐºÒ¯Ñ€Ò»Ó™Ñ‚Ó™.";
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Create colour variable...";  // untranslated
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Create number variable...";  // untranslated
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Create string variable...";  // untranslated
+Blockly.Msg["NEW_VARIABLE"] = "Яңы Ò¯Ò™Ð³Ó™Ñ€ÐµÒ¯Ñән...";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "Яңы Ò¯Ò™Ð³Ó™Ñ€ÐµÒ¯Ñәндең Ð¸Ñеме:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "New variable type:";  // untranslated
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "allow statements";  // untranslated
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "with:";  // untranslated
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Run the user-defined function '%1'.";  // untranslated
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Run the user-defined function '%1' and use its output.";  // untranslated
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "with:";  // untranslated
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "'%1' Ñ‚өҙөргә";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Describe this function...";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "do something";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "to";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Creates a function with no output.";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "кире Ò¡Ð°Ð¹Ñ‚арыу";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "Creates a function with an output.";  // untranslated
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "Warning: This function has duplicate parameters.";  // untranslated
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "Highlight function definition";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "If a value is true, then return a second value.";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "Warning: This block may be used only within a function definition.";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "инеү Ð¸Ñеме:";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Add an input to the function.";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "инеү";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Add, remove, or reorder inputs to this function.";  // untranslated
+Blockly.Msg["REDO"] = "документтарҙы Ò¯Ò™Ð³Ó™Ñ€Ñ‚ергә";
+Blockly.Msg["REMOVE_COMMENT"] = "Ðңлатмаларҙы ÑŽÐ¹Ñ‹Ñ€Ò“а";
+Blockly.Msg["RENAME_VARIABLE"] = "ҮҙгәреүÑәндең Ð¸Ñемен Ð°Ð»Ð¼Ð°ÑˆÑ‚ырырға...";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Бөтә '%1' Ò¯Ò™Ð³Ó™Ñ€ÐµÒ¯Ñәндәрҙең Ð¸Ñемен Ð¾ÑˆÐ¾Ð»Ð°Ð¹ Ð°Ð»Ð¼Ð°ÑˆÑ‚ырырға:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "to %1 append text %2";  // untranslated
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "ҮҙгәреүÑән Â«%1»-гә Ñ‚екÑÑ‚ Ó©Ò«Ñ‚әргә.";
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "to lower case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "to Title Case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "to UPPER CASE";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Return a copy of the text in a different case.";  // untranslated
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "тәүге Ñ…әрефте Ð°Ð»Ñ‹Ñ€Ò“а";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "â„– Ñ…әрефен Ð°Ò™Ð°Ò¡Ñ‚ан Ð°Ð»Ñ‹Ñ€Ò“а";
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "хат Ð°Ð»Ñ‹Ñ€Ò“а #";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "һуңғы Ñ…әрефте Ð°Ð»Ñ‹Ñ€Ò“а";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "оÑраҡлы Ñ…әрефте Ð°Ð»Ñ‹Ñ€Ò“а";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "in text %1 %2";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Returns the letter at the specified position.";  // untranslated
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";  // untranslated
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "count %1 in %2";  // untranslated
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Count how many times some text occurs within some other text.";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "ТекÑтҡа Ñлемент Ó©Ò«Ñ‚Ó™Ò¯.";
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "ҡушылығыҙ";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this text block.";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "to letter # from end";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "# Ñ…атҡа";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "һуңғы Ñ…әрефкә Ñ‚иклем";
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "текÑта";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "get substring from first letter";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "get substring from letter # from end";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "get substring from letter #";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Returns a specified portion of the text.";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "текÑÑ‚Ñ‹Ò£ Ñ‚әүге Ð¸Ð½ÐµÒ¯ÐµÐ½ Ñ‚абырға";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "ТекÑÑ‚Ñ‹Ò£ Ò»ÑƒÒ£Ò“Ñ‹ Ð¸Ð½ÐµÒ¯ÐµÐ½ Ñ‚абырға";
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "текÑтҡа %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.";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 Ð±ÑƒÑˆ";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Returns true if the provided text is empty.";  // untranslated
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "текÑÑ‚ Ñ‚өҙөргә";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Элементтарҙың Ñ‚еләһә ÐºÒ¯Ð¿Ð¼Ðµ Ò»Ð°Ð½Ñ‹Ð½ Ð±ÐµÑ€Ð»Ó™ÑˆÑ‚ереп Ñ‚екÑÑ‚ Ñ„рагментын Ð±ÑƒÐ»Ð´Ñ‹Ñ€Ð°.";
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "оҙонлоғо %1";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Бирелгән Ñ‚екÑтағы Ñимволдар Ò»Ð°Ð½Ñ‹Ð½ (буш ÑƒÑ€Ñ‹Ð½Ð´Ð°Ñ€ Ð¼ÐµÐ½Ó™Ð½ Ð±ÐµÑ€Ð³Ó™) ÐºÐ¸Ñ€Ðµ Ò¡Ð°Ð¹Ñ‚ара.";
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "%1 Ð±Ð°Ò«Ñ‚ырырға";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Print the specified text, number or other value.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Prompt for user for a number.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Prompt for user for some text.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "prompt for number with message";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "prompt for text with message";  // untranslated
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";  // untranslated
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "replace %1 with %2 in %3";  // untranslated
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Replace all occurances of some text within some other text.";  // untranslated
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";  // untranslated
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Reverses the order of the characters in the text.";  // untranslated
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://en.wikipedia.org/wiki/String_(computer_science)";  // untranslated
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "ТекÑÑ‚Ñ‹Ò£ Ñ…әрефе, Ò»Ò¯Ò™Ðµ Ð¹Ó™ÐºÐ¸ ÑŽÐ»Ñ‹.";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "trim spaces from both sides of";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "trim spaces from left side of";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "trim spaces from right side of";  // untranslated
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Return a copy of the text with spaces removed from one or both ends.";  // untranslated
+Blockly.Msg["TODAY"] = "Бөгөн";
+Blockly.Msg["UNDO"] = "Кире Ð°Ð»Ñ‹Ñ€Ò“а";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "Ñлемент";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Create 'set %1'";  // untranslated
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Returns the value of this variable.";  // untranslated
+Blockly.Msg["VARIABLES_SET"] = "set %1 to %2";  // untranslated
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Create 'get %1'";  // untranslated
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Sets this variable to be equal to the input.";  // untranslated
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "A variable named '%1' already exists.";  // untranslated
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "A variable named '%1' already exists for another type: '%2'.";  // untranslated
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something...";  // untranslated
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/bcc.js b/js/msg/js/bcc.js
new file mode 100644 (file)
index 0000000..c4e135b
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.bcc');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["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'";  // untranslated
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "تغییر Ù…قدار:";
+Blockly.Msg["CLEAN_UP"] = "Clean up Blocks";  // untranslated
+Blockly.Msg["COLLAPSE_ALL"] = "Ùروپاشی Ø¨Ù„وک‌ها";
+Blockly.Msg["COLLAPSE_BLOCK"] = "Ùروپاشی Ø¨Ù„ÙˆÚ©";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "رنگ Û±";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "رنگ Û²";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";  // untranslated
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "نسبت";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "مخلوط";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "دو Ø±Ù†Ú¯ Ø±Ø§ Ø¨Ø§ Ù†Ø³Ø¨Øª Ù…شخص‌شده Ù…خلوط Ù…ی‌کند (Û°Ù«Û° - Û±Ù«Û°)";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://fa.wikipedia.org/wiki/%D8%B1%D9%86%DA%AF";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "انتخاب ÛŒÚ© Ø±Ù†Ú¯ Ø§Ø² ØªØ®ØªÙ‡â€ŒØ±Ù†Ú¯.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "رنگ ØªØµØ§Ø¯ÙÛŒ";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "انتخاب ÛŒÚ© Ø±Ù†Ú¯ Ø¨Ù‡ Ø´Ú©Ù„ ØªØµØ§Ø¯ÙÛŒ.";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "آبی";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "سبز";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";  // untranslated
+Blockly.Msg["COLOUR_RGB_RED"] = "قرمز";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "رنگ Ø¨Ø§";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "ساخت ÛŒÚ© Ø±Ù†Ú¯ Ø¨Ø§ Ù…قدار Ù…شخص‌شده‌ای Ø§Ø² Ù‚رمز، Ø³Ø¨Ø² Ùˆ Ø¢Ø¨ÛŒ. Ù‡Ù…Ù‡Ù” Ù…قادیر Ø¨Ø§ÛŒØ¯ Ø¨ÛŒÙ† Û° ØªØ§ Û±Û°Û° Ø¨Ø§Ø´Ù†Ø¯.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "شکستن Ø­Ù„قه";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "ادامه Ø¨Ø§ ØªÚ©Ø±Ø§Ø± Ø¨Ø¹Ø¯ÛŒ Ø­Ù„قه";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "شکستن Ø­Ù„قهٔ Ø´Ø§Ù…Ù„.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "پریدن Ø§Ø² Ø¨Ù‚یهٔ Ø­Ù„قه Ùˆ Ø§Ø¯Ø§Ù…Ù‡ Ø¨Ø§ ØªÚ©Ø±Ø§Ø± Ø¨Ø¹Ø¯ÛŒ.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "اخطار: Ø§ÛŒÙ† Ø¨Ù„ÙˆÚ© Ù…Ù…Ú©Ù† Ø§Ø³Øª Ùقط Ø¯Ø§Ø®Ù„ ÛŒÚ© Ø­Ù„قه Ø§Ø³ØªÙاده Ø´ÙˆØ¯.";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "برای Ù‡Ø± Ù…ورد %1 Ø¯Ø± Ùهرست %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "برای Ù‡Ø± Ù…ورد Ø¯Ø± Ø§ÛŒÙ† Ùهرست، ØªÙ†Ø¸ÛŒÙ… Ù…تغیر Â«%1» Ø¨Ù‡ Ù…ورد Ùˆ Ø§Ù†Ø¬Ø§Ù… ØªØ¹Ø¯Ø§Ø¯ÛŒ Ø¹Ø¨Ø§Ø±Øª.";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "با ØªØ¹Ø¯Ø§Ø¯ %1 Ø§Ø² %2 Ø¨Ù‡ %3 Ø¨Ø§ Ú¯Ø§Ù…‌های %4";
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "متغیر %1 Ø±Ø§ Ø¯Ø± Ù…قادیر Ø´Ø±ÙˆØ¹â€ŒØ´Ø¯Ù‡ Ø§Ø² Ø¹Ø¯Ø¯ Ø§Ù†ØªÙ‡Ø§ÛŒ  Ø¨Ù‡ Ø¹Ø¯Ø¯ Ø§Ù†ØªÙ‡Ø§ÛŒÛŒ Ø±Ø§ Ø¯Ø§Ø±Ø¯ØŒ Ø¨Ø§ Ùواصل Ù…شخص‌شده Ù…ی‌شمارد Ùˆ Ø§ÛŒÙ† Ø¨Ù„ÙˆÚ© Ù…شخص‌شده Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ù…ی‌دهد.";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "اÙزودن ÛŒÚ© Ø´Ø±Ø· Ø¨Ù‡ Ø¨Ù„ÙˆÚ© Ø§Ú¯Ø±.";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "اضاÙه‌کردن Ù†Ù‡Ø§ÛŒÛŒØŒ Ú¯Ø±Ùتن Ù‡Ù…Ù‡Ù” Ø´Ø±Ø§ÛŒØ· Ø¨Ù‡ Ø¨Ù„ÙˆÚ© Ø§Ú¯Ø±.";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "اضاÙه، Ø­Ø°Ù ÛŒØ§ ØªØ±ØªÛŒØ¨â€ŒØ³Ø§Ø²ÛŒ Ù‚سمت‌ها Ø¨Ø±Ø§ÛŒ ØªÙ†Ø¸ÛŒÙ… Ù…جدد Ø§ÛŒÙ† Ø¨Ù„ÙˆÚ© Ø§Ú¯Ø± Ù…سدود Ø§Ø³Øª.";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "آنگاه";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "اگر Ø¢Ù†Ú¯Ø§Ù‡";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "اگر";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "اگر ÛŒÚ© Ù…قدار ØµØ­ÛŒØ­ Ø§Ø³ØªØŒ Ø³Ù¾Ø³ Ú†Ù†Ø¯ Ø¹Ø¨Ø§Ø±Øª Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ø¨Ø¯Ù‡.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "اگر ÛŒÚ© Ù…قدار ØµØ­ÛŒØ­ Ø§Ø³ØªØŒ Ø§ÙˆÙ„ Ø¨Ù„ÙˆÚ© Ø§ÙˆÙ„ Ø¹Ø¨Ø§Ø±Ø§Øª Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ø¨Ø¯Ù‡.  Ø¯Ø± ØºÛŒØ± Ø§ÛŒÙ† ØµÙˆØ±Øª Ø¨Ù„ÙˆÚ© Ø¯ÙˆÙ… Ø¹Ø¨Ø§Ø±Ø§Øª Ø§Ù†Ø¬Ø§Ù… Ø¨Ø¯Ù‡.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "اگر Ù…قدار Ø§ÙˆÙ„ ØµØ­ÛŒØ­ Ø¨ÙˆØ¯ØŒ Ø§Ø² Ø¢Ù† Ø¨Ù„ÙˆÚ© Ø§ÙˆÙ„ Ø¹Ø¨Ø§Ø±Ø§Øª Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ø¨Ø¯Ù‡.  Ø¯Ø± ØºÛŒØ± Ø§ÛŒÙ† ØµÙˆØ±ØªØŒ Ø§Ú¯Ø± Ù…قدار Ø¯ÙˆÙ… ØµØ­ÛŒØ­ Ø§Ø³ØªØŒ Ø¨Ù„ÙˆÚ© Ø¯ÙˆÙ… Ø¹Ø¨Ø§Ø±Ø§Øª Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ø¨Ø¯Ù‡.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "اگر Ù…قدار Ø§ÙˆÙ„ Ø¯Ø±Ø³Øª Ø§Ø³ØªØŒ Ø¨Ù„ÙˆÚ© Ø§ÙˆÙ„ Ø¹Ø¨Ø§Ø±Ø§Øª Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ø¨Ø¯Ù‡.  Ø¯Ø± ØºÛŒØ± Ø§ÛŒÙ† ØµÙˆØ±ØªØŒ Ø§Ú¯Ø± Ù…قدار Ø¯ÙˆÙ… Ø¯Ø±Ø³Øª Ø¨Ø§Ø´Ø¯ Ø¨Ù„ÙˆÚ© Ø¯ÙˆÙ… Ø¹Ø¨Ø§Ø±Ø§Øª Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ø¨Ø¯Ù‡.  Ø§Ú¯Ø± Ù‡ÛŒÚ† Ø§Ø² Ù…قادیر Ø¯Ø±Ø³Øª Ù†Ø¨ÙˆØ¯ØŒ Ø¢Ø®Ø±ÛŒÙ† Ø¨Ù„ÙˆÚ© Ø¹Ø¨Ø§Ø±Ø§Øª Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ø¨Ø¯Ù‡.";
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://fa.wikipedia.org/wiki/%D8%AD%D9%84%D9%82%D9%87_%D9%81%D9%88%D8%B1";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "انجام";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "%1 Ø¨Ø§Ø± ØªÚ©Ø±Ø§Ø±";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "انجام Ú†Ù†Ø¯ Ø¹Ø¨Ø§Ø±Øª Ú†Ù†Ø¯ÛŒÙ† Ø¨Ø§Ø±.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "تکرار ØªØ§";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "تکرار Ø¯Ø± Ø­Ø§Ù„ÛŒ Ú©Ù‡";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "تا Ø²Ù…انی Ú©Ù‡ ÛŒÚ© Ù…قدار Ù†Ø§ØµØ­ÛŒØ­ Ø§Ø³ØªØŒ Ú†Ù†Ø¯ Ø¹Ø¨Ø§Ø±Øª Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ø¨Ø¯Ù‡.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "تا Ø²Ù…انی Ú©Ù‡ ÛŒÚ© Ù…قدار ØµØ­ÛŒØ­ Ø§Ø³ØªØŒ Ú†Ù†Ø¯ Ø¹Ø¨Ø§Ø±Øª Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ø¨Ø¯Ù‡.";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "Delete all %1 blocks?";  // untranslated
+Blockly.Msg["DELETE_BLOCK"] = "حذ٠بلوک";
+Blockly.Msg["DELETE_VARIABLE"] = "Delete the '%1' variable";  // untranslated
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Delete %1 uses of the '%2' variable?";  // untranslated
+Blockly.Msg["DELETE_X_BLOCKS"] = "حذ٠بلوک‌های %1";
+Blockly.Msg["DISABLE_BLOCK"] = "غیرÙعال‌سازی Ø¨Ù„ÙˆÚ©";
+Blockly.Msg["DUPLICATE_BLOCK"] = "تکراری";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicate Comment";  // untranslated
+Blockly.Msg["ENABLE_BLOCK"] = "Ùعال‌سازی Ø¨Ù„ÙˆÚ©";
+Blockly.Msg["EXPAND_ALL"] = "گسترش Ø¨Ù„وک‌ها";
+Blockly.Msg["EXPAND_BLOCK"] = "گسترش Ø¨Ù„ÙˆÚ©";
+Blockly.Msg["EXTERNAL_INPUTS"] = "ورودی‌های Ø®Ø§Ø±Ø¬ÛŒ";
+Blockly.Msg["HELP"] = "کومک";
+Blockly.Msg["INLINE_INPUTS"] = "ورودی‌های Ø¯Ø±ÙˆÙ† Ø®Ø·ÛŒ";
+Blockly.Msg["IOS_CANCEL"] = "Cancel";  // untranslated
+Blockly.Msg["IOS_ERROR"] = "Error";  // untranslated
+Blockly.Msg["IOS_OK"] = "OK";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Add Input";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Allow statements";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "This function has duplicate inputs.";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "INPUTS";  // untranslated
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "Add";  // untranslated
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Add Variable";  // untranslated
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "Delete";  // untranslated
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "You can't use an empty variable name.";  // untranslated
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Rename";  // untranslated
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Variable name";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "ایجاد Ùهرست Ø®Ø§Ù„ÛŒ";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Ùهرستی Ø¨Ø§ Ø·ÙˆÙ„ ØµÙر Ø´Ø§Ù…Ù„ Ù‡ÛŒÚ† Ø±Ú©ÙˆØ±Ø¯ Ø¯Ø§Ø¯Ù‡â€ŒØ§ÛŒ Ø¨Ø± Ù…ی‌گرداند.";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "Ùهرست";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "اضاÙه‌کردن، Ø­Ø°Ù‌کردن ÛŒØ§ ØªØ±ØªÛŒØ¨â€ŒØ³Ø§Ø²ÛŒ Ù…جدد Ø¨Ø®Ø´â€ŒÙ‡Ø§ Ø§ÛŒÙ† Ø¨Ù„ÙˆÚ© Ùهرستی.";
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "ایجاد Ùهرست Ø¨Ø§";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "اضاÙه‌کردن ÛŒÚ© Ù…ورد Ø¨Ù‡ Ùهرست.";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Ùهرستی Ø§Ø² Ù‡Ø± Ø¹Ø¯Ø¯ÛŒ Ø§Ø² Ù…وارد Ù…ی‌سازد.";
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "اولین";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "# Ø§Ø² Ø§Ù†ØªÙ‡Ø§";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "گرÙتن";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "گرÙتن Ùˆ Ø­Ø°Ù‌کردن";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "اهرین";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "تصادÙÛŒ";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "حذÙ‌کردن";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "اولین Ù…ورد ÛŒÚ© Ùهرست Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "موردی Ø¯Ø± Ù…حل Ù…شخص‌شده Ø¨Ø± Ù…ی‌گرداند.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "آخرین Ù…ورد Ø¯Ø± ÛŒÚ© Ùهرست Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "یک Ù…ورد ØªØµØ§Ø¯ÙÛŒ Ø¯Ø± ÛŒÚ© Ùهرست Ø¨Ø± Ù…ی‌گرداند.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "اولین Ù…ورد Ù…شخص‌شده Ø¯Ø± Ùهرست Ø±Ø§ Ø­Ø°Ù Ùˆ Ø¨Ø± Ù…ی‌گرداند.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "مورد Ø¯Ø± Ù…حل Ù…شخص‌شده Ø¯Ø± Ùهرست Ø±Ø§ Ø­Ø°Ù Ùˆ Ø¨Ø± Ù…ی‌گرداند.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "آخرین Ù…ورد Ù…شخص‌شده Ø¯Ø± Ùهرست Ø±Ø§ Ø­Ø°Ù Ùˆ Ø¨Ø± Ù…ی‌گرداند.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "مورد ØªØµØ§Ø¯Ùی‌ای Ø±Ø§ Ø¯Ø± Ùهرست Ø­Ø°Ù Ùˆ Ø¨Ø± Ù…ی‌گرداند.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "اولین Ù…ورد Ø±Ø§ Ø¯Ø± ÛŒÚ© Ùهرست Ø­Ø°Ù Ù…ی‌کند.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "مورد Ù…شخص‌شده Ø¯Ø± Ù…وقعیت Ù…شخص Ø¯Ø± ÛŒÚ© Ùهرست Ø±Ø§ Ø­Ø°Ù Ùˆ Ø¨Ø± Ù…ی‌گرداند.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "آخرین Ù…ورد Ø±Ø§ Ø¯Ø± ÛŒÚ© Ùهرست Ø­Ø°Ù Ù…ی‌کند.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "یک Ù…ورد ØªØµØ§Ø¯ÙÛŒ Ø±Ø§ ÛŒÚ© Ùهرست Ø­Ø°Ù Ù…ی‌کند.";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "به # Ø§Ø² Ø§Ù†ØªÙ‡Ø§";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "به #";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "به Ø¢Ø®Ø±ÛŒÙ†";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "گرÙتن Ø²ÛŒØ±Ù…جموعه‌ای Ø§Ø² Ø§Ø¨ØªØ¯Ø§";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "گرÙتن Ø²ÛŒØ±Ù…جموعه‌ای Ø§Ø² # Ø§Ø² Ø§Ù†ØªÙ‡Ø§";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "گرÙتن Ø²ÛŒØ±Ù…جموعه‌ای Ø§Ø² #";
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Ú©Ù¾ÛŒ Ø§Ø² Ù‚سمت Ù…شخص‌شدهٔ Ù„یست Ø¯Ø±Ø³Øª Ù…ی‌کند.";
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 Ø¢Ø®Ø±ÛŒÙ† Ù…ورد Ø§Ø³Øª.";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 Ø§ÙˆÙ„ین Ù…ورد Ø§Ø³Øª.";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "آخرین Ø±Ø®Ø¯Ø§Ø¯ Ù…تن Ø±Ø§ Ø¨ÛŒØ§Ø¨";
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "یاÙتن Ø¢Ø®Ø±ÛŒÙ† Ø±Ø®â€ŒØ¯Ø§Ø¯ Ù…ورد";
+Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "شاخصی Ø§Ø² Ø§ÙˆÙ„ین/آخرین Ø±Ø®â€ŒØ¯Ø§Ø¯ Ù…ورد Ø¯Ø± Ùهرست Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند. %1 Ø¨Ø± Ù…ی‌گرداند Ø§Ú¯Ø± Ù…تن Ù…وجود Ù†Ø¨ÙˆØ¯.";
+Blockly.Msg["LISTS_INLIST"] = "در Ùهرست";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 Ø®Ø§Ù„ÛŒ Ø§Ø³Øª";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "اگر Ùهرست Ø®Ø§Ù„ÛŒ Ø§Ø³Øª Ù…قدار ØµØ¬ÛŒØ¬ Ø¨Ø± Ù…ی‌گرداند.";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "طول %1";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "طول ÛŒÚ© Ùهرست Ø±Ø§ Ø¨Ø±Ù…ی‌گرداند.";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "Ùهرستی Ø¨Ø§ %1 ØªÚ©Ø±Ø§Ø±Ø´Ø¯Ù‡ Ø¨Ù‡ Ø§Ù†Ø¯Ø§Ø²Ù‡Ù” %2 Ù…ی‌سازد";
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Ùهرستی Ø´Ø§Ù…Ù„ Ù…قادیر Ø¯Ø§Ø¯Ù‡â€ŒØ´Ø¯Ù‡Ù” ØªÚ©Ø±Ø§Ø± Ø´Ø¯Ù‡ Ø¹Ø¯Ø¯ Ù…شخص‌شده Ù…ی‌سازد.";
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";  // untranslated
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Reverse a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "به‌عنوان";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "درج Ø¯Ø±";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "مجموعه";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "موردی Ø¨Ù‡ ØªÙ‡ Ùهرست Ø§Ø¶Ø§ÙÙ‡ Ù…ی‌کند.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "موردی Ø¯Ø± Ù…وقعیت Ù…شخص‌شده Ø¯Ø± ÛŒÚ© Ùهرست Ø§Ø¶Ø§ÙÙ‡ Ù…ی‌کند.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "موردی Ø¨Ù‡ ØªÙ‡ Ùهرست Ø§Ù„حاق Ù…ی‌کند.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "مورد Ø±Ø§ Ø¨Ù‡ ØµÙˆØ±Øª ØªØµØ§Ø¯ÙÛŒ Ø¯Ø± ÛŒÚ© Ùهرست Ù…ی‌اÙزاید.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "اولین Ù…ورد Ø¯Ø± ÛŒÚ© Ùهرست Ø±Ø§ ØªØ¹ÛŒÛŒÙ† Ù…ی‌کند.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "مورد Ù…شخص‌شده Ø¯Ø± ÛŒÚ© Ùهرست Ø±Ø§ Ù‚رار Ù…ی‌دهد.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "آخرین Ù…ورد Ø¯Ø± ÛŒÚ© Ùهرست Ø±Ø§ ØªØ¹ÛŒÛŒÙ† Ù…ی‌کند.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "یک Ù…ورد ØªØµØ§Ø¯ÙÛŒ Ø¯Ø± ÛŒÚ© Ùهرست Ø±Ø§ ØªØ¹ÛŒÛŒÙ† Ù…ی‌کند.";
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";  // untranslated
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "ascending";  // untranslated
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "descending";  // untranslated
+Blockly.Msg["LISTS_SORT_TITLE"] = "sort %1 %2 %3";  // untranslated
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Sort a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "alphabetic, ignore case";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "numeric";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "alphabetic";  // untranslated
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "make list from text";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "make text from list";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Join a list of texts into one text, separated by a delimiter.";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Split text into a list of texts, breaking at each delimiter.";  // untranslated
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "with delimiter";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "ناصحیح";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "بازگرداندن ÛŒÚ©ÛŒ Ø§Ø² ØµØ­ÛŒØ­ ÛŒØ§ Ù†Ø§ØµØ­ÛŒØ­.";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "صحیح";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://fa.wikipedia.org/wiki/%D9%86%D8%A7%D8%A8%D8%B1%D8%A7%D8%A8%D8%B1%DB%8C";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "بازگشت ØµØ­ÛŒØ­ Ø§Ú¯Ø± Ù‡Ø± Ø¯Ùˆ ÙˆØ±ÙˆØ¯ÛŒ Ø¨Ø§ ÛŒÚ©Ø¯ÛŒÚ¯Ø± Ø¨Ø±Ø§Ø¨Ø± Ø¨Ø§Ø´Ø¯.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "بازگرداندن ØµØ­ÛŒØ­ Ø§Ú¯Ø± ÙˆØ±ÙˆØ¯ÛŒ Ø§ÙˆÙ„ Ø¨Ø²Ø±Ú¯ØªØ± Ø§Ø² ÙˆØ±ÙˆØ¯ÛŒ Ø¯ÙˆÙ… Ø¨Ø§Ø´Ø¯.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "بازگرداندن ØµØ­ÛŒØ­ Ø§Ú¯Ø± ÙˆØ±ÙˆØ¯ÛŒ Ø§ÙˆÙ„ Ø¨Ø²Ø±Ú¯ØªØ± ÛŒØ§ Ù…ساوی ÛŒØ§ ÙˆØ±ÙˆØ¯ÛŒ Ø¯ÙˆÙ… Ø¨Ø§Ø´Ø¯.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "بازگرداندن ØµØ­ÛŒØ­ Ø§Ú¯Ø± ÙˆØ±ÙˆØ¯ÛŒ Ø§ÙˆÙ„ Ú©ÙˆÚ†Ú©ØªØ± Ø§Ø² ÙˆØ±ÙˆØ¯ÛŒ Ø¯ÙˆÙ… Ø¨Ø§Ø´Ø¯.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "بازگرداندن ØµØ­ÛŒØ­ Ø§Ú¯Ø± ÙˆØ±ÙˆØ¯ÛŒ Ø§ÙˆÙ„ Ú©ÙˆÚ†Ú©ØªØ± ÛŒØ§ Ù…ساوی Ø¨Ø§ ÙˆØ±ÙˆØ¯ÛŒ Ø¯ÙˆÙ… Ø¨Ø§Ø´Ø¯.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "برگرداندن ØµØ­ÛŒØ­ Ø§Ú¯Ø± Ù‡Ø± Ø¯Ùˆ ÙˆØ±ÙˆØ¯ÛŒ Ø¨Ø§ ÛŒÚ©Ø¯ÛŒÚ¯Ø± Ø¨Ø±Ø§Ø¨Ø± Ù†Ø¨Ø§Ø´Ù†Ø¯.";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "نه %1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "صجیج Ø¨Ø§Ø² Ù…ی‌گرداند Ø§Ú¯Ø± ÙˆØ±ÙˆØ¯ÛŒ Ù†Ø§ ØµØ­ÛŒØ­ Ø¨Ø§Ø´Ù†Ø¯. Ù†Ø§ØµØ­ÛŒØ­ Ø¨Ø§Ø²Ù…ی‌گرداند Ø§Ú¯Ø± ÙˆØ±ÙˆØ¯ÛŒ ØµØ­ÛŒØ­ Ø¨Ø§Ø´Ø¯.";
+Blockly.Msg["LOGIC_NULL"] = "تهی";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";  // untranslated
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "تهی Ø¨Ø§Ø²Ù…ی‌گرداند.";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "Ùˆ";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "یا";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "بازگرداندن ØµØ­ÛŒØ­ Ø§Ú¯Ø± Ù‡Ø± Ø¯Ùˆ ÙˆØ±ÙˆØ¯ÛŒ ØµØ­ÛŒØ­ Ø¨Ø§Ø´Ø¯.";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "بازگرداندن ØµØ­ÛŒØ­ Ø§Ú¯Ø± ÛŒÚ©ÛŒ Ø§Ø² Ø¯Ùˆ ÙˆØ±ÙˆØ¯ÛŒ ØµØ­ÛŒØ­ Ø¨Ø§Ø´Ø¯.";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "آزمایش";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "اگر Ù†Ø§ØµØ­ÛŒØ­";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "اگر ØµØ­ÛŒØ­";
+Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "بررسی ÙˆØ¶Ø¹ÛŒØª Ø¯Ø± Â«Ø¢Ø²Ù…ایش». Ø§Ú¯Ø± ÙˆØ¶Ø¹ÛŒØª ØµØ­ÛŒØ­ Ø¨Ø§Ø´Ø¯ØŒ Ù…قدار Â«Ø§Ú¯Ø± ØµØ­ÛŒØ­Â» Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند Ø¯Ø± ØºÛŒØ± Ø§ÛŒÙ†ØµÙˆØ±Øª Ù…قدار Â«Ø§Ú¯Ø± Ù†Ø§ØµØ­ÛŒØ­Â» Ø±Ø§.";
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://fa.wikipedia.org/wiki/%D8%AD%D8%B3%D8%A7%D8%A8";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "بازگرداندن Ù…قدار Ø¬Ù…ع Ø¯Ùˆ Ø¹Ø¯Ø¯.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "بازگرداندن Ø¨Ø§Ù‚ی‌ماندهٔ Ø¯Ùˆ Ø¹Ø¯Ø¯.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "بازگرداندن ØªÙاوت Ø¯Ùˆ Ø¹Ø¯Ø¯.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "بازگرداندن Ø­Ø§ØµÙ„ضرب Ø¯Ùˆ Ø¹Ø¯Ø¯.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "بازگرداندن Ø§ÙˆÙ„ین Ø¹Ø¯Ø¯ÛŒ Ú©Ù‡ Ø§Ø² ØªÙˆØ§Ù† Ø¹Ø¯Ø¯ Ø¯ÙˆÙ… Ø­Ø§ØµÙ„ Ø´Ø¯Ù‡ Ø¨Ø§Ø´Ø¯.";
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://fa.wikipedia.org/wiki/%D8%A7%D8%B5%D8%B7%D9%84%D8%A7%D8%AD_%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87%E2%80%8C%D9%86%D9%88%DB%8C%D8%B3%DB%8C#.D8.A7.D9.81.D8.B2.D8.A7.DB.8C.D8.B4_.D8.B4.D9.85.D8.A7.D8.B1.D9.86.D8.AF.D9.87";
+Blockly.Msg["MATH_CHANGE_TITLE"] = "تغییر %1 Ø¨Ø§ %2";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "اÙزودن ÛŒÚ© Ø¹Ø¯Ø¯ Ø¨Ù‡ Ù…تغیر '%1'.";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://fa.wikipedia.org/wiki/%D8%AB%D8%A7%D8%A8%D8%AA_%D8%B1%DB%8C%D8%A7%D8%B6%DB%8C";
+Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "یکی Ø§Ø² Ù…قادیر Ù…شترک Ø±Ø§ Ø¨Ø±Ù…ی‌گرداند: Ï€ (۳٫۱۴۱…)ØŒ e (Û²Ù«Û·Û±Û¸...)ØŒ Ï† (Û±Ù«Û¶Û±Û¸)ØŒ sqrt(Û²) (Û±Ù«Û´Û±Û´)ØŒ sqrt(Û±/Û²) (Û°Ù«Û·Û°Û·...) Ùˆ ÛŒØ§ âˆž (بی‌نهایت).";
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "محدودکردن %1 Ù¾Ø§ÛŒÛŒÙ† %2 Ø¨Ø§Ù„ا %3";
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "محدودکردن ÛŒÚ© Ø¹Ø¯Ø¯ Ø¨ÛŒÙ† Ù…حدودیت‌های Ù…شخص‌شده (بسته).";
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";  // untranslated
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "تقسیم Ø´Ø¯Ù‡ Ø¨Ø±";
+Blockly.Msg["MATH_IS_EVEN"] = "زوج Ø§Ø³Øª";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "منÙÛŒ Ø§Ø³Øª";
+Blockly.Msg["MATH_IS_ODD"] = "Ùرد Ø§Ø³Øª";
+Blockly.Msg["MATH_IS_POSITIVE"] = "مثبت Ø§Ø³Øª";
+Blockly.Msg["MATH_IS_PRIME"] = "عدد Ø§ÙˆÙ„ Ø§Ø³Øª";
+Blockly.Msg["MATH_IS_TOOLTIP"] = "بررسی Ù…ی‌کند Ú©Ù‡ Ø¢ÛŒØ§ ÛŒÚ© Ø¹Ø¯Ø¯ Ø²ÙˆØ¬ØŒ Ùرد، Ø§ÙˆÙ„ØŒ Ú©Ø§Ù…Ù„ØŒ Ù…ثبت، Ù…Ù†ÙÛŒ ÛŒØ§ Ø¨Ø®Ø´â€ŒÙ¾Ø°ÛŒØ± Ø¹Ø¯Ø¯ Ø®Ø§ØµÛŒ Ø¨Ø§Ø´Ø¯ Ø±Ø§ Ø¨Ø±Ø±Ø³ÛŒ Ù…ی‌کند. Ø¯Ø±Ø³Øª ÛŒØ§ Ù†Ø§Ø¯Ø±Ø³Øª Ø¨Ø§Ø² Ù…ی‌گرداند.";
+Blockly.Msg["MATH_IS_WHOLE"] = "کامل Ø§Ø³Øª";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://fa.wikipedia.org/wiki/%D8%B9%D9%85%D9%84%DB%8C%D8%A7%D8%AA_%D9%BE%DB%8C%D9%85%D8%A7%D9%86%D9%87";
+Blockly.Msg["MATH_MODULO_TITLE"] = "باقی‌ماندهٔ %1 + %2";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "باقی‌ماندهٔ ØªÙ‚سیم Ø¯Ùˆ Ø¹Ø¯Ø¯ Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند.";
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";  // untranslated
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://fa.wikipedia.org/wiki/%D8%B9%D8%AF%D8%AF";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "یک Ø¹Ø¯Ø¯.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "میانگین Ùهرست";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "بزرگ‌ترین Ùهرست";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "میانهٔ Ùهرست";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "کوچکترین Ùهرست";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "مد Ùهرست";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "مورد ØªØµØ§Ø¯ÙÛŒ Ø§Ø² Ùهرست";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "انحرا٠معیار Ùهرست";
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "جمع Ùهرست";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "میانگین (میانگین Ø±ÛŒØ§Ø¶ÛŒ) Ù…قادیر Ø¹Ø¯Ø¯ÛŒ Ùهرست Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "بزرگ‌ترین Ø¹Ø¯Ø¯ Ø¯Ø± Ùهرست Ø±Ø§ Ø¨Ø§Ø² Ù…ی‌گرداند.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "میانهٔ Ø¹Ø¯Ø¯ Ø¯Ø± Ùهرست Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "کوچک‌ترین Ø¹Ø¯Ø¯ Ø¯Ø± Ùهرست Ø±Ø§ Ø¨Ø§Ø² Ù…ی‌گرداند.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "شایع‌ترین Ù‚لم(های) Ø¯Ø± Ùهرست Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "موردی ØªØµØ§Ø¯ÙÛŒ Ø§Ø² Ùهرست Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "انحرا٠معیار Ùهرست Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "جمع Ù‡Ù…Ù‡Ù” Ø¹Ø¯Ø¯Ù‡Ø§ÛŒ Ùهرست Ø±Ø§ Ø¨Ø§Ø² Ù…ی‌گرداند.";
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://fa.wikipedia.org/wiki/%D8%AA%D9%88%D9%84%DB%8C%D8%AF_%D8%A7%D8%B9%D8%AF%D8%A7%D8%AF_%D8%AA%D8%B5%D8%A7%D8%AF%D9%81%DB%8C";
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "کسر ØªØµØ§Ø¯ÙÛŒ";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "بازگرداندن Ú©Ø³Ø±ÛŒ ØªØµØ§Ø¯ÙÛŒ Ø¨ÛŒÙ† Û°Ù«Û° (بسته) ØªØ§ Û±Ù«Û° (باز).";
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://fa.wikipedia.org/wiki/%D8%AA%D9%88%D9%84%DB%8C%D8%AF_%D8%A7%D8%B9%D8%AF%D8%A7%D8%AF_%D8%AA%D8%B5%D8%A7%D8%AF%D9%81%DB%8C";
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "عدد ØµØ­ÛŒØ­ ØªØµØ§Ø¯ÙÛŒ Ø¨ÛŒÙ† %1 ØªØ§ %2";
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "یک Ø¹Ø¯Ø¯ ØªØµØ§Ø¯ÙÛŒ Ø¨ÛŒÙ† Ø¯Ùˆ Ù…قدار Ù…شخص‌شده Ø¨Ù‡ ØµÙˆØ±Øª Ø¨Ø³ØªÙ‡ Ø¨Ø§Ø² Ù…ی‌گرداند.";
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://fa.wikipedia.org/wiki/%D8%B1%D9%88%DB%8C%D9%87_%28%D8%B9%D9%84%D9%88%D9%85_%D8%B1%D8%A7%DB%8C%D8%A7%D9%86%D9%87%29";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "گردکردن";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "گرد Ø¨Ù‡ Ù¾Ø§ÛŒÛŒÙ†";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "گرد Ø¨Ù‡ Ø¨Ø§Ù„ا";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "گردکردن ÛŒÚ© Ø¹Ø¯Ø¯ Ø¨Ù‡ Ø¨Ø§Ù„ا ÛŒØ§ Ù¾Ø§ÛŒÛŒÙ†.";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://fa.wikipedia.org/wiki/%D8%B1%DB%8C%D8%B4%D9%87_%D8%AF%D9%88%D9%85";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "مطلق";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "ریشهٔ Ø¯ÙˆÙ…";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "قدر Ù…طلق ÛŒÚ© Ø¹Ø¯Ø¯ Ø±Ø§ Ø¨Ø§Ø²Ù…ی‌گرداند.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "بازگرداندن ØªÙˆØ§Ù† e ÛŒÚ© Ø¹Ø¯Ø¯.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "لوگاریتم Ø·Ø¨ÛŒØ¹ÛŒ ÛŒÚ© Ø¹Ø¯Ø¯ Ø±Ø§ Ø¨Ø§Ø² Ù…ی‌گرداند.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "بازگرداندن Ù„گاریتم Ø¨Ø± Ù¾Ø§ÛŒÙ‡Ù” Û±Û° ÛŒÚ© Ø¹Ø¯Ø¯.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "منÙی‌شدهٔ ÛŒÚ© Ø¹Ø¯Ø¯ Ø±Ø§ Ø¨Ø§Ø² Ù…ی‌گرداند.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "بازگرداندن ØªÙˆØ§Ù† Û±Û° ÛŒÚ© Ø¹Ø¯Ø¯.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "ریشهٔ Ø¯ÙˆÙ… ÛŒÚ© Ø¹Ø¯Ø¯ Ø±Ø§ Ø¨Ø§Ø² Ù…ی‌گرداند.";
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";  // untranslated
+Blockly.Msg["MATH_TRIG_ACOS"] = "acos";  // untranslated
+Blockly.Msg["MATH_TRIG_ASIN"] = "asin";  // untranslated
+Blockly.Msg["MATH_TRIG_ATAN"] = "atan";  // untranslated
+Blockly.Msg["MATH_TRIG_COS"] = "cos";  // untranslated
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://fa.wikipedia.org/wiki/%D8%AA%D8%A7%D8%A8%D8%B9%E2%80%8C%D9%87%D8%A7%DB%8C_%D9%85%D8%AB%D9%84%D8%AB%D8%A7%D8%AA%DB%8C";
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";  // untranslated
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "بازگرداندن Ø¢Ø±Ú©â€ŒÚ©Ø³ÛŒÙ†ÙˆØ³ Ø¯Ø±Ø¬Ù‡ (نه Ø±Ø§Ø¯ÛŒØ§Ù†).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "بازگرداندن Ø¢Ø±Ú©â€ŒØ³ÛŒÙ†ÙˆØ³ Ø¯Ø±Ø¬Ù‡ (نه Ø±Ø§Ø¯ÛŒØ§Ù†).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "بازگرداندن Ø¢Ø±Ú©â€ŒØªØ§Ù†Ú˜Ø§Ù†Øª Ø¯Ø±Ø¬Ù‡ (نه Ø±Ø§Ø¯ÛŒØ§Ù†).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "بازگرداندن Ú©Ø³ÛŒÙ†ÙˆØ³ Ø¯Ø±Ø¬Ù‡ (نه Ø±Ø§Ø¯ÛŒØ§Ù†).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "بازگرداندن Ø³ÛŒÙ†ÙˆØ³ Ø¯Ø±Ø¬Ù‡ (نه Ø±Ø§Ø¯ÛŒØ§Ù†).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "بازگرداندن ØªØ§Ù†Ú˜Ø§Ù†Øª ÛŒÚ© Ø¯Ø±Ø¬Ù‡ (نه Ø±Ø§Ø¯ÛŒØ§Ù†).";
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Create colour variable...";  // untranslated
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Create number variable...";  // untranslated
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Create string variable...";  // untranslated
+Blockly.Msg["NEW_VARIABLE"] = "متغیر ØªØ§Ø²Ù‡...";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "نام Ù…تغیر ØªØ§Ø²Ù‡:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "New variable type:";  // untranslated
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "اجازه Ø§Ø¸Ù‡Ø§Ø±Ø§Øª";
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "با:";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://fa.wikipedia.org/wiki/%D8%B1%D9%88%DB%8C%D9%87_%28%D8%B9%D9%84%D9%88%D9%85_%D8%B1%D8%A7%DB%8C%D8%A7%D9%86%D9%87%29";
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "اجرای ØªØ§Ø¨Ø¹ ØªØ¹Ø±ÛŒÙ‌شده ØªÙˆØ³Ø· Ú©Ø§Ø±Ø¨Ø± Â«%1».";
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://fa.wikipedia.org/wiki/%D8%B1%D9%88%DB%8C%D9%87_%28%D8%B9%D9%84%D9%88%D9%85_%D8%B1%D8%A7%DB%8C%D8%A7%D9%86%D9%87%29";
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "اجرای ØªØ§Ø¨Ø¹ ØªØ¹Ø±ÛŒÙ‌شده ØªÙˆØ³Ø· Ú©Ø§Ø±Ø¨Ø± Â«%1» Ùˆ Ø§Ø³ØªÙاده Ø§Ø² Ø®Ø±ÙˆØ¬ÛŒ Ø¢Ù†.";
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "با:";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "ساختن Â«%1»";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Describe this function...";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "انجام Ú†ÛŒØ²ÛŒ";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "به";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "تابعی Ù…ی‌سازد Ø¨Ø¯ÙˆÙ† Ù‡ÛŒÚ† Ø®Ø±ÙˆØ¬ÛŒ.";
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "بازگشت";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "تابعی Ø¨Ø§ ÛŒÚ© Ø®Ø±ÙˆØ¬ÛŒ Ù…ی‌سازد.";
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "اخطار: Ø§ÛŒÙ† ØªØ§Ø¨Ø¹ÛŒ Ù¾Ø§Ø±Ø§Ù…تر ØªÚ©Ø±Ø§Ø±ÛŒ Ø¯Ø§Ø±Ø¯.";
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "برجسته‌سازی ØªØ¹Ø±ÛŒÙ ØªØ§Ø¨Ø¹";
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "اگر ÛŒÚ© Ù…قدار ØµØ­ÛŒØ­ Ø§Ø³ØªØŒ Ù…قدار Ø¯ÙˆÙ… Ø±Ø§ Ø¨Ø±Ú¯Ø±Ø¯Ø§Ù†.";
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "اخطار: Ø§ÛŒÙ† Ø¨Ù„ÙˆÚ© Ø§Ø­ØªÙ…الاً Ùقط Ø¯Ø§Ø®Ù„ ÛŒÚ© ØªØ§Ø¨Ø¹ Ø§Ø³ØªÙاده Ù…ی‌شود.";
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "نام ÙˆØ±ÙˆØ¯ÛŒ:";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "اضاÙÙ‡ Ú©Ø±Ø¯Ù† ÙˆØ±ÙˆØ¯ÛŒ Ø¨Ù‡ ØªØ§Ø¨Ø¹.";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "ورودی‌ها";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "اÙزودن، Ø­Ø°Ù ÛŒØ§ Ø¯ÙˆØ¨Ø§Ø±Ù‡ Ù…رتب‌کردن ÙˆØ±ÙˆØ¯ÛŒ Ø§ÛŒÙ† ØªØ§Ø¨Ø¹.";
+Blockly.Msg["REDO"] = "Redo";  // untranslated
+Blockly.Msg["REMOVE_COMMENT"] = "حذ٠نظر";
+Blockly.Msg["RENAME_VARIABLE"] = "تغییر Ù†Ø§Ù… Ù…تغیر...";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "تغییر Ù†Ø§Ù… Ù‡Ù…Ù‡Ù” Ù…تغیرهای Â«%1» Ø¨Ù‡:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "به %1 Ø§Ù„حاق Ù…تن %2";
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "الحاق Ù…تنی Ø¨Ù‡ Ù…تغیر Â«%1».";
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "به Ø­Ø±ÙˆÙ Ú©ÙˆÚ†Ú©";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "به Ø­Ø±ÙˆÙ Ø¨Ø²Ø±Ú¯ Ø¹Ù†ÙˆØ§Ù†";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "به Ø­Ø±ÙˆÙ Ø¨Ø²Ø±Ú¯";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "بازگرداندن Ú©Ù¾ÛŒ Ù…تن Ø¯Ø± Ø­Ø§Ù„تی Ù…تÙاوت.";
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "گرÙتن Ø§ÙˆÙ„ین Ø­Ø±Ù";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "گرÙتن Ø­Ø±Ù # Ø§Ø² Ø¢Ø®Ø±";
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "گرÙتن Ø­Ø±Ù #";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "گرÙتن Ø¢Ø®Ø±ÛŒÙ† Ø­Ø±Ù";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "گرÙتن Ø­Ø±Ù ØªØµØ§Ø¯ÙÛŒ";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "in text %1 %2";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "حرÙÛŒ Ø¯Ø± Ù…وقعیت Ù…شخص‌شده Ø¨Ø± Ù…ی‌گرداند.";
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";  // untranslated
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "count %1 in %2";  // untranslated
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Count how many times some text occurs within some other text.";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "اÙزودن ÛŒÚ© Ù…ورد Ø¨Ù‡ Ù…تن.";
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "عضویت";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "اضاÙه، Ø­Ø°Ù ÛŒØ§ ØªØ±ØªÛŒØ¨â€ŒØ³Ø§Ø²ÛŒ Ù‚سمت‌ها Ø¨Ø±Ø§ÛŒ ØªÙ†Ø¸ÛŒÙ… Ù…جدد Ø§ÛŒÙ† Ø¨Ù„ÙˆÚ© Ø§Ú¯Ø± Ù…سدود Ø§Ø³Øª.";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "به Ø­Ø±Ù # Ø§Ø² Ø§Ù†ØªÙ‡Ø§";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "به Ø­Ø±Ù #";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "گرÙتن Ø¢Ø®Ø±ÛŒÙ† Ø­Ø±Ù";
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "در Ù…تن";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "گرÙتن Ø²ÛŒØ±Ù…تن Ø§Ø² Ø§ÙˆÙ„ین Ø­Ø±Ù";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "گرÙتن Ø²ÛŒØ±Ù…تن Ø§Ø² Ø­Ø±Ù # Ø¨Ù‡ Ø§Ù†ØªÙ‡Ø§";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "گرÙتن Ø²ÛŒØ±Ù…تن Ø§Ø² Ø­Ø±Ù #";
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "قسمت Ù…شخصی‌شده‌ای Ø§Ø² Ù…تن Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند.";
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "اولین Ø±Ø®Ø¯Ø§Ø¯ Ù…تن Ø±Ø§ Ø¨ÛŒØ§Ø¨";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "آخرین Ø±Ø®Ø¯Ø§Ø¯ Ù…تن Ø±Ø§ Ø¨ÛŒØ§Ø¨";
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "در Ù…تن %1 %2 %3";
+Blockly.Msg["TEXT_INDEXOF_TOOLTIP"] = "شاخصی Ø§Ø² Ø§ÙˆÙ„ین Ø¢Ø®Ø±ÛŒÙ† Ø±Ø®â€ŒØ¯Ø§Ø¯ Ù…تن Ø§ÙˆÙ„ Ø¯Ø± Ù…تن Ø¯ÙˆÙ… Ø¨Ø± Ù…ی‌گرداند. Ø§Ú¯Ø± Ù…تن ÛŒØ§Ùت Ù†Ø´Ø¯ %1 Ø¨Ø§Ø² Ù…ی‌گرداند.";
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 Ø®Ø§Ù„ÛŒ Ø§Ø³Øª";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "اضاÙه‌کردن ØµØ­ÛŒØ­ Ø§Ú¯Ø± Ù…تن Ùراهم‌شده Ø®Ø§Ù„ÛŒ Ø§Ø³Øª.";
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "ایجاد Ù…تن Ø¨Ø§";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "یک ØªÚ©Ù‡â€ŒØ§ÛŒ Ø§Ø² Ù…تن Ø±Ø§ Ø¨Ø§ Ú†Ø³Ù¾Ø§Ù†Ø¯Ù† Ù‡Ù…Ù‡Ù” ØªØ¹Ø¯Ø§Ø¯ Ø§Ø² Ù…وارد Ø§ÛŒØ¬Ø§Ø¯ Ù…ی‌کند.";
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "طول %1";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "بازگرداندن Ø¹Ø¯Ø¯ÛŒ Ø§Ø² Ø­Ø±ÙˆÙ (شامل Ùاصله‌ها) Ø¯Ø± Ù…تن Ùراهم‌شده.";
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "چاپ %1";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "چاپ Ù…تن، Ø¹Ø¯Ø¯ ÛŒØ§ Ù‡Ø± Ù…قدار Ø¯ÛŒÚ¯Ø± Ù…شخص‌شده.";
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "اعلان Ø¨Ø±Ø§ÛŒ Ú©Ø§Ø±Ø¨Ø± Ø¨Ø§ ÛŒÚ© Ø¹Ø¯Ø¯.";
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "اعلان Ø¨Ø±Ø§ÛŒ Ú©Ø§Ø±Ø¨Ø± Ø¨Ø±Ø§ÛŒ ÛŒÚ© Ù…تن.";
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "اعلان Ø¨Ø±Ø§ÛŒ Ø¹Ø¯Ø¯ Ø¨Ø§ Ù¾ÛŒØ§Ù…";
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "اعلان Ø¨Ø±Ø§ÛŒ Ù…تن Ø¨Ø§ Ù¾ÛŒØ§Ù…";
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";  // untranslated
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "replace %1 with %2 in %3";  // untranslated
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Replace all occurances of some text within some other text.";  // untranslated
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";  // untranslated
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Reverses the order of the characters in the text.";  // untranslated
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://fa.wikipedia.org/wiki/%D8%B1%D8%B4%D8%AA%D9%87_%28%D8%B9%D9%84%D9%88%D9%85_%D8%B1%D8%A7%DB%8C%D8%A7%D9%86%D9%87%29";
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "یک Ø­Ø±ÙØŒ Ú©Ù„مه ÛŒØ§ Ø®Ø·ÛŒ Ø§Ø² Ù…تن.";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "تراشیدن Ùاصله‌ها Ø§Ø²  Ù‡Ø± Ø¯Ùˆ Ø·Ø±Ù";
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "تراشیدن Ùاصله‌ها Ø§Ø²  Ø·Ø±Ù Ú†Ù¾";
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "تراشیدن Ùاصله‌ها Ø§Ø²  Ø·Ø±Ù Ú†Ù¾";
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Ú©Ù¾ÛŒ Ø§Ø² Ù…تن Ø¨Ø§ Ùاصله‌های Ø­Ø°Ù‌شده Ø§Ø² ÛŒÚ© ÛŒØ§ Ù‡Ø± Ø¯Ùˆ Ù¾Ø§ÛŒØ§Ù† Ø¨Ø§Ø² Ù…ی‌گرداند.";
+Blockly.Msg["TODAY"] = "Today";  // untranslated
+Blockly.Msg["UNDO"] = "Undo";  // untranslated
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "مورد";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "درست‌کردن Â«ØªÙ†Ø¸ÛŒÙ… %1»";
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "مقدار Ø§ÛŒÙ† Ù…تغیر Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند.";
+Blockly.Msg["VARIABLES_SET"] = "مجموعه %1 Ø¨Ù‡ %2";
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "درست‌کردن Â«ØªÙ†Ø¸ÛŒÙ… %1»";
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "متغیر Ø¨Ø±Ø§Ø¨Ø± Ø¨Ø§ Ø®Ø±ÙˆØ¬ÛŒ Ø±Ø§ Ù…شخص Ù…ی‌کند.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "A variable named '%1' already exists.";  // untranslated
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "A variable named '%1' already exists for another type: '%2'.";  // untranslated
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something...";  // untranslated
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/be-tarask.js b/js/msg/js/be-tarask.js
new file mode 100644 (file)
index 0000000..a36d830
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.be.tarask');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "Дадаць ÐºÐ°Ð¼Ñнтар";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "Ðемагчыма Ð²Ñ‹Ð´Ð°Ð»Ñ–ць Ð·ÑŒÐ¼ÐµÐ½Ð½ÑƒÑŽ Â«%1», Ñ‚аму ÑˆÑ‚о Ñна Ð·ÑŒÑўлÑецца Ñ‡Ð°Ñткай Ð²Ñ‹Ð·Ð½Ð°Ñ‡ÑньнѠфункцыі Â«%2»";
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "ЗьмÑніць Ð·Ð½Ð°Ñ‡Ñньне:";
+Blockly.Msg["CLEAN_UP"] = "ÐчыÑьціць Ð±Ð»Ñ‘кі";
+Blockly.Msg["COLLAPSE_ALL"] = "Згарнуць Ð±Ð»Ñ‘кі";
+Blockly.Msg["COLLAPSE_BLOCK"] = "Згарнуць Ð±Ð»Ñ‘к";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "колер 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "колер 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";  // untranslated
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "дзелÑ";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "зьмÑшаць";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "Зьмешвае Ð´Ð²Ð° ÐºÐ¾Ð»ÐµÑ€Ñ‹ Ñž Ð´Ð°Ð´Ð·ÐµÐ½Ð°Ð¹ Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ‹Ñ– (0.0 â€” 1.0)";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://be-x-old.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BB%D0%B5%D1%80";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "ÐбÑрыце ÐºÐ¾Ð»ÐµÑ€ Ð· Ð¿Ð°Ð»Ñ–тры.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "выпадковы ÐºÐ¾Ð»ÐµÑ€";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "Ðбраць Ð²Ñ‹Ð¿Ð°Ð´ÐºÐ¾Ð²Ñ‹ ÐºÐ¾Ð»ÐµÑ€.";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "ÑінÑга";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "зÑлёнага";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";  // untranslated
+Blockly.Msg["COLOUR_RGB_RED"] = "чырвонага";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "колер Ð·";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "Стварыць ÐºÐ¾Ð»ÐµÑ€ Ð· Ð°Ð±Ñ€Ð°Ð½Ñ‹Ð¼Ñ– Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ‹Ñмі Ñ‡Ñ‹Ñ€Ð²Ð¾Ð½Ð°Ð³Ð°, Ð·Ñлёнага Ñ– ÑінÑга. Ð£Ñе Ð·Ð½Ð°Ñ‡Ñньні Ð¿Ð°Ð²Ñ–нны Ð±Ñ‹Ñ†ÑŒ Ð°Ð´ 0 Ð´Ð° 100.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "перарваць Ñ†Ñ‹ÐºÐ»ÑŒ";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "працÑгнуць Ð· Ð½Ð°Ñтупнага ÐºÑ€Ð¾ÐºÑƒ Ñ†Ñ‹ÐºÐ»ÑŽ";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "Спыніць Ð³ÑÑ‚Ñ‹ Ñ†Ñ‹ÐºÐ»ÑŒ.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "ПрапуÑьціць Ñ€Ñшту Ñ†Ñ‹ÐºÐ»ÑŽ Ñ– Ð¿ÐµÑ€Ð°Ð¹Ñьці Ð´Ð° Ð½Ð°Ñтупнага ÐºÑ€Ð¾ÐºÑƒ.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "Увага: Ð³ÑÑ‚Ñ‹ Ð±Ð»Ñ‘к Ð¼Ð¾Ð¶Ð° Ð±Ñ‹Ñ†ÑŒ Ð²Ñ‹ÐºÐ°Ñ€Ñ‹Ñтаны Ñ‚олькі Ñž Ñ†Ñ‹ÐºÐ»Ñ–.";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "длѠкожнага ÑлемÑнта %1 Ñƒ ÑьпіÑе %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "ДлѠкожнага ÑлемÑнту ÑьпіÑу Ð¿Ñ€Ñ‹Ñвойвае Ð·ÑŒÐ¼ÐµÐ½Ð½Ð°Ð¹ '%1' Ñгонае Ð·Ð½Ð°Ñ‡Ñньне Ñ– Ð²Ñ‹ÐºÐ¾Ð½Ð²Ð°Ðµ Ð¿ÑўныѠапÑрацыі.";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "лічыць Ð· %1 Ð°Ð´ %2 Ð´Ð° %3 Ð¿Ð° %4";
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "ПрыÑвойвае Ð·ÑŒÐ¼ÐµÐ½Ð½Ð°Ð¹ \"%1\" Ð·Ð½Ð°Ñ‡Ñньні Ð°Ð´ Ð¿Ð°Ñ‡Ð°Ñ‚ковага Ð´Ð° ÐºÐ°Ð½Ñ‡Ð°Ñ‚ковага Ð·Ð½Ð°Ñ‡ÑньнÑ, ÑƒÐ»Ñ–чваючы Ð·Ð°Ð´Ð°Ð´Ð·ÐµÐ½Ñ‹ ÐºÑ€Ð¾Ðº, Ñ– Ð²Ñ‹ÐºÐ¾Ð½Ð²Ð°Ðµ Ð°Ð±Ñ€Ð°Ð½Ñ‹Ñ Ð±Ð»Ñ‘кі.";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "Дадаць ÑƒÐ¼Ð¾Ð²Ñƒ Ð´Ð° Ð±Ð»Ñ‘ку Â«ÐºÐ°Ð»Ñ–».";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "Дадаць Ð·Ð°ÐºÐ»ÑŽÑ‡Ð½ÑƒÑŽ ÑžÐ¼Ð¾Ð²Ñƒ Ð´Ð»Ñ ÑžÑÑ–Ñ… Ð°Ñтатніх Ð²Ð°Ñ€Ñ‹Ñнтаў Ð±Ð»Ñ‘ку Â«ÐºÐ°Ð»Ñ–».";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Дадаць, Ð²Ñ‹Ð´Ð°Ð»Ñ–ць Ñ†Ñ– Ð¿ÐµÑ€Ð°Ñтавіць ÑÑкцыі Ð´Ð»Ñ Ð¿ÐµÑ€Ð°ÐºÐ°Ð½Ñ„ігураваньнѠгÑтага Ð±Ð»Ñ‘ку Â«ÐºÐ°Ð»Ñ–».";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "інакш";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "інакш, ÐºÐ°Ð»Ñ–";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "калі";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "Калі Ð·Ð½Ð°Ñ‡Ñньне Ñ–Ñьціна, Ð²Ñ‹ÐºÐ°Ð½Ð°Ñ†ÑŒ Ð¿ÑўныѠапÑрацыі.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "Калі Ð·Ð½Ð°Ñ‡Ñньне Ñ–Ñьціна, Ð²Ñ‹ÐºÐ°Ð½Ð°Ñ†ÑŒ Ð¿ÐµÑ€ÑˆÑ‹ Ð±Ð»Ñ‘к Ð°Ð¿ÑрацыÑÑž, Ñ–накш Ð²Ñ‹ÐºÐ°Ð½Ð°Ñ†ÑŒ Ð´Ñ€ÑƒÐ³Ñ– Ð±Ð»Ñ‘к.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "Калі Ð¿ÐµÑ€ÑˆÐ°Ðµ Ð·Ð½Ð°Ñ‡Ñньне Ñ–Ñьціна, Ð²Ñ‹ÐºÐ°Ð½Ð°Ñ†ÑŒ Ð¿ÐµÑ€ÑˆÑ‹ Ð±Ð»Ñ‘к Ð°Ð¿ÑрацыÑÑž. Ð†Ð½Ð°ÐºÑˆ, ÐºÐ°Ð»Ñ– Ð´Ñ€ÑƒÐ³Ð¾Ðµ Ð·Ð½Ð°Ñ‡Ñньне Ñ–Ñьціна, Ð²Ñ‹ÐºÐ°Ð½Ð°Ñ†ÑŒ Ð´Ñ€ÑƒÐ³Ñ– Ð±Ð»Ñ‘к Ð°Ð¿ÑрацыÑÑž.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "Калі Ð¿ÐµÑ€ÑˆÐ°Ðµ Ð·Ð½Ð°Ñ‡Ñньне Ñ–Ñьціна, Ð²Ñ‹ÐºÐ°Ð½Ð°Ñ†ÑŒ Ð¿ÐµÑ€ÑˆÑ‹ Ð±Ð»Ñ‘к Ð°Ð¿ÑрацыÑÑž. Ð†Ð½Ð°ÐºÑˆ, ÐºÐ°Ð»Ñ– Ð´Ñ€ÑƒÐ³Ð¾Ðµ Ð·Ð½Ð°Ñ‡Ñньне Ñ–Ñьціна, Ð²Ñ‹ÐºÐ°Ð½Ð°Ñ†ÑŒ Ð´Ñ€ÑƒÐ³Ñ– Ð±Ð»Ñ‘к Ð°Ð¿ÑрацыÑÑž. ÐšÐ°Ð»Ñ– Ð½Ñ–воднае Ð· Ð·Ð½Ð°Ñ‡ÑньнÑÑž Ð½Ðµ Ñапраўднае, Ð²Ñ‹ÐºÐ°Ð½Ð°Ñ†ÑŒ Ð°Ð¿Ð¾ÑˆÐ½Ñ– Ð±Ð»Ñ‘к Ð°Ð¿ÑрацыÑÑž.";
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://en.wikipedia.org/wiki/For_loop";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "выканаць";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "паўтарыць %1 Ñ€Ð°Ð·(Ñ‹)";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "Выконвае Ð°Ð¿Ñрацыі Ð½ÐµÐºÐ°Ð»ÑŒÐºÑ– Ñ€Ð°Ð·Ð¾Ñž.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "паўтараць, Ð¿Ð°ÐºÑƒÐ»ÑŒ Ð½Ðµ";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "паўтараць, Ð¿Ð°ÐºÑƒÐ»ÑŒ";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "Пакуль Ð·Ð½Ð°Ñ‡Ñньне Ñ…луÑьнÑ, Ð²Ñ‹ÐºÐ¾Ð½Ð²Ð°Ñ†ÑŒ Ð¿ÑўныѠапÑрацыі.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "Пакуль Ð·Ð½Ð°Ñ‡Ñньне Ñ–Ñьціна, Ð²Ñ‹ÐºÐ¾Ð½Ð²Ð°Ñ†ÑŒ Ð¿ÑўныѠапÑрацыі.";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "Выдаліць ÑƒÑе Ð±Ð»Ñ‘кі %1?";
+Blockly.Msg["DELETE_BLOCK"] = "Выдаліць Ð±Ð»Ñ‘к";
+Blockly.Msg["DELETE_VARIABLE"] = "Выдаліць Ð·ÑŒÐ¼ÐµÐ½Ð½ÑƒÑŽ Â«%1»";
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Выдаліць %1 Ð²Ñ‹ÐºÐ°Ñ€Ñ‹ÑтаньнÑÑž Ð·ÑŒÐ¼ÐµÐ½Ð½Ð°Ð¹ Â«%2»?";
+Blockly.Msg["DELETE_X_BLOCKS"] = "Выдаліць %1 Ð±Ð»Ñ‘кі";
+Blockly.Msg["DISABLE_BLOCK"] = "Ðдключыць Ð±Ð»Ñ‘к";
+Blockly.Msg["DUPLICATE_BLOCK"] = "КапіÑваць";
+Blockly.Msg["DUPLICATE_COMMENT"] = "ПрадублÑваць ÐºÐ°Ð¼Ñнтар";
+Blockly.Msg["ENABLE_BLOCK"] = "Уключыць Ð±Ð»Ñ‘к";
+Blockly.Msg["EXPAND_ALL"] = "Разгарнуць Ð±Ð»Ñ‘кі";
+Blockly.Msg["EXPAND_BLOCK"] = "Разгарнуць Ð±Ð»Ñ‘к";
+Blockly.Msg["EXTERNAL_INPUTS"] = "ЗьнешніѠўваходы";
+Blockly.Msg["HELP"] = "Дапамога";
+Blockly.Msg["INLINE_INPUTS"] = "УнутраныѠўваходы";
+Blockly.Msg["IOS_CANCEL"] = "ÐдмÑніць";
+Blockly.Msg["IOS_ERROR"] = "Памылка";
+Blockly.Msg["IOS_OK"] = "Добра";
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Ð”адаць ÑƒÐ²Ð°Ñ…одныѠзьвеÑткі";
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Дазволіць Ñьцьверджаньні";
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "УваходныѠзьвеÑткі Ð³Ñтай Ñ„ункцыі Ð´ÑƒÐ±Ð»ÑŽÑŽÑ†Ñ†Ð°.";
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "УВÐХОДÐЫЯ Ð—ЬВЕСТКІ";
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "Дадаць";
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Ð”адаць Ð·ÑŒÐ¼ÐµÐ½Ð½ÑƒÑŽ";
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "Выдаліць";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "Ð’Ñ‹ Ð½Ñ Ð¼Ð¾Ð¶Ð°Ñ†Ðµ Ð²Ñ‹ÐºÐ°Ñ€Ñ‹Ñтоўваць Ð¿ÑƒÑтую Ð½Ð°Ð·Ð²Ñƒ Ð·ÑŒÐ¼ÐµÐ½Ð½Ð°Ð¹.";
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Перайменаваць";
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Ðазва Ð·ÑŒÐ¼ÐµÐ½Ð½Ð°Ð¹";
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "Ñтварыць Ð¿ÑƒÑÑ‚Ñ‹ ÑьпіÑ";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Ð’Ñртае ÑьпіѠдаўжынёй 0, Ñкі Ð½Ñ ÑžÑ‚рымлівае Ð·Ð°Ð¿Ñ–Ñаў Ð·ÑŒÐ²ÐµÑтак";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "ÑьпіÑ";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Дадаць, Ð²Ñ‹Ð´Ð°Ð»Ñ–ць Ñ†Ñ– Ð¿ÐµÑ€Ð°Ñтавіць ÑÑкцыі Ð´Ð»Ñ Ð¿ÐµÑ€Ð°ÐºÐ°Ð½Ñ„ігураваньнѠгÑтага Ð±Ð»Ñ‘ку.";
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "Ñтварыць ÑьпіѠз";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Дадаць ÑлемÑнт Ð´Ð° ÑьпіÑу.";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Ставарае ÑьпіѠзь Ð»ÑŽÐ±Ð¾Ð¹ ÐºÐ¾Ð»ÑŒÐºÐ°Ñьцю ÑлемÑнтаў.";
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "першы";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "â„– Ð· ÐºÐ°Ð½Ñ†Ð°";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "атрымаць";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "атрымаць Ñ– Ð²Ñ‹Ð´Ð°Ð»Ñ–ць";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "апошні";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "выпадковы";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "выдаліць";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Ð’Ñртае Ð¿ÐµÑ€ÑˆÑ‹ ÑлемÑнт Ñƒ ÑьпіÑе.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Ð’Ñртае ÑлемÑнт Ñƒ Ð¿Ð°Ð·Ð½Ð°Ñ‡Ð°Ð½Ð°Ð¹ Ð¿Ð°Ð·Ñ‹Ñ†Ñ‹Ñ– Ñž ÑьпіÑе.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Ð’Ñртае Ð°Ð¿Ð¾ÑˆÐ½Ñ– ÑлемÑнт Ñƒ ÑьпіÑе.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Ð’Ñртае Ð²Ñ‹Ð¿Ð°Ð´ÐºÐ¾Ð²Ñ‹ ÑлемÑнт Ñƒ ÑьпіÑе.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "ВыдалÑе Ñ– Ð²Ñртае Ð¿ÐµÑ€ÑˆÑ‹ ÑлемÑнт Ñƒ ÑьпіÑе.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "ВыдалÑе Ñ– Ð²Ñртае ÑлемÑнт Ñƒ Ð¿Ð°Ð·Ð½Ð°Ñ‡Ð°Ð½Ð°Ð¹ Ð¿Ð°Ð·Ñ‹Ñ†Ñ‹Ñ– Ñž ÑьпіÑе.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "ВыдалÑе Ñ– Ð²Ñртае Ð°Ð¿Ð¾ÑˆÐ½Ñ– ÑлемÑнт Ñƒ ÑьпіÑе.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "ВыдалÑе Ñ– Ð²Ñртае Ð²Ñ‹Ð¿Ð°Ð´ÐºÐ¾Ð²Ñ‹ ÑлемÑнт Ñƒ ÑьпіÑе.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "ВыдалÑе Ð¿ÐµÑ€ÑˆÑ‹ ÑлемÑнт Ñƒ ÑьпіÑе.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "ВыдалÑе ÑлемÑнт Ñƒ Ð¿Ð°Ð·Ð½Ð°Ñ‡Ð°Ð½Ð°Ð¹ Ð¿Ð°Ð·Ñ‹Ñ†Ñ‹Ñ– Ñž ÑьпіÑе.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "ВыдалÑе Ð°Ð¿Ð¾ÑˆÐ½Ñ– ÑлемÑнт Ñƒ ÑьпіÑе.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "ВыдалÑе Ð²Ñ‹Ð¿Ð°Ð´ÐºÐ¾Ð²Ñ‹ ÑлемÑнт Ñƒ ÑьпіÑе.";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "па â„– Ð· ÐºÐ°Ð½Ñ†Ð°";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "да #";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "да Ð°Ð¿Ð¾ÑˆÐ½Ñга";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "атрымаць Ð¿Ð°Ð´ÑьпіѠзь Ð¿ÐµÑ€ÑˆÐ°Ð³Ð°";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "атрымаць Ð¿Ð°Ð´ÑьпіѠз â„– Ð· ÐºÐ°Ð½Ñ†Ð°";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "атрымаць Ð¿Ð°Ð´ÑьпіѠз â„–";
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Стварае ÐºÐ¾Ð¿Ñ–ÑŽ Ð¿Ð°Ð·Ð½Ð°Ñ‡Ð°Ð½Ð°Ð¹ Ñ‡Ð°Ñткі ÑьпіÑу.";
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "â„–%1 â€” Ð°Ð¿Ð¾ÑˆÐ½Ñ– ÑлемÑнт.";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "â„–%1 â€” Ð¿ÐµÑ€ÑˆÑ‹ ÑлемÑнт.";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "знайÑьці Ð¿ÐµÑ€ÑˆÐ°Ðµ ÑžÐ²Ð°Ñ…оджаньне ÑлемÑнту";
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "знайÑьці Ð°Ð¿Ð¾ÑˆÐ½Ñе ÑžÐ²Ð°Ñ…оджаньне ÑлемÑнту";
+Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "Ð’Ñртае Ñ–ндÑкѠпершага/апошнÑга ÑžÐ²Ð°Ñ…оджаньнѠÑлемÑнту Ñž ÑьпіÑ. Ð’Ñртае %1, ÐºÐ°Ð»Ñ– ÑлемÑнт Ð½Ñ Ð·Ð½Ð¾Ð¹Ð´Ð·ÐµÐ½Ñ‹.";
+Blockly.Msg["LISTS_INLIST"] = "у ÑьпіÑе";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 Ð¿ÑƒÑÑ‚Ñ‹";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Ð’Ñртае Ð·Ð½Ð°Ñ‡Ñньне Ñ–Ñьціна, ÐºÐ°Ð»Ñ– ÑьпіѠпуÑÑ‚Ñ‹.";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "даўжынѠ%1";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Ð’Ñртае Ð´Ð°ÑžÐ¶Ñ‹Ð½ÑŽ ÑьпіÑу.";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "Ñтварыць ÑьпіѠз ÑлемÑнту %1, Ñкі Ð¿Ð°ÑžÑ‚араецца %2 Ñ€Ð°Ð·Ð¾Ñž";
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Стварае ÑьпіÑ, Ñкі ÑžÑ‚рымлівае Ð¿Ð°Ð´Ð°Ð´Ð·ÐµÐ½ÑƒÑŽ ÐºÐ¾Ð»ÑŒÐºÐ°Ñьць ÐºÐ¾Ð¿Ñ–ÑÑž ÑлемÑнту.";
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "адваротна %1";
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "ЗьмÑнÑе Ð¿Ð°Ñ€Ð°Ð´Ð°Ðº ÐºÐ¾Ð¿Ñ–Ñ– ÑьпіÑу Ð½Ð° Ð°Ð´Ð²Ð°Ñ€Ð¾Ñ‚ны.";
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "Ñк";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "уÑтавіць Ñƒ";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "уÑталÑваць";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "УÑтаўлÑе ÑлемÑнт Ñƒ Ð¿Ð°Ñ‡Ð°Ñ‚ак ÑьпіÑу.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "УÑтаўлÑе ÑлемÑнт Ñƒ Ð¿Ð°Ð·Ð½Ð°Ñ‡Ð°Ð½Ð°Ð¹ Ð¿Ð°Ð·Ñ‹Ñ†Ñ‹Ñ– Ñž ÑьпіÑе.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Дадае ÑлемÑнт Ñƒ ÐºÐ°Ð½ÐµÑ† ÑьпіÑу.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Выпадковым Ñ‡Ñ‹Ð½Ð°Ð¼ ÑƒÑтаўлÑе ÑлемÑнт Ñƒ ÑьпіÑ.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Задае Ð¿ÐµÑ€ÑˆÑ‹ ÑлемÑнт Ñƒ ÑьпіÑе.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Задае ÑлемÑнт Ñƒ Ð¿Ð°Ð·Ð½Ð°Ñ‡Ð°Ð½Ð°Ð¹ Ð¿Ð°Ð·Ñ‹Ñ†Ñ‹Ñ– Ñž ÑьпіÑе.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Задае Ð°Ð¿Ð¾ÑˆÐ½Ñ– ÑлемÑнт Ñƒ ÑьпіÑе.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Задае Ð²Ñ‹Ð¿Ð°Ð´ÐºÐ¾Ð²Ñ‹ ÑлемÑнт Ñƒ ÑьпіÑе.";
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "па Ð¿Ð°Ð²ÐµÐ»Ñ–чÑньні";
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "па Ð·ÑŒÐ¼ÑншÑньні";
+Blockly.Msg["LISTS_SORT_TITLE"] = "Ñартаваць %1 %2 %3";
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Сартаваць ÐºÐ¾Ð¿Ñ–ÑŽ ÑьпіÑу.";
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "паводле Ð°Ð»ÑŒÑ„абÑту, Ñ–гнараваць Ñ€ÑгіÑтар";
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "Ñк Ð»Ñ–кі";
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "паводле Ð°Ð»ÑŒÑ„абÑту";
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "Ñтварыць ÑьпіѠз Ñ‚ÑкÑту";
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "Ñтварыць Ñ‚ÑкÑÑ‚ Ñа ÑьпіÑу";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Ðб’Ñдноўвае ÑьпіѠтÑкÑтаў Ñƒ Ð°Ð´Ð·Ñ–н Ñ‚ÑкÑÑ‚ Ð¿Ð° Ð¿Ð°Ð´Ð·ÑлÑльніках.";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "ПадзÑліць Ñ‚ÑкÑÑ‚ Ñƒ ÑьпіѠтÑкÑтаў, Ð¿Ð° Ð¿Ð°Ð´Ð·ÑлÑльніках.";
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "з Ð¿Ð°Ð´Ð·ÑлÑльнікам";
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "хлуÑьнÑ";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "Ð’Ñртае Â«Ñ–Ñьціна» Ñ†Ñ– Â«Ñ…луÑьнÑ».";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "Ñ–Ñьціна";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://be-x-old.wikipedia.org/wiki/%D0%9D%D1%8F%D1%80%D0%BE%D1%9E%D0%BD%D0%B0%D1%81%D1%8C%D1%86%D1%8C";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Ð’Ñртае Â«Ñ–Ñьціна», ÐºÐ°Ð»Ñ– Ð°Ð±Ð¾Ð´Ð²Ð° ÑžÐ²Ð¾Ð´Ñ‹ Ñ€Ð¾ÑžÐ½Ñ‹Ñ.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Ð’Ñртае Â«Ñ–Ñьціна», ÐºÐ°Ð»Ñ– Ð¿ÐµÑ€ÑˆÑ‹ ÑžÐ²Ð¾Ð´ Ð±Ð¾Ð»ÑŒÑˆÑ‹ Ð·Ð° Ð´Ñ€ÑƒÐ³Ñ–.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Ð’Ñртае Â«Ñ–Ñьціна», ÐºÐ°Ð»Ñ– Ð¿ÐµÑ€ÑˆÑ‹ ÑžÐ²Ð¾Ð´ Ð±Ð¾Ð»ÑŒÑˆÑ‹ Ñ†Ñ– Ñ€Ð¾ÑžÐ½Ñ‹ Ð´Ñ€ÑƒÐ³Ð¾Ð¼Ñƒ.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "Ð’Ñртае Â«Ñ–Ñьціна», ÐºÐ°Ð»Ñ– Ð¿ÐµÑ€ÑˆÑ‹ ÑžÐ²Ð¾Ð´ Ð¼ÐµÐ½ÑˆÑ‹ Ð·Ð° Ð´Ñ€ÑƒÐ³Ñ–.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "Ð’Ñртае Â«Ñ–Ñьціна», ÐºÐ°Ð»Ñ– Ð¿ÐµÑ€ÑˆÑ‹ ÑžÐ²Ð¾Ð´ Ð¼ÐµÐ½ÑˆÑ‹ Ñ†Ñ– Ñ€Ð¾ÑžÐ½Ñ‹ Ð´Ñ€ÑƒÐ³Ð¾Ð¼Ñƒ.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "Ð’Ñртае Â«Ñ–Ñьціна», ÐºÐ°Ð»Ñ– Ð°Ð±Ð¾Ð´Ð²Ð° ÑžÐ²Ð¾Ð´Ñ‹ Ð½Ñ Ñ€Ð¾ÑžÐ½Ñ‹Ñ.";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "не %1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "Ð’Ñртае Â«Ñ–Ñьціна», ÐºÐ°Ð»Ñ– ÑžÐ²Ð¾Ð´ Ð½ÐµÐ¿Ñ€Ð°ÑžÐ´Ð·Ñ–вы. Ð’Ñртае Â«Ñ…луÑьнÑ», ÐºÐ°Ð»Ñ– ÑžÐ²Ð¾Ð´ Ð¿Ñ€Ð°ÑžÐ´Ð·Ñ–вы.";
+Blockly.Msg["LOGIC_NULL"] = "нічога";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";  // untranslated
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "Ð’Ñртае Ð½Ñ–чога.";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "Ñ–";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "ці";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "Ð’Ñртае Â«Ñ–Ñьціна», ÐºÐ°Ð»Ñ– Ð°Ð±Ð¾Ð´Ð²Ð° ÑžÐ²Ð¾Ð´Ñ‹ Ð¿Ñ€Ð°ÑžÐ´Ð·Ñ–выÑ.";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "Ð’Ñртае Â«Ñ–Ñьціна», ÐºÐ°Ð»Ñ– Ð¿Ñ€Ñ‹Ð½Ð°Ð¼ÑÑ– Ð°Ð´Ð·Ñ–н Ð· ÑƒÐ²Ð¾Ð´Ð°Ñž Ð¿Ñ€Ð°ÑžÐ´Ð·Ñ–вы.";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "Ñ‚ÑÑÑ‚";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "калі Ñ…луÑьнÑ";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "калі Ñ–Ñьціна";
+Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "Праверыць ÑƒÐ¼Ð¾Ð²Ñƒ Ñž 'Ñ‚ÑÑÑ‚'. ÐšÐ°Ð»Ñ– ÑžÐ¼Ð¾Ð²Ð° Ð¿Ñ€Ð°ÑžÐ´Ð·Ñ–ваÑ, Ð±ÑƒÐ´Ð·Ðµ Ð²ÐµÑ€Ð½ÑƒÑ‚ае Ð·Ð½Ð°Ñ‡Ñньне Â«ÐºÐ°Ð»Ñ– Ñ–Ñьціна»; Ñ–накш Ð±ÑƒÐ´Ð·Ðµ Ð²ÐµÑ€Ð½ÑƒÑ‚ае Â«ÐºÐ°Ð»Ñ– Ñ…луÑьнÑ».";
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://be-x-old.wikipedia.org/wiki/%D0%90%D1%80%D1%8B%D1%82%D0%BC%D1%8D%D1%82%D1%8B%D0%BA%D0%B0";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Ð’Ñртае Ñуму Ð´Ð²ÑƒÑ… Ð»Ñ–каў.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Ð’Ñртае Ð´Ð·ÐµÐ»ÑŒ Ð´Ð²ÑƒÑ… Ð»Ñ–каў.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Ð’Ñртае Ñ€Ð¾Ð·Ð½Ð°Ñьць Ð´Ð²ÑƒÑ… Ð»Ñ–каў.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Ð’Ñртае Ð·Ð´Ð°Ð±Ñ‹Ñ‚ак Ð´Ð²ÑƒÑ… Ð»Ñ–каў.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Ð’Ñртае Ð¿ÐµÑ€ÑˆÑ‹ Ð»Ñ–к Ñƒ Ñтупені Ð´Ñ€ÑƒÐ³Ð¾Ð³Ð° Ð»Ñ–ку.";
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";
+Blockly.Msg["MATH_CHANGE_TITLE"] = "зьмÑніць %1 Ð½Ð° %2";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Дадае Ð»Ñ–чбу Ð´Ð° Ð·ÑŒÐ¼ÐµÐ½Ð½Ð°Ð¹ '%1'.";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://be-x-old.wikipedia.org/wiki/%D0%9C%D0%B0%D1%82%D1%8D%D0%BC%D0%B0%D1%82%D1%8B%D1%87%D0%BD%D0%B0%D1%8F_%D0%BA%D0%B0%D0%BD%D1%81%D1%82%D0%B0%D0%BD%D1%82%D0%B0";
+Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "Ð’Ñртае Ð°Ð´Ð½Ñƒ Ð· Ð°Ð³ÑƒÐ»ÑŒÐ½Ñ‹Ñ… ÐºÐ°Ð½Ñтантаў: Ï€ (3.141...), e (2.718...), Ï† (1.618...), sqrt(2) (1.414...), sqrt(½) (0,707...) Ð°Ð±Ð¾ âˆž (бÑÑконцаÑьць).";
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "абмежаваць %1 Ð·ÑŒÐ½Ñ–зу %2 Ð·ÑŒÐ²ÐµÑ€Ñ…у %3";
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "ÐбмÑжоўвае ÐºÐ¾Ð»ÑŒÐºÐ°Ñьць Ð½Ñ–жнÑй Ñ– Ð²ÐµÑ€Ñ…нÑй Ð¼ÐµÐ¶Ð°Ð¼Ñ– (уключна).";
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";  // untranslated
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "дзÑліць Ð½Ð°";
+Blockly.Msg["MATH_IS_EVEN"] = "парнаÑ";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "адмоўнаÑ";
+Blockly.Msg["MATH_IS_ODD"] = "нÑпарнаÑ";
+Blockly.Msg["MATH_IS_POSITIVE"] = "ÑтаноўчаÑ";
+Blockly.Msg["MATH_IS_PRIME"] = "проÑтаÑ";
+Blockly.Msg["MATH_IS_TOOLTIP"] = "ПравÑрае, Ñ†Ñ– Ð·ÑŒÑўлÑецца Ð»Ñ–к Ð¿Ð°Ñ€Ð½Ñ‹Ð¼, Ð½Ñпарным, Ð¿Ñ€Ð¾Ñтым, Ñтаноўчым, Ð°Ð´Ð¼Ð¾ÑžÐ½Ñ‹Ð¼, Ñ†Ñ– Ñ‘н Ð´Ð·ÐµÐ»Ñ–цца Ð½Ð° Ð¿Ñўны Ð»Ñ–к Ð±ÐµÐ· Ð°Ñтатку. Ð’Ñртае Ð·Ð½Ð°Ñ‡Ñньне Ñ–Ñьціна Ð°Ð±Ð¾ Ð½Ñпраўда.";
+Blockly.Msg["MATH_IS_WHOLE"] = "цÑлаÑ";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://en.wikipedia.org/wiki/Modulo_operation";
+Blockly.Msg["MATH_MODULO_TITLE"] = "Ñ€Ñшта Ð´Ð·ÑленьнѠ%1 Ã· %2";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Ð’Ñртае Ñ€Ñшту Ð´Ð·ÑленьнѠдвух Ð»Ñ–каў.";
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";  // untranslated
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://be-x-old.wikipedia.org/wiki/%D0%9B%D1%96%D0%BA";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "Лік.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "ÑÑÑ€ÑднÑÑ Ñž ÑьпіÑе";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "мінімальнаѠў ÑьпіÑе";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "мÑдыÑна ÑьпіÑу";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "мінімальнаѠў ÑьпіÑе";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "Ñ€Ñжымы ÑьпіÑу";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "выпадковы ÑлемÑнт ÑьпіÑу";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "Ñтандартнае Ð°Ð´Ñ…іленьне ÑьпіÑу";
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "Сума ÑьпіÑу";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Ð’Ñртае ÑÑÑ€ÑднеарытмÑтычнае Ð·Ð½Ð°Ñ‡Ñньне Ð»Ñ–кавых Ð·Ð½Ð°Ñ‡ÑньнÑÑž Ñƒ ÑьпіÑе.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "Ð’Ñртае Ð½Ð°Ð¹Ð¼ÐµÐ½ÑˆÑ‹ Ð»Ñ–к Ñƒ ÑьпіÑе.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "Ð’Ñртае Ð¼ÑдыÑну ÑьпіÑу.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "Ð’Ñртае Ð½Ð°Ð¹Ð¼ÐµÐ½ÑˆÑ‹ Ð»Ñ–к Ñƒ ÑьпіÑе.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Ð’Ñртае ÑьпіѠÑамых Ñ€Ð°ÑпаўÑюджаных ÑлемÑнтаў Ñƒ ÑьпіÑе.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Ð’Ñртае Ð²Ñ‹Ð¿Ð°Ð´ÐºÐ¾Ð²Ñ‹ ÑлемÑнт ÑьпіÑу.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Ð’Ñртае Ñтандартнае Ð°Ð´Ñ…іленьне ÑьпіÑу.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Ð’Ñртае Ñуму ÑžÑÑ–Ñ… Ð»Ñ–каў Ñƒ ÑьпіÑе.";
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "выпадковаѠдроб";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Ð’Ñртае Ð²Ñ‹Ð¿Ð°Ð´ÐºÐ¾Ð²ÑƒÑŽ Ð´Ñ€Ð¾Ð± Ñƒ Ð´Ñ‹Ñпазоне Ð°Ð´ 0,0 (уключна) Ð´Ð° 1,0.";
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "выпадковаѠцÑлаѠз %1 Ð´Ð»Ñ %2";
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Ð’Ñртае Ð²Ñ‹Ð¿Ð°Ð´ÐºÐ¾Ð²Ñ‹ Ñ†Ñлы Ð»Ñ–к Ð¿Ð°Ð¼Ñ–ж Ð´Ð²ÑƒÐ¼Ð° Ð·Ð°Ð´Ð°Ð´Ð·ÐµÐ½Ñ‹Ð¼Ñ– Ð°Ð±Ð¼ÐµÐ¶Ð°Ð²Ð°Ð½ÑŒÐ½Ñмі ÑžÐºÐ»ÑŽÑ‡Ð½Ð°.";
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://en.wikipedia.org/wiki/Rounding";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "акругліць";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "акругліць Ð´Ð° Ð¼ÐµÐ½ÑˆÐ°Ð³Ð°";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "акругліць Ð´Ð° Ð±Ð¾Ð»ÑŒÑˆÐ°Ð³Ð°";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Ðкругленьне Ð»Ñ–ку Ð´Ð° Ð±Ð¾Ð»ÑŒÑˆÐ°Ð³Ð° Ñ†Ñ– Ð¼ÐµÐ½ÑˆÐ°Ð³Ð°.";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://be-x-old.wikipedia.org/wiki/%D0%9A%D0%B2%D0%B0%D0%B4%D1%80%D0%B0%D1%82%D0%BD%D1%8B_%D0%BA%D0%BE%D1%80%D0%B0%D0%BD%D1%8C";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "модуль";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "квадратны ÐºÐ¾Ñ€Ð°Ð½ÑŒ";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Ð’Ñртае Ð¼Ð¾Ð´ÑƒÐ»ÑŒ Ð»Ñ–ку.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Ð’Ñртае e Ñž Ñтупені Ð»Ñ–ку.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "Ð’Ñртае Ð½Ð°Ñ‚уральны Ð»Ñгарытм Ð»Ñ–ку.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "Ð’Ñртае Ð´Ð·ÐµÑÑтковы Ð»Ñгарытм Ð»Ñ–ку.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Ð’Ñртае Ñупрацьлеглы Ð»Ñ–к.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Ð’Ñртае 10 Ñƒ Ñтупені Ð»Ñ–ку.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Ð’Ñртае ÐºÐ²Ð°Ð´Ñ€Ð°Ñ‚ны ÐºÐ¾Ñ€Ð°Ð½ÑŒ Ð»Ñ–ку.";
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";  // untranslated
+Blockly.Msg["MATH_TRIG_ACOS"] = "acos";  // untranslated
+Blockly.Msg["MATH_TRIG_ASIN"] = "asin";  // untranslated
+Blockly.Msg["MATH_TRIG_ATAN"] = "atan";  // untranslated
+Blockly.Msg["MATH_TRIG_COS"] = "cos";  // untranslated
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://be-x-old.wikipedia.org/wiki/%D0%A2%D1%80%D1%8B%D0%B3%D0%B0%D0%BD%D0%B0%D0%BC%D1%8D%D1%82%D1%80%D1%8B%D1%8F#.D0.A2.D1.80.D1.8B.D0.B3.D0.B0.D0.BD.D0.B0.D0.BC.D1.8D.D1.82.D1.80.D1.8B.D1.87.D0.BD.D1.8B.D1.8F_.D1.84.D1.83.D0.BD.D0.BA.D1.86.D1.8B.D1.96";
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";  // untranslated
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Ð’Ñртае Ð°Ñ€ÐºÐºÐ¾ÑынуѠліку.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Ð’Ñртае Ð°Ñ€ÐºÑынуѠліку.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Ð’Ñртае Ð°Ñ€ÐºÑ‚ангÑнѠліку.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Ð’Ñртае ÐºÐ¾ÑынуѠкута Ñž Ð³Ñ€Ð°Ð´ÑƒÑах.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Ð’Ñртае ÑынуѠкута Ñž Ð³Ñ€Ð°Ð´ÑƒÑах.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Ð’Ñртае Ñ‚ангÑнѠкута Ñž Ð³Ñ€Ð°Ð´ÑƒÑах.";
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Стварыць Ð·ÑŒÐ¼ÐµÐ½Ð½ÑƒÑŽ ÐºÐ¾Ð»ÐµÑ€Ñƒâ€¦";
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Стварыць Ð»Ñ–кавую Ð·ÑŒÐ¼ÐµÐ½Ð½ÑƒÑŽâ€¦";
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Стварыць Ñ€Ð°Ð´ÐºÐ¾Ð²ÑƒÑŽ Ð·ÑŒÐ¼ÐµÐ½Ð½ÑƒÑŽâ€¦";
+Blockly.Msg["NEW_VARIABLE"] = "Стварыць Ð·ÑŒÐ¼ÐµÐ½Ð½ÑƒÑŽâ€¦";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "ІмѠновай Ð·ÑŒÐ¼ÐµÐ½Ð½Ð°Ð¹:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "Ðовы Ñ‚ып Ð·ÑŒÐ¼ÐµÐ½Ð½Ð°Ð¹:";
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "дазволіць Ð·Ð°Ñ†ÑŒÐ²ÑрджÑньне";
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "з:";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "ЗапуÑьціць Ñ„ункцыю Ð²Ñ‹Ð·Ð½Ð°Ñ‡Ð°Ð½ÑƒÑŽ ÐºÐ°Ñ€Ñ‹Ñтальнікам '%1'.";
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "ЗапуÑьціць Ñ„ункцыю Ð²Ñ‹Ð·Ð½Ð°Ñ‡Ð°Ð½ÑƒÑŽ ÐºÐ°Ñ€Ñ‹Ñтальнікам '%1' Ñ– Ð²Ñ‹ÐºÐ°Ñ€Ñ‹Ñтаць Ñе Ð²Ñ‹Ð½Ñ–к.";
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "з:";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "Стварыць '%1'";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Ðпішыце Ð³Ñтую Ñ„ункцыю…";
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "зрабіць ÑˆÑ‚о-небудзь";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "да";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Стварае Ñ„ункцыю Ð±Ñз Ð²Ñ‹Ð½Ñ–ку.";
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "вÑрнуць";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "Стварае Ñ„ункцыю Ð· Ð²Ñ‹Ð½Ñ–кам.";
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "Увага: Ð³ÑтаѠфункцыѠмае Ð¿Ð°Ñ€Ð°Ð¼Ñтры-дублікаты.";
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "ПадÑьвÑціць Ð²Ñ‹Ð·Ð½Ð°Ñ‡Ñньне Ñ„ункцыі";
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "Калі Ð·Ð½Ð°Ñ‡Ñньне Ñ–Ñьціна, Ð²Ñрнуць Ð´Ñ€ÑƒÐ³Ð¾Ðµ Ð·Ð½Ð°Ñ‡Ñньне.";
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "ПапÑÑ€Ñджаньне: Ð³ÑÑ‚Ñ‹ Ð±Ð»Ñ‘к Ð¼Ð¾Ð¶Ð° Ð²Ñ‹ÐºÐ°Ñ€Ñ‹Ñтоўвацца Ñ‚олькі Ñž Ð²Ñ‹Ð·Ð½Ð°Ñ‡Ð°Ð½Ð°Ð¹ Ñ„ункцыі.";
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "назва Ð¿Ð°Ñ€Ð°Ð¼Ñтру:";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Дадаць ÑƒÐ²Ð°Ñ…одныѠпарамÑтры Ñž Ñ„ункцыю.";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "парамÑтры";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Дадаць, Ð²Ñ‹Ð´Ð°Ð»Ñ–ць Ñ†Ñ– Ð·Ð°Ð¿Ñ–Ñаць Ñ‡Ð°Ñ€Ð³Ñƒ ÑžÐ²Ð°Ñ…одных Ð¿Ð°Ñ€Ð°Ð¼Ñтраў Ð´Ð»Ñ Ð³Ñтай Ñ„ункцыі.";
+Blockly.Msg["REDO"] = "Паўтарыць";
+Blockly.Msg["REMOVE_COMMENT"] = "Выдаліць ÐºÐ°Ð¼Ñнтар";
+Blockly.Msg["RENAME_VARIABLE"] = "Перайменаваць Ð·ÑŒÐ¼ÐµÐ½Ð½ÑƒÑŽâ€¦";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Перайменаваць ÑƒÑе Ð½Ð°Ð·Ð²Ñ‹ Ð·ÑŒÐ¼ÐµÐ½Ð½Ñ‹Ñ… '%1' Ð½Ð°:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "да %1 Ð´Ð°Ð´Ð°Ñ†ÑŒ Ñ‚ÑкÑÑ‚ %2";
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Дадаць Ñкі-небудзь Ñ‚ÑкÑÑ‚ Ð´Ð° Ð·ÑŒÐ¼ÐµÐ½Ð½Ð°Ð¹ '%1'.";
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "да Ð½Ñ–жнÑга Ñ€ÑгіÑтру";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "Ð’ÑлікіѠПершыѠЛітары";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "да Ð’ЕРХÐЯГРРЭГІСТРУ";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Ð’Ñрнуць ÐºÐ¾Ð¿Ñ–ÑŽ Ñ‚ÑкÑту Ð·ÑŒ Ñ–ншай Ð²ÐµÐ»Ñ–чынёй Ð»Ñ–тар.";
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "узÑць Ð¿ÐµÑ€ÑˆÑƒÑŽ Ð»Ñ–тару";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "узÑць Ð»Ñ–тару â„– Ð· ÐºÐ°Ð½Ñ†Ð°";
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "узÑць Ð»Ñ–тару â„–";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "узÑць Ð°Ð¿Ð¾ÑˆÐ½ÑŽÑŽ Ð»Ñ–тару";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "узÑць Ð²Ñ‹Ð¿Ð°Ð´ÐºÐ¾Ð²ÑƒÑŽ Ð»Ñ–тару";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "у Ñ‚ÑкÑьце %1 %2";
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Ð’Ñртае Ð»Ñ–тару Ñž Ð¿Ð°Ð·Ð½Ð°Ñ‡Ð°Ð½Ð°Ð¹ Ð¿Ð°Ð·Ñ‹Ñ†Ñ‹Ñ–.";
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "падлічыць %1 ÑÑрод %2";
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Падлічвае ÐºÐ¾Ð»ÑŒÐºÑ– Ñ€Ð°Ð·Ð¾Ñž Ð½ÐµÐ¹ÐºÑ– Ñ‚ÑкÑÑ‚ ÑуÑтракаецца ÑžÐ½ÑƒÑ‚ры Ð½ÐµÐ¹ÐºÐ°Ð³Ð° Ñ–ншага Ñ‚ÑкÑту.";
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Дадаць ÑлемÑнт Ð´Ð° Ñ‚ÑкÑту.";
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "далучыць";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Дадайце, Ð²Ñ‹Ð´Ð°Ð»Ñ–це Ñ†Ñ– Ð·ÑŒÐ¼Ñніце Ð¿Ð°Ñ€Ð°Ð´Ð°Ðº Ñ€Ð°Ð·ÑŒÐ´Ð·ÐµÐ»Ð°Ñž Ð´Ð»Ñ Ð¿ÐµÑ€Ð°Ð´Ð°Ñ‡Ñ‹ Ñ‚ÑкÑтавага Ð±Ð»Ñ‘ку.";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "да Ð»Ñ–тары â„– Ð· ÐºÐ°Ð½Ñ†Ð°";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "да Ð»Ñ–тары â„–";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "да Ð°Ð¿Ð¾ÑˆÐ½Ñй Ð»Ñ–тары";
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "у Ñ‚ÑкÑьце";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "атрымаць Ð¿Ð°Ð´Ñ€Ð°Ð´Ð¾Ðº Ð·ÑŒ Ð¿ÐµÑ€ÑˆÐ°Ð¹ Ð»Ñ–тары";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "узÑць Ð¿Ð°Ð´Ñ€Ð°Ð´Ð¾Ðº Ð·ÑŒ Ð»Ñ–тары â„– Ð· ÐºÐ°Ð½Ñ†Ð°";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "узÑць Ð¿Ð°Ð´Ñ€Ð°Ð´Ð¾Ðº Ð·ÑŒ Ð»Ñ–тары â„–";
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Ð’Ñртае Ð¿Ð°Ð·Ð½Ð°Ñ‡Ð°Ð½ÑƒÑŽ Ñ‡Ð°Ñтку Ñ‚ÑкÑту.";
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "знайÑьці Ð¿ÐµÑ€ÑˆÐ°Ðµ ÑžÐ²Ð°Ñ…оджаньне Ñ‚ÑкÑту";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "знайÑьці Ð°Ð¿Ð¾ÑˆÐ½Ñе ÑžÐ²Ð°Ñ…оджаньне Ñ‚ÑкÑту";
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "у Ñ‚ÑкÑьце %1 %2 %3";
+Blockly.Msg["TEXT_INDEXOF_TOOLTIP"] = "Ð’Ñртае Ñ–ндÑкѠпершага/апошнÑга ÑžÐ²Ð°Ñ…оджаньнѠпершага Ñ‚ÑкÑту Ñž Ð´Ñ€ÑƒÐ³Ñ– Ñ‚ÑкÑÑ‚. Ð’Ñртае %1, ÐºÐ°Ð»Ñ– Ñ‚ÑкÑÑ‚ Ð½Ñ Ð·Ð½Ð¾Ð¹Ð´Ð·ÐµÐ½Ñ‹.";
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 Ð¿ÑƒÑÑ‚Ñ‹";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Ð’Ñртае Ð·Ð½Ð°Ñ‡Ñньне Ñ–Ñьціна, ÐºÐ°Ð»Ñ– Ñ‚ÑкÑÑ‚ Ð¿ÑƒÑÑ‚Ñ‹.";
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "Ñтварыць Ñ‚ÑкÑÑ‚ Ð·";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Стварае Ñ„рагмÑнт Ñ‚ÑкÑту Ð°Ð±â€™Ñднаньнем Ð»ÑŽÐ±Ð¾Ð¹ ÐºÐ¾Ð»ÑŒÐºÐ°Ñьці ÑлемÑнтаў.";
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "даўжынѠ%1";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Ð’Ñртае ÐºÐ¾Ð»ÑŒÐºÐ°Ñьць Ð»Ñ–тараў (у Ñ‚ым Ð»Ñ–ку Ð¿Ñ€Ð°Ð±ÐµÐ»Ñ‹) Ñƒ Ð¿Ð°Ð´Ð°Ð´Ð·ÐµÐ½Ñ‹Ð¼ Ñ‚ÑкÑьце.";
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "друкаваць %1";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Ðадрукаваць Ð¿Ð°Ð·Ð½Ð°Ñ‡Ð°Ð½Ñ‹ Ñ‚ÑкÑÑ‚, Ð»Ñ–чбу Ñ†Ñ– Ñ–ншыѠÑымбалі.";
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Запытаць Ñƒ ÐºÐ°Ñ€Ñ‹Ñтальніка Ð»Ñ–чбу.";
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Запытаць Ñƒ ÐºÐ°Ñ€Ñ‹Ñтальніка Ñ‚ÑкÑÑ‚.";
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "запытаць Ð»Ñ–чбу Ð· Ð¿Ð°Ð´ÐºÐ°Ð·ÐºÐ°Ð¹";
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "запытаць Ñ‚ÑкÑÑ‚ Ð· Ð¿Ð°Ð´ÐºÐ°Ð·ÐºÐ°Ð¹";
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "замÑніць %1 Ð½Ð° %2 Ñƒ %3";
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "ЗамÑнÑе ÑžÑе Ð²Ñ‹Ð¿Ð°Ð´ÐºÑ– Ð½ÐµÐ¹ÐºÐ°Ð³Ð° Ñ‚ÑкÑту Ð½Ð° Ñ–ншы Ñ‚ÑкÑÑ‚.";
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "адваротна %1";
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "ÐœÑнÑе Ð¿Ð°Ñ€Ð°Ð´Ð°Ðº ÑымбалÑÑž Ñƒ Ñ‚ÑкÑьце Ð½Ð° Ð°Ð´Ð²Ð°Ñ€Ð¾Ñ‚ны.";
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://en.wikipedia.org/wiki/String_(computer_science)";
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "Літара, Ñлова Ñ†Ñ– Ñ€Ð°Ð´Ð¾Ðº Ñ‚ÑкÑту.";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "абрÑзаць Ð¿Ñ€Ð°Ð±ÐµÐ»Ñ‹ Ð· Ð°Ð±Ð¾Ð´Ð²ÑƒÑ… Ð±Ð°ÐºÐ¾Ñž";
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "абрÑзаць Ð¿Ñ€Ð°Ð±ÐµÐ»Ñ‹ Ð·ÑŒ Ð»ÐµÐ²Ð°Ð³Ð° Ð±Ð¾ÐºÑƒ";
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "абрÑзаць Ð¿Ñ€Ð°Ð±ÐµÐ»Ñ‹ Ð· Ð¿Ñ€Ð°Ð²Ð°Ð³Ð° Ð±Ð¾ÐºÑƒ";
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Ð’Ñртае ÐºÐ¾Ð¿Ñ–ÑŽ Ñ‚ÑкÑту Ð· Ð¿Ñ€Ð°Ð±ÐµÐ»Ð°Ð¼Ñ–, Ð²Ñ‹Ð´Ð°Ð»ÐµÐ½Ñ‹Ð¼Ñ– Ð°Ð´ Ð°Ð´Ð½Ð°Ð³Ð¾ Ñ†Ñ– Ð°Ð±Ð¾Ð´Ð²ÑƒÑ… Ð±Ð°ÐºÐ¾Ñž.";
+Blockly.Msg["TODAY"] = "СёньнÑ";
+Blockly.Msg["UNDO"] = "СкаÑаваць";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "аб’ект";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Стварыць Ð±Ð»Ñ‘к Â«ÑƒÑталÑваць %1»";
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Ð’Ñртае Ð·Ð½Ð°Ñ‡Ñньне Ð³Ñтай Ð·ÑŒÐ¼ÐµÐ½Ð½Ð°Ð¹.";
+Blockly.Msg["VARIABLES_SET"] = "уÑталÑваць %1 Ð´Ð° %2";
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Стварыць Ð±Ð»Ñ‘к Â«Ð°Ñ‚рымаць %1»";
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Ðадаць Ð³Ñтай Ð·ÑŒÐ¼ÐµÐ½Ð½Ð°Ð¹ Ð·Ð½Ð°Ñ‡Ñньне ÑžÑтаўкі.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "ЗьменнаѠз Ð½Ð°Ð·Ð²Ð°Ð¹ Â«%1» ÑƒÐ¶Ð¾ Ñ–Ñнуе.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "ЗьменнаѠз Ð½Ð°Ð·Ð²Ð°Ð¹ Â«%1» ÑƒÐ¶Ð¾ Ñ–Ñнуе Ð·ÑŒ Ñ–ншым Ñ‚ыпам: Â«%2».";
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Ðапішыце ÑˆÑ‚о-небудзь…";
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/be.js b/js/msg/js/be.js
new file mode 100644 (file)
index 0000000..6ec889d
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.be');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "Дадаць ÐºÐ°Ð¼ÐµÐ½Ñ‚арый";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "Ðемагчыма Ð²Ñ‹Ð´Ð°Ð»Ñ–ць Ð¿ÐµÑ€Ð°Ð¼ÐµÐ½Ð½ÑƒÑŽ '%1', Ð¿Ð°ÐºÐ¾Ð»ÑŒÐºÑ– Ñна Ð·'ÑўлÑецца Ñ‡Ð°Ñткай Ð²Ñ‹Ð·Ð½Ð°Ñ‡ÑннѠфункцыі '%2'";
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "ЗмÑніць Ð·Ð½Ð°Ñ‡ÑннÑ:";
+Blockly.Msg["CLEAN_UP"] = "Выраўнаваць Ð±Ð»Ð¾ÐºÑ–";
+Blockly.Msg["COLLAPSE_ALL"] = "Згарнуць Ð±Ð»Ð¾ÐºÑ–";
+Blockly.Msg["COLLAPSE_BLOCK"] = "Згарнуць Ð±Ð»Ð¾Ðº";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "колер 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "колер 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";  // untranslated
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "ÑуадноÑіны";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "змÑшаць";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "Змешвае Ð´Ð²Ð° ÐºÐ¾Ð»ÐµÑ€Ñ‹ Ñ€Ð°Ð·Ð°Ð¼ Ñƒ Ð¿Ð°ÐºÐ°Ð·Ð°Ð½Ñ‹Ñ… ÑуадноÑінах (0.0 - 1.0).";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://be.wikipedia.org/wiki/Колер";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "Выбраць ÐºÐ¾Ð»ÐµÑ€ Ð· Ð¿Ð°Ð»Ñ–тры.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "выпадковы ÐºÐ¾Ð»ÐµÑ€";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "Выбраць ÐºÐ¾Ð»ÐµÑ€ Ð½Ð°ÑžÐ·Ð´Ð°Ð³Ð°Ð´.";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "Ñіні";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "зÑлёны";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";  // untranslated
+Blockly.Msg["COLOUR_RGB_RED"] = "чырвоны";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "колер Ð·";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "Стварыць ÐºÐ¾Ð»ÐµÑ€ Ð· Ð½Ð°Ð·Ð²Ð°Ð½Ñ‹Ð¼Ñ– ÑžÐ·Ñ€Ð¾ÑžÐ½Ñмі Ñ‡Ñ‹Ñ€Ð²Ð¾Ð½Ð°Ð³Ð°, Ð·Ñлёнага Ñ– ÑінÑга. Ð£Ñе Ð·Ð½Ð°Ñ‡ÑннѠпавінны Ð±Ñ‹Ñ†ÑŒ Ð°Ð´ 0 Ð´Ð° 100.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "перарваць Ñ†Ñ‹ÐºÐ»";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "прадоўжыць Ð· Ð½Ð°Ñтупнай Ñ–Ñ‚Ñрацыі Ñ†Ñ‹ÐºÐ»Ñƒ";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "Перарваць Ð²Ñ‹ÐºÐ°Ð½Ð°Ð½Ð½Ðµ Ñ†Ñ‹ÐºÐ»Ð°.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "ПрапуÑціць Ñ€Ñшту Ð³Ñтага Ñ†Ñ‹ÐºÐ»Ð° Ñ– Ð¿ÐµÑ€Ð°Ð¹Ñці Ð´Ð° Ð²Ñ‹ÐºÐ°Ð½Ð°Ð½Ð½Ñ Ð½Ð°Ñтупнай Ñ–Ñ‚Ñрацыі.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "ПапÑÑ€Ñджанне: Ð³ÑÑ‚Ñ‹ Ð±Ð»Ð¾Ðº Ð¼Ð¾Ð¶Ð° Ð±Ñ‹Ñ†ÑŒ Ð²Ñ‹ÐºÐ°Ñ€Ñ‹Ñтаны Ñ‚олькі Ñž Ð¼ÐµÐ¶Ð°Ñ… Ñ†Ñ‹ÐºÐ»Ñƒ.";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "длѠкожнага Ñлемента %1 Ñƒ ÑпіÑе %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "ДлѠкожнага Ñлемента Ñž ÑпіÑе Ð¿ÐµÑ€Ð°Ð¼ÐµÐ½Ð½Ð°Ñ '%1' Ð°Ñ‚рымлівае Ð·Ð½Ð°Ñ‡Ñнне Ñлемента, Ð° Ð·Ð°Ñ‚ым Ð²Ñ‹ÐºÐ¾Ð½Ð²Ð°ÑŽÑ†Ñ†Ð° Ð¿ÑўныѠдзеÑнні.";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "лічыць Ð· %1 Ð°Ð´ %2 Ð´Ð° %3 Ð¿Ñ€Ð°Ð· %4";
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "ÐаÑўнаѠпераменнаѠ'%1' Ð¿Ñ€Ñ‹Ð¼Ð°Ðµ Ð·Ð½Ð°Ñ‡Ñнні Ð°Ð´ Ð¿Ð°Ñ‡Ð°Ñ‚ковага Ð´Ð° ÐºÐ°Ð½Ñ‡Ð°Ñ‚ковага, ÑƒÐ»Ñ–чваючы Ð·Ð°Ð´Ð°Ð´Ð·ÐµÐ½Ñ‹ Ñ–нтÑрвал, Ñ– Ð²Ñ‹ÐºÐ¾Ð½Ð²Ð°ÑŽÑ†Ñ†Ð° Ð½Ð°Ð·Ð²Ð°Ð½Ñ‹Ñ Ð±Ð»Ð¾ÐºÑ–.";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "Дадайце ÑžÐ¼Ð¾Ð²Ñƒ Ð´Ð° Ð±Ð»Ð¾ÐºÑƒ 'калі'";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "Дадаць ÐºÐ°Ð½Ñ‡Ð°Ñ‚ковую, ÑžÑёабдымную ÑžÐ¼Ð¾Ð²Ñƒ Ñž Ð±Ð»Ð¾Ðº 'калі'.";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Дадайце, Ð²Ñ‹Ð´Ð°Ð»Ñ–це Ð°Ð±Ð¾ Ð·Ð¼Ñніце Ð¿Ð°Ñ€Ð°Ð´Ð°Ðº ÑекцыÑÑž, ÐºÐ°Ð± Ð¿ÐµÑ€Ð°Ð½Ð°Ð»Ð°Ð´Ð·Ñ–ць Ð³ÑÑ‚Ñ‹ Ð±Ð»Ð¾Ðº 'калі'.";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "інакш";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "інакш ÐºÐ°Ð»Ñ–";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "калі";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "Калі Ð·Ð½Ð°Ñ‡Ñнне Ñ–Ñцінае, Ñ‚о Ð²Ñ‹ÐºÐ°Ð½Ð°Ñ†ÑŒ Ð¿ÑўныѠдзеÑнні.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "Калі Ð·Ð½Ð°Ñ‡Ñнне Ñ–Ñцінае, Ñ‚о Ð²Ñ‹ÐºÐ¾Ð½Ð²Ð°ÐµÑ†Ñ†Ð° Ð¿ÐµÑ€ÑˆÑ‹ Ð±Ð»Ð¾Ðº Ð°Ð¿ÐµÑ€Ð°Ñ‚араў. Ð£ Ð°Ð´Ð²Ð°Ñ€Ð¾Ñ‚ным Ð²Ñ‹Ð¿Ð°Ð´ÐºÑƒ Ð²Ñ‹ÐºÐ¾Ð½Ð²Ð°ÐµÑ†Ñ†Ð° Ð´Ñ€ÑƒÐ³Ñ– Ð±Ð»Ð¾Ðº Ð°Ð¿ÐµÑ€Ð°Ñ‚араў.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "Калі Ð¿ÐµÑ€ÑˆÐ°Ðµ Ð·Ð½Ð°Ñ‡Ñнне Ñ–Ñцінае, Ñ‚о Ð²Ñ‹ÐºÐ¾Ð½Ð²Ð°ÐµÑ†Ñ†Ð° Ð¿ÐµÑ€ÑˆÑ‹ Ð±Ð»Ð¾Ðº Ð°Ð¿ÐµÑ€Ð°Ñ‚араў. Ð£ Ð°Ð´Ð²Ð°Ñ€Ð¾Ñ‚ным Ð²Ñ‹Ð¿Ð°Ð´ÐºÑƒ, ÐºÐ°Ð»Ñ– Ð´Ñ€ÑƒÐ³Ð¾Ðµ Ð·Ð½Ð°Ñ‡Ñнне Ñ–Ñцінае, Ñ‚о Ð²Ñ‹ÐºÐ¾Ð½Ð²Ð°ÐµÑ†Ñ†Ð° Ð´Ñ€ÑƒÐ³Ñ– Ð±Ð»Ð¾Ðº Ð°Ð¿ÐµÑ€Ð°Ñ‚араў.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "Калі Ð¿ÐµÑ€ÑˆÐ°Ðµ Ð·Ð½Ð°Ñ‡Ñнне Ñ–Ñцінае, Ñ‚о Ð²Ñ‹ÐºÐ¾Ð½Ð²Ð°ÐµÑ†Ñ†Ð° Ð¿ÐµÑ€ÑˆÑ‹ Ð±Ð»Ð¾Ðº Ð°Ð¿ÐµÑ€Ð°Ñ‚араў. Ð£ Ð°Ð´Ð²Ð°Ñ€Ð¾Ñ‚ным Ð²Ñ‹Ð¿Ð°Ð´ÐºÑƒ, ÐºÐ°Ð»Ñ– Ð´Ñ€ÑƒÐ³Ð¾Ðµ Ð·Ð½Ð°Ñ‡Ñнне Ñ–Ñцінае, Ñ‚о Ð²Ñ‹ÐºÐ¾Ð½Ð²Ð°ÐµÑ†Ñ†Ð° Ð´Ñ€ÑƒÐ³Ñ– Ð±Ð»Ð¾Ðº Ð°Ð¿ÐµÑ€Ð°Ñ‚араў. ÐšÐ°Ð»Ñ– Ð½Ñ– Ð°Ð´Ð½Ð¾ Ð· Ð·Ð½Ð°Ñ‡ÑннÑÑž Ð½Ðµ Ð·'ÑўлÑецца Ñ–Ñціным, Ñ‚о Ð²Ñ‹ÐºÐ¾Ð½Ð²Ð°ÐµÑ†Ñ†Ð° Ð°Ð¿Ð¾ÑˆÐ½Ñ– Ð±Ð»Ð¾Ðº Ð°Ð¿ÐµÑ€Ð°Ñ‚араў.";
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://be.wikipedia.org/wiki/Цыкл_(праграмаванне)";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "выканаць";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "паўтарыць %1 Ñ€Ð°Ð·Ð¾Ñž";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "Выканаць Ð¿ÑўныѠдзеÑнні Ð½ÐµÐºÐ°Ð»ÑŒÐºÑ– Ñ€Ð°Ð·Ð¾Ñž.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "паўтараць, Ð¿Ð°ÐºÑƒÐ»ÑŒ Ð½Ðµ";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "паўтараць, Ð¿Ð°ÐºÑƒÐ»ÑŒ";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "Пакуль Ð·Ð½Ð°Ñ‡Ñнне Ñ–лжывае, Ð²Ñ‹ÐºÐ¾Ð½Ð²Ð°Ñ†ÑŒ Ð¿ÑўныѠдзеÑнні.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "Пакуль Ð·Ð½Ð°Ñ‡Ñнне Ñ–Ñцінае, Ð²Ñ‹ÐºÐ¾Ð½Ð²Ð°Ñ†ÑŒ Ð¿ÑўныѠдзеÑнні.";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "Выдаліць ÑƒÑе Ð±Ð»Ð¾ÐºÑ– %1?";
+Blockly.Msg["DELETE_BLOCK"] = "Выдаліць Ð±Ð»Ð¾Ðº";
+Blockly.Msg["DELETE_VARIABLE"] = "Выдаліць Ð¿ÐµÑ€Ð°Ð¼ÐµÐ½Ð½ÑƒÑŽ '%1'";
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Выдаліць %1 Ð²Ñ‹ÐºÐ°Ñ€Ñ‹ÑтаннѠпераменнай '%2'?";
+Blockly.Msg["DELETE_X_BLOCKS"] = "Выдаліць %1 Ð±Ð»Ð¾ÐºÐ°Ñž";
+Blockly.Msg["DISABLE_BLOCK"] = "Ðдключыць Ð±Ð»Ð¾Ðº";
+Blockly.Msg["DUPLICATE_BLOCK"] = "ДублÑваць";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicate Comment";  // untranslated
+Blockly.Msg["ENABLE_BLOCK"] = "Уключыць Ð±Ð»Ð¾Ðº";
+Blockly.Msg["EXPAND_ALL"] = "Разгарнуць Ð±Ð»Ð¾ÐºÑ–";
+Blockly.Msg["EXPAND_BLOCK"] = "Разгарнуць Ð±Ð»Ð¾Ðº";
+Blockly.Msg["EXTERNAL_INPUTS"] = "ЗнешніѠўваходы";
+Blockly.Msg["HELP"] = "Даведка";
+Blockly.Msg["INLINE_INPUTS"] = "УбудаваныѠўваходы";
+Blockly.Msg["IOS_CANCEL"] = "ÐдмÑніць";
+Blockly.Msg["IOS_ERROR"] = "Памылка";
+Blockly.Msg["IOS_OK"] = "Добра";
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Ð”адаць ÑƒÐ²Ð°Ñ…одную Ð¿ÐµÑ€Ð°Ð¼ÐµÐ½Ð½ÑƒÑŽ";
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Дазволіць Ð°Ð¿ÐµÑ€Ð°Ñ‚ары";
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "У Ð³Ñтай Ñ„ункцыі Ñ‘Ñць ÑƒÐ²Ð°Ñ…одныѠпераменныÑ, ÑкіѠдубліруюцца.";
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "УВÐХОД";
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "Дадаць";
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Ð”адаць Ð¿ÐµÑ€Ð°Ð¼ÐµÐ½Ð½ÑƒÑŽ";
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "Выдаліць";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "Ð’Ñ‹ Ð½Ðµ Ð¼Ð¾Ð¶Ð°Ñ†Ðµ Ð²Ñ‹ÐºÐ°Ñ€Ñ‹Ñтоўваць Ð¿ÑƒÑтое Ñ–мѠпераменнай.";
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Перайменаваць";
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Ðазва Ð¿ÐµÑ€Ð°Ð¼ÐµÐ½Ð½Ð°Ð¹";
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "Ñтварыць Ð¿ÑƒÑÑ‚Ñ‹ ÑпіÑ";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Ð’Ñртае ÑпіѠдаўжыні 0, Ñкі Ð½Ðµ ÑžÑ‚рымлівае Ð´Ð°Ð´Ð·ÐµÐ½Ñ‹Ñ…";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "ÑпіÑ";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Дадайце, Ð²Ñ‹Ð´Ð°Ð»Ñ–це, Ð¿ÐµÑ€Ð°Ñтаўце Ñлементы Ð´Ð»Ñ Ð¿ÐµÑ€Ð°Ñ€Ð¾Ð±ÐºÑ– Ð±Ð»Ð¾ÐºÐ° ÑпіÑу.";
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "Ñтварыць ÑпіѠз";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Дадае Ñлемент Ð´Ð° ÑпіÑу.";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Стварае ÑпіѠз Ð»ÑŽÐ±Ñ‹Ð¼ Ð»Ñ–кам Ñлементаў.";
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "першы";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "# Ð· ÐºÐ°Ð½Ñ†Ð°";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "узÑць";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "узÑць Ñ– Ð²Ñ‹Ð´Ð°Ð»Ñ–ць";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "апошні";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "адвольны";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "выдаліць";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Ð’Ñртае Ð¿ÐµÑ€ÑˆÑ‹ Ñлемент ÑпіÑа.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Ð’Ñртае Ñлемент Ð²Ð° ÑžÐºÐ°Ð·Ð°Ð½Ð°Ð¹ Ð¿Ð°Ð·Ñ–цыі ÑпіÑа.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Ð’Ñртае Ð°Ð¿Ð¾ÑˆÐ½Ñ– Ñлемент ÑпіÑа.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Ð’Ñртае Ð²Ñ‹Ð¿Ð°Ð´ÐºÐ¾Ð²Ñ‹ Ñлемент ÑпіÑа.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "ВидалÑÑ” Ñ– Ð¿Ð¾Ð²ÐµÑ€Ñ‚ає Ð¿ÐµÑ€ÑˆÐ¸Ð¹ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ ÑпиÑку.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "ВыдалÑе Ñ– Ð²Ñртае Ñлемент Ð²Ð° ÑžÐºÐ°Ð·Ð°Ð½Ð°Ð¹ Ð¿Ð°Ð·Ñ–цыі ÑпіÑа.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "ВидалÑÑ” Ñ– Ð¿Ð¾Ð²ÐµÑ€Ñ‚ає Ð°Ð¿Ð¾ÑˆÐ½Ñ– Ñлемент ÑпіÑа.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "ВидалÑÑ” Ñ– Ð¿Ð¾Ð²ÐµÑ€Ñ‚ає Ð²Ñ‹Ð¿Ð°Ð´ÐºÐ¾Ð²Ñ‹ Ñлемент ÑпіÑа.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "ВидалÑÑ” Ð¿ÐµÑ€ÑˆÑ‹ Ñлемент ÑпіÑа.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "ВидалÑÑ” Ñлемент Ð²Ð° ÑžÐºÐ°Ð·Ð°Ð½Ð°Ð¹ Ð¿Ð°Ð·Ñ–цыі ÑпіÑа.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "ВидалÑÑ” Ð°Ð¿Ð¾ÑˆÐ½Ñ– Ñлемент ÑпіÑа.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "ВидалÑÑ” Ð²Ñ‹Ð¿Ð°Ð´ÐºÐ¾Ð²Ñ‹ Ñлемент ÑпіÑа.";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "па # Ð· ÐºÐ°Ð½Ñ†Ð°";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "па #";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "па Ð°Ð¿Ð¾ÑˆÐ½Ñ–";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "узÑць Ð¿Ð°Ð´ÑпіѠз Ð¿ÐµÑ€ÑˆÐ°Ð³Ð°";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "узÑць Ð¿Ð°Ð´ÑпіѠз # Ð· ÐºÐ°Ð½Ñ†Ð°";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "узÑць Ð¿Ð°Ð´ÑпіѠз #";
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Стварае ÐºÐ¾Ð¿Ñ–ÑŽ ÑžÐºÐ°Ð·Ð°Ð½Ð°Ð¹ Ñ‡Ð°Ñтцы ÑпіÑу.";
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 - Ð°Ð¿Ð¾ÑˆÐ½Ñ– Ñлемент.";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 - Ð¿ÐµÑ€ÑˆÑ‹ Ñлемент.";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "знайÑці Ð¿ÐµÑ€ÑˆÐ°Ðµ ÑžÐ²Ð°Ñ…оджанне Ñлемента";
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "знайÑці Ð°Ð¿Ð¾ÑˆÐ½Ñе ÑžÐ²Ð°Ñ…оджанне Ñлемента";
+Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "Ð’Ñртае Ð½ÑƒÐ¼Ð°Ñ€ Ð¿Ð°Ð·Ñ–цыі Ð¿ÐµÑ€ÑˆÐ°Ð³Ð°/апошнÑга ÑžÐ²Ð°Ñ…оджаннѠÑлемента Ñž ÑпіÑе. Ð’Ñртае %1, ÐºÐ°Ð»Ñ– Ñлемент Ð½Ðµ Ð·Ð½Ð¾Ð¹Ð´Ð·ÐµÐ½Ñ‹.";
+Blockly.Msg["LISTS_INLIST"] = "у ÑпіÑе";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 Ð¿ÑƒÑÑ‚Ñ‹";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Ð’Ñртае Ð·Ð½Ð°Ñ‡Ñнне Ñ–Ñціна, ÐºÐ°Ð»Ñ– ÑпіѠпуÑÑ‚Ñ‹.";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "даўжынѠ%1";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Ð’Ñртае Ð´Ð°ÑžÐ¶Ñ‹Ð½ÑŽ ÑпіÑу.";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "Ñтварыць ÑпіѠз Ñлемента %1, Ð¿Ð°ÑžÑ‚аральнага %2 Ñ€Ð°Ð·Ð¾Ñž";
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Стварае ÑпіÑ, Ñкі Ñкладаецца Ð· Ð·Ð°Ð´Ð°Ð´Ð·ÐµÐ½Ð°Ð³Ð° Ð»Ñ–ку ÐºÐ¾Ð¿Ñ–й Ñлемента.";
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";  // untranslated
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "змÑніць Ð¿Ð°Ñ€Ð°Ð´Ð°Ðº Ð½Ð° Ð·Ð²Ð°Ñ€Ð¾Ñ‚ны %1";
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "ЗмÑніць Ð¿Ð°Ñ€Ð°Ð´Ð°Ðº ÑпіÑу Ð½Ð° Ð°Ð´Ð²Ð°Ñ€Ð¾Ñ‚ны.";
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "=";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "уÑтавіць Ñƒ";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "прыÑабечыць";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "УÑтаўлÑе Ñлемент Ñƒ Ð¿Ð°Ñ‡Ð°Ñ‚ак ÑпіÑа.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "УÑтаўлÑе Ñлемент Ð²Ð° ÑžÐºÐ°Ð·Ð°Ð½Ð°Ð¹ Ð¿Ð°Ð·Ñ–цыі ÑпіÑа.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Дадае Ñлемент Ñƒ ÐºÐ°Ð½ÐµÑ† ÑпіÑу.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "УÑтаўлÑе Ñлемент Ñƒ Ð²Ñ‹Ð¿Ð°Ð´ÐºÐ¾Ð²Ð°Ðµ Ð¼ÐµÑца Ñž ÑпіÑе.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "ПрыÑабечвае Ð·Ð½Ð°Ñ‡Ñнне Ñлемента ÑпіÑу.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "ПрыÑабечвае Ð·Ð½Ð°Ñ‡Ñнне Ñлемента Ð²Ð° ÑžÐºÐ°Ð·Ð°Ð½Ð°Ð¹ Ð¿Ð°Ð·Ñ–цыі ÑпіÑа.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "ПрыÑабечвае Ð·Ð½Ð°Ñ‡Ñнне Ñлемента ÑпіÑу.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "ПрыÑабечвае Ð·Ð½Ð°Ñ‡Ñнне Ñлемента ÑпіÑу.";
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "па ÑžÐ·Ñ€Ð°Ñтанню";
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "па Ñпаданню";
+Blockly.Msg["LISTS_SORT_TITLE"] = "Ñартаваць %1 %2 %3";
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Сартаваць ÐºÐ¾Ð¿Ñ–ÑŽ ÑпіÑу.";
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "па Ð°Ð»Ñ„авіце, Ð±ÐµÐ· ÑƒÐ»Ñ–ку Ñ€ÑгіÑтра";
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "лікаваÑ";
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "па Ð°Ð»Ñ„авіце";
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "зрабіць ÑпіѠз Ñ‚ÑкÑту";
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "Ñабраць Ñ‚ÑкÑÑ‚ Ñа ÑпіÑу";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Злучае ÑпіѠтÑкÑтаў Ñƒ Ð°Ð´Ð·Ñ–н Ñ‚ÑкÑÑ‚ Ð· Ð¿Ð°Ð´Ð·ÐµÐ»ÑŒÐ½Ñ–камі.";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Разбівае Ñ‚ÑкÑÑ‚ Ñƒ ÑпіѠтÑкÑтаў Ð¿Ð° Ð¿Ð°Ð´Ð·ÐµÐ»ÑŒÐ½Ñ–кам.";
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "з Ð¿Ð°Ð´Ð·ÐµÐ»ÑŒÐ½Ñ–кам";
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "хлуÑнÑ";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "Ð’Ñртае Ð·Ð½Ð°Ñ‡Ñнне Ñ–Ñціна Ð°Ð±Ð¾ Ñ…луÑнÑ.";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "Ñ–Ñціна";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://be.wikipedia.org/wiki/ÐÑроўнаÑць";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Ð’Ñртае Ñтаноўчае Ð·Ð½Ð°Ñ‡Ñнне, ÐºÐ°Ð»Ñ– Ð°Ð±Ð¾Ð´Ð²Ð° ÑžÐ²Ð¾Ð´Ñ‹ Ñ€Ð¾ÑžÐ½Ñ‹Ñ Ð°Ð´Ð·Ñ–н Ð°Ð´Ð½Ð°Ð¼Ñƒ.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Ð’Ñртае Ð·Ð½Ð°Ñ‡Ñнне Ñ–Ñціна, ÐºÐ°Ð»Ñ– Ð¿ÐµÑ€ÑˆÐ°Ñ ÑžÑтаўка Ð±Ð¾Ð»ÑŒÑˆ Ð´Ñ€ÑƒÐ³Ð¾Ð¹.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Ð’Ñртае Ð·Ð½Ð°Ñ‡Ñнне Ñ–Ñціна, ÐºÐ°Ð»Ñ– Ð¿ÐµÑ€ÑˆÐ°Ñ ÑžÑтаўка Ð±Ð¾Ð»ÑŒÑˆ Ð°Ð±Ð¾ Ñ€Ð¾ÑžÐ½Ð°Ñ Ð´Ñ€ÑƒÐ³Ð¾Ð¹.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "Ð’Ñртае Ñтаноўчае Ð·Ð½Ð°Ñ‡Ñнне, ÐºÐ°Ð»Ñ– Ð¿ÐµÑ€ÑˆÑ‹ ÑžÐ²Ð¾Ð´ Ð¼ÐµÐ½Ñˆ Ð´Ñ€ÑƒÐ³Ð¾Ð³Ð°.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "Ð’Ñртае Ð·Ð½Ð°Ñ‡Ñнне Ñ–Ñціна, ÐºÐ°Ð»Ñ– Ð¿ÐµÑ€ÑˆÐ°Ñ ÑžÑтаўка Ð¼ÐµÐ½Ñˆ Ð°Ð±Ð¾ Ñ€Ð¾ÑžÐ½Ð°Ñ Ð´Ñ€ÑƒÐ³Ñ–.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "Ð’Ñртае Ñтаноўчае Ð·Ð½Ð°Ñ‡Ñнне, ÐºÐ°Ð»Ñ– ÑžÐ²Ð¾Ð´Ñ‹ Ð½Ðµ Ñ€Ð¾ÑžÐ½Ñ‹Ñ.";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "не %1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "Ð’Ñртае Ð·Ð½Ð°Ñ‡Ñнне Ñ–Ñціна, ÐºÐ°Ð»Ñ– ÑƒÑтаўка Ñ–лжываÑ. Ð’Ñртае Ð·Ð½Ð°Ñ‡Ñнне Ñ…луÑнÑ, ÐºÐ°Ð»Ñ– ÑƒÑтаўка Ñ–ÑціннаÑ.";
+Blockly.Msg["LOGIC_NULL"] = "нішто";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";  // untranslated
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "Ð’Ñртае Ð½Ñ–што.";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "Ñ–";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "ці";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "Ð’Ñртае Ð·Ð½Ð°Ñ‡Ñнне Ñ–Ñціна, ÐºÐ°Ð»Ñ– Ð°Ð±ÐµÐ´Ð·Ð²Ðµ ÑžÑтаўкі Ñ–ÑцінныÑ.";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "Ð’Ñртае Ð·Ð½Ð°Ñ‡Ñнне Ñ–Ñціна, ÐºÐ°Ð»Ñ– Ñ…ацѠб Ð°Ð´Ð½Ð° Ð· ÑƒÑтавак Ñ–ÑціннаÑ.";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "абраць Ð¿Ð°";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "калі Ñ…луÑнÑ";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "калі Ñ–Ñціна";
+Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "ПравÑрае ÑžÐ¼Ð¾Ð²Ñƒ Ð²Ñ‹Ð±Ð°Ñ€Ñƒ. ÐšÐ°Ð»Ñ– ÑžÐ¼Ð¾Ð²Ð° Ñ–ÑціннаÑ, Ð²Ñртае Ð¿ÐµÑ€ÑˆÐ°Ðµ Ð·Ð½Ð°Ñ‡Ñнне, Ñƒ Ð°Ð´Ð²Ð°Ñ€Ð¾Ñ‚ным Ð²Ñ‹Ð¿Ð°Ð´ÐºÑƒ Ð²Ñртае Ð´Ñ€ÑƒÐ³Ð¾Ðµ Ð·Ð½Ð°Ñ‡Ñнне.";
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://be.wikipedia.org/wiki/Ðрыфметыка";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Ð’Ñртае Ñуму Ð´Ð²ÑƒÑ… Ð»Ñ–каў.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Ð’Ñртае Ð´Ð·ÐµÐ»ÑŒ Ð°Ð´ Ð´Ð·ÑленнѠпершага Ð»Ñ–ку Ð½Ð° Ð´Ñ€ÑƒÐ³Ð¾Ðµ.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Ð’Ñртае Ñ€Ð¾Ð·Ð½Ð°Ñць Ð´Ð²ÑƒÑ… Ð»Ñ–каў.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Ð’Ñртае Ñ‚вор Ð´Ð²ÑƒÑ… Ð»Ñ–каў.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Ð’Ñртае Ð¿ÐµÑ€ÑˆÑ‹ Ð»Ñ–к, ÑƒÐ·Ð²ÐµÐ´Ð·ÐµÐ½Ñ‹ Ñž Ñтупень Ð´Ñ€ÑƒÐ³Ð¾Ð³Ð° Ð»Ñ–ку.";
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://be.wikipedia.org/wiki/Ідыёма (праграмаванне)";
+Blockly.Msg["MATH_CHANGE_TITLE"] = "павÑлічыць %1 Ð½Ð° %2";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Дадае Ð»Ñ–к Ð´Ð° Ð¿ÐµÑ€Ð°Ð¼ÐµÐ½Ð½Ð°Ð¹ '%1'.";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://be.wikipedia.org/wiki/МатÑматычнаÑ_канÑтанта";
+Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "Ð’Ñртае Ð°Ð´Ð½Ñƒ Ð· Ñ€Ð°ÑпаўÑюджаных ÐºÐ°Ð½Ñтант: Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), Ð°Ð±Ð¾ âˆž (бÑÑконцаÑць).";
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "абмежаваць %1 Ð·Ð½Ñ–зу %2 Ð·Ð²ÐµÑ€Ñ…у %3";
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "ÐбмÑжоўвае Ð»Ñ–к Ð½Ñ–жнÑй Ñ– Ð²ÐµÑ€Ñ…нÑй Ð¼ÐµÐ¶Ð°Ð¼Ñ– (уключна).";
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";  // untranslated
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "дзеліцца Ð½Ð°";
+Blockly.Msg["MATH_IS_EVEN"] = "цотнае";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "адмоўнае";
+Blockly.Msg["MATH_IS_ODD"] = "нÑцотнае";
+Blockly.Msg["MATH_IS_POSITIVE"] = "Ñтаноўчае";
+Blockly.Msg["MATH_IS_PRIME"] = "проÑтае";
+Blockly.Msg["MATH_IS_TOOLTIP"] = "ПравÑрае, Ñ†Ñ– Ð·'ÑўлÑецца Ð»Ñ–к Ñ†Ð¾Ñ‚ным, Ð½Ñцотным, Ð¿Ñ€Ð¾Ñтым, Ñ†Ñлым, Ñтаноўчым, Ð°Ð´Ð¼Ð¾ÑžÐ½Ñ‹Ð¼ Ñ†Ñ– Ñно ÐºÑ€Ð°Ñ‚нае Ð¿Ñўнаму Ð»Ñ–ку. Ð’Ñртае Ð·Ð½Ð°Ñ‡Ñнне Ñ–Ñціна Ð°Ð±Ð¾ Ñ…луÑнÑ.";
+Blockly.Msg["MATH_IS_WHOLE"] = "цÑлае";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://be.wikipedia.org/wiki/ДзÑленне_з_аÑтаткам";
+Blockly.Msg["MATH_MODULO_TITLE"] = "аÑтатак Ð°Ð´ %1 Ã· %2";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Ð’Ñртае Ð°Ñтатак Ð°Ð´ Ð´Ð·ÑленнѠдвух Ð»Ñ–каў.";
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";  // untranslated
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://be.wikipedia.org/wiki/Лік";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "Лік.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "ÑÑÑ€ÑднÑе Ð°Ñ€Ñ‹Ñ„метычнае ÑпіÑу";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "найбольшы Ñž ÑпіÑе";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "медыÑна ÑпіÑа";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "найменшы Ñž ÑпіÑе";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "моды ÑпіÑа";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "выпадковы Ñлемент ÑпіÑа";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "Ñтандартнае Ð°Ð´Ñ…іленне ÑпіÑа";
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "Ñума ÑпіÑа";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Ð’Ñртае ÑÑÑ€ÑднÑе Ð°Ñ€Ñ‹Ñ„метычнае ÑпіÑу.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "Ð’Ñртае Ð½Ð°Ð¹Ð±Ð¾Ð»ÑŒÑˆÑ‹ Ð»Ñ–к ÑпіÑу.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "Ð’Ñртае Ð¼ÐµÐ´Ñ‹Ñну ÑпіÑуа.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "Ð’Ñртае Ð½Ð°Ð¹Ð¼ÐµÐ½ÑˆÑ‹ Ð»Ñ–к ÑпіÑу.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Ð’Ñртае ÑпіѠнайбольш Ñ‡Ð°Ñта ÑуÑтракаемых Ñлементаў ÑпіÑу.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Ð’Ñртае Ð²Ñ‹Ð¿Ð°Ð´ÐºÐ¾Ð²Ñ‹ Ñлемент ÑпіÑа.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Ð’Ñртае Ñтандартнае Ð°Ð´Ñ…іленне ÑпіÑу.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Ð’Ñртае Ñуму ÑžÑÑ–Ñ… Ð»Ñ–каў Ñƒ ÑпіÑе.";
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://be.wikipedia.org/wiki/Генератар_пÑевдоÑлучайных_лікаў";
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "выпадковы Ð»Ñ–к Ð°Ð´ 0 (уключна) Ð´Ð° 1";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Ð’Ñртае Ð²Ñ‹Ð¿Ð°Ð´ÐºÐ¾Ð²Ñ‹ Ð»Ñ–к Ð°Ð´ 0.0 (уключна) Ð´Ð° 1.0.";
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://be.wikipedia.org/wiki/Генератар_пÑевдоÑлучайных_лікаў";
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "выпадковы Ñ†Ñлы Ð»Ñ–к Ð°Ð´ %1 Ð´Ð»Ñ %2";
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Ð’Ñртае Ð²Ñ‹Ð¿Ð°Ð´ÐºÐ¾Ð²Ñ‹ Ð»Ñ–к Ð¿Ð°Ð¼Ñ–ж Ð´Ð²ÑƒÐ¼Ð° Ð·Ð°Ð´Ð°Ð´Ð·ÐµÐ½Ñ‹Ð¼Ñ– Ð¼ÐµÐ¶Ð°Ð¼Ñ– (уключаючы Ñ– Ñ–Ñ…).";
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://be.wikipedia.org/wiki/Ðкругленне";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "акругліць";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "акругліць Ð´Ð° Ð¼ÐµÐ½ÑˆÐ°Ð³Ð°";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "акругліць Ð´Ð° Ð±Ð¾Ð»ÑŒÑˆÐ°Ð³Ð°";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "ÐкруглÑе Ð»Ñ–к Ð´Ð° Ð±Ð¾Ð»ÑŒÑˆÐ°Ð³Ð° Ñ†Ñ– Ð¼ÐµÐ½ÑˆÐ°Ð³Ð°.";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://be.wikipedia.org/wiki/Квадратны_корань";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "модуль";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "квадратны ÐºÐ¾Ñ€Ð°Ð½ÑŒ";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Ð’Ñртае Ð¼Ð¾Ð´ÑƒÐ»ÑŒ Ð»Ñ–ку.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Ð’Ñртае Ðµ Ð²Ð° ÑžÐºÐ°Ð·Ð°Ð½Ð°Ð¹ Ñтупені.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "Ð’Ñртае Ð½Ð°Ñ‚уральны Ð»Ð°Ð³Ð°Ñ€Ñ‹Ñ„м Ð»Ñ–ку.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "Ð’Ñртае Ð´Ð·ÐµÑÑтковы Ð»Ð°Ð³Ð°Ñ€Ñ‹Ñ„м Ð»Ñ–ку.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Ð’Ñртае Ñупрацьлеглы Ð»Ñ–к.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Ð’Ñртае 10 Ð²Ð° ÑžÐºÐ°Ð·Ð°Ð½Ð°Ð¹ Ñтупені.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Ð’Ñртае ÐºÐ²Ð°Ð´Ñ€Ð°Ñ‚ны ÐºÐ¾Ñ€Ð°Ð½ÑŒ Ð»Ñ–ку.";
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";  // untranslated
+Blockly.Msg["MATH_TRIG_ACOS"] = "acos";  // untranslated
+Blockly.Msg["MATH_TRIG_ASIN"] = "asin";  // untranslated
+Blockly.Msg["MATH_TRIG_ATAN"] = "atan";  // untranslated
+Blockly.Msg["MATH_TRIG_COS"] = "cos";  // untranslated
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://be.wikipedia.org/wiki/ТрыганаметрычныÑ_функцыі";
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";  // untranslated
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Ð’Ñртае Ð°Ñ€ÐºÐºÐ¾ÑінуѠу Ð³Ñ€Ð°Ð´ÑƒÑах.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Ð’Ñртае Ð°Ñ€ÐºÑінуѠу Ð³Ñ€Ð°Ð´ÑƒÑах.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Ð’Ñртае Ð°Ñ€ÐºÑ‚ангенѠу Ð³Ñ€Ð°Ð´ÑƒÑах.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Ð’Ñртае ÐºÐ¾ÑінуѠрага Ñž Ð³Ñ€Ð°Ð´ÑƒÑах.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Ð’Ñртае ÑінуѠрага Ñž Ð³Ñ€Ð°Ð´ÑƒÑах.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Ð’Ñртае Ñ‚ангенѠрага Ñž Ð³Ñ€Ð°Ð´ÑƒÑах.";
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Create colour variable...";  // untranslated
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Create number variable...";  // untranslated
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Create string variable...";  // untranslated
+Blockly.Msg["NEW_VARIABLE"] = "Стварыць Ð¿ÐµÑ€Ð°Ð¼ÐµÐ½Ð½ÑƒÑŽ...";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "ÐоваѠназва Ð¿ÐµÑ€Ð°Ð¼ÐµÐ½Ð½Ð°Ð¹:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "New variable type:";  // untranslated
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "дазволіць Ð°Ð¿ÐµÑ€Ð°Ñ‚ары";
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "з:";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://be.wikipedia.org/wiki/Падпраграма";
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Выконвае Ð²Ñ‹Ð·Ð½Ð°Ñ‡Ð°Ð½ÑƒÑŽ ÐºÐ°Ñ€Ñ‹Ñтальнікам Ð¿Ñ€Ð°Ñ†Ñдуру '%1'.";
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://be.wikipedia.org/wiki/Падпраграма";
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Выконвае Ð²Ñ‹Ð·Ð½Ð°Ñ‡Ð°Ð½ÑƒÑŽ ÐºÐ°Ñ€Ñ‹Ñтальнікам Ð¿Ñ€Ð°Ñ†Ñдуру '%1' Ñ– Ð²Ñртае Ð²Ñ‹Ð»Ñ–чанае Ð·Ð½Ð°Ñ‡Ñнне.";
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "з:";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "Стварыць Ð²Ñ‹ÐºÐ»Ñ–к '%1'";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Ðпішыце Ð³Ñтую Ñ„ункцыю...";
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "выканаць Ð½ÐµÑˆÑ‚а";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "каб";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Стварыць Ð¿Ñ€Ð°Ñ†Ñдуру, ÑкаѠнѠвÑртае Ð·Ð½Ð°Ñ‡Ñнне.";
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "вÑрнуць";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "Стварыць Ð¿Ñ€Ð°Ñ†Ñдуру, ÑкаѠвÑртае Ð·Ð½Ð°Ñ‡Ñнне.";
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "ПапÑÑ€Ñджанне: Ð³ÑтаѠфункцыѠмае Ð¿Ð°ÑžÑ‚аральныѠпараметры.";
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "Вылучыць Ð²Ñ‹Ð·Ð½Ð°Ñ‡Ñнне Ð¿Ñ€Ð°Ñ†Ñдуры";
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "Калі Ð¿ÐµÑ€ÑˆÐ°Ðµ Ð·Ð½Ð°Ñ‡Ñнне Ñ–Ñцінае, Ð²Ñртае Ð´Ñ€ÑƒÐ³Ð¾Ðµ Ð·Ð½Ð°Ñ‡Ñнне.";
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "ПапÑÑ€Ñджанне: Ð³ÑÑ‚Ñ‹ Ð±Ð»Ð¾Ðº Ð¼Ð¾Ð¶Ð° Ð²Ñ‹ÐºÐ°Ñ€Ñ‹Ñтоўвацца Ñ‚олькі ÑžÐ½ÑƒÑ‚ры Ð²Ñ‹Ð·Ð½Ð°Ñ‡ÑннѠфункцыі.";
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "імѠпараметра:";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Дадаць ÑƒÐ²Ð°Ñ…одны Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€ Ñž Ñ„ункцыю.";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "параметры";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Дадаць, Ð²Ñ‹Ð´Ð°Ð»Ñ–ць Ð°Ð±Ð¾ Ð·Ð¼Ñніць Ð¿Ð°Ñ€Ð°Ð´Ð°Ðº ÑƒÐ²Ð°Ñ…одных Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚раў Ð´Ð»Ñ Ð³Ñтай Ñ„ункцыі.";
+Blockly.Msg["REDO"] = "Паўтарыць";
+Blockly.Msg["REMOVE_COMMENT"] = "Выдаліць ÐºÐ°Ð¼ÐµÐ½Ñ‚ар";
+Blockly.Msg["RENAME_VARIABLE"] = "Перайменаваць Ð¿ÐµÑ€Ð°Ð¼ÐµÐ½Ð½ÑƒÑŽ...";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Перайменаваць ÑƒÑе Ð¿ÐµÑ€Ð°Ð¼ÐµÐ½Ð½Ñ‹Ñ '%1' Ð´Ð°:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "да %1 Ð´Ð°Ð´Ð°Ñ†ÑŒ Ñ‚ÑкÑÑ‚ %2";
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Дадаць Ñ‚ÑкÑÑ‚ Ð´Ð° Ð¿ÐµÑ€Ð°Ð¼ÐµÐ½Ð½Ð°Ð¹ '%1'.";
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "у Ð¼Ð°Ð»Ñ‹Ñ Ð»Ñ–тары";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "у Ð—агалоўныѠПачатковыѠЛітары";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "у Ð’ЯЛІКІХ Ð›Ð†Ð¢ÐРÐÐŽ";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Ð’Ñртае ÐºÐ¾Ð¿Ñ–ÑŽ Ñ‚ÑкÑту Ð· Ð’ЯЛІКІМІ Ð°Ð±Ð¾ Ð¼Ð°Ð»Ñ‹Ð¼Ñ– Ð»Ñ–тарамі.";
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "узÑць Ð¿ÐµÑ€ÑˆÑƒÑŽ Ð»Ñ–тару";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "узÑць Ð»Ñ–тару # Ð· ÐºÐ°Ð½Ñ†Ð°";
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "узÑць Ð»Ñ–тару #";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "узÑць Ð°Ð¿Ð¾ÑˆÐ½ÑŽÑŽ Ð»Ñ–тару";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "узÑць Ð²Ñ‹Ð¿Ð°Ð´ÐºÐ¾Ð²ÑƒÑŽ Ð»Ñ–тару";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "у Ñ‚ÑкÑце %1 %2";
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Ð’Ñртае Ð»Ñ–тару Ñž Ð½Ð°Ð·Ð²Ð°Ð½Ð°Ð¹ Ð¿Ð°Ð·Ñ–цыі.";
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";  // untranslated
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "падлічыць ÐºÐ¾Ð»ÑŒÐºÐ°Ñць %1 Ñƒ %2";
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Падлічыць ÐºÐ¾Ð»ÑŒÐºÑ– Ñ€Ð°Ð·Ð¾Ñž ÑƒÑ€Ñ‹Ð²Ð°Ðº Ñ‚ÑкÑту Ð·'ÑўлÑецца Ñž Ñ–ншым Ñ‚ÑкÑце.";
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Дадаць Ñлемент Ð´Ð° Ñ‚ÑкÑту.";
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "Ñпалучыць";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Дадайце, Ð²Ñ‹Ð´Ð°Ð»Ñ–це, Ð¿ÐµÑ€Ð°Ñтаўце Ñ„рагменты Ð´Ð»Ñ Ð¿ÐµÑ€Ð°Ñ€Ð¾Ð±ÐºÑ– Ñ‚ÑкÑтавага Ð±Ð»Ð¾ÐºÐ°.";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "па Ð»Ñ–тару # Ð· ÐºÐ°Ð½Ñ†Ð°";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "па Ð»Ñ–тару #";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "па Ð°Ð¿Ð¾ÑˆÐ½ÑŽÑŽ Ð»Ñ–тару";
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "у Ñ‚ÑкÑце";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "узÑць Ð¿Ð°Ð´Ñ€Ð°Ð´Ð¾Ðº Ð· Ð¿ÐµÑ€ÑˆÐ°Ð¹ Ð»Ñ–тары";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "узÑць Ð¿Ð°Ð´Ñ€Ð°Ð´Ð¾Ðº Ð· Ð»Ñ–тары # Ð· ÐºÐ°Ð½Ñ†Ð°";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "узÑць Ð¿Ð°Ð´Ñ€Ð°Ð´Ð¾Ðº Ð· Ð»Ñ–тары #";
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Ð’Ñртае ÑƒÐºÐ°Ð·Ð°Ð½ÑƒÑŽ Ñ‡Ð°Ñтку Ñ‚ÑкÑту.";
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "знайÑці Ð¿ÐµÑ€ÑˆÐ°Ðµ ÑžÐ²Ð°Ñ…оджанне Ñ‚ÑкÑту";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "знайÑці Ð°Ð¿Ð¾ÑˆÐ½Ñе ÑžÐ²Ð°Ñ…оджанне Ñ‚ÑкÑту";
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "у Ñ‚ÑкÑце %1 %2 %3";
+Blockly.Msg["TEXT_INDEXOF_TOOLTIP"] = "Ð’Ñртае Ð½ÑƒÐ¼Ð°Ñ€ Ð¿Ð°Ð·Ñ–цыі Ð¿ÐµÑ€ÑˆÐ°Ð³Ð°/апошнÑга ÑžÐ²Ð°Ñ…оджаннѠпершага Ñ‚ÑкÑту Ñž Ð´Ñ€ÑƒÐ³Ñ–м. Ð’Ñртае %1, ÐºÐ°Ð»Ñ– Ñ‚ÑкÑÑ‚ Ð½Ðµ Ð·Ð½Ð¾Ð¹Ð´Ð·ÐµÐ½Ñ‹.";
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 Ð¿ÑƒÑÑ‚Ñ‹";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Ð’Ñртае Ð·Ð½Ð°Ñ‡Ñнне Ñ–Ñціна, ÐºÐ°Ð»Ñ– Ð¿Ð°Ð´Ð°Ð´Ð·ÐµÐ½Ñ‹ Ñ‚ÑкÑÑ‚ Ð¿ÑƒÑÑ‚Ñ‹.";
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "Ñтварыць Ñ‚ÑкÑÑ‚ Ð·";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Стварае Ñ„рагмент Ñ‚ÑкÑту, Ð°Ð±'Ñдноўваючы Ð»ÑŽÐ±Ñ‹ Ð»Ñ–к Ñлементаў.";
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "даўжынѠ%1";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Ð’Ñртае ÐºÐ¾Ð»ÑŒÐºÐ°Ñць Ñімвалаў (уключаючы Ð¿Ñ€Ð°Ð±ÐµÐ»Ñ‹) Ñƒ Ð·Ð°Ð´Ð°Ð´Ð·ÐµÐ½Ñ‹Ð¼ Ñ‚ÑкÑце.";
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "надрукаваць %1";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Друкуе Ñ‚ÑкÑÑ‚, Ð»Ñ–к Ð°Ð±Ð¾ Ñ–ншы Ð°Ð±'ект.";
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Запытаць Ñƒ ÐºÐ°Ñ€Ñ‹Ñтальніка Ð»Ñ–к.";
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Запытаць Ñƒ ÐºÐ°Ñ€Ñ‹Ñтальніка Ñ‚ÑкÑÑ‚.";
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "запытаць Ð»Ñ–к Ð· Ð¿Ð°Ð´ÐºÐ°Ð·ÐºÐ°Ð¹";
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "запытаць Ñ‚ÑкÑÑ‚ Ð· Ð¿Ð°Ð´ÐºÐ°Ð·ÐºÐ°Ð¹";
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";  // untranslated
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "замÑніць %1 Ð½Ð° %2 Ñƒ %3";
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "ЗамÑніць ÑƒÑе ÑžÐ²Ð°Ñ…оджанні Ð½ÐµÐºÐ°Ñ‚орага Ñ‚ÑкÑту Ñ–ншым Ñ‚ÑкÑтам.";
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";  // untranslated
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "змÑніць Ð¿Ð°Ñ€Ð°Ð´Ð°Ðº Ð½Ð° Ð·Ð²Ð°Ñ€Ð¾Ñ‚ны %1";
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "ÐœÑнÑе Ð¿Ð°Ñ€Ð°Ð´Ð°Ðº Ð·Ð½Ð°ÐºÐ°Ñž Ñƒ Ñ‚ÑкÑце Ð½Ð° Ð°Ð´Ð²Ð°Ñ€Ð¾Ñ‚ны.";
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://be.wikipedia.org/wiki/Радковы_тып";
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "Літара, Ñлова Ð°Ð±Ð¾ Ñ€Ð°Ð´Ð¾Ðº Ñ‚ÑкÑту.";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "абрÑзаць Ð¿Ñ€Ð°Ð³Ð°Ð»Ñ‹ Ð· Ð´Ð²ÑƒÑ… Ð±Ð°ÐºÐ¾Ñž";
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "абрÑзаць Ð¿Ñ€Ð°Ð³Ð°Ð»Ñ‹ Ð·Ð»ÐµÐ²Ð°";
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "абрÑзаць Ð¿Ñ€Ð°Ð³Ð°Ð»Ñ‹ Ñправа";
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Ð’Ñртае ÐºÐ¾Ð¿Ñ–ÑŽ Ñ‚ÑкÑту Ð· Ð¿Ñ€Ð°Ð³Ð°Ð»Ð°Ð¼Ñ–, Ð²Ñ‹Ð´Ð°Ð»ÐµÐ½Ñ‹Ð¼Ñ– Ð· Ð°Ð´Ð½Ð°Ð³Ð¾ Ð°Ð±Ð¾ Ð°Ð±Ð¾Ð´Ð²ÑƒÑ… ÐºÐ°Ð½Ñ†Ð¾Ñž.";
+Blockly.Msg["TODAY"] = "СённÑ";
+Blockly.Msg["UNDO"] = "Ðдкаціць";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "Ñлемент";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Стварыць Ð±Ð»Ð¾Ðº \"прыÑабечыць\" Ð´Ð»Ñ %1";
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Ð’Ñртае Ð·Ð½Ð°Ñ‡Ñнне Ð³Ñтай Ð¿ÐµÑ€Ð°Ð¼ÐµÐ½Ð½Ð°Ð¹.";
+Blockly.Msg["VARIABLES_SET"] = "прыÑабечыць %1 = %2";
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Стварыць ÑƒÑтаўку %1";
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "ПрыÑабечвае Ð¿ÐµÑ€Ð°Ð¼ÐµÐ½Ð½Ð°Ð¹ Ð·Ð½Ð°Ñ‡Ñнне ÑžÑтаўкі.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "ПераменнаѠз Ð½Ð°Ð·Ð²Ð°Ð¹ '%1' ÑƒÐ¶Ð¾ Ñ–Ñнуе.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "Ðазва Ð¿ÐµÑ€Ð°Ð¼ÐµÐ½Ð½Ð°Ð¹ '%1' ÑƒÐ¶Ð¾ Ð²Ñ‹ÐºÐ°Ñ€Ñ‹Ñтоўваецца Ñ–ншай Ð¿ÐµÑ€Ð°Ð¼ÐµÐ½Ð½Ð°Ð¹ Ñ‚ыпу '%2'.";
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something...";  // untranslated
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/bg.js b/js/msg/js/bg.js
new file mode 100644 (file)
index 0000000..1dc447c
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.bg');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "Добави ÐºÐ¾Ð¼ÐµÐ½Ñ‚ар";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "Променливата '%1' Ð½Ðµ Ð¼Ð¾Ð¶Ðµ Ð´Ð° Ð±ÑŠÐ´Ðµ Ð¸Ð·Ñ‚рита, Ð·Ð°Ñ‰Ð¾Ñ‚о Ðµ Ñ‡Ð°ÑÑ‚ Ð¾Ñ‚ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸ÐµÑ‚о Ð½Ð° Ñ„ункциÑта '%2'";
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "Промени ÑтойноÑтта:";
+Blockly.Msg["CLEAN_UP"] = "Премахни Ð±Ð»Ð¾ÐºÐ¾Ð²Ðµ";
+Blockly.Msg["COLLAPSE_ALL"] = "Скрий Ð±Ð»Ð¾ÐºÐ¾Ð²Ðµ";
+Blockly.Msg["COLLAPSE_BLOCK"] = "Скрий Ð±Ð»Ð¾Ðº";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "цвÑÑ‚ 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "цвÑÑ‚ 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";  // untranslated
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "Ñъотношение";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "ÑмеÑи";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "СмеÑва Ð´Ð²Ð° Ñ†Ð²ÑÑ‚ Ð² Ð´Ð°Ð´ÐµÐ½Ð¾ Ñъотношение (0.0 - 1.0).";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://bg.wikipedia.org/wiki/ЦвÑÑ‚_(оптика)";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "Избери Ñ†Ð²ÑÑ‚ Ð¾Ñ‚ Ð¿Ð°Ð»Ð¸Ñ‚рата.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "Ñлучаен Ñ†Ð²ÑÑ‚";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "Избери Ñ†Ð²ÑÑ‚ Ð½Ð° Ñлучаен Ð¿Ñ€Ð¸Ð½Ñ†Ð¸Ð¿.";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "Ñин";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "зелен";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";  // untranslated
+Blockly.Msg["COLOUR_RGB_RED"] = "червен";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "оцвети Ñ";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "Създай Ñ†Ð²ÑÑ‚ Ñ Ð¸Ð·Ð±Ñ€Ð°Ð½Ð¸Ñ‚е Ð¿Ñ€Ð¾Ð¿Ð¾Ñ€Ñ†Ð¸Ð¸, Ñ‡ÐµÑ€Ð²ÐµÐ½Ð¾, Ð·ÐµÐ»ÐµÐ½Ð¾ Ð¸ Ñиньо. Ð’Ñички ÑтойноÑти Ñ‚Ñ€Ñбва Ð´Ð° Ð±ÑŠÐ´Ð°Ñ‚ Ð¾Ñ‚ 0 Ð´Ð¾ 100.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "прекъÑни Ñ†Ð¸ÐºÑŠÐ»Ð°";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "премини ÐºÑŠÐ¼ Ñледващата Ñтъпка Ð¾Ñ‚ Ñ†Ð¸ÐºÑŠÐ»Ð°";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "ПрекъÑни Ñ†Ð¸ÐºÑŠÐ»Ð°, Ð² ÐºÐ¾Ð¹Ñ‚о Ñе Ñъдържа Ñ‚ази ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "Премини ÐºÑŠÐ¼ Ñледващата Ñтъпка Ð¾Ñ‚ Ñ†Ð¸ÐºÑŠÐ»Ð°";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "Предупреждение: Ð¢Ð¾Ð·Ð¸ Ð±Ð»Ð¾Ðº Ð¼Ð¾Ð¶Ðµ Ð´Ð° Ñе Ð¸Ð·Ð¿Ð¾Ð»Ð·Ð²Ð° Ñамо Ð² Ñ†Ð¸ÐºÑŠÐ».";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "за Ð²Ñеки ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ %1 Ð² ÑпиÑъка %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "За Ð²Ñеки ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ð² ÑпиÑък Ð¿Ñ€Ð¸Ñвои ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚а Ð½Ð° Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð»Ð¸Ð²Ð°Ñ‚а '%1' Ð¸ Ñлед Ñ‚ова Ð¸Ð·Ð¿ÑŠÐ»Ð½Ð¸ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸Ñ‚е.";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "преброй Ñ‡Ñ€ÐµÐ· %1 Ð¾Ñ‚ %2 Ð´Ð¾ %3 Ð¿Ñ€ÐµÐ· %4";
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "Ðека Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð»Ð¸Ð²Ð° '%1' Ð¿Ñ€ÐµÐ¼Ð¸Ð½Ðµ Ð¿Ñ€ÐµÐ· ÑтойноÑтите Ð¾Ñ‚ Ð½Ð°Ñ‡Ð°Ð»Ð½Ð¾Ñ‚о Ð´Ð¾ ÐºÑ€Ð°Ð¹Ð½Ð¾Ñ‚о Ñ‡Ð¸Ñло Ð¿Ñ€ÐµÐ· Ð·Ð°Ð´Ð°Ð´ÐµÐ½Ð°Ñ‚а Ñтъпка Ð¸ Ð¸Ð·Ð¿ÑŠÐ»Ð½Ð¸ Ð¸Ð·Ð±Ñ€Ð°Ð½Ð¸Ñ‚е Ð±Ð»Ð¾ÐºÐ¾Ð²Ðµ.";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "Добави ÑƒÑловие ÐºÑŠÐ¼ â€žÐ°ÐºÐ¾â€œ Ð±Ð»Ð¾ÐºÐ°.";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "Добави Ð¾ÐºÐ¾Ð½Ñ‡Ð°Ñ‚елно, Ð¿Ñ€Ð¸Ñ…ващащо Ð²Ñички Ð¾Ñтанали Ñлучаи ÑƒÑловие ÐºÑŠÐ¼ Ð±Ð»Ð¾Ðº â€žÐ°ÐºÐ¾â€œ.";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Добави, Ð¿Ñ€ÐµÐ¼Ð°Ñ…ни Ð¸Ð»Ð¸ Ð¿Ñ€ÐµÐ½Ð°Ñ€ÐµÐ´Ð¸ Ñ‡Ð°Ñтите, Ð·Ð° Ð´Ð° Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð¸Ñˆ Ñ‚ози â€žÐ°ÐºÐ¾â€œ Ð±Ð»Ð¾Ðº.";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "иначе";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "иначе Ð°ÐºÐ¾";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "ако";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "Ðко ÑтойноÑтта Ðµ Ð²Ñрна, Ð¸Ð·Ð¿ÑŠÐ»Ð½Ð¸ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ð¸Ñ‚е.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "Ðко ÑтойноÑтта Ðµ Ð²Ñрна, Ð¸Ð·Ð¿ÑŠÐ»Ð½Ð¸ Ð¿ÑŠÑ€Ð²Ð¸ÑÑ‚ Ð±Ð»Ð¾Ðº. Ð˜Ð½Ð°Ñ‡Ðµ, Ð¸Ð·Ð¿ÑŠÐ»Ð½Ð¸ Ð²Ñ‚ориÑÑ‚ Ð±Ð»Ð¾Ðº.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "Ðко Ð¿ÑŠÑ€Ð²Ð°Ñ‚а ÑтойноÑÑ‚ Ðµ Ð²Ñрна, Ð¸Ð·Ð¿ÑŠÐ»Ð½Ð¸ Ð¿ÑŠÑ€Ð²Ð¸Ñ Ð±Ð»Ð¾Ðº. Ð˜Ð½Ð°Ñ‡Ðµ, Ð°ÐºÐ¾ Ð²Ñ‚ората ÑтойноÑÑ‚ Ðµ Ð²Ñрна, Ð¸Ð·Ð¿ÑŠÐ»Ð½Ð¸ Ð²Ñ‚ориѠблок.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "Ðко Ð¿ÑŠÑ€Ð²Ð°Ñ‚а ÑтойноÑÑ‚ Ðµ Ð²Ñрна, Ð¸Ð·Ð¿ÑŠÐ»Ð½Ð¸ Ð¿ÑŠÑ€Ð²Ð¸Ñ Ð±Ð»Ð¾Ðº. Ð’ Ð¿Ñ€Ð¾Ñ‚ивен Ñлучай, Ð°ÐºÐ¾ Ð²Ñ‚ората ÑтойноÑÑ‚ Ðµ Ð²Ñрна, Ð¸Ð·Ð¿ÑŠÐ»Ð½Ð¸ Ð²Ñ‚ориѠблок. Ðко Ð½Ð¸Ñ‚о ÐµÐ´Ð½Ð° Ð¾Ñ‚ ÑтойноÑтите Ð½Ðµ Ðµ Ð²Ñрна, Ð¸Ð·Ð¿ÑŠÐ»Ð½Ð¸ Ð¿Ð¾ÑледниѠблок.";
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://bg.wikipedia.org/wiki/Цикъл_(програмиране)#For_.D1.86.D0.B8.D0.BA.D1.8A.D0.BB.D1.8A.D1.82";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "изпълни";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "Повтори %1 Ð¿ÑŠÑ‚и";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "ИзпълнÑва ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ Ð½Ñколко Ð¿ÑŠÑ‚и.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "повтарÑй Ð´Ð¾ÐºÐ°Ñ‚о";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "повтарÑй Ð´Ð¾ÐºÐ°Ñ‚о Ðµ Ð²Ñрно, Ñ‡Ðµ";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "Изпълни ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸Ñ‚е, Ð°ÐºÐ¾ ÑтойноÑтта Ð½Ðµ Ðµ Ð²Ñрна.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "Изпълни ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸Ñ‚е, Ð°ÐºÐ¾ ÑтойноÑтта Ðµ Ð²Ñрна.";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "Изтриване Ð½Ð° Ð²Ñички 1% Ð±Ð»Ð¾ÐºÐ¾Ð²Ðµ?";
+Blockly.Msg["DELETE_BLOCK"] = "Изтрий Ð±Ð»Ð¾Ðº";
+Blockly.Msg["DELETE_VARIABLE"] = "Изтриване Ð½Ð° Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð»Ð¸Ð²Ð°Ñ‚а \"%1\"";
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Изтриване Ð½Ð° %1 Ð¸Ð·Ð¿Ð¾Ð»Ð·Ð²Ð°Ð½Ðµ Ð½Ð° Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð»Ð¸Ð²Ð° '%2'?";
+Blockly.Msg["DELETE_X_BLOCKS"] = "Изтрий %1 Ð±Ð»Ð¾ÐºÐ°";
+Blockly.Msg["DISABLE_BLOCK"] = "Деактивирай Ð±Ð»Ð¾Ðº";
+Blockly.Msg["DUPLICATE_BLOCK"] = "Копирай";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Ðаправете Ð´ÑƒÐ±Ð»Ð¸ÐºÐ°Ñ‚ Ð½Ð° ÐºÐ¾Ð¼ÐµÐ½Ñ‚ара";
+Blockly.Msg["ENABLE_BLOCK"] = "Ðктивирай Ð±Ð»Ð¾Ðº";
+Blockly.Msg["EXPAND_ALL"] = "Покажи Ð±Ð»Ð¾ÐºÐ¾Ð²Ðµ";
+Blockly.Msg["EXPAND_BLOCK"] = "Покажи Ð±Ð»Ð¾Ðº";
+Blockly.Msg["EXTERNAL_INPUTS"] = "Външни Ð²Ñ…одове";
+Blockly.Msg["HELP"] = "Помощ";
+Blockly.Msg["INLINE_INPUTS"] = "Вътрешни Ð²Ñ…одове";
+Blockly.Msg["IOS_CANCEL"] = "Отказ";
+Blockly.Msg["IOS_ERROR"] = "Грешка";
+Blockly.Msg["IOS_OK"] = "Добре";
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Ð”обавÑне Ð½Ð° Ð´Ð°Ð½Ð½Ð¸";
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Позволи Ñ‚върдениÑта";
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "Тази Ñ„ункциѠима Ð´ÑƒÐ±Ð»Ð¸Ñ€Ð°Ð½Ð¸ Ð²Ñ…одни Ð´Ð°Ð½Ð½Ð¸.";
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "Входни Ð´Ð°Ð½Ð½Ð¸";
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "ДобавÑне";
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Ð”обавÑне Ð½Ð° Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð»Ð¸Ð²Ð°";
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "Изтриване";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "Ðе Ð¼Ð¾Ð¶Ðµ Ð´Ð° Ð¸Ð·Ð¿Ð¾Ð»Ð·Ð²Ð°Ñ‚е Ð¿Ñ€Ð°Ð·Ð½Ð¾ Ð¸Ð¼Ðµ Ð·Ð° Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð»Ð¸Ð²Ð°";
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Преименуване";
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Име Ð½Ð° Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð»Ð¸Ð²Ð°Ñ‚а";
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "Ñъздай Ð¿Ñ€Ð°Ð·ÐµÐ½ ÑпиÑък";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Връща ÑпиÑък Ñ Ð´ÑŠÐ»Ð¶Ð¸Ð½Ð° 0, Ð½Ðµ Ñъдържащ Ð´Ð°Ð½Ð½Ð¸";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "ÑпиÑък";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Добави, Ð¿Ñ€ÐµÐ¼Ð°Ñ…ни Ð¸Ð»Ð¸ Ð¿Ñ€ÐµÐ½Ð°Ñ€ÐµÐ´Ð¸ Ñ‡Ð°Ñтите, Ð·Ð° Ð´Ð° Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð¸Ñˆ Ñ‚ози ÑпиÑъчен Ð±Ð»Ð¾Ðº.";
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "Ñъздай ÑпиÑък Ñ";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Добави ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ ÐºÑŠÐ¼ Ñ‚екÑта.";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Създай ÑпиÑък Ñ Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð»ÐµÐ½ Ð±Ñ€Ð¾Ð¹ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚и.";
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "първиÑ";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "â„– Ð¾Ñ‚ ÐºÑ€Ð°Ñ";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "вземи";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "вземи Ð¸ Ð¿Ñ€ÐµÐ¼Ð°Ñ…ни";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "поÑледниÑ";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "произволен";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "премахни";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Връща Ð¿ÑŠÑ€Ð²Ð¸Ñ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ð² ÑпиÑък.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Връща ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚а Ð½Ð° Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð°Ñ‚а Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ñ Ð² ÑпиÑък.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Връща Ð¿Ð¾ÑледниѠелемент Ð² ÑпиÑък.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Връща Ñлучаен ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ð¾Ñ‚ ÑпиÑъка.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "Премахва Ð¸ Ð²Ñ€ÑŠÑ‰Ð° Ð¿ÑŠÑ€Ð²Ð¸Ñ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ð² ÑпиÑък.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "Премахва Ð¸ Ð²Ñ€ÑŠÑ‰Ð° ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚а Ð½Ð° Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð° Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ñ Ð² ÑпиÑък.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "Премахва Ð¸ Ð²Ñ€ÑŠÑ‰Ð° Ð¿Ð¾ÑледниѠелемент Ð² ÑпиÑък.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Премахва Ð¸ Ð²Ñ€ÑŠÑ‰Ð° Ñлучаен ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ð¾Ñ‚ ÑпиÑък.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "Премахва Ð¿ÑŠÑ€Ð²Ð¸Ñ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ð¾Ñ‚ ÑпиÑък.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "Премахва ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ð½Ð° Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð° Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ñ Ð¾Ñ‚ ÑпиÑък.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "Премахва Ð¿Ð¾ÑледниѠелемент Ð¾Ñ‚ ÑпиÑък.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Премахва Ñлучаен ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ð¾Ñ‚ ÑпиÑък.";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "до â„– Ð¾Ñ‚краÑ";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "до â„–";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "до ÐºÑ€Ð°Ñ";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "вземи Ð¿Ð¾Ð´ÑпиÑък Ð¾Ñ‚ Ð¿ÑŠÑ€Ð²Ð¸Ñ";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "вземи Ð¿Ð¾Ð´ÑпиÑък Ð¾Ñ‚ â„– Ð¾Ñ‚ ÐºÑ€Ð°Ñ";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "вземи Ð¿Ð¾Ð´ÑпиÑък Ð¾Ñ‚ â„–";
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Копира Ñ‡Ð°ÑÑ‚ Ð¾Ñ‚ ÑпиÑък.";
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 Ðµ Ð¿Ð¾ÑледниÑÑ‚ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚.";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 Ðµ Ð¿ÑŠÑ€Ð²Ð¸ÑÑ‚ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚.";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "намери Ð¿ÑŠÑ€Ð²Ð°Ñ‚а Ð¿Ð¾Ñва Ð½Ð° ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚а";
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "намери Ð¿Ð¾Ñледната Ð¿Ð¾Ñва Ð½Ð° ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚а";
+Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "Връща Ð¸Ð½Ð´ÐµÐºÑа Ð½Ð° Ð¿ÑŠÑ€Ð²Ð¾Ñ‚о/поÑледното Ð¿Ð¾ÑвÑване Ð½Ð° ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚а Ð² ÑпиÑъка. Ð’ръща %1, Ð°ÐºÐ¾ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ÑŠÑ‚ Ð½Ðµ Ðµ Ð½Ð°Ð¼ÐµÑ€ÐµÐ½.";
+Blockly.Msg["LISTS_INLIST"] = "в ÑпиÑъка";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 Ðµ Ð¿Ñ€Ð°Ð·ÐµÐ½";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Връща ÑтойноÑÑ‚ Ð²Ñрно, Ð°ÐºÐ¾ ÑпиÑъкът Ðµ Ð¿Ñ€Ð°Ð·ÐµÐ½.";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "дължината Ð½Ð° %1";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Връща Ð´ÑŠÐ»Ð¶Ð¸Ð½Ð°Ñ‚а Ð½Ð° ÑпиÑък.";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "Ñъздай ÑпиÑък Ð¾Ñ‚ %1 Ð¿Ð¾Ð²Ñ‚орен %2 Ð¿ÑŠÑ‚и";
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Създава ÑпиÑък, ÑÑŠÑтоÑщ Ñе Ð¾Ñ‚ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½ Ð±Ñ€Ð¾Ð¹ ÐºÐ¾Ð¿Ð¸Ñ Ð½Ð° ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚а.";
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "промени Ñ€ÐµÐ´Ð° Ð½Ð° Ð¾Ð±Ñ€Ð°Ñ‚но %1";
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Промени Ñ€ÐµÐ´Ð° Ð½Ð° ÑпиÑъка Ð½Ð° Ð¾Ð±Ñ€Ð°Ñ‚но.";
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "Ñледното";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "вмъкни Ð½Ð° Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ñ";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "промени";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Вмъква ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ð² Ð½Ð°Ñ‡Ð°Ð»Ð¾Ñ‚о Ð½Ð° ÑпиÑъка.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Вмъква ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ð½Ð° Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð° Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ñ Ð² ÑпиÑък.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Добави ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ð² ÐºÑ€Ð°Ñ Ð½Ð° ÑпиÑък.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Вмъква ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ð½Ð° Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð»Ð½Ð¾ Ð¼ÑÑто Ð² ÑпиÑък.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "ПроменѠпървиѠелемент Ð² ÑпиÑък.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "ПроменѠелемента Ð½Ð° Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð° Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ñ Ð² ÑпиÑък.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "ПроменѠпоÑледниѠелемент Ð² ÑпиÑък.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "ПроменѠÑлучаен ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ð¾Ñ‚ ÑпиÑък.";
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "възходÑщо";
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "низходÑщо";
+Blockly.Msg["LISTS_SORT_TITLE"] = "Ñортиране Ð¿Ð¾ %1 %2 %3";
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Подреди ÐºÐ¾Ð¿Ð¸Ðµ Ð½Ð° ÑпиÑъка.";
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "по Ð°Ð·Ð±ÑƒÑ‡ÐµÐ½ Ñ€ÐµÐ´, Ð±ÐµÐ· Ð¾Ñ‚читане Ð½Ð° Ð¼Ð°Ð»ÐºÐ¸ Ð¸ Ð³Ð»Ð°Ð²Ð½Ð¸ Ð±ÑƒÐºÐ²Ð¸";
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "в Ñ‡Ð¸Ñлов Ñ€ÐµÐ´";
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "по Ð°Ð·Ð±ÑƒÑ‡ÐµÐ½ Ñ€ÐµÐ´";
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "Ðаправи ÑпиÑък Ð¾Ñ‚ Ñ‚екÑÑ‚";
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "направи Ñ‚екÑÑ‚ Ð¾Ñ‚ ÑпиÑък";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Събира ÑпиÑък Ð¾Ñ‚ Ñ‚екÑтове Ð² ÐµÐ´Ð¸Ð½ Ñ‚екÑÑ‚, Ñ€Ð°Ð´ÐµÐ»ÐµÐ½Ð¸ Ñ Ñ€Ð°Ð·Ð´ÐµÐ»Ð¸Ñ‚ел.";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "РазделѠтекÑÑ‚ Ð² ÑпиÑък Ð½Ð° Ñ‚екÑтове, Ð¿Ð¾ Ð²Ñеки Ñ€Ð°Ð·Ð´ÐµÐ»Ð¸Ñ‚ел.";
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "Ѡразделител";
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "невÑрно";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "Връща Ð²Ñрно Ð¸Ð»Ð¸ Ð½ÐµÐ²Ñрно.";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "вÑрно";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://en.wikipedia.org/wiki/Inequality_(mathematics)";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Върни Ð²Ñрно, Ð°ÐºÐ¾ Ð´Ð²Ð°Ñ‚а Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚ъра Ñа ÐµÐ´Ð½Ð°ÐºÐ²Ð¸.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Върни Ð¸Ñтина, Ð°ÐºÐ¾ Ð¿ÑŠÑ€Ð²Ð¸Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚ÑŠÑ€ Ðµ Ð¿Ð¾-голÑм Ð¾Ñ‚ Ð²Ñ‚ориÑ.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Върни Ð¸Ñтина, Ð°ÐºÐ¾ Ð¿ÑŠÑ€Ð²Ð¸Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚ÑŠÑ€ Ðµ Ð¿Ð¾-голÑм Ð¸Ð»Ð¸ Ñ€Ð°Ð²ÐµÐ½ Ð½Ð° Ð²Ñ‚ориÑ.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "Върни Ð²Ñрно, Ð°ÐºÐ¾ Ð¿ÑŠÑ€Ð²Ð¸ÑÑ‚ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚ÑŠÑ€ Ðµ Ð¿Ð¾-малък Ð¾Ñ‚ Ð²Ñ‚ориÑ.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "Върни Ð¸Ñтина, Ð°ÐºÐ¾ Ð¿ÑŠÑ€Ð²Ð¸Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚ÑŠÑ€ Ðµ Ð¿Ð¾-малък Ð¸Ð»Ð¸ Ñ€Ð°Ð²ÐµÐ½ Ð½Ð° Ð²Ñ‚ориÑ.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "Върни Ð²Ñрно, Ð°ÐºÐ¾ Ð´Ð²Ð°Ñ‚а Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚ъра Ñа Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð½Ð¸.";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "не %1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "Върни Ð²Ñрно, Ð°ÐºÐ¾ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚ърът Ðµ Ð½ÐµÐ²ÐµÑ€ÐµÐ½. Ð’ърни Ð½ÐµÐ²Ñрно, Ð°ÐºÐ¾ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚ърът Ðµ Ð²ÐµÑ€ÐµÐ½.";
+Blockly.Msg["LOGIC_NULL"] = "нула";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";  // untranslated
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "Връща Ð½ÑƒÐ»Ð°.";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "и";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "или";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "Върни Ð²Ñрно, Ð°ÐºÐ¾ Ð¸ Ð´Ð²Ð°Ñ‚а Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚ъра Ñа Ð²ÐµÑ€Ð½Ð¸.";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "Върни â€žÐ²Ñрно“, Ð°ÐºÐ¾ Ð¿Ð¾Ð½Ðµ ÐµÐ´Ð¸Ð½ Ð¾Ñ‚ Ð²Ñ…одовете Ðµ Ð²ÐµÑ€ÐµÐ½.";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "теÑÑ‚";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "Ðко Ðµ Ð½ÐµÐ²Ñрно";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "Ðко Ðµ Ð²Ñрно";
+Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "Провери ÑƒÑловието Ð² â€žÑ‚еÑт“. Ðко ÑƒÑловието Ðµ Ð¸Ñтина, Ð²ÑŠÑ€Ð½Ð¸ ÑтойноÑтта â€žÐ°ÐºÐ¾ Ðµ Ð²Ñрно“, Ð¸Ð½Ð°Ñ‡Ðµ Ð²ÑŠÑ€Ð½Ð¸ ÑтойноÑтта â€žÐ°ÐºÐ¾ Ðµ Ð½ÐµÐ²Ñрно“.";
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://bg.wikipedia.org/wiki/Ðритметика";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Върни Ñумата Ð½Ð° Ð´Ð²ÐµÑ‚е Ñ‡Ð¸Ñла.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Върни Ñ‡Ð°Ñтното Ð½Ð° Ð´Ð²ÐµÑ‚е Ñ‡Ð¸Ñла.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Върни Ñ€Ð°Ð·Ð»Ð¸ÐºÐ°Ñ‚а Ð½Ð° Ð´Ð²ÐµÑ‚е Ñ‡Ð¸Ñла.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Върни Ð¿Ñ€Ð¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¸ÐµÑ‚о Ð½Ð° Ð´Ð²ÐµÑ‚е Ñ‡Ð¸Ñла.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Върни Ð¿ÑŠÑ€Ð²Ð¾Ñ‚о Ñ‡Ð¸Ñло, Ð¿Ð¾Ð²Ð´Ð¸Ð³Ð½Ð°Ñ‚о Ð½Ð° Ñтепен Ð½Ð° Ð²Ñ‚орото Ñ‡Ð¸Ñло.";
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://bg.wikipedia.org/wiki/Събиране";
+Blockly.Msg["MATH_CHANGE_TITLE"] = "промени %1 Ð½Ð° %2";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Добави Ñ‡Ð¸Ñло ÐºÑŠÐ¼ Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð»Ð¸Ð²Ð° '%1'.";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "http://bg.wikipedia.org/wiki/КонÑтанта";
+Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "Връща ÐµÐ´Ð½Ð° Ð¾Ñ‚ Ñ‡ÐµÑто Ñрещаните ÐºÐ¾Ð½Ñтанти: Ï€ (3.141...), e (2.718...), Ï† (1.618...), sqrt(2) (1.414...), sqrt(½) (0.707...) Ð¸Ð»Ð¸ âˆž (безкрайноÑÑ‚).";
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "ограничи %1 Ð¼ÐµÐ¶Ð´Ñƒ %2 Ð¸ %3";
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Ограничи Ñ‡Ð¸Ñло Ð´Ð° Ð±ÑŠÐ´Ðµ Ð² Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ‚е Ð³Ñ€Ð°Ð½Ð¸Ñ†Ð¸ (включително).";
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";  // untranslated
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "Ñе Ð´ÐµÐ»Ð¸ Ð½Ð°";
+Blockly.Msg["MATH_IS_EVEN"] = "е Ñ‡ÐµÑ‚но";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "е Ð¾Ñ‚рицателно";
+Blockly.Msg["MATH_IS_ODD"] = "е Ð½ÐµÑ‡ÐµÑ‚но";
+Blockly.Msg["MATH_IS_POSITIVE"] = "е Ð¿Ð¾Ð»Ð¾Ð¶Ð¸Ñ‚елно";
+Blockly.Msg["MATH_IS_PRIME"] = "е Ð¿Ñ€Ð¾Ñто";
+Blockly.Msg["MATH_IS_TOOLTIP"] = "Проверете Ð´Ð°Ð»Ð¸ Ð´Ð°Ð´ÐµÐ½Ð¾ Ñ‡Ð¸Ñло Ðµ Ñ‡ÐµÑ‚но, Ð½ÐµÑ‡ÐµÑ‚но, Ð¿Ñ€Ð¾Ñто, Ñ†Ñло, Ð¿Ð¾Ð»Ð¾Ð¶Ð¸Ñ‚елно, Ð¾Ñ‚рицателно Ð¸Ð»Ð¸ Ð´Ð°Ð»Ð¸ Ñе Ð´ÐµÐ»Ð¸ Ð½Ð° Ð´Ñ€ÑƒÐ³Ð¾ Ñ‡Ð¸Ñло. Ð’ръща Ð²Ñрно Ð¸Ð»Ð¸ Ð½ÐµÐ²Ñрно.";
+Blockly.Msg["MATH_IS_WHOLE"] = "е Ñ†Ñло";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "http://bg.wikipedia.org/wiki/ОÑтатък";
+Blockly.Msg["MATH_MODULO_TITLE"] = "оÑтатъка Ð¾Ñ‚ Ð´ÐµÐ»ÐµÐ½Ð¸ÐµÑ‚о Ð½Ð° %1 Ð½Ð° %2";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Върни Ð¾Ñтатъка Ð¾Ñ‚ Ð´ÐµÐ»ÐµÐ½Ð¸Ðµ Ð½Ð° Ð´Ð²Ðµ Ñ‡Ð¸Ñла.";
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";  // untranslated
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://bg.wikipedia.org/wiki/ЧиÑло";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "ЧиÑло.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "Ñредната ÑтойноÑÑ‚ Ð½Ð° Ñ‡Ð¸Ñлата Ð² ÑпиÑъка";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "най-голÑмата ÑтойноÑÑ‚ Ð² ÑпиÑъка";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "медианата Ð½Ð° ÑпиÑък";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "най-малката ÑтойноÑÑ‚ Ð² ÑпиÑъка";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "режими Ð½Ð° ÑпиÑъка";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "Ñлучаен ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ð¾Ñ‚ ÑпиÑъка";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "Ñтандартно Ð¾Ñ‚клонение Ð½Ð° ÑпиÑък";
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "Ñума Ð½Ð° ÑпиÑъка";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Върни Ñредната ÑтойноÑÑ‚ (аритметичното Ñредно) Ð½Ð° Ñ‡Ð¸Ñлата Ð² ÑпиÑъка.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "Върни Ð½Ð°Ð¹-голÑмото Ñ‡Ð¸Ñло Ð² ÑпиÑъка.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "Върни Ð¼ÐµÐ´Ð¸Ð°Ð½Ð°Ñ‚а Ð² ÑпиÑъка.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "Върни Ð½Ð°Ð¹-малкото Ñ‡Ð¸Ñло Ð² ÑпиÑъка.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Върни ÑпиÑък Ð½Ð° Ð½Ð°Ð¹-чеÑто Ñрещаните ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚и Ð² ÑпиÑъка.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Върни Ñлучаен ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ð¾Ñ‚ ÑпиÑъка.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Връща Ñтандартното Ð¾Ñ‚клонение Ð½Ð° ÑпиÑъка.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Върни Ñумата Ð½Ð° Ð²Ñички Ñ‡Ð¸Ñла Ð² ÑпиÑъка.";
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://bg.wikipedia.org/wiki/Генератор_на_Ñлучайни_чиÑла";
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "Ñлучайно Ð´Ñ€Ð¾Ð±Ð½Ð¾ Ñ‡Ð¸Ñло";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Върни Ñлучайно Ð´Ñ€Ð¾Ð±Ð½Ð¾ Ñ‡Ð¸Ñло Ð¼ÐµÐ¶Ð´Ñƒ 0.0 (включително) Ð¸ 1.0 (без Ð´Ð° Ð³Ð¾ Ð²ÐºÐ»ÑŽÑ‡Ð²Ð°)";
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://bg.wikipedia.org/wiki/Генератор_на_Ñлучайни_чиÑла";
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "Ñлучайно Ñ†Ñло Ñ‡Ð¸Ñло Ð¼ÐµÐ¶Ð´Ñƒ %1 Ð¸ %2";
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Върни Ñлучайно Ñ‡Ð¸Ñло Ð² Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ‚е Ð³Ñ€Ð°Ð½Ð¸Ñ†Ð¸ (включително).";
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://en.wikipedia.org/wiki/Rounding";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "закръгли";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "закръгли Ð½Ð°Ð´Ð¾Ð»Ñƒ";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "закръгли Ð½Ð°Ð³Ð¾Ñ€Ðµ";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Закръгли Ñ‡Ð¸Ñло Ð½Ð°Ð³Ð¾Ñ€Ðµ Ð¸Ð»Ð¸ Ð½Ð°Ð´Ð¾Ð»Ñƒ.";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://en.wikipedia.org/wiki/Square_root";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "абÑолютна";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "корен ÐºÐ²Ð°Ð´Ñ€Ð°Ñ‚ен";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Връща Ð°Ð±Ñолютната ÑтойноÑÑ‚ Ð½Ð° Ñ‡Ð¸Ñло.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Върни Ðµ (неперовото Ñ‡Ð¸Ñло) Ð½Ð° Ñтепен Ð·Ð°Ð´Ð°Ð´ÐµÐ½Ð¾Ñ‚о Ñ‡Ð¸Ñло.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "Върни Ð½Ð°Ñ‚уралниѠлогаритъм Ð¾Ñ‚ Ñ‡Ð¸Ñло.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "Върни Ð´ÐµÑетичниѠлогаритъм Ð½Ð° Ñ‡Ð¸Ñло.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Върни Ñ‡Ð¸Ñлото Ñ Ð¾Ð±ÑŠÑ€Ð½Ð°Ñ‚ Ð·Ð½Ð°Ðº.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Върни 10 Ð½Ð° Ñтепен Ð·Ð°Ð´Ð°Ð´ÐµÐ½Ð¾Ñ‚о Ñ‡Ð¸Ñло.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Връща ÐºÐ¾Ñ€ÐµÐ½ ÐºÐ²Ð°Ð´Ñ€Ð°Ñ‚ен Ð¾Ñ‚ Ñ‡Ð¸Ñло.";
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";  // untranslated
+Blockly.Msg["MATH_TRIG_ACOS"] = "acos";  // untranslated
+Blockly.Msg["MATH_TRIG_ASIN"] = "asin";  // untranslated
+Blockly.Msg["MATH_TRIG_ATAN"] = "atan";  // untranslated
+Blockly.Msg["MATH_TRIG_COS"] = "cos";  // untranslated
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://bg.wikipedia.org/wiki/Тригонометрична_функциÑ";
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";  // untranslated
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Върни Ð°Ñ€ÐºÑƒÑкоÑинуѠот Ñ‡Ð¸Ñло.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Върни Ð°Ñ€ÐºÑƒÑÑинуѠот Ñ‡Ð¸Ñло.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Върни Ð°Ñ€ÐºÑƒÑтангенѠот Ñ‡Ð¸Ñло.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Върни ÐºÐ¾ÑинуѠот ÑŠÐ³ÑŠÐ» Ð² Ð³Ñ€Ð°Ð´ÑƒÑи (не Ð² Ñ€Ð°Ð´Ð¸Ð°Ð½Ð¸)";
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Върни ÑинуѠот ÑŠÐ³ÑŠÐ» Ð² Ð³Ñ€Ð°Ð´ÑƒÑи (не Ð² Ñ€Ð°Ð´Ð¸Ð°Ð½Ð¸)";
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Върни Ñ‚ангенѠот ÑŠÐ³ÑŠÐ» Ð² Ð³Ñ€Ð°Ð´ÑƒÑи (не Ð² Ñ€Ð°Ð´Ð¸Ð°Ð½Ð¸)";
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Създайте Ñ†Ð²ÐµÑ‚ова Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð»Ð¸Ð²Ð°...";
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Създайте Ñ‡Ð¸Ñлова Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð»Ð¸Ð²Ð°...";
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Създайте Ð½Ð¸Ð·Ð¾Ð²Ð° Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð»Ð¸Ð²Ð°...";
+Blockly.Msg["NEW_VARIABLE"] = "Създаване Ð½Ð° Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð»Ð¸Ð²Ð°...";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "Ðово Ð¸Ð¼Ðµ Ð½Ð° Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð»Ð¸Ð²Ð°Ñ‚а:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "Тип Ð½Ð° Ð½Ð¾Ð²Ð°Ñ‚а Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð»Ð¸Ð²Ð°:";
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "позволи Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ð¸Ñ‚е";
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "Ñ:";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://bg.wikipedia.org/wiki/Подпрограма";
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Изпълни Ð´ÐµÑ„инирана Ð¾Ñ‚ Ð¿Ð¾Ñ‚ребителѠфункциѠ„%1“.";
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://bg.wikipedia.org/wiki/Подпрограма";
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Изпълни Ð´ÐµÑ„инирана Ð¾Ñ‚ Ð¿Ð¾Ñ‚ребителѠфункциѠ„%1“ Ð¸ Ð¸Ð·Ð¿Ð¾Ð»Ð·Ð²Ð°Ð¹ Ñ€ÐµÐ·ÑƒÐ»Ñ‚ата.";
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "Ñ:";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "Създай '%1'";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Опишете Ñ‚ази Ñ„ункциÑ...";
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "направиш";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "за Ð´Ð°";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Създава Ñ„ункциÑ, ÐºÐ¾Ñто Ð½Ðµ Ð²Ñ€ÑŠÑ‰Ð° Ñ€ÐµÐ·ÑƒÐ»Ñ‚ат.";
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "върни";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "Създава Ñ„ункциÑ, ÐºÐ¾Ñто Ð²Ñ€ÑŠÑ‰Ð° Ñ€ÐµÐ·ÑƒÐ»Ñ‚ат.";
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "Предупреждение: Ð¢Ð°Ð·Ð¸ Ñ„ункциѠима Ð´ÑƒÐ±Ð»Ð¸Ñ€Ð°Ñ‰Ð¸ Ñе Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚ри.";
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "Покажи Ð´ÐµÑ„инициÑта Ð½Ð° Ñ„ункциÑта";
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "Ðко ÑтойноÑтта Ðµ Ð²Ñрна, Ð²ÑŠÑ€Ð½Ð¸ Ð²Ñ‚ората ÑтойноÑÑ‚.";
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "Предупреждение: Ð¢Ð¾Ð·Ð¸ Ð±Ð»Ð¾Ðº Ð¼Ð¾Ð¶Ðµ Ð´Ð° Ñе Ð¸Ð·Ð¿Ð¾Ð»Ð·Ð²Ð° Ñамо Ð²ÑŠÐ² Ñ„ункциÑ.";
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "име Ð½Ð° Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚ÑŠÑ€:";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "ДобавÑне Ð½Ð° Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚ÑŠÑ€ ÐºÑŠÐ¼ Ñ„ункциÑта.";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "вход";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Добави, Ð¿Ñ€ÐµÐ¼Ð°Ñ…ни Ð¸Ð»Ð¸ Ð¿Ñ€ÐµÐ½Ð°Ñ€ÐµÐ´Ð¸ Ð²Ñ…одните Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚ри Ð·Ð° Ñ‚ази Ñ„ункциÑ.";
+Blockly.Msg["REDO"] = "Повторение";
+Blockly.Msg["REMOVE_COMMENT"] = "Премахни ÐºÐ¾Ð¼ÐµÐ½Ñ‚ар";
+Blockly.Msg["RENAME_VARIABLE"] = "Преименувай Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð»Ð¸Ð²Ð°Ñ‚а...";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Преименувай Ð²Ñички '%1' Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð»Ð¸Ð²Ð¸ Ð½Ð°:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "добавете Ñ‚екÑÑ‚ %2 ÐºÑŠÐ¼ %1";
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Добави Ñ‚екÑÑ‚ ÐºÑŠÐ¼ Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð»Ð¸Ð²Ð°Ñ‚а â€ž%1“.";
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "Ѡмалки Ð±ÑƒÐºÐ²Ð¸";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "ѠГлавна Ð‘уква Ðа Ð’ÑÑка Ð”ума";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "ѠГЛÐÐ’ÐИ Ð‘УКВИ";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Връща ÐºÐ¾Ð¿Ð¸Ðµ Ð½Ð° Ñ‚екÑта ÑÑŠÑ Ñменени Ð¼Ð°Ð»ÐºÐ¸ Ð¸ Ð³Ð»Ð°Ð²Ð½Ð¸ Ð±ÑƒÐºÐ²Ð¸.";
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "вземи Ð¿ÑŠÑ€Ð²Ð°Ñ‚а Ð±ÑƒÐºÐ²Ð°";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "вземи Ð±ÑƒÐºÐ²Ð° â„– Ð¾Ñ‚ ÐºÑ€Ð°Ñ";
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "вземи Ð±ÑƒÐºÐ²Ð° â„–";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "вземи Ð¿Ð¾Ñледната Ð±ÑƒÐºÐ²Ð°";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "вземи Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð»Ð½Ð° Ð±ÑƒÐºÐ²Ð°";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "в Ñ‚екÑÑ‚ %1 %2";
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Връща Ð±ÑƒÐºÐ²Ð°Ñ‚а Ð² Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð° Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ñ.";
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "преÑмÑта Ð±Ñ€Ð¾Ñ Ð½Ð° %1 Ð² %2";
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Преброй ÐºÐ¾Ð»ÐºÐ¾ Ð¿ÑŠÑ‚и Ð´Ð°Ð´ÐµÐ½ Ñ‚екÑÑ‚ Ñе Ñреща Ð² Ð´Ñ€ÑƒÐ³ Ñ‚екÑÑ‚.";
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Добави ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ ÐºÑŠÐ¼ Ñ‚екÑта.";
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "Ñвържи";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Добави, Ð¿Ñ€ÐµÐ¼Ð°Ñ…ни Ð¸Ð»Ð¸ Ð¿Ñ€ÐµÐ½Ð°Ñ€ÐµÐ´Ð¸ Ñ‡Ð°Ñтите, Ð·Ð° Ð´Ð° Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð¸Ñˆ Ñ‚ози Ñ‚екÑтов Ð±Ð»Ð¾Ðº.";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "до Ð±ÑƒÐºÐ²Ð° â„– Ð¾Ñ‚ ÐºÑ€Ð°Ñ";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "до Ð±ÑƒÐºÐ²Ð° â„–";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "до Ð¿Ð¾Ñледната Ð±ÑƒÐºÐ²Ð°.";
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "в Ñ‚екÑта";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "вземи Ñ‚екÑта Ð¾Ñ‚ Ð¿ÑŠÑ€Ð²Ð°Ñ‚а Ð±ÑƒÐºÐ²Ð°";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "вземи Ñ‚екÑта Ð¾Ñ‚ Ð±ÑƒÐºÐ²Ð° â„– (броено Ð¾Ñ‚зад-напред)";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "вземи Ñ‚екÑта Ð¾Ñ‚ Ð±ÑƒÐºÐ²Ð° â„–";
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Връща Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð° Ñ‡Ð°ÑÑ‚ Ð¾Ñ‚ Ñ‚екÑта.";
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "намери Ð¿ÑŠÑ€Ð²Ð°Ñ‚а Ð¿Ð¾Ñва Ð½Ð° Ñ‚екÑта";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "намери Ð¿Ð¾Ñледната Ð¿Ð¾Ñва Ð½Ð° Ñ‚екÑта";
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "в Ñ‚екÑÑ‚ %1 %2 %3";
+Blockly.Msg["TEXT_INDEXOF_TOOLTIP"] = "Връща Ð¸Ð½Ð´ÐµÐºÑа Ð½Ð° Ð¿ÑŠÑ€Ð²Ð¾Ñ‚о/поÑледното Ñрещане Ð½Ð° Ð¿ÑŠÑ€Ð²Ð¸Ñ Ñ‚екÑÑ‚ Ð²ÑŠÐ² Ð²Ñ‚ориѠтекÑÑ‚. Ð’ръща %1, Ð°ÐºÐ¾ Ñ‚екÑÑ‚ÑŠÑ‚ Ð½Ðµ Ðµ Ð½Ð°Ð¼ÐµÑ€ÐµÐ½.";
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 Ðµ Ð¿Ñ€Ð°Ð·ÐµÐ½";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Връща Ð²Ñрно, Ð°ÐºÐ¾ Ñ‚екÑта Ðµ Ð¿Ñ€Ð°Ð·ÐµÐ½.";
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "Ñъздай Ñ‚екÑÑ‚ Ñ";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Създай Ñ‚екÑÑ‚ ÐºÐ°Ñ‚о Ñъчетаеш Ð½Ñколко ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚а.";
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "дължината Ð½Ð° %1";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Връща Ð±Ñ€Ð¾Ñ Ð½Ð° Ñимволите (включително Ð¸ Ð¸Ð½Ñ‚ервалите) Ð² Ñ‚екÑта.";
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "отпечатай %1";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Отпечатай Ñ‚екÑта, Ñ‡Ð¸Ñлото Ð¸Ð»Ð¸ Ð´Ñ€ÑƒÐ³Ð° ÑтойноÑÑ‚.";
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Питай Ð¿Ð¾Ñ‚ребителѠза Ñ‡Ð¸Ñло.";
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Питай Ð¿Ð¾Ñ‚ребителѠза Ñ‚екÑÑ‚.";
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "питай Ð·Ð° Ñ‡Ð¸Ñло ÑÑŠÑ Ñъобщение";
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "питай Ð·Ð° Ñ‚екÑÑ‚ ÑÑŠÑ Ñъобщение";
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "замÑна Ð½Ð° %1 Ñ %2 Ð² %3";
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Замени Ð²Ñички Ð¿Ð¾Ñви Ð½Ð° Ð´Ð°Ð´ÐµÐ½ Ñ‚екÑÑ‚ Ð² Ð´Ñ€ÑƒÐ³ Ñ‚екÑÑ‚.";
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "промени Ñ€ÐµÐ´Ð° Ð½Ð° Ð¾Ð±Ñ€Ð°Ñ‚но %1";
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Промени Ñ€ÐµÐ´Ð° Ð½Ð° Ð·Ð½Ð°Ñ†Ð¸Ñ‚е Ð² Ñ‚екÑта Ð½Ð° Ð¾Ð±Ñ€Ð°Ñ‚но.";
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://bg.wikipedia.org/wiki/Ðиз";
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "Буква, Ð´ÑƒÐ¼Ð° Ð¸Ð»Ð¸ Ñ€ÐµÐ´";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "премахни Ð¸Ð½Ñ‚ервалите Ð¾Ñ‚ Ð´Ð²ÐµÑ‚е Ñтрани";
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "премахни Ð¸Ð½Ñ‚ервалите Ð¾Ñ‚лÑво";
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "премахни Ð¸Ð½Ñ‚ервалите Ð¾Ñ‚дÑÑно";
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Връща ÐºÐ¾Ð¿Ð¸Ðµ Ð½Ð° Ñ‚екÑта Ñ Ð¿Ñ€ÐµÐ¼Ð°Ñ…нати Ð¸Ð½Ñ‚ервали Ð¾Ñ‚ ÐµÐ´Ð¸Ð½Ð¸Ñ Ð¸Ð»Ð¸ Ð´Ð²Ð°Ñ‚а ÐºÑ€Ð°Ñ.";
+Blockly.Msg["TODAY"] = "ДнеÑ";
+Blockly.Msg["UNDO"] = "ОтмÑна";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "елемент";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Създай â€žÐ¿Ñ€Ð¾Ð¼ÐµÐ½Ð¸ ÑтойноÑтта Ð½Ð° %1“";
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Връща ÑтойноÑтта Ð½Ð° Ñ‚ази Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð»Ð¸Ð²Ð°.";
+Blockly.Msg["VARIABLES_SET"] = "нека %1 Ð±ÑŠÐ´Ðµ %2";
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Създай â€žÐ²Ð·ÐµÐ¼Ð¸ ÑтойноÑтта Ð½Ð° %1“";
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "УÑтановÑва Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð»Ð¸Ð²Ð°Ñ‚а ÑÑŠÑ ÑтойноÑтта Ð½Ð° Ð²Ñ…ода.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "Променлива Ñ Ð¸Ð¼Ðµ '%1' Ð²ÐµÑ‡Ðµ ÑъщеÑтвува.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "Променлива Ñ Ð¸Ð¼Ðµ '%1' Ð²ÐµÑ‡Ðµ ÑъщеÑтвува Ð·Ð° Ð´Ñ€ÑƒÐ³ Ñ‚ип: '%2'.";
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Коментирайте Ð½ÐµÑ‰Ð¾...";
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/bn.js b/js/msg/js/bn.js
new file mode 100644 (file)
index 0000000..d730e31
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.bn');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "মনà§à¦¤à¦¬à§à¦¯ à¦¯à§‹à¦— à¦•à¦°à§à¦¨";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "'%1' à¦šà¦²à¦• à¦…পসারণ à¦•à¦°à¦¾ à¦¯à¦¾à¦¬à§‡ à¦¨à¦¾ à¦•à¦¾à¦°à¦£ à¦à¦Ÿà¦¿ '%2' à¦•à¦¾à¦°à§à¦¯à¦ªà§à¦°à¦£à¦¾à¦²à§€à¦° à¦¸à¦‚জà§à¦žà¦¾à¦° à¦…ংশ";
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "মান à¦ªà¦°à¦¿à¦¬à¦°à§à¦¤à¦¨ à¦•à¦°à§à¦¨:";
+Blockly.Msg["CLEAN_UP"] = "বà§à¦²à¦•à¦¸à¦®à§‚হ à¦ªà¦°à¦¿à¦¸à§à¦•à¦¾à¦° à¦•à¦°à§à¦¨";
+Blockly.Msg["COLLAPSE_ALL"] = "বà§à¦²à¦•à¦¸à¦®à§‚হ à¦¸à¦™à§à¦•à§à¦šà¦¿à¦¤ à¦•à¦°à§à¦¨";
+Blockly.Msg["COLLAPSE_BLOCK"] = "বà§à¦²à¦• à¦¸à¦™à§à¦•à§à¦šà¦¿à¦¤ à¦•à¦°à§à¦¨";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "রং à§§";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "রং à§¨";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";  // untranslated
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "অনà§à¦ªà¦¾à¦¤";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "মিশà§à¦°à¦£";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "পà§à¦°à¦¦à¦¤à§à¦¤ à¦…নà§à¦ªà¦¾à¦¤(০.০ - à§§.০) à¦…নà§à¦¸à¦¾à¦°à§‡ à¦¦à§à¦Ÿà¦¿ à¦°à¦‚ à¦à¦•à¦¸à¦¾à¦¥à§‡ à¦®à¦¿à¦¶à§à¦°à¦¿à¦¤ à¦•à¦°à§à¦¨à¥¤";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://bn.wikipedia.org/wiki/রং";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "পà§à¦¯à¦¾à¦²à§‡à¦Ÿ à¦¥à§‡à¦•à§‡ à¦à¦•à¦Ÿà¦¿ à¦°à¦‚ à¦ªà¦›à¦¨à§à¦¦ à¦•à¦°à§à¦¨";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "à¦à¦²à§‹à¦®à§‡à¦²à§‹ à¦°à¦‚";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "à¦à¦²à§‹à¦®à§‡à¦²à§‹à¦­à¦¾à¦¬à§‡ à¦à¦•à¦Ÿà¦¿ à¦°à¦‚ à¦ªà¦›à¦¨à§à¦¦ à¦•à¦°à§à¦¨à¥¤";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "নীল";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "সবà§à¦œ";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";  // untranslated
+Blockly.Msg["COLOUR_RGB_RED"] = "লাল";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "রং à¦¸à¦¹";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "à¦à¦•à¦Ÿà¦¿ à¦°à¦‚ à¦¤à§ˆà¦°à¦¿ à¦•à¦°à§à¦¨ à¦¨à¦¿à¦°à§à¦¦à¦¿à¦·à§à¦Ÿ à¦ªà¦°à¦¿à¦®à¦¾à¦£à§‡ à¦²à¦¾à¦², à¦¸à¦¬à§à¦œ à¦à¦¬à¦‚ à¦¨à§€à¦² à¦°à¦‚ à¦®à¦¿à¦¶à§à¦°à¦¿à¦¤ à¦•à¦°à§‡à¥¤ à¦ªà§à¦°à¦¤à§à¦¯à§‡à¦•à¦Ÿà¦¿à¦° à¦®à¦¾à¦¨ à¦…বশà§à¦¯à¦‡ à§¦ à¦¥à§‡à¦•à§‡ à§§à§¦à§¦ à¦à¦° à¦®à¦§à§à¦¯à§‡ à¦¹à¦¤à§‡ à¦¹à¦¬à§‡à¥¤";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "পà§à¦°à¦¬à§‡à¦¶à¦ªà¦¥ à¦¥à§‡à¦•à§‡ à¦šà¦²à§‡ à¦…াসà§à¦¨";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "পà§à¦¨à¦°à¦¾à¦¬à§ƒà¦¤à§à¦¤à¦¿ à¦šà¦¾à¦²à¦¿à¦¯à¦¼à§‡ à¦¯à¦¾à¦¨ à¦ªà¦°à¦¬à¦°à§à¦¤à§€ à¦ªà§à¦°à¦¬à§‡à¦¶à¦ªà¦¥à§‡";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "সংশà§à¦²à¦¿à¦·à§à¦Ÿ à¦ªà§à¦°à¦¬à§‡à¦¶à¦ªà¦¥ à¦¥à§‡à¦•à§‡ à¦šà¦²à§‡ à¦…াসà§à¦¨";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "à¦à¦‡ à¦ªà§à¦°à¦¬à§‡à¦¶à¦ªà¦¥à§‡à¦° à¦…বশিষà§à¦Ÿ à¦…ংশ à¦¬à¦¾à¦¦ à¦¦à¦¿à¦¨ à¦à¦¬à¦‚ à¦ªà¦°à¦¬à¦°à§à¦¤à§€ à¦ªà§à¦°à¦šà§‡à¦·à§à¦Ÿà¦¾ à¦šà¦¾à¦²à¦¿à¦¯à¦¼à§‡ à¦¯à¦¾à¦¨à¥¤";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "সরà§à¦¤à¦•à§€à¦¬à¦¾à¦°à§à¦¤à¦¾: à¦à¦‡ à¦¬à§à¦²à¦•à¦Ÿà¦¿ à¦¶à§à¦§à§à¦®à¦¾à¦¤à§à¦° à¦²à§à¦ªà§‡à¦° à¦®à¦§à§à¦¯à§‡ à¦¬à§à¦¯à¦¬à¦¹à¦¾à¦° à¦•à¦°à¦¾ à¦¯à¦¾à¦¬à§‡à¥¤";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "পà§à¦°à¦¤à§à¦¯à§‡à¦•à¦Ÿà¦¿ à¦ªà¦¦à§‡à¦° à¦œà¦¨à§à¦¯ %1 à¦¤à¦¾à¦²à¦¿à¦•à¦¾à¦° à¦®à¦§à§à¦¯à§‡ %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "কোন à¦¤à¦¾à¦²à¦¿à¦•à¦¾à¦¯à¦¼ à¦ªà§à¦°à¦¤à¦¿à¦¬à¦¾à¦°à§‡à¦° à¦œà¦¨à§à¦¯, à¦†à¦‡à¦Ÿà§‡à¦®à§‡à¦° à¦¸à¦¾à¦¥à§‡ à¦šà¦²à¦• '%1' à¦¬à¦¸à¦¾à¦¨ à¦à¦¬à¦‚ à¦•à¦¿à¦›à§ à¦¬à¦¿à¦¬à¦°à¦£ à¦¦à¦¿à¦¨à¥¤";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "গণনা à¦•à¦° %1 %4 à¦¦à¦¿à¦¯à¦¼à§‡ %2 à¦¥à§‡à¦•à§‡ %3";
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "চলক %1 à¦ªà§à¦°à¦¸à§à¦¤à§à¦¤ à¦•à¦°à§à¦¨, à¦¶à§à¦°à§ à¦¥à§‡à¦•à§‡ à¦¶à§‡à¦· à¦ªà¦°à§à¦¯à¦¨à§à¦¤ à¦¸à¦‚খà§à¦¯à¦¾ à¦—à§à¦°à¦¹à¦¨ à¦•à¦°à¦¤à§‡ à¦¯à¦¾ à¦¨à¦¿à¦°à§à¦¦à§‡à¦¶à¦¿à¦¤ à¦¬à¦¿à¦°à¦¤à¦¿ à¦—ণনা à¦•à¦°à¦›à§‡ à¦à¦¬à¦‚ à¦¨à¦¿à¦°à§à¦¦à§‡à¦¶à¦¿à¦¤ à¦¬à§à¦²à¦• à¦¸à¦®à§‚হ à¦¸à¦®à§à¦ªà¦¨à§à¦¨ à¦•à¦°à¦¤à§‡à¥¤";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "যদি à¦¨à¦¾à¦®à¦• à¦¬à§à¦²à¦• à¦ à¦à¦•à¦Ÿà¦¿ à¦¶à¦°à§à¦¤ à¦¯à§‹à¦— à¦•à¦°à§à¦¨à¥¤";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "Add a final, catch-all condition to the if block.";  // untranslated
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this if block.";  // untranslated
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "নতà§à¦¬à¦¾";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "নতà§à¦¬à¦¾ à¦¯à¦¦à¦¿";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "যদি";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "যদি à¦à¦•à¦Ÿà¦¿ à¦®à§‚লà§à¦¯à¦®à¦¾à¦¸ à¦¸à¦¤à§à¦¯ à¦¹à¦¯à¦¼, à¦¤à¦¬à§‡ à¦•à¦¿à¦›à§ à¦¬à¦¿à¦¬à¦°à¦£ à¦¦à¦¿à¦¨";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "যদি à¦à¦•à¦Ÿà¦¿ à¦®à§‚লà§à¦¯à¦®à¦¾à¦¨ à¦¸à¦¤à§à¦¯ à¦¹à¦¯à¦¼, à¦¤à¦¬à§‡ à¦¬à¦¿à¦¬à§ƒà¦¤à¦¿à¦¸à¦®à§‚হের à¦ªà§à¦°à¦¥à¦® à¦¬à§à¦²à¦•à¦Ÿà¦¾ à¦…নà§à¦¯à¦¥à¦¾à¦¯à¦¼ à¦¬à¦¿à¦¬à§ƒà¦¤à¦¿à¦° à¦¦à§à¦¬à¦¿à¦¤à§€à¦¯à¦¼ à¦¬à§à¦²à¦•à¥¤";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "যদি à¦ªà§à¦°à¦¥à¦® à¦®à§‚লà§à¦¯à¦®à¦¾à¦¨ à¦¸à¦ à¦¿à¦• à¦¹à¦¯à¦¼, à¦¤à¦¬à§‡ à¦¬à¦°à§à¦£à¦¿à¦¤ à¦ªà§à¦°à¦¥à¦® à¦¬à§à¦²à¦•à¦Ÿà¦¿ à¦¸à¦®à§à¦ªà¦¨à§à¦¨ à¦•à¦°à§à¦¨à¥¤ à¦…নà§à¦¯à¦¥à¦¾à¦¯à¦¼, à¦¦à§à¦¬à¦¿à¦¤à§€à¦¯à¦¼ à¦®à§‚লà§à¦¯à¦®à¦¾à¦¨ à¦¸à¦ à¦¿à¦• à¦¹à¦¯à¦¼, à¦¦à§à¦¬à¦¿à¦¤à§€à¦¯à¦¼ à¦¬à§à¦²à¦• à¦¸à¦®à§à¦ªà¦¨à§à¦¨ à¦•à¦°à§à¦¨à¥¤";
+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.";  // untranslated
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://bn.wikipedia.org/wiki/পà§à¦°à¦¬à§‡à¦¶_পথ";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "করà§à¦¨";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "%1 à¦¬à¦¾à¦° à¦ªà§à¦¨à¦°à¦¾à¦¬à§ƒà¦¤à§à¦¤à¦¿ à¦•à¦°à§‹";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "কিছৠবিবরণ à¦¬à¦¾à¦°à¦¬à¦¾à¦° à¦¦à¦¿à¦¨à¥¤";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "অাবার à¦•à¦°à§à¦¨ à¦¯à¦¤à¦•à§à¦·à¦£ à¦¨à¦¾";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "অাবার à¦•à¦°à§à¦¨ à¦¯à¦–ন";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "যখন à¦à¦•à¦Ÿà¦¿ à¦®à§‚লà§à¦¯à¦®à¦¾à¦¨ à¦®à¦¿à¦¥à§à¦¯à¦¾, à¦¤à¦–ন à¦•à¦¿à¦›à§ à¦¬à¦¿à¦¬à§ƒà¦¤à¦¿ à¦¦à¦¿à¦¨à¥¤";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "যখন à¦à¦•à¦Ÿà¦¿ à¦®à§‚লà§à¦¯à¦®à¦¾à¦¨ à¦¸à¦ à¦¿à¦•, à¦¤à¦–ন à¦•à¦¿à¦›à§ à¦¬à¦¿à¦¬à¦°à¦£ à¦¦à¦¿à¦¨à¥¤";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "সব %1টি à¦¬à§à¦²à¦• à¦…পসারণ à¦•à¦°à¦¬à§‡à¦¨?";
+Blockly.Msg["DELETE_BLOCK"] = "বà§à¦²à¦•à¦Ÿà¦¿ à¦®à§à¦›à§‡ à¦«à§‡à¦²";
+Blockly.Msg["DELETE_VARIABLE"] = "'%1' à¦šà¦²à¦•à¦Ÿà¦¿ à¦…পসারণ à¦•à¦°à§à¦¨";
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "'%2' à¦šà¦²à¦•à§‡à¦° '%1'টি à¦¬à§à¦¯à¦¬à¦¹à¦¾à¦° à¦…পসারণ à¦•à¦°à¦¬à§‡à¦¨?";
+Blockly.Msg["DELETE_X_BLOCKS"] = "%1 à¦¬à§à¦²à¦• à¦…পসারণ à¦•à¦°";
+Blockly.Msg["DISABLE_BLOCK"] = "বà§à¦²à¦•à¦Ÿà¦¿ à¦¬à¦¿à¦•à¦² à¦•à¦°";
+Blockly.Msg["DUPLICATE_BLOCK"] = "পà§à¦°à¦¤à¦¿à¦²à¦¿à¦ªà¦¿";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicate Comment";  // untranslated
+Blockly.Msg["ENABLE_BLOCK"] = "বà§à¦²à¦•à¦Ÿà¦¿ à¦¸à¦šà¦² à¦•à¦°";
+Blockly.Msg["EXPAND_ALL"] = "বà§à¦²à¦•à¦—à§à¦²à§‹ à¦¸à¦®à§à¦ªà§à¦°à¦¸à¦¾à¦°à¦¿à¦¤ à¦•à¦°";
+Blockly.Msg["EXPAND_BLOCK"] = "বà§à¦²à¦•à¦Ÿà¦¿ à¦¸à¦®à§à¦ªà§à¦°à¦¸à¦¾à¦°à¦¿à¦¤ à¦•à¦°";
+Blockly.Msg["EXTERNAL_INPUTS"] = "বহি:সà§à¦¥ à¦‡à¦¨à¦ªà§à¦Ÿ";
+Blockly.Msg["HELP"] = "সাহাযà§à¦¯";
+Blockly.Msg["INLINE_INPUTS"] = "সারি à¦‡à¦¨à¦ªà§à¦Ÿ";
+Blockly.Msg["IOS_CANCEL"] = "বাতিল";
+Blockly.Msg["IOS_ERROR"] = "তà§à¦°à§à¦Ÿà¦¿";
+Blockly.Msg["IOS_OK"] = "ঠিক à¦†à¦›à§‡";
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Add Input";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Allow statements";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "This function has duplicate inputs.";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "INPUTS";  // untranslated
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "যোগ";
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Add Variable";  // untranslated
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "অপসারণ";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "অাপনি à¦šà¦²à¦•à§‡à¦° à¦¨à¦¾à¦® à¦–ালি à¦°à¦¾à¦–তে à¦ªà¦¾à¦°à§‡à¦¨à¦¨à¦¾à¥¤";
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "পà§à¦¨à¦°à¦¾à¦¯à¦¼ à¦¶à§à¦°à§";
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "চলকের à¦¨à¦¾à¦®";
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "খালি à¦¤à¦¾à¦²à¦¿à¦•à¦¾ à¦¤à§ˆà¦°à¦¿ à¦•à¦°à§à¦¨";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "পাঠাবে à¦à¦•à¦Ÿà¦¿ à¦¤à¦¾à¦²à¦¿à¦•à¦¾, à¦¦à§‡à¦°à§à¦˜à§à¦¯ à¦¹à¦¬à§‡ à§¦, à¦•à§‹à¦¨ à¦‰à¦ªà¦¾à¦¤à§à¦¤ à¦¥à¦¾à¦•à¦¬à§‡ à¦¨à¦¾";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "তালিকা";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this list block.";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "create list with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "তালিকায় à¦à¦•à¦Ÿà¦¿ à¦ªà¦¦ à¦¯à§‹à¦— à¦•à¦°à§à¦¨à¥¤";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "যেকোন à¦¸à¦‚খà§à¦¯à¦• à¦ªà¦¦ à¦¨à¦¿à¦¯à¦¼à§‡ à¦à¦•à¦Ÿà¦¿ à¦¤à¦¾à¦²à¦¿à¦•à¦¾ à¦¤à§ˆà¦°à¦¿ à¦•à¦°à§à¦¨à¥¤";
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "পà§à¦°à¦¥à¦®";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "# à¦¶à§‡à¦· à¦¥à§‡à¦•à§‡";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "নিন";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "নিন à¦“ à¦¸à¦°à¦¾à¦¨";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "শেষ";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "à¦à¦²à§‹à¦®à§‡à¦²à§‹";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "অপসারণ";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "তালিকার à¦ªà§à¦°à¦¥à¦® à¦ªà¦¦à¦Ÿà¦¿ à¦ªà¦¾à¦ à¦¾à¦¬à§‡à¥¤";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Returns the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "তালিকার à¦¶à§‡à¦· à¦ªà¦¦à¦Ÿà¦¿ à¦ªà¦¾à¦ à¦¾à¦¬à§‡à¥¤";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "à¦à¦²à§‹à¦®à§‡à¦²à§‹à¦­à¦¾à¦¬à§‡ à¦¤à¦¾à¦²à¦¿à¦•à¦¾à¦° à¦¯à§‡à¦•à§‹à¦¨ à¦à¦•à¦Ÿà¦¿ à¦ªà¦¦ à¦ªà¦¾à¦ à¦¾à¦¬à§‡à¥¤";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "অপসারণ à¦•à¦°à§à¦¨ à¦à¦¬à¦‚ à¦¤à¦¾à¦²à¦¿à¦•à¦¾à¦° à¦ªà§à¦°à¦¥à¦® à¦ªà¦¦à¦Ÿà¦¿ à¦ªà¦¾à¦ à¦¾à¦¨à¥¤";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "Removes and returns the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "অপসারণ à¦•à¦°à§à¦¨ à¦à¦¬à¦‚ à¦¤à¦¾à¦²à¦¿à¦•à¦¾à¦° à¦¶à§‡à¦· à¦ªà¦¦à¦Ÿà¦¿ à¦ªà¦¾à¦ à¦¾à¦¨à¥¤";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "অপসারণ à¦•à¦°à§à¦¨ à¦à¦¬à¦‚ à¦¤à¦¾à¦²à¦¿à¦•à¦¾à¦° à¦à¦²à§‹à¦®à§‡à¦²à§‹ à¦à¦•à¦Ÿà¦¿ à¦ªà¦¦ à¦ªà¦¾à¦ à¦¾à¦¨à¥¤";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "তালিকার à¦ªà§à¦°à¦¥à¦® à¦ªà¦¦à¦Ÿà¦¿ à¦…পসারণ à¦•à¦°à¦¾ à¦¹à¦¯à¦¼à§‡à¦›à§‡à¥¤";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "Removes the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "তালিকার à¦¶à§‡à¦· à¦ªà¦¦à¦Ÿà¦¿ à¦…পসারণ à¦•à¦°à¦¾ à¦¹à¦¯à¦¼à§‡à¦›à§‡à¥¤";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "তালিকা à¦¥à§‡à¦•à§‡ à¦à¦²à§‹à¦®à§‡à¦²à§‹ à¦à¦•à¦Ÿà¦¿ à¦ªà¦¦ à¦…পসারণ à¦•à¦°à¦¾ à¦¹à¦¯à¦¼à§‡à¦›à§‡à¥¤";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "to # from end";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "to #";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "to last";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "get sub-list from first";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "get sub-list from # from end";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "get sub-list from #";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Creates a copy of the specified portion of a list.";  // untranslated
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 is the last item.";  // untranslated
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 is the first item.";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "আইটেমের à¦ªà§à¦°à¦¥à¦® à¦¸à¦‚ঘটন à¦–à§à¦à¦œà§à¦¨";
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "আইটেমের à¦¶à§‡à¦· à¦¸à¦‚ঘটন à¦–à§à¦à¦œà§à¦¨";
+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.";  // untranslated
+Blockly.Msg["LISTS_INLIST"] = "তালিকার à¦®à¦§à§à¦¯à§‡";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 à¦–ালি";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "পাঠাবে à¦¸à¦¤à§à¦¯ à¦¯à¦¦à¦¿ à¦¤à¦¾à¦²à¦¿à¦•à¦¾à¦Ÿà¦¿ à¦–ালি à¦¹à¦¯à¦¼à¥¤";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "%1-à¦à¦° à¦¦à§ˆà¦°à§à¦˜à§à¦¯";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "à¦à¦•à¦Ÿà¦¿ à¦¤à¦¾à¦²à¦¿à¦•à¦¾à¦° à¦¦à§ˆà¦°à§à¦˜à§à¦¯ à¦ªà¦¾à¦ à¦¾à¦¬à§‡à¥¤";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "create list with item %1 repeated %2 times";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Creates a list consisting of the given value repeated the specified number of times.";  // untranslated
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";  // untranslated
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "à¦à¦•à¦Ÿà¦¿ à¦¤à¦¾à¦²à¦¿à¦•à¦¾à¦° à¦à¦•à¦Ÿà¦¿ à¦…নà§à¦²à¦¿à¦ªà¦¿ à¦‰à¦²à§à¦Ÿà¦¾à¦¨";
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "as";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "insert at";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Inserts the item at the start of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Inserts the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Append the item to the end of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Inserts the item randomly in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Sets the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Sets the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Sets the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Sets a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";  // untranslated
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "ascending";  // untranslated
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "descending";  // untranslated
+Blockly.Msg["LISTS_SORT_TITLE"] = "sort %1 %2 %3";  // untranslated
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Sort a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "alphabetic, ignore case";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "numeric";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "alphabetic";  // untranslated
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "লিখা à¦¥à§‡à¦•à§‡ à¦¤à¦¾à¦²à¦¿à¦•à¦¾ à¦¤à§ˆà¦°à¦¿ à¦•à¦°à§à¦¨";
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "তালিকা à¦¥à§‡à¦•à§‡ à¦²à¦¿à¦–া à¦¤à§ˆà¦°à¦¿ à¦•à¦°à§à¦¨";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Join a list of texts into one text, separated by a delimiter.";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Split text into a list of texts, breaking at each delimiter.";  // untranslated
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "with delimiter";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "মিথà§à¦¯à¦¾";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "পাঠাবে à¦¹à¦¯à¦¼ à¦¸à¦¤à§à¦¯ à¦…থবা à¦®à¦¿à¦¥à§à¦¯à¦¾à¥¤";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "সতà§à¦¯";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://en.wikipedia.org/wiki/Inequality_(mathematics)";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "পাঠাবে à¦¸à¦¤à§à¦¯ à¦¯à¦¦à¦¿ à¦‰à¦­à¦¯à¦¼ à¦‡à¦¨à¦ªà§à¦Ÿà¦‡ à¦¸à¦®à¦¾à¦¨ à¦¹à¦¯à¦¼à¥¤";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "পাঠাবে à¦¸à¦¤à§à¦¯ à¦¯à¦¦à¦¿ à¦ªà§à¦°à¦¥à¦® à¦‡à¦¨à¦ªà§à¦Ÿ à¦¦à§à¦¬à¦¿à¦¤à§€à¦¯à¦¼ à¦‡à¦¨à¦ªà§à¦Ÿ à¦¥à§‡à¦•à§‡ à¦¬à¦¡à¦¼ à¦¹à¦¯à¦¼à¥¤";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "পাঠাবে à¦¸à¦¤à§à¦¯ à¦¯à¦¦à¦¿ à¦ªà§à¦°à¦¥à¦® à¦‡à¦¨à¦ªà§à¦Ÿ à¦¦à§à¦¬à¦¿à¦¤à§€à¦¯à¦¼ à¦‡à¦¨à¦ªà§à¦Ÿ à¦¥à§‡à¦•à§‡ à¦¬à¦¡à¦¼ à¦…থবা à¦¸à¦®à¦¾à¦¨ à¦¹à¦¯à¦¼à¥¤";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "পাঠাবে à¦¸à¦¤à§à¦¯ à¦¯à¦¦à¦¿ à¦ªà§à¦°à¦¥à¦® à¦‡à¦¨à¦ªà§à¦Ÿ à¦¦à§à¦¬à¦¿à¦¤à§€à¦¯à¦¼ à¦‡à¦¨à¦ªà§à¦Ÿ à¦¥à§‡à¦•à§‡ à¦›à§‹à¦Ÿ à¦¹à¦¯à¦¼à¥¤";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "পাঠাবে à¦¸à¦¤à§à¦¯ à¦¯à¦¦à¦¿ à¦ªà§à¦°à¦¥à¦® à¦‡à¦¨à¦ªà§à¦Ÿ à¦¦à§à¦¬à¦¿à¦¤à§€à¦¯à¦¼ à¦‡à¦¨à¦ªà§à¦Ÿ à¦¥à§‡à¦•à§‡ à¦›à§‹à¦Ÿ à¦…থবা à¦¸à¦®à¦¾à¦¨ à¦¹à¦¯à¦¼à¥¤";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "পাঠাবে à¦¸à¦¤à§à¦¯ à¦¯à¦¦à¦¿ à¦‰à¦­à¦¯à¦¼ à¦‡à¦¨à¦ªà§à¦Ÿà¦‡ à¦¸à¦®à¦¾à¦¨ à¦¨à¦¾ à¦¹à¦¯à¦¼à¥¤";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "%1 à¦¨à¦¯à¦¼";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "পাঠাবে à¦¸à¦¤à§à¦¯ à¦¯à¦¦à¦¿ à¦‡à¦¨à¦ªà§à¦Ÿ à¦®à¦¿à¦¥à§à¦¯à¦¾ à¦¹à¦¯à¦¼à¥¤ à¦ªà¦¾à¦ à¦¾à¦¬à§‡ à¦®à¦¿à¦¥à§à¦¯à¦¾ à¦¯à¦¦à¦¿ à¦‡à¦¨à¦ªà§à¦Ÿ à¦¸à¦¤à§à¦¯ à¦¹à¦¯à¦¼à¥¤";
+Blockly.Msg["LOGIC_NULL"] = "কিছৠনা";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";  // untranslated
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "কিছৠফেরত à¦¦à¦¿à¦¬à§‡ à¦¨à¦¾à¥¤";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "à¦à¦¬à¦‚";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "অথবা";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "পাঠাবে à¦¸à¦¤à§à¦¯ à¦¯à¦¦à¦¿ à¦‰à¦­à¦¯à¦¼ à¦‡à¦¨à¦ªà§à¦Ÿà¦‡ à¦¸à¦¤à§à¦¯ à¦¹à¦¯à¦¼à¥¤";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "পাঠাবে à¦¸à¦¤à§à¦¯ à¦¯à¦¦à¦¿ à¦…নà§à¦¤à¦¤à¦ªà¦•à§à¦·à§‡ à¦¯à§‡à¦•à§‹à¦¨ à¦à¦•à¦Ÿà¦¿ à¦‡à¦¨à¦ªà§à¦Ÿ à¦¸à¦¤à§à¦¯ à¦¹à¦¯à¦¼à¥¤";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "পরীকà§à¦·à¦¾";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "যদি à¦®à¦¿à¦¥à§à¦¯à¦¾ à¦¹à¦¯à¦¼";
+Blockly.Msg["LOGIC_TERNARY_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.";  // untranslated
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://en.wikipedia.org/wiki/Arithmetic";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "পাঠাবে à¦¦à§à¦Ÿà¦¿ à¦¸à¦‚খà§à¦¯à¦¾à¦° à¦¯à§‹à¦—ফল।";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "পাঠাবে à¦¦à§à¦Ÿà¦¿ à¦¸à¦‚খà§à¦¯à¦¾à¦° à¦­à¦¾à¦—ফল।";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "পাঠাবে à¦¦à§à¦Ÿà¦¿ à¦¸à¦‚খà§à¦¯à¦¾à¦° à¦¬à¦¿à¦¯à¦¼à§‹à¦—ফল।";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "পাঠাবে à¦¦à§à¦Ÿà¦¿ à¦¸à¦‚খà§à¦¯à¦¾à¦° à¦—à§à¦£à¦«à¦²à¥¤";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Return the first number raised to the power of the second number.";  // untranslated
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";  // untranslated
+Blockly.Msg["MATH_CHANGE_TITLE"] = "%2 à¦¦à§à¦¬à¦¾à¦°à¦¾ %1 à¦ªà¦°à¦¿à¦¬à¦°à§à¦¤à¦¨";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Add a number to variable '%1'.";  // untranslated
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://en.wikipedia.org/wiki/Mathematical_constant";  // untranslated
+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).";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "constrain %1 low %2 high %3";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Constrain a number to be between the specified limits (inclusive).";  // untranslated
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";  // untranslated
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "দà§à¦¬à¦¾à¦°à¦¾ à¦¬à¦¿à¦­à¦¾à¦œà§à¦¯";
+Blockly.Msg["MATH_IS_EVEN"] = "জোড় à¦¸à¦‚খà§à¦¯à¦¾";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "নেতিবাচক";
+Blockly.Msg["MATH_IS_ODD"] = "বিজোড় à¦¸à¦‚খà§à¦¯à¦¾";
+Blockly.Msg["MATH_IS_POSITIVE"] = "ইতিবাচক";
+Blockly.Msg["MATH_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.";  // untranslated
+Blockly.Msg["MATH_IS_WHOLE"] = "is whole";  // untranslated
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://en.wikipedia.org/wiki/Modulo_operation";  // untranslated
+Blockly.Msg["MATH_MODULO_TITLE"] = "%1 Ã· %2 à¦à¦° à¦­à¦¾à¦—শেষ";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Return the remainder from dividing the two numbers.";  // untranslated
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";  // untranslated
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://bn.wikipedia.org/wiki/সংখà§à¦¯à¦¾";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "à¦à¦•à¦Ÿà¦¿ à¦¸à¦‚খà§à¦¯à¦¾à¥¤";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "তালিকার à¦—ড়";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "তালিকার à¦®à¦§à§à¦¯à§‡ à¦¸à¦°à§à¦¬à§‹à¦šà§à¦š";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "তালিকার à¦®à¦§à§à¦¯à¦®à¦¾";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "তালিকার à¦®à¦§à§à¦¯à§‡ à¦¸à¦°à§à¦¬à¦¨à¦¿à¦®à§à¦¨";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "modes of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "তালিকার à¦à¦²à§‹à¦®à§‡à¦²à§‹ à¦ªà¦¦";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "standard deviation of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "তালিকার à¦¯à§‹à¦—ফল";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "পাঠাবে à¦¤à¦¾à¦²à¦¿à¦•à¦¾à¦° à¦¸à¦¬ à¦¸à¦‚খà§à¦¯à¦¾à¦° à¦—ড়।";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "তালিকার à¦®à¦§à§à¦¯à§‡ à¦¸à¦°à§à¦¬à§‹à¦šà§à¦š à¦¸à¦‚খà§à¦¯à¦¾à¦Ÿà¦¿ à¦ªà¦¾à¦ à¦¾à¦“";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "তালিকার à¦®à¦§à§à¦¯à¦®à¦¾ à¦¸à¦‚খà§à¦¯à¦¾à¦Ÿà¦¿ à¦ªà¦¾à¦ à¦¾à¦¬à§‡à¥¤";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "তালিকার à¦®à¦§à§à¦¯à§‡ à¦¸à¦°à§à¦¬à¦¨à¦¿à¦®à§à¦¨ à¦¸à¦‚খà§à¦¯à¦¾à¦Ÿà¦¿ à¦ªà¦¾à¦ à¦¾à¦“";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Return a list of the most common item(s) in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "তালিকা à¦¥à§‡à¦•à§‡ à¦à¦²à§‹à¦®à§‡à¦²à§‹à¦­à¦¾à¦¬à§‡ à¦à¦•à¦Ÿà¦¿ à¦ªà¦¦ à¦ªà¦¾à¦ à¦¾à¦¬à§‡à¥¤";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Return the standard deviation of the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "পাঠাবে à¦¤à¦¾à¦²à¦¿à¦•à¦¾à¦° à¦¸à¦¬ à¦¸à¦‚খà§à¦¯à¦¾à¦° à¦¯à§‹à¦—ফল।";
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "à¦à¦²à§‹à¦®à§‡à¦²à§‹ à¦­à¦—à§à¦¨à¦¾à¦‚শ";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Return a random fraction between 0.0 (inclusive) and 1.0 (exclusive).";  // untranslated
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";  // untranslated
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "random integer from %1 to %2";  // untranslated
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Return a random integer between the two specified limits, inclusive.";  // untranslated
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://en.wikipedia.org/wiki/Rounding";  // untranslated
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "round";  // untranslated
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "round down";  // untranslated
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "round up";  // untranslated
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Round a number up or down.";  // untranslated
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://en.wikipedia.org/wiki/Square_root";  // untranslated
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "পরম";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "বরà§à¦—মূল";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "পাঠাবে à¦¸à¦‚খà§à¦¯à¦¾à¦° à¦ªà¦°à¦®à¦®à¦¾à¦¨à¥¤";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Return e to the power of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "Return the natural logarithm of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "Return the base 10 logarithm of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Return the negation of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Return 10 to the power of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "পাঠাবে à¦à¦•à¦Ÿà¦¿ à¦¸à¦‚খà§à¦¯à¦¾à¦° à¦¬à¦°à§à¦—মূল।";
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";  // untranslated
+Blockly.Msg["MATH_TRIG_ACOS"] = "acos";  // untranslated
+Blockly.Msg["MATH_TRIG_ASIN"] = "asin";  // untranslated
+Blockly.Msg["MATH_TRIG_ATAN"] = "atan";  // untranslated
+Blockly.Msg["MATH_TRIG_COS"] = "cos";  // untranslated
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://en.wikipedia.org/wiki/Trigonometric_functions";  // untranslated
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";  // untranslated
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Return the arccosine of a number.";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Return the arcsine of a number.";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Return the arctangent of a number.";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Return the cosine of a degree (not radian).";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Return the sine of a degree (not radian).";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Return the tangent of a degree (not radian).";  // untranslated
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Create colour variable...";  // untranslated
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Create number variable...";  // untranslated
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Create string variable...";  // untranslated
+Blockly.Msg["NEW_VARIABLE"] = "চলক à¦¤à§ˆà¦°à¦¿ à¦•à¦°à§à¦¨...";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "নতà§à¦¨ à¦šà¦²à¦•à§‡à¦° à¦¨à¦¾à¦®:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "New variable type:";  // untranslated
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "allow statements";  // untranslated
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "with:";  // untranslated
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Run the user-defined function '%1'.";  // untranslated
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Run the user-defined function '%1' and use its output.";  // untranslated
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "with:";  // untranslated
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "Create '%1'";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Describe this function...";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "do something";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "à¦à¦¤à§‡";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "আউটপà§à¦Ÿ à¦›à¦¾à¦¡à¦¼à¦¾ à¦à¦•à¦Ÿà¦¿ à¦•à§à¦°à¦¿à¦¯à¦¼à¦¾ à¦¤à§ˆà¦°à¦¿ à¦•à¦°à§à¦¨à¥¤";
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "পাঠাবে";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "আউটপà§à¦Ÿ à¦¸à¦¹ à¦à¦•à¦Ÿà¦¿ à¦•à§à¦°à¦¿à¦¯à¦¼à¦¾ à¦¤à§ˆà¦°à¦¿ à¦•à¦°à§à¦¨à¥¤";
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "Warning: This function has duplicate parameters.";  // untranslated
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "কà§à¦°à¦¿à¦¯à¦¼à¦¾à¦° à¦¸à¦‚জà§à¦žà¦¾ à¦‰à¦œà§à¦œà¦² à¦•à¦°à§à¦¨";
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "যদি à¦®à¦¾à¦¨ à¦¸à¦¤à§à¦¯ à¦¹à¦¯à¦¼ à¦¤à¦¾à¦¹à¦²à§‡ à¦¦à§à¦¬à¦¿à¦¤à§€à¦¯à¦¼ à¦®à¦¾à¦¨ à¦ªà¦¾à¦ à¦¾à¦¬à§‡à¥¤";
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "Warning: This block may be used only within a function definition.";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "ইনপà§à¦Ÿà§‡à¦° à¦¨à¦¾à¦®:";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "কà§à¦°à¦¿à¦¯à¦¼à¦¾à¦¤à§‡ à¦à¦•à¦Ÿà¦¿ à¦‡à¦¨à¦ªà§à¦Ÿ à¦¯à§‹à¦— à¦•à¦°à§à¦¨à¥¤";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "inputs";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Add, remove, or reorder inputs to this function.";  // untranslated
+Blockly.Msg["REDO"] = "পà§à¦¨à¦°à¦¾à¦¯à¦¼ à¦•à¦°à§à¦¨";
+Blockly.Msg["REMOVE_COMMENT"] = "মনà§à¦¤à¦¬à§à¦¯ à¦¸à¦°à¦¾à¦“";
+Blockly.Msg["RENAME_VARIABLE"] = "চলকের à¦¨à¦¾à¦® à¦ªà¦°à¦¿à¦¬à¦°à§à¦¤à¦¨...";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "'%1' à¦šà¦²à¦•à¦—à§à¦²à§‹à¦° à¦¨à¦¤à§à¦¨ à¦¨à¦¾à¦® à¦¦à¦¿à¦¨:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "to %1 append text %2";  // untranslated
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Append some text to variable '%1'.";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "ছোটহাতের à¦…কà§à¦·à¦°à§‡";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "to Title Case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "বড়হাতের à¦…কà§à¦·à¦°à§‡";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Return a copy of the text in a different case.";  // untranslated
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "get first letter";  // untranslated
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "get letter # from end";  // untranslated
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "get letter #";  // untranslated
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "get last letter";  // untranslated
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "get random letter";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "in text %1 %2";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Returns the letter at the specified position.";  // untranslated
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";  // untranslated
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "count %1 in %2";  // untranslated
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Count how many times some text occurs within some other text.";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "লেখাটিতে à¦à¦•à¦Ÿà¦¿ à¦ªà¦¦ à¦¯à§‹à¦— à¦•à¦°à§à¦¨à¥¤";
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "যোগ";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this text block.";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "to letter # from end";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "to letter #";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "to last letter";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "in text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "get substring from first letter";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "get substring from letter # from end";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "get substring from letter #";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Returns a specified portion of the text.";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "find first occurrence of text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "find last occurrence of text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "in text %1 %2 %3";  // untranslated
+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.";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 à¦–ালি";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "পাঠাবে à¦¸à¦¤à§à¦¯ à¦¯à¦¦à¦¿ à¦¸à¦°à¦¬à¦°à¦¾à¦¹à¦•à§ƒà¦¤ à¦²à§‡à¦–াটি à¦–ালি à¦¹à¦¯à¦¼à¥¤";
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "create text with";  // untranslated
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Create a piece of text by joining together any number of items.";  // untranslated
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "%1-à¦à¦° à¦¦à§ˆà¦°à§à¦˜à§à¦¯";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Returns the number of letters (including spaces) in the provided text.";  // untranslated
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "%1 à¦®à§à¦¦à§à¦°à¦£ à¦•à¦°à§à¦¨";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Print the specified text, number or other value.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Prompt for user for a number.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Prompt for user for some text.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "prompt for number with message";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "prompt for text with message";  // untranslated
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";  // untranslated
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "replace %1 with %2 in %3";  // untranslated
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Replace all occurances of some text within some other text.";  // untranslated
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "%1 à¦‰à¦²à§à¦Ÿà¦¾à¦¨";
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Reverses the order of the characters in the text.";  // untranslated
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://en.wikipedia.org/wiki/String_(computer_science)";  // untranslated
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "à¦à¦•à¦Ÿà¦¿ à¦…কà§à¦·à¦°, à¦¶à¦¬à§à¦¦ à¦…থবা à¦¬à¦¾à¦•à§à¦¯à¥¤";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "উভয় à¦ªà¦¾à¦¶ à¦¥à§‡à¦•à§‡ à¦–ালি à¦…ংশ à¦›à¦¾à¦Ÿà¦¾à¦‡";
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "বামপাশ à¦¥à§‡à¦•à§‡ à¦–ালি à¦…ংশ à¦›à¦¾à¦Ÿà¦¾à¦‡";
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "ডানপাশ à¦¥à§‡à¦•à§‡ à¦–ালি à¦…ংশ à¦›à¦¾à¦Ÿà¦¾à¦‡";
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Return a copy of the text with spaces removed from one or both ends.";  // untranslated
+Blockly.Msg["TODAY"] = "আজ";
+Blockly.Msg["UNDO"] = "পূরà§à¦¬à¦¾à¦¬à¦¸à§à¦¥à¦¾";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "পদ";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Create 'set %1'";  // untranslated
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Returns the value of this variable.";  // untranslated
+Blockly.Msg["VARIABLES_SET"] = "set %1 to %2";  // untranslated
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "'%1 à¦¨à¦¿à¦¨' à¦¤à§ˆà¦°à¦¿ à¦•à¦°à§à¦¨";
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Sets this variable to be equal to the input.";  // untranslated
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "'%1' à¦¨à¦¾à¦®à§‡à¦° à¦šà¦²à¦• à¦ªà§‚রà§à¦¬ à¦¥à§‡à¦•à§‡ à¦…াছে।";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "'%1' à¦¨à¦¾à¦®à§‡à¦° à¦šà¦²à¦• '%2' à¦§à¦°à¦¨à§‡à¦° à¦šà¦²à¦•à§‡à¦° à¦œà¦¨à§à¦¯ à¦ªà§‚রà§à¦¬ à¦¥à§‡à¦•à§‡à¦‡ à¦…াছে।";
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something...";  // untranslated
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/br.js b/js/msg/js/br.js
new file mode 100644 (file)
index 0000000..30dda36
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.br');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "Ouzhpennañ un evezhiadenn";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "Ne ch'aller ket dilemel an argemmenn \"%1\" dre m'eo lod eus dielfennadur an arc'hwel \"%2\"";
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "Kemmañ an dalvoudenn :";
+Blockly.Msg["CLEAN_UP"] = "Naetaat ar bloc'hoù";
+Blockly.Msg["COLLAPSE_ALL"] = "Bihanaat ar bloc'hoù";
+Blockly.Msg["COLLAPSE_BLOCK"] = "Bihanaat ar bloc'h";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "liv 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "liv 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";  // untranslated
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "feur";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "meskañ";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "a gemmesk daou liv gant ur feur roet(0.0 - 1.0).";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "http://br.wikipedia.org/wiki/Liv";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "Dibab ul liv diwar al livaoueg.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "liv dargouezhek";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "Tennañ ul liv d'ar sord";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "glas";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "gwer";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";  // untranslated
+Blockly.Msg["COLOUR_RGB_RED"] = "ruz";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "liv gant";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "Krouiñ ul liv gant ar c'hementad spisaet a ruz, a wer hag a c'hlas. Etre 0 ha 100 e tle bezañ an holl dalvoudoù.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "Mont e-maez an adlañsañ";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "Kenderc'hel gant iteradur nevez ar rodell";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "Mont e-maez ar boukl engronnus.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "Lammat ar rest eus ar rodell, ha kenderc'hel gant an iteradur war-lerc'h.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "Diwallit : ne c'hall ar bloc'h-mañ bezañ implijet nemet e-barzh ur boukl.";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "evit pep elfenn %1 er roll %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "Evit pep elfenn en ur roll, reiñ talvoud an elfenn d'an argemmenn '%1', ha seveniñ urzhioù zo da c'houde.";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "kontañ gant %1 eus %2 da %3 dre %4";
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "Ober e doare ma kemero an argemmenn \"%1\" an talvoudennoù adalek niverenn an deroù betek niverenn an dibenn, en ur inkremantiñ an esaouenn, ha seveniñ an urzhioù spisaet.";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "Ouzhpennañ un amplegad d'ar bloc'h ma.";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "Ouzhpennañ un amplegad dibenn lak-pep-tra d'ar bloc'h ma.";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Ouzhpennañ, lemel pe adurzhiañ ar rannoù evit kefluniañ ar bloc'h ma.";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "a-hend-all";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "mod all ma";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "ma";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "Ma vez gwir un dalvoudenn, seveniñ urzhioù zo neuze.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "Ma vez gwir un dalvoudenn, seveniñ ar c'henañ bloc'had urzhioù neuze. Anez seveniñ an eil bloc'had urzhioù.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "Ma vez gwir an dalvoudenn gentañ, seveniñ ar c'hentañ bloc'had urzhioù neuze. Anez ma vez gwir an eil talvoudenn, seveniñ an eil bloc'had urzhioù.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "Ma vez gwir an dalvoudenn gentañ, seveniñ ar c'hentañ bloc'had. Anez, ma vez gwir an eil talvoudenn, seveniñ an eil bloc'had urzhioù. Ma ne vez gwir talvoudenn ebet, seveniñ ar bloc'had diwezhañ a urzhioù.";
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://en.wikipedia.org/wiki/For_loop";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "ober";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "adober %1 gwech";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "Seveniñ urzhioù zo meur a wech";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "adober betek";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "adober keit ha ma";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "Keit ha ma vez faos un dalvoudenn, seveniñ urzhioù zo neuze.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "Keit ha ma vez gwir un dalvoudenn, seveniñ urzhioù zo neuze.";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "Diverkañ an holl vloc'hoù %1 ?";
+Blockly.Msg["DELETE_BLOCK"] = "Dilemel ar bloc'h";
+Blockly.Msg["DELETE_VARIABLE"] = "Lemel an argemm '%1'";
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Lemel %1 implij eus an argemm '%2' ?";
+Blockly.Msg["DELETE_X_BLOCKS"] = "Dilemel %1 bloc'h";
+Blockly.Msg["DISABLE_BLOCK"] = "Diweredekaat ar bloc'h";
+Blockly.Msg["DUPLICATE_BLOCK"] = "Eiladuriñ";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicate Comment";  // untranslated
+Blockly.Msg["ENABLE_BLOCK"] = "Gweredekaat ar bloc'h";
+Blockly.Msg["EXPAND_ALL"] = "Astenn ar bloc'hoù";
+Blockly.Msg["EXPAND_BLOCK"] = "Astenn ar bloc'h";
+Blockly.Msg["EXTERNAL_INPUTS"] = "Monedoù diavaez";
+Blockly.Msg["HELP"] = "Skoazell";
+Blockly.Msg["INLINE_INPUTS"] = "Monedoù enlinenn";
+Blockly.Msg["IOS_CANCEL"] = "Nullañ";
+Blockly.Msg["IOS_ERROR"] = "Fazi";
+Blockly.Msg["IOS_OK"] = "Mat eo";
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Ouzhpennañ ur moned";
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Urzhioù aotreet";
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "An arc'hwel-mañ en deus monedoù eiladet.";
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "MONEDOÙ";
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "Ouzhpennañ";
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Ouzhpennañ un argemmenn";
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "Diverkañ";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "Ne c'hallit ket implijout un anv argemmenn c'houllo.";
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Adenvel";
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Anv an argemmenn";
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "krouiñ ur roll goullo";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Distreiñ ul listenn, 0 a hirder, n'eus enrolladenn ebet enni";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "roll";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Ouzhpennañ, lemel pe adurzhiañ ar rannoù evit kefluniañ ar bloc'h listenn-mañ.";
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "krouiñ ur roll gant";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Ouzhpennañ un elfenn d'ar roll";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Krouiñ ur roll gant un niver bennak a elfennoù.";
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "kentañ";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "# adalek ar fin";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "tapout";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "tapout ha lemel";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "diwezhañ";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "dre zegouezh";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "lemel";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Distreiñ an elfenn gentañ en ul listenn.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Distreiñ an elfenn el lec'h meneget en ul listenn.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Distreiñ un elfenn diwezhañ en ul listenn.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Distreiñ un elfenn dre zegouezh en ul listenn.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "Lemel ha distreiñ a ra an elfenn gentañ en ul listenn.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "Lemel ha distreiñ a ra an elfenn el lec'h meneget en ul listenn.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "Lemel ha distreiñ a ra an elfenn diwezhañ en ul listenn.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Lemel ha distreiñ a ra an elfenn dre zegouezh en ul listenn.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "Lemel a ra an elfenn gentañ en ul listenn.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "Lemel a ra an elfenn el lec'h meneget en ul listenn.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "Lemel a ra an elfenn diwezhañ en ul listenn.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Lemel a ra un elfenn dre zegouezh en ul listenn.";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "betek # adalek an dibenn";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "da #";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "betek ar fin";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "Kaout an islistenn adalek an deroù";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "Kaout an islistenn adalek # adalek an dibenn";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "Kaout an islistenn adalek #";
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Krouiñ un eilad eus lodenn spisaet ul listenn.";
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 eo an elfenn gentañ.";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 eo an elfenn gentañ.";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "kavout reveziadenn gentañ un elfenn";
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "kavout reveziadenn diwezhañ un elfenn";
+Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "Distreiñ meneger ar c'hentañ/an eil reveziadenn eus an elfenn en ul listenn. Distreiñ %1 ma n'eo ket kavet an destenn.";
+Blockly.Msg["LISTS_INLIST"] = "el listenn";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 zo goullo";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Distreiñ gwir m'eo goullo al listenn.";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "hirder %1";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Distreiñ hirder ul listenn.";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "Krouiñ ul listenn gant an elfenn %1 arreet %2 div wech";
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Krouiñ ul listenn a c'hoarvez eus an dalvoudenn roet arreet an niver a wech meneget";
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "eilpennañ %1";
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Eilpennañ un eilskrid eus ur roll.";
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "evel";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "ensoc'hañ evel";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "termenañ";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Ensoc'hañ a ra an elfenn e deroù ul listenn.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Ensoc'hañ a ra an elfenn el lec'h meneget en ul listenn.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Ouzhpennañ a ra an elfenn e fin al listenn.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Ensoc'hañ a ra an elfenn dre zegouezh en ul listenn.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Termenañ a ra an elfenn gentañ en ul listenn.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Termenañ a ra an elfenn el lec'h meneget en ul listenn.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Termenañ a ra an elfenn diwezhañ en ul listenn.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Termenañ a ra un elfenn dre zegouezh en ul listenn.";
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "war gresk";
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "war zigresk";
+Blockly.Msg["LISTS_SORT_TITLE"] = "Rummañ%1,%2,%3";
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Rummañ un eilenn eus ar roll";
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "Dre urzh al lizherenneg, hep derc'hel kont eus an direnneg";
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "niverel";
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "Dre urzh al lizherenneg";
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "Krouiñ ul listenn diwar an destenn";
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "Krouiñ un destenn diwar al listenn";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Bodañ ul listennad testennoù en ul listenn hepken, o tispartiañ anezho gant un dispartier.";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Troc'hañ un destenn en ul listennad testennoù, o troc'hañ e pep dispartier.";
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "gant an dispartier";
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "gaou";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "Distreiñ pe gwir pe faos";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "gwir";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://en.wikipedia.org/wiki/Inequality_(mathematics)";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Distreiñ gwir m'eo par an daou voned.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Distreiñ gwir m'eo brasoc'h ar moned kentañ eget an eil.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Distreiñ gwir m'eo brasoc'h ar moned kentañ eget an eil pe par dezhañ.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "Distreiñ gwir m'eo bihanoc'h ar moned kentañ eget an eil.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "Distreiñ gwir m'eo bihanoc'h ar moned kentañ eget an eil pe m'eo par dezhañ.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "Distreiñ gwir ma n'eo ket par an daou voned.";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "nann %1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "Distreiñ gwir m'eo faos ar moned. Distreiñ faos m'eo gwir ar moned.";
+Blockly.Msg["LOGIC_NULL"] = "Null";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";  // untranslated
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "Distreiñ null.";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "ha(g)";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "pe";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "Distreiñ gwir m'eo gwir an da daou voned.";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "Distreiñ gwir m'eo gwir unan eus an daou voned da nebeutañ.";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "amprouad";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "m'eo gaou";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "m'eo gwir";
+Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "Gwiriañ an amplegad e 'prouad'. M'eo gwir an amplegad, distreiñ an dalvoudenn 'm'eo gwir'; anez distreiñ ar moned 'm'eo faos'.";
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://br.wikipedia.org/wiki/Aritmetik";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Distreiñ sammad daou niver.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Distreiñ rannad daou niver.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Distreiñ diforc'h daou niver";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Distreiñ liesad daou niver.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Distreiñ an niver kentañ lakaet dindan gallouter an eil niver.";
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";
+Blockly.Msg["MATH_CHANGE_TITLE"] = "kemmañ %1 gant %2";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Ouzhpennañ un niver d'an argemmenn '%1'.";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://en.wikipedia.org/wiki/Mathematical_constant";
+Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "Distreiñ unan eus  digemmennoù red : Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), or âˆž (anvevenn).";
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "destrizhañ %1 etre %2 ha %3";
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Destrizhañ un niver da vezañ etre ar bevennoù spisaet (enlakaet)";
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";  // untranslated
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "a zo rannadus dre";
+Blockly.Msg["MATH_IS_EVEN"] = "zo par";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "a zo negativel";
+Blockly.Msg["MATH_IS_ODD"] = "zo ampar";
+Blockly.Msg["MATH_IS_POSITIVE"] = "a zo pozitivel";
+Blockly.Msg["MATH_IS_PRIME"] = "zo kentañ";
+Blockly.Msg["MATH_IS_TOOLTIP"] = "Gwiriañ m'eo par, anpar, kentañ, muiel, leiel un niverenn pe ma c'haller rannañ anezhi dre un niver roet zo. Distreiñ gwir pe faos.";
+Blockly.Msg["MATH_IS_WHOLE"] = "zo anterin";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://en.wikipedia.org/wiki/Modulo_operation";
+Blockly.Msg["MATH_MODULO_TITLE"] = "rest eus %1 ÷ %2";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Distreiñ dilerc'h rannadur an div niver";
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";  // untranslated
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://br.wikipedia.org/wiki/Niver";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "Un niver.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "Keitat al listenn";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "Uc'hegenn al listenn";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "Kreizad al listenn";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "Izegenn al listenn";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "modoù stankañ el listenn";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "Elfennn eus al listenn tennet d'ar sord";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "forc'had standart eus al listenn";
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "Sammad al listenn";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Distreiñ keitad (niveroniel) an talvoudennoù niverel el listenn.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "Distreiñ an niver brasañ el listenn.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "Distreiñ an niver kreiz el listenn";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "Distreiñ an niver bihanañ el listenn";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Distreiñ ul listennad elfennoù stankoc'h el listenn.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Distreiñ un elfenn zargouezhek el listenn";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Distreiñ forc'had standart al listenn.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Distreiñ sammad an holl niveroù zo el listenn.";
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "Rann dargouezhek";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Distreiñ ur rann dargouezhek etre 0.0 (enkaelat) hag 1.0 (ezkaelat).";
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "anterin dargouezhek etre %1 ha %2";
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Distreiñ un anterin dargouezhek etre an div vevenn spisaet, endalc'het.";
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://en.wikipedia.org/wiki/Rounding";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "Rontaat";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "Rontaat dindan";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "Rontaat a-us";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Rontaat un niver dindan pe a-us";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://br.wikipedia.org/wiki/Square_root";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "dizave";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "gwrizienn garrez";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Distreiñ talvoud dizave un niver.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Distreiñ galloudad un niver.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "Distreiñ logaritm naturel un niver";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "Distreiñ logaritm diazez 10 un niver";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Distreiñ enebad un niver";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Distreiñ 10 da c'halloudad un niver.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Distreiñ gwrizienn garrez un niver";
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";  // untranslated
+Blockly.Msg["MATH_TRIG_ACOS"] = "acos";  // untranslated
+Blockly.Msg["MATH_TRIG_ASIN"] = "asin";  // untranslated
+Blockly.Msg["MATH_TRIG_ATAN"] = "atan";  // untranslated
+Blockly.Msg["MATH_TRIG_COS"] = "cos";  // untranslated
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://br.wikipedia.org/wiki/Trigonometric_functions";
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";  // untranslated
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Distreiñ ark kosinuz un niver";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Distreiñ ark sinuz un niver";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Distreiñ ark tangent un niver";
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Distreiñ kosinuz ur c'horn (ket e radianoù)";
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Distreiñ sinuz ur c'horn (ket e radianoù)";
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Distreiñ tangent ur c'horn (ket e radianoù).";
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Krouiñ un argemmenn liv...";
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Krouiñ un argemm niver...";
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Krouiñ un argemmenn chadenn...";
+Blockly.Msg["NEW_VARIABLE"] = "Krouiñ un argemmenn nevez...";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "Anv an argemmenn nevez :";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "Doare nevez a argemm:";
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "aotren an disklêriadurioù";
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "gant :";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Seveniñ an arc'hwel '%1' termenet gant an implijer.";
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Seveniñ an arc'hwel '%1' termenet gant an implijer hag implijout e zisoc'h.";
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "gant :";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "Krouiñ '%1'";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Deskrivañ an arc'hwel-mañ...";
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "ober un dra bennak";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "da";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Krouiñ un arc'hwel hep mont er-maez.";
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "distreiñ";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "Kouiñ un arc'hwel gant ur mont er-maez";
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "Diwallit : an arc'hwel-mañ en deus arventennoù eiladet.";
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "Dreislinennañ termenadur an arc'hwel";
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "Ma'z eo gwir un dalvoudenn, distreiñ un eil talvoudenn neuze.";
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "Diwallit : Gallout a rafe ar bloc'h bezañ implijet e termenadur un arc'hwel hepken.";
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "Anv ar moned";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Ouzhpennañ ur moned d'an arc'hwel.";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "Monedoù";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Ouzhpennañ, lemel, pe adkempenn monedoù an arc'hwel-mañ.";
+Blockly.Msg["REDO"] = "Adober";
+Blockly.Msg["REMOVE_COMMENT"] = "Lemel an evezhiadenn kuit";
+Blockly.Msg["RENAME_VARIABLE"] = "Adenvel an argemmenn...";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Adenvel an holl argemmennoù '%1' e :";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "Ouzhpennañ an destenn %2 da %1";
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Ouzhpennañ testenn d'an argemmenn'%1'.";
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "e lizherennoù bihan";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "Gant Ur Bennlizherenn E Deroù Pep Ger";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "e PENNLIZHERENNOÙ";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Distreiñ un eilenn eus an eilenn en un direnneg all";
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "tapout al lizherenn gentañ";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "Kaout al lizherenn # adalek an dibenn.";
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "Kaout al lizherenn #";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "tapout al lizherenn ziwezhañ";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "Kaout ul lizherenn dre zegouezh";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "en destenn %1 %2";
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Distreiñ al lizherenn d'al lec'h spisaet.";
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "niver %1 war %2";
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Kontañ pet gwech e c'hoarvez un destenn bennak en un destenn bennak all.";
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Ouzhpennañ un elfenn d'an destenn.";
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "stagañ";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Ouzhpennañ, lemel pe adurzhiañ ar rannoù evit kefluniañ ar bloc'h testenn-mañ.";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "Betek al lizherenn # adalek an dibenn.";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "betek al lizherenn #";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "d'al lizherenn diwezhañ";
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "en destenn";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "Kaout an ischadenn adalek al lizherenn gentañ";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "Kaout an ischadenn adalek al lizherenn # betek an dibenn";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "Kaout an ischadenn adalek al lizherenn #";
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Distreiñ un tamm spisaet eus an destenn.";
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "kavout reveziadenn gentañ an destenn";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "kavout reveziadenn diwezhañ an destenn";
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "en destenn %1 %2 %3";
+Blockly.Msg["TEXT_INDEXOF_TOOLTIP"] = "Distreiñ meneger ar c'hentañ/an eil reveziadenn eus ar chadenn gentañ en eil chadenn. Distreiñ %1 ma n'eo ket kavet ar chadenn.";
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 zo goullo";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Adkas gwir m'eo goullo an destenn roet.";
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "krouiñ un destenn gant";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Krouit un tamm testenn en ur gevelstrollañ un niver bennak a elfennoù";
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "hirder %1";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Distreiñ an niver a lizherennoù(en ur gontañ an esaouennoù e-barzh) en destenn roet.";
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "moullañ %1";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Moullañ an destenn, an niverenn pe un dalvoudenn spisaet all";
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Goulenn un niver gant an implijer.";
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Goulenn un destenn gant an implijer.";
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "pedadenn evit un niver gant ur c'hemennad";
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "pedadenn evit un destenn gant ur c'hemennad";
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "erlec'hiañ %1 gant %2 e %3";
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Erlec'hiañ holl reveziadennoù un destenn bennak gant un destenn all.";
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "eilpennañ %1";
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Eilpennañ urzh an arouezennoù en destenn.";
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://en.wikipedia.org/wiki/String_(computer_science)";
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "Ul lizherenn, ur ger pe ul linennad testenn.";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "Lemel an esaouennoù en daou du";
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "Lemel an esaouennoù eus an tu kleiz";
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "Lemel an esaouennoù eus an tu dehou";
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Distreiñ un eilenn eus an destenn gant an esaouennoù lamet eus un tu pe eus an daou du";
+Blockly.Msg["TODAY"] = "Hiziv";
+Blockly.Msg["UNDO"] = "Dizober";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "elfenn";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Krouiñ 'termenañ %1'";
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Distreiñ talvoud an argemm-mañ.";
+Blockly.Msg["VARIABLES_SET"] = "termenañ %1 da %2";
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Krouiñ 'kaout %1'";
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Termenañ a ra argemm-mañ evit ma vo par da dalvoudenn ar moned.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "Un argemmenn anvet '%1' zo anezhi dija.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "Un argemenn anvet '%1' zo c'hoazh evit un argemenn all eus ar seurt : '%2'.";
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something...";  // untranslated
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/ca.js b/js/msg/js/ca.js
new file mode 100644 (file)
index 0000000..7344196
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.ca');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "Afegeix un comentari";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "No podem esborrar la variable '%1' perquè forma part de la definició de la funció '%2'";
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "Canvia valor:";
+Blockly.Msg["CLEAN_UP"] = "Netejar blocs";
+Blockly.Msg["COLLAPSE_ALL"] = "Contraure blocs";
+Blockly.Msg["COLLAPSE_BLOCK"] = "Contraure bloc";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "color 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "color 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";  // untranslated
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "proporció";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "barreja";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "Barreja dos colors amb una proporció donada (0,0 - 1,0).";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://ca.wikipedia.org/wiki/Color";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "Escolliu un color de la paleta.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "color aleatori";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "Escolliu un color a l'atzar.";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "blau";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "verd";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";  // untranslated
+Blockly.Msg["COLOUR_RGB_RED"] = "vermell";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "color amb";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "Crear un color amb les quantitats especificades de vermell, verd i blau. Tots els valors han de ser entre 0 i 100.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "sortir del bucle";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "continuar amb la següent iteració del bucle";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "Sortir del bucle interior.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "Ometre la resta d'aquest bucle, i continuar amb la següent iteració.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "Advertència: Aquest bloc només es pot utilitzar dins d'un bucle.";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "per a cada element %1 en la llista %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "Per a cada element en la llista, desar l'element dins la variable '%1', i llavors executar unes sentències.";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "comptar amb %1 des de %2 fins a %3 en increments de %4";
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "Fer que la variable \"%1\" prengui els valors des del nombre inicial fins al nombre final, incrementant a cada pas l'intèrval indicat, i executar els blocs especificats.";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "Afegeix una condició al bloc 'si'.";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "Afegeix una condició final, que recull qualsevol altra possibilitat, al bloc 'si'.";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Afegeix, esborra o reordena seccions per reconfigurar aquest bloc 'si'.";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "si no";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "si no, si";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "si";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "Si un valor és cert, llavors executar unes sentències.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "Si un valor és cert, llavors executar el primer bloc de sentències. En cas contrari, executar el segon bloc de sentències.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "Si el primer valor és cert, llavors executar el primer bloc de sentències. En cas contrari, si el segon valor és cert, executar el segon bloc de sentències.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "Si el primer valor és cert, llavors executar el primer bloc de sentències. En cas contrari, si el segon valor és cert, executar el segon bloc de sentències. Si cap dels valors és cert, executar l'últim bloc de sentències.";
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://ca.wikipedia.org/wiki/Bucle_For";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "fer";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "repetir %1 vegades";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "Executar unes sentències diverses vegades.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "repetir fins que";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "repetir mentre";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "Mentre un valor sigui fals, llavors executar unes sentències.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "Mentre un valor sigui cert, llavors executar unes sentències.";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "Esborrar els %1 blocs?";
+Blockly.Msg["DELETE_BLOCK"] = "Esborra bloc";
+Blockly.Msg["DELETE_VARIABLE"] = "Esborrar la variable '%1'";
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Esborrar '%1' crides de la variable '%2'?";
+Blockly.Msg["DELETE_X_BLOCKS"] = "Esborra %1 blocs";
+Blockly.Msg["DISABLE_BLOCK"] = "Desactiva bloc";
+Blockly.Msg["DUPLICATE_BLOCK"] = "Duplica";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Comentari duplicat";
+Blockly.Msg["ENABLE_BLOCK"] = "Activa bloc";
+Blockly.Msg["EXPAND_ALL"] = "Expandir blocs";
+Blockly.Msg["EXPAND_BLOCK"] = "Expandir bloc";
+Blockly.Msg["EXTERNAL_INPUTS"] = "Entrades externes";
+Blockly.Msg["HELP"] = "Ajuda";
+Blockly.Msg["INLINE_INPUTS"] = "Entrades en línia";
+Blockly.Msg["IOS_CANCEL"] = "Cancel·lar";
+Blockly.Msg["IOS_ERROR"] = "Error";
+Blockly.Msg["IOS_OK"] = "D'acord";
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Afegeix Entrada";
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Permetre instruccions";
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "Aquesta funció té entrades duplicades.";
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "ENTRADES";
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "Afegir";
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Afegeix Variable";
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "Esborrar";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "You can't use an empty variable name.";  // untranslated
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Reanomena";
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Variable name";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "crear llista buida";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Retorna una llista, de longitud 0, que no conté cap dada.";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "llista";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Afegeix, esborra o reordena seccions per reconfigurar aquest bloc de llista.";
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "crear llista amb";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Afegeix un element a la llista.";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Crea una llista amb qualsevol nombre d'elements.";
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "primer";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "núm.# des del final";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "recupera";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "recupera i esborra";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "últim";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "a l'atzar";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "esborra";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Retorna el primer element d'una llista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Retorna l'element de la posició especificada a la llista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Retorna l'últim element d'una llista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Retorna un element a l'atzar d'una llista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "Esborra i retorna el primer element d'una llista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "Esborra i retorna l'element de la posició especificada de la llista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "Esborra i retorna l'últim element d'una llista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Esborra i retorna un element a l'atzar d'una llista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "Esborra el primer element d'una llista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "Esborra l'element de la posició especificada de la llista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "Esborra l'últim element d'una llista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Esborra un element a l'atzar d'una llista.";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "fins # des del final";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "fins #";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "fins l'últim";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "recupera sub-llista des del principi";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "recupera sub-llista des de # des del final";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "recupera sub-llista des de #";
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Crea una còpia de la part especificada d'una llista.";
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 és l'últim element.";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 és el primer element.";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "buscar primera aparició d'un element";
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "buscar última aparició d'un element";
+Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "Retorna l'índex de la primera/última aparició d'un element a la llista. Retorna %1 si no s'hi troba el text.";
+Blockly.Msg["LISTS_INLIST"] = "en la llista";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 és buida";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Retorna cert si la llista és buida.";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "longitud de %1";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Retorna la longitud d'una llista.";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "crea llista amb element %1 repetit %2 vegades";
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Crea una llista formada pel valor donat, repetit tantes vegades com s'indiqui.";
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";  // untranslated
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Reverse a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "com";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "insereix a";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "modifica";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Insereix l'element al principi d'una llista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Insereix l'element a la posició especificada d'una llista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Afegeix l'element al final d'una llista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Insereix l'element en una posició a l'atzar d'una llista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Modifica el primer element d'una llista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Modifica l'element de la posició especificada d'una llista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Modifica l'últim element d'una llista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Modifica un element a l'atzar d'una llista.";
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";  // untranslated
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "ascending";  // untranslated
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "descending";  // untranslated
+Blockly.Msg["LISTS_SORT_TITLE"] = "sort %1 %2 %3";  // untranslated
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Sort a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "alphabetic, ignore case";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "numeric";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "alphabetic";  // untranslated
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "make list from text";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "make text from list";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Join a list of texts into one text, separated by a delimiter.";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Split text into a list of texts, breaking at each delimiter.";  // untranslated
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "with delimiter";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "fals";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "Retorna o bé cert o bé fals.";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "cert";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://ca.wikipedia.org/wiki/Inequaci%C3%B3";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Retorna cert si totes dues entrades són iguals.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Retorna cert si la primera entrada és més gran que la segona entrada.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Retorna cert si la primera entrada és més gran o igual a la segona entrada.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "Retorna cert si la primera entrada és més petita que la segona entrada.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "Retorna cert si la primera entra és més petita o igual a la segona entrada.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "Retorna cert si totes dues entrades són diferents.";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "no %1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "Retorna cert si l'entrada és falsa. Retorna fals si l'entrada és certa.";
+Blockly.Msg["LOGIC_NULL"] = "nul";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";  // untranslated
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "Retorna nul.";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "i";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "o";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "Retorna cer si totes dues entrades són certes.";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "Retorna cert si almenys una de les entrades és certa.";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "condició";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "si és fals";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "si és cert";
+Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "Comprova la condició de 'condició'. Si la condició és certa, retorna el valor 'si és cert'; en cas contrari, retorna el valor 'si és fals'.";
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://ca.wikipedia.org/wiki/Aritm%C3%A8tica";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Retorna la suma dels dos nombres.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Retorna el quocient dels dos nombres.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Retorna la diferència entre els dos nombres.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Retorna el producte del dos nombres.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Retorna el primer nombre elevat a la potència indicada pel segon nombre.";
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://ca.wikipedia.org/wiki/Suma";
+Blockly.Msg["MATH_CHANGE_TITLE"] = "canvia %1 per %2";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Afegeix un nombre a la variable '%1'.";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://ca.wikipedia.org/wiki/Constant_matem%C3%A0tica";
+Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "Retorna una de les constants més habituals: Ï€ (3,141…), e (2,718…), Ï† (1,618…), sqrt(2) (1,414…), sqrt(½) (0,707…), o âˆž (infinit).";
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "limitar %1 entre %2 i %3";
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Limita un nombre perquè estigui entre els límits especificats (inclosos).";
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";  // untranslated
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "és divisible per";
+Blockly.Msg["MATH_IS_EVEN"] = "és parell";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "és negatiu";
+Blockly.Msg["MATH_IS_ODD"] = "és senar";
+Blockly.Msg["MATH_IS_POSITIVE"] = "és positiu";
+Blockly.Msg["MATH_IS_PRIME"] = "és primer";
+Blockly.Msg["MATH_IS_TOOLTIP"] = "Comprova si un nombre és parell, senar, enter, positium negatiu, o si és divisible per un cert nombre. Retorna cert o fals.";
+Blockly.Msg["MATH_IS_WHOLE"] = "és enter";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://ca.wikipedia.org/wiki/Residu_%28aritm%C3%A8tica%29";
+Blockly.Msg["MATH_MODULO_TITLE"] = "residu de %1 ÷ %2";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Retorna el residu de dividir els dos nombres.";
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";  // untranslated
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://ca.wikipedia.org/wiki/Nombre";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "Un nombre.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "mitjana de llista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "màxim de llista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "mediana de llista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "mínim de llista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "moda de llista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "element aleatori de llista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "desviació estàndard de llista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "suma de llista";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Retorna la mitjana (mitjana aritmètica) dels valors numèrics de la llista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "Retorna el nombre més gran de la llista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "Retorna la mediana de la llista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "Retorna el nombre més petit de la llista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Retorna una llista dels elements que apareixen més vegades a la llista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Retorna un element aleatori de la lllista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Retorna la desviació estàndard de la llista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Retorna la suma de tots els nombres de la llista.";
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://ca.wikipedia.org/wiki/Generaci%C3%B3_de_nombres_aleatoris";
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "fracció aleatòria";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Retorna una fracció aleatòria entre 0,0 (inclòs) i 1,0 (exclòs).";
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://ca.wikipedia.org/wiki/Generaci%C3%B3_de_nombres_aleatoris";
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "nombre aleatori entre %1 i %2";
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Retorna un nombre aleatori entre els dos límits especificats, inclosos.";
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://ca.wikipedia.org/wiki/Arrodoniment";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "arrodonir";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "arrodonir cap avall";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "arrodonir cap amunt";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Arrodonir un nombre cap amunt o cap avall.";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://ca.wikipedia.org/wiki/Arrel_quadrada";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "absolut";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "arrel quadrada";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Retorna el valor absolut d'un nombre.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Retorna ''e'' elevat a la potència del nombre indicat.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "Retorna el logaritme natural d'un nombre.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "Retorna el logaritme en base 10 d'un nombre.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Retorna l'oposat d'un nombre.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Retorna 10 elevat a la potència del nombre indicat.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Retorna l'arrel quadrada d'un nombre.";
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";  // untranslated
+Blockly.Msg["MATH_TRIG_ACOS"] = "acos";  // untranslated
+Blockly.Msg["MATH_TRIG_ASIN"] = "asin";  // untranslated
+Blockly.Msg["MATH_TRIG_ATAN"] = "atan";  // untranslated
+Blockly.Msg["MATH_TRIG_COS"] = "cos";  // untranslated
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://ca.wikipedia.org/wiki/Funci%C3%B3_trigonom%C3%A8trica";
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";  // untranslated
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Retorna l'arccosinus d'un nombre.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Retorna l'arcsinus d'un nombre.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Retorna l'arctangent d'un nombre.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Retorna el cosinus d'un grau (no radiant).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Retorna el sinus d'un grau (no radiant).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Retorna la tangent d'un grau (no radiant).";
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Crear variable de color...";
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Crea variable numèrica...";
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Crear variable de cadena…";
+Blockly.Msg["NEW_VARIABLE"] = "Crea una variable…";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "Nou nom de variable:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "Nou tipus de variable:";
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "permetre declaracions";
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "amb:";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://ca.wikipedia.org/wiki/Procediment_%28Programació%29";
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Executa la funció definida per usuari '%1'.";
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://ca.wikipedia.org/wiki/Procediment_%28Programació%29";
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Executa la funció definida per l'usuari '%1' i utilitza la seva sortida.";
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "amb:";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "Crear '%1'";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Describe this function...";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "fes alguna cosa";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "a";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Crea una funció sense sortida.";
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "retorna";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "Crea una funció amb una sortida.";
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "Advertència: Aquesta funció té paràmetres duplicats.";
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "Iluminar la definició de la funció";
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "Si el valor és cert, llavors retorna un segon valor.";
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "Advertència: Aquest bloc només es pot utilitzar dins de la definició d'una funció.";
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "nom d'entrada:";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Afegir una entrada per la funció.";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "entrades";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Afegir, eliminar o canviar l'ordre de les entrades per aquesta funció.";
+Blockly.Msg["REDO"] = "Refer";
+Blockly.Msg["REMOVE_COMMENT"] = "Elimina el comentari";
+Blockly.Msg["RENAME_VARIABLE"] = "Reanomena variable...";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Reanomena totes les variables '%1' a:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "a %1 afegir text %2";
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Afegir un text a la variable '%1'.";
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "a minúscules";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "a Text De Títol";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "a MAJÚSCULES";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Retorna una còpia del text amb diferents majúscules/minúscules.";
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "recupera la primera lletra";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "recupera la lletra núm.# des del final";
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "recupera la lletra núm.#";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "recupera l'última lletra";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "recupera una lletra a l'atzar";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "in text %1 %2";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Recupera la lletra de la posició especificada.";
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";  // untranslated
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "count %1 in %2";  // untranslated
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Count how many times some text occurs within some other text.";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Afegeix un element al text.";
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "unir";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Afegeix, esborrar o reordenar seccions per reconfigurar aquest bloc de text.";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "fins a la lletra núm.# des del final";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "fins a la lletra núm.#";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "fins a l'última lletra";
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "en el text";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "recupera subcadena des de la primera lletra";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "recupera subcadena des de la lletra núm.# des del final";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "recupera subcadena des de la lletra núm.#";
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Recupera una part especificada del text.";
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "trobar la primera aparició del text";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "trobar l'última aparició del text";
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "en el text %1 %2 %3";
+Blockly.Msg["TEXT_INDEXOF_TOOLTIP"] = "Retorna l'índex de la primera/última aparició del primer text dins el segon. Retorna %1 si no es troba el text.";
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 està buit";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Retorna cert si el text proporcionat està buit.";
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "crear text amb";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Crea un tros de text per unió de qualsevol nombre d'elements.";
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "llargària de %1";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Retorna el nombre de lletres (espais inclosos) en el text proporcionat.";
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "imprimir %1";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Imprimir el text, el nombre o altre valor especificat.";
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Demana que l'usuari introdueixi un nombre.";
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Demana que l'usuari introdueixi un text.";
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "demanar un nombre amb el missatge";
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "demanar text amb el missatge";
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";  // untranslated
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "replace %1 with %2 in %3";  // untranslated
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Replace all occurances of some text within some other text.";  // untranslated
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";  // untranslated
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Reverses the order of the characters in the text.";  // untranslated
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://ca.wikipedia.org/wiki/Cadena_%28inform%C3%A0tica%29";
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "Una lletra, paraula o línia de text.";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "retalla espais de tots dos extrems de";
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "retalla espais de l'esquerra de";
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "retalla espais de la dreta de";
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Retorna una còpia del text on s'han esborrat els espais d'un o dels dos extrems.";
+Blockly.Msg["TODAY"] = "Avui";
+Blockly.Msg["UNDO"] = "Desfer";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "element";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Crea 'modifica %1'";
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Retorna el valor d'aquesta variable.";
+Blockly.Msg["VARIABLES_SET"] = "modifica %1 a %2";
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Crear 'recupera %1'";
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Modifica aquesta variable al valor introduït.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "Ja existeix una variable anomenada '%1'.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "Una variable anomenada '%1' ja existeix per al tipus '%2'.";
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something...";  // untranslated
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/cs.js b/js/msg/js/cs.js
new file mode 100644 (file)
index 0000000..121bfdd
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.cs');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "PÅ™idat komentář";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "Can't delete the variable '%1' because it's part of the definition of the function '%2'";  // untranslated
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "ZmÄ›nit hodnotu:";
+Blockly.Msg["CLEAN_UP"] = "Uspořádat bloky";
+Blockly.Msg["COLLAPSE_ALL"] = "Sbalit bloky";
+Blockly.Msg["COLLAPSE_BLOCK"] = "Sbalit blok";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "barva 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "barva 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";  // untranslated
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "pomÄ›r";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "smíchat";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "Smíchá dvÄ› barvy v daném pomÄ›ru (0.0–1.0).";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://cs.wikipedia.org/wiki/Barva";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "Vyberte barvu z palety.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "náhodná barva";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "Zvolte barvu náhodnÄ›.";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "modrá";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "zelená";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";  // untranslated
+Blockly.Msg["COLOUR_RGB_RED"] = "Äervená";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "obarvÄ›te barvou";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "VytvoÅ™ barvu se zadaným množstvím Äervené, zelené a modré.  VÅ¡echny hodnoty musí být mezi 0 a 100.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "vyskoÄit ze smyÄky";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "pokraÄuj dalším opakováním smyÄky";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "VyskoÄ z vnitÅ™ní smyÄky.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "PÅ™eskoÄ zbytek této smyÄky a pokraÄuj dalším opakováním.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "UpozornÄ›ní: Tento blok může být použit pouze uvnitÅ™ smyÄky.";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "pro každou položku %1 v seznamu %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "Pro každou položku v seznamu nastavte do promÄ›nné '%1' danou položku a proveÄte nÄ›jaké operace.";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "poÄítat s %1 od %2 do %3 po %4";
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "Nechá promÄ›nnou '%1' nabývat hodnot od poÄáteÄního do koncového Äísla po daném přírůstku a provádí s ní přísluÅ¡né bloky.";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "PÅ™idat podmínku do \"pokud\" bloku.";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "PÅ™idej koneÄnou podmínku zahrnující ostatní případy do bloku \"pokud\".";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "PÅ™idej, odstraň Äi uspořádej sekce k pÅ™enastavení tohoto bloku \"pokud\".";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "jinak";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "nebo pokud";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "pokud";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "Je-li hodnota pravda, proveÄ urÄité příkazy.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "Je-li hodnota pravda, proveÄ první blok příkazů.  V opaÄném případÄ› proveÄ druhý blok příkazů.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "Je-li první hodnota pravdivá, proveÄ první blok příkazů. V opaÄném případÄ›, je-li pravdivá druhá hodnota, proveÄ druhý blok příkazů.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "Je-li první hodnota pravda, proveÄ první blok příkazů.  Je-li druhá hodnota pravda, proveÄ druhý blok příkazů.  Pokud Å¾Ã¡dná hodnota není pravda, proveÄ poslední blok příkazů.";
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://cs.wikipedia.org/wiki/Cyklus_pro";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "dÄ›lej";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "opakuj %1 krát";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "ProveÄ urÄité příkazy nÄ›kolikrát.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "opakovat dokud";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "opakovat když";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "Dokud je hodnota nepravdivá, provádÄ›j urÄité příkazy.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "Dokud je hodnota pravdivá, provádÄ›j urÄité příkazy.";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "Smazat vÅ¡ech %1 bloků?";
+Blockly.Msg["DELETE_BLOCK"] = "Smazat blok";
+Blockly.Msg["DELETE_VARIABLE"] = "Delete the '%1' variable";  // untranslated
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Delete %1 uses of the '%2' variable?";  // untranslated
+Blockly.Msg["DELETE_X_BLOCKS"] = "Smazat %1 bloků";
+Blockly.Msg["DISABLE_BLOCK"] = "Deaktivovat blok";
+Blockly.Msg["DUPLICATE_BLOCK"] = "Duplikovat";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicate Comment";  // untranslated
+Blockly.Msg["ENABLE_BLOCK"] = "Povolit blok";
+Blockly.Msg["EXPAND_ALL"] = "Rozbalit bloky";
+Blockly.Msg["EXPAND_BLOCK"] = "Rozbalit blok";
+Blockly.Msg["EXTERNAL_INPUTS"] = "vnÄ›jší vstupy";
+Blockly.Msg["HELP"] = "NápovÄ›da";
+Blockly.Msg["INLINE_INPUTS"] = "Vložené vstupy";
+Blockly.Msg["IOS_CANCEL"] = "Cancel";  // untranslated
+Blockly.Msg["IOS_ERROR"] = "Chyba";
+Blockly.Msg["IOS_OK"] = "OK";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Add Input";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Allow statements";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "This function has duplicate inputs.";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "vstupy";
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "PÅ™idat";
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Add Variable";  // untranslated
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "Smazat";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "You can't use an empty variable name.";  // untranslated
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "PÅ™ejmenovat";
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Variable name";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "vytvoÅ™it prázdný seznam";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Vrátí seznam nulové délky, který neobsahuje Å¾Ã¡dné datové záznamy";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "seznam";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "PÅ™idat, odebrat nebo zmÄ›nit poÅ™adí oddílů tohoto seznamu bloku.";
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "vytvoÅ™it seznam s";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "PÅ™idat položku do seznamu.";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "VytvoÅ™ seznam s libovolným poÄtem položek.";
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "první";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "# od konce";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "získat";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "získat a odstranit";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "poslední";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "náhodné";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "odstranit";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Vrátí první položku v seznamu.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Získá položku z urÄené pozice v seznamu.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Vrátí poslední položku v seznamu.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Vrátí náhodnou položku ze seznamu.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "Odstraní a vrátí první položku v seznamu.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "Odstraní a získá položku z urÄené pozice v seznamu.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "Odstraní a vrátí poslední položku v seznamu.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Odstraní a vrátí náhodnou položku v seznamu.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "Odstraní první položku v seznamu.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "Odebere položku na konkrétním místÄ› v seznamu.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "Odstraní poslední položku v seznamu.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Odstraní náhodou položku v seznamu.";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "do # od konce";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "do #";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "jako poslední";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "získat podseznam od první položky";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "získat podseznam od # od konce";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "získat podseznam od #";
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Vytvoří kopii urÄené Äásti seznamu.";
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 je poslední položka.";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 je první položka.";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "najít první výskyt položky";
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "najít poslední výskyt položky";
+Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "Vrací index prvního/posledního výskytu položky v seznamu. Vrací %1, pokud položka nebyla nalezena.";
+Blockly.Msg["LISTS_INLIST"] = "v seznamu";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 je prázdné";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Vrátí hodnotu pravda, pokud je seznam prázdný.";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "délka %1";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Vrací poÄet položek v seznamu.";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "vytvoÅ™ seznam s položkou %1 opakovanou %2 krát";
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Vytváří seznam obsahující danou hodnotu n-krát.";
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";  // untranslated
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Reverse a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "jako";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "vložit na";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "nastavit";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Vložit položku na zaÄátek seznamu.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Vloží položku na urÄenou pozici v seznamu.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "PÅ™ipojí položku na konec seznamu.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "PÅ™ipojí položku náhodnÄ› do seznamu.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Nastaví první položku v seznamu.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Nastaví položku na konkrétní místo v seznamu.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Nastaví poslední položku v seznamu.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Nastaví náhodnou položku v seznamu.";
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "vzestupnÄ›";
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "sestupnÄ›";
+Blockly.Msg["LISTS_SORT_TITLE"] = "seÅ™adit %1 %2 %3";
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "SeÅ™adit kopii seznamu.";
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "abecednÄ›, na velikosti písmen nezáleží";
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "Äíselné";
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "abecednÄ›";
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "udÄ›lat z textu seznam";
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "udÄ›lat ze seznamu text";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Spojit seznam textů do jednoho textu, rozdÄ›laného oddÄ›lovaÄi.";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "RozdÄ›lit text do seznamu textů, lámání na oddÄ›lovaÄích.";
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "s oddÄ›lovaÄem";
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "nepravda";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "Vrací pravda nebo nepravda.";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "pravda";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://cs.wikipedia.org/wiki/Nerovnost_(matematika)";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Vrátí hodnotu pravda, pokud se oba vstupy rovnají jeden druhému.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Navrátí hodnotu pravda, pokud první vstup je vÄ›tší než druhý vstup.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Navrátí hodnotu pravda, pokud je první vstup vÄ›tší a nebo rovný druhému vstupu.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "Navrátí hodnotu pravda, pokud je první vstup menší než druhý vstup.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "Navrátí hodnotu pravda, pokud je první vstup menší a nebo rovný druhému vstupu.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "Vrátí hodnotu pravda, pokud se oba vstupy nerovnají sobÄ› navzájem.";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "ne %1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "Navrátí hodnotu pravda, pokud je vstup nepravda. Navrátí hodnotu nepravda, pokud je vstup pravda.";
+Blockly.Msg["LOGIC_NULL"] = "prázdný";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";  // untranslated
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "Vrátí prázdnou hodnotu";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "a";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "nebo";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "Vrátí hodnotu pravda, pokud oba dva vstupy jsou pravdivé.";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "Vrátí hodnotu pravda, pokud alespoň jeden ze vstupů má hodnotu pravda.";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "test";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://cs.wikipedia.org/wiki/Ternární operátor (programování)";
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "pokud nepravda";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "pokud pravda";
+Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "Zkontroluje podmínku v \"testu\". Když je podmínka pravda, vrátí hodnotu \"pokud pravda\"; v opaÄném případÄ› vrátí hodnotu \"pokud nepravda\".";
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://cs.wikipedia.org/wiki/Aritmetika";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Vrátí souÄet dvou Äísel.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Vrátí podíl dvou Äísel.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Vrátí rozdíl dvou Äísel.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Vrátí souÄin dvou Äísel.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Vrátí první Äíslo umocnÄ›né na druhé Äíslo.";
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";
+Blockly.Msg["MATH_CHANGE_TITLE"] = "zaměň %1 za %2";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "PÅ™iÄti Äíslo k promÄ›nné '%1'.";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://en.wikipedia.org/wiki/Mathematical_constant";
+Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "VraÅ¥te jednu z následujících konstant: Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), or âˆž (nekoneÄno).";
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "omez %1 na rozmezí od %2 do %3";
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Omezí Äíslo tak, aby bylo ve stanovených mezích (vÄetnÄ›).";
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "je dÄ›litelné Äíslem";
+Blockly.Msg["MATH_IS_EVEN"] = "je sudé";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "je záporné";
+Blockly.Msg["MATH_IS_ODD"] = "je liché";
+Blockly.Msg["MATH_IS_POSITIVE"] = "je kladné";
+Blockly.Msg["MATH_IS_PRIME"] = "je prvoÄíslo";
+Blockly.Msg["MATH_IS_TOOLTIP"] = "Kontrola, zda je Äíslo sudé, liché, prvoÄíslo, celé, kladné, záporné nebo zda je dÄ›litelné daným Äíslem. Vrací pravdu nebo nepravdu.";
+Blockly.Msg["MATH_IS_WHOLE"] = "je celé";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://cs.wikipedia.org/wiki/Modul%C3%A1rn%C3%AD_aritmetika";
+Blockly.Msg["MATH_MODULO_TITLE"] = "zbytek po dÄ›lení %1 Ã· %2";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Vrátí zbytek po dÄ›lení dvou Äísel.";
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://cs.wikipedia.org/wiki/Číslo";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "Číslo.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "průmÄ›r v seznamu";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "nejvÄ›tší v seznamu";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "medián v seznamu";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "nejmenší v seznamu";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "nejÄastÄ›jší ze seznamu";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "náhodná položka seznamu";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "smÄ›rodatná odchylka ze seznamu";
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "suma seznamu";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Vrátí průmÄ›r (aritmetický průmÄ›r) Äíselných hodnot v seznamu.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "Vrátí nejvÄ›tší Äíslo v seznamu.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "Vrátí medián seznamu.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "Vrátí nejmenší Äíslo v seznamu.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Vrátí seznam nejÄastÄ›jších položek seznamu.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Vrátí náhodnou položku ze seznamu.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Vrátí smÄ›rodatnou odchylku seznamu.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Vrátí souÄet vÅ¡ech Äísel v seznamu.";
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://cs.wikipedia.org/wiki/Gener%C3%A1tor_n%C3%A1hodn%C3%BDch_%C4%8D%C3%ADsel";
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "náhodné Äíslo mezi 0 (vÄetnÄ›) do 1";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Vrátí náhodné Äíslo mezi 0,0 (vÄetnÄ›) až 1,0";
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://cs.wikipedia.org/wiki/Gener%C3%A1tor_n%C3%A1hodn%C3%BDch_%C4%8D%C3%ADsel";
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "náhodné celé Äíslo od %1 do %2";
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Vrací náhodné celé Äíslo mezi dvÄ›ma urÄenými mezemi, vÄetnÄ› mezních hodnot.";
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://en.wikipedia.org/wiki/Rounding";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "zaokrouhlit";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "zaokrouhlit dolů";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "zaokrouhlit nahoru";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Zaokrouhlit Äíslo nahoru nebo dolů.";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://cs.wikipedia.org/wiki/Druhá_odmocnina";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "absolutní hodnota";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "druhá odmocnina";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Vrátí absolutní hodnotu Äísla.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Vrátí mocninu Äísla e.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "Vrátí pÅ™irozený logaritmus Äísla.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "Vrátí desítkový logaritmus Äísla.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Vrátí zápornou hodnotu Äísla.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Vrátí mocninu Äísla 10.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Vrátí druhou odmocninu Äísla.";
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";
+Blockly.Msg["MATH_TRIG_ACOS"] = "acos";
+Blockly.Msg["MATH_TRIG_ASIN"] = "arcsin";
+Blockly.Msg["MATH_TRIG_ATAN"] = "arctan";
+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"] = "Vrátí arkus kosinus Äísla.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Vrátí arkus sinus Äísla.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Vrátí arkus tangens Äísla.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Vrátí kosinus úhlu ve stupních.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Vrátí sinus úhlu ve stupních.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Vrátí tangens úhlu ve stupních.";
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "VytvoÅ™it barvu promÄ›nné...";
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "VytvoÅ™it Äíselnou promÄ›nnou...";
+Blockly.Msg["NEW_STRING_VARIABLE"] = "VytvoÅ™it Å™etÄ›zcovou promÄ›nnou...";
+Blockly.Msg["NEW_VARIABLE"] = "VytvoÅ™te promÄ›nnou...";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "Nový název promÄ›nné:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "Nový typ promÄ›nné:";
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "povolit příkazy";
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "s:";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://cs.wikipedia.org/wiki/Podprogram";
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Spustí uživatelem definovanou funkci '%1'.";
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://cs.wikipedia.org/wiki/Podprogram";
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Spustí uživatelem definovanou funkci '%1' a použije její výstup.";
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "s:";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "VytvoÅ™it '%1'";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "PopiÅ¡te tuto funkci...";
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://cs.wikipedia.org/w/index.php?title=Funkce_(programování)";
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "proveÄ nÄ›co";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "k provedení";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "VytvoÅ™it funkci bez výstupu.";
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://cs.wikipedia.org/w/index.php?title=Funkce_(programování)";
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "navrátit";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "VytvoÅ™it funkci s výstupem.";
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "UpozornÄ›ní: Tato funkce má duplicitní parametry.";
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "Zvýraznit definici funkce";
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "Je-li hodnota pravda, pak vrátí druhou hodnotu.";
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "Varování: Tento blok může být použit pouze uvnitÅ™ definici funkce.";
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "vstupní jméno:";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "PÅ™idat vstupy do funkce.";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "vstupy";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "PÅ™idat, odebrat nebo zmÄ›nit poÅ™adí vstupů této funkce.";
+Blockly.Msg["REDO"] = "Znovu";
+Blockly.Msg["REMOVE_COMMENT"] = "Odstranit komentář";
+Blockly.Msg["RENAME_VARIABLE"] = "PÅ™ejmenovat promÄ›nnou...";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "PÅ™ejmenuj vÅ¡ech '%1' promÄ›nných na:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "do %1 pÅ™idat text %2";
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "PÅ™idá urÄitý text k promÄ›nné '%1'.";
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "na malá písmena";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "na PoÄáteÄní Velká Písmena";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "na VELKÁ PÍSMENA";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Vrátí kopii textu s jinou velikostí písmen.";
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "získat první písmeno";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "získat # písmeno od konce";
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "získat písmeno #";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "získat poslední písmeno";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "získat náhodné písmeno";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "in text %1 %2";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Získat písmeno na konkrétní pozici.";
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";  // untranslated
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "count %1 in %2";  // untranslated
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Count how many times some text occurs within some other text.";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "PÅ™idat položku do textu.";
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "spojit";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "PÅ™idat, odebrat nebo zmÄ›nit poÅ™adí oddílů tohoto textového bloku.";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "do # písmene od konce";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "do písmene #";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "do posledního písmene";
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "v textu";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "získat podÅ™etÄ›zec od prvního písmene";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "získat podÅ™etÄ›zec od písmene # od konce";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "získat podÅ™etÄ›zec od písmene #";
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Získat zadanou Äást textu.";
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "najít první výskyt textu";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "najít poslední výskyt textu";
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "v textu %1 %2 %3";
+Blockly.Msg["TEXT_INDEXOF_TOOLTIP"] = "Vrátí index prvního/posledního výskytu prvního textu v druhém textu.  Pokud text není nalezen, vypíše %1.";
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 je prázdný";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Vrátí pravda pokud je zadaný text prázdný.";
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "vytvoÅ™it text s";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Vytvoří kousek textu spojením libovolného poÄtu položek.";
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "délka %1";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Vrátí poÄet písmen (vÄetnÄ› mezer) v zadaném textu.";
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "tisk %1";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Tisk zadaného textu, Äísla nebo jiné hodnoty.";
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Výzva pro uživatele k zadání Äísla.";
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Výzva pro uživatele k zadání nÄ›jakého textu.";
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "výzva k zadání Äísla se zprávou";
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "výzva k zadání textu se zprávou";
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";  // untranslated
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "replace %1 with %2 in %3";  // untranslated
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Replace all occurances of some text within some other text.";  // untranslated
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";  // untranslated
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Reverses the order of the characters in the text.";  // untranslated
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://cs.wikipedia.org/wiki/Textov%C3%BD_%C5%99et%C4%9Bzec";
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "Písmeno, slovo nebo Å™Ã¡dek textu.";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "odstranit mezery z obou stran";
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "odstranit mezery z levé strany";
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "odstranit mezery z pravé strany";
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Vrátí kopii textu s odstranÄ›nými mezerami z jednoho nebo obou konců.";
+Blockly.Msg["TODAY"] = "Dnes";
+Blockly.Msg["UNDO"] = "ZpÄ›t";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "položka";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "VytvoÅ™it \"nastavit %1\"";
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Vrátí hodnotu této promÄ›nné.";
+Blockly.Msg["VARIABLES_SET"] = "nastavit %1 na %2";
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "VytvoÅ™it \"získat %1\"";
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Nastaví tuto promÄ›nnou, aby se rovnala vstupu.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "A variable named '%1' already exists.";  // untranslated
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "PromÄ›nná pojmenovaná jako '%1' již existuje pro jiný typ: '%2'.";
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something...";  // untranslated
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/da.js b/js/msg/js/da.js
new file mode 100644 (file)
index 0000000..6b7fb2a
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.da');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "Tilføj kommentar";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "Kan ikke slette variablen »%1« da den er en del af definitionen af funktionen »%2«";
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "Skift værdi:";
+Blockly.Msg["CLEAN_UP"] = "Ryd op i blokke";
+Blockly.Msg["COLLAPSE_ALL"] = "Fold blokkene sammen";
+Blockly.Msg["COLLAPSE_BLOCK"] = "Fold blokken sammen";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "farve 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "farve 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";  // untranslated
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "i forholdet";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "bland";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "Blander to farver sammen i et bestemt forhold (0.0 - 1.0).";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://da.wikipedia.org/wiki/Farve";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "Vælg en farve fra paletten.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "tilfældig farve";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "Vælg en tilfældig farve.";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "blå";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "grøn";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";  // untranslated
+Blockly.Msg["COLOUR_RGB_RED"] = "rød";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "farve med";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "Lav en farve med den angivne mængde af rød, grøn og blå. Alle værdier skal være mellem 0 og 100.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "bryd ud af løkken";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "fortsæt med den næste gentagelse i løkken";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "Bryd ud af den omgivende løkke.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "Spring resten af denne løkke over, og fortsæt med den næste gentagelse.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "Advarsel: Denne blok kan kun bruges i en løkke.";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "for hvert element %1 i listen %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "For hvert element i en liste, sæt variablen '%1' til elementet, og udfør derefter nogle kommandoer.";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "tæl med %1 fra %2 til %3 med %4";
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "Få variablen \"%1\" til at have værdierne fra startværdien til slutværdien, mens der tælles med det angivne interval, og udfør de angivne blokke.";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "Tilføj en betingelse til denne \"hvis\" blok.";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "Tilføj en sidste fang-alt betingelse, til denne \"hvis\" blok.";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Tilføj, fjern eller byt om på rækkefølgen af delene for at konfigurere denne \"hvis\" blok.";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "ellers";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "ellers hvis";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "hvis";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "Hvis en værdi er sand, så udfør nogle kommandoer.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "Hvis en værdi er sand, så udfør den første blok af kommandoer. Ellers udfør den anden blok af kommandoer.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "Hvis den første værdi er sand, så udfør den første blok af kommandoer.  Ellers, hvis den anden værdi er sand, så udfør den anden blok af kommandoer.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "Hvis den første værdi er sand, så udfør den første blok af kommandoer. Ellers, hvis den anden værdi er sand, så udfør den anden blok af kommandoer. Hvis ingen af værdierne er sande, så udfør den sidste blok af kommandoer.";
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://da.wikipedia.org/wiki/For-l%C3%B8kke";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "udfør";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "gentag %1 gange";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "Udfør nogle kommandoer flere gange.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "gentag indtil";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "gentag sålænge";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "Udfør nogle kommandoer, sålænge en værdi er falsk.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "Udfør nogle kommandoer, sålænge en værdi er sand.";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "Slet alle %1 blokke?";
+Blockly.Msg["DELETE_BLOCK"] = "Slet blok";
+Blockly.Msg["DELETE_VARIABLE"] = "Slet variablen »%1«";
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Slet %1's brug af variablen »%2«?";
+Blockly.Msg["DELETE_X_BLOCKS"] = "Slet %1 blokke";
+Blockly.Msg["DISABLE_BLOCK"] = "Deaktivér blok";
+Blockly.Msg["DUPLICATE_BLOCK"] = "Duplikér";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Dupliker kommentar";
+Blockly.Msg["ENABLE_BLOCK"] = "Aktivér blok";
+Blockly.Msg["EXPAND_ALL"] = "Fold blokkene ud";
+Blockly.Msg["EXPAND_BLOCK"] = "Fold blokken ud";
+Blockly.Msg["EXTERNAL_INPUTS"] = "Udvendige inputs";
+Blockly.Msg["HELP"] = "Hjælp";
+Blockly.Msg["INLINE_INPUTS"] = "Indlejrede inputs";
+Blockly.Msg["IOS_CANCEL"] = "Annuller";
+Blockly.Msg["IOS_ERROR"] = "Fejl";
+Blockly.Msg["IOS_OK"] = "O.k.";
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Tilføj inddata";
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Tillad udsagn";
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "Denne funktion har duplikerede inddata.";
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "INDDATA";
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "Tilføj";
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Tilføj variabel";
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "Slet";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "Du kan ikke bruge et tomt variabelnavn.";
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Omdøb";
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Variabelnavn";
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "opret en tom liste";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Returnerer en liste af længde 0, som ikke indeholder nogen data";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "liste";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Tilføj, fjern eller byt om på rækkefølgen af delene for at konfigurere denne blok.";
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "opret liste med";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Føj et element til listen.";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Opret en liste med et vilkårligt antal elementer.";
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "første";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "# fra slutningen";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "hent";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "hent og fjern";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "sidste";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "tilfældig";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "fjern";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Returnerer det første element i en liste.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Returnerer elementet på den angivne position på en liste.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Returnerer den sidste element i en liste.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Returnerer et tilfældigt element i en liste.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "Fjerner og returnerer det første element i en liste.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "Fjerner og returnerer elementet på den angivne position på en liste.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "Fjerner og returnerer det sidste element i en liste.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Fjerner og returnerer et tilfældigt element i en liste.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "Fjerner det første element i en liste.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "Fjerner elementet på den angivne position på en liste.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "Fjerner sidste element i en liste.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Fjerner et tilfældigt element i en liste.";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "til # fra slutningen";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "til #";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "til sidste";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "hent underliste fra første";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "hent underliste fra # fra slutningen";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "hent underliste fra #";
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Opretter en kopi af den angivne del af en liste.";
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 er det sidste element.";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 er det første element.";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "find første forekomst af elementet";
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "find sidste forekomst af elementet";
+Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "Returnerer indeks for første/sidste forekomst af elementet i listen. Returnerer %1, hvis elementet ikke kan findes.";
+Blockly.Msg["LISTS_INLIST"] = "i listen";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 er tom";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Returnerer sand, hvis listen er tom.";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "længden af %1";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Returnerer længden af en liste.";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "opret liste med elementet %1 gentaget %2 gange";
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Opretter en liste bestående af den givne værdi gentaget et bestemt antal gange.";
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";  // untranslated
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "vend %1 om";
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Vend en kopi af en liste om.";
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "som";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "indsæt ved";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "sæt";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Indsætter elementet i starten af en liste.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Indsætter elementet på den angivne position i en liste.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Føj elementet til slutningen af en liste.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Indsætter elementet tilfældigt i en liste.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Sætter det første element i en liste.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Sætter elementet på den angivne position i en liste.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Sætter det sidste element i en liste.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Sætter et tilfældigt element i en liste.";
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "stigende";
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "faldende";
+Blockly.Msg["LISTS_SORT_TITLE"] = "sorter %1 %2 %3";
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Sorter en kopi af en liste.";
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "alfabetisk, ignorer store/små bogstaver";
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "nummerorden";
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "alfabetisk";
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "lav tekst til liste";
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "lav liste til tekst";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Saml en liste af tekster til én tekst, der er adskilt af et skilletegn.";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Bryd tekst op i en liste af tekster med brud ved hvert skilletegn.";
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "med skilletegn";
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "falsk";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "Returnerer enten sand eller falsk.";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "sand";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://da.wikipedia.org/wiki/Ulighed_(matematik)";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Returnere sand, hvis begge inputs er lig med hinanden.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Returnere sand, hvis det første input er større end det andet input.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Returnere sand, hvis det første input er større end eller lig med det andet input.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "Returnere sand, hvis det første input er mindre end det andet input.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "Returnere sand, hvis det første input er mindre end eller lig med det andet input.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "Returnere sand, hvis begge inputs ikke er lig med hinanden.";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "ikke %1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "Returnerer sand, hvis input er falsk. Returnerer falsk, hvis input er sandt.";
+Blockly.Msg["LOGIC_NULL"] = "null";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";  // untranslated
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "Returnerer null.";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "og";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "eller";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "Returnere sand, hvis begge inputs er sande.";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "Returnere sand, hvis mindst et af inputtene er sande.";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "test";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "hvis falsk";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "hvis sand";
+Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "Kontrollér betingelsen i 'test'. Hvis betingelsen er sand, returnér \"hvis sand\" værdien; ellers returnér \"hvis falsk\" værdien.";
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://da.wikipedia.org/wiki/Aritmetik";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Returnere summen af de to tal.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Returnere kvotienten af de to tal.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Returnere forskellen mellem de to tal.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Returnere produktet af de to tal.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Returnere det første tal opløftet til potensen af det andet tal.";
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";
+Blockly.Msg["MATH_CHANGE_TITLE"] = "skift %1 med %2";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Læg et tal til variablen '%1'.";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://da.wikipedia.org/wiki/Matematisk_konstant";
+Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "Returnere en af de ofte brugte konstanter: Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(2) (1.414…), sqrt(½) (0.707…) eller âˆž (uendeligt).";
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "begræns %1 til mellem %2 og %3";
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Begræns et tal til at være mellem de angivne grænser (inklusiv).";
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = ":";
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "er deleligt med";
+Blockly.Msg["MATH_IS_EVEN"] = "er lige";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "er negativt";
+Blockly.Msg["MATH_IS_ODD"] = "er ulige";
+Blockly.Msg["MATH_IS_POSITIVE"] = "er positivt";
+Blockly.Msg["MATH_IS_PRIME"] = "er et primtal";
+Blockly.Msg["MATH_IS_TOOLTIP"] = "Kontrollere, om et tal er lige, ulige, primtal, helt, positivt, negativt, eller om det er deleligt med bestemt tal. Returnere sandt eller falskt.";
+Blockly.Msg["MATH_IS_WHOLE"] = "er helt";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://da.wikipedia.org/wiki/Modulo";
+Blockly.Msg["MATH_MODULO_TITLE"] = "resten af %1 ÷ %2";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Returner resten fra at dividere de to tal.";
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";  // untranslated
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://da.wikipedia.org/wiki/Tal";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "Et tal.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "gennemsnit af listen";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "største tal i listen";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "listens median";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "mindste tal i listen";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "listens typetal";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "tilfældigt element fra listen";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "standardafvigelsen for listen";
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "summen af listen";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Returner gennemsnittet (middelværdien) af de numeriske værdier i listen.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "Returner det største tal i listen.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "Returner listens median.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "Returner det mindste tal i listen.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Returner en liste over de mest almindelige elementer på listen.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Returner et tilfældigt element fra listen.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Returner standardafvigelsen for listen.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Returner summen af alle tal i listen.";
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://da.wikipedia.org/wiki/Tilfældighedsgenerator";
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "tilfældigt decimaltal (mellem 0 og 1)";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Returner et tilfældigt decimaltal mellem 0,0 (inklusiv) og 1,0 (eksklusiv).";
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://da.wikipedia.org/wiki/Tilfældighedsgenerator";
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "tilfældigt heltal mellem %1 og %2";
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Returner et tilfældigt heltal mellem de to angivne grænser (inklusiv).";
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://da.wikipedia.org/wiki/Afrunding";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "afrund";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "rund ned";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "rund op";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Runde et tal op eller ned.";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://da.wikipedia.org/wiki/Kvadratrod";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "absolut";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "kvadratrod";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Returnere den absolutte værdi af et tal.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Returnere e til potensen af et tal.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "Returnere den naturlige logaritme af et tal.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "Returnere 10-talslogaritmen af et tal.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Returnere negationen af et tal.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Returnere 10 til potensen af et tal.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Returnere kvadratroden af et tal.";
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";  // untranslated
+Blockly.Msg["MATH_TRIG_ACOS"] = "acos";  // untranslated
+Blockly.Msg["MATH_TRIG_ASIN"] = "asin";  // untranslated
+Blockly.Msg["MATH_TRIG_ATAN"] = "atan";  // untranslated
+Blockly.Msg["MATH_TRIG_COS"] = "cos";  // untranslated
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://da.wikipedia.org/wiki/Trigonometrisk_funktion";
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";  // untranslated
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Returnere arcus cosinus af et tal.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Returnere arcus sinus af et tal.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Returnere arcus tangens af et tal.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Returnere cosinus af en vinkel (i grader).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Returnere sinus af en vinkel (i grader).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Returnere tangens af en vinkel (i grader).";
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Opret farvevariabel ...";
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Opret nummervariabel ...";
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Opret strengvariabel ...";
+Blockly.Msg["NEW_VARIABLE"] = "Opret variabel ...";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "Navn til den nye variabel:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "Ny variabeltype:";
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "tillad erklæringer";
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "med:";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Kør den brugerdefinerede funktion '%1'.";
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Kør den brugerdefinerede funktion '%1' og brug dens returværdi.";
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "med:";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "Opret '%1'";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Beskriv denne funktion...";
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "gøre noget";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "for at";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Opretter en funktion der ikke har nogen returværdi.";
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "returnér";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "Opretter en funktion der har en returværdi.";
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "Advarsel: Denne funktion har dublerede parametre.";
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "Markér funktionsdefinitionen";
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "Hvis en værdi er sand, så returnér en anden værdi.";
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "Advarsel: Denne blok kan kun anvendes inden for en funktionsdefinition.";
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "parameternavn:";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Tilføj en parameter til funktionen.";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "parametre";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Tilføje, fjerne eller ændre rækkefølgen af parametre til denne funktion.";
+Blockly.Msg["REDO"] = "Omgør";
+Blockly.Msg["REMOVE_COMMENT"] = "Fjern kommentar";
+Blockly.Msg["RENAME_VARIABLE"] = "Omdøb variabel...";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Omdøb alle '%1' variabler til:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "til %1 tilføj tekst %2";
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Tilføj noget tekst til variablen '%1'.";
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "til små bogstaver";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "til Stort Begyndelsesbogstav";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "til STORE BOGSTAVER";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Returner en kopi af teksten hvor bogstaverne enten er udelukkende store eller små, eller hvor første bogstav i hvert ord er stort.";
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "hent første bogstav";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "hent bogstav # fra slutningen";
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "hent bogstav #";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "hent sidste bogstav";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "hent tilfældigt bogstav";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "i tekst %1 %2";
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Returnerer bogstavet på den angivne placering.";
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";  // untranslated
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "tæl %1 i %2";
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Tæl hvor mange gange noget tekst fremgår i en anden tekst.";
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Føj et element til teksten.";
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "sammenføj";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Tilføj, fjern eller byt om på rækkefølgen af delene for at konfigurere denne tekstblok.";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "til bogstav # fra slutningen";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "til bogstav #";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "til sidste bogstav";
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "i teksten";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "hent delstreng fra første bogstav";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "hent delstreng fra bogstav # fra slutningen";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "hent delstreng fra bogstav #";
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Returnerer den angivne del af teksten.";
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "find første forekomst af teksten";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "find sidste forekomst af teksten";
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "i tekst %1 %2 %3";
+Blockly.Msg["TEXT_INDEXOF_TOOLTIP"] = "Returnerer indeks for første/sidste forekomst af første tekst i den anden tekst.  Returnerer %1, hvis teksten ikke kan findes.";
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 er tom";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Returnerer sand, hvis den angivne tekst er tom.";
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "lav en tekst med";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Lav et stykke tekst ved at sætte et antal elementer sammen.";
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "længden af %1";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Returnerer antallet af bogstaver (herunder mellemrum) i den angivne tekst.";
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "skriv %1";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Skriv den angivne tekst, tal eller anden værdi.";
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Spørg brugeren efter et tal";
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Spørg brugeren efter en tekst";
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "spørg efter et tal med meddelelsen";
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "spørg efter tekst med meddelelsen";
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";  // untranslated
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "erstat %1 med %2 i %3";
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Erstat alle forekomster af noget tekst i en anden tekst.";
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";  // untranslated
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "vend %1 om";
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Vender rækkefølgen om for tegnene i teksten.";
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://da.wikipedia.org/wiki/Tekststreng";
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "En bogstav, et ord eller en linje med tekst.";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "fjern mellemrum fra begge sider af";
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "fjern mellemrum fra venstre side af";
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "fjern mellemrum fra højre side af";
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Returner en kopi af teksten med mellemrum fjernet fra den ene eller begge sider.";
+Blockly.Msg["TODAY"] = "I dag";
+Blockly.Msg["UNDO"] = "Fortryd";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "element";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Opret 'sæt %1'";
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Returnerer værdien af denne variabel.";
+Blockly.Msg["VARIABLES_SET"] = "sæt %1 til %2";
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Opret 'hent %1'";
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Sætter denne variabel til at være lig med input.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "En variabel med navnet »%1« findes allerede.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "En variabel med navnet »%1« findes allerede for en anden type: »%2«.";
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Sig noget ...";
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/de.js b/js/msg/js/de.js
new file mode 100644 (file)
index 0000000..4490ef8
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.de');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "Kommentar hinzufügen";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "Die Variable â€ž%1“ kann nicht gelöscht werden, da sie Teil der Definition der Funktion â€ž%2“ ist.";
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "Wert ändern:";
+Blockly.Msg["CLEAN_UP"] = "Bausteine aufräumen";
+Blockly.Msg["COLLAPSE_ALL"] = "Alle Bausteine zusammenfalten";
+Blockly.Msg["COLLAPSE_BLOCK"] = "Baustein zusammenfalten";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "Farbe 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "und Farbe 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "im Verhältnis";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "mische";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "Vermischt 2 Farben mit konfigurierbarem Farbverhältnis (0.0 - 1.0).";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://de.wikipedia.org/wiki/Farbe";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "Erzeugt eine Farbe aus der Palette.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "zufällige Farbe";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "Erzeugt eine Farbe nach dem Zufallsprinzip.";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "blau";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "grün";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "https://de.wikipedia.org/wiki/RGB-Farbraum";
+Blockly.Msg["COLOUR_RGB_RED"] = "rot";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "Farbe aus";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "Erzeugt eine Farbe mit selbst definierten Rot-, Grün- und Blauwerten. Alle Werte müssen zwischen 0 und 100 liegen.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://de.wikipedia.org/wiki/Kontrollstruktur";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "die Schleife abbrechen";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "sofort mit nächstem Schleifendurchlauf fortfahren";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "Die umgebende Schleife beenden.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "Diese Anweisung abbrechen und mit dem nächsten Schleifendurchlauf fortfahren.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "Warnung: Dieser Baustein kann nur in einer Schleife verwendet werden.";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://de.wikipedia.org/wiki/For-Schleife";
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "für jeden Wert %1 aus der Liste %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "Führt eine Anweisung für jeden Wert in der Liste aus und setzt dabei die Variable \"%1\" auf den aktuellen Listenwert.";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://de.wikipedia.org/wiki/For-Schleife";
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "zähle %1 von %2 bis %3 in Schritten von %4";
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "Zählt die Variable \"%1\" von einem Startwert bis zu einem Endwert und führt für jeden Wert eine Anweisung aus.";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "Eine weitere Bedingung hinzufügen.";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "Eine sonst-Bedingung hinzufügen. Führt eine Anweisung aus, falls keine Bedingung zutrifft.";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Hinzufügen, entfernen oder sortieren von Sektionen";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "sonst";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "sonst falls";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "falls";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "Führt eine Anweisung aus, falls eine Bedingung wahr ist.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "Führt die erste Anweisung aus, falls eine Bedingung wahr ist.  Führt ansonsten die zweite Anweisung aus.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "Führt die erste Anweisung aus, falls die erste Bedingung wahr ist.  Führt ansonsten die zweite Anweisung aus, falls die zweite Bedingung wahr ist.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "Führe die erste Anweisung aus, falls die erste Bedingung wahr ist.  Führt ansonsten die zweite Anweisung aus, falls die zweite Bedingung wahr ist.  Führt die dritte Anweisung aus, falls keine der beiden Bedingungen wahr ist";
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://de.wikipedia.org/wiki/For-Schleife";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "mache";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "wiederhole %1 mal:";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "Eine Anweisung mehrfach ausführen.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://de.wikipedia.org/wiki/Schleife_%28Programmierung%29";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "wiederhole bis";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "wiederhole solange";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "Führt Anweisungen aus solange die Bedingung unwahr ist.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "Führt Anweisungen aus solange die Bedingung wahr ist.";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "Alle %1 Bausteine löschen?";
+Blockly.Msg["DELETE_BLOCK"] = "Baustein löschen";
+Blockly.Msg["DELETE_VARIABLE"] = "Die Variable â€ž%1“ löschen";
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "%1 Verwendungen der Variable â€ž%2“ löschen?";
+Blockly.Msg["DELETE_X_BLOCKS"] = "%1 Bausteine löschen";
+Blockly.Msg["DISABLE_BLOCK"] = "Baustein deaktivieren";
+Blockly.Msg["DUPLICATE_BLOCK"] = "Kopieren";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Kommentar kopieren";
+Blockly.Msg["ENABLE_BLOCK"] = "Baustein aktivieren";
+Blockly.Msg["EXPAND_ALL"] = "Alle Bausteine entfalten";
+Blockly.Msg["EXPAND_BLOCK"] = "Baustein entfalten";
+Blockly.Msg["EXTERNAL_INPUTS"] = "externe Eingänge";
+Blockly.Msg["HELP"] = "Hilfe";
+Blockly.Msg["INLINE_INPUTS"] = "interne Eingänge";
+Blockly.Msg["IOS_CANCEL"] = "Abbrechen";
+Blockly.Msg["IOS_ERROR"] = "Fehler";
+Blockly.Msg["IOS_OK"] = "OKAY";
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Parameter hinzufügen";
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Anweisungen erlauben";
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "Diese Funktion hat doppelte Parameter.";
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "PARAMETER";
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "Hinzufügen";
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Variable hinzufügen";
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "Löschen";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "Du kannst keinen leeren Variablennamen verwenden.";
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Umbenennen";
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Name der Variable";
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "erzeuge eine leere Liste";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Erzeugt eine leere Liste ohne Inhalt.";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "Liste";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Hinzufügen, entfernen und sortieren von Elementen.";
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "erzeuge Liste mit";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Ein Element zur Liste hinzufügen.";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Erzeugt eine Liste aus den angegebenen Elementen.";
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "das erste";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "von hinten das";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "das";
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "nimm";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "nimm und entferne";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "das letzte";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "ein zufälliges";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "entferne";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "Element";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Extrahiert das erste Element aus der Liste.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Extrahiert das Element an der angegebenen Position in der Liste.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Extrahiert das letzte Element aus der Liste.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Extrahiert ein zufälliges Element aus der Liste.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "Extrahiert und entfernt das erste Element aus der Liste.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "Extrahiert und entfernt das Element an der angegebenen Position aus der Liste.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "Extrahiert und entfernt das letzte Element aus der Liste.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Extrahiert und entfernt ein zufälliges Element aus der Liste.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "Entfernt das erste Element aus der Liste.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "Entfernt das Element an der angegebenen Position aus der Liste.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "Entfernt das letzte Element aus der Liste.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Entfernt ein zufälliges Element aus der Liste.";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "bis von hinten";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "bis";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "bis letztes";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic=%2Fcom.ibm.xlcpp8l.doc%2Flanguage%2Fref%2Farsubex.htm";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "nimm Teilliste ab erstes";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "nimm Teilliste ab von hinten";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "nimm Teilliste ab";
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "Element";
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Erstellt eine Kopie mit dem angegebenen Abschnitt der Liste.";
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 ist das letzte Element.";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 ist das erste Element.";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "suche erstes Auftreten von";
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic=%2Fcom.ibm.xlcpp8l.doc%2Flanguage%2Fref%2Farsubex.htm";
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "suche letztes Auftreten von";
+Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "Sucht die Position (Index) eines Elementes in der Liste. Gibt %1 zurück, falls kein Element gefunden wurde.";
+Blockly.Msg["LISTS_INLIST"] = "in der Liste";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 ist leer";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Ist wahr, falls die Liste leer ist.";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "Länge von %1";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Die Anzahl von Elementen in der Liste.";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic=%2Fcom.ibm.xlcpp8l.doc%2Flanguage%2Fref%2Farsubex.htm";
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "erzeuge Liste mit %2 mal dem Element %1​";
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Erzeugt eine Liste mit einer variablen Anzahl von Elementen";
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "kehre %1 um";
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Kehre eine Kopie einer Liste um.";
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic=%2Fcom.ibm.xlcpp8l.doc%2Flanguage%2Fref%2Farsubex.htm";
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "ein";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "füge als";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "setze für";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Fügt das Element an den Anfang der Liste an.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Fügt das Element an der angegebenen Position in die Liste ein.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Fügt das Element ans Ende der Liste an.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Fügt das Element zufällig in die Liste ein.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Setzt das erste Element in der Liste.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Setzt das Element an der angegebenen Position in der Liste.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Setzt das letzte Element in die Liste.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Setzt ein zufälliges Element in der Liste.";
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "aufsteigend";
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "absteigend";
+Blockly.Msg["LISTS_SORT_TITLE"] = "%1 %2 %3 sortieren";
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Eine Kopie einer Liste sortieren.";
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "alphabetisch, Großschreibung ignorieren";
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "numerisch";
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "alphabetisch";
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "Liste aus Text erstellen";
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "Text aus Liste erstellen";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Liste mit Texten in einen Text vereinen, getrennt durch ein Trennzeichen.";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Text in eine Liste mit Texten aufteilen, unterbrochen bei jedem Trennzeichen.";
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "mit Trennzeichen";
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "unwahr";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "Ist entweder wahr oder unwahr";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "wahr";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://de.wikipedia.org/wiki/Vergleich_%28Zahlen%29";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Ist wahr, falls beide Werte gleich sind.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Ist wahr, falls der erste Wert größer als der zweite Wert ist.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Ist wahr, falls der erste Wert größer als oder gleich groß wie der zweite Wert ist.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "Ist wahr, falls der erste Wert kleiner als der zweite Wert ist.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "Ist wahr, falls der erste Wert kleiner als oder gleich groß wie der zweite Wert ist.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "Ist wahr, falls beide Werte unterschiedlich sind.";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "nicht %1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "Ist wahr, falls der Eingabewert unwahr ist.  Ist unwahr, falls der Eingabewert wahr ist.";
+Blockly.Msg["LOGIC_NULL"] = "null";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://de.wikipedia.org/wiki/Nullwert";
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "Ist \"null\".";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "und";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "oder";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "Ist wahr, falls beide Werte wahr sind.";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "Ist wahr, falls einer der beiden Werte wahr ist.";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "prüfe";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://de.wikipedia.org/wiki/%3F:#Auswahloperator";
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "falls unwahr";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "falls wahr";
+Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "Überprüft eine Bedingung \"prüfe\". Falls die Bedingung wahr ist, wird der \"falls wahr\" Wert zurückgegeben, andernfalls der \"falls unwahr\" Wert";
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://de.wikipedia.org/wiki/Grundrechenart";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Ist die Summe zweier Zahlen.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Ist der Quotient zweier Zahlen.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Ist die Differenz zweier Zahlen.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Ist das Produkt zweier Zahlen.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Ist die erste Zahl potenziert mit der zweiten Zahl.";
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://de.wikipedia.org/wiki/Inkrement_und_Dekrement";
+Blockly.Msg["MATH_CHANGE_TITLE"] = "erhöhe %1 um %2";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Addiert eine Zahl zu \"%1\".";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://de.wikipedia.org/wiki/Mathematische_Konstante";
+Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "Mathematische Konstanten wie: Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…) oder âˆž (unendlich).";
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "begrenze %1 zwischen %2 und %3";
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Begrenzt eine Zahl auf den Wertebereich zwischen zwei anderen Zahlen (inklusiv).";
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";  // untranslated
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "ist teilbar durch";
+Blockly.Msg["MATH_IS_EVEN"] = "ist gerade";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "ist negativ";
+Blockly.Msg["MATH_IS_ODD"] = "ist ungerade";
+Blockly.Msg["MATH_IS_POSITIVE"] = "ist positiv";
+Blockly.Msg["MATH_IS_PRIME"] = "ist eine Primzahl";
+Blockly.Msg["MATH_IS_TOOLTIP"] = "Überprüft ob eine Zahl gerade, ungerade, eine Primzahl, ganzzahlig, positiv, negativ oder durch eine zweite Zahl teilbar ist.  Gibt wahr oder unwahr zurück.";
+Blockly.Msg["MATH_IS_WHOLE"] = "ist eine ganze Zahl";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://de.wikipedia.org/wiki/Modulo";
+Blockly.Msg["MATH_MODULO_TITLE"] = "Rest von %1 ÷ %2";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Der Rest nach einer Division.";
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";  // untranslated
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://de.wikipedia.org/wiki/Zahl";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "Eine Zahl.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "http://www.sysplus.ch/einstieg.php?links=menu&seite=4125&grad=Crash&prog=Excel";
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "Mittelwert der Liste";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "Maximalwert der Liste";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "Median der Liste";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "Minimalwert der Liste";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "am häufigsten in der Liste";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "Zufallswert aus der Liste";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "Standardabweichung der Liste";
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "Summe über die Liste";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Ist der Durchschnittswert aller Zahlen in einer Liste.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "Ist die größte Zahl in einer Liste.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "Ist der Median aller Zahlen in einer Liste.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "Ist die kleinste Zahl in einer Liste.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Findet die Werte mit dem häufigstem Vorkommen in der Liste.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Gibt einen zufälligen Wert aus der Liste zurück.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Ist die Standardabweichung aller Werte in der Liste.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Ist die Summe aller Zahlen in einer Liste.";
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://de.wikipedia.org/wiki/Zufallszahlen";
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "Zufallszahl (0.0 - 1.0)";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Erzeugt eine Zufallszahl zwischen 0.0 (inklusiv) und 1.0 (exklusiv).";
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://de.wikipedia.org/wiki/Zufallszahlen";
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "ganzzahlige Zufallszahl zwischen %1 und %2";
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Erzeugt eine ganzzahlige Zufallszahl zwischen zwei Zahlen (inklusiv).";
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://de.wikipedia.org/wiki/Runden";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "runde";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "runde ab";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "runde auf";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Eine Zahl auf- oder abrunden.";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://de.wikipedia.org/wiki/Quadratwurzel";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "Betrag";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "Quadratwurzel";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Ist der Betrag einer Zahl.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Ist Wert der Exponentialfunktion einer Zahl.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "Ist der natürliche Logarithmus einer Zahl.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "Ist der dekadische Logarithmus einer Zahl.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Negiert eine Zahl.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Rechnet 10 hoch eine Zahl.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Ist die Quadratwurzel einer Zahl.";
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";  // untranslated
+Blockly.Msg["MATH_TRIG_ACOS"] = "acos";  // untranslated
+Blockly.Msg["MATH_TRIG_ASIN"] = "asin";  // untranslated
+Blockly.Msg["MATH_TRIG_ATAN"] = "atan";  // untranslated
+Blockly.Msg["MATH_TRIG_COS"] = "cos";  // untranslated
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://de.wikipedia.org/wiki/Trigonometrie";
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";  // untranslated
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Ist der Arkuskosinus des Eingabewertes.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Ist der Arkussinus des Eingabewertes.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Ist der Arkustangens des Eingabewertes.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Ist der Kosinus des Winkels.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Ist der Sinus des Winkels.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Ist der Tangens des Winkels.";
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Farbvariable erstellen â€¦";
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Zahlenvariable erstellen â€¦";
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Zeichenfolgenvariable erstellen â€¦";
+Blockly.Msg["NEW_VARIABLE"] = "Variable erstellen â€¦";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "Name der neuen Variable:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "Neuer Variablentyp:";
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = ".";
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "Anweisungen erlauben";
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "mit:";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://de.wikipedia.org/wiki/Unterprogramm";
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Rufe einen Funktionsblock ohne Rückgabewert auf.";
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://de.wikipedia.org/wiki/Unterprogramm";
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Rufe einen Funktionsblock mit Rückgabewert auf.";
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "mit:";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "Erzeuge \"Aufruf %1\"";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Beschreibe diese Funktion â€¦";
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://de.wikipedia.org/wiki/Prozedur_%28Programmierung%29";
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "etwas tun";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Ein Funktionsblock ohne Rückgabewert.";
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://de.wikipedia.org/wiki/Prozedur_%28Programmierung%29";
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "gib zurück";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "Ein Funktionsblock mit Rückgabewert.";
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "Warnung: Dieser Funktionsblock hat zwei gleich benannte Parameter.";
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "Markiere Funktionsblock";
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "Gibt den zweiten Wert zurück und verlässt die Funktion, falls der erste Wert wahr ist.";
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "Warnung: Dieser Block darf nur innerhalb eines Funktionsblocks genutzt werden.";
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "Variable:";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Eine Eingabe zur Funktion hinzufügen.";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "Parameter";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Die Eingaben zu dieser Funktion hinzufügen, entfernen oder neu anordnen.";
+Blockly.Msg["REDO"] = "Wiederholen";
+Blockly.Msg["REMOVE_COMMENT"] = "Kommentar entfernen";
+Blockly.Msg["RENAME_VARIABLE"] = "Variable umbenennen â€¦";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Alle \"%1\" Variablen umbenennen in:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "zu %1 Text %2 anhängen";
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Text an die Variable \"%1\" anhängen.";
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "wandel um in kleinbuchstaben";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "wandel um in Substantive";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "wandel um in GROSSBUCHSTABEN";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Wandelt Schreibweise von Texten um, in Großbuchstaben, Kleinbuchstaben oder den ersten Buchstaben jedes Wortes groß und die anderen klein.";
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "nimm ersten";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "nimm von hinten";
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "nimm";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic=%2Fcom.ibm.xlcpp8l.doc%2Flanguage%2Fref%2Farsubex.htm";
+Blockly.Msg["TEXT_CHARAT_LAST"] = "nimm letzten";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "nimm zufälligen";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "Buchstaben";
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "im Text %1 %2";
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Extrahiert einen Buchstaben von einer bestimmten Position.";
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "zähle %1 in %2";
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Zähle, wie oft ein Text innerhalb eines anderen Textes vorkommt.";
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Ein Element zum Text hinzufügen.";
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "verbinden";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Hinzufügen, entfernen und sortieren von Elementen.";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "bis von hinten";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "bis";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "bis letzter";
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic=%2Fcom.ibm.xlcpp8l.doc%2Flanguage%2Fref%2Farsubex.htm";
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "im Text";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "nimm Teil ab erster";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "nimm Teil ab von hinten";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "nimm Teil ab";
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "Buchstabe";
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Gibt den angegebenen Textabschnitt zurück.";
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic=%2Fcom.ibm.xlcpp8l.doc%2Flanguage%2Fref%2Farsubex.htm";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "suche erstes Auftreten des Begriffs";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "suche letztes Auftreten des Begriffs";
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "im Text %1 %2 %3";
+Blockly.Msg["TEXT_INDEXOF_TOOLTIP"] = "Findet das erste / letzte Auftreten eines Suchbegriffs in einem Text.  Gibt die Position des Begriffs zurück oder %1 falls der Suchbegriff nicht gefunden wurde.";
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 ist leer";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Ist wahr, falls der Text keine Zeichen enthält ist.";
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "";
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "erstelle Text aus";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Erstellt einen Text durch das Verbinden von mehreren Textelementen.";
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "Länge von %1";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Die Anzahl von Zeichen in einem Text (inkl. Leerzeichen).";
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "gib aus %1";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Gibt den Text aus.";
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Fragt den Benutzer nach einer Zahl.";
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Fragt den Benutzer nach einem Text.";
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "frage nach Zahl mit Hinweis";
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "frage nach Text mit Hinweis";
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "ersetze %1 durch %2 in %3";
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Ersetze alle Vorkommen eines Textes innerhalb eines anderen Textes.";
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "kehre %1 um";
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Kehre die Reihenfolge der Zeichen im Text um.";
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://de.wikipedia.org/wiki/Zeichenkette";
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "Ein Buchstabe, Text oder Satz.";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "entferne Leerzeichen vom Anfang und vom Ende (links und rechts)";
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "entferne Leerzeichen vom Anfang (links)";
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "entferne Leerzeichen vom Ende (rechts)";
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Entfernt Leerzeichen vom Anfang und / oder Ende eines Textes.";
+Blockly.Msg["TODAY"] = "Heute";
+Blockly.Msg["UNDO"] = "Rückgängig";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "etwas";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Erzeuge \"Schreibe %1\"";
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://de.wikipedia.org/wiki/Variable_%28Programmierung%29";
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Gibt den Wert der Variable zurück.";
+Blockly.Msg["VARIABLES_SET"] = "setze %1 auf %2";
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Erzeuge \"Lese %1\"";
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://de.wikipedia.org/wiki/Variable_%28Programmierung%29";
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Setzt den Wert einer Variable.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "Eine Variable namens â€ž%1“ ist bereits vorhanden.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "Eine Variable namens â€ž%1“ ist bereits für einen anderen Typ vorhanden: â€ž%2“.";
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Teile etwas mit â€¦";
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/diq.js b/js/msg/js/diq.js
new file mode 100644 (file)
index 0000000..d7aef64
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.diq');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "Tefsir cı ke";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "Can't delete the variable '%1' because it's part of the definition of the function '%2'";  // untranslated
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "Erci bıvurne:";
+Blockly.Msg["CLEAN_UP"] = "Blokan pak ke";
+Blockly.Msg["COLLAPSE_ALL"] = "Blokan teng ke";
+Blockly.Msg["COLLAPSE_BLOCK"] = "Bloki teng ke";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "reng 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "reng 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";  // untranslated
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "nısbet";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "tewde";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "Blends two colours together with a given ratio (0.0 - 1.0).";  // untranslated
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://diq.wikipedia.org/wiki/Reng";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "Şıma palet ra yew reng weçinê.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "rengo rastameye";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "Tesadufi yu ren bıweçin";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "kewe";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "kıho";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";  // untranslated
+Blockly.Msg["COLOUR_RGB_RED"] = "sur";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "komponentên rengan";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "Şıma renganê sûr, aşıl u kohoy ra rengê do spesifik vırazê. Gani Ãª pêro 0 u 100 miyan de bıbê.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "Çerxen ra vec";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "Gama bin da çerxeni ra dewam ke";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "Öujtewada Ã§erxeni ra bıvıci";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "Skip the rest of this loop, and continue with the next iteration.";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "Diqat: No bloke ÅŸeno teyna yew Ã§erxiyayış miyan de bıgırweyo.";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "Lista %2 de her item %1 rê";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "Yew lista de her item rê, varyansê '%1' itemi rê vırazê, u dıma tayê akerdışi (beyani) bıdê";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "count with %1 from %2 to %3 by %4";  // untranslated
+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.";  // untranslated
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "Bloq da if'i rê yu ÅŸert dekerê de.";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "Add a final, catch-all condition to the if block.";  // untranslated
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this if block.";  // untranslated
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "çıniyose";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "niyose";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "se";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "Eger yew vaye raÅŸto, o taw ÅŸÄ±ma tayê akerdışi kerê.";
+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.";  // untranslated
+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.";  // untranslated
+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.";  // untranslated
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://en.wikipedia.org/wiki/For_loop";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "bıke";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "%1 fıni tekrar ke";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "Şıma tayêna reyi akerdışi kerê.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "hend tekrar ke";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "Tekrar kerdış de";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "Yew erc xırabo se tay beyanati bıd";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "Yew erc raÅŸto se yu beyanat bıd.";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "Pêro %1 bloki besteriyê?";
+Blockly.Msg["DELETE_BLOCK"] = "Bloki bestere";
+Blockly.Msg["DELETE_VARIABLE"] = "Şıma vırnaoğê '%1'i besterê";
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "%1 ke vırnayışê '%2'i gırweneno, besteriyo?";
+Blockly.Msg["DELETE_X_BLOCKS"] = "%1 blokan bestere";
+Blockly.Msg["DISABLE_BLOCK"] = "Çengi devre ra vec";
+Blockly.Msg["DUPLICATE_BLOCK"] = "Zewnc";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicate Comment";  // untranslated
+Blockly.Msg["ENABLE_BLOCK"] = "Bloki feal ke";
+Blockly.Msg["EXPAND_ALL"] = "Blokan hera ke";
+Blockly.Msg["EXPAND_BLOCK"] = "Bloki hera ke";
+Blockly.Msg["EXTERNAL_INPUTS"] = "Cıkewtışê xarıciy";
+Blockly.Msg["HELP"] = "PeÅŸti";
+Blockly.Msg["INLINE_INPUTS"] = "Cıkerdışê xomiyani";
+Blockly.Msg["IOS_CANCEL"] = "Bıtexelne";
+Blockly.Msg["IOS_ERROR"] = "Xeta";
+Blockly.Msg["IOS_OK"] = "TEMAM";
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Beyan cı ke";
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Ä°fade rê mısade bıde";
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "This function has duplicate inputs.";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "BEYANÄ°";
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "Cı ke";
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Add Variable";  // untranslated
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "Bestere";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "You can't use an empty variable name.";  // untranslated
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Reyna name ke";
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Variable name";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "lista venge vıraze";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Returns a list, of length 0, containing no data records";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "liste";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this list block.";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "Liste ya vıraz";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Yew nesne dekerê lista miyan";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Create a list with any number of items.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "verên";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "# peyniye ra";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "bıgê";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "Bıgi u wedarne";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "peyên";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "raÅŸtameye";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "wedare";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Returns the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Returns the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Returns the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Returns a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "Removes and returns the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "Removes and returns the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "Removes and returns the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Removes and returns a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "Removes the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "Removes the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "Removes the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Removes a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "Peyni # ra hetana";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "#'ya";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "Hetana pey";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "get sub-list from first";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "get sub-list from # from end";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "get sub-list from #";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Creates a copy of the specified portion of a list.";  // untranslated
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 objeyo peyên o";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 objeyo sıfteyên o";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "Sıfte bıyayena cay obcey bıvin";
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "find last occurrence of item";  // untranslated
+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.";  // untranslated
+Blockly.Msg["LISTS_INLIST"] = "lista de";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 vengo";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Eger kı lista venga se raÅŸt keno Ã§erÄŸ";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "length of %1";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Derganiya yu lister dano.";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "create list with item %1 repeated %2 times";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Creates a list consisting of the given value repeated the specified number of times.";  // untranslated
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";  // untranslated
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Reverse a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "zey";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "De fi";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "ca ke";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Inserts the item at the start of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Inserts the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Append the item to the end of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Inserts the item randomly in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Sets the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Sets the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Sets the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Sets a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "zeydıyen";
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "Kemeyen";
+Blockly.Msg["LISTS_SORT_TITLE"] = "Kılm %1 %2 %3";
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Sort a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "alphabetic, ignore case";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "Amoriyal";
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "Alfabetik";
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "make list from text";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "make text from list";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Join a list of texts into one text, separated by a delimiter.";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Split text into a list of texts, breaking at each delimiter.";  // untranslated
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "Hududoxi ya";
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "ÄŸelet";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "RaÅŸt yana Ã§ep erc dano";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "raÅŸt";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://en.wikipedia.org/wiki/Inequality_(mathematics)";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Return true if both inputs equal each other.";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Return true if the first input is greater than the second input.";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Return true if the first input is greater than or equal to the second input.";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "Return true if the first input is smaller than the second input.";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "Return true if the first input is smaller than or equal to the second input.";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "Return true if both inputs are not equal to each other.";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "%1 niyo";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "Returns true if the input is false. Returns false if the input is true.";  // untranslated
+Blockly.Msg["LOGIC_NULL"] = "veng";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";  // untranslated
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "Veng çarneno ra.";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "û";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "ya zi";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "Eger her dı cıkewtışi zi raÅŸtê, ÅŸÄ±ma ageyrê.";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "Return true if at least one of the inputs is true.";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "test";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "eke ÄŸeleto";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "eke raÅŸto";
+Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "Åžerta'test'i test keno.  Eger ke ÅŸert raÅŸta se erca 'raÅŸt'i Ã§arneno, Ã§epo se erca 'çep'  Ã§arneno.";
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://en.wikipedia.org/wiki/Aritmetik";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Return the sum of the two numbers.";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Return the quotient of the two numbers.";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Return the difference of the two numbers.";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Return the product of the two numbers.";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Return the first number raised to the power of the second number.";  // untranslated
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";
+Blockly.Msg["MATH_CHANGE_TITLE"] = "%2, keno %1 vurneno";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Add a number to variable '%1'.";  // untranslated
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://en.wikipedia.org/wiki/Mathematical_constant";
+Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "Heryen sabitan ra yewi Ã§erx ke:Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), or âˆž (bêsonp).";
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "constrain %1 low %2 high %3";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Constrain a number to be between the specified limits (inclusive).";  // untranslated
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";  // untranslated
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "Leteyêno";
+Blockly.Msg["MATH_IS_EVEN"] = "zewnco";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "negatifo";
+Blockly.Msg["MATH_IS_ODD"] = "kıto";
+Blockly.Msg["MATH_IS_POSITIVE"] = "pozitifo";
+Blockly.Msg["MATH_IS_PRIME"] = "bıngehên";
+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.";  // untranslated
+Blockly.Msg["MATH_IS_WHOLE"] = "tamo";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://en.wikipedia.org/wiki/Modulo_operation";
+Blockly.Msg["MATH_MODULO_TITLE"] = "%1 ÷ %2 ra menden";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Dı amoran ra amora menden Ã§erx ke";
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";  // untranslated
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://diq.wikipedia.org/wiki/Numre";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "Yew numre.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "Averacê lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "Tewr gırdê lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "Wertey lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "Tewr qıcê lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "listey modi";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "RaÅŸtamaye objeya lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "standard deviation of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "koma liste";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Return the average (arithmetic mean) of the numeric values in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "Return the largest number in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "Return the median number in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "Return the smallest number in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Return a list of the most common item(s) in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Liste ra raÅŸtamaye yew elementi Ã§erx ke";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Return the standard deviation of the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Return the sum of all the numbers in the list.";  // untranslated
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "RaÅŸtamaye nimande amor";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Return a random fraction between 0.0 (inclusive) and 1.0 (exclusive).";  // untranslated
+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";  // untranslated
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Return a random integer between the two specified limits, inclusive.";  // untranslated
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://en.wikipedia.org/wiki/Rounding";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "gılor ke";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "Loğê cêri ke";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "Loğê cori ke";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Yu amorer loğê cêri yana cori ke";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://en.wikipedia.org/wiki/Square_root";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "mutlaq";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "karekok";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Return the absolute value of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Return e to the power of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "Return the natural logarithm of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "Return the base 10 logarithm of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Ena amorer nêravêrde deyne çerx ke.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Return 10 to the power of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Return the square root of a number.";  // untranslated
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";  // untranslated
+Blockly.Msg["MATH_TRIG_ACOS"] = "acos";  // untranslated
+Blockly.Msg["MATH_TRIG_ASIN"] = "asin";  // untranslated
+Blockly.Msg["MATH_TRIG_ATAN"] = "atan";  // untranslated
+Blockly.Msg["MATH_TRIG_COS"] = "cos";  // untranslated
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://en.wikipedia.org/wiki/Trigonometric_functions";  // untranslated
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";  // untranslated
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Return the arccosine of a number.";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Return the arcsine of a number.";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Return the arctangent of a number.";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Return the cosine of a degree (not radian).";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Return the sine of a degree (not radian).";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Return the tangent of a degree (not radian).";  // untranslated
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Create colour variable...";  // untranslated
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Create number variable...";  // untranslated
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Create string variable...";  // untranslated
+Blockly.Msg["NEW_VARIABLE"] = "Vuriyayeyo bıvıraz...";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "Namey vuriyayeyê newi:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "New variable type:";  // untranslated
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "ifade rê mısade bıde";
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "ebe:";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Run the user-defined function '%1'.";  // untranslated
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Run the user-defined function '%1' and use its output.";  // untranslated
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "ebe:";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "'%1' vıraze";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Nê fonksiyoni beyan ke...";
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "Çıyê bık";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "rê";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Yew fonksiyono Ã§ap nêdate vırazeno";
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "peyser biya";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "Yew fonksiyono Ã§ap daye vırazeno";
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "Warning: This function has duplicate parameters.";  // untranslated
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "Highlight function definition";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "If a value is true, then return a second value.";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "Warning: This block may be used only within a function definition.";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "namey cıkewtışi:";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Add an input to the function.";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "cıkewtışi";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Add, remove, or reorder inputs to this function.";  // untranslated
+Blockly.Msg["REDO"] = "Newe ke";
+Blockly.Msg["REMOVE_COMMENT"] = "Tefsiri Wedare";
+Blockly.Msg["RENAME_VARIABLE"] = "Vuriyayey fına name ke...";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Pêro vırnayışê '%1' reyna name ke:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "rê %1 Metin dek %2";
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Append some text to variable '%1'.";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "Herfanê werdiyana";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "Ser herf gırd";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "HERFANÊ GIRDANA";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Return a copy of the text in a different case.";  // untranslated
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "Herfa sıfti bıgi";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "# ra tepya herfan bıgi";
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "Herfa # bıgi";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "Herfa peyên bıgi";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "RaÅŸtamaye yu herf bıgi";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "in text %1 %2";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Şınasnaye pozisyon de yu herfer Ã§erÄŸ keno";
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";  // untranslated
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "count %1 in %2";  // untranslated
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Count how many times some text occurs within some other text.";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Add an item to the text.";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "gıre de";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this text block.";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "to letter # from end";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "to letter #";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "to last letter";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "metın de";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "get substring from first letter";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "get substring from letter # from end";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "# ra substring gêno";
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Tay letey metini Ã§erÄŸ keno";
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "find first occurrence of text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "find last occurrence of text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "metın de %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.";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 vengo";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Returns true if the provided text is empty.";  // untranslated
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "ya metin vıraz";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Create a piece of text by joining together any number of items.";  // untranslated
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "length of %1";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Returns the number of letters (including spaces) in the provided text.";  // untranslated
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "print %1";  // untranslated
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Print the specified text, number or other value.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Prompt for user for a number.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Prompt for user for some text.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "prompt for number with message";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "prompt for text with message";  // untranslated
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";  // untranslated
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "replace %1 with %2 in %3";  // untranslated
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Replace all occurances of some text within some other text.";  // untranslated
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";  // untranslated
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Reverses the order of the characters in the text.";  // untranslated
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://en.wikipedia.org/wiki/String_(computer_science)";
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "Yu herfa,  satır yana Ã§ekuya metini";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "trim spaces from both sides of";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "trim spaces from left side of";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "trim spaces from right side of";  // untranslated
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Return a copy of the text with spaces removed from one or both ends.";  // untranslated
+Blockly.Msg["TODAY"] = "Ewro";
+Blockly.Msg["UNDO"] = "Peyser biya";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "unsur";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Create 'set %1'";  // untranslated
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Returns the value of this variable.";  // untranslated
+Blockly.Msg["VARIABLES_SET"] = "set %1 to %2";  // untranslated
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "'get %1' vıraz";
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Sets this variable to be equal to the input.";  // untranslated
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "Yew vırnayış be namey '%1' xora est.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "A variable named '%1' already exists for another type: '%2'.";  // untranslated
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something...";  // untranslated
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/dty.js b/js/msg/js/dty.js
new file mode 100644 (file)
index 0000000..3869fb0
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.dty');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["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'";  // untranslated
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "मान à¤¬à¤¦à¤²";
+Blockly.Msg["CLEAN_UP"] = "बà¥à¤²à¤•à¤¨à¤²à¤¾à¤ˆ à¤¹à¤Ÿà¤¾à¤“";
+Blockly.Msg["COLLAPSE_ALL"] = "बà¥à¤²à¤• à¤­à¤¤à¥à¤•à¤¾à¤“";
+Blockly.Msg["COLLAPSE_BLOCK"] = "बà¥à¤²à¤• à¤­à¤¤à¥à¤•à¤¾";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "रंग 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "रंग 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";  // untranslated
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "अनà¥à¤ªà¤¾à¤¤";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "मिशà¥à¤°à¤£ à¤—र";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "दियाका à¤…नà¥à¤ªà¤¾à¤¤ (0.0 - 1.0) à¤•à¤¾ à¤¸à¤¾à¤¥ à¤¦à¥à¤ˆ à¤°à¤‚गहरूको à¤®à¤¿à¤¶à¥à¤°à¤£ à¤—रनà¥à¤› à¥¤";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://en.wikipedia.org/wiki/Color";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "पैलेट à¤¬à¤¾à¤Ÿ à¤à¤• à¤°à¤‚ग à¤šà¥à¤¨ à¥¤";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "जà¥à¤¨à¤¸à¥à¤•à¥ˆ à¤°à¤™à¥à¤—";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "रैनà¥à¤¡à¤®à¥à¤²à¥€ à¤à¤• à¤°à¤‚ग à¤šà¤¯à¤¨ à¤—र à¥¤";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "निलो";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "हरियो";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";  // untranslated
+Blockly.Msg["COLOUR_RGB_RED"] = "रातो";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "यै à¤°à¤™à¥à¤—को";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "रातो, à¤¹à¤°à¤¿à¤¯à¥‹ à¤”र à¤¨à¥€à¤²à¥‹à¤•à¥‹ à¤¨à¤¿à¤°à¥à¤¦à¤¿à¤·à¥à¤Ÿ à¤®à¤¾à¤¤à¥à¤°à¤¾à¤•à¥€ à¤¸à¤¾à¤¥ à¤à¤• à¤°à¤‚ग à¤¬à¤¨à¤¾à¤“ à¥¤ à¤¸à¤¬à¥ˆ à¤®à¤¾à¤¨ à¥¦ à¤¦à¥‡à¤–ि à¥§à¥¦à¥¦ à¤•à¤¾ à¤¬à¥€à¤š à¤¹à¥à¤¨à¥ à¤ªà¤¡à¤¨à¥à¤› à¥¤";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "लूप à¤¬à¤¾à¤Ÿ à¤­à¤¾à¤‡à¤° à¤¨à¤¿à¤•à¤²à¥Œà¤‚";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "लूपको à¤…रà¥à¤•à¥‹ à¤†à¤ˆà¤Ÿà¤°à¥‡à¤¶à¤¨ à¤œà¤¾à¤°à¥€ à¤°à¤¾à¤–";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "भीतà¥à¤°à¥€ à¤²à¥‚प à¤¬à¤¾à¤Ÿ à¤¬à¤¾à¤¹à¤¿à¤° à¤¨à¤¿à¤¸à¥à¤•à¤¨à¥‡";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "बचेका à¤²à¥‚पलाई à¤›à¥‹à¤¡, à¤”र à¤…रà¥à¤•à¥‹ à¤†à¤ˆà¤Ÿà¤°à¥‡à¤¶à¤¨ à¤œà¤¾à¤°à¥€ à¤°à¤¾à¤– à¥¤";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "सावधान: à¤¯à¥‹ à¤¬à¥à¤²à¤• à¤•à¥‡à¤µà¤² à¤²à¥‚प à¤­à¤¿à¤¤à¥à¤°à¤®à¤¾à¤¤à¥à¤° à¤ªà¥à¤°à¤¯à¥‹à¤— à¤—दà¥à¤¦ à¤¸à¤•à¤¿à¤¨à¥à¤› à¥¤";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "%2 à¤¸à¥‚चीमी à¤­à¤¯à¤¾à¤ƒ à¤ªà¥à¤°à¤¤à¥à¤¯à¥‡à¤• à¤†à¤‡à¤Ÿà¤® %1 à¤–िलाइ";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "सूचीको à¤ªà¥à¤°à¤¤à¥à¤¯à¥‡à¤• à¤†à¤‡à¤Ÿà¤®à¤•à¥‹ à¤²à¤¾à¤—ी, à¤†à¤‡à¤Ÿà¤®à¤®à¥€ à¤šà¤°à¤•à¥‹ à¤®à¤¾à¤¨ '%1' à¤°à¤¾à¤–ौं à¤”र à¤ªà¤¾à¤›à¤¾ à¤•à¥à¤¯à¥ˆ à¤•à¤¥à¤¨ à¤²à¥‡à¤– à¥¤";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "गनà¥à¤¤à¥€ à¤—र %1 à¤¦à¥‡à¤–ी %2 %3 %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"] = "यदि à¤¬à¥à¤²à¤•à¤®à¤¾ à¤à¤• à¤¶à¤°à¥à¤¤ à¤œà¥‹à¤¡à¥Œà¤‚ à¥¤";
+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";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this if block.";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "à¤à¤²à¥à¤¸";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "à¤à¤²à¥à¤¸ à¤‡à¤«";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "इफ";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "जब à¤¤à¤²à¤• à¤®à¤¾à¤¨ à¤¸à¤¤à¥à¤¯ à¤›, à¤¤à¤¬ à¤¤à¤²à¤• à¤•à¥à¤¯à¥ˆ à¤¸à¥à¤Ÿà¥‡à¤Ÿà¥à¤®à¥‡à¤‚ट à¤šà¤²à¤¾à¤“ à¥¤";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "यदि à¤à¤• à¤®à¤¾à¤¨ à¤¸à¤¤à¥à¤¯ à¤› à¤­à¤£à¥à¤¯à¤¾ à¤•à¤¥à¤¨à¤¹à¤°à¥‚को à¤ªà¥à¤°à¤¥à¤® à¤–णà¥à¤¡ à¤¬à¤£à¤¾à¤“ à¥¤ à¤…नà¥à¤¯à¤¥à¤¾ à¤•à¤¥à¤¨à¤¹à¤°à¥‚को à¤…रà¥à¤•à¥‹ à¤­à¤¾à¤— à¤¨à¤¿à¤°à¥à¤®à¤¿à¤¤ à¤—र à¥¤";
+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/Color";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "डू";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "%1 à¤ªà¤²à¥à¤Ÿ à¤¦à¥‹à¤¸à¤°à¤¾à¤“";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "कà¥à¤¯à¥ˆ à¤¸à¥à¤Ÿà¥‡à¤Ÿà¥à¤®à¤¨à¥à¤Ÿ à¤•à¥ˆà¤¯à¥‹à¤‚ à¤ªà¤²à¥à¤Ÿ à¤šà¤²à¤¾à¤“ à¥¤";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "दोहराओ à¤œà¤¬ à¤¤à¤²à¤•";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "दोहराओ à¤œà¤¬ à¤•à¥€";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "जब à¤¤à¤• à¤®à¤¾à¤¨ à¤«à¥‰à¤²à¥à¤¸ à¤›, à¤¤à¤¬ à¤¤à¤• à¤•à¥à¤¯à¥ˆ à¤¸à¥à¤Ÿà¥‡à¤Ÿà¥à¤®à¥‡à¤‚टà¥à¤¸ à¤šà¤²à¤¾à¤“ à¥¤";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "जब à¤¤à¤²à¤• à¤®à¤¾à¤¨ à¤¸à¤¤à¥à¤¯ à¤›, à¤¤à¤¬ à¤¤à¤²à¤• à¤•à¥à¤¯à¥ˆ à¤¸à¥à¤Ÿà¥‡à¤Ÿà¥à¤®à¥‡à¤‚ट à¤šà¤²à¤¾à¤“ à¥¤";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "सबै %1 à¤¬à¥à¤²à¤•à¤¨à¤²à¤¾à¤ˆ à¤¹à¤Ÿà¤¾à¤‰à¤¨à¥à¤¯à¤¾ ?";
+Blockly.Msg["DELETE_BLOCK"] = "बà¥à¤²à¤• à¤¹à¤Ÿà¤¾à¤‰à¤¨à¥à¤¯à¤¾";
+Blockly.Msg["DELETE_VARIABLE"] = "'%1' à¤­à¥‡à¤°à¤¿à¤à¤¬à¤² à¤®à¥‡à¤Ÿ:";
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "'%2' à¤­à¥‡à¤°à¤¿à¤à¤¬à¤²à¤¾ %1 à¤ªà¥à¤°à¤¯à¥‹à¤— à¤®à¥‡à¤Ÿà¥à¤Ÿà¥à¤¯à¤¾?";
+Blockly.Msg["DELETE_X_BLOCKS"] = " %1 à¤¬à¥à¤²à¤•à¤¹à¤°à¥‚ à¤¹à¤Ÿà¤¾à¤‰à¤¨à¥à¤¯à¤¾";
+Blockly.Msg["DISABLE_BLOCK"] = "बà¥à¤²à¤•à¤²à¤¾à¤ˆ à¤¨à¤¿à¤¶à¥à¤•à¥à¤°à¤¿à¤¯ à¤ªà¤¾à¤¡à¥à¤¡à¥‡";
+Blockly.Msg["DUPLICATE_BLOCK"] = "कपी à¤—र";
+Blockly.Msg["DUPLICATE_COMMENT"] = "हूबहू à¤Ÿà¤¿à¤ªà¥à¤ªà¤£à¥€";
+Blockly.Msg["ENABLE_BLOCK"] = "बà¥à¤²à¤•à¤²à¤¾à¤ˆ à¤¸à¤•à¥à¤°à¤¿à¤¯ à¤ªà¤¾à¤¡à¥à¤¡à¥‡";
+Blockly.Msg["EXPAND_ALL"] = "बà¥à¤²à¤•à¤¨à¤²à¤¾à¤ˆ à¤«à¥ˆà¤²à¤¾à¤“";
+Blockly.Msg["EXPAND_BLOCK"] = "बà¥à¤²à¤•à¤¨à¤²à¤¾à¤ˆ à¤«à¥ˆà¤²à¤¾à¤“";
+Blockly.Msg["EXTERNAL_INPUTS"] = "भाइरका à¤‡à¤¨à¥à¤ªà¥à¤Ÿà¤¹à¤°à¥‚";
+Blockly.Msg["HELP"] = "सहायता";
+Blockly.Msg["INLINE_INPUTS"] = "इनलाइन à¤‡à¤¨à¥à¤ªà¥à¤Ÿà¤¹à¤°à¥‚";
+Blockly.Msg["IOS_CANCEL"] = "खारेजी";
+Blockly.Msg["IOS_ERROR"] = "गलà¥à¤¤à¥€";
+Blockly.Msg["IOS_OK"] = "हà¥à¤¨à¥à¤›";
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ à¤‡à¤¨à¤ªà¥à¤Ÿ à¤¥à¤ªà¤ƒ";
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Allow statements";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "This function has duplicate inputs.";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "इनपà¥à¤Ÿà¤¨";
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "जोड़ऽ";
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Add Variable";  // untranslated
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "मेटः";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "तम à¤–ाली à¤šà¤² à¤¨à¤¾à¤‰à¤ à¤ªà¥à¤°à¤¯à¥‹à¤— à¤…रीनाइसकà¥à¤¦à¤¾à¤ƒà¥¤";
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "पà¥à¤¨à¤°à¥à¤¨à¤¾à¤®à¤•à¤°à¤£";
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "चल(भेरिà¤à¤¬à¤²) à¤¨à¤¾à¤‰à¤";
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "create empty list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Returns a list, of length 0, containing no data records";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "list";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this list block.";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "create list with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Add an item to the list.";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Create a list with any number of items.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "first";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "# from end";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "get";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "get and remove";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "last";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "random";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "remove";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Returns the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Returns the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Returns the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Returns a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "Removes and returns the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "Removes and returns the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "Removes and returns the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Removes and returns a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "Removes the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "Removes the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "Removes the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Removes a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "to # from end";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "to #";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "to last";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "get sub-list from first";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "get sub-list from # from end";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "get sub-list from #";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Creates a copy of the specified portion of a list.";  // untranslated
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 is the last item.";  // untranslated
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 is the first item.";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "find first occurrence of item";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "find last occurrence of item";  // untranslated
+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.";  // untranslated
+Blockly.Msg["LISTS_INLIST"] = "in list";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 is empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Returns true if the list is empty.";  // untranslated
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "length of %1";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Returns the length of a list.";  // untranslated
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "create list with item %1 repeated %2 times";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Creates a list consisting of the given value repeated the specified number of times.";  // untranslated
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";  // untranslated
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Reverse a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "as";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "insert at";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Inserts the item at the start of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Inserts the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Append the item to the end of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Inserts the item randomly in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Sets the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Sets the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Sets the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Sets a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";  // untranslated
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "ascending";  // untranslated
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "descending";  // untranslated
+Blockly.Msg["LISTS_SORT_TITLE"] = "sort %1 %2 %3";  // untranslated
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Sort a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "alphabetic, ignore case";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "numeric";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "alphabetic";  // untranslated
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "make list from text";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "make text from list";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Join a list of texts into one text, separated by a delimiter.";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Split text into a list of texts, breaking at each delimiter.";  // untranslated
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "with delimiter";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "असतà¥à¤¯";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "सतà¥à¤¯ à¤¯à¤¾ à¤…सतà¥à¤¯ à¤«à¤¿à¤°à¥à¤¤à¤¾ à¤…रनà¥à¤›à¥¤";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "सतà¥à¤¯";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://en.wikipedia.org/wiki/Inequality_(mathematics)";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "यदी à¤¦à¥à¤µà¥ˆ à¤‡à¤¨à¤ªà¥à¤Ÿ à¤à¤• à¤…रà¥à¤•à¤¾à¤•à¤¾ à¤¬à¤°à¤¾à¤¬à¤° à¤›à¤¨à¥ à¤­à¤£à¥à¤¯à¤¾ à¤Ÿà¥ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤—र à¥¤";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "पैलà¥à¤²à¥‹ à¤‡à¤¨à¤ªà¥à¤Ÿ à¤¦à¥‹à¤¸à¤°à¤¾ à¤‡à¤¨à¤ªà¥à¤Ÿ à¤¹à¥ˆ à¤ à¥à¤²à¥‹ à¤­à¤¯à¤¾ à¤Ÿà¥à¤°à¥‚ à¤«à¤¿à¤°à¥à¤¤à¤¾ à¤…र:।";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "पैलà¥à¤²à¥‹ à¤‡à¤¨à¤ªà¥à¤Ÿ à¤¦à¥‹à¤¸à¤°à¤¾ à¤‡à¤¨à¤ªà¥à¤Ÿ à¤¹à¥ˆ à¤ à¥à¤²à¥‹ à¤¯à¤¾ à¤‰à¤‡ à¤¸à¤¿à¤¤ à¤¬à¤°à¤¾à¤¬à¤° à¤­à¤¯à¤¾ à¤Ÿà¥à¤°à¥‚ à¤«à¤¿à¤°à¥à¤¤à¤¾ à¤…र:।";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "पैलà¥à¤²à¥‹ à¤‡à¤¨à¤ªà¥à¤Ÿ à¤¦à¥‹à¤¸à¤°à¤¾ à¤‡à¤¨à¤ªà¥à¤Ÿ à¤¹à¥ˆ à¤¨à¤¾à¤¨à¥‹ à¤­à¤¯à¤¾ à¤Ÿà¥à¤°à¥‚ à¤«à¤¿à¤°à¥à¤¤à¤¾ à¤…र:।";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "पैलà¥à¤²à¥‹ à¤‡à¤¨à¤ªà¥à¤Ÿ à¤¦à¥‹à¤¸à¤°à¤¾ à¤‡à¤¨à¤ªà¥à¤Ÿ à¤¹à¥ˆ à¤¨à¤¾à¤¨à¥‹ à¤¯à¤¾ à¤‰à¤‡ à¤¸à¤¿à¤¤ à¤¬à¤°à¤¾à¤¬à¤° à¤­à¤¯à¤¾ à¤Ÿà¥à¤°à¥‚ à¤«à¤¿à¤°à¥à¤¤à¤¾ à¤…र:।";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "यदी à¤¦à¥à¤µà¥ˆ à¤‡à¤¨à¤ªà¥à¤Ÿ à¤à¤• à¤…रà¥à¤•à¤¾à¤•à¥‹ à¤¬à¤°à¤¾à¤¬à¤° à¤¨à¤¾à¤‡à¤¥à¤¿à¤¨à¥ à¤­à¤£à¤¯à¤¾ à¤Ÿà¥ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤—र à¥¤";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "not %1";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "इनपà¥à¤Ÿ à¤…सतà¥à¤¯ à¤­à¤¯à¤¾à¤²à¥‡ à¤¸à¤¨à¥à¤¯ à¤«à¤¿à¤°à¥à¤¤à¤¾ à¤…रनà¥à¤›à¥¤ à¤‡à¤¨à¤ªà¥à¤Ÿ à¤¸à¤¤à¥à¤¯ à¤­à¤¯à¤¾à¤²à¥‡ à¤…सतà¥à¤¯ à¤«à¤¿à¤°à¥à¤¤à¤¾ à¤…रनà¥à¤›à¥¤";
+Blockly.Msg["LOGIC_NULL"] = "शूà¥à¤¯";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";  // untranslated
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "शूनà¥à¤¯ à¤«à¤¿à¤°à¥à¤¤à¤¾ à¤…रनà¥à¤›à¥¤";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "रे";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "या";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "दà¥à¤à¤‡ à¤‡à¤¨à¤ªà¥à¤Ÿ à¤Ÿà¥à¤°à¥‚ à¤­à¤¯à¤¾ à¤Ÿà¥à¤°à¥‚ à¤«à¤¿à¤°à¥à¤¤à¤¾ à¤…र:।";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "कमà¥à¤¤à¥€à¤®à¥€ à¤²à¥ˆ à¥§ à¤‡à¤¨à¤ªà¥à¤Ÿ à¤¸à¤¤à¥à¤¯ à¤­à¤¯à¤¾à¤²à¥‡ à¤¸à¤¤à¥à¤¯ à¤«à¤¿à¤°à¥à¤¤à¤¾ à¤…र।";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "test";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "if false";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "if true";  // untranslated
+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.";  // untranslated
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://en.wikipedia.org/wiki/Arithmetic";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Return the sum of the two numbers.";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Return the quotient of the two numbers.";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Return the difference of the two numbers.";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Return the product of the two numbers.";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Return the first number raised to the power of the second number.";  // untranslated
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";  // untranslated
+Blockly.Msg["MATH_CHANGE_TITLE"] = "change %1 by %2";  // untranslated
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Add a number to variable '%1'.";  // untranslated
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://en.wikipedia.org/wiki/Mathematical_constant";  // untranslated
+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).";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "constrain %1 low %2 high %3";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Constrain a number to be between the specified limits (inclusive).";  // untranslated
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";  // untranslated
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "is divisible by";  // untranslated
+Blockly.Msg["MATH_IS_EVEN"] = "is even";  // untranslated
+Blockly.Msg["MATH_IS_NEGATIVE"] = "is negative";  // untranslated
+Blockly.Msg["MATH_IS_ODD"] = "is odd";  // untranslated
+Blockly.Msg["MATH_IS_POSITIVE"] = "is positive";  // untranslated
+Blockly.Msg["MATH_IS_PRIME"] = "is prime";  // untranslated
+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.";  // untranslated
+Blockly.Msg["MATH_IS_WHOLE"] = "is whole";  // untranslated
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://en.wikipedia.org/wiki/Modulo_operation";  // untranslated
+Blockly.Msg["MATH_MODULO_TITLE"] = "remainder of %1 ÷ %2";  // untranslated
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Return the remainder from dividing the two numbers.";  // untranslated
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";  // untranslated
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://en.wikipedia.org/wiki/Number";  // untranslated
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "A number.";  // untranslated
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "average of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "max of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "median of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "min of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "modes of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "random item of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "standard deviation of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "sum of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Return the average (arithmetic mean) of the numeric values in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "Return the largest number in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "Return the median number in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "Return the smallest number in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Return a list of the most common item(s) in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Return a random element from the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Return the standard deviation of the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Return the sum of all the numbers in the list.";  // untranslated
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "random fraction";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Return a random fraction between 0.0 (inclusive) and 1.0 (exclusive).";  // untranslated
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";  // untranslated
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "random integer from %1 to %2";  // untranslated
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Return a random integer between the two specified limits, inclusive.";  // untranslated
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://en.wikipedia.org/wiki/Rounding";  // untranslated
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "round";  // untranslated
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "round down";  // untranslated
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "round up";  // untranslated
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Round a number up or down.";  // untranslated
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://en.wikipedia.org/wiki/Square_root";  // untranslated
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "absolute";  // untranslated
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "square root";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Return the absolute value of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Return e to the power of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "Return the natural logarithm of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "Return the base 10 logarithm of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Return the negation of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Return 10 to the power of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Return the square root of a number.";  // untranslated
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";  // untranslated
+Blockly.Msg["MATH_TRIG_ACOS"] = "acos";  // untranslated
+Blockly.Msg["MATH_TRIG_ASIN"] = "asin";  // untranslated
+Blockly.Msg["MATH_TRIG_ATAN"] = "atan";  // untranslated
+Blockly.Msg["MATH_TRIG_COS"] = "cos";  // untranslated
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://en.wikipedia.org/wiki/Trigonometric_functions";  // untranslated
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";  // untranslated
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Return the arccosine of a number.";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Return the arcsine of a number.";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Return the arctangent of a number.";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Return the cosine of a degree (not radian).";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Return the sine of a degree (not radian).";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Return the tangent of a degree (not radian).";  // untranslated
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Create colour variable...";  // untranslated
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Create number variable...";  // untranslated
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Create string variable...";  // untranslated
+Blockly.Msg["NEW_VARIABLE"] = "भेरिà¤à¤µà¤² à¤¬à¤¨à¤¾:";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "नयाठभेरिबलको à¤¨à¤¾à¤®:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "New variable type:";  // untranslated
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "allow statements";  // untranslated
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "with:";  // untranslated
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Run the user-defined function '%1'.";  // untranslated
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Run the user-defined function '%1' and use its output.";  // untranslated
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "with:";  // untranslated
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "Create '%1'";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Describe this function...";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "do something";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "to";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Creates a function with no output.";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "return";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "Creates a function with an output.";  // untranslated
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "Warning: This function has duplicate parameters.";  // untranslated
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "Highlight function definition";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "If a value is true, then return a second value.";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "Warning: This block may be used only within a function definition.";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "input name:";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Add an input to the function.";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "inputs";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Add, remove, or reorder inputs to this function.";  // untranslated
+Blockly.Msg["REDO"] = "पà¥à¤¨: à¤•à¤¾à¤¯à¤® à¤—दà¥à¤¦à¥‡";
+Blockly.Msg["REMOVE_COMMENT"] = "टिपà¥à¤ªà¤£à¥€ à¤¹à¤Ÿà¤¾à¤‰à¤¨à¥à¤¯à¤¾";
+Blockly.Msg["RENAME_VARIABLE"] = "भेरिबललाई à¤ªà¥à¤¨à¤ƒ à¤¨à¤¾à¤®à¤¾à¤‚कन à¤—र...";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "सबै à¤­à¥‡à¤°à¤¿à¤¬à¤²à¤¨à¤•à¤¾ %1 à¤¨à¤¾à¤® à¤¬à¤¦à¤²à¥à¤¨à¥à¤¯à¤¾:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "to %1 append text %2";  // untranslated
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Append some text to variable '%1'.";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "to lower case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "to Title Case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "to UPPER CASE";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Return a copy of the text in a different case.";  // untranslated
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "get first letter";  // untranslated
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "get letter # from end";  // untranslated
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "get letter #";  // untranslated
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "get last letter";  // untranslated
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "get random letter";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "in text %1 %2";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Returns the letter at the specified position.";  // untranslated
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";  // untranslated
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "count %1 in %2";  // untranslated
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Count how many times some text occurs within some other text.";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Add an item to the text.";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "join";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this text block.";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "to letter # from end";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "to letter #";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "to last letter";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "in text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "get substring from first letter";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "get substring from letter # from end";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "get substring from letter #";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Returns a specified portion of the text.";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "find first occurrence of text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "find last occurrence of text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "in text %1 %2 %3";  // untranslated
+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.";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 is empty";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Returns true if the provided text is empty.";  // untranslated
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "create text with";  // untranslated
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Create a piece of text by joining together any number of items.";  // untranslated
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "length of %1";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Returns the number of letters (including spaces) in the provided text.";  // untranslated
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "print %1";  // untranslated
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Print the specified text, number or other value.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Prompt for user for a number.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Prompt for user for some text.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "prompt for number with message";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "prompt for text with message";  // untranslated
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";  // untranslated
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "replace %1 with %2 in %3";  // untranslated
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Replace all occurances of some text within some other text.";  // untranslated
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";  // untranslated
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Reverses the order of the characters in the text.";  // untranslated
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://en.wikipedia.org/wiki/String_(computer_science)";  // untranslated
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "A letter, word, or line of text.";  // untranslated
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "trim spaces from both sides of";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "trim spaces from left side of";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "trim spaces from right side of";  // untranslated
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Return a copy of the text with spaces removed from one or both ends.";  // untranslated
+Blockly.Msg["TODAY"] = "आज";
+Blockly.Msg["UNDO"] = "रदà¥à¤¦ à¤—रà¥à¤¨à¥à¤¯à¤¾";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "वसà¥à¤¤à¥";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Create 'set %1'";  // untranslated
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Returns the value of this variable.";  // untranslated
+Blockly.Msg["VARIABLES_SET"] = "set %1 to %2";  // untranslated
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Create 'get %1'";  // untranslated
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Sets this variable to be equal to the input.";  // untranslated
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "'%1' à¤¨à¤¾à¤‰à¤ à¤…रियाऽ à¤­à¥‡à¤°à¤¿à¤à¤¬à¤² à¤ªà¥ˆà¤²à¥€ à¤¬à¤ à¥‡à¤‡ à¤›à¥¤";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "A variable named '%1' already exists for another type: '%2'.";  // untranslated
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "केयि à¤­à¤à¤£...";
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/el.js b/js/msg/js/el.js
new file mode 100644 (file)
index 0000000..7213710
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.el');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "ΠÏόσθεσε Î¤Î¿ Î£Ï‡ÏŒÎ»Î¹Î¿";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "Δεν Î¼Ï€Î¿ÏÏŽ Î½Î± Î´Î¹Î±Î³Ïάψω Ï„ην Î¼ÎµÏ„αβλητή '%1' Î´Î¹ÏŒÏ„ι ÎµÎ¯Î½Î±Î¹ Î¼Î­Ïος Ï„ου Î¿ÏισμοϠτης Î»ÎµÎ¹Ï„ουÏγίας '%2'";
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "Άλλαξε Ï„ην Ï„ιμή:";
+Blockly.Msg["CLEAN_UP"] = "Ταξινομείστε Ï„α ÎœÏ€Î»Î¿Îº";
+Blockly.Msg["COLLAPSE_ALL"] = "ΣÏμπτυξε ÎŒÎ»Î± Î¤Î± ÎœÏ€Î»Î¿Îº";
+Blockly.Msg["COLLAPSE_BLOCK"] = "ΣÏμπτυξε Î¤Î¿ ÎœÏ€Î»Î¿Îº";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "χÏώμα 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "χÏώμα 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "αναλογία";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "μείγμα";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "Συνδυάζει Î´Ïο Ï‡Ïώματα Î¼Î±Î¶Î¯ Î¼Îµ Î¼Î¹Î± Î´ÎµÎ´Î¿Î¼Î­Î½Î· Î±Î½Î±Î»Î¿Î³Î¯Î± (0.0 - 1,0).";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://el.wikipedia.org/wiki/%CE%A7%CF%81%CF%8E%CE%BC%CE%B1";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "ΕπιτÏέπει ÎµÏ€Î¹Î»Î¿Î³Î® Ï‡Ïώματος Î±Ï€ÏŒ Ï„ην Ï€Î±Î»Î­Ï„α.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "τυχαίο Ï‡Ïώμα";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "Επιλέγει Ï‡Ïώμα Ï„υχαία.";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "μπλε";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "Ï€Ïάσινο";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";
+Blockly.Msg["COLOUR_RGB_RED"] = "κόκκινο";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "χÏώμα Î¼Îµ";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "ΔημιουÏγεί Ï‡Ïώμα Î¼Îµ Ï„ο ÏƒÏ…γκεκÏιμένο Ï€Î¿ÏƒÏŒ Ï„ου ÎºÏŒÎºÎºÎ¹Î½Î¿Ï…, Ï€Ïάσινου ÎºÎ±Î¹ Î¼Ï€Î»Îµ Ï€Î¿Ï… Î¿Ïίζεις. ÎŒÎ»ÎµÏ‚ Î¿Î¹ Ï„ιμές Ï€Ïέπει Î½Î± ÎµÎ¯Î½Î±Î¹ Î¼ÎµÏ„αξϠ0 ÎºÎ±Î¹ 100.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "φεÏγει Î±Ï€ÏŒ Ï„ο Î¼Ï€Î»Î¿Îº ÎµÏ€Î±Î½Î±Î»Î®ÏˆÎµÏ‰Ï‚";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "συνέχισε Î¼Îµ Ï„ην ÎµÏ€ÏŒÎ¼ÎµÎ½Î· ÎµÏ€Î±Î½Î¬Î»Î·ÏˆÎ· Ï„ου Î¼Ï€Î»Î¿Îº ÎµÏ€Î±Î½Î±Î»Î®ÏˆÎµÏ‰Ï‚";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "ΞεφεÏγει (βγαίνει Î­Î¾Ï‰) Î±Ï€ÏŒ Ï„ην ÎµÏ€Î±Î½Î¬Î»Î·ÏˆÎ·.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "ΠαÏαλείπει Ï„ο Ï…πόλοιπο Ï„μήμα Î±Ï…τοϠτου Î¼Ï€Î»Î¿Îº ÎµÏ€Î±Î½Î±Î»Î®ÏˆÎµÏ‰Ï‚, ÎºÎ±Î¹ ÏƒÏ…νεχίζει Î¼Îµ Ï„ην ÎµÏ€ÏŒÎ¼ÎµÎ½Î· ÎµÏ€Î±Î½Î¬Î»Î·ÏˆÎ·.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "ΠÏοειδοποίηση: Î‘Ï…Ï„ÏŒ Ï„ο Î¼Ï€Î»Î¿Îº Î¼Ï€Î¿Ïεί Î½Î± Ï‡Ïησιμοποιηθεί Î¼ÏŒÎ½Î¿ Î¼Î­ÏƒÎ± ÏƒÎµ Î¼Î¹Î± ÎµÏ€Î±Î½Î¬Î»Î·ÏˆÎ·.";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "για ÎºÎ¬Î¸Îµ ÏƒÏ„οιχείο %1 ÏƒÏ„η Î»Î¯ÏƒÏ„α %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "Για ÎºÎ¬Î¸Îµ ÏƒÏ„οιχείο ÏƒÎµ Î¼Î¹Î± Î»Î¯ÏƒÏ„α, Î¿Ïίζει Ï„η Î¼ÎµÏ„αβλητή Â«%1» ÏƒÏ„ο ÏƒÏ„οιχείο ÎºÎ±Î¹, ÏƒÏ„η ÏƒÏ…νέχεια, ÎµÎºÏ„ελεί ÎºÎ¬Ï€Î¿Î¹ÎµÏ‚ ÎµÎ½Ï„ολές.";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "Blockly";
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "μέτÏησε Î¼Îµ %1 Î±Ï€ÏŒ Ï„ο %2 Î­Ï‰Ï‚ Ï„ο %3 Î±Î½Î¬ %4";
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "Η Î¼ÎµÏ„αβλητή Â«%1» Ï€Î±Î¯Ïνει Ï„ιμές Î¾ÎµÎºÎ¹Î½ÏŽÎ½Ï„ας Î±Ï€ÏŒ Ï„ον Î±Ïιθμό Î­Î½Î±Ïξης Î¼Î­Ï‡Ïι Ï„ον Î±Ïιθμό Ï„έλους Î±Ï…ξάνοντας ÎºÎ¬Î¸Îµ Ï†Î¿Ïά Î¼Îµ Ï„ο ÎºÎ±Î¸Î¿Ïισμένο Î²Î®Î¼Î± ÎºÎ±Î¹ ÎµÎºÏ„ελώντας Ï„ο ÎºÎ±Î¸Î¿Ïισμένο Î¼Ï€Î»Î¿Îº.";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "ΠÏόσθετει Î¼Î¹Î± ÎºÎ±Ï„άσταση/συνθήκη ÏƒÏ„ο Î¼Ï€Î»Î¿Îº Â«ÎµÎ¬Î½Â».";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "ΠÏοσθέτει Î¼Î¹Î± Ï„ελική ÎºÎ±Ï„άσταση/συνθήκη, Ï€Î¿Ï… Ï€Î¹Î¬Î½ÎµÎ¹ ÏŒÎ»ÎµÏ‚ Ï„ις Î¬Î»Î»ÎµÏ‚ Ï€ÎµÏιπτώσεις, ÏƒÏ„ο Î¼Ï€Î»Î¿Îº Â«ÎµÎ¬Î½Â».";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "ΠÏοσθέτει, Î±Ï†Î±Î¹Ïεί Î® Î±Î½Î±Î´Î¹Î±Ï„άσσει Ï„α Ï„μήματα Î³Î¹Î± Î½Î± Î±Î½Î±Î´Î¹Î±Î¼Î¿Ïφώσει Î±Ï…Ï„ÏŒ Ï„ο Î¼Ï€Î»Î¿Îº Â«ÎµÎ¬Î½Â».";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "αλλιώς";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "εναλλακτικά ÎµÎ¬Î½";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "εάν";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "Αν Î¼Î¹Î± Ï„ιμή ÎµÎ¯Î½Î±Î¹ Î±Î»Î·Î¸Î®Ï‚, Ï„ότε ÎµÎºÏ„ελεί ÎºÎ¬Ï€Î¿Î¹ÎµÏ‚ ÎµÎ½Ï„ολές.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "Αν Î¼Î¹Î± Ï„ιμή ÎµÎ¯Î½Î±Î¹ Î±Î»Î·Î¸Î®Ï‚, Ï„ότε ÎµÎºÏ„ελεί Ï„ο Ï€Ïώτο Ï„μήμα ÎµÎ½Ï„ολών. Î”ιαφοÏετικά, ÎµÎºÏ„ελεί Ï„ο Î´ÎµÏτεÏο Ï„μήμα ÎµÎ½Ï„ολών.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "Αν Î· Ï€Ïώτη Ï„ιμή ÎµÎ¯Î½Î±Î¹ Î±Î»Î·Î¸Î®Ï‚, Ï„ότε ÎµÎºÏ„ελεί Ï„ο Ï€Ïώτο Ï„μήμα ÎµÎ½Ï„ολών. Î”ιαφοÏετικά, Î±Î½ Î· Î´ÎµÏτεÏη Ï„ιμή ÎµÎ¯Î½Î±Î¹ Î±Î»Î·Î¸Î®Ï‚, ÎµÎºÏ„ελεί Ï„ο Î´ÎµÏτεÏο Î¼Ï€Î»Î¿Îº ÎµÎ½Ï„ολών.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "Αν Î· Ï€Ïώτη Ï„ιμή ÎµÎ¯Î½Î±Î¹ Î±Î»Î·Î¸Î®Ï‚, Ï„ότε ÎµÎºÏ„ελεί Ï„ο Ï€Ïώτο Ï„μήμα ÎµÎ½Ï„ολών.  Î”ιαφοÏετικά, Î±Î½ Î· Î´ÎµÏτεÏη Ï„ιμή ÎµÎ¯Î½Î±Î¹ Î±Î»Î·Î¸Î®Ï‚, ÎµÎºÏ„ελεί Ï„ο Î´ÎµÏτεÏο Ï„μήμα ÎµÎ½Ï„ολών. Î‘ν ÎºÎ±Î¼Î¯Î± Î±Ï€ÏŒ Ï„ις Ï„ιμές Î´ÎµÎ½ ÎµÎ¯Î½Î±Î¹ Î±Î»Î·Î¸Î®Ï‚, ÎµÎºÏ„ελεί Ï„ο Ï„ελευταίο Ï„μήμα ÎµÎ½Ï„ολών.";
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://en.wikipedia.org/wiki/For_loop";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "κάνε";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "επανάλαβε %1 Ï†Î¿Ïές";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "Εκτελεί ÎºÎ¬Ï€Î¿Î¹ÎµÏ‚ ÎµÎ½Ï„ολές Î±Ïκετές Ï†Î¿Ïές.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "επανάλαβε Î¼Î­Ï‡Ïι";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "επανάλαβε ÎµÎ½ÏŽ";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "Ενόσω Î¼Î¹Î± Ï„ιμή ÎµÎ¯Î½Î±Î¹ ÏˆÎµÏ…δής, Ï„ότε ÎµÎºÏ„ελεί ÎºÎ¬Ï€Î¿Î¹ÎµÏ‚ ÎµÎ½Ï„ολές.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "Ενόσω Î¼Î¹Î± Ï„ιμή ÎµÎ¯Î½Î±Î¹ Î±Î»Î·Î¸Î®Ï‚, Ï„ότε ÎµÎºÏ„ελεί ÎºÎ¬Ï€Î¿Î¹ÎµÏ‚ ÎµÎ½Ï„ολές.";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "Îα Î´Î¹Î±Î³ÏαφοÏν ÎºÎ±Î¹ Ï„α %1 Î¼Ï€Î»Î¿Îº;";
+Blockly.Msg["DELETE_BLOCK"] = "ΔιάγÏαψε Î¤Î¿ ÎœÏ€Î»Î¿Îº";
+Blockly.Msg["DELETE_VARIABLE"] = "ΔιαγÏάψετε Ï„ην Î¼ÎµÏ„αβλητή '%1'";
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Θέλετε Î½Î± Î´Î¹Î±Î³Ïάψετε Ï„ο %1 Ï€Î¿Ï… Ï‡Ïησιμοποιείτε Ï„ης Î¼ÎµÏ„αβλητής '%2'?";
+Blockly.Msg["DELETE_X_BLOCKS"] = "ΔιάγÏαψε %1 ÎœÏ€Î»Î¿Îº";
+Blockly.Msg["DISABLE_BLOCK"] = "ΑπενεÏγοποίησε Î¤Î¿ ÎœÏ€Î»Î¿Îº";
+Blockly.Msg["DUPLICATE_BLOCK"] = "Διπλότυπο";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Διπλότυπο ÏƒÏ‡ÏŒÎ»Î¹Î¿";
+Blockly.Msg["ENABLE_BLOCK"] = "ΕνεÏγοποίησε Î¤Î¿ ÎœÏ€Î»Î¿Îº";
+Blockly.Msg["EXPAND_ALL"] = "Επέκτεινε ÎŒÎ»Î± Î¤Î± ÎœÏ€Î»Î¿Îº";
+Blockly.Msg["EXPAND_BLOCK"] = "Επέκτεινε Î¤Î¿ ÎœÏ€Î»Î¿Îº";
+Blockly.Msg["EXTERNAL_INPUTS"] = "ΕξωτεÏικές Î•Î¯ÏƒÎ¿Î´Î¿Î¹";
+Blockly.Msg["HELP"] = "Βοήθεια";
+Blockly.Msg["INLINE_INPUTS"] = "ΕσωτεÏικές Î•Î¯ÏƒÎ¿Î´Î¿Î¹";
+Blockly.Msg["IOS_CANCEL"] = "ΑκυÏώστε";
+Blockly.Msg["IOS_ERROR"] = "Σφάλμα";
+Blockly.Msg["IOS_OK"] = "ΟΚ";
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "Εισάγετε ÏƒÏ„οιχείο";
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Îα ÎµÏ€Î¹Ï„Ïέπονται Î¿Î¹ Î´Î·Î»ÏŽÏƒÎµÎ¹Ï‚";
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "Αυτή Î· Ï€Î±ÏάμετÏος Î±Ï€Î±Î¹Ï„εί Î´Î¹Ï€Î»Î® ÎµÎ¹ÏƒÎ±Î³Ï‰Î³Î® ÏƒÏ„οιχείων";
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "ΕΙΣΑΓΟΜΕÎΑ Î£Î¤ÎŸÎ™Î§Î•Î™Î‘";
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "ΠÏοσθήκη";
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "ΠÏοσθέσατε ÎœÎµÏ„αβλητή";
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "ΔιαγÏαφή";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "Δεν Î¼Ï€Î¿Ïείτε Î½Î± Ï‡Ïησιμοποιήσετε Î¼Î¹Î± Î¼ÎµÏ„αβλητή Î´Î¯Ï‡Ï‰Ï‚ ÏŒÎ½Î¿Î¼Î±";
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Αλλάξετε Ï„ο ÏŒÎ½Î¿Î¼Î± Ï„ου Î±Ïχείου";
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Όνομα Î¼ÎµÏ„αβλητής";
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "δημιοÏÏγησε ÎºÎµÎ½Î® Î»Î¯ÏƒÏ„α";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "ΕπιστÏέφει Î¼Î¹Î± Î»Î¯ÏƒÏ„α, Î¼Îµ Î¼Î®ÎºÎ¿Ï‚ 0, Î· Î¿Ï€Î¿Î¯Î± Î´ÎµÎ½ Ï€ÎµÏιέχει ÎµÎ³Î³Ïαφές Î´ÎµÎ´Î¿Î¼Î­Î½Ï‰Î½";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "λίστα";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "ΠÏοσθέτει, Î±Ï†Î±Î¹Ïεί Î® Î±Î½Î±Î´Î¹Î±Ï„άσσει Ï„α Ï„μήματα Î³Î¹Î± Î½Î± Î±Î½Î±Î´Î¹Î±Î¼Î¿Ïφώσει Î±Ï…Ï„ÏŒ Ï„ο Î¼Ï€Î»Î¿Îº Î»Î¯ÏƒÏ„ας.";
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "δημιοÏÏγησε Î»Î¯ÏƒÏ„α Î¼Îµ";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "ΠÏοσθέτει Î±Î½Ï„ικείμενο ÏƒÏ„η Î»Î¯ÏƒÏ„α.";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "ΔημιουÏγεί Î»Î¯ÏƒÏ„α Î¼Îµ Î¿Ï€Î¿Î¹Î¿Î½Î´Î®Ï€Î¿Ï„ε Î±Ïιθμό Î±Î½Ï„ικειμένων.";
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "Ï€Ïώτο";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "# Î±Ï€ÏŒ Ï„ο Ï„έλος";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "πάÏε";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "πάÏε ÎºÎ±Î¹ Î±Ï†Î±Î¯Ïεσε";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "τελευταίο";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "τυχαίο";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "αφαίÏεσε";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "ΕπιστÏέφει Ï„ο Ï€Ïώτο ÏƒÏ„οιχείο ÏƒÎµ Î¼Î¹Î± Î»Î¯ÏƒÏ„α.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "ΕπιστÏέφει Ï„ο ÏƒÏ„οιχείο ÏƒÏ„ην ÎºÎ±Î¸Î¿Ïισμένη Î¸Î­ÏƒÎ· ÏƒÎµ Î¼Î¹Î± Î»Î¯ÏƒÏ„α.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "ΕπιστÏέφει Ï„ο Ï„ελευταίο ÏƒÏ„οιχείο ÏƒÎµ Î¼Î¹Î± Î»Î¯ÏƒÏ„α.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "ΕπιστÏέφει Î­Î½Î± Ï„υχαίο ÏƒÏ„οιχείο ÏƒÎµ Î¼Î¹Î± Î»Î¯ÏƒÏ„α.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "ΚαταÏγεί ÎºÎ±Î¹ ÎµÏ€Î¹ÏƒÏ„Ïέφει Ï„ο Ï€Ïώτο ÏƒÏ„οιχείο ÏƒÎµ Î¼Î¹Î± Î»Î¯ÏƒÏ„α.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "ΚαταÏγεί ÎºÎ±Î¹ ÎµÏ€Î¹ÏƒÏ„Ïέφει Ï„ο ÏƒÏ„οιχείο ÏƒÏ„ην ÎºÎ±Î¸Î¿Ïισμένη Î¸Î­ÏƒÎ· ÏƒÎµ Î¼Î¹Î± Î»Î¯ÏƒÏ„α.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "ΚαταÏγεί ÎºÎ±Î¹ ÎµÏ€Î¹ÏƒÏ„Ïέφει Ï„ο Ï„ελευταίο ÏƒÏ„οιχείο ÏƒÎµ Î¼Î¹Î± Î»Î¯ÏƒÏ„α.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "ΚαταÏγεί ÎºÎ±Î¹ ÎµÏ€Î¹ÏƒÏ„Ïέφει Î­Î½Î± Ï„υχαίο ÏƒÏ„οιχείο ÏƒÎµ Î¼Î¹Î± Î»Î¯ÏƒÏ„α.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "ΚαταÏγεί Ï„ο Ï€Ïώτο ÏƒÏ„οιχείο ÏƒÎµ Î¼Î¹Î± Î»Î¯ÏƒÏ„α.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "ΚαταÏγεί Ï„ο ÏƒÏ„οιχείο ÏƒÏ„ην ÎºÎ±Î¸Î¿Ïισμένη Î¸Î­ÏƒÎ· ÏƒÎµ Î¼Î¹Î± Î»Î¯ÏƒÏ„α.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "ΚαταÏγεί Ï„ο Ï„ελευταίο ÏƒÏ„οιχείο ÏƒÎµ Î¼Î¹Î± Î»Î¯ÏƒÏ„α.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "ΚαταÏγεί Î­Î½Î± Ï„υχαίο ÏƒÏ„οιχείο ÏƒÎµ Î¼Î¹Î± Î»Î¯ÏƒÏ„α.";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "έως # Î±Ï€ÏŒ Ï„ο Ï„έλος";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "έως #";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "έως Ï„ο Ï„ελευταίο";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "Blockly";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "πάÏε Ï…πολίστα Î±Ï€ÏŒ Ï„ην Î±Ïχή";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "πάÏε Ï…πολίστα Î±Ï€ÏŒ # Î±Ï€ÏŒ Ï„ο Ï„έλος";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "πάÏε Ï…πολίστα Î±Ï€ÏŒ #";
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "ΔημιουÏγεί Î­Î½Î± Î±Î½Ï„ίγÏαφο Ï„ου ÎºÎ±Î¸Î¿Ïισμένου Ï„μήματος Î¼Î¹Î±Ï‚ Î»Î¯ÏƒÏ„ας.";
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "Το %1 ÎµÎ¯Î½Î±Î¹ Ï„ο Ï„ελευταίο ÏƒÏ„οιχείο.";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "Το %1 ÎµÎ¯Î½Î±Î¹ Ï„ο Ï€Ïώτο ÏƒÏ„οιχείο.";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "βÏες Ï„ην Ï€Ïώτη ÎµÎ¼Ï†Î¬Î½Î¹ÏƒÎ· Ï„ου ÏƒÏ„οιχείου";
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "Blockly";
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "βÏες Ï„ην Ï„ελευταία ÎµÎ¼Ï†Î¬Î½Î¹ÏƒÎ· Ï„ου ÏƒÏ„οιχείου";
+Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "ΕπιστÏέφει Ï„ον Î´ÎµÎ¯ÎºÏ„η Ï„ης Ï€Ïώτης/τελευταίας ÎµÎ¼Ï†Î¬Î½Î¹ÏƒÎ·Ï‚ Ï„ου ÏƒÏ„οιχείου ÏƒÏ„η Î»Î¯ÏƒÏ„α.  Î•Ï€Î¹ÏƒÏ„Ïέφει Ï„ιμή %1, Î±Î½ Ï„ο ÏƒÏ„οιχείο Î´ÎµÎ½ Î²Ïεθεί.";
+Blockly.Msg["LISTS_INLIST"] = "στη Î»Î¯ÏƒÏ„α";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "το %1 ÎµÎ¯Î½Î±Î¹ ÎºÎµÎ½ÏŒ";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "ΕπιστÏέφει Î±Î»Î·Î¸Î®Ï‚ Î±Î½ Î· Î»Î¯ÏƒÏ„α ÎµÎ¯Î½Î±Î¹ ÎºÎµÎ½Î®.";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "Blockly";
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "το Î¼Î®ÎºÎ¿Ï‚ Ï„ου %1";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "ΕπιστÏέφει Ï„ο Î¼Î®ÎºÎ¿Ï‚ Î¼Î¹Î±Ï‚ Î»Î¯ÏƒÏ„ας.";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "Blockly";
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "δημιοÏÏγησε Î»Î¯ÏƒÏ„α Î¼Îµ Ï„ο ÏƒÏ„οιχείο %1 Î½Î± ÎµÏ€Î±Î½Î±Î»Î±Î¼Î²Î¬Î½ÎµÏ„αι %2 Ï†Î¿Ïές";
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "ΔημιουÏγεί Î¼Î¹Î± Î»Î¯ÏƒÏ„α Ï€Î¿Ï… Î±Ï€Î¿Ï„ελείται Î±Ï€ÏŒ Ï„ην Î´ÎµÎ´Î¿Î¼Î­Î½Î· Ï„ιμή Ï€Î¿Ï… ÎµÏ€Î±Î½Î±Î»Î±Î¼Î²Î¬Î½ÎµÏ„αι Î³Î¹Î± ÏƒÏ…γκεκÏιμένο Î±Ïιθμό ÎµÏ€Î±Î½Î±Î»Î®ÏˆÎµÏ‰Î½.";
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";  // untranslated
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "ανάκληση %1";
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Α";
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "σε";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "είσαγε ÏƒÏ„ο";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "ÏŒÏισε";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Εισάγει Ï„ο ÏƒÏ„οιχείο ÏƒÏ„ην Î±Ïχή Î¼Î¹Î±Ï‚ Î»Î¯ÏƒÏ„ας.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Εισάγει Ï„ο ÏƒÏ„οιχείο ÏƒÏ„ην ÎºÎ±Î¸Î¿Ïισμένη Î¸Î­ÏƒÎ· ÏƒÎµ Î¼Î¹Î± Î»Î¯ÏƒÏ„α.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Αναθέτει Ï„ο ÏƒÏ„οιχείο ÏƒÏ„ο Ï„έλος Î¼Î¹Î±Ï‚ Î»Î¯ÏƒÏ„ας.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Εισάγει Ï„ο ÏƒÏ„οιχείο Ï„υχαία ÏƒÎµ Î¼Î¹Î± Î»Î¯ÏƒÏ„α.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "ΟÏίζει Ï„ο Ï€Ïώτο ÏƒÏ„οιχείο ÏƒÎµ Î¼Î¹Î± Î»Î¯ÏƒÏ„α.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "ΟÏίζει Ï„ο ÏƒÏ„οιχείο ÏƒÏ„ην ÎºÎ±Î¸Î¿Ïισμένη Î¸Î­ÏƒÎ· ÏƒÎµ Î¼Î¹Î± Î»Î¯ÏƒÏ„α.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "ΟÏίζει Ï„ο Ï„ελευταίο ÏƒÏ„οιχείο ÏƒÎµ Î¼Î¹Î± Î»Î¯ÏƒÏ„α.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "ΟÏίζει Î­Î½Î± Ï„υχαίο ÏƒÏ„οιχείο ÏƒÎµ Î¼Î¹Î± Î»Î¯ÏƒÏ„α.";
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "ΑÏξουσα";
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "Φθίνουσα";
+Blockly.Msg["LISTS_SORT_TITLE"] = "επιλογή %1 %2 %3";
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Επιλέξετε Î­Î½Î± Î±Î½Ï„ίγÏαφο Ï„ης Î»Î¯ÏƒÏ„ας.";
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "αλφαβητικά, Î±Î³Î½Î¿Î®ÏƒÏ„ε Ï„ο ÏƒÏ„οιχείο";
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "αÏιθμητικό";
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "Αλφαβητικά";
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "κάνετε Î»Î¯ÏƒÏ„α Î±Ï€ÏŒ Ï„ο ÎºÎµÎ¯Î¼ÎµÎ½Î¿";
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "κάνετε ÎºÎµÎ¯Î¼ÎµÎ½Î¿ Î±Ï€ÏŒ Ï„η Î»Î¯ÏƒÏ„α";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Ενώστε Î¼Î¹Î± Î»Î¯ÏƒÏ„α ÎºÎµÎ¹Î¼Î­Î½Ï‰Î½ ÏƒÎµ Î­Î½Î± ÎºÎµÎ¯Î¼ÎµÎ½Î¿, Ï€Î¿Ï… Ï‡Ï‰Ïίζονται Î±Ï€ÏŒ Î­Î½Î± Î´Î¹Î±Ï‡Ï‰Ïιστικό.";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "ΔιαίÏεση Ï„ου ÎºÎµÎ¹Î¼Î­Î½Î¿Ï… ÏƒÎµ Î¼Î¹Î± Î»Î¯ÏƒÏ„α ÎºÎµÎ¹Î¼Î­Î½Ï‰Î½, Î¼Îµ ÏƒÏ€Î¬ÏƒÎ¹Î¼Î¿ ÏƒÎµ ÎºÎ¬Î¸Îµ Î´Î¹Î±Ï‡Ï‰Ïιστικό.";
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "με Î´Î¹Î±Ï‡Ï‰Ïιστικό";
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "ψευδής";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "ΕπιστÏέφει ÎµÎ¯Ï„ε Î±Î»Î·Î¸Î®Ï‚ ÎµÎ¯Ï„ε ÏˆÎµÏ…δής.";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "αληθής";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://en.wikipedia.org/wiki/Inequality_(mathematics)";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "ΕπιστÏέφει Î±Î»Î·Î¸Î®Ï‚ Î±Î½ ÎºÎ±Î¹ Î¿Î¹ Î´Ïο ÎµÎ¯ÏƒÎ¿Î´Î¿Î¹ ÎµÎ¯Î½Î±Î¹ Î¯ÏƒÎµÏ‚ Î¼ÎµÏ„αξϠτους.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "ΕπιστÏέφει Î±Î»Î·Î¸Î®Ï‚ Î±Î½ Î· Ï€Ïώτη ÎµÎ¯ÏƒÎ¿Î´Î¿Ï‚ ÎµÎ¯Î½Î±Î¹ Î¼ÎµÎ³Î±Î»ÏτεÏη Î±Ï€ÏŒ Ï„η Î´ÎµÏτεÏη ÎµÎ¯ÏƒÎ¿Î´Î¿.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "ΕπιστÏέφει Î±Î»Î·Î¸Î®Ï‚ Î±Î½ Î· Ï€Ïώτη ÎµÎ¯ÏƒÎ¿Î´Î¿Ï‚ ÎµÎ¯Î½Î±Î¹ Î¼Î¹ÎºÏότεÏη Î® Î¯ÏƒÎ· Î¼Îµ Ï„η Î´ÎµÏτεÏη ÎµÎ¯ÏƒÎ¿Î´Î¿.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "ΕπιστÏέφει Î±Î»Î·Î¸Î®Ï‚ Î±Î½ Î· Ï€Ïώτη ÎµÎ¯ÏƒÎ¿Î´Î¿Ï‚ ÎµÎ¯Î½Î±Î¹ Î¼Î¹ÎºÏότεÏη Î±Ï€ÏŒ Ï„η Î´ÎµÏτεÏη ÎµÎ¯ÏƒÎ¿Î´Î¿.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "ΕπιστÏέφει Î±Î»Î·Î¸Î®Ï‚ Î±Î½ Î· Ï€Ïώτη ÎµÎ¯ÏƒÎ¿Î´Î¿Ï‚ ÎµÎ¯Î½Î±Î¹ Î¼Î¹ÎºÏότεÏη Î±Ï€ÏŒ Î® Î¯ÏƒÎ· Î¼Îµ Ï„η Î´ÎµÏτεÏη ÎµÎ¯ÏƒÎ¿Î´Î¿.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "ΕπιστÏέφει Î±Î»Î·Î¸Î®Ï‚ Î±Î½ ÎºÎ±Î¹ Î¿Î¹ Î´Ïο ÎµÎ¯ÏƒÎ¿Î´Î¿Î¹ Î´ÎµÎ½ ÎµÎ¯Î½Î±Î¹ Î¯ÏƒÎµÏ‚ Î¼ÎµÏ„αξϠτους.";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "όχι %1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "ΕπιστÏέφει Î±Î»Î·Î¸Î®Ï‚ Î±Î½ Î· ÎµÎ¯ÏƒÎ¿Î´Î¿Ï‚ ÎµÎ¯Î½Î±Î¹ ÏˆÎµÏ…δής. Î•Ï€Î¹ÏƒÏ„Ïέφει ÏˆÎµÏ…δής Î±Î½ Î· ÎµÎ¯ÏƒÎ¿Î´Î¿Ï‚ ÎµÎ¯Î½Î±Î¹ Î±Î»Î·Î¸Î®Ï‚.";
+Blockly.Msg["LOGIC_NULL"] = "κενό";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "ΕπιστÏέφει ÎºÎµÎ½ÏŒ.";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "και";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "ή";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "ΕπιστÏέφει Î±Î»Î·Î¸Î®Ï‚ Î±Î½ ÎºÎ±Î¹ Î¿Î¹ Î´Ïο ÎµÎ¯ÏƒÎ¿Î´Î¿Î¹ ÎµÎ¯Î½Î±Î¹ Î±Î»Î·Î¸Î®Ï‚.";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "ΕπιστÏέφει Î±Î»Î·Î¸Î®Ï‚ Î±Î½ Ï„ουλάχιστον Î¼Î¹Î± Î±Ï€ÏŒ Ï„ις ÎµÎ¹ÏƒÏŒÎ´Î¿Ï…Ï‚ ÎµÎ¯Î½Î±Î¹ Î±Î»Î·Î¸Î®Ï‚.";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "έλεγχος";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "εάν ÎµÎ¯Î½Î±Î¹ ÏˆÎµÏ…δής";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "εάν ÎµÎ¯Î½Î±Î¹ Î±Î»Î·Î¸Î®Ï‚";
+Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "Ελέγχει Ï„ην ÎºÎ±Ï„άσταση/συνθήκη ÏƒÏ„ον Â«Î­Î»ÎµÎ³Ï‡Î¿Â». Î‘ν Î· ÎºÎ±Ï„άσταση/συνθήκη ÎµÎ¯Î½Î±Î¹ Î±Î»Î·Î¸Î®Ï‚, ÎµÏ€Î¹ÏƒÏ„Ïέφει Ï„ην Ï„ιμή Â«ÎµÎ¬Î½ Î±Î»Î·Î¸Î®Ï‚», Î´Î¹Î±Ï†Î¿Ïετικά ÎµÏ€Î¹ÏƒÏ„Ïέφει Ï„ην Ï„ιμή Â«ÎµÎ¬Î½ ÏˆÎµÏ…δής».";
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://el.wikipedia.org/wiki/%CE%91%CF%81%CE%B9%CE%B8%CE%BC%CE%B7%CF%84%CE%B9%CE%BA%CE%AE";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "ΕπιστÏέφει Ï„ο Î¬Î¸Ïοισμα Ï„ων Î´Ïο Î±Ïιθμών.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "ΕπιστÏέφει Ï„ο Ï€Î·Î»Î¯ÎºÎ¿ Ï„ων Î´Ïο Î±Ïιθμών.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "ΕπιστÏέφει Ï„η Î´Î¹Î±Ï†Î¿Ïά Ï„ων Î´Ïο Î±Ïιθμών.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "ΕπιστÏέφει Ï„ο Î³Î¹Î½ÏŒÎ¼ÎµÎ½Î¿ Ï„ων Î´Ïο Î±Ïιθμών.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "ΕπιστÏέφει Ï„ον Ï€Ïώτο Î±Ïιθμό Ï…ψωμένο ÏƒÏ„η Î´Ïναμη Ï„ου Î´ÎµÏτεÏου Î±ÏιθμοÏ.";
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://el.wikipedia.org/wiki/%CE%A0%CF%81%CF%8C%CF%83%CE%B8%CE%B5%CF%83%CE%B7";
+Blockly.Msg["MATH_CHANGE_TITLE"] = "άλλαξε %1 Î±Ï€ÏŒ %2";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "ΠÏοσθέτει Î­Î½Î±Î½ Î±Ïιθμό ÏƒÏ„η Î¼ÎµÏ„αβλητή Â«%1».";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://en.wikipedia.org/wiki/Mathematical_constant";
+Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "ΕπιστÏέφει Î¼Î¯Î± Î±Ï€ÏŒ Ï„ις ÎºÎ¿Î¹Î½Î­Ï‚ ÏƒÏ„αθεÏές: Ï€ (3.141...), e (2.718...), Ï† (1.618...), sqrt(2) (1.414...), sqrt(½) (0.707...), Î® âˆž (άπειÏο).";
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "πεÏιόÏισε %1 Ï‡Î±Î¼Î·Î»Î® %2 Ï…ψηλή %3";
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "ΠεÏιοÏίζει Î­Î½Î±Î½ Î±Ïιθμό Î¼ÎµÏ„αξϠτων Ï€Ïοβλεπόμενων Î¿Ïίων (χωÏίς Î±Ï€Î¿ÎºÎ»ÎµÎ¹ÏƒÎ¼Î¿ÏÏ‚).";
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "είναι Î´Î¹Î±Î¹Ïετός Î±Ï€ÏŒ Ï„ο";
+Blockly.Msg["MATH_IS_EVEN"] = "είναι Î¬Ïτιος";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "είναι Î±Ïνητικός";
+Blockly.Msg["MATH_IS_ODD"] = "είναι Ï€ÎµÏιττός";
+Blockly.Msg["MATH_IS_POSITIVE"] = "είναι Î¸ÎµÏ„ικός";
+Blockly.Msg["MATH_IS_PRIME"] = "είναι Ï€Ïώτος";
+Blockly.Msg["MATH_IS_TOOLTIP"] = "Ελέγχει Î±Î½ Î­Î½Î±Ï‚ Î±Ïιθμός ÎµÎ¯Î½Î±Î¹ Î¬Ïτιος, Ï€ÎµÏιττός, Ï€Ïώτος, Î±ÎºÎ­Ïαιος, Î¸ÎµÏ„ικός, Î±Ïνητικός, Î® Î±Î½ ÎµÎ¯Î½Î±Î¹ Î´Î¹Î±Î¹Ïετός Î±Ï€ÏŒ Î­Î½Î±Î½ Î¿Ïισμένο Î±Ïιθμό. Î•Ï€Î¹ÏƒÏ„Ïέφει Î±Î»Î·Î¸Î®Ï‚ Î® ÏˆÎµÏ…δής.";
+Blockly.Msg["MATH_IS_WHOLE"] = "είναι Î±ÎºÎ­Ïαιος";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://en.wikipedia.org/wiki/Modulo_operation";
+Blockly.Msg["MATH_MODULO_TITLE"] = "υπόλοιπο Ï„ης %1 Ã· %2";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "ΕπιστÏέφει Ï„ο Ï…πόλοιπο Ï„ης Î´Î¹Î±Î¯Ïεσης Ï„ων Î´Ïο Î±Ïιθμών.";
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://el.wikipedia.org/wiki/%CE%91%CF%81%CE%B9%CE%B8%CE%BC%CF%8C%CF%82";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "Ένας Î±Ïιθμός.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "μέσος ÏŒÏος Î»Î¯ÏƒÏ„ας";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "μεγαλÏτεÏος Î»Î¯ÏƒÏ„ας";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "διάμεσος Î»Î¯ÏƒÏ„ας";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "μικÏότεÏος Î»Î¯ÏƒÏ„ας";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "μοÏφές Î»Î¯ÏƒÏ„ας";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "τυχαίο ÏƒÏ„οιχείο Î»Î¯ÏƒÏ„ας";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "τυπική Î±Ï€ÏŒÎºÎ»Î¹ÏƒÎ· Î»Î¯ÏƒÏ„ας";
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "άθÏοισμα Î»Î¯ÏƒÏ„ας";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "ΕπιστÏέφει Ï„ον Î±Ïιθμητικό Î¼Î­ÏƒÎ¿ ÏŒÏο Î±Ï€ÏŒ Ï„ις Î±Ïιθμητικές Ï„ιμές ÏƒÏ„η Î»Î¯ÏƒÏ„α.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "ΕπιστÏέφει Ï„ον Î¼ÎµÎ³Î±Î»ÏτεÏο Î±Ïιθμό ÏƒÏ„η Î»Î¯ÏƒÏ„α.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "ΕπιστÏέφει Ï„ον Î´Î¹Î¬Î¼ÎµÏƒÎ¿ Ï„ης Î»Î¯ÏƒÏ„ας.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "ΕπιστÏέφει Ï„ον Î¼Î¹ÎºÏότεÏο Î±Ïιθμό ÏƒÏ„η Î»Î¯ÏƒÏ„α.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "ΕπιστÏέφει Î¼Î¹Î± Î»Î¯ÏƒÏ„α Î¼Îµ Ï„α Ï€Î¹Î¿ ÎºÎ¿Î¹Î½Î¬ ÏƒÏ„οιχεία ÏƒÏ„η Î»Î¯ÏƒÏ„α.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "ΕπιστÏέφει Î­Î½Î± Ï„υχαίο ÏƒÏ„οιχείο Î±Ï€ÏŒ Ï„η Î»Î¯ÏƒÏ„α.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "ΕπιστÏέφει Ï„ην Ï„υπική Î±Ï€ÏŒÎºÎ»Î¹ÏƒÎ· Ï„ης Î»Î¯ÏƒÏ„ας.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "ΕπιστÏέφει Ï„ο Î¬Î¸Ïοισμα ÏŒÎ»Ï‰Î½ Ï„ων Î±Ïιθμών ÏƒÏ„η Î»Î¯ÏƒÏ„α.";
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^ Ïψωση ÏƒÎµ Î´Ïναμη";
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://el.wikipedia.org/wiki/%CE%93%CE%B5%CE%BD%CE%BD%CE%AE%CF%84%CF%81%CE%B9%CE%B1_%CE%A4%CF%85%CF%87%CE%B1%CE%AF%CF%89%CE%BD_%CE%91%CF%81%CE%B9%CE%B8%CE%BC%CF%8E%CE%BD";
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "τυχαίο ÎºÎ»Î¬ÏƒÎ¼Î±";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "ΕπιστÏέψει Î­Î½Î± Ï„υχαία ÎºÎ»Î¬ÏƒÎ¼Î± Î¼ÎµÏ„αξϠ0,0 (κλειστό) ÎºÎ±Î¹ 1,0 (ανοικτό).";
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "τυχαίος Î±ÎºÎ­Ïαιος Î±Ï€ÏŒ Ï„ο %1 Î­Ï‰Ï‚ Ï„ο %2";
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "ΕπιστÏέφει Î­Î½Î±Î½ Ï„υχαίο Î±ÎºÎ­Ïαιο Î±Ïιθμό Î¼ÎµÏ„αξϠδÏο ÏƒÏ…γκεκÏιμένων Î¿Ïίων (εντός - ÏƒÏ…μπεÏιλαμβανομένων ÎºÎ±Î¹ Ï„ων Î±ÎºÏαίων Ï„ιμών).";
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://en.wikipedia.org/wiki/Rounding";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "στÏογγυλοποίησε";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "στÏογγυλοποίησε Ï€Ïος Ï„α ÎºÎ¬Ï„ω";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "στÏογγυλοποίησε Ï€Ïος Ï„α Ï€Î¬Î½Ï‰";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "ΣτÏογγυλοποιεί Î­Î½Î±Î½ Î±Ïιθμό Ï€Ïος Ï„α Ï€Î¬Î½Ï‰ Î® Ï€Ïος Ï„α ÎºÎ¬Ï„ω.";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://el.wikipedia.org/wiki/%CE%A4%CE%B5%CF%84%CF%81%CE%B1%CE%B3%CF%89%CE%BD%CE%B9%CE%BA%CE%AE_%CF%81%CE%AF%CE%B6%CE%B1";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "απόλυτη";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "τετÏαγωνική Ïίζα";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "ΕπιστÏέφει Ï„ην Î±Ï€ÏŒÎ»Ï…τη Ï„ιμή ÎµÎ½ÏŒÏ‚ Î±ÏιθμοÏ.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "ΕπιστÏέφει Ï„ο e Ï…ψωμένο ÏƒÏ„η Î´Ïναμη ÎµÎ½ÏŒÏ‚ Î±ÏιθμοÏ.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "ΕπιστÏέφει Ï„ον Î½ÎµÏ€Î­Ïειο Î»Î¿Î³Î¬Ïιθμο ÎµÎ½ÏŒÏ‚ Î±ÏιθμοÏ.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "ΕπιστÏέφει Ï„ον Î»Î¿Î³Î¬Ïιθμο Î¼Îµ Î²Î¬ÏƒÎ· Ï„ο 10 ÎµÎ½ÏŒÏ‚ Î±ÏιθμοÏ.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "ΕπιστÏέφει Ï„ην Î±Ïνητική ÎµÎ½ÏŒÏ‚ Î±ÏιθμοÏ.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "ΕπιστÏέφει Ï„ο 10 Ï…ψωμένο ÏƒÏ„η Î´Ïναμη ÎµÎ½ÏŒÏ‚ Î±ÏιθμοÏ.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "ΕπιστÏέφει Ï„ην Ï„ετÏαγωνική Ïίζα ÎµÎ½ÏŒÏ‚ Î±ÏιθμοÏ.";
+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"] = "συν";
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://el.wikipedia.org/wiki/%CE%A4%CF%81%CE%B9%CE%B3%CF%89%CE%BD%CE%BF%CE%BC%CE%B5%CF%84%CF%81%CE%B9%CE%BA%CE%AE_%CF%83%CF%85%CE%BD%CE%AC%CF%81%CF%84%CE%B7%CF%83%CE%B7";
+Blockly.Msg["MATH_TRIG_SIN"] = "ημ";
+Blockly.Msg["MATH_TRIG_TAN"] = "εφ";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "ΕπιστÏέφει Ï„ο Ï„όξο ÏƒÏ…νημίτονου ÎµÎ½ÏŒÏ‚ Î±ÏιθμοÏ.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "ΕπιστÏέφει Ï„ο Ï„όξο Î·Î¼Î¯Ï„ονου ÎµÎ½ÏŒÏ‚ Î±ÏιθμοÏ.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "ΕπιστÏέφει Ï„ο Ï„όξο ÎµÏ†Î±Ï€Ï„ομένης ÎµÎ½ÏŒÏ‚ Î±ÏιθμοÏ.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "ΕπιστÏέφει Ï„ο ÏƒÏ…νημίτονο ÎµÎ½ÏŒÏ‚ Î²Î±Î¸Î¼Î¿Ï (όχι Î±ÎºÏ„ινίου).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "ΕπιστÏέφει Ï„ο Î·Î¼Î¯Ï„ονο ÎµÎ½ÏŒÏ‚ Î²Î±Î¸Î¼Î¿Ï (όχι Î±ÎºÏ„ινίου).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "ΕπιστÏέφει Ï„ην ÎµÏ†Î±Ï€Ï„ομένη ÎµÎ½ÏŒÏ‚ Î²Î±Î¸Î¼Î¿Ï (όχι Î±ÎºÏ„ινίου).";
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "ΔημιουÏγία Î¼ÎµÏ„αβλητής Ï‡Ïώματος...";
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "ΔημιουÏγία Î¼ÎµÏ„αβλητής Î±ÏιθμοÏ...";
+Blockly.Msg["NEW_STRING_VARIABLE"] = "ΔημιουÏγία Î¼ÎµÏ„αβλητή ÏƒÏ…μβολοσειÏάς...";
+Blockly.Msg["NEW_VARIABLE"] = "ΔημιουÏγείστε Î¼ÎµÏ„αβλητή";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "Îέο ÏŒÎ½Î¿Î¼Î± Î¼ÎµÏ„αβλητής:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "Îέος Ï„Ïπος Î¼ÎµÏ„αβλητής:";
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "να ÎµÏ€Î¹Ï„Ïέπονται Î¿Î¹ Î´Î·Î»ÏŽÏƒÎµÎ¹Ï‚";
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "με:";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://el.wikipedia.org/wiki/%CE%94%CE%B9%CE%B1%CE%B4%CE%B9%CE%BA%CE%B1%CF%83%CE%AF%CE%B1_%28%CF%85%CF%80%CE%BF%CE%BB%CE%BF%CE%B3%CE%B9%CF%83%CF%84%CE%AD%CF%82%29";
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Εκτελεί Ï„ην Î¿Ïισμένη Î±Ï€ÏŒ Ï„ον Ï‡Ïήστη ÏƒÏ…νάÏτηση Â«%1».";
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://el.wikipedia.org/wiki/%CE%94%CE%B9%CE%B1%CE%B4%CE%B9%CE%BA%CE%B1%CF%83%CE%AF%CE%B1_%28%CF%85%CF%80%CE%BF%CE%BB%CE%BF%CE%B3%CE%B9%CF%83%CF%84%CE%AD%CF%82%29";
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Εκτελεί Ï„ην Î¿Ïισμένη Î±Ï€ÏŒ Ï„ον Ï‡Ïήστη ÏƒÏ…νάÏτηση Â«%1» ÎºÎ±Î¹ Ï‡Ïησιμοποίησε Ï„ην Î­Î¾Î¿Î´ÏŒ Ï„ης.";
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "με:";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "ΔημιοÏÏγησε Â«%1»";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "ΠεÏιγÏάψετε Î±Ï…τήν Ï„ην Î¹Î´Î¹ÏŒÏ„ητα..";
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29";
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "κάνε ÎºÎ¬Ï„ι";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "στο";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "ΔημιουÏγεί Î¼Î¹Î± ÏƒÏ…νάÏτηση Ï‡Ï‰Ïίς Î­Î¾Î¿Î´Î¿.";
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29";
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "επέστÏεψε";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "ΔημιουÏγεί Î¼Î¹Î± ÏƒÏ…νάÏτηση Î¼Îµ Î¼Î¹Î± Î­Î¾Î¿Î´Î¿.";
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "ΠÏοειδοποίηση: Î‘υτή Î· ÏƒÏ…νάÏτηση Î­Ï‡ÎµÎ¹ Î´Î¹Ï€Î»ÏŒÏ„υπες Ï€Î±ÏαμέτÏους.";
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "Επισημάνετε Ï„ον Î¿Ïισμό ÏƒÏ…νάÏτησης";
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "Αν Î¼Î¹Î± Ï„ιμή ÎµÎ¯Î½Î±Î¹ Î±Î»Î·Î¸Î®Ï‚, Ï„ότε ÎµÏ€Î¹ÏƒÏ„Ïέφει Ï„η Î´ÎµÏτεÏη Ï„ιμή.";
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "ΠÏοειδοποίηση: Î‘Ï…Ï„ÏŒ Ï„ο Î¼Ï€Î»Î¿Îº Î¼Ï€Î¿Ïεί Î½Î± Ï‡Ïησιμοποιηθεί Î¼ÏŒÎ½Î¿ ÏƒÏ„ον Î¿Ïισμό Î¼Î¹Î±Ï‚ ÏƒÏ…νάÏτησης.";
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "όνομα ÎµÎ¹ÏƒÏŒÎ´Î¿Ï…:";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "ΠÏόσθεσε Î¼Î¹Î± ÎµÎ¯ÏƒÎ¿Î´Î¿Ï‚ ÏƒÏ„η ÏƒÏ…νάÏτηση";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "είσοδοι";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "ΠÏοσθέτει, Î±Ï†Î±Î¹Ïεί Î® Î±Î½Î±Î´Î¹Î±Ï„άσσει ÎµÎ¹ÏƒÏŒÎ´Î¿Ï…Ï‚ ÏƒÎµ Î±Ï…τήν Ï„η Î»ÎµÎ¹Ï„ουÏγία";
+Blockly.Msg["REDO"] = "ΑκÏÏωση Î±Î½Î±Î¯Ïεσης";
+Blockly.Msg["REMOVE_COMMENT"] = "ΑφαίÏεσε Î¤Î¿ Î£Ï‡ÏŒÎ»Î¹Î¿";
+Blockly.Msg["RENAME_VARIABLE"] = "Μετονόμασε Ï„η Î¼ÎµÏ„αβλητή...";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Μετονόμασε ÏŒÎ»ÎµÏ‚ Ï„ις Î¼ÎµÏ„αβλητές Â«%1» ÏƒÎµ:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "έως %1 Î±Î½Î¬Î¸ÎµÏƒÎµ ÎºÎµÎ¯Î¼ÎµÎ½Î¿ %2";
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Αναθέτει ÎºÎµÎ¯Î¼ÎµÎ½Î¿ ÏƒÏ„η Î¼ÎµÏ„αβλητή Â«%1».";
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "σε Ï€ÎµÎ¶Î¬";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "σε Î›Î­Î¾ÎµÎ¹Ï‚ ÎœÎµ Î Ïώτα ÎšÎµÏ†Î±Î»Î±Î¯Î±";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "σε ÎšÎ•Î¦Î‘ΛΑΙΑ";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "ΕπιστÏέφει Î­Î½Î± Î±Î½Ï„ίγÏαφο Ï„ου ÎºÎµÎ¹Î¼Î­Î½Î¿Ï… ÏƒÎµ Î´Î¹Î±Ï†Î¿Ïετική Î¼Î¿Ïφή Î³Ïαμμάτων.";
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "πάÏε Ï„ο Ï€Ïώτο Î³Ïάμμα";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "πάÏε Ï„ο Î³Ïάμμα # Î±Ï€ÏŒ Ï„ο Ï„έλος";
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "πάÏε Ï„ο Î³Ïάμμα #";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "πάÏε Ï„ο Ï„ελευταίο Î³Ïάμμα";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "πάÏε Ï„υχαίο Î³Ïάμμα";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "στο ÎºÎµÎ¯Î¼ÎµÎ½Î¿ %1 %2";
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "ΕπιστÏέφει Ï„ο Î³Ïάμμα ÏƒÏ„ην ÎºÎ±Î¸Î¿Ïισμένη Î¸Î­ÏƒÎ·.";
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";  // untranslated
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "αÏιθμός %1 ÏƒÎµ %2";
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "ΜετÏά Ï€ÏŒÏƒÎµÏ‚ Ï†Î¿Ïές ÎºÎ¬Ï€Î¿Î¹Î¿ ÎºÎµÎ¯Î¼ÎµÎ½Î¿ ÎµÎ¼Ï†Î±Î½Î¯Î¶ÎµÏ„αι Î¼Î­ÏƒÎ± ÏƒÎµ Î­Î½Î± Î¬Î»Î»Î¿ ÎºÎµÎ¯Î¼ÎµÎ½Î¿.";
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "ΠÏοσθέτει Î­Î½Î± ÏƒÏ„οιχείο ÏƒÏ„ο ÎºÎµÎ¯Î¼ÎµÎ½Î¿.";
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "ένωσε";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "ΠÏοσθέτει, Î±Ï†Î±Î¹Ïεί Î® Î±Î½Î±Î´Î¹Î±Ï„άσσει Ï„ους Ï„ομείς Î³Î¹Î± Î½Î± Î±Î½Î±Î´Î¹Î±Î¼Î¿Ïφώσει Î±Ï…Ï„ÏŒ Ï„ο Î¼Ï€Î»Î¿Îº ÎºÎµÎ¹Î¼Î­Î½Î¿Ï….";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "μέχÏι Ï„ο # Î³Ïάμμα Î±Ï€ÏŒ Ï„ο Ï„έλος";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "μέχÏι Ï„ο # Î³Ïάμμα";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "μέχÏι Ï„ο Ï„ελευταίο Î³Ïάμμα";
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "στο ÎºÎµÎ¯Î¼ÎµÎ½Î¿";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "πάÏε Ï„η Î´ÎµÏ…τεÏεÏουσα ÏƒÏ…μβολοσειÏά Î±Ï€ÏŒ Ï„ο Ï€Ïώτο Î³Ïάμμα";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "πάÏε Ï„η Î´ÎµÏ…τεÏεÏουσα ÏƒÏ…μβολοσειÏά Î±Ï€ÏŒ Ï„ο # Î³Ïάμμα Î±Ï€ÏŒ Ï„ο Ï„έλος";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "πάÏε Ï„η Î´ÎµÏ…τεÏεÏουσα ÏƒÏ…μβολοσειÏά Î±Ï€ÏŒ Ï„ο # Î³Ïάμμα";
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "ΕπιστÏέφει Î­Î½Î± ÏƒÏ…γκεκÏιμένο Ï„μήμα Ï„ου ÎºÎµÎ¹Î¼Î­Î½Î¿Ï….";
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "βÏες Ï„ην Ï€Ïώτη ÎµÎ¼Ï†Î¬Î½Î¹ÏƒÎ· Ï„ου ÎºÎµÎ¹Î¼Î­Î½Î¿Ï…";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "βÏες Ï„ην Ï„ελευταία ÎµÎ¼Ï†Î¬Î½Î¹ÏƒÎ· Ï„ου ÎºÎµÎ¹Î¼Î­Î½Î¿Ï…";
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "στο ÎºÎµÎ¯Î¼ÎµÎ½Î¿ %1 %2 %3";
+Blockly.Msg["TEXT_INDEXOF_TOOLTIP"] = "ΕπιστÏέφει Ï„ον Î´ÎµÎ¯ÎºÏ„η Ï„ης Ï€Ïώτης/τελευταίας ÎµÎ¼Ï†Î¬Î½Î¹ÏƒÎ·Ï‚ Ï„ου Ï€Ïώτου ÎºÎµÎ¹Î¼Î­Î½Î¿Ï… ÏƒÏ„ο Î´ÎµÏτεÏο ÎºÎµÎ¯Î¼ÎµÎ½Î¿.  Î•Ï€Î¹ÏƒÏ„Ïέφει Ï„ιμή %1, Î±Î½ Î´Îµ Î²Ïει Ï„ο ÎºÎµÎ¯Î¼ÎµÎ½Î¿.";
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "το %1 ÎµÎ¯Î½Î±Î¹ ÎºÎµÎ½ÏŒ";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "ΕπιστÏέφει Î±Î»Î·Î¸Î®Ï‚ Î±Î½ Ï„ο Ï€Î±Ïεχόμενο ÎºÎµÎ¯Î¼ÎµÎ½Î¿ ÎµÎ¯Î½Î±Î¹ ÎºÎµÎ½ÏŒ.";
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "δημιοÏÏγησε ÎºÎµÎ¯Î¼ÎµÎ½Î¿ Î¼Îµ";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "ΔημιουÏγεί Î­Î½Î± ÎºÎ¿Î¼Î¼Î¬Ï„ι ÎºÎµÎ¹Î¼Î­Î½Î¿Ï… ÎµÎ½ÏŽÎ½Î¿Î½Ï„ας Î­Î½Î±Î½  Î±Ï€ÎµÏιόÏιστο Î±Ïιθμό Î±Î½Ï„ικειμένων.";
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "το Î¼Î®ÎºÎ¿Ï‚ Ï„ου %1";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "ΕπιστÏέφει Ï„ο Ï€Î»Î®Î¸Î¿Ï‚ Ï„ων Î³Ïαμμάτων (συμπεÏιλαμβανομένων ÎºÎ±Î¹ Ï„ων ÎºÎµÎ½ÏŽÎ½ Î´Î¹Î±ÏƒÏ„ημάτων) ÏƒÏ„ο Ï€Î±Ïεχόμενο ÎºÎµÎ¯Î¼ÎµÎ½Î¿.";
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "εκτÏπωσε %1";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Εκτυπώνει Ï„ο ÎºÎ±Î¸Î¿Ïισμένο ÎºÎµÎ¯Î¼ÎµÎ½Î¿, Î±Ïιθμό Î® Î¬Î»Î»Î· Ï„ιμή.";
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "ΔημιουÏγεί Ï€ÏοτÏοπή Î³Î¹Î± Ï„ον Ï‡Ïήστη Î³Î¹Î± Î½Î± Î´ÏŽÏƒÎµÎ¹ Î­Î½Î± Î±Ïιθμό.";
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "ΔημιουÏγεί Ï€ÏοτÏοπή Î³Î¹Î± Ï„ο Ï‡Ïήστη Î³Î¹Î± Î½Î± Î´ÏŽÏƒÎµÎ¹ ÎºÎ¬Ï€Î¿Î¹Î¿ ÎºÎµÎ¯Î¼ÎµÎ½Î¿.";
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "Ï€ÏότÏεψε Î¼Îµ Î¼Î®Î½Ï…μα Î³Î¹Î± Î½Î± Î´Î¿Î¸ÎµÎ¯ Î±Ïιθμός";
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "Ï€ÏότÏεψε Î¼Îµ Î¼Î®Î½Ï…μα Î³Î¹Î± Î½Î± Î´Î¿Î¸ÎµÎ¯ ÎºÎµÎ¯Î¼ÎµÎ½Î¿";
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";  // untranslated
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "αντικαταστήσετε Ï„ο %1 Î¼Îµ %2 ÏƒÎµ %3";
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Αντικαταστήστε ÏŒÎ»Î± Ï„α Î®Î´Î· Ï…πάÏχοντα ÏƒÏ„οιχεία Î¼Î­Ïους Ï„ου ÎºÎµÎ¹Î¼Î­Î½Î¿Ï… Î¼Îµ ÎºÎ¬Ï€Î¿Î¹Î¿ Î¬Î»Î»Î¿ ÎºÎµÎ¯Î¼ÎµÎ½Î¿";
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";  // untranslated
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "ανάκληση %1";
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "ΑναγÏαμματισμός Ï„ων Ï‡Î±ÏακτήÏων Ï„ου ÎºÎµÎ¹Î¼Î­Î½Î¿Ï…";
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://el.wikipedia.org/wiki/%CE%A3%CF%85%CE%BC%CE%B2%CE%BF%CE%BB%CE%BF%CF%83%CE%B5%CE%B9%CF%81%CE%AC";
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "Ένα Î³Ïάμμα, Î¼Î¹Î± Î»Î­Î¾Î· Î® Î¼Î¹Î± Î³Ïαμμή ÎºÎµÎ¹Î¼Î­Î½Î¿Ï….";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "πεÏίκοψε Ï„α ÎºÎµÎ½Î¬ ÎºÎ±Î¹ Î±Ï€ÏŒ Ï„ις Î´Ï…ο Ï€Î»ÎµÏ…Ïές Ï„ου";
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "πεÏίκοψε Ï„α ÎºÎµÎ½Î¬ Î±Ï€ÏŒ Ï„ην Î±ÏιστεÏή Ï€Î»ÎµÏ…Ïά Ï„ου";
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "πεÏίκοψε Ï„α ÎºÎµÎ½Î¬ Î±Ï€ÏŒ Ï„ην Î´ÎµÎ¾Î¹Î¬ Ï€Î»ÎµÏ…Ïά Ï„ου";
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "ΕπιστÏέφει Î­Î½Î± Î±Î½Ï„ίγÏαφο Ï„ου ÎºÎµÎ¹Î¼Î­Î½Î¿Ï… Î¼Îµ Î±Ï†Î±Î¹Ïεμένα Ï„α ÎºÎµÎ½Î¬ Î±Ï€ÏŒ Ï„ο Î­Î½Î± Î® ÎºÎ±Î¹ Ï„α Î´Ïο Î¬ÎºÏα.";
+Blockly.Msg["TODAY"] = "ΣήμεÏα";
+Blockly.Msg["UNDO"] = "ΑναίÏεση";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "αντικείμενο";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "ΔημιοÏÏγησε Â«ÏŒÏισε %1»";
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "ΕπιστÏέφει Ï„ην Ï„ιμή Î±Ï…τής Ï„ης Î¼ÎµÏ„αβλητής.";
+Blockly.Msg["VARIABLES_SET"] = "ÏŒÏισε %1 Î¼Î­Ï‡Ïι Ï„ο %2";
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "ΔημιοÏÏγησε Â«Ï€Î¬Ïε %1»";
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "ΟÏίζει Î±Ï…τή Ï„η Î¼ÎµÏ„αβλητή Î½Î± ÎµÎ¯Î½Î±Î¹ Î¯ÏƒÎ· Î¼Îµ Ï„ην ÎµÎ¯ÏƒÎ¿Î´Î¿.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "Η Î¼ÎµÏ„αβλητή Î¼Îµ Ï„ο ÏŒÎ½Î¿Î¼Î± \"%1\" Ï…πάÏχει Î®Î´Î·";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "Μια Î¼ÎµÏ„αβλητή Î¼Îµ ÏŒÎ½Î¿Î¼Î± '%1' Ï…πάÏχει Ï€Î¬Î½Ï„α Î³Î¹Î± Î­Î½Î±Î½ Î¬Î»Î»Î¿ Ï„Ïπο: '%2'.";
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Πείτε ÎºÎ¬Ï„ι...";
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/en-gb.js b/js/msg/js/en-gb.js
new file mode 100644 (file)
index 0000000..9beb82a
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.en.gb');
+
+goog.require('Blockly.Msg');
+
+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["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/";  // untranslated
+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/Colour";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "Choose a colour from the palette.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+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";  // untranslated
+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";  // untranslated
+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";  // untranslated
+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";  // untranslated
+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";  // untranslated
+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";  // untranslated
+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["DISABLE_BLOCK"] = "Disable Block";
+Blockly.Msg["DUPLICATE_BLOCK"] = "Duplicate";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicate Comment";  // untranslated
+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["IOS_CANCEL"] = "Cancel";
+Blockly.Msg["IOS_ERROR"] = "Error";
+Blockly.Msg["IOS_OK"] = "OK";
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Add Input";
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Allow statements";
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "This function has duplicate inputs.";
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "INPUTS";
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "Add";
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Add Variable";
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "Delete";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "You can't use an empty variable name.";
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Rename";
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Variable name";
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "create empty list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Returns a list, of length 0, containing no data records";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "list";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this list block.";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "create list with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Add an item to the list.";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Create a list with any number of items.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "first";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "# from end";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "get";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "get and remove";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "last";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "random";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "remove";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Returns the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Returns the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Returns the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Returns a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "Removes and returns the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "Removes and returns the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "Removes and returns the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Removes and returns a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "Removes the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "Removes the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "Removes the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Removes a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "to # from end";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "to #";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "to last";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "get sub-list from first";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "get sub-list from # from end";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "get sub-list from #";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Creates a copy of the specified portion of a list.";  // untranslated
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 is the last item.";  // untranslated
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 is the first item.";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "find first occurrence of item";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "find last occurrence of item";  // untranslated
+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.";  // untranslated
+Blockly.Msg["LISTS_INLIST"] = "in list";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 is empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Returns true if the list is empty.";  // untranslated
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "length of %1";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Returns the length of a list.";  // untranslated
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "create list with item %1 repeated %2 times";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Creates a list consisting of the given value repeated the specified number of times.";  // untranslated
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";  // untranslated
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Reverse a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "as";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "insert at";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Inserts the item at the start of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Inserts the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Append the item to the end of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Inserts the item randomly in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Sets the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Sets the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Sets the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Sets a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";  // untranslated
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "ascending";  // untranslated
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "descendente";
+Blockly.Msg["LISTS_SORT_TITLE"] = "sort %1 %2 %3";  // untranslated
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Sort a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "alphabetic, ignore case";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "numeric";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "alphabetic";  // untranslated
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "make list from text";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "make text from list";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Join a list of texts into one text, separated by a delimiter.";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Split text into a list of texts, breaking at each delimiter.";  // untranslated
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "with delimiter";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "false";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+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";  // untranslated
+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";  // untranslated
+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";  // untranslated
+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:";  // untranslated
+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"] = "+";  // untranslated
+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_(graphics)";  // untranslated
+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"] = "÷";  // untranslated
+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"] = "×";  // untranslated
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://en.wikipedia.org/wiki/Number";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "A number.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+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"] = "^";  // untranslated
+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"] = "-";  // untranslated
+Blockly.Msg["MATH_TRIG_ACOS"] = "acos";  // untranslated
+Blockly.Msg["MATH_TRIG_ASIN"] = "asin";  // untranslated
+Blockly.Msg["MATH_TRIG_ATAN"] = "atan";  // untranslated
+Blockly.Msg["MATH_TRIG_COS"] = "cos";  // untranslated
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://en.wikipedia.org/wiki/Trigonometric_functions";
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";  // untranslated
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";  // untranslated
+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...";  // untranslated
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Create number variable...";  // untranslated
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Create string variable...";  // untranslated
+Blockly.Msg["NEW_VARIABLE"] = "Create variable...";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "New variable name:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "New variable type:";  // untranslated
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "allow statements";  // untranslated
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "with:";  // untranslated
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Run the user-defined function '%1'.";  // untranslated
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Run the user-defined function '%1' and use its output.";  // untranslated
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "with:";  // untranslated
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "Create '%1'";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Describe this function...";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "do something";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "to";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Creates a function with no output.";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "return";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "Creates a function with an output.";  // untranslated
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "Warning: This function has duplicate parameters.";  // untranslated
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "Highlight function definition";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "If a value is true, then return a second value.";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "Warning: This block may be used only within a function definition.";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "input name:";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Add an input to the function.";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "inputs";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Add, remove, or reorder inputs to this function.";  // untranslated
+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";  // untranslated
+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";  // untranslated
+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";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "get last letter";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "get random letter";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+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";  // untranslated
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "count %1 in %2";  // untranslated
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Count how many times some text occurs within some other text.";  // untranslated
+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";  // untranslated
+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"] = "";  // untranslated
+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";  // untranslated
+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";  // untranslated
+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";  // untranslated
+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";  // untranslated
+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";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "print %1";  // untranslated
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Print the specified text, number or other value.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Prompt for user for a number.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Prompt for user for some text.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "prompt for number with message";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "prompt for text with message";  // untranslated
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";  // untranslated
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "replace %1 with %2 in %3";  // untranslated
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Replace all occurances of some text within some other text.";  // untranslated
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";  // untranslated
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Reverses the order of the characters in the text.";  // untranslated
+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";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "trim spaces from both sides of";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "trim spaces from left side of";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "trim spaces from right side of";  // untranslated
+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["VARIABLES_DEFAULT_NAME"] = "item";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Create 'set %1'";  // untranslated
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Returns the value of this variable.";  // untranslated
+Blockly.Msg["VARIABLES_SET"] = "set %1 to %2";  // untranslated
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Create 'get %1'";  // untranslated
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Sets this variable to be equal to the input.";  // untranslated
+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["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something...";  // untranslated
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/en.js b/js/msg/js/en.js
new file mode 100644 (file)
index 0000000..b5c5e2a
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.en');
+
+goog.require('Blockly.Msg');
+
+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["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_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["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["IOS_CANCEL"] = "Cancel";
+Blockly.Msg["IOS_ERROR"] = "Error";
+Blockly.Msg["IOS_OK"] = "OK";
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Add Input";
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Allow statements";
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "This function has duplicate inputs.";
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "INPUTS";
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "Add";
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Add Variable";
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "Delete";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "You can't use an empty variable name.";
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Rename";
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Variable name";
+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_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"] = "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["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["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_COMMENT_DEFAULT_TEXT"] = "Say something...";
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/eo.js b/js/msg/js/eo.js
new file mode 100644 (file)
index 0000000..9967936
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.eo');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "Aldoni komenton";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "Can't delete the variable '%1' because it's part of the definition of the function '%2'";  // untranslated
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "Åœangi valoron:";
+Blockly.Msg["CLEAN_UP"] = "Purigi blokojn";
+Blockly.Msg["COLLAPSE_ALL"] = "Faldi blokojn";
+Blockly.Msg["COLLAPSE_BLOCK"] = "Faldi blokon";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "koloro 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "koloro 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";  // untranslated
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "proporcio";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "blend";  // untranslated
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "Blends two colours together with a given ratio (0.0 - 1.0).";  // untranslated
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://eo.wikipedia.org/wiki/Koloro";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "Elekti koloron el la paletro.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "hazarda koloro";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "Elekti hazardan koloron.";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "blua";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "verda";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";  // untranslated
+Blockly.Msg["COLOUR_RGB_RED"] = "ruÄa";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "kolorigi per";
+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.";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "eliri el la ciklo";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "daÅ­rigi je la venonta ripeto de la ciklo";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "Eliri el la enhava ciklo.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "Pretersalti la ceteron de tiu Ä‰i ciklo kaj daÅ­rigi je la venonta ripeto.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "Averto: tiu Ä‰i bloko uzeblas nur ene de ciklo.";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "por Ä‰iu elemento %1 en la listo %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "For each item in a list, set the variable '%1' to the item, and then do some statements.";  // untranslated
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "count with %1 from %2 to %3 by %4";  // untranslated
+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.";  // untranslated
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "Aldoni kondiĉon al la bloko 'se'";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "Aldoni 'aliokaze' kondiĉon al la 'se' bloko.";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this if block.";  // untranslated
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "alie";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "alie se";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "se";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "Plenumi ordonojn se la valoro estas vero.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "Plenumi la unuan blokon de ordonoj se la valoro estas vero, se ne, la duan.";
+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.";  // untranslated
+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.";  // untranslated
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://en.wikipedia.org/wiki/For_loop";  // untranslated
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "fari";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "ripeti %1 fojojn";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "Plenumi kelkajn ordonojn plurfoje.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "ripeti Äis";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "ripeti dum";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "Plenumi ordonojn dum valoro egalas malvero.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "Plenumi ordonojn dum la valoro egalas vero.";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "Ĉu forigi Ä‰iujn %1 blokojn?";
+Blockly.Msg["DELETE_BLOCK"] = "Forigi blokon";
+Blockly.Msg["DELETE_VARIABLE"] = "Forigi la varianton '%1'";
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Ĉu forigi %1 uzojn de la varianto '%2'?";
+Blockly.Msg["DELETE_X_BLOCKS"] = "Forigi %1 blokojn";
+Blockly.Msg["DISABLE_BLOCK"] = "MalÅalti blokon";
+Blockly.Msg["DUPLICATE_BLOCK"] = "Duobligi";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicate Comment";  // untranslated
+Blockly.Msg["ENABLE_BLOCK"] = "Åœalti blokon";
+Blockly.Msg["EXPAND_ALL"] = "Malfaldi blokojn";
+Blockly.Msg["EXPAND_BLOCK"] = "Malfaldi blokon";
+Blockly.Msg["EXTERNAL_INPUTS"] = "Eksteraj eniroj";
+Blockly.Msg["HELP"] = "Helpo";
+Blockly.Msg["INLINE_INPUTS"] = "Entekstaj eniroj";
+Blockly.Msg["IOS_CANCEL"] = "Cancel";  // untranslated
+Blockly.Msg["IOS_ERROR"] = "Error";  // untranslated
+Blockly.Msg["IOS_OK"] = "OK";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Add Input";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Allow statements";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "This function has duplicate inputs.";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "INPUTS";  // untranslated
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "Add";  // untranslated
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Add Variable";  // untranslated
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "Delete";  // untranslated
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "You can't use an empty variable name.";  // untranslated
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Rename";  // untranslated
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Variable name";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "krei malplenan liston";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Listo, de longo 0, sen datumaj registroj, estos liverita.";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "listo";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Aldoni, forigi aÅ­ oridigi sekciojn por reagordi tiun Ä‰i blokon de listo.";
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "krei liston kun";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Aldoni elementon al la listo.";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Krei liston kun ajna nombro de elementoj.";
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "unuan";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "#el la fino";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "akiri";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "akiri kaj forigi";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "lastan";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "hazardan";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "forigi";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "La unua elemento en la listo esto liverita.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "La elemento en la specifita pozicio en la listo estos liverita.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "La lasta elemento en la listo estos liverita.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Hazarda elemento en la listo estos liverita.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "La unua elemento en la listo estos liverita kaj forigita.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "La elemento en la specifita pozicio de la listo estos liverita kaj forigita.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "La lasta elemento en la listo estos liverita kaj forigita.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Hazarda elemento en la listo estos liverita kaj forigita.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "La unua elemento en la listo estos forigita.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "La elemento en la specifita pozicio en la listo estos forigita.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "La lasta elemento en la listo estos forigita.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Hazarda elemento en la listo estos forigita.";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "to # from end";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "to #";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "to last";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "get sub-list from first";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "get sub-list from # from end";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "get sub-list from #";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Creates a copy of the specified portion of a list.";  // untranslated
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 estas la lasta elemento.";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 estas la unua elemento.";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "trovi la unuan aperon de elemento";
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "trovi la lastan aperon de elemento";
+Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "La indekso de la unua/lasta apero de la elemento en la listo estos liverita. %1 estos liverita se la elemento ne estas trovita.";
+Blockly.Msg["LISTS_INLIST"] = "en la listo";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 malplenas";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Vero estos liverita, se la listo malplenas.";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "longo de %1";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "La longo de listo estos liverita.";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "krei liston kun elemento %1 ripetita %2 fojojn";
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Listo kun la specifita nombro de elementoj, kiuj havos la donitan valoron, estos kreita.";
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";  // untranslated
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Reverse a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "kiel";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "enmeti je";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "difini";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Inserts the item at the start of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Inserts the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Append the item to the end of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Inserts the item randomly in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Sets the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Sets the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Sets the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Sets a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";  // untranslated
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "ascending";  // untranslated
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "descending";  // untranslated
+Blockly.Msg["LISTS_SORT_TITLE"] = "sort %1 %2 %3";  // untranslated
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Sort a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "alphabetic, ignore case";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "numeric";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "alphabetic";  // untranslated
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "make list from text";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "make text from list";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Join a list of texts into one text, separated by a delimiter.";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Split text into a list of texts, breaking at each delimiter.";  // untranslated
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "with delimiter";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "falsa";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "La rezulto egalas Ä‰u vero, Ä‰u malvero.";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "vera";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://eo.wikipedia.org/wiki/Neegala%C4%B5o_(pli_granda,_malpli_granda)";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Vero estos liverita, se la du eniroj egalas.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Vero estos liverita, se la unua eniro estas pli granda ol la dua.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Vero estos liverita, se la unua eniro estas pli granda aÅ­ egala al la dua.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "Vero estos liverita, se la unua eniro estas pli eta ol la dua.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "Vero estos liverita, se la unua eniro estas pli eta aÅ­ egala al la dua.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "Vero estos liverita, se la du eniroj ne egalas.";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "maligi %1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "Se la eniro egalas vero, la rezulto egalas malvero. Se la eniro egalas malvero, la rezulto egalas vero.";
+Blockly.Msg["LOGIC_NULL"] = "null";  // untranslated
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";  // untranslated
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "Returns null.";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_AND"] = "kaj";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "aÅ­";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "Vero estos liverita, se la du eniroj egalas veron.";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "Vero estos liverita, se almenaÅ­ unu el la eniroj egalas veron.";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "testi";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "se estas malvero";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "se estas vero";
+Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "Kontroli la kondiĉon en 'testo'. Se la kondiĉo egalas veron, liveri la valoron 'se estas vero', aliokaze liveri la valoron 'se estas malvero'.";
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://eo.wikipedia.org/wiki/Aritmetiko";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "La sumo de la du nombroj estos liverita.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "La kvociento de la du nombroj estos liverita.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "La diferenco inter la du nombroj estos liverita.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "La produto de la du numeroj estos liverita.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Return the first number raised to the power of the second number.";  // untranslated
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";  // untranslated
+Blockly.Msg["MATH_CHANGE_TITLE"] = "change %1 by %2";  // untranslated
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Aldoni nombro al varianto '%1'.";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://eo.wikipedia.org/wiki/Matematika_konstanto";
+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).";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "limigi %1 inter %2 kaj %3";
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "La nombro estos limigita tiel ke Äi egalas la limojn aÅ­ troviÄas inter ili.";
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";  // untranslated
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "estas dividebla de";
+Blockly.Msg["MATH_IS_EVEN"] = "estas para";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "estas negativa";
+Blockly.Msg["MATH_IS_ODD"] = "estas nepara";
+Blockly.Msg["MATH_IS_POSITIVE"] = "estas pozitiva";
+Blockly.Msg["MATH_IS_PRIME"] = "estas primo";
+Blockly.Msg["MATH_IS_TOOLTIP"] = "Vero aÅ­ malvero estos liverita, depende de la rezulto de kontrolo, Ä‰u nombro estas para, nepara, pozitiva, negativa, aÅ­ dividebla de iu nombro.";
+Blockly.Msg["MATH_IS_WHOLE"] = "estas entjero";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://eo.wikipedia.org/wiki/Resto";
+Blockly.Msg["MATH_MODULO_TITLE"] = "resto de %1 ÷ %2";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "La resto de la divido de du nombroj estos liverita.";
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";  // untranslated
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://eo.wikipedia.org/wiki/Nombro";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "Nombro.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "listmezumo";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "listmaksimumo";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "median of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "listminimumo";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "reÄimoj de listo";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "hazarda elemento el la listo";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "Norma devio de la listo";
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "sumo de listo";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "La aritmetika meznombro de la numeroj en la listo estos liverita.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "La plej granda numero en la listo estos redonita.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "Return the median number in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "La plej eta nombro en la listo estos redonita.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Return a list of the most common item(s) in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Elemento el la listo estos hazarde liverita.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "La norma devio de la listo estos liverita.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "La sumo de Ä‰iuj nombro en la listo estos liverita.";
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "random fraction";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Return a random fraction between 0.0 (inclusive) and 1.0 (exclusive).";  // untranslated
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "hazarda entjero inter %1 kaj %2";
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Nombro estos hazarde liverita, tiel ke Äi egalas la limojn aÅ­ troviÄas inter ili.";
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://en.wikipedia.org/wiki/Rounding";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "rondigi";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "rondigi malsupren";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "Rondigi supren";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Rondigi nombroj, supren aÅ­ malsupren.";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://eo.wikipedia.org/wiki/Kvadrata_radiko";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "absoluta";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "kvadrata radiko";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "La absoluta valoro de nombro estos liverita.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "La rezulto de la potenco de e je la nombro.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "La natura logaritmo de nombro estos liverita.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "La dekbaza logaritmo de numero estos liverita.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "La negativigo de numero estos liverita.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Return 10 to the power of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "La kvadrata radiko de nombro estos liverita.";
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";  // untranslated
+Blockly.Msg["MATH_TRIG_ACOS"] = "acos";  // untranslated
+Blockly.Msg["MATH_TRIG_ASIN"] = "asin";  // untranslated
+Blockly.Msg["MATH_TRIG_ATAN"] = "atan";  // untranslated
+Blockly.Msg["MATH_TRIG_COS"] = "cos";  // untranslated
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://eo.wikipedia.org/wiki/Trigonometria_funkcio";
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";  // untranslated
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Return the arccosine of a number.";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "La sinusarko de nombro estos liverita.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "La targentarko de nombro estos liverita.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Return the cosine of a degree (not radian).";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Return the sine of a degree (not radian).";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Return the tangent of a degree (not radian).";  // untranslated
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Create colour variable...";  // untranslated
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Create number variable...";  // untranslated
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Create string variable...";  // untranslated
+Blockly.Msg["NEW_VARIABLE"] = "Nova varianto...";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "Nova nomo de varianto:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "New variable type:";  // untranslated
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "allow statements";  // untranslated
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "with:";  // untranslated
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Run the user-defined function '%1'.";  // untranslated
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Run the user-defined function '%1' and use its output.";  // untranslated
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "with:";  // untranslated
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "Krei '%1'";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Describe this function...";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "do something";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "to";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Creates a function with no output.";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "return";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "Creates a function with an output.";  // untranslated
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "Warning: This function has duplicate parameters.";  // untranslated
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "Highlight function definition";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "If a value is true, then return a second value.";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "Warning: This block may be used only within a function definition.";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "input name:";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Add an input to the function.";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "inputs";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Add, remove, or reorder inputs to this function.";  // untranslated
+Blockly.Msg["REDO"] = "Refari";
+Blockly.Msg["REMOVE_COMMENT"] = "Forigi komenton";
+Blockly.Msg["RENAME_VARIABLE"] = "Renomi varianton...";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Renomi Ä‰iujn '%1' variantojn kiel:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "to %1 append text %2";  // untranslated
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Append some text to variable '%1'.";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "to lower case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "to Title Case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "to UPPER CASE";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Return a copy of the text in a different case.";  // untranslated
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "get first letter";  // untranslated
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "get letter # from end";  // untranslated
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "get letter #";  // untranslated
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "get last letter";  // untranslated
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "get random letter";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "in text %1 %2";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Returns the letter at the specified position.";  // untranslated
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";  // untranslated
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "count %1 in %2";  // untranslated
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Count how many times some text occurs within some other text.";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Add an item to the text.";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "join";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this text block.";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "to letter # from end";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "to letter #";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "to last letter";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "en la teksto";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "get substring from first letter";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "get substring from letter # from end";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "get substring from letter #";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Returns a specified portion of the text.";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "find first occurrence of text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "find last occurrence of text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "en la teksto %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.";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 malplenas";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Returns true if the provided text is empty.";  // untranslated
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "create text with";  // untranslated
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Create a piece of text by joining together any number of items.";  // untranslated
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "longo de %1";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Returns the number of letters (including spaces) in the provided text.";  // untranslated
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "presi %1";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Presi la specifitan tekston, nombron aÅ­ alian valoron.";
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Peti nombron al uzanto.";
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Peti tekston al uzanto.";
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "prompt for number with message";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "prompt for text with message";  // untranslated
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";  // untranslated
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "replace %1 with %2 in %3";  // untranslated
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Replace all occurances of some text within some other text.";  // untranslated
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";  // untranslated
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Reverses the order of the characters in the text.";  // untranslated
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://en.wikipedia.org/wiki/String_(computer_science)";  // untranslated
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "A letter, word, or line of text.";  // untranslated
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "trim spaces from both sides of";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "trim spaces from left side of";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "forigi spacojn el la dekstra flanko de";
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Return a copy of the text with spaces removed from one or both ends.";  // untranslated
+Blockly.Msg["TODAY"] = "HodiaÅ­";
+Blockly.Msg["UNDO"] = "Malfari";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "elemento";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Create 'set %1'";  // untranslated
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Returns the value of this variable.";  // untranslated
+Blockly.Msg["VARIABLES_SET"] = "set %1 to %2";  // untranslated
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Create 'get %1'";  // untranslated
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Sets this variable to be equal to the input.";  // untranslated
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "Jam ekzistas varianto kun la nomo '%1'.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "A variable named '%1' already exists for another type: '%2'.";  // untranslated
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Diru ion…";
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/es.js b/js/msg/js/es.js
new file mode 100644 (file)
index 0000000..48543b5
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.es');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "Añadir comentario";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "No se puede eliminar la variable \"%1\" porque es parte de la definición de la función \"%2\"";
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "Cambiar el valor:";
+Blockly.Msg["CLEAN_UP"] = "Limpiar los bloques";
+Blockly.Msg["COLLAPSE_ALL"] = "Contraer bloques";
+Blockly.Msg["COLLAPSE_BLOCK"] = "Contraer bloque";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "color 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "color 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";  // untranslated
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "proporción";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "combinar";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "Combina dos colores con una proporción determinada (0,0–1,0).";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://es.wikipedia.org/wiki/Color";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "Elige un color de la paleta.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "color aleatorio";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "Elige un color al azar.";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "azul";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "verde";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";  // untranslated
+Blockly.Msg["COLOUR_RGB_RED"] = "rojo";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "colorear con";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "Crea un color con cantidades específicas de rojo, verde y azul. Todos los valores deben encontrarse entre 0 y 100.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "romper el bucle";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "continuar con la siguiente iteración del bucle";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "Romper el bucle que lo contiene.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "Saltar el resto de este bucle, y continuar con la siguiente iteración.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "Atención: este bloque puede usarse solamente dentro de un bucle.";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://es.wikipedia.org/wiki/Foreach";
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "para cada elemento %1 en la lista %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "Para cada elemento en una lista, establecer la variable '%1' al elemento y luego hacer algunas declaraciones.";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "contar con %1 desde %2 hasta %3 de a %4";
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "Hacer que la variable \"%1\" tome los valores desde el número de inicio hasta el número final, contando con el intervalo especificado, y hacer los bloques especificados.";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "Agregar una condición a este bloque.";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "Agregar una condición general final a este bloque.";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Agregar, eliminar o reordenar las secciones para reconfigurar este bloque.";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "sino";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "sino si";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "si";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "Si un valor es verdadero, entonces hacer algunas declaraciones.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "Si un valor es verdadero, entonces hacer el primer bloque de declaraciones.  De lo contrario, hacer el segundo bloque de declaraciones.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "Si el primer valor es verdadero, entonces hacer el primer bloque de declaraciones. De lo contrario, si el segundo valor es verdadero, hacer el segundo bloque de declaraciones.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "Si el primer valor es verdadero, entonces hacer el primer bloque de declaraciones. De lo contrario, si el segundo valor es verdadero, hacer el segundo bloque de declaraciones. Si ninguno de los valores son verdaderos, hacer el último bloque de declaraciones.";
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://es.wikipedia.org/wiki/Bucle_for";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "hacer";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "repetir %1 veces";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "Hacer algunas declaraciones varias veces.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "repetir hasta";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "repetir mientras";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "Mientras un valor sea falso, entonces hacer algunas declaraciones.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "Mientras un valor sea verdadero, entonces hacer algunas declaraciones.";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "¿Eliminar todos los %1 bloques?";
+Blockly.Msg["DELETE_BLOCK"] = "Eliminar bloque";
+Blockly.Msg["DELETE_VARIABLE"] = "Borrar la variable \"%1\"";
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "¿Borrar %1 usos de la variable \"%2\"?";
+Blockly.Msg["DELETE_X_BLOCKS"] = "Eliminar %1 bloques";
+Blockly.Msg["DISABLE_BLOCK"] = "Desactivar bloque";
+Blockly.Msg["DUPLICATE_BLOCK"] = "Duplicar";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicar comentario";
+Blockly.Msg["ENABLE_BLOCK"] = "Activar bloque";
+Blockly.Msg["EXPAND_ALL"] = "Expandir bloques";
+Blockly.Msg["EXPAND_BLOCK"] = "Expandir bloque";
+Blockly.Msg["EXTERNAL_INPUTS"] = "Entradas externas";
+Blockly.Msg["HELP"] = "Ayuda";
+Blockly.Msg["INLINE_INPUTS"] = "Entradas en línea";
+Blockly.Msg["IOS_CANCEL"] = "Cancelar";
+Blockly.Msg["IOS_ERROR"] = "Error";
+Blockly.Msg["IOS_OK"] = "Aceptar";
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Añadir entrada";
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Permitir declaraciones";
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "Esta función tiene entradas duplicadas.";
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "ENTRADAS";
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "Añadir";
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Añadir variable";
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "Borrar";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "No puedes usar un nombre de variable vacío.";
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Renombrar";
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Nombre de la variable";
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "crear lista vacía";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Devuelve una lista, de longitud 0, sin ningún dato";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "lista";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Agregar, eliminar o reorganizar las secciones para reconfigurar este bloque de lista.";
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "crear lista con";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Agregar un elemento a la lista.";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Crear una lista con cualquier número de elementos.";
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "primero";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "# del final";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "obtener";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "obtener y eliminar";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "último";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "aleatorio";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "eliminar";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Devuelve el primer elemento de una lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Devuelve el elemento en la posición especificada en una lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Devuelve el último elemento de una lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Devuelve un elemento aleatorio en una lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "Elimina y devuelve el primer elemento de una lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "Elimina y devuelve el elemento en la posición especificada en una lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "Elimina y devuelve el último elemento de una lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Elimina y devuelve un elemento aleatorio en una lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "Elimina el primer elemento de una lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "Elimina el elemento en la posición especificada en una lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "Elimina el último elemento de una lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Elimina un elemento aleatorio en una lista.";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "hasta # del final";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "hasta #";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "hasta el último";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "obtener sublista desde el primero";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "obtener sublista desde # del final";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "obtener sublista desde #";
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Crea una copia de la parte especificada de una lista.";
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 es el último elemento.";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 es el primer elemento.";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "encontrar la primera aparición del elemento";
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "encontrar la última aparición del elemento";
+Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "Devuelve el índice de la primera/última aparición del elemento en la lista. Devuelve %1 si el elemento no se encuentra.";
+Blockly.Msg["LISTS_INLIST"] = "en la lista";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 está vacía";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Devuelve verdadero si la lista está vacía.";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "longitud de %1";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Devuelve la longitud de una lista.";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "crear lista con el elemento %1 repetido %2 veces";
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Crea una lista que consta de un valor dado repetido el número de veces especificado.";
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "invertir %1";
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Invertir una copia de una lista.";
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "como";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "insertar en";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "establecer";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Inserta el elemento al inicio de una lista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Inserta el elemento en la posición especificada en una lista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Añade el elemento al final de una lista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Inserta el elemento aleatoriamente en una lista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Establece el primer elemento de una lista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Establece el elemento en la posición especificada en una lista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Establece el último elemento de una lista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Establece un elemento aleatorio en una lista.";
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "ascendente";
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "descendente";
+Blockly.Msg["LISTS_SORT_TITLE"] = "orden %1 %2 %3";
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Ordenar una copia de una lista.";
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "alfabético, ignorar mayúscula/minúscula";
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "numérico";
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "alfabético";
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "hacer lista a partir de texto";
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "hacer texto a partir de lista";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Unir una lista de textos en un solo texto, separado por un delimitador.";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Dividir el texto en una lista de textos, separando en cada delimitador.";
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "con delimitador";
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "falso";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "Devuelve verdadero o falso.";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "verdadero";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://es.wikipedia.org/wiki/Desigualdad_matemática";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Devuelve verdadero si ambas entradas son iguales.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Devuelve verdadero si la primera entrada es mayor que la segunda entrada.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Devuelve verdadero si la primera entrada es mayor o igual a la segunda entrada.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "Devuelve verdadero si la primera entrada es menor que la segunda entrada.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "Devuelve verdadero si la primera entrada es menor que o igual a la segunda entrada.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "Devuelve verdadero si ambas entradas son distintas.";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "no %1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "Devuelve verdadero si la entrada es falsa. Devuelve falso si la entrada es verdadera.";
+Blockly.Msg["LOGIC_NULL"] = "nulo";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";  // untranslated
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "Devuelve nulo.";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "y";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "o";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "Devuelve verdadero si ambas entradas son verdaderas.";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "Devuelve verdadero si al menos una de las entradas es verdadera.";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "prueba";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "si es falso";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "si es verdadero";
+Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "Comprueba la condición en \"prueba\". Si la condición es verdadera, devuelve el valor \"si es verdadero\"; de lo contrario, devuelve el valor \"si es falso\".";
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://es.wikipedia.org/wiki/Aritmética";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Devuelve la suma de ambos números.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Devuelve el cociente de ambos números.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Devuelve la diferencia de ambos números.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Devuelve el producto de ambos números.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Devuelve el primer número elevado a la potencia del segundo.";
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";
+Blockly.Msg["MATH_CHANGE_TITLE"] = "añadir %2 a %1";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Añadir un número a la variable «%1».";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://es.wikipedia.org/wiki/Anexo:Constantes_matemáticas";
+Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "Devuelve una de las constantes comunes: Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…) o âˆž (infinito).";
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "limitar %1 entre %2 y %3";
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Limitar un número entre los límites especificados (inclusive).";
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";  // untranslated
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "es divisible por";
+Blockly.Msg["MATH_IS_EVEN"] = "es par";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "es negativo";
+Blockly.Msg["MATH_IS_ODD"] = "es impar";
+Blockly.Msg["MATH_IS_POSITIVE"] = "es positivo";
+Blockly.Msg["MATH_IS_PRIME"] = "es primo";
+Blockly.Msg["MATH_IS_TOOLTIP"] = "Comprueba si un número es par, impar, primo, entero, positivo, negativo, o si es divisible por un número determinado. Devuelve verdadero o falso.";
+Blockly.Msg["MATH_IS_WHOLE"] = "es entero";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://en.wikipedia.org/wiki/Modulo_operation";
+Blockly.Msg["MATH_MODULO_TITLE"] = "resto de %1 ÷ %2";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Devuelve el resto al dividir los dos números.";
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";  // untranslated
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://es.wikipedia.org/wiki/Número";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "Un número.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "promedio de la lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "máximo de la lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "mediana de la lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "mínimo de la lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "modas de la lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "elemento aleatorio de la lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "desviación estándar de la lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "suma de la lista";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Devuelve el promedio (media aritmética) de los valores numéricos en la lista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "Devuelve el número más grande en la lista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "Devuelve la mediana en la lista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "Devuelve el número más pequeño en la lista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Devuelve una lista de los elementos más comunes en la lista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Devuelve un elemento aleatorio de la lista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Devuelve la desviación estándar de la lista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Devuelve la suma de todos los números en la lista.";
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://es.wikipedia.org/wiki/Generador_de_números_aleatorios";
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "fracción aleatoria";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Devuelve una fracción aleatoria entre 0,0 (ambos inclusive) y 1.0 (exclusivo).";
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://es.wikipedia.org/wiki/Generador_de_números_aleatorios";
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "entero aleatorio de %1 a %2";
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Devuelve un entero aleatorio entre los dos límites especificados, inclusive.";
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://es.wikipedia.org/wiki/Redondeo";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "redondear";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "redondear a la baja";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "redondear al alza";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Redondear un número al alza o a la baja.";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://es.wikipedia.org/wiki/Ra%C3%ADz_cuadrada";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "absoluto";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "raíz cuadrada";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Devuelve el valor absoluto de un número.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Devuelve e a la potencia de un número.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "Devuelve el logaritmo natural de un número.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "Devuelve el logaritmo base 10 de un número.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Devuelve la negación de un número.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Devuelve 10 a la potencia de un número.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Devuelve la raíz cuadrada de un número.";
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";  // untranslated
+Blockly.Msg["MATH_TRIG_ACOS"] = "acos";  // untranslated
+Blockly.Msg["MATH_TRIG_ASIN"] = "asin";  // untranslated
+Blockly.Msg["MATH_TRIG_ATAN"] = "atan";  // untranslated
+Blockly.Msg["MATH_TRIG_COS"] = "cos";  // untranslated
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://es.wikipedia.org/wiki/Función_trigonométrica";
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";  // untranslated
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Devuelve el arcocoseno de un número.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Devuelve el arcoseno de un número.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Devuelve el arcotangente de un número.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Devuelve el coseno de un grado (no radián).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Devuelve el seno de un grado (no radián).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Devuelve la tangente de un grado (no radián).";
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Create colour variable...";  // untranslated
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Create number variable...";  // untranslated
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Create string variable...";  // untranslated
+Blockly.Msg["NEW_VARIABLE"] = "Crear variable…";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "Nombre de variable nueva:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "New variable type:";  // untranslated
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "permitir declaraciones";
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "con:";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://es.wikipedia.org/wiki/Subrutina";
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Ejecuta la función definida por el usuario '%1'.";
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://es.wikipedia.org/wiki/Subrutina";
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Ejecuta la función definida por el usuario '%1' y usa su salida.";
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "con:";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "Crear '%1'";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Describe esta función...";
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "hacer algo";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "para";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Crea una función sin salida.";
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "devuelve";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "Crea una función con una salida.";
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "Advertencia: Esta función tiene parámetros duplicados.";
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "Destacar definición de la función";
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "Si un valor es verdadero, entonces devuelve un segundo valor.";
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "Advertencia: Este bloque solo puede ser utilizado dentro de la definición de una función.";
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "nombre de entrada:";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Añadir una entrada a la función.";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "entradas";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Añadir, eliminar o reordenar entradas para esta función.";
+Blockly.Msg["REDO"] = "Rehacer";
+Blockly.Msg["REMOVE_COMMENT"] = "Eliminar comentario";
+Blockly.Msg["RENAME_VARIABLE"] = "Renombrar la variable…";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Renombrar todas las variables «%1» a:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "a %1 añade el texto %2";
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Añadir texto a la variable '%1'.";
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "a minúsculas";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "a Mayúsculas Cada Palabra";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "a MAYÚSCULAS";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Devuelve una copia del texto en un tamaño diferente.";
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "obtener la primera letra";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "obtener la letra # del final";
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "obtener la letra #";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "obtener la última letra";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "obtener letra aleatoria";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "en el texto %1 %2";
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Devuelve la letra en la posición especificada.";
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "contar %1 en %2";
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Cuantas veces aparece un texto dentro de otro texto.";
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Agregar un elemento al texto.";
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "unir";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Agregar, eliminar o reordenar las secciones para reconfigurar este bloque de texto.";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "hasta la letra # del final";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "hasta la letra #";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "hasta la última letra";
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "en el texto";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "obtener subcadena desde la primera letra";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "obtener subcadena desde la letra # del final";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "obtener subcadena desde la letra #";
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Devuelve una porción determinada del texto.";
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "encontrar la primera aparición del texto";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "encontrar la última aparición del texto";
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "en el texto %1 %2 %3";
+Blockly.Msg["TEXT_INDEXOF_TOOLTIP"] = "Devuelve el índice de la primera/última aparición del primer texto en el segundo texto. Devuelve %1 si el texto no se encuentra.";
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 está vacío";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Devuelve verdadero si el texto proporcionado está vacío.";
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "crear texto con";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Crear un fragmento de texto al unir cualquier número de elementos.";
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "longitud de %1";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Devuelve el número de letras (espacios incluidos) del texto proporcionado.";
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "imprimir %1";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Imprimir el texto, número u otro valor especificado.";
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Solicitar al usuario un número.";
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Solicitar al usuario un texto.";
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "solicitar número con el mensaje";
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "solicitar texto con el mensaje";
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "reemplazar %1 con %2 en %3";
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Reemplazar todas las veces que un texto dentro de otro texto.";
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "invertir %1";
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Invierte el orden de los caracteres en el texto.";
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://es.wikipedia.org/wiki/Cadena_de_caracteres";
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "Una letra, palabra o línea de texto.";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "quitar espacios de ambos lados de";
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "quitar espacios iniciales de";
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "quitar espacios finales de";
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Devuelve una copia del texto sin los espacios de uno o ambos extremos.";
+Blockly.Msg["TODAY"] = "Hoy";
+Blockly.Msg["UNDO"] = "Deshacer";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "elemento";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Crear 'establecer %1'";
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Devuelve el valor de esta variable.";
+Blockly.Msg["VARIABLES_SET"] = "establecer %1 a %2";
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Crear 'obtener %1'";
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Establece esta variable para que sea igual a la entrada.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "Ya existe una variable llamada \"%1\".";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "Ya existe una variable nombrada '%1' para otra variable del tipo: '%2'.";
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Di algo…";
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/et.js b/js/msg/js/et.js
new file mode 100644 (file)
index 0000000..2f88ef2
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.et');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "Lisa kommentaar";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "Can't delete the variable '%1' because it's part of the definition of the function '%2'";  // untranslated
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "Muuda väärtust:";
+Blockly.Msg["CLEAN_UP"] = "Korista plokid kokku";
+Blockly.Msg["COLLAPSE_ALL"] = "Tõmba plokid kokku";
+Blockly.Msg["COLLAPSE_BLOCK"] = "Tõmba plokk kokku";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "1. värvist";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "2. värvist";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";  // untranslated
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "suhtega";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "segu";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "Segab kaks värvi määratud suhtega (0.0 - 1.0) kokku.";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://en.wikipedia.org/wiki/Color";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "Valitud värv paletist.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "juhuslik värv";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "Juhuslikult valitud värv.";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "sinisest";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "rohelisest";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";  // untranslated
+Blockly.Msg["COLOUR_RGB_RED"] = "punasest";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "segu";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "Tekitab värvi määratud hulgast punasest, rohelisest ja sinisest. Kõik väärtused peavad olema 0 ja 100 vahel.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "välju kordusest";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "katkesta see kordus ja liigu järgmisele";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "Väljub kordusest ja liigub edasi korduse järel oleva koodi käivitamisele.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "Katkestab korduses oleva koodi käivitamise ja käivitab järgmise korduse.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "Hoiatus: Seda plokki saab kasutada ainult korduse sees.";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "iga elemendiga %1 loendis %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "Iga elemendiga loendis anna muutujale '%1' elemendi väärtus ja kõivita plokis olevad käsud.";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "loendus muutujaga %1 alates %2 kuni %3, %4 kaupa";
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "Annab muutujale '%1' väärtused ühest numbrist teiseni, muutes seda intervalli kaupa ja käivitab igal muudatusel ploki sees oleva koodi.";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "Lisab â€žkui“ plokile tingimuse.";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "Lisab â€žkui“ plokile lõpliku tingimuseta koodiploki.";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Selle â€žkui“ ploki muutmine sektsioonide lisamise, eemaldamise ja järjestamisega.";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "vastasel juhul";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "vastasel juhul, kui";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "kui";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "Kui avaldis on tõene, käivita ploki sees olevad käsud.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "Kui avaldis on tõene, käivita käsud esimesest plokist. Vastasel juhul käivita käsud teisest plokist.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "Kui esimene avaldis on tõene, käivita käsud esimesest plokist. Vastasel juhul, kui teine avaldis on tõene, käivita käsud teisest plokist.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "Kui esimene avaldis on tõene, käivita käsud esimesest plokist. Vastasel juhul, kui teine avaldis on tõene, käivita käsud teisest plokist. Kui ükski avaldistest pole tõene, käivita käsud viimasest plokist.";
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://en.wikipedia.org/wiki/For_loop";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "käivita";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "%1 korda";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "Plokis olevate käskude käivitamine määratud arv kordi.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "seni kuni pole";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "seni kuni on";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "Plokis olevaid käske korratakse seni kui avaldis pole tõene.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "Plokis olevaid käske korratakse seni kui avaldis on tõene.";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "Kas kustutada kõik %1 plokki?";
+Blockly.Msg["DELETE_BLOCK"] = "Kustuta plokk";
+Blockly.Msg["DELETE_VARIABLE"] = "Kustuta muutuja '%1'";
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Kas kustutada %1 kohas kasutatav muutuja '%2'?";
+Blockly.Msg["DELETE_X_BLOCKS"] = "Kustuta %1 plokki";
+Blockly.Msg["DISABLE_BLOCK"] = "Keela ploki kasutamine";
+Blockly.Msg["DUPLICATE_BLOCK"] = "Tekita duplikaat";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicate Comment";  // untranslated
+Blockly.Msg["ENABLE_BLOCK"] = "Luba ploki kasutamine";
+Blockly.Msg["EXPAND_ALL"] = "Laota plokid laiali";
+Blockly.Msg["EXPAND_BLOCK"] = "Laota plokk laiali";
+Blockly.Msg["EXTERNAL_INPUTS"] = "Sisendid ploki taga";
+Blockly.Msg["HELP"] = "Abi";
+Blockly.Msg["INLINE_INPUTS"] = "Sisendid ploki sees";
+Blockly.Msg["IOS_CANCEL"] = "Cancel";  // untranslated
+Blockly.Msg["IOS_ERROR"] = "Error";  // untranslated
+Blockly.Msg["IOS_OK"] = "OK";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Add Input";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Allow statements";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "This function has duplicate inputs.";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "INPUTS";  // untranslated
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "Add";  // untranslated
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Add Variable";  // untranslated
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "Kustuta";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "Tühja muutuja nime ei saa kasutada.";
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Rename";  // untranslated
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Muutuja nimi";
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "tühi loend";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Tagastab loendi, mille pikkus on 0 ja milles pole ühtegi elementi.";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "loend";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Loendiploki elementide lisamine, eemaldamine või järjestuse muutmine.";
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "uus loend";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Elemendi lisamine loendisse.";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Tekitab mistahes arvust elementidest loendi.";
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "esimene element";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "element # (lõpust)";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "element #";
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "võetud";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "võetud ja eemaldatud";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "viimane element";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "juhuslik element";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "eemalda";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Tagastab loendi esimese elemendi.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Tagastab loendis määratud asukohal oleva elemendi.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Tagastab loendi viimase elemendi.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Tagastab loendi juhusliku elemendi.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "Tagastab ja eemaldab loendist esimese elemendi.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "Tagastab ja eemaldab loendist määratud asukohal oleva elemendi.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "Tagastab ja eemaldab loendist viimase elemendi.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Tagastab ja eemaldab loendist juhusliku elemendi.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "Eemaldab loendist esimese elemendi.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "Eemaldab loendist määratud asukohal oleva elemendi.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "Eemaldab loendist viimase elemendi.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Eemaldab loendist juhusliku elemendi.";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "elemendini # (lõpust)";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "elemendini #";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "lõpuni";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "alamloend algusest";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "alamloend elemendist # (lõpust)";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "alamloend elemendist #";
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Tekitab loendi määratud osast koopia.";
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "Viimane element on %1.";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "Esimene element on %1.";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "esimene leitud";
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "viimase leitud";
+Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "Tagastab esimese/viimase loendist leitud objekti asukoha (objekti järjekorranumbri loendis). Kui objekti ei leita, tagastab %1.";
+Blockly.Msg["LISTS_INLIST"] = "loendis";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 on tühi";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Tagastab â€žtõene“ kui loend on tühi.";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "%1 pikkus";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Tagastab loendi pikkuse.";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "loend pikkusega %2 elemendist %1";
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Tekitab uue loendi, millesse lisatakse ühte elementi pikkusega määratud arv kordi.";
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";  // untranslated
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Reverse a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = ", väärtus";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "lisa asukohale";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "asenda";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Lisab loendi algusesse uue elemendi.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Lisab määratud asukohale loendis uue elemendi.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Lisab loendi lõppu uue elemendi.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Lisab juhuslikule kohale loendis uue elemendi.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Asendab loendis esimese elemendi.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Asendab loendis määratud kohal oleva elemendi.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Asendab loendis viimase elemendi.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Asendab loendis juhusliku elemendi.";
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "kasvavalt";
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "kahanevalt";
+Blockly.Msg["LISTS_SORT_TITLE"] = "%1 %2 sorteeritud %3";
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Loendi koopia sorteerimine.";
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "tähestiku järgi (tähesuurust eirates)";
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "arvväärtuste järgi";
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "tähestiku järgi";
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "loend, tekitatud tekstist";
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "tekst, tekitatud loendist";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Ühendab tekstide loendis olevad tükid üheks tekstiks, asetades tükkide vahele eraldaja.";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Tükeldab teksti eraldajade kohalt ja asetab tükid tekstide loendisse.";
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "eraldajaga";
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "väär";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "Tagastab tõeväärtuse â€“ kas â€žtõene“ või â€žväär“.";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "tõene";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://en.wikipedia.org/wiki/Inequality_(mathematics)";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Tagastab â€žtõene“, kui avaldiste väärtused on võrdsed.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Tagastab â€žtõene“, kui esimese avaldise väärtus on suurem kui teise väärtus.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Tagastab â€žtõene“, kui esimese avaldise väärtus on suurem või võrdne teise väärtusega.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "Tagastab â€žtõene“, kui esimese avaldise väärtus on väiksem kui teise väärtus.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "Tagastab â€žtõene“, kui esimese avaldise väärtus on väiksem või võrdne teise väärtusega.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "Tagastab â€žtõene“, kui avaldiste väärtused pole võrdsed.";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "pole %1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "Tagastab â€žtõene“, kui avaldis on väär. Tagastab â€žväär“, kui avaldis on tõene.";
+Blockly.Msg["LOGIC_NULL"] = "null";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";  // untranslated
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "Tagastab nulli.";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "ja";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "või";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "Tagastab â€žtõene“, kui mõlemad avaldised on tõesed.";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "Tagastab â€žtõene“, kui vähemalt Ã¼ks avaldistest on tõene.";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "tingimus";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "kui väär";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "kui tõene";
+Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "Kui tingimuse väärtus on tõene, tagastab â€žkui tõene“ väärtuse, vastasel juhul â€žkui väär“ väärtuse.";
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://et.wikipedia.org/wiki/Aritmeetika";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Tagastab kahe arvu summa.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Tagastab kahe arvu jagatise.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Tagastab kahe arvu vahe.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Tagastab kahe arvu korrutise.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Tagastab esimese arvu teise arvu astmes.";
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";
+Blockly.Msg["MATH_CHANGE_TITLE"] = "muuda %1 %2 võrra";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Lisab arvu muutujale '%1'.";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://en.wikipedia.org/wiki/Mathematical_constant";
+Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "Tagastab Ã¼he konstantidest: Ï€ (3,141…), e (2,718…), Ï† (1.618…), âˆš2) (1,414…), âˆšÂ½ (0,707…), või âˆž (infinity).";
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "%1 piirang %2 ja %3 vahele";
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Piirab arvu väärtuse toodud piiridesse (piirarvud kaasa arvatud).";
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";  // untranslated
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "jagub arvuga";
+Blockly.Msg["MATH_IS_EVEN"] = "on paarisarv";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "on negatiivne arv";
+Blockly.Msg["MATH_IS_ODD"] = "on paaritu arv";
+Blockly.Msg["MATH_IS_POSITIVE"] = "on positiivne arv";
+Blockly.Msg["MATH_IS_PRIME"] = "on algarv";
+Blockly.Msg["MATH_IS_TOOLTIP"] = "Kontrollib kas arv on paarisarv, paaritu arv, algarv, täisarv, positiivne, negatiivne või jagub kindla arvuga. Tagastab â€žtõene“ või â€žväär“.";
+Blockly.Msg["MATH_IS_WHOLE"] = "on täisarv";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://en.wikipedia.org/wiki/Modulo_operation";
+Blockly.Msg["MATH_MODULO_TITLE"] = "%1 ÷ %2 jääk";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Tagastab esimese numbri teisega jagamisel tekkiva jäägi.";
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";  // untranslated
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://et.wikipedia.org/wiki/Arv";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "Arv.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "loendi keskmine";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "loendi maksimum";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "loendi mediaan";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "loendi miinimum";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "loendi moodid";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "juhuslik element loendist";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "loendi standardhälve";
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "loendi summa";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Tagastab loendis olevate arvväärtuste aritmeetilise keskmise.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "Tagastab suurima loendis oleva arvu.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "Return the median number in the list.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "Tagastab väikseima loendis oleva arvu.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Tagastab loendi kõige sagedamini esinevate loendi liikmetega.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Tagastab juhusliku elemendi loendist.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Tagastab loendi standardhälbe.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Tagastab kõigi loendis olevate arvude summa.";
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "juhuslik murdosa";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Tagastab juhusliku murdosa 0.0 (kaasa arvatud) and 1.0 (välja arvatud) vahel.";
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "juhuslik täisarv %1 ja %2 vahel";
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Tagastab juhusliku täisarvu toodud piiride vahel (piirarvud kaasa arvatud).";
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://en.wikipedia.org/wiki/Rounding";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "ümarda";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "ümarda alla";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "ümarda üles";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Ümardab arvu üles või alla.";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://et.wikipedia.org/wiki/Ruutjuur";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "absoluutväärtus";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "ruutjuur";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Tagastab arvu absoluutväärtuse.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Tagasta e arvu astmes.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "Tagastab arvu naturaallogaritmi.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "Tagastab arvu kümnendlogaritm.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Tagastab arvu vastandväärtuse.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Tagastab 10 arvu astmes.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Tagastab arvu ruutjuure.";
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";  // untranslated
+Blockly.Msg["MATH_TRIG_ACOS"] = "acos";  // untranslated
+Blockly.Msg["MATH_TRIG_ASIN"] = "asin";  // untranslated
+Blockly.Msg["MATH_TRIG_ATAN"] = "atan";  // untranslated
+Blockly.Msg["MATH_TRIG_COS"] = "cos";  // untranslated
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://et.wikipedia.org/wiki/Trigonomeetrilised_funktsioonid";
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";  // untranslated
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Tagastab arvu arkuskoosiinuse.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Tagastab arvu arkussiinuse.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Tagastab arvu arkustangensi.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Tagastab arvu (kraadid) kosiinuse.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Tagastab arvu (kraadid) siinuse.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Tagastab arvu (kraadid) tangensi.";
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Create colour variable...";  // untranslated
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Create number variable...";  // untranslated
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Create string variable...";  // untranslated
+Blockly.Msg["NEW_VARIABLE"] = "Uus muutuja ...";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "Uue muutuja nimi:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "New variable type:";  // untranslated
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "kood plokis";
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "sisenditega:";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://et.wikipedia.org/wiki/Alamprogramm";
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Käivitab kasutaja defineeritud funktsiooni '%1'.";
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://et.wikipedia.org/wiki/Alamprogramm";
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Run the user-defined function '%1' and use its output.";
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "sisenditega:";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "Tekita '%1' plokk";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Funktsiooni kirjeldus ...";
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "teeme midagi";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "funktsioon";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Tekitab funktsiooni, mis ei tagasta midagi.";
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "tagasta";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "Tekitab funktsiooni, mis tagastab midagi.";
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "Hoiatus: Sel funktsioonil on mitu sama nimega sisendit.";
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "Tõsta funktsiooni definitsioon esile";
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "Kui väärtus on tõene, tagastatakse teine väärtus.";
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "Hoiatus: Seda plokki saab kasutada ainult funktsiooni definitsioonis.";
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "sisend nimega:";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Lisab funktsioonile sisendi.";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "sisendid";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Funktsiooni sisendite lisamine, eemaldamine või järjestuse muutmine.";
+Blockly.Msg["REDO"] = "Tee uuesti";
+Blockly.Msg["REMOVE_COMMENT"] = "Eemalda kommentaar";
+Blockly.Msg["RENAME_VARIABLE"] = "Nimeta muutuja ümber ...";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Muutuja â€ž%1“ uus nimi:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "lisa muutuja %1 lõppu tekst %2";
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Lisab teksti muutuja â€ž%1“ väärtuse lõppu.";
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "väikeste tähtedega";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "Suurte Esitähtedega";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "SUURTE TÄHTEDEGA";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Tagastab muudetud tähesuurusega teksti koopia.";
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "esimene sümbol";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "lõpust sümbol #";
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "sümbol #";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "viimane sümbol";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "juhuslik sümbol";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "in text %1 %2";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Tagastab tekstis määratud asukohal oleva sümboli.";
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";  // untranslated
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "count %1 in %2";  // untranslated
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Loenda, mitu korda mingi tekst esineb teise teksti sees.";
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Objekti lisamine tekstile.";
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "ühenda";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Tekstiploki muutmine sektsioonide lisamise, eemaldamise või järjestuse muutmisega.";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "kuni (lõpust) sümbolini #";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "kuni sümbolini #";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "kuni viimase sümbolini";
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "tekstist";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "alates esimesest sümbolist";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "alates (lõpust) sümbolist #";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "alates sümbolist #";
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Tagastab määratud tüki tekstist.";
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "esimese leitud tekstitüki";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "viimase leitud tekstitüki";
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "tekstist %1 %2 %3 asukoht";
+Blockly.Msg["TEXT_INDEXOF_TOOLTIP"] = "Tagastab esimesest tekstist esimese/viimase leitud teise teksti asukoha (indeksi). Kui teksti ei leita, tagastab %1.";
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 on tühi";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Tagastab â€žtõene“, kui tekstis pole Ã¼htegi sümbolit.";
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "tekita tekst";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Tekitab teksti ühendades mistahes arvu elemente.";
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "%1 pikkus";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Tagastab sümbolite aru (ka tühikud) toodud tekstis.";
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "trüki %1";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Trükib määratud teksti, numbri või mõne muu objekti väärtuse.";
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Küsib kasutajalt teadet näidates mingit arvu.";
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Küsib kasutajalt teadet näidates mingit teksti.";
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "kasutajalt küsitud arv teatega";
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "kasutajalt küsitud tekst teatega";
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";  // untranslated
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "replace %1 with %2 in %3";  // untranslated
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Replace all occurances of some text within some other text.";  // untranslated
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";  // untranslated
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Reverses the order of the characters in the text.";  // untranslated
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://en.wikipedia.org/wiki/String_(computer_science)";
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "Täht, sõna või rida teksti.";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "mõlemalt poolt eemaldatud tühikutega";
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "algusest eemaldatud tühikutega";
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "lõpust eemaldatud tühikutega";
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Tagastab koopia tekstist, millel on tühikud ühelt või mõlemalt poolt eemaldatud.";
+Blockly.Msg["TODAY"] = "Täna";
+Blockly.Msg["UNDO"] = "Võta tagasi";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "objekt";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Tekita 'määra â€ž%1“ väärtuseks' plokk";
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Tagastab selle muutuja väärtuse.";
+Blockly.Msg["VARIABLES_SET"] = "määra %1 väärtuseks %2";
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Tekita '„%1“ väärtus' plokk";
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Määrab selle muutuja väärtuse võrdseks sisendi väärtusega.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "'%1'-nimeline muutuja on juba olemas.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "A variable named '%1' already exists for another type: '%2'.";  // untranslated
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something...";  // untranslated
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/eu.js b/js/msg/js/eu.js
new file mode 100644 (file)
index 0000000..4042d80
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.eu');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "Iruzkina gehitu";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "Ezin da '%1' aldagaia ezabatu '%2' funtzioaren definizioaren zati delako.";
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "Aldatu balioa:";
+Blockly.Msg["CLEAN_UP"] = "Blokeak garbitu";
+Blockly.Msg["COLLAPSE_ALL"] = "Blokeak kolapsatu";
+Blockly.Msg["COLLAPSE_BLOCK"] = "Blokea kolapsatu";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "1 Kolorea";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "2 Kolorea";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";  // untranslated
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "Ratioa";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "Nahastu";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "Bi koloreko nahasketak erlazio jakin batekin nahasten ditu (0.0-1.0)";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://eu.wikipedia.org/wiki/Kolore";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "Hautatu kolore bat paletatik.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "ausazko kolorea";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "Aukeratu ausaz kolore bat.";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "urdina";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "berdea";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";  // untranslated
+Blockly.Msg["COLOUR_RGB_RED"] = "gorria";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "colour with";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "Sortu kolorea zehaztutako gorriz, berdearekin eta urdinekin. Balio guztiak 0 eta 100 artean egon behar dira.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "begizta eten";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "jarraitu hurrengo begizta iterazioarekin";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "Agertzen den begiztatik ihes egin.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "Skip the rest of this loop, and continue with the next iteration.";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "Warning: This block may only be used within a loop.";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "%1 elementu bakoitzeko %2 zerrendan";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "Zerrendako elementu bakoitzarentzat, ezarri %1 aldagaia elementura, eta egin adierazpen batzuk.";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "%1 zenbatu %2-tik %3-ra %4-ra";
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "%1 aldagaiak hasierako zenbakiaren eta amaierako zenbakirako balioak hartzen ditu, zehaztutako tartea zenbatzen du eta zehaztutako blokeak egin.";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "Add a condition to the if block.";  // untranslated
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "Add a final, catch-all condition to the if block.";  // untranslated
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Gehitu, ezabatu, ala berrantolatu aukeraketak \"ba\" bloke hau berrezartzeko.";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "bestela";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "bestela baldin eta";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "baldin eta";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "Balorea egia den bitartean, egin adierazpen batzuk.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "Balorea egia bada, orduan egin ezazu lehenengo adierazpen blokea. Bestela, egin ezazu bigarren adierazpen blokea.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "Lehenengo balorea egia bada, orduan egin ezazu lehenengo adierazpen blokea. Bestela, bigarren balorea egia bada, egin ezazu bigarren adierazpen blokea.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "Lehenengo balorea egia bada, orduan egin ezazu lehenengo adierazpen blokea. Bestela, bigarren balorea egia bada, egin ezazu bigarren adierazpen blokea. Baloreetako bat ere ez bada egia, egin ezazu adierazpenen azkeneko blokea.";
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://eu.wikipedia.org/wiki/For_begizta";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "egin";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "errepikatu %1 aldiz";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "Adierazpen batzuk hainbat aldiz egin.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "arte errepikatu";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "bitartean errepikatu";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "Balorea gezurra den bitartean, egin adierazpen batzuk.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "Balorea egia den bitartean, egin adierazpen batzuk.";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "Ezabatu %1 blokeak?";
+Blockly.Msg["DELETE_BLOCK"] = "Ezabatu blokea";
+Blockly.Msg["DELETE_VARIABLE"] = "%1 parametro izena ezabatu.";
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Ezabatu %2 aldagaiaren %1 erabilerak?";
+Blockly.Msg["DELETE_X_BLOCKS"] = "Ezabatu %1 bloke";
+Blockly.Msg["DISABLE_BLOCK"] = "Ezgaitu blokea";
+Blockly.Msg["DUPLICATE_BLOCK"] = "Bikoiztu";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Iruzkina bikoiztu";
+Blockly.Msg["ENABLE_BLOCK"] = "Gaitu blokea";
+Blockly.Msg["EXPAND_ALL"] = "Blokeak Hedatu";
+Blockly.Msg["EXPAND_BLOCK"] = "Blokea Hedatu";
+Blockly.Msg["EXTERNAL_INPUTS"] = "Kanpoko sarrerak";
+Blockly.Msg["HELP"] = "Laguntza";
+Blockly.Msg["INLINE_INPUTS"] = "Inpuntak Linean";
+Blockly.Msg["IOS_CANCEL"] = "Utzi";
+Blockly.Msg["IOS_ERROR"] = "Errorea";
+Blockly.Msg["IOS_OK"] = "Ados";
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Gehitu sarrera";
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Adierazpenak baimendu";
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "Funtzio honek errepikatutako sarrerak ditu.";
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "SARRERAK";
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "Gehitu";
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Gehitu aldagaia";
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "Ezabatu";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "Ezin duzu aldagaiaren izen huts bat erabili.";
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Izena aldatu";
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Aldagaiaren izena";
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "sortu zerrenda hutsa";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Zerrenda bat itzultzen du, 0 luzera duena, daturik gabekoa";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "zerrenda";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this list block.";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "Zerrenda sortu hurrengoarekin";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Add an item to the list.";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Create a list with any number of items.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "lehena";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "# from end";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "lortu";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "lortu eta kendu";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "azkena";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "ausazkoa";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "kendu";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Lehenengo artikulua zerrendara bueltatzen du.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Artikulua zerrendako posizio zehatz batera bueltatzen du.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Azken artikulua zerrendara bueltatzen du.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Artikulu aleatorioa zerrendara bueltatzen du.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "Lehenengo artikulua zerrendako posizio zehatz batera kentzen eta bueltatzen du.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "Artikulua zerrendako posizio zehatz batera kentzen eta bueltatzen du.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "Zerrendako azken artikulua kentzen eta bueltatzen du.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Artikulu aleatorio bat zerrendatik kentzen eta bueltatzen du.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "Lehenengo artikulua zerrendatik kentzen du.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "Artikulua zerrendako posizio zehatz batetik kentzen du.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "Azken artikulua zerrendatik kentzen du.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Artikulu aleatorioa zerrendatik kentzen du.";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "to # from end";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "to #";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "to last";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "get sub-list from first";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "get sub-list from # from end";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "get sub-list from #";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Creates a copy of the specified portion of a list.";  // untranslated
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 azken artikulua da.";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 lehenengo artikulua da.";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "find first occurrence of item";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "find last occurrence of item";  // untranslated
+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.";  // untranslated
+Blockly.Msg["LISTS_INLIST"] = "zerrendan";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 hutsik dago";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "egia itzultzen du zerrenda hutsik badago.";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "zerrendaren luzera";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "zerrendaren luzera itzultzen du";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "create list with item %1 repeated %2 times";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Creates a list consisting of the given value repeated the specified number of times.";  // untranslated
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";  // untranslated
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Reverse a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "honela";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "insert at";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "ezarri";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Inserts the item at the start of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Inserts the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Append the item to the end of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Inserts the item randomly in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Sets the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Sets the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Sets the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Sets a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";  // untranslated
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "goranzkoa";
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "beheranzkoa";
+Blockly.Msg["LISTS_SORT_TITLE"] = "sort %1 %2 %3";  // untranslated
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Sort a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "alphabetic, ignore case";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "Zenbakizkoa";
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "Alfabetikoki";
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "Testuatik lista sortu";
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "listatik testua sortu";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Join a list of texts into one text, separated by a delimiter.";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Split text into a list of texts, breaking at each delimiter.";  // untranslated
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "with delimiter";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "gezurra";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "Returns either true or false.";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "egia";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://eu.wikipedia.org/wiki/Desberdintza";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Return true if both inputs equal each other.";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Return true if the first input is greater than the second input.";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Return true if the first input is greater than or equal to the second input.";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "Return true if the first input is smaller than the second input.";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "Return true if the first input is smaller than or equal to the second input.";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "Return true if both inputs are not equal to each other.";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "ez %1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "Returns true if the input is false. Returns false if the input is true.";  // untranslated
+Blockly.Msg["LOGIC_NULL"] = "nulu";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";  // untranslated
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "Returns null.";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_AND"] = "eta";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "edo";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "Return true if both inputs are true.";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "Return true if at least one of the inputs is true.";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "Froga";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "gezurra bada";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "egia bada";
+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.";  // untranslated
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://eu.wikipedia.org/wiki/Aritmetika";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Bi zenbakien batura ematen du.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Bi zenbakien zatidura ematen du.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Bi zenbakien kendura ematen du.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Bi zenbakien biderkadura ematen du.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Return the first number raised to the power of the second number.";  // untranslated
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";  // untranslated
+Blockly.Msg["MATH_CHANGE_TITLE"] = "aldatu %1 %2(e)ra";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Gehitu zenbakia '%1' aldagaiari.";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://en.wikipedia.org/wiki/Mathematical_constant";  // untranslated
+Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "Konstante ohikoenetako bat itzultzen du: Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), edo âˆž (infinitua).";
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "constrain %1 low %2 high %3";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Constrain a number to be between the specified limits (inclusive).";  // untranslated
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";  // untranslated
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "honakoaz zatigarria da";
+Blockly.Msg["MATH_IS_EVEN"] = "bikoitia da";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "negatiboa da";
+Blockly.Msg["MATH_IS_ODD"] = "bakoitia da";
+Blockly.Msg["MATH_IS_POSITIVE"] = "positiboa da";
+Blockly.Msg["MATH_IS_PRIME"] = "zenbaki lehena da";
+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.";  // untranslated
+Blockly.Msg["MATH_IS_WHOLE"] = "zenbaki osoa da";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://en.wikipedia.org/wiki/Modulo_operation";
+Blockly.Msg["MATH_MODULO_TITLE"] = "%1 ÷ %2(r)en oroigarria";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Return the remainder from dividing the two numbers.";  // untranslated
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";  // untranslated
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://eu.wikipedia.org/wiki/Zenbaki";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "Zenbaki bat.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "zerrendaren batazbestekoa";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "zerrendako maximoa";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "zerrendako mediana";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "zerrendako minimoa";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "zerrendako modak";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "zerrendako artikulu aleatorioa";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "zerrendako deribazio estandarra";
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "zerrendaren batura";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Zerrendako zenbakizko balioen batazbestekoa (aritmetikoa) itzultzen du.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "Eman zerrendako zenbakirik handiena.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "Eman zerrendako zenbaki media.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "Eman zerrendako zenbakirik txikiena.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Bueltatu artikulurik ohikoenetarikoen zerrenda.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Itzuli zerrendako elementu aleatorioa.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Return the standard deviation of the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Eman zerrendako zenbaki guztien batura.";
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "zatiki aleatorioa";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Return a random fraction between 0.0 (inclusive) and 1.0 (exclusive).";  // untranslated
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";  // untranslated
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "random integer from %1 to %2";  // untranslated
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Return a random integer between the two specified limits, inclusive.";  // untranslated
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://eu.wikipedia.org/wiki/Biribiltze";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "biribildu";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "gutxiagoz biribildu";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "gehiagoz biribildu";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Zenbaki bat gehiagoz edo gutxiagoz biribildu.";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://eu.wikipedia.org/wiki/Erro_karratu";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "absolutua";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "erro karratua";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Zenbaki baten balio absolutua ematen du.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Return e to the power of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "Zenbaki baten logaritmo naturala ematen du.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "Return the base 10 logarithm of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Return the negation of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Return 10 to the power of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Zenbaki baten erro karratua ematen du.";
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";  // untranslated
+Blockly.Msg["MATH_TRIG_ACOS"] = "acos";  // untranslated
+Blockly.Msg["MATH_TRIG_ASIN"] = "asin";  // untranslated
+Blockly.Msg["MATH_TRIG_ATAN"] = "atan";  // untranslated
+Blockly.Msg["MATH_TRIG_COS"] = "cos";  // untranslated
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://eu.wikipedia.org/wiki/Funtzio_trigonometriko";
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";  // untranslated
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Zenbaki baten arku kosinua ematen du.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Zenbaki baten arku sinua ematen du.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Zenbaki baten arku tangentea ematen du.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Return the cosine of a degree (not radian).";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Return the sine of a degree (not radian).";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Return the tangent of a degree (not radian).";  // untranslated
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Kolore aldagaia sortu...";
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Zenbaki aldagaia sortu...";
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Kate aldakorra sortu...";
+Blockly.Msg["NEW_VARIABLE"] = "Aldagaia sortu...";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "Aldagai berriaren izena:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "Aldagai berriaren izena:";
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "allow statements";  // untranslated
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "honekin";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Azpierrutina";
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Run the user-defined function '%1'.";  // untranslated
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Azpierrutina";
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Run the user-defined function '%1' and use its output.";  // untranslated
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "honekin";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "'%1' sortu";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Describe this function...";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "egin zerbait";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "honi";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Creates a function with no output.";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "itzuli";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "Creates a function with an output.";  // untranslated
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "Abisua: Funtzio honek parametro bikoiztuak dauzka.";
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "Highlight function definition";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "Balioa egiazkoa bada, orduan itzuli bigarren baliora.";
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "Warning: This block may be used only within a function definition.";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "sarreraren izena:";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Add an input to the function.";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "sarrerak";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Add, remove, or reorder inputs to this function.";  // untranslated
+Blockly.Msg["REDO"] = "Berregin";
+Blockly.Msg["REMOVE_COMMENT"] = "Iruzkina ezabatu";
+Blockly.Msg["RENAME_VARIABLE"] = "Aldatu aldagaiaren izena...";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Aldatu '%1' aldagai guztien izenak eta izen hau eman:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "%1tik testu atxikita %2";
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Append some text to variable '%1'.";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "to lower case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "to Title Case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "to UPPER CASE";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Return a copy of the text in a different case.";  // untranslated
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "hartu lehenengo letra";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "hartu # letra bukaeratik";
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "hartu # letra";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "hartu azkenengo letra";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "letra aleatorioa lortu";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "testuan %1 %2";
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Returns the letter at the specified position.";  // untranslated
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";  // untranslated
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "count %1 in %2";  // untranslated
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Count how many times some text occurs within some other text.";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Gehitu artikulu bat testura.";
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "elkartu";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Gehitu, ezabatu, ala berrantolatu aukeraketak testu bloke hau berrezartzeko.";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "to letter # from end";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "to letter #";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "to last letter";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "testuan";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "get substring from first letter";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "get substring from letter # from end";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "get substring from letter #";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Returns a specified portion of the text.";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "bilatu testuaren lehenengo agerpena";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "bilatu testuaren azkenengo agerpena";
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "testuan %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.";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 hutsik dago";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Returns true if the provided text is empty.";  // untranslated
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "Testua sortu hurrengoarekin";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Create a piece of text by joining together any number of items.";  // untranslated
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "%1(r)en luzeera";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Returns the number of letters (including spaces) in the provided text.";  // untranslated
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "inprimatu %1";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "zehaztutako testua, zenbakia edo bestelako balioa inprimatzen du.";
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Prompt for user for a number.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Prompt for user for some text.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "prompt for number with message";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "prompt for text with message";  // untranslated
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";  // untranslated
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "replace %1 with %2 in %3";  // untranslated
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Replace all occurances of some text within some other text.";  // untranslated
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";  // untranslated
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "%1(e)ri buelta eman";
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Reverses the order of the characters in the text.";  // untranslated
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://en.wikipedia.org/wiki/String_(computer_science)";
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "Letra bat, hitza edo testuko lerroa.";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "trim spaces from both sides of";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "trim spaces from left side of";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "trim spaces from right side of";  // untranslated
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Return a copy of the text with spaces removed from one or both ends.";  // untranslated
+Blockly.Msg["TODAY"] = "Gaur";
+Blockly.Msg["UNDO"] = "Desegin";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "Elementua";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Create 'set %1'";  // untranslated
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Returns the value of this variable.";  // untranslated
+Blockly.Msg["VARIABLES_SET"] = "set %1 to %2";  // untranslated
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Create 'get %1'";  // untranslated
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Sets this variable to be equal to the input.";  // untranslated
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "%1 parametro izena dagoeneko existitzen da";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "%1 izeneko aldagaia dagoeneko existitzen da %2 motako beste aldagai batekin.";
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Esan zerbait...";
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/fa.js b/js/msg/js/fa.js
new file mode 100644 (file)
index 0000000..8878bbf
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.fa');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "اÙزودن Ù†Ø¸Ø±";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "متغیر '%1' Ø±Ø§ Ù†Ù…ی‌توان Ù¾Ø§Ú© Ú©Ø±Ø¯ØŒ Ø²ÛŒØ±Ø§ Ø¬Ø²ÛŒÛŒ Ø§Ø² ØªØ¹Ø±ÛŒÙ Ù…تغیر '%2' Ù…ی‌باشد";
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "تغییر Ù…قدار:";
+Blockly.Msg["CLEAN_UP"] = "تمیز Ú©Ø±Ø¯Ù† Ø¨Ù„وک‌ها";
+Blockly.Msg["COLLAPSE_ALL"] = "Ùروپاشی Ø¨Ù„وک‌ها";
+Blockly.Msg["COLLAPSE_BLOCK"] = "Ùروپاشی Ø¨Ù„ÙˆÚ©";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "رنگ Û±";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "رنگ Û²";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";  // untranslated
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "نسبت";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "مخلوط";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "دو Ø±Ù†Ú¯ Ø±Ø§ Ø¨Ø§ Ù†Ø³Ø¨Øª Ù…شخص‌شده Ù…خلوط Ù…ی‌کند (Û°Ù«Û° - Û±Ù«Û°)";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://fa.wikipedia.org/wiki/%D8%B1%D9%86%DA%AF";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "انتخاب ÛŒÚ© Ø±Ù†Ú¯ Ø§Ø² ØªØ®ØªÙ‡â€ŒØ±Ù†Ú¯.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "رنگ ØªØµØ§Ø¯ÙÛŒ";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "انتخاب ÛŒÚ© Ø±Ù†Ú¯ Ø¨Ù‡ Ø´Ú©Ù„ ØªØµØ§Ø¯ÙÛŒ.";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "آبی";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "سبز";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";  // untranslated
+Blockly.Msg["COLOUR_RGB_RED"] = "قرمز";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "رنگ Ø¨Ø§";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "ساخت ÛŒÚ© Ø±Ù†Ú¯ Ø¨Ø§ Ù…قدار Ù…شخص‌شده‌ای Ø§Ø² Ù‚رمز، Ø³Ø¨Ø² Ùˆ Ø¢Ø¨ÛŒ. Ù‡Ù…Ù‡Ù” Ù…قادیر Ø¨Ø§ÛŒØ¯ Ø¨ÛŒÙ† Û° ØªØ§ Û±Û°Û° Ø¨Ø§Ø´Ù†Ø¯.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "خروج Ø§Ø² Ø­Ù„قه";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "ادامه Ø¨Ø§ ØªÚ©Ø±Ø§Ø± Ø¨Ø¹Ø¯ÛŒ Ø­Ù„قه";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "شکستن Ø­Ù„قهٔ Ø´Ø§Ù…Ù„.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "پریدن Ø§Ø² Ø¨Ù‚یهٔ Ø­Ù„قه Ùˆ Ø§Ø¯Ø§Ù…Ù‡ Ø¨Ø§ ØªÚ©Ø±Ø§Ø± Ø¨Ø¹Ø¯ÛŒ.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "اخطار: Ø§ÛŒÙ† Ø¨Ù„ÙˆÚ© Ù…Ù…Ú©Ù† Ø§Ø³Øª Ùقط Ø¯Ø§Ø®Ù„ ÛŒÚ© Ø­Ù„قه Ø§Ø³ØªÙاده Ø´ÙˆØ¯.";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "برای Ù‡Ø± Ù…ورد %1 Ø¯Ø± Ùهرست %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "برای Ù‡Ø± Ù…ورد Ø¯Ø± Ø§ÛŒÙ† Ùهرست، ØªÙ†Ø¸ÛŒÙ… Ù…تغیر Â«%1» Ø¨Ù‡ Ù…ورد Ùˆ Ø§Ù†Ø¬Ø§Ù… ØªØ¹Ø¯Ø§Ø¯ÛŒ Ø¹Ø¨Ø§Ø±Øª.";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "با ØªØ¹Ø¯Ø§Ø¯ %1 Ø§Ø² %2 Ø¨Ù‡ %3 Ø¨Ø§ Ú¯Ø§Ù…‌های %4";
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "متغیر %1 Ø±Ø§ Ø¯Ø± Ù…قادیر Ø´Ø±ÙˆØ¹â€ŒØ´Ø¯Ù‡ Ø§Ø² Ø¹Ø¯Ø¯ Ø§Ù†ØªÙ‡Ø§ÛŒ  Ø¨Ù‡ Ø¹Ø¯Ø¯ Ø§Ù†ØªÙ‡Ø§ÛŒÛŒ Ø±Ø§ Ø¯Ø§Ø±Ø¯ØŒ Ø¨Ø§ Ùواصل Ù…شخص‌شده Ù…ی‌شمارد Ùˆ Ø§ÛŒÙ† Ø¨Ù„ÙˆÚ© Ù…شخص‌شده Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ù…ی‌دهد.";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "اÙزودن ÛŒÚ© Ø´Ø±Ø· Ø¨Ù‡ Ø¨Ù„ÙˆÚ© Ø§Ú¯Ø±.";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "اضاÙÙ‡ Ú©Ø±Ø¯Ù† Ù†Ù‡Ø§ÛŒÛŒØŒ Ú¯Ø±Ùتن Ù‡Ù…Ù‡Ù” Ø´Ø±Ø§ÛŒØ· Ø¨Ù‡ Ø¨Ù„ÙˆÚ© Ø§Ú¯Ø±.";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "اÙزودن، Ø­Ø°Ù ÛŒØ§ Ø¨Ø§Ø²Ù…رتب‌سازی Ù‚سمت‌ها Ø¨Ø±Ø§ÛŒ Ù¾ÛŒÚ©Ø±Ø¨Ù†Ø¯ÛŒ Ø¯ÙˆØ¨Ø§Ø±Ù‡Ù” Ø§ÛŒÙ† Ø¨Ù„ÙˆÚ© Ø§Ú¯Ø±.";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "درغیر Ø§ÛŒÙ†ØµÙˆØ±Øª";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "درغیر Ø§ÛŒÙ†ØµÙˆØ±Øª Ø§Ú¯Ø±";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "اگر";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "اگر ÛŒÚ© Ù…قدار ØµØ­ÛŒØ­ Ø§Ø³ØªØŒ Ø³Ù¾Ø³ Ú†Ù†Ø¯ Ø¹Ø¨Ø§Ø±Øª Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ø¨Ø¯Ù‡.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "اگر ÛŒÚ© Ù…قدار ØµØ­ÛŒØ­ Ø§Ø³ØªØŒ Ø§ÙˆÙ„ Ø¨Ù„ÙˆÚ© Ø§ÙˆÙ„ Ø¹Ø¨Ø§Ø±Ø§Øª Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ø¨Ø¯Ù‡.  Ø¯Ø± ØºÛŒØ± Ø§ÛŒÙ† ØµÙˆØ±Øª Ø¨Ù„ÙˆÚ© Ø¯ÙˆÙ… Ø¹Ø¨Ø§Ø±Ø§Øª Ø§Ù†Ø¬Ø§Ù… Ø¨Ø¯Ù‡.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "اگر Ù…قدار Ø§ÙˆÙ„ ØµØ­ÛŒØ­ Ø¨ÙˆØ¯ØŒ Ø§Ø² Ø¢Ù† Ø¨Ù„ÙˆÚ© Ø§ÙˆÙ„ Ø¹Ø¨Ø§Ø±Ø§Øª Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ø¨Ø¯Ù‡.  Ø¯Ø± ØºÛŒØ± Ø§ÛŒÙ† ØµÙˆØ±ØªØŒ Ø§Ú¯Ø± Ù…قدار Ø¯ÙˆÙ… ØµØ­ÛŒØ­ Ø§Ø³ØªØŒ Ø¨Ù„ÙˆÚ© Ø¯ÙˆÙ… Ø¹Ø¨Ø§Ø±Ø§Øª Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ø¨Ø¯Ù‡.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "اگر Ù…قدار Ø§ÙˆÙ„ Ø¯Ø±Ø³Øª Ø§Ø³ØªØŒ Ø¨Ù„ÙˆÚ© Ø§ÙˆÙ„ Ø¹Ø¨Ø§Ø±Ø§Øª Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ø¨Ø¯Ù‡.  Ø¯Ø± ØºÛŒØ± Ø§ÛŒÙ† ØµÙˆØ±ØªØŒ Ø§Ú¯Ø± Ù…قدار Ø¯ÙˆÙ… Ø¯Ø±Ø³Øª Ø¨Ø§Ø´Ø¯ Ø¨Ù„ÙˆÚ© Ø¯ÙˆÙ… Ø¹Ø¨Ø§Ø±Ø§Øª Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ø¨Ø¯Ù‡.  Ø§Ú¯Ø± Ù‡ÛŒÚ† Ø§Ø² Ù…قادیر Ø¯Ø±Ø³Øª Ù†Ø¨ÙˆØ¯ØŒ Ø¢Ø®Ø±ÛŒÙ† Ø¨Ù„ÙˆÚ© Ø¹Ø¨Ø§Ø±Ø§Øª Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ø¨Ø¯Ù‡.";
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://fa.wikipedia.org/wiki/%D8%AD%D9%84%D9%82%D9%87_%D9%81%D9%88%D8%B1";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "انجام";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "%1 Ø¨Ø§Ø± ØªÚ©Ø±Ø§Ø±";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "انجام Ú†Ù†Ø¯ Ø¹Ø¨Ø§Ø±Øª Ú†Ù†Ø¯ÛŒÙ† Ø¨Ø§Ø±.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "تکرار ØªØ§ Ø²Ù…انی Ú©Ù‡";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "تکرار Ø¯Ø± Ø­Ø§Ù„ÛŒ Ú©Ù‡";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "تا Ø²Ù…انی Ú©Ù‡ ÛŒÚ© Ù…قدار Ù†Ø§ØµØ­ÛŒØ­ Ø§Ø³ØªØŒ Ú†Ù†Ø¯ Ø¹Ø¨Ø§Ø±Øª Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ø¨Ø¯Ù‡.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "تا Ø²Ù…انی Ú©Ù‡ ÛŒÚ© Ù…قدار ØµØ­ÛŒØ­ Ø§Ø³ØªØŒ Ú†Ù†Ø¯ Ø¹Ø¨Ø§Ø±Øª Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ø¨Ø¯Ù‡.";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "حذ٠همهٔ Ø¨Ù„اک‌های %1ØŸ";
+Blockly.Msg["DELETE_BLOCK"] = "حذ٠بلوک";
+Blockly.Msg["DELETE_VARIABLE"] = "متغیر '%1'را Ù¾Ø§Ú© Ú©Ù†ÛŒØ¯";
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "تعداد %1 Ø§Ø³ØªÙاده Ø§Ø² Ù…تغیر '%2' Ù¾Ø§Ú© Ø´ÙˆØ¯ØŸ";
+Blockly.Msg["DELETE_X_BLOCKS"] = "حذ٠بلوک‌های %1";
+Blockly.Msg["DISABLE_BLOCK"] = "غیرÙعال‌سازی Ø¨Ù„ÙˆÚ©";
+Blockly.Msg["DUPLICATE_BLOCK"] = "تکراری";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicate Comment";  // untranslated
+Blockly.Msg["ENABLE_BLOCK"] = "Ùعال‌سازی Ø¨Ù„ÙˆÚ©";
+Blockly.Msg["EXPAND_ALL"] = "گسترش Ø¨Ù„وک‌ها";
+Blockly.Msg["EXPAND_BLOCK"] = "گسترش Ø¨Ù„ÙˆÚ©";
+Blockly.Msg["EXTERNAL_INPUTS"] = "ورودی‌های Ø®Ø§Ø±Ø¬ÛŒ";
+Blockly.Msg["HELP"] = "راهنما";
+Blockly.Msg["INLINE_INPUTS"] = "ورودی‌های Ø¯Ø±ÙˆÙ† Ø®Ø·ÛŒ";
+Blockly.Msg["IOS_CANCEL"] = "لغو";
+Blockly.Msg["IOS_ERROR"] = "خطا";
+Blockly.Msg["IOS_OK"] = "تأیید";
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Ø§Ùزودن ÙˆØ±ÙˆØ¯ÛŒ";
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "اجازه Ø§Ø¸Ù‡Ø§Ø±Ø§Øª";
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "این ØªØ§Ø¨Ø¹ Ø¯Ø§Ø±Ø§ÛŒ ÙˆØ±ÙˆØ¯ÛŒâ€ŒÙ‡Ø§ÛŒ ØªÚ©Ø±Ø§Ø±ÛŒ Ø§Ø³Øª.";
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "ورودی‌ها";
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "اÙزودن";
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Ø§Ùزودن Ù…تغیر";
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "حذÙ";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "نام Ù…تغیر Ù†Ù…ی‌تواند Ø®Ø§Ù„ÛŒ Ø¨Ø§Ø´Ø¯";
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "تغییر Ù†Ø§Ù…";
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "نام Ù…تغیر";
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "ایجاد Ùهرست Ø®Ø§Ù„ÛŒ";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Ùهرستی Ø¨Ø§ Ø·ÙˆÙ„ ØµÙر Ø´Ø§Ù…Ù„ Ù‡ÛŒÚ† Ø±Ú©ÙˆØ±Ø¯ Ø¯Ø§Ø¯Ù‡â€ŒØ§ÛŒ Ø¨Ø± Ù…ی‌گرداند.";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "Ùهرست";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "اضاÙÙ‡ Ú©Ø±Ø¯Ù†ØŒ Ø­Ø°Ù Ú©Ø±Ø¯Ù† ÛŒØ§ ØªØ±ØªÛŒØ¨â€ŒØ³Ø§Ø²ÛŒ Ù…جدد Ø¨Ø®Ø´â€ŒÙ‡Ø§ Ø§ÛŒÙ† Ø¨Ù„ÙˆÚ© Ùهرستی.";
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "ایجاد Ùهرست Ø¨Ø§";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "اضاÙÙ‡ Ú©Ø±Ø¯Ù† ÛŒÚ© Ù…ورد Ø¨Ù‡ Ùهرست.";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Ùهرستی Ø§Ø² Ù‡Ø± Ø¹Ø¯Ø¯ÛŒ Ø§Ø² Ù…وارد Ù…ی‌سازد.";
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "اولین";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "# Ø§Ø² Ø§Ù†ØªÙ‡Ø§";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "گرÙتن";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "گرÙتن Ùˆ Ø­Ø°Ù‌کردن";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "آخرین";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "تصادÙÛŒ";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "حذÙ‌کردن";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "اولین Ù…ورد ÛŒÚ© Ùهرست Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "موردی Ø¯Ø± Ù…حل Ù…شخص‌شده Ø¨Ø± Ù…ی‌گرداند.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "آخرین Ù…ورد Ø¯Ø± ÛŒÚ© Ùهرست Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "یک Ù…ورد ØªØµØ§Ø¯ÙÛŒ Ø¯Ø± ÛŒÚ© Ùهرست Ø¨Ø± Ù…ی‌گرداند.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "اولین Ù…ورد Ù…شخص‌شده Ø¯Ø± Ùهرست Ø±Ø§ Ø­Ø°Ù Ùˆ Ø¨Ø± Ù…ی‌گرداند.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "مورد Ø¯Ø± Ù…حل Ù…شخص‌شده Ø¯Ø± Ùهرست Ø±Ø§ Ø­Ø°Ù Ùˆ Ø¨Ø± Ù…ی‌گرداند.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "آخرین Ù…ورد Ù…شخص‌شده Ø¯Ø± Ùهرست Ø±Ø§ Ø­Ø°Ù Ùˆ Ø¨Ø± Ù…ی‌گرداند.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "مورد ØªØµØ§Ø¯Ùی‌ای Ø±Ø§ Ø¯Ø± Ùهرست Ø­Ø°Ù Ùˆ Ø¨Ø± Ù…ی‌گرداند.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "اولین Ù…ورد Ø±Ø§ Ø¯Ø± ÛŒÚ© Ùهرست Ø­Ø°Ù Ù…ی‌کند.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "مورد Ù…شخص‌شده Ø¯Ø± Ù…وقعیت Ù…شخص Ø¯Ø± ÛŒÚ© Ùهرست Ø±Ø§ Ø­Ø°Ù Ùˆ Ø¨Ø± Ù…ی‌گرداند.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "آخرین Ù…ورد Ø±Ø§ Ø¯Ø± ÛŒÚ© Ùهرست Ø­Ø°Ù Ù…ی‌کند.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "یک Ù…ورد ØªØµØ§Ø¯ÙÛŒ Ø±Ø§ ÛŒÚ© Ùهرست Ø­Ø°Ù Ù…ی‌کند.";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "به # Ø§Ø² Ø§Ù†ØªÙ‡Ø§";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "به #";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "به Ø¢Ø®Ø±ÛŒÙ†";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "گرÙتن Ø²ÛŒØ±Ù…جموعه‌ای Ø§Ø² Ø§Ø¨ØªØ¯Ø§";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "گرÙتن Ø²ÛŒØ±Ù…جموعه‌ای Ø§Ø² # Ø§Ø² Ø§Ù†ØªÙ‡Ø§";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "گرÙتن Ø²ÛŒØ±Ù…جموعه‌ای Ø§Ø² #";
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Ú©Ù¾ÛŒ Ø§Ø² Ù‚سمت Ù…شخص‌شدهٔ Ù„یست Ø¯Ø±Ø³Øª Ù…ی‌کند.";
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 Ø¢Ø®Ø±ÛŒÙ† Ù…ورد Ø§Ø³Øª.";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 Ø§ÙˆÙ„ین Ù…ورد Ø§Ø³Øª.";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "یاÙتن Ø§ÙˆÙ„ین Ø±Ø®â€ŒØ¯Ø§Ø¯ Ù…ورد";
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "یاÙتن Ø¢Ø®Ø±ÛŒÙ† Ø±Ø®â€ŒØ¯Ø§Ø¯ Ù…ورد";
+Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "شاخصی Ø§Ø² Ø§ÙˆÙ„ین/آخرین Ø±Ø®â€ŒØ¯Ø§Ø¯ Ù…ورد Ø¯Ø± Ùهرست Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند. %1 Ø¨Ø± Ù…ی‌گرداند Ø§Ú¯Ø± Ø¢ÛŒØªÙ… Ù…وجود Ù†Ø¨ÙˆØ¯.";
+Blockly.Msg["LISTS_INLIST"] = "در Ùهرست";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 Ø®Ø§Ù„ÛŒ Ø§Ø³Øª";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "اگر Ùهرست Ø®Ø§Ù„ÛŒ Ø§Ø³Øª Ù…قدار ØµØ¬ÛŒØ¬ Ø¨Ø± Ù…ی‌گرداند.";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "طول %1";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "طول ÛŒÚ© Ùهرست Ø±Ø§ Ø¨Ø±Ù…ی‌گرداند.";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "Ùهرستی Ø¨Ø§ %1 ØªÚ©Ø±Ø§Ø±Ø´Ø¯Ù‡ Ø¨Ù‡ Ø§Ù†Ø¯Ø§Ø²Ù‡Ù” %2 Ù…ی‌سازد";
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Ùهرستی Ø´Ø§Ù…Ù„ Ù…قادیر Ø¯Ø§Ø¯Ù‡â€ŒØ´Ø¯Ù‡Ù” ØªÚ©Ø±Ø§Ø± Ø´Ø¯Ù‡ Ø¹Ø¯Ø¯ Ù…شخص‌شده Ù…ی‌سازد.";
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";  // untranslated
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "معکوس %1";
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "یک Ú©Ù¾ÛŒ Ø§Ø² Ù„یست Ø±Ø§ Ù…عکوس Ú©Ù†ÛŒØ¯.";
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "به Ø¹Ù†ÙˆØ§Ù†";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "درج Ø¯Ø±";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "اعمال";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "موردی Ø¨Ù‡ ØªÙ‡ Ùهرست Ø§Ø¶Ø§ÙÙ‡ Ù…ی‌کند.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "موردی Ø¯Ø± Ù…وقعیت Ù…شخص‌شده Ø¯Ø± ÛŒÚ© Ùهرست Ø§Ø¶Ø§ÙÙ‡ Ù…ی‌کند.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "موردی Ø¨Ù‡ ØªÙ‡ Ùهرست Ø§Ù„حاق Ù…ی‌کند.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "مورد Ø±Ø§ Ø¨Ù‡ ØµÙˆØ±Øª ØªØµØ§Ø¯ÙÛŒ Ø¯Ø± ÛŒÚ© Ùهرست Ù…ی‌اÙزاید.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "اولین Ù…ورد Ø¯Ø± ÛŒÚ© Ùهرست Ø±Ø§ ØªØ¹ÛŒÛŒÙ† Ù…ی‌کند.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "مورد Ù…شخص‌شده Ø¯Ø± ÛŒÚ© Ùهرست Ø±Ø§ Ù‚رار Ù…ی‌دهد.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "آخرین Ù…ورد Ø¯Ø± ÛŒÚ© Ùهرست Ø±Ø§ ØªØ¹ÛŒÛŒÙ† Ù…ی‌کند.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "یک Ù…ورد ØªØµØ§Ø¯ÙÛŒ Ø¯Ø± ÛŒÚ© Ùهرست Ø±Ø§ ØªØ¹ÛŒÛŒÙ† Ù…ی‌کند.";
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";  // untranslated
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "صعودی";
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "نزولی";
+Blockly.Msg["LISTS_SORT_TITLE"] = "مرتب‌سازی%1 %2 %3";
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "یک Ú©Ù¾ÛŒ Ø§Ø² Ù„یست Ø±Ø§ Ù…رتب Ú©Ù†ÛŒØ¯.";
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "حروÙÛŒ ØŒ Ø±Ø¯ Ú©Ø±Ø¯Ù† Ù…ورد";
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "عددی";
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "حروÙÛŒ ØŒ Ø§Ù„Ùبایی";
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "ایجاد Ùهرست Ø§Ø² Ù…تن";
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "ایجاد Ù…تن Ø§Ø² Ùهرست";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "چسباندن ÛŒÚ© Ùهرست Ø§Ø² Ù…تن‌ها Ùˆ ØªØ´Ú©ÛŒÙ„ ÛŒÚ© Ù…تن Ú©Ù‡ Ø¨Ø§ ÛŒÚ© Ø¬Ø¯Ø§Ú©Ù†Ù†Ø¯Ù‡ Ø¬Ø¯Ø§ Ø´Ø¯Ù‡â€ŒØ§Ù†Ø¯";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "شکستن Ù…تن Ø¨Ù‡ Ùهرستی Ø§Ø² Ù…تن‌ها، Ø´Ú©Ø³ØªÙ† Ø¯Ø± Ù…حل Ø¬Ø¯Ø§Ú©Ù†Ù†Ø¯Ù‡";
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "همراه Ø¬Ø¯Ø§Ø³Ø§Ø²";
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "ناصحیح";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "بازگرداندن ÛŒÚ©ÛŒ Ø§Ø² ØµØ­ÛŒØ­ ÛŒØ§ Ù†Ø§ØµØ­ÛŒØ­.";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "صحیح";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://fa.wikipedia.org/wiki/%D9%86%D8%A7%D8%A8%D8%B1%D8%A7%D8%A8%D8%B1%DB%8C";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "بازگشت ØµØ­ÛŒØ­ Ø§Ú¯Ø± Ù‡Ø± Ø¯Ùˆ ÙˆØ±ÙˆØ¯ÛŒ Ø¨Ø§ ÛŒÚ©Ø¯ÛŒÚ¯Ø± Ø¨Ø±Ø§Ø¨Ø± Ø¨Ø§Ø´Ø¯.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "بازگرداندن ØµØ­ÛŒØ­ Ø§Ú¯Ø± ÙˆØ±ÙˆØ¯ÛŒ Ø§ÙˆÙ„ Ø¨Ø²Ø±Ú¯ØªØ± Ø§Ø² ÙˆØ±ÙˆØ¯ÛŒ Ø¯ÙˆÙ… Ø¨Ø§Ø´Ø¯.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "بازگرداندن ØµØ­ÛŒØ­ Ø§Ú¯Ø± ÙˆØ±ÙˆØ¯ÛŒ Ø§ÙˆÙ„ Ø¨Ø²Ø±Ú¯ØªØ± ÛŒØ§ Ù…ساوی ÛŒØ§ ÙˆØ±ÙˆØ¯ÛŒ Ø¯ÙˆÙ… Ø¨Ø§Ø´Ø¯.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "بازگرداندن ØµØ­ÛŒØ­ Ø§Ú¯Ø± ÙˆØ±ÙˆØ¯ÛŒ Ø§ÙˆÙ„ Ú©ÙˆÚ†Ú©ØªØ± Ø§Ø² ÙˆØ±ÙˆØ¯ÛŒ Ø¯ÙˆÙ… Ø¨Ø§Ø´Ø¯.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "بازگرداندن ØµØ­ÛŒØ­ Ø§Ú¯Ø± ÙˆØ±ÙˆØ¯ÛŒ Ø§ÙˆÙ„ Ú©ÙˆÚ†Ú©ØªØ± ÛŒØ§ Ù…ساوی Ø¨Ø§ ÙˆØ±ÙˆØ¯ÛŒ Ø¯ÙˆÙ… Ø¨Ø§Ø´Ø¯.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "برگرداندن ØµØ­ÛŒØ­ Ø§Ú¯Ø± Ù‡Ø± Ø¯Ùˆ ÙˆØ±ÙˆØ¯ÛŒ Ø¨Ø§ ÛŒÚ©Ø¯ÛŒÚ¯Ø± Ø¨Ø±Ø§Ø¨Ø± Ù†Ø¨Ø§Ø´Ù†Ø¯.";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "نه %1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "صجیج Ø¨Ø§Ø² Ù…ی‌گرداند Ø§Ú¯Ø± ÙˆØ±ÙˆØ¯ÛŒ Ù†Ø§ ØµØ­ÛŒØ­ Ø¨Ø§Ø´Ù†Ø¯. Ù†Ø§ØµØ­ÛŒØ­ Ø¨Ø§Ø²Ù…ی‌گرداند Ø§Ú¯Ø± ÙˆØ±ÙˆØ¯ÛŒ ØµØ­ÛŒØ­ Ø¨Ø§Ø´Ø¯.";
+Blockly.Msg["LOGIC_NULL"] = "تهی";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";  // untranslated
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "تهی Ø¨Ø§Ø²Ù…ی‌گرداند.";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "Ùˆ";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "یا";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "بازگرداندن ØµØ­ÛŒØ­ Ø§Ú¯Ø± Ù‡Ø± Ø¯Ùˆ ÙˆØ±ÙˆØ¯ÛŒ ØµØ­ÛŒØ­ Ø¨Ø§Ø´Ø¯.";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "بازگرداندن ØµØ­ÛŒØ­ Ø§Ú¯Ø± ÛŒÚ©ÛŒ Ø§Ø² Ø¯Ùˆ ÙˆØ±ÙˆØ¯ÛŒ ØµØ­ÛŒØ­ Ø¨Ø§Ø´Ø¯.";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "آزمایش";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "اگر Ù†Ø§ØµØ­ÛŒØ­";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "اگر ØµØ­ÛŒØ­";
+Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "بررسی ÙˆØ¶Ø¹ÛŒØª Ø¯Ø± Â«Ø¢Ø²Ù…ایش». Ø§Ú¯Ø± ÙˆØ¶Ø¹ÛŒØª ØµØ­ÛŒØ­ Ø¨Ø§Ø´Ø¯ØŒ Ù…قدار Â«Ø§Ú¯Ø± ØµØ­ÛŒØ­Â» Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند Ø¯Ø± ØºÛŒØ± Ø§ÛŒÙ†ØµÙˆØ±Øª Ù…قدار Â«Ø§Ú¯Ø± Ù†Ø§ØµØ­ÛŒØ­Â» Ø±Ø§.";
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://fa.wikipedia.org/wiki/%D8%AD%D8%B3%D8%A7%D8%A8";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "بازگرداندن Ù…قدار Ø¬Ù…ع Ø¯Ùˆ Ø¹Ø¯Ø¯.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "بازگرداندن Ø¨Ø§Ù‚ی‌ماندهٔ Ø¯Ùˆ Ø¹Ø¯Ø¯.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "بازگرداندن ØªÙاوت Ø¯Ùˆ Ø¹Ø¯Ø¯.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "بازگرداندن Ø­Ø§ØµÙ„ضرب Ø¯Ùˆ Ø¹Ø¯Ø¯.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "بازگرداندن Ø§ÙˆÙ„ین Ø¹Ø¯Ø¯ÛŒ Ú©Ù‡ Ø§Ø² ØªÙˆØ§Ù† Ø¹Ø¯Ø¯ Ø¯ÙˆÙ… Ø­Ø§ØµÙ„ Ø´Ø¯Ù‡ Ø¨Ø§Ø´Ø¯.";
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://fa.wikipedia.org/wiki/%D8%A7%D8%B5%D8%B7%D9%84%D8%A7%D8%AD_%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87%E2%80%8C%D9%86%D9%88%DB%8C%D8%B3%DB%8C#.D8.A7.D9.81.D8.B2.D8.A7.DB.8C.D8.B4_.D8.B4.D9.85.D8.A7.D8.B1.D9.86.D8.AF.D9.87";
+Blockly.Msg["MATH_CHANGE_TITLE"] = "تغییر %1 Ø¨Ø§ %2";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "اÙزودن ÛŒÚ© Ø¹Ø¯Ø¯ Ø¨Ù‡ Ù…تغیر '%1'.";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://fa.wikipedia.org/wiki/%D8%AB%D8%A7%D8%A8%D8%AA_%D8%B1%DB%8C%D8%A7%D8%B6%DB%8C";
+Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "یکی Ø§Ø² Ù…قادیر Ø«Ø§Ø¨Øª Ø¬Ù‡Ø§Ù†ÛŒ Ø±Ø§ Ø¨Ø±Ù…ی‌گرداند: Ï€ (۳٫۱۴۱…)ØŒ e (Û²Ù«Û·Û±Û¸...)ØŒ Ï† (Û±Ù«Û¶Û±Û¸)ØŒ sqrt(Û²) (Û±Ù«Û´Û±Û´)ØŒ sqrt(Û±/Û²) (Û°Ù«Û·Û°Û·...) Ùˆ ÛŒØ§ âˆž (بی‌نهایت).";
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "محدودکردن %1 Ù¾Ø§ÛŒÛŒÙ† %2 Ø¨Ø§Ù„ا %3";
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "محدودکردن ÛŒÚ© Ø¹Ø¯Ø¯ Ø¨ÛŒÙ† Ù…حدودیت‌های Ù…شخص‌شده (بسته).";
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";  // untranslated
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "تقسیم Ø´Ø¯Ù‡ Ø¨Ø±";
+Blockly.Msg["MATH_IS_EVEN"] = "زوج Ø§Ø³Øª";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "منÙÛŒ Ø§Ø³Øª";
+Blockly.Msg["MATH_IS_ODD"] = "Ùرد Ø§Ø³Øª";
+Blockly.Msg["MATH_IS_POSITIVE"] = "مثبت Ø§Ø³Øª";
+Blockly.Msg["MATH_IS_PRIME"] = "عدد Ø§ÙˆÙ„ Ø§Ø³Øª";
+Blockly.Msg["MATH_IS_TOOLTIP"] = "بررسی Ù…ی‌کند Ú©Ù‡ Ø¢ÛŒØ§ ÛŒÚ© Ø¹Ø¯Ø¯ Ø²ÙˆØ¬ØŒ Ùرد، Ø§ÙˆÙ„ØŒ Ú©Ø§Ù…Ù„ØŒ Ù…ثبت، Ù…Ù†ÙÛŒ ÛŒØ§ Ø¨Ø®Ø´â€ŒÙ¾Ø°ÛŒØ± Ø¹Ø¯Ø¯ Ø®Ø§ØµÛŒ Ø¨Ø§Ø´Ø¯ Ø±Ø§ Ø¨Ø±Ø±Ø³ÛŒ Ù…ی‌کند. Ø¯Ø±Ø³Øª ÛŒØ§ Ù†Ø§Ø¯Ø±Ø³Øª Ø¨Ø§Ø² Ù…ی‌گرداند.";
+Blockly.Msg["MATH_IS_WHOLE"] = "کامل Ø§Ø³Øª";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://fa.wikipedia.org/wiki/%D8%B9%D9%85%D9%84%DB%8C%D8%A7%D8%AA_%D9%BE%DB%8C%D9%85%D8%A7%D9%86%D9%87";
+Blockly.Msg["MATH_MODULO_TITLE"] = "باقی‌ماندهٔ %1 Ã· %2";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "باقی‌ماندهٔ ØªÙ‚سیم Ø¯Ùˆ Ø¹Ø¯Ø¯ Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند.";
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";  // untranslated
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://fa.wikipedia.org/wiki/%D8%B9%D8%AF%D8%AF";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "یک Ø¹Ø¯Ø¯.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "میانگین Ùهرست";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "بزرگ‌ترین Ø¹Ø¯Ø¯ Ø¯Ø± Ùهرست";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "میانهٔ Ùهرست";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "کوچک‌ترین Ø¹Ø¯Ø¯ Ø¯Ø± Ùهرست";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "مد Ùهرست";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "مورد ØªØµØ§Ø¯ÙÛŒ Ø§Ø² Ùهرست";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "انحرا٠معیار Ùهرست";
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "جمع Ùهرست";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "میانگین (میانگین Ø±ÛŒØ§Ø¶ÛŒ) Ù…قادیر Ø¹Ø¯Ø¯ÛŒ Ùهرست Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "بزرگ‌ترین Ø¹Ø¯Ø¯ Ø¯Ø± Ùهرست Ø±Ø§ Ø¨Ø§Ø² Ù…ی‌گرداند.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "میانهٔ Ø¹Ø¯Ø¯ Ø¯Ø± Ùهرست Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "کوچک‌ترین Ø¹Ø¯Ø¯ Ø¯Ø± Ùهرست Ø±Ø§ Ø¨Ø§Ø² Ù…ی‌گرداند.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "شایع‌ترین Ù‚لم(های) Ø¯Ø± Ùهرست Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "موردی ØªØµØ§Ø¯ÙÛŒ Ø§Ø² Ùهرست Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "انحرا٠معیار Ùهرست Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "جمع Ù‡Ù…Ù‡Ù” Ø¹Ø¯Ø¯Ù‡Ø§ÛŒ Ùهرست Ø±Ø§ Ø¨Ø§Ø² Ù…ی‌گرداند.";
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://fa.wikipedia.org/wiki/%D8%AA%D9%88%D9%84%DB%8C%D8%AF_%D8%A7%D8%B9%D8%AF%D8%A7%D8%AF_%D8%AA%D8%B5%D8%A7%D8%AF%D9%81%DB%8C";
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "کسر ØªØµØ§Ø¯ÙÛŒ";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "بازگرداندن Ú©Ø³Ø±ÛŒ ØªØµØ§Ø¯ÙÛŒ Ø¨ÛŒÙ† Û°Ù«Û° (بسته) ØªØ§ Û±Ù«Û° (باز).";
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://fa.wikipedia.org/wiki/%D8%AA%D9%88%D9%84%DB%8C%D8%AF_%D8%A7%D8%B9%D8%AF%D8%A7%D8%AF_%D8%AA%D8%B5%D8%A7%D8%AF%D9%81%DB%8C";
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "عدد ØµØ­ÛŒØ­ ØªØµØ§Ø¯ÙÛŒ Ø¨ÛŒÙ† %1 ØªØ§ %2";
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "یک Ø¹Ø¯Ø¯ ØªØµØ§Ø¯ÙÛŒ Ø¨ÛŒÙ† Ø¯Ùˆ Ù…قدار Ù…شخص‌شده Ø¨Ù‡ ØµÙˆØ±Øª Ø¨Ø³ØªÙ‡ Ø¨Ø§Ø² Ù…ی‌گرداند.";
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://fa.wikipedia.org/wiki/%D8%B1%D9%88%DB%8C%D9%87_%28%D8%B9%D9%84%D9%88%D9%85_%D8%B1%D8%A7%DB%8C%D8%A7%D9%86%D9%87%29";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "گردکردن";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "گرد Ø¨Ù‡ Ù¾Ø§ÛŒÛŒÙ†";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "گرد Ø¨Ù‡ Ø¨Ø§Ù„ا";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "گردکردن ÛŒÚ© Ø¹Ø¯Ø¯ Ø¨Ù‡ Ø¨Ø§Ù„ا ÛŒØ§ Ù¾Ø§ÛŒÛŒÙ†.";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://fa.wikipedia.org/wiki/%D8%B1%DB%8C%D8%B4%D9%87_%D8%AF%D9%88%D9%85";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "مطلق";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "ریشهٔ Ø¯ÙˆÙ…";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "قدر Ù…طلق ÛŒÚ© Ø¹Ø¯Ø¯ Ø±Ø§ Ø¨Ø§Ø²Ù…ی‌گرداند.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "بازگرداندن ØªÙˆØ§Ù† e ÛŒÚ© Ø¹Ø¯Ø¯.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "لوگاریتم Ø·Ø¨ÛŒØ¹ÛŒ ÛŒÚ© Ø¹Ø¯Ø¯ Ø±Ø§ Ø¨Ø§Ø² Ù…ی‌گرداند.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "بازگرداندن Ù„گاریتم Ø¨Ø± Ù¾Ø§ÛŒÙ‡Ù” Û±Û° ÛŒÚ© Ø¹Ø¯Ø¯.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "منÙی‌شدهٔ ÛŒÚ© Ø¹Ø¯Ø¯ Ø±Ø§ Ø¨Ø§Ø² Ù…ی‌گرداند.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "بازگرداندن ØªÙˆØ§Ù† Û±Û° ÛŒÚ© Ø¹Ø¯Ø¯.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "ریشهٔ Ø¯ÙˆÙ… ÛŒÚ© Ø¹Ø¯Ø¯ Ø±Ø§ Ø¨Ø§Ø² Ù…ی‌گرداند.";
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";  // untranslated
+Blockly.Msg["MATH_TRIG_ACOS"] = "acos";  // untranslated
+Blockly.Msg["MATH_TRIG_ASIN"] = "asin";  // untranslated
+Blockly.Msg["MATH_TRIG_ATAN"] = "atan";  // untranslated
+Blockly.Msg["MATH_TRIG_COS"] = "cos";  // untranslated
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://fa.wikipedia.org/wiki/%D8%AA%D8%A7%D8%A8%D8%B9%E2%80%8C%D9%87%D8%A7%DB%8C_%D9%85%D8%AB%D9%84%D8%AB%D8%A7%D8%AA%DB%8C";
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";  // untranslated
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "بازگرداندن Ø¢Ø±Ú©â€ŒÚ©Ø³ÛŒÙ†ÙˆØ³ Ø¯Ø±Ø¬Ù‡ (نه Ø±Ø§Ø¯ÛŒØ§Ù†).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "بازگرداندن Ø¢Ø±Ú©â€ŒØ³ÛŒÙ†ÙˆØ³ Ø¯Ø±Ø¬Ù‡ (نه Ø±Ø§Ø¯ÛŒØ§Ù†).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "بازگرداندن Ø¢Ø±Ú©â€ŒØªØ§Ù†Ú˜Ø§Ù†Øª Ø¯Ø±Ø¬Ù‡ (نه Ø±Ø§Ø¯ÛŒØ§Ù†).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "بازگرداندن Ú©Ø³ÛŒÙ†ÙˆØ³ ÛŒÚ© Ø²Ø§ÙˆÛŒÙ‡ Ø¯Ø±Ø¬Ù‡ (نه Ø±Ø§Ø¯ÛŒØ§Ù†).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "بازگرداندن Ø³ÛŒÙ†ÙˆØ³ ÛŒÚ© Ø²Ø§ÙˆÛŒÙ‡ Ø¨Ù‡ Ø¯Ø±Ø¬Ù‡ (نه Ø±Ø§Ø¯ÛŒØ§Ù†).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "بازگرداندن ØªØ§Ù†Ú˜Ø§Ù†Øª ÛŒÚ© Ø²Ø§ÙˆÛŒÙ‡ Ø¨Ù‡ Ø¯Ø±Ø¬Ù‡ (نه Ø±Ø§Ø¯ÛŒØ§Ù†).";
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Create colour variable...";  // untranslated
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Create number variable...";  // untranslated
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Create string variable...";  // untranslated
+Blockly.Msg["NEW_VARIABLE"] = "ایجاد Ù…تغیر...";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "نام Ù…تغیر ØªØ§Ø²Ù‡:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "New variable type:";  // untranslated
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "اجازه Ø§Ø¸Ù‡Ø§Ø±Ø§Øª";
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "با:";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://fa.wikipedia.org/wiki/%D8%B1%D9%88%DB%8C%D9%87_(%D8%B9%D9%84%D9%88%D9%85_%D8%B1%D8%A7%DB%8C%D8%A7%D9%86%D9%87)";
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "اجرای ØªØ§Ø¨Ø¹ ØªØ¹Ø±ÛŒÙ‌شده ØªÙˆØ³Ø· Ú©Ø§Ø±Ø¨Ø± Â«%1».";
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://fa.wikipedia.org/wiki/%D8%B1%D9%88%DB%8C%D9%87_%28%D8%B9%D9%84%D9%88%D9%85_%D8%B1%D8%A7%DB%8C%D8%A7%D9%86%D9%87%29";
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "اجرای ØªØ§Ø¨Ø¹ ØªØ¹Ø±ÛŒÙ‌شده ØªÙˆØ³Ø· Ú©Ø§Ø±Ø¨Ø± Â«%1» Ùˆ Ø§Ø³ØªÙاده Ø§Ø² Ø®Ø±ÙˆØ¬ÛŒ Ø¢Ù†.";
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "با:";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "ساختن Â«%1»";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "توصی٠این Ø¹Ù…لکرد...";
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "انجام Ú†ÛŒØ²ÛŒ";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "به";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "تابعی Ù…ی‌سازد Ø¨Ø¯ÙˆÙ† Ù‡ÛŒÚ† Ø®Ø±ÙˆØ¬ÛŒ.";
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "بازگشت";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "تابعی Ø¨Ø§ ÛŒÚ© Ø®Ø±ÙˆØ¬ÛŒ Ù…ی‌سازد.";
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "اخطار: Ø§ÛŒÙ† ØªØ§Ø¨Ø¹ÛŒ Ù¾Ø§Ø±Ø§Ù…تر ØªÚ©Ø±Ø§Ø±ÛŒ Ø¯Ø§Ø±Ø¯.";
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "برجسته‌سازی ØªØ¹Ø±ÛŒÙ ØªØ§Ø¨Ø¹";
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "اگر ÛŒÚ© Ù…قدار ØµØ­ÛŒØ­ Ø§Ø³ØªØŒ Ù…قدار Ø¯ÙˆÙ… Ø±Ø§ Ø¨Ø±Ú¯Ø±Ø¯Ø§Ù†.";
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "اخطار: Ø§ÛŒÙ† Ø¨Ù„ÙˆÚ© Ø§Ø­ØªÙ…الاً Ùقط Ø¯Ø§Ø®Ù„ ÛŒÚ© ØªØ§Ø¨Ø¹ Ø§Ø³ØªÙاده Ù…ی‌شود.";
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "نام ÙˆØ±ÙˆØ¯ÛŒ:";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "اضاÙÙ‡ Ú©Ø±Ø¯Ù† ÙˆØ±ÙˆØ¯ÛŒ Ø¨Ù‡ ØªØ§Ø¨Ø¹.";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "ورودی‌ها";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "اÙزودن، Ø­Ø°Ù ÛŒØ§ Ø¯ÙˆØ¨Ø§Ø±Ù‡ Ù…رتب‌کردن ÙˆØ±ÙˆØ¯ÛŒ Ø§ÛŒÙ† ØªØ§Ø¨Ø¹.";
+Blockly.Msg["REDO"] = "انجام Ø¯ÙˆØ¨Ø§Ø±Ù‡";
+Blockly.Msg["REMOVE_COMMENT"] = "حذ٠نظر";
+Blockly.Msg["RENAME_VARIABLE"] = "تغییر Ù†Ø§Ù… Ù…تغیر...";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "تغییر Ù†Ø§Ù… Ù‡Ù…Ù‡Ù” Ù…تغیرهای Â«%1» Ø¨Ù‡:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "به %1 Ø§Ù„حاق Ù…تن %2";
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "الحاق Ù…تنی Ø¨Ù‡ Ù…تغیر Â«%1».";
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "به Ø­Ø±ÙˆÙ Ú©ÙˆÚ†Ú©";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "به Ø­Ø±ÙˆÙ Ø¨Ø²Ø±Ú¯ Ø¹Ù†ÙˆØ§Ù†";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "به Ø­Ø±ÙˆÙ Ø¨Ø²Ø±Ú¯";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "بازگرداندن Ú©Ù¾ÛŒ Ù…تن Ø¯Ø± Ø­Ø§Ù„تی Ù…تÙاوت.";
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "گرÙتن Ø§ÙˆÙ„ین Ø­Ø±Ù";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "گرÙتن Ø­Ø±Ù # Ø§Ø² Ø¢Ø®Ø±";
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "گرÙتن Ø­Ø±Ù #";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "گرÙتن Ø¢Ø®Ø±ÛŒÙ† Ø­Ø±Ù";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "گرÙتن Ø­Ø±Ù ØªØµØ§Ø¯ÙÛŒ";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "در Ù…تن %1 %2";
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "حرÙÛŒ Ø¯Ø± Ù…وقعیت Ù…شخص‌شده Ø¨Ø± Ù…ی‌گرداند.";
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";  // untranslated
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "تعداد %1 Ø±Ø§ Ø¯Ø± %2 Ø¨Ø´Ù…ار";
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "تعداد Ø¯Ùعاتی Ú©Ù‡ ÛŒÚ© Ù…تن Ø¯Ø±ÙˆÙ† ÛŒÚ© Ù…تن Ø¯ÛŒÚ¯Ø± ØªÚ©Ø±Ø§Ø± Ø´Ø¯Ù‡ Ø§Ø³Øª Ø±Ø§ Ø¨Ø±Ù…ی‌گرداند";
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "اÙزودن ÛŒÚ© Ù…ورد Ø¨Ù‡ Ù…تن.";
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "عضویت";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "اضاÙÙ‡ Ú©Ø±Ø¯Ù†ØŒ Ø­Ø°Ù ÛŒØ§ Ù…رتب‌سازی Ø¨Ø­Ø´â€ŒÙ‡Ø§ Ø¨Ø±Ø§ÛŒ ØªÙ†Ø¸ÛŒÙ… Ù…جدد Ø§ÛŒÙ† Ø¨Ù„ÙˆÚ© Ù…تنی.";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "به Ø­Ø±Ù # Ø§Ø² Ø§Ù†ØªÙ‡Ø§";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "به Ø­Ø±Ù #";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "به Ø¢Ø®Ø±ÛŒÙ† Ø­Ø±Ù";
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "در Ù…تن";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "گرÙتن Ø²ÛŒØ±Ù…تن Ø§Ø² Ø§ÙˆÙ„ین Ø­Ø±Ù";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "گرÙتن Ø²ÛŒØ±Ù…تن Ø§Ø² Ø­Ø±Ù # Ø¨Ù‡ Ø§Ù†ØªÙ‡Ø§";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "گرÙتن Ø²ÛŒØ±Ù…تن Ø§Ø² Ø­Ø±Ù #";
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "قسمت Ù…شخصی‌شده‌ای Ø§Ø² Ù…تن Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند.";
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "اولین Ø±Ø®Ø¯Ø§Ø¯ Ù…تن Ø±Ø§ Ø¨ÛŒØ§Ø¨";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "آخرین Ø±Ø®Ø¯Ø§Ø¯ Ù…تن Ø±Ø§ Ø¨ÛŒØ§Ø¨";
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "در Ù…تن %1 %2 %3";
+Blockly.Msg["TEXT_INDEXOF_TOOLTIP"] = "شاخصی Ø§Ø² Ø§ÙˆÙ„ین Ø¢Ø®Ø±ÛŒÙ† Ø±Ø®â€ŒØ¯Ø§Ø¯ Ù…تن Ø§ÙˆÙ„ Ø¯Ø± Ù…تن Ø¯ÙˆÙ… Ø¨Ø± Ù…ی‌گرداند. Ø§Ú¯Ø± Ù…تن ÛŒØ§Ùت Ù†Ø´Ø¯ %1 Ø¨Ø§Ø² Ù…ی‌گرداند.";
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 Ø®Ø§Ù„ÛŒ Ø§Ø³Øª";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "اضاÙÙ‡ Ú©Ø±Ø¯Ù† ØµØ­ÛŒØ­ Ø§Ú¯Ø± Ù…تن Ùراهم‌شده Ø®Ø§Ù„ÛŒ Ø§Ø³Øª.";
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "ایجاد Ù…تن Ø¨Ø§";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "یک ØªÚ©Ù‡â€ŒØ§ÛŒ Ø§Ø² Ù…تن Ø±Ø§ Ø¨Ø§ Ú†Ø³Ù¾Ø§Ù†Ø¯Ù† Ù‡Ù…Ù‡Ù” ØªØ¹Ø¯Ø§Ø¯ Ø§Ø² Ù…وارد Ø§ÛŒØ¬Ø§Ø¯ Ù…ی‌کند.";
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "طول %1";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "بازگرداندن Ø¹Ø¯Ø¯ÛŒ Ø§Ø² Ø­Ø±ÙˆÙ (شامل Ùاصله‌ها) Ø¯Ø± Ù…تن Ùراهم‌شده.";
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "چاپ %1";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "چاپ Ù…تن، Ø¹Ø¯Ø¯ ÛŒØ§ Ù‡Ø± Ù…قدار Ø¯ÛŒÚ¯Ø± Ù…شخص‌شده.";
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "اعلان Ø¨Ø±Ø§ÛŒ Ú©Ø§Ø±Ø¨Ø± Ø¨Ø§ ÛŒÚ© Ø¹Ø¯Ø¯.";
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "اعلان Ø¨Ø±Ø§ÛŒ Ú©Ø§Ø±Ø¨Ø± Ø¨Ø±Ø§ÛŒ ÛŒÚ© Ù…تن.";
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "اعلان Ø¨Ø±Ø§ÛŒ Ø¹Ø¯Ø¯ Ø¨Ø§ Ù¾ÛŒØ§Ù…";
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "اعلان Ø¨Ø±Ø§ÛŒ Ù…تن Ø¨Ø§ Ù¾ÛŒØ§Ù…";
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";  // untranslated
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "درون %3ØŒ Ù…تن %1 Ø±Ø§ Ø¨Ø§ %2 Ø¬Ø§ÛŒÚ¯Ø²ÛŒÙ† Ú©Ù†";
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "جایگزین Ú©Ø±Ø¯Ù† ØªÙ…ام Ù…واردی Ú©Ù‡ Ø§Ø² Ù…تنی Ø¯Ø±ÙˆÙ† Ù…تن Ø¯ÛŒÚ¯Ø± ÙˆØ¬ÙˆØ¯ Ø¯Ø§Ø±Ø¯";
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";  // untranslated
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "معکوس %1";
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "چینش Ú©Ø§Ø±Ø§Ú©ØªØ±Ù‡Ø§ Ø¯Ø±ÙˆÙ† Ù…تن Ø±Ø§ Ø¨Ø±Ø¹Ú©Ø³ Ù…ی‌کند";
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://fa.wikipedia.org/wiki/%D8%B1%D8%B4%D8%AA%D9%87_%28%D8%B9%D9%84%D9%88%D9%85_%D8%B1%D8%A7%DB%8C%D8%A7%D9%86%D9%87%29";
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "یک Ø­Ø±ÙØŒ Ú©Ù„مه ÛŒØ§ Ø®Ø·ÛŒ Ø§Ø² Ù…تن.";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "تراشیدن Ùاصله‌ها Ø§Ø²  Ù‡Ø± Ø¯Ùˆ Ø·Ø±Ù";
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "تراشیدن Ùاصله‌ها Ø§Ø²  Ø·Ø±Ù Ú†Ù¾";
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "تراشیدن Ùاصله‌ها Ø§Ø²  Ø·Ø±Ù Ú†Ù¾";
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Ú©Ù¾ÛŒ Ø§Ø² Ù…تن Ø¨Ø§ Ùاصله‌های Ø­Ø°Ù‌شده Ø§Ø² ÛŒÚ© ÛŒØ§ Ù‡Ø± Ø¯Ùˆ Ù¾Ø§ÛŒØ§Ù† Ø¨Ø§Ø² Ù…ی‌گرداند.";
+Blockly.Msg["TODAY"] = "امروز";
+Blockly.Msg["UNDO"] = "واگردانی";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "مورد";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "درست‌کردن Â«ØªÙ†Ø¸ÛŒÙ… %1»";
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "مقدار Ø§ÛŒÙ† Ù…تغیر Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند.";
+Blockly.Msg["VARIABLES_SET"] = "مجموعه %1 Ø¨Ù‡ %2";
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "درست‌کردن Â«Ú¯Ø±Ùتن %1»";
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "متغیر Ø¨Ø±Ø§Ø¨Ø± Ø¨Ø§ Ø®Ø±ÙˆØ¬ÛŒ Ø±Ø§ Ù…شخص Ù…ی‌کند.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "متغیری Ø¨Ø§ Ù†Ø§Ù… '%1' Ù‡Ù… Ø§Ú©Ù†ÙˆÙ† ÙˆØ¬ÙˆØ¯ Ø¯Ø§Ø±Ø¯";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "در Ø­Ø§Ù„ Ø­Ø§Ø¶Ø± ÛŒÚ© Ù…تغیر Ø¨Ø§ Ù†Ø§Ù… '%1' Ø¨Ø±Ø§ÛŒ Ù…تغیر Ø¯ÛŒÚ¯Ø±ÛŒ Ø§Ø² Ù†ÙˆØ¹ '%2' ÙˆØ¬ÙˆØ¯ Ø¯Ø§Ø±Ø¯";
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something...";  // untranslated
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/fi.js b/js/msg/js/fi.js
new file mode 100644 (file)
index 0000000..805f1ba
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.fi');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "Lisää kommentti";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "Ei voida poistaa muuttujaa '%1' koska se on osa funktion määritelmää '%2'";
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "Muuta arvoa:";
+Blockly.Msg["CLEAN_UP"] = "Siivoa lohkot";
+Blockly.Msg["COLLAPSE_ALL"] = "Sulje lohkot";
+Blockly.Msg["COLLAPSE_BLOCK"] = "Sulje lohko";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "väri 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "väri 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";  // untranslated
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "suhde";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "sekoitus";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "Sekoittaa kaksi väriä keskenään annetussa suhteessa (0.0 - 1.0).";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://fi.wikipedia.org/wiki/V%C3%A4ri";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "Valitse väri paletista.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "satunnainen väri";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "Valitse väri sattumanvaraisesti.";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "sininen";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "vihreä";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";
+Blockly.Msg["COLOUR_RGB_RED"] = "punainen";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "väri, jossa on";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "Luo väri, jossa on tietty määrä punaista, vihreää ja sinistä. Kaikkien arvojen tulee olla välillä 0 - 100.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "poistu silmukasta";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "jatka silmukan seuraavaan toistoon";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "Poistu sisemmästä silmukasta.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "Ohita loput tästä silmukasta ja siirry seuraavaan toistoon.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "Varoitus: Tätä lohkoa voi käyttää vain silmukan sisällä.";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "kullekin kohteelle %1 listassa %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "Aseta muuttujan %1 arvoksi kukin listan kohde vuorollaan ja suorita joukko lausekkeita.";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "laske %1 Väli %2-%3 %4:n välein";
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "Aseta muuttujaan \"%1\" arvot alkuarvosta loppuarvoon annetun askeleen välein ja suorita joka askeleella annettu koodilohko.";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "Lisää ehto \"jos\" lohkoon.";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "Lisää lopullinen \"muuten\" lohko \"jos\" lohkoon.";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Lisää, poista tai järjestele osioita tässä \"jos\" lohkossa.";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "muuten";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "muuten jos";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "jos";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "Jos arvo on tosi, suorita lauseke.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "Jos arvo on tosi, suorita ensimmäinen lohko lausekkeita. Muuten suorita toinen lohko lausekkeita.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "Jos ensimmäinen arvo on tosi, suorita ensimmäinen lohko lausekkeita. Muuten, jos toinen arvo on tosi, suorita toinen lohko lausekkeita.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "Jos ensimmäinen arvo on tosi, suorita ensimmäinen lohko lausekkeita. Muuten, jos toinen arvo on tosi, suorita toinen lohko lausekkeita. Jos mikään arvoista ei ole tosi, suorita viimeinen lohko lausekkeita.";
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://en.wikipedia.org/wiki/For_loop";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "tee";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "toista %1 kertaa";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "Suorita joukko lausekkeita useampi kertaa.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "toista kunnes";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "toista niin kauan kuin";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "Niin kauan kuin arvo on epätosi, suorita joukko lausekkeita.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "Niin kauan kuin arvo on tosi, suorita joukko lausekkeita.";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "Poistetaanko kaikki %1 lohkoa?";
+Blockly.Msg["DELETE_BLOCK"] = "Poista lohko";
+Blockly.Msg["DELETE_VARIABLE"] = "Poista muuttuja '%1'";
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Poistetaanko %1 käyttöä muuttujalta '%2'?";
+Blockly.Msg["DELETE_X_BLOCKS"] = "Poista %1 lohkoa";
+Blockly.Msg["DISABLE_BLOCK"] = "Passivoi lohko";
+Blockly.Msg["DUPLICATE_BLOCK"] = "Kaksoiskappale";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicate Comment";  // untranslated
+Blockly.Msg["ENABLE_BLOCK"] = "Aktivoi lohko";
+Blockly.Msg["EXPAND_ALL"] = "Laajenna lohkot";
+Blockly.Msg["EXPAND_BLOCK"] = "Laajenna lohko";
+Blockly.Msg["EXTERNAL_INPUTS"] = "Ulkoiset syötteet";
+Blockly.Msg["HELP"] = "Apua";
+Blockly.Msg["INLINE_INPUTS"] = "Tuo syötteet";
+Blockly.Msg["IOS_CANCEL"] = "Peruuta";
+Blockly.Msg["IOS_ERROR"] = "Virhe";
+Blockly.Msg["IOS_OK"] = "OK";
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Lisää syöte";
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Salli selostukset";
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "Tällä toiminnolla on päällekkäisiä syöttöjä.";
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "SYÖTTEET";
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "Lisää";
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Lisää muuttuja";
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "Poista";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "Et voi käyttää tyhjää muuttujan nimeä.";
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Nimeä uudelleen";
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Muuttujan nimi";
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "Luo tyhjä lista";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Palauta tyhjä lista, pituus 0";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "lista";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Listää, poista tai järjestele uudestaan osioita tässä lohkossa.";
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "luo lista";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Lisää kohde listaan.";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Luo lista, jossa on mikä tahansa määrä kohteita.";
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "ensimmäinen";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "nro (lopusta laskien)";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "nro";
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "hae";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "hae ja poista";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "viimeinen";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "satunnainen";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "poista";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Palauta ensimmäinen kohde listalta.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Palauta kohde annetusta kohdasta listaa.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Palauttaa listan viimeisen kohteen.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Palauttaa satunnaisen kohteen listalta.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "Poistaa ja palauttaa ensimmäisen kohteen listalta.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "Poistaa ja palauttaa kohteen listan annetusta kohdasta.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "Poistaa ja palauttaa viimeisen kohteen listalta.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Poistaa ja palauttaa satunnaisen kohteen listalta.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "Poistaa ensimmäisen kohteen listalta.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "Poistaa kohteen listalta annetusta kohtaa.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "Poistaa viimeisen kohteen listalta.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Poistaa satunnaisen kohteen listalta.";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "päättyen kohtaan (lopusta laskien)";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "päättyen kohtaan";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "viimeinen";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "hae osalista alkaen alusta";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "hae osalista alkaen kohdasta (lopusta laskien)";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "hae osalista alkaen kohdasta";
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Luo kopio määrätystä kohden listaa.";
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "Numero %1 tarkoittaa listan viimeistä kohdetta.";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "Numero %1 tarkoittaa listan ensimmäistä kohdetta.";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "etsi ensimmäinen esiintymä kohteelle";
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "etsi viimeinen esiintymä kohteelle";
+Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "Palauttaa kohteen ensimmäisen/viimeisen esiintymän kohdan listassa. Palauttaa %1 jos kohdetta ei löydy.";
+Blockly.Msg["LISTS_INLIST"] = "listassa";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 on tyhjä";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Palauttaa tosi, jos lista on tyhjä.";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "%1:n pituus";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Palauttaa listan pituuden.";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "luo lista, jossa kohde %1 toistuu %2 kertaa";
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Luo listan, jossa annettu arvo toistuu määrätyn monta kertaa.";
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";  // untranslated
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Reverse a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "kohteeksi";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "lisää kohtaan";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "aseta";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Lisää kohteen listan kärkeen.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Lisää kohteen annettuun kohtaan listassa.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Lisää kohteen listan loppuun.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Lisää kohteen satunnaiseen kohtaan listassa.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Asettaa listan ensimmäisen kohteen.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Asettaa kohteen annettuun kohtaan listassa.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Asettaa listan viimeisen kohteen.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Asettaa satunnaisen kohteen listassa.";
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "nouseva";
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "laskeva";
+Blockly.Msg["LISTS_SORT_TITLE"] = "lajittele %1 %2 %3";
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Lajittele kopio luettelosta.";
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "aakkosjärjestyksessä, ohita kapitaalit";
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "numeerinen";
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "aakkosjärjestys";
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "tee lista tekstistä";
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "tee listasta teksti";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Yhdistä luettelon tekstit yhdeksi tekstiksi, erotettuina välimerkillä.";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Jaa teksti osiin erotinmerkin perusteella ja järjestä osat listaksi.";
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "erottimen kanssa";
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "epätosi";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "Palauttaa joko tosi tai epätosi.";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "tosi";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://fi.wikipedia.org/wiki/Ep%C3%A4yht%C3%A4l%C3%B6";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Palauta tosi, jos syötteet ovat keskenään samat.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Palauttaa tosi, jos ensimmäinen syöte on suurempi, kuin toinen.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Palauttaa tosi, jos ensimmäinen syöte on suurempi tai yhtä suuri, kuin toinen.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "Palauttaa tosi, jos ensimmäinen syöte on pienempi, kuin toinen.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "Palauttaa tosi, jos ensimmäinen syöte on pienempi tai yhtä suuri, kuin toinen.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "Palauttaa tosi, jos syötteet eivät ole keskenään samoja.";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "ei %1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "Palauttaa tosi, jos syöte on epätosi. Palauttaa epätosi, jos syöte on tosi.";
+Blockly.Msg["LOGIC_NULL"] = "ei mitään";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";  // untranslated
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "Palauttaa \"ei mitään\"-arvon.";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "ja";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "tai";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "Palauttaa tosi, jos kummatkin syötteet ovat tosia.";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "Palauttaa tosi, jos ainakin yksi syötteistä on tosi.";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "testi";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "jos epätosi";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "jos tosi";
+Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "Tarkistaa testin ehdon. Jos ehto on tosi, palauttaa \"jos tosi\" arvon, muuten palauttaa \"jos epätosi\" arvon.";
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "http://fi.wikipedia.org/wiki/Aritmetiikka";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Palauttaa kahden luvun summan.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Palauttaa jakolaskun osamäärän.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Palauttaa kahden luvun erotuksen.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Palauttaa kertolaskun tulon.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Palauttaa ensimmäisen luvun korotettuna toisen luvun potenssiin.";
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://fi.wikipedia.org/wiki/Yhteenlasku";
+Blockly.Msg["MATH_CHANGE_TITLE"] = "muuta %1 arvolla %2";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Lisää arvo muuttujaan '%1'.";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://en.wikipedia.org/wiki/Mathematical_constant";
+Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "Palauttaa jonkin seuraavista vakioista: Ï€ (3.141…), e (2.718…), Ï† (1.618…), neliöjuuri(2) (1.414…), neliöjuuri(½) (0.707…), or âˆž (ääretön).";
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "rajoita %1 vähintään %2 enintään %3";
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Rajoittaa arvon annetulle suljetulle välille.";
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "on jaollinen luvulla";
+Blockly.Msg["MATH_IS_EVEN"] = "on parillinen";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "on negatiivinen";
+Blockly.Msg["MATH_IS_ODD"] = "on pariton";
+Blockly.Msg["MATH_IS_POSITIVE"] = "on positiivinen";
+Blockly.Msg["MATH_IS_PRIME"] = "on alkuluku";
+Blockly.Msg["MATH_IS_TOOLTIP"] = "Tarkistaa onko numero parillinen, pariton, alkuluku, kokonaisluku, positiivinen, negatiivinen, tai jos se on jaollinen toisella luvulla. Palauttaa tosi tai epätosi.";
+Blockly.Msg["MATH_IS_WHOLE"] = "on kokonaisluku";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://en.wikipedia.org/wiki/Modulo_operation";
+Blockly.Msg["MATH_MODULO_TITLE"] = "%1 ÷ %2 jakojäännös";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Palauttaa jakolaskun jakojäännöksen.";
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "â‹…";
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://fi.wikipedia.org/wiki/Luku";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "Luku.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "keskiarvo luvuista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "suurin luvuista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "keskiluku luvuista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "pienin luvuista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "tyyppiarvo luvuista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "satunnainen valinta luvuista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "keskihajonta luvuista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "summa luvuista";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Palauttaa aritmeettisen keskiarvon annetuista luvuista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "Palauttaa suurimman annetuista luvuista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "Palauttaa annettujen lukujen keskiluvun.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "Palauttaa pienimmän annetuista luvuista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Palauttaa luettelon yleisimmistä luvuista annetussa listassa.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Palauttaa satunnaisesti valitun luvun annetuista luvuista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Palauttaa annettujen lukujen keskihajonnan.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Palauttaa kaikkien annettujen lukujen summan.";
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://fi.wikipedia.org/wiki/Satunnaisluku";
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "satunnainen murtoluku";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Palauttaa satunnaisen luvun oikealta puoliavoimesta välistä [0.0, 1.0).";
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://fi.wikipedia.org/wiki/Satunnaisluku";
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "Palauttaa satunnaisen kokonaisluvun väliltä %1-%2";
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Palauttaa satunnaisen kokonaisluvun kahden annetun arvon suljetulta väliltä.";
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://fi.wikipedia.org/wiki/Py%C3%B6rist%C3%A4minen";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "pyöristä";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "pyöristä alaspäin";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "pyöristä ylöspäin";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Pyöristää luvun ylös- tai alaspäin.";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://fi.wikipedia.org/wiki/Neli%C3%B6juuri";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "itseisarvo";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "neliöjuuri";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Palauttaa luvun itseisarvon.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Palauttaa e potenssiin luku.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "Palauttaa luvun luonnollisen logaritmin.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "Palauttaa luvun kymmenkantaisen logaritmin.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Palauttaa numeron vastaluvun.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Palauttaa 10 potenssiin luku.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Palauttaa luvun neliöjuuren.";
+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://fi.wikipedia.org/wiki/Trigonometrinen_funktio";
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Palauttaa luvun arkuskosinin.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Palauttaa luvun arkussinin.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Palauttaa luvun arkustangentin.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Palauttaa asteluvun (ei radiaanin) kosinin.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Palauttaa asteluvun (ei radiaanin) sinin.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Palauttaa asteluvun (ei radiaanin) tangentin.";
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Luo värimuuttuja...";
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Luo numeromuuttuja...";
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Luo merkkijonomuuttuja...";
+Blockly.Msg["NEW_VARIABLE"] = "Luo muuttuja...";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "Uuden muuttujan nimi:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "Uuden muuttujan tyyppi:";
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "salli kommentit";
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "parametrit:";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://fi.wikipedia.org/wiki/Aliohjelma";
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Suorittaa käyttäjän määrittelemä funktio '%1'.";
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://fi.wikipedia.org/wiki/Aliohjelma";
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Suorittaa käyttäjän määrittelemän funktion '%1' ja käyttää sen tuotosta.";
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "parametrit:";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "Luo '%1'";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Kuvaile tämä funktio...";
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "tee jotain";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "tehdäksesi";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Luo funktio, jolla ei ole tuotosta.";
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "palauta";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "Luo funktio, jolla ei ole tuotosta.";
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "Varoitus: tällä funktiolla on sama parametri useamman kerran.";
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "Korosta funktion määritelmä";
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "Jos arvo on tosi, palauta toinen arvo.";
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "Varoitus: tätä lohkoa voi käyttää vain funktion määrityksessä.";
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "syötteen nimi:";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Lisää sisääntulon funktioon.";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "syötteet";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Lisää, poista tai järjestele uudelleen tämän toiminnon tulot.";
+Blockly.Msg["REDO"] = "Tee uudelleen";
+Blockly.Msg["REMOVE_COMMENT"] = "Poista kommentti";
+Blockly.Msg["RENAME_VARIABLE"] = "Nimeä uudelleen muuttuja...";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Nimeä uudelleen kaikki '%1' muuttujaa:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "muuttujaan %1 lisää teksti %2";
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Lisää tekstiä muuttujaan '%1'.";
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "pienet kirjaimet";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "isot alkukirjaimet";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "isot kirjaimet";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Palauttaa kopion tekstistä eri kirjainkoossa.";
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "hae ensimmäinen kirjain";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "Hae kirjain nro (lopusta laskien)";
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "Hae kirjain nro";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "hae viimeinen kirjain";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "hae satunnainen kirjain";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "tekstissä %1 %2";
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Palauttaa annetussa kohdassa olevan kirjaimen.";
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";  // untranslated
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "laske määrä '%1' '%2' sisällä";
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Laske kuiunka monta kertaa jokin teksti esiintyy jossakin toisessa tekstissä.";
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Lisää kohteen tekstiin.";
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "liitä";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Lisää, poista tai uudelleen järjestä osioita tässä lohkossa.";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "kirjaimeen nro (lopusta laskien)";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "kirjaimeen nro";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "viimeiseen kirjaimeen";
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "merkkijonosta";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "hae osa alkaen ensimmäisestä kirjaimesta";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "hae osa alkaen kirjaimesta nro (lopusta laskien)";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "hae osa alkaen kirjaimesta nro";
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Palauttaa määrätyn osan tekstistä.";
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "etsi ensimmäinen esiintymä merkkijonolle";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "etsi viimeinen esiintymä merkkijonolle";
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "tekstissä %1 %2 %3";
+Blockly.Msg["TEXT_INDEXOF_TOOLTIP"] = "Palauttaa ensin annetun tekstin ensimmäisen/viimeisen esiintymän osoitteen toisessa tekstissä. Palauttaa osoitteen %1 jos tekstiä ei löytynyt.";
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 on tyhjä";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Palauttaa tosi, jos annettu teksti on tyhjä.";
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "luo teksti";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Luo merkkijonon liittämällä yhteen minkä tahansa määrän kohteita.";
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "%1:n pituus";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Palauttaa annetussa tekstissä olevien merkkien määrän (välilyönnit mukaan lukien).";
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "tulosta %1";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Tulostaa annetun tekstin, numeron tai muun arvon.";
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Kehottaa käyttäjää syöttämään numeron.";
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Kehottaa käyttäjää syöttämään tekstiä.";
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "käyttäen annettua viestiä, kehottaa syöttämään numeron";
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "käyttäen annettua viestiä, kehottaa syöttämään tekstiä";
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";  // untranslated
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "replace %1 with %2 in %3";  // untranslated
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Replace all occurances of some text within some other text.";  // untranslated
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";  // untranslated
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "%1 takaperin";
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Muuttaa tekstin kirjainten järjestyksen toisin päin.";
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://fi.wikipedia.org/wiki/Merkkijono";
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "Kirjain, sana tai rivi tekstiä.";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "poistaa välilyönnit kummaltakin puolelta";
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "poistaa välilyönnit vasemmalta puolelta";
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "poistaa välilyönnit oikealta puolelta";
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Palauttaa kopion tekstistä siten, että välilyönnit on poistettu yhdestä tai molemmista päistä.";
+Blockly.Msg["TODAY"] = "Tänään";
+Blockly.Msg["UNDO"] = "Kumoa";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "kohde";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Luo 'aseta %1'";
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Palauttaa muuttujan arvon.";
+Blockly.Msg["VARIABLES_SET"] = "aseta %1 arvoksi %2";
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Luo 'hae %1'";
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Asettaa muutujan arvoksi annetun syötteen.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "Muuttuja nimeltään '%1' jo olemassa.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "Muuttuja nimeltä '%1' on jo olemassa toiselle tyypille: '%2'.";
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something...";  // untranslated
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/fr.js b/js/msg/js/fr.js
new file mode 100644 (file)
index 0000000..16b96a8
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.fr');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "Ajouter un commentaire";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "Impossible de supprimer la variable '%1' parce qu’elle fait partie de la définition de la fonction '%2'";
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "Modifier la valeur :";
+Blockly.Msg["CLEAN_UP"] = "Nettoyer les blocs";
+Blockly.Msg["COLLAPSE_ALL"] = "Réduire les blocs";
+Blockly.Msg["COLLAPSE_BLOCK"] = "Réduire le bloc";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "couleur 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "couleur 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "taux";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "mélanger";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "Mélange deux couleurs dans une proportion donnée (de 0.0 à 1.0).";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://fr.wikipedia.org/wiki/Couleur";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "Choisir une couleur dans la palette.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "couleur aléatoire";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "Choisir une couleur au hasard.";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "bleu";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "vert";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";
+Blockly.Msg["COLOUR_RGB_RED"] = "rouge";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "colorier en";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "Créer une couleur avec la quantité spécifiée de rouge, vert et bleu. Les valeurs doivent être comprises entre 0 et 100.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "quitter la boucle";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "passer Ã  l’itération de boucle suivante";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "Sortir de la boucle englobante.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "Sauter le reste de cette boucle, et poursuivre avec l’itération suivante.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "Attention : Ce bloc ne devrait être utilisé que dans une boucle.";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "pour chaque élément %1 dans la liste %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "Pour chaque Ã©lément d’une liste, assigner la valeur de l’élément Ã  la variable '%1', puis exécuter des instructions.";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "compter avec %1 de %2 à %3 par %4";
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "Faire prendre Ã  la variable Â«â€¯%1 » les valeurs depuis le nombre de début jusqu’au nombre de fin, en s’incrémentant du pas spécifié, et exécuter les instructions spécifiées.";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "Ajouter une condition au bloc si.";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "Ajouter une condition finale fourre-tout au bloc si.";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Ajouter, supprimer ou réordonner les sections pour reconfigurer ce bloc si.";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "sinon";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "sinon si";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "si";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "Si une valeur est vraie, alors exécuter certains ordres.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "Si une valeur est vraie, alors exécuter le premier bloc d’ordres. Sinon, exécuter le second bloc d’ordres.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "Si la première valeur est vraie, alors exécuter le premier bloc d’ordres. Sinon, si la seconde valeur est vraie, exécuter le second bloc d’ordres.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "Si la première valeur est vraie, alors exécuter le premier bloc d’ordres. Sinon, si la seconde valeur est vraie, exécuter le second bloc d’ordres. Si aucune des valeurs n’est vraie, exécuter le dernier bloc d’ordres.";
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "http://fr.wikipedia.org/wiki/Boucle_for";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "faire";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "répéter %1 fois";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "Exécuter des instructions plusieurs fois.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "répéter jusqu’à";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "répéter tant que";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "Tant qu’une valeur est fausse, alors exécuter des instructions.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "Tant qu’une valeur est vraie, alors exécuter des instructions.";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "Supprimer ces %1 blocs ?";
+Blockly.Msg["DELETE_BLOCK"] = "Supprimer le bloc";
+Blockly.Msg["DELETE_VARIABLE"] = "Supprimer la variable '%1'";
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Supprimer %1 utilisations de la variable '%2' ?";
+Blockly.Msg["DELETE_X_BLOCKS"] = "Supprimer %1 blocs";
+Blockly.Msg["DISABLE_BLOCK"] = "Désactiver le bloc";
+Blockly.Msg["DUPLICATE_BLOCK"] = "Dupliquer";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Dupliquer le commentaire";
+Blockly.Msg["ENABLE_BLOCK"] = "Activer le bloc";
+Blockly.Msg["EXPAND_ALL"] = "Développer les blocs";
+Blockly.Msg["EXPAND_BLOCK"] = "Développer le bloc";
+Blockly.Msg["EXTERNAL_INPUTS"] = "Entrées externes";
+Blockly.Msg["HELP"] = "Aide";
+Blockly.Msg["INLINE_INPUTS"] = "Entrées en ligne";
+Blockly.Msg["IOS_CANCEL"] = "Annuler";
+Blockly.Msg["IOS_ERROR"] = "Erreur";
+Blockly.Msg["IOS_OK"] = "OK";
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Ajouter une entrée";
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Ordres autorisés";
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "Cette fonction a des entrées dupliquées.";
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "ENTRÉES";
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "Ajouter";
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Ajouter une variable";
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "Supprimer";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "Vous ne pouvez pas utiliser un nom de variable vide.";
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Renommer";
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Nom de la variable";
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "créer une liste vide";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Renvoyer une liste, de longueur 0, ne contenant aucun enregistrement";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "liste";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Ajouter, supprimer, ou réordonner les sections pour reconfigurer ce bloc de liste.";
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "créer une liste avec";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Ajouter un élément à la liste.";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Créer une liste avec un nombre quelconque d’éléments.";
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "premier";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "# depuis la fin";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "obtenir";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "obtenir et supprimer";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "dernier";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "aléatoire";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "supprimer";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Renvoie le premier élément dans une liste.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Renvoie l’élément Ã  la position indiquée dans une liste.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Renvoie le dernier élément dans une liste.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Renvoie un élément au hasard dans une liste.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "Supprime et renvoie le premier élément dans une liste.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "Supprime et renvoie l’élément Ã  la position indiquée dans une liste.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "Supprime et renvoie le dernier élément dans une liste.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Supprime et renvoie un élément au hasard dans une liste.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "Supprime le premier élément dans une liste.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "Supprime l’élément Ã  la position indiquée dans une liste.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "Supprime le dernier élément dans une liste.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Supprime un élément au hasard dans une liste.";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "jusqu’à # depuis la fin";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "jusqu’à #";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "jusqu’à la fin";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "obtenir la sous-liste depuis le début";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "obtenir la sous-liste depuis # depuis la fin";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "obtenir la sous-liste depuis #";
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Crée une copie de la partie spécifiée d’une liste.";
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 est le dernier élément.";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 est le premier élément.";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "trouver la première occurrence de l’élément";
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "trouver la dernière occurrence de l’élément";
+Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "Renvoie l’index de la première/dernière occurrence de l’élément dans la liste. Renvoie %1 si l'élément n'est pas trouvé.";
+Blockly.Msg["LISTS_INLIST"] = "dans la liste";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 est vide";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Renvoie vrai si la liste est vide.";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "longueur de %1";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Renvoie la longueur d’une liste.";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "créer une liste avec l’élément %1 répété %2 fois";
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Crée une liste consistant en la valeur fournie répétée le nombre de fois indiqué.";
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "inverser %1";
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Inverser la copie d’une liste.";
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "comme";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "insérer en";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "mettre";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Insère l’élément au début d’une liste.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Insère l’élément Ã  la position indiquée dans une liste.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Ajouter l’élément Ã  la fin d’une liste.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Insère l’élément au hasard dans une liste.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Fixe le premier élément dans une liste.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Met Ã  jour l’élément Ã  la position indiquée dans une liste.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Fixe le dernier élément dans une liste.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Fixe un élément au hasard dans une liste.";
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "croissant";
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "décroissant";
+Blockly.Msg["LISTS_SORT_TITLE"] = "trier %1 %2 %3";
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Trier une copie d’une liste.";
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "alphabétique, en ignorant la casse";
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "numérique";
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "alphabétique";
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "créer une liste depuis le texte";
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "créer un texte depuis la liste";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Réunir une liste de textes en un seul, en les séparant par un séparateur.";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Couper un texte en une liste de textes, en coupant à chaque séparateur.";
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "avec le séparateur";
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "faux";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "Renvoie soit vrai soit faux.";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "vrai";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://fr.wikipedia.org/wiki/Inegalite_(mathematiques)";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Renvoyer vrai si les deux entrées sont égales.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Renvoyer vrai si la première entrée est plus grande que la seconde.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Renvoyer vrai si la première entrée est plus grande ou égale à la seconde.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "Renvoyer vrai si la première entrée est plus petite que la seconde.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "Renvoyer vrai si la première entrée est plus petite ou égale à la seconde.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "Renvoyer vrai si les deux entrées sont différentes.";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "pas %1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "Renvoie vrai si l’entrée est fausse. Renvoie faux si l’entrée est vraie.";
+Blockly.Msg["LOGIC_NULL"] = "nul";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "Renvoie nul.";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "et";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "ou";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "Renvoyer vrai si les deux entrées sont vraies.";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "Renvoyer vrai si au moins une des entrées est vraie.";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "test";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "si faux";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "si vrai";
+Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "Vérifier la condition dans 'test'. Si elle est vraie, renvoie la valeur 'si vrai' ; sinon renvoie la valeur 'si faux'.";
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://fr.wikipedia.org/wiki/Arithmetique";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Renvoie la somme des deux nombres.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Renvoie le quotient des deux nombres.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Renvoie la différence des deux nombres.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Renvoie le produit des deux nombres.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Renvoie le premier nombre élevé à la puissance du second.";
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";
+Blockly.Msg["MATH_CHANGE_TITLE"] = "incrémenter %1 de %2";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Ajouter un nombre à la variable '%1'.";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://en.wikipedia.org/wiki/Mathematical_constant";
+Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "Renvoie une des constantes courantes : Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), ou âˆž (infini).";
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "contraindre %1 entre %2 et %3";
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Contraindre un nombre à être entre les limites spécifiées (incluses).";
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";  // untranslated
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "est divisible par";
+Blockly.Msg["MATH_IS_EVEN"] = "est pair";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "est négatif";
+Blockly.Msg["MATH_IS_ODD"] = "est impair";
+Blockly.Msg["MATH_IS_POSITIVE"] = "est positif";
+Blockly.Msg["MATH_IS_PRIME"] = "est premier";
+Blockly.Msg["MATH_IS_TOOLTIP"] = "Vérifier si un nombre est pair, impair, premier, entier, positif, négatif, ou s’il est divisible par un certain nombre. Renvoie vrai ou faux.";
+Blockly.Msg["MATH_IS_WHOLE"] = "est entier";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://en.wikipedia.org/wiki/Modulo_operation";
+Blockly.Msg["MATH_MODULO_TITLE"] = "reste de %1 ÷ %2";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Renvoyer le reste de la division euclidienne des deux nombres.";
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";  // untranslated
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://fr.wikipedia.org/wiki/Nombre";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "Un nombre.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "moyenne de la liste";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "maximum de la liste";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "médiane de la liste";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "minimum de la liste";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "majoritaires de la liste";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "élément aléatoire de la liste";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "écart-type de la liste";
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "somme de la liste";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Renvoyer la moyenne (arithmétique) des valeurs numériques dans la liste.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "Renvoyer le plus grand nombre dans la liste.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "Renvoyer le nombre médian de la liste.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "Renvoyer le plus petit nombre dans la liste.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Renvoyer une liste des élément(s) le(s) plus courant(s) dans la liste.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Renvoyer un élément dans la liste au hasard.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Renvoyer l’écart-type de la liste.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Renvoyer la somme de tous les nombres dans la liste.";
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "fraction aléatoire";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Renvoyer une fraction aléatoire entre 0.0 (inclus) et 1.0 (exclus).";
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "entier aléatoire entre %1 et %2";
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Renvoyer un entier aléatoire entre les deux limites spécifiées, incluses.";
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://en.wikipedia.org/wiki/Rounding";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "arrondir";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "arrondir par défaut";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "arrondir par excès";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Arrondir un nombre au-dessus ou au-dessous.";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://fr.wikipedia.org/wiki/Racine_carree";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "valeur absolue";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "racine carrée";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Renvoie la valeur absolue d’un nombre.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Renvoie e Ã  la puissance d’un nombre.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "Renvoie le logarithme naturel d’un nombre.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "Renvoie le logarithme décimal d’un nombre.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Renvoie l’opposé d’un nombre";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Renvoie 10 Ã  la puissance d’un nombre.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Renvoie la racine carrée d’un nombre.";
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";  // untranslated
+Blockly.Msg["MATH_TRIG_ACOS"] = "acos";  // untranslated
+Blockly.Msg["MATH_TRIG_ASIN"] = "asin";  // untranslated
+Blockly.Msg["MATH_TRIG_ATAN"] = "atan";  // untranslated
+Blockly.Msg["MATH_TRIG_COS"] = "cos";  // untranslated
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://en.wikipedia.org/wiki/Trigonometric_functions";
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";  // untranslated
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Renvoie l’arccosinus d’un nombre.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Renvoie l’arcsinus d’un nombre.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Renvoie l’arctangente d’un nombre.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Renvoie le cosinus d’un angle en degrés (pas en radians).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Renvoie le sinus d’un angle en degrés (pas en radians).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Renvoie la tangente d’un angle en degrés (pas en radians).";
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Créer une variable couleur…";
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Créer une variable nombre…";
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Créer une variable chaîne…";
+Blockly.Msg["NEW_VARIABLE"] = "Créer une variable...";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "Le nom de la nouvelle variable :";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "Nouveau type de variable :";
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "autoriser les ordres";
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "avec :";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://fr.wikipedia.org/wiki/Sous-programme";
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Exécuter la fonction '%1' définie par l’utilisateur.";
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://fr.wikipedia.org/wiki/Sous-programme";
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Exécuter la fonction '%1' définie par l’utilisateur et utiliser son résultat.";
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "avec :";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "Créer '%1'";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Décrire cette fonction…";
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "faire quelque chose";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "pour";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Crée une fonction sans sortie.";
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "retour";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "Crée une fonction avec une sortie.";
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "Attention : Cette fonction a des paramètres en double.";
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "Surligner la définition de la fonction";
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "Si une valeur est vraie, alors renvoyer une seconde valeur.";
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "Attention : Ce bloc pourrait n’être utilisé que dans une définition de fonction.";
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "nom de l’entrée :";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Ajouter une entrée à la fonction.";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "entrées";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Ajouter, supprimer, ou réarranger les entrées de cette fonction.";
+Blockly.Msg["REDO"] = "Refaire";
+Blockly.Msg["REMOVE_COMMENT"] = "Supprimer un commentaire";
+Blockly.Msg["RENAME_VARIABLE"] = "Renommer la variable…";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Renommer toutes les variables « %1 » en :";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "ajouter le texte %2 à %1";
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Ajouter du texte à la variable '%1'.";
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "en minuscules";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "en Majuscule Au Début De Chaque Mot";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "en MAJUSCULES";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Renvoyer une copie du texte dans une autre casse.";
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "obtenir la première lettre";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "obtenir la lettre # depuis la fin";
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "obtenir la lettre #";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "obtenir la dernière lettre";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "obtenir une lettre au hasard";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "dans le texte %1 %2";
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Renvoie la lettre à la position indiquée.";
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "nombre %1 sur %2";
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Compter combien de fois un texte donné apparait dans un autre.";
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Ajouter un élément au texte.";
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "joindre";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Ajouter, supprimer, ou réordonner des sections pour reconfigurer ce bloc de texte.";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "jusqu’à la lettre # depuis la fin";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "jusqu’à la lettre #";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "jusqu’à la dernière lettre";
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "dans le texte";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "obtenir la sous-chaîne depuis la première lettre";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "obtenir la sous-chaîne depuis la lettre # depuis la fin";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "obtenir la sous-chaîne depuis la lettre #";
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Renvoie une partie indiquée du texte.";
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "trouver la première occurrence de la chaîne";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "trouver la dernière occurrence de la chaîne";
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "dans le texte %1 %2 %3";
+Blockly.Msg["TEXT_INDEXOF_TOOLTIP"] = "Renvoie l’index de la première/dernière occurrence de la première chaîne dans la seconde. Renvoie %1 si la chaîne n’est pas trouvée.";
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 est vide";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Renvoie vrai si le texte fourni est vide.";
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "créer un texte avec";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Créer un morceau de texte en agrégeant un nombre quelconque d’éléments.";
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "longueur de %1";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Renvoie le nombre de lettres (espaces compris) dans le texte fourni.";
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "afficher %1";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Afficher le texte, le nombre ou une autre valeur spécifié.";
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Demander un nombre Ã  l’utilisateur.";
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Demander un texte Ã  l’utilisateur.";
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "invite pour un nombre avec un message";
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "invite pour un texte avec un message";
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "remplacer %1 par %2 dans %3";
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Remplacer toutes les occurrences d’un texte par un autre.";
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "inverser %1";
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Inverse l’ordre des caractères dans le texte.";
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://en.wikipedia.org/wiki/String_(computer_science)";
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "Une lettre, un mot ou une ligne de texte.";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "supprimer les espaces des deux côtés";
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "supprimer les espaces du côté gauche";
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "supprimer les espaces du côté droit";
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Renvoyer une copie du texte avec les espaces supprimés d’un bout ou des deux.";
+Blockly.Msg["TODAY"] = "Aujourd'hui";
+Blockly.Msg["UNDO"] = "Annuler";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "élément";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Créer 'fixer %1'";
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Renvoie la valeur de cette variable.";
+Blockly.Msg["VARIABLES_SET"] = "fixer %1 à %2";
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Créer 'obtenir %1'";
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Fixe cette variable pour qu’elle soit Ã©gale Ã  la valeur de l’entrée.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "Une variable appelée '%1' existe déjà.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "Une variable nommée '%1' existe déjà pour un autre type : '%2'.";
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Dire quelque chose…";
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/gl.js b/js/msg/js/gl.js
new file mode 100644 (file)
index 0000000..7bb55dd
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.gl');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "Engadir un comentario";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "Can't delete the variable '%1' because it's part of the definition of the function '%2'";  // untranslated
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "Cambiar o valor:";
+Blockly.Msg["CLEAN_UP"] = "Limpar os bloques";
+Blockly.Msg["COLLAPSE_ALL"] = "Contraer os bloques";
+Blockly.Msg["COLLAPSE_BLOCK"] = "Contraer o bloque";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "cor 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "cor 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";  // untranslated
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "proporción";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "mesturar";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "Mestura dúas cores ca proporción indicada (0.0 - 1.0).";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://gl.wikipedia.org/wiki/Cor";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "Escolle unha cor da paleta.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "cor ó chou";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "Escolle unha cor ao chou.";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "azul";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "verde";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";  // untranslated
+Blockly.Msg["COLOUR_RGB_RED"] = "vermello";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "colorar con";
+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.";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "break out of loop";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "continue with next iteration of loop";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "Break out of the containing loop.";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "Skip the rest of this loop, and continue with the next iteration.";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "Warning: This block may only be used within a loop.";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "for each item %1 in list %2";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "For each item in a list, set the variable '%1' to the item, and then do some statements.";  // untranslated
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "count with %1 from %2 to %3 by %4";  // untranslated
+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.";  // untranslated
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "Add a condition to the if block.";  // untranslated
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "Add a final, catch-all condition to the if block.";  // untranslated
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this if block.";  // untranslated
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "senón";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "mais se";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "se";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "If a value is true, then do some statements.";  // untranslated
+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.";  // untranslated
+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.";  // untranslated
+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.";  // untranslated
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://en.wikipedia.org/wiki/For_loop";  // untranslated
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "facer";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "repeat %1 times";  // untranslated
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "Faga algunhas instrucións varias veces.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "repetir ata";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "repetir mentres";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "While a value is false, then do some statements.";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "While a value is true, then do some statements.";  // untranslated
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "Queres eliminar os %1 bloques?";
+Blockly.Msg["DELETE_BLOCK"] = "Borrar o bloque";
+Blockly.Msg["DELETE_VARIABLE"] = "Delete the '%1' variable";  // untranslated
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Delete %1 uses of the '%2' variable?";  // untranslated
+Blockly.Msg["DELETE_X_BLOCKS"] = "Borrar %1 bloques";
+Blockly.Msg["DISABLE_BLOCK"] = "Desactivar o bloque";
+Blockly.Msg["DUPLICATE_BLOCK"] = "Duplicar";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicate Comment";  // untranslated
+Blockly.Msg["ENABLE_BLOCK"] = "Activar o bloque";
+Blockly.Msg["EXPAND_ALL"] = "Expandir os bloques";
+Blockly.Msg["EXPAND_BLOCK"] = "Expandir o bloque";
+Blockly.Msg["EXTERNAL_INPUTS"] = "Entradas externas";
+Blockly.Msg["HELP"] = "Axuda";
+Blockly.Msg["INLINE_INPUTS"] = "Entradas en liña";
+Blockly.Msg["IOS_CANCEL"] = "Cancelar";
+Blockly.Msg["IOS_ERROR"] = "Erro";
+Blockly.Msg["IOS_OK"] = "Feito";
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Engadir entrada";
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Permitir declaracións";
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "Esta función ten entradas duplicadas.";
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "ENTRADAS";
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "Engadir";
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Engadir variábel";
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "Eliminar";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "You can't use an empty variable name.";  // untranslated
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Renomear";
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Nome da variábel";
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "create empty list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Returns a list, of length 0, containing no data records";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "listaxe";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this list block.";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "create list with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Add an item to the list.";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Create a list with any number of items.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "primeiro";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "# from end";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "get";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "get and remove";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "derradeiro";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "ó chou";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "remove";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Returns the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Returns the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Returns the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Returns a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "Removes and returns the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "Removes and returns the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "Removes and returns the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Removes and returns a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "Removes the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "Removes the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "Removes the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Removes a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "to # from end";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "to #";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "to last";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "get sub-list from first";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "get sub-list from # from end";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "get sub-list from #";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Creates a copy of the specified portion of a list.";  // untranslated
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 é o derradeiro elemento.";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 é o primeiro elemento.";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "find first occurrence of item";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "find last occurrence of item";  // untranslated
+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.";  // untranslated
+Blockly.Msg["LISTS_INLIST"] = "na listaxe";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 atópase baleira";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Retona verdadeiro se a listaxe atópase baleira.";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "length of %1";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Returns the length of a list.";  // untranslated
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "create list with item %1 repeated %2 times";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Creates a list consisting of the given value repeated the specified number of times.";  // untranslated
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";  // untranslated
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Reverse a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "como";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "inserir en";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "definir";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Inserts the item at the start of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Inserts the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Append the item to the end of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Inserts the item randomly in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Sets the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Sets the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Sets the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Sets a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";  // untranslated
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "ascendente";
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "descendente";
+Blockly.Msg["LISTS_SORT_TITLE"] = "sort %1 %2 %3";  // untranslated
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Ordear unha copia dunha listaxe.";
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "alfabética, iñorar maiúsculas/minúsculas";
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "numérica";
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "alfabética";
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "make list from text";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "make text from list";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Join a list of texts into one text, separated by a delimiter.";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Split text into a list of texts, breaking at each delimiter.";  // untranslated
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "with delimiter";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "falso";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "Returns either true or false.";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "verdadeiro";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://en.wikipedia.org/wiki/Inequality_(mathematics)";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Return true if both inputs equal each other.";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Return true if the first input is greater than the second input.";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Return true if the first input is greater than or equal to the second input.";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "Return true if the first input is smaller than the second input.";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "Return true if the first input is smaller than or equal to the second input.";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "Return true if both inputs are not equal to each other.";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "non %1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "Returns true if the input is false. Returns false if the input is true.";  // untranslated
+Blockly.Msg["LOGIC_NULL"] = "nulo";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";  // untranslated
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "Retornar nulo.";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "e";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "ou";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "Return true if both inputs are true.";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "Return true if at least one of the inputs is true.";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "proba";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "se falso";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "se verdadeiro";
+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.";  // untranslated
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://gl.wikipedia.org/wiki/Aritmética";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Retorna a suma de dous números.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Retorna o cociente da división de dous números.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Retorna a diferenza de dous números.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Retorna o produto de dous números.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Retorna o primeiro número elevado á potencia do segundo número.";
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";  // untranslated
+Blockly.Msg["MATH_CHANGE_TITLE"] = "mudar %1 por %2";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Suma un número á variábel '%1'.";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://gl.wikipedia.org/wiki/Constante_matemática";
+Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "Retorna unha das constantes comúns: Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), ou âˆž (infinito).";
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "constrain %1 low %2 high %3";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Constrain a number to be between the specified limits (inclusive).";  // untranslated
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";  // untranslated
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "é divisíbel por";
+Blockly.Msg["MATH_IS_EVEN"] = "é par";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "é negativo";
+Blockly.Msg["MATH_IS_ODD"] = "é impar";
+Blockly.Msg["MATH_IS_POSITIVE"] = "é positivo";
+Blockly.Msg["MATH_IS_PRIME"] = "é primo";
+Blockly.Msg["MATH_IS_TOOLTIP"] = "Verifica se un número é par, impar, primo, enteiro, positivo, negativo, ou se é divisíbel por outro número.  Retorna verdadeiro ou falso.";
+Blockly.Msg["MATH_IS_WHOLE"] = "é enteiro";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://en.wikipedia.org/wiki/Modulo_operation";  // untranslated
+Blockly.Msg["MATH_MODULO_TITLE"] = "remainder of %1 ÷ %2";  // untranslated
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Return the remainder from dividing the two numbers.";  // untranslated
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";  // untranslated
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://en.wikipedia.org/wiki/Number";  // untranslated
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "Un número.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "media dunha listaxe";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "maior dunha listaxe";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "median of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "menor dunha listaxe";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "modes of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "random item of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "standard deviation of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "suma da listaxe";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Return the average (arithmetic mean) of the numeric values in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "Retorna o maior número da listaxe";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "Return the median number in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "Retorna o menor número da listaxe.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Return a list of the most common item(s) in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Return a random element from the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Return the standard deviation of the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Retorna a suma de tódolos números da listaxe.";
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "random fraction";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Return a random fraction between 0.0 (inclusive) and 1.0 (exclusive).";  // untranslated
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";  // untranslated
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "random integer from %1 to %2";  // untranslated
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Return a random integer between the two specified limits, inclusive.";  // untranslated
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://gl.wikipedia.org/wiki/Arredondamento";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "arredonda";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "arredonda cara abaixo";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "arredonda cara arriba";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Arredonda un número cara enriba ou cara abaixo.";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://gl.wikipedia.org/wiki/Raíz_cadrada";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "absoluto";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "raíz cadrada";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Retorna o valor absoluto dun número.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Retorna o número e elevado á potencia dun número.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "Retorna o logarítmo natural dun número.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "Retorna o logarítmo en base 10 dun número.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Retorna o oposto dun número.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Retorna 10 elevado á potencia dun número.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Retorna a raíz cadrada dun número.";
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";  // untranslated
+Blockly.Msg["MATH_TRIG_ACOS"] = "acos";  // untranslated
+Blockly.Msg["MATH_TRIG_ASIN"] = "asin";  // untranslated
+Blockly.Msg["MATH_TRIG_ATAN"] = "atan";  // untranslated
+Blockly.Msg["MATH_TRIG_COS"] = "cos";  // untranslated
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://gl.m.wikipedia.org/wiki/Función_trigonométrica";
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";  // untranslated
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Retorna o arco coseno dun número.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Retorna o arco seno dum número.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Retorna o arco tanxente dun número.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Retorna o coseno dun grao (non radiano).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Retorna o seno dun grao (non radiano).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Retorna a tanxente dun grao (non radiano).";
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Create colour variable...";  // untranslated
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Create number variable...";  // untranslated
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Create string variable...";  // untranslated
+Blockly.Msg["NEW_VARIABLE"] = "Crear a variable...";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "Nome da nova variable:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "New variable type:";  // untranslated
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "allow statements";  // untranslated
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "con:";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Run the user-defined function '%1'.";  // untranslated
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Run the user-defined function '%1' and use its output.";  // untranslated
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "con:";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "Create '%1'";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Describe this function...";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "facer algo";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "cara";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Creates a function with no output.";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "retornar";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "Creates a function with an output.";  // untranslated
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "Warning: This function has duplicate parameters.";  // untranslated
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "Highlight function definition";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "If a value is true, then return a second value.";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "Warning: This block may be used only within a function definition.";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "input name:";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Add an input to the function.";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "entradas";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Add, remove, or reorder inputs to this function.";  // untranslated
+Blockly.Msg["REDO"] = "Refacer";
+Blockly.Msg["REMOVE_COMMENT"] = "Eliminar o comentario";
+Blockly.Msg["RENAME_VARIABLE"] = "Renomear a variable...";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Renomear todas as variables \"%1\" a:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "to %1 append text %2";  // untranslated
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Append some text to variable '%1'.";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "to lower case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "to Title Case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "to UPPER CASE";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Return a copy of the text in a different case.";  // untranslated
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "get first letter";  // untranslated
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "get letter # from end";  // untranslated
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "get letter #";  // untranslated
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "get last letter";  // untranslated
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "get random letter";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "in text %1 %2";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Returns the letter at the specified position.";  // untranslated
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";  // untranslated
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "count %1 in %2";  // untranslated
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Count how many times some text occurs within some other text.";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Add an item to the text.";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "unir";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this text block.";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "to letter # from end";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "to letter #";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "to last letter";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "no texto";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "get substring from first letter";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "get substring from letter # from end";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "get substring from letter #";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Returns a specified portion of the text.";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "find first occurrence of text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "find last occurrence of text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "in text %1 %2 %3";  // untranslated
+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.";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 is empty";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Returns true if the provided text is empty.";  // untranslated
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "create text with";  // untranslated
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Create a piece of text by joining together any number of items.";  // untranslated
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "length of %1";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Returns the number of letters (including spaces) in the provided text.";  // untranslated
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "imprime %1";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Print the specified text, number or other value.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Prompt for user for a number.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Prompt for user for some text.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "prompt for number with message";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "prompt for text with message";  // untranslated
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";  // untranslated
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "replace %1 with %2 in %3";  // untranslated
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Replace all occurances of some text within some other text.";  // untranslated
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";  // untranslated
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Reverses the order of the characters in the text.";  // untranslated
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://en.wikipedia.org/wiki/String_(computer_science)";  // untranslated
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "A letter, word, or line of text.";  // untranslated
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "trim spaces from both sides of";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "trim spaces from left side of";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "trim spaces from right side of";  // untranslated
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Return a copy of the text with spaces removed from one or both ends.";  // untranslated
+Blockly.Msg["TODAY"] = "Hoxe";
+Blockly.Msg["UNDO"] = "Desfacer";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "elemento";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Create 'set %1'";  // untranslated
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Returns the value of this variable.";  // untranslated
+Blockly.Msg["VARIABLES_SET"] = "set %1 to %2";  // untranslated
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Create 'get %1'";  // untranslated
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Sets this variable to be equal to the input.";  // untranslated
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "A variable named '%1' already exists.";  // untranslated
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "A variable named '%1' already exists for another type: '%2'.";  // untranslated
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something...";  // untranslated
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/gor.js b/js/msg/js/gor.js
new file mode 100644 (file)
index 0000000..91c61d5
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.gor');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "Moduhenga tuladu";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "Can't delete the variable '%1' because it's part of the definition of the function '%2'";  // untranslated
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "Ubawa nilai";
+Blockly.Msg["CLEAN_UP"] = "Clean up Blocks";  // untranslated
+Blockly.Msg["COLLAPSE_ALL"] = "Mohe'uto Blok";
+Blockly.Msg["COLLAPSE_BLOCK"] = "Mohe'uto Blok";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "laku 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "laku 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";  // untranslated
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "rasio";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "Ulawuwa";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "Mongulawu dulo laku pe'eenta wolo rasio (0.0-1.0)";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://en.wikipedia.org/wiki/Laku";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "Piliya laku lonto daputari lo laku";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "Laku acak";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "Piliya laku acak";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "wahu'ente";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "moyidu";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";  // untranslated
+Blockly.Msg["COLOUR_RGB_RED"] = "meela";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "wolo laku";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "Pohutuwa laku wolo jumula u tilantu monto u meela, moyidu wawu wahu'ente. Nga'amila musi o woolota 0 wawu 100";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "Mokaluwari lonto u'uulangiya";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "continue with next iteration of loop";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "Break out of the containing loop.";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "Skip the rest of this loop, and continue with the next iteration.";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "Warning: This block may only be used within a loop.";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "for each item %1 in list %2";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "For each item in a list, set the variable '%1' to the item, and then do some statements.";  // untranslated
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "count with %1 from %2 to %3 by %4";  // untranslated
+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.";  // untranslated
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "Add a condition to the if block.";  // untranslated
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "Add a final, catch-all condition to the if block.";  // untranslated
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this if block.";  // untranslated
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "uweewo";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "wonu uweewo";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "wonu";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "If a value is true, then do some statements.";  // untranslated
+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.";  // untranslated
+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.";  // untranslated
+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.";  // untranslated
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://en.wikipedia.org/wiki/For_loop";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "pohutuwa";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "ulangiya %1 kali";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "Do some statements several times.";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "ulangiya sambe";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "Ulangiya wonu";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "Wonu nilai diya banari, pohutuwa parenta";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "Wonu nilai banari, pohutuwa po'ongoolo";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "Luluta nga'amila %1 blocks?";
+Blockly.Msg["DELETE_BLOCK"] = "Moluluto Blok";
+Blockly.Msg["DELETE_VARIABLE"] = "Delete the '%1' variable";  // untranslated
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Delete %1 uses of the '%2' variable?";  // untranslated
+Blockly.Msg["DELETE_X_BLOCKS"] = "Moluluto %1 Blok";
+Blockly.Msg["DISABLE_BLOCK"] = "Moberenti Blok";
+Blockly.Msg["DUPLICATE_BLOCK"] = "Duplikat";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicate Comment";  // untranslated
+Blockly.Msg["ENABLE_BLOCK"] = "Momulayi Blok";
+Blockly.Msg["EXPAND_ALL"] = "Lolade Blok";
+Blockly.Msg["EXPAND_BLOCK"] = "Lolade Blok";
+Blockly.Msg["EXTERNAL_INPUTS"] = "tuwanga lonto eksternal";
+Blockly.Msg["HELP"] = "Tuulungi";
+Blockly.Msg["INLINE_INPUTS"] = "tuwanga lo inline";
+Blockly.Msg["IOS_CANCEL"] = "Cancel";  // untranslated
+Blockly.Msg["IOS_ERROR"] = "Error";  // untranslated
+Blockly.Msg["IOS_OK"] = "OK";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Add Input";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Allow statements";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "This function has duplicate inputs.";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "INPUTS";  // untranslated
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "Add";  // untranslated
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Add Variable";  // untranslated
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "Delete";  // untranslated
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "You can't use an empty variable name.";  // untranslated
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Rename";  // untranslated
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Variable name";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "create empty list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Returns a list, of length 0, containing no data records";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "list";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this list block.";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "create list with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Add an item to the list.";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Create a list with any number of items.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "first";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "# from end";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "get";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "get and remove";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "last";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "random";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "remove";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Returns the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Returns the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Returns the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Returns a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "Removes and returns the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "Removes and returns the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "Removes and returns the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Removes and returns a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "Removes the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "Removes the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "Removes the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Removes a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "to # from end";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "to #";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "to last";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "get sub-list from first";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "get sub-list from # from end";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "get sub-list from #";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Creates a copy of the specified portion of a list.";  // untranslated
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 is the last item.";  // untranslated
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 is the first item.";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "find first occurrence of item";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "find last occurrence of item";  // untranslated
+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.";  // untranslated
+Blockly.Msg["LISTS_INLIST"] = "in list";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 is empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Returns true if the list is empty.";  // untranslated
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "length of %1";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Returns the length of a list.";  // untranslated
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "create list with item %1 repeated %2 times";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Creates a list consisting of the given value repeated the specified number of times.";  // untranslated
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";  // untranslated
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Reverse a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "as";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "insert at";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Inserts the item at the start of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Inserts the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Append the item to the end of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Inserts the item randomly in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Sets the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Sets the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Sets the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Sets a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";  // untranslated
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "ascending";  // untranslated
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "descending";  // untranslated
+Blockly.Msg["LISTS_SORT_TITLE"] = "sort %1 %2 %3";  // untranslated
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Sort a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "alphabetic, ignore case";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "numeric";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "alphabetic";  // untranslated
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "make list from text";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "make text from list";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Join a list of texts into one text, separated by a delimiter.";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Split text into a list of texts, breaking at each delimiter.";  // untranslated
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "with delimiter";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "tala";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "Returns either true or false.";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "banari";
+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.";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Return true if the first input is greater than the second input.";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Return true if the first input is greater than or equal to the second input.";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "Return true if the first input is smaller than the second input.";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "Return true if the first input is smaller than or equal to the second input.";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "Return true if both inputs are not equal to each other.";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "diila %1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "Returns true if the input is false. Returns false if the input is true.";  // untranslated
+Blockly.Msg["LOGIC_NULL"] = "noolo";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";  // untranslated
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "Returns null.";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_AND"] = "wawu";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "meyalo";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "Return true if both inputs are true.";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "Return true if at least one of the inputs is true.";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "yimontalo";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "wonu tala";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "wonu banari";
+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.";  // untranslated
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://en.wikipedia.org/wiki/Arithmetic";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Return the sum of the two numbers.";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Return the quotient of the two numbers.";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Return the difference of the two numbers.";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Return the product of the two numbers.";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Return the first number raised to the power of the second number.";  // untranslated
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";  // untranslated
+Blockly.Msg["MATH_CHANGE_TITLE"] = "change %1 by %2";  // untranslated
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Add a number to variable '%1'.";  // untranslated
+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)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "constrain %1 low %2 high %3";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Constrain a number to be between the specified limits (inclusive).";  // untranslated
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";  // untranslated
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "is divisible by";  // untranslated
+Blockly.Msg["MATH_IS_EVEN"] = "is even";  // untranslated
+Blockly.Msg["MATH_IS_NEGATIVE"] = "is negative";  // untranslated
+Blockly.Msg["MATH_IS_ODD"] = "is odd";  // untranslated
+Blockly.Msg["MATH_IS_POSITIVE"] = "is positive";  // untranslated
+Blockly.Msg["MATH_IS_PRIME"] = "is prime";  // untranslated
+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.";  // untranslated
+Blockly.Msg["MATH_IS_WHOLE"] = "is whole";  // untranslated
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://en.wikipedia.org/wiki/Modulo_operation";  // untranslated
+Blockly.Msg["MATH_MODULO_TITLE"] = "remainder of %1 ÷ %2";  // untranslated
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Return the remainder from dividing the two numbers.";  // untranslated
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";  // untranslated
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://en.wikipedia.org/wiki/Number";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "Noomoro";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "average of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "max of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "median of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "min of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "modes of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "random item of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "standard deviation of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "sum of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Return the average (arithmetic mean) of the numeric values in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "Return the largest number in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "Return the median number in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "Return the smallest number in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Return a list of the most common item(s) in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Return a random element from the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Return the standard deviation of the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Return the sum of all the numbers in the list.";  // untranslated
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "random fraction";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Return a random fraction between 0.0 (inclusive) and 1.0 (exclusive).";  // untranslated
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";  // untranslated
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "random integer from %1 to %2";  // untranslated
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Return a random integer between the two specified limits, inclusive.";  // untranslated
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://en.wikipedia.org/wiki/Rounding";  // untranslated
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "round";  // untranslated
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "round down";  // untranslated
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "round up";  // untranslated
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Round a number up or down.";  // untranslated
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://en.wikipedia.org/wiki/Square_root";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "absolute";  // untranslated
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "akar pangkat dua";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Return the absolute value of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Return e to the power of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "Return the natural logarithm of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "Return the base 10 logarithm of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Return the negation of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Return 10 to the power of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Return the square root of a number.";  // untranslated
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";  // untranslated
+Blockly.Msg["MATH_TRIG_ACOS"] = "acos";  // untranslated
+Blockly.Msg["MATH_TRIG_ASIN"] = "asin";  // untranslated
+Blockly.Msg["MATH_TRIG_ATAN"] = "atan";  // untranslated
+Blockly.Msg["MATH_TRIG_COS"] = "cos";  // untranslated
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://en.wikipedia.org/wiki/Trigonometric_functions";
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";  // untranslated
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Return the arccosine of a number.";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Return the arcsine of a number.";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Return the arctangent of a number.";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Return the cosine of a degree (not radian).";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Return the sine of a degree (not radian).";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Return the tangent of a degree (not radian).";  // untranslated
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Create colour variable...";  // untranslated
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Create number variable...";  // untranslated
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Create string variable...";  // untranslated
+Blockly.Msg["NEW_VARIABLE"] = "Variabel bohu...";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "Tanggulo Variabel bohu";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "New variable type:";  // untranslated
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "allow statements";  // untranslated
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "with:";  // untranslated
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Run the user-defined function '%1'.";  // untranslated
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Run the user-defined function '%1' and use its output.";  // untranslated
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "with:";  // untranslated
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "Pohutu '%1'";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Describe this function...";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "do something";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "to";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Creates a function with no output.";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "return";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "Creates a function with an output.";  // untranslated
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "Warning: This function has duplicate parameters.";  // untranslated
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "Highlight function definition";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "If a value is true, then return a second value.";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "Warning: This block may be used only within a function definition.";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "input name:";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Add an input to the function.";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "inputs";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Add, remove, or reorder inputs to this function.";  // untranslated
+Blockly.Msg["REDO"] = "Redo";  // untranslated
+Blockly.Msg["REMOVE_COMMENT"] = "Mohinggi tuladu";
+Blockly.Msg["RENAME_VARIABLE"] = "Tangguli uulangi variabel";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Tangguli uulangi nga'amila % variabel ode:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "to %1 append text %2";  // untranslated
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Append some text to variable '%1'.";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "mowali hurupu kiki'o";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "to Title Case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "mowali HURUPU DAMANGO";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Return a copy of the text in a different case.";  // untranslated
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "hama tulade bungaliyo";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "hama hurupu # monto wuleya";
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "hama hurupu #";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "hama tulade pulitiyo";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "hama tulade ambulati";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "in text %1 %2";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Returns the letter at the specified position.";  // untranslated
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";  // untranslated
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "count %1 in %2";  // untranslated
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Count how many times some text occurs within some other text.";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Add an item to the text.";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "wayito";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Duhengi, yinggila, meyalo susungiya ulangi tuladu blok.";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "ode tuladu # monto wuleya";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "ode hurupu";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "to tulade pulitiyo";
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "to delomo tuladu";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "get substring from first letter";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "get substring from letter # from end";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "get substring from letter #";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Returns a specified portion of the text.";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "lolohe u yilowali bohuliyo to delomo tuladu";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "lolohe u yilowali pulitiyo to delomo tuladu";
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "in text %1 %2 %3";  // untranslated
+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.";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 koosongi";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Pohalinga banari wonu tuladu u sadi-sadia koosongi.";
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "create text with";  // untranslated
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Create a piece of text by joining together any number of items.";  // untranslated
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "haya'o lo %1";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Returns the number of letters (including spaces) in the provided text.";  // untranslated
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "print %1";  // untranslated
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Print the specified text, number or other value.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Prompt for user for a number.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Prompt for user for some text.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "prompt for number with message";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "prompt for text with message";  // untranslated
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";  // untranslated
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "replace %1 with %2 in %3";  // untranslated
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Replace all occurances of some text within some other text.";  // untranslated
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";  // untranslated
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Reverses the order of the characters in the text.";  // untranslated
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://en.wikipedia.org/wiki/String_(computer_science)";  // untranslated
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "A letter, word, or line of text.";  // untranslated
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "trim spaces from both sides of";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "trim spaces from left side of";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "trim spaces from right side of";  // untranslated
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Return a copy of the text with spaces removed from one or both ends.";  // untranslated
+Blockly.Msg["TODAY"] = "Engontiye";
+Blockly.Msg["UNDO"] = "Undo";  // untranslated
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "item";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Create 'set %1'";  // untranslated
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Returns the value of this variable.";  // untranslated
+Blockly.Msg["VARIABLES_SET"] = "set %1 to %2";  // untranslated
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Create 'get %1'";  // untranslated
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Sets this variable to be equal to the input.";  // untranslated
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "A variable named '%1' already exists.";  // untranslated
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "A variable named '%1' already exists for another type: '%2'.";  // untranslated
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something...";  // untranslated
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/he.js b/js/msg/js/he.js
new file mode 100644 (file)
index 0000000..54213e9
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.he');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "הוסף ×ª×’ובה";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "××™ ×פשר ×œ×ž×—וק ×ת ×”משתנה \"%1\", ×ž×›×™×•×•×Ÿ ×©×”גדרת ×”פונקציה \"%2\" ×ž×©×ª×ž×©×ª ×‘ו.";
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "שנה ×¢×¨×š:";
+Blockly.Msg["CLEAN_UP"] = "סידור ×‘לוקי×";
+Blockly.Msg["COLLAPSE_ALL"] = "צמצנקטעי ×§×•×“";
+Blockly.Msg["COLLAPSE_BLOCK"] = "צמצנקטע ×§×•×“";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "צבע 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "צבע 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";  // untranslated
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "יחס";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "ערבב";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "מערבב ×©× ×™ ×¦×‘עיניחד ×¢× ×™×—ס × ×ª×•×Ÿ(0.0 - 1.0).";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "http://he.wikipedia.org/wiki/%D7%A6%D7%91%D7%A2";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "בחר ×¦×‘×¢ ×ž×Ÿ ×”צבעי×.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "צבע ×קר××™";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "בחר ×¦×‘× ×קר××™.";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "כחול";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "ירוק";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";  // untranslated
+Blockly.Msg["COLOUR_RGB_RED"] = "×דו×";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "צבע ×¢×";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "צור ×¦×‘×¢ ×¢× ×”סכונהמצוין ×©×œ ×דו×, ×™×¨×•×§ ×•×›×—ול. ×›×œ ×”ערכינחייבינלהיות ×‘ין 0 ×œ100.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "צנמהלול××”";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "המשך ×¢× ×”×יטרציה ×”ב××” ×©×œ ×”לול××”";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "צנ×ל ×ž×—וץ ×œ×œ×•×œ××” ×”כוללת.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "דלג ×¢×œ ×©×ר ×”לול××” ×•×”משך ×¢× ×”×יטרציה ×”ב××”.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "×זהרה: ×‘לוק ×–×” ×¢×©×•×™ ×œ×©×ž×© ×¨×§ ×‘תוך ×œ×•×œ××”.";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "לכל ×¤×¨×™×˜ %1 ×‘רשימה %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "לכל ×¤×¨×™×˜ ×‘רשימה, ×œ×”גדיר ×ת ×”משתנה '%1' ×œ×¤×¨×™×˜ ×”×–×”, ×•×œ×חר ×ž×›×Ÿ ×œ×¢×©×•×ª ×›×ž×” ×¤×¢×•×œ×•×ª.";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "תספור ×¢× %1 ×ž- %2 ×œ- %3 ×¢×“- %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.";  // untranslated
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "תוסיף ×ª× ××™ ×œ×‘לוק If.";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "לסיו×, ×›×œ ×”תנ×ינתקפינלגבי ×‘לוק If.";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "תוסיף, ×ª×ž×—ק, ×ו ×ª×¡×“ר ×ž×—דש ×›×“×™ ×œ×”גדיר ×ž×—דש ×ת ×”בלוק If.";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "×חרת";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "×חרת ××";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "××";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "×נערך × ×›×•×Ÿ, ×œ×‘צע ×›×ž×” ×¤×¢×•×œ×•×ª.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "×נהערך ×”ונ×מת, ×œ×‘צע ×ת ×”בלוק ×”ר×שון ×©×œ ×”פעולות. ×חרת, ×œ×‘צע ×ת ×”בלוק ×”שני ×©×œ ×”פעולות.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "×נהערך ×”ר×שון ×”ונ×מת, ×œ×‘צע ×ת ×”בלוק ×”ר×שון ×©×œ ×”פעולות. ×חרת, ×נהערך ×”שני ×”ונ×מת, ×œ×‘צע ×ת ×”בלוק ×”שני ×©×œ ×”פעולות.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "×נהערך ×”ר×שון ×”ונ×מת, ×œ×‘צע ×ת ×”בלוק ×”ר×שון ×©×œ ×”פעולות. ×חרת, ×נהערך ×”שני ×”ונ×מת, ×œ×‘צע ×ת ×”בלוק ×”שני ×©×œ ×”פעולות. ×× ××£ ×חד ×ž×”× ×ינו × ×›×•×Ÿ, ×œ×‘צע ×ת ×”בלוק ×”×חרון ×©×œ ×”פעולות.";
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "http://he.wikipedia.org/wiki/בקרת_זרימה";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "תעשה";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "חזור ×¢×œ ×”פעולה %1 ×¤×¢×ž×™×";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "לעשות ×›×ž×” ×¤×¢×•×œ×•×ª ×ž×¡×¤×¨ ×¤×¢×ž×™×.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "חזור ×¢×“ ×©...";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "חזור ×›×œ ×¢×•×“";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "בזמן ×©×”ערך ×©×•×•×” ×œ×©×’וי, ×ª×¢×©×” ×ž×¡×¤×¨ ×—ישובי×.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "כל ×¢×•×“ ×”ערך ×”ונ×מת, ×œ×¢×©×•×ª ×›×ž×” ×¤×¢×•×œ×•×ª.";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "×”×נלמחוק ×ת ×›×œ %1 ×§×˜×¢×™ ×”קוד?";
+Blockly.Msg["DELETE_BLOCK"] = "מחק ×§×˜×¢ ×§×•×“";
+Blockly.Msg["DELETE_VARIABLE"] = "Delete the '%1' variable";  // untranslated
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Delete %1 uses of the '%2' variable?";  // untranslated
+Blockly.Msg["DELETE_X_BLOCKS"] = "מחק %1 ×§×˜×¢×™ ×§×•×“";
+Blockly.Msg["DISABLE_BLOCK"] = "נטרל ×§×˜×¢ ×§×•×“";
+Blockly.Msg["DUPLICATE_BLOCK"] = "שכפל";
+Blockly.Msg["DUPLICATE_COMMENT"] = "שכפול ×”הערה";
+Blockly.Msg["ENABLE_BLOCK"] = "הפעל ×§×˜×¢ ×§×•×“";
+Blockly.Msg["EXPAND_ALL"] = "הרחב ×§×˜×¢×™ ×§×•×“";
+Blockly.Msg["EXPAND_BLOCK"] = "הרחב ×§×˜×¢ ×§×•×“";
+Blockly.Msg["EXTERNAL_INPUTS"] = "קלטינחיצוניי×";
+Blockly.Msg["HELP"] = "עזרה";
+Blockly.Msg["INLINE_INPUTS"] = "קלטינפנימיי×";
+Blockly.Msg["IOS_CANCEL"] = "ביטול";
+Blockly.Msg["IOS_ERROR"] = "שגי××”";
+Blockly.Msg["IOS_OK"] = "×ישור";
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Add Input";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Allow statements";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "This function has duplicate inputs.";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "INPUTS";  // untranslated
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "הוספה";
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ ×”וספת ×ž×©×ª× ×”";
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "מחיקה";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "לנניתן ×œ×”זין ×©× ×¨×™×§ ×œ×ž×©×ª× ×”.";
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "שינוי ×©×";
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "שנהמשתנה";
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "צור ×¨×©×™×ž×” ×¨×™×§×”";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "החזר ×¨×©×™×ž×”,ב×ורך 0, ×”מכילה ×¨×©×•×ž×•×ª × ×ª×•× ×™×";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "רשימה";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "תוסיף, ×ª×ž×—ק, ×ו ×ª×¡×“ר ×ž×—דש ×›×“×™ ×œ×”גדיר ×ž×—דש ×ת ×”בלוק If.";
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "צור ×¨×©×™×ž×” ×¢×";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "הוסף ×¤×¨×™×˜ ×œ×¨×©×™×ž×”.";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "צור ×¨×©×™×ž×” ×¢× ×›×œ ×ž×¡×¤×¨ ×©×œ ×¤×¨×™×˜×™×.";
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "ר×שון";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "# ×ž×”סוף";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "לקבל";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "קבל ×•×ž×—ק";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "×חרון";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "×קר××™";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "הסרה";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "מחזיר ×ת ×”פריט ×”ר×שון ×‘רשימה.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "מחזיר ×¤×¨×™×˜ ×‘מיקונשצוין ×‘רשימה.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "מחזיר ×ת ×”פריט ×”×חרון ×‘רשימה.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "מחזיר ×¤×¨×™×˜ ×קר××™ ×ž×”רשימה.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "מסיר ×•×ž×—זיר ×ת ×”פריט ×”ר×שון ×‘רשימה.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "מסיר ×•×ž×—זיר ×ת ×”פריט ×‘מיקונשצוין ×‘רשימה.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "מסיר ×•×ž×—זיר ×ת ×”פריט ×”×חרון ×‘רשימה.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "מחק ×•×”חזר ×¤×¨×™×˜ ×קר××™ ×ž×”רשימה.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "הסר ×ת ×”פריט ×”ר×שון ×‘רשימה.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "מחזיר ×¤×¨×™×˜ ×‘מיקונשצוין ×‘רשימה.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "הסר ×ת ×”פריט ×”ר×שון ×‘רשימה.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "הסר ×¤×¨×™×˜ ×קר××™ ×‘רשימה.";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "ל # ×ž×”סוף";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "ל #";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "ל×חרון";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "לקבל ×—לק ×ž×”רשימה ×”חל ×ž×”תחלה";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "לקבל ×—לק ×ž×”רשימה ×”חל ×ž-# ×¢×“ ×”סוף";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "לקבל ×—לק ×ž×”רשימה ×”חל ×ž-#";
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "יוצרת ×¢×•×ª×§ ×©×œ ×—לק ×ž×¡×•×™× ×ž×”רשימה.";
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 ×”ונהפריט ×”×חרון.";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 ×”ונהפריט ×”ר×שון.";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "מחזירה ×ת ×”מיקונהר×שון ×©×œ ×¤×¨×™×˜ ×‘רשימה";
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "מחזירה ×ת ×”מיקונה×חרון ×©×œ ×¤×¨×™×˜ ×‘רשימה";
+Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "מחזירה ×ת ×”×ינדקס ×©×œ ×”מופע ×”ר×שון/×”×חרון ×©×œ ×”פריט ×‘רשימה.  ×ž×—זירה %1 ×נהפריט ×ינו × ×ž×¦×.";
+Blockly.Msg["LISTS_INLIST"] = "ברשימה";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 ×”ונריק";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "מחזיר ×מת ×נהרשימה ×¨×™×§×”.";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "×ורכו ×©×œ %1";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "מחזירה ×ת ×”×ורך ×©×œ ×¨×©×™×ž×”.";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "ליצור ×¨×©×™×ž×” ×¢× ×”פריט %1 %2 ×¤×¢×ž×™×";
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "יוצר ×¨×©×™×ž×” ×”מורכבת ×ž×”ערך × ×ª×•×Ÿ ×—וזר ×ž×¡×¤×¨ ×¤×¢×ž×™× ×©×¦×•×™×Ÿ.";
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";  // untranslated
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Reverse a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "כמו";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "הכנס ×‘";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "הגדר";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "מכניס ×ת ×”פריט ×‘תחילת ×¨×©×™×ž×”.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "מכניס ×ת ×”פריט ×‘מיקונשצוין ×‘רשימה.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "מוסיף ×ת ×”פריט ×‘סוף ×¨×©×™×ž×”.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "הוסף ×¤×¨×™×˜ ×‘×ופן ×קר××™ ×‘רשימה.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "מגדיר ×ת ×”פריט ×”ר×שון ×‘רשימה.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "מגדיר ×ת ×”פריט ×‘מיקונשצוין ×‘רשימה.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "מגדיר ×ת ×”פריט ×”×חרון ×‘רשימה.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "מגדיר ×¤×¨×™×˜ ×קר××™ ×‘רשימה.";
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "סדר ×¢×•×œ×”";
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "סדר ×™×•×¨×“";
+Blockly.Msg["LISTS_SORT_TITLE"] = "sort %1 %2 %3";  // untranslated
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Sort a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "סדר ×לפביתי, ×œ× ×ª×œ×•×™ ×¨×™×©×™×•×ª";
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "numeric";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "סדר ×לפביתי";
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "יצירת ×¨×©×™×ž×” ×ž×˜×§×¡×˜";
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "יצירת ×˜×§×¡×˜ ×ž×¨×©×™×ž×”";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Join a list of texts into one text, separated by a delimiter.";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Split text into a list of texts, breaking at each delimiter.";  // untranslated
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "with delimiter";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "שגוי";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "מחזיר ×ו ×”×ננכון ×ו ×”×נשגוי.";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "נכון";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://en.wikipedia.org/wiki/Inequality_(mathematics)";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "תחזיר × ×›×•×Ÿ ×נשני ×”קלטינשווינ×חד ×œ×©× ×™.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "תחזיר × ×›×•×Ÿ ×נהקלט ×”ר×שון ×’דול ×™×•×ª×¨ ×ž×”קלט ×”שני.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "תחזיר × ×›×•×Ÿ ×נהקלט ×”ר×שון ×’דול ×™×•×ª×¨ ×ו ×©×•×•×” ×œ×›× ×™×¡×” ×”שנייה.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "תחזיר ×מת (true) ×נהקלט ×”ר×שון ×”ונקטן ×™×•×ª×¨ ×ž×שר ×”קלט ×”שני.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "תחזיר ×מת ×נהקלט ×”ר×שון ×”ונקטן ×™×•×ª×¨ ×ו ×©×•×•×” ×œ×§×œ×˜ ×”שני.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "תחזיר ×מת ×נשני ×”קלטינ×יננשווינזה ×œ×–×”.";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "לנ%1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "החזר ×מת ×נהקלט ×”ונשקר. ×”חזר ×©×§×¨ ×נהקלט ×מת.";
+Blockly.Msg["LOGIC_NULL"] = "null";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";  // untranslated
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "תחזיר ×¨×™×§.";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "ו";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "×ו";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "תחזיר × ×›×•×Ÿ ×נשני ×”קלטיננכוני×.";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "תחזיר × ×›×•×Ÿ ×נמתקיינלפחות ×חד ×ž×”קלטיננכוני×.";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "בדיקה";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "×נשגוי";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "×ננכון";
+Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "בדוק ×ת ×”תנ××™ ×‘'מבחן'. ×נהתנ××™ × ×›×•×Ÿ, ×ª×—זיר ×ת ×”ערך '×ננכון'; ×חרת ×ª×—זיר ×ת ×”ערך '×נשגוי'.";
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://he.wikipedia.org/wiki/×רבע_פעולות_החשבון";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "תחזיר ×ת ×¡×›×•× ×©× ×™ ×”מספרי×.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "החזרת ×”מנה ×©×œ ×©× ×™ ×”מספרי×.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "החזרת ×”הפרש ×‘ין ×©× ×™ ×ž×¡×¤×¨×™×.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "החזרת ×ª×•×¦×ת ×”כפל ×‘ין ×©× ×™ ×ž×¡×¤×¨×™×.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "החזרת ×”מספר ×”ר×שון ×‘חזקת ×”מספר ×”שני.";
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";  // untranslated
+Blockly.Msg["MATH_CHANGE_TITLE"] = "שינוי %1 ×¢×œÖ¾×™×“×™ %2";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "הוסף ×ž×¡×¤×¨ ×œ×ž×©×ª× ×” '%1'.";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://en.wikipedia.org/wiki/Mathematical_constant";  // untranslated
+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).";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "constrain %1 low %2 high %3";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Constrain a number to be between the specified limits (inclusive).";  // untranslated
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "מתחלק ×‘";
+Blockly.Msg["MATH_IS_EVEN"] = "זוגי";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "שלילי";
+Blockly.Msg["MATH_IS_ODD"] = "××™-זוגי";
+Blockly.Msg["MATH_IS_POSITIVE"] = "חיובי";
+Blockly.Msg["MATH_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.";  // untranslated
+Blockly.Msg["MATH_IS_WHOLE"] = "של×";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://en.wikipedia.org/wiki/Modulo_operation";  // untranslated
+Blockly.Msg["MATH_MODULO_TITLE"] = "ש×רית ×”חילוק %1 Ã· %2";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "החזרת ×”ש×רית ×ž×—לוקת ×©× ×™ ×”מספרי×.";
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://he.wikipedia.org/wiki/מספר_ממשי";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "מספר.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "ממוצע ×©×œ ×¨×©×™×ž×”";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "מקסימונשל ×¨×©×™×ž×”";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "חציון ×©×œ ×¨×©×™×ž×”";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "מינימונשל ×¨×©×™×ž×”";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "שכיחי ×”רשימה";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "פריט ×קר××™ ×ž×¨×©×™×ž×”";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "standard deviation of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "סכונשל ×¨×©×™×ž×”";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Return the average (arithmetic mean) of the numeric values in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "תחזיר ×ת ×”מספר ×”גדול ×‘יותר ×‘רשימה.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "תחזיר ×ת ×”מספר ×”חיצוני ×‘יותר ×‘רשימה.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "תחזיר ×ת ×”מספר ×”קטן ×‘יותר ×‘רשימה.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "החזרת ×¨×©×™×ž×” ×©×œ ×”פריטינהנפוצינביותר ×‘רשימה";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "תחזיר ×¨×›×™×‘ ×קר××™ ×ž×¨×©×™×ž×”.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "מחזיר ×ת ×¡×˜×™×™×ª ×”תקן ×©×œ ×”רשימה.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "החזרת ×”סכונשל ×”מספרינברשימה.";
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "שבר ×קר××™";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Return a random fraction between 0.0 (inclusive) and 1.0 (exclusive).";  // untranslated
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";  // untranslated
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "מספר ×©×œ× ×קר××™ ×‘ין %1 ×œ-%2 (כולל)";
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Return a random integer between the two specified limits, inclusive.";  // untranslated
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://he.wikipedia.org/wiki/עיגול_(×ריתמטיקה)";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "עיגול";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "עיגול ×œ×ž×˜×”";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "עיגול ×œ×ž×¢×œ×”";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "עיגול ×ž×¡×¤×¨ ×œ×ž×¢×œ×” ×ו ×œ×ž×˜×”.";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://he.wikipedia.org/wiki/שורש_ריבועי";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "ערך ×ž×•×—לט";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "שורש ×¨×™×‘ועי";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "החזרת ×”ערך ×”מוחלט ×©×œ ×ž×¡×¤×¨.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "החזרת e ×‘חזקת ×ž×¡×¤×¨.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "החזרת ×”לוגריתנהטבעי ×©×œ ×ž×¡×¤×¨.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "החזרת ×”לוגריתנלפי ×‘סיס ×¢×©×¨ ×©×œ ×ž×¡×¤×¨.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "החזרת ×”ערך ×”נגדי ×©×œ ×ž×¡×¤×¨.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "החזרת 10 ×‘חזקת ×ž×¡×¤×¨.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "החזרת ×”שורש ×”ריבועי ×©×œ ×ž×¡×¤×¨.";
+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://he.wikipedia.org/wiki/פונקציות_טריגונומטריות";
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Return the arccosine of a number.";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Return the arcsine of a number.";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Return the arctangent of a number.";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "החזרת ×”קוסינוס ×©×œ ×ž×¢×œ×” (לנרדי×ן).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "החזרת ×”סינוס ×©×œ ×ž×¢×œ×” (לנרדי×ן).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "החזרת ×”טנגס ×©×œ ×ž×¢×œ×” (לנרדי×ן).";
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Create colour variable...";  // untranslated
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Create number variable...";  // untranslated
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Create string variable...";  // untranslated
+Blockly.Msg["NEW_VARIABLE"] = "משתנה ×—דש...";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "שנהמשתנה ×”חדש:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "סוג ×”משתנה ×”חדש:";
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "ל×פשר ×¤×¢×•×œ×•×ª";
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "×¢×:";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://he.wikipedia.org/wiki/שגרה_(תכנות)";
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "להפעיל ×ת ×”פונקציה ×”מוגדרת ×¢×œ-ידי ×”משתמש '%1'.";
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://he.wikipedia.org/wiki/שגרה_(תכנות)";
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "להפעיל ×ת ×”פונקציה ×”מוגדרת ×¢×œ-ידי ×”משתמש '%1' ×•×œ×”שתמש ×”פלט ×©×œ×”.";
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "×¢×:";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "ליצור '%1'";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Describe this function...";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "לעשות ×ž×©×”ו";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "לביצוע:";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "יצירת ×¤×•× ×§×¦×™×” ×œ×œ× ×¤×œ×˜.";
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "להחזיר";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "יצירת ×¤×•× ×§×¦×™×” ×¢× ×¤×œ×˜.";
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "×זהרה: ×œ×¤×•× ×§×¦×™×” ×–ו ×™×© ×¤×¨×ž×˜×¨×™× ×›×¤×•×œ×™×.";
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "הדגש ×”גדרה ×©×œ ×¤×•× ×§×¦×™×”";
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "×נערך × ×›×•×Ÿ, ××– ×œ×”חזיר ×¢×¨×š ×©× ×™.";
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "×זהרה: ×‘לוק ×–×” ×¢×©×•×™ ×œ×©×ž×© ×¨×§ ×‘תוך ×”גדרה ×©×œ ×¤×•× ×§×¦×™×”.";
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "שנהקלט:";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "הוסף ×§×œ×˜ ×œ×¤×•× ×§×¦×™×”";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "מקורות ×§×œ×˜";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "הוסף, ×”סר ×ו ×¡×“ר ×ž×—דש ×§×œ×˜×™× ×œ×¤×•× ×§×¦×™×” ×–ו";
+Blockly.Msg["REDO"] = "ביצוע ×—וזר";
+Blockly.Msg["REMOVE_COMMENT"] = "הסר ×ª×’ובה";
+Blockly.Msg["RENAME_VARIABLE"] = "שנה ×ת ×©× ×”משתנה...";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "שנה ×ת ×©× ×›×œ '%1' ×”משתנינל:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "×ל %1 ×”וספת ×˜×§×¡×˜ %2";
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Append some text to variable '%1'.";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "ל×ותיות ×§×˜× ×•×ª (עבור ×˜×§×¡×˜ ×‘×נגלית)";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "ל×ותיות ×’דולות ×‘תחילת ×›×œ ×ž×™×œ×” (עבור ×˜×§×¡×˜ ×‘×נגלית)";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "ל×ותיות ×’דולות (עבור ×˜×§×¡×˜ ×‘×נגלית)";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Return a copy of the text in a different case.";  // untranslated
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "get first letter";  // untranslated
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "get letter # from end";  // untranslated
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "get letter #";  // untranslated
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "get last letter";  // untranslated
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "get random letter";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "in text %1 %2";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Returns the letter at the specified position.";  // untranslated
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";  // untranslated
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "count %1 in %2";  // untranslated
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Count how many times some text occurs within some other text.";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Add an item to the text.";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "צירוף";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this text block.";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "ל×ות # ×ž×”סוף";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "ל×ות #";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "to last letter";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "in text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "get substring from first letter";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "get substring from letter # from end";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "get substring from letter #";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Returns a specified portion of the text.";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "find first occurrence of text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "find last occurrence of text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "in text %1 %2 %3";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_TOOLTIP"] = "מחזירה ×ת ×”×ינדקס ×©×œ ×”מופע ×”ר×שון/×”×חרון ×‘טקסט ×”ר×שון ×œ×ª×•×š ×”טקסט ×”שני. ×ž×—זירה %1 ×נהטקסט ×ינו × ×ž×¦×.";
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 ×”ונריק";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Returns true if the provided text is empty.";  // untranslated
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "יצירת ×˜×§×¡×˜ ×¢×";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Create a piece of text by joining together any number of items.";  // untranslated
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "×ורכו ×©×œ %1";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "מחזיר ×ת ×ž×¡×¤×¨ ×”תווינ(×ותיות, ×¨×•×•×—ינוכו') ×‘טקסט ×©×”וזן.";
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "הדפס %1";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "להדפיס ×˜×§×¡×˜, ×ž×¡×¤×¨ ×ו ×¢×¨×š ×חר ×©×¦×•×™×Ÿ";
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "בקש ×ž×”משתמש ×ž×¡×¤×¨.";
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "בקשה ×œ×ž×©×ª×ž×© ×œ×”זין ×˜×§×¡×˜ ×›×œ×©×”ו.";
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "בקשה ×œ×ž×¡×¤×¨ ×¢× ×”ודעה";
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "בקשה ×œ×”זנת ×˜×§×¡×˜ ×¢× ×”ודעה";
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";  // untranslated
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "replace %1 with %2 in %3";  // untranslated
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Replace all occurances of some text within some other text.";  // untranslated
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";  // untranslated
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Reverses the order of the characters in the text.";  // untranslated
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://en.wikipedia.org/wiki/String_(computer_science)";  // untranslated
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "×ות, ×ž×™×œ×”, ×ו ×©×•×¨×ª ×˜×§×¡×˜.";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "למחוק ×¨×•×•×—ינמשני ×”קצוות";
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "למחוק ×¨×•×•×—ינמימין";
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "למחוק ×¨×•×•×—ינמשמ×ל";
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "להחזיר ×¢×•×ª×§ ×©×œ ×”טקסט ×œ×חר ×ž×—יקת ×¨×•×•×—ינמ×חד ×ו ×ž×©× ×™ ×”קצוות.";
+Blockly.Msg["TODAY"] = "היו×";
+Blockly.Msg["UNDO"] = "ביטול";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "פריט";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "ליצור 'הגדר %1'";
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "להחזיר ×ת ×”ערך ×©×œ ×ž×©×ª× ×” ×–×”.";
+Blockly.Msg["VARIABLES_SET"] = "הגדר %1 ×œ- %2";
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "ליצור 'קרנ%1'";
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "מגדיר ×ž×©×ª× ×” ×–×” ×œ×”יות ×©×•×•×” ×œ×§×œ×˜.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "קיינכבר ×ž×©×ª× ×” ×‘שנ\"%1\".";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "קיינכבר ×ž×©×ª× ×” ×‘שנ\"%1\" ×ž×¡×•×’ ×חר: \"%2\"";
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "ננלהזין ×”ערה...";
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/hi.js b/js/msg/js/hi.js
new file mode 100644 (file)
index 0000000..adb0d21
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.hi');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "टिपà¥à¤ªà¤£à¥€ à¤›à¥‹à¤¡à¤¼à¥‡à¤‚";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "चर '%1' à¤•à¥‹ à¤¨à¤¹à¥€à¤‚ à¤¹à¤Ÿà¤¾ à¤¸à¤•à¤¤à¤¾ à¤•à¥à¤¯à¥‹à¤‚कि à¤¯à¤¹ à¤«à¤¼à¤‚कà¥à¤¶à¤¨ '%2' à¤•à¥€ à¤ªà¤°à¤¿à¤­à¤¾à¤·à¤¾ à¤•à¤¾ à¤¹à¤¿à¤¸à¥à¤¸à¤¾ à¤¹à¥ˆ";
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "मान à¤ªà¤°à¤¿à¤µà¤°à¥à¤¤à¤¿à¤¤ à¤•à¤°à¥‡à¤‚:";
+Blockly.Msg["CLEAN_UP"] = "खानों à¤•à¥‹ à¤¸à¤¾à¤« à¤•à¤°à¥‡à¤‚";
+Blockly.Msg["COLLAPSE_ALL"] = "बà¥à¤²à¥‰à¤• à¤¸à¤‚कà¥à¤·à¤¿à¤ªà¥à¤¤ à¤•à¤°à¥‡à¤‚";
+Blockly.Msg["COLLAPSE_BLOCK"] = "बà¥à¤²à¥‰à¤• à¤•à¥‹ à¤¸à¤‚कà¥à¤·à¤¿à¤ªà¥à¤¤ à¤•à¤°à¥‡à¤‚";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "रंग 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "रंग 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";  // untranslated
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "अनà¥à¤ªà¤¾à¤¤";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "मिशà¥à¤°à¤£ à¤•à¤°à¥‡à¤‚";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "दिठगठअनà¥à¤ªà¤¾à¤¤ (0.0 - 1.0) à¤•à¥‡ à¤¸à¤¾à¤¥ à¤¦à¥‹ à¤°à¤‚गों à¤•à¤¾ à¤®à¤¿à¤¶à¥à¤°à¤£ à¤•à¤°à¤¤à¤¾ à¤¹à¥ˆà¥¤";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://en.wikipedia.org/wiki/Color";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "पैलेट à¤¸à¥‡ à¤à¤• à¤°à¤‚ग à¤šà¥à¤¨à¥‡à¤‚।";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "कोई à¤­à¥€ à¤°à¤‚ग";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "कोई à¤­à¥€ à¤à¤• à¤°à¤‚ग à¤•à¤¾ à¤šà¤¯à¤¨ à¤•à¤°à¥‡à¤‚।";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "नीला";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "हरा";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";  // untranslated
+Blockly.Msg["COLOUR_RGB_RED"] = "लाल";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "इसके à¤¸à¤¾à¤¥ à¤°à¤‚ग à¤•à¤°à¥‡à¤‚";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "लाल, à¤¹à¤°à¤¾ à¤”र à¤¨à¥€à¤²à¥‡ à¤•à¥€ à¤¨à¤¿à¤°à¥à¤¦à¤¿à¤·à¥à¤Ÿ à¤®à¤¾à¤¤à¥à¤°à¤¾ à¤•à¥‡ à¤¸à¤¾à¤¥ à¤à¤• à¤°à¤‚ग à¤¬à¤¨à¤¾à¤¯à¥‡à¤‚। à¤¸à¤­à¥€ à¤®à¤¾à¤¨ à¥¦ à¤¸à¥‡ à¥§à¥¦à¥¦ à¤•à¥‡ à¤¬à¥€à¤š à¤¹à¥‹à¤¨à¥‡ à¤šà¤¾à¤¹à¤¿à¤à¥¤";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "फंदे à¤¸à¥‡ à¤¬à¤¾à¤¹à¤° à¤¨à¤¿à¤•à¤²à¥‡à¤‚";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "फंदे à¤•à¥€ à¤…गली à¤¯à¤¾à¤¤à¥à¤°à¤¾ à¤•à¥‡ à¤¸à¤¾à¤¥ à¤œà¤¾à¤°à¥€ à¤°à¤–ें";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "भीतरी à¤«à¤‚दे à¤¸à¥‡ à¤¬à¤¾à¤¹à¤° à¤¨à¤¿à¤•à¤²à¥‡à¤‚।";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "बाकी à¤¬à¤šà¥‡ à¤«à¤‚दे à¤•à¥‹ à¤›à¥‹à¤¡à¤¼à¥‡à¤‚, à¤”र à¤…गली à¤¯à¤¾à¤¤à¥à¤°à¤¾ à¤œà¤¾à¤°à¥€ à¤°à¤–ें।";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "सावधान: à¤¯à¥‡ à¤¬à¥à¤²à¥‰à¤• à¤•à¥‡à¤µà¤² à¤²à¥‚प à¤•à¥‡ à¤…ंदर à¤‡à¤¸à¥à¤¤à¥‡à¤®à¤¾à¤² à¤•à¤¿à¤¯à¤¾ à¤œà¤¾ à¤¸à¤•à¤¤à¤¾ à¤¹à¥ˆà¥¤";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "पà¥à¤°à¤¤à¥à¤¯à¥‡à¤• à¤µà¤¸à¥à¤¤à¥ à¤•à¥‡ à¤²à¤¿à¤ %1 à¤¸à¥‚ची à¤®à¥‡à¤‚ %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "सूची à¤•à¥‡ à¤ªà¥à¤°à¤¤à¥à¤¯à¥‡à¤• à¤µà¤¸à¥à¤¤à¥ à¤•à¥‡ à¤²à¤¿à¤, à¤µà¤¸à¥à¤¤à¥ à¤®à¥‡à¤‚ à¤šà¤° à¤•à¤¾ à¤®à¤¾à¤¨ '%1' à¤°à¤–ें à¤”र à¤¬à¤¾à¤¦ à¤®à¥‡à¤‚ à¤•à¥à¤› à¤•à¤¥à¤¨ à¤²à¤¿à¤–ें।";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "%1 à¤¸à¥‡ %2 à¤¸à¥‡ %3 à¤¤à¤• %4 à¤•à¥‡ à¤¸à¤¾à¤¥ à¤—िनती à¤•à¤°à¥‡à¤‚";
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "कà¥à¤¯à¤¾ à¤šà¤° '%1' à¤ªà¥à¤°à¤¾à¤°à¤‚भ à¤¸à¤‚खà¥à¤¯à¤¾ à¤¸à¥‡ à¤…ंत à¤¸à¤‚खà¥à¤¯à¤¾ à¤¤à¤• à¤®à¤¾à¤¨à¥‹à¤‚ à¤•à¥‹ à¤²à¥‡à¤¤à¤¾ à¤¹à¥ˆ, à¤¨à¤¿à¤°à¥à¤¦à¤¿à¤·à¥à¤Ÿ à¤…ंतराल à¤•à¥‡ à¤…नà¥à¤¸à¤¾à¤° à¤—िनती à¤•à¤°à¤¤à¤¾ à¤¹à¥ˆ, à¤”र à¤¨à¤¿à¤°à¥à¤¦à¤¿à¤·à¥à¤Ÿ à¤°à¥à¤•à¤¾à¤µà¤Ÿà¥‹à¤‚ à¤•à¥‹ à¤•à¤°à¤¤à¤¾ à¤¹à¥ˆà¥¤";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "à¤à¤• à¤¶à¤°à¥à¤¤ à¤œà¥‹à¤¡à¤¼à¥‡à¤‚ à¤¯à¤¦à¤¿ à¤¬à¥à¤²à¥‰à¤• à¤¹à¥ˆà¥¤";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "यदि à¤¬à¥à¤²à¥‰à¤• à¤¹à¥ˆ à¤¤à¥‹ à¤‡à¤¸à¤•à¥‡ à¤²à¤¿à¤ à¤à¤• à¤…ंतिम, à¤•à¥ˆà¤š-सभी à¤¸à¥à¤¥à¤¿à¤¤à¤¿ à¤œà¥‹à¤¡à¤¼à¥‡à¤‚।";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "भाग à¤•à¥‹ à¤¸à¤®à¤¨à¤°à¥‚प à¤¬à¤¨à¤¾à¤¨à¥‡ à¤•à¥‡ à¤²à¤¿à¤ à¤œà¥‹à¤™à¥‡à¤‚, à¤¹à¤Ÿà¤¾à¤à¤‚, à¤¯à¤¾ à¤ªà¥à¤¨à¤ƒ à¤µà¥à¤¯à¤µà¤¸à¥à¤¥à¤¿à¤¤ à¤•à¤°à¥‡à¤‚ à¤¯à¤¦à¤¿ à¤¯à¤¹ à¤¬à¤‚द à¤¹à¥ˆà¥¤";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "अनà¥à¤¯";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "यदि à¤…नà¥à¤¯";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "यदि";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "यदी à¤®à¤¾à¤¨ à¤¸à¤¹à¥€ à¤¹à¥ˆ, à¤¤à¥‹ à¤•à¥à¤› à¤µà¤¿à¤µà¤°à¤£ à¤šà¤²à¤¾à¤à¤à¥¤";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "यदि à¤à¤• à¤®à¤¾à¤¨ à¤¸à¤¤à¥à¤¯ à¤¹à¥ˆ à¤¤à¥‹ à¤•à¤¥à¤¨à¥‹à¤‚ à¤•à¤¾ à¤ªà¥à¤°à¤¥à¤® à¤–णà¥à¤¡ à¤¬à¤¨à¤¾à¤¯à¥‡à¤‚। à¤…नà¥à¤¯à¤¥à¤¾ à¤•à¤¥à¤¨à¥‹à¤‚ à¤•à¤¾ à¤¦à¥‚सरा à¤­à¤¾à¤— à¤¨à¤¿à¤°à¥à¤®à¤¿à¤¤ à¤•à¤°à¥‡à¤‚।";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "यदि à¤ªà¤¹à¤²à¥‡ à¤®à¤¾à¤¨ à¤¸à¤¹à¥€ à¤¹à¥ˆ, à¤¤à¥‹ à¤¬à¤¯à¤¾à¤¨à¥‹à¤‚ à¤•à¤¾ à¤ªà¤¹à¤²à¤¾ à¤–ंड à¤•à¤°à¥‡à¤‚। à¤…नà¥à¤¯à¤¥à¤¾, à¤¯à¤¦à¤¿ à¤¦à¥‚सरा à¤®à¤¾à¤¨ à¤¸à¤¤à¥à¤¯ à¤¹à¥ˆ, à¤¤à¥‹ à¤¬à¤¯à¤¾à¤¨à¥‹à¤‚ à¤•à¤¾ à¤¦à¥‚सरा à¤–ंड à¤•à¤°à¥‡à¤‚।";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "यदि à¤ªà¤¹à¤²à¤¾ à¤®à¤¾à¤¨ à¤¸à¤¹à¥€ à¤¹à¥ˆ, à¤¤à¥‹ à¤¬à¤¯à¤¾à¤¨à¥‹à¤‚ à¤•à¤¾ à¤ªà¤¹à¤²à¤¾ à¤–ंड à¤•à¤°à¥‡à¤‚। à¤…नà¥à¤¯à¤¥à¤¾, à¤¯à¤¦à¤¿ à¤¦à¥‚सरा à¤®à¤¾à¤¨ à¤¸à¤¤à¥à¤¯ à¤¹à¥ˆ, à¤¤à¥‹ à¤¬à¤¯à¤¾à¤¨à¥‹à¤‚ à¤•à¤¾ à¤¦à¥‚सरा à¤–ंड à¤•à¤°à¥‡à¤‚। à¤¯à¤¦à¤¿ à¤•à¥‹à¤ˆ à¤­à¥€ à¤®à¤¾à¤¨ à¤¸à¤¹à¥€ à¤¨à¤¹à¥€à¤‚ à¤¹à¥ˆ, à¤¤à¥‹ à¤¬à¤¯à¤¾à¤¨à¥‹à¤‚ à¤•à¤¾ à¤…ंतिम à¤–ंड à¤•à¤°à¥‡à¤‚।";
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://en.wikipedia.org/wiki/For_loop";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "करें";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "%1 à¤¬à¤¾à¤° à¤¦à¥‹à¤¹à¤°à¤¾à¤à¤";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "कà¥à¤› à¤µà¤¿à¤µà¤°à¤£ à¤•à¤ˆ à¤¬à¤¾à¤° à¤šà¤²à¤¾à¤à¤à¥¤";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "दोहराà¤à¤ à¤œà¤¬ à¤¤à¤•";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "दोहराà¤à¤ à¤œà¤¬ à¤•à¤¿";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "जब à¤¤à¤• à¤®à¤¾à¤¨ à¤—लत à¤¹à¥ˆ, à¤¤à¤¬ à¤¤à¤• à¤•à¥à¤› à¤µà¤¿à¤µà¤°à¤£ à¤šà¤²à¤¾à¤à¤à¥¤";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "जब à¤¤à¤• à¤®à¤¾à¤¨ à¤¸à¤¹à¥€ à¤¹à¥ˆ, à¤¤à¤¬ à¤¤à¤• à¤•à¥à¤› à¤µà¤¿à¤µà¤°à¤£ à¤šà¤²à¤¾à¤à¤à¥¤";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "सभी %1 à¤–ानों à¤•à¥‹ à¤¹à¤Ÿà¤¾ à¤¦à¥‡à¤‚?";
+Blockly.Msg["DELETE_BLOCK"] = "बà¥à¤²à¥‰à¤• à¤¹à¤Ÿà¤¾à¤à¤";
+Blockly.Msg["DELETE_VARIABLE"] = "'%1' à¤šà¤° à¤•à¥‹ à¤¹à¤Ÿà¤¾à¤à¤";
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "'%2' à¤šà¤° à¤•à¥‡ %1 à¤‰à¤ªà¤¯à¥‹à¤— à¤•à¥‹ à¤¹à¤Ÿà¤¾à¤à¤?";
+Blockly.Msg["DELETE_X_BLOCKS"] = "%1 à¤¬à¥à¤²à¥‰à¤• à¤¹à¤Ÿà¤¾à¤à¤";
+Blockly.Msg["DISABLE_BLOCK"] = "बà¥à¤²à¥‰à¤• à¤•à¥‹ à¤…कà¥à¤·à¤® à¤•à¤°à¥‡à¤‚";
+Blockly.Msg["DUPLICATE_BLOCK"] = "कॉपी à¤•à¤°à¥‡à¤‚";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicate Comment";  // untranslated
+Blockly.Msg["ENABLE_BLOCK"] = "बà¥à¤²à¥‰à¤• à¤•à¥‹ à¤¸à¤•à¥à¤·à¤® à¤•à¤°à¥‡à¤‚";
+Blockly.Msg["EXPAND_ALL"] = "बà¥à¤²à¥‰à¤• à¤µà¤¿à¤¸à¥à¤¤à¤¾à¤° à¤•à¤°à¥‡à¤‚";
+Blockly.Msg["EXPAND_BLOCK"] = "बà¥à¤²à¥‰à¤• à¤•à¤¾ à¤µà¤¿à¤¸à¥à¤¤à¤¾à¤° à¤•à¤°à¥‡à¤‚";
+Blockly.Msg["EXTERNAL_INPUTS"] = "बाहरी à¤‡à¤¨à¤ªà¥à¤Ÿ";
+Blockly.Msg["HELP"] = "सहायता";
+Blockly.Msg["INLINE_INPUTS"] = "इनलाइन à¤‡à¤¨à¤ªà¥à¤Ÿ";
+Blockly.Msg["IOS_CANCEL"] = "रदà¥à¤¦ à¤•à¤°à¥‡à¤‚";
+Blockly.Msg["IOS_ERROR"] = "तà¥à¤°à¥à¤Ÿà¤¿";
+Blockly.Msg["IOS_OK"] = "ठीक à¤¹à¥ˆ";
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ à¤‡à¤¨à¤ªà¥à¤Ÿ à¤œà¥‹à¤¡à¤¼à¥‡à¤‚";
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "बयानों à¤•à¥€ à¤…नà¥à¤®à¤¤à¤¿ à¤¦à¥‡à¤‚";
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "इस à¤«à¤‚कà¥à¤¶à¤¨ à¤®à¥‡à¤‚ à¤¨à¤•à¤²à¥€ à¤¨à¤¿à¤µà¥‡à¤¶ à¤¹à¥ˆà¤‚।";
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "इनपà¥à¤Ÿ";
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "जोड़ें";
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ à¤šà¤° à¤œà¥‹à¤¡à¤¼à¥‡à¤‚";
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "हटाà¤à¤";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "आप à¤°à¤¿à¤•à¥à¤¤ à¤šà¤° à¤¨à¤¾à¤® à¤‰à¤ªà¤¯à¥‹à¤— à¤¨à¤¹à¥€à¤‚ à¤•à¤° à¤¸à¤•à¤¤à¥‡";
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "नाम à¤¬à¤¦à¤²à¥‡à¤‚";
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "चर à¤•à¤¾ à¤¨à¤¾à¤®";
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "खाली à¤¸à¥‚ची à¤¬à¤¨à¤¾à¤à¤";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "0 à¤²à¤‚बाई à¤•à¥€, à¤•à¥‹à¤ˆ à¤­à¥€ à¤¡à¥‡à¤Ÿà¤¾ à¤¨à¤¾ à¤°à¤–ने à¤µà¤¾à¤²à¥€ à¤à¤• à¤¸à¥‚ची à¤²à¥Œà¤Ÿà¤¤à¥€ à¤¹à¥ˆ";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "सूची";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "इस à¤¸à¥‚ची à¤¬à¥à¤²à¥‰à¤• à¤•à¥‹ à¤ªà¥à¤¨: à¤†à¤•à¤¾à¤° à¤¦à¥‡à¤¨à¥‡ à¤•à¥‡ à¤²à¤¿à¤ à¤µà¤°à¥à¤—ों à¤•à¥‹ à¤œà¥‹à¤¡à¤¼à¥‡à¤‚, à¤¨à¤¿à¤•à¤¾à¤²à¥‡à¤‚, à¤¯à¤¾ à¤ªà¥à¤¨: à¤•à¥à¤°à¤®à¤¿à¤¤ à¤•à¤°à¥‡à¤‚।";
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "इसके à¤¸à¥‚ची à¤¬à¤¨à¤¾à¤à¤";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "सूची à¤®à¥‡ à¤à¤• à¤†à¤‡à¤Ÿà¤® à¤œà¥‹à¤¡à¤¼à¥‡à¤‚।";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "कितने à¤­à¥€ à¤†à¤‡à¤Ÿà¤® à¤µà¤¾à¤²à¥€ à¤à¤• à¤¸à¥‚ची à¤¬à¤¨à¤¾à¤à¤à¥¤";
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "पहला";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "अंत à¤¸à¥‡ #";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "पà¥à¤°à¤¾à¤ªà¥à¤¤";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "पà¥à¤°à¤¾à¤ªà¥à¤¤ à¤•à¤°à¥‡ à¤”र à¤¹à¤Ÿà¤¾à¤";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "आखिरी";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "रैनà¥à¤¡à¤®";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "निकालें";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "सूची à¤•à¤¾ à¤ªà¤¹à¤²à¤¾ à¤†à¤‡à¤Ÿà¤® à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¤¤à¤¾ à¤¹à¥ˆà¥¤";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "à¤à¤• à¤¸à¥‚ची à¤®à¥‡à¤‚ à¤¨à¤¿à¤°à¥à¤¦à¤¿à¤·à¥à¤Ÿ à¤¸à¥à¤¥à¤¾à¤¨ à¤ªà¤° à¤µà¤¸à¥à¤¤à¥ à¤•à¥‹ à¤²à¥Œà¤Ÿà¤¾à¤¤à¤¾ à¤¹à¥ˆà¥¤";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "सूची à¤•à¤¾ à¤†à¤–री à¤†à¤‡à¤Ÿà¤® à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¤¤à¤¾ à¤¹à¥ˆà¥¤";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "सूची à¤¸à¥‡ à¤°à¥ˆà¤¨à¥à¤¡à¤® à¤†à¤‡à¤Ÿà¤® à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¤¤à¤¾ à¤¹à¥ˆà¥¤";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "सूची à¤•à¤¾ à¤ªà¤¹à¤²à¤¾ à¤†à¤‡à¤Ÿà¤® à¤¨à¤¿à¤•à¤¾à¤²à¤¤à¤¾ à¤¹à¥ˆ à¤”र à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¤¤à¤¾ à¤¹à¥ˆà¥¤";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "à¤à¤• à¤¸à¥‚ची à¤®à¥‡à¤‚ à¤¨à¤¿à¤°à¥à¤¦à¤¿à¤·à¥à¤Ÿ à¤¸à¥à¤¥à¤¿à¤¤à¤¿ à¤®à¥‡à¤‚ à¤†à¤‡à¤Ÿà¤® à¤¨à¤¿à¤•à¤¾à¤²à¤¤à¤¾ à¤¹à¥ˆ à¤”र à¤²à¥Œà¤Ÿà¤¾à¤¤à¤¾ à¤¹à¥ˆà¥¤";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "सूची à¤•à¤¾ à¤†à¤–री à¤†à¤‡à¤Ÿà¤® à¤¨à¤¿à¤•à¤¾à¤²à¤¤à¤¾ à¤¹à¥ˆ à¤”र à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¤¤à¤¾ à¤¹à¥ˆà¥¤";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "सूची à¤¸à¥‡ à¤°à¥ˆà¤¨à¥à¤¡à¤® à¤†à¤‡à¤Ÿà¤® à¤¨à¤¿à¤•à¤¾à¤²à¤¤à¤¾ à¤¹à¥ˆ à¤”र à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¤¤à¤¾ à¤¹à¥ˆà¥¤";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "सूची à¤•à¤¾ à¤ªà¤¹à¤²à¤¾ à¤†à¤‡à¤Ÿà¤® à¤¨à¤¿à¤•à¤¾à¤²à¤¤à¤¾ à¤¹à¥ˆà¥¤";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "à¤à¤• à¤¸à¥‚ची à¤®à¥‡à¤‚ à¤¨à¤¿à¤°à¥à¤¦à¤¿à¤·à¥à¤Ÿ à¤¸à¥à¤¥à¤¾à¤¨ à¤ªà¤° à¤†à¤‡à¤Ÿà¤® à¤¨à¤¿à¤•à¤¾à¤² à¤¦à¥‡à¤¤à¤¾ à¤¹à¥ˆà¥¤";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "सूची à¤•à¤¾ à¤†à¤–री à¤†à¤‡à¤Ÿà¤® à¤¨à¤¿à¤•à¤¾à¤²à¤¤à¤¾ à¤¹à¥ˆà¥¤";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "सूची à¤¸à¥‡ à¤°à¥ˆà¤¨à¥à¤¡à¤® à¤†à¤‡à¤Ÿà¤® à¤¨à¤¿à¤•à¤¾à¤²à¤¤à¤¾ à¤¹à¥ˆà¥¤";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "अंतिम à¤¸à¥‡ # à¤•à¥‹";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "# à¤•à¥‹";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "अंत à¤¸à¥‡";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "पà¥à¤°à¤¥à¤® à¤¸à¥‡ à¤‰à¤ª-सूची à¤ªà¥à¤°à¤¾à¤ªà¥à¤¤ à¤•à¤°à¥‡à¤‚";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "अंत à¤¸à¥‡ # à¤¸à¥‡ à¤‰à¤ª-सूची à¤ªà¥à¤°à¤¾à¤ªà¥à¤¤ à¤•à¤°à¥‡à¤‚";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "# à¤¸à¥‡ à¤‰à¤ª-सूची à¤ªà¥à¤°à¤¾à¤ªà¥à¤¤ à¤•à¤°à¥‡à¤‚";
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "सूची à¤•à¥‡ à¤¬à¤¤à¤¾à¤ à¤—ये à¤­à¤¾à¤— à¤•à¥€ à¤•à¥‰à¤ªà¥€ à¤¬à¤¨à¤¤à¤¾ à¤¹à¥ˆà¥¤";
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 à¤†à¤–िरी à¤µà¤¸à¥à¤¤à¥ à¤¹à¥ˆà¥¤";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 à¤ªà¤¹à¤²à¥€ à¤µà¤¸à¥à¤¤à¥ à¤¹à¥ˆà¥¤";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "आइटम à¤ªà¤¹à¤²à¥€ à¤¬à¤¾à¤° à¤œà¤¹à¤¾à¤ à¤†à¤¯à¤¾ à¤¹à¥ˆ à¤‰à¤¸à¥‡ à¤¢à¥‚ढ़े";
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "आइटम à¤†à¤–री à¤¬à¤¾à¤° à¤œà¤¹à¤¾à¤ à¤†à¤¯à¤¾ à¤¹à¥ˆ à¤‰à¤¸à¥‡ à¤¢à¥‚ढ़े";
+Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "सूची à¤®à¥‡à¤‚ à¤†à¤‡à¤Ÿà¤® à¤•à¥€ à¤ªà¤¹à¤²à¥€/अंतिम à¤˜à¤Ÿà¤¨à¤¾ à¤•à¤¾ à¤¸à¥‚चक à¤¦à¥‡à¤¤à¤¾ à¤¹à¥ˆà¥¤ à¤¯à¤¦à¤¿ à¤†à¤‡à¤Ÿà¤® à¤¨à¤¹à¥€à¤‚ à¤®à¤¿à¤²à¤¾ à¤¹à¥ˆ à¤¤à¥‹ %1 à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤¹à¥‹à¤¤à¤¾ à¤¹à¥ˆà¥¤";
+Blockly.Msg["LISTS_INLIST"] = "सूची à¤®à¥‡à¤‚";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 à¤–ाली à¤¹à¥ˆ";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "यदि à¤¸à¥‚ची à¤–ाली à¤¹à¥ˆ à¤¤à¥‹ à¤Ÿà¥à¤°à¥‚ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¤¤à¤¾ à¤¹à¥ˆà¥¤";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "%1 à¤•à¥€ à¤²à¤‚बाई";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "सूची à¤•à¥€ à¤²à¤‚बाई à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¤¤à¤¾ à¤¹à¥ˆà¥¤";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "वसà¥à¤¤à¥ %1 à¤•à¥‡ à¤¸à¤¾à¤¥ %2 à¤¬à¤¾à¤° à¤¦à¥‹à¤¹à¤°à¤¾à¤ˆ à¤—यी à¤¸à¥‚ची à¤¬à¤¨à¤¾à¤à¤‚";
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "निरà¥à¤§à¤¾à¤°à¤¿à¤¤ à¤®à¤¾à¤¨ à¤•à¥€ à¤¬à¤¾à¤°-बार à¤¦à¥‹à¤¹à¤°à¤¾à¤ˆ à¤—ई à¤à¤• à¤¸à¥‚ची à¤¬à¤¨à¤¾à¤¤à¤¾ à¤¹à¥ˆà¥¤";
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";  // untranslated
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "%1 à¤•à¥‹ à¤¬à¤¦à¤² à¤¦à¥‡à¤‚";
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "à¤à¤• à¤¸à¥‚ची à¤•à¥€ à¤à¤• à¤ªà¥à¤°à¤¤à¤¿ à¤•à¥‹ à¤›à¤¾à¤‚टे।";
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "बतौर";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "पर à¤¡à¤¾à¤²à¥‡à¤‚";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "सैट à¤•à¤°à¥‡à¤‚";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "आइटम à¤•à¥‹ à¤¸à¥‚ची à¤•à¥‡ à¤¶à¥à¤°à¥‚ à¤®à¥‡à¤‚ à¤‡à¤¨à¤¸à¤°à¥à¤Ÿ à¤•à¤°à¤¤à¤¾ à¤¹à¥ˆà¥¤";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "सूची à¤®à¥‡ à¤¬à¤¤à¤¾à¤ à¤—ये à¤¸à¥à¤¥à¤¾à¤¨ à¤®à¥‡à¤‚ à¤†à¤‡à¤Ÿà¤® à¤‡à¤¨à¤¸à¤°à¥à¤Ÿ à¤•à¤°à¤¤à¤¾ à¤¹à¥ˆà¥¤";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "आइटम à¤•à¥‹ à¤¸à¥‚ची à¤•à¥‡ à¤…ंत à¤®à¥‡à¤‚ à¤œà¥‹à¤¡à¤¼à¤¤à¤¾ à¤¹à¥ˆà¥¤";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "आइटम à¤•à¥‹ à¤¸à¥‚ची à¤®à¥‡à¤‚ à¤°à¥ˆà¤¨à¥à¤¡à¤®à¥à¤²à¥€ à¤‡à¤¨à¤¸à¤°à¥à¤Ÿ à¤•à¤°à¤¤à¤¾ à¤¹à¥ˆà¥¤";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "सूची à¤®à¥‡à¤‚ à¤ªà¤¹à¤²à¤¾ à¤†à¤‡à¤Ÿà¤® à¤¸à¥ˆà¤Ÿ à¤•à¤°à¤¤à¤¾ à¤¹à¥ˆà¥¤";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "सूची à¤®à¥‡ à¤¬à¤¤à¤¾à¤ à¤—ये à¤¸à¥à¤¥à¤¾à¤¨ à¤®à¥‡à¤‚ à¤†à¤‡à¤Ÿà¤® à¤¸à¥ˆà¤Ÿ à¤•à¤°à¤¤à¤¾ à¤¹à¥ˆà¥¤";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "सूची à¤®à¥‡à¤‚ à¤†à¤–री à¤†à¤‡à¤Ÿà¤® à¤¸à¥ˆà¤Ÿ à¤•à¤°à¤¤à¤¾ à¤¹à¥ˆà¥¤";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "सूची à¤®à¥‡à¤‚ à¤°à¥ˆà¤¨à¥à¤¡à¤® à¤†à¤‡à¤Ÿà¤® à¤¸à¥ˆà¤Ÿ à¤•à¤°à¤¤à¤¾ à¤¹à¥ˆà¥¤";
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "बढ़ते à¤•à¥à¤°à¤®";
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "बढ़ते à¤•à¥à¤°à¤® à¤®à¥‡à¤‚";
+Blockly.Msg["LISTS_SORT_TITLE"] = "%1 %2 %3 à¤•à¥‹ à¤›à¤¾à¤‚टे";
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "à¤à¤• à¤¸à¥‚ची à¤•à¥€ à¤à¤• à¤ªà¥à¤°à¤¤à¤¿ à¤•à¥‹ à¤›à¤¾à¤‚टे।";
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "वरà¥à¤£à¤•à¥à¤°à¤®à¤¾à¤¨à¥à¤¸à¤¾à¤°, à¤®à¤¾à¤®à¤²à¥‡ à¤•à¥€ à¤…नदेखी à¤•à¤°à¥‡à¤‚";
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "अंकीय";
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "वरà¥à¤£à¤•à¥à¤°à¤®à¤¾à¤¨à¥à¤¸à¤¾à¤°";
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "पाठ à¤¸à¥‡ à¤à¤• à¤¸à¥‚ची à¤¬à¤¨à¤¾à¤à¤‚";
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "सूची à¤¸à¥‡ à¤à¤• à¤ªà¤¾à¤  à¤¬à¤¨à¤¾à¤à¤‚";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "गà¥à¤°à¤‚थों à¤•à¥€ à¤à¤• à¤¸à¥‚ची à¤®à¥‡à¤‚ à¤¶à¤¾à¤®à¤¿à¤² à¤•à¤°à¥‡à¤‚, à¤œà¥‹ à¤à¤• à¤¸à¥€à¤®à¤¾à¤‚कक à¤¸à¥‡ à¤…लग à¤¹à¥‹à¥¤";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "गà¥à¤°à¤‚थों à¤•à¥€ à¤¸à¥‚ची à¤®à¥‡à¤‚ à¤ªà¤¾à¤  à¤•à¥‹ à¤µà¤¿à¤­à¤¾à¤œà¤¿à¤¤ à¤•à¤°à¥‡à¤‚, à¤ªà¥à¤°à¤¤à¥à¤¯à¥‡à¤• à¤¸à¥€à¤®à¤¾à¤‚कक à¤ªà¤° à¤¤à¥‹à¤¡à¤¼à¤•à¤°à¥¤";
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "सीमांकक à¤•à¥‡ à¤¸à¤¾à¤¥";
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "गलत";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "टà¥à¤°à¥‚ à¤¯à¤¾ à¤«à¥‰à¤²à¥à¤¸ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¤¤à¤¾ à¤¹à¥ˆà¥¤";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "सही";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://en.wikipedia.org/wiki/Inequality_(mathematics)";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "टà¥à¤°à¥‚ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚ à¤¯à¤¦à¤¿ à¤¦à¥‹à¤¨à¥‹ à¤‡à¤¨à¤ªà¥à¤Ÿ à¤‡à¤• à¤¦à¥‚सरे à¤•à¥‡ à¤¬à¤°à¤¾à¤¬à¤° à¤¹à¥‹à¤‚।";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "टà¥à¤°à¥‚ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚ à¤¯à¤¦à¤¿ à¤ªà¤¹à¤²à¤¾ à¤‡à¤¨à¤ªà¥à¤Ÿ à¤¦à¥‚सरे à¤‡à¤¨à¤ªà¥à¤Ÿ à¤¸à¥‡ à¤¬à¤¡à¤¼à¤¾ à¤¹à¥‹à¥¤";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "टà¥à¤°à¥‚ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚ à¤¯à¤¦à¤¿ à¤ªà¤¹à¤²à¤¾ à¤‡à¤¨à¤ªà¥à¤Ÿ à¤¦à¥‚सरे à¤‡à¤¨à¤ªà¥à¤Ÿ à¤¸à¥‡ à¤¬à¤¡à¤¼à¤¾ à¤¹à¥‹ à¤¯à¤¾ à¤¬à¤°à¤¾à¤¬à¤° à¤¹à¥‹à¥¤";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "टà¥à¤°à¥‚ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚ à¤¯à¤¦à¤¿ à¤ªà¤¹à¤²à¤¾ à¤‡à¤¨à¤ªà¥à¤Ÿ à¤¦à¥‚सरे à¤‡à¤¨à¤ªà¥à¤Ÿ à¤¸à¥‡ à¤›à¥‹à¤Ÿà¤¾ à¤¹à¥‹à¥¤";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "टà¥à¤°à¥‚ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚ à¤¯à¤¦à¤¿ à¤ªà¤¹à¤²à¤¾ à¤‡à¤¨à¤ªà¥à¤Ÿ à¤¦à¥‚सरे à¤‡à¤¨à¤ªà¥à¤Ÿ à¤¸à¥‡ à¤›à¥‹à¤Ÿà¤¾ à¤¹à¥‹ à¤¯à¤¾ à¤¬à¤°à¤¾à¤¬à¤° à¤¹à¥‹à¥¤";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "टà¥à¤°à¥‚ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚ à¤¯à¤¦à¤¿ à¤¦à¥‹à¤¨à¥‹ à¤‡à¤¨à¤ªà¥à¤Ÿ à¤‡à¤• à¤¦à¥‚सरे à¤•à¥‡ à¤¬à¤°à¤¾à¤¬à¤° à¤¨à¤¹à¥€à¤‚ à¤¹à¥‹à¤‚।";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "NOT (पूरक) %1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "टà¥à¤°à¥‚ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¤¤à¤¾ à¤¹à¥ˆ à¤¯à¤¦à¤¿ à¤‡à¤¨à¤ªà¥à¤Ÿ à¤«à¥‰à¤²à¥à¤¸ à¤¹à¥ˆà¥¤ à¤«à¥‰à¤²à¥à¤¸ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¤¤à¤¾ à¤¹à¥ˆ à¤¯à¤¦à¤¿ à¤‡à¤¨à¤ªà¥à¤Ÿ à¤Ÿà¥à¤°à¥‚ à¤¹à¥ˆà¥¤";
+Blockly.Msg["LOGIC_NULL"] = "NULL (अमानà¥à¤¯)";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";  // untranslated
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "null (अमानà¥à¤¯) à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¤¤à¤¾ à¤¹à¥ˆà¥¤";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "AND (तथा)";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "OR (अथवा)";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "टà¥à¤°à¥‚ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚ à¤¯à¤¦à¤¿ à¤¦à¥‹à¤¨à¥‹ à¤‡à¤¨à¤ªà¥à¤Ÿ à¤Ÿà¥à¤°à¥‚ à¤¹à¥‹à¤‚।";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "टà¥à¤°à¥‚ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚ à¤¯à¤¦à¤¿ à¤¦à¥‹à¤¨à¥‹ à¤®à¥‡ à¤¸à¥‡ à¤‡à¤• à¤‡à¤¨à¤ªà¥à¤Ÿ à¤Ÿà¥à¤°à¥‚ à¤¹à¥‹à¥¤";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "टेसà¥à¤Ÿ";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "यदि à¤—लत à¤¹à¥ˆ";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "यदि à¤¸à¤¹à¥€ à¤¹à¥ˆ";
+Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "'परीकà¥à¤·à¤£' à¤®à¥‡à¤‚ à¤¹à¤¾à¤²à¤¤ à¤•à¥€ à¤œà¤¾à¤‚च à¤•à¤°à¥‡à¤‚। à¤¯à¤¦à¤¿ à¤¸à¥à¤¥à¤¿à¤¤à¤¿ à¤¸à¤¹à¥€ à¤¹à¥ˆ, à¤¤à¥‹ 'सच' à¤®à¤¾à¤¨ à¤²à¥Œà¤Ÿà¤¾à¤¤à¤¾ à¤¹à¥ˆ; à¤…नà¥à¤¯à¤¥à¤¾ à¤µà¤¾à¤ªà¤¸ à¤²à¥Œà¤Ÿà¤¤à¤¾ 'अगर à¤à¥‚ठा'मान à¤¦à¥‡à¤¤à¤¾ à¤¹à¥ˆà¥¤";
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://en.wikipedia.org/wiki/Arithmetic";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "दो à¤¸à¤‚खà¥à¤¯à¤¾à¤“ं à¤•à¤¾ à¤¯à¥‹à¤— à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚।";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "दो à¤¸à¤‚खà¥à¤¯à¤¾à¤“ं à¤•à¤¾ à¤­à¤¾à¤—फल à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚।";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "दो à¤¸à¤‚खà¥à¤¯à¤¾à¤“ं à¤•à¤¾ à¤…ंतर à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚।";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "दो à¤¸à¤‚खà¥à¤¯à¤¾à¤“ं à¤•à¤¾ à¤—à¥à¤£à¤¨ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚।";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "दूसरे à¤¨à¤‚बर à¤•à¥€ à¤¶à¤•à¥à¤¤à¤¿ à¤•à¥‹ à¤‰à¤ à¤¾à¤ à¤—ठपहले à¤¨à¤‚बर à¤ªà¤° à¤²à¥Œà¤Ÿà¥‡à¤‚";
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";
+Blockly.Msg["MATH_CHANGE_TITLE"] = "%1 à¤•à¥‹ %2 à¤¸à¥‡ à¤¬à¤¦à¤²à¥‡à¤‚";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "संखà¥à¤¯à¤¾ à¤•à¥‹ à¤šà¤° '%1' à¤¸à¥‡ à¤œà¥‹à¤¡à¤¼à¥‡à¤‚।";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://en.wikipedia.org/wiki/Mathematical_constant";
+Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "सामानà¥à¤¯ à¤¸à¥à¤¥à¤¿à¤°à¤¾à¤‚क à¤®à¥‡à¤‚ à¤¸à¥‡ à¤à¤• à¤•à¥‹ à¤µà¤¾à¤ªà¤¸ à¤²à¥Œà¤Ÿà¥‡à¤‚:Ï€ (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)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "%1 à¤•à¤® %2 à¤‰à¤šà¥à¤š %3 à¤¬à¤¾à¤§à¤¿à¤¤ à¤•à¤°à¥‡à¤‚";
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "à¤à¤• à¤¸à¤‚खà¥à¤¯à¤¾ à¤•à¥‹ à¤¨à¤¿à¤°à¥à¤¦à¤¿à¤·à¥à¤Ÿ à¤¸à¥€à¤®à¤¾ (समà¥à¤®à¤¿à¤²à¤¿à¤¤) à¤•à¥‡ à¤¬à¥€à¤š à¤¬à¤¾à¤§à¤¿à¤¤ à¤•à¤°à¥‡à¤‚।";
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";  // untranslated
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "इसके à¤¦à¥à¤µà¤¾à¤°à¤¾ à¤µà¤¿à¤­à¤¾à¤œà¥à¤¯ à¤¹à¥ˆ";
+Blockly.Msg["MATH_IS_EVEN"] = "सम à¤¹à¥ˆ";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "ऋणातà¥à¤®à¤• à¤¹à¥ˆ";
+Blockly.Msg["MATH_IS_ODD"] = "विषम à¤¹à¥ˆ";
+Blockly.Msg["MATH_IS_POSITIVE"] = "धनातà¥à¤®à¤• à¤¹à¥ˆ";
+Blockly.Msg["MATH_IS_PRIME"] = "अभाजà¥à¤¯ à¤¹à¥ˆ";
+Blockly.Msg["MATH_IS_TOOLTIP"] = "जांचें à¤•à¤¿ à¤•à¥à¤¯à¤¾ à¤•à¥‹à¤ˆ à¤¸à¤‚खà¥à¤¯à¤¾ à¤à¤• à¤¸à¤®, à¤µà¤¿à¤·à¤®, à¤®à¥à¤–à¥à¤¯, à¤¸à¤‚पूरà¥à¤£, à¤¸à¤•à¤¾à¤°à¤¾à¤¤à¥à¤®à¤•, à¤¨à¤•à¤¾à¤°à¤¾à¤¤à¥à¤®à¤• à¤¹à¥ˆ à¤¯à¤¾ à¤¯à¤¦à¤¿ à¤µà¤¹ à¤¨à¤¿à¤¶à¥à¤šà¤¿à¤¤ à¤¸à¤‚खà¥à¤¯à¤¾ à¤¸à¥‡ à¤µà¤¿à¤­à¤¾à¤œà¤¿à¤¤ à¤¹à¥ˆà¥¤ à¤µà¤¾à¤¸à¥à¤¤à¤µà¤¿à¤• à¤¯à¤¾ à¤—लत à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤¦à¥‡à¤¤à¤¾ à¤¹à¥ˆà¥¤";
+Blockly.Msg["MATH_IS_WHOLE"] = "पूरà¥à¤£à¤¾à¤‚क à¤¹à¥ˆ";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://en.wikipedia.org/wiki/Modulo_operation";
+Blockly.Msg["MATH_MODULO_TITLE"] = "%1 Ã· %2 à¤•à¤¾ à¤¶à¥‡à¤·à¤«à¤²";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "दो à¤¸à¤‚खà¥à¤¯à¤¾à¤“ं à¤•à¥‡ à¤­à¤¾à¤— à¤•à¤¾ à¤¶à¥‡à¤·à¤«à¤² à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚।";
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";  // untranslated
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://en.wikipedia.org/wiki/Number";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "à¤à¤• à¤¸à¤‚खà¥à¤¯à¤¾à¥¤";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "सूची à¤•à¤¾ à¤”सत à¤®à¤¾à¤¨";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "सूची à¤®à¥‡ à¤…धिकतम";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "सूची à¤•à¥€ à¤®à¤¾à¤§à¥à¤¯à¤¿à¤•à¤¾";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "सूची à¤®à¥‡ à¤¨à¥à¤¯à¥‚नतम";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "सूची à¤•à¤¾ à¤®à¥‹à¤¡";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "सूची à¤•à¤¾ à¤°à¥ˆà¤¨à¥à¤¡à¤® à¤†à¤‡à¤Ÿà¤®";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "सूची à¤•à¤¾ à¤®à¤¾à¤¨à¤• à¤µà¤¿à¤šà¤²à¤¨";
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "सूची à¤•à¤¾ à¤¯à¥‹à¤—";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "सूची à¤®à¥‡à¤‚ à¤¸à¤‚खà¥à¤¯à¤¾à¤¤à¥à¤®à¤• à¤®à¤¾à¤¨à¥‹à¤‚ à¤•à¤¾ à¤”सत (अंकगणित à¤®à¤¾à¤§à¥à¤¯) à¤²à¥Œà¤Ÿà¥‡à¤‚।";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "सूची à¤®à¥‡à¤‚ à¤¸à¤¬à¤¸à¥‡ à¤¬à¤¡à¤¼à¥€ à¤¸à¤‚खà¥à¤¯à¤¾ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚।";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "सूची à¤•à¥€ à¤®à¤¾à¤§à¥à¤¯à¤¿à¤•à¤¾ à¤¸à¤‚खà¥à¤¯à¤¾ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚।";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "सूची à¤®à¥‡ à¤¸à¤¬à¤¸à¥‡ à¤›à¥‹à¤Ÿà¥€ à¤¸à¤‚खà¥à¤¯à¤¾ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚।";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "सूची à¤®à¥‡ à¤¸à¤¬à¤¸à¥‡ à¤†à¤® à¤†à¤‡à¤Ÿà¤®(s) à¤•à¥€ à¤¸à¥‚ची à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚।";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "सूची à¤¸à¥‡ à¤à¤• à¤°à¥ˆà¤¨à¥à¤¡à¤® à¤†à¤‡à¤Ÿà¤® à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚।";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "सूची à¤•à¤¾ à¤®à¤¾à¤¨à¤• à¤µà¤¿à¤šà¤²à¤¨ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚।";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "सूची à¤•à¥€ à¤¸à¤­à¥€ à¤¸à¤‚खà¥à¤¯à¤¾à¤“ं à¤•à¤¾ à¤¯à¥‹à¤— à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚।";
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "रैनà¥à¤¡à¤® à¤…ंश";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "0.0 (समावेशी) à¤”र 1.0 (विशिषà¥à¤Ÿ) à¤•à¥‡ à¤¬à¥€à¤š à¤à¤• à¤¯à¤¾à¤¦à¥ƒà¤šà¥à¤›à¤¿à¤• à¤…ंश à¤ªà¤° à¤²à¥Œà¤Ÿà¥‡à¤‚।";
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "%1 à¤¸à¥‡ %2 à¤¤à¤• à¤°à¥ˆà¤¨à¥à¤¡à¤® à¤ªà¥‚रà¥à¤£à¤¾à¤‚क";
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "दो à¤¨à¤¿à¤°à¥à¤¦à¤¿à¤·à¥à¤Ÿ à¤¸à¥€à¤®à¤¾à¤“ं, à¤¸à¤®à¤¾à¤µà¥‡à¤¶à¥€ à¤•à¥‡ à¤¬à¥€à¤š à¤à¤• à¤¯à¤¾à¤¦à¥ƒà¤šà¥à¤›à¤¿à¤• à¤ªà¥‚रà¥à¤£à¤¾à¤‚क à¤²à¥Œà¤Ÿà¥‡à¤‚।";
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://en.wikipedia.org/wiki/Rounding";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "पूरà¥à¤£à¤¾à¤‚क à¤¬à¤¨à¤¾à¤à¤";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "घटा à¤•à¥‡ à¤ªà¥‚रà¥à¤£à¤¾à¤‚क à¤¬à¤¨à¤¾à¤à¤";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "बड़ा à¤•à¥‡ à¤ªà¥‚रà¥à¤£à¤¾à¤‚क à¤¬à¤¨à¤¾à¤à¤";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "संखà¥à¤¯à¤¾ à¤•à¥‹ à¤¬à¤¡à¤¼à¤¾ à¤¯à¤¾ à¤˜à¤Ÿà¤¾ à¤•à¥‡ à¤ªà¥‚रà¥à¤£à¤¾à¤‚क à¤¬à¤¨à¤¾à¤à¤à¥¤";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://en.wikipedia.org/wiki/Square_root";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "परम";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "वरà¥à¤—मूल";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "संखà¥à¤¯à¤¾ à¤•à¤¾ à¤ªà¤°à¤® à¤®à¤¾à¤¨ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚।";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "किसी à¤¸à¤‚खà¥à¤¯à¤¾ à¤•à¥€ à¤¶à¤•à¥à¤¤à¤¿ à¤•à¥‹ à¤µà¤¾à¤ªà¤¸ à¤ˆ à¤•à¤°à¥‡à¤‚।";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "संखà¥à¤¯à¤¾ à¤•à¤¾ à¤ªà¥à¤°à¤¾à¤•à¥ƒà¤¤à¤¿à¤• à¤²à¤˜à¥à¤—णक à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚।";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "संखà¥à¤¯à¤¾ à¤•à¤¾ à¤®à¥‚ल 10 à¤²à¤˜à¥à¤—णक à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚।";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "संखà¥à¤¯à¤¾ à¤•à¤¾ à¤¨à¤¿à¤·à¥‡à¤§ à¤®à¤¾à¤¨ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚।";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "किसी à¤¸à¤‚खà¥à¤¯à¤¾ à¤•à¥€ à¤¶à¤•à¥à¤¤à¤¿ à¤ªà¤° 10 à¤²à¥Œà¤Ÿà¥‡à¤‚।";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "संखà¥à¤¯à¤¾ à¤•à¤¾ à¤µà¤°à¥à¤—मूल à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚।";
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";  // untranslated
+Blockly.Msg["MATH_TRIG_ACOS"] = "acos";  // untranslated
+Blockly.Msg["MATH_TRIG_ASIN"] = "asin";  // untranslated
+Blockly.Msg["MATH_TRIG_ATAN"] = "atan";  // untranslated
+Blockly.Msg["MATH_TRIG_COS"] = "cos";  // untranslated
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://en.wikipedia.org/wiki/Trigonometric_functions";
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";  // untranslated
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "संखà¥à¤¯à¤¾ à¤•à¤¾ à¤†à¤°à¥à¤•à¤•à¥‹à¤¸à¤¾à¤‡à¤¨ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚।";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "संखà¥à¤¯à¤¾ à¤•à¤¾ à¤†à¤°à¥à¤•à¤¸à¤¾à¤‡à¤¨ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚।";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "संखà¥à¤¯à¤¾ à¤•à¤¾ à¤†à¤°à¥à¤•à¤Ÿà¥ˆà¤¨à¥à¤œà¤¨à¥à¤Ÿ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚।";
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "डिगà¥à¤°à¥€ à¤•à¤¾ à¤•à¥‹à¤¸à¤¾à¤‡à¤¨ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚ (रेडियन à¤¨à¤¹à¥€)";
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "डिगà¥à¤°à¥€ à¤•à¤¾ à¤¸à¤¾à¤‡à¤¨ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚ (रेडियन à¤¨à¤¹à¥€)";
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "डिगà¥à¤°à¥€ à¤•à¤¾ à¤Ÿà¥ˆà¤¨à¥à¤œà¤¨à¥à¤Ÿ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚ (रेडियन à¤¨à¤¹à¥€)";
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "रंग à¤šà¤° à¤¬à¤¨à¤¾à¤à¤...";
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "संखà¥à¤¯à¤¾ à¤šà¤° à¤¬à¤¨à¤¾à¤¯à¥‡à¤‚...";
+Blockly.Msg["NEW_STRING_VARIABLE"] = "लड़ी à¤šà¤° à¤¬à¤¨à¤¾à¤¯à¥‡à¤‚...";
+Blockly.Msg["NEW_VARIABLE"] = "चर à¤¬à¤¨à¤¾à¤à¤...";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "नठचर à¤•à¤¾ à¤¨à¤¾à¤®:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "नठचर à¤•à¤¾ à¤¨à¤¾à¤®:";
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "बयानों à¤•à¥€ à¤…नà¥à¤®à¤¤à¤¿ à¤¦à¥‡à¤‚";
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = ": à¤•à¥‡ à¤¸à¤¾à¤¥";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "यूज़र à¤¦à¥à¤µà¤¾à¤°à¤¾ à¤µà¤°à¥à¤£à¤¨ à¤•à¤¿à¤¯à¤¾ à¤—या à¤«à¤¼à¤‚कà¥à¤¶à¤¨ '%1' à¤šà¤²à¤¾à¤à¤à¥¤";
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "यूज़र à¤¦à¥à¤µà¤¾à¤°à¤¾ à¤µà¤°à¥à¤£à¤¨ à¤•à¤¿à¤¯à¤¾ à¤—या à¤«à¤¼à¤‚कà¥à¤¶à¤¨ '%1' à¤šà¤²à¤¾à¤à¤ à¤”र à¤‰à¤¸à¤•à¤¾ à¤†à¤‰à¤Ÿà¤ªà¥à¤Ÿ à¤‡à¤¸à¥à¤¤à¥‡à¤®à¤¾à¤² à¤•à¤°à¥‡à¤‚।";
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = ": à¤•à¥‡ à¤¸à¤¾à¤¥";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "'%1' à¤¬à¤¨à¤¾à¤à¤";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "इस à¤«à¤‚कशन à¤•à¥‹ à¤¸à¤®à¤à¤¾à¤à¤...";
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "कà¥à¤› à¤•à¤°à¥‡à¤‚";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "को";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "बिना à¤†à¤‰à¤Ÿà¤ªà¥à¤Ÿ à¤µà¤¾à¤²à¤¾ à¤à¤• à¤«à¤¼à¤‚कà¥à¤¶à¤¨ à¤¬à¤¨à¤¾à¤¤à¤¾ à¤¹à¥ˆà¥¤";
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "वापस à¤†à¤à¤‚";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "आउटपà¥à¤Ÿ à¤µà¤¾à¤²à¤¾ à¤à¤• à¤«à¤¼à¤‚कà¥à¤¶à¤¨ à¤¬à¤¨à¤¾à¤¤à¤¾ à¤¹à¥ˆà¥¤";
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "सावधान: à¤‡à¤¸ à¤«à¤¼à¤‚कà¥à¤¶à¤¨ à¤®à¥‡ à¤¡à¥à¤ªà¥à¤²à¤¿à¤•à¥‡à¤Ÿ à¤ªà¥ˆà¤°à¤¾à¤®à¥€à¤Ÿà¤° à¤¹à¥ˆà¤‚।";
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "फ़ंकà¥à¤¶à¤¨ à¤ªà¤°à¤¿à¤­à¤¾à¤·à¤¾ à¤•à¥‹ à¤¹à¤¾à¤‡à¤²à¤¾à¤‡à¤Ÿ à¤•à¤°à¥‡à¤‚";
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "यदि à¤à¤• à¤®à¤¾à¤¨ à¤Ÿà¥à¤°à¥‚ à¤¹à¥ˆ à¤¤à¥‹, à¤¦à¥‚सरा à¤®à¤¾à¤¨ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚।";
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "सावधान: à¤¯à¥‡ à¤¬à¥à¤²à¥‰à¤• à¤«à¤¼à¤‚कà¥à¤¶à¤¨ à¤ªà¤°à¤¿à¤­à¤¾à¤·à¤¾ à¤•à¥‡ à¤…ंदर à¤¹à¥€ à¤‡à¤¸à¥à¤¤à¥‡à¤®à¤¾à¤² à¤•à¤¿à¤¯à¤¾ à¤œà¤¾ à¤¸à¤•à¤¤à¤¾à¥¤";
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "इनपà¥à¤Ÿ à¤•à¤¾ à¤¨à¤¾à¤®:";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "फंगकà¥à¤¶à¤¨ à¤•à¥‹ à¤‡à¤¨à¤ªà¥à¤Ÿ à¤ªà¥à¤°à¤¦à¤¾à¤¨ à¤•à¤°à¥‡à¤‚।";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "इनपà¥à¤Ÿ";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "इस à¤«à¤¼à¤‚कà¥à¤¶à¤¨ à¤®à¥‡à¤‚ à¤‡à¤¨à¤ªà¥à¤Ÿ à¤œà¥‹à¤¡à¤¼à¥‡à¤‚, à¤¨à¤¿à¤•à¤¾à¤²à¥‡à¤‚, à¤¯à¤¾ à¤ªà¥à¤¨: à¤•à¥à¤°à¤®à¤¿à¤¤ à¤•à¤°à¥‡à¤‚।";
+Blockly.Msg["REDO"] = "फिर à¤¸à¥‡ à¤•à¤°à¥‡à¤‚";
+Blockly.Msg["REMOVE_COMMENT"] = "टिपà¥à¤ªà¤£à¥€ à¤¹à¤Ÿà¤¾à¤¯à¥‡à¤‚";
+Blockly.Msg["RENAME_VARIABLE"] = "चर à¤•à¤¾ à¤¨à¤¾à¤® à¤¬à¤¦à¤²à¥‡à¤‚...";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "सभी '%1' à¤šà¤°à¥‹à¤‚ à¤•à¥‡ à¤¨à¤¾à¤® à¤¬à¤¦à¤²à¥‡à¤‚:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "%1 à¤®à¥‡à¤‚ à¤ªà¤¾à¤  %2 à¤•à¥‹ à¤œà¥‹à¤¡à¤¼à¥‡à¤‚";
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "कà¥à¤› à¤Ÿà¥‡à¤•à¥à¤¸à¥à¤Ÿ à¤‡à¤¸ à¤šà¤° '%1' à¤¸à¥‡ à¤œà¥‹à¤¡à¤¼à¥‡à¤‚।";
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "छोटे à¤…कà¥à¤·à¤° à¤®à¥‡";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "टाइटल à¤•à¥‡à¤¸ à¤®à¥‡";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "बड़े à¤…कà¥à¤·à¤° à¤®à¥‡";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "टेकà¥à¤¸à¥à¤Ÿ à¤•à¥€ à¤•à¥‰à¤ªà¥€ à¤­à¤¿à¤¨à¥à¤¨ à¤•à¥‡à¤¸ (अकà¥à¤·à¤° à¤¸à¥‡ à¤¸à¤‚बंधित) à¤®à¥‡ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚।";
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "पहला à¤…कà¥à¤·à¤° à¤ªà¤¾à¤à¤";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "आखिर à¤¸à¥‡ à¤…कà¥à¤·à¤° # à¤ªà¤¾à¤à¤";
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "अकà¥à¤·à¤° # à¤ªà¤¾à¤à¤";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "आखरी à¤…कà¥à¤·à¤° à¤ªà¤¾à¤à¤";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "रैनà¥à¤¡à¤® à¤…कà¥à¤·à¤° à¤ªà¤¾à¤à¤";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "पाठ %1 %2 à¤®à¥‡à¤‚";
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "बताई à¤—यी à¤œà¤—ह à¤¸à¥‡ à¤…कà¥à¤·à¤° à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¤¤à¤¾ à¤¹à¥ˆ";
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";  // untranslated
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "%1 à¤•à¥‹ %2 à¤®à¥‡à¤‚ à¤—िने";
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "गिने, à¤•à¤¿à¤¤à¤¨à¥€ à¤¬à¤¾à¤° à¤•à¥à¤› à¤ªà¤¾à¤  à¤•à¥à¤› à¤…नà¥à¤¯ à¤ªà¤¾à¤  à¤•à¥‡ à¤…ंदर à¤¸à¤®à¤¾à¤¹à¤¿à¤¤ à¤¹à¥‹à¤¤à¤¾ à¤¹à¥ˆà¥¤";
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "सूची à¤®à¥‡ à¤à¤• à¤†à¤‡à¤Ÿà¤® à¤œà¥‹à¤¡à¤¼à¥‡à¤‚।";
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "जोड़";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "भाग à¤•à¥‹ à¤¸à¤®à¤¨à¤°à¥‚प à¤¬à¤¨à¤¾à¤¨à¥‡ à¤•à¥‡ à¤²à¤¿à¤ à¤œà¥‹à¤™à¥‡à¤‚, à¤¹à¤Ÿà¤¾à¤à¤‚, à¤¯à¤¾ à¤ªà¥à¤¨à¤ƒ à¤µà¥à¤¯à¤µà¤¸à¥à¤¥à¤¿à¤¤ à¤•à¤°à¥‡à¤‚ à¤¯à¤¦à¤¿ à¤¯à¤¹ à¤¬à¤‚द à¤¹à¥ˆà¥¤";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "आखिर à¤¸à¥‡ à¤¯à¤¹à¤¾à¤ à¤¤à¤• à¤…कà¥à¤·à¤° #";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "यहाठतक à¤…कà¥à¤·à¤° #";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "यहाठतक à¤†à¤–री à¤…कà¥à¤·à¤°";
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "इस à¤Ÿà¥‡à¤•à¥à¤¸à¥à¤Ÿ à¤®à¥‡";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "पहले à¤…कà¥à¤·à¤° à¤¸à¥‡ à¤¸à¤¬à¤¸à¥à¤Ÿà¥à¤°à¤¿à¤‚ग à¤ªà¤¾à¤à¤";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "आखरी à¤…कà¥à¤·à¤° # à¤¸à¥‡ à¤¸à¤¬à¤¸à¥à¤Ÿà¥à¤°à¤¿à¤‚ग à¤ªà¤¾à¤à¤";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "अकà¥à¤·à¤° # à¤¸à¥‡ à¤¸à¤¬à¤¸à¥à¤Ÿà¥à¤°à¤¿à¤‚ग à¤ªà¤¾à¤à¤";
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "टेकà¥à¤¸à¥à¤Ÿ à¤•à¤¾ à¤¬à¤¤à¤¾à¤¯à¤¾ à¤—या à¤…ंश à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¤¤à¤¾ à¤¹à¥ˆ";
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "टेकà¥à¤¸à¥à¤Ÿ à¤ªà¤¹à¤²à¥€ à¤¬à¤¾à¤° à¤œà¤¹à¤¾à¤ à¤†à¤¯à¤¾ à¤¹à¥ˆ à¤‰à¤¸à¥‡ à¤¢à¥‚ढ़े";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "टेकà¥à¤¸à¥à¤Ÿ à¤†à¤–री à¤¬à¤¾à¤° à¤œà¤¹à¤¾à¤ à¤†à¤¯à¤¾ à¤¹à¥ˆ à¤‰à¤¸à¥‡ à¤¢à¥‚ढ़े";
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "पाठ %1 %2 %3 à¤®à¥‡à¤‚";
+Blockly.Msg["TEXT_INDEXOF_TOOLTIP"] = "दूसरे à¤ªà¤¾à¤  à¤®à¥‡à¤‚ à¤ªà¤¹à¤²à¥‡ à¤ªà¤¾à¤  à¤•à¥€ à¤ªà¤¹à¤²à¥€/अंतिम à¤˜à¤Ÿà¤¨à¤¾ à¤•à¤¾ à¤¸à¥‚चक à¤¦à¥‡à¤¤à¤¾ à¤¹à¥ˆà¥¤ à¤¯à¤¦à¤¿ à¤ªà¤¾à¤  à¤¨à¤¹à¥€à¤‚ à¤®à¤¿à¤²à¤¾ à¤¹à¥ˆ à¤¤à¥‹ %1 à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤¹à¥‹à¤¤à¤¾ à¤¹à¥ˆà¥¤";
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 à¤–ाली à¤¹à¥ˆ";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "टà¥à¤°à¥‚ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¤¤à¤¾ à¤¹à¥ˆ à¤¯à¤¦à¤¿ à¤¦à¤¿à¤¯à¤¾ à¤—या à¤Ÿà¥‡à¤•à¥à¤¸à¥à¤Ÿ à¤–ाली à¤¹à¥ˆà¥¤";
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "इसके à¤¸à¤¾à¤¥ à¤Ÿà¥‡à¤•à¥à¤¸à¥à¤Ÿ à¤¬à¤¨à¤¾à¤à¤";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "किसी à¤­à¥€ à¤¸à¤‚खà¥à¤¯à¤¾ à¤•à¥‡ à¤®à¤¦à¥‹à¤‚ à¤•à¥‹ à¤à¤• à¤¸à¤¾à¤¥ à¤œà¥‹à¤¡à¤¼ à¤•à¤° à¤ªà¤¾à¤  à¤•à¤¾ à¤à¤• à¤Ÿà¥à¤•à¤¡à¤¼à¤¾ à¤¬à¤¨à¤¾à¤à¤‚।";
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "%1 à¤•à¥€ à¤²à¤‚बाई";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "दिठगये à¤Ÿà¥‡à¤•à¥à¤¸à¥à¤Ÿ à¤®à¥‡ à¤…कà¥à¤·à¤°à¥‹à¤‚ à¤•à¥€ à¤¸à¤‚खà¥à¤¯à¤¾ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¤¤à¤¾ à¤¹à¥ˆ (खाली à¤¸à¥à¤¥à¤¾à¤¨ à¤®à¤¿à¤²à¤¾ à¤•à¥‡)।";
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "पà¥à¤°à¤¿à¤‚ट à¤•à¤°à¥‡à¤‚ %1";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "दिया à¤—या à¤Ÿà¥‡à¤•à¥à¤¸à¥à¤Ÿ à¤ªà¥à¤°à¤¿à¤‚ट à¤•à¤°à¥‡à¤‚, à¤¸à¤‚खà¥à¤¯à¤¾ à¤¯à¤¾ à¤…नà¥à¤¯ à¤®à¤¾à¤¨à¥¤";
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "यूज़र à¤¸à¥‡ à¤¸à¤‚खà¥à¤¯à¤¾ à¤•à¥‡ à¤²à¤¿à¤ à¤ªà¥à¤°à¥‰à¤®à¥à¤ªà¥à¤Ÿ à¤•à¤°à¥‡à¤‚।";
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "यूज़र à¤¸à¥‡ à¤•à¥à¤› à¤Ÿà¥‡à¤•à¥à¤¸à¥à¤Ÿ à¤•à¥‡ à¤²à¤¿à¤ à¤ªà¥à¤°à¥‰à¤®à¥à¤ªà¥à¤Ÿ à¤•à¤°à¥‡à¤‚।";
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "सूचना à¤•à¥‡ à¤¸à¤¾à¤¥ à¤¸à¤‚खà¥à¤¯à¤¾ à¤•à¥‡ à¤²à¤¿à¤ à¤ªà¥à¤°à¥‰à¤®à¥à¤ªà¥à¤Ÿ à¤•à¤°à¥‡à¤‚";
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "सूचना à¤•à¥‡ à¤¸à¤¾à¤¥ à¤Ÿà¥‡à¤•à¥à¤¸à¥à¤Ÿ à¤•à¥‡ à¤²à¤¿à¤ à¤ªà¥à¤°à¥‰à¤®à¥à¤ªà¥à¤Ÿ à¤•à¤°à¥‡à¤‚";
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";  // untranslated
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "%1 à¤•à¥‹ %2 à¤•à¥‡ à¤¸à¤¾à¤¥ %3 à¤®à¥‡à¤‚ à¤¬à¤¦à¤²à¥‡à¤‚";
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "कà¥à¤› à¤…नà¥à¤¯ à¤ªà¤¾à¤  à¤•à¥‡ à¤…ंदर à¤•à¥à¤› à¤ªà¤¾à¤  à¤•à¥€ à¤¸à¤­à¥€ à¤œà¤—हों à¤•à¥‹ à¤¬à¤¦à¤²à¥‡à¤‚।";
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "%1 à¤•à¥‹ à¤¬à¤¦à¤² à¤¦à¥‡à¤‚";
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "पाठ à¤®à¥‡à¤‚ à¤µà¤°à¥à¤£à¥‹à¤‚ à¤•à¥‡ à¤•à¥à¤°à¤® à¤•à¥‹ à¤‰à¤²à¤Ÿ à¤¦à¥‡à¤¤à¤¾ à¤¹à¥ˆà¥¤";
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://en.wikipedia.org/wiki/String_(computer_science)";
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "à¤à¤• à¤…कà¥à¤·à¤°, à¤¶à¤¬à¥à¤¦, à¤¯à¤¾ à¤Ÿà¥‡à¤•à¥à¤¸à¥à¤Ÿ à¤•à¥€ à¤ªà¤‚कà¥à¤¤à¤¿à¥¤";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "रिकà¥à¤¤ à¤¸à¥à¤¥à¤¾à¤¨ à¤•à¥‹ à¤‡à¤¸ à¤Ÿà¥‡à¤•à¥à¤¸à¥à¤Ÿ à¤•à¥‡ à¤¦à¥‹à¤¨à¥‹à¤‚ à¤¤à¤°à¤« à¤¸à¥‡ à¤¨à¤¿à¤•à¤¾à¤²à¥‡à¤‚";
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "रिकà¥à¤¤ à¤¸à¥à¤¥à¤¾à¤¨ à¤•à¥‹ à¤‡à¤¸ à¤Ÿà¥‡à¤•à¥à¤¸à¥à¤Ÿ à¤•à¥‡ à¤¬à¤¾à¤¯à¥‡à¤‚ à¤¤à¤°à¤« à¤¸à¥‡ à¤¨à¤¿à¤•à¤¾à¤²à¥‡à¤‚";
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "रिकà¥à¤¤ à¤¸à¥à¤¥à¤¾à¤¨ à¤•à¥‹ à¤‡à¤¸ à¤Ÿà¥‡à¤•à¥à¤¸à¥à¤Ÿ à¤•à¥‡ à¤¦à¤¾à¤ˆà¤‚ à¤¤à¤°à¤« à¤¸à¥‡ à¤¨à¤¿à¤•à¤¾à¤²à¥‡à¤‚";
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "à¤à¤• à¤¯à¤¾ à¤¦à¥‹à¤¨à¥‹à¤‚ à¤¸à¤¿à¤°à¥‹à¤‚ à¤¸à¥‡ à¤¹à¤Ÿà¤¾à¤ à¤—ठरिकà¥à¤¤ à¤¸à¥à¤¥à¤¾à¤¨ à¤•à¥‡ à¤¸à¤¾à¤¥ à¤ªà¤¾à¤  à¤•à¥€ à¤à¤• à¤ªà¥à¤°à¤¤à¤¿ à¤²à¥Œà¤Ÿà¤¾à¤à¤‚।";
+Blockly.Msg["TODAY"] = "आज";
+Blockly.Msg["UNDO"] = "पूरà¥à¤µà¤µà¤¤ à¤•à¤°à¥‡à¤‚";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "वसà¥à¤¤à¥";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "सेट '%1' à¤¬à¤¨à¤¾à¤à¤";
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "इस à¤šà¤° à¤•à¤¾ à¤®à¤¾à¤¨ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¤¤à¤¾ à¤¹à¥ˆà¥¤";
+Blockly.Msg["VARIABLES_SET"] = "सेट à¤•à¤°à¥‡à¤‚ %1 à¤•à¥‹ %2";
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "'पà¥à¤°à¤¾à¤ªà¥à¤¤ à¤•à¤°à¥‡à¤‚ %1' à¤¬à¤¨à¤¾à¤à¤‚";
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "इस à¤šà¤° à¤•à¥‹ à¤‡à¤¨à¤ªà¥à¤Ÿ à¤•à¥‡ à¤¬à¤°à¤¾à¤¬à¤° à¤¸à¥‡à¤Ÿ à¤•à¤°à¤¤à¤¾ à¤¹à¥ˆà¥¤";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "पà¥à¤°à¤¾à¤šà¤² à¤¨à¤¾à¤® '%1' à¤ªà¤¹à¤²à¥‡ à¤¸à¥‡ à¤®à¥Œà¤œà¥‚द à¤¹à¥ˆà¥¤";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "'%1' à¤¨à¤¾à¤® à¤•à¤¾ à¤à¤• à¤šà¤° à¤ªà¤¹à¤²à¥‡ à¤¸à¥‡ '%2' à¤ªà¥à¤°à¤•à¤¾à¤° à¤•à¥‡ à¤…नà¥à¤¯ à¤šà¤° à¤•à¥‡ à¤²à¤¿à¤ à¤®à¥Œà¤œà¥‚द à¤¹à¥ˆà¥¤";
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something...";  // untranslated
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/hrx.js b/js/msg/js/hrx.js
new file mode 100644 (file)
index 0000000..e299d17
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.hrx');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "Kommentar hinzufüche";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "Can't delete the variable '%1' because it's part of the definition of the function '%2'";  // untranslated
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "Neie Variable...";
+Blockly.Msg["CLEAN_UP"] = "Clean up Blocks";  // untranslated
+Blockly.Msg["COLLAPSE_ALL"] = "Blocke zusammerfalte";
+Blockly.Msg["COLLAPSE_BLOCK"] = "Block zusammerfalte";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "Farreb 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "mit Farreb 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";  // untranslated
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "im Verhältniss";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "misch";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "Vermischt 2 Farwe mit konfigurierbare Farrebverhältniss (0.0 - 1.0).";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://hrx.wikipedia.org/wiki/Farreb";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "Wähl en Farreb von der Palett.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "zufälliche Farwe";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "Wähl en Farreb noh dem Zufallsprinzip.";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "blau";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "grün";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";  // untranslated
+Blockly.Msg["COLOUR_RGB_RED"] = "rot";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "Färreb mit";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "Kreiere ene Farreb mit sellrbst definierte rot, grün und blau Wearte. All Wearte müsse zwischich 0 und 100 liehe.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "ausbreche aus der Schleif";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "mit der nächste Iteration fortfoohre aus der Schleifa";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "Die umgebne Schleif beenne.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "Die Oonweisung abbreche und mit der nächste Schleifiteration fortfoohre.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "Warnung: Die block sollt nuar in en Schleif verwennet sin.";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "Für Weart %1 aus der List %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "Füahr en Oonweisung für jede Weart in der List aus und setzt dabei die Variable \"%1\" uff den aktuelle List Weart.";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "Zähl %1 von %2 bis %3 mit %4";
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "Zähl die Variable \"%1\" von enem Startweart bis zu enem Zielweart und füahrefür jede Weart en Oonweisung aus.";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "En weitre Bedingung hinzufüche.";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "En orrer Bedingung hinzufüche, füahrt en Oonweisung aus falls ken Bedingung zutrifft.";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Hinzufüche, entferne orrer sortiere von Sektione";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "orrer";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "orrer wenn";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "wenn";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "Wenn en Bedingung woahr (true) ist, dann füahr en Oonweisung aus.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "Wenn en Bedingung woahr (true) ist, dann füahr die earscht Oonweisung aus.  Ansonscht füahr die zwooite Oonweisung aus.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "Wenn der erschte Bedingung woahr (true) ist, dann füahr die erschte Oonweisung aus.  Orrer wenn die zwooite Bedingung woahr (true) ist, dann füahr die zwooite Oonweisung aus.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "Wenn der erscht Bedingung woahr (true) ist, dann füahr die erschte Oonweisung aus.  Orrer wenn die zwooite Bedingung woahr (true) ist, dann füahr die zwooite Oonweisung aus.  Falls ken der beide Bedingungen woahr (true) ist, dann füahr die dritte Oonweisung aus.";
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://hrx.wikipedia.org/wiki/For-Schleif";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "mach";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "wiederhol %1 mol";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "En Oonweisung meahrfach ausführe.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "Repetiere bis";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "Repetier solang";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "Füahr die Oonweisung solang aus wie die Bedingung falsch (false) ist.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "Füahr die Oonweisung solang aus wie die Bedingung woahr (true) ist.";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "All %1 Bausten lösche?";
+Blockly.Msg["DELETE_BLOCK"] = "Block lösche";
+Blockly.Msg["DELETE_VARIABLE"] = "Delete the '%1' variable";  // untranslated
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Delete %1 uses of the '%2' variable?";  // untranslated
+Blockly.Msg["DELETE_X_BLOCKS"] = "Block %1 lösche";
+Blockly.Msg["DISABLE_BLOCK"] = "Block deaktivieren";
+Blockly.Msg["DUPLICATE_BLOCK"] = "Kopieren";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicate Comment";  // untranslated
+Blockly.Msg["ENABLE_BLOCK"] = "Block aktivieren";
+Blockly.Msg["EXPAND_ALL"] = "Blocke expandiere";
+Blockly.Msg["EXPAND_BLOCK"] = "Block entfalte";
+Blockly.Msg["EXTERNAL_INPUTS"] = "External Inputsexterne Ingänge";
+Blockly.Msg["HELP"] = "Hellef";
+Blockly.Msg["INLINE_INPUTS"] = "interne Ingänge";
+Blockly.Msg["IOS_CANCEL"] = "Cancel";  // untranslated
+Blockly.Msg["IOS_ERROR"] = "Error";  // untranslated
+Blockly.Msg["IOS_OK"] = "OK";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Add Input";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Allow statements";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "This function has duplicate inputs.";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "INPUTS";  // untranslated
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "Add";  // untranslated
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Add Variable";  // untranslated
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "Delete";  // untranslated
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "You can't use an empty variable name.";  // untranslated
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Rename";  // untranslated
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Variable name";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "Generier/erzeich en leear List";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Generier/erzeich en leear List ohne Inhalt.";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "List";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Hinzufüche, entferne und sortiere von Elemente.";
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "Erzeich List mit";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "En Element zur List hinzufüche.";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Generier/erzeich en List mit konfigurierte Elemente.";
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "earste";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "#te von hinne";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "Nehm";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "Nehm und entfern";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "letzte";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "zufälliches";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "Entfern";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Extrahiert das earste Element von der List.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Extrahiert das Element zu en definierte Stell von der List.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Extrahiert das letzte Element von der List.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Extrahiert en zufälliches Element von der List.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "Extrahiert und entfernt das earste Element von der List.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "Extrahiert und entfernt das Element zu en definierte Stell von der List.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "Extrahiert und entfernt das letzte Element von der List.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Extrahiert und entfernt en zufälliches Element von der List.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "Entfernt das earste Element von der List.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "Entfernt das Element zu en definierte Stell von der List.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "Entfernt das letzte Element von der List.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Entfernt en zufälliches Element von der List.";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "zu # vom End";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "zu #";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "zum Letzte";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "hol Unnerliste vom Earste";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "hol Unnerliste von # vom End";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "hol Unnerlist von #";
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Generiert en Kopie von en definierte Tel von en List.";
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 ist das letzte Element.";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 ist das earschte Element.";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "Such earstes Voarkommniss";
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "Such letztes Voarkommniss";
+Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "Sucht die Position (index) von en Element in der List Gebt %1 zurück wenn nixs gefunn woard.";
+Blockly.Msg["LISTS_INLIST"] = "in der List";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 ist leear?";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Ist woahr (true), wenn die List leear ist.";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "länge %1";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Die Oonzoohl von Elemente in der List.";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "Erzich List mit Element %1 wiederhol das %2 mol";
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Erzeicht en List mit en variable Oonzoohl von Elemente";
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";  // untranslated
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Reverse a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "uff";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "tue ren setz an";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "setz";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Tut das Element an en Oonfang von en List ren setze.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Tut das Element ren setze an en definierte Stell an en List.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Oonhängt das Element zu en List sei End.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Tut das Element zufällich an en List ren setze.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Sets the first item in a list.Setzt das earschte Element an en list.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Setzt das Element zu en definierte Stell in en List.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Setzt das letzte Element an en List.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Setzt en zufälliches Element an en List.";
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";  // untranslated
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "ascending";  // untranslated
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "descending";  // untranslated
+Blockly.Msg["LISTS_SORT_TITLE"] = "sort %1 %2 %3";  // untranslated
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Sort a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "alphabetic, ignore case";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "numeric";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "alphabetic";  // untranslated
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "make list from text";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "make text from list";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Join a list of texts into one text, separated by a delimiter.";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Split text into a list of texts, breaking at each delimiter.";  // untranslated
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "with delimiter";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "falsch";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "Ist entweder woahr (true) orrer falsch (false)";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "woahr";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://hrx.wikipedia.org/wiki/Vergleich_%28Zahlen%29";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Ist woahr (true) wenn beide Wearte identisch sind.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Ist woahr (true) wenn der erschte Weart grösser als der zwooite Weart ist.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Ist woahr (true) wenn der erschte Weart grösser als orrer gleich gross wie zwooite Weart ist.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "Ist woahr (true) wenn der earschte Weart klener als der zwooite Weart ist.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "Ist woahr (true) wenn der earscht Weart klener als orrer gleich gross wie zwooite Weart ist.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "Ist woahr (true) wenn beide Wearte unnerschiedlich sind.";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "net %1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "Ist woahr (true) wenn der Ingäweweart falsch (false) ist.  Ist falsch (false) wenn der Ingäweweart woahr (true) ist.";
+Blockly.Msg["LOGIC_NULL"] = "null";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";  // untranslated
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "Is NULL.";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "und";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "orrer";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "Ist woahr (true) wenn beide Wearte woahr (true) sind.";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "Ist woahr (true) wenn en von der beide Wearte woahr (true) ist.";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "test";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "wenn falsch";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "wenn woahr";
+Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "Üwerprüft en Bedingung \"test\". Wenn die Bedingung woahr ist weerd der \"wenn woahr\" Weart zurückgeb, annerfalls der \"wenn falsch\" Weart";
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://hrx.wikipedia.org/wiki/Grundrechenoort";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Ist die Summe zwooier Wearte.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Ist der Quotient zwooier Wearte.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Ist die Differenz zwooier Wearte.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Ist das Produkt zwooier Wearte.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Ist der earschte Weart potenziert mit dem zoiten Weart.";
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://hrx.wikipedia.org/wiki/Inkrement_und_Dekrement";
+Blockly.Msg["MATH_CHANGE_TITLE"] = "mach höcher / erhöhe %1 um %2";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Addiert en Weart zur Variable \"%1\" hinzu.";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://hrx.wikipedia.org/wiki/Mathematische_Konstante";
+Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "Mathematische Konstante wie: Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…) oder âˆž (unendlich).";
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "begrenze %1 von %2 bis %3";
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Begrenzt den Weartebereich mittels von / bis Wearte. (inklusiv)";
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";  // untranslated
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "ist telbar/kann getelt sin doorrich";
+Blockly.Msg["MATH_IS_EVEN"] = "ist grood";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "ist negativ";
+Blockly.Msg["MATH_IS_ODD"] = "ist ungrood";
+Blockly.Msg["MATH_IS_POSITIVE"] = "ist positiv";
+Blockly.Msg["MATH_IS_PRIME"] = "ist en Primenzoohl";
+Blockly.Msg["MATH_IS_TOOLTIP"] = "Üwerprüft ob en Zoohl grood, ungrood, en Primenzoohl, ganzzoohlich, positiv, negativ orrer doorrich en zwooite Zoohl telbar ist.  Gebt woahr (true) orrer falsch (false) zurück.";
+Blockly.Msg["MATH_IS_WHOLE"] = "ganze Zoohl";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://hrx.wikipedia.org/wiki/Modulo";
+Blockly.Msg["MATH_MODULO_TITLE"] = "Rest von %1 ÷ %2";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Der Rest noh en Division.";
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";  // untranslated
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://hrx.wikipedia.org/wiki/Zoohl";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "En Zoohl.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "Mittelweart en List";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "Maximalweart en List";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "Median von en List";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "Minimalweart von en List";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "Restweart von en List";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "Zufallsweart von en List";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "Standart/Padrong Abweichung von en List";
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "Summe von en List";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Ist der Doorrichschnittsweart von aller Wearte in en List.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "Ist der grösste Weart in en List.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "Ist der Zentralweart von aller Wearte in en List.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "Ist der klenste Weart in en List.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Findt den am häifichste voarkommend Weart in en List.  Falls ken Weart öftersch voarkomme als all annre, weard die originale List zurückgeche";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Geb en Zufallsweart aus der List zurück.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Ist die standartiesierte/padronisierte Standartabweichung/Padrongabweichung von aller Wearte in der List";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Ist die Summ aller Wearte in en List.";
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://hex.wikipedia.org/wiki/Zufallszoohle";
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "Zufallszoohl (0.0 -1.0)";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Generier/erzeich en Zufallszoohl zwischich 0.0 (inklusiv) und 1.0 (exklusiv).";
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://hrx.wikipedia.org/wiki/Zufallszahlen";
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "ganzoohlicher Zufallswearte zwischich %1 bis %2";
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Generier/erzeich en ganzähliche Zufallsweart zwischich zwooi Wearte (inklusiv).";
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://hrx.wikipedia.org/wiki/Runden";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "runde";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "ab runde";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "uff runde";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "En Zoohl uff orrer ab runde.";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://hrx.wikipedia.org/wiki/Quadratwoorzel";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "Absolutweart";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "Quadratwoorzel";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Ist der Absolutweart von en Weart.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Ist Weart von der Exponentialfunktion von en Weart.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "Ist der natüarliche Logarithmus von en Weart.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "Ist der dekoodische Logarithmus von en Weart.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Negiert en Weart.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Rechnet 10 hoch Ingäbweart.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Ist die Qudratwoorzel von en Weart.";
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";  // untranslated
+Blockly.Msg["MATH_TRIG_ACOS"] = "acos";  // untranslated
+Blockly.Msg["MATH_TRIG_ASIN"] = "asin";  // untranslated
+Blockly.Msg["MATH_TRIG_ATAN"] = "atan";  // untranslated
+Blockly.Msg["MATH_TRIG_COS"] = "cos";  // untranslated
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://hrx.wikipedia.org/wiki/Trigonometrie";
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";  // untranslated
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Ist der Arcuscosinus von en Ingabweart.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Ist der Arcussinus von en Ingäbweart.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Ist der Arcustangens von en Ingäbweart.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Ist der Cosinus von en Winkel.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Ist der Sinus von en Winkel.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Ist der Tangens von en Winkel.";
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Create colour variable...";  // untranslated
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Create number variable...";  // untranslated
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Create string variable...";  // untranslated
+Blockly.Msg["NEW_VARIABLE"] = "Neie Variable...";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "Die neie Variable sei Noome:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "New variable type:";  // untranslated
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "allow statements";  // untranslated
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "mit:";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://hrx.wikipedia.org/wiki/Prozedur_%28Programmierung%29";
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Ruf en Funktionsblock ohne Rückgäweart uff.";
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://hrx.wikipedia.org/wiki/Prozedur_%28Programmierung%29";
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Ruf en Funktionsblock mit Rückgäbweart uff.";
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "mit:";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "Generier/erzeich \"Uffruf %1\"";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Describe this function...";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "Funktionsblock";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "zu";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "En Funktionsblock ohne Rückgäbweart.";
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "geb zurück";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "En Funktionsblock mit Rückgäbweart.";
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "Warnung: die Funktionsblock hot doppelt Parameter.";
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "Markiear Funktionsblock";
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "Wenn der earste Weart woahr (true) ist, Geb den zwooite Weart zurück.";
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "Warnung: Der Block därref nuar innich en Funktionsblock genutzt sin.";
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "Markiear Funktionsblock";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Generier/erzeich \"Uffruf %1\"";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "Parameter";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Variable:";
+Blockly.Msg["REDO"] = "Redo";  // untranslated
+Blockly.Msg["REMOVE_COMMENT"] = "Kommentar entferne";
+Blockly.Msg["RENAME_VARIABLE"] = "Die neie Variable sei Noome:";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "All \"%1\" Variable umbenenne in:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "An %1 Text oonhänge %2";
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Text an die Variable \"%1\" oonhänge.";
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "umwandle in klenbuchstoobe";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "umwandle in Wörter";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "umwandle in GROSSBUCHSTOOBE";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Wandelt Schreibweise von Texte um, in Grossbuchstoobe, Klenbuchstoobe orrer den earste Buchstoob von jedes Wort gross und die annre klen.";
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "hol earschte Buchstoob";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "hol Buchstoob # von End";
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "hol Buchstoob #";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "hol letztes Wort";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "hol zufälliches Buchstoob";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "in text %1 %2";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Extrahiear en Buchstoob von en spezifizierte Position.";
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";  // untranslated
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "count %1 in %2";  // untranslated
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Count how many times some text occurs within some other text.";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "En Element zum Text hinzufüche.";
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "verbinne";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Hinzufüche, entfernne und sortiere von Elemente.";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "bis #te Buchstoob von hinne";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "bis Buchstoob #te";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "bis letzte Buchstoob";
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "in Text";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "earschte Buchstoob";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "hol #te Buchstoob von hinne";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "hol substring Buchstoob #te";
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Schickt en bestimmstes Tel von dem Text retuar.";
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "Such der Begriff sein earstes Voarkommniss";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "Suche der Begriff sein letztes Vorkommniss.";
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "im Text %1 %2 %3";
+Blockly.Msg["TEXT_INDEXOF_TOOLTIP"] = "Findt das earste / letzte Voarkommniss von en Suchbegriffes in enem Text.  Gebt die Position von dem Begriff orrer %1 zurück.";
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 ist leer?";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Ist woahr (true), wenn der Text leer ist.";
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "Erstell Text aus";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Erstellt en Text doorrich das verbinne von mehre Textelemente.";
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "läng %1";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Die Oonzoohl von Zeiche in enem Text. (inkl. Leerzeiche)";
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "Ausgäb %1";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Geb den Inhalt von en Variable aus.";
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Frocht den Benutzer noh en Zoohl.";
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Frocht den Benutzer noh enem Text.";
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "Frächt noh Zoohl mit Hinweis";
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "Frocht noh Text mit Hinweis";
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";  // untranslated
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "replace %1 with %2 in %3";  // untranslated
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Replace all occurances of some text within some other text.";  // untranslated
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";  // untranslated
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Reverses the order of the characters in the text.";  // untranslated
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://en.wikipedia.org/wiki/String_(computer_science)https://hrx.wikipedia.org/wiki/Zeichenkette";
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "En Buchstoob, Text orrer Satz.";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "entfern Leerzeiche von Oonfang und End Seite";
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "entferne Leerzeiche von Oonfang Seite";
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "entferne Leerzeiche von End Seite von";
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Entfernt Leerzeiche vom Oonfang und / orrer End von en Text.";
+Blockly.Msg["TODAY"] = "Today";  // untranslated
+Blockly.Msg["UNDO"] = "Undo";  // untranslated
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "Element";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Generier/erzeiche \"Schreibe %1\"";
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Gebt der Variable sein Weart zurück.";
+Blockly.Msg["VARIABLES_SET"] = "Schreib %1 zu %2";
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Generier/erzeich \"Lese %1\"";
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Setzt en Variable sei Weart.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "A variable named '%1' already exists.";  // untranslated
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "A variable named '%1' already exists for another type: '%2'.";  // untranslated
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something...";  // untranslated
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/hu.js b/js/msg/js/hu.js
new file mode 100644 (file)
index 0000000..5003140
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.hu');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "Megjegyzés hozzáadása";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "A(z) â€ž%1†változó nem törölhetÅ‘, mert része a(z) â€ž%2†függvény definíciójának.";
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "Érték módosítása:";
+Blockly.Msg["CLEAN_UP"] = "Blokkok kiürítése";
+Blockly.Msg["COLLAPSE_ALL"] = "Blokkok összecsukása";
+Blockly.Msg["COLLAPSE_BLOCK"] = "Blokk összecsukása";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "szín 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "szín 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";  // untranslated
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "arány";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "színkeverés";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "Két színt kever össze a megadott arányban (0.0 - 1.0).";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://hu.wikipedia.org/wiki/Szín";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "Válassz színt a palettáról.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "véletlen szín";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "Véletlenszerűen kiválasztott szín.";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "kék";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "zöld";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";  // untranslated
+Blockly.Msg["COLOUR_RGB_RED"] = "vörös";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "Szín";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "Szín előállítása a megadott vörös, zöld, Ã©s kék Ã©rtékekkel.  Minden Ã©rtéknek 0 Ã©s 100 közé kell esnie.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "befejezi az ismétlést";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "folytatja a következÅ‘vel";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "Megszakítja az utasítást tartalmazó ciklust.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "Kihagyja a ciklus további részét, Ã©s elölrÅ‘l kezdi a következÅ‘ elemmel.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "Figyelem: Ez a blokk csak cikluson belül használható.";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "minden %1 elemre a %2 listában";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "A '%1' változó minden lépésben megkapja a lista adott elemének értékét, és végrehajt vele néhány utasítást.";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "számolj %1 értékével %2 és %3 között %4 lépésközzel";
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "A(z) '%1' változó felveszi a kezdőérték Ã©s a végérték közötti Ã©rtékeket a meghatározott lépésközzel. Eközben a meghatározott blokkokat hajtja végre.";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "Feltétel hozzáadása a ha blokkhoz.";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "VégsÅ‘ feltétel hozzáadása a ha blokkhoz.";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "A ha blokk testreszabásához bÅ‘vítsd, töröld vagy rendezd Ã¡t a részeit.";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "különben";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "különben ha";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "ha";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "Ha a kifejezés igaz, akkor végrehajtja az utasításokat.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "Ha a kifejezés igaz, akkor végrehajtja az elsÅ‘ utasításblokkot. Különben a második utasításblokk kerül végrehajtásra.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "Ha az elsÅ‘ kifejezés igaz, akkor végrehajtja az elsÅ‘ utasításblokkot. Különben, ha a második kifejezés igaz, akkor végrehajtja a második utasítás blokkot.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "Ha az elsÅ‘ kifejezés igaz, akkor végrehajtjuk az elsÅ‘ utasítás blokkot.  Ha a második kifejezés igaz, akkor végrehajtjuk a második utasítás blokkot.  Amennyiben egyik kifejezés sem igaz, akkor az utolsó utasítás blokk kerül végrehajtásra.";
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://hu.wikipedia.org/wiki/Ciklus_(programoz%C3%A1s)#Sz.C3.A1ml.C3.A1l.C3.B3s_.28FOR.29_ciklus";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "ismételd %1 alkalommal";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "Megadott kódrészlet ismételt végrehajtása.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "ismételd amíg";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "ismételd amíg";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "Amíg a feltétel hamis, végrehajtja az utasításokat.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "Amíg a feltétel igaz, végrehajtja az utasításokat.";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "Az összes %1 blokk törlése?";
+Blockly.Msg["DELETE_BLOCK"] = "Blokk törlése";
+Blockly.Msg["DELETE_VARIABLE"] = "A(z) â€ž%1†változó törlése";
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "A(z) â€ž%2†változó %1 használatának törlése?";
+Blockly.Msg["DELETE_X_BLOCKS"] = "%1 blokk törlése";
+Blockly.Msg["DISABLE_BLOCK"] = "Blokk letiltása";
+Blockly.Msg["DUPLICATE_BLOCK"] = "Másolat";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicate Comment";  // untranslated
+Blockly.Msg["ENABLE_BLOCK"] = "Blokk engedélyezése";
+Blockly.Msg["EXPAND_ALL"] = "Blokkok kinyitása";
+Blockly.Msg["EXPAND_BLOCK"] = "Blokk kinyitása";
+Blockly.Msg["EXTERNAL_INPUTS"] = "KülsÅ‘ kapcsolatok";
+Blockly.Msg["HELP"] = "Súgó";
+Blockly.Msg["INLINE_INPUTS"] = "BelsÅ‘ kapcsolatok";
+Blockly.Msg["IOS_CANCEL"] = "Mégse";
+Blockly.Msg["IOS_ERROR"] = "Hiba";
+Blockly.Msg["IOS_OK"] = "OK";
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Bemenet hozzáadása";
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Utasítások engedélyezése";
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "Ennek a függvénynek kettÅ‘zött bemenete van.";
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "BEMENETEK";
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "Hozzáadás";
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Változó hozzáadása";
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "Törlés";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "Nem használhat üres változónevet.";
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Átnevezés";
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Változó neve";
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "üres lista";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Elemeket nem tartalmazó üres listát ad eredményül";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "lista";
+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";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "Lista készítés, elemek:";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Elem hozzáadása listához.";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Listát készít a megadott elemekbÅ‘l.";
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "az elsÅ‘";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "a végétÅ‘l számított";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "az elejétÅ‘l számított";
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "listából értéke";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "listából kivétele";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "az utolsó";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "bármely";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "listából törlése";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "elemnek";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "A lista elsÅ‘ elemét adja eredményül.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "A lista megadott sorszámú elemét adja eredményül.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "A lista utolsó elemét adja eredményül.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "A lista véletlenszerűen választott elemét adja eredményül.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "Az elsÅ‘ elem kivétele a listából.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "A megadott sorszámú elem kivétele a listából.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "Az utolsó elem kivétele a listából.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Véletlenszerűen választott elem kivétele a listából.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "Az elsÅ‘ elem törlése a listából.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "A megadott sorszámú elem törlése a listából.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "Az utolsó elem törlése a listából.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Véletlenszerűen választott elem törlése a listából.";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "és a végétÅ‘l számított";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "és az elejétÅ‘l számított";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "és az utolsó";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "részlistája az elsÅ‘";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "részlistája a végétÅ‘l számított";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "részlistája az elejétÅ‘l számított";
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "elem között";
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "A lista adott részérÅ‘l másolat.";
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 az utolsó elemet jelenti.";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 az elsÅ‘ elemet jelenti.";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "listában elsÅ‘ elÅ‘fordulásaË";
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "listában utolsó elÅ‘fordulásaË";
+Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "A megadott elem elsÅ‘ vagy utolsó elÅ‘fordulásával tér vissza. Ha nem talál ilyen elemet, akkor %1 a visszatérési Ã©rték.";
+Blockly.Msg["LISTS_INLIST"] = "A(z)";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 üres lista?";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Az eredmény igaz, ha a lista nem tartalmaz elemeket.";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "%1 lista hossza";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "A lista elemszámát adja eredményül.";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "Lista készítése %1 elemet %2 alkalommal hozzáadva";
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "A megadtott elem felhasználásával n elemű listát készít";
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";  // untranslated
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "%1 megfordítása";
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Megfordítja a lista másolatát.";
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "elemkéntË";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "listába szúrd be";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "listába állítsd be";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Beszúrás a lista elejére.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Beszúrás a megadott sorszámú elem elé a listában.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Beszúrás a lista végére.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Beszúrás véletlenszerűen választott elem elé a listában.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Az elsÅ‘ elem cseréje a listában.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "A megadott sorszámú elem cseréje a listában.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Az utolsó elem cseréje a listában.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Véletlenszerűen választott elem cseréje a listában.";
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "növekvÅ‘";
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "csökkenÅ‘";
+Blockly.Msg["LISTS_SORT_TITLE"] = "%1 %2 %3 rendezés";
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Egy lista egy másolatának rendezése.";
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "betűrendben nagybetű figyelmen kívül hagyásával";
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "numerikus";
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "betűrendben";
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "lista készítése szövegbÅ‘l";
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "sztring készítése listából";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "A lista elemeit Ã¶sszefűzi szöveggé a határoló karaktereket is felhasználva.";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Listát készít a határoló karaktereknél törve a szöveget.";
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "határoló karakter";
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "hamis";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "Igaz, vagy hamis érték";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "igaz";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://hu.wikipedia.org/wiki/Egyenl%C5%91tlens%C3%A9g";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Igaz, ha a kifejezés két oldala egyenlÅ‘.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Igaz, ha a bal oldali kifejezés nagyobb, mint a jobb oldali.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Igaz, ha a bal oldali kifejezés nagyobb vagy egyenlÅ‘, mint a jobb oldali.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "Igaz, ha a bal oldali kifejezés kisebb, mint a jobb oldali.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "Igaz, ha a bal oldali kifejezés kisebb vagy egyenlÅ‘, mint a jobb oldali.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "Igaz, ha a kifejezés két oldala nem egyenlÅ‘..";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "nem %1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "Igaz, ha a kifejezés hamis.  Hamis, ha a kifejezés igaz.";
+Blockly.Msg["LOGIC_NULL"] = "null";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";  // untranslated
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "null érték.";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "és";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "vagy";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "Igaz, ha mindkét kifejezés igaz.";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "Igaz, ha legalább az egyik kifejezés igaz.";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "vizsgáld meg:";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "érték, ha hamis:";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "érték, ha igaz:";
+Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "Kiértékeli a megvizsgálandó kifejezést. Ha a kifejezés igaz, visszatér az \"érték, ha igaz\" értékkel, különben az \"érték, ha hamis\" értékkel.";
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://hu.wikipedia.org/wiki/Matematikai_m%C5%B1velet";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Két szám összege.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Két szám hányadosa.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Két szám különbsége.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Két szám szorzata.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Az elsÅ‘ számnak a második számmal megegyezÅ‘ hatványa.";
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://hu.wikipedia.org/wiki/JavaScript#Aritmetikai_oper.C3.A1torok";
+Blockly.Msg["MATH_CHANGE_TITLE"] = "növeld %1 értékét %2 -vel";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "A \"%1\" változó értékének növelése egy számmal.";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://hu.wikipedia.org/wiki/Matematikai_konstans";
+Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "Ismert matematikai konstans: Ï€ (3.141…), e (2.718…), Ï† (1.618…), gyök(2) (1.414…), gyök(½) (0.707…), vagy âˆž (végtelen).";
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "korlátozd %1-t %2 és %3 közé";
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Egy változó értékének korlátozása a megadott zárt intervallumra.";
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";  // untranslated
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "-nek osztója";
+Blockly.Msg["MATH_IS_EVEN"] = "páros";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "negatív";
+Blockly.Msg["MATH_IS_ODD"] = "páratlan";
+Blockly.Msg["MATH_IS_POSITIVE"] = "pozitív";
+Blockly.Msg["MATH_IS_PRIME"] = "prím";
+Blockly.Msg["MATH_IS_TOOLTIP"] = "EllenÅ‘rzi, hogy a szám páros, páratlan, prím, egész, pozitív vagy negatív-e, illetve osztható-e a másodikkal. Igaz, vagy hamis Ã©rtéket ad eredményül.";
+Blockly.Msg["MATH_IS_WHOLE"] = "egész";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://hu.wikipedia.org/wiki/Eg%C3%A9szr%C3%A9sz#Als.C3.B3_eg.C3.A9szr.C3.A9sz";
+Blockly.Msg["MATH_MODULO_TITLE"] = "%1 ÷ %2 maradéka";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Az egész osztás maradékát adja eredméynül.";
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";  // untranslated
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://hu.wikipedia.org/wiki/Sz%C3%A1m";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "Egy szám.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "lista elemeinek átlaga";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "lista legnagyobb eleme";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "lista mediánja";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "lista legkisebb eleme";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "lista módusza";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "lista véletlen eleme";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "lista elemeinek szórása";
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "lista elemeinek összege";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "A lista elemeinek átlagát adja eredményül.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "A lista legnagyobb elemét adja vissza.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "A lista elemeinek mediánját adja eredményül.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "A lista legkisebb elemét adja vissza.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "A lista elemeinek móduszát adja eredményül.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "A lista egy véletlen elemét adja eredményül.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "A lista elemeinek szórását adja eredményül.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "A lista elemeinek összegét adja eredményül.";
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://hu.wikipedia.org/wiki/V%C3%A9letlen";
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "véletlen tört";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Véletlen tört érték 0.0 és 1.0 között.";
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://hu.wikipedia.org/wiki/V%C3%A9letlen";
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "véletlen egész szám %1 között %2";
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Véletlen egész szám a megadott zárt intervallumon belül.";
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://hu.wikipedia.org/wiki/Eg%C3%A9szr%C3%A9sz#Kerek.C3.ADt.C3.A9s";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "kerekítsd";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "kerekítsd lefelé";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "kerekítsd felfelé";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Egy szám kerekítése felfelé vagy lefelé.";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://hu.wikipedia.org/wiki/Gy%C3%B6kvon%C3%A1s";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "abszolútérték";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "négyzetgyök";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "A szám abszolútértéke.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Az e megadott számú hatványa.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "A szám természetes alapú logaritmusa.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "A szám 10-es alapú logaritmusa.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "A szám -1 szerese.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "A 10 megadott számú hatványa.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "A szám négyzetgyöke.";
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";  // untranslated
+Blockly.Msg["MATH_TRIG_ACOS"] = "acos";  // untranslated
+Blockly.Msg["MATH_TRIG_ASIN"] = "asin";  // untranslated
+Blockly.Msg["MATH_TRIG_ATAN"] = "atan";  // untranslated
+Blockly.Msg["MATH_TRIG_COS"] = "cos";  // untranslated
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://hu.wikipedia.org/wiki/Sz%C3%B6gf%C3%BCggv%C3%A9nyek";
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";  // untranslated
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "A fokban megadott szög arkusz koszinusz értéke.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "A fokban megadott szög arkusz szinusz értéke.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "A fokban megadott szög arkusz tangens értéke.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "A fokban megadott szög koszinusz értéke.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "A fokban megadott szög szinusz értéke.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "A fokban megadott szög tangens értéke.";
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Create colour variable...";  // untranslated
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Create number variable...";  // untranslated
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Create string variable...";  // untranslated
+Blockly.Msg["NEW_VARIABLE"] = "Változó létrehozása…";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "Az új változó neve:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "New variable type:";  // untranslated
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = ".";
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "utasítások engedélyezése";
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "paraméterlistaË";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://hu.wikipedia.org/wiki/F%C3%BCggv%C3%A9ny_(programoz%C3%A1s)";
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Végrehajtja az eljárást.";
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://hu.wikipedia.org/wiki/F%C3%BCggv%C3%A9ny_(programoz%C3%A1s)";
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Meghívja a függvényt.";
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "paraméterlistaË";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "„%1†létrehozása";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Ãrj errÅ‘l a funkcióról...";
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "név";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "Eljárás";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Eljárás (nem ad vissza eredményt).";
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "eredménye";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "Függvény eredménnyel.";
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "Figyelem: Az eljárásban azonos elnevezésű paramétert adtál meg.";
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "Függvénydefiníció kiemelése";
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "Ha az érték igaz, akkor visszatér a függvény értékével.";
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "Figyelem: Ez a blokk csak függvénydefiníción belül használható.";
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "változó:";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Bemenet hozzáadása a függvényhez.";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "paraméterek";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Bemenetek hozzáadása, eltávolítása vagy átrendezése ehhez a függvényhez.";
+Blockly.Msg["REDO"] = "Újra";
+Blockly.Msg["REMOVE_COMMENT"] = "Megjegyzés eltávolítása";
+Blockly.Msg["RENAME_VARIABLE"] = "Változó Ã¡tnevezése…";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Minden â€ž%1†változó Ã¡tnevezése erre:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "A %1 szövegéhez fűzd hozzá %2";
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Szöveget fűz a \"%1\" változó Ã©rtékéhez.";
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "kisbetűs";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "Címként Formázott";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "NAGYBETÅ°S";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Return a copy of the text in a different case.";
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "elsÅ‘";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "hátulról";
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "elölrÅ‘l";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "utolsó";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "véletlen";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "karaktere";
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "a szövegben: %1 %2";
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "A szöveg egy megadott karakterét adja eredményül.";
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";  // untranslated
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "%1 száma ebben: %2";
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "A szöveg elÅ‘fordulásainak megszámolása egy másik szövegben.";
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Elem hozzáfűzése a szöveghez.";
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "fűzd Ã¶ssze";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Összefűzéssel, törléssel vagy rendezéssel kapcsolato sblokkok szöveg szerkesztéséhez.";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "betűtÅ‘l a hátulról számított";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "betűtÅ‘l a(z)";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "betűtÅ‘l az utolsó";
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "a";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "szövegben válaszd ki az elsÅ‘";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "szövegben válaszd ki a hátulról a(z)";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "szövegben válaszd ki a(z)";
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "betűig tartó betűsort";
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "A megadott szövegrészletet adja eredményül.";
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "szövegben az elsÅ‘ elÅ‘fordulásának helye";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "szövegben az utolsó elÅ‘fordulásának helye";
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "A(z) %1 %2 %3 szövegnek";
+Blockly.Msg["TEXT_INDEXOF_TOOLTIP"] = "A keresett szöveg elsÅ‘ vagy utolsó elÅ‘fordulásával tér vissza.  %1 esetén a szövegrészlet nem található.";
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 üres";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Igaz, ha a vizsgált szöveg hossza 0.";
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "fűzd Ã¶ssze";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "TetszÅ‘leges számú szövegrészletet fűz Ã¶ssze egybefüggÅ‘ szöveggé.";
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "%1 hossza";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "A megadott szöveg karaktereinek számát adja eredményül (beleértve a szóközöket).";
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "Üzenet %1";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Megejelníti a megadott kaakterláncot Ã¼zenetként a képernyÅ‘n.";
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Számot kér be a felhasználótól.";
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Szöveget kér be a felhasználótól.";
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "Kérj be számot";
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "Kérj be szöveget";
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";  // untranslated
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "%1 cseréje %2-vel %3-ban";
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "A szöveg Ã¶sszes elÅ‘fordulásának cseréje egy másik szöveggel.";
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";  // untranslated
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "%1 megfordítása";
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Megfordítja a karakterek sorrendjét a szövegben.";
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://hu.wikipedia.org/wiki/String";
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "Egy betű, szó vagy szöveg egy sora.";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "szóközök levágása mindkét végérÅ‘l";
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "szóközök levágása az elejérÅ‘l";
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "szóközök levágása a végérÅ‘l";
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Levágja a megadott szöveg végeirÅ‘l a szóközöket.";
+Blockly.Msg["TODAY"] = "Ma";
+Blockly.Msg["UNDO"] = "Visszavonás";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "változó";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Készíts \"%1=\"";
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "A változó értékét adja eredményül.";
+Blockly.Msg["VARIABLES_SET"] = "%1 %2";
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Készíts \"%1\"";
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "A változónak adhatunk értéket.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "A(z) â€ž%1†nevű változó már létezik.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "Egy â€ž%1†nevű változó már létezik egy másik típussal: â€ž%2â€.";
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something...";  // untranslated
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/ia.js b/js/msg/js/ia.js
new file mode 100644 (file)
index 0000000..92ff7d1
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.ia');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "Adder commento";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "Impossibile deler le variabile '%1' perque illo face parte del definition del function '%2'";
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "Cambiar valor:";
+Blockly.Msg["CLEAN_UP"] = "Rangiar le blocos";
+Blockly.Msg["COLLAPSE_ALL"] = "Plicar blocos";
+Blockly.Msg["COLLAPSE_BLOCK"] = "Plicar bloco";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "color 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "color 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";  // untranslated
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "ration";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "miscer";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "Misce duo colores con un ration specificate (0.0 - 1.0).";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://ia.wikipedia.org/wiki/Color";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "Elige un color del paletta.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "color aleatori";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "Eliger un color al hasardo.";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "blau";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "verde";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";  // untranslated
+Blockly.Msg["COLOUR_RGB_RED"] = "rubie";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "colorar con";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "Crear un color con le quantitate specificate de rubie, verde e blau. Tote le valores debe esser inter 0 e 100.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "escappar del bucla";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "continuar con le proxime iteration del bucla";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "Escappar del bucla continente.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "Saltar le resto de iste bucla e continuar con le proxime iteration.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "Attention: Iste bloco pote solmente esser usate in un bucla.";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "pro cata elemento %1 in lista %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "Pro cata elemento in un lista, mitter lo in le variabile '%1' e exequer certe instructiones.";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "contar con %1 de %2 a %3 per %4";
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "Mitter in le variabile '%1' le valores ab le numero initial usque al numero final, con passos secundo le intervallo specificate, e exequer le blocos specificate.";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "Adder un condition al bloco \"si\".";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "Adder un condition final de reserva al bloco \"si\".";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Adde, remove o reordina sectiones pro reconfigurar iste bloco \"si\".";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "si non";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "si non si";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "si";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "Si un valor es ver, exequer certe instructiones.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "Si un valor es ver, exequer le prime bloco de instructiones. Si non, exequer le secunde bloco de instructiones.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "Si le prime valor es ver, exequer le prime bloco de instructiones. Si non, si le secunde valor es ver, exequer le secunde bloco de instructiones.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "Si le prime valor es ver, exequer le prime bloco de instructiones. Si non, si le secunde valor es ver, exequer le secunde bloco de instructiones. Si necun del valores es ver, exequer le ultime bloco de instructiones.";
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://en.wikipedia.org/wiki/For_loop";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "face";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "repeter %1 vices";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "Exequer certe instructiones plure vices.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "repeter usque a";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "repeter durante que";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "Durante que un valor es false, exequer certe instructiones.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "Durante que un valor es ver, exequer certe instructiones.";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "Deler tote le %1 blocos?";
+Blockly.Msg["DELETE_BLOCK"] = "Deler bloco";
+Blockly.Msg["DELETE_VARIABLE"] = "Deler le variabile '%1'";
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Deler %1 usos del variabile '%2'?";
+Blockly.Msg["DELETE_X_BLOCKS"] = "Deler %1 blocos";
+Blockly.Msg["DISABLE_BLOCK"] = "Disactivar bloco";
+Blockly.Msg["DUPLICATE_BLOCK"] = "Duplicar";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicar commento";
+Blockly.Msg["ENABLE_BLOCK"] = "Activar bloco";
+Blockly.Msg["EXPAND_ALL"] = "Displicar blocos";
+Blockly.Msg["EXPAND_BLOCK"] = "Displicar bloco";
+Blockly.Msg["EXTERNAL_INPUTS"] = "Entrata externe";
+Blockly.Msg["HELP"] = "Adjuta";
+Blockly.Msg["INLINE_INPUTS"] = "Entrata interne";
+Blockly.Msg["IOS_CANCEL"] = "Cancellar";
+Blockly.Msg["IOS_ERROR"] = "Error";
+Blockly.Msg["IOS_OK"] = "OK";
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Adder entrata";
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Permitter declarationes";
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "Iste function ha entratas duplicate.";
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "ENTRATAS";
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "Adder";
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Adder variabile";
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "Deler";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "Non es possibile usar un nomine de variabile vacue.";
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Renominar";
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Nomine del variabile";
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "crear un lista vacue";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Retorna un lista, de longitude 0, sin datos.";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "lista";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Adde, remove o reordina sectiones pro reconfigurar iste bloco de listas.";
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "crear lista con";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Adder un elemento al lista.";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Crear un lista con un numero qualcunque de elementos.";
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "prime";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "â„– ab fin";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "prender";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "prender e remover";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "ultime";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "aleatori";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "remover";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Retorna le prime elemento in un lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Retorna le elemento presente al position specificate in un lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Retorna le ultime elemento in un lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Retorna un elemento aleatori in un lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "Remove e retorna le prime elemento in un lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "Remove e retorna le elemento presente al position specificate in un lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "Remove e retorna le ultime elemento in un lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Remove e retorna un elemento aleatori in un lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "Remove le prime elemento in un lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "Remove le elemento presente al position specificate in un lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "Remove le ultime elemento in un lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Remove un elemento aleatori in un lista.";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "usque al â„– ab fin";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "usque al â„–";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "usque al ultime";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "prender sublista ab initio";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "prender sublista ab le fin ab â„–";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "prender sublista ab â„–";
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Crea un copia del parte specificate de un lista.";
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "№ %1 es le ultime elemento.";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "№ %1 es le prime elemento.";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "cercar le prime occurrentia del elemento";
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "cercar le ultime occurrentia del elemento";
+Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "Retorna le indice del prime/ultime occurrentia del elemento in le lista. Retorna %1 si le elemento non es trovate.";
+Blockly.Msg["LISTS_INLIST"] = "in lista";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 es vacue";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Retorna ver si le lista es vacue.";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "longitude de %1";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Retorna le longitude de un lista.";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "crear lista con elemento %1 repetite %2 vices";
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Crea un lista que contine le valor fornite, repetite le numero specificate de vices.";
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";  // untranslated
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "inverter %1";
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Inverter un copia de un lista.";
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "a";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "inserer in";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "mitter";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Insere le elemento al initio de un lista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Insere le elemento al position specificate in un lista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Adjunge le elemento al fin de un lista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Insere le elemento a un position aleatori in un lista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Defini le valor del prime elemento in un lista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Defini le valor del elemento al position specificate in un lista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Defini le valor del ultime elemento in un lista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Defini le valor de un elemento aleatori in un lista.";
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";  // untranslated
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "ascendente";
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "descendente";
+Blockly.Msg["LISTS_SORT_TITLE"] = "ordinamento %1 %2 %3";
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Ordinar un copia de un lista.";
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "alphabetic, ignorar majuscula/minuscula";
+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";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "crear lista ab texto";
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "crear texto ab lista";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Unir un lista de textos, separate per un delimitator, in un sol texto.";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Divider texto in un lista de textos, separante lo a cata delimitator.";
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "con delimitator";
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "false";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "Retorna o ver o false.";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "ver";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://ia.wikipedia.org/wiki/Inequalitate_(mathematica)";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Retornar ver si le duo entratas es equal.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Retornar ver si le prime entrata es major que le secunde.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Retornar ver si le prime entrata es major que o equal al secunde.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "Retornar ver si le prime entrata es minor que le secunde.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "Retornar ver si le prime entrata es minor que o equal al secunde.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "Retornar ver si le duo entratas non es equal.";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "non %1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "Retornar ver si le entrata es false. Retornar false si le entrata es ver.";
+Blockly.Msg["LOGIC_NULL"] = "nulle";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";  // untranslated
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "Retorna nulle.";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "e";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "o";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "Retornar ver si ambe entratas es ver.";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "Retornar ver si al minus un del entratas es ver.";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "test";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "si false";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "si ver";
+Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "Verificar le condition in 'test'. Si le condition es ver, retorna le valor de 'si ver'; si non, retorna le valor de 'si false'.";
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://ia.wikipedia.org/wiki/Arithmetica";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Retornar le summa del duo numeros.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Retornar le quotiente del duo numeros.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Retornar le differentia del duo numeros.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Retornar le producto del duo numeros.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Retornar le prime numero elevate al potentia del secunde numero.";
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";  // untranslated
+Blockly.Msg["MATH_CHANGE_TITLE"] = "cambiar %1 per %2";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Adder un numero al variabile '%1'.";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://ia.wikipedia.org/wiki/Constante_mathematic";
+Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "Retornar un del constantes commun: Ï€ (3,141…), e (2,718…), Ï† (1,618…), sqrt(2) (1,414…), sqrt(½) (0,707…) o âˆž (infinite).";
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "limitar %1 inter %2 e %3";
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Limitar un numero a esser inter le limites specificate (incluse).";
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";  // untranslated
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "es divisibile per";
+Blockly.Msg["MATH_IS_EVEN"] = "es par";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "es negative";
+Blockly.Msg["MATH_IS_ODD"] = "es impare";
+Blockly.Msg["MATH_IS_POSITIVE"] = "es positive";
+Blockly.Msg["MATH_IS_PRIME"] = "es prime";
+Blockly.Msg["MATH_IS_TOOLTIP"] = "Verificar si un numero es par, impare, prime, integre, positive, negative, o divisibile per un certe numero. Retorna ver o false.";
+Blockly.Msg["MATH_IS_WHOLE"] = "es integre";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://en.wikipedia.org/wiki/Modulo_operation";  // untranslated
+Blockly.Msg["MATH_MODULO_TITLE"] = "resto de %1 ÷ %2";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Retornar le resto del division del duo numeros.";
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";  // untranslated
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://ia.wikipedia.org/wiki/Numero";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "Un numero.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "media del lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "maximo del lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "mediana del lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "minimo del lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "modas del lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "elemento aleatori del lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "deviation standard del lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "summa del lista";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Retornar le media arithmetic del valores numeric in le lista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "Retornar le numero le plus grande in le lista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "Retornar le numero median del lista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "Retornar le numero le plus parve in le lista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Retornar un lista del elemento(s) le plus commun in le lista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Retornar un elemento aleatori del lista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Retornar le deviation standard del lista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Retornar le summa de tote le numeros in le lista.";
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "fraction aleatori";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Retornar un fraction aleatori inter 0.0 (incluse) e 1.0 (excluse).";
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";  // untranslated
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "numero integre aleatori inter %1 e %2";
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Retornar un numero integre aleatori inter le duo limites specificate, incluse.";
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://ia.wikipedia.org/wiki/Rotundamento";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "arrotundar";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "arrotundar a infra";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "arrotundar a supra";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Arrotundar un numero a supra o a infra.";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://ia.wikipedia.org/wiki/Radice_quadrate";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "absolute";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "radice quadrate";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Retornar le valor absolute de un numero.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Retornar e elevate al potentia del numero.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "Retornar le logarithmo natural de un numero.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "Retornar le logarithmo in base 10 del numero.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Retornar le negation de un numero.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Retornar 10 elevate al potentia de un numero.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Retornar le radice quadrate de un numero.";
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";  // untranslated
+Blockly.Msg["MATH_TRIG_ACOS"] = "acos";  // untranslated
+Blockly.Msg["MATH_TRIG_ASIN"] = "asin";  // untranslated
+Blockly.Msg["MATH_TRIG_ATAN"] = "atan";  // untranslated
+Blockly.Msg["MATH_TRIG_COS"] = "cos";  // untranslated
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://en.wikipedia.org/wiki/Trigonometric_functions";  // untranslated
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";  // untranslated
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Retornar le arcocosino de un numero.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Retornar le arcosino de un numero.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Retornar le arcotangente de un numero.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Retornar le cosino de un grado (non radiano).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Retornar le sino de un grado (non radiano).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Retornar le tangente de un grado (non radiano).";
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Crear variabile de color...";
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Crear variabile numeric...";
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Crear variabile textual...";
+Blockly.Msg["NEW_VARIABLE"] = "Crear variabile...";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "Nomine del nove variabile:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "Nove typo de variabile:";
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "permitter declarationes";
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "con:";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Executar le function '%1' definite per le usator.";
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Executar le function '%1' definite per le usator e usar su resultato.";
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "con:";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "Crear '%1'";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Describe iste function...";
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "facer qualcosa";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "pro";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Crea un function que non retorna un valor.";
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "retornar";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "Crea un function que retorna un valor.";
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "Attention: Iste function ha parametros duplicate.";
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "Accentuar le definition del function";
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "Si un valor es ver, alora retornar un secunde valor.";
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "Attention: Iste bloco pote solmente esser usate in le definition de un function.";
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "nomine del entrata:";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Adder un entrata al function.";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "entratas";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Adder, remover o reordinar le entratas pro iste function.";
+Blockly.Msg["REDO"] = "Refacer";
+Blockly.Msg["REMOVE_COMMENT"] = "Remover commento";
+Blockly.Msg["RENAME_VARIABLE"] = "Renominar variabile...";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Renominar tote le variabiles '%1' a:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "a %1 adjunger texto %2";
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Adjunger un texto al variabile '%1'.";
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "in minusculas";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "con Initiales Majuscule";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "in MAJUSCULAS";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Retornar un copia del texto con differente majusculas/minusculas.";
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "prender le prime littera";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "prender ab le fin le littera â„–";
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "prender le littera â„–";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "prender le ultime littera";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "prender un littera aleatori";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "in le texto %1 %2";
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Retorna le littera presente al position specificate.";
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";  // untranslated
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "contar %1 in %2";
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Contar quante vices un texto occurre intra un altere texto.";
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Adder un elemento al texto.";
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "unir";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Adde, remove o reordina sectiones pro reconfigurar iste bloco de texto.";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "ab le fin usque al littera â„–";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "usque al littera â„–";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "usque al ultime littera";
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "in le texto";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "prender subcatena ab le prime littera";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "prender subcatena ab le fin ab le littera â„–";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "prender subcatena ab le littera â„–";
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Retorna le parte specificate del texto.";
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "cercar le prime occurrentia del texto";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "cercar le ultime occurrentia del texto";
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "in le texto %1 %2 %3";
+Blockly.Msg["TEXT_INDEXOF_TOOLTIP"] = "Retorna le indice del prime/ultime occurrentia del prime texto in le secunde texto. Retorna %1 si le texto non es trovate.";
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 es vacue";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Retorna ver si le texto fornite es vacue.";
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "crear texto con";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Crear un pecia de texto uniente un certe numero de elementos.";
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "longitude de %1";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Retorna le numero de litteras (incluse spatios) in le texto fornite.";
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "scriber %1";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Scriber le texto, numero o altere valor specificate.";
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Peter un numero al usator.";
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Peter un texto al usator.";
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "peter un numero con le message";
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "peter un texto con le message";
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";  // untranslated
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "reimplaciar %1 per %2 in %3";
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Reimplaciar tote le occurrentias de un texto intra un altere texto.";
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";  // untranslated
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "inverter %1";
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Inverte le ordine del characteres in le texto.";
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://en.wikipedia.org/wiki/String_(computer_science)";  // untranslated
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "Un littera, parola o linea de texto.";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "remover spatios de ambe lateres de";
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "remover spatios del sinistre latere de";
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "remover spatios del dextre latere de";
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Retornar un copia del texto con spatios eliminate de un extremitate o ambes.";
+Blockly.Msg["TODAY"] = "Hodie";
+Blockly.Msg["UNDO"] = "Disfacer";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "cosa";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Crea 'mitter %1'";
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Retorna le valor de iste variabile.";
+Blockly.Msg["VARIABLES_SET"] = "mitter %1 a %2";
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Crear 'prender %1'";
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Mitte iste variabile al valor del entrata.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "Un variabile con le nomine '%1' jam existe.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "Un variabile con le nomine '%1' jam existe pro un altere typo: '%2'.";
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Dice qualcosa...";
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/id.js b/js/msg/js/id.js
new file mode 100644 (file)
index 0000000..443d32d
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.id');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "Tambahkan Komentar";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "Can't delete the variable '%1' because it's part of the definition of the function '%2'";  // untranslated
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "Ubah nilai:";
+Blockly.Msg["CLEAN_UP"] = "Bersihkan Blok";
+Blockly.Msg["COLLAPSE_ALL"] = "Ciutkan Blok";
+Blockly.Msg["COLLAPSE_BLOCK"] = "Ciutkan Blok";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "warna 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "warna 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "rasio";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "campur";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "Campur dua warna secara bersamaan dengan perbandingan (0.0 - 1.0).";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://en.wikipedia.org/wiki/Color";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "Pilih warna dari daftar warna.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "Warna acak";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "Pilih warna secara acak.";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "biru";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "hijau";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";
+Blockly.Msg["COLOUR_RGB_RED"] = "merah";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "Dengan warna";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "Buatlah warna dengan jumlah yang ditentukan dari merah, hijau dan biru. Semua nilai harus antarai 0 sampai 100.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "keluar dari perulangan";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "lanjutkan dengan langkah perulangan berikutnya";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "Keluar dari perulangan.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "Abaikan sisa dari perulangan ini, dan lanjutkan dengan langkah berikutnya.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "Peringatan: Blok ini hanya dapat digunakan dalam perulangan.";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "untuk setiap item %1 di dalam list %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "Untuk tiap-tiap item di dalam list, tetapkan variabel '%1' ke dalam item, selanjutnya kerjakan beberapa statement.";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "Cacah dengan %1 dari %2 ke %3 dengan step / penambahan %4";
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "Menggunakan variabel \"%1\" dengan mengambil nilai dari batas awal hingga ke batas akhir, dengan interval tertentu, dan mengerjakan block tertentu.";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "Tambahkan prasyarat ke dalam blok IF.";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "Terakhir, tambahkan kondisi tangkap-semua kedalam blok IF.";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Tambahkan, hapus, atau susun kembali bagian untuk mengkonfigurasi blok IF ini.";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "lainnya";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "atau jika";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "jika";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "Jika nilainya benar, maka lakukan beberapa perintah.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "Jika nilainya benar, maka kerjakan perintah blok pertama. Jika tidak, kerjakan perintah blok kedua.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "Jika nilai pertama benar, maka kerjakan perintah blok pertama. Sebaliknya, jika nilai kedua benar, kerjakan perintah blok kedua.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "Jika nilai pertama benar, maka kerjakan perintah blok pertama. Sebaliknya, jika nilai kedua benar, kerjakan perintah blok kedua. Jika dua-duanya tidak benar, kerjakan perintah blok terakhir.";
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://en.wikipedia.org/wiki/For_loop";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "kerjakan";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "ulangi %1 kali";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "Lakukan beberapa perintah beberapa kali.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "ulangi sampai";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "ulangi jika";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "Selagi nilainya salah, maka lakukan beberapa perintah.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "Selagi nilainya benar, maka lakukan beberapa perintah.";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "Hapus semua %1 blok?";
+Blockly.Msg["DELETE_BLOCK"] = "Hapus Blok";
+Blockly.Msg["DELETE_VARIABLE"] = "Hapus variabel '%1'";
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Hapus %1 yang digunakan pada variabel '%2'?";
+Blockly.Msg["DELETE_X_BLOCKS"] = "Hapus %1 Blok";
+Blockly.Msg["DISABLE_BLOCK"] = "Nonaktifkan Blok";
+Blockly.Msg["DUPLICATE_BLOCK"] = "Duplikat";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicate Comment";  // untranslated
+Blockly.Msg["ENABLE_BLOCK"] = "Aktifkan Blok";
+Blockly.Msg["EXPAND_ALL"] = "Kembangkan Blok";
+Blockly.Msg["EXPAND_BLOCK"] = "Kembangkan Blok";
+Blockly.Msg["EXTERNAL_INPUTS"] = "Input Eksternal";
+Blockly.Msg["HELP"] = "Bantuan";
+Blockly.Msg["INLINE_INPUTS"] = "Input Inline";
+Blockly.Msg["IOS_CANCEL"] = "Cancel";  // untranslated
+Blockly.Msg["IOS_ERROR"] = "Error";  // untranslated
+Blockly.Msg["IOS_OK"] = "OK";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Add Input";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Allow statements";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "This function has duplicate inputs.";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "INPUTS";  // untranslated
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "Add";  // untranslated
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Add Variable";  // untranslated
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "Delete";  // untranslated
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "You can't use an empty variable name.";  // untranslated
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Rename";  // untranslated
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Variable name";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "buat list kosong";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Kembalikan list, dengan panjang 0, tidak berisi data";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "list";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Tambahkan, hapus, atau susun ulang bagian untuk mengkonfigurasi blok list ini.";
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "buat list dengan";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Tambahkan sebuah item ke list.";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Buat sebuah list dengan sejumlah item.";
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "pertama";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "# dari akhir";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "dapatkan";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "dapatkan dan hapus";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "terakhir";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "acak";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "Hapus";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Kembalikan item pertama dalam list.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Kembalikan item di posisi tertentu dalam list.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Kembalikan item terakhir dalam list.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Kembalikan item acak dalam list.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "Hapus dan kembalikan item pertama dalam list.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "Hapus dan kembalikan item di posisi tertentu dalam list.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "Hapus dan kembalikan item terakhir dalam list.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Hapus dan kembalikan item acak dalam list.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "Hapus item pertama dalam list.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "Hapus item di posisi tertentu dalam list.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "Hapus item terakhir dalam list.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Hapus sebuah item acak dalam list.";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "ke # dari akhir";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "ke #";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "ke yang paling akhir";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "dapatkan sub-list dari pertama";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "dapatkan sub-list dari nomor # dari akhir";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "dapatkan sub-list dari #";
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Buat salinan bagian tertentu dari list.";
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 adalah item terakhir.";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 adalah item pertama.";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "cari kejadian pertama item";
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "cari kejadian terakhir item";
+Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "Kembalikan indeks dari item pertama/terakhir kali muncul dalam list. Kembalikan %1 jika item tidak ditemukan.";
+Blockly.Msg["LISTS_INLIST"] = "dalam list";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 kosong";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Kembalikan benar jika list kosong.";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "panjang dari %1";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Kembalikan panjang list.";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "buat list dengan item %1 diulang %2 kali";
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Buat sebuah list yang terdiri dari nilai yang diberikan diulang sebanyak jumlah yang ditentukan.";
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";  // untranslated
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Reverse a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "sebagai";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "sisipkan di";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "tetapkan";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Sisipkan item di bagian awal dari list.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Sisipkan item ke dalam posisi yang telah ditentukan di dalam list.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Tambahkan item ke bagian akhir list.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Sisipkan item secara acak ke dalam list.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Tetapkan item pertama di dalam list.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Tetapkan item ke dalam posisi yang telah ditentukan di dalam list.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Menetapkan item terakhir dalam list.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Tetapkan secara acak sebuah item dalam list.";
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "menaik";
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "menurun";
+Blockly.Msg["LISTS_SORT_TITLE"] = "urutkan %1 %2 %3";
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Urutkan salinan dari daftar";
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "sesuai abjad, abaikan kasus";
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "sesuai nomor";
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "sesuai abjad";
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "buat list dari teks";
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "buat teks dari list";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Gabung daftar teks menjadi satu teks, yang dipisahkan oleh pembatas.";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Membagi teks ke dalam daftar teks, pisahkan pada setiap pembatas.";
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "dengan pembatas";
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "salah";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "Kembalikan benar atau salah.";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "benar";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://en.wikipedia.org/wiki/Inequality_(mathematics)";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Kembalikan benar jika kedua input sama satu dengan lainnya.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Kembalikan benar jika input pertama lebih besar dari input kedua.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Kembalikan benar jika input pertama lebih besar dari atau sama dengan input kedua.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "Kembalikan benar jika input pertama lebih kecil dari input kedua.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "Kembalikan benar jika input pertama lebih kecil atau sama dengan input kedua .";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "Kembalikan benar jika kedua input tidak sama satu dengan lainnya.";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "bukan (not) %1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "Kembalikan benar jika input salah. Kembalikan salah jika input benar.";
+Blockly.Msg["LOGIC_NULL"] = "null";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "Kembalikan null.";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "dan";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "atau";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "Kembalikan benar jika kedua input adalah benar.";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "Kembalikan benar jika minimal satu input nilainya benar.";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "test";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "jika salah";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "jika benar";
+Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "Periksa kondisi di 'test'. Jika kondisi benar, kembalikan nilai 'if true'; jika sebaliknya kembalikan nilai 'if false'.";
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://id.wikipedia.org/wiki/Aritmetika";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Kembalikan jumlah dari kedua angka.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Kembalikan hasil bagi dari kedua angka.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Kembalikan selisih dari kedua angka.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Kembalikan perkalian dari kedua angka.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Kembalikan angka pertama pangkat angka kedua.";
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";
+Blockly.Msg["MATH_CHANGE_TITLE"] = "ubah %1 oleh %2";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Tambahkan angka kedalam variabel '%1'.";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://en.wikipedia.org/wiki/Mathematical_constant";
+Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "Kembalikan salah satu konstanta: Ï€ (3,141…), e (2,718…), Ï† (1,618…), akar(2) (1,414…), akar(½) (0.707…), atau âˆž (tak terhingga).";
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "Batasi %1 rendah %2 tinggi %3";
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Batasi angka antara batas yang ditentukan (inklusif).";
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "dapat dibagi oleh";
+Blockly.Msg["MATH_IS_EVEN"] = "adalah bilangan genap";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "adalah bilangan negatif";
+Blockly.Msg["MATH_IS_ODD"] = "adalah bilangan ganjil";
+Blockly.Msg["MATH_IS_POSITIVE"] = "adalah bilangan positif";
+Blockly.Msg["MATH_IS_PRIME"] = "adalah bilangan pokok";
+Blockly.Msg["MATH_IS_TOOLTIP"] = "Periksa apakah angka adalah bilangan genap, bilangan ganjil, bilangan pokok, bilangan bulat, bilangan positif, bilangan negatif, atau apakan bisa dibagi oleh angka tertentu. Kembalikan benar atau salah.";
+Blockly.Msg["MATH_IS_WHOLE"] = "adalah bilangan bulat";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://en.wikipedia.org/wiki/Modulo_operation";
+Blockly.Msg["MATH_MODULO_TITLE"] = "sisa dari %1 ÷ %2";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Kembalikan sisa dari pembagian ke dua angka.";
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://en.wikipedia.org/wiki/Number";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "Suatu angka.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "rata-rata dari list";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "maksimum dari list";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "median dari list";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "minimum dari list";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "mode-mode dari list";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "item acak dari list";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "deviasi standar dari list";
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "jumlah dari list";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Kembalikan rata-rata (mean aritmetik) dari nilai numerik dari list.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "Kembalikan angka terbesar dari list.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "Kembalikan median dari list.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "Kembalikan angka terkecil dari list.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Kembalikan list berisi item yang paling umum dari dalam list.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Kembalikan elemen acak dari list.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Kembalikan standard deviasi dari list.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Kembalikan jumlah dari seluruh bilangan dari 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"] = "nilai pecahan acak";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Kembalikan nilai pecahan acak antara 0.0 (inklusif) dan 1.0 (eksklusif).";
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "acak bulat dari %1 sampai %2";
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Kembalikan bilangan acak antara dua batas yang ditentukan, inklusif.";
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://en.wikipedia.org/wiki/Rounding";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "membulatkan";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "membulatkan kebawah";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "membulatkan keatas";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Bulatkan suatu bilangan naik atau turun.";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://en.wikipedia.org/wiki/Square_root";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "mutlak";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "akar";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Kembalikan nilai absolut angka.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Kembalikan 10 pangkat angka.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "Kembalikan logaritma natural dari angka.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "Kembalikan dasar logaritma 10 dari angka.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Kembalikan penyangkalan terhadap angka.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Kembalikan 10 pangkat angka.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Kembalikan akar dari angka.";
+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"] = "Kembalikan acosine dari angka.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Kembalikan asin dari angka.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Kembalikan atan dari angka.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Kembalikan cosinus dari derajat (bukan radian).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Kembalikan sinus dari derajat (bukan radian).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Kembalikan tangen dari derajat (bukan radian).";
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Create colour variable...";  // untranslated
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Create number variable...";  // untranslated
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Create string variable...";  // untranslated
+Blockly.Msg["NEW_VARIABLE"] = "Buat variabel...";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "Nama variabel baru:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "New variable type:";  // untranslated
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "memungkinkan pernyataan";
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "dengan:";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29";
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Menjalankan fungsi '%1' yang ditetapkan pengguna.";
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29";
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Menjalankan fungsi  '%1' yang ditetapkan pengguna dan menggunakan outputnya.";
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "dengan:";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "Buat '%1'";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Jelaskan fungsi ini...";
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29";
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "buat sesuatu";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "untuk";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Buat sebuah fungsi tanpa output.";
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29";
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "kembali";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "Buat sebuah fungsi dengan satu output.";
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "Peringatan: Fungsi ini memiliki parameter duplikat.";
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "Sorot definisi fungsi";
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "Jika nilai yang benar, kemudian kembalikan nilai kedua.";
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "Peringatan: Blok ini dapat digunakan hanya dalam definisi fungsi.";
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "masukan Nama:";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Tambahkan masukan ke fungsi.";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "input";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Menambah, menghapus, atau menyusun ulang masukan untuk fungsi ini.";
+Blockly.Msg["REDO"] = "Lakukan ulang";
+Blockly.Msg["REMOVE_COMMENT"] = "Hapus Komentar";
+Blockly.Msg["RENAME_VARIABLE"] = "Ubah nama variabel...";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Ubah nama semua variabel '%1' menjadi:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "untuk %1 tambahkan teks %2";
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Tambahkan beberapa teks ke variabel '%1'.";
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "menjadi huruf kecil";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "menjadi huruf pertama kapital";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "menjadi huruf kapital";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Kembalikan kopi dari text dengan kapitalisasi yang berbeda.";
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "ambil  huruf pertama";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "ambil  huruf nomor # dari belakang";
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "ambil huruf ke #";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "ambil  huruf terakhir";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "ambil huruf secara acak";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "in text %1 %2";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Kembalikan karakter dari posisi tertentu.";
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";  // untranslated
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "count %1 in %2";  // untranslated
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Count how many times some text occurs within some other text.";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Tambahkan suatu item ke dalam teks.";
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "join";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Tambah, ambil, atau susun ulang teks blok.";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "pada huruf nomer # dari terakhir";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "pada huruf #";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "pada huruf terakhir";
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "in teks";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "ambil bagian teks (substring) dari huruf pertama";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "ambil bagian teks (substring) dari huruf ke # dari terakhir";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "ambil bagian teks (substring) dari huruf no #";
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Kembalikan spesifik bagian dari teks.";
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "temukan kejadian pertama dalam teks";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "temukan kejadian terakhir dalam teks";
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "dalam teks %1 %2 %3";
+Blockly.Msg["TEXT_INDEXOF_TOOLTIP"] = "Kembalikan indeks pertama dan terakhir dari kejadian pertama/terakhir dari teks pertama dalam teks kedua.  Kembalikan %1 jika teks tidak ditemukan.";
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 kosong";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Kembalikan benar jika teks yang disediakan kosong.";
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "buat teks dengan";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Buat teks dengan cara gabungkan sejumlah item.";
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "panjang dari %1";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Kembalikan sejumlah huruf (termasuk spasi) dari teks yang disediakan.";
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "cetak %1";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Cetak teks yant ditentukan, angka atau ninlai lainnya.";
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Meminta pengguna untuk memberi sebuah angka.";
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Meminta pengguna untuk memberi beberapa teks.";
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "Meminta angka dengan pesan";
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "meminta teks dengan pesan";
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";  // untranslated
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "replace %1 with %2 in %3";  // untranslated
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Replace all occurances of some text within some other text.";  // untranslated
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";  // untranslated
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Reverses the order of the characters in the text.";  // untranslated
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://en.wikipedia.org/wiki/String_(computer_science)";
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "Huruf, kata atau baris teks.";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "pangkas ruang dari kedua belah sisi";
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "pangkas ruang dari sisi kiri";
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "pangkas ruang dari sisi kanan";
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Kembali salinan teks dengan spasi dihapus dari satu atau kedua ujungnya.";
+Blockly.Msg["TODAY"] = "Hari ini";
+Blockly.Msg["UNDO"] = "Urungkan";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "item";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Buat 'set %1'";
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Kembalikan nilai variabel ini.";
+Blockly.Msg["VARIABLES_SET"] = "tetapkan %1 untuk %2";
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Buat 'get %1'";
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "tetapkan variabel ini dengan input yang sama.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "Sebuah variabel dengan nama '%1' sudah ada.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "A variable named '%1' already exists for another type: '%2'.";  // untranslated
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something...";  // untranslated
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/is.js b/js/msg/js/is.js
new file mode 100644 (file)
index 0000000..2e2b3cb
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.is');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "Skrifa skýringu";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "Can't delete the variable '%1' because it's part of the definition of the function '%2'";  // untranslated
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "Breyta gildi:";
+Blockly.Msg["CLEAN_UP"] = "Hreinsa kubba";
+Blockly.Msg["COLLAPSE_ALL"] = "Loka kubbum";
+Blockly.Msg["COLLAPSE_BLOCK"] = "Loka kubbi";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "litur 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "litur 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "hlutfall";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "blöndun";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "Blandar tveimur litum í gefnu hlutfalli (0.0 - 1.0).";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://en.wikipedia.org/wiki/Color";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "Velja lit úr litakorti.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "einhver litur";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "Velja einhvern lit af handahófi.";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "blátt";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "grænt";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";
+Blockly.Msg["COLOUR_RGB_RED"] = "rauður";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "litur";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "Búa til lit úr tilteknu magni af rauðu, grænu og bláu. Allar tölurnar verða að vera á bilinu 0 til 100.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "fara út úr lykkju";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "fara beint í næstu umferð lykkjunnar";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "Fara út úr umlykjandi lykkju.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "Sleppa afganginum af lykkjunni og fara beint í næstu umferð hennar.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "Aðvörun: Þennan kubb má aðeins nota innan lykkju.";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "fyrir hvert %1 í lista %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "Fyrir hvert atriði í lista er breyta '%1' stillt á atriðið og skipanir gerðar.";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "telja með %1 frá %2 til %3 um %4";
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "Láta breytuna '%1' taka inn gildi frá fyrstu tölu til síðustu tölu, hlaupandi á tiltekna bilinu og gera tilteknu kubbana.";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "Bæta skilyrði við EF kubbinn.";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "Bæta við hluta EF kubbs sem grípur öll tilfelli sem uppfylla ekki hin skilyrðin.";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Bæta við, fjarlægja eða umraða til að breyta skipan þessa EF kubbs.";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "annars";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "annars ef";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "ef";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "Ef gildi er satt skal gera einhverjar skipanir.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "Ef gildi er satt skal gera skipanir í fyrri kubbnum. Annars skal gera skipanir í seinni kubbnum.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "Ef fyrra gildið er satt skal gera skipanir í fyrri kubbnum. Annars, ef seinna gildið er satt, þá skal gera skipanir í seinni kubbnum.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "Ef fyrra gildið er satt skal gera skipanir í fyrri kubbnum. Annars, ef seinna gildið er satt, skal gera skipanir í seinni kubbnum. Ef hvorugt gildið er satt, skal gera skipanir í síðasta kubbnum.";
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://en.wikipedia.org/wiki/For_loop";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "gera";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "endurtaka %1 sinnum";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "Gera eitthvað aftur og aftur.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "endurtaka þar til";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "endurtaka á meðan";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "Endurtaka eitthvað á meðan gildi er ósatt.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "Endurtaka eitthvað á meðan gildi er satt.";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "Eyða öllum %1 kubbunum?";
+Blockly.Msg["DELETE_BLOCK"] = "Eyða kubbi";
+Blockly.Msg["DELETE_VARIABLE"] = "Eyða '%1' breytunni";
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Delete %1 uses of the '%2' variable?";  // untranslated
+Blockly.Msg["DELETE_X_BLOCKS"] = "Eyða %1 kubbum";
+Blockly.Msg["DISABLE_BLOCK"] = "Óvirkja kubb";
+Blockly.Msg["DUPLICATE_BLOCK"] = "Afrita";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicate Comment";  // untranslated
+Blockly.Msg["ENABLE_BLOCK"] = "Virkja kubb";
+Blockly.Msg["EXPAND_ALL"] = "Opna kubba";
+Blockly.Msg["EXPAND_BLOCK"] = "Opna kubb";
+Blockly.Msg["EXTERNAL_INPUTS"] = "Ytri inntök";
+Blockly.Msg["HELP"] = "Hjálp";
+Blockly.Msg["INLINE_INPUTS"] = "Innri inntök";
+Blockly.Msg["IOS_CANCEL"] = "Hætta við";
+Blockly.Msg["IOS_ERROR"] = "Villa";
+Blockly.Msg["IOS_OK"] = "Í lagi";
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Add Input";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Allow statements";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "This function has duplicate inputs.";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "INPUTS";  // untranslated
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "Bæta við";
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Bæta við breytu";
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "Eyða";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "You can't use an empty variable name.";  // untranslated
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Endurnefna";
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Nafn breytu";
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "búa til tóman lista";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Skilar lista með lengdina 0 án gagna";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "listi";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Bæta við, fjarlægja eða umraða hlutum til að breyta skipan þessa listakubbs.";
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "búa til lista með";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Bæta atriði við listann.";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Búa til lista með einhverjum fjölda atriða.";
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "fyrsta";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "# frá enda";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "sækja";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "sækja og fjarlægja";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "síðasta";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "eitthvert";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "fjarlægja";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Skilar fyrsta atriði í lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Skilar atriðinu í hinum tiltekna stað í lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Skilar síðasta atriði í lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Skilar einhverju atriði úr lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "Fjarlægir og skilar fyrsta atriðinu í lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "Fjarlægir og skilar atriðinu á hinum tiltekna stað í lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "Fjarlægir og skilar síðasta atriðinu í lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Fjarlægir og skilar einhverju atriði úr lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "Fjarlægir fyrsta atriðið í lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "Fjarlægir atriðið á hinum tiltekna stað í lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "Fjarlægir síðasta atriðið í lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Fjarlægir eitthvert atriði úr lista.";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "til # frá enda";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "til #";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "til síðasta";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "sækja undirlista frá fyrsta";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "sækja undirlista frá # frá enda";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "sækja undirlista frá #";
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Býr til afrit af tilteknum hluta lista.";
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 er síðasta atriðið.";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 er fyrsta atriðið.";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "finna fyrsta tilfelli atriðis";
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "finna síðasta tilfelli atriðis";
+Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "Finnur hvar atriðið kemur fyrir fyrst/síðast í listanum og skilar sæti þess. Skilar %1 ef atriðið finnst ekki.";
+Blockly.Msg["LISTS_INLIST"] = "í lista";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 er tómur";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Skilar sönnu ef listinn er tómur.";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "lengd %1";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Skilar lengd lista.";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "búa til lista með atriði %1 endurtekið %2 sinnum";
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Býr til lista sem inniheldur tiltekna gildið endurtekið tiltekið oft.";
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";  // untranslated
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "snúa við %1";
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Snúa við afriti lista.";
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "sem";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "bæta við";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "setja í";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Bætir atriðinu fremst í listann.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Bætir atriðinu í listann á tilteknum stað.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Bætir atriðinu aftan við listann.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Bætir atriðinu einhversstaðar við listann.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Setur atriðið í fyrsta sæti lista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Setur atriðið í tiltekna sætið í listanum.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Setur atriðið í síðasta sæti lista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Setur atriðið í eitthvert sæti lista.";
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "hækkandi";
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "lækkandi";
+Blockly.Msg["LISTS_SORT_TITLE"] = "raða %1 %2 %3";
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Raða afriti lista.";
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "í stafrófsröð án tillits til stafstöðu";
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "í númeraröð";
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "í stafrófsröð";
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "gera lista úr texta";
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "gera texta úr lista";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Sameinar lista af textum í einn texta, með skiltákn á milli.";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Skiptir texta í lista af textum, með skil við hvert skiltákn.";
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "með skiltákni";
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "ósatt";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "Skilar annað hvort sönnu eða ósönnu.";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "satt";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://en.wikipedia.org/wiki/Inequality_(mathematics)";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Skila sönnu ef inntökin eru jöfn.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Skila sönnu ef fyrra inntakið er stærra en seinna inntakið.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Skila sönnu ef fyrra inntakið er stærra en eða jafnt og seinna inntakið.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "Skila sönnu ef fyrra inntakið er minna en seinna inntakið.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "Skila sönnu ef fyrra inntakið er minna en eða jafnt og seinna inntakið.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "Skila sönnu ef inntökin eru ekki jöfn.";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "ekki %1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "Skilar sönnu ef inntakið er ósatt. Skilar ósönnu ef inntakið er satt.";
+Blockly.Msg["LOGIC_NULL"] = "tómagildi";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "Skilar tómagildi.";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "og";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";
+Blockly.Msg["LOGIC_OPERATION_OR"] = "eða";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "Skila sönnu ef bæði inntökin eru sönn.";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "Skila sönnu ef að minnsta kosti eitt inntak er satt.";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "prófun";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "ef ósatt";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "ef satt";
+Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "Kanna skilyrðið í 'prófun'. Skilar 'ef satt' gildinu ef skilyrðið er satt, en skilar annars 'ef ósatt' gildinu.";
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://en.wikipedia.org/wiki/Arithmetic";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Skila summu talnanna tveggja.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Skila deilingu talnanna.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Skila mismun talnanna.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Skila margfeldi talnanna.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Skila fyrri tölunni í veldinu seinni talan.";
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";
+Blockly.Msg["MATH_CHANGE_TITLE"] = "breyta %1 um %2";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Bæta tölu við breytu '%1'.";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://en.wikipedia.org/wiki/Mathematical_constant";
+Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "Skila algengum fasta: Ï€ (3.141…), e (2.718…), Ï† (1.618…), kvrót(2) (1.414…), kvrót(½) (0.707…) eða âˆž (óendanleika).";
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "þröngva %1 lægst %2 hæst %3";
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Þröngva tölu til að vera innan hinna tilgreindu marka (að báðum meðtöldum).";
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "er\u00A0deilanleg með";
+Blockly.Msg["MATH_IS_EVEN"] = "er\u00A0jöfn tala";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "er neikvæð";
+Blockly.Msg["MATH_IS_ODD"] = "er oddatala";
+Blockly.Msg["MATH_IS_POSITIVE"] = "er jákvæð";
+Blockly.Msg["MATH_IS_PRIME"] = "er prímtala";
+Blockly.Msg["MATH_IS_TOOLTIP"] = "Kanna hvort tala sé jöfn tala, oddatala, jákvæð, neikvæð eða deilanleg með tiltekinni tölu. Skilar sönnu eða ósönnu.";
+Blockly.Msg["MATH_IS_WHOLE"] = "er heiltala";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://en.wikipedia.org/wiki/Modulo_operation";
+Blockly.Msg["MATH_MODULO_TITLE"] = "afgangur af %1 ÷ %2";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Skila afgangi deilingar með tölunum.";
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://en.wikipedia.org/wiki/Number";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "Tala.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "meðaltal lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "stærst í lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "miðgildi lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "minnst í lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "tíðast í lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "eitthvað úr lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "staðalfrávik lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "summa lista";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Skila meðaltali talna í listanum.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "Skila stærstu tölu í listanum.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "Skila miðgildi listans.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "Skila minnstu tölu í listanum.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Skila lista yfir tíðustu gildin í listanum.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Skila einhverju atriði úr listanum.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Skila staðalfráviki lista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Skila summu allra talna í listanum.";
+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"] = "slembibrot";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Skila broti sem er valið af handahófi úr tölum á bilinu frá og með 0.0 til (en ekki með) 1.0.";
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "slembitala frá %1 til %2";
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Skila heiltölu sem valin er af handahófi og er innan tilgreindra marka, að báðum meðtöldum.";
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://en.wikipedia.org/wiki/Rounding";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "námunda";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "námunda niður";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "námunda upp";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Námunda tölu upp eða niður.";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://en.wikipedia.org/wiki/Square_root";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "algildi";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "kvaðratrót";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Skila algildi tölu.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Skila e í veldi tölu.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "Skila náttúrlegum lógaritma tölu.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "Skila tugalógaritma tölu.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Skila neitun tölu (tölunni með öfugu formerki).";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Skila 10 í veldi tölu.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Skila kvaðratrót tölu.";
+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"] = "Skila arkarkósínusi tölu.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Skila arkarsínusi tölu.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Skila arkartangensi tölu.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Skila kósínusi horns gefnu í gráðum.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Skila sínusi horns gefnu í gráðum.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Skila tangensi horns gefnu í gráðum.";
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Create colour variable...";  // untranslated
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Create number variable...";  // untranslated
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Create string variable...";  // untranslated
+Blockly.Msg["NEW_VARIABLE"] = "Búa til breytu...";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "Heiti nýrrar breytu:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "New variable type:";  // untranslated
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "leyfa setningar";
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "með:";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Keyra heimatilbúna fallið '%1'.";
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Keyra heimatilbúna fallið '%1' og nota úttak þess.";
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "með:";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "Búa til '%1'";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Lýstu þessari aðgerð/falli...";
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29";
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "gera eitthvað";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "til að";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Býr til fall sem skilar engu.";
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29";
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "skila";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "Býr til fall sem skilar úttaki.";
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "Aðvörun: Þetta fall er með tvítekna stika.";
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "Sýna skilgreiningu falls";
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "Ef gildi er satt, skal skila öðru gildi.";
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "Aðvörun: Þennan kubb má aðeins nota í skilgreiningu falls.";
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "heiti inntaks:";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Bæta inntaki við fallið.";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "inntök";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Bæta við, fjarlægja eða umraða inntökum fyrir þetta fall.";
+Blockly.Msg["REDO"] = "Endurtaka";
+Blockly.Msg["REMOVE_COMMENT"] = "Fjarlægja skýringu";
+Blockly.Msg["RENAME_VARIABLE"] = "Endurnefna breytu...";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Endurnefna allar '%1' breyturnar:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";
+Blockly.Msg["TEXT_APPEND_TITLE"] = "við %1 bæta texta %2";
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Bæta texta við breytuna '%1'.";
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "í lágstafi";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "í Upphafstafi";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "í HÁSTAFI";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Skila afriti af textanum með annarri stafastöðu.";
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "sækja fyrsta staf";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "sækja staf # frá enda";
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "sækja staf #";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";
+Blockly.Msg["TEXT_CHARAT_LAST"] = "sækja síðasta staf";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "sækja einhvern staf";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "í texta %1 %2";
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Skila staf á tilteknum stað.";
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";  // untranslated
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "fjöldi %1 í %2";
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Count how many times some text occurs within some other text.";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Bæta atriði við textann.";
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "tengja";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Bæta við, fjarlægja eða umraða hlutum til að breyta skipan þessa textakubbs.";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "að staf # frá enda";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "að staf #";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "að síðasta staf";
+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"] = "í texta";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "sækja textabút frá fyrsta staf";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "sækja textabút frá staf # frá enda";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "sækja textabút frá staf #";
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Skilar tilteknum hluta textans.";
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "finna fyrsta tilfelli texta";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "finna síðasta tilfelli texta";
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "í texta %1 %2 %3";
+Blockly.Msg["TEXT_INDEXOF_TOOLTIP"] = "Finnur fyrsta/síðasta tilfelli fyrri textans í seinni textanum og skilar sæti hans. Skilar %1 ef textinn finnst ekki.";
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 er tómur";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Skilar sönnu ef gefni textinn er tómur.";
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "búa til texta með";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Búa til texta með því að tengja saman einhvern fjölda atriða.";
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "lengd %1";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Skilar fjölda stafa (með bilum) í gefna textanum.";
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";
+Blockly.Msg["TEXT_PRINT_TITLE"] = "prenta %1";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Prenta tiltekinn texta, tölu eða annað gildi.";
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Biðja notandann um tölu.";
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Biðja notandann um texta.";
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "biðja um tölu með skilaboðum";
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "biðja um texta með skilaboðum";
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";  // untranslated
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "skipta %1 út með %2 í %3";
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Replace all occurances of some text within some other text.";  // untranslated
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";  // untranslated
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "snúa við %1";
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Snýr við röð stafanna í textanum.";
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://en.wikipedia.org/wiki/String_(computer_science)";
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "Stafur, orð eða textalína.";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "eyða bilum báðum megin við";
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "eyða bilum vinstra megin við";
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "eyða bilum hægra megin við";
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Skila afriti af textanum þar sem möguleg bil við báða enda hafa verið fjarlægð.";
+Blockly.Msg["TODAY"] = "Í dag";
+Blockly.Msg["UNDO"] = "Afturkalla";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "atriði";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Búa til 'stilla %1'";
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Skilar gildi þessarar breytu.";
+Blockly.Msg["VARIABLES_SET"] = "stilla %1 á %2";
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Búa til 'sækja %1'";
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Stillir þessa breytu á innihald inntaksins.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "Breyta með heitinu '%1' er þegar til staðar.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "A variable named '%1' already exists for another type: '%2'.";  // untranslated
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something...";  // untranslated
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/it.js b/js/msg/js/it.js
new file mode 100644 (file)
index 0000000..ccabfd9
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.it');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "Aggiungi commento";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "Non si può cancellare la variabile '%1' perché è parte della definizione della funzione '%2'";
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "Modifica valore:";
+Blockly.Msg["CLEAN_UP"] = "Pulisci i blocchi";
+Blockly.Msg["COLLAPSE_ALL"] = "Comprimi blocchi";
+Blockly.Msg["COLLAPSE_BLOCK"] = "Comprimi blocco";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "colore 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "colore 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";  // untranslated
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "rapporto";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "miscela";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "Mescola due colori insieme con un determinato rapporto (0.0 - 1.0).";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://it.wikipedia.org/wiki/Colore";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "Scegli un colore dalla tavolozza.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "colore casuale";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "Scegli un colore a caso.";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "blu";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "verde";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";  // untranslated
+Blockly.Msg["COLOUR_RGB_RED"] = "rosso";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "colora con";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "Crea un colore con la quantità specificata di rosso, verde e blu. Tutti i valori devono essere compresi tra 0 e 100.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "esce dal ciclo";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "prosegui con la successiva iterazione del ciclo";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "Esce dal ciclo.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "Salta il resto di questo ciclo e prosegue con la successiva iterazione.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "AttenzioneË Questo blocco può essere usato solo in un ciclo.";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "per ogni elemento %1 nella lista %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "Per ogni elemento in una lista, imposta la variabile '%1'  pari all'elemento e quindi esegue alcune istruzioni.";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "conta con %1 da %2 a %3 per %4";
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "Fa sì che la variabile '%1' prenda tutti i valori a partire dal numero di partenza fino a quello di arrivo, con passo pari all'intervallo specificato, ed esegue il blocco indicato.";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "Aggiungi una condizione al blocco se.";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "Aggiungi una condizione finale pigliatutto al blocco se.";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Aggiungi, elimina o riordina le sezioni per riconfigurare questo blocco se.";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "altrimenti";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "altrimenti se";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "se";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "Se un valore è vero allora esegue alcune istruzioni.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "Se un valore è vero allora esegue il primo blocco di istruzioni. Altrimenti esegue il secondo blocco di istruzioni.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "Se il primo valore è vero allora esegue un primo blocco di istruzioni. Altrimenti, se il secondo valore è vero, esegue un secondo blocco di istruzioni.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "Se il primo valore è vero allora esegue un primo blocco di istruzioni. Altrimenti, se il secondo valore è vero, esegue un secondo blocco di istruzioni. Se nessuno dei valori è vero esegue l'ultimo blocco di istruzioni.";
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://it.wikipedia.org/wiki/Ciclo_for";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "fai";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "ripeti %1 volte";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "Esegue alcune istruzione diverse volte.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "ripeti fino a che";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "ripeti mentre";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "Finché un valore è falso, esegue alcune istruzioni.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "Finché un valore è vero, esegue alcune istruzioni.";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "Cancellare tutti i %1 blocchi?";
+Blockly.Msg["DELETE_BLOCK"] = "Cancella blocco";
+Blockly.Msg["DELETE_VARIABLE"] = "Cancella la variabile '%1'";
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Cancella %1 usi della variabile '%2'?";
+Blockly.Msg["DELETE_X_BLOCKS"] = "Cancella %1 blocchi";
+Blockly.Msg["DISABLE_BLOCK"] = "Disattiva blocco";
+Blockly.Msg["DUPLICATE_BLOCK"] = "Duplica";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Duplica commento";
+Blockly.Msg["ENABLE_BLOCK"] = "Attiva blocco";
+Blockly.Msg["EXPAND_ALL"] = "Espandi blocchi";
+Blockly.Msg["EXPAND_BLOCK"] = "Espandi blocco";
+Blockly.Msg["EXTERNAL_INPUTS"] = "Ingressi esterni";
+Blockly.Msg["HELP"] = "Aiuto";
+Blockly.Msg["INLINE_INPUTS"] = "Ingressi in linea";
+Blockly.Msg["IOS_CANCEL"] = "Annulla";
+Blockly.Msg["IOS_ERROR"] = "Errore";
+Blockly.Msg["IOS_OK"] = "OK";
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Aggiungi input";
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Consenti dichiarazioni";
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "Questa funzione ha entrate duplicate.";
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "INPUTS";
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "Aggiungi";
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Aggiungi variabile";
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "Cancella";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "Non puoi utilizzare un nome di variabile vuoto.";
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Rinomina";
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Nome variabile";
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "crea lista vuota";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Restituisce una lista, di lunghezza 0, contenente nessun record di dati";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "lista";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Aggiungi, rimuovi o riordina le sezioni per riconfigurare il blocco lista.";
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "crea lista con";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Aggiunge un elemento alla lista.";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Crea una lista con un certo numero di elementi.";
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "primo";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "# dalla fine";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "prendi";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "prendi e rimuovi";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "ultimo";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "casuale";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "rimuovi";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Restituisce il primo elemento in una lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Restituisce l'elemento nella posizione indicata della lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Restituisce l'ultimo elemento in una lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Restituisce un elemento casuale in una lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "Rimuove e restituisce il primo elemento in una lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "Rimuove e restituisce l'elemento nella posizione indicata in una lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "Restituisce e rimuove l'ultimo elemento in una lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Restituisce e rimuove un elemento casuale in una lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "Rimuove il primo elemento in una lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "Rimuove l'elemento nella posizione indicata in una lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "Rimuove l'ultimo elemento in una lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Rimuove un elemento casuale in una lista.";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "da # dalla fine";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "fino a #";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "dagli ultimi";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "prendi sotto-lista dall'inizio";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "prendi sotto-lista da # dalla fine";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "prendi sotto-lista da #";
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Crea una copia della porzione specificata di una lista.";
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 corrisponde all'ultimo elemento.";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 corrisponde al primo elemento.";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "trova la prima occorrenza dell'elemento";
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "trova l'ultima occorrenza dell'elemento";
+Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "Restituisce l'indice della prima/ultima occorrenza dell'elemento nella lista. Restituisce %1 se l'elemento non viene trovato.";
+Blockly.Msg["LISTS_INLIST"] = "nella lista";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 è vuota";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Restituisce vero se la lista è vuota.";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "lunghezza di %1";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Restituisce la lunghezza della lista";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "crea una lista con l'elemento %1 ripetuto %2 volte";
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Crea una lista costituita dal valore indicato ripetuto per il numero di volte specificato.";
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";  // untranslated
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "inverti %1";
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Inverti una copia di un elenco.";
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "come";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "inserisci in";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "imposta";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Inserisci l'elemento all'inizio della lista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Inserisci un elemento nella posizione indicata in una lista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Aggiungi un elemento alla fine di una lista";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Inserisce l'elemento casualmente in una lista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Imposta il primo elemento in una lista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Imposta l'elemento nella posizione indicata di una lista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Imposta l'ultimo elemento in una lista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Imposta un elemento casuale in una lista.";
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "crescente";
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "decrescente";
+Blockly.Msg["LISTS_SORT_TITLE"] = "ordinamento %1 %2 %3";
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Ordina una copia di un elenco.";
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "alfabetico, ignorare differenze maiuscole e minuscole";
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "numerico";
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "alfabetico";
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "crea lista da testo";
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "crea testo da lista";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Unisci una lista di testi in un unico testo, separato da un delimitatore.";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Dividi il testo in un elenco di testi, interrompendo ad ogni delimitatore.";
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "con delimitatore";
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "falso";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "Restituisce vero o falso.";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "vero";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://it.wikipedia.org/wiki/Disuguaglianza";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Restituisce vero se gli input sono uno uguale all'altro.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Restituisce vero se il primo input è maggiore o uguale al secondo.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Restituisce uguale se il primo input è maggiore o uguale al secondo input.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "Restituisce vero se il primo input è minore del secondo.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "Restituisce vero se il primo input è minore o uguale al secondo.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "Restituisce vero se gli input non sono uno uguale all'altro.";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "non %1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "Restituisce vero se l'input è falso. Restituisce falso se l'input è vero.";
+Blockly.Msg["LOGIC_NULL"] = "nullo";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";  // untranslated
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "Restituisce valore nullo.";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "e";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "o";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "Restituisce vero se entrambi gli input sono veri.";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "Restituisce vero se almeno uno degli input è vero.";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "test";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "se falso";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "se vero";
+Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "Verifica la condizione in 'test'. Se questa è vera restituisce il valore 'se vero' altrimenti restituisce il valore 'se falso'.";
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://it.wikipedia.org/wiki/Aritmetica";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Restituisce la somma dei due numeri.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Restituisce il quoziente dei due numeri.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Restituisce la differenza dei due numeri.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Restituisce il prodotto dei due numeri.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Restituisce il primo numero elevato alla potenza del secondo numero.";
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://it.wikipedia.org/wiki/Addizione";
+Blockly.Msg["MATH_CHANGE_TITLE"] = "cambia %1 di %2";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Aggiunge un numero alla variabile '%1'.";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://it.wikipedia.org/wiki/Costante_matematica";
+Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "Restituisce una delle costanti comuniˠπ (3.141…), e (2.718…), Ï† (1.618…), radq(2) (1.414…), radq(½) (0.707…) o âˆž (infinito).";
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "costringi %1 da %2 a %3";
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Costringe un numero all'interno dei limiti indicati (compresi).";
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";  // untranslated
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "è divisibile per";
+Blockly.Msg["MATH_IS_EVEN"] = "è pari";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "è negativo";
+Blockly.Msg["MATH_IS_ODD"] = "è dispari";
+Blockly.Msg["MATH_IS_POSITIVE"] = "è positivo";
+Blockly.Msg["MATH_IS_PRIME"] = "è primo";
+Blockly.Msg["MATH_IS_TOOLTIP"] = "Verifica se un numero è pari, dispari, primo, intero, positivo, negativo o se è divisibile per un certo numero. Restituisce vero o falso.";
+Blockly.Msg["MATH_IS_WHOLE"] = "è intero";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://it.wikipedia.org/wiki/Resto";
+Blockly.Msg["MATH_MODULO_TITLE"] = "resto di %1 ÷ %2";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Restituisce il resto della divisione di due numeri.";
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";  // untranslated
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://it.wikipedia.org/wiki/Numero";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "Un numero.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "media della lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "massimo della lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "mediana della lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "minimo della lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "mode della lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "elemento casuale della lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "deviazione standard della lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "somma la lista";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Restituisce la media (media aritmetica) dei valori numerici nella lista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "Restituisce il più grande numero della lista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "Restituisce il valore mediano della lista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "Restituisce il più piccolo numero della lista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Restituisce una lista degli elementi più frequenti nella lista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Restituisce un elemento casuale della lista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Restituisce la deviazione standard della lista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Restituisce la somma si tutti i numeri nella lista.";
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://it.wikipedia.org/wiki/Numeri_pseudo-casuali";
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "frazione casuale";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Restituisce una frazione compresa fra 0.0 (incluso) e 1.0 (escluso).";
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://it.wikipedia.org/wiki/Numeri_pseudo-casuali";
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "intero casuale da %1 a %2";
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Restituisce un numero intero casuale compreso tra i due limiti indicati (inclusi).";
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://it.wikipedia.org/wiki/Arrotondamento";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "arrotonda";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "arrotonda verso il basso";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "arrotonda verso l'alto";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Arrotonda un numero verso l'alto o verso il basso.";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://it.wikipedia.org/wiki/Radice_quadrata";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "assoluto";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "radice quadrata";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Restituisce il valore assoluto del numero.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Restituisce e elevato alla potenza del numero.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "Restituisce il logaritmo naturale del numero.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "Restituisce il logaritmo in base 10 del numero.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Restituisce l'opposto del numero.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Restituisce 10 elevato alla potenza del numero.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Restituisce la radice quadrata del numero.";
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";  // untranslated
+Blockly.Msg["MATH_TRIG_ACOS"] = "acos";  // untranslated
+Blockly.Msg["MATH_TRIG_ASIN"] = "asin";  // untranslated
+Blockly.Msg["MATH_TRIG_ATAN"] = "atan";  // untranslated
+Blockly.Msg["MATH_TRIG_COS"] = "cos";  // untranslated
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://it.wikipedia.org/wiki/Funzione_trigonometrica";
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";  // untranslated
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Restituisce l'arco-coseno di un numero.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Restituisce l'arco-seno di un numero.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Restituisce l'arco-tangente di un numero.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Restituisce il coseno di un angolo espresso in gradi (non radianti).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Restituisce il seno di un angolo espresso in gradi (non radianti).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Restituisce la tangente di un angolo espresso in gradi (non radianti).";
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Create colour variable...";  // untranslated
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Create number variable...";  // untranslated
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Create string variable...";  // untranslated
+Blockly.Msg["NEW_VARIABLE"] = "Crea variabile...";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "Nome della nuova variabile:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "New variable type:";  // untranslated
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "consenti dichiarazioni";
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "conË";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://it.wikipedia.org/wiki/Funzione (informatica)";
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Esegue la funzione definita dall'utente '%1'.";
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://it.wikipedia.org/wiki/Funzione (informatica)";
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Esegue la funzione definita dall'utente '%1' ed usa il suo output.";
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "conË";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "Crea '%1'";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Descrivi questa funzione...";
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "fai qualcosa";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "per";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Crea una funzione senza output.";
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "ritorna";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "Crea una funzione con un output.";
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "AttenzioneË Questa funzione ha parametri duplicati.";
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "Evidenzia definizione di funzione";
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "Se un valore è vero allora restituisce un secondo valore.";
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "AttenzioneË Questo blocco può essere usato solo all'interno di una definizione di funzione.";
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "nome inputË";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Aggiungi un input alla funzione.";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "input";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Aggiungi, rimuovi o riordina input alla funzione.";
+Blockly.Msg["REDO"] = "Ripeti";
+Blockly.Msg["REMOVE_COMMENT"] = "Rimuovi commento";
+Blockly.Msg["RENAME_VARIABLE"] = "Rinomina variabile...";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Rinomina tutte le variabili '%1' in:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "a %1 aggiungi il testo %2";
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Aggiunge del testo alla variabile '%1'.";
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "in minuscolo";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "con Iniziali Maiuscole";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "in MAIUSCOLO";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Restituisce una copia del testo in un diverso formato maiuscole/minuscole.";
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "prendi la prima lettera";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "prendi la lettera # dalla fine";
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "prendi la lettera #";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "prendi l'ultima lettera";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "prendi lettera casuale";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "nel testo %1 %2";
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Restituisce la lettera nella posizione indicata.";
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "conta %1 in %2";
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Contare quante volte una parte di testo si ripete all'interno di qualche altro testo.";
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Aggiungi un elemento al testo.";
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "unisci";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Aggiungi, rimuovi o riordina le sezioni per riconfigurare questo blocco testo.";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "alla lettera # dalla fine";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "alla lettera #";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "all'ultima lettera";
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "nel testo";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "prendi sotto-stringa dalla prima lettera";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "prendi sotto-stringa dalla lettera # dalla fine";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "prendi sotto-stringa dalla lettera #";
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Restituisce la porzione di testo indicata.";
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "trova la prima occorrenza del testo";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "trova l'ultima occorrenza del testo";
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "nel testo %1 %2 %3";
+Blockly.Msg["TEXT_INDEXOF_TOOLTIP"] = "Restituisce l'indice della prima occorrenza del primo testo all'interno del secondo testo. Restituisce %1 se il testo non viene trovato.";
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 è vuoto";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Restituisce vero se il testo fornito è vuoto.";
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "crea testo con";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Crea un blocco di testo unendo un certo numero di elementi.";
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "lunghezza di %1";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Restituisce il numero di lettere (inclusi gli spazi) nel testo fornito.";
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "scrivi %1";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Scrive il testo, numero o altro valore indicato.";
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Richiedi un numero all'utente.";
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Richiede del testo da parte dell'utente.";
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "richiedi numero con messaggio";
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "richiedi testo con messaggio";
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "sostituisci %1 con %2 in %3";
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "sostituisci tutte le occorrenze di un certo testo con qualche altro testo.";
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";  // untranslated
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "inverti %1";
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Inverte l'ordine dei caratteri nel testo.";
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://it.wikipedia.org/wiki/Stringa_(informatica)";
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "Una lettera, una parola o una linea di testo.";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "rimuovi spazi da entrambi gli estremi";
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "rimuovi spazi a sinistra";
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "rimuovi spazi a destra";
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Restituisce una copia del testo con gli spazi rimossi ad uno o entrambe le estremità.";
+Blockly.Msg["TODAY"] = "Oggi";
+Blockly.Msg["UNDO"] = "Annulla";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "elemento";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Crea 'imposta %1'";
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Restituisce il valore di una variabile.";
+Blockly.Msg["VARIABLES_SET"] = "imposta %1 a %2";
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Crea 'prendi %1'";
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Imposta questa variabile ad essere pari all'input.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "Una variabile denominata '%1' esiste già.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "Una variabile nominata '%1' esiste già per un'altro tipo: '%2'.";
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Scrivi qualcosa...";
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/ja.js b/js/msg/js/ja.js
new file mode 100644 (file)
index 0000000..dc3eb35
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.ja');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "コメントを追加";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "変数 '%1' ã¯é–¢æ•° '%2' ã®å®šç¾©ã®ä¸€éƒ¨ã§ã‚ã‚‹ãŸã‚ã€å‰Šé™¤ã§ãã¾ã›ã‚“";
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "値を変ãˆã‚‹ï¼š";
+Blockly.Msg["CLEAN_UP"] = "ブロックを整ç†ã™ã‚‹";
+Blockly.Msg["COLLAPSE_ALL"] = "ブロックを折りãŸãŸã‚€";
+Blockly.Msg["COLLAPSE_BLOCK"] = "ブロックを折りãŸãŸã‚€";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "色 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "色 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "比率";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "ブレンド";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "2色を与ãˆã‚‰ã‚ŒãŸæ¯”率(0.0~1.0)ã§æ··ãœã¾ã™ã€‚";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://ja.wikipedia.org/wiki/色";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "パレットã‹ã‚‰è‰²ã‚’é¸ã‚“ã§ãã ã•ã„。";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "ランダムãªè‰²";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "ランダムãªè‰²ã‚’é¸ã¶ã€‚";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "é’";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "ç·‘";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";
+Blockly.Msg["COLOUR_RGB_RED"] = "赤";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "色:";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "赤ã€ç·‘ã€ãŠã‚ˆã³é’ã®æŒ‡å®šã•ã‚ŒãŸé‡ã§è‰²ã‚’作æˆã—ã¾ã™ã€‚ã™ã¹ã¦ã®å€¤ã¯ 0 ï½ž 100 ã®é–“ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "ループã‹ã‚‰æŠœã‘出ã™";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "ループã®æ¬¡ã®å復処ç†ã‚’続行ã—ã¾ã™";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "å…¥ã£ã¦ã„るループã‹ã‚‰æŠœã‘出ã—ã¾ã™ã€‚";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "ã“ã®ãƒ«ãƒ¼ãƒ—ã®æ®‹ã‚Šã®éƒ¨åˆ†ã‚’スキップã—ã¦ã€ãƒ«ãƒ¼ãƒ—ã®ç¹°ã‚Šè¿”ã—を続ã‘ã¾ã™ã€‚";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "注æ„: ã“ã®ãƒ–ロックã¯ã€ãƒ«ãƒ¼ãƒ—内ã§ã®ã¿ä½¿ç”¨ã§ãã¾ã™ã€‚";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "リスト%2ã®å„é …ç›®%1ã«ã¤ã„ã¦";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "リストã®å„é …ç›®ã«ã¤ã„ã¦ã€ãã®é …目を変数'%1'ã¨ã—ã¦ã€ã„ãã¤ã‹ã®ã‚¹ãƒ†ãƒ¼ãƒˆãƒ¡ãƒ³ãƒˆã‚’実行ã—ã¾ã™ã€‚";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "%1 ã‚’ %2 ã‹ã‚‰ %3 ã¾ã§ %4 ãšã¤ã‚«ã‚¦ãƒ³ãƒˆã™ã‚‹";
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "変数 '%1' ãŒé–‹å§‹ç•ªå·ã‹ã‚‰çµ‚了番å·ã¾ã§æŒ‡å®šã—ãŸé–“éš”ã§ã®å€¤ã‚’ã¨ã£ã¦ã€æŒ‡å®šã—ãŸãƒ–ロックを実行ã™ã‚‹ã€‚";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "「もã—ã‚‚ã€ã®ãƒ–ロックã«æ¡ä»¶ã‚’追加ã—ã¾ã™ã€‚";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "Ifブロックã«ã€ã™ã¹ã¦ã‚’キャッãƒã™ã‚‹æ¡ä»¶ã‚’追加。";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "追加ã€å‰Šé™¤ã€ã¾ãŸã¯ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚’é †åºå¤‰æ›´ã—ã¦ã€ãƒ–ロックをã“れをå†æ§‹æˆã—ã¾ã™ã€‚";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "ãã†ã§ãªã‘ã‚Œã°";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "ãã†ã§ãªãã‚‚ã—";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "ã‚‚ã—";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "値㌠true ã®å ´åˆã€ã‚¹ãƒ†ãƒ¼ãƒˆãƒ¡ãƒ³ãƒˆã‚’実行ã—ã¾ã™ã€‚";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "値㌠true å ´åˆã¯ã€ã‚¹ãƒ†ãƒ¼ãƒˆãƒ¡ãƒ³ãƒˆã®æœ€åˆã®ãƒ–ロックを行ã„ã¾ã™ã€‚ãれ以外ã®å ´åˆã¯ã€ã‚¹ãƒ†ãƒ¼ãƒˆãƒ¡ãƒ³ãƒˆã® 2 ç•ªç›®ã®ãƒ–ロックを行ã„ã¾ã™ã€‚";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "最åˆã®å€¤ãŒ true å ´åˆã¯ã€ã‚¹ãƒ†ãƒ¼ãƒˆãƒ¡ãƒ³ãƒˆã®æœ€åˆã®ãƒ–ロックを行ã„ã¾ã™ã€‚ãれ以外ã®å ´åˆã¯ã€2 ç•ªç›®ã®å€¤ãŒ true ã®å ´åˆã€ã‚¹ãƒ†ãƒ¼ãƒˆãƒ¡ãƒ³ãƒˆã® 2 ç•ªç›®ã®ãƒ–ロックをã—ã¾ã™ã€‚";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "最åˆã®å€¤ãŒ true å ´åˆã¯ã€ã‚¹ãƒ†ãƒ¼ãƒˆãƒ¡ãƒ³ãƒˆã®æœ€åˆã®ãƒ–ロックを行ã„ã¾ã™ã€‚2 ç•ªç›®ã®å€¤ãŒ true ã®å ´åˆã¯ã€ã‚¹ãƒ†ãƒ¼ãƒˆãƒ¡ãƒ³ãƒˆã® 2 ç•ªç›®ã®ãƒ–ロックを行ã„ã¾ã™ã€‚ãれ以外ã®å ´åˆã¯æœ€å¾Œã®ãƒ–ロックã®ã‚¹ãƒ†ãƒ¼ãƒˆãƒ¡ãƒ³ãƒˆã‚’è¡Œã„ã¾ã™ã€‚";
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://ja.wikipedia.org/wiki/foræ–‡";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "実行";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "%1 å›žç¹°ã‚Šè¿”ã™";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "ã„ãã¤ã‹ã®ã‚¹ãƒ†ãƒ¼ãƒˆãƒ¡ãƒ³ãƒˆã‚’数回実行ã—ã¾ã™ã€‚";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "ç¹°ã‚Šè¿”ã™ï¼šçµ‚ã‚ã‚‹æ¡ä»¶";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "ç¹°ã‚Šè¿”ã™ï¼šç¶šã‘ã‚‹æ¡ä»¶";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "値ãŒfalseã®é–“ã€ã„ãã¤ã‹ã®ã‚¹ãƒ†ãƒ¼ãƒˆãƒ¡ãƒ³ãƒˆã‚’実行ã™ã‚‹ã€‚";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "値ãŒtrueã®é–“ã€ã„ãã¤ã‹ã®ã‚¹ãƒ†ãƒ¼ãƒˆãƒ¡ãƒ³ãƒˆã‚’実行ã™ã‚‹ã€‚";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "%1件ã®ã™ã¹ã¦ã®ãƒ–ロックを削除ã—ã¾ã™ã‹ï¼Ÿ";
+Blockly.Msg["DELETE_BLOCK"] = "ブロックを削除";
+Blockly.Msg["DELETE_VARIABLE"] = "変数 '%1' ã‚’削除";
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "%1ã‹æ‰€ã§ä½¿ã‚ã‚Œã¦ã„る変数 '%2' ã‚’削除ã—ã¾ã™ã‹ï¼Ÿ";
+Blockly.Msg["DELETE_X_BLOCKS"] = "%1 å€‹ã®ãƒ–ロックを削除";
+Blockly.Msg["DISABLE_BLOCK"] = "ブロックを無効ã«ã™ã‚‹";
+Blockly.Msg["DUPLICATE_BLOCK"] = "複製";
+Blockly.Msg["DUPLICATE_COMMENT"] = "コメントを複製";
+Blockly.Msg["ENABLE_BLOCK"] = "ブロックを有効ã«ã™ã‚‹";
+Blockly.Msg["EXPAND_ALL"] = "ブロックを展開ã™ã‚‹";
+Blockly.Msg["EXPAND_BLOCK"] = "ブロックを展開ã™ã‚‹";
+Blockly.Msg["EXTERNAL_INPUTS"] = "外部入力";
+Blockly.Msg["HELP"] = "ヘルプ";
+Blockly.Msg["INLINE_INPUTS"] = "インライン入力";
+Blockly.Msg["IOS_CANCEL"] = "キャンセル";
+Blockly.Msg["IOS_ERROR"] = "エラー";
+Blockly.Msg["IOS_OK"] = "OK";
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ 入力を追加";
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "ステートメントを許å¯";
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "ã“ã®é–¢æ•°ã«ã¯é‡è¤‡ã™ã‚‹å…¥åŠ›ãŒã‚ã‚Šã¾ã™ã€‚";
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "入力";
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "追加";
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ å¤‰æ•°ã‚’追加";
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "削除";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "空ã®å¤‰æ•°åã¯ä½¿ç”¨ã§ãã¾ã›ã‚“。";
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "åå‰ã‚’変更";
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "変数å";
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "空ã®ãƒªã‚¹ãƒˆã‚’作æˆ";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "é•·ã•ï¼ã§ãƒ‡ãƒ¼ã‚¿ãƒ»ãƒ¬ã‚³ãƒ¼ãƒ‰ã‚’å«ã¾ãªã„空ã®ãƒªã‚¹ãƒˆã‚’è¿”ã™";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "リスト";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "追加ã€å‰Šé™¤ã€ã¾ãŸã¯ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã®é †åºå¤‰æ›´ã‚’ã—ã¦ã€ã“ã®ãƒªã‚¹ãƒˆãƒ»ãƒ–ロックをå†æ§‹æˆã™ã‚‹ã€‚";
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "以下を使ã£ã¦ãƒªã‚¹ãƒˆã‚’作æˆï¼š";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "リストã«é …目を追加。";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "項目数ãŒä¸å®šã®ãƒªã‚¹ãƒˆã‚’作æˆã€‚";
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "最åˆ";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "ä½ç½®ï¼šå¾Œã‚ã‹ã‚‰";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "å–å¾—";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "å–å¾—ã—ã¦å‰Šé™¤";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "最後";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "ランダム";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "削除";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "リストã®æœ€åˆã®é …目を返ã—ã¾ã™ã€‚";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "リスト内ã®æŒ‡å®šä½ç½®ã«ã‚る項目を返ã—ã¾ã™ã€‚";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "リストã®æœ€å¾Œã®é …目を返ã—ã¾ã™ã€‚";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "ランダム ã‚¢ã‚¤ãƒ†ãƒ  ãƒªã‚¹ãƒˆã‚’è¿”ã—ã¾ã™ã€‚";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "リスト内ã®æœ€åˆã®é …目を削除ã—è¿”ã—ã¾ã™ã€‚";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "リスト内ã®æŒ‡å®šä½ç½®ã«ã‚る項目を削除ã—ã€è¿”ã—ã¾ã™ã€‚";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "リスト内ã®æœ€å¾Œã®é …目を削除ã—ãŸã‚ã¨è¿”ã—ã¾ã™ã€‚";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "リストã®ãƒ©ãƒ³ãƒ€ãƒ ãªã‚¢ã‚¤ãƒ†ãƒ ã‚’削除ã—è¿”ã—ã¾ã™ã€‚";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "リスト内ã®æœ€åˆã®é …目を削除ã—ã¾ã™ã€‚";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "リスト内ã®æŒ‡å®šã•ã‚ŒãŸé …目を削除ã—ã¾ã™ã€‚";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "リスト内ã®æœ€å¾Œã®é …目を削除ã—ã¾ã™ã€‚";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "リスト内ã«ã‚るアイテムをランダムã«å‰Šé™¤ã—ã¾ã™ã€‚";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "終了ä½ç½®ï¼šå¾Œã‚ã‹ã‚‰";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "終了ä½ç½®ï¼š";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "最後ã¾ã§";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "最åˆã‹ã‚‰ã‚µãƒ–リストをå–å¾—ã™ã‚‹ã€‚";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "端ã‹ã‚‰ #ã®ã‚µãƒ–リストをå–å¾—ã—ã¾ã™ã€‚";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "# ã‹ã‚‰ã‚µãƒ–ディレクトリã®ãƒªã‚¹ãƒˆã‚’å–å¾—ã—ã¾ã™ã€‚";
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "リストã®æŒ‡å®šã•ã‚ŒãŸéƒ¨åˆ†ã®ã‚³ãƒ”ーを作æˆã—ã¦ãã ã•ã€‚";
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 ã¯ã€æœ€å¾Œã®é …ç›®ã§ã™ã€‚";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 ã¯ã€æœ€åˆã®é …ç›®ã§ã™ã€‚";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "ã§ä»¥ä¸‹ã®ã‚¢ã‚¤ãƒ†ãƒ ã®æœ€åˆã®å‡ºç¾ç®‡æ‰€ã‚’検索:";
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "ã§ä»¥ä¸‹ã®ãƒ†ã‚­ã‚¹ãƒˆã®æœ€å¾Œã®å‡ºç¾ç®‡æ‰€ã‚’検索:";
+Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "リスト項目ã®æœ€åˆ/最後ã«å‡ºç¾ã™ã‚‹ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ä½ç½®ã‚’è¿”ã—ã¾ã™ã€‚é …ç›®ãŒè¦‹ã¤ã‹ã‚‰ãªã„å ´åˆã¯ %1 ã‚’è¿”ã—ã¾ã™ã€‚";
+Blockly.Msg["LISTS_INLIST"] = "リスト";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1ãŒç©º";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "リストãŒç©ºã®å ´åˆã¯ã€true ã‚’è¿”ã—ã¾ã™ã€‚";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "%1ã®é•·ã•";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "リストã®é•·ã•ã‚’è¿”ã—ã¾ã™ã€‚";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "é …ç›®%1ã‚’%2回繰り返ã—ãŸãƒªã‚¹ãƒˆã‚’作æˆ";
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "与ãˆã‚‰ã‚ŒãŸå€¤ã‚’指定ã•ã‚ŒãŸå›žæ•°ç¹°ã‚Šè¿”ã—ã¦ãƒªã‚¹ãƒˆã‚’作æˆã€‚";
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "%1を逆順ã«";
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "リストã®ã‚³ãƒ”ーを逆順ã«ã™ã‚‹ã€‚";
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "値:";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "挿入ä½ç½®ï¼š";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "セット";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "リストã®å…ˆé ­ã«é …目を挿入ã—ã¾ã™ã€‚";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "リスト内ã®æŒ‡å®šä½ç½®ã«é …目を挿入ã—ã¾ã™ã€‚";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "リストã®æœ«å°¾ã«é …目を追加ã—ã¾ã™ã€‚";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "リストã«é …目をランダムã«æŒ¿å…¥ã—ã¾ã™ã€‚";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "リスト内ã«æœ€åˆã®é …目を設定ã—ã¾ã™ã€‚";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "リスト内ã®æŒ‡å®šã•ã‚ŒãŸä½ç½®ã«é …目を設定ã—ã¾ã™ã€‚";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "リスト内ã®æœ€å¾Œã®é …目を設定ã—ã¾ã™ã€‚";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "リスト内ã«ãƒ©ãƒ³ãƒ€ãƒ ãªã‚¢ã‚¤ãƒ†ãƒ ã‚’設定ã—ã¾ã™ã€‚";
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "昇順";
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "é™é †";
+Blockly.Msg["LISTS_SORT_TITLE"] = "%1 ( %2 ) ã« %3 ã‚’並ã³æ›¿ãˆã‚‹";
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "リストã®ã‚³ãƒ”ーを並ã¹æ›¿ãˆ";
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "アルファベット順(大文字・å°æ–‡å­—ã®åŒºåˆ¥ç„¡ã—)";
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "数値順";
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "アルファベット順";
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "テキストã‹ã‚‰ãƒªã‚¹ãƒˆã‚’作る";
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "リストã‹ã‚‰ãƒ†ã‚­ã‚¹ãƒˆã‚’作る";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "テキストã®ãƒªã‚¹ãƒˆã‚’区切り記å·ã§åŒºåˆ‡ã‚‰ã‚ŒãŸä¸€ã¤ã®ãƒ†ã‚­ã‚¹ãƒˆã«ã™ã‚‹";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "テキストを区切り記å·ã§åˆ†å‰²ã—ãŸãƒªã‚¹ãƒˆã«ã™ã‚‹";
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "区切り記å·";
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "false";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "true ã¾ãŸã¯ false ã‚’è¿”ã—ã¾ã™ã€‚";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "true";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://ja.wikipedia.org/wiki/ä¸ç­‰å¼";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "両方ã®å…¥åŠ›ãŒäº’ã„ã«ç­‰ã—ã„å ´åˆã« true ã‚’è¿”ã—ã¾ã™ã€‚";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "最åˆã®å…¥åŠ›ãŒ 2 ç•ªç›®ã®å…¥åŠ›ã‚ˆã‚Šã‚‚大ãã„å ´åˆã¯ true ã‚’è¿”ã—ã¾ã™ã€‚";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "最åˆã®å…¥åŠ›ãŒ 2 ç•ªç›®ã®å…¥åŠ›ä»¥ä¸Šã®å ´åˆã« true ã‚’è¿”ã—ã¾ã™ã€‚";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "最åˆã®å…¥åŠ›ãŒ 2 ç•ªç›®ã®å…¥åŠ›ã‚ˆã‚Šã‚‚å°ã•ã„å ´åˆã¯ true ã‚’è¿”ã—ã¾ã™ã€‚";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "最åˆã®å…¥åŠ›ãŒ 2 ç•ªç›®ã®å…¥åŠ›ä»¥ä¸‹ã®å ´åˆã« true ã‚’è¿”ã—ã¾ã™ã€‚";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "両方ã®å…¥åŠ›ãŒäº’ã„ã«ç­‰ã—ããªã„å ´åˆã« true ã‚’è¿”ã—ã¾ã™ã€‚";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://ja.wikipedia.org/wiki/å¦å®š";
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "%1ã§ã¯ãªã„";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "入力㌠false ã®å ´åˆã¯ã€true ã‚’è¿”ã—ã¾ã™ã€‚入力㌠true ã®å ´åˆã¯ false ã‚’è¿”ã—ã¾ã™ã€‚";
+Blockly.Msg["LOGIC_NULL"] = "null";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "null ã‚’è¿”ã—ã¾ã™ã€‚";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "ã‹ã¤";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "ã¾ãŸã¯";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "両方ã®å…¥åŠ›ãŒ true ã®ã¨ãã« true ã‚’è¿”ã—ã¾ã™ã€‚";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "å°‘ãªãã¨ã‚‚ 1 ã¤ã®å…¥åŠ›ãŒ true ã®ã¨ãã« true ã‚’è¿”ã—ã¾ã™ã€‚";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "テスト";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://ja.wikipedia.org/wiki/%3F:";
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "false ã®å ´åˆ";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "true ã®å ´åˆ";
+Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "'テスト' ã®æ¡ä»¶ã‚’ãƒã‚§ãƒƒã‚¯ã—ã¾ã™ã€‚æ¡ä»¶ãŒ true ã®å ´åˆã€'true' ã®å€¤ã‚’è¿”ã—ã¾ã™ã€‚ãれ以外ã®å ´åˆ 'false' ã®ã‚’è¿”ã—ã¾ã™ã€‚";
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://ja.wikipedia.org/wiki/ç®—è¡“";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "2 ã¤ã®æ•°ã®åˆè¨ˆã‚’è¿”ã—ã¾ã™ã€‚";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "2 ã¤ã®æ•°ã®å•†ã‚’è¿”ã—ã¾ã™ã€‚";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "2 ã¤ã®æ•°ã®å·®ã‚’è¿”ã—ã¾ã™ã€‚";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "2 ã¤ã®æ•°ã®ç©ã‚’è¿”ã—ã¾ã™ã€‚";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "最åˆã®æ•°ã‚’2 ç•ªç›®ã®å€¤ã§ç´¯ä¹—ã—ãŸçµæžœã‚’è¿”ã—ã¾ã™ã€‚";
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://ja.wikipedia.org/wiki/加法";
+Blockly.Msg["MATH_CHANGE_TITLE"] = "%1 ã‚’ %2 å¢—ã‚„ã™";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "変数'%1'ã«æ•°ã‚’ãŸã™ã€‚";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://ja.wikipedia.org/wiki/数学定数";
+Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "ã„ãšã‚Œã‹ã®å…±é€šã®å®šæ•°ã®ã‚’è¿”ã™: Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), or âˆž (ç„¡é™).";
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "%1 ã‚’ %2 ä»¥ä¸Š %3 ä»¥ä¸‹ã®ç¯„囲ã«åˆ¶é™";
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "指定ã—ãŸä¸Šé™ã¨ä¸‹é™ã®é–“ã«å€¤ã‚’制é™ã™ã‚‹ï¼ˆä¸Šé™ã¨ä¸‹é™ã®å€¤ã‚’å«ã‚€ï¼‰ã€‚";
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "ã¯ä»¥ä¸‹ã§å‰²ã‚Šãれる:";
+Blockly.Msg["MATH_IS_EVEN"] = "ã¯å¶æ•°";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "ã¯è² ";
+Blockly.Msg["MATH_IS_ODD"] = "ã¯å¥‡æ•°";
+Blockly.Msg["MATH_IS_POSITIVE"] = "ã¯æ­£";
+Blockly.Msg["MATH_IS_PRIME"] = "ã¯ç´ æ•°";
+Blockly.Msg["MATH_IS_TOOLTIP"] = "æ•°å­—ãŒã€å¶æ•°ã€å¥‡æ•°ã€ç´ æ•°ã€æ•´æ•°ã€æ­£æ•°ã€è² æ•°ã€ã¾ãŸã¯ç‰¹å®šã®æ•°ã§å‰²ã‚Šåˆ‡ã‚Œã‚‹ã‹ã©ã†ã‹ã‚’判定ã—ã€true ã‹ false ã‚’è¿”ã—ã¾ã™ã€‚";
+Blockly.Msg["MATH_IS_WHOLE"] = "ã¯æ•´æ•°";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://en.wikipedia.org/wiki/Modulo_operation";
+Blockly.Msg["MATH_MODULO_TITLE"] = "%1÷%2ã®ä½™ã‚Š";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "2ã¤ã®æ•°å€¤ã®å‰²ã‚Šç®—ã®ä½™ã‚Šã‚’è¿”ã™ã€‚";
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://ja.wikipedia.org/wiki/æ•°";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "æ•°ã§ã™ã€‚";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "リストã®å¹³å‡";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "リストã®æœ€å¤§å€¤";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "リストã®ä¸­å¤®å€¤";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "リストã®æœ€å°å€¤";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "リストã®æœ€é »å€¤";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "リストã‹ã‚‰ãƒ©ãƒ³ãƒ€ãƒ ã«é¸ã°ã‚ŒãŸé …ç›®";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "リストã®æ¨™æº–åå·®";
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "リストã®åˆè¨ˆ";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "リストã®æ•°å€¤ã®å¹³å‡ (ç®—è¡“å¹³å‡) ã‚’è¿”ã™ã€‚";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "リストã®æœ€å¤§å€¤ã‚’è¿”ã™ã€‚";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "リストã®ä¸­å¤®å€¤ã‚’è¿”ã™ã€‚";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "リストã®æœ€å°å€¤ã‚’è¿”ã™ã€‚";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "リスト中ã®æœ€é »é …ç›®ã®ãƒªã‚¹ãƒˆã‚’è¿”ã™ã€‚";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "リストã‹ã‚‰ãƒ©ãƒ³ãƒ€ãƒ ã«é¸ã°ã‚ŒãŸè¦ç´ ã‚’è¿”ã™ã€‚";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "リストã®æ¨™æº–å差を返ã™ã€‚";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "リストã®æ•°å€¤ã‚’足ã—ã¦è¿”ã™ã€‚";
+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"] = "1未満ã®æ­£ã®ä¹±æ•°";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "0.0以上ã§1.0未満ã®ç¯„囲ã®ä¹±æ•°ã‚’è¿”ã—ã¾ã™ã€‚";
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "%1ã‹ã‚‰%2ã¾ã§ã®ãƒ©ãƒ³ãƒ€ãƒ ãªæ•´æ•°";
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "指定ã•ã‚ŒãŸï¼ˆä¸Šä¸‹é™ã‚’å«ã‚€ï¼‰ç¯„囲ã®ãƒ©ãƒ³ãƒ€ãƒ ãªæ•´æ•°ã‚’è¿”ã—ã¾ã™ã€‚";
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://ja.wikipedia.org/wiki/端数処ç†";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "å››æ¨äº”å…¥";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "切りæ¨ã¦";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "切り上ã’";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "数値を切り上ã’ã‚‹ã‹åˆ‡ã‚Šæ¨ã¦ã‚‹";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://ja.wikipedia.org/wiki/平方根";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "絶対値";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "平方根";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "絶対値を返ã™ã€‚";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "ãƒã‚¤ãƒ”ア数eã®æ•°å€¤ä¹—ã‚’è¿”ã™ã€‚";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "数値ã®è‡ªç„¶å¯¾æ•°ã‚’è¿”ã™ã€‚";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "底ãŒ10ã®å¯¾æ•°ã‚’è¿”ã™ã€‚";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "è² ã®æ•°ã‚’è¿”ã™ã€‚";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "1ï¼ã®æ•°å€¤ä¹—ã‚’è¿”ã™ã€‚";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "平方根を返ã™ã€‚";
+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://ja.wikipedia.org/wiki/三角関数";
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "アークコサイン(arccosin)を返ã™ã€‚";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "アークサイン(arcsin)を返ã™ã€‚";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "アークタンジェント(arctan)を返ã™ã€‚";
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "(ラジアンã§ã¯ãªã)度数ã®ä½™å¼¦ï¼ˆcosin)を返ã™ã€‚";
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "(ラジアンã§ã¯ãªã)度数ã®æ­£å¼¦ï¼ˆsin)を返ã™ã€‚";
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "(ラジアンã§ã¯ãªã)度数ã®æ­£æŽ¥ï¼ˆtan)を返ã™ã€‚";
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "色ã®å¤‰æ•°ã‚’作る...";
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "æ•°ã®å¤‰æ•°ã‚’作る...";
+Blockly.Msg["NEW_STRING_VARIABLE"] = "文字列ã®å¤‰æ•°ã‚’作る...";
+Blockly.Msg["NEW_VARIABLE"] = "変数ã®ä½œæˆâ€¦";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "æ–°ã—ã„変数ã®åå‰ï¼š";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "æ–°ã—ã„変数ã®åž‹:";
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "ステートメントを許å¯";
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "引数:";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://ja.wikipedia.org/wiki/サブルーãƒãƒ³";
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "ユーザー定義関数 '%1' ã‚’実行ã—ã¾ã™ã€‚";
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://ja.wikipedia.org/wiki/サブルーãƒãƒ³";
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "ユーザー定義関数 '%1' ã‚’実行ã—ã€ãã®å‡ºåŠ›ã‚’使用ã—ã¾ã™ã€‚";
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "引数:";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "'%1' ã‚’作æˆ";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "ã“ã®é–¢æ•°ã®èª¬æ˜Žâ€¦";
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://ja.wikipedia.org/wiki/サブルーãƒãƒ³";
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "何ã‹ã™ã‚‹";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "関数";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "出力ãªã—ã®é–¢æ•°ã‚’作æˆã—ã¾ã™ã€‚";
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://ja.wikipedia.org/wiki/サブルーãƒãƒ³";
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "è¿”ã™";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "一ã¤ã®å‡ºåŠ›ã‚’æŒã¤é–¢æ•°ã‚’作æˆã—ã¾ã™ã€‚";
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "警告: ã“ã®é–¢æ•°ã«ã¯é‡è¤‡ã™ã‚‹ãƒ‘ラメーターãŒã‚ã‚Šã¾ã™ã€‚";
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "関数ã®å†…容を強調表示ã—ã¾ã™ã€‚";
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "1番目ã®å€¤ãŒ true ã®å ´åˆã€2番目ã®å€¤ã‚’è¿”ã—ã¾ã™ã€‚";
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "警告: ã“ã®ãƒ–ロックã¯ã€é–¢æ•°å®šç¾©å†…ã§ã®ã¿ä½¿ç”¨ã§ãã¾ã™ã€‚";
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "入力å:";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "関数ã¸ã®å…¥åŠ›ã®è¿½åŠ ã€‚";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "入力";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "ã“ã®é–¢æ•°ã¸ã®å…¥åŠ›ã®è¿½åŠ ã€å‰Šé™¤ã€é †ç•ªå¤‰æ›´ã€‚";
+Blockly.Msg["REDO"] = "ã‚„ã‚Šç›´ã™";
+Blockly.Msg["REMOVE_COMMENT"] = "コメントを削除";
+Blockly.Msg["RENAME_VARIABLE"] = "変数ã®åå‰ã‚’変ãˆã‚‹â€¦";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "é¸æŠžã—ãŸ%1ã®å¤‰æ•°ã™ã¹ã¦ã®åå‰ã‚’変ãˆã‚‹ï¼š";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "é …ç›® %1 ã¸ãƒ†ã‚­ã‚¹ãƒˆã‚’追加 %2";
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "変数 '%1' ã«ãƒ†ã‚­ã‚¹ãƒˆã‚’追加。";
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "å°æ–‡å­—ã«";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "タイトル ã‚±ãƒ¼ã‚¹ã«";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "大文字ã«";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "別ã®ã‚±ãƒ¼ã‚¹ã«ã€ãƒ†ã‚­ã‚¹ãƒˆã®ã‚³ãƒ”ーを返ã—ã¾ã™ã€‚";
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "最åˆã®æ–‡å­—ã‚’å¾—ã‚‹";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "ã®ã€å¾Œã‚ã‹ã‚‰ä»¥ä¸‹ã®æ•°å­—番目ã®æ–‡å­—:";
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "ã®ã€ä»¥ä¸‹ã®æ•°å­—番目ã®æ–‡å­—:";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "最後ã®æ–‡å­—ã‚’å¾—ã‚‹";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "ランダムãªæ–‡å­—ã‚’å¾—ã‚‹";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "テキスト %1 %2";
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "指定ã•ã‚ŒãŸä½ç½®ã«æ–‡å­—ã‚’è¿”ã—ã¾ã™ã€‚";
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "%2ã«å«ã¾ã‚Œã‚‹%1ã®æ•°ã‚’æ•°ãˆã‚‹";
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "ã¨ã‚ã‚‹æ–‡ãŒåˆ¥ã®æ–‡ã®ãªã‹ã«ä½¿ã‚ã‚ŒãŸå›žæ•°ã‚’æ•°ãˆã‚‹ã€‚";
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "テキストã¸é …目を追加。";
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "çµåˆ";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "セクションを追加ã€å‰Šé™¤ã€ã¾ãŸã¯é †åºå¤‰æ›´ã—ã¦ã€ãƒ–ロックをå†æ§‹æˆã€‚";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "終了ä½ç½®ï¼šå¾Œã‚ã‹ã‚‰";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "終了ä½ç½®ï¼š";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "最後ã®ã®æ–‡å­—";
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "テキスト";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "ã®éƒ¨åˆ†æ–‡å­—列をå–得;最åˆã‹ã‚‰";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "ã®éƒ¨åˆ†æ–‡å­—列をå–得;開始ä½ç½®ï¼šå¾Œã‚ã‹ã‚‰";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "ã®éƒ¨åˆ†æ–‡å­—列をå–得;開始ä½ç½®ï¼š";
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "テキストã®æŒ‡å®šéƒ¨åˆ†ã‚’è¿”ã—ã¾ã™ã€‚";
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "ã§ä»¥ä¸‹ã®ãƒ†ã‚­ã‚¹ãƒˆã®æœ€åˆã®å‡ºç¾ç®‡æ‰€ã‚’検索:";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "ã§ä»¥ä¸‹ã®ãƒ†ã‚­ã‚¹ãƒˆã®æœ€å¾Œã®å‡ºç¾ç®‡æ‰€ã‚’検索:";
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "テキスト %1 %2 %3";
+Blockly.Msg["TEXT_INDEXOF_TOOLTIP"] = "二番目ã®ãƒ†ã‚­ã‚¹ãƒˆã®ä¸­ã§ä¸€ç•ªç›®ã®ãƒ†ã‚­ã‚¹ãƒˆãŒæœ€åˆï¼æœ€å¾Œã«å‡ºç¾ã—ãŸã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã‚’è¿”ã™ã€‚テキストãŒè¦‹ã¤ã‹ã‚‰ãªã„å ´åˆã¯%1ã‚’è¿”ã™ã€‚";
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1ãŒç©º";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "与ãˆã‚‰ã‚ŒãŸãƒ†ã‚­ã‚¹ãƒˆãŒç©ºã®å ´åˆã¯ true ã‚’è¿”ã™ã€‚";
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "テキストã®ä½œæˆï¼š";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "ä»»æ„ã®æ•°ã®é …目一部を一緒ã«æŽ¥åˆã—ã¦ãƒ†ã‚­ã‚¹ãƒˆã‚’作æˆã€‚";
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "%1ã®é•·ã•";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "与ãˆã‚‰ã‚ŒãŸãƒ†ã‚­ã‚¹ãƒˆã®(スペースをå«ã‚€)文字数を返ã™ã€‚";
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "%1 ã‚’表示";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "指定ã—ãŸãƒ†ã‚­ã‚¹ãƒˆã€ç•ªå·ã¾ãŸã¯ä»–ã®å€¤ã‚’å°åˆ·ã—ã¾ã™ã€‚";
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "ユーザーã«æ•°å€¤ã®ã‚¤ãƒ³ãƒ—ットを求ã‚る。";
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "ユーザーã«ãƒ†ã‚­ã‚¹ãƒˆå…¥åŠ›ã‚’求ã‚る。";
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "メッセージã§ç•ªå·ã®å…¥åŠ›ã‚’求ã‚ã‚‹";
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "メッセージã§ãƒ†ã‚­ã‚¹ãƒˆå…¥åŠ›ã‚’求ã‚ã‚‹";
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "%3ã«å«ã¾ã‚Œã‚‹%1ã‚’%2ã«ç½®æ›";
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "æ–‡ã«å«ã¾ã‚Œã‚‹ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰ã‚’ç½®æ›ã™ã‚‹ã€‚";
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "%1を逆順ã«";
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "æ–‡ã®æ–‡å­—を逆順ã«ã™ã‚‹ã€‚";
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://ja.wikipedia.org/wiki/文字列";
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "文字ã€å˜èªžã€ã¾ãŸã¯è¡Œã®ãƒ†ã‚­ã‚¹ãƒˆã€‚";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "両端ã®ã‚¹ãƒšãƒ¼ã‚¹ã‚’å–り除ã";
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "左端ã®ã‚¹ãƒšãƒ¼ã‚¹ã‚’å–り除ã";
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "å³ç«¯ã®ã‚¹ãƒšãƒ¼ã‚¹ã‚’å–り除ã";
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "スペースを 1 ã¤ã¾ãŸã¯ä¸¡æ–¹ã®ç«¯ã‹ã‚‰å‰Šé™¤ã—ãŸã®ã¡ã€ãƒ†ã‚­ã‚¹ãƒˆã®ã‚³ãƒ”ーを返ã—ã¾ã™ã€‚";
+Blockly.Msg["TODAY"] = "今日";
+Blockly.Msg["UNDO"] = "å–り消ã™";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "é …ç›®";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "'セット%1を作æˆã—ã¾ã™ã€‚";
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "ã“ã®å¤‰æ•°ã®å€¤ã‚’è¿”ã—ã¾ã™ã€‚";
+Blockly.Msg["VARIABLES_SET"] = "%1 ã« %2 ã‚’セット";
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "'%1 ã‚’å–å¾—' ã‚’作æˆã—ã¾ã™ã€‚";
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "ã“ã®å…¥åŠ›ã‚’変数ã¨ç­‰ã—ããªã‚‹ã‚ˆã†ã«è¨­å®šã—ã¾ã™ã€‚";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "変数å '%1' ã¯æ—¢ã«å­˜åœ¨ã—ã¦ã„ã¾ã™ã€‚";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "'%2' åž‹ã® '%1' ã¨ã„ã†åå‰ã®å¤‰æ•°ãŒæ—¢ã«å­˜åœ¨ã—ã¾ã™ã€‚";
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "ã“ã“ã¸å…¥åŠ›";
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/kab.js b/js/msg/js/kab.js
new file mode 100644 (file)
index 0000000..c03eda4
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.kab');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "Rnu awennit";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "Ur izmir ara ad yekkes amutti '%1' acku yedda di tbadut n twuri '%2'";
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "Beddel azal:";
+Blockly.Msg["CLEAN_UP"] = "SfeḠiḥedran";
+Blockly.Msg["COLLAPSE_ALL"] = "Fneẓ iḥedran";
+Blockly.Msg["COLLAPSE_BLOCK"] = "Fneẓ iḥder";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "ini 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "ini 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";  // untranslated
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "afmiá¸i";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "rkwec";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "SexleḠsin n yiniten d tesmekta (gar 0.0 ar 1.0).";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://kab.wikipedia.org/wiki/Ini";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "Fren ini seg ugalis.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "ini agacuran";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "Fren ini s wudem agacuran.";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "anili";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "azegzaw";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";  // untranslated
+Blockly.Msg["COLOUR_RGB_RED"] = "azeggwaÉ£";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "ini s";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "Rnu ini s tnecta yettunefk s tesmekta n uzeggaÉ£, azegzaw, akked unili. Yessefk akk azalen ad ilin gar 0 akked 100.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "ffeÉ£ seg tneddict";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "kemmel s wallus d tneddict d-iteddun";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "FfeÉ£ si tneddict tamagbart.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "Zgel ayen i d-yeqqimen di tneddict-agi, sakin kemmel allus d-iteddun.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "Æ”ur-k: Iḥder-agi yessefk ad yettwaseqdec di tneddict.";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "i yal aferdis  %1 di tebdart %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "I yal aferdis n tebdart, mudd azal n uferdis i umutti '%1', sakin selkem tinaá¸in.";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "siá¸en akked %1 seg %2 ar %3 s %4";
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "Mudd i umutti '%1' azalen seg umá¸an n tazwara arama d umá¸an n tagara, stmerna n usurif yettunefken, sakin selkem tiaá¸in yettunefken.";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "Rni tawtilt i yiḥder ma.";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "Rnu tawtilt taneggarut i yiḥder ma igebren akk tinaá¸in.";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Rnu, kkes, neq ales ales asmizzwer n tgezmiyin akken ad talseḠtawila n iḥder-agi ma.";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "neÉ£";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "neÉ£ ma";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "ma";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "ma yella azal d idetti, ihi selkem kra n tinaá¸in.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "Ma yella zal d idetti, selkem iḥder amezwaru. NeÉ£ ma ulac, selkem iḥder wis sin.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "Ma yella azal amezwaru d idetti, selkem iḥder amezwaru. NeÉ£ ma azal wis sin d ucciá¸, selkem iḥ€der wis sin.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "Ma yella azal amezwaru d idetti, selkem iḥeder amezwaru. NeÉ£, ma yella azal wis sin d idetti, selkem iḥder wis sin. Ma yella ula d yisen seg-sen maÄÄi d idetti, selkem iḥder aneggaru.";
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://en.wikipedia.org/wiki/For_loop";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "eg";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "Ales %1 n tikal";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "Selkem ddeqs n tinaá¸in ddeqs n tikal.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "ales arama";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "ales skud";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "Skud azal d ucciá¸, selkem ihi tinadin.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "Skud azal d idetti, selkem ihi tinadin.";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "Kkes akk %1 n yiḥedran?";
+Blockly.Msg["DELETE_BLOCK"] = "Kkes iḥder";
+Blockly.Msg["DELETE_VARIABLE"] = "Kkes amutti '%1'";
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Kkes %1 n useqdec n umutti '%2'?";
+Blockly.Msg["DELETE_X_BLOCKS"] = "Kkes %1 n yiḥderan";
+Blockly.Msg["DISABLE_BLOCK"] = "Sens iḥder";
+Blockly.Msg["DUPLICATE_BLOCK"] = "Sleg";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Sleg awennit";
+Blockly.Msg["ENABLE_BLOCK"] = "Sens iḥedran";
+Blockly.Msg["EXPAND_ALL"] = "Snefli iḥedran";
+Blockly.Msg["EXPAND_BLOCK"] = "Snefli iḥder";
+Blockly.Msg["EXTERNAL_INPUTS"] = "Inekcam izÉ£arayen";
+Blockly.Msg["HELP"] = "Tallelt";
+Blockly.Msg["INLINE_INPUTS"] = "Inekcam srid";
+Blockly.Msg["IOS_CANCEL"] = "Sefsex";
+Blockly.Msg["IOS_ERROR"] = "Tuccá¸a";
+Blockly.Msg["IOS_OK"] = "IH";
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Rnu anekcum";
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Sireg asmizzwer";
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "Tawuri-a É£ur-s inekcam imsinen.";
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "INEKCAM";
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "Rnu";
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Rnu amutti";
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "Kkes";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "Ur tezmireḠara ad tesqedceḠisem n umutti amaynut.";
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Snifel isem";
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Isem n umutti";
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "rnu tabdart tilemt";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Ad d-yerr tabdart n teÉ£zi 0 ur yegbiren ara ikalasen";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "tabdart";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Rnu, kkes, neÉ£ ales asmizzwer n tgezmiyin akken ad talseḠtawila n iḥder-agi n tebdart.";
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "rnu tabdart s";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Ad yernu aferdis ar tebdart.";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Ad yernu tabdart s umá¸an n iferdisen.";
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "amezwaru";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "# si tagara";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "awi";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "awi u kkes";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "aneggaru";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "agacuran";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "kkes";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Ad d-yerr aferdis amezwaru n tebdart..";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Ad d-yerr aferdis n wadig yettwammlen deg tabdart.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Ad d-yerr aferdis aneggaru di tebdart.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Ad yerr aferdis agacuran di tebdart.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "Ad yekkes sakin ad -yerr aferdis amezwaru di tebdart.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "Ad yekkes sakin ad d-yerr aferdis n wadig yettwammlen deg tabdart.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "Ad yekkes sakin ad -yerr aferdis aneggaru di tebdart.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Ad yekkes sakin ad d-yerr aferdis agacuran di tebdart.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "Ad yekkes aferdis amezwaru n tebdart..";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "Ad yekkes aferdis n wadig yettwammlen deg tabdart.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "Ad yekkes aferdis aneggaru di tebdart.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Ad yekkes aferdis agacuran di tebdart.";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "ar # si tagara";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "ar #";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "ar tagara";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "awi-d tabdart tasnawant si tazwara";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "awi-d tabdart tasnawant seg # si tagara";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "awi-d tabdart tasnawant seg #";
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Ad yernu anÉ£el n uḥric yettwammlen n tebdart.";
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 d aferdis aneggaru.";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 d aferdis amezwaru.";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "aff-d timeá¸riwt tamezwarut n uferdis";
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "af-d timeá¸riwt taneggarut n uferdis";
+Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "Ad d-yerr amatar n tmeá¸riwt tamezwarut/taneggarut n uferdis amewaru deg tebdart. Ad d-yerr %1 ma yella ulac aferdis.";
+Blockly.Msg["LISTS_INLIST"] = "di tebdart";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 d ilem";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Ad d-yerr idetti ma yella tabdart d tilemt.";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "teÉ£zi n %1";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Ad d-yerr teÉ£zi n tebdart.";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "ad yernu tabdart s uferdis %1 s tmeá¸riwt %2";
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Ad yernu tabdart inetmen n wazal yettunefken ddeqs n tikal s umá¸an yettwammlen.";
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";  // untranslated
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "tti %1";
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Tti anÉ£el n tebdart.";
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "am";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "ger s";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "sbadu";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Ad iger aferdis di tazwara n tebdart.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Ad iger aferdis n wadig yettwammlen deg tabdart.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Ad yernu aferdis ar tagara n  tebdart.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Ad iger aferdis s wudem agacuran deg tebdart.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Ad d-yerr aferdis amezwaru di tebdart.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Ad yesbadu aferdis n wadig yettwammlen deg tabdart.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Ad d-yerr aferdis aneggaru di tebdart.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Ad yesbadu aferdis agacuran di tebdart.";
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "igemmen";
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "amnusruy";
+Blockly.Msg["LISTS_SORT_TITLE"] = "smizzwer %1 %2 %3";
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Smizzwer anÉ£el n tebdart.";
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "agemmayan, anef i truẓi n usekkil";
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "umá¸in";
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "agemmayan";
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "rnu tabdart seg uá¸ris";
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "rnu aá¸ris si tebdart";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "ad yesdukel tabdart n yiá¸risen deg iwen s usnabraz.";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Ad yegzem aá¸ris É£ef ddeqs n tebdarin n yoiá¸risen, s unegzum yal anabraz.";
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "s unabraz";
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "ucciá¸";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "Ad d-yerr idetti neÉ£ ucciá¸";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "idetti";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://en.wikipedia.org/wiki/Inequality_(mathematics)";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Ad yerr idetti ma yella i sin n inekcam d imegduya.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Ad d-yerr idetti ma yella anekcam amezwaru meqqeá¹› É£ef wis sin.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Ad d-yerr idetti ma yella anekcam amezwaru meqqeá¹› neÉ£ yegda wis sin.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "Ad d-yerr idetti ma yella anekcam amezwaru meẓẓi É£ef wis sin.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "Ad d-yerr idetti ma yella anekcam amezwaru meẓẓi neÉ£ yegda wis sin.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "Ad d-yerr idetti ma yella i sin n inekcam maÄÄi d imegduya.";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "maÄÄi %1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "Ad d-yerr idetti ma yella anekcam d ucciá¸. Ad d-yerr ucciḠma yella anekcam d idetti.";
+Blockly.Msg["LOGIC_NULL"] = "Ilem";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";  // untranslated
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "Ad d-yerr ilem";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "akked";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "neÉ£";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "Ad d-yerr idetti ma yella inekcam d idettiyen.";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "Ad d-yerr idetti ma yella É£arsum yiwen seg inekcam d idetti.";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "sekyed";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "ma ucciá¸";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "ma d idetti";
+Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "Senqed tawtilt deg 'sekyed'. Ma yella d idetti, ad d-yerr azal 'ma idetti', ma ulac ad d-yerr azam 'ma ucciá¸'.";
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://en.wikipedia.org/wiki/Arithmetic";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Ad d-yerr tmerni n sin n imiá¸anen.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Ad d-yerr aful n sin n imá¸anen.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Ad d-yerr tmernit n sin n imiá¸anen.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Ad d-yerr tukksa gar sin n imiá¸anen.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Ad d-yerr amá¸an amezwaru uzmir wis sin.";
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";
+Blockly.Msg["MATH_CHANGE_TITLE"] = "snifel %1 s %2";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Rnu amá¸an i umutti '%1'.";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://en.wikipedia.org/wiki/Mathematical_constant";
+Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "Ad d-yerr yiwet seg tmezgiyin yettwasnen : Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), neÉ£ âˆž (ifeá¸).";
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "Err tamara i %1 gar %2 akked %3";
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Err tamara n umiá¸an akken ad yili gar snat n tlisa (ddant).";
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";  // untranslated
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "d ubá¹­ay É£ef";
+Blockly.Msg["MATH_IS_EVEN"] = "d ayugan";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "d uzdir";
+Blockly.Msg["MATH_IS_ODD"] = "d aryugan";
+Blockly.Msg["MATH_IS_POSITIVE"] = "d ufrar";
+Blockly.Msg["MATH_IS_PRIME"] = "d amenzu";
+Blockly.Msg["MATH_IS_TOOLTIP"] = "Senqed ma yella amá¸an d ayugan, d aryugan, d amenzu, d ummid, d ufrar, d uzdir, neÉ£ d ybá¹­ay É£ef kra n umá¸an. Ad d-yerr idettu neÉ£ ucciá¸.";
+Blockly.Msg["MATH_IS_WHOLE"] = "d ummid";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://en.wikipedia.org/wiki/Modulo_operation";
+Blockly.Msg["MATH_MODULO_TITLE"] = "tasagert n %1 ÷ %2";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Ad d-yerr tasagert n beá¹­á¹­u n sin n imá¸anen.";
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";  // untranslated
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://en.wikipedia.org/wiki/Number";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "Amá¸an.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "talemmast n tebdart";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "afellay n tebdart";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "tanammast n tebdart";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "adday n tebdart";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "Tigwtiwin n tebdart";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "aferdis agacuran n tebdart";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "azza n tebdart";
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "Timernit n tebdart";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Ad d-yerr talemmas( tasnamá¸ant) n wazalen umá¸inen di tebdart.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "Ad d-yerr amá¸an  ameqqran di tebdart.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "Ad d-yerr amá¸an n anammas n tebdart.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "Ad d-yerr amá¸an  ameẓẓyan di tebdart.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Ad d-yerr tabdart n iferdisen i d-yettuÉ£alen s waá¹­as di tebdart.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Ad d-yerr aferdis seg tebdart s wudem agacuran.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Ad d-yerr azza n tebdart.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Ad d-yerr timernit n imá¸anen meṛṛa deg tebdart.";
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "tirẓi tagacurant";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Ad d-yerr tirẓi tagacurant gar 0.0 (yedda) akked 1.0 (ur yeddi ara).";
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "ummid agacuran gar %1 akked %2";
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Ad d-yerr ummid agacuran gar snat n tlisa, ddant.";
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://en.wikipedia.org/wiki/Rounding";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "Saẓ";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "Saẓ d akesser";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "Saẓ d asawen";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Saẓ amiá¸an d asawen neÉ£ d akesser.";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://en.wikipedia.org/wiki/Square_root";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "azal amagdez";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "aẓar uzmir 2";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Ad d-yerr azal amagdez n umiá¸an.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Ad d-yerr e uzmir amiá¸an.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "Ad d-yerr alugaritm agamawan n umiá¸an.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "Ad d-yerr alugaritm 10 n umiá¸an.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Ad d-yerr ugmiḠn umá¸an.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Ad d-yerr 10 uzmir amiá¸an.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Ad d-yerr aẓaá¹› uzmir sin n umiá¸an.";
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";  // untranslated
+Blockly.Msg["MATH_TRIG_ACOS"] = "acos";  // untranslated
+Blockly.Msg["MATH_TRIG_ASIN"] = "asin";  // untranslated
+Blockly.Msg["MATH_TRIG_ATAN"] = "atan";  // untranslated
+Blockly.Msg["MATH_TRIG_COS"] = "cos";  // untranslated
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://en.wikipedia.org/wiki/Trigonometric_functions";
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";  // untranslated
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Ad d-yerr taganzi n ukusinus n umá¸an.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Ad d-yerr taganzi n usinus n umá¸an.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Ad d-yerr taganzi n teslayt n umiá¸an.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Ad d-yerr akusinus n teÉ£mert s tfesna (maÄÄi aá¹›adyan).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Ad d-yerr asinus n teÉ£mert s tfesna (maÄÄi aá¹›adyan).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Ad d-yerr taslayt n teÉ£mert s tfesna (maÄÄi aá¹›adyan).";
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Rnu amutti ini...";
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Rnu amutti amá¸an...";
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Rnu amutti azrir n yisekkilen...";
+Blockly.Msg["NEW_VARIABLE"] = "Rnu amutti...";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "Isem amaynut n wazal:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "Anaw amaynut n umutti:";
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "Sireg asmizzwer";
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "s:";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Selkem tawuri '%1' yesbadu u seqdac.";
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Selkem tawuri '%1' yesbadu useqdace sakin seqdec agmuá¸-is.";
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "s:";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "rnu '%1'";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Seglem tawuri-agi...";
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "eg kra";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "i";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Rnu tawuri s war anekcam.";
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "tuÉ£alin";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "ad yernu tawuri s tuffÉ£a.";
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "Æ”ur-k: Tawuri-agi É£ur-s iÉ£ewwaá¹›en usligen.";
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "Sebruá¹›eq tabadut n twuri";
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "ma yella azal d idetti, ad d-yerr azal-nniá¸en wis sin.";
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "Æ”ur-k: Iḥder-agi yezmer ur yettwaseqdac ara ala di tebadut n twuri-agi.";
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "isem n unekcum:";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "rnu anekcam ar twuri-agi.";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "inekcam";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Rnu, kkes neÉ£ ales asmizzwer n inekcam i twuri-agi.";
+Blockly.Msg["REDO"] = "UÉ£al";
+Blockly.Msg["REMOVE_COMMENT"] = "Kkes awennit";
+Blockly.Msg["RENAME_VARIABLE"] = "Beddel isem n umutti...";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Beddel akk isem n yimuttiyen '%1' ar:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "Rnu aá¸ris %2 ar %1";
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Rnu aá¸ris ar umutti '%1'.";
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "s usekkil ameẓẓyan";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "s Umeqqran Di Tazwara n Yal Awal.";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "s USEKKIL AMEQQRAN";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Ad d-yerr anÉ£el n uá¸ris s truẓi-nniá¸en.";
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "awi-d asekkil amezwaru";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "awi-d asekkil # si tagara";
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "awi asekkel #";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "awi-d asekkil aneggaru";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "awi-d asekkil s wudem agacuran";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "deg uá¸ris %1 %2";
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Ad d-yerr asekkil deg wuá¹­á¹­un yettwammlen.";
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";  // untranslated
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "amá¸an %1 É£ef %2";
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Ad isiá¸en amá¸an n tmeá¸riwt n uá¸ris deg ayeá¸.";
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Rnu aferdis ar uá¸ris.";
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "sdukkel";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Rnu, kkes, neÉ£ ales asmizzwer n tgezmiyin akken ad talseḠtawila n iḥder-agi.";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "arama d asekkil # si tagara";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "arama d asekkil #";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "arama d asekkil aneggaru";
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "deg uá¸ris";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "awi-d azrir asnawan seg usekkil amezwaru";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "awi-d azrir asnawan seg usekkil # si tagara";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "awi-d azrir asnawan seg usekkil #";
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Ad d-yerr aḥric yettwammlen deg uá¸ris.";
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "af-d timeá¸riwt tamezwarut n uá¸ris";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "af-d timeá¸riwt taneggarut deg uá¸ris";
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "deg uá¸ris %1 %2 %3";
+Blockly.Msg["TEXT_INDEXOF_TOOLTIP"] = "Ad d-yerr amatar n tmeá¸riwt tamezwarut/taneggarut n uá¸ris amewaru deg uá¸ris wis sin. Ad d-yerr %1 ma yella ulac adris.";
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 d ilem";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Add d-yerr idetti ma yella aá¸ris d ilem.";
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "rnu aá¸á¹›is s";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Ad yernu taceqquft n uá¸ris s usdukel gar yal amá¸an n iferdisen.";
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "teÉ£zi n %1";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Ad d-yerr amá¸an n isekkilen (ddab ula d imellalen) deg uá¸ris d-ittunefken.";
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "ad d-yesken %1";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Sken aá¸ris, amá¸an neÉ£ azal-nniá¸en d-ittunefken.";
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Suter amá¸an i useqdac.";
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Suter aá¸ris i useqdac.";
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "aneftaÉ£ i umá¸an s yizen";
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "aneftaÉ£ i uá¸ris s yizen";
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";  // untranslated
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "semselsi %1 s %2 di %3";
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "As isemselsi akk timeá¸riwin n uá¸ris s wayeá¸.";
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";  // untranslated
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "tti %1";
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Ad yetti asmizzwer n isekkilen deg uá¸ris.";
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://en.wikipedia.org/wiki/String_(computer_science)";
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "Asekkil, awal neÉ£ izirig n uá¸ris.";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "Tukksa n isekkilen imellalen seg sin n idisan";
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "tukksa n isekkilen seg uzelmaá¸";
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "tukksa n isekkilen seg uyeffus";
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Ad d-yerr anÉ£el n uá¸ris s isekkilen ilmawen yettwakksen seg ixf neÉ£ i sin.";
+Blockly.Msg["TODAY"] = "Ass-a";
+Blockly.Msg["UNDO"] = "Err-d";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "aferdis";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Rnu 'sbadu %1'";
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Ad d-yerr azal n umutti-agi.";
+Blockly.Msg["VARIABLES_SET"] = "sbadu %1 ar %2";
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Rnu 'awi-d %1'";
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Ad yesbadu amutti-agi akken ad yegdu azal n unekcam.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "Amutti s yisem '%1' yella yakan.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "Amutti s yisem '%1' yella yakan i wanaw-nniá¸en: '%2'.";
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Ini kra...";
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/ko.js b/js/msg/js/ko.js
new file mode 100644 (file)
index 0000000..ab01431
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.ko');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "주선추가";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "'%2' í•¨ìˆ˜ ì •ì˜ì˜ ì¼ë¶€ì´ê¸° ë•Œë¬¸ì— '%1' ë³€ìˆ˜ë¥¼ ì‚­ì œí•  ìˆ˜ ì—†ìŠµë‹ˆë‹¤";
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "ê°’ ë°”꾸기:";
+Blockly.Msg["CLEAN_UP"] = "블론정리";
+Blockly.Msg["COLLAPSE_ALL"] = "블론축소";
+Blockly.Msg["COLLAPSE_BLOCK"] = "블론축소";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "색 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "색 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "비율";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "혼합";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "둠색선주어진 ë¹„율로 í˜¼í•© (0.0 - 1.0)";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://ko.wikipedia.org/wiki/색";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "팔레트ì—ì„œ ìƒ‰ì„ ê³ ë¦…니다";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "임옠색ìƒ";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "무작위로 ìƒ‰ì„ ê³ ë¦…니다.";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "파랑";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "ì´ˆë¡";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";
+Blockly.Msg["COLOUR_RGB_RED"] = "빨강";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "색";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "빨강,파랑,ì´ˆë¡ì˜ ê°’ì„ ì´ìš©í•˜ì—¬ ìƒ‰ì„ ë§Œë“œì‹­ì‹œì˜¤. ëª¨ë“  ê°’쀠0ê³¼ 100 ì‚¬ì´ì— ìžˆì–´ì•¼ í•©ë‹ˆë‹¤.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://ko.wikipedia.org/wiki/%EC%A0%9C%EC%96%B4_%ED%9D%90%EB%A6%84";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "반복 ì¤‘단";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "다쌠반복";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "현재 ë°˜ë³µ ì‹¤í–‰ ë¸”럭선빠져나갑니다.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "나머지 ë°˜ë³µ ë¶€ë¶„ì„ ë” ì´ìƒ ì‹¤í–‰í•˜ì§€ ì•Šê³ , ë‹¤ìŒ ë°˜ë³µì„ ìˆ˜í–‰í•©ë‹ˆë‹¤.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "경고 : ì´ ë¸”ë¡ì€ ë°˜ë³µ ì‹¤í–‰ ë¸”럭 ì•ˆì—서만 ì‚¬ìš©ë©ë‹ˆë‹¤.";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://ko.wikipedia.org/wiki/For_%EB%A3%A8%ED%94%84#.EC.9E.84.EC.9D.98.EC.9D.98_.EC.A7.91.ED.95.A9";
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "갠항목엠대해 %1 ëª©ë¡ìœ¼ë¡œ %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "리스트 ì•ˆì— ë“¤ì–´ìžˆëŠ” ê° ì•„ì´í…œë“¤ì„, ìˆœì„œëŒ€ë¡œ ë³€ìˆ˜ '%1' ì— í•œ ë²ˆì”© ì €ìž¥ì‹œí‚¤ê³ , ê·¸ ë•Œ ë§ˆë‹¤ ëª…령선실행합니다.";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://ko.wikipedia.org/wiki/For_%EB%A3%A8%ED%94%84";
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "으로 ê³„ì‚° %1 %2ì—ì„œ %4ì„ ì´ìš©í•˜ì—¬ %3ë¡œ";
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "변수 \"%1\"쀠지정뜠간격으로 ì‹œìž‘ ìˆ˜ì—ì„œ ë ìˆ˜ê¹Œì§€ë¥¼ ì„¸ì–´ ì§€ì •ëœ ë¸”ë¡ì„ ìˆ˜í–‰í•´ì•¼ í•©ë‹ˆë‹¤.";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "\"만약\" ë¸”럭엠조건 ê²€ì‚¬ë¥¼ ì¶”가합니다.";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "\"만약\" ë¸”럭옠마지막ì—, ëª¨ë“  ê²€ì‚¬ ê²°ê³¼ê°€ ê±°ì§“츠경우 ì‹¤í–‰í•  ë¶€ë¶„선추가합니다.";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://ko.wikipedia.org/wiki/%EC%A1%B0%EA%B1%B4%EB%AC%B8";
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "섹션선추가, ì œê±°í•˜ê±°ë‚˜ ìˆœì„œë¥¼ ë³€ê²½í•˜ì—¬ ì´ if ë¸”럭선재구성합니다.";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "아니ë¼ë©´";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "다른 ê²½ìš°";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "만약";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "ì¡°ê±´ì‹ì˜ ê³„ì‚° ê²°ê³¼ê°€ ì°¸ì´ë©´, ëª…령선실행합니다.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "ì¡°ê±´ì‹ì˜ ê³„ì‚° ê²°ê³¼ê°€ ì°¸ì´ë©´, ì²« ë²ˆì§¸ ë¸”럭옠명령선실행하고, ê·¸ë ‡ì§€ ì•Šìœ¼ë©´ ë‘ ë²ˆì§¸ ë¸”럭옠명령선실행합니다.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "첫 ë²ˆì§¸ ì¡°ê±´ì‹ì˜ ê³„ì‚° ê²°ê³¼ê°€ ì°¸ì´ë©´, ì²« ë²ˆì§¸ ë¸”럭옠명령선실행하고, ë‘ ë²ˆì§¸ ì¡°ê±´ì‹ì˜ ê³„ì‚° ê²°ê³¼ê°€ ì°¸ì´ë©´, ë‘ ë²ˆì§¸ ë¸”럭옠명령선실행합니다.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "첫 ë²ˆì§¸ ì¡°ê±´ì‹ì˜ ê³„ì‚° ê²°ê³¼ê°€ ì°¸ì´ë©´, ì²« ë²ˆì§¸ ë¸”럭옠명령선실행하고, ë‘ ë²ˆì§¸ ì¡°ê±´ì‹ì˜ ê³„ì‚° ê²°ê³¼ê°€ ì°¸ì´ë©´, ë‘ ë²ˆì§¸ ë¸”럭옠명령선실행하고, ... , ì–´ë–¤ ì¡°ê±´ì‹ì˜ ê³„ì‚° ê²°ê³¼ë„ ì°¸ì´ ì•„니면, ë§ˆì§€ë§‰ ë¸”럭옠명령선실행합니다.";
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://ko.wikipedia.org/wiki/For_루프";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "하기";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "%1회 ë°˜ë³µ";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "여러 ë²ˆ ë°˜ë³µí•´ ëª…령들선실행합니다.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://ko.wikipedia.org/wiki/While_%EB%A3%A8%ED%94%84";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "다ìŒê¹Œì§€ ë°˜ë³µ";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "ë™ì•ˆ ë°˜ë³µ";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "값촠거짓켠때, ëª‡ ê°€ì§€ ì„ ì–¸ì„ í•©ë‹ˆë‹¤.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "값촠참켠때, ëª‡ ê°€ì§€ ì„ ì–¸ì„ í•©ë‹ˆë‹¤.";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "모든 ë¸”ë¡ %1개를 ì‚­ì œí•˜ê² ìŠµë‹ˆê¹Œ?";
+Blockly.Msg["DELETE_BLOCK"] = "블론삭제";
+Blockly.Msg["DELETE_VARIABLE"] = "'%1' ë³€ìˆ˜ë¥¼ ì‚­ì œí•©ë‹ˆë‹¤";
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "'%2' ë³€ìˆ˜ì—ì„œ %1ì„(를) ì‚­ì œí•˜ì‹œê² ìŠµë‹ˆê¹Œ?";
+Blockly.Msg["DELETE_X_BLOCKS"] = "블론%1ê°œ ì‚­ì œ";
+Blockly.Msg["DISABLE_BLOCK"] = "블론비활성화";
+Blockly.Msg["DUPLICATE_BLOCK"] = "복제";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicate Comment";  // untranslated
+Blockly.Msg["ENABLE_BLOCK"] = "블론활성화";
+Blockly.Msg["EXPAND_ALL"] = "블론확장";
+Blockly.Msg["EXPAND_BLOCK"] = "블론확장";
+Blockly.Msg["EXTERNAL_INPUTS"] = "외부 ìž…ë ¥";
+Blockly.Msg["HELP"] = "ë„움ë§";
+Blockly.Msg["INLINE_INPUTS"] = "내부 ìž…ë ¥";
+Blockly.Msg["IOS_CANCEL"] = "취소";
+Blockly.Msg["IOS_ERROR"] = "오류";
+Blockly.Msg["IOS_OK"] = "확ì¸";
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ ìž…ë ¥ ì¶”ê°€";
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Allow statements";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "촠기능쀠중복뜠입력촠있습니다.";
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "INPUTS";  // untranslated
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "추가";
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ ë³€ìˆ˜ ì¶”ê°€";
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "ì‚­ì œ";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "비어있는 ë³€ìˆ˜ ì´ë¦„선사용할 ìˆ˜ ì—†ìŠµë‹ˆë‹¤.";
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "ì´ë¦„ ë°”꾸기";
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "변수 ì´ë¦„";
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "빈 ë¦¬ìŠ¤íŠ¸ ìƒì„±";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "ë°ì´í„° ë ˆì½”드가 ì—†ëŠ”, ê¸¸ì´ê°€ 0츠목ë¡ì„ ë°˜í™˜í•©ë‹ˆë‹¤.";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "리스트";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "섹션선추가, ì œê±°í•˜ê±°ë‚˜ ìˆœì„œë¥¼ ë³€ê²½í•˜ì—¬ ì´ ë¦¬ìŠ¤íŠ¸ ë¸”럭선재구성합니다.";
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "리스트 ë§Œë“¤ê¸°";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "ì•„ì´í…œì„ ë¦¬ìŠ¤íŠ¸ì— ì¶”가합니다.";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "ì›í•˜ëŠ” ìˆ˜ì˜ í•­ëª©ë“¤ë¡œ ëª©ë¡ì„ ìƒì„±í•©ë‹ˆë‹¤.";
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "첫 ë²ˆì§¸";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "마지막 ë²ˆì§¸ ìœ„치부터, # ë²ˆì§¸";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "가져오기";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "잘뼠내기";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "마지막";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "ìž„ì˜ë¡œ";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "ì‚­ì œ";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "첫 ë²ˆì§¸ ì•„ì´í…œì„ ì°¾ì•„ ëŒë ¤ì¤ë‹ˆë‹¤.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "목ë¡ì—ì„œ íŠ¹ì • ìœ„치옠항목선반환합니다.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "마지막 ì•„ì´í…œì„ ì°¾ì•„ ëŒë ¤ì¤ë‹ˆë‹¤.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "리스트옠아ì´í…œë“¤ ì¤‘, ëžœë¤ìœ¼ë¡œ ì„ íƒí•´ ëŒë ¤ì¤ë‹ˆë‹¤.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "첫 ë²ˆì§¸ ì•„ì´í…œì„ ì°¾ì•„ë‚´ ëŒë ¤ì£¼ê³ , ê·¸ ì•„ì´í…œì„ ë¦¬ìŠ¤íŠ¸ì—ì„œ ì‚­ì œí•©ë‹ˆë‹¤.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "목ë¡ì˜ íŠ¹ì • ìœ„치엠있는 í•­ëª©ì„ ì œê±°í•˜ê³  ë°˜í™˜í•©ë‹ˆë‹¤.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "마지막 ì•„ì´í…œì„ ì°¾ì•„ë‚´ ëŒë ¤ì£¼ê³ , ê·¸ ì•„ì´í…œì„ ë¦¬ìŠ¤íŠ¸ì—ì„œ ì‚­ì œí•©ë‹ˆë‹¤.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "목ë¡ì—ì„œ ìž„옠위치옠아ì´í…œì„ ì°¾ì•„ë‚´ ì‚­ì œí•˜ê³  ëŒë ¤ì¤ë‹ˆë‹¤.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "리스트ì—ì„œ ì²« ë²ˆì§¸ ì•„ì´í…œì„ ì‚­ì œí•©ë‹ˆë‹¤.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "목ë¡ì—ì„œ íŠ¹ì • ìœ„치옠항목선삭제합니다.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "리스트ì—ì„œ ë§ˆì§€ë§‰ ì•„ì´í…œì„ ì°¾ì•„ ì‚­ì œí•©ë‹ˆë‹¤.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "리스트ì—ì„œ ëžœë¤í•˜ê²Œ ì•„ì´í…œì„ ì‚­ì œí•©ë‹ˆë‹¤.";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "ëì—서부터 # ë²ˆì§¸ë¡œ";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "ì•žì—서부터 # ë²ˆì§¸ë¡œ";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "마지막으로";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "첫 ë²ˆì§¸ ìœ„치부터, ì„œë¸Œ ë¦¬ìŠ¤íŠ¸ ì¶”출";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "마지막부터 # ë²ˆì§¸ ìœ„치부터, ì„œë¸Œ ë¦¬ìŠ¤íŠ¸ ì¶”출";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "처쌠# ë²ˆì§¸ ìœ„치부터, ì„œë¸Œ ë¦¬ìŠ¤íŠ¸ ì¶”출";
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "목ë¡ì˜ íŠ¹ì • ë¶€ë¶„엠대한 ë³µì‚¬ë³¸ì„ ë§Œë“­ë‹ˆë‹¤.";
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1ì€(는) ë§ˆì§€ë§‰ í•­ëª©ìž…니다.";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1쀠첫 ë²ˆì§¸ í•­ëª©ìž…니다.";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "처ìŒìœ¼ë¡œ ë‚˜íƒ€ë‚œ ìœ„치";
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "마지막으로 ë‚˜íƒ€ë‚œ ìœ„치";
+Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "목ë¡ì—ì„œ í•­ëª©ì´ ì²˜ìŒ ë˜ëŠ” ë§ˆì§€ë§‰ìœ¼ë¡œ ë°œìƒí•œ ìƒ‰ì¸ ìœ„치를 ë°˜í™˜í•©ë‹ˆë‹¤. í•­ëª©ì´ ì—†ìœ¼ë©´ %1선반환합니다.";
+Blockly.Msg["LISTS_INLIST"] = "리스트";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1촠비어 ìžˆìŠµë‹ˆë‹¤";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "목ë¡ì´ ë¹„었선때 ì°¸ì„ ë°˜í™˜í•©ë‹ˆë‹¤.";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "%1옠길ì´";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "목ë¡ì˜ ê¸¸ì´ë¥¼ ë°˜í™˜í•©ë‹ˆë‹¤.";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "%1ì„ %2번 ë„£ì–´, ë¦¬ìŠ¤íŠ¸ ìƒì„±";
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "지정뜠값ì„, ì§€ì •ëœ ê°œìˆ˜ ë§Œí¼ ë„£ì–´, ëª©ë¡ì„ ìƒì„±í•©ë‹ˆë‹¤.";
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Reverse a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "ì—";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "ì—ì„œ ì›í•˜ëŠ” ìœ„치엠삽입";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "ì—ì„œ ì„¤ì •";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "항목선목ë¡ì˜ ì²˜ìŒ ìœ„치엠삽입합니다.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "목ë¡ì˜ íŠ¹ì • ìœ„치엠항목선삽입합니다.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "리스트옠마지막엠아ì´í…œì„ ì¶”가합니다.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "목ë¡ì—ì„œ ìž„옠위치엠아ì´í…œì„ ì‚½ìž…합니다.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "첫 ë²ˆì§¸ ìœ„치옠아ì´í…œìœ¼ë¡œ ì„¤ì •í•©ë‹ˆë‹¤.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "목ë¡ì˜ íŠ¹ì • ìœ„치엠있는 í•­ëª©ìœ¼ë¡œ ì„¤ì •í•©ë‹ˆë‹¤.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "마지막 ì•„ì´í…œìœ¼ë¡œ ì„¤ì •í•©ë‹ˆë‹¤.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "목ë¡ì—ì„œ ìž„옠위치옠아ì´í…œì„ ì„¤ì •í•©ë‹ˆë‹¤.";
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "오름차순";
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "내림차순";
+Blockly.Msg["LISTS_SORT_TITLE"] = "ì •ë ¬ %1 %2 %3";
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "목ë¡ì˜ ì‚¬ë³¸ì„ ì •ë ¬í•©ë‹ˆë‹¤.";
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "알파벳순 (대소문잠구분 ì•ˆ í•¨)";
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "숫ìžìˆœ";
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "알파벳순";
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "í…스트ì—ì„œ ëª©ë¡ ë§Œë“¤ê¸°";
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "목ë¡ì—ì„œ í…스트 ë§Œë“¤ê¸°";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "구분 ê¸°í˜¸ë¡œ êµ¬ë¶„하여 í…스트 ëª©ë¡ì„ í•˜ë‚˜ì˜ í…스트엠병합합니다.";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "ê° ì†ë³´, í…스트옠목ë¡ë“¤ì—ì„œ í…스트를 ë¶„할합니다.";
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "분리와";
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "거짓";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://ko.wikipedia.org/wiki/%EC%A7%84%EB%A6%BF%EA%B0%92";
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "ì°¸ í˜¹ì€ ê±°ì§“ ëª¨ë‘ ë°˜í™˜í•©ë‹ˆë‹¤.";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "ì°¸";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://ko.wikipedia.org/wiki/부등ì‹";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "둠값촠같으면, ì°¸(true) ê°’ì„ ëŒë ¤ì¤ë‹ˆë‹¤.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "첫 ë²ˆì§¸ ê°’촠둠번째 ê°’보다 í¬ë©´, ì°¸(true) ê°’ì„ ëŒë ¤ì¤ë‹ˆë‹¤.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "첫 ë²ˆì§¸ ê°’촠둠번째 ê°’보다 í¬ê±°ë‚˜ ê°™ìœ¼ë©´, ì°¸(true) ê°’ì„ ëŒë ¤ì¤ë‹ˆë‹¤.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "첫 ë²ˆì§¸ ê°’촠둠번째 ê°’보다 ìž‘으면, ì°¸(true) ê°’ì„ ëŒë ¤ì¤ë‹ˆë‹¤.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "첫 ë²ˆì§¸ ê°’촠둠번째 ê°’보다 ìž‘거나 ê°™ìœ¼ë©´, ì°¸(true) ê°’ì„ ëŒë ¤ì¤ë‹ˆë‹¤.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "둠값촠서로 ë‹¤ë¥´ë©´, ì°¸(true) ê°’ì„ ëŒë ¤ì¤ë‹ˆë‹¤.";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://ko.wikipedia.org/wiki/%EB%B6%80%EC%A0%95";
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "%1ê°€ ì•„닙니다";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "입력값촠거짓ì´ë¼ë©´ ì°¸ì„ ë°˜í™˜í•©ë‹ˆë‹¤. ì°¸ì´ë¼ë©´ ê±°ì§“선반환합니다.";
+Blockly.Msg["LOGIC_NULL"] = "빈 ê°’";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "빈 ê°’선반환합니다.";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "그리고";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://ko.wikipedia.org/wiki/%EB%B6%88_%EB%85%BC%EB%A6%AC";
+Blockly.Msg["LOGIC_OPERATION_OR"] = "ë˜ëŠ”";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "둠값촠모둠참(true) ê°’ì´ë©´, ì°¸ ê°’ì„ ëŒë ¤ì¤ë‹ˆë‹¤.";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "ì ì–´ë„ í•˜ë‚˜ì˜ ê°’촠참켠경우 ì°¸ì„ ë°˜í™˜í•©ë‹ˆë‹¤.";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "테스트";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://ko.wikipedia.org/wiki/물ìŒí‘œ";
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "만약 ê±°ì§“ì´ë¼ë©´";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "만약 ì°¸ì´ë¼ë©´";
+Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "'test'옠조건선검사합니다. ì¡°ê±´ì´ ì°¸ì´ë©´ 'if true' ê°’선반환합니다. ê±°ì§“ì´ë©´ 'if false' ê°’선반환합니다.";
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://ko.wikipedia.org/wiki/산술";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "둠수옠합선반환합니다.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "둠수옠나눈 ê²°ê³¼ë¥¼ ë°˜í™˜í•©ë‹ˆë‹¤.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "둠수간옠차ì´ë¥¼ ë°˜í™˜í•©ë‹ˆë‹¤.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "둠수옠곱선반환합니다.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "첫 ë²ˆì§¸ ìˆ˜ë¥¼ ë‘ ë²ˆì§¸ ìˆ˜ ë§Œí¼, ê±°ë“­ì œê³± í•œ ê²°ê³¼ê°’ì„ ëŒë ¤ì¤ë‹ˆë‹¤.";
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";
+Blockly.Msg["MATH_CHANGE_TITLE"] = "바꾸기 %1 ë§Œí¼ %2";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "변수 '%1' ì— ì €ìž¥ë˜ì–´ìžˆëŠ” ê°’ì—, ì–´ë–¤ ìˆ˜ë¥¼ ë”í•´, ë³€ìˆ˜ì— ë‹¤ì‹œ ì €ìž¥í•©ë‹ˆë‹¤.";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://ko.wikipedia.org/wiki/수학_ìƒìˆ˜";
+Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "ì¼ë°˜ì ì¸ ìƒìˆ˜ ê°’들 ì¤‘ í•˜ë‚˜ë¥¼ ëŒë ¤ì¤ë‹ˆë‹¤. : Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), or âˆž (infinity).";
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://ko.wikipedia.org/wiki/í´ëž¨í•‘_(그래픽)";
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "%1옠값ì„, ìµœì†Œ %2 ìµœëŒ€ %3으로 ì¡°ì •";
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "ì–´ë–¤ ìˆ˜ë¥¼, íŠ¹ì • ë²”위옠값촠ë˜ë„론강제로 ì¡°ì •í•©ë‹ˆë‹¤.";
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "ê°€ ë‹¤ìŒ ìˆ˜ë¡œ ë‚˜ëˆ„ì–´ ë–¨ì–´ì§€ë©´ :";
+Blockly.Msg["MATH_IS_EVEN"] = "ê°€ ì§ìˆ˜(even) ì´ë©´";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "ê°€ ìŒ(-)수 ì´ë©´";
+Blockly.Msg["MATH_IS_ODD"] = "ê°€ í™€ìˆ˜(odd) ì´ë©´";
+Blockly.Msg["MATH_IS_POSITIVE"] = "ê°€ ì–‘(+)수 ì´ë©´";
+Blockly.Msg["MATH_IS_PRIME"] = "ê°€ ì†Œìˆ˜(prime) ì´ë©´";
+Blockly.Msg["MATH_IS_TOOLTIP"] = "ì–´ë–¤ ìˆ˜ê°€ ì§ ìˆ˜, í™€ ìˆ˜, ì†Œ ìˆ˜, ì • ìˆ˜, ì–‘ ìˆ˜, ìŒ ìˆ˜, ë‚˜ëˆ„ì–´ ë–¨ì–´ì§€ëŠ” ìˆ˜ ì¸ì§€ ê²€ì‚¬í•´ ê²°ê³¼ê°’ì„ ëŒë ¤ì¤ë‹ˆë‹¤. ì°¸(true) ë˜ëŠ” ê±°ì§“(false) ê°’ì„ ëŒë ¤ì¤Œ.";
+Blockly.Msg["MATH_IS_WHOLE"] = "ê°€ ì •ìˆ˜ì´ë©´";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://en.wikipedia.org/wiki/Modulo_operation";
+Blockly.Msg["MATH_MODULO_TITLE"] = "%1 Ã· %2옠나머지";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "첫 ë²ˆì§¸ ìˆ˜ë¥¼ ë‘ ë²ˆì§¸ ìˆ˜ë¡œ ë‚˜ëˆˆ, ë‚˜ë¨¸ì§€ ê°’ì„ ëŒë ¤ì¤ë‹ˆë‹¤.";
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "x";
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://ko.wikipedia.org/wiki/수_(수학)";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "수";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "í‰ê· ê°’";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "최대값";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "중간값";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "최소값";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "가장 ì—¬ëŸ¬ ê°œ ìžˆëŠ” ê°’";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "목ë¡ì˜ ìž„옠항목";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "표준 íŽ¸ì°¨";
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "í•©";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "리스트엠들어있는 ìˆ˜(ê°’)들엠대해, ì‚°ìˆ  í‰ê· (arithmetic mean) í•œ ê°’ì„ ëŒë ¤ì¤ë‹ˆë‹¤.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "리스트엠들어있는 ìˆ˜(ê°’) ë“¤ ì¤‘, ê°€ìž¥ í°(max) ìˆ˜(ê°’)를 ëŒë ¤ì¤ë‹ˆë‹¤.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "리스트엠들어있는 ìˆ˜(ê°’) ë“¤ ì¤‘, ì¤‘ê°„(median) ìˆ˜(ê°’)를 ëŒë ¤ì¤ë‹ˆë‹¤.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "리스트엠들어있는 ìˆ˜(ê°’) ë“¤ ì¤‘, ê°€ìž¥ ìž‘ì€(min) ìˆ˜(ê°’)를 ëŒë ¤ì¤ë‹ˆë‹¤.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "리스트엠들어있는 ì•„ì´í…œë“¤ ì¤‘ì—ì„œ, ê°€ìž¥ ì—¬ëŸ¬ ë²ˆ ë“¤ì–´ìžˆëŠ” ì•„ì´í…œë“¤ì„ ë¦¬ìŠ¤íŠ¸ë¡œ ë§Œë“¤ì–´ ëŒë ¤ì¤ë‹ˆë‹¤. (최빈값, modes)";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "목ë¡ì—ì„œ ìž„ì˜ì˜ ì•„ì´í…œì„ ëŒë ¤ì¤ë‹ˆë‹¤.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "촠리스트옠표준 íŽ¸ì°¨ë¥¼ ë°˜í™˜í•©ë‹ˆë‹¤.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "리스트엠들어있는 ìˆ˜(ê°’)들ì„, ëª¨ë‘ í•©(sum) í•œ, ì´í•©(sum)ì„ ëŒë ¤ì¤ë‹ˆë‹¤.";
+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"] = "임옠분수";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "0.0 (í¬í•¨)ê³¼ 1.0 (배타ì ) ì‚¬ì´ì˜ ìž„옠분수 ê°’ì„ ëŒë ¤ì¤ë‹ˆë‹¤.";
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "ëžœë¤ì •ìˆ˜(%1<= n <=%2)";
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "둠주어진 ì œí•œëœ ë²”위 ì‚¬ì´ì˜ ìž„옠정수값선ëŒë ¤ì¤ë‹ˆë‹¤.";
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://ko.wikipedia.org/wiki/반올림";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "반올림";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "버림";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "올림";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "ì–´ë–¤ ìˆ˜ë¥¼ ë°˜ì˜¬ë¦¼/올림/버림한 ê²°ê³¼ë¥¼, ì •ìˆ˜ê°’으로 ëŒë ¤ì¤ë‹ˆë‹¤.";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://ko.wikipedia.org/wiki/제곱근";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "절대값";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "제곱근";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "ì–´ë–¤ ìˆ˜ì˜ ì ˆëŒ€ê°’(absolute)선계산한 ê²°ê³¼ë¥¼, ì •ìˆ˜ê°’으로 ëŒë ¤ì¤ë‹ˆë‹¤.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "e옠거듭제곱 ê°’선반환합니다.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "ì–´ë–¤ ìˆ˜ì˜, ìžì—°ë¡œê·¸(natural logarithm) ê°’ì„ ëŒë ¤ì¤ë‹ˆë‹¤.(ë°‘ e, ì˜ˆì‹œ log e x)";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "ì–´ë–¤ ìˆ˜ì˜, ê¸°ë³¸ë¡œê·¸(logarithm) ê°’ì„ ëŒë ¤ì¤ë‹ˆë‹¤.(ë°‘ 10, ì˜ˆì‹œ log 10 x)";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "ìŒ(-)/ì–‘(+), ë¶€í˜¸ë¥¼ ë°˜ëŒ€ë¡œ í•˜ì—¬ ê°’ì„ ëŒë ¤ì¤ë‹ˆë‹¤.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "10옠거듭제곱 ê°’선반환합니다.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "숫ìžì˜ ì œê³±ê·¼ì„ ë°˜í™˜í•©ë‹ˆë‹¤.";
+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://ko.wikipedia.org/wiki/삼ê°í•¨ìˆ˜";
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "ì–´ë–¤ ìˆ˜ì— ëŒ€í•œ, acos(arccosine) ê°’ì„ ëŒë ¤ì¤ë‹ˆë‹¤.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "ì–´ë–¤ ìˆ˜ì— ëŒ€í•œ, asin(arcsine) ê°’ì„ ëŒë ¤ì¤ë‹ˆë‹¤.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "ì–´ë–¤ ìˆ˜ì— ëŒ€í•œ, atan(arctangent) ê°’ì„ ëŒë ¤ì¤ë‹ˆë‹¤.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "ê°ë„옠코사ì¸ì„ ë°˜í™˜í•©ë‹ˆë‹¤. (ë¼ë””안 ì•„님)";
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "ê°ë„옠사ì¸ì„ ë°˜í™˜í•©ë‹ˆë‹¤. (ë¼ë””안 ì•„님)";
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "ê°ë„옠탄젠트를 ë°˜í™˜í•©ë‹ˆë‹¤. (ë¼ë””안 ì•„님)";
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "색 ë³€ìˆ˜ ë§Œë“¤ê¸°...";
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "숫잠변수 ë§Œë“¤ê¸°....";
+Blockly.Msg["NEW_STRING_VARIABLE"] = "문ìžì—´ ë³€ìˆ˜ ë§Œë“¤ê¸°...";
+Blockly.Msg["NEW_VARIABLE"] = "변수 ë§Œë“¤ê¸°...";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "새 ë³€ìˆ˜ ì´ë¦„:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "새 ë³€ìˆ˜ ìœ í˜•:";
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "서술 í—ˆê°€";
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "사용:";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://ko.wikipedia.org/wiki/함수_(프로그래ë°)";
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "미리 ì •ì˜í•´ ë‘” '%1' í•¨ìˆ˜ë¥¼ ì‹¤í–‰í•©ë‹ˆë‹¤.";
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://ko.wikipedia.org/wiki/함수_(프로그래ë°)";
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "미리 ì •ì˜í•´ ë‘” '%1' í•¨ìˆ˜ë¥¼ ì‹¤í–‰í•˜ê³ , í•¨ìˆ˜ë¥¼ ì‹¤í–‰í•œ ê²°ê³¼ ê°’ì„ ëŒë ¤ì¤ë‹ˆë‹¤.";
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "사용:";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "'%1' ìƒì„±";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "촠함수를 ì„¤ëª…하세요...";
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://ko.wikipedia.org/wiki/%ED%95%A8%EC%88%98_%28%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D%29";
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "함수 ì´ë¦„";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "함수";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "실행 í›„, ê²°ê³¼ ê°’ì„ ëŒë ¤ì£¼ì§€ ì•ŠëŠ” í•¨ìˆ˜ë¥¼ ë§Œë“­ë‹ˆë‹¤.";
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://ko.wikipedia.org/wiki/%ED%95%A8%EC%88%98_%28%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D%29";
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "다ìŒì„ ëŒë ¤ì¤Œ";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "실행 í›„, ê²°ê³¼ ê°’ì„ ëŒë ¤ì£¼ëŠ” í•¨ìˆ˜ë¥¼ ë§Œë“­ë‹ˆë‹¤.";
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "경고: ì´ í•¨ìˆ˜ì—는, ê°™ì€ ì´ë¦„선사용하는 ë§¤ê°œ ë³€ìˆ˜ë“¤ì´ ìžˆìŠµë‹ˆë‹¤.";
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "함수 ì •ì˜ ì°¾ê¸°";
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "ê°’ì´ ì°¸ì´ë¼ë©´, ë‘ ë²ˆì§¸ ê°’선반환합니다.";
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "경고: ì´ ë¸”럭ì€, í•¨ìˆ˜ ì •ì˜ ë¸”럭 ì•ˆì—서만 ì‚¬ìš©í•  ìˆ˜ ìžˆìŠµë‹ˆë‹¤.";
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "매개 ë³€ìˆ˜:";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "함수엠값선ë”합니다.";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "매개 ë³€ìˆ˜ë“¤";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "촠함수를 ì¶”ê°€, ì‚­ì œ, í˜¹ì€ ìž¬ì •ë ¬í•©ë‹ˆë‹¤.";
+Blockly.Msg["REDO"] = "다시 ì‹¤í–‰";
+Blockly.Msg["REMOVE_COMMENT"] = "주선제거";
+Blockly.Msg["RENAME_VARIABLE"] = "변수 ì´ë¦„ ë°”꾸기:";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "'%1' ë³€ìˆ˜ ì´ë¦„선바꾸기:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";
+Blockly.Msg["TEXT_APPEND_TITLE"] = "다쌠%1 ë‚´ìš© ë§ë¶™ì´ê¸° %2";
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "'%1' ë³€ìˆ˜ì˜ ëì— ì¼ë¶€ í…스트를 ë§ë¶™ìž…니다.";
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "소문ìžë¡œ";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "첫 ë¬¸ìžë§Œ ëŒ€ë¬¸ìžë¡œ";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "대문ìžë¡œ";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "ì˜ë¬¸ ëŒ€ì†Œë¬¸ìž í˜•íƒœë¥¼ ë³€ê²½í•´ ëŒë ¤ì¤ë‹ˆë‹¤.";
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "ì—ì„œ, ì²« ë²ˆì§¸ ë¬¸ìž ì–»ê¸°";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "ì—ì„œ, ë§ˆì§€ë§‰ë¶€í„° # ë²ˆì§¸ ìœ„치옠문잠얻기";
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "ì—ì„œ, ì•žì—서부터 # ë²ˆì§¸ ìœ„치옠문잠얻기";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";
+Blockly.Msg["TEXT_CHARAT_LAST"] = "ì—ì„œ, ë§ˆì§€ë§‰ ë¬¸ìž ì–»ê¸°";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "ì—ì„œ, ëžœë¤í•˜ê²Œ í•œ ë¬¸ìž ì–»ê¸°";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "í…스트 %1 %2ì—ì„œ";
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "특정 ë²ˆì§¸ ìœ„치ì—ì„œ, ë¬¸ìžë¥¼ ì–»ì–´ë‚´ ëŒë ¤ì¤ë‹ˆë‹¤.";
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "count %1 in %2";  // untranslated
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Count how many times some text occurs within some other text.";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "í…스트엠항목선추가합니다.";
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "가입";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "섹션선추가, ì œê±°í•˜ê±°ë‚˜ ìˆœì„œë¥¼ ë³€ê²½í•˜ì—¬ ì´ í…스트 ë¸”럭선재구성합니다.";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "ëì—서부터 # ë²ˆì§¸ ë¬¸ìžê¹Œì§€";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "# ë²ˆì§¸ ë¬¸ìžê¹Œì§€";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "마지막 ë¬¸ìžê¹Œì§€";
+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"] = "문장";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "ì—ì„œ, ì²˜ìŒë¶€í„° ì–»ì–´ëƒ„";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "ì—ì„œ, ë§ˆì§€ë§‰ì—ì„œ # ë²ˆì§¸ë¶€í„° ì–»ì–´ëƒ„";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "ì—ì„œ, ì²˜ìŒë¶€í„° # ë²ˆì§¸ ë¬¸ìžë¶€í„° ì–»ì–´ëƒ„";
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "문장 ì¤‘ ì¼ë¶€ë¥¼ ì–»ì–´ë‚´ ëŒë ¤ì¤ë‹ˆë‹¤.";
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "ì—ì„œ ë‹¤ìŒ ë¬¸ìž¥ì´ ì²˜ìŒìœ¼ë¡œ ë‚˜íƒ€ë‚œ ìœ„치 ì°¾ê¸° :";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "ì—ì„œ ë‹¤ìŒ ë¬¸ìž¥ì´ ë§ˆì§€ë§‰ìœ¼ë¡œ ë‚˜íƒ€ë‚œ ìœ„치 ì°¾ê¸° :";
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "문장 %1 %2 %3";
+Blockly.Msg["TEXT_INDEXOF_TOOLTIP"] = "둠번째 í…스트ì—ì„œ ì²« ë²ˆì§¸ í…스트가 ì²˜ìŒ ë˜ëŠ” ë§ˆì§€ë§‰ìœ¼ë¡œ ë°œìƒí•œ ìƒ‰ì¸ ìœ„치를 ë°˜í™˜í•©ë‹ˆë‹¤. í…스트가 ì—†ìœ¼ë©´ %1선반환합니다.";
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1촠비어 ìžˆìŠµë‹ˆë‹¤";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "입력뜠문장ì´, ë¹ˆ ë¬¸ìž¥(\"\")ì´ë©´ ì°¸(true) ê°’ì„ ëŒë ¤ì¤ë‹ˆë‹¤.";
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "í…스트 ë§Œë“¤ê¸°";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "여러 ê°œì˜ ì•„ì´í…œë“¤ì„ ì—°ê²°í•´(묶어), ìƒˆë¡œìš´ ë¬¸ìž¥ì„ ë§Œë“­ë‹ˆë‹¤.";
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "다쌠문장옠문잠개수 %1";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "입력뜠문장ì˜, ë¬¸ìž ê°œìˆ˜ë¥¼ ëŒë ¤ì¤ë‹ˆë‹¤.(공백문잠í¬í•¨)";
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";
+Blockly.Msg["TEXT_PRINT_TITLE"] = "다쌠내용 ì¶œë ¥ %1";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "ì›í•˜ëŠ” ë¬¸ìž¥, ìˆ˜, ê°’ ë“±ì„ ì¶œë ¥í•©ë‹ˆë‹¤.";
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "수엠대해 ì‚¬ìš©ìžì˜ ìž…력선받습니다.";
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "문장엠대해 ì‚¬ìš©ìžì˜ ìž…력선받습니다.";
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "메시지를 í™œìš©í•´ ìˆ˜ ìž…ë ¥";
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "메시지를 í™œìš©í•´ ë¬¸ìž¥ ìž…ë ¥";
+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";  // untranslated
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Replace all occurances of some text within some other text.";  // untranslated
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Reverses the order of the characters in the text.";  // untranslated
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://ko.wikipedia.org/wiki/문ìžì—´";
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "문ìž, ë‹¨ì–´, ë¬¸ìž¥.";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "양쪽옠공백 ë¬¸ìž ì œê±°";
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "왼쪽옠공백 ë¬¸ìž ì œê±°";
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "오른쪽옠공백 ë¬¸ìž ì œê±°";
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "문장옠왼쪽/오른쪽/양쪽ì—ì„œ ìŠ¤íŽ˜ì´ìŠ¤ ë¬¸ìžë¥¼ ì œê±°í•´ ëŒë ¤ì¤ë‹ˆë‹¤.";
+Blockly.Msg["TODAY"] = "오늘";
+Blockly.Msg["UNDO"] = "실행 ì·¨ì†Œ";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "항목";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "'집합 %1' ìƒì„±";
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://ko.wikipedia.org/wiki/%EB%B3%80%EC%88%98_(%EC%BB%B4%ED%93%A8%ED%84%B0_%EA%B3%BC%ED%95%99)";
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "변수엠저장 ë˜ì–´ìžˆëŠ” ê°’ì„ ëŒë ¤ì¤ë‹ˆë‹¤.";
+Blockly.Msg["VARIABLES_SET"] = "%1를 %2ë¡œ ì„¤ì •";
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "'%1 ê°’ ì½ê¸°' ë¸”럭 ìƒì„±";
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://ko.wikipedia.org/wiki/%EB%B3%80%EC%88%98_(%EC%BB%B4%ED%93%A8%ED%84%B0_%EA%B3%BC%ED%95%99)";
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "변수옠값선입력한 ê°’으로 ë³€ê²½í•´ ì¤ë‹ˆë‹¤.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "'%1' ë³€ìˆ˜ëŠ” ì´ë¯¸ ì¡´ìž¬í•©ë‹ˆë‹¤.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "'%1' ë³€ìˆ˜ëŠ” ë‹¤ë¥¸ ìœ í˜•ì— ëŒ€í•´ ì´ë¯¸ ì¡´ìž¬í•©ë‹ˆë‹¤: '%2'.";
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "ë§í•´ ë³´ì„¸ìš”...";
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/lb.js b/js/msg/js/lb.js
new file mode 100644 (file)
index 0000000..ced9b17
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.lb');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "Bemierkung derbäisetzen";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "Can't delete the variable '%1' because it's part of the definition of the function '%2'";  // untranslated
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "Wäert änneren:";
+Blockly.Msg["CLEAN_UP"] = "Bléck opraumen";
+Blockly.Msg["COLLAPSE_ALL"] = "Bléck zesummeklappen";
+Blockly.Msg["COLLAPSE_BLOCK"] = "Block zesummeklappen";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "Faarf 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "Faarf 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";  // untranslated
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "ratio";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "mëschen";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "Blends two colours together with a given ratio (0.0 - 1.0).";  // untranslated
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://en.wikipedia.org/wiki/Color";  // untranslated
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "Sicht eng Faarf an der Palette eraus.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "zoufälleg Faarf";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "Eng zoufälleg Faarf eraussichen.";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "blo";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "gréng";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";  // untranslated
+Blockly.Msg["COLOUR_RGB_RED"] = "rout";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "fierwe mat";
+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.";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "break out of loop";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "continue with next iteration of loop";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "Break out of the containing loop.";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "Skip the rest of this loop, and continue with the next iteration.";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "Warning: This block may only be used within a loop.";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "fir all Element %1 an der Lëscht %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "For each item in a list, set the variable '%1' to the item, and then do some statements.";  // untranslated
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "zielt mat %1 vun %2 bis %3 mat %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.";  // untranslated
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "Add a condition to the if block.";  // untranslated
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "Add a final, catch-all condition to the if block.";  // untranslated
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this if block.";  // untranslated
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "soss";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "else if";  // untranslated
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "wann";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "If a value is true, then do some statements.";  // untranslated
+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.";  // untranslated
+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.";  // untranslated
+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.";  // untranslated
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://en.wikipedia.org/wiki/For_loop";  // untranslated
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "maach";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "%1-mol widderhuelen";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "Do some statements several times.";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "widderhuele bis";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "Widderhuel soulaang";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "Féiert d'Uweisungen aus, soulaang wéi de Wäert falsch ass.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "Féiert d'Uweisungen aus, soulaang wéi de Wäert richteg ass";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "Delete all %1 blocks?";  // untranslated
+Blockly.Msg["DELETE_BLOCK"] = "Block läschen";
+Blockly.Msg["DELETE_VARIABLE"] = "Delete the '%1' variable";  // untranslated
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Delete %1 uses of the '%2' variable?";  // untranslated
+Blockly.Msg["DELETE_X_BLOCKS"] = "%1 Bléck läschen";
+Blockly.Msg["DISABLE_BLOCK"] = "Block desaktivéieren";
+Blockly.Msg["DUPLICATE_BLOCK"] = "Eng Kopie maachen";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Bemierkung kopéieren";
+Blockly.Msg["ENABLE_BLOCK"] = "Block aktivéieren";
+Blockly.Msg["EXPAND_ALL"] = "Bléck opklappen";
+Blockly.Msg["EXPAND_BLOCK"] = "Block opklappen";
+Blockly.Msg["EXTERNAL_INPUTS"] = "External Inputs";  // untranslated
+Blockly.Msg["HELP"] = "Hëllef";
+Blockly.Msg["INLINE_INPUTS"] = "Inline Inputs";  // untranslated
+Blockly.Msg["IOS_CANCEL"] = "Ofbriechen";
+Blockly.Msg["IOS_ERROR"] = "Feeler";
+Blockly.Msg["IOS_OK"] = "OK";
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Add Input";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Allow statements";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "This function has duplicate inputs.";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "INPUTS";  // untranslated
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "Derbäisetzen";
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Variabel derbäisetzen";
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "Läschen";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "Dir kënnt keen eidelen Numm fir eng Variabel benotzen.";
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Ëmbenennen";
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Numm vun der Variabel";
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "create empty list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Returns a list, of length 0, containing no data records";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "Lëscht";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this list block.";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "create list with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "En Element op d'Lëscht derbäisetzen.";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Create a list with any number of items.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "éischt";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "# vun hannen";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "get";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "get and remove";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "lescht";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "Zoufall";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "ewechhuelen";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Returns the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Returns the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Returns the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Schéckt en zoufällegt Element aus enger Lëscht zréck.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "Removes and returns the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "Removes and returns the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "Removes and returns the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Removes and returns a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "Removes the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "Removes the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "Hëlt dat lescht Element aus enger Lëscht eraus.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Hëlt en zoufällegt Element aus enger Lëscht eraus.";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "to # from end";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "to #";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "to last";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "get sub-list from first";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "get sub-list from # from end";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "get sub-list from #";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Creates a copy of the specified portion of a list.";  // untranslated
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 ass dat éischt Element.";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 ass dat éischt Element.";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "find first occurrence of item";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "find last occurrence of item";  // untranslated
+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.";  // untranslated
+Blockly.Msg["LISTS_INLIST"] = "an der Lëscht";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 ass eidel";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Returns true if the list is empty.";  // untranslated
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "Längt vu(n) %1";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Returns the length of a list.";  // untranslated
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "create list with item %1 repeated %2 times";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Creates a list consisting of the given value repeated the specified number of times.";  // untranslated
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "%1 ëmdréinen";
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Reverse a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "als";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "asetzen op";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Inserts the item at the start of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Inserts the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Setzt d'Element um Enn vun enger Lëscht derbäi.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Setzt d'Element op eng zoufälleg Plaz an d'Lëscht derbäi.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Sets the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Sets the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Sets the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Setzt en zoufällegt Element an eng Lëscht.";
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";  // untranslated
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "ascending";  // untranslated
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "descending";  // untranslated
+Blockly.Msg["LISTS_SORT_TITLE"] = "%1 %2 %3 zortéieren";
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Sort a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "alphabetic, ignore case";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "numeresch";
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "alphabetesch";
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "make list from text";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "make text from list";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Join a list of texts into one text, separated by a delimiter.";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Split text into a list of texts, breaking at each delimiter.";  // untranslated
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "with delimiter";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "falsch";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "Schéckt entweder richteg oder falsch zréck.";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "wouer";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://en.wikipedia.org/wiki/Inequality_(mathematics)";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Return true if both inputs equal each other.";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Return true if the first input is greater than the second input.";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Return true if the first input is greater than or equal to the second input.";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "Return true if the first input is smaller than the second input.";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "Return true if the first input is smaller than or equal to the second input.";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "Return true if both inputs are not equal to each other.";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "net %1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "Returns true if the input is false. Returns false if the input is true.";  // untranslated
+Blockly.Msg["LOGIC_NULL"] = "null";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";  // untranslated
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "Returns null.";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_AND"] = "an";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "oder";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "Return true if both inputs are true.";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "Return true if at least one of the inputs is true.";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "Test";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "wa falsch";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "wa wouer";
+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.";  // untranslated
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://en.wikipedia.org/wiki/Arithmetic";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Den Total vun den zwou Zuelen zréckginn.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Return the quotient of the two numbers.";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Return the difference of the two numbers.";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "D'Produkt vun den zwou Zuelen zréckginn.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Return the first number raised to the power of the second number.";  // untranslated
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";  // untranslated
+Blockly.Msg["MATH_CHANGE_TITLE"] = "änneren %1 ëm %2";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Add a number to variable '%1'.";  // untranslated
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://en.wikipedia.org/wiki/Mathematical_constant";  // untranslated
+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).";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "constrain %1 low %2 high %3";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Constrain a number to be between the specified limits (inclusive).";  // untranslated
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";  // untranslated
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "is divisible by";  // untranslated
+Blockly.Msg["MATH_IS_EVEN"] = "ass gerued";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "ass negativ";
+Blockly.Msg["MATH_IS_ODD"] = "ass ongerued";
+Blockly.Msg["MATH_IS_POSITIVE"] = "ass positiv";
+Blockly.Msg["MATH_IS_PRIME"] = "ass eng Primzuel";
+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.";  // untranslated
+Blockly.Msg["MATH_IS_WHOLE"] = "ass eng ganz Zuel";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://en.wikipedia.org/wiki/Modulo_operation";  // untranslated
+Blockly.Msg["MATH_MODULO_TITLE"] = "Rescht vu(n) %1 ÷ %2";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Return the remainder from dividing the two numbers.";  // untranslated
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";  // untranslated
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://en.wikipedia.org/wiki/Number";  // untranslated
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "Eng Zuel.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "Moyenne vun der Lëscht";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "Maximum aus der Lëscht";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "median of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "min of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "modes of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "zoufällegt Element vun enger Lëscht";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "standard deviation of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "sum of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Return the average (arithmetic mean) of the numeric values in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "Schéckt de gréisste Wäert aus enger Lëscht zréck.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "Return the median number in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "Return the smallest number in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Return a list of the most common item(s) in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Return a random element from the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Return the standard deviation of the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Return the sum of all the numbers in the list.";  // untranslated
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "random fraction";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Return a random fraction between 0.0 (inclusive) and 1.0 (exclusive).";  // untranslated
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";  // untranslated
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "zoufälleg ganz Zuel tëscht %1 a(n) %2";
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Return a random integer between the two specified limits, inclusive.";  // untranslated
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://en.wikipedia.org/wiki/Rounding";  // untranslated
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "opronnen";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "ofrënnen";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "oprënnen";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Eng Zuel op- oder ofrënnen.";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://lb.wikipedia.org/wiki/Racine carrée";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "absolut";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "Quadratwuerzel";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Return the absolute value of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Return e to the power of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "Return the natural logarithm of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "Return the base 10 logarithm of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Return the negation of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Return 10 to the power of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Return the square root of a number.";  // untranslated
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";  // untranslated
+Blockly.Msg["MATH_TRIG_ACOS"] = "acos";  // untranslated
+Blockly.Msg["MATH_TRIG_ASIN"] = "asin";  // untranslated
+Blockly.Msg["MATH_TRIG_ATAN"] = "atan";  // untranslated
+Blockly.Msg["MATH_TRIG_COS"] = "cos";  // untranslated
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://en.wikipedia.org/wiki/Trigonometric_functions";  // untranslated
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";  // untranslated
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Return the arccosine of a number.";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Return the arcsine of a number.";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Return the arctangent of a number.";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Return the cosine of a degree (not radian).";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Return the sine of a degree (not radian).";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Return the tangent of a degree (not radian).";  // untranslated
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Create colour variable...";  // untranslated
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Create number variable...";  // untranslated
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Create string variable...";  // untranslated
+Blockly.Msg["NEW_VARIABLE"] = "Variabel uleeën...";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "Neie variabelen Numm:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "New variable type:";  // untranslated
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "allow statements";  // untranslated
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "mat:";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Run the user-defined function '%1'.";  // untranslated
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Run the user-defined function '%1' and use its output.";  // untranslated
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "mat:";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "'%1' uleeën";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Dës Funktioun beschreiwen...";
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "eppes maachen";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "to";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Creates a function with no output.";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "zréck";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "Creates a function with an output.";  // untranslated
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "Warning: This function has duplicate parameters.";  // untranslated
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "Highlight function definition";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "If a value is true, then return a second value.";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "Warning: This block may be used only within a function definition.";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "input name:";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Add an input to the function.";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "inputs";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Add, remove, or reorder inputs to this function.";  // untranslated
+Blockly.Msg["REDO"] = "Widderhuelen";
+Blockly.Msg["REMOVE_COMMENT"] = "Bemierkung ewechhuelen";
+Blockly.Msg["RENAME_VARIABLE"] = "Variabel ëmbenennen...";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "All '%1' Variabelen ëmbenennen op:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "to %1 append text %2";  // untranslated
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Append some text to variable '%1'.";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "to lower case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "to Title Case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "to UPPER CASE";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Return a copy of the text in a different case.";  // untranslated
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "get first letter";  // untranslated
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "get letter # from end";  // untranslated
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "get letter #";  // untranslated
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "get last letter";  // untranslated
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "get random letter";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "am Text %1 %2";
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Returns the letter at the specified position.";  // untranslated
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "count %1 in %2";  // untranslated
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Count how many times some text occurs within some other text.";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "En Element bei den Text derbäisetzen.";
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "join";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this text block.";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "to letter # from end";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "bis bei de Buschtaf #";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "bis bei de leschte Buschtaw";
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "am Text";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "get substring from first letter";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "get substring from letter # from end";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "get substring from letter #";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Returns a specified portion of the text.";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "find first occurrence of text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "find last occurrence of text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "am 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.";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 ass eidel";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Returns true if the provided text is empty.";  // untranslated
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "create text with";  // untranslated
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Create a piece of text by joining together any number of items.";  // untranslated
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "Längt vu(n) %1";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Returns the number of letters (including spaces) in the provided text.";  // untranslated
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "%1 drécken";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Print the specified text, number or other value.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Prompt for user for a number.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Frot de Benotzer no engem Text.";
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "prompt for number with message";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "prompt for text with message";  // untranslated
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";  // untranslated
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "%1 duerch %2 a(n) %3 ersetzen";
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "All Kéiers wou e bestëmmten Text do ass duerch en aneren Text ersetzen.";
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";  // untranslated
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Dréint d'Reiefolleg vun den Zeechen am Text ëm.";
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://en.wikipedia.org/wiki/String_(computer_science)";  // untranslated
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "E Buschtaf, e Wuert oder eng Textzeil.";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "trim spaces from both sides of";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "trim spaces from left side of";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "trim spaces from right side of";  // untranslated
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Return a copy of the text with spaces removed from one or both ends.";  // untranslated
+Blockly.Msg["TODAY"] = "Haut";
+Blockly.Msg["UNDO"] = "Réckgängeg maachen";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "Element";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Create 'set %1'";  // untranslated
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Returns the value of this variable.";  // untranslated
+Blockly.Msg["VARIABLES_SET"] = "set %1 to %2";  // untranslated
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Create 'get %1'";  // untranslated
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Sets this variable to be equal to the input.";  // untranslated
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "A variable named '%1' already exists.";  // untranslated
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "A variable named '%1' already exists for another type: '%2'.";  // untranslated
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Sot eppes...";
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/lki.js b/js/msg/js/lki.js
new file mode 100644 (file)
index 0000000..c0cbe9c
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.lki');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["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'";  // untranslated
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "تةغییر Ù…قدار:";
+Blockly.Msg["CLEAN_UP"] = "تمیزکردن Ø¨Ù„اکةل";
+Blockly.Msg["COLLAPSE_ALL"] = "چؤیچانن/پشکانن Ø¨Ù„اکةل";
+Blockly.Msg["COLLAPSE_BLOCK"] = "چؤیچانن/پشکانن Ø¨Ù„اک";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "رةنگ 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "رةنگ 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";  // untranslated
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "نسبت";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "قاتی Ù¾Ø§ØªÛŒ";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "دو Ø±Ù†Ú¯ Ø±Ø§ Ø¨Ø§ Ù†Ø³Ø¨Øª Ù…شخص‌شده Ù…خلوط Ù…ی‌کند (Û°Ù«Û° - Û±Ù«Û°)";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://lki.wikipedia.org/wiki/Ú•Û•Ù†Ú¯";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "رةنگێ Ø¥Ú˜ ØªØ©Ø®ØªØ© Ø±Ø©Ù†Ú¯ Ø§Ù†ØªØ®Ø§Ø¨ Ú©Ø©Ù†";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "رةنگ Ø¨Ø©Ø®ØªØ©Ú©ÛŒ";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = ".رةنگئ Ø¨Ø©Ø®ØªØ©Ú©ÛŒ Ø§Ù†ØªØ®Ø§Ø¨ Ú©Ø©Ù†";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "کاوو";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "سؤز";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";  // untranslated
+Blockly.Msg["COLOUR_RGB_RED"] = "سۆر";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "رةنگ ÙˆØ©";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "ساخت ÛŒÚ© Ø±Ù†Ú¯ Ø¨Ø§ Ù…قدار Ù…شخص‌شده‌ای Ø§Ø² Ø³Û†Ø±ØŒ Ø³Ø¤Ø² Ùˆ Ú©Ø§ÙˆÙˆ. Ù‡Ù…Ù‡Ù” Ù…قادیر Ø¨Ø§ÛŒØ¯ Ø¨ÛŒÙ† Û° ØªØ§ Û±Û°Û° Ø¨Ø§Ø´Ù†Ø¯.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "شکانÙÙ† Ø­Ù„قه";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "ادامه Ø¨Ø§ ØªÚ©Ø±Ø§Ø± Ø¨Ø¹Ø¯ÛŒ Ø­Ù„قه";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "شکستن Ø­Ù„قهٔ Ø´Ø§Ù…Ù„.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "پریدن Ø§Ø² Ø¨Ù‚یهٔ Ø­Ù„قه Ùˆ Ø§Ø¯Ø§Ù…Ù‡ Ø¨Ø§ ØªÚ©Ø±Ø§Ø± Ø¨Ø¹Ø¯ÛŒ.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "اخطار: Ø§ÛŒÙ† Ø¨Ù„ÙˆÚ© Ù…Ù…Ú©Ù† Ø§Ø³Øª Ùقط Ø¯Ø§Ø®Ù„ ÛŒÚ© Ø­Ù„قه Ø§Ø³ØªÙاده Ø´ÙˆØ¯.";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "ئةرا Ù‡Ø± Ù…ورد %1 ÙˆÛ€ Ù†Ø§Ù… Ù„یست%2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "برای Ù‡Ø± Ù…ورد Ø¯Ø± Ø§ÛŒÙ† Ùهرست، ØªÙ†Ø¸ÛŒÙ… Ù…تغیر Â«%1» Ø¨Ù‡ Ù…ورد Ùˆ Ø§Ù†Ø¬Ø§Ù… ØªØ¹Ø¯Ø§Ø¯ÛŒ Ø¹Ø¨Ø§Ø±Øª.";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "با ØªØ¹Ø¯Ø§Ø¯ %1 Ø§Ø² %2 Ø¨Ù‡ %3 Ø¨Ø§ Ú¯Ø§Ù…‌های %4";
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "متغیر %1 Ø±Ø§ Ø¯Ø± Ù…قادیر Ø´Ø±ÙˆØ¹â€ŒØ´Ø¯Ù‡ Ø§Ø² Ø¹Ø¯Ø¯ Ø§Ù†ØªÙ‡Ø§ÛŒ  Ø¨Ù‡ Ø¹Ø¯Ø¯ Ø§Ù†ØªÙ‡Ø§ÛŒÛŒ Ø±Ø§ Ø¯Ø§Ø±Ø¯ØŒ Ø¨Ø§ Ùواصل Ù…شخص‌شده Ù…ی‌شمارد Ùˆ Ø§ÛŒÙ† Ø¨Ù„ÙˆÚ© Ù…شخص‌شده Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ù…ی‌دهد.";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "اÙزودن ÛŒÚ© Ø´Ø±Ø· Ø¨Ù‡ Ø¨Ù„ÙˆÚ© Ø§Ú¯Ø±.";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "اضاÙه‌کردن Ù†Ù‡Ø§ÛŒÛŒØŒ Ú¯Ø±Ùتن Ù‡Ù…Ù‡Ù” Ø´Ø±Ø§ÛŒØ· Ø¨Ù‡ Ø¨Ù„ÙˆÚ© Ø§Ú¯Ø±.";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "اÙزودن، Ø­Ø°Ù ÛŒØ§ Ø¨Ø§Ø²Ù…رتب‌سازی Ù‚سمت‌ها Ø¨Ø±Ø§ÛŒ Ù¾ÛŒÚ©Ø±Ø¨Ù†Ø¯ÛŒ Ø¯ÙˆØ¨Ø§Ø±Ù‡Ù” Ø§ÛŒÙ† Ø¨Ù„ÙˆÚ© Ø§Ú¯Ø±.";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "آنگاه";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "اگر Ø¢Ù†Ú¯Ø§Ù‡";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "اگر";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "اگر ÛŒÚ© Ù…قدار ØµØ­ÛŒØ­ Ø§Ø³ØªØŒ Ø³Ù¾Ø³ Ú†Ù†Ø¯ Ø¹Ø¨Ø§Ø±Øª Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ø¨Ø¯Ù‡.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "اگر ÛŒÚ© Ù…قدار ØµØ­ÛŒØ­ Ø§Ø³ØªØŒ Ø§ÙˆÙ„ Ø¨Ù„ÙˆÚ© Ø§ÙˆÙ„ Ø¹Ø¨Ø§Ø±Ø§Øª Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ø¨Ø¯Ù‡.  Ø¯Ø± ØºÛŒØ± Ø§ÛŒÙ† ØµÙˆØ±Øª Ø¨Ù„ÙˆÚ© Ø¯ÙˆÙ… Ø¹Ø¨Ø§Ø±Ø§Øª Ø§Ù†Ø¬Ø§Ù… Ø¨Ø¯Ù‡.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "اگر Ù…قدار Ø§ÙˆÙ„ ØµØ­ÛŒØ­ Ø¨ÙˆØ¯ØŒ Ø§Ø² Ø¢Ù† Ø¨Ù„ÙˆÚ© Ø§ÙˆÙ„ Ø¹Ø¨Ø§Ø±Ø§Øª Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ø¨Ø¯Ù‡.  Ø¯Ø± ØºÛŒØ± Ø§ÛŒÙ† ØµÙˆØ±ØªØŒ Ø§Ú¯Ø± Ù…قدار Ø¯ÙˆÙ… ØµØ­ÛŒØ­ Ø§Ø³ØªØŒ Ø¨Ù„ÙˆÚ© Ø¯ÙˆÙ… Ø¹Ø¨Ø§Ø±Ø§Øª Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ø¨Ø¯Ù‡.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "اگر Ù…قدار Ø§ÙˆÙ„ Ø¯Ø±Ø³Øª Ø§Ø³ØªØŒ Ø¨Ù„ÙˆÚ© Ø§ÙˆÙ„ Ø¹Ø¨Ø§Ø±Ø§Øª Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ø¨Ø¯Ù‡.  Ø¯Ø± ØºÛŒØ± Ø§ÛŒÙ† ØµÙˆØ±ØªØŒ Ø§Ú¯Ø± Ù…قدار Ø¯ÙˆÙ… Ø¯Ø±Ø³Øª Ø¨Ø§Ø´Ø¯ Ø¨Ù„ÙˆÚ© Ø¯ÙˆÙ… Ø¹Ø¨Ø§Ø±Ø§Øª Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ø¨Ø¯Ù‡.  Ø§Ú¯Ø± Ù‡ÛŒÚ† Ø§Ø² Ù…قادیر Ø¯Ø±Ø³Øª Ù†Ø¨ÙˆØ¯ØŒ Ø¢Ø®Ø±ÛŒÙ† Ø¨Ù„ÙˆÚ© Ø¹Ø¨Ø§Ø±Ø§Øª Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ø¨Ø¯Ù‡.";
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://lki.wikipedia.org/wiki/حلقه_Ùور";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "انجوم Ø¨ÛŒ";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "%بار ØªÚ©Ø±Ø§Ø± 1";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "انجام Ú†Ø©Ù† Ø¹Ø¨Ø§Ø±Øª Ú†Ù†Ø¯ÛŒÙ† Ú¯ÙÙ„.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "تکرار ØªØ§ ÙˆØ©Ø®ØªÛŽ Ú¯Ø¥";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "تکرار Ø¯Ø± Ø­Ø§Ù„ÛŒ Ú©Ù‡";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "تا Ø²Ù…انی Ú©Ù‡ ÛŒÚ© Ù…قدار Ù†Ø§ØµØ­ÛŒØ­ Ø§Ø³ØªØŒ Ú†Ù†Ø¯ Ø¹Ø¨Ø§Ø±Øª Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ø¨Ø¯Ù‡.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "تا Ø²Ù…انی Ú©Ù‡ ÛŒÚ© Ù…قدار ØµØ­ÛŒØ­ Ø§Ø³ØªØŒ Ú†Ù†Ø¯ Ø¹Ø¨Ø§Ø±Øª Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ø¨Ø¯Ù‡.";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "حةذ٠کؤل %1 Ø¨Ù„اکةل?";
+Blockly.Msg["DELETE_BLOCK"] = "پاک Ú©Ø±Ø¯Ù† Ø¨Ù„اک";
+Blockly.Msg["DELETE_VARIABLE"] = "Delete the '%1' variable";  // untranslated
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Delete %1 uses of the '%2' variable?";  // untranslated
+Blockly.Msg["DELETE_X_BLOCKS"] = "حةذ٠%1 Ø¨Ù„اکةل";
+Blockly.Msg["DISABLE_BLOCK"] = "Ø¥ Ú©Ø§Ø± Ú©Ø©ØªÙ†(غیرÙعال‌سازی) Ø¨Ù„اک";
+Blockly.Msg["DUPLICATE_BLOCK"] = "کؤپی Ú©Ø±Ø¯Ù†";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicate Comment";  // untranslated
+Blockly.Msg["ENABLE_BLOCK"] = "Ø¥ Ú©Ø§Ø±Ø¢Ø´ØªÙ†(Ùعال)بلاک";
+Blockly.Msg["EXPAND_ALL"] = "کةلنگآ Ú©Ø±Ø¯ÙÙ† Ø¨Ù„اکةل";
+Blockly.Msg["EXPAND_BLOCK"] = "کةلنگآ Ú©Ø±Ø¯ÙÙ† Ø¨Ù„اک";
+Blockly.Msg["EXTERNAL_INPUTS"] = "ورودیةل Ø®Ø±ÙˆØ¬ÛŒ";
+Blockly.Msg["HELP"] = "کؤمةک";
+Blockly.Msg["INLINE_INPUTS"] = "ورودیةل Ù†ÙˆÙ… Ø¬Ø§";
+Blockly.Msg["IOS_CANCEL"] = "Cancel";  // untranslated
+Blockly.Msg["IOS_ERROR"] = "Error";  // untranslated
+Blockly.Msg["IOS_OK"] = "OK";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Add Input";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Allow statements";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "This function has duplicate inputs.";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "INPUTS";  // untranslated
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "Add";  // untranslated
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Add Variable";  // untranslated
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "Delete";  // untranslated
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "You can't use an empty variable name.";  // untranslated
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Rename";  // untranslated
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Variable name";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "ایجاد Ùهرست Ø®Ø§Ù„ÛŒ";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Ùهرستی Ø¨Ø§ Ø·ÙˆÙ„ ØµÙر Ø´Ø§Ù…Ù„ Ù‡ÛŒÚ† Ø±Ú©ÙˆØ±Ø¯ Ø¯Ø§Ø¯Ù‡â€ŒØ§ÛŒ Ø¨Ø± Ù…ی‌گرداند.";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "لیست";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "اضاÙه‌کردن، Ø­Ø°Ù‌کردن ÛŒØ§ ØªØ±ØªÛŒØ¨â€ŒØ³Ø§Ø²ÛŒ Ù…جدد Ø¨Ø®Ø´â€ŒÙ‡Ø§ Ø§ÛŒÙ† Ø¨Ù„ÙˆÚ© Ùهرستی.";
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "ایجاد Ùهرست Ø¨Ø§";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "اضاÙه‌کردن ÛŒÚ© Ù…ورد Ø¨Ù‡ Ùهرست.";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Ùهرستی Ø§Ø² Ù‡Ø± Ø¹Ø¯Ø¯ÛŒ Ø§Ø² Ù…وارد Ù…ی‌سازد.";
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "Ø¥Ú˜ Ø£Ø¤Ø©Ù„";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "# Ø¥Ú˜ Ø¯Ø¤Ù…ا Ø¢Ø®Ø±";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "Ú¯ÙرتÙÙ†";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "Ú¯ÙرتÙÙ† Ùˆ Ø­Ø©Ø°Ù Ú©Ø±Ø¯Ù†";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "دؤمائن/آخرین";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "بةختةکی";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "حةذ٠کردن";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "اولین Ù…ورد ÛŒÚ© Ùهرست Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "موردی Ø¯Ø± Ù…حل Ù…شخص‌شده Ø¨Ø± Ù…ی‌گرداند.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "آخرین Ù…ورد Ø¯Ø± ÛŒÚ© Ùهرست Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "یک Ù…ورد ØªØµØ§Ø¯ÙÛŒ Ø¯Ø± ÛŒÚ© Ùهرست Ø¨Ø± Ù…ی‌گرداند.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "اولین Ù…ورد Ù…شخص‌شده Ø¯Ø± Ùهرست Ø±Ø§ Ø­Ø°Ù Ùˆ Ø¨Ø± Ù…ی‌گرداند.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "مورد Ø¯Ø± Ù…حل Ù…شخص‌شده Ø¯Ø± Ùهرست Ø±Ø§ Ø­Ø°Ù Ùˆ Ø¨Ø± Ù…ی‌گرداند.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "آخرین Ù…ورد Ù…شخص‌شده Ø¯Ø± Ùهرست Ø±Ø§ Ø­Ø°Ù Ùˆ Ø¨Ø± Ù…ی‌گرداند.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "مورد ØªØµØ§Ø¯Ùی‌ای Ø±Ø§ Ø¯Ø± Ùهرست Ø­Ø°Ù Ùˆ Ø¨Ø± Ù…ی‌گرداند.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "اولین Ù…ورد Ø±Ø§ Ø¯Ø± ÛŒÚ© Ùهرست Ø­Ø°Ù Ù…ی‌کند.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "مورد Ù…شخص‌شده Ø¯Ø± Ù…وقعیت Ù…شخص Ø¯Ø± ÛŒÚ© Ùهرست Ø±Ø§ Ø­Ø°Ù Ùˆ Ø¨Ø± Ù…ی‌گرداند.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "آخرین Ù…ورد Ø±Ø§ Ø¯Ø± ÛŒÚ© Ùهرست Ø­Ø°Ù Ù…ی‌کند.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "یک Ù…ورد ØªØµØ§Ø¯ÙÛŒ Ø±Ø§ ÛŒÚ© Ùهرست Ø­Ø°Ù Ù…ی‌کند.";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "به # Ø§Ø² Ø§Ù†ØªÙ‡Ø§";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "به #";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "به Ø¢Ø®Ø±ÛŒÙ†";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "گرÙتن Ø²ÛŒØ±Ù…جموعه‌ای Ø§Ø² Ø§Ø¨ØªØ¯Ø§";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "گرÙتن Ø²ÛŒØ±Ù…جموعه‌ای Ø§Ø² # Ø§Ø² Ø§Ù†ØªÙ‡Ø§";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "گرÙتن Ø²ÛŒØ±Ù…جموعه‌ای Ø§Ø² #";
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Ú©Ù¾ÛŒ Ø§Ø² Ù‚سمت Ù…شخص‌شدهٔ Ù„یست Ø¯Ø±Ø³Øª Ù…ی‌کند.";
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 Ø¢Ø®Ø±ÛŒÙ† Ù…ورد Ø§Ø³Øª.";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 Ø§ÙˆÙ„ین Ù…ورد Ø§Ø³Øª.";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "یاÙتن Ø§ÙˆÙ„ین Ø±Ø®â€ŒØ¯Ø§Ø¯ Ù…ورد";
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "یاÙتن Ø¢Ø®Ø±ÛŒÙ† Ø±Ø®â€ŒØ¯Ø§Ø¯ Ù…ورد";
+Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "شاخصی Ø§Ø² Ø§ÙˆÙ„ین/آخرین Ø±Ø®â€ŒØ¯Ø§Ø¯ Ù…ورد Ø¯Ø± Ùهرست Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند. %1 Ø¨Ø± Ù…ی‌گرداند Ø§Ú¯Ø± Ø¢ÛŒØªÙ… Ù…وجود Ù†Ø¨ÙˆØ¯.";
+Blockly.Msg["LISTS_INLIST"] = "در Ùهرست";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 Ø®Ø§Ù„ÛŒ Ø§Ø³Øª";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "اگر Ùهرست Ø®Ø§Ù„ÛŒ Ø§Ø³Øª Ù…قدار ØµØ¬ÛŒØ¬ Ø¨Ø± Ù…ی‌گرداند.";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "طول %1";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "طول ÛŒÚ© Ùهرست Ø±Ø§ Ø¨Ø±Ù…ی‌گرداند.";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "Ùهرستی Ø¨Ø§ %1 ØªÚ©Ø±Ø§Ø±Ø´Ø¯Ù‡ Ø¨Ù‡ Ø§Ù†Ø¯Ø§Ø²Ù‡Ù” %2 Ù…ی‌سازد";
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Ùهرستی Ø´Ø§Ù…Ù„ Ù…قادیر Ø¯Ø§Ø¯Ù‡â€ŒØ´Ø¯Ù‡Ù” ØªÚ©Ø±Ø§Ø± Ø´Ø¯Ù‡ Ø¹Ø¯Ø¯ Ù…شخص‌شده Ù…ی‌سازد.";
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";  // untranslated
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Reverse a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "به Ø¹Ù†ÙˆØ§Ù†";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "درج Ø¯Ø±";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "مجموعه";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "موردی Ø¨Ù‡ ØªÙ‡ Ùهرست Ø§Ø¶Ø§ÙÙ‡ Ù…ی‌کند.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "موردی Ø¯Ø± Ù…وقعیت Ù…شخص‌شده Ø¯Ø± ÛŒÚ© Ùهرست Ø§Ø¶Ø§ÙÙ‡ Ù…ی‌کند.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "موردی Ø¨Ù‡ ØªÙ‡ Ùهرست Ø§Ù„حاق Ù…ی‌کند.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "مورد Ø±Ø§ Ø¨Ù‡ ØµÙˆØ±Øª ØªØµØ§Ø¯ÙÛŒ Ø¯Ø± ÛŒÚ© Ùهرست Ù…ی‌اÙزاید.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "اولین Ù…ورد Ø¯Ø± ÛŒÚ© Ùهرست Ø±Ø§ ØªØ¹ÛŒÛŒÙ† Ù…ی‌کند.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "مورد Ù…شخص‌شده Ø¯Ø± ÛŒÚ© Ùهرست Ø±Ø§ Ù‚رار Ù…ی‌دهد.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "آخرین Ù…ورد Ø¯Ø± ÛŒÚ© Ùهرست Ø±Ø§ ØªØ¹ÛŒÛŒÙ† Ù…ی‌کند.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "یک Ù…ورد ØªØµØ§Ø¯ÙÛŒ Ø¯Ø± ÛŒÚ© Ùهرست Ø±Ø§ ØªØ¹ÛŒÛŒÙ† Ù…ی‌کند.";
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";  // untranslated
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "ascending";  // untranslated
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "descending";  // untranslated
+Blockly.Msg["LISTS_SORT_TITLE"] = "sort %1 %2 %3";  // untranslated
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Sort a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "alphabetic, ignore case";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "numeric";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "alphabetic";  // untranslated
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "ساخت Ù„یست Ø¥Ú˜ Ù…تن";
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "ساخت Ù…تن Ø¥Ú˜ Ù„یست";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Join a list of texts into one text, separated by a delimiter.";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Split text into a list of texts, breaking at each delimiter.";  // untranslated
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "همراه Ø¬Ø¯Ø§Ø³Ø§Ø²";
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "نادرست";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "بازگرداندن ÛŒÚ©ÛŒ Ø§Ø² ØµØ­ÛŒØ­ ÛŒØ§ Ù†Ø§ØµØ­ÛŒØ­.";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "درست";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://en.wikipedia.org/wiki/Inequality_(mathematics)";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "بازگشت ØµØ­ÛŒØ­ Ø§Ú¯Ø± Ù‡Ø± Ø¯Ùˆ ÙˆØ±ÙˆØ¯ÛŒ Ø¨Ø§ ÛŒÚ©Ø¯ÛŒÚ¯Ø± Ø¨Ø±Ø§Ø¨Ø± Ø¨Ø§Ø´Ø¯.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "بازگرداندن ØµØ­ÛŒØ­ Ø§Ú¯Ø± ÙˆØ±ÙˆØ¯ÛŒ Ø§ÙˆÙ„ Ø¨Ø²Ø±Ú¯ØªØ± Ø§Ø² ÙˆØ±ÙˆØ¯ÛŒ Ø¯ÙˆÙ… Ø¨Ø§Ø´Ø¯.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "بازگرداندن ØµØ­ÛŒØ­ Ø§Ú¯Ø± ÙˆØ±ÙˆØ¯ÛŒ Ø§ÙˆÙ„ Ø¨Ø²Ø±Ú¯ØªØ± ÛŒØ§ Ù…ساوی ÛŒØ§ ÙˆØ±ÙˆØ¯ÛŒ Ø¯ÙˆÙ… Ø¨Ø§Ø´Ø¯.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "بازگرداندن ØµØ­ÛŒØ­ Ø§Ú¯Ø± ÙˆØ±ÙˆØ¯ÛŒ Ø§ÙˆÙ„ Ú©ÙˆÚ†Ú©ØªØ± Ø§Ø² ÙˆØ±ÙˆØ¯ÛŒ Ø¯ÙˆÙ… Ø¨Ø§Ø´Ø¯.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "بازگرداندن ØµØ­ÛŒØ­ Ø§Ú¯Ø± ÙˆØ±ÙˆØ¯ÛŒ Ø§ÙˆÙ„ Ú©ÙˆÚ†Ú©ØªØ± ÛŒØ§ Ù…ساوی Ø¨Ø§ ÙˆØ±ÙˆØ¯ÛŒ Ø¯ÙˆÙ… Ø¨Ø§Ø´Ø¯.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "برگرداندن ØµØ­ÛŒØ­ Ø§Ú¯Ø± Ù‡Ø± Ø¯Ùˆ ÙˆØ±ÙˆØ¯ÛŒ Ø¨Ø§ ÛŒÚ©Ø¯ÛŒÚ¯Ø± Ø¨Ø±Ø§Ø¨Ø± Ù†Ø¨Ø§Ø´Ù†Ø¯.";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "نه %1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "صجیج Ø¨Ø§Ø² Ù…ی‌گرداند Ø§Ú¯Ø± ÙˆØ±ÙˆØ¯ÛŒ Ù†Ø§ ØµØ­ÛŒØ­ Ø¨Ø§Ø´Ù†Ø¯. Ù†Ø§ØµØ­ÛŒØ­ Ø¨Ø§Ø²Ù…ی‌گرداند Ø§Ú¯Ø± ÙˆØ±ÙˆØ¯ÛŒ ØµØ­ÛŒØ­ Ø¨Ø§Ø´Ø¯.";
+Blockly.Msg["LOGIC_NULL"] = "پةتی/خالی";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";  // untranslated
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "تهی Ø¨Ø§Ø² Ù…ÛŒ Ú¯Ø±Ø¯Ø§Ù†Ø¯";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "Ùˆ";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "یا";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "بازگرداندن ØµØ­ÛŒØ­ Ø§Ú¯Ø± Ù‡Ø± Ø¯Ùˆ ÙˆØ±ÙˆØ¯ÛŒ ØµØ­ÛŒØ­ Ø¨Ø§Ø´Ø¯.";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "بازگرداندن ØµØ­ÛŒØ­ Ø§Ú¯Ø± ÛŒÚ©ÛŒ Ø§Ø² Ø¯Ùˆ ÙˆØ±ÙˆØ¯ÛŒ ØµØ­ÛŒØ­ Ø¨Ø§Ø´Ø¯.";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "آزمائشت";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "اگر Ù†Ø§Ø¯Ø±Ø³Øª";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "اگر Ø¯Ø±Ø³Øª";
+Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "بررسی ÙˆØ¶Ø¹ÛŒØª Ø¯Ø± Â«Ø¢Ø²Ù…ایش». Ø§Ú¯Ø± ÙˆØ¶Ø¹ÛŒØª ØµØ­ÛŒØ­ Ø¨Ø§Ø´Ø¯ØŒ Ù…قدار Â«Ø§Ú¯Ø± ØµØ­ÛŒØ­Â» Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند Ø¯Ø± ØºÛŒØ± Ø§ÛŒÙ†ØµÙˆØ±Øª Ù…قدار Â«Ø§Ú¯Ø± Ù†Ø§ØµØ­ÛŒØ­Â» Ø±Ø§.";
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://en.wikipedia.org/wiki/Arithmetic";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "بازگرداندن Ù…قدار Ø¬Ù…ع Ø¯Ùˆ Ø¹Ø¯Ø¯.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "بازگرداندن Ø¨Ø§Ù‚ی‌ماندهٔ Ø¯Ùˆ Ø¹Ø¯Ø¯.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "بازگرداندن ØªÙاوت Ø¯Ùˆ Ø¹Ø¯Ø¯.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "بازگرداندن Ø­Ø§ØµÙ„ضرب Ø¯Ùˆ Ø¹Ø¯Ø¯.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "بازگرداندن Ø§ÙˆÙ„ین Ø¹Ø¯Ø¯ÛŒ Ú©Ù‡ Ø§Ø² ØªÙˆØ§Ù† Ø¹Ø¯Ø¯ Ø¯ÙˆÙ… Ø­Ø§ØµÙ„ Ø´Ø¯Ù‡ Ø¨Ø§Ø´Ø¯.";
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";
+Blockly.Msg["MATH_CHANGE_TITLE"] = "تغییر %1 Ø¨Ø§ %2";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "اÙزودن ÛŒÚ© Ø¹Ø¯Ø¯ Ø¨Ù‡ Ù…تغیر '%1'.";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://en.wikipedia.org/wiki/Mathematical_constant";
+Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "یکی Ø§Ø² Ù…قادیر Ù…شترک Ø±Ø§ Ø¨Ø±Ù…ی‌گرداند: Ï€ (۳٫۱۴۱…)ØŒ e (Û²Ù«Û·Û±Û¸...)ØŒ Ï† (Û±Ù«Û¶Û±Û¸)ØŒ sqrt(Û²) (Û±Ù«Û´Û±Û´)ØŒ sqrt(Û±/Û²) (Û°Ù«Û·Û°Û·...) Ùˆ ÛŒØ§ âˆž (بی‌نهایت).";
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "محدودکردن %1 Ù¾Ø§ÛŒÛŒÙ† %2 Ø¨Ø§Ù„ا %3";
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "محدودکردن ÛŒÚ© Ø¹Ø¯Ø¯ Ø¨ÛŒÙ† Ù…حدودیت‌های Ù…شخص‌شده (بسته).";
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";  // untranslated
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "تقسیم Ø´Ø¯Ù‡ Ø¨Ø±";
+Blockly.Msg["MATH_IS_EVEN"] = "زوج Ø§Ø³Øª";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "منÙÛŒ Ø§Ø³Øª";
+Blockly.Msg["MATH_IS_ODD"] = "Ùرد Ø§Ø³Øª";
+Blockly.Msg["MATH_IS_POSITIVE"] = "مثبت Ø§Ø³Øª";
+Blockly.Msg["MATH_IS_PRIME"] = "عدد Ø§ÙˆÙ„ Ø§Ø³Øª";
+Blockly.Msg["MATH_IS_TOOLTIP"] = "بررسی Ù…ی‌کند Ú©Ù‡ Ø¢ÛŒØ§ ÛŒÚ© Ø¹Ø¯Ø¯ Ø²ÙˆØ¬ØŒ Ùرد، Ø§ÙˆÙ„ØŒ Ú©Ø§Ù…Ù„ØŒ Ù…ثبت، Ù…Ù†ÙÛŒ ÛŒØ§ Ø¨Ø®Ø´â€ŒÙ¾Ø°ÛŒØ± Ø¹Ø¯Ø¯ Ø®Ø§ØµÛŒ Ø¨Ø§Ø´Ø¯ Ø±Ø§ Ø¨Ø±Ø±Ø³ÛŒ Ù…ی‌کند. Ø¯Ø±Ø³Øª ÛŒØ§ Ù†Ø§Ø¯Ø±Ø³Øª Ø¨Ø§Ø² Ù…ی‌گرداند.";
+Blockly.Msg["MATH_IS_WHOLE"] = "کامل Ø§Ø³Øª";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://en.wikipedia.org/wiki/Modulo_operation";
+Blockly.Msg["MATH_MODULO_TITLE"] = "باقی‌ماندهٔ %1 + %2";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "باقی‌ماندهٔ ØªÙ‚سیم Ø¯Ùˆ Ø¹Ø¯Ø¯ Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند.";
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";  // untranslated
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://en.wikipedia.org/wiki/Number";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "شؤمارە ÛŒÛ•Ú©";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "میانگین Ùهرست";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "بزرگ‌ترین Ùهرست";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "میانهٔ Ùهرست";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "گوجةرتةرین Ù„یست";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "مد Ùهرست";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "مورد ØªØµØ§Ø¯ÙÛŒ Ø§Ø² Ùهرست";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "انحرا٠معیار Ùهرست";
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "جمع Ù„یست";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "میانگین (میانگین Ø±ÛŒØ§Ø¶ÛŒ) Ù…قادیر Ø¹Ø¯Ø¯ÛŒ Ùهرست Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "بزرگ‌ترین Ø¹Ø¯Ø¯ Ø¯Ø± Ùهرست Ø±Ø§ Ø¨Ø§Ø² Ù…ی‌گرداند.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "میانهٔ Ø¹Ø¯Ø¯ Ø¯Ø± Ùهرست Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "کوچک‌ترین Ø¹Ø¯Ø¯ Ø¯Ø± Ùهرست Ø±Ø§ Ø¨Ø§Ø² Ù…ی‌گرداند.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "شایع‌ترین Ù‚لم(های) Ø¯Ø± Ùهرست Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "موردی ØªØµØ§Ø¯ÙÛŒ Ø§Ø² Ùهرست Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "انحرا٠معیار Ùهرست Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "جمع Ù‡Ù…Ù‡Ù” Ø¹Ø¯Ø¯Ù‡Ø§ÛŒ Ùهرست Ø±Ø§ Ø¨Ø§Ø² Ù…ی‌گرداند.";
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "کسر ØªØµØ§Ø¯ÙÛŒ";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "بازگرداندن Ú©Ø³Ø±ÛŒ ØªØµØ§Ø¯ÙÛŒ Ø¨ÛŒÙ† Û°Ù«Û° (بسته) ØªØ§ Û±Ù«Û° (باز).";
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "عدد ØµØ­ÛŒØ­ ØªØµØ§Ø¯ÙÛŒ Ø¨ÛŒÙ† %1 ØªØ§ %2";
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "یک Ø¹Ø¯Ø¯ ØªØµØ§Ø¯ÙÛŒ Ø¨ÛŒÙ† Ø¯Ùˆ Ù…قدار Ù…شخص‌شده Ø¨Ù‡ ØµÙˆØ±Øª Ø¨Ø³ØªÙ‡ Ø¨Ø§Ø² Ù…ی‌گرداند.";
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://en.wikipedia.org/wiki/Rounding";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "گردکردن";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "گرد Ø¨Ù‡ Ù¾Ø§ÛŒÛŒÙ†";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "گرد Ø¨Ù‡ Ø¨Ø§Ù„ا";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "گردکردن ÛŒÚ© Ø¹Ø¯Ø¯ Ø¨Ù‡ Ø¨Ø§Ù„ا ÛŒØ§ Ù¾Ø§ÛŒÛŒÙ†.";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://en.wikipedia.org/wiki/Square_root";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "مطلق";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "ریشهٔ Ø¯ÙˆÙ…";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "قدر Ù…طلق ÛŒÚ© Ø¹Ø¯Ø¯ Ø±Ø§ Ø¨Ø§Ø²Ù…ی‌گرداند.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "بازگرداندن ØªÙˆØ§Ù† e ÛŒÚ© Ø¹Ø¯Ø¯.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "لوگاریتم Ø·Ø¨ÛŒØ¹ÛŒ ÛŒÚ© Ø¹Ø¯Ø¯ Ø±Ø§ Ø¨Ø§Ø² Ù…ی‌گرداند.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "بازگرداندن Ù„گاریتم Ø¨Ø± Ù¾Ø§ÛŒÙ‡Ù” Û±Û° ÛŒÚ© Ø¹Ø¯Ø¯.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "منÙی‌شدهٔ ÛŒÚ© Ø¹Ø¯Ø¯ Ø±Ø§ Ø¨Ø§Ø² Ù…ی‌گرداند.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "بازگرداندن ØªÙˆØ§Ù† Û±Û° ÛŒÚ© Ø¹Ø¯Ø¯.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "ریشهٔ Ø¯ÙˆÙ… ÛŒÚ© Ø¹Ø¯Ø¯ Ø±Ø§ Ø¨Ø§Ø² Ù…ی‌گرداند.";
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";  // untranslated
+Blockly.Msg["MATH_TRIG_ACOS"] = "acos";  // untranslated
+Blockly.Msg["MATH_TRIG_ASIN"] = "asin";  // untranslated
+Blockly.Msg["MATH_TRIG_ATAN"] = "atan";  // untranslated
+Blockly.Msg["MATH_TRIG_COS"] = "cos";  // untranslated
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://en.wikipedia.org/wiki/Trigonometric_functions";
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";  // untranslated
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "بازگرداندن Ø¢Ø±Ú©â€ŒÚ©Ø³ÛŒÙ†ÙˆØ³ Ø¯Ø±Ø¬Ù‡ (نه Ø±Ø§Ø¯ÛŒØ§Ù†).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = ".(بازگرداندن Ø¢Ø±Ú©â€ŒØ³ÛŒÙ†ÙˆØ³ Ø¯Ø±Ø¬Ù‡ (نه Ø±Ø§Ø¯ÛŒØ§Ù†";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "بازگرداندن Ø¢Ø±Ú©â€ŒØªØ§Ù†Ú˜Ø§Ù†Øª Ø¯Ø±Ø¬Ù‡ (نه Ø±Ø§Ø¯ÛŒØ§Ù†).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "بازگرداندن Ú©Ø³ÛŒÙ†ÙˆØ³ Ø¯Ø±Ø¬Ù‡ (نه Ø±Ø§Ø¯ÛŒØ§Ù†).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "بازگرداندن Ø³ÛŒÙ†ÙˆØ³ Ø¯Ø±Ø¬Ù‡ (نه Ø±Ø§Ø¯ÛŒØ§Ù†).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "بازگرداندن ØªØ§Ù†Ú˜Ø§Ù†Øª ÛŒÚ© Ø¯Ø±Ø¬Ù‡ (نه Ø±Ø§Ø¯ÛŒØ§Ù†).";
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Create colour variable...";  // untranslated
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Create number variable...";  // untranslated
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Create string variable...";  // untranslated
+Blockly.Msg["NEW_VARIABLE"] = "متغیر ØªØ§Ø²Ù‡...";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "نام Ù…تغیر ØªØ§Ø²Ù‡:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "New variable type:";  // untranslated
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "اجازه Ø§Ø¸Ù‡Ø§Ø±Ø§Øª";
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "با:";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29";
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "اجرای ØªØ§Ø¨Ø¹ ØªØ¹Ø±ÛŒÙ‌شده ØªÙˆØ³Ø· Ú©Ø§Ø±Ø¨Ø± Â«%1».";
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29";
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "اجرای ØªØ§Ø¨Ø¹ ØªØ¹Ø±ÛŒÙ‌شده ØªÙˆØ³Ø· Ú©Ø§Ø±Ø¨Ø± Â«%1» Ùˆ Ø§Ø³ØªÙاده Ø§Ø² Ø®Ø±ÙˆØ¬ÛŒ Ø¢Ù†.";
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "با:";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "ساختن Â«%1»";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Describe this function...";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "انجام Ú†ÛŒØ²ÛŒ";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "به";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "تابعی Ù…ی‌سازد Ø¨Ø¯ÙˆÙ† Ù‡ÛŒÚ† Ø®Ø±ÙˆØ¬ÛŒ.";
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "بازگشت";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "تابعی Ø¨Ø§ ÛŒÚ© Ø®Ø±ÙˆØ¬ÛŒ Ù…ی‌سازد.";
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "اخطار: Ø§ÛŒÙ† ØªØ§Ø¨Ø¹ÛŒ Ù¾Ø§Ø±Ø§Ù…تر ØªÚ©Ø±Ø§Ø±ÛŒ Ø¯Ø§Ø±Ø¯.";
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "برجسته‌سازی ØªØ¹Ø±ÛŒÙ ØªØ§Ø¨Ø¹";
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "اگر ÛŒÚ© Ù…قدار ØµØ­ÛŒØ­ Ø§Ø³ØªØŒ Ù…قدار Ø¯ÙˆÙ… Ø±Ø§ Ø¨Ø±Ú¯Ø±Ø¯Ø§Ù†.";
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "اخطار: Ø§ÛŒÙ† Ø¨Ù„ÙˆÚ© Ø§Ø­ØªÙ…الاً Ùقط Ø¯Ø§Ø®Ù„ ÛŒÚ© ØªØ§Ø¨Ø¹ Ø§Ø³ØªÙاده Ù…ی‌شود.";
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "نام ÙˆØ±ÙˆØ¯ÛŒ:";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "اضاÙÙ‡ Ú©Ø±Ø¯Ù† ÙˆØ±ÙˆØ¯ÛŒ Ø¨Ù‡ ØªØ§Ø¨Ø¹.";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "ورودی‌ها";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "اÙزودن، Ø­Ø°Ù ÛŒØ§ Ø¯ÙˆØ¨Ø§Ø±Ù‡ Ù…رتب‌کردن ÙˆØ±ÙˆØ¯ÛŒ Ø§ÛŒÙ† ØªØ§Ø¨Ø¹.";
+Blockly.Msg["REDO"] = "Redo";  // untranslated
+Blockly.Msg["REMOVE_COMMENT"] = "پاک Ú©Ø±Ø¯Ù† Ú¯Ø©Ù¾Ø©Ù„/Ù‚Ùسةل";
+Blockly.Msg["RENAME_VARIABLE"] = "تغییر Ù†Ø§Ù… Ù…تغیر...";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "تغییر Ù†Ø§Ù… Ù‡Ù…Ù‡Ù” Ù…تغیرهای Â«%1» Ø¨Ù‡:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "به %1 Ú†Ø³Ø¨Ø§Ù†Ø¯Ù† Ù…تن %2";
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "الحاق Ù…تنی Ø¨Ù‡ Ù…تغیر Â«%1».";
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "به Ø­Ø±ÙˆÙ Ú©ÙˆÚ†Ú©";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "به Ø­Ø±ÙˆÙ Ø¨Ø²Ø±Ú¯ Ø¹Ù†ÙˆØ§Ù†";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "به Ø­Ø±ÙˆÙ Ø¨Ø²Ø±Ú¯";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "بازگرداندن Ú©Ù¾ÛŒ Ù…تن Ø¯Ø± Ø­Ø§Ù„تی Ù…تÙاوت.";
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "گرÙتن Ø§ÙˆÙ„ین Ø­Ø±Ù";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "گرÙتن Ø­Ø±Ù # Ø§Ø² Ø¢Ø®Ø±";
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "گرÙتن Ø­Ø±Ù #";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "گرÙتن Ø¢Ø®Ø±ÛŒÙ† Ø­Ø±Ù";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "گرÙتن Ø­Ø±Ù ØªØµØ§Ø¯ÙÛŒ";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "in text %1 %2";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "حرÙÛŒ Ø¯Ø± Ù…وقعیت Ù…شخص‌شده Ø¨Ø± Ù…ی‌گرداند.";
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";  // untranslated
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "count %1 in %2";  // untranslated
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Count how many times some text occurs within some other text.";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "اÙزودن ÛŒÚ© Ù…ورد Ø¨Ù‡ Ù…تن.";
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "نام Ù†Ø¤ÛŒØ³ÛŒ";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "اضاÙه‌کردن، Ø­Ø°Ù ÛŒØ§ Ù…رتب‌سازی Ø¨Ø­Ø´â€ŒÙ‡Ø§ Ø¨Ø±Ø§ÛŒ ØªÙ†Ø¸ÛŒÙ… Ù…جدد Ø§ÛŒÙ† Ø¨Ù„ÙˆÚ© Ù…تنی.";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "به Ø­Ø±Ù # Ø§Ø² Ø§Ù†ØªÙ‡Ø§";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "به Ø­Ø±Ù #";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "به Ø¢Ø®Ø±ÛŒÙ† Ø­Ø±Ù";
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "در Ù…تن";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "گرÙتن Ø²ÛŒØ±Ù…تن Ø§Ø² Ø§ÙˆÙ„ین Ø­Ø±Ù";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "گرÙتن Ø²ÛŒØ±Ù…تن Ø§Ø² Ø­Ø±Ù # Ø¨Ù‡ Ø§Ù†ØªÙ‡Ø§";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "گرÙتن Ø²ÛŒØ±Ù…تن Ø§Ø² Ø­Ø±Ù #";
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "قسمت Ù…شخصی‌شده‌ای Ø§Ø² Ù…تن Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند.";
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "اولین Ø±Ø®Ø¯Ø§Ø¯ Ù…تن Ø±Ø§ Ø¨ÛŒØ§Ø¨";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "آخرین Ø±Ø®Ø¯Ø§Ø¯ Ù…تن Ø±Ø§ Ø¨ÛŒØ§Ø¨";
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "در Ù…تن %1 %2 %3";
+Blockly.Msg["TEXT_INDEXOF_TOOLTIP"] = "شاخصی Ø§Ø² Ø§ÙˆÙ„ین Ø¢Ø®Ø±ÛŒÙ† Ø±Ø®â€ŒØ¯Ø§Ø¯ Ù…تن Ø§ÙˆÙ„ Ø¯Ø± Ù…تن Ø¯ÙˆÙ… Ø¨Ø± Ù…ی‌گرداند. Ø§Ú¯Ø± Ù…تن ÛŒØ§Ùت Ù†Ø´Ø¯ %1 Ø¨Ø§Ø² Ù…ی‌گرداند.";
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 Ø®Ø§Ù„ÛŒ Ø§Ø³Øª";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "اضاÙه‌کردن ØµØ­ÛŒØ­ Ø§Ú¯Ø± Ù…تن Ùراهم‌شده Ø®Ø§Ù„ÛŒ Ø§Ø³Øª.";
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "ایجاد Ù…تن Ø¨Ø§";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "یک ØªÚ©Ù‡â€ŒØ§ÛŒ Ø§Ø² Ù…تن Ø±Ø§ Ø¨Ø§ Ú†Ø³Ù¾Ø§Ù†Ø¯Ù† Ù‡Ù…Ù‡Ù” ØªØ¹Ø¯Ø§Ø¯ Ø§Ø² Ù…وارد Ø§ÛŒØ¬Ø§Ø¯ Ù…ی‌کند.";
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "طول %1";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "بازگرداندن Ø¹Ø¯Ø¯ÛŒ Ø§Ø² Ø­Ø±ÙˆÙ (شامل Ùاصله‌ها) Ø¯Ø± Ù…تن Ùراهم‌شده.";
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "چاپ %1";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "چاپ Ù…تن، Ø¹Ø¯Ø¯ ÛŒØ§ Ù‡Ø± Ù…قدار Ø¯ÛŒÚ¯Ø± Ù…شخص‌شده.";
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "اعلان Ø¨Ø±Ø§ÛŒ Ú©Ø§Ø±Ø¨Ø± Ø¨Ø§ ÛŒÚ© Ø¹Ø¯Ø¯.";
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "اعلان Ø¨Ø±Ø§ÛŒ Ú©Ø§Ø±Ø¨Ø± Ø¨Ø±Ø§ÛŒ ÛŒÚ© Ù…تن.";
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "اعلان Ø¨Ø±Ø§ÛŒ Ø¹Ø¯Ø¯ Ø¨Ø§ Ù¾ÛŒØ§Ù…";
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "اعلان Ø¨Ø±Ø§ÛŒ Ù…تن Ø¨Ø§ Ù¾ÛŒØ§Ù…";
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";  // untranslated
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "replace %1 with %2 in %3";  // untranslated
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Replace all occurances of some text within some other text.";  // untranslated
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";  // untranslated
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Reverses the order of the characters in the text.";  // untranslated
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://en.wikipedia.org/wiki/String_(computer_science)";
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "یک Ø­Ø±ÙØŒ Ú©Ù„مه ÛŒØ§ Ø®Ø·ÛŒ Ø§Ø² Ù…تن.";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "تراشیدن Ùاصله‌ها Ø§Ø²  Ù‡Ø± Ø¯Ùˆ Ø·Ø±Ù";
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "تراشیدن Ùاصله‌ها Ø§Ø²  Ø·Ø±Ù Ú†Ù¾";
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "تراشیدن Ùاصله‌ها Ø§Ø²  Ø·Ø±Ù Ú†Ù¾";
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Ú©Ù¾ÛŒ Ø§Ø² Ù…تن Ø¨Ø§ Ùاصله‌های Ø­Ø°Ù‌شده Ø§Ø² ÛŒÚ© ÛŒØ§ Ù‡Ø± Ø¯Ùˆ Ù¾Ø§ÛŒØ§Ù† Ø¨Ø§Ø² Ù…ی‌گرداند.";
+Blockly.Msg["TODAY"] = "ایمڕۆ";
+Blockly.Msg["UNDO"] = "Undo";  // untranslated
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "آیتم";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "درست‌کردن Â«ØªÙ†Ø¸ÛŒÙ… %1»";
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "مقدار Ø§ÛŒÙ† Ù…تغیر Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند.";
+Blockly.Msg["VARIABLES_SET"] = "مجموعه %1 Ø¨Ù‡ %2";
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "درست‌کردن Â«Ú¯Ø±Ùتن %1»";
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "متغیر Ø¨Ø±Ø§Ø¨Ø± Ø¨Ø§ Ø®Ø±ÙˆØ¬ÛŒ Ø±Ø§ Ù…شخص Ù…ی‌کند.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "A variable named '%1' already exists.";  // untranslated
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "A variable named '%1' already exists for another type: '%2'.";  // untranslated
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something...";  // untranslated
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/lo.js b/js/msg/js/lo.js
new file mode 100644 (file)
index 0000000..f09a2fa
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.lo');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["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'";  // untranslated
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "ປ່ຽນຄ່າ:";
+Blockly.Msg["CLEAN_UP"] = "ຈັດລຽນບລັອàºà»ƒàº«à»‰à»€àº›àº±àº™à»àº–ວ";
+Blockly.Msg["COLLAPSE_ALL"] = "àºàº¸àºšàºšàº¥àº±àº­àº";
+Blockly.Msg["COLLAPSE_BLOCK"] = "àºàº¸àºšàºšàº¥àº±àº­àº";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "ສີ 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "ສີ 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";  // untranslated
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "ອັດຕາສ່ວນ";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "ປະສົມ";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "ປະສົມສອງສີເຂົ້າàºàº±àº™àº”້ວàºàº­àº±àº”ຕາສ່ວນ (0.0 - 1.0).";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://lo.wikipedia.org/wiki/ສີ";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "ເລືອàºàºªàºµàºˆàº²àºàºˆàº²àº™àºªàºµ.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "ສຸ່ມສີ";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "ເລືອàºàºªàºµà»àºšàºšàºªàº¸à»ˆàº¡.";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "ຄ່າສີນ້ຳເງິນ";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "ຄ່າສີຂຽວ";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";  // untranslated
+Blockly.Msg["COLOUR_RGB_RED"] = "ຄ່າສີà»àº”ງ";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "ສີທີ່ປະàºàº­àºšàº”້ວàº";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "ສ້າງສີດ້ວàºàºàº²àº™àºàº³àº™àº»àº”ຄ່າສີà»àº”ງ, àºªàºµàº‚ຽວ, à»àº¥àº°àºªàºµàº™à»‰àº³à»€àº‡àº´àº™. àº„່າທັງà»àº»àº”ຕ້ອງຢູ່ລະຫວ່າງ 0 à»€àº–ິງ 100.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "ອອàºàºˆàº²àºàºàº²àº™àº§àº»àº™àºŠà»‰àº³";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "ເລີ່ມàºàº²àº™àº§àº»àº™àºŠà»‰àº³àº®àº­àºšàº•à»à»ˆà»„ປ";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "ອອàºàºˆàº²àºàºàº²àº™àº§àº»àº™àºŠà»‰àº³àº—ີ່ຢູ່.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "ຂ້າມຜ່ານຄຳສັ່ງທີ່ເຫຼືອຢູ່, à»àº¥àº°à»€àº¥àºµà»ˆàº¡àºàº²àº™àº§àº»àº™àºŠà»‰àº³àº®àº­àºšàº•à»à»ˆà»„ປ.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "ຄຳເຕືອນ: àºšàº¥àº±àº­àºàº™àºµà»‰à»ƒàºŠà»‰àº‡àº²àº™à»„ດ້ພາàºà»ƒàº™àºàº²àº™àº§àº»àº™àºŠà»‰àº³à»€àº—ົ່ານັ້ນ.";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "ຈາàºàº—ຸàºàº¥àº²àºàºàº²àº™ %1 à»ƒàº™àº¥àº²àºàºŠàº·à»ˆ %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "ສຳລັບທຸàºàº¥àº²àºàºàº²àº™à»ƒàº™àº¥àº²àºàºŠàº·à»ˆ, à»ƒàº«à»‰àº•àº±à»‰àº‡àº„່າຕົວà»àº› '%1' à»€àº›àº±àº™àº¥àº²àºàºàº²àº™, à»àº¥àº°à»€àº®àº±àº”ຕາມຄຳສັ່ງທີ່àºàº³àº™àº»àº”ໄວ້.";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "ນັບດ້ວຠ%1 àºˆàº²àº %2 à»€àº–ິງ %3 àº›à»ˆàº½àº™àº„່າທີລະ %4";
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "ຕົວà»àº› '%1' àºˆàº°à»€àº¥àºµà»ˆàº¡àºˆàº²àºàºˆàº³àº™àº§àº™à»€àº¥àºµà»ˆàº¡àº•àº»à»‰àº™à»„ປຫາຈຳນວນສຸດທ້າàº, àº™àº±àºšàº•àº²àº¡àºŠà»ˆàº§àº‡à»„ລàºàº°àº—ີ່àºàº³àº™àº»àº”, à»àº¥àº°à»€àº®àº±àº”ຕາມບລັອàºàº—ີ່àºàº³àº™àº»àº”ໄວ້.";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "ເພີ່ມເງື່ອນໄຂລົງໃນບລັອຠ\"ຖ້າ\".";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "ເພີ່ມສິ່ງສຸດທ້າàº, àºàº§àº”ຫາຄວາມເປັນໄປໄດ້ທັງà»àº»àº”ຂອງບລັອຠ\"ຖ້າ\".";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "ເພີ່ມ, àº¥àº¶àºš, àº«àº¼àº· àºˆàº±àº”ລຽງບລັອຠ\"ຖ້າ\" àº™àºµà»‰à»ƒà»à»ˆ.";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "ນອàºàºˆàº²àºàº™àºµà»‰";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "ນອàºàºˆàº²àºàº™àºµà»‰ àº–້າ";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "ຖ້າ";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "ຖ້າເງື່ອນໄຂເປັນຈິງ, àºà»àºˆàº°à»€àº®àº±àº”ຕາມທີ່àºàº³àº™àº»àº”.";
+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.";  // untranslated
+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.";  // untranslated
+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.";  // untranslated
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://en.wikipedia.org/wiki/For_loop";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "ເຮັດ";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "ເຮັດຄືນ %1 àº„ັ້ງ";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "ເຮັດຄຳສັ່ງບາງຄຳສັ່ງຄືນຫຼາàºà»†àº„ັ້ງ.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "ເຮັດຄືນຈົນàºàº°àº—ັ່ງ";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "ເຮັດຄືນຂະນະທີ່";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "ຂະນະທີ່ຄ່າເປັນເທັດ, àºà»àºˆàº°à»€àº®àº±àº”ຄຳສັ່ງບາງຄຳສັ່ງ.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "ຂະນະທີ່ຄ່າເປັນຈິງ, àºà»àºˆàº°à»€àº®àº±àº”ຄຳສັ່ງບາງຄຳສັ່ງ.";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "ລຶບ %1 àºšàº¥àº±àº­àºàº—ັງà»àº»àº”ຫຼືບà»à»ˆ?";
+Blockly.Msg["DELETE_BLOCK"] = "ລຶບບລັອàº";
+Blockly.Msg["DELETE_VARIABLE"] = "Delete the '%1' variable";  // untranslated
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Delete %1 uses of the '%2' variable?";  // untranslated
+Blockly.Msg["DELETE_X_BLOCKS"] = "ລຶບ %1 àºšàº¥àº±àº­àº";
+Blockly.Msg["DISABLE_BLOCK"] = "ປິດໃຊ້ງານບລັອàº";
+Blockly.Msg["DUPLICATE_BLOCK"] = "ເຮັດສຳເນົາ";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicate Comment";  // untranslated
+Blockly.Msg["ENABLE_BLOCK"] = "ເປີດໃຊ້ງານບລັອàº";
+Blockly.Msg["EXPAND_ALL"] = "ຂະຫàºàº²àºàºšàº¥àº±àº­àº";
+Blockly.Msg["EXPAND_BLOCK"] = "ຂະຫàºàº²àºàºšàº¥àº±àº­àº";
+Blockly.Msg["EXTERNAL_INPUTS"] = "ອິນພຸດພາàºàº™àº­àº";
+Blockly.Msg["HELP"] = "ຊ່ວàºà»€àº«àº¼àº·àº­";
+Blockly.Msg["INLINE_INPUTS"] = "ອິນພຸດໃນບັນທັດ";
+Blockly.Msg["IOS_CANCEL"] = "Cancel";  // untranslated
+Blockly.Msg["IOS_ERROR"] = "Error";  // untranslated
+Blockly.Msg["IOS_OK"] = "OK";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Add Input";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Allow statements";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "This function has duplicate inputs.";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "INPUTS";  // untranslated
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "Add";  // untranslated
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Add Variable";  // untranslated
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "Delete";  // untranslated
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "You can't use an empty variable name.";  // untranslated
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Rename";  // untranslated
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Variable name";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "create empty list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Returns a list, of length 0, containing no data records";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "list";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this list block.";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "create list with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Add an item to the list.";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Create a list with any number of items.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "first";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "# from end";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "get";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "get and remove";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "last";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "random";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "remove";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Returns the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Returns the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Returns the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Returns a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "Removes and returns the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "Removes and returns the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "Removes and returns the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Removes and returns a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "Removes the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "Removes the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "Removes the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Removes a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "to # from end";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "to #";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "to last";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "get sub-list from first";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "get sub-list from # from end";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "get sub-list from #";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Creates a copy of the specified portion of a list.";  // untranslated
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 is the last item.";  // untranslated
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 is the first item.";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "find first occurrence of item";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "find last occurrence of item";  // untranslated
+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.";  // untranslated
+Blockly.Msg["LISTS_INLIST"] = "in list";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 is empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Returns true if the list is empty.";  // untranslated
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "length of %1";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Returns the length of a list.";  // untranslated
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "create list with item %1 repeated %2 times";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Creates a list consisting of the given value repeated the specified number of times.";  // untranslated
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";  // untranslated
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Reverse a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "as";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "insert at";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Inserts the item at the start of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Inserts the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Append the item to the end of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Inserts the item randomly in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Sets the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Sets the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Sets the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Sets a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";  // untranslated
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "ascending";  // untranslated
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "descending";  // untranslated
+Blockly.Msg["LISTS_SORT_TITLE"] = "sort %1 %2 %3";  // untranslated
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Sort a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "alphabetic, ignore case";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "numeric";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "alphabetic";  // untranslated
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "make list from text";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "make text from list";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Join a list of texts into one text, separated by a delimiter.";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Split text into a list of texts, breaking at each delimiter.";  // untranslated
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "with delimiter";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "ເທັດ";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "ຄືນຄ່າເປັນຈິງ àº«àº¼àº· à»€àº—ັດ.";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "ຈິງ";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://​​lo.wikipedia.org/wiki/ອະສົມຜົນ";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "ຄືນຄ່າຈິງຖ້າຄ່າທີ່ີໃສ່ທັງສອງຄ່ານັ້ນເທົ່າàºàº±àº™.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "ຄືນຄ່າເປັນຈິງຖ້າຄ່າທຳອິດຫຼາàºàºàº§à»ˆàº²àº„່າທີ່ສອງ.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "ຄືນຄ່າເປັນຈິງຖ້າຄ່າທຳອິດຫຼາàºàºàº§à»ˆàº² àº«àº¼àº· à»€àº—ົ່າàºàº±àºšàº„່າທີ່ສອງ.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "ຄືນຄ່າເປັນຈິງຖ້າຄ່າທຳອິດນ້ອàºàºàº§à»ˆàº²àº„່າທີ່ສອງ.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "ຄືນຄ່າເປັນຈິງຖ້າຄ່າທຳອິດນ້ອàºàºàº§à»ˆàº² àº«àº¼àº· à»€àº—ົ່າàºàº±àºšàº„່າທີ່ສອງ.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "ຄືນຄ່າຈິງຖ້າຄ່າທີ່ີໃສ່ທັງສອງຄ່ານັ້ນບà»à»ˆà»€àº—ົ່າàºàº±àº™.";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "ບà»à»ˆ %1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "ຄືນຄ່າເປັນຈິງຖ້າຄ່າທີ່ໃສ່ເປັນເທັດ. àº„ືນຄ່າເປັນເທັດຖ້າຄ່າທີ່ໃສ່ເປັນຈິງ.";
+Blockly.Msg["LOGIC_NULL"] = "ບà»à»ˆàºàº³àº™àº»àº”";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";  // untranslated
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "ຄືນຄ່າບà»à»ˆàºàº³àº™àº»àº”.";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "à»àº¥àº°";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "ຫຼື";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "ຄືນຄ່າເປັນຈິງຖ້າຄ່າທັງສອງເປັນຈິງ.";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "ຄືນຄ່າເປັນຈິງຖ້າມີຄ່າຢ່າງນ້ອàºà»œàº¶à»ˆàº‡àº„່າທີ່ເປັນຈິງ.";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "ທົດສອບ";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "ຖ້າ à»€àº›àº±àº™à»€àº—ັດ";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "ຖ້າ à»€àº›àº±àº™àºˆàº´àº‡";
+Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "àºàº§àº”ສອບເງື່ອນໄຂໃນ 'ທົດສອບ'. àº–້າເງື່ອນໄຂເປັນຈິງ, àº„ືນຄ່າ 'ຖ້າ à»€àº›àº±àº™àºˆàº´àº‡'; àº–້າເງື່ອນໄຂເປັນເທັດ, à»ƒàº«à»‰àº„ືນຄ່າ 'ຖ້າ à»€àº›àº±àº™à»€àº—ັດ'.";
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://en.wikipedia.org/wiki/Arithmetic";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Return the sum of the two numbers.";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Return the quotient of the two numbers.";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Return the difference of the two numbers.";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Return the product of the two numbers.";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Return the first number raised to the power of the second number.";  // untranslated
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";  // untranslated
+Blockly.Msg["MATH_CHANGE_TITLE"] = "change %1 by %2";  // untranslated
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Add a number to variable '%1'.";  // untranslated
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://en.wikipedia.org/wiki/Mathematical_constant";  // untranslated
+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).";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "constrain %1 low %2 high %3";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Constrain a number to be between the specified limits (inclusive).";  // untranslated
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";  // untranslated
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "is divisible by";  // untranslated
+Blockly.Msg["MATH_IS_EVEN"] = "is even";  // untranslated
+Blockly.Msg["MATH_IS_NEGATIVE"] = "is negative";  // untranslated
+Blockly.Msg["MATH_IS_ODD"] = "is odd";  // untranslated
+Blockly.Msg["MATH_IS_POSITIVE"] = "is positive";  // untranslated
+Blockly.Msg["MATH_IS_PRIME"] = "is prime";  // untranslated
+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.";  // untranslated
+Blockly.Msg["MATH_IS_WHOLE"] = "is whole";  // untranslated
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://en.wikipedia.org/wiki/Modulo_operation";  // untranslated
+Blockly.Msg["MATH_MODULO_TITLE"] = "remainder of %1 ÷ %2";  // untranslated
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Return the remainder from dividing the two numbers.";  // untranslated
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";  // untranslated
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://lo.wikipedia.org/wiki/ຈຳນວນ";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "ຈຳນວນໜຶ່ງ.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "average of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "max of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "median of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "min of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "modes of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "random item of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "standard deviation of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "sum of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Return the average (arithmetic mean) of the numeric values in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "Return the largest number in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "Return the median number in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "Return the smallest number in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Return a list of the most common item(s) in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Return a random element from the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Return the standard deviation of the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Return the sum of all the numbers in the list.";  // untranslated
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "random fraction";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Return a random fraction between 0.0 (inclusive) and 1.0 (exclusive).";  // untranslated
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";  // untranslated
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "random integer from %1 to %2";  // untranslated
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Return a random integer between the two specified limits, inclusive.";  // untranslated
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://en.wikipedia.org/wiki/Rounding";  // untranslated
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "round";  // untranslated
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "round down";  // untranslated
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "round up";  // untranslated
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Round a number up or down.";  // untranslated
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://en.wikipedia.org/wiki/Square_root";  // untranslated
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "absolute";  // untranslated
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "square root";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Return the absolute value of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Return e to the power of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "Return the natural logarithm of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "Return the base 10 logarithm of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Return the negation of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Return 10 to the power of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Return the square root of a number.";  // untranslated
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";  // untranslated
+Blockly.Msg["MATH_TRIG_ACOS"] = "acos";  // untranslated
+Blockly.Msg["MATH_TRIG_ASIN"] = "asin";  // untranslated
+Blockly.Msg["MATH_TRIG_ATAN"] = "atan";  // untranslated
+Blockly.Msg["MATH_TRIG_COS"] = "cos";  // untranslated
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://en.wikipedia.org/wiki/Trigonometric_functions";  // untranslated
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";  // untranslated
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Return the arccosine of a number.";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Return the arcsine of a number.";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Return the arctangent of a number.";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Return the cosine of a degree (not radian).";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Return the sine of a degree (not radian).";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Return the tangent of a degree (not radian).";  // untranslated
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Create colour variable...";  // untranslated
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Create number variable...";  // untranslated
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Create string variable...";  // untranslated
+Blockly.Msg["NEW_VARIABLE"] = "Create variable...";  // untranslated
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "ຊື່ຕົວà»àº›à»ƒà»à»ˆ:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "New variable type:";  // untranslated
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "allow statements";  // untranslated
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "with:";  // untranslated
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Run the user-defined function '%1'.";  // untranslated
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Run the user-defined function '%1' and use its output.";  // untranslated
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "with:";  // untranslated
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "Create '%1'";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Describe this function...";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "do something";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "to";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Creates a function with no output.";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "return";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "Creates a function with an output.";  // untranslated
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "Warning: This function has duplicate parameters.";  // untranslated
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "Highlight function definition";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "If a value is true, then return a second value.";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "Warning: This block may be used only within a function definition.";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "input name:";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Add an input to the function.";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "inputs";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Add, remove, or reorder inputs to this function.";  // untranslated
+Blockly.Msg["REDO"] = "ເຮັດຄືນ";
+Blockly.Msg["REMOVE_COMMENT"] = "ເອົາຄຳອະທິບາàºàº­àº­àº";
+Blockly.Msg["RENAME_VARIABLE"] = "ປ່ຽນຊື່ຕົວà»àº›...";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "ປ່ຽນຊື່ຕົວà»àº› '%1' àº—ັງà»àº»àº”ເປັນ:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "to %1 append text %2";  // untranslated
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Append some text to variable '%1'.";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "to lower case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "to Title Case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "to UPPER CASE";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Return a copy of the text in a different case.";  // untranslated
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "get first letter";  // untranslated
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "get letter # from end";  // untranslated
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "get letter #";  // untranslated
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "get last letter";  // untranslated
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "get random letter";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "in text %1 %2";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Returns the letter at the specified position.";  // untranslated
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";  // untranslated
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "count %1 in %2";  // untranslated
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Count how many times some text occurs within some other text.";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Add an item to the text.";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "join";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this text block.";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "to letter # from end";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "to letter #";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "to last letter";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "in text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "get substring from first letter";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "get substring from letter # from end";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "get substring from letter #";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Returns a specified portion of the text.";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "find first occurrence of text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "find last occurrence of text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "in text %1 %2 %3";  // untranslated
+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.";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 is empty";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Returns true if the provided text is empty.";  // untranslated
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "create text with";  // untranslated
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Create a piece of text by joining together any number of items.";  // untranslated
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "length of %1";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Returns the number of letters (including spaces) in the provided text.";  // untranslated
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "print %1";  // untranslated
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Print the specified text, number or other value.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Prompt for user for a number.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Prompt for user for some text.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "prompt for number with message";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "prompt for text with message";  // untranslated
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";  // untranslated
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "replace %1 with %2 in %3";  // untranslated
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Replace all occurances of some text within some other text.";  // untranslated
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";  // untranslated
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Reverses the order of the characters in the text.";  // untranslated
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://en.wikipedia.org/wiki/String_(computer_science)";  // untranslated
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "A letter, word, or line of text.";  // untranslated
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "trim spaces from both sides of";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "trim spaces from left side of";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "trim spaces from right side of";  // untranslated
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Return a copy of the text with spaces removed from one or both ends.";  // untranslated
+Blockly.Msg["TODAY"] = "ມື້ນີ້";
+Blockly.Msg["UNDO"] = "àºàº±àºšàº„ືນ";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "ລາàºàºàº²àº™";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Create 'set %1'";  // untranslated
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Returns the value of this variable.";  // untranslated
+Blockly.Msg["VARIABLES_SET"] = "set %1 to %2";  // untranslated
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Create 'get %1'";  // untranslated
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Sets this variable to be equal to the input.";  // untranslated
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "A variable named '%1' already exists.";  // untranslated
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "A variable named '%1' already exists for another type: '%2'.";  // untranslated
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something...";  // untranslated
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/lrc.js b/js/msg/js/lrc.js
new file mode 100644 (file)
index 0000000..29f83ba
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.lrc');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["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'";  // untranslated
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "ارزشت Ø¢Ù„شت Ú©Ùˆ:";
+Blockly.Msg["CLEAN_UP"] = "Clean up Blocks";  // untranslated
+Blockly.Msg["COLLAPSE_ALL"] = "Ú©ÙˆÚ†Ú© Ú©Ø±Ø¯Ù† Ø¨Ø±Ø´ØªÛŒØ§";
+Blockly.Msg["COLLAPSE_BLOCK"] = "Ú©ÙˆÚ†Ú© Ú©Ø±Ø¯Ù† Ø¨Ø±Ø´Øª";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "رن 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "رن 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";  // untranslated
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "نسوت";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "شیوسته";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "هر Ú©ÙˆÙ… Ø¯ Ø±Ù†Ú¯ÛŒØ§Ù†Ù‡ ÙˆØ§ Ù†Ø³ÙˆØª Ø¯Ø§Ø¦Ù‡ Ø¨ÛŒÙ‡ Ø¨Ù‡ Ø´ÛŒÙˆÙ†(0.0 - 1.0).";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://en.wikipedia.org/wiki/Color";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "یه Ø±Ù† Ø¯ Ø±Ù†Ú¯ Ø¯Ùˆ Ø§Ù†ØªØ®Ø§Ùˆ Ø¨Ú©ÛŒØ¯";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "رن Ø¨Ø®ØªÚ©ÛŒ";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "یه Ø±Ù†Ú¯ Ø¨Ø®ØªÚ©ÛŒ Ø§Ù†ØªØ®Ø§Ùˆ Ø¨Ú©ÛŒØ¯";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "آوی";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "سوز";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";  // untranslated
+Blockly.Msg["COLOUR_RGB_RED"] = "سور";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "رن ÙˆØ§";
+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.";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "حلقه Ù†Ù‡ Ø®Ø±Ø§Ùˆ Ú©Ùˆ";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "continue with next iteration of loop";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "حلقه Ø´ÙˆÙ…Ù„ Ø¨ÛŒÙ‡ Ù†Ù‡ Ø®Ø±Ø§Ùˆ Ú©Ùˆ";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "Skip the rest of this loop, and continue with the next iteration.";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "Warning: This block may only be used within a loop.";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "سی Ù‡Ø± Ù‚لم %1 Ø¯ Ù†ÙˆÙ… Ú¯Ù‡ %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "For each item in a list, set the variable '%1' to the item, and then do some statements.";  // untranslated
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "اشماردن ÙˆØ§ %1 Ø¯ %2 Ø³ÛŒ %3 ÙˆØ§ %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.";  // untranslated
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "Add a condition to the if block.";  // untranslated
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "Add a final, catch-all condition to the if block.";  // untranslated
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this if block.";  // untranslated
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "هنی";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "هنی Ø§Ø±";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "ار";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "If a value is true, then do some statements.";  // untranslated
+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.";  // untranslated
+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.";  // untranslated
+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.";  // untranslated
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://en.wikipedia.org/wiki/For_loop";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "انجوم Ø¨Ø¦Ù‡";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "%1 ØªÚ©Ø±Ø§Ø± Ú©Ùˆ Ú†Ù† Ø¨Ø§Ø±";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "Do some statements several times.";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "تا ØªÚ©Ø±Ø§Ø± Ú©Ùˆ";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "تا ØªÚ©Ø±Ø§Ø± Ú©Ùˆ";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "While a value is false, then do some statements.";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "While a value is true, then do some statements.";  // untranslated
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "Delete all %1 blocks?";  // untranslated
+Blockly.Msg["DELETE_BLOCK"] = "پاکسا Ú©Ø±Ø¯Ù† Ø¨Ø±Ø´Øª";
+Blockly.Msg["DELETE_VARIABLE"] = "Delete the '%1' variable";  // untranslated
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Delete %1 uses of the '%2' variable?";  // untranslated
+Blockly.Msg["DELETE_X_BLOCKS"] = "پاکسا Ú©Ø±Ø¯Ù†%1 Ø¯ Ø¨Ø±Ø´ØªÛŒØ§";
+Blockly.Msg["DISABLE_BLOCK"] = "ناکشتگر Ú©Ø±Ø¯Ù† Ø¨Ø±Ø´Øª";
+Blockly.Msg["DUPLICATE_BLOCK"] = "Ú©Ù¾ÛŒ Ú©Ø±Ø¯Ù†";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicate Comment";  // untranslated
+Blockly.Msg["ENABLE_BLOCK"] = "کنشتگر Ú©Ø±Ø¯Ù† Ø¨Ø±Ø´Øª";
+Blockly.Msg["EXPAND_ALL"] = "Ú¯Ù¾ Ú©Ø±Ø¯Ù† Ø¨Ø±Ø´ØªÛŒØ§";
+Blockly.Msg["EXPAND_BLOCK"] = "Ú¯Ù¾ Ú©Ø±Ø¯Ù† Ø¨Ø±Ø´Øª";
+Blockly.Msg["EXTERNAL_INPUTS"] = "داده ÛŒØ§ ÙˆÙ‡ Ø¯Ø±ÛŒ";
+Blockly.Msg["HELP"] = "هومياری";
+Blockly.Msg["INLINE_INPUTS"] = "داده ÛŒØ§ Ù…ئنجا";
+Blockly.Msg["IOS_CANCEL"] = "Cancel";  // untranslated
+Blockly.Msg["IOS_ERROR"] = "Error";  // untranslated
+Blockly.Msg["IOS_OK"] = "OK";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Add Input";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Allow statements";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "This function has duplicate inputs.";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "INPUTS";  // untranslated
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "Add";  // untranslated
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Add Variable";  // untranslated
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "Delete";  // untranslated
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "You can't use an empty variable name.";  // untranslated
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Rename";  // untranslated
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Variable name";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "یه Ú¯Ù„ Ù†ÙˆÙ… Ú¯Ù‡ Ø­Ø§Ù„ÛŒ Ø±Ø§Ø³ Ø¨Ú©ÛŒØª";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Returns a list, of length 0, containing no data records";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "نوم Ú¯Ù‡";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this list block.";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "create list with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Add an item to the list.";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Create a list with any number of items.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "اولی";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "# ØªØ§ Ø¢Ø®Ø±";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "گرتن";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "گرتن Ùˆ Ø¬Ø§ÙˆÙ‡ Ø¬Ø§ Ø¨ÛŒØ¦Ù†";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "آخر";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "بختكی";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "ؤرداشتن";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Returns the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Returns the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Returns the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Returns a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "Removes and returns the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "Removes and returns the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "Removes and returns the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Removes and returns a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "Removes the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "Removes the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "Removes the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Removes a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "to # from end";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "سی#";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "سی Ø¢Ø®Ø±";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "get sub-list from first";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "get sub-list from # from end";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "get sub-list from #";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Creates a copy of the specified portion of a list.";  // untranslated
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 is the last item.";  // untranslated
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 is the first item.";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "find first occurrence of item";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "find last occurrence of item";  // untranslated
+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.";  // untranslated
+Blockly.Msg["LISTS_INLIST"] = "د Ù†ÙˆÙ… Ú¯Ù‡";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 Ø­Ø§Ù„یه";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Returns true if the list is empty.";  // untranslated
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "length of %1";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Returns the length of a list.";  // untranslated
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "create list with item %1 repeated %2 times";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Creates a list consisting of the given value repeated the specified number of times.";  // untranslated
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";  // untranslated
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Reverse a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "Ú†ÛŒ";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "بنه Ø¯";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Inserts the item at the start of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Inserts the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Append the item to the end of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Inserts the item randomly in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Sets the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Sets the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Sets the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Sets a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";  // untranslated
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "ascending";  // untranslated
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "descending";  // untranslated
+Blockly.Msg["LISTS_SORT_TITLE"] = "sort %1 %2 %3";  // untranslated
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Sort a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "alphabetic, ignore case";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "numeric";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "alphabetic";  // untranslated
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "make list from text";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "make text from list";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Join a list of texts into one text, separated by a delimiter.";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Split text into a list of texts, breaking at each delimiter.";  // untranslated
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "with delimiter";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "غلط";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "هم ØºÙ„Ø· Ùˆ Ù‡Ù… Ø±Ø§Ø³ ÙˆØ±Ú¯Ù†";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "راست Ùˆ Ø¯ÙˆØ±ÙˆØ³Øª";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://en.wikipedia.org/wiki/Inequality_(mathematics)";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Return true if both inputs equal each other.";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Return true if the first input is greater than the second input.";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Return true if the first input is greater than or equal to the second input.";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "Return true if the first input is smaller than the second input.";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "Return true if the first input is smaller than or equal to the second input.";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "Return true if both inputs are not equal to each other.";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "نه %1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "Returns true if the input is false. Returns false if the input is true.";  // untranslated
+Blockly.Msg["LOGIC_NULL"] = "خمثی";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";  // untranslated
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "Returns null.";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_AND"] = "Ùˆ";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "یا";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "Return true if both inputs are true.";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "Return true if at least one of the inputs is true.";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "آزماشت Ú©Ø±Ø¯Ù†";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "ار ØºÙ„Ø· Ø¨ÛŒ";
+Blockly.Msg["LOGIC_TERNARY_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.";  // untranslated
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://en.wikipedia.org/wiki/Arithmetic";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "وه Ø§Ù†Ø§Ø²Ù‡ Ø¯Ùˆ Ú¯Ù„ Ø´Ù…اره ÙˆØ±Ú¯Ù†.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Return the quotient of the two numbers.";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Return the difference of the two numbers.";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Return the product of the two numbers.";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Return the first number raised to the power of the second number.";  // untranslated
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";
+Blockly.Msg["MATH_CHANGE_TITLE"] = "آلشت Ø¨ÙƒÙŠØ¯ %1 ÙˆØ§ %2";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Add a number to variable '%1'.";  // untranslated
+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).";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "constrain %1 low %2 high %3";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Constrain a number to be between the specified limits (inclusive).";  // untranslated
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";  // untranslated
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "یه ÙˆØ§ Ø¨Ù‡Ø± Ø¨ÛŒÙ‡";
+Blockly.Msg["MATH_IS_EVEN"] = "همیشه Ù‡ÛŒØ¦Ø´";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "منÙیه";
+Blockly.Msg["MATH_IS_ODD"] = "تهنائه";
+Blockly.Msg["MATH_IS_POSITIVE"] = "مثبته";
+Blockly.Msg["MATH_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.";  // untranslated
+Blockly.Msg["MATH_IS_WHOLE"] = "همشه";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://en.wikipedia.org/wiki/Modulo_operation";
+Blockly.Msg["MATH_MODULO_TITLE"] = "remainder of %1 ÷ %2";  // untranslated
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Return the remainder from dividing the two numbers.";  // untranslated
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";  // untranslated
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://en.wikipedia.org/wiki/Number";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "یه Ø´Ù…اره.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "مینجاگه Ù†ÙˆÙ… Ú¯Ù‡";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "بیشترونه Ø¯ Ù†ÙˆÙ…Ú¯Ù‡";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "مینجا Ù†ÙˆÙ… Ú¯Ù‡";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "کمترونه Ø¯ Ù†ÙˆÙ…Ú¯Ù‡";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "بیشری Ø¯ Ù†ÙˆÙ…Ú¯Ù‡";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "random item of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "standard deviation of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "جم Ú©Ø±Ø¯Ù† Ù†ÙˆÙ…Ú¯Ù‡";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Return the average (arithmetic mean) of the numeric values in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "Return the largest number in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "Return the median number in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "Return the smallest number in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Return a list of the most common item(s) in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Return a random element from the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Return the standard deviation of the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Return the sum of all the numbers in the list.";  // untranslated
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "random fraction";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Return a random fraction between 0.0 (inclusive) and 1.0 (exclusive).";  // untranslated
+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";  // untranslated
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Return a random integer between the two specified limits, inclusive.";  // untranslated
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://en.wikipedia.org/wiki/Rounding";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "گرد Ú©Ø±Ø¯Ù†";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "وه Ù‡Ø§Ø± Ú¯Ø±Ø¯ Ú©Ø±Ø¯Ù†";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "وه Ø±Ùˆ Ú¯Ø±Ø¯ Ú©Ø±Ø¯Ù†";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Round a number up or down.";  // untranslated
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://en.wikipedia.org/wiki/Square_root";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "تموم Ùˆ Ú©Ù…ال";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "چارسوک Ø±ÛŒØ´Ù‡";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Return the absolute value of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Return e to the power of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "Return the natural logarithm of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "Return the base 10 logarithm of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Return the negation of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Return 10 to the power of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Return the square root of a number.";  // untranslated
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";  // untranslated
+Blockly.Msg["MATH_TRIG_ACOS"] = "acos";  // untranslated
+Blockly.Msg["MATH_TRIG_ASIN"] = "asin";  // untranslated
+Blockly.Msg["MATH_TRIG_ATAN"] = "atan";  // untranslated
+Blockly.Msg["MATH_TRIG_COS"] = "cos";  // untranslated
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://en.wikipedia.org/wiki/Trigonometric_functions";
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";  // untranslated
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Return the arccosine of a number.";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Return the arcsine of a number.";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Return the arctangent of a number.";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Return the cosine of a degree (not radian).";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Return the sine of a degree (not radian).";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Return the tangent of a degree (not radian).";  // untranslated
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Create colour variable...";  // untranslated
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Create number variable...";  // untranslated
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Create string variable...";  // untranslated
+Blockly.Msg["NEW_VARIABLE"] = "آلشتگر ØªØ§Ø²Ù‡...";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "نوم Ø¢Ù„شتگر ØªØ§Ø²Ù‡:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "New variable type:";  // untranslated
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "allow statements";  // untranslated
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "وا:";
+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'.";  // untranslated
+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.";  // untranslated
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "وا:";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "راس Ú©Ø±Ø¯Ù†%1";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Describe this function...";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "یه Ú©Ø§Ø± Ø§Ù†Ø¬ÙˆÙ… Ø¨ÛŒØ¦Øª";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "سی";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Creates a function with no output.";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "ورگنیئن";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "Creates a function with an output.";  // untranslated
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "Warning: This function has duplicate parameters.";  // untranslated
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "Highlight function definition";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "If a value is true, then return a second value.";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "Warning: This block may be used only within a function definition.";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "نوم Ø¯Ø§Ø¯Ù‡:";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Add an input to the function.";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "داده ÛŒØ§";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Add, remove, or reorder inputs to this function.";  // untranslated
+Blockly.Msg["REDO"] = "Redo";  // untranslated
+Blockly.Msg["REMOVE_COMMENT"] = "نظر Ø¬Ø§ ÙˆÙ‡ Ø¬Ø§ Ú©Ùˆ";
+Blockly.Msg["RENAME_VARIABLE"] = "د Ù†Ùˆ Ù†ÙˆÙ… Ù†ÛŒØ§Ø¦Ù† Ø¢Ù„شتگر...";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "د Ù†Ùˆ Ù†ÙˆÙ… Ù†ÛŒØ§Ø¦Ù† %1 Ø¯ ØªÙ…وم Ø¢Ù„شتگریا Ø¯:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "to %1 append text %2";  // untranslated
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Append some text to variable '%1'.";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "سی ÙˆØ§Ø¬ Ú©Ø¤Ú†Ú©";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "to Title Case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "سی Ø­Ø±Ù Ú¯Ù¾";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Return a copy of the text in a different case.";  // untranslated
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "get first letter";  // untranslated
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "get letter # from end";  // untranslated
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "get letter #";  // untranslated
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "get last letter";  // untranslated
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "get random letter";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "in text %1 %2";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Returns the letter at the specified position.";  // untranslated
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";  // untranslated
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "count %1 in %2";  // untranslated
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Count how many times some text occurs within some other text.";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Add an item to the text.";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "پیوسن";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this text block.";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "سی ÙˆØ§Ø¬# ØªØ§ Ø¢Ø®Ø±";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "سی ÙˆØ§Ø¬#";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "سی Ø¢Ø®Ø±ÛŒÙ† ÙˆØ§Ø¬";
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "د Ù…تن";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "get substring from first letter";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "get substring from letter # from end";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "get substring from letter #";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Returns a specified portion of the text.";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "find first occurrence of text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "find last occurrence of text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "د Ù…تن %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.";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 Ø­Ø§Ù„یه";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Returns true if the provided text is empty.";  // untranslated
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "راس Ú©Ø±Ø¯Ù† Ù…تن ÙˆØ§";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Create a piece of text by joining together any number of items.";  // untranslated
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "length of %1";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Returns the number of letters (including spaces) in the provided text.";  // untranslated
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "print %1";  // untranslated
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Print the specified text, number or other value.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Prompt for user for a number.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Prompt for user for some text.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "prompt for number with message";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "prompt for text with message";  // untranslated
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";  // untranslated
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "replace %1 with %2 in %3";  // untranslated
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Replace all occurances of some text within some other text.";  // untranslated
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";  // untranslated
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Reverses the order of the characters in the text.";  // untranslated
+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.";  // untranslated
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "trim spaces from both sides of";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "trim spaces from left side of";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "trim spaces from right side of";  // untranslated
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Return a copy of the text with spaces removed from one or both ends.";  // untranslated
+Blockly.Msg["TODAY"] = "ئمروٙ";
+Blockly.Msg["UNDO"] = "Undo";  // untranslated
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "قلم";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Create 'set %1'";  // untranslated
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Returns the value of this variable.";  // untranslated
+Blockly.Msg["VARIABLES_SET"] = "میزوکاری %1 Ø³ÛŒ %2";
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Create 'get %1'";  // untranslated
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Sets this variable to be equal to the input.";  // untranslated
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "A variable named '%1' already exists.";  // untranslated
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "A variable named '%1' already exists for another type: '%2'.";  // untranslated
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something...";  // untranslated
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/lt.js b/js/msg/js/lt.js
new file mode 100644 (file)
index 0000000..8fb34c2
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.lt');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "Palikti komentarÄ…";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "Negalima iÅ¡trinti kintamojo '%1', nes jis yra dalis funkcijos '%2'";
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "Keisti reikÅ¡mÄ™:";
+Blockly.Msg["CLEAN_UP"] = "IÅ¡valyti blokus";
+Blockly.Msg["COLLAPSE_ALL"] = "Suskleisti blokus";
+Blockly.Msg["COLLAPSE_BLOCK"] = "Suskleisti blokÄ…";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "1 spalva";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "2 spalva";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";  // untranslated
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "santykis";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "sumaiÅ¡yk";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "SumaiÅ¡o dvi spalvas su pateiktu santykiu (0.0 - 1.0).";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://lt.wikipedia.org/wiki/Spalva";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "Pasirinkti spalvÄ… iÅ¡ paletÄ—s.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "atsitiktinÄ— spalva";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "Pasirinkti spalvÄ… atsitiktinai.";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "mÄ—lyna";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "žalia";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";  // untranslated
+Blockly.Msg["COLOUR_RGB_RED"] = "raudona";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "spalva su";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "SpalvÄ… galima sudaryti iÅ¡ raudonos, Å¾alios ir mÄ—lynos dedamųjų. Kiekvienos intensyvumas nuo 0 iki 100.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "nutraukti kartojimÄ…";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "šį kartÄ… praleisti likusius veiksmus ir tÄ™sti kartojimÄ…";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "Nutraukia (artimiausiÄ…) vykstantį kartojimÄ….";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "Praleidžia Å¾emiau iÅ¡vardintus kartojimo veiksmus (ir tÄ™sia darbÄ… nuo kartojimo pradinio veiksmo).";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "Atsargiai: Å¡is blokas gali bÅ«t naudojamas tik kartojimo bloko viduje.";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "kartok su kiekvienu %1 iÅ¡ sÄ…raÅ¡o %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "Kartok veiksmus, kol kintamasis \"%1\" paeiliui gauna kiekvienÄ… sÄ…raÅ¡o reikÅ¡mÄ™.";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "kartok, kai %1 kinta nuo %2 iki %3 po %4";
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "Imama kintamoji '%1' reikÅ¡mÄ— nuo pradinio skaiÄiaus iki pabaigos skaiÄiaus, skaiÄiuojant nustatytais intervalais ir atliekant nustatytus blokus.";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "PridÄ—ti sÄ…lygÄ… â€žjei“ blokui.";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "PridÄ—ti veiksmų vykdymo variantÄ…/\"Å¡akÄ…\", kai netenkinama nÄ— viena sÄ…lyga.";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Galite pridÄ—t/paÅ¡alinti/pertvarkyti  sÄ…lygų \"Å¡akas\".";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "kitu atveju";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "arba jei";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "jei";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "Jeigu sÄ…lyga tenkinama, tai atlik veiksmus.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "Jei sÄ…lyga tenkinama, atlikti jai priklausanÄius veiksmus, o jei ne -- atlikti kitus nurodytus veiksmus.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "Jei pirma sÄ…lyga tenkinama, atlikti jai priklausanÄius veiksmus, O jei ne, tikrinti antrÄ… sÄ…lygÄ… -- ir jei Å¡i tenkinama, atlikti jos veiksmus.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "Jei pirma sÄ…lyga tenkinama, atlikti jai priklausanÄius veiksmus, O jei ne, tikrinti antrÄ… sÄ…lygÄ… -- ir jei Å¡i tenkinama, atlikti jos veiksmus. Kitais atvejais -- atlikti paskutinio bloko veiksmus.";
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://en.wikipedia.org/wiki/For_loop";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "daryti";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "pakartokite %1 kartus";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "Leidžia atlikti iÅ¡vardintus veiksmus kelis kartus.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "kartok, kol pasieksi";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "kartok kol";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "Kartoja veiksmus, kol bus pasiekta nurodyta sÄ…lyga.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "Kartoja veiksmus, kol sÄ…lyga tenkinama.";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "IÅ¡trinti visus %1 blokus?";
+Blockly.Msg["DELETE_BLOCK"] = "IÅ¡trinti blokÄ…";
+Blockly.Msg["DELETE_VARIABLE"] = "IÅ¡trinti â€ž%1“ kintamÄ…jį";
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "IÅ¡trinti %1 '%2' panaudojimus?";
+Blockly.Msg["DELETE_X_BLOCKS"] = "IÅ¡trinti %1 blokus";
+Blockly.Msg["DISABLE_BLOCK"] = "IÅ¡jungti blokÄ…";
+Blockly.Msg["DUPLICATE_BLOCK"] = "Kopijuoti";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Dubliuoti KomentarÄ…";
+Blockly.Msg["ENABLE_BLOCK"] = "Ä®jungti blokÄ…";
+Blockly.Msg["EXPAND_ALL"] = "IÅ¡skleisti blokus";
+Blockly.Msg["EXPAND_BLOCK"] = "IÅ¡skleisti blokÄ…";
+Blockly.Msg["EXTERNAL_INPUTS"] = "IÅ¡dÄ—styti stulpeliu, kai daug parametrų";
+Blockly.Msg["HELP"] = "Pagalba";
+Blockly.Msg["INLINE_INPUTS"] = "IÅ¡dÄ—styti vienoje eilutÄ—je";
+Blockly.Msg["IOS_CANCEL"] = "AtÅ¡aukti";
+Blockly.Msg["IOS_ERROR"] = "Klaida";
+Blockly.Msg["IOS_OK"] = "Gerai";
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ PridÄ—ti Ä®vestį";
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Allow statements";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "Å i funkcija turi pasikartojanÄias Ä¯vestis";
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "Ä®VESTYS";
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "PridÄ—ti";
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+PridÄ—ti KintamÄ…jį";
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "IÅ¡trinti";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "Negalite naudoti tuÅ¡Äio kintamojo pavadinimo.";
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Pervadinti";
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Kintamojo pavadinimas";
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "tuÅ¡Äias sÄ…raÅ¡as";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Grąžina sÄ…raÅ¡Ä…, ilgio 0, neturintį duomenų";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "sÄ…raÅ¡as";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "PridÄ—ti, paÅ¡alinti arba paskirstyti skyrius, kad pertvarkyti Å¡Ä¯ teksto blokÄ….";
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "sukurti sÄ…raÅ¡Ä… su";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "PridÄ—ti elementÄ… Ä¯ sÄ…raÅ¡Ä….";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Sukurti sÄ…raÅ¡Ä… iÅ¡ bet kokio skaiÄiaus elementų.";
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "pirmas";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "# nuo galo";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "paimk";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "paimk ir iÅ¡trink";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "paskutinis";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "atsitiktinis";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "paÅ¡alinti";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Grąžina pirmÄ…jį sÄ…raÅ¡o elementÄ….";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Gražina objektÄ… Ä¯ nurodyta pozicijÄ… sÄ…raÅ¡e.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Grąžina paskutinį elementÄ… iÅ¡ sÄ…raÅ¡o.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Grąžina atsitiktinį elementÄ… iÅ¡ sÄ…raÅ¡o.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "Removes and returns the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "Removes and returns the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "Removes and returns the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Removes and returns a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "PaÅ¡alina pirmÄ… objektÄ… sÄ…raÅ¡e.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "PaÅ¡alina objektÄ… iÅ¡ nurodytos vietos sÄ…raÅ¡e.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "PaÅ¡alina paskutinį objektÄ… sÄ…raÅ¡e.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "PaÅ¡alina atsitiktinį objektÄ… sÄ…raÅ¡e.";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "iki # nuo galo";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "iki #";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "iki galo";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "sÄ…raÅ¡o dalis nuo pradžios";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "sÄ…raÅ¡o dalis nuo # nuo galo";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "sÄ…raÅ¡o dalis nuo #";
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Sukuria nurodytos sÄ…raÅ¡o dalies kopijÄ….";
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 yra paskutinis objektas.";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 yra pirmasis objektas.";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "rask pirmÄ… reikÅ¡mÄ™";
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "rask paskutinÄ™ reikÅ¡mÄ™";
+Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "Grąžina pirmos/paskutinÄ—s reikÅ¡mÄ—s eilÄ—s nr. sÄ…raÅ¡e. Grąžina %1, jei reikÅ¡mÄ—s neranda.";
+Blockly.Msg["LISTS_INLIST"] = "sÄ…raÅ¡e";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 yra tuÅ¡Äias";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Grąžina â€žtrue“, jeigu sÄ…raÅ¡as tuÅ¡Äias.";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "ilgis %1";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Grąžina sÄ…raÅ¡o ilgį.";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "sukurk sÄ…raÅ¡Ä…, kuriame %1 bus %2 kartus";
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Creates a list consisting of the given value repeated the specified number of times.";  // untranslated
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";  // untranslated
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Reverse a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "kaip";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "įterpk Ä¯ vietÄ…";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "priskirk elementui";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Ä®terpia objektÄ… Ä¯ sÄ…raÅ¡o pradžiÄ….";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Ä®terpiÄ… objektÄ… Ä¯ nurodytÄ… pozicijÄ… sÄ…raÅ¡e.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Append the item to the end of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Ä®terpia objektÄ… Ä¯ atsitiktinÄ™ sÄ…raÅ¡o vietÄ….";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Sets the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Sets the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Sets the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Sets a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "didÄ—janÄia tvarka";
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "mažėjanÄia tvarka";
+Blockly.Msg["LISTS_SORT_TITLE"] = "rÅ«Å¡iuoti %1 %2 %3";
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "RÅ«Å¡iuoti sÄ…raÅ¡o kopijÄ….";
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "abecÄ—lÄ—s, ignoruoti raidžių dydį";
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "skaitmeninis";
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "abÄ—cÄ—lÄ—s";
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "make list from text";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "make text from list";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Join a list of texts into one text, separated by a delimiter.";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Split text into a list of texts, breaking at each delimiter.";  // untranslated
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "su dalikliu";
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "klaidinga";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "ReikÅ¡mÄ— gali bÅ«ti \"teisinga\"/\"Taip\" arba \"klaidinga\"/\"Ne\".";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "tiesa";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://en.wikipedia.org/wiki/Inequality_(mathematics)";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Tenkinama, jei abu reiÅ¡kiniai lygÅ«s.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Grįžti tiesa, jei pirmoji Ä¯vestis didesnÄ— nei antroji Ä¯vestis.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Grįžti tiesa, jei pirma Ä¯vestis didesnÄ— arba lygi antrajai Ä¯vesÄiai.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "Grįžti tiesa, jei pirma Ä¯vestis mažesnÄ— nei antra Ä¯vestis.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "Grįžti tiesa, jei pirma Ä¯vestis mažesnÄ— arba lygi antrajai Ä¯vesÄiai.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "Grįžti tiesa, jeigu abi Ä¯vestys ne lygios tarpusavyje.";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "ne %1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "Grįžti tiesa, jei Ä¯vestis klaidinga. Grįžti klaidinga, jei Ä¯vestis teisinga.";
+Blockly.Msg["LOGIC_NULL"] = "nieko";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";  // untranslated
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "ReikÅ¡mÄ— nebuvo nurodyta...";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "ir";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "arba";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "Bus teisinga, kai abi sÄ…lygos bus tenkinamos.";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "Grįžti tiesa, jei bent viena Ä¯vestis teisinga.";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "sÄ…lyga";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "jei ne";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "jei taip";
+Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "Jeigu sÄ…lygÄ… tenkinama, grąžina pirmÄ… reikÅ¡mÄ™, o jei ne - antrÄ…jÄ….";
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://en.wikipedia.org/wiki/Arithmetic";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Grąžina dviejų skaiÄių sumÄ….";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Grąžina dviejų skaiÄių dalmenį.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Grąžina dviejų skaiÄių skirtumÄ….";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Grąžina dviejų skaiÄių sandaugÄ….";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Grąžina pirmÄ… skaiÄių pakeltÄ… laipsniu pagal antrÄ… skaiÄių.";
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";
+Blockly.Msg["MATH_CHANGE_TITLE"] = "padidink %1 (emptypage) %2";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Prideda skaiÄių prie kintamojo '%1'. Kai skaiÄius neigiamas - gaunasi atimtis.";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://en.wikipedia.org/wiki/Mathematical_constant";
+Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "Grįžti viena iÅ¡ pagrindinių konstantų: Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), or âˆž (begalybÄ—).";
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "apribok %1 tarp %2 ir %3";
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Apriboti skaiÄių, kad bÅ«tų tarp nustatytų ribų (imtinai).";
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";  // untranslated
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "yra dalus iÅ¡";
+Blockly.Msg["MATH_IS_EVEN"] = "yra lyginis";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "yra neigiamas";
+Blockly.Msg["MATH_IS_ODD"] = "yra nelyginis";
+Blockly.Msg["MATH_IS_POSITIVE"] = "yra teigiamas";
+Blockly.Msg["MATH_IS_PRIME"] = "yra pirminis";
+Blockly.Msg["MATH_IS_TOOLTIP"] = "Patikrina skaiÄiaus savybÄ™: (ne)lyginis/pirminis/sveikasis/teigiamas/neigiamas/dalus iÅ¡ x.";
+Blockly.Msg["MATH_IS_WHOLE"] = "yra sveikasis";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://en.wikipedia.org/wiki/Modulo_operation";
+Blockly.Msg["MATH_MODULO_TITLE"] = "dalybos liekana %1 ÷ %2";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Grįžti likuÄiu nuo dviejų skaiÄių dalybos.";
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";  // untranslated
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://lt.wikipedia.org/wiki/SkaiÄius";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "SkaiÄius.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "vidurkis";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "didžiausia reikÅ¡mÄ— sÄ…raÅ¡e";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "mediana sÄ…raÅ¡ui";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "mažiausia reikÅ¡mÄ— sÄ…raÅ¡e";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "statistinÄ— moda sÄ…raÅ¡ui";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "atsitiktinis elementas iÅ¡ sÄ…raÅ¡o";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "standartinis nuokrypis sÄ…raÅ¡e";
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "suma";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Grįžti vidurkiu (aritmetinis vidurkis) iÅ¡ skaitinių reikÅ¡mių sÄ…raÅ¡e.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "Grįžti didžiausiu skaiÄiumi sÄ…raÅ¡e.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "Grąžinti sÄ…raÅ¡o medianÄ….";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "Grįžti mažiausiu skaiÄiumi sÄ…raÅ¡e.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Grąžinti sÄ…raÅ¡Ä… dažniausių elementų sÄ…raÅ¡e.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Grąžinti atsitiktinį elementÄ… iÅ¡ sÄ…raÅ¡o.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Grįžti standartine pakraipa iÅ¡ sÄ…raÅ¡o.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "didžiausia reikÅ¡mÄ—";
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "atsitiktinÄ— trupmena";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "AtsitiktinÄ— trupmena nuo 0 (imtinai) iki 1 (neimtinai).";
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "atsitiktinis sveikas sk. nuo %1 iki %2";
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Grįžti atsitiktinį sveikÄ…jį skaiÄių tarp dviejų nustatytų ribų, imtinai.";
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://lt.wikipedia.org/wiki/Apvalinimas";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "apvalink";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "apvalink Å¾emyn";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "apvalink aukÅ¡tyn";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Suapvalinti skaiÄių Ä¯ Å¾emesnÄ™ ar aukÅ¡tesnÄ™ reikÅ¡mÄ™.";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://en.wikipedia.org/wiki/Square_root";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "modulis";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "kvadratinÄ— Å¡aknis";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "SkaiÄiaus modulis - reikÅ¡mÄ— be Å¾enklo (panaikina minusÄ…).";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Grąžinti skaiÄių laipsniu e.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "Grąžinti skaiÄiaus natÅ«rinį logaritmÄ….";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "Grįžti 10 pagrindinių logaritmų iÅ¡ skaiÄiaus.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Grąžina skaiÄiui prieÅ¡ingÄ… skaiÄių.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Grąžinti skaiÄių laipsniu 10.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Grįžti kvadratinÄ™ Å¡aknį iÅ¡ skaiÄiaus.";
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";  // untranslated
+Blockly.Msg["MATH_TRIG_ACOS"] = "acos";  // untranslated
+Blockly.Msg["MATH_TRIG_ASIN"] = "asin";  // untranslated
+Blockly.Msg["MATH_TRIG_ATAN"] = "atan";  // untranslated
+Blockly.Msg["MATH_TRIG_COS"] = "cos";  // untranslated
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://lt.wikipedia.org/wiki/TrigonometrinÄ—s_funkcijos";
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";  // untranslated
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Grąžinti skaiÄiaus arkkosinusÄ….";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Grąžinti skaiÄiaus arksinusÄ….";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Grąžinti skaiÄiaus arktangentÄ….";
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Grąžinti laipsnio kosinusÄ… (ne radiano).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Grąžinti laipsnio sinusÄ… (ne radiano).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Grąžinti laipsnio tangentÄ… (ne radiano).";
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Sukurti spalvos kintamÄ…jį...";
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Sukurti skaiÄiaus kintamÄ…jį...";
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Create string variable...";  // untranslated
+Blockly.Msg["NEW_VARIABLE"] = "Sukurti kintamÄ…jį";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "Naujo kintamojo pavadinimas:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "Naujas kintamojo tipas:";
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "leisti vidinius veiksmus";
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "pagal:";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Vykdyti sukurtÄ… komandÄ… \"%1\".";
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Ä®vykdyti komandÄ… \"%1\" ir naudoti jos suskaiÄiuotÄ… (atiduotÄ…) reikÅ¡mÄ™.";
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "su:";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "Sukurti \"%1\"";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "ApibÅ«dinkite Å¡iÄ… funkcijÄ…...";
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "daryk kažkÄ…";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "komanda:";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Sukuria procedÅ«rÄ… - komandÄ…, kuri nepateikia jokio rezultato (tik atlieka veiksmus).";
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "duok";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "Sukuria funkcijÄ… - komandÄ…, kuri ne tik atlieka veiksmus bet ir pateikia (grąžina/duoda) rezultatÄ….";
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "Å i komanda turi du vienodus gaunamų duomenų pavadinimus.";
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "Highlight function definition";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "Jeigu pirma reikÅ¡mÄ— yra teisinga (sÄ…lyga tenkinama), grąžina antrÄ… reikÅ¡mÄ™.";
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "PerspÄ—jimas: Å¡is blokas gali bÅ«ti naudojamas tik apraÅ¡ant funkcijÄ….";
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "parametro pavadinimas:";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "PridÄ—ti funkcijos parametrÄ… (gaunamų duomenų pavadinimÄ…).";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "gaunami duomenys (parametrai)";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Tvarkyti komandos gaunamus duomenis (parametrus).";
+Blockly.Msg["REDO"] = "Atkurti";
+Blockly.Msg["REMOVE_COMMENT"] = "PaÅ¡alinti komentarÄ…";
+Blockly.Msg["RENAME_VARIABLE"] = "Pervardyti kintamajį...";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Pervadinti visus '%1' kintamuosius Ä¯:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "prie %1 pridÄ—k tekstÄ… %2";
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "PridÄ—ti tekstÄ… prie kintamojo '%1'.";
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = " mažosiom raidÄ—m";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = " Pavadinimo RaidÄ—mis";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = " DIDŽIOSIOM RAIDÄ–M";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Kitu atvÄ—ju, grąžina teksto kopijÄ….";
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "gauti pirmÄ… raidÄ™";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "raidÄ— nuo galo #";
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "gauti raidÄ™ #";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "gauti paskutinÄ™ raidÄ™";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "gauti atsitiktinÄ™ raidÄ™";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "in text %1 %2";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Grąžina raidÄ™ Ä¯ tam tikrÄ… pozicijÄ….";
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "skaiÄius %1 iÅ¡ %2";
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "SuskaiÄiuoti, kiek kartų Å¡is tekstas kartojasi kitame tekste.";
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "PridÄ—ti teksto elementÄ….";
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "sujunk";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "PridÄ—ti, paÅ¡alinti arba paskirstyti skyrius, kad pertvarkyti Å¡Ä¯ teksto blokÄ….";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "iki raidÄ—s nuo galo #";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "iki raidÄ—s #";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "iki pabaigos";
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "tekste";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "dalis nuo pradžios";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "dalis nuo raidÄ—s #";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "dalis nuo raidÄ—s #";
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Grąžina tam tikrÄ… teksto dalį.";
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "rask,kur pirmÄ… kartÄ… paminÄ—ta";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "rask,kur paskutinį kartÄ… paminÄ—ta";
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "tekste %1 %2 %3";
+Blockly.Msg["TEXT_INDEXOF_TOOLTIP"] = "Grąžina pirmÄ…/paskutinÄ™ pirmo teksto reikÅ¡mÄ™ antrame tekste. Grąžina %1, jei tekstas nerastas.";
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 yra tuÅ¡Äias";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Grįžti tiesa, jei numatytas tekstas tuÅ¡Äias.";
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "sukurti tekstÄ… su";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Sukurti teksto fragmentÄ… sujungiant bet kokį skaiÄių fragmentų.";
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "teksto %1 ilgis";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Suranda teksto simbolių kiekį (įskaitant ir tarpus)";
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "spausdinti %1";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Spausdinti nurodytÄ… tekstÄ…, skaiÄių ar kitÄ… reikÅ¡mÄ™.";
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "PraÅ¡yti vartotojÄ… Ä¯vesti skaiÄių.";
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "PraÅ¡yti vartotojÄ… Ä¯vesti tekstÄ….";
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "papraÅ¡yk Ä¯vesti skaiÄių :";
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "papraÅ¡yk Ä¯vesti tekstÄ… :";
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "pakeisti %1 Ä¯ %2 Å¡iame %3";
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "PaÅ¡alinti visas teksto dalis kitame tekste.";
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "atbulai %1";
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Apversti teksto simbolių tvarkÄ….";
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://en.wikipedia.org/wiki/String_(computer_science)";
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "Tekstas (arba Å¾odis, ar raidÄ—)";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "iÅ¡valyk tarpus Å¡onuose";
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "iÅ¡valyk tarpus pradžioje";
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "iÅ¡valyk tarpus pabaigoje";
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Grąžina teksto kopijÄ…, paÅ¡alinus tarpus iÅ¡ vieno ar abiejų kraÅ¡tų.";
+Blockly.Msg["TODAY"] = "Å iandien";
+Blockly.Msg["UNDO"] = "Anuliuoti";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "elementas";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Sukurk \"priskirk %1\"";
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Returns the value of this variable.";  // untranslated
+Blockly.Msg["VARIABLES_SET"] = "priskirk %1 = %2";
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Sukurti 'kintamasis %1'";
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Sets this variable to be equal to the input.";  // untranslated
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "Kintamasis, pavadinimu '%1', jau egzistuoja.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "Kintamasis, pavadinimu '%1', jau egzistuoja kaip kitas tipas: '%2'.";
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "KažkÄ… pasakykite...";
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/lv.js b/js/msg/js/lv.js
new file mode 100644 (file)
index 0000000..3ff0290
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.lv');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "Pievienot komentÄru";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "Can't delete the variable '%1' because it's part of the definition of the function '%2'";  // untranslated
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "MainÄ«t vÄ“rtÄ«bu:";
+Blockly.Msg["CLEAN_UP"] = "Sakopt blokus";
+Blockly.Msg["COLLAPSE_ALL"] = "Sakļaut blokus";
+Blockly.Msg["COLLAPSE_BLOCK"] = "Sakļaut bloku";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "1. krÄsa";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "2. krÄsa";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";  // untranslated
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "attiecÄ«ba";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "sajaukt";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "Sajauc kopÄ divas krÄsas ar doto attiecÄ«bu (0.0 - 1.0).";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://lv.wikipedia.org/wiki/KrÄsa";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "IzvÄ“lÄ“ties krÄsu no paletes.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "nejauÅ¡a krÄsa";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "IzvÄ“lÄ“ties krÄsu pÄ“c nejauÅ¡Ä«bas principa.";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "zila";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "zaļa";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";  // untranslated
+Blockly.Msg["COLOUR_RGB_RED"] = "sarkana";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "veido krÄsu no";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "Izveidot krÄsu ar norÄdÄ«to daudzumu sarkanÄ, zaļĠun zilÄ toņu. Visas vÄ“rtÄ«bas ir starp 0 un 100.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "iet ÄrÄ no cikla";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "turpinÄt ar cikla nÄkamo iterÄciju";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "Iet ÄrÄ no iekļaujoÅ¡Ä cikla";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "NepildÄ«t atlikuÅ¡o cikla daļu bet sÄkt nÄkamo iterÄciju.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "BrÄ«dinÄjums: Å¡o bloku drÄ«kst izmantot tikai cikla iekÅ¡ienÄ“.";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "visiem %1 no saraksta %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "Katram objektam no saraksta pieÅ¡Ä·irt mainÄ«gajam '%1' Å¡o objektu un izpildÄ«t komandas.";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "skaitÄ«t %1 no %2 lÄ«dz %3 ar soli %4";
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "Ä»auj mainÄ«gajam '%1' pieņemt vÄ“rtÄ«bas no sÄkuma lÄ«dz beigu vÄ“rtÄ«bai, un izpildÄ«t iekļautos blokus katrai no Å¡Ä«m pieņemtajÄm vÄ“rtÄ«bÄm.";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "Pievienot nosacÄ«jumu \"ja\" blokam.";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "Pievienot gala nosacÄ«jumu \"ja\" blokam.";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Pievienot, noņemt vai mainÄ«t sekciju secÄ«bu Å¡im \"ja\" blokam.";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "citÄdi";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "citÄdi, ja";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "ja";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "Ja vÄ“rtÄ«ba ir patiesa, tad izpildÄ«t komandas.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "Ja vÄ“rtÄ«ba ir patiesa, tad izpildÄ«t pirmo bloku ar komandÄm. CitÄdi izpildÄ«t otro bloku ar komandÄm.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "Ja pirmÄ vÄ“rtÄ«ba ir patiesa, tad izpildÄ«t pirmo bloku ar komandÄm. CitÄdi, ja otrÄ vÄ“rtÄ«ba ir patiesa, izpildÄ«t otro bloku ar komandÄm.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "Ja pirmÄ vÄ“rtÄ«ba ir patiesa, tad izpildÄ«t pirmo bloku ar komandÄm. CitÄdi, ja otrÄ vÄ“rtÄ«ba ir patiesa, izpildÄ«t otro bloku ar komandÄm. Ja neviena no vertÄ«bÄm nav patiesa, tad izpildÄ«t pÄ“dÄ“jo bloku ar komandÄm.";
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://lv.wikipedia.org/wiki/Cikls";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "izpildi";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "atkÄrtot %1 reizes";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "IzpildÄ«t komandas vairÄkas reizes.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "atkÄrtot lÄ«dz";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "atkÄrtot kamÄ“r";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "IzpildÄ«t komandas, kamÄ“r vÄ“rtÄ«ba ir nepatiesa.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "IzpildÄ«t komandas, kamÄ“r vÄ“rtÄ«ba ir patiesa.";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "IzdzÄ“st visus %1 blokus?";
+Blockly.Msg["DELETE_BLOCK"] = "Izmest bloku";
+Blockly.Msg["DELETE_VARIABLE"] = "IzdzÄ“st mainÄ«go \"%1\"";
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "MainÄ«gais \"%2\" tiek izmantots %1 vietÄs. DzÄ“st?";
+Blockly.Msg["DELETE_X_BLOCKS"] = "Izmest %1 blokus";
+Blockly.Msg["DISABLE_BLOCK"] = "AtspÄ“jot bloku";
+Blockly.Msg["DUPLICATE_BLOCK"] = "DublÄ“t";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicate Comment";  // untranslated
+Blockly.Msg["ENABLE_BLOCK"] = "IespÄ“jot bloku";
+Blockly.Msg["EXPAND_ALL"] = "IzvÄ“rst blokus";
+Blockly.Msg["EXPAND_BLOCK"] = "IzvÄ“rst bloku";
+Blockly.Msg["EXTERNAL_INPUTS"] = "Ä€rÄ“jie ievaddati";
+Blockly.Msg["HELP"] = "PalÄ«dzÄ«ba";
+Blockly.Msg["INLINE_INPUTS"] = "IekÅ¡Ä“jie ievaddati";
+Blockly.Msg["IOS_CANCEL"] = "Atcelt";
+Blockly.Msg["IOS_ERROR"] = "Kļūda";
+Blockly.Msg["IOS_OK"] = "Labi";
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Add Input";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Allow statements";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "This function has duplicate inputs.";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "INPUTS";  // untranslated
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "Pievienot";
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Pievienot mainÄ«go";
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "DzÄ“st";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "You can't use an empty variable name.";  // untranslated
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "PÄrsaukt";
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "MainÄ«gÄ nosaukums";
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "izveidot tukÅ¡u sarakstu";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Izveidot sarakstu bez elementiem tajÄ.";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "saraksts";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Pievienot, noņemt vai mainÄ«t sekciju secÄ«bu Å¡im \"saraksta\" blokam.";
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "izveidot sarakstu no";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Pievienot objektu sarakstam.";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Izveidot sarakstu no jebkura skaita vienÄ«bu.";
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "pirmo";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "no beigÄm numur";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "paņemt";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "paņemt uz dzÄ“st";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "pÄ“dÄ“jo";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "nejauÅ¡i izvÄ“lÄ“tu";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "dzÄ“st";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Atgriež pirmo saraksta elementu.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Atgriež norÄdÄ«to elementu no saraksta.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Atgriež pÄ“dÄ“jo saraksta elementu.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Atgriež nejauÅ¡i izvÄ“lÄ“tu saraksta elementu";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "Atgriež un izdzÄ“Å¡ saraksta pirmo elementu.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "Atgriež un izdzÄ“Å¡ no saraksta norÄdÄ«to elementu.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "Atgriež un izdzÄ“Å¡ saraksta pÄ“dÄ“jo elementu.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Atgriež un izdzÄ“Å¡ no saraksta nejauÅ¡i izvÄ“lÄ“tu elementu.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "IzdÄ“Å¡ pirmo saraksta elementu.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "IzdÄ“Å¡ norÄdÄ«to elementu no saraksta.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "IzdÄ“Å¡ pÄ“dÄ“jo saraksta elementu.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "IzdzÄ“Å¡ no saraksta nejauÅ¡i izvÄ“lÄ“tu elementu.";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "lÄ«dz pozÄ«cijai no beigÄm";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "lÄ«dz pozÄ«cijai";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "lÄ«dz beigÄm";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "paņemt apakÅ¡sarakstu no sÄkuma";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "paņemt apakÅ¡sarakstu no beigÄm no pozÄ«cijas";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "paņemt apakÅ¡sarakstu no pozÄ«cijas";
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "NokopÄ“t daļu no dotÄ saraksta.";
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "Saraksta elementu numerÄcija no beigÄm sÄkas no %1";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "Saraksta elementu numerÄcija sÄkas no %1";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "atrast pirmo elementu, kas vienÄds ar";
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "atrast pÄ“dÄ“jo elementu, kas vienÄds ar";
+Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "Atgriež pozÄ«ciju sarakstÄ, kurÄ atrodas dotais objekts.  Atgriež %1 ja objekts neatrodas sarakstÄ.";
+Blockly.Msg["LISTS_INLIST"] = "sarakstÄ";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 ir tukÅ¡s";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Patiess, ja saraksts ir tukÅ¡s.";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "%1 garums";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Atgriež elementu skaitu srakstÄ.";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "saraksts no %1 atkÄrtots %2 reizes";
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Izveido sarakstu, kas sastÄv no dotÄs vÄ“rtÄ«bas noteiktu reižu skaita.";
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";  // untranslated
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Reverse a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "kÄ";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "ievieto";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "aizvieto";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Ievieto elementu saraksta sÄkumÄ.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Ievieto sarakstÄ elementu norÄdÄ«tajÄ pozÄ«cijÄ.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Pievieno elementu saraksta beigÄs.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Ievieto sarakstÄ jaunu elementu nejauÅ¡i izvÄ“lÄ“tÄ pozÄ«cijÄ.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Aizvieto elementu saraksta sÄkumÄ.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Aizvieto sarakstÄ elementu norÄdÄ«tajÄ pozÄ«cijÄ.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Aizvieto elementu saraksta beigÄs.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Aizvieto sarakstÄ elementu nejauÅ¡i izvÄ“lÄ“tÄ pozÄ«cijÄ.";
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";  // untranslated
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "augoÅ¡Ä";
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "dilstoÅ¡Ä";
+Blockly.Msg["LISTS_SORT_TITLE"] = "SakÄrtot sarakstu no %3 elementiem %2 secÄ«bÄ %1";
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Saraksta sakÄrtota kopija.";
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "pÄ“c alfabÄ“ta, ignorÄ“t mazos/lielos burtus";
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "skaitliski";
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "pÄ“c alfabÄ“ta";
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "vÄrdu saraksts no teksta";
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "izveidot tekstu no saraksta";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Apvienot tekstu izmantojot atdalÄ«tÄju.";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "SadalÄ«t tekstu vÄrdos izmantojot atdalÄ«tÄju.";
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "ar atdalÄ«tÄju";
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "aplams";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "Atgriež rezultÄtu \"patiess\" vai \"aplams\".";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "patiess";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://lv.wikipedia.org/wiki/Nevien%C4%81d%C4%ABba";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Patiess, ja abas puses ir vienÄdas.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Patiess, ja kreisÄ puse ir lielÄka par labo pusi.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Patiess, ja kreisÄ puse ir lielÄka vai vienÄda ar labo pusi.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "Patiess, ja kreisÄ puse ir mazÄka par labo pusi.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "Patiess, ja kreisÄ puse ir mazÄka vai vienÄda ar labo pusi.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "Patiess, ja abas puses nav vienÄdas.";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "ne %1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "Patiess, ja arguments ir aplams.";
+Blockly.Msg["LOGIC_NULL"] = "nekas";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";  // untranslated
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "Atgriež neko.";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "un";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "vai";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "Patiess, ja abas puses ir patiesas.";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "Patiess, ja vismaz viena puse ir patiesa.";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "nosacÄ«jums";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "ja aplams";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "ja patiess";
+Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "PÄrbaudÄ«t nosacÄ«jumu. Ja 'nosacÄ«jums' ir patiess, atgriež vÄ“rtÄ«bu 'ja patiess', pretÄ“jÄ gadÄ«jumÄ vÄ“rtÄ«bu 'ja aplams'.";
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://lv.wikipedia.org/wiki/Aritm%C4%93tika";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Atgriež divu skaitļu summu.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Atgriež divu skaitļu dalÄ«jumu.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Atgriež divu skaitļu starpÄ«bu.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Atgriež divu skaitļu reizinÄjumu.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Atgriež pirmo skaitli kÄpinÄtu pakÄpÄ“ otrais skaitlis.";
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";
+Blockly.Msg["MATH_CHANGE_TITLE"] = "izmainÄ«t %1 par %2";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "PieskaitÄ«t doto skaitli mainÄ«gajam '%1'.";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://en.wikipedia.org/wiki/Mathematical_constant";
+Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "Atgriež kÄdu no matemÄtikas konstantÄ“m: Ï€ (3.141…), e (2.718…), Ï† (1.618…), âˆš(2) (1.414…), âˆš(½) (0.707…), âˆž (bezgalÄ«ba).";
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "ierobežot %1 no %2 lÄ«dz %3";
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Ierobežo skaitli no noteiktajÄs robežÄs (ieskaitot galapunktus).";
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";  // untranslated
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "dalÄs bez atlikuma ar";
+Blockly.Msg["MATH_IS_EVEN"] = "ir pÄra";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "ir negatÄ«vs";
+Blockly.Msg["MATH_IS_ODD"] = "ir nepÄra";
+Blockly.Msg["MATH_IS_POSITIVE"] = "ir pozitÄ«vs";
+Blockly.Msg["MATH_IS_PRIME"] = "ir pirmskaitlis";
+Blockly.Msg["MATH_IS_TOOLTIP"] = "PÄrbauda, vai skaitlis ir pÄra, nepÄra, vesels, pozitÄ«vs, negatÄ«vs vai dalÄs ar noteiktu skaitli. Atgriež \"patiess\" vai \"aplams\".";
+Blockly.Msg["MATH_IS_WHOLE"] = "ir vesels";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://en.wikipedia.org/wiki/Modulo_operation";
+Blockly.Msg["MATH_MODULO_TITLE"] = "atlikums no %1 ÷ %2";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Atlikums no divu skaitļu dalÄ«juma.";
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";  // untranslated
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://lv.wikipedia.org/wiki/Skaitlis";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "Skaitlis.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "vidÄ“jais";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "lielÄkais";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "mediÄna";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "mazÄkais";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "moda";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "nejauÅ¡s";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "standartnovirze";
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "summa";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Atgriež dotÄ saraksta vidÄ“jo aritmÄ“tisko vÄ“rtÄ«bu.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "Atgriež lielÄko vÄ“rtÄ«bu no saraksta.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "Atgriež dotÄ saraksta mediÄnas vÄ“rtÄ«bu.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "Atgriež mazÄko vÄ“rtÄ«bu no saraksta.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Atgriež dotÄ saraksta biežÄk sastopamÄs vÄ“rtÄ«bas (modas).";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Atgriež nejauÅ¡i izvÄ“lÄ“tu vÄ“rtÄ«bu no dotÄ saraksta.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Atgriež dotÄ saraksta standartnovirzi.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "SaskaitÄ«t visus skaitļus no dotÄ saraksta.";
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "nejauÅ¡s skaitlis [0..1)";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Atgriež nejauÅ¡u reÄlo skaitli robežÄs no 0 (iekļaujot) lÄ«dz 1 (neiekļaujot).";
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "nejauÅ¡s vesels skaitlis no %1 lÄ«dz %2";
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Atgriež nejauÅ¡u veselu skaitli dotajÄs robežÄs (iekļaujot galapunktus)";
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://en.wikipedia.org/wiki/Rounding";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "noapaļot";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "apaļot uz leju";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "apaļot uz augÅ¡u";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Noapaļot skaitli uz augÅ¡u vai uz leju.";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://lv.wikipedia.org/wiki/Kvadr%C4%81tsakne";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "absolÅ«tÄ vÄ“rtÄ«ba";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "kvadrÄtsakne";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Atgriež skaitļa absolÅ«to vÄ“rtÄ«bu.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Atgriež e pakÄpÄ“ dotais skaitlis.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "Atgriež skaitļa naturÄlo logaritmu.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "Atgriež skaitļa logaritmu pie bÄzes 10.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Atgriež pretÄ“jo skaitli.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Atgriež 10 pakÄpÄ“ dotais skaitlis.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Atgriež skaitļa kvadrÄtsakni.";
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";  // untranslated
+Blockly.Msg["MATH_TRIG_ACOS"] = "acos";  // untranslated
+Blockly.Msg["MATH_TRIG_ASIN"] = "asin";  // untranslated
+Blockly.Msg["MATH_TRIG_ATAN"] = "atan";  // untranslated
+Blockly.Msg["MATH_TRIG_COS"] = "cos";  // untranslated
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://lv.wikipedia.org/wiki/Trigonometrisk%C4%81s_funkcijas";
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";  // untranslated
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Arkkosinuss (grÄdos).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Arksinuss (grÄdos).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Arktangenss (grÄdos).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Kosinuss no grÄdiem (nevis radiÄniem).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Sinuss no grÄdiem (nevis radiÄniem).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Tangenss no grÄdiem (nevis radiÄniem).";
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Create colour variable...";  // untranslated
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Create number variable...";  // untranslated
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Create string variable...";  // untranslated
+Blockly.Msg["NEW_VARIABLE"] = "Izveidot mainÄ«go...";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "JaunÄ mainÄ«gÄ vÄrds:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "New variable type:";  // untranslated
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "atļaut apakÅ¡komandas";
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "ar:";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29";
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "IzpildÄ«t iepriekÅ¡ definÄ“tu funkcju '%1'.";
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29";
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "IzpildÄ«t iepriekÅ¡ definÄ“tu funkcju '%1' un izmantot tÄs rezultÄtu.";
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "ar:";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "Izveidot '%1' izsaukumu";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Funkcijas apraksts...";
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "darÄ«t kaut ko";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "funkcija";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Izveido funkciju, kas neatgriež rezultÄtu.";
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "atgriezt";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "Izveido funkciju, kas atgriež rezultÄtu.";
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "BrÄ«dinÄjums: funkcijai ir vienÄdi argumenti.";
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "Izcelt funkcijas definÄ«ciju";
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "Ja pirmÄ vÄ“rtÄ«ba ir \"patiesa\", tad atgriezt otro vÄ“rtÄ«bu.";
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "BrÄ«dinÄjums: Å o bloku var izmantot tikai funkcijas definÄ«cijÄ.";
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "arguments:";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Pievienot funkcijai argumentu.";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "argumenti";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Pievienot, pÄrkÄrtot vai dzÄ“st funkcijas argumentus.";
+Blockly.Msg["REDO"] = "Atcelt atsaukÅ¡anu";
+Blockly.Msg["REMOVE_COMMENT"] = "Noņemt komentÄru";
+Blockly.Msg["RENAME_VARIABLE"] = "PÄrdÄ“vÄ“t mainÄ«go...";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "PÄrdÄ“vÄ“jiet visus '%1' mainÄ«gos:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "tekstam %1 pievienot tekstu %2";
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Pievienot tekstu mainÄ«gajam '%1'.";
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "kÄ mazie burti";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "kÄ Nosaukuma Burti";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "kÄ LIELIE BURTI";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Atgriež teksta kopiju ar mainÄ«tiem lielajiem/mazajiem burtiem.";
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "paņemt pirmo burtu";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "paņemt no beigÄm burtu #";
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "paņemt burtu #";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "paņemt pÄ“dÄ“jo burtu";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "paņemt nejauÅ¡u burtu";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "in text %1 %2";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Atgriež burtu dotajÄ pozÄ«cijÄ.";
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";  // untranslated
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "count %1 in %2";  // untranslated
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Count how many times some text occurs within some other text.";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Pievienot tekstam objektu.";
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "savienot";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Pievienot, noņemt vai mainÄ«t sekciju secÄ«bu Å¡im \"teksta\" blokam.";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "lÄ«dz burtam nr (no beigÄm)";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "lÄ«dz burtam nr";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "lÄ«dz pÄ“dÄ“jam burtam";
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "no teksta";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "paņemt apakÅ¡virkni no sÄkuma";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "paņemt apakÅ¡virkni no beigÄm sÄkot ar burta nr";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "paņemt apakÅ¡virkni sÄkot no burta nr";
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Atgriež norÄdÄ«to teksta daļu.";
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "meklÄ“t pirmo vietu, kur sÄkas teksts";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "meklÄ“t pÄ“dÄ“jo vietu, kur sÄkas teksts";
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "tekstÄ %1 %2 %3";
+Blockly.Msg["TEXT_INDEXOF_TOOLTIP"] = "MeklÄ“ pirmÄ teksta rindu otrajÄ tekstÄ.  Atgriež pozÄ«ciju otrajÄ tekstÄ, kurÄ sÄkas pirmais teksts. Atgriež %1 ja pirmÄ teksta rinda nav atrasta.";
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 ir tukÅ¡s";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Patiess, ja teksts ir tukÅ¡s.";
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "veidot tekstu no";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Izveidot tekstu savienojot dotos argumentus.";
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "garums tekstam %1";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Atgriež burtu skaitu (ieskaitot atstarpes) dotajÄ tekstÄ.";
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "parÄdÄ«t %1";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "ParÄdÄ«t norÄdÄ«to tekstu vai skaitli.";
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "PalÅ«gt lietotÄju ievadÄ«t skaitli.";
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "PalÅ«gt lietotÄju ievadÄ«t tekstu.";
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "palÅ«gt ievadÄ«t skaitli ar ziņu";
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "palÅ«gt ievadÄ«t tekstu ar ziņu";
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";  // untranslated
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "replace %1 with %2 in %3";  // untranslated
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Replace all occurances of some text within some other text.";  // untranslated
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";  // untranslated
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Reverses the order of the characters in the text.";  // untranslated
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://en.wikipedia.org/wiki/String_(computer_science)";
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "Burts, vÄrds vai jebkÄda teksta rinda.";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "DzÄ“st atstarpes no abÄm pusÄ“m";
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "DzÄ“st atstarpes no sÄkuma";
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "DzÄ“st atstarpes no beigÄm";
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Atgriež teksta kopiju ar noņemtÄm atstarpÄ“m vienÄ vai otrÄ galÄ.";
+Blockly.Msg["TODAY"] = "Å odiena";
+Blockly.Msg["UNDO"] = "Atsaukt";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "vienums";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Izveidot pieÅ¡Ä·irÅ¡anu mainÄ«gajam %1";
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Atgriež mainÄ«gÄ vÄ“rtÄ«bu.";
+Blockly.Msg["VARIABLES_SET"] = "pieÅ¡Ä·irt mainÄ«gajam %1 vÄ“rtÄ«bu %2";
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Izveidot 'ņem %1'";
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "PieÅ¡Ä·irt mainÄ«gajam vÄ“rtÄ«bu.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "MainÄ«gais '%1' jau eksistÄ“.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "A variable named '%1' already exists for another type: '%2'.";  // untranslated
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something...";  // untranslated
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/mk.js b/js/msg/js/mk.js
new file mode 100644 (file)
index 0000000..99cc76c
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.mk');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["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'";  // untranslated
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "Смена Ð½Ð° Ð²Ñ€ÐµÐ´Ð½Ð¾ÑÑ‚:";
+Blockly.Msg["CLEAN_UP"] = "Clean up Blocks";  // untranslated
+Blockly.Msg["COLLAPSE_ALL"] = "Собери Ð±Ð»Ð¾ÐºÐ¾Ð²Ð¸";
+Blockly.Msg["COLLAPSE_BLOCK"] = "Собери Ð±Ð»Ð¾Ðº";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "боја 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "боја 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";  // untranslated
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "ÑоодноÑ";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "Ñмешај";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "Меша Ð´Ð²Ðµ Ð±Ð¾Ð¸ Ð²Ð¾ Ð´Ð°Ð´ÐµÐ½ ÑоодноѠ(0.0 - 1.0).";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://mk.wikipedia.org/wiki/Боја";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "Изберете Ð±Ð¾Ñ˜Ð° Ð¾Ð´ Ð¿Ð°Ð»ÐµÑ‚ата.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "Ñлучајна Ð±Ð¾Ñ˜Ð°";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "Избери Ð±Ð¾Ñ˜Ð° Ð½Ð° Ñ‚епка.";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "Ñина";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "зелена";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";  // untranslated
+Blockly.Msg["COLOUR_RGB_RED"] = "црвена";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "боја Ñо";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "Создајте Ð±Ð¾Ñ˜Ð° Ñо ÑƒÐºÐ°Ð¶Ð°Ð½Ð¸Ñ‚е Ð¸Ð·Ð½Ð¾Ñи Ð½Ð° Ñ†Ñ€Ð²ÐµÐ½Ð°, Ð·ÐµÐ»ÐµÐ½Ð° Ð¸ Ñина. Ð¡Ð¸Ñ‚е Ð²Ñ€ÐµÐ´Ð½Ð¾Ñти Ð¼Ð¾Ñ€Ð° Ð´Ð° Ð±Ð¸Ð´Ð°Ñ‚ Ð¿Ð¾Ð¼ÐµÑ“у 0 Ð¸ 100.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "излези Ð¾Ð´ Ñ˜Ð°Ð¼ÐºÐ°Ñ‚а";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "продолжи Ñо Ñледното Ð¿Ð¾Ð²Ñ‚орување Ð½Ð° Ñ˜Ð°Ð¼ÐºÐ°Ñ‚а";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "Излези Ð¾Ð´ Ñодржечката Ñ˜Ð°Ð¼ÐºÐ°.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "Skip the rest of this loop, and continue with the next iteration.";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "Warning: This block may only be used within a loop.";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "за Ñекој ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ %1 Ð½Ð° ÑпиÑокот %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "Му Ñ˜Ð° Ð·Ð°Ð´Ð°Ð²Ð° Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð»Ð¸Ð²Ð°Ñ‚а â€ž%1“ Ð½Ð° Ñекој ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ð½Ð° ÑпиÑокот, Ð° Ð¿Ð¾Ñ‚оа Ð¸Ñполнува Ð½Ð°Ñ€ÐµÐ´Ð±Ð¸.";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "број Ñо %1 Ð¾Ð´ %2 Ð´Ð¾ %3 Ñо %4";
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "Променливата â€ž%1“ Ð´Ð° Ð³Ð¸ Ð·ÐµÐ¼Ðµ Ð²Ñ€ÐµÐ´Ð½Ð¾Ñтите Ð¾Ð´ Ð¿Ð¾Ñ‡ÐµÑ‚ниот Ð´Ð¾ Ð·Ð°Ð²Ñ€ÑˆÐ½Ð¸Ð¾Ñ‚ Ð±Ñ€Ð¾Ñ˜, Ð±Ñ€Ð¾ÐµÑ˜ÑœÐ¸ Ñпоред ÑƒÐºÐ°Ð¶Ð°Ð½Ð¸Ð¾Ñ‚ Ð¸Ð½Ñ‚ервал Ð¸ Ð³Ð¸ Ð¸Ñполнува ÑƒÐºÐ°Ð¶Ð°Ð½Ð¸Ñ‚е Ð±Ð»Ð¾ÐºÐ¾Ð²Ð¸.";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "Add a condition to the if block.";  // untranslated
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "Add a final, catch-all condition to the if block.";  // untranslated
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Додава, Ð¾Ñ‚Ñтранува Ð¸Ð»Ð¸ Ð¿Ñ€ÐµÑ€ÐµÐ´ÑƒÐ²Ð° Ð´ÐµÐ»Ð¾Ð²Ð¸ Ð·Ð° Ð¿Ñ€ÐµÑ€Ð°Ñпоредување Ð½Ð° Ð¾Ð²Ð¾Ñ˜ Ð±Ð»Ð¾Ðº â€žÐ°ÐºÐ¾â€œ.";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "инаку";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "инаку Ð°ÐºÐ¾";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "ако";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "If a value is true, then do some statements.";  // untranslated
+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.";  // untranslated
+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.";  // untranslated
+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.";  // untranslated
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://mk.wikipedia.org/wiki/For-јамка";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "иÑполни";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "повтори %1 Ð¿Ð°Ñ‚и";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "ИÑполнува Ð½Ð°Ñ€ÐµÐ´Ð±Ð¸ Ð½ÐµÐºÐ¾Ð»ÐºÑƒ Ð¿Ð°Ñ‚и.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "повторувај Ñè Ð´Ð¾";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "повторувај Ð´Ð¾Ð´ÐµÐºÐ°";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "Додека Ð²Ñ€ÐµÐ´Ð½Ð¾Ñта Ðµ Ð½ÐµÐ²Ð¸Ñтинита, Ð¸Ñполнува Ð½Ð°Ñ€ÐµÐ´Ð±Ð¸.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "Додека Ð²Ñ€ÐµÐ´Ð½Ð¾Ñта Ðµ Ð²Ð¸Ñтинита, Ð¸Ñполнува Ð½Ð°Ñ€ÐµÐ´Ð±Ð¸.";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "Да Ð³Ð¸ Ð¸Ð·Ð±Ñ€Ð¸ÑˆÐ°Ð¼ Ñите %1 Ð±Ð»Ð¾ÐºÑ‡Ð¸ÑšÐ°?";
+Blockly.Msg["DELETE_BLOCK"] = "Избриши Ð±Ð»Ð¾Ðº";
+Blockly.Msg["DELETE_VARIABLE"] = "Delete the '%1' variable";  // untranslated
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Delete %1 uses of the '%2' variable?";  // untranslated
+Blockly.Msg["DELETE_X_BLOCKS"] = "Избриши %1 Ð±Ð»Ð¾ÐºÐ°";
+Blockly.Msg["DISABLE_BLOCK"] = "ИÑклучи Ð±Ð»Ð¾Ðº";
+Blockly.Msg["DUPLICATE_BLOCK"] = "ИÑкопирај";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicate Comment";  // untranslated
+Blockly.Msg["ENABLE_BLOCK"] = "Вклучи Ð±Ð»Ð¾Ðº";
+Blockly.Msg["EXPAND_ALL"] = "Рашири Ð±Ð»Ð¾ÐºÐ¾Ð²Ð¸";
+Blockly.Msg["EXPAND_BLOCK"] = "Рашири Ð³Ð¾ Ð±Ð»Ð¾ÐºÐ¾Ð²Ð¸";
+Blockly.Msg["EXTERNAL_INPUTS"] = "Ðадворешен Ð²Ð½Ð¾Ñ";
+Blockly.Msg["HELP"] = "Помош";
+Blockly.Msg["INLINE_INPUTS"] = "Внатрешен Ð²Ð½Ð¾Ñ";
+Blockly.Msg["IOS_CANCEL"] = "Cancel";  // untranslated
+Blockly.Msg["IOS_ERROR"] = "Error";  // untranslated
+Blockly.Msg["IOS_OK"] = "OK";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Add Input";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Allow statements";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "This function has duplicate inputs.";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "INPUTS";  // untranslated
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "Add";  // untranslated
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Add Variable";  // untranslated
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "Delete";  // untranslated
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "You can't use an empty variable name.";  // untranslated
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Rename";  // untranslated
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Variable name";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "create empty list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Returns a list, of length 0, containing no data records";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "list";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this list block.";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "create list with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Add an item to the list.";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Create a list with any number of items.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "first";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "# from end";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "get";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "get and remove";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "last";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "random";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "remove";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Returns the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Returns the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Returns the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Returns a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "Removes and returns the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "Removes and returns the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "Removes and returns the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Removes and returns a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "Removes the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "Removes the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "Removes the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Removes a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "to # from end";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "to #";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "to last";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "get sub-list from first";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "get sub-list from # from end";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "get sub-list from #";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Creates a copy of the specified portion of a list.";  // untranslated
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 is the last item.";  // untranslated
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 is the first item.";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "find first occurrence of item";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "find last occurrence of item";  // untranslated
+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.";  // untranslated
+Blockly.Msg["LISTS_INLIST"] = "in list";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 is empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Returns true if the list is empty.";  // untranslated
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "length of %1";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Returns the length of a list.";  // untranslated
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "create list with item %1 repeated %2 times";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Creates a list consisting of the given value repeated the specified number of times.";  // untranslated
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";  // untranslated
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Reverse a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "as";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "insert at";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Inserts the item at the start of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Inserts the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Append the item to the end of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Inserts the item randomly in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Sets the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Sets the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Sets the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Sets a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";  // untranslated
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "ascending";  // untranslated
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "descending";  // untranslated
+Blockly.Msg["LISTS_SORT_TITLE"] = "sort %1 %2 %3";  // untranslated
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Sort a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "alphabetic, ignore case";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "numeric";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "alphabetic";  // untranslated
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "make list from text";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "make text from list";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Join a list of texts into one text, separated by a delimiter.";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Split text into a list of texts, breaking at each delimiter.";  // untranslated
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "with delimiter";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "невиÑтина";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "Дава Ð¸Ð»Ð¸ Ð²Ð¸Ñтина Ð¸Ð»Ð¸ Ð½ÐµÐ²Ð¸Ñтина.";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "виÑтина";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://mk.wikipedia.org/wiki/ÐеравенÑтво";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Дава Ð²Ð¸Ñтина Ð°ÐºÐ¾ Ð¾Ð±Ð°Ñ‚а Ð²Ð½Ð¾Ñа Ñе ÐµÐ´Ð½Ð°ÐºÐ²Ð¸.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Дава Ð²Ð¸Ñтина Ð°ÐºÐ¾ Ð¿Ñ€Ð²Ð¸Ð¾Ñ‚ Ð²Ð½Ð¾Ñ Ðµ Ð¿Ð¾Ð³Ð¾Ð»ÐµÐ¼ Ð¾Ð´ Ð²Ñ‚ориот.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Дава Ð²Ð¸Ñтина Ð°ÐºÐ¾ Ð¿Ñ€Ð²Ð¸Ð¾Ñ‚ Ð²Ð½Ð¾Ñ Ðµ Ð¿Ð¾Ð³Ð¾Ð»ÐµÐ¼ Ð¸Ð»Ð¸ ÐµÐ´Ð½Ð°ÐºÐ¾Ð² Ð½Ð° Ð²Ñ‚ориот.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "Дава Ð²Ð¸Ñтина Ð°ÐºÐ¾ Ð¿Ñ€Ð²Ð¸Ð¾Ñ‚ Ð²Ð½Ð¾Ñ Ðµ Ð¿Ð¾Ð¼Ð°Ð» Ð¾Ð´ Ð²Ñ‚ориот.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "Дава Ð²Ð¸Ñтина Ð°ÐºÐ¾ Ð¿Ñ€Ð²Ð¸Ð¾Ñ‚ Ð²Ð½Ð¾Ñ Ðµ Ð¿Ð¾Ð¼Ð°Ð» Ð¸Ð»Ð¸ ÐµÐ´Ð½Ð°ÐºÐ¾Ð² Ð½Ð°  Ð²Ñ‚ориот.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "Дава Ð²Ð¸Ñтина Ð°ÐºÐ¾ Ð¾Ð±Ð°Ñ‚а Ð²Ð½Ð¾Ñа Ð½Ðµ Ñе ÐµÐ´Ð½Ð°ÐºÐ²Ð¸.";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "не %1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "Дава Ð²Ð¸Ñтина Ð°ÐºÐ¾ Ð²Ð½Ð¾Ñот Ðµ Ð½ÐµÐ²Ð¸Ñтинит. Ð”ава Ð½ÐµÐ²Ð¸Ñтина Ð°ÐºÐ¾ Ð²Ð½Ð¾Ñот Ðµ Ð²Ð¸Ñтинит.";
+Blockly.Msg["LOGIC_NULL"] = "ништо";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";  // untranslated
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "Дава Ð½Ð¸ÑˆÑ‚о.";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "и";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "или";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "Дава Ð²Ð¸Ñтина Ð°ÐºÐ¾ Ð¾Ð±Ð°Ñ‚а Ð²Ð½Ð¾Ñа Ñе Ð²Ð¸Ñтинити.";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "Дава Ð²Ð¸Ñтина Ð°ÐºÐ¾ Ð±Ð°Ñ€ÐµÐ¼ ÐµÐ´ÐµÐ½ Ð¾Ð´ Ð²Ð½Ð¾Ñовите Ðµ Ð²Ð¸Ñтинит.";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "иÑпробај";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "ако Ðµ Ð½ÐµÐ²Ð¸Ñтинито";
+Blockly.Msg["LOGIC_TERNARY_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.";  // untranslated
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://en.wikipedia.org/wiki/Arithmetic";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Return the sum of the two numbers.";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Return the quotient of the two numbers.";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Return the difference of the two numbers.";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Return the product of the two numbers.";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Return the first number raised to the power of the second number.";  // untranslated
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter?uselang=mk";
+Blockly.Msg["MATH_CHANGE_TITLE"] = "повиши %1 Ð·Ð° %2";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Рдодава Ð±Ñ€Ð¾Ñ˜ Ð½Ð° Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð»Ð¸Ð²Ð°Ñ‚а â€ž%1“.";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://mk.wikipedia.org/wiki/Математичка_конÑтанта";
+Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "Дава ÐµÐ´Ð½Ð° Ð¾Ð´ Ð²Ð¾Ð¾Ð±Ð¸Ñ‡Ð°ÐµÐ½Ð¸Ñ‚е ÐºÐ¾Ð½Ñтанти: Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), Ð¸Ð»Ð¸ âˆž (беÑконечноÑÑ‚).";
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "constrain %1 low %2 high %3";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Constrain a number to be between the specified limits (inclusive).";  // untranslated
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";  // untranslated
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "е Ð´ÐµÐ»Ð¸Ð² Ñо";
+Blockly.Msg["MATH_IS_EVEN"] = "е Ð¿Ð°Ñ€ÐµÐ½";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "е Ð½ÐµÐ³Ð°Ñ‚ивен";
+Blockly.Msg["MATH_IS_ODD"] = "е Ð½ÐµÐ¿Ð°Ñ€ÐµÐ½";
+Blockly.Msg["MATH_IS_POSITIVE"] = "е Ð¿Ð¾Ð·Ð¸Ñ‚ивен";
+Blockly.Msg["MATH_IS_PRIME"] = "е Ð¿Ñ€Ð¾ÑÑ‚";
+Blockly.Msg["MATH_IS_TOOLTIP"] = "Проверува Ð´Ð°Ð»Ð¸ Ð±Ñ€Ð¾Ñ˜Ð¾Ñ‚ Ðµ Ð¿Ð°Ñ€ÐµÐ½, Ð½ÐµÐ¿Ð°Ñ€ÐµÐ½, Ð¿Ñ€Ð¾ÑÑ‚, Ñ†ÐµÐ», Ð¿Ð¾Ð·Ð¸Ñ‚ивен, Ð½ÐµÐ³Ð°Ñ‚ивен Ð¸Ð»Ð¸ Ð´ÐµÐ»Ð¸Ð² Ñо Ð½ÐµÐºÐ¾Ñ˜ Ð±Ñ€Ð¾Ñ˜. Ð”ава Ð²Ð¸Ñтина Ð¸Ð»Ð¸ Ð½ÐµÐ²Ð¸Ñтина.";
+Blockly.Msg["MATH_IS_WHOLE"] = "е Ñ†ÐµÐ»";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://en.wikipedia.org/wiki/Modulo_operation";  // untranslated
+Blockly.Msg["MATH_MODULO_TITLE"] = "remainder of %1 ÷ %2";  // untranslated
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Return the remainder from dividing the two numbers.";  // untranslated
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";  // untranslated
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://en.wikipedia.org/wiki/Number";  // untranslated
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "A number.";  // untranslated
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "проÑек Ð½Ð° ÑпиÑокот";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "најголем Ð½Ð° ÑпиÑокот";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "медијана Ð½Ð° ÑпиÑокот";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "најмал Ð½Ð° ÑпиÑокот";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "модул Ð½Ð° ÑпиÑокот";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "random item of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "standard deviation of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "збир Ð¾Ð´ ÑпиÑокот";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Дава Ð¿Ñ€Ð¾Ñек (аритметичка Ñредина) Ð¾Ð´ Ð±Ñ€Ð¾ÐµÐ²Ð¸Ñ‚е Ð½Ð° ÑпиÑокот.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "Го Ð´Ð°Ð²Ð° Ð½Ð°Ñ˜Ð³Ð¾Ð»ÐµÐ¼Ð¸Ð¾Ñ‚ Ð±Ñ€Ð¾Ñ˜ Ð½Ð° ÑпиÑокот.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "Дава Ð¼ÐµÐ´Ð¸Ñ˜Ð°Ð½Ð° Ð¾Ð´ Ð±Ñ€Ð¾ÐµÐ²Ð¸Ñ‚е Ð½Ð° ÑпиÑокот.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "Го Ð´Ð°Ð²Ð° Ð½Ð°Ñ˜Ð¼Ð°Ð»Ð¸Ð¾Ñ‚ Ð±Ñ€Ð¾Ñ˜ Ð½Ð° ÑпиÑокот.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Дава ÑпиÑок Ð½Ð° Ð½Ð°Ñ˜Ð·Ð°Ñтапен(и) ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚(и) Ð½Ð° ÑпиÑокот.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Return a random element from the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Return the standard deviation of the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Дава Ð·Ð±Ð¸Ñ€ Ð¾Ð´ Ñите Ð±Ñ€Ð¾ÐµÐ²Ð¸ Ð½Ð° ÑпиÑокот.";
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "random fraction";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Return a random fraction between 0.0 (inclusive) and 1.0 (exclusive).";  // untranslated
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";  // untranslated
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "random integer from %1 to %2";  // untranslated
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Return a random integer between the two specified limits, inclusive.";  // untranslated
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://mk.wikipedia.org/wiki/Заокружување";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "заокружи";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "заокружи Ð½Ð° Ð¿Ð¾Ð¼Ð°Ð»Ð¾";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "заокружи Ð½Ð° Ð¿Ð¾Ð³Ð¾Ð»ÐµÐ¼Ð¾";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Го Ð·Ð°Ð¾ÐºÑ€ÑƒÐ¶ÑƒÐ²Ð° Ð±Ñ€Ð¾Ñ˜Ð¾Ñ‚ Ð½Ð° Ð¿Ð¾Ð³Ð¾Ð»ÐµÐ¼ Ð¸Ð»Ð¸ Ð¿Ð¾Ð¼Ð°Ð».";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://en.wikipedia.org/wiki/Square_root";  // untranslated
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "absolute";  // untranslated
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "square root";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Return the absolute value of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Return e to the power of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "Return the natural logarithm of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "Return the base 10 logarithm of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Return the negation of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Return 10 to the power of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Return the square root of a number.";  // untranslated
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";  // untranslated
+Blockly.Msg["MATH_TRIG_ACOS"] = "acos";  // untranslated
+Blockly.Msg["MATH_TRIG_ASIN"] = "asin";  // untranslated
+Blockly.Msg["MATH_TRIG_ATAN"] = "atan";  // untranslated
+Blockly.Msg["MATH_TRIG_COS"] = "cos";  // untranslated
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://en.wikipedia.org/wiki/Trigonometric_functions";  // untranslated
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";  // untranslated
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Return the arccosine of a number.";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Return the arcsine of a number.";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Return the arctangent of a number.";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Return the cosine of a degree (not radian).";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Return the sine of a degree (not radian).";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Return the tangent of a degree (not radian).";  // untranslated
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Create colour variable...";  // untranslated
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Create number variable...";  // untranslated
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Create string variable...";  // untranslated
+Blockly.Msg["NEW_VARIABLE"] = "Ðова Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð»Ð¸Ð²Ð°...";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "Ðазив Ð½Ð° Ð½Ð¾Ð²Ð°Ñ‚а Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð»Ð¸Ð²Ð°:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "New variable type:";  // untranslated
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "allow statements";  // untranslated
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "with:";  // untranslated
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://mk.wikipedia.org/wiki/Потпрограма";
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Run the user-defined function '%1'.";  // untranslated
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Run the user-defined function '%1' and use its output.";  // untranslated
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "with:";  // untranslated
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "Create '%1'";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Describe this function...";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "do something";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "to";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Creates a function with no output.";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "return";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "Creates a function with an output.";  // untranslated
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "Warning: This function has duplicate parameters.";  // untranslated
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "Highlight function definition";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "If a value is true, then return a second value.";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "Warning: This block may be used only within a function definition.";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "input name:";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Add an input to the function.";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "inputs";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Add, remove, or reorder inputs to this function.";  // untranslated
+Blockly.Msg["REDO"] = "Redo";  // untranslated
+Blockly.Msg["REMOVE_COMMENT"] = "ОтÑтрани ÐºÐ¾Ð¼ÐµÐ½Ñ‚ар";
+Blockly.Msg["RENAME_VARIABLE"] = "Преименувај Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð»Ð¸Ð²Ð°...";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Преименувај Ð³Ð¸ Ñите Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð»Ð¸Ð²Ð¸ â€ž%1“ Ð²Ð¾:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "to %1 append text %2";  // untranslated
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Append some text to variable '%1'.";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "to lower case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "to Title Case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "to UPPER CASE";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Return a copy of the text in a different case.";  // untranslated
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "get first letter";  // untranslated
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "get letter # from end";  // untranslated
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "get letter #";  // untranslated
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "get last letter";  // untranslated
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "get random letter";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "in text %1 %2";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Returns the letter at the specified position.";  // untranslated
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";  // untranslated
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "count %1 in %2";  // untranslated
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Count how many times some text occurs within some other text.";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Add an item to the text.";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "join";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this text block.";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "to letter # from end";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "to letter #";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "to last letter";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "in text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "get substring from first letter";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "get substring from letter # from end";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "get substring from letter #";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Returns a specified portion of the text.";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "find first occurrence of text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "find last occurrence of text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "in text %1 %2 %3";  // untranslated
+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.";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 is empty";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Returns true if the provided text is empty.";  // untranslated
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "create text with";  // untranslated
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Create a piece of text by joining together any number of items.";  // untranslated
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "length of %1";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Returns the number of letters (including spaces) in the provided text.";  // untranslated
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "print %1";  // untranslated
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Print the specified text, number or other value.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Prompt for user for a number.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Prompt for user for some text.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "prompt for number with message";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "prompt for text with message";  // untranslated
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";  // untranslated
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "replace %1 with %2 in %3";  // untranslated
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Replace all occurances of some text within some other text.";  // untranslated
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";  // untranslated
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Reverses the order of the characters in the text.";  // untranslated
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://en.wikipedia.org/wiki/String_(computer_science)";  // untranslated
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "A letter, word, or line of text.";  // untranslated
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "trim spaces from both sides of";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "trim spaces from left side of";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "trim spaces from right side of";  // untranslated
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Return a copy of the text with spaces removed from one or both ends.";  // untranslated
+Blockly.Msg["TODAY"] = "ДенеÑ";
+Blockly.Msg["UNDO"] = "Undo";  // untranslated
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "елемент";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Create 'set %1'";  // untranslated
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Returns the value of this variable.";  // untranslated
+Blockly.Msg["VARIABLES_SET"] = "set %1 to %2";  // untranslated
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Create 'get %1'";  // untranslated
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Sets this variable to be equal to the input.";  // untranslated
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "A variable named '%1' already exists.";  // untranslated
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "A variable named '%1' already exists for another type: '%2'.";  // untranslated
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something...";  // untranslated
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/ms.js b/js/msg/js/ms.js
new file mode 100644 (file)
index 0000000..b329404
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.ms');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "Berikan Komen";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "Can't delete the variable '%1' because it's part of the definition of the function '%2'";  // untranslated
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "Ubah nilai:";
+Blockly.Msg["CLEAN_UP"] = "Kemaskan Blok";
+Blockly.Msg["COLLAPSE_ALL"] = "Lipat Blok²";
+Blockly.Msg["COLLAPSE_BLOCK"] = "Lipat Blok";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "warna 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "warna 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";  // untranslated
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "nisbah";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "adun";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "Campurkan dua warna sekali pada nisbah yang ditentukan (0.0 - 1.0).";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://ms.wikipedia.org/wiki/Warna";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "Pilih satu warna daripada palet.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "warna rawak";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "Pilih satu warna secara rawak.";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "biru";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "hijau";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";  // untranslated
+Blockly.Msg["COLOUR_RGB_RED"] = "merah";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "warnakan";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "Peroleh satu warna dengan menentukan amaun campuran merah, hijau dan biru. Kesemua nilai haruslah antara 0 hingga 100.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "hentikan gelung";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "teruskan dengan lelaran gelung seterusnya";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "Keluar dari gelung pengandung.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "Langkau seluruh gelung yang tinggal dan bersambung dengan lelaran seterusnya.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "Amaran: Blok ini hanya boleh digunakan dalam satu gelung.";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "untuk setiap perkara %1 dalam senarai %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "Untuk setiap perkara dalam senarai, tetapkan pembolehubah '%1' pada perkara, kemudian lakukan beberapa perintah.";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "kira dengan %1 dari %2 hingga %3 selang %4";
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "Gunakan pembolehubah '%1' pada nilai-nilai dari nombor pangkal hingga nombor hujung, mengira mengikut selang yang ditentukan, dan lakukan blok-blok yang tertentu.";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "Tambah satu syarat kepada blok jika.";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "Tambah yang terakhir, alihkan semua keadaan ke blok jika.";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Tambah, alih keluar, atau susun semula bahagian-bahagian untuk menyusun semula blok jika.";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "lain";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "lain jika";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "jika";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "Jika nilai yang benar, lakukan beberapa penyata.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "Jika suatu nilai benar, lakukan penyata blok pertama.  Jika tidak, bina penyata blok kedua.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "Jika nilai yang pertama adalah benar, lakukan penyata pertama blok.  Sebaliknya, jika nilai kedua adalah benar, lakukan penyata blok kedua.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "Jika nilai yang pertama adalah benar, lakukan penyata blok pertama.  Sebaliknya, jika nilai kedua adalah benar, lakukan penyata blok kedua.  Jika tiada nilai adalah benar, lakukan penyata blok terakhir.";
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://en.wikipedia.org/wiki/For_loop";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "lakukan";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "ulang %1 kali";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "Lakukan perintah berulang kali.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "ulangi sehingga";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "ulangi apabila";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "Lakukan beberapa perintah apabila nilainya palsu (false).";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "Lakukan beberapa perintah apabila nilainya benar (true).";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "Hapuskan kesemua %1 blok?";
+Blockly.Msg["DELETE_BLOCK"] = "Hapuskan Blok";
+Blockly.Msg["DELETE_VARIABLE"] = "Delete the '%1' variable";  // untranslated
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Delete %1 uses of the '%2' variable?";  // untranslated
+Blockly.Msg["DELETE_X_BLOCKS"] = "Hapuskan %1 Blok";
+Blockly.Msg["DISABLE_BLOCK"] = "Matikan Blok";
+Blockly.Msg["DUPLICATE_BLOCK"] = "Pendua";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicate Comment";  // untranslated
+Blockly.Msg["ENABLE_BLOCK"] = "Hidupkan Blok";
+Blockly.Msg["EXPAND_ALL"] = "Buka Blok²";
+Blockly.Msg["EXPAND_BLOCK"] = "Buka Blok";
+Blockly.Msg["EXTERNAL_INPUTS"] = "Input Luaran";
+Blockly.Msg["HELP"] = "Bantuan";
+Blockly.Msg["INLINE_INPUTS"] = "Input Sebaris";
+Blockly.Msg["IOS_CANCEL"] = "Cancel";  // untranslated
+Blockly.Msg["IOS_ERROR"] = "Error";  // untranslated
+Blockly.Msg["IOS_OK"] = "OK";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Add Input";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Allow statements";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "This function has duplicate inputs.";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "INPUTS";  // untranslated
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "Add";  // untranslated
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Add Variable";  // untranslated
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "Delete";  // untranslated
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "You can't use an empty variable name.";  // untranslated
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Rename";  // untranslated
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Variable name";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "Wujudkan senarai kosong";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Kembalikan senarai panjang 0, yang tidak mengandungi rekod data";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "senarai";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Tambah, alih keluar, atau susun semula bahagian-bahagian untuk menyusun semula senarai blok.";
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "wujudkan senarai dengan";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Tambah item ke dalam senarai.";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Wujudkan senarai dengan apa jua nombor item.";
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "pertama";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "# dari akhir";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "dapatkan";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "dapat dan alihkan";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "terakhir";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "rawak";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "alihkan";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Kembalikan item pertama dalam senarai.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Kembalikan item dalam kedudukan yang ditetapkan dalam senarai.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Kembalikan item pertama dalam senarai.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Kembalikan item rawak dalam senarai.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "Alihkan dan kembalikan item pertama dalam senarai.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "Alihkan dan kembalikan item mengikut spesifikasi posisi dalam senarai.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "Alihkan dan kembalikan item terakhir dalam senarai.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Alihkan dan kembalikan item rawak dalam senarai.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "Alihkan item pertama dalam senarai.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "Alihkan item pada posisi mengikut spesifikasi dalam senarai.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "Alihkan item terakhir dalam senarai.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Alihkan item rawak dalam senarai.";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "ke  # dari akhir";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "ke #";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "ke akhir";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "dapatkan sub-senarai daripada pertama";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "dapatkan sub-senarai daripada # daripada terakhir";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "dapatkan sub-senarai daripada #";
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Wujudkan salinan bahagian yang ditentukan dari senarai.";
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 ialah item terakhir.";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 ialah item pertama.";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "cari pertama item kejadian";
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "cari kejadian akhir item";
+Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "Menyatakan indeks kejadian pertama/terakhir item berkenaan dalam senarai. Menyatakan %1 jika item berkenaan tidak ditemui.";
+Blockly.Msg["LISTS_INLIST"] = "dalam senarai";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 adalah kosong";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Kembalikan benar jika senarai kosong.";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "panjang %1";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Kembalikan panjang senarai";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "wujudkan senarai dengan item %1 diulangi %2 kali";
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Wujudkan senarai yang terdiri daripada nilai berulang mengikut nombor yang ditentukan.";
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";  // untranslated
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Reverse a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "sebagai";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "masukkan pada";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "set";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Selit item pada permulaan senarai.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Masukkan item pada posisi yand ditentukan dalam senarai.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Tambahkan item dalam senarai akhir.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Selit item secara rawak di dalam senarai.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Set item pertama dalam senarai.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Masukkan item pada posisi yang ditentukan dalam senarai.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Set item terakhir dalam senarai.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Set item rawak dalam senarai.";
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";  // untranslated
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "ascending";  // untranslated
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "descending";  // untranslated
+Blockly.Msg["LISTS_SORT_TITLE"] = "sort %1 %2 %3";  // untranslated
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Sort a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "alphabetic, ignore case";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "numeric";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "alphabetic";  // untranslated
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "buat senarai dgn teks";
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "buat teks drpd senarai";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Cantumkan senarai teks menjadi satu teks, dipecahkan oleh delimiter.";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Pecahkan teks kepada senarai teks, berpecah di setiap delimiter.";
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "dengan delimiter";
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "palsu";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "Kembalikan samada benar atau palsu.";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "benar";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://id.wikipedia.org/wiki/Pertidaksamaan";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Kembali benar jika kedua-dua input benar antara satu sama lain.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Kembali benar jika input pertama adalah lebih besar daripada input kedua.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Kembali benar jika input pertama adalah lebih besar daripada atau sama dengan input kedua.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "Kembali benar jika input pertama adalah lebih kecil daripada input kedua.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "Kembali benar jika input pertama adalah lebih kecil daripada atau sama dengan input kedua.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "Taip balik benar jika kedua-dua input tidak sama.";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "bukan %1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "'Benar' akan dibalas jika inputnya salah. 'Salah' akan dibalas jika inputnya benar.";
+Blockly.Msg["LOGIC_NULL"] = "null";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";  // untranslated
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "Returns null.";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "dan";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "atau";
+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:";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "Jika palsu";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "Jika benar";
+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://ms.wikipedia.org/wiki/Aritmetik";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Kembalikan jumlah kedua-dua bilangan.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Taip balik hasil bahagi dua nombor tersebut.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Taip balik hasil tolak dua nombor tersebut.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Taip balik hasil darab dua nombor tersebut.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Return the first number raised to the power of the second number.";
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://id.wikipedia.org/wiki/Perjumlahan";
+Blockly.Msg["MATH_CHANGE_TITLE"] = "perubahan %1 oleh %2";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Tambah nombor kepada pembolehubah '%1'.";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://ms.wikipedia.org/wiki/Pemalar_matematik";
+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)";  // untranslated
+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"] = "Boleh dibahagikan dengan";
+Blockly.Msg["MATH_IS_EVEN"] = "Adalah genap";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "negatif";
+Blockly.Msg["MATH_IS_ODD"] = "aneh";
+Blockly.Msg["MATH_IS_POSITIVE"] = "adalah positif";
+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://id.wikipedia.org/wiki/Operasi_modulus";
+Blockly.Msg["MATH_MODULO_TITLE"] = "remainder of %1 ÷ %2";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Taip balik baki yang didapat daripada pembahagian dua nombor tersebut.";
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://ms.wikipedia.org/wiki/Nombor";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "Suatu nombor.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "purata daripada senarai";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "Max senarai";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "Median senarai";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "min dalam senarai";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "jenis senarai";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "Item rawak daripada senarai";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "sisihan piawai bagi senarai";
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "Jumlah senarai";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Kembalikan purata (min aritmetik) nilai-nilai angka di dalam senarai.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "Pulangkan jumlah terbesar dalam senarai.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "Kembalikan nombor median dalam senarai.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "Kembalikan nombor terkecil dalam senarai.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Kembali senarai item yang paling biasa dalam senarai.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Kembalikan elemen rawak daripada senarai.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Kembali dengan sisihan piawai daripada senarai.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Kembalikan jumlah semua nombor dalam senarai.";
+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"] = "pecahan rawak";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Kembali sebahagian kecil rawak antara 0.0 (inklusif) dan 1.0 (eksklusif).";
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "integer rawak dari %1ke %2";
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Kembalikan integer rawak diantara dua had yang ditentukan, inklusif.";
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://en.wikipedia.org/wiki/Rounding";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "pusingan";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "Pusingan ke bawah";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "pusingan ke atas";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Bulat nombor yang naik atau turun.";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://ms.wikipedia.org/wiki/Punca_kuasa_dua";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "mutlak";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "Punca kuasa dua";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Kembalikan nilai mutlak suatu nombor.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Kembalikan e kepada kuasa nombor.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "Kembali dalam logaritma nombor asli.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "Kembali logarithm 10 asas nombor.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Kembalikan nombor yang songsang.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Kembalikan 10 kepada kuasa nombor.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Kembalikan punca kuasa nombor.";
+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://ms.wikipedia.org/wiki/Fungsi_trigonometri";
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Kembali arccosine beberapa nombor.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Kembalikan arcsince beberapa nombor.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Kembalikan beberapa nombor arctangent.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Kembalikan darjah kosinus (bukan radian).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Kembalikan darjah sine (bukan radian).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Kembalikan darjah tangen (bukan radian).";
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Create colour variable...";  // untranslated
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Create number variable...";  // untranslated
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Create string variable...";  // untranslated
+Blockly.Msg["NEW_VARIABLE"] = "Pembolehubah baru...";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "Nama pembolehubah baru:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "New variable type:";  // untranslated
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "bolehkan kenyataan";
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "dengan:";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://ms.wikipedia.org/wiki/Fungsi";
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Run the user-defined function '%1'.";
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://ms.wikipedia.org/wiki/Fungsi";
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Run the user-defined function '%1' and use its output.";
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "dengan:";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "Hasilkan '%1'";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Terangkan fungsi ini...";
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "Buat sesuatu";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "Untuk";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Menghasilkan suatu fungsi tanpa output.";
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "kembali";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "Mencipta satu fungsi dengan pengeluaran.";
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "Amaran: Fungsi ini mempunyai parameter yang berganda.";
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "Serlahkan definisi fungsi";
+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"] = "Amaran: Blok ini hanya boleh digunakan dalam fungsi definisi.";
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "Nama input:";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Tambah satu input pada fungsi.";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "Input-input";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Tambah, alih keluar atau susun semula input pada fungsi ini.";
+Blockly.Msg["REDO"] = "Redo";  // untranslated
+Blockly.Msg["REMOVE_COMMENT"] = "Padamkan Komen";
+Blockly.Msg["RENAME_VARIABLE"] = "Tukar nama pembolehubah...";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Tukar nama semua pembolehubah '%1' kepada:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "to %1 append text %2";  // untranslated
+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";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "Kepada huruf kecil";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "to Title Case";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "Kepada HURUF BESAR";
+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";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "Dapatkan abjad terakhir";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "Dapatkan abjad rawak";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "in text %1 %2";  // untranslated
+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";  // untranslated
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "count %1 in %2";  // untranslated
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Count how many times some text occurs within some other text.";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Add an item to the text.";
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "Sertai";
+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"] = "untuk huruf terakhir";
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "dalam teks";
+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"] = "";  // untranslated
+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";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "mencari kejadian pertama teks";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "mencari kejadian terakhir teks";
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "dalam teks %1 %2 %3";
+Blockly.Msg["TEXT_INDEXOF_TOOLTIP"] = "Kembalikan Indeks kejadian pertama/terakhir dari teks pertama ke dalam teks kedua.  Kembalikan %1 Jika teks tidak ditemui.";
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 adalah kosong";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Kembalikan benar jika teks yang disediakan adalah kosong.";
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "hasilkan teks dengan";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Hasilkan sebahagian teks dengan menghubungkan apa jua nombor item.";
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "panjang %1";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Kembalikan jumlah huruf (termasuk ruang) dalam teks yang disediakan.";
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "cetak %1";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Cetak teks yang ditentukan, nombor atau nilai lain.";
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Peringatan kepada pengguna untuk nombor.";
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Peringatkan pengguna untuk sebahagian teks.";
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "Prom untuk nombor dengan mesej";
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "Prom untuk teks dengan mesej";
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";  // untranslated
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "replace %1 with %2 in %3";  // untranslated
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Replace all occurances of some text within some other text.";  // untranslated
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";  // untranslated
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Reverses the order of the characters in the text.";  // untranslated
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://ms.wikipedia.org/wiki/Rentetan";
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "Huruf, perkataan, atau baris teks.";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "mengurangkan kawasan dari kedua-dua belah";
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "mengurangkan ruang dari sebelah kiri";
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "mengurangkan kawasan dari sisi kanan";
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Kembali salinan teks dengan ruang yang dikeluarkan daripada satu atau hujung kedua belah.";
+Blockly.Msg["TODAY"] = "Hari ini";
+Blockly.Msg["UNDO"] = "Undo";  // untranslated
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "Perkara";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Hasilkan 'set %1'";
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Kembalikan nilai pemboleh ubah ini.";
+Blockly.Msg["VARIABLES_SET"] = "set %1 ke %2";
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Hasilkan 'set %1'";
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Set pembolehubah ini supaya sama dengan input.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "A variable named '%1' already exists.";  // untranslated
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "A variable named '%1' already exists for another type: '%2'.";  // untranslated
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something...";  // untranslated
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/nb.js b/js/msg/js/nb.js
new file mode 100644 (file)
index 0000000..3f6fac8
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.nb');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "Legg til kommentar";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "Kan ikke slette variabelen «%1» fordi den er del av definisjonen for funksjonen «%2»";
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "Bytt verdi:";
+Blockly.Msg["CLEAN_UP"] = "Rydd opp Blocks";
+Blockly.Msg["COLLAPSE_ALL"] = "Skjul blokker";
+Blockly.Msg["COLLAPSE_BLOCK"] = "Skjul blokk";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "farge 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "farge 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "forhold";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "blande";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "Blander to farger sammen med et gitt forhold (0.0 - 1.0).";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://en.wikipedia.org/wiki/Color";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "Velg en farge fra paletten.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "tilfeldig farge";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "Velg en tilfeldig farge.";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "blå";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "grønn";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";
+Blockly.Msg["COLOUR_RGB_RED"] = "rød";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "farge med";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "Lag en farge med angitt verdi av rød, grønn og blå. Alle verdier må være mellom 0 og 100.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "bryt ut av løkken";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "fortsett med neste gjentakelse av løkken";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "Bryt ut av den gjeldende løkken.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "Hopp over resten av denne løkken og fortsett med neste gjentakelse.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "Advarsel: Denne blokken kan kun brukes innenfor en løkke.";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "for hvert element %1 i listen %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "For hvert element i en liste, angi variabelen '%1' til elementet, og deretter lag noen setninger.";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "tell med %1 fra %2 til %3 med %4";
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "Ha variabel \"%1\" ta verdiene fra start nummer til slutt nummer, telle med spesifisert intervall og lag de spesifiserte blokkene.";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "Legg til en betingelse til hvis blokken.";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "Legg til hva som skal skje hvis de andre ikke slår til.";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Legg til, fjern eller flytt seksjoner i denne hvis-blokken.";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "ellers";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "ellers hvis";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "hvis";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "Hvis dette er sant, så gjør følgende.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "Hvis dette er sant, så utfør den første blokken av instruksjoner. Hvis ikke, utfør den andre blokken.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "Hvis det første stemmer, så utfør den første blokken av instruksjoner. Ellers, hvis det andre stemmer, utfør den andre blokken av instruksjoner.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "Hvis den første verdien er sann, så utfør den første blokken med setninger. Ellers, hvis den andre verdien er sann, så utfør den andre blokken med setninger. Hvis ingen av verdiene er sanne, så utfør den siste blokken med setninger.";
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://en.wikipedia.org/wiki/For_loop";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "gjør";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "gjenta %1 ganger";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "Gjenta noen instruksjoner flere ganger.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "gjenta til";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "gjenta mens";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "Så lenge et utsagn ikke stemmer, gjør noen instruksjoner.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "Så lenge et utsagn stemmer, utfør noen instruksjoner.";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "Slett alle %1 blokker?";
+Blockly.Msg["DELETE_BLOCK"] = "Slett blokk";
+Blockly.Msg["DELETE_VARIABLE"] = "Slett variabelen «%1»";
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Slett %1 bruk av variabelen «%2»?";
+Blockly.Msg["DELETE_X_BLOCKS"] = "Slett %1 blokker";
+Blockly.Msg["DISABLE_BLOCK"] = "Deaktiver blokk";
+Blockly.Msg["DUPLICATE_BLOCK"] = "duplikat";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Dupliser kommentar";
+Blockly.Msg["ENABLE_BLOCK"] = "Aktiver blokk";
+Blockly.Msg["EXPAND_ALL"] = "Utvid blokker";
+Blockly.Msg["EXPAND_BLOCK"] = "Utvid blokk";
+Blockly.Msg["EXTERNAL_INPUTS"] = "Eksterne kilder";
+Blockly.Msg["HELP"] = "Hjelp";
+Blockly.Msg["INLINE_INPUTS"] = "Interne kilder";
+Blockly.Msg["IOS_CANCEL"] = "Avbryt";
+Blockly.Msg["IOS_ERROR"] = "Feil";
+Blockly.Msg["IOS_OK"] = "OK";
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Legg til parameter";
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Tillat kommandoer";
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "Denne funksjonen har duplikatparametere.";
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "PARAMETERE";
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "Legg til";
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Legg til variabel";
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "Slett";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "Du kan ikke bruke et tomt variabelnavn.";
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Endre navn";
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Variabelnavn";
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "opprett en tom liste";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Returnerer en tom liste, altså med lengde 0";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "liste";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Legg til, fjern eller endre rekkefølgen for å endre på denne delen av listen.";
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "lag en liste med";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Tilføy et element til listen.";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Lag en liste med et vilkårlig antall elementer.";
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "først";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "# fra slutten";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "hent";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "hent og fjern";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "siste";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "tilfeldig";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "fjern";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Returnerer det første elementet i en liste.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Returner elementet på den angitte posisjonen i en liste.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Returnerer det siste elementet i en liste.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Returnerer et tilfeldig element i en liste.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "Fjerner og returnerer det første elementet i en liste.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "Fjerner og returnerer elementet ved en gitt posisjon i en liste.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "Fjerner og returnerer det siste elementet i en liste.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Fjerner og returnerer et tilfeldig element i en liste.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "Fjerner det første elementet i en liste.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "Fjerner et element ved en gitt posisjon i en liste.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "Fjerner det siste elementet i en liste.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Fjerner et tilfeldig element i en liste.";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "til # fra slutten";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "til #";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "til siste";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "Hent en del av listen";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "Hent de siste # elementene";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "Hent del-listen fra #";
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Kopiérer en ønsket del av en liste.";
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 er det siste elementet.";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 er det første elementet.";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "finn første forekomst av elementet";
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "finn siste forekomst av elementet";
+Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "Returnerer indeksen av den første/siste forekomsten av elementet i lista. Returnerer %1 hvis ikke funnet.";
+Blockly.Msg["LISTS_INLIST"] = "i listen";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 er tom";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Returnerer sann hvis listen er tom.";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "lengden på %1";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Returnerer lengden til en liste.";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "Lag en liste hvor elementet %1 forekommer %2 ganger";
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Lager en liste hvor den gitte verdien gjentas et antall ganger.";
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "reverser %1";
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Reverser en kopi av ei liste.";
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "som";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "sett inn ved";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "sett";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Setter inn elementet i starten av en liste.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Setter inn elementet ved den angitte posisjonen i en liste.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Tilføy elementet til slutten av en liste.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Setter inn elementet ved en tilfeldig posisjon i en liste.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Angir det første elementet i en liste.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Setter inn elementet ved den angitte posisjonen i en liste.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Angir det siste elementet i en liste.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Angir et tilfeldig element i en liste.";
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "stigende";
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "synkende";
+Blockly.Msg["LISTS_SORT_TITLE"] = "sorter %1 %2 %3";
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Sorter en kopi av en liste.";
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "alfabetisk, ignorert store/små bokstaver";
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "numerisk";
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "alfabetisk";
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "lag liste av tekst";
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "lag tekst av liste";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Føy sammen en liste tekster til én tekst, avskilt av en avgrenser.";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Splitt teksten til en liste med tekster, brutt ved hver avgrenser.";
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "med avgrenser";
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "usann";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "Returnerer enten sann eller usann.";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "sann";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://en.wikipedia.org/wiki/Inequality_(mathematics)";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Returnerer sann hvis begge inputene er like hverandre.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Returnerer sant hvis det første argumentet er større enn den andre argumentet.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Returnerer sant hvis det første argumentet er større enn eller likt det andre argumentet.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "Returnerer sant hvis det første argumentet er mindre enn det andre argumentet.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "Returnerer sant hvis det første argumentet er mindre enn eller likt det andre argumentet.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "Returnerer sant hvis begge argumentene er ulike hverandre.";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "ikke %1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "Returnerer sant hvis argumentet er usant. Returnerer usant hvis argumentet er sant.";
+Blockly.Msg["LOGIC_NULL"] = "null";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "Returnerer null.";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "og";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "eller";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "Returnerer sant hvis begge argumentene er sanne.";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "Returnerer sant hvis minst ett av argumentene er sant.";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "test";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "hvis usant";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "hvis sant";
+Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "Sjekk betingelsen i 'test'. Hvis betingelsen er sann, da returneres 'hvis sant' verdien. Hvis ikke returneres 'hvis usant' verdien.";
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://no.wikipedia.org/wiki/Aritmetikk";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Returnerer summen av to tall.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Returner kvotienten av to tall.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Returner differansen mellom to tall.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Returner produktet av to tall.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Returner det første tallet opphøyd i den andre tallet.";
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";
+Blockly.Msg["MATH_CHANGE_TITLE"] = "endre %1 ved %2";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Addere et tall til variabelen '%1'.";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://en.wikipedia.org/wiki/Mathematical_constant";
+Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "Returner en av felleskonstantene Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), eller âˆž (uendelig).";
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "begrense %1 lav %2 høy %3";
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Begrens et tall til å være mellom de angitte grenseverdiene (inklusiv).";
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "er delelig med";
+Blockly.Msg["MATH_IS_EVEN"] = "er et partall";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "er negativer negativt";
+Blockly.Msg["MATH_IS_ODD"] = "er et oddetall";
+Blockly.Msg["MATH_IS_POSITIVE"] = "er positivt";
+Blockly.Msg["MATH_IS_PRIME"] = "er et primtall";
+Blockly.Msg["MATH_IS_TOOLTIP"] = "Sjekk om et tall er et partall, oddetall, primtall, heltall, positivt, negativt, eller om det er delelig med et annet tall. Returnerer sant eller usant.";
+Blockly.Msg["MATH_IS_WHOLE"] = "er et heltall";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://en.wikipedia.org/wiki/Modulo_operation";
+Blockly.Msg["MATH_MODULO_TITLE"] = "resten av %1 ÷ %2";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Returner resten fra delingen av to tall.";
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "x";
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://en.wikipedia.org/wiki/Number";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "Et tall.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "gjennomsnittet av listen";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "maksimum av liste";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "medianen til listen";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "minimum av listen";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "Listens typetall";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "tilfeldig element i listen";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "standardavviket til listen";
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "summen av listen";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Returner det aritmetiske gjennomsnittet av tallene i listen.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "Returner det største tallet i listen.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "Returner listens median.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "Returner det minste tallet i listen.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Returner en liste av de vanligste elementene i listen.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Returner et tilfeldig element fra listen.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Returner listens standardavvik.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Returner summen av alle tallene i listen.";
+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"] = "tilfeldig flyttall";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Returner et tilfeldig flyttall mellom 0.0 (inkludert) og 1.0 (ikke inkludert).";
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "Et tilfeldig heltall mellom %1 og %2";
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Returner et tilfeldig tall mellom de to spesifiserte grensene, inkludert de to.";
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://en.wikipedia.org/wiki/Rounding";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "avrunding";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "rund ned";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "rund opp";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Avrund et tall ned eller opp.";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://en.wikipedia.org/wiki/Square_root";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "absoluttverdi";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "kvadratrot";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Returner absoluttverdien av et tall.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Returner e opphøyd i et tall.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "Returner den naturlige logaritmen til et tall.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "Returner base-10 logaritmen til et tall.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Returner det negative tallet.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Returner 10 opphøyd i et tall.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Returner kvadratroten av et tall.";
+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"] = "Returner arccosinus til et tall.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Returner arcsinus til et tall.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Returner arctangens til et tall.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Returner cosinus av en vinkel (ikke radian).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Returner sinus av en vinkel (ikke radian).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Returner tangenten av en vinkel (ikke radian).";
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Oppretter fargevariabel â€¦";
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Oppretter tallvariabel â€¦";
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Oppretter strengvariabel â€¦";
+Blockly.Msg["NEW_VARIABLE"] = "Opprett variabel…";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "Nytt variabelnavn:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "Ny variabeltype:";
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "tillat uttalelser";
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "med:";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Kjør den brukerdefinerte funksjonen '%1'.";
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Kjør den brukerdefinerte funksjonen'%1' og bruk resultatet av den.";
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "med:";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "Opprett '%1'";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Beskriv denne funksjonen…";
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29";
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "gjør noe";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "til";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Opprett en funksjon som ikke har noe resultat.";
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29";
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "returner";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "Oppretter en funksjon som har et resultat.";
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "Advarsel: Denne funksjonen har duplikate parametere.";
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "Marker funksjonsdefinisjonen";
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "Hvis en verdi er sann, returner da en annen verdi.";
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "Advarsel: Denne blokken kan bare benyttes innenfor en funksjonsdefinisjon.";
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "Navn på parameter:";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Legg til en input til funksjonen.";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "parametere";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Legg til, fjern eller endre rekkefølgen på input til denne funksjonen.";
+Blockly.Msg["REDO"] = "Gjør om";
+Blockly.Msg["REMOVE_COMMENT"] = "Fjern kommentar";
+Blockly.Msg["RENAME_VARIABLE"] = "Gi nytt navn til variabel…";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Endre navnet til alle '%1' variabler til:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "til %1, legg til teksten %2";
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Tilføy tekst til variabelen '%1'.";
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "til små bokstaver";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "til store forbokstaver";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "til STORE BOKSTAVER";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Returnerer en kopi av teksten der store og små bokstaver er byttet om.";
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "hent første bokstav";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "hent bokstav # fra slutten";
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "hent bokstav #";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "hent den siste bokstaven";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "hent en tilfeldig bokstav";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "i teksten %1, %2";
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Returnerer bokstaven på angitt plassering.";
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "tell %1 i %2";
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Tell hvor mange ganger noe tekst dukker opp i annen tekst.";
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Legg til et element til teksten.";
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "føy sammen";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Legg til, fjern eller forandre rekkefølgen for å forandre på denne tekstblokken.";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "til bokstav # fra slutten";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "til bokstav #";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "til siste bokstav";
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "i tekst";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "hent delstreng fra første bokstav";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "hent delstreng fra bokstav # fra slutten";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "hent delstreng fra bokstav #";
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Returnerer den angitte delen av teksten.";
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "finn første forekomst av tekst";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "finn siste forekomst av tekst";
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "i teksten %1, %2 %3";
+Blockly.Msg["TEXT_INDEXOF_TOOLTIP"] = "Returnerer posisjonen for første/siste forekomsten av den første tekst i den andre teksten.  Returnerer %1 hvis teksten ikke blir funnet.";
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 er tom";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Returnerer sann hvis den angitte teksten er tom.";
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "lag tekst med";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Opprett en tekst ved å sette sammen et antall elementer.";
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "lengden av %1";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Returnerer antall bokstaver (inkludert mellomrom) i den angitte teksten.";
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "skriv ut %1";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Skriv ut angitt tekst, tall eller annet innhold.";
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Be brukeren om et tall.";
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Spør brukeren om tekst.";
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "spør om et tall med en melding";
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "spør om tekst med en melding";
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "erstatt %1 med %2 i %3";
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Erstatter alle forekomster av noe tekst i en annen tekst.";
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "reverser %1";
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Reverserer rekkefølgen på tegnene i teksten.";
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://en.wikipedia.org/wiki/String_(computer_science)";
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "En bokstav, ett ord eller en linje med tekst.";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "fjern mellomrom fra begge sider av";
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "fjern mellomrom fra venstre side av";
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "fjern mellomrom fra høyre side av";
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Returner en kopi av teksten med mellomrom fjernet fra en eller begge sidene.";
+Blockly.Msg["TODAY"] = "I dag";
+Blockly.Msg["UNDO"] = "Angre";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "element";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Opprett 'sett %1'";
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Returnerer verdien av denne variabelen.";
+Blockly.Msg["VARIABLES_SET"] = "sett %1 til %2";
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Opprett 'hent %1'";
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Setter verdien av denne variablen lik parameteren.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "En variabel med navn «%1» finnes allerede.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "En variabel med navn «%1» finnes allerede for en annen type: «%2».";
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Si noe â€¦";
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/nl.js b/js/msg/js/nl.js
new file mode 100644 (file)
index 0000000..9379478
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.nl');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "Opmerking toevoegen";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "De variabele \"%1\" kan niet verwijderd worden omdat die onderdeel uitmaakt van de definitie van de functie \"%2\"";
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "Waarde wijzigen:";
+Blockly.Msg["CLEAN_UP"] = "Blokken opschonen";
+Blockly.Msg["COLLAPSE_ALL"] = "Blokken samenvouwen";
+Blockly.Msg["COLLAPSE_BLOCK"] = "Blok samenvouwen";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "kleur 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "kleur 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "verhouding";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "mengen";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "Mengt twee kleuren samen met een bepaalde verhouding (0.0 - 1.0).";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://nl.wikipedia.org/wiki/Kleur";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "Kies een kleur in het palet.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "willekeurige kleur";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "Kies een willekeurige kleur.";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "blauw";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "groen";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";
+Blockly.Msg["COLOUR_RGB_RED"] = "rood";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "kleuren met";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "Maak een kleur met de opgegeven hoeveelheid rood, groen en blauw.  Alle waarden moeten tussen 0 en 100 liggen.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "uit lus breken";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "doorgaan met de volgende iteratie van de lus";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "uit de bovenliggende lus breken";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "De rest van deze lus overslaan en doorgaan met de volgende herhaling.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "Waarschuwing: dit blok mag alleen gebruikt worden in een lus.";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "voor ieder item %1 in lijst %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "Voor ieder item in een lijst, stel de variabele \"%1\" in op het item en voer daarna opdrachten uit.";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "rekenen met %1 van %2 tot %3 in stappen van %4";
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "Laat de variabele \"%1\" de waarden aannemen van het beginnummer tot het laatste nummer, tellende met het opgegeven interval, en met uitvoering van de opgegeven blokken.";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "Voeg een voorwaarde toe aan het als-blok.";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "Voeg een laatste, vang-alles conditie toe aan het als-statement.";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Voeg stukken toe, verwijder of wijzig de volgorde om dit \"als\"-blok te wijzigen.";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "anders";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "anders als";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "als";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "Als een waarde waar is, voer dan opdrachten uit.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "Als een waarde waar is, voert dan het eerste blok met opdrachten uit. Voer andere het tweede blok met opdrachten uit.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "Als de eerste waarde waar is, voer dan het eerste blok met opdrachten uit. Voer anders, als de tweede waarde waar is, het tweede blok met opdrachten uit.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "Als de eerste waarde \"waar\" is, voer dan het eerste blok uit. Voer anders wanneer de tweede waarde \"waar\" is, het tweede blok uit. Als geen van beide waarden waar zijn, voer dan het laatste blok uit.";
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://nl.wikipedia.org/wiki/Repetitie_(informatica)#For_en_Foreach";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "voer uit";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "%1 keer herhalen";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "Voer een aantal opdrachten meerdere keren uit.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "herhalen totdat";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "herhalen zolang";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "Terwijl een waarde onwaar is de volgende opdrachten uitvoeren.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "Terwijl een waarde waar is de volgende opdrachten uitvoeren.";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "Alle %1 blokken verwijderen?";
+Blockly.Msg["DELETE_BLOCK"] = "Blok verwijderen";
+Blockly.Msg["DELETE_VARIABLE"] = "Verwijder de variabele \"%1\"";
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "%1 gebruiken van de variabele \"%2\" verwijderen?";
+Blockly.Msg["DELETE_X_BLOCKS"] = "%1 blokken verwijderen";
+Blockly.Msg["DISABLE_BLOCK"] = "Blok uitschakelen";
+Blockly.Msg["DUPLICATE_BLOCK"] = "Duplicaat";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Opmerking dupliceren";
+Blockly.Msg["ENABLE_BLOCK"] = "Blok inschakelen";
+Blockly.Msg["EXPAND_ALL"] = "Blokken uitvouwen";
+Blockly.Msg["EXPAND_BLOCK"] = "Blok uitvouwen";
+Blockly.Msg["EXTERNAL_INPUTS"] = "Externe invoer";
+Blockly.Msg["HELP"] = "Hulp";
+Blockly.Msg["INLINE_INPUTS"] = "Inline invoer";
+Blockly.Msg["IOS_CANCEL"] = "Annuleren";
+Blockly.Msg["IOS_ERROR"] = "Fout";
+Blockly.Msg["IOS_OK"] = "OK";
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Invoer toevoegen";
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Statements toestaan";
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "Deze functie heeft dubbele invoeren.";
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "INVOER";
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "Toevoegen";
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Variabele toevoegen";
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "Verwijderen";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "U kunt geen lege variabelenaam gebruiken.";
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Hernoemen";
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Variabelenaam";
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "maak een lege lijst";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Geeft een lijst terug met lengte 0, zonder items";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "lijst";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Voeg stukken toe, verwijder ze of wijzig de volgorde om dit lijstblok aan te passen.";
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "maak een lijst met";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Voeg iets toe aan de lijst.";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Maak een lijst met een willekeurig aantal items.";
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "eerste";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "# van einde";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "haal op";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "haal op en verwijder";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "laatste";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "willekeurig";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "verwijder";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Geeft het eerste item in een lijst terug.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Geeft het item op de opgegeven positie in een lijst.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Geeft het laatste item in een lijst terug.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Geeft een willekeurig item uit een lijst.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "Geeft het laatste item in een lijst terug en verwijdert het.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "Geeft het item op de opgegeven positie in een lijst terug en verwijdert het.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "Geeft het laatste item uit een lijst terug en verwijdert het.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Geeft een willekeurig item in een lijst terug en verwijdert het.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "Verwijdert het eerste item in een lijst.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "Verwijdert het item op de opgegeven positie in een lijst.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "Verwijdert het laatste item uit een lijst.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Verwijdert een willekeurig item uit een lijst.";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "naar # vanaf einde";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "naar item";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "naar laatste";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "haal sublijst op vanaf eerste";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "haal sublijst op van positie vanaf einde";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "haal sublijst op vanaf positie";
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Maakt een kopie van het opgegeven deel van de lijst.";
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "Item %1 is het laatste item.";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "Item %1 is het eerste item.";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "zoek eerste voorkomen van 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"] = "zoek laatste voorkomen van item";
+Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "Geeft de index terug van het eerste of laatste voorkomen van een item in de lijst. Geeft %1 terug als het item niet is gevonden.";
+Blockly.Msg["LISTS_INLIST"] = "in lijst";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 is leeg";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Geeft waar terug als de lijst leeg is.";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "lengte van %1";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Geeft de lengte van een lijst terug.";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "Maak lijst met item %1, %2 keer herhaald";
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Maakt een lijst die bestaat uit de opgegeven waarde, het opgegeven aantal keer herhaald.";
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";  // untranslated
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "%1 omkeren";
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Keert een kopie van een lijst om.";
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "als";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "tussenvoegen op";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "stel in";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Voegt het item toe aan het begin van de lijst.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Voegt het item op een opgegeven positie in een lijst in.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Voeg het item aan het einde van een lijst toe.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Voegt het item op een willekeurige positie in de lijst in.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Stelt het eerste item in een lijst in.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Zet het item op de opgegeven positie in de lijst.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Stelt het laatste item van een lijst in.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Stelt een willekeurig item uit de lijst in.";
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "oplopend";
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "aflopend";
+Blockly.Msg["LISTS_SORT_TITLE"] = "sorteer %1 %2 %3";
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Sorteer een kopie van een lijst.";
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "alfabetisch, negeer hoofd-/kleine letters";
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "numeriek";
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "alfabetisch";
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "lijst maken van tekst";
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "tekst maken van lijst";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Lijst van tekstdelen samenvoegen in één stuk tekst, waarbij de tekstdelen gescheiden zijn door een scheidingsteken.";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Tekst splitsen in een lijst van teksten op basis van een scheidingsteken.";
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "met scheidingsteken";
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "onwaar";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "Geeft \"waar\" of \"onwaar\" terug.";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "waar";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://nl.wikipedia.org/wiki/Ongelijkheid_(wiskunde)";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Geeft \"waar\", als beide waarden gelijk aan elkaar zijn.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Geeft \"waar\" terug als de eerste invoer meer is dan de tweede invoer.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Geeft \"waar\" terug als de eerste invoer groter is of gelijk aan de tweede invoer.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "Geeft \"waar\" als de eerste invoer kleiner is dan de tweede invoer.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "Geeft \"waar\" terug als de eerste invoer kleiner of gelijk is aan de tweede invoer.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "Geeft \"waar\" terug als de waarden niet gelijk zijn aan elkaar.";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "niet %1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "Geeft \"waar\" terug als de invoer \"onwaar\" is. Geeft \"onwaar\" als de invoer \"waar\" is.";
+Blockly.Msg["LOGIC_NULL"] = "niets";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "Geeft niets terug.";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "en";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";
+Blockly.Msg["LOGIC_OPERATION_OR"] = "of";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "Geeft waar als beide waarden waar zijn.";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "Geeft \"waar\" terug als in ieder geval één van de waarden waar is.";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "test";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "als onwaar";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "als waar";
+Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "Test de voorwaarde in \"test\". Als de voorwaarde \"waar\" is, geef de waarde van \"als waar\" terug; geef anders de waarde van \"als onwaar\" terug.";
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://nl.wikipedia.org/wiki/Rekenen";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Geeft de som van 2 getallen.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Geeft de gedeelde waarde van twee getallen.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Geeft het verschil van de twee getallen.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Geeft het product terug van de twee getallen.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Geeft het eerste getal tot de macht van het tweede getal.";
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";
+Blockly.Msg["MATH_CHANGE_TITLE"] = "%1 wijzigen met %2";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Voegt een getal toe aan variabele \"%1\".";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://nl.wikipedia.org/wiki/Wiskundige_constante";
+Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "Geeft een van de vaak voorkomende constante waardes:  Ï€ (3.141…), e (2.718…), Ï† (1.618…), âˆš2 (1.414…), âˆšÂ½ (0.707…), of âˆž (oneindig).";
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "beperk %1 van minimaal %2 tot maximaal %3";
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Beperk een getal tussen de twee opgegeven limieten (inclusief).";
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "is deelbaar door";
+Blockly.Msg["MATH_IS_EVEN"] = "is even";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "is negatief";
+Blockly.Msg["MATH_IS_ODD"] = "is oneven";
+Blockly.Msg["MATH_IS_POSITIVE"] = "is positief";
+Blockly.Msg["MATH_IS_PRIME"] = "is priemgetal";
+Blockly.Msg["MATH_IS_TOOLTIP"] = "Test of een getal even, oneven, een priemgetal, geheel, positief of negatief is, of deelbaar is door een bepaald getal. Geeft \"waar\" of \"onwaar\".";
+Blockly.Msg["MATH_IS_WHOLE"] = "is geheel getal";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://nl.wikipedia.org/wiki/Modulair_rekenen";
+Blockly.Msg["MATH_MODULO_TITLE"] = "restgetal van %1 ÷ %2";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Geeft het restgetal van het resultaat van de deling van de twee getallen.";
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://nl.wikipedia.org/wiki/Getal_%28wiskunde%29";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "Een getal.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "gemiddelde van lijst";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "hoogste uit lijst";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "mediaan van lijst";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "laagste uit lijst";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "modi van lijst";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "willekeurige item van lijst";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "standaarddeviatie van lijst";
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "som van lijst";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Geeft het gemiddelde terug van de numerieke waardes in een lijst.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "Geeft het grootste getal in een lijst.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "Geeft de mediaan in de lijst.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "Geeft het kleinste getal uit een lijst.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Geeft een lijst van de meest voorkomende onderdelen in de lijst.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Geeft een willekeurig item uit de lijst terug.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Geeft de standaardafwijking van de lijst.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Geeft de som van alle getallen in de lijst.";
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://nl.wikipedia.org/wiki/Toevalsgenerator";
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "willekeurige fractie";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Geeft een willekeurige fractie tussen 0.0 (inclusief) en 1.0 (exclusief).";
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://nl.wikipedia.org/wiki/Toevalsgenerator";
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "willekeurig geheel getal van %1 tot %2";
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Geeft een willekeurig getal tussen de 2 opgegeven limieten in, inclusief.";
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://nl.wikipedia.org/wiki/Afronden";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "afronden";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "naar beneden afronden";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "omhoog afronden";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Rondt een getal af omhoog of naar beneden.";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://nl.wikipedia.org/wiki/Vierkantswortel";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "absoluut";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "wortel";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Geeft de absolute waarde van een getal.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Geeft e tot de macht van een getal.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "Geeft het natuurlijk logaritme van een getal.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "Geeft het logaritme basis 10 van een getal.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Geeft de negatief van een getal.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Geeft 10 tot de macht van een getal.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Geeft de wortel van een getal.";
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";
+Blockly.Msg["MATH_TRIG_ACOS"] = "acos";
+Blockly.Msg["MATH_TRIG_ASIN"] = "asin";
+Blockly.Msg["MATH_TRIG_ATAN"] = "arctan";
+Blockly.Msg["MATH_TRIG_COS"] = "cos";
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://nl.wikipedia.org/wiki/Goniometrische_functie";
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Geeft de arccosinus van een getal.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Geeft de arcsinus van een getal.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Geeft de arctangens van een getal.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Geeft de cosinus van een graad (geen radialen).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Geeft de sinus van een graad (geen radialen).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Geeft de tangens van een graad (geen radialen).";
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Creëer kleurvariabele";
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Creëer numeriek variabele";
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Creëer tekstvariabele";
+Blockly.Msg["NEW_VARIABLE"] = "Variabele maken...";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "Nieuwe variabelenaam:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "Nieuw soort variabele";
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "statements toestaan";
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "met:";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://nl.wikipedia.org/wiki/Subprogramma";
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Voer de door de gebruiker gedefinieerde functie \"%1\" uit.";
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://nl.wikipedia.org/wiki/Subprogramma";
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Voer de door de gebruiker gedefinieerde functie \"%1\" uit en gebruik de uitvoer.";
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "met:";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "Maak \"%1\"";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Deze functie beschrijven...";
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://nl.wikipedia.org/wiki/Subprogramma";
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "doe iets";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "om";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Maakt een functie zonder uitvoer.";
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://nl.wikipedia.org/wiki/Subprogramma";
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "uitvoeren";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "Maakt een functie met een uitvoer.";
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "Waarschuwing: deze functie heeft parameters met dezelfde naam.";
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "Accentueer functiedefinitie";
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "Als de eerste waarde \"waar\" is, geef dan de tweede waarde terug.";
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "Waarschuwing: dit blok mag alleen gebruikt worden binnen de definitie van een functie.";
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "invoernaam:";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Een invoer aan de functie toevoegen.";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "ingangen";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Invoer van deze functie toevoegen, verwijderen of herordenen.";
+Blockly.Msg["REDO"] = "Opnieuw";
+Blockly.Msg["REMOVE_COMMENT"] = "Opmerking verwijderen";
+Blockly.Msg["RENAME_VARIABLE"] = "Variabele hernoemen...";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Alle variabelen \"%1\" hernoemen naar:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";
+Blockly.Msg["TEXT_APPEND_TITLE"] = "voor%1 voeg tekst toe van %2";
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Voeg tekst toe aan de variabele \"%1\".";
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "naar kleine letters";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "naar Hoofdletter Per Woord";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "naar HOOFDLETTERS";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Geef een kopie van de tekst met veranderde hoofdletters terug.";
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "haal eerste letter op";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "haal letter # op vanaf einde";
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "haal letter # op";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";
+Blockly.Msg["TEXT_CHARAT_LAST"] = "haal laatste letter op";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "haal willekeurige letter op";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "in tekst %1 %2";
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Geeft de letter op de opgegeven positie terug.";
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";  // untranslated
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "%1 in %2 tellen";
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Tel hoe vaak bepaalde tekst voorkomt in andere tekst.";
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Voegt een item aan de tekst toe.";
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "samenvoegen";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Toevoegen, verwijderen of volgorde wijzigen van secties om dit tekstblok opnieuw in te stellen.";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "van letter # tot einde";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "naar letter #";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "naar laatste 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 tekst";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "haal subtekst op van eerste letter";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "haal subtekst op vanaf letter # vanaf einde";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "haal subtekst op vanaf letter #";
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Geeft het opgegeven onderdeel van de tekst terug.";
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "zoek eerste voorkomen van tekst";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "zoek het laatste voorkomen van tekst";
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "in tekst %1 %2 %3";
+Blockly.Msg["TEXT_INDEXOF_TOOLTIP"] = "Geeft de index terug van het eerste of laatste voorkomen van de eerste tekst in de tweede tekst. Geeft %1 terug als de tekst niet gevonden is.";
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 is leeg";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Geeft \"waar\" terug, als de opgegeven tekst leeg is.";
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "maak tekst met";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Maakt een stuk tekst door één of meer items samen te voegen.";
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "lengte van %1";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Geeft het aantal tekens terug (inclusief spaties) in de opgegeven tekst.";
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";
+Blockly.Msg["TEXT_PRINT_TITLE"] = "tekst weergeven: %1";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Drukt de opgegeven tekst, getal of een andere waarde af.";
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Vraagt de gebruiker om een getal in te voeren.";
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Vraagt de gebruiker om invoer.";
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "vraagt de gebruiker om een getal met de tekst";
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "vraagt om invoer met bericht";
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";  // untranslated
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "vervang %1 door %2 in %3";
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Vervang alle voorkomens van tekst in een andere tekst.";
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";  // untranslated
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "%1 omkeren";
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Keert de volgorde van de tekens in de tekst om.";
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://nl.wikipedia.org/wiki/String_%28informatica%29";
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "Een letter, woord of een regel tekst.";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "spaties van beide kanten afhalen van";
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "spaties van de linkerkant verwijderen van";
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "spaties van de rechterkant verwijderen van";
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Geeft een kopie van de tekst met verwijderde spaties van één of beide kanten.";
+Blockly.Msg["TODAY"] = "Vandaag";
+Blockly.Msg["UNDO"] = "Ongedaan maken";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "item";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Maak \"verander %1\"";
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Geeft de waarde van deze variabele.";
+Blockly.Msg["VARIABLES_SET"] = "stel %1 in op %2";
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Maak 'opvragen van %1'";
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Verandert de waarde van de variabele naar de waarde van de invoer.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "Er bestaat al een variabele met de naam \"%1\".";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "Een variabele met de naam '%1' bestaat al voor een ander soort variabele: '%2'.";
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Zeg iets...";
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/oc.js b/js/msg/js/oc.js
new file mode 100644 (file)
index 0000000..fb76cb7
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.oc');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "Apondre un comentari";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "Can't delete the variable '%1' because it's part of the definition of the function '%2'";  // untranslated
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "Modificar la valor :";
+Blockly.Msg["CLEAN_UP"] = "Netejar los blòts";
+Blockly.Msg["COLLAPSE_ALL"] = "Redusir los blòts";
+Blockly.Msg["COLLAPSE_BLOCK"] = "Redusir lo blòt";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "color 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "color 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";  // untranslated
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "ratio";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "mesclar";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "Blends two colours together with a given ratio (0.0 - 1.0).";  // untranslated
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://oc.wikipedia.org/wiki/Color";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "Causir una color dins la paleta.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "color aleatòria";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "Causir una color a l'azard.";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "blau";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "verd";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";  // untranslated
+Blockly.Msg["COLOUR_RGB_RED"] = "roge";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "coloriar amb";
+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.";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "quitar la bocla";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "passar a l’iteracion de bocla seguenta";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "Sortir de la bocla englobanta.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "Skip the rest of this loop, and continue with the next iteration.";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "Warning: This block may only be used within a loop.";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "per cada element %1 dins la lista %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "For each item in a list, set the variable '%1' to the item, and then do some statements.";  // untranslated
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "comptar amb %1 de %2 a %3 per %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.";  // untranslated
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "Apondre una condicion al blòt 'se'.";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "Add a final, catch-all condition to the if block.";  // untranslated
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this if block.";  // untranslated
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "siquenon";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "siquenon se";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "se";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "If a value is true, then do some statements.";  // untranslated
+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.";  // untranslated
+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.";  // untranslated
+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.";  // untranslated
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://oc.wikipedia.org/wiki/For_loop";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "far";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "repetir %1 còps";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "Do some statements several times.";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "repetir fins a";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "repetir tant que";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "While a value is false, then do some statements.";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "While a value is true, then do some statements.";  // untranslated
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "Suprimir totes los %1 blòts ?";
+Blockly.Msg["DELETE_BLOCK"] = "Suprimir lo blòt";
+Blockly.Msg["DELETE_VARIABLE"] = "Suprimir la variabla '%1'";
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Delete %1 uses of the '%2' variable?";  // untranslated
+Blockly.Msg["DELETE_X_BLOCKS"] = "Suprimir %1 blòts";
+Blockly.Msg["DISABLE_BLOCK"] = "Desactivar lo blòt";
+Blockly.Msg["DUPLICATE_BLOCK"] = "Duplicar";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicate Comment";  // untranslated
+Blockly.Msg["ENABLE_BLOCK"] = "Activar lo blòt";
+Blockly.Msg["EXPAND_ALL"] = "Desvolopar los blòts";
+Blockly.Msg["EXPAND_BLOCK"] = "Desvolopar lo blòt";
+Blockly.Msg["EXTERNAL_INPUTS"] = "Entradas extèrnas";
+Blockly.Msg["HELP"] = "Ajuda";
+Blockly.Msg["INLINE_INPUTS"] = "Entradas en linha";
+Blockly.Msg["IOS_CANCEL"] = "Anullar";
+Blockly.Msg["IOS_ERROR"] = "Error";
+Blockly.Msg["IOS_OK"] = "D'acòrdi";
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Apondre una entrada";
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Òrdres autorizats";
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "Aquesta foncion a d'entradas duplicadas.";
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "ENTRADAS";
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "Apondre";
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Apondre una variabla";
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "Suprimir";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "Podètz pas utilizar un nom de variabla void.";
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Renomenar";
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Nom de la variabla";
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "crear una lista voida";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Returns a list, of length 0, containing no data records";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "lista";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this list block.";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "crear una lista amb";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Apondre un element a la lista.";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Create a list with any number of items.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "primièr";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "# dempuèi la fin";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "obténer";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "obténer e suprimir";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "darrièr";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "aleatòri";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "suprimit";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Renvia lo primièr element dins una lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Renvia l'element de la posicion especificada dins la lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Returns the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Returns a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "Removes and returns the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "Removes and returns the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "Removes and returns the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Removes and returns a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "Removes the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "Removes the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "Removes the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Removes a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "fins a # dempuèi la fin";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "fins a #";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "fins a la fin";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "get sub-list from first";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "get sub-list from # from end";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "get sub-list from #";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Creates a copy of the specified portion of a list.";  // untranslated
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 es lo darrièr element.";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 es lo primièr element.";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "find first occurrence of item";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "find last occurrence of item";  // untranslated
+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.";  // untranslated
+Blockly.Msg["LISTS_INLIST"] = "dins la lista";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 es voida";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Returns true if the list is empty.";  // untranslated
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "longitud de %1";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Returns the length of a list.";  // untranslated
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "create list with item %1 repeated %2 times";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Creates a list consisting of the given value repeated the specified number of times.";  // untranslated
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";  // untranslated
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "inversar %1";
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Inversar la còpia d’una lista.";
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "coma";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "inserir en";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "metre";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Inserts the item at the start of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Inserts the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Append the item to the end of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Inserts the item randomly in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Sets the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Sets the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Sets the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Sets a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";  // untranslated
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "creissent";
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "descreissent";
+Blockly.Msg["LISTS_SORT_TITLE"] = "triar %1 %2 %3";
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Sort a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "alphabetic, ignore case";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "numeric";
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "alfabetic";
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "make list from text";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "make text from list";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Join a list of texts into one text, separated by a delimiter.";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Split text into a list of texts, breaking at each delimiter.";  // untranslated
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "amb lo separador";
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "fals";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "Renvia siá verai siá fals.";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "verai";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://fr.wikipedia.org/wiki/Inegalite_(mathematiques)";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Renviar verai se las doas entradas son egalas.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Return true if the first input is greater than the second input.";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Return true if the first input is greater than or equal to the second input.";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "Return true if the first input is smaller than the second input.";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "Return true if the first input is smaller than or equal to the second input.";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "Renviar verai se las doas entradas son diferentas.";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "pas %1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "Returns true if the input is false. Returns false if the input is true.";  // untranslated
+Blockly.Msg["LOGIC_NULL"] = "nul";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";  // untranslated
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "Renvia nul.";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "e";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "o";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "Renviar verai se las doas entradas son vertadièras.";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "Return true if at least one of the inputs is true.";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "tèst";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "se fals";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "se verai";
+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.";  // untranslated
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://oc.wikipedia.org/wiki/Aritmetica";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Renvia la soma dels dos nombres.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Return the quotient of the two numbers.";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Return the difference of the two numbers.";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Return the product of the two numbers.";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Return the first number raised to the power of the second number.";  // untranslated
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";  // untranslated
+Blockly.Msg["MATH_CHANGE_TITLE"] = "incrementar %1 per %2";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Add a number to variable '%1'.";  // untranslated
+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).";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "constrénher %1 entre %2 e %3";
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Constrain a number to be between the specified limits (inclusive).";  // untranslated
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";  // untranslated
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "es devesible per";
+Blockly.Msg["MATH_IS_EVEN"] = "es par";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "es negatiu";
+Blockly.Msg["MATH_IS_ODD"] = "es impar";
+Blockly.Msg["MATH_IS_POSITIVE"] = "es positiu";
+Blockly.Msg["MATH_IS_PRIME"] = "es primièr";
+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.";  // untranslated
+Blockly.Msg["MATH_IS_WHOLE"] = "es entièr";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://en.wikipedia.org/wiki/Modulo_operation";
+Blockly.Msg["MATH_MODULO_TITLE"] = "residú de %1 ÷ %2";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Return the remainder from dividing the two numbers.";  // untranslated
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";  // untranslated
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://oc.wikipedia.org/wiki/Nombre";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "Un nombre.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "mejana de la lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "maximum de la lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "mediana de la lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "minimum de la lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "majoritaris de la lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "element aleatòri de lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "escart-tipe de la lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "soma de la lista";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Return the average (arithmetic mean) of the numeric values in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "Return the largest number in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "Return the median number in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "Return the smallest number in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Return a list of the most common item(s) in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Return a random element from the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Return the standard deviation of the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Return the sum of all the numbers in the list.";  // untranslated
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "fraccion aleatòria";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Return a random fraction between 0.0 (inclusive) and 1.0 (exclusive).";  // untranslated
+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";  // untranslated
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Return a random integer between the two specified limits, inclusive.";  // untranslated
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://en.wikipedia.org/wiki/Rounding";  // untranslated
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "arredondir";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "arredondir a l’inferior";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "arredondir al superior";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Round a number up or down.";  // untranslated
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://fr.wikipedia.org/wiki/Racine_carree";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "absolut";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "raiç carrada";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Renvia la valor absoluda d’un nombre.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Renvia a la poténcia d’un nombre.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "Renvia lo logaritme natural d’un nombre.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "Renvia lo logaritme decimal d’un nombre.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Renvia l’opausat d’un nombre";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Renvia 10 a la poténcia d’un nombre.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Renvia la raiç carrada d’un nombre.";
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";  // untranslated
+Blockly.Msg["MATH_TRIG_ACOS"] = "acos";  // untranslated
+Blockly.Msg["MATH_TRIG_ASIN"] = "asin";  // untranslated
+Blockly.Msg["MATH_TRIG_ATAN"] = "atan";  // untranslated
+Blockly.Msg["MATH_TRIG_COS"] = "cos";  // untranslated
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://en.wikipedia.org/wiki/Trigonometric_functions";
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";  // untranslated
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Renvia l’arccosinus d’un nombre.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Renvia l’arcsinus d’un nombre.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Renvia l’arctangenta d’un nombre.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Renvia lo cosinus d’un angle en grases (pas en radians).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Renvia lo sinus d’un angle en grases (pas en radians).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Renvia la tangenta d’un angle en grases (pas en radians).";
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Crear una variabla color…";
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Crear una variabla nombre…";
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Crear una variabla cadena…";
+Blockly.Msg["NEW_VARIABLE"] = "Crear una variabla...";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "Nom de la novèla variabla :";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "Novèl tipe de variabla :";
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "autorizar los òrdres";
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "amb :";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Run the user-defined function '%1'.";  // untranslated
+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.";  // untranslated
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "amb :";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "Crear '%1'";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Describe this function...";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "far quicòm";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "a";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Creates a function with no output.";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "retorn";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "Creates a function with an output.";  // untranslated
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "Warning: This function has duplicate parameters.";  // untranslated
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "Highlight function definition";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "If a value is true, then return a second value.";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "Warning: This block may be used only within a function definition.";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "nom de l’entrada :";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Add an input to the function.";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "entradas";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Add, remove, or reorder inputs to this function.";  // untranslated
+Blockly.Msg["REDO"] = "Refar";
+Blockly.Msg["REMOVE_COMMENT"] = "Suprimir un comentari";
+Blockly.Msg["RENAME_VARIABLE"] = "Renomenar la variabla…";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Renomenar totas las variablas « %1 » a :";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "a %1 apondre lo tèxte %2";
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Append some text to variable '%1'.";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "en minusculas";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "en Majuscula Al Començament De Cada Mot";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "en MAJUSCULAS";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Return a copy of the text in a different case.";  // untranslated
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "obténer la primièra letra";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "obténer la letra # dempuèi la fin";
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "obténer la letra #";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "obténer la darrièra letra";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "obténer una letra a l'azard";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "dins lo tèxte %1 %2";
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Renvia la letra a la posicion indicada.";
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";  // untranslated
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "nombre %1 sus %2";
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Count how many times some text occurs within some other text.";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Add an item to the text.";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "jónher";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this text block.";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "to letter # from end";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "fins a la letra #";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "fins a la darrièra letra";
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "dins lo tèxte";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "get substring from first letter";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "get substring from letter # from end";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "get substring from letter #";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Returns a specified portion of the text.";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "find first occurrence of text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "find last occurrence of text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "dins lo tèxte %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.";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 es void";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Returns true if the provided text is empty.";  // untranslated
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "crear un tèxte amb";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Create a piece of text by joining together any number of items.";  // untranslated
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "longor de %1";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Returns the number of letters (including spaces) in the provided text.";  // untranslated
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "afichar %1";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Print the specified text, number or other value.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Prompt for user for a number.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Prompt for user for some text.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "prompt for number with message";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "prompt for text with message";  // untranslated
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";  // untranslated
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "replace %1 with %2 in %3";  // untranslated
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Replace all occurances of some text within some other text.";  // untranslated
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";  // untranslated
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "inversar %1";
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Reverses the order of the characters in the text.";  // untranslated
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://en.wikipedia.org/wiki/String_(computer_science)";
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "Una letra, un mot o una linha de tèxte.";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "suprimir los espacis dels dos costats";
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "trim spaces from left side of";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "trim spaces from right side of";  // untranslated
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Return a copy of the text with spaces removed from one or both ends.";  // untranslated
+Blockly.Msg["TODAY"] = "Uèi";
+Blockly.Msg["UNDO"] = "Anullar";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "element";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Crear 'fixar %1'";
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Returns the value of this variable.";  // untranslated
+Blockly.Msg["VARIABLES_SET"] = "fixar %1 a %2";
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Crear 'obténer %1'";
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Sets this variable to be equal to the input.";  // untranslated
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "Existís ja una variabla nomenada \"%1\".";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "A variable named '%1' already exists for another type: '%2'.";  // untranslated
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something...";  // untranslated
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/pl.js b/js/msg/js/pl.js
new file mode 100644 (file)
index 0000000..163468d
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.pl');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "Dodaj Komentarz";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "Nie można usunąć zmiennej '%1', ponieważ jest częściÄ… definicji funkcji '%2'";
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "ZmieÅ„ wartość:";
+Blockly.Msg["CLEAN_UP"] = "UporzÄ…dkuj Bloki";
+Blockly.Msg["COLLAPSE_ALL"] = "ZwiÅ„ Bloki";
+Blockly.Msg["COLLAPSE_BLOCK"] = "ZwiÅ„ Klocek";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "kolor 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "kolor 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "proporcja";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "wymieszaj";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "Miesza dwa kolory w danej proporcji (0.0 - 1.0).";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://en.wikipedia.org/wiki/Color";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "Wybierz kolor z palety.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "losowy kolor";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "Wybierz kolor w sposób losowy.";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "niebieski";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "zielony";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";
+Blockly.Msg["COLOUR_RGB_RED"] = "czerwony";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "kolor z";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "Utwórz kolor skÅ‚adajÄ…cy sie z podanej iloÅ›ci czerwieni, zieleni i bÅ‚Ä™kitu. Zakres wartoÅ›ci: 0 do 100.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "przerwij pÄ™tlÄ™";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "przejdź do kolejnej iteracji pÄ™tli";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "Przerwij dziaÅ‚anie pÄ™tli.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "PomiÅ„ resztÄ™ pÄ™tli i kontynuuj w kolejnej iteracji.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "Uwaga: Ten klocek może być użyty tylko wewnÄ…trz pÄ™tli.";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "dla każdego elementu %1 listy %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "Przypisz zmiennej '%1' kolejno wartość każdego elementu listy, a nastÄ™pnie wykonaj kilka instrukcji.";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "licz z %1 od %2 do %3 co %4 (wartość kroku)";
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "Zmiennej '%1' przypisuje wartoÅ›ci z podanego zakresu z podanym interwaÅ‚em i wykonuje zadane bloki.";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "Dodaj warunek do klocka â€žjeÅ›liâ€.";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "Dodaj ostatni zawsze prawdziwy warunek do klocka â€žjeÅ›liâ€.";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Dodaj, usuÅ„ lub zmieÅ„ kolejność czynnoÅ›ci, Å¼eby zmodyfikować ten klocek â€žjeÅ›liâ€.";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "w przeciwnym razie";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "w przeciwnym razie, jeÅ›li";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "jeÅ›li";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "JeÅ›li warunek jest speÅ‚niony, wykonaj zadane czynnoÅ›ci.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "JeÅ›li warunek jest speÅ‚niony, wykonaj pierwszy blok instrukcji.  W przeciwnym razie, wykonaj drugi blok instrukcji.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "JeÅ›li pierwszy warunek jest speÅ‚niony, wykonaj pierwszy blok instrukcji.  W przeciwnym razie, jeÅ›li drugi warunek jest speÅ‚niony, wykonaj drugi blok instrukcji.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "JeÅ›li pierwszy warunek jest speÅ‚niony, wykonaj pierwszy blok czynnoÅ›ci.  W przeciwnym razie jeÅ›li drugi warunek jest speÅ‚niony, wykonaj drugi blok czynnoÅ›ci.  Jeżeli Å¼aden z warunków nie zostanie speÅ‚niony, wykonaj ostatni blok czynnoÅ›ci.";
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://en.wikipedia.org/wiki/For_loop";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "wykonaj";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "powtórz %1 razy";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "Wykonaj niektóre instrukcje kilka razy.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "powtarzaj aż do";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "powtarzaj dopóki";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "Dopóki wyrażenie jest nieprawdziwe, wykonaj zadane czynnoÅ›ci.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "Dopóki wyrażenie jest prawdziwe, wykonaj zadane czynnoÅ›ci.";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "Usunąć wszystkie klocki z %1?";
+Blockly.Msg["DELETE_BLOCK"] = "UsuÅ„ Klocek";
+Blockly.Msg["DELETE_VARIABLE"] = "UsuÅ„ zmiennÄ… '%1'";
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Usunąć %1 wystÄ…pieÅ„ zmiennej '%2'?";
+Blockly.Msg["DELETE_X_BLOCKS"] = "UsuÅ„ %1 Bloki(ów)";
+Blockly.Msg["DISABLE_BLOCK"] = "WyÅ‚Ä…cz Klocek";
+Blockly.Msg["DUPLICATE_BLOCK"] = "Powiel";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Zduplikowany komentarz";
+Blockly.Msg["ENABLE_BLOCK"] = "WÅ‚Ä…cz Blok";
+Blockly.Msg["EXPAND_ALL"] = "RozwiÅ„ Bloki";
+Blockly.Msg["EXPAND_BLOCK"] = "RozwiÅ„ Klocek";
+Blockly.Msg["EXTERNAL_INPUTS"] = "ZewnÄ™trzne WejÅ›cia";
+Blockly.Msg["HELP"] = "Pomoc";
+Blockly.Msg["INLINE_INPUTS"] = "Wbudowane WejÅ›cia";
+Blockly.Msg["IOS_CANCEL"] = "Anuluj";
+Blockly.Msg["IOS_ERROR"] = "BÅ‚Ä…d";
+Blockly.Msg["IOS_OK"] = "OK";
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Dodaj WejÅ›cie";
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Zezwalaj na czynnoÅ›ci.";
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "Ta funkcja ma zduplikowane wejÅ›cia.";
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "WEJÅšCIA";
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "Dodaj";
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Dodaj ZmiennÄ…";
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "UsuÅ„";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "Nie możesz utworzyć funkcji bez nazwy.";
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "ZmieÅ„ nazwÄ™";
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Nazwa zmiennej";
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "utwórz pustÄ… listÄ™";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Zwraca listÄ™ o dÅ‚ugoÅ›ci 0, nie zawierajÄ…cÄ… danych";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "lista";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Dodaj, usuÅ„ lub zmieÅ„ kolejność sekcji aby przekonfigurować blok tej listy.";
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "utwórz listÄ™ z";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Dodaj element do listy.";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Utwórz listÄ™ z dowolnÄ… iloÅ›ciÄ… elementów.";
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "pierwszy";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "# od koÅ„ca";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "pobierz";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "zabierz";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "ostatni";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "losowy";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "usuÅ„";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Zwraca pierwszy element z listy.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Zwraca element z konkretnej pozycji na liÅ›cie.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Zwraca ostatni element z listy.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Zwraca losowy element z listy.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "Usuwa i zwraca pierwszy element z listy.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "Usuwa i zwraca element z okreÅ›lonej pozycji na liÅ›cie.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "Usuwa i zwraca ostatni element z listy.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Usuwa i zwraca losowy element z listy.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "Usuwa pierwszy element z listy.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "Usuwa element z okreÅ›lonej pozycji na liÅ›cie.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "Usuwa ostatni element z listy.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Usuwa losowy element z listy.";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "do # od koÅ„ca";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "do #";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "do ostatniego";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "utwórz listÄ™ podrzÄ™dnÄ… od pierwszego";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "utwórz listÄ™ podrzÄ™dnÄ… z # od koÅ„ca";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "utwórz listÄ™ podrzÄ™dnÄ… z #";
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Tworzy kopiÄ™ Å¼Ä…danej części listy.";
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 to ostatni element.";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 to pierwszy element.";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "znajdź pierwsze wystÄ…pienie elementu";
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "znajdź ostatanie wystÄ…pienie elementu";
+Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "Zwraca indeks pierwszego/ostatniego wystÄ…pienia elementu z listy. Zwraca %1, jeÅ›li nie zostanie znaleziony.";
+Blockly.Msg["LISTS_INLIST"] = "na liÅ›cie";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 jest pusta";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Zwraca \"prawda\" jeÅ›li lista jest pusta.";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "dÅ‚ugość %1";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Zwraca dÅ‚ugość listy.";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "utwórz listÄ™ powtarzajÄ…c %1 %2 razy.";
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Tworzy listÄ™ zawierajÄ…cÄ… podanÄ… wartość powtórzonÄ… Å¼Ä…danÄ… ilość razy.";
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";  // untranslated
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "odwróć %1";
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Odwraca kolejność danych w kopii listy.";
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "jako";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "wstaw w";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "ustaw";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Wstawia element na poczÄ…tku listy.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Wstawia element na Å¼Ä…danej pozycji listy.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Dodaj element na koniec listy.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Wstawia element w losowym miejscu na liÅ›cie.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Ustawia pierwszy element na liÅ›cie.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Ustawia element w okreÅ›lonym miejscu na liÅ›cie.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Ustawia ostatni element na liÅ›cie.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Ustawia losowy element na liÅ›cie.";
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "rosnÄ…co";
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "malejÄ…co";
+Blockly.Msg["LISTS_SORT_TITLE"] = "sortuj %1 %2 %3";
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Sortuj kopiÄ™ listy.";
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "alfabetycznie, ignoruj wielkość liter";
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "numerycznie";
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "alfabetycznie";
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "utwórz listÄ™ z tekstu";
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "utwórz tekst z listy";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "ÅÄ…czy listÄ™ tekstów w jeden tekst, rozdzielany separatorem.";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Rozdziela tekst zgodnie z separatorem tworzÄ…c listÄ™ z powstaÅ‚ych elementów.";
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "z separatorem";
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "faÅ‚sz";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "Zwraca 'prawda' lub 'faÅ‚sz'.";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "prawda";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://pl.wikipedia.org/wiki/Nierówność";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Zwraca \"prawda\", jeÅ›li wejÅ›cia sÄ… identyczne.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Zwraca \"prawda\" jeÅ›li pierwsze wejÅ›cie jest wiÄ™ksze od drugiego.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Zwraca \"prawda\", jeÅ›li pierwsze wejÅ›cie jest wiÄ™ksze lub równe drugiemu.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "Zwraca \"prawda\" jeÅ›li pierwsze wejÅ›cie jest mniejsze od drugiego.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "Zwraca \"prawda\", jeÅ›li pierwsze wejÅ›cie jest mniejsze lub równe drugiemu.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "Zwraca \"prawda\", jeÅ›li wejÅ›cia nie sÄ… identyczne.";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "nie %1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "Zwraca \"prawda\", jeÅ›li wejÅ›ciu jest \"faÅ‚sz\". Zwraca \"faÅ‚sz\", jeÅ›li na wejÅ›ciu jest \"prawda\".";
+Blockly.Msg["LOGIC_NULL"] = "nic";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "Zwraca nic.";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "i";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "lub";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "Zwraca \"prawda\" jeÅ›li na obydwóch wejÅ›ciach jest \"prawda\".";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "Zwraca \"prawda\" jeÅ›li co najmniej na jednyk wejÅ›ciu jest \"prawda\".";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "test";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "jeÅ›li faÅ‚sz";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "jeÅ›li prawda";
+Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "Sprawdź warunek w â€žtestâ€. JeÅ›li warunek jest prawdziwy, to zwróci â€žjeÅ›li prawdaâ€; jeÅ›li nie jest prawdziwy to zwróci â€žjeÅ›li faÅ‚szâ€.";
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://pl.wikipedia.org/wiki/Arytmetyka";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Zwróć sumÄ™ dwóch liczb.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Zwróć iloraz dwóch liczb.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Zwróć różnicÄ™ dwóch liczb.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Zwróć iloczyn dwóch liczb.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Zwróć pierwszÄ… liczbÄ™ podniesionÄ… do potÄ™gi o wykÅ‚adniku drugiej liczby.";
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";
+Blockly.Msg["MATH_CHANGE_TITLE"] = "zmieÅ„ %1 o %2";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Dodaj liczbÄ™ do zmiennej '%1'.";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://pl.wikipedia.org/wiki/StaÅ‚a_(matematyka)";
+Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "Zwróć jednÄ… wspólnÄ… staÅ‚Ä…: Ï€ (3.141), e (2.718...), Ï† (1.618...), sqrt(2) (1.414...), sqrt(½) (0.707...) lub âˆž (nieskoÅ„czoność).";
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "ogranicz %1 z doÅ‚u %2 z góry %3";
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Ogranicz liczbÄ™, aby byÅ‚a w okreÅ›lonych granicach (wÅ‚Ä…cznie).";
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "/";
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "jest podzielna przez";
+Blockly.Msg["MATH_IS_EVEN"] = "jest parzysta";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "jest ujemna";
+Blockly.Msg["MATH_IS_ODD"] = "jest nieparzysta";
+Blockly.Msg["MATH_IS_POSITIVE"] = "jest dodatnia";
+Blockly.Msg["MATH_IS_PRIME"] = "jest liczbÄ… pierwszÄ…";
+Blockly.Msg["MATH_IS_TOOLTIP"] = "Sprawdź, czy liczba jest parzysta, nieparzysta, pierwsza, caÅ‚kowita, dodatnia, ujemna, lub czy jest podzielna przez podanÄ… liczbÄ™. Zwraca wartość \"prawda\" lub \"faÅ‚sz\".";
+Blockly.Msg["MATH_IS_WHOLE"] = "jest liczbÄ… caÅ‚kowitÄ…";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://pl.wikipedia.org/wiki/Modulo";
+Blockly.Msg["MATH_MODULO_TITLE"] = "reszta z dzielenia %1 przez %2";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Zwróć resztÄ™ z dzielenia dwóch liczb przez siebie.";
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://en.wikipedia.org/wiki/Number";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "Liczba.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "Å›rednia elementów listy";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "maksymalna wartość z listy";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "mediana listy";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "minimalna wartość z listy";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "dominanty listy";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "losowy element z listy";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "odchylenie standardowe listy";
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "suma elementów listy";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Zwróć Å›redniÄ… (Å›redniÄ… arytmetycznÄ…) wartoÅ›ci liczbowych z listy.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "Zwróć najwiÄ™kszÄ… liczbÄ™ w liÅ›cie.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "Zwróć medianÄ™ listy.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "Zwróć najmniejszÄ… liczbÄ™ w liÅ›cie.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Zwróć listÄ™ najczęściej wystÄ™pujÄ…cych elementów w liÅ›cie.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Zwróć losowy element z listy.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Zwróć odchylenie standardowe listy.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Zwróć sumÄ™ wszystkich liczb z listy.";
+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"] = "losowy uÅ‚amek";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Zwróć losowy uÅ‚amek miÄ™dzy 0.0 (wÅ‚Ä…cznie), a 1.0 (wyÅ‚Ä…cznie).";
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "losowa liczba caÅ‚kowita od %1 do %2";
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Zwróć losowÄ… liczbÄ™ caÅ‚kowitÄ… w ramach dwóch wyznaczonych granic, wÅ‚Ä…cznie.";
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://pl.wikipedia.org/wiki/ZaokrÄ…glanie";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "zaokrÄ…glij";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "zaokrÄ…glij w dół";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "zaokrÄ…glij w górÄ™";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "ZaokrÄ…glij w górÄ™ lub w dół.";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://pl.wikipedia.org/wiki/Pierwiastek_kwadratowy";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "wartość bezwzglÄ™dna";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "pierwiastek kwadratowy";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Zwróć wartość bezwzglÄ™dnÄ… danej liczby.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Zwróć e do potÄ™gi danej liczby.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "Zwróć logarytm naturalny danej liczby.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "Zwraca logarytm dziesiÄ™tny danej liczby.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Zwróć negacjÄ™ danej liczby.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Zwróć 10 do potÄ™gi danej liczby.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Zwróć pierwiastek kwadratowy danej liczby.";
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";
+Blockly.Msg["MATH_TRIG_ACOS"] = "arccos";
+Blockly.Msg["MATH_TRIG_ASIN"] = "arcsin";
+Blockly.Msg["MATH_TRIG_ATAN"] = "arctg";
+Blockly.Msg["MATH_TRIG_COS"] = "cos";
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://pl.wikipedia.org/wiki/Funkcje_trygonometryczne";
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";
+Blockly.Msg["MATH_TRIG_TAN"] = "tg";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Zwróć arcus cosinus danej liczby.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Zwróć arcus sinus danej liczby.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Zwróć arcus tangens danej liczby.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Zwróć wartość cosinusa o stopniu (nie w radianach).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Zwróć wartość sinusa o stopniu (nie w radianach).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Zwróć tangens o stopniu (nie w radianach).";
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Utwórz zmiennÄ… colour";
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Utwórz zmiennÄ… typu number";
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Utwórz zmiennÄ… typu string";
+Blockly.Msg["NEW_VARIABLE"] = "Utwórz zmiennÄ…...";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "Nowa nazwa zmiennej:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "Nowy typ zmiennej:";
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "zezwól na czynnoÅ›ci";
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "z:";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://pl.wikipedia.org/wiki/Podprogram";
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Uruchom zdefiniowanÄ… przez użytkownika funkcjÄ™ '%1'.";
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://pl.wikipedia.org/wiki/Podprogram";
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Uruchom zdefiniowanÄ… przez użytkownika funkcjÄ™ '%1' i użyj jej wyjÅ›cia.";
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "z:";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "Utwórz '%1'";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Opisz tÄ™ funkcjÄ™...";
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29";
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "zrób coÅ›";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "do";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Tworzy funkcjÄ™ nie posiadajÄ…cÄ… wyjÅ›cia.";
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29";
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "zwróć";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "Tworzy funkcjÄ™ posiadajÄ…cÄ… wyjÅ›cie.";
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "Uwaga: Ta funkcja ma powtórzone parametry.";
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "PodÅ›wietl definicjÄ™ funkcji";
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "JeÅ›li warunek jest speÅ‚niony zwróć drugÄ… wartość.";
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "Uwaga: Ten klocek może być używany tylko w definicji funkcji.";
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "nazwa wejÅ›cia:";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Dodaj wejÅ›cie do funkcji.";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "wejÅ›cia";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Dodaj, usuÅ„ lub zmieÅ„ kolejność wejść tej funkcji.";
+Blockly.Msg["REDO"] = "Ponów";
+Blockly.Msg["REMOVE_COMMENT"] = "UsuÅ„ komentarz";
+Blockly.Msg["RENAME_VARIABLE"] = "ZmieÅ„ nazwÄ™ zmiennej...";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "ZmieÅ„ nazwy wszystkich '%1' zmiennych na:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "dodaj tekst %2 do %1";
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "DoÅ‚Ä…cz tekst do zmiennej '%1'.";
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "na maÅ‚e litery";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "na Pierwsza Duża";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "na WIELKIE LITERY";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Zwraca kopiÄ™ tekstu z odwruconÄ… wielkoÅ›ciÄ… liter.";
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "pobierz pierwszÄ… literÄ™";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "pobierz literÄ™ # od koÅ„ca";
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "pobierz literÄ™ #";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "pobierz ostatniÄ… literÄ™";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "pobierz losowÄ… literÄ™";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "w tekÅ›cie %1 %2";
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Zwraca literÄ™ z okreÅ›lonej pozycji.";
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "policz %1 w %2";
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Liczy ile razy dany tekst wystÄ™puje w innym tekÅ›cie.";
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Dodaj element do tekstu.";
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "poÅ‚Ä…cz";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Dodaj, usuÅ„ lub zmieÅ„ kolejność sekcji, aby zmodyfikować klocek tekstowy.";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "do # litery od koÅ„ca";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "do # litery";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "do ostatniej litery";
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "w tekÅ›cie";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "pobierz podciÄ…g od pierwszej litery";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "pobierz podciÄ…g od # litery od koÅ„ca";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "pobierz podciÄ…g od # litery";
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Zwraca okreÅ›lonÄ… część tekstu.";
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "znajdź pierwsze wystÄ…pienie tekstu";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "znajdź ostatnie wystÄ…pienie tekstu";
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "w tekÅ›cie %1 %2 %3";
+Blockly.Msg["TEXT_INDEXOF_TOOLTIP"] = "Zwraca indeks pierwszego/ostatniego wystÄ…pienia pierwszego tekstu w drugim tekÅ›cie. Zwraca wartość %1, jeÅ›li tekst nie zostaÅ‚ znaleziony.";
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 jest pusty";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Zwraca prawda (true), jeÅ›li podany tekst jest pusty.";
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "utwórz tekst z";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Tworzy fragment tekstu, Å‚Ä…czÄ…c ze sobÄ… dowolnÄ… liczbÄ™ tekstów.";
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "dÅ‚ugość %1";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Zwraca liczbÄ™ liter (Å‚Ä…cznie ze spacjami) w podanym tekÅ›cie.";
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "wydrukuj %1";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "WyÅ›wietl okreÅ›lony tekst, liczbÄ™ lub innÄ… wartość.";
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Zapytaj użytkownika  o liczbÄ™.";
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Zapytaj użytkownika o jakiÅ› tekst.";
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "poproÅ› o liczbÄ™ z tÄ… wiadomoÅ›ciÄ…";
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "poproÅ› o tekst z tÄ… wiadomoÅ›ciÄ…";
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";  // untranslated
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "zamieÅ„ %1 na %2 w %3";
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "ZastÄ…p wszystkie wystÄ…pienia danego tekstu innym.";
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "odwróć %1";
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Odwraca kolejność znaków w tekÅ›cie.";
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://pl.wikipedia.org/wiki/Tekstowy_typ_danych";
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "Litera, wyraz lub linia tekstu.";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "usuÅ„ spacje po obu stronach";
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "usuÅ„ spacje z lewej strony";
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "usuÅ„ spacje z prawej strony";
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Zwraca kopiÄ™ tekstu z usuniÄ™tymi spacjami z jednego lub z obu koÅ„ców tekstu.";
+Blockly.Msg["TODAY"] = "Dzisiaj";
+Blockly.Msg["UNDO"] = "Cofnij";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "element";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Utwórz klocek 'ustaw %1'";
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Zwraca wartość tej zmiennej.";
+Blockly.Msg["VARIABLES_SET"] = "przypisz %1 wartość %2";
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Utwórz klocek 'pobierz %1'";
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "WartoÅ›ci zmiennej i  wejÅ›cie bÄ™dÄ… identyczne.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "Zmienna o nazwie '%1' już istnieje.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "Zmienna o nazwie '%1' już istnieje i jest typu '%2'.";
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Powiedz coÅ›...";
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/pms.js b/js/msg/js/pms.js
new file mode 100644 (file)
index 0000000..1b77e75
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.pms');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "Gionté un coment";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "As peul nen eliminesse la variàbil '%1' përchè a l'é part ëd la definission dla fonsion '%2'";
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "Modifiché ël valor:";
+Blockly.Msg["CLEAN_UP"] = "Dëscancelé ij blòch";
+Blockly.Msg["COLLAPSE_ALL"] = "Arduve ij blòch";
+Blockly.Msg["COLLAPSE_BLOCK"] = "Arduve ël blòch";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "color 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "color 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";  // untranslated
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "rapòrt";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "mës-cé";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "A mës-cia doi color ansema con un rapòrt dàit (0,0 - 1,0).";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://en.wikipedia.org/wiki/Color";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "Serne un color ant la taulòssa.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "color a asar";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "Serne un color a asar.";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "bleu";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "verd";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";  // untranslated
+Blockly.Msg["COLOUR_RGB_RED"] = "ross";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "coloré con";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "Creé un color con la quantità spessificà ëd ross, verd e bleu. Tuti ij valor a devo esse antra 0 e 100.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "seurte da la liassa";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "continué con l'iterassion sucessiva dla liassa";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "Seurte da la liassa anglobanta.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "Sauté ël rest ëd sa liassa, e continué con l'iterassion apress.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "Atension: Ës blòch a peul mach esse dovrà andrinta a na liassa.";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "për minca n'element %1 ant la lista %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "Për minca element an na lista, dé ël valor ëd l'element a la variàbil '%1', peui eseguì chèiche anstrussion.";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "conté con %1 da %2 a %3 për %4";
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "Fé an manera che la variàbil \"%1\" a pija ij valor dal nùmer inissial fin-a al nùmer final, an contand për l'antërval ëspessificà, e eseguì ij bloch ëspessificà.";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "Gionté na condission al blòch si.";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "Gionté na condission final ch'a cheuj tut al blòch si.";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Gionté, gavé o riordiné le session për cinfiguré torna ës blòch si.";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "dësnò";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "dësnò si";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "si";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "Si un valor a l'é ver, antlora eseguì chèiche anstrussion.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "Si un valor a l'é ver, antlora eseguì ël prim blòch d'anstrussion. Dësnò, eseguì ël second blòch d'anstrussion.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "Si ël prim valor a l'é ver, antlora fé andé ël prim blòch d'anstrussion. Dësnò, si ël second valor a l'é ver, fé andé ël second blòch d'anstrussion.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "Si ël prim valor a l'é ver, antlora fé andé ël prim blòch d'anstrussion. Dësnò, si ël second valor a l'é ver, fé andé ël second blòcj d'anstrussion. Si gnun dij valor a l'é ver, fé andé l'ùltim blòch d'anstrussion.";
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://en.wikipedia.org/wiki/For_loop";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "fé";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "arpete %1 vire";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "Eseguì chèiche anstrussion vàire vire.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "arpete fin-a a";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "arpete antramentre che";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "Cand un valor a l'é fàuss, eseguì chèiche anstrussion.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "Cand un valor a l'é ver, eseguì chèiche anstrussion.";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "Scancelé tuti ij %1 blòch?";
+Blockly.Msg["DELETE_BLOCK"] = "Scancelé ël blòch";
+Blockly.Msg["DELETE_VARIABLE"] = "Eliminé la variàbil '%1'";
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Eliminé %1 utilisassion ëd la variàbil '%2'?";
+Blockly.Msg["DELETE_X_BLOCKS"] = "Scancelé %1 blòch";
+Blockly.Msg["DISABLE_BLOCK"] = "Disativé ël blòch";
+Blockly.Msg["DUPLICATE_BLOCK"] = "Dupliché";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Dupliché ël coment";
+Blockly.Msg["ENABLE_BLOCK"] = "Ativé ël blòch";
+Blockly.Msg["EXPAND_ALL"] = "Dësvlupé ij blòch";
+Blockly.Msg["EXPAND_BLOCK"] = "Dësvlupé ël blòch";
+Blockly.Msg["EXTERNAL_INPUTS"] = "Imission esterne";
+Blockly.Msg["HELP"] = "Agiut";
+Blockly.Msg["INLINE_INPUTS"] = "Imission an linia";
+Blockly.Msg["IOS_CANCEL"] = "Anulé";
+Blockly.Msg["IOS_ERROR"] = "Eror";
+Blockly.Msg["IOS_OK"] = "Va bin";
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Gionté n'imission";
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Përmëtte le diciairassion";
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "Costa imission a dj'imission duplicà.";
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "IMISSION";
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "Gionté";
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Gionté na variàbil";
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "Eliminé";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "A peul nen dovré un nòm ëd variàbil veuid.";
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Arnominé";
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Nòm ëd la variàbil";
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "creé na lista veuida";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Smon-e na lista, ëd longheur 0, ch'a conten gnun-a argistrassion";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "lista";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Gionté, gavé o riordiné le session për configuré torna cost blòch ëd lista.";
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "creé na lista con";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Gionté n'element a la lista.";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Creé na lista con un nùmer qualsëssìa d'element.";
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "prim";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "# da la fin";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "oten-e";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "oten-e e eliminé";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "ùltim";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "a l'ancàpit";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "eliminé";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "A smon ël prim element an na lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "A smon l'element a la posission ëspessificà an na lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "A smon l'ùltim element an na lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "A smon n'element a l'ancàpit an na lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "A gava e a smon ël prim element an na lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "A gava e a smon l'element a la posission ëspessificà an na lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "A gava e a smon l'ùltim element an na lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "A gava e a smon n'element a l'ancàpit an na lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "A gava ël prim element an na lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "A gava l'element a la posission ëspessificà an na lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "A gava l'ùltim element an na lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "A gava n'element a l'ancàpit da na lista.";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "fin-a a # da la fin";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "fin-a a #";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "fin-a a l'ùltim";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "oten-e la sot-lista dal prim";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "oten-e la sot-lista da # da la fin";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "oten-e la sot-lista da #";
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "A crea na còpia dël tòch ëspessificà ëd na lista.";
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 a l'é l'ùltim element.";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 a l'é ël prim element.";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "trové la prima ocorensa dl'element";
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "trové l'ùltima ocorensa dl'element";
+Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "A smon l'ìndes ëd la prima/ùltima ocorensa dl'element ant la lista. A smon %1 se l'element a l'é nen trovà.";
+Blockly.Msg["LISTS_INLIST"] = "ant la lista";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 a l'é veuid";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "A smon ver se la lista a l'é veuida.";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "longheur ëd %1";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "A smon la longheur ¨d na lista.";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "creé na lista con l'element %1 arpetù %2 vire";
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "A crea na lista ch'a consist dël valor dàit arpetù ël nùmer ëspessificà ëd vire.";
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "anversé %1";
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Anversé na còpia ëd na lista";
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "tanme";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "anserì an";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "buté";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "A anseriss l'element al prinsipi ëd na lista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "A anseriss l'element a la posission ëspessificà an na lista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Gionté l'element a la fin ëd na lista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "A anseriss l'element a l'ancàpit an na lista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "A fissa ël prim element an na lista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "A fissa l'element a la posission ëspessificà an na lista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "A fissa l'ùltim element an na lista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "A fissa n'element a l'ancàpit an na lista.";
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "chërsent";
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "calant";
+Blockly.Msg["LISTS_SORT_TITLE"] = "ordiné %1 %2 %3";
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Ordiné na còpia ëd na lista.";
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "alfabétich, ignorand ël caràter minùscol o majùscol";
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "numérich";
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "alfabétich";
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "fé na lista da 'n test";
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "fé 'n test da na lista";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Gionze na lista ëd test ant un test sol, separandje con un separator.";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Divide un test an na lista ëd test, tajand a minca 'n separator.";
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "con ël separator";
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "fàuss";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "A rëspond ver o fàuss.";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "ver";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://en.wikipedia.org/wiki/Inequality_(mathematics)";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Rësponde ver si le doe imission a son uguaj.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Rësponde ver si la prima imission a l'é pi granda che la sconda.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Rësponde ver si la prima imission a l'é pi granda o ugual a la sconda.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "Rësponde ver si la prima imission a l'é pi cita dla sconda.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "Rësponde ver si la prima imission a l'é pi cita o ugual a la sconda.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "Rësponde ver si le doe imission a son nen uguaj.";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "nen %1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "A rëspond ver se l'imission a l'é fàussa. A rëspond fàuss se l'imission a l'é vera.";
+Blockly.Msg["LOGIC_NULL"] = "gnente";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";  // untranslated
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "A rëspond gnente.";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "e";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "o";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "Rësponde ver se tute doe j'imission a son vere.";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "Rësponde ver se almanch un-a d'imission a l'é vera.";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "preuva";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "se fàuss";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "se ver";
+Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "Controlé la condission an 'preuva'. Se la condission a l'é vera, a rëspond con ël valor 'se ver'; dësnò a rëspond con ël valor 'se fàuss'.";
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://en.wikipedia.org/wiki/Arithmetic";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "A smon la soma ëd doi nùmer.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "A smon ël cossient dij doi nùmer.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "A smon la diferensa dij doi nùmer.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "A smon ël prodot dij doi nùmer.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "A smon ël prim nùmer alvà a la potensa dël second.";
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";
+Blockly.Msg["MATH_CHANGE_TITLE"] = "ancrementé %1 për %2";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Gionté un nùmer a la variàbil '%1'.";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://en.wikipedia.org/wiki/Mathematical_constant";
+Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "A smon un-a dle costante comun-e Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…) o âˆž (infinì).";
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "limité %1 antra %2 e %3";
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Limité un nùmer a esse antra le limitassion ëspessificà (comprèise).";
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";  // untranslated
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "a l'é divisìbil për";
+Blockly.Msg["MATH_IS_EVEN"] = "a l'é cobi";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "a l'é negativ";
+Blockly.Msg["MATH_IS_ODD"] = "a l'é dëscobi";
+Blockly.Msg["MATH_IS_POSITIVE"] = "a l'é positiv";
+Blockly.Msg["MATH_IS_PRIME"] = "a l'é prim";
+Blockly.Msg["MATH_IS_TOOLTIP"] = "A contròla si un nùmer a l'é cobi, dëscobi, prim, antreghm positiv, negativ, o s'a l'é divisìbil për un nùmer dàit. A rëspond ver o fàuss.";
+Blockly.Msg["MATH_IS_WHOLE"] = "a l'é antregh";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://en.wikipedia.org/wiki/Modulo_operation";
+Blockly.Msg["MATH_MODULO_TITLE"] = "resta ëd %1:%2";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "A smon la resta ëd la division dij doi nùmer.";
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";  // untranslated
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://en.wikipedia.org/wiki/Number";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "Un nùmer.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "media dla lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "màssim ëd la lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "mesan-a dla lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "mìnim ëd la lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "mòde dla lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "element a l'ancàpit ëd la lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "deviassion ëstàndard ëd la lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "soma dla lista";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "A smon la media (aritmética) dij valor numérich ant la lista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "A smon ël pi gròss nùmer ëd la lista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "A smon ël nùmer mesan ëd la lista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "A smon ël pi cit nùmer ëd la lista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "A smon na lista dj'element pi frequent ëd la lista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "A smon n'element a l'ancàpit da la lista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "A smon la deviassion ëstàndard ëd la lista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "A smon la soma ëd tuti ij nùmer ant la lista.";
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "frassion aleatòria";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "A smon na frassion aleatòria antra 0,0 (comprèis) e 1,0 (esclus).";
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "antregh aleatòri antra %1 e %2";
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "A smon n'antregh aleatòri antra ij doi lìmit ëspessificà, comprèis.";
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://en.wikipedia.org/wiki/Rounding";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "ariondé";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "ariondé për difet";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "ariondé për ecess";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "A arionda un nùmer për difet o ecess.";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://en.wikipedia.org/wiki/Square_root";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "assolù";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "rèis quadra";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "A smon ël valor assolù d'un nùmer.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "A smon e a la potensa d'un nùmer.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "A smon ël logaritm natural d'un nùmer.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "A smon ël logaritm an base 10 d'un nùmer.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "A smon l'opòst d'un nùmer.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "A smon 10 a la potensa d'un nùmer.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "A smon la rèis quadra d'un nùmer.";
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";  // untranslated
+Blockly.Msg["MATH_TRIG_ACOS"] = "acos";  // untranslated
+Blockly.Msg["MATH_TRIG_ASIN"] = "asin";  // untranslated
+Blockly.Msg["MATH_TRIG_ATAN"] = "atan";  // untranslated
+Blockly.Msg["MATH_TRIG_COS"] = "cos";  // untranslated
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://en.wikipedia.org/wiki/Trigonometric_functions";
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";  // untranslated
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "A smon l'arch-cosen d'un nùmer.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "A smon l'arch-sen d'un nùmer.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "A smon l'arch-tangenta d'un nùmer.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "A smon ël cosen ëd n'àngol an gré (pa an radiant).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "A smon ël sen ëd n'àngol an gré (pa an radiant).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "A smon la tangenta ëd n'àngol an gré (pa an radiant).";
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Creé na variàbil ëd color...";
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Creé na variàbil numérica...";
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Creé na variàbil dë stringa...";
+Blockly.Msg["NEW_VARIABLE"] = "Creé na variàbil...";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "Nòm ëd la neuva variàbil:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "Neuva sòrt ëd variàbil:";
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "përmëtte le diciairassion";
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "con:";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Eseguì la fonsion '%1' definìa da l'utent.";
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Eseguì la fonsion '%1' definìa da l'utent e dovré sò arzultà.";
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "con:";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "Creé '%1'";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Descrive sa fonsion...";
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "fé cheicòs";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "a";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "A crea na fonsion sensa surtìa.";
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "artorn";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "A crea na fonsion con na surtìa.";
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "Atension: Costa fonsion a l'ha dij paràmeter duplicà.";
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "Sot-ligné la definission dla fonsion";
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "Se un valor a l'é ver, antlora smon-e un second valor.";
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "Atension: Ës blòch a podria esse dovrà mach an na definission ëd fonsion.";
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "nòm ëd l'imission:";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Gionté n'imission a la fonsion.";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "imission";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Gionté, gavé o riordiné j'imission ëd sa fonsion.";
+Blockly.Msg["REDO"] = "Fé torna";
+Blockly.Msg["REMOVE_COMMENT"] = "Scancelé un coment";
+Blockly.Msg["RENAME_VARIABLE"] = "Arnomé la variàbil...";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Arnomé tute le variàbij '%1' 'me:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "a %1 taché ël test %2";
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Taché dël test a la variàbil '%1'.";
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "an minùscul";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "an Majùscol A L'Ancamin Ëd Minca Paròla";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "an MAJÙSCOL";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "A smon na còpia dël test ant un caràter diferent.";
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "oten-e la prima litra";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "oten-e la litra # da la fin";
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "oten-e la litra #";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "oten-e l'ùltima litra";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "oten-e na litra a l'ancàpit";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "ant ël test %1 %2";
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "A smon la litra ant la posission ëspessificà.";
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "nùmer %1 su %2";
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Conté vàire vire un test dàit a compariss an n'àutr test.";
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Gionté n'element al test.";
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "gionze";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Gionté, gavé o riordiné le session për configuré torna ës blòch ëd test.";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "fin-a a la litra # da la fin";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "fin-a a la litra #";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "fin-a a l'ùltima litra";
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "ant ël test";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "oten-e la sota-stringa da la prima litra";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "oten-e la sota-stringa da la litra # da la fin";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "oten-e la sota-stringa da la litra #";
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "A smon un tòch ëspessificà dël test.";
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "trové la prima ocorensa dël test";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "trové l'ùltima ocorensa dël test";
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "ant ël test %1 %2 %3";
+Blockly.Msg["TEXT_INDEXOF_TOOLTIP"] = "A smon l'ìndes dla prima/ùltima ocorensa dël prim test ant ël second test. A smon %1 se ël test a l'é nen trovà.";
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 a l'é veuid";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "A smon ver se ël test fornì a l'é veuid.";
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "creé ël test con";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Creé un tòch ëd test an gionzend un nùmer qualsëssìa d'element.";
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "longheur ëd %1";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "A smon ël nùmer ëd litre (spassi comprèis) ant ël test fornì.";
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "smon-e %1";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Smon-e ël test, ël nùmer o n'àutr valor ëspessificà.";
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Ciamé un nùmer a l'utent.";
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Ciamé un test a l'utent.";
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "anvit për un nùmer con un mëssagi";
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "anvit për un test con un mëssagi";
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "rampiassé %1 con %2 an %3";
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Rampiassé tute j'ocorense d'un test con n'àutr.";
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "Anversé %1";
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Anversé l'òrdin dij caràter ant ël test.";
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://en.wikipedia.org/wiki/String_(computer_science)";
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "Na litra, na paròla o na linia ëd test.";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "gavé jë spassi da le doe bande ëd";
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "gavé jë spassi da la banda snistra ëd";
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "gavé jë spassi da la banda drita ëd";
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "A smon na còpia dël test con jë spassi gavà da n'estremità o da tute doe.";
+Blockly.Msg["TODAY"] = "Ancheuj";
+Blockly.Msg["UNDO"] = "Anulé";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "element";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Creé 'fissé %1'";
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "A smon ël valor ëd sa variàbil.";
+Blockly.Msg["VARIABLES_SET"] = "fissé %1 a %2";
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Creé 'oten-e %1'";
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Fissé costa variàbil ugual al valor d'imission.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "Na variàbil con ël nòm '%1' a esist già.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "Na variàbil ciamà '%1' a esist già për n'àutra sòrt: '%2'.";
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Dì cheicòs...";
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/pt-br.js b/js/msg/js/pt-br.js
new file mode 100644 (file)
index 0000000..92d2b4f
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.pt.br');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "Adicionar comentário";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "Não se pode deletar a variável '%1' porque é parte da definição da função '%2'";
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "Mudar valor:";
+Blockly.Msg["CLEAN_UP"] = "Limpar blocos";
+Blockly.Msg["COLLAPSE_ALL"] = "Colapsar Blocos";
+Blockly.Msg["COLLAPSE_BLOCK"] = "Colapsar Bloco";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "cor 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "cor 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";  // untranslated
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "proporção";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "misturar";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "Mistura duas cores em uma dada proporção (0,0 - 1,0).";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://pt.wikipedia.org/wiki/Cor";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "Escolher uma cor da palheta de cores.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "cor aleatória";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "Escolher cor de forma aleatória.";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "azul";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "verde";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";  // untranslated
+Blockly.Msg["COLOUR_RGB_RED"] = "vermelho";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "colorir com";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "Criar uma cor com a quantidade especificada de vermelho, verde e azul. Todos os valores devem estar entre 0 e 100.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "encerra o laço";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "continua com a próxima iteração do laço";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "Encerra o laço.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "Ignora o resto deste laço, e continua com a próxima iteração.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "Atenção: Este bloco só pode ser usado dentro de um laço.";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "para cada item %1 na lista %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "Para cada item em uma lista, atribua o item à variável '%1' e então realize algumas instruções.";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "contar com %1 de %2 até %3 por %4";
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "Faça com que a variável '%1' assuma os valores do número inicial ao número final, contando de acordo com o intervalo especificado e execute os blocos especificados.";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "Acrescente uma condição para o bloco se.";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "Acrescente uma condição final para o bloco se.";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Acrescente, remova ou reordene seções para reconfigurar este bloco.";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "senão";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "senão se";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "se";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "Se um valor for verdadeiro, então realize algumas instruções.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "Se um valor for verdadeiro, então realize o primeiro bloco de instruções. Senão, realize o segundo bloco de instruções.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "Se o primeiro valor é verdadeiro, então realize o primeiro bloco de instruções.  Senão, se o segundo valor é verdadeiro, realize o segundo bloco de instruções.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "Se o primeiro valor for verdadeiro, então realize o primeiro bloco de instruções. Senão, se o segundo valor é verdadeiro, realize o segundo bloco de instruções. Se nenhum dos blocos for verdadeiro, realize o último bloco de instruções.";
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://pt.wikipedia.org/wiki/Estrutura_de_repeti%C3%A7%C3%A3o#Repeti.C3.A7.C3.A3o_com_vari.C3.A1vel_de_controle";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "faça";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "repita %1 vezes";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "Faça algumas instruções várias vezes.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "repita até";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "repita enquanto";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "Enquanto um valor for falso, então faça algumas instruções.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "Enquanto um valor for verdadeiro, então faça algumas instruções.";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "Deletar todos os blocos %1?";
+Blockly.Msg["DELETE_BLOCK"] = "Deletar bloco";
+Blockly.Msg["DELETE_VARIABLE"] = "Deletar a variável '%1'";
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Deletar %1 usos da variável '%2'?";
+Blockly.Msg["DELETE_X_BLOCKS"] = "Deletar %1 blocos";
+Blockly.Msg["DISABLE_BLOCK"] = "Desabilitar bloco";
+Blockly.Msg["DUPLICATE_BLOCK"] = "Duplicar";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicar comentário";
+Blockly.Msg["ENABLE_BLOCK"] = "Habilitar bloco";
+Blockly.Msg["EXPAND_ALL"] = "Expandir blocos";
+Blockly.Msg["EXPAND_BLOCK"] = "Expandir bloco";
+Blockly.Msg["EXTERNAL_INPUTS"] = "Entradas externas";
+Blockly.Msg["HELP"] = "Ajuda";
+Blockly.Msg["INLINE_INPUTS"] = "Entradas incorporadas";
+Blockly.Msg["IOS_CANCEL"] = "blockly:IOS Cancelar/pt-br";
+Blockly.Msg["IOS_ERROR"] = "Erro";
+Blockly.Msg["IOS_OK"] = "Ok";
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Adicionar Entrada";
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Permitir declarações";
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "Essa função tem entradas duplicadas.";
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "ENTRADAS";
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "Adicionar";
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Adicionar Variável";
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "Deletar";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "Você não pode usar um nome de variável vazio.";
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Blockly:Renomear varioas botoens/pt-br";
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Nome variavel";
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "criar lista vazia";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Retorna uma lista, de tamanho 0, contendo nenhum registro";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "lista";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Acrescenta, remove ou reordena seções para reconfigurar este bloco de lista.";
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "criar lista com";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Acrescenta um item à lista.";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Cria uma lista com a quantidade de itens informada.";
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "primeiro";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "nº a partir do final";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "nº";
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "obter";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "obter e remover";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "último";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "aleatório";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "remover";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Retorna o primeiro item em uma lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Retorna o item da lista na posição especificada.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Retorna o último item em uma lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Retorna um item aleatório de uma lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "Remove e retorna o primeiro item de uma lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "Remove e retorna o item na posição especificada em uma lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "Remove e retorna o último item de uma lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Remove e retorna um item aleatório de uma lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "Remove o primeiro item de uma lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "Remove o item na posição especificada em uma lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "Remove o último item de uma lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Remove um item aleatório de uma lista.";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "até nº a partir do final";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "até nº";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "até último";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "obtém sublista a partir do primeiro";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "obtém sublista de nº a partir do final";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "obtém sublista de nº";
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Cria uma cópia da porção especificada de uma lista.";
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 é o último item.";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 é o primeiro item.";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "encontre a primeira ocorrência do item";
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "encontre a última ocorrência do item";
+Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "Retorna o índice da primeira/última ocorrência do item na lista.  Retorna %1 se o item não for encontrado.";
+Blockly.Msg["LISTS_INLIST"] = "na lista";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 é vazia";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Retorna ao verdadeiro se a lista estiver vazia.";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "tamanho de %1";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Retorna o tamanho de uma lista.";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "criar lista com item %1 repetido %2 vezes";
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Cria uma lista consistindo no valor informado repetido o número de vezes especificado.";
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Listas#invertendo-uma-lista";
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "inverter %1";
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Inverter uma cópia da lista.";
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "como";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "inserir em";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "definir";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Insere o item no início de uma lista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Insere o item na posição especificada em uma lista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Insere o item no final de uma lista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Insere o item em uma posição qualquer de uma lista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Define o primeiro item de uma lista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Define o item da posição especificada de uma lista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Define o último item de uma lista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Define um item aleatório de uma lista.";
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "ascendente";
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "descendente";
+Blockly.Msg["LISTS_SORT_TITLE"] = "ordenar %1 %2 %3";
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Ordenar uma cópia de uma lista.";
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "alfabético, ignorar maiúscula/minúscula";
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "numérico";
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "alfabético";
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "Fazer uma lista a partir do texto";
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "fazer um texto a partir da lista";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Juntar uma lista de textos em um único texto, separado por um delimitador.";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Dividir o texto em uma lista de textos, separando-o em cada delimitador.";
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "com delimitador";
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "falso";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "Retorna verdadeiro ou falso.";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "verdadeiro";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://pt.wikipedia.org/wiki/Inequa%C3%A7%C3%A3o";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Retorna verdadeiro se ambas as entradas forem iguais.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Retorna verdadeiro se a primeira entrada for maior que a segunda entrada.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Retorna verdadeiro se a primeira entrada for maior ou igual à segunda entrada.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "Retorna verdadeiro se a primeira entrada for menor que a segunda entrada.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "Retorna verdadeiro se a primeira entrada for menor ou igual à segunda entrada.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "Retorna verdadeiro se ambas as entradas forem diferentes.";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "não %1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "Retorna verdadeiro se a entrada for falsa.  Retorna falsa se a entrada for verdadeira.";
+Blockly.Msg["LOGIC_NULL"] = "nulo";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";  // untranslated
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "Retorna nulo.";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "e";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "ou";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "Retorna verdadeiro se ambas as entradas forem verdadeiras.";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "Retorna verdadeiro se uma das estradas for verdadeira.";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "teste";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "se falso";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "se verdadeiro";
+Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "Avalia a condição em \"teste\". Se a condição for verdadeira retorna o valor \"se verdadeiro\", senão retorna o valor \"se falso\".";
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://pt.wikipedia.org/wiki/Aritm%C3%A9tica";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Retorna a soma dos dois números.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Retorna o quociente da divisão dos dois números.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Retorna a diferença entre os dois números.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Retorna o produto dos dois números.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Retorna o primeiro número elevado à potência do segundo número.";
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://pt.wikipedia.org/wiki/Adi%C3%A7%C3%A3o";
+Blockly.Msg["MATH_CHANGE_TITLE"] = "alterar %1 por %2";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Soma um número à variável \"%1\".";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://pt.wikipedia.org/wiki/Anexo:Lista_de_constantes_matem%C3%A1ticas";
+Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "Retorna uma das constantes comuns: Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), ou âˆž (infinito).";
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "restringe %1 inferior %2 superior %3";
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Restringe um número entre os limites especificados (inclusivo).";
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";  // untranslated
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "é divisível por";
+Blockly.Msg["MATH_IS_EVEN"] = "é par";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "é negativo";
+Blockly.Msg["MATH_IS_ODD"] = "é ímpar";
+Blockly.Msg["MATH_IS_POSITIVE"] = "é positivo";
+Blockly.Msg["MATH_IS_PRIME"] = "é primo";
+Blockly.Msg["MATH_IS_TOOLTIP"] = "Verifica se um número é par, ímpar, inteiro, positivo, negativo, ou se é divisível por outro número.  Retorna verdadeiro ou falso.";
+Blockly.Msg["MATH_IS_WHOLE"] = "é inteiro";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://pt.wikipedia.org/wiki/Opera%C3%A7%C3%A3o_m%C3%B3dulo";
+Blockly.Msg["MATH_MODULO_TITLE"] = "resto da divisão de %1 ÷ %2";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Retorna o resto da divisão de dois números.";
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";  // untranslated
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://pt.wikipedia.org/wiki/N%C3%BAmero";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "Um número.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "média da lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "maior da lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "mediana da lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "menor da lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "moda da lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "item aleatório da lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "desvio padrão da lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "soma de uma lista";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Retorna a média aritmética dos números da lista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "Retorna o maior número da lista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "Retorna a mediana dos números da lista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "Retorna o menor número da lista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Retorna uma lista do(s) item(ns) mais comum(ns) da lista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Retorna um elemento aleatório da lista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Retorna o desvio padrão dos números da lista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Retorna a soma de todos os números na lista.";
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://pt.wikipedia.org/wiki/Gerador_de_n%C3%BAmeros_pseudoaleat%C3%B3rios";
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "fração aleatória";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Retorna uma fração aleatória entre 0.0 (inclusivo) e 1.0 (exclusivo).";
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://pt.wikipedia.org/wiki/Gerador_de_n%C3%BAmeros_pseudoaleat%C3%B3rios";
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "inteiro aleatório entre %1 e %2";
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Retorna um número inteiro entre os dois limites informados, inclusivo.";
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://pt.wikipedia.org/wiki/Arredondamento";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "arredonda";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "arredonda para baixo";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "arredonda para cima";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Arredonda um número para cima ou para baixo.";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://pt.wikipedia.org/wiki/Raiz_quadrada";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "absoluto";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "raiz quadrada";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Retorna o valor absoluto de um número.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Retorna o número e elevado à potência de um número.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "Retorna o logaritmo natural de um número.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "Retorna o logaritmo em base 10 de um número.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Retorna o oposto de um número.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Retorna 10 elevado à potência de um número.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Retorna a raiz quadrada de um número.";
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";  // untranslated
+Blockly.Msg["MATH_TRIG_ACOS"] = "acos";  // untranslated
+Blockly.Msg["MATH_TRIG_ASIN"] = "asin";  // untranslated
+Blockly.Msg["MATH_TRIG_ATAN"] = "atan";  // untranslated
+Blockly.Msg["MATH_TRIG_COS"] = "cos";  // untranslated
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://pt.wikipedia.org/wiki/Fun%C3%A7%C3%A3o_trigonom%C3%A9trica";
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";  // untranslated
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Retorna o arco cosseno de um número.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Retorna o arco seno de um número.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Retorna o arco tangente de um número.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Retorna o cosseno de um grau (não radiano).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Retorna o seno de um grau (não radiano).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Retorna a tangente de um grau (não radiano).";
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Criar variável colorida...";
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Criar variável numérica...";
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Criar variável de segmentos de texto...";
+Blockly.Msg["NEW_VARIABLE"] = "Criar variável...";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "Nome da nova variável:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "Tipo da nova variável:";
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "permitir declarações";
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "com:";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://pt.wikipedia.org/wiki/Sub-rotina";
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Executa a função definida pelo usuário \"%1\".";
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://pt.wikipedia.org/wiki/Sub-rotina";
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Executa a função definida pelo usuário \"%1\" e usa seu retorno.";
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "com:";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "Criar \"%1\"";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Descreva esta função...";
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "faça algo";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "para";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Cria uma função que não tem retorno.";
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "retorna";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "Cria uma função que possui um valor de retorno.";
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "Atenção: Esta função tem parâmetros duplicados.";
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "Destacar definição da função";
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "Se um valor é verdadeiro, então retorna um valor.";
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "Atenção: Este bloco só pode ser utilizado dentro da definição de uma função.";
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "nome da entrada:";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Adiciona uma entrada para esta função";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "entradas";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Adiciona, remove, ou reordena as entradas para esta função.";
+Blockly.Msg["REDO"] = "Refazer";
+Blockly.Msg["REMOVE_COMMENT"] = "Remover comentário";
+Blockly.Msg["RENAME_VARIABLE"] = "Renomear variável...";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Renomear todas as variáveis '%1' para:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "para %1 anexar texto %2";
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Acrescentar um pedaço de texto à variável \"%1\".";
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "para minúsculas";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "para Nomes Próprios";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "para MAIÚSCULAS";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Retorna uma cópia do texto em um formato diferente.";
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "obter primeira letra";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "obter letra # a partir do final";
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "obter letra nº";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "obter última letra";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "obter letra aleatória";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "no texto %1 %2";
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Retorna a letra na posição especificada.";
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "Contar %1 em %2";
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Calcule quantas vezes algum texto aparece centro de algum outro texto.";
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Acrescentar um item ao texto.";
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "unir";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Acrescenta, remove ou reordena seções para reconfigurar este bloco de texto.";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "até letra nº a partir do final";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "até letra nº";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "até última letra";
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "no texto";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "obter trecho de primeira letra";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "obter trecho de letra nº a partir do final";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "obter trecho de letra nº";
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Retorna o trecho de texto especificado.";
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "encontre a primeira ocorrência do item";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "encontre a última ocorrência do texto";
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "no texto %1 %2 %3";
+Blockly.Msg["TEXT_INDEXOF_TOOLTIP"] = "Retorna a posição da primeira/última ocorrência do primeiro texto no segundo texto.  Retorna %1 se o texto não for encontrado.";
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 é vazio";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Retorna verdadeiro se o texto fornecido for vazio.";
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "criar texto com";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Criar um pedaço de texto juntando qualquer número de itens.";
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "tamanho de %1";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Retorna o número de letras (incluindo espaços) no texto fornecido.";
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "imprime %1";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Imprime o texto, número ou valor especificado.";
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Pede ao usuário um número.";
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Pede ao usuário um texto.";
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "Pede um número com uma mensagem";
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "Pede um texto com uma mensagem";
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Texto#substituindo-substrings";
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "substituir %1 por %2 em %3";
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Substitua todas as ocorrências de algum texto dentro de algum outro texto.";
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Texto#invertendo-texto";
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "inverter %1";
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Inverter a ordem dos caracteres no texto.";
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://pt.wikipedia.org/wiki/Cadeia_de_caracteres";
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "Uma letra, palavra ou linha de texto.";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "remover espaços de ambos os lados de";
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "remover espaços à esquerda de";
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "remover espaços à direita de";
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Retorna uma cópia do texto com os espaços removidos de uma ou ambas extremidades.";
+Blockly.Msg["TODAY"] = "Hoje";
+Blockly.Msg["UNDO"] = "Desfazer";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "item";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Criar \"definir %1\"";
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Retorna o valor desta variável.";
+Blockly.Msg["VARIABLES_SET"] = "definir %1 para %2";
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Criar \"obter %1\"";
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Define esta variável para o valor da entrada.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "A variável chamada '%1' já existe.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "Já existe uma variável chamada '%1' para outra do tipo: '%2'.";
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Diz algo...";
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/pt.js b/js/msg/js/pt.js
new file mode 100644 (file)
index 0000000..665b0aa
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.pt');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "Adicionar Comentário";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "Não se pode eliminar a variável '%1' porque faz parte da definição da função '%2'";
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "Alterar valor:";
+Blockly.Msg["CLEAN_UP"] = "Limpar Blocos";
+Blockly.Msg["COLLAPSE_ALL"] = "Ocultar Blocos";
+Blockly.Msg["COLLAPSE_BLOCK"] = "Ocultar Bloco";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "cor 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "cor 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "proporção";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "misturar";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "Mistura duas cores com a proporção indicada (0.0 - 1.0).";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "http://pt.wikipedia.org/wiki/Cor";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "Escolha uma cor da paleta de cores.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "cor aleatória";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "Escolha uma cor aleatoriamente.";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "azul";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "verde";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";
+Blockly.Msg["COLOUR_RGB_RED"] = "vermelho";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "pinte com";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "Cria uma cor de acordo com a quantidade especificada de vermelho, verde e azul. Todos os valores devem estar entre 0 e 100.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "sair do ciclo";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "continuar com a próxima iteração do ciclo";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "Sair do ciclo que está contido.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "Ignorar o resto deste ciclo, e continuar com a próxima iteração.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "Atenção: Este bloco só pode ser usado dentro de um ciclo.";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "para cada item %1 na lista %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "Para cada item numa lista, define a variável \"%1\" para o item e então faz algumas instruções.";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "contar com %1 de %2 até %3 por %4";
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "Faz com que a variável \"%1\" assuma os valores desde o número inicial até ao número final, contando de acordo com o intervalo especificado e executa os blocos especificados.";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "Acrescente uma condição ao bloco se.";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "Acrescente uma condição de excepação final para o bloco se.";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Acrescente, remova ou reordene secções para reconfigurar este bloco se.";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "senão";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "senão se";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "se";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "Se um valor é verdadeiro, então realize alguns passos.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "Se um valor é verdadeiro, então realize o primeiro bloco de instruções.  Senão, realize o segundo bloco de instruções";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "Se o primeiro valor é verdadeiro, então realize o primeiro bloco de instruções.  Senão, se o segundo valor é verdadeiro, realize o segundo bloco de instruções.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "Se o primeiro valor é verdadeiro, então realize o primeiro bloco de instruções.  Senão, se o segundo valor é verdadeiro, realize o segundo bloco de instruções.  Se nenhum dos blocos for verdadeiro, realize o último bloco de instruções.";
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "http://pt.wikipedia.org/wiki/Estrutura_de_repeti%C3%A7%C3%A3o#Repeti.C3.A7.C3.A3o_com_vari.C3.A1vel_de_controle";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "faça";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "repetir %1 vez";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "Faça algumas instruções várias vezes.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "repetir até";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "repetir enquanto";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "Enquanto um valor for falso, então faça algumas instruções.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "Enquanto um valor for verdadeiro, então faça algumas instruções.";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "Eliminar todos os %1 blocos?";
+Blockly.Msg["DELETE_BLOCK"] = "Eliminar Bloco";
+Blockly.Msg["DELETE_VARIABLE"] = "Eliminar a variável '%1'";
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Eliminar %1 utilizações da variável '%2'?";
+Blockly.Msg["DELETE_X_BLOCKS"] = "Eliminar %1 Blocos";
+Blockly.Msg["DISABLE_BLOCK"] = "Desativar Bloco";
+Blockly.Msg["DUPLICATE_BLOCK"] = "Duplicar";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicar comentário";
+Blockly.Msg["ENABLE_BLOCK"] = "Ativar Bloco";
+Blockly.Msg["EXPAND_ALL"] = "Expandir Blocos";
+Blockly.Msg["EXPAND_BLOCK"] = "Expandir Bloco";
+Blockly.Msg["EXTERNAL_INPUTS"] = "Entradas Externas";
+Blockly.Msg["HELP"] = "Ajuda";
+Blockly.Msg["INLINE_INPUTS"] = "Entradas Em Linhas";
+Blockly.Msg["IOS_CANCEL"] = "Cancelar";
+Blockly.Msg["IOS_ERROR"] = "Erro";
+Blockly.Msg["IOS_OK"] = "Aceitar";
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Adicionar entrada";
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Permitir declarações";
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "Essa função tem entradas duplicadas.";
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "ENTRADAS";
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "Adicionar";
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Adicionar Variável";
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "Eliminar";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "Você não pode usar um nome de variável vazio.";
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Renomear";
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Nome da variável";
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "criar lista vazia";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Retorna uma lista, de tamanho 0, contendo nenhum registo";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "lista";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Acrescente, remova ou reordene as seções para reconfigurar este bloco lista.";
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "criar lista com";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Acrescenta um item à lista.";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Cria uma lista com qualquer número de itens.";
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "primeiro";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "# a partir do final";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "obter";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "obter e remover";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "último";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "aleatório";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "remover";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Retorna o primeiro item de uma lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Retorna o item na posição especificada da lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Retorna o último item de uma lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Retorna um item aleatório de uma lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "Remove e retorna o primeiro item de uma lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "Remove e retorna o item na posição especificada de uma lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "Remove e retorna o último item de uma lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Remove e retorna um item aleatório de uma lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "Remove o primeiro item de uma lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "Remove o item de uma posição especifica da lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "Remove o último item de uma lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Remove um item aleatório de uma lista.";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "até #, a partir do final";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "até #";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "para o último";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "obtem sublista da primeira lista";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "obtem sublista de # a partir do final";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "obtem sublista de #";
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Cria uma cópia da porção especificada de uma lista.";
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 é o último item.";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 é o primeiro item.";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "encontre a primeira ocorrência do item";
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "encontre a última ocorrência do item";
+Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "Retorna a posição da primeira/última ocorrência do item na lista.  Retorna %1 se o item não for encontrado.";
+Blockly.Msg["LISTS_INLIST"] = "na lista";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 está vazia";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Retona verdadeiro se a lista estiver vazia.";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "tamanho de %1";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Retorna o tamanho de uma lista.";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "criar lista com o item %1 repetido %2 vezes";
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Cria uma lista constituída por um dado valor repetido o número de vezes especificado.";
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "inverter %1";
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Inverter uma cópia da lista.";
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "como";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "inserir em";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "definir";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Insere o item no início da lista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Insere o item numa posição especificada numa lista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Insere o item no final da lista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Insere o item numa posição aleatória de uma lista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Define o primeiro item de uma lista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Define o item na posição especificada de uma lista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Define o último item de uma lista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Define um item aleatório de uma lista.";
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "ascendente";
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "descendente";
+Blockly.Msg["LISTS_SORT_TITLE"] = "ordenar %1 %2 %3";
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Ordenar uma cópia de uma lista.";
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "alfabética, ignorar maiúsculas/minúsculas";
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "numérica";
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "alfabética";
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "fazer lista a partir de texto";
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "fazer texto a partir da lista";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Juntar uma lista de textos num único texto, separado por um delimitador.";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Dividir o texto numa lista de textos, separando-o em cada delimitador.";
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "com delimitador";
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "falso";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "Retorna verdadeiro ou falso.";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "verdadeiro";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "http://pt.wikipedia.org/wiki/Inequa%C3%A7%C3%A3o";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Retorna verdadeiro se ambas as entradas forem iguais entre si.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Retorna verdadeiro se a primeira entrada for maior que a segunda entrada.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Retorna verdadeiro se a primeira entrada for maior ou igual à segunda entrada.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "Retorna verdadeiro se a primeira entrada for menor que a segunda entrada.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "Retorna verdadeiro se a primeira entrada for menor ou igual à segunda entrada.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "Retorna verdadeiro se ambas as entradas forem diferentes entre si.";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "não %1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "Retorna verdadeiro se a entrada for falsa.  Retorna falso se a entrada for verdadeira.";
+Blockly.Msg["LOGIC_NULL"] = "nulo";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "http://en.wikipedia.org/wiki/Nullable_type";
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "Retorna nulo.";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "e";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "ou";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "Retorna verdadeiro se ambas as entradas forem verdadeiras.";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "Retorna verdadeiro se pelo menos uma das estradas for verdadeira.";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "teste";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "http://en.wikipedia.org/wiki/%3F:";
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "se falso";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "se verdadeiro";
+Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "Avalia a condição em \"teste\". Se a condição for verdadeira retorna o valor \"se verdadeiro\", senão retorna o valor \"se falso\".";
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "http://pt.wikipedia.org/wiki/Aritm%C3%A9tica";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Retorna a soma de dois números.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Retorna o quociente da divisão de dois números.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Retorna a diferença de dois números.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Retorna o produto de dois números.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Retorna o primeiro número elevado à potência do segundo número.";
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "http://pt.wikipedia.org/wiki/Adi%C3%A7%C3%A3o";
+Blockly.Msg["MATH_CHANGE_TITLE"] = "alterar %1 por %2";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Soma um número à variável \"%1\".";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "http://pt.wikipedia.org/wiki/Anexo:Lista_de_constantes_matem%C3%A1ticas";
+Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "Retorna uma das constantes comuns: Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), ou âˆž (infinito).";
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "restringe %1 inferior %2 superior %3";
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Restringe um número entre os limites especificados (inclusive).";
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "é divisível por";
+Blockly.Msg["MATH_IS_EVEN"] = "é par";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "é negativo";
+Blockly.Msg["MATH_IS_ODD"] = "é impar";
+Blockly.Msg["MATH_IS_POSITIVE"] = "é positivo";
+Blockly.Msg["MATH_IS_PRIME"] = "é primo";
+Blockly.Msg["MATH_IS_TOOLTIP"] = "Verifica se um número é par, impar, primo, inteiro, positivo, negativo, ou se é divisível por outro número.  Retorna verdadeiro ou falso.";
+Blockly.Msg["MATH_IS_WHOLE"] = "é inteiro";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "http://pt.wikipedia.org/wiki/Opera%C3%A7%C3%A3o_m%C3%B3dulo";
+Blockly.Msg["MATH_MODULO_TITLE"] = "resto da divisão de %1 ÷ %2";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Retorna o resto da divisão de dois números.";
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "http://pt.wikipedia.org/wiki/N%C3%BAmero";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "Um número.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "média de uma lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "maior de uma lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "mediana de uma lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "menor de uma lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "moda de uma lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "item aleatório de uma lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "desvio padrão de uma lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "soma da lista";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Retorna a média aritmética dos valores números da lista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "Retorna o maior número da lista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "Retorna a mediana da lista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "Retorna o menor número da lista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Retorna a lista de item(ns) mais comum(ns) da lista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Retorna um elemento aleatório da lista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Retorna o desvio padrão dos números da lista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Retorna a soma de todos os números da lista.";
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "http://pt.wikipedia.org/wiki/N%C3%BAmero_aleat%C3%B3rio";
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "fração aleatória";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Insere uma fração aleatória entre 0.0 (inclusive) e 1.0 (exclusive).";
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "http://pt.wikipedia.org/wiki/N%C3%BAmero_aleat%C3%B3rio";
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "inteiro aleatório entre %1 e %2";
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Retorna um número inteiro entre os dois limites especificados, inclusive.";
+Blockly.Msg["MATH_ROUND_HELPURL"] = "http://pt.wikipedia.org/wiki/Arredondamento";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "arredonda";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "arredonda para baixo";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "arredonda para cima";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Arredonda um número para cima ou para baixo.";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "http://pt.wikipedia.org/wiki/Raiz_quadrada";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "absoluto";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "raíz quadrada";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Retorna o valor absoluto de um número.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Retorna o número e elevado à potência de um número.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "Retorna o logarítmo natural de um número.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "Retorna o logarítmo em base 10 de um número.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Retorna o oposto de um número.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Retorna 10 elevado à potência de um número.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Retorna a raiz quadrada de um número.";
+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"] = "http://pt.wikipedia.org/wiki/Fun%C3%A7%C3%A3o_trigonom%C3%A9trica";
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Retorna o arco cosseno de um número.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Retorna o arco seno de um número.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Retorna o arco tangente de um número.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Retorna o cosseno de um grau (não radiano).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Retorna o seno de um grau (não radiano).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Retorna a tangente de um grau (não radiano).";
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Criar variável colorida...";
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Criar variável numérica...";
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Criar variável de segmentos de texto...";
+Blockly.Msg["NEW_VARIABLE"] = "Criar variável…";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "Nome da nova variável:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "Tipo da nova variável:";
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "permitir declarações";
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "com:";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://pt.wikipedia.org/wiki/Sub-rotina";
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Executa a função \"%1\".";
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://pt.wikipedia.org/wiki/Sub-rotina";
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Executa a função \"%1\" e usa o seu retorno.";
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "com:";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "Criar \"%1\"";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Descreva esta função...";
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "http://en.wikipedia.org/wiki/Procedure_%28computer_science%29";
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "faz algo";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "para";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Cria uma função que não tem retorno.";
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "http://en.wikipedia.org/wiki/Procedure_%28computer_science%29";
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "retorna";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "Cria uma função que possui um valor de retorno.";
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "Atenção: Esta função tem parâmetros duplicados.";
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "Destacar definição da função";
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "se o valor é verdadeiro, então retorna um segundo valor.";
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "Atenção: Este bloco só pode ser utilizado dentro da definição de uma função.";
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "nome da entrada:";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Adicionar uma entrada para a função.";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "entradas";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Adicionar, remover ou reordenar as entradas para esta função.";
+Blockly.Msg["REDO"] = "Refazer";
+Blockly.Msg["REMOVE_COMMENT"] = "Remover Comentário";
+Blockly.Msg["RENAME_VARIABLE"] = "Renomear variável...";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Renomear todas as variáveis '%1' para:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "para %1 acrescentar texto %2";
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Acrescentar um pedaço de texto à variável \"%1\".";
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "para minúsculas";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "para Iniciais Maiúsculas";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "para MAIÚSCULAS";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Retorna uma cópia do texto em formato diferente.";
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "obter primeira letra";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "obter letra nº a partir do final";
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "obter letra nº";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "obter última letra";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "obter letra aleatória";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "no texto %1 %2";
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Retorna a letra na posição especificada.";
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "contar %1 em %2";
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Conte quantas vezes um certo texto aparece dentro de algum outro texto.";
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Acrescentar um item ao texto.";
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "unir";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Acrescenta, remove ou reordena seções para reconfigurar este bloco de texto.";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "até letra nº a partir do final";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "até letra nº";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "até última letra";
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "no texto";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "obter subsequência a partir da primeira letra";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "obter subsequência de tamanho # a partir do final";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "obter subsequência de tamanho #";
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Retorna a parte especificada do texto.";
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "primeira ocorrência do texto";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "última ocorrência do texto";
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "no texto %1 %2 %3";
+Blockly.Msg["TEXT_INDEXOF_TOOLTIP"] = "Retorna a posição da primeira/última ocorrência do primeiro texto no segundo texto. Retorna %1 se o texto não for encontrado.";
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 está vazio";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Retorna verdadeiro se o texto fornecido estiver vazio.";
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "criar texto com";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Criar um pedaço de texto juntando qualquer número de itens.";
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "tamanho de %1";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Devolve o número de letras (incluindo espaços) do texto fornecido.";
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "imprime %1";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Imprime o texto, número ou outro valor especificado.";
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Pede ao utilizador um número.";
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Pede ao utilizador um texto.";
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "pede um número com a mensagem";
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "Pede um texto com a mensagem";
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "substituir %1 por %2 em %3";
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Substituir todas as ocorrências de um certo texto dentro de algum outro texto.";
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "inverter %1";
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Inverte a ordem dos caracteres no texto.";
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "http://pt.wikipedia.org/wiki/Cadeia_de_caracteres";
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "Uma letra, palavra ou linha de texto.";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "remover espaços de ambos os lados";
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "remover espaços à esquerda de";
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "remover espaços à direita";
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Retorna uma cópia do texto com os espaços removidos de uma ou ambas as extremidades.";
+Blockly.Msg["TODAY"] = "Hoje";
+Blockly.Msg["UNDO"] = "Desfazer";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "item";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Criar \"definir %1\"";
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Retorna o valor desta variável.";
+Blockly.Msg["VARIABLES_SET"] = "definir %1 para %2";
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Criar \"obter %1\"";
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Define esta variável para o valor inserido.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "Já existe uma variável com o nome de '%1'.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "Já existe uma variável chamada '%1' para outra do tipo: '%2'.";
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Diz algo...";
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/ro.js b/js/msg/js/ro.js
new file mode 100644 (file)
index 0000000..7731c1a
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.ro');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "Adaugă un comentariu";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "Can't delete the variable '%1' because it's part of the definition of the function '%2'";  // untranslated
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "SchimbaÅ£i valoarea:";
+Blockly.Msg["CLEAN_UP"] = "Clean up Blocks";  // untranslated
+Blockly.Msg["COLLAPSE_ALL"] = "Restrange blocurile";
+Blockly.Msg["COLLAPSE_BLOCK"] = "Restrange blocul";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "culoare 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "culoare 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "Raport";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "amestec";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "Amestecă două culori cu un raport dat (0.0 - 1.0).";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://ro.wikipedia.org/wiki/Culoare";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "Alege o culoare din paleta de culori.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "culoare aleatorie";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "Alege o culoare la întâmplare.";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "albastru";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "verde";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";
+Blockly.Msg["COLOUR_RGB_RED"] = "roÅŸu";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "colorează cu";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "Creează o culoare cu suma specificată de roÅŸu, verde ÅŸi albastru.  Toate valorile trebuie să fie Ã®ntre 0 ÅŸi 100.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "ieÅŸi din bucla";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "continuă cu următoarea iteraÈ›ie a buclei";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "IeÈ™i din bucla care conÅ£ine.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "Sari peste restul aceastei bucle, ÅŸi continuă cu urmatoarea iteratie.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "Avertisment: Acest bloc pote fi utilizat numai în interiorul unei bucle.";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "pentru fiecare element %1 Ã®n listă %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "Pentru fiecare element din listă, setaÅ£i variabila '%1' ca valoarea elementului, ÅŸi apoi faceÅ£i unele declaraÅ£ii.";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "numără cu %1 de la %2 la %3 prin %4";
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "Cu variablia \"%1\" ia o valoare din numărul Ã®nceput la numărul final, numara in intervalul specificat, apoi face blocurile specificate.";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "AdăugaÅ£i o condiÅ£ie in blocul if.";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "Adauga o stare finala, cuprinde toata conditia din blocul if.";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Adaugă, elimină sau reordonează secÅ£iuni pentru a reconfigura acest bloc if.";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "altfel";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "altfel dacă";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "dacă";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "Dacă o valoare este adevărată, atunci fa unele declaraÅ£ii.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "Dacă o valoare este adevărat, atunci face primul bloc de declaraÅ£ii.  Altfel, face al doilea bloc de declaraÅ£ii.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "Dacă prima valoare este adevărat, atunci face primul bloc de declaraÅ£ii.  Altfel, dacă a doua valoare este adevărat, face al doilea bloc de declaraÅ£ii.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "Dacă prima valoare este adevărat, atunci face primul bloc de declaraÅ£ii.  Altfel, dacă a doua valoare este adevărat, face al doilea bloc de declaraÅ£ii.  ÃŽn cazul Ã®n care niciuna din  valorilor nu este adevărat, face ultimul bloc de declaraÅ£ii.";
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://en.wikipedia.org/wiki/For_loop";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "fă";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "repetă de %1 ori";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "Face unele afirmaÅ£ii de mai multe ori.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "RepetaÅ£i până când";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "repetă Ã®n timp ce";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "ÃŽn timp ce o valoare este adevărat, atunci face unele declaraÅ£ii.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "ÃŽn timp ce o valoare este adevărat, atunci face unele declaraÅ£ii.";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "Ștergi toate cele %1 (de) blocuri?";
+Blockly.Msg["DELETE_BLOCK"] = "Șterge Bloc";
+Blockly.Msg["DELETE_VARIABLE"] = "Delete the '%1' variable";  // untranslated
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Delete %1 uses of the '%2' variable?";  // untranslated
+Blockly.Msg["DELETE_X_BLOCKS"] = "ȘtergeÈ›i %1 Blocuri";
+Blockly.Msg["DISABLE_BLOCK"] = "DezactivaÅ£i bloc";
+Blockly.Msg["DUPLICATE_BLOCK"] = "Duplicati";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicate Comment";  // untranslated
+Blockly.Msg["ENABLE_BLOCK"] = "Permite bloc";
+Blockly.Msg["EXPAND_ALL"] = "Extinde blocuri";
+Blockly.Msg["EXPAND_BLOCK"] = "Extinde bloc";
+Blockly.Msg["EXTERNAL_INPUTS"] = "Intrări externe";
+Blockly.Msg["HELP"] = "Ajutor";
+Blockly.Msg["INLINE_INPUTS"] = "Intrări Ã®n linie";
+Blockly.Msg["IOS_CANCEL"] = "Cancel";  // untranslated
+Blockly.Msg["IOS_ERROR"] = "Error";  // untranslated
+Blockly.Msg["IOS_OK"] = "OK";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Add Input";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Allow statements";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "This function has duplicate inputs.";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "INPUTS";  // untranslated
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "Add";  // untranslated
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Add Variable";  // untranslated
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "Delete";  // untranslated
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "You can't use an empty variable name.";  // untranslated
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Rename";  // untranslated
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Variable name";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "creează listă goală";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Returnează o listă, de lungime 0, care nu conÅ£ine Ã®nregistrări de date";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "listă";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Adaugă, elimină sau reordonează secÅ£iuni ca să reconfiguraÅ£i aceste blocuri de listă.";
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "creează listă cu";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "AdăugaÅ£i un element la listă.";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "CreaÅ£i o listă cu orice număr de elemente.";
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "primul";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "# de la sfârÈ™it";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "obÅ£ine";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "obÅ£ine ÅŸi elimină";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "ultimul";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "aleator";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "elimină";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Returnează primul element dintr-o listă.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Returneaza elementul la poziÅ£ia specificată Ã®ntr-o listă.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Returnează ultimul element Ã®ntr-o listă.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Returneaza un element aleatoriu Ã®ntr-o listă.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "Elimină ÅŸi returnează primul element Ã®ntr-o listă.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "Elimină ÅŸi returneaza elementul la poziÅ£ia specificată Ã®ntr-o listă.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "Elimină ÅŸi returnează ultimul element Ã®ntr-o listă.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Elimină ÅŸi returnează un element aleatoriu Ã®ntr-o listă.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "Elimină primul element Ã®ntr-o listă.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "Elimină elementul la poziÅ£ia specificată Ã®ntr-o listă.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "Elimină ultimul element Ã®ntr-o listă.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Elimină un element aleatoriu Ã®ntr-o listă.";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "la # de la sfarsit";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "la #";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "la ultima";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "obÅ£ine sub-lista de la primul";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "obÅ£ine sub-lista de la # de la sfârÅŸitul";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "obÅ£ine sub-lista de la #";
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Creează o copie a porÅ£iunii specificate dintr-o listă.";
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 este ultimul element.";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 este primul element.";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "GăseÅŸte prima apariÅ£ie a elementului";
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "găseÅŸte ultima apariÅ£ie a elementului";
+Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "Revine la indexul de la prima/ultima apariÈ›ie a elementului din listă. Returnează %1 dacă elementul nu este găsit.";
+Blockly.Msg["LISTS_INLIST"] = "în listă";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 este gol";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Returnează adevărat dacă lista este goală.";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "lungime de %1";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Returnează lungimea unei liste.";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "creaza lista cu %1 elemente repetate de %2 ori";
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Creează o listă alcătuită dintr-o anumită valoare repetată de numărul specificat de ori.";
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";  // untranslated
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Reverse a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "ca";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "introduceÅ£i la";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "seteaza";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Inserează elementul la Ã®nceputul unei liste.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Inserează elementul la poziÅ£ia specificată Ã®ntr-o listă.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Adăugă elementul la sfârÅŸitul unei liste.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Inserează elementul aleatoriu Ã®ntr-o listă.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Setează primul element Ã®ntr-o listă.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Setează elementul la poziÅ£ia specificată Ã®ntr-o listă.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Setează ultimul element Ã®ntr-o listă.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Setează un element aleator Ã®ntr-o listă.";
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";  // untranslated
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "ascending";  // untranslated
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "descending";  // untranslated
+Blockly.Msg["LISTS_SORT_TITLE"] = "sort %1 %2 %3";  // untranslated
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Sort a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "alphabetic, ignore case";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "numeric";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "alphabetic";  // untranslated
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "converteÈ™te textul Ã®n listă";
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "converteÈ™te lista Ã®n text";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Concatenează o listă de texte (alternate cu separatorul) Ã®ntr-un text unic";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "ÃŽmparte textul Ã®ntr-o listă de texte, despărÈ›ite prin fiecare separator";
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "cu separatorul";
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "fals";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "Returnează adevărat sau fals.";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "adevărat";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://en.wikipedia.org/wiki/Inequality_(mathematics)";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Returnează adevărat dacă ambele intrări sunt egale.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Returnează adevărat dacă prima intrare este mai mare decât a doua intrare.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Returnează adevărat dacă prima intrare este mai mare sau egală cu a doua intrare.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "Returnează adevărat dacă prima intrare este mai mică decât a doua intrare.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "Returnează adevărat dacă prima intrare este mai mică sau egală cu a doua intrare.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "Returnează adevărat daca cele două intrări nu sunt egale.";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "non %1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "Returnează adevărat dacă intrarea este falsă.  Returnează fals dacă intrarea este adevărată.";
+Blockly.Msg["LOGIC_NULL"] = "nul";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "returnează nul.";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "ÅŸi";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "sau";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "Returnează adevărat daca ambele intrări sunt adevărate.";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "Returnează adevărat dacă cel puÅ£in una din intrări este adevărată.";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "test";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "dacă este fals";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "dacă este adevărat";
+Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "Verifică condiÅ£ia din \"test\". Dacă condiÅ£ia este adevărată, returnează valoarea \"în cazul Ã®n care adevărat\"; Ã®n caz contrar Ã®ntoarce valoarea \"în cazul Ã®n care e fals\".";
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://ro.wikipedia.org/wiki/Aritmetic%C4%83";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Returnează suma a două numere.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Returnează câtul celor două numere.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Returneaza diferenÅ£a dintre cele două numere.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Returnează produsul celor două numere.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Returneaza numărul rezultat prin ridicarea primului număr la puterea celui de-al doilea.";
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";
+Blockly.Msg["MATH_CHANGE_TITLE"] = "schimbă %1 de %2";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Adaugă un număr variabilei '%1'.";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://ro.wikipedia.org/wiki/Constant%C4%83_matematic%C4%83";
+Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "ÃŽntoarcă una din constantele comune: Ï€ (3.141...), e (2.718...), Ï† (1,618...), sqrt(2) (1.414...), sqrt(½) (0.707...) sau âˆž (infinitate).";
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "constrânge %1 redus %2 ridicat %3";
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Constrânge un număr să fie Ã®ntre limitele specificate (inclusiv).";
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "este divizibil cu";
+Blockly.Msg["MATH_IS_EVEN"] = "este par";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "este negativ";
+Blockly.Msg["MATH_IS_ODD"] = "este impar";
+Blockly.Msg["MATH_IS_POSITIVE"] = "este pozitiv";
+Blockly.Msg["MATH_IS_PRIME"] = "este prim";
+Blockly.Msg["MATH_IS_TOOLTIP"] = "Verifică dacă un număr este un par, impar, prim, Ã®ntreg, pozitiv, negativ, sau dacă este divizibil cu un anumit număr.  Returnează true sau false.";
+Blockly.Msg["MATH_IS_WHOLE"] = "este întreg";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://en.wikipedia.org/wiki/Modulo_operation";
+Blockly.Msg["MATH_MODULO_TITLE"] = "restul la %1 ÷ %2";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "ÃŽntoarce restul din Ã®mpărÅ£irea celor două numere.";
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://en.wikipedia.org/wiki/Number";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "Un număr.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "media listei";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "maximul listei";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "media listei";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "minimul listei";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "moduri de listă";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "element aleatoriu din lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "deviaÈ›ia standard a listei";
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "suma listei";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "ÃŽntoarce media (aritmetică) a valorilor numerice Ã®n listă.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "ÃŽntoarce cel mai mare număr din listă.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "ÃŽntoarce numărul median Ã®n listă.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "Returnează cel mai mic număr din listă.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Returnează o listă cu cel(e) mai frecvent(e) element(e) din listă.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Returnează un element aleatoriu din listă.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "ÃŽntoarce deviaÈ›ia standard a listei.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Returnează suma tuturor numerelor din lista.";
+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"] = "fracÈ›ii aleatorii";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Returnează o fracÅ£ie aleatoare Ã®ntre 0.0 (inclusiv) si 1.0 (exclusiv).";
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "un număr Ã®ntreg aleator de la %1 la %2";
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Returnează un număr Ã®ntreg aleator aflat Ã®ntre cele două limite specificate, inclusiv.";
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://en.wikipedia.org/wiki/Rounding";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "rotund";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "rotunjit";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "rotunjeÈ™te Ã®n sus";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Rotunjirea unui număr Ã®n sus sau Ã®n jos.";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://en.wikipedia.org/wiki/Square_root";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "absolută";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "rădăcina pătrată";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Returnează valoarea absolută a unui număr.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Returnează e la puterea unui număr.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "ÃŽntoarce logaritmul natural al unui număr.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "Returnează logaritmul Ã®n baza 10 a unui număr.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Returnează negaÅ£ia unui număr.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Returnează 10 la puterea unui număr.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Returnează rădăcina pătrată a unui număr.";
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";
+Blockly.Msg["MATH_TRIG_ACOS"] = "arccos";
+Blockly.Msg["MATH_TRIG_ASIN"] = "arcsin";
+Blockly.Msg["MATH_TRIG_ATAN"] = "arctg";
+Blockly.Msg["MATH_TRIG_COS"] = "cos";
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://ro.wikipedia.org/wiki/FuncÈ›ii_trigonometrice";
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";
+Blockly.Msg["MATH_TRIG_TAN"] = "tg";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Returnează arccosinusul unui număr.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Returnează arcsinusul unui număr.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Returnează arctangenta unui număr.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Întoarce cosinusul unui grad (nu radianul).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Întoarce cosinusul unui grad (nu radianul).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Întoarce tangenta unui grad (nu radianul).";
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Create colour variable...";  // untranslated
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Create number variable...";  // untranslated
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Create string variable...";  // untranslated
+Blockly.Msg["NEW_VARIABLE"] = "Variabilă nouă...";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "Noul nume de variabilă:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "New variable type:";  // untranslated
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "permite declaraÈ›iile";
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "cu:";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29";
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "ExecutaÈ›i funcÈ›ia '%1 'definită de utilizator.";
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29";
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "ExecutaÈ›i funcÈ›ia '%1 'definită de utilizator ÅŸi folosiÅ£i producÅ£ia sa.";
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "cu:";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "CreaÅ£i '%1'";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Describe this function...";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29";
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "fă ceva";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "la";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Crează o funcÅ£ie cu nici o ieÅŸire.";
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://ro.wikipedia.org/wiki/Subrutină";
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "returnează";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "Creează o funcÅ£ie cu o ieÅŸire.";
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "AtenÅ£ie: Această funcÅ£ie are parametri duplicaÅ£i.";
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "EvidenÅ£iază definiÅ£ia funcÅ£iei";
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "Dacă o valoare este adevărată, atunci returnează valoarea a doua.";
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "Avertisment: Acest bloc poate fi utilizat numai Ã®n definiÅ£ia unei funcÅ£ii.";
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "nume de intrare:";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Adaugă un parametru de intrare pentru funcÈ›ie.";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "intrări";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Adăugă, È™terge sau reordonează parametrii de intrare ai acestei funcÈ›ii.";
+Blockly.Msg["REDO"] = "Redo";  // untranslated
+Blockly.Msg["REMOVE_COMMENT"] = "Elimină comentariu";
+Blockly.Msg["RENAME_VARIABLE"] = "Redenumirea variabilei...";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "RedenumeÅŸte toate variabilele '%1' Ã®n:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "la %1 AdăugaÅ£i text %2";
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "AdăugaÅ£i text la variabila '%1'.";
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "la litere mici";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "către Titlul de caz";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "la MAJUSCULE";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Întoarce o copie a textului într-un caz diferit.";
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "obÅ£ine prima litera";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "obÅ£ine litera # de la sfârÈ™it";
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "obtine litera #";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "obÅ£ine o litera oarecare";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "obtine o litera oarecare";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "in text %1 %2";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Returnează litera la poziÈ›ia specificată.";
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";  // untranslated
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "count %1 in %2";  // untranslated
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Count how many times some text occurs within some other text.";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Adaugă un element Ã®n text.";
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "alăturaÅ£i-vă";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Adaugă, elimină sau reordonează secÈ›iuni ca să reconfigureze blocul text.";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "la litera # de la sfarsit";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "la litera #";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "la ultima literă";
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "în text";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "obÅ£ine un subÈ™ir de la prima literă";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "obÈ›ine un subÈ™ir de la litera # de la sfârÈ™it";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "obÈ›ine subÈ™ir de la litera #";
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Returnează o anumită parte din text.";
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "găseÅŸte prima apariÅ£ie a textului";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "găseÅŸte ultima apariÅ£ie a textului";
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "în text %1 %2 %3";
+Blockly.Msg["TEXT_INDEXOF_TOOLTIP"] = "Returnează indicele primei/ultimei apariÅ£ii din primul text Ã®n al doilea text.  Returnează %1 dacă textul nu este găsit.";
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 este gol";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Returnează adevărat dacă textul furnizat este gol.";
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "crează text cu";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "CreaÅ£i o bucată de text prin unirea oricărui număr de elemente.";
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "lungime de %1";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Returnează numărul de litere (inclusiv spaÅ£iile) Ã®n textul furnizat.";
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "imprimare %1";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "AfiÈ™ează textul specificat, numărul sau altă valoare.";
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Solicită utilizatorul pentru un număr.";
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Solicită utilizatorul pentru text.";
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "solicită pentru număr cu mesaj";
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "solicită pentru text cu mesaj";
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";  // untranslated
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "replace %1 with %2 in %3";  // untranslated
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Replace all occurances of some text within some other text.";  // untranslated
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";  // untranslated
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Reverses the order of the characters in the text.";  // untranslated
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://en.wikipedia.org/wiki/String_(computer_science)";
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "O literă, cuvânt sau linie de text.";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "taie spaÈ›iile de pe ambele părÈ›i ale";
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "tăiaÅ£i spaÈ›iile din partea stângă a";
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "taie spaÈ›iile din partea dreaptă a";
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Returnează o copie a textului fără spaÈ›iile de la unul sau ambele capete.";
+Blockly.Msg["TODAY"] = "Astăzi";
+Blockly.Msg["UNDO"] = "Undo";  // untranslated
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "element";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Crează 'set %1'";
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Returnează valoarea acestei variabile.";
+Blockly.Msg["VARIABLES_SET"] = "seteaza %1 la %2";
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Crează 'get %1'";
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Setează această variabilă sa fie egală la intrare.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "A variable named '%1' already exists.";  // untranslated
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "A variable named '%1' already exists for another type: '%2'.";  // untranslated
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something...";  // untranslated
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/ru.js b/js/msg/js/ru.js
new file mode 100644 (file)
index 0000000..316b566
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.ru');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "Добавить ÐºÐ¾Ð¼Ð¼ÐµÐ½Ñ‚арий";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "Ðевозможно ÑƒÐ´Ð°Ð»Ð¸Ñ‚ÑŒ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½ÑƒÑŽ '%1', Ð¿Ð¾Ñкольку Ð¾Ð½Ð° ÑвлÑетÑѠчаÑтью Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ñ„ункции '%2'";
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "Измените Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ:";
+Blockly.Msg["CLEAN_UP"] = "Убрать Ð±Ð»Ð¾ÐºÐ¸";
+Blockly.Msg["COLLAPSE_ALL"] = "Свернуть Ð±Ð»Ð¾ÐºÐ¸";
+Blockly.Msg["COLLAPSE_BLOCK"] = "Свернуть Ð±Ð»Ð¾Ðº";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "цвет 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "цвет 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";  // untranslated
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "долѠцвета 1";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "Ñмешать";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "Смешивает Ð´Ð²Ð° Ñ†Ð²ÐµÑ‚а Ð² Ð·Ð°Ð´Ð°Ð½Ð½Ð¾Ð¼ Ñоотношении (0.0 - 1.0).";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://ru.wikipedia.org/wiki/Цвет";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "Выберите Ñ†Ð²ÐµÑ‚ Ð¸Ð· Ð¿Ð°Ð»Ð¸Ñ‚ры.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "Ñлучайный Ñ†Ð²ÐµÑ‚";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "Выбирает Ñ†Ð²ÐµÑ‚ Ñлучайным Ð¾Ð±Ñ€Ð°Ð·Ð¾Ð¼.";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "Ñинего";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "зелёного";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";  // untranslated
+Blockly.Msg["COLOUR_RGB_RED"] = "краÑного";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "цвет Ð¸Ð·";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "Создаёт Ñ†Ð²ÐµÑ‚ Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð¹ Ð¿Ñ€Ð¾Ð¿Ð¾Ñ€Ñ†Ð¸ÐµÐ¹  ÐºÑ€Ð°Ñного, Ð·ÐµÐ»ÐµÐ½Ð¾Ð³Ð¾ Ð¸ Ñинего.  Ð’Ñе Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ‹ Ð±Ñ‹Ñ‚ÑŒ Ð¼ÐµÐ¶Ð´Ñƒ 0 Ð¸ 100.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "выйти Ð¸Ð· Ñ†Ð¸ÐºÐ»Ð°";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "перейти Ðº Ñледующему ÑˆÐ°Ð³Ñƒ Ñ†Ð¸ÐºÐ»Ð°";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "Прерывает Ñтот Ñ†Ð¸ÐºÐ».";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "ПропуÑкает Ð¾Ñтаток Ñ†Ð¸ÐºÐ»Ð° Ð¸ Ð¿ÐµÑ€ÐµÑ…одит Ðº Ñледующему ÑˆÐ°Ð³Ñƒ.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "Предупреждение: Ñтот Ð±Ð»Ð¾Ðº Ð¼Ð¾Ð¶ÐµÑ‚ Ð¸ÑпользоватьÑѠтолько Ð²Ð½ÑƒÑ‚ри Ñ†Ð¸ÐºÐ»Ð°.";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "длѠкаждого Ñлемента %1 Ð² ÑпиÑке %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "ДлѠкаждого Ñлемента Ð² ÑпиÑке, Ð¿Ñ€Ð¸Ñваивает Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹ '%1' Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ñлемента  Ð¸ Ð²Ñ‹Ð¿Ð¾Ð»Ð½Ñет ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ðµ  ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹.";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "цикл Ð¿Ð¾ %1 Ð¾Ñ‚ %2 Ð´Ð¾ %3 Ñ ÑˆÐ°Ð³Ð¾Ð¼ %4";
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "ПриÑваивает Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹ '%1' Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¾Ñ‚ Ð½Ð°Ñ‡Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð´Ð¾ ÐºÐ¾Ð½ÐµÑ‡Ð½Ð¾Ð³Ð¾ Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ñ‹Ð¼ ÑˆÐ°Ð³Ð¾Ð¼ Ð¸ Ð²Ñ‹Ð¿Ð¾Ð»Ð½Ñет ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ðµ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹.";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "ДобавлÑет ÑƒÑловие Ðº Ð±Ð»Ð¾ÐºÑƒ \"еÑли\"";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "Добавить Ð·Ð°ÐºÐ»ÑŽÑ‡Ð¸Ñ‚ельный Ð¿Ð¾Ð´Ð±Ð»Ð¾Ðº Ð´Ð»Ñ ÑлучаÑ, ÐºÐ¾Ð³Ð´Ð° Ð²Ñе ÑƒÑловиѠложны.";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Добавьте, ÑƒÐ´Ð°Ð»Ð¸Ñ‚е, Ð¿ÐµÑ€ÐµÑтавьте Ñ„рагменты Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ´ÐµÐ»ÐºÐ¸ Ð±Ð»Ð¾ÐºÐ° \"еÑли\".";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "иначе";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "иначе ÐµÑли";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "еÑли";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "ЕÑли ÑƒÑловие Ð¸Ñтинно, Ð²Ñ‹Ð¿Ð¾Ð»Ð½Ñет ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "ЕÑли ÑƒÑловие Ð¸Ñтинно, Ð²Ñ‹Ð¿Ð¾Ð»Ð½Ñет Ð¿ÐµÑ€Ð²Ñ‹Ð¹ Ð±Ð»Ð¾Ðº ÐºÐ¾Ð¼Ð°Ð½Ð´. Ð˜Ð½Ð°Ñ‡Ðµ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÑетÑѠвторой Ð±Ð»Ð¾Ðº ÐºÐ¾Ð¼Ð°Ð½Ð´.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "ЕÑли Ð¿ÐµÑ€Ð²Ð¾Ðµ ÑƒÑловие Ð¸Ñтинно, Ñ‚о Ð²Ñ‹Ð¿Ð¾Ð»Ð½Ñет Ð¿ÐµÑ€Ð²Ñ‹Ð¹ Ð±Ð»Ð¾Ðº ÐºÐ¾Ð¼Ð°Ð½Ð´. Ð˜Ð½Ð°Ñ‡Ðµ, ÐµÑли Ð²Ñ‚орое ÑƒÑловие Ð¸Ñтинно, Ð²Ñ‹Ð¿Ð¾Ð»Ð½Ñет Ð²Ñ‚орой Ð±Ð»Ð¾Ðº ÐºÐ¾Ð¼Ð°Ð½Ð´.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "ЕÑли Ð¿ÐµÑ€Ð²Ð¾Ðµ ÑƒÑловие Ð¸Ñтинно, Ñ‚о Ð²Ñ‹Ð¿Ð¾Ð»Ð½Ñет Ð¿ÐµÑ€Ð²Ñ‹Ð¹ Ð±Ð»Ð¾Ðº ÐºÐ¾Ð¼Ð°Ð½Ð´.  Ð’ Ð¿Ñ€Ð¾Ñ‚ивном Ñлучае, ÐµÑли Ð²Ñ‚орое ÑƒÑловие Ð¸Ñтинно, Ð²Ñ‹Ð¿Ð¾Ð»Ð½Ñет Ð²Ñ‚орой Ð±Ð»Ð¾Ðº ÐºÐ¾Ð¼Ð°Ð½Ð´.  Ð•Ñли Ð½Ð¸ Ð¾Ð´Ð½Ð¾ Ð¸Ð· ÑƒÑловий Ð½Ðµ Ð¸Ñтинно, Ð²Ñ‹Ð¿Ð¾Ð»Ð½Ñет Ð¿Ð¾Ñледний Ð±Ð»Ð¾Ðº ÐºÐ¾Ð¼Ð°Ð½Ð´.";
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://ru.wikipedia.org/wiki/Цикл_(программирование)";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "выполнить";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "повторить %1 Ñ€Ð°Ð·";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "ВыполнÑет Ð½ÐµÐºÐ¾Ñ‚орые ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹ Ð½ÐµÑколько Ñ€Ð°Ð·.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "повторÑÑ‚ÑŒ, Ð¿Ð¾ÐºÐ° Ð½Ðµ";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "повторÑÑ‚ÑŒ, Ð¿Ð¾ÐºÐ°";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "Пока Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ð»Ð¾Ð¶Ð½Ð¾, Ð²Ñ‹Ð¿Ð¾Ð»Ð½Ñет ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "Пока Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ð¸Ñтинно, Ð²Ñ‹Ð¿Ð¾Ð»Ð½Ñет ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹.";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "Удалить Ð²Ñе Ð±Ð»Ð¾ÐºÐ¸ (%1)?";
+Blockly.Msg["DELETE_BLOCK"] = "Удалить Ð±Ð»Ð¾Ðº";
+Blockly.Msg["DELETE_VARIABLE"] = "Удалить Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½ÑƒÑŽ '%1'";
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Удалить %1 Ð¸Ñпользований Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹ '%2'?";
+Blockly.Msg["DELETE_X_BLOCKS"] = "Удалить %1 Ð±Ð»Ð¾ÐºÐ¾Ð²";
+Blockly.Msg["DISABLE_BLOCK"] = "Отключить Ð±Ð»Ð¾Ðº";
+Blockly.Msg["DUPLICATE_BLOCK"] = "Дублировать";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Клонировать ÐºÐ¾Ð¼Ð¼ÐµÐ½Ñ‚арий";
+Blockly.Msg["ENABLE_BLOCK"] = "Включить Ð±Ð»Ð¾Ðº";
+Blockly.Msg["EXPAND_ALL"] = "Развернуть Ð±Ð»Ð¾ÐºÐ¸";
+Blockly.Msg["EXPAND_BLOCK"] = "Развернуть Ð±Ð»Ð¾Ðº";
+Blockly.Msg["EXTERNAL_INPUTS"] = "Ð’Ñтавки Ñнаружи";
+Blockly.Msg["HELP"] = "Справка";
+Blockly.Msg["INLINE_INPUTS"] = "Ð’Ñтавки Ð²Ð½ÑƒÑ‚ри";
+Blockly.Msg["IOS_CANCEL"] = "Отмена";
+Blockly.Msg["IOS_ERROR"] = "Ошибка";
+Blockly.Msg["IOS_OK"] = "ОК";
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Ð”обавить Ð²Ñ…одную Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½ÑƒÑŽ";
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Разрешить Ð¾Ð¿ÐµÑ€Ð°Ñ‚оры";
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "У Ñтой Ñ„ункции ÐµÑÑ‚ÑŒ Ð´ÑƒÐ±Ð»Ð¸Ñ€ÑƒÑŽÑ‰Ð¸ÐµÑѠвходные Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ñ‹Ðµ.";
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "ВХОД";
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "Добавить";
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Ð”обавить Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½ÑƒÑŽ";
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "Удалить";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "Ð’Ñ‹ Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚е Ð¸Ñпользовать Ð¿ÑƒÑтое Ð¸Ð¼Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹.";
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Переименовать";
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "ИмѠпеременной";
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "Ñоздать Ð¿ÑƒÑтой ÑпиÑок";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Возвращает ÑпиÑок Ð´Ð»Ð¸Ð½Ñ‹ 0, Ð½Ðµ Ñодержащий Ð´Ð°Ð½Ð½Ñ‹Ñ…";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "ÑпиÑок";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Добавьте, ÑƒÐ´Ð°Ð»Ð¸Ñ‚е, Ð¿ÐµÑ€ÐµÑтавьте Ñлементы Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ´ÐµÐ»ÐºÐ¸ Ð±Ð»Ð¾ÐºÐ° ÑпиÑка.";
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "Ñоздать ÑпиÑок Ð¸Ð·";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "ДобавлÑет Ñлемент Ðº ÑпиÑку.";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Создаёт ÑпиÑок Ñ Ð»ÑŽÐ±Ñ‹Ð¼ Ñ‡Ð¸Ñлом Ñлементов.";
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "первый";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "â„– Ñ ÐºÐ¾Ð½Ñ†Ð°";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "взÑÑ‚ÑŒ";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "взÑÑ‚ÑŒ Ð¸ ÑƒÐ´Ð°Ð»Ð¸Ñ‚ÑŒ";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "поÑледний";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "произвольный";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "удалить";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Возвращает Ð¿ÐµÑ€Ð²Ñ‹Ð¹ Ñлемент ÑпиÑка.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Возвращает Ñлемент Ð² ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð¹ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ð¸ ÑпиÑка.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Возвращает Ð¿Ð¾Ñледний Ñлемент ÑпиÑка.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Возвращает Ñлучайный Ñлемент ÑпиÑка.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "УдалÑет Ð¸ Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‰Ð°ÐµÑ‚ Ð¿ÐµÑ€Ð²Ñ‹Ð¹ Ñлемент ÑпиÑка.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "УдалÑет Ð¸ Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‰Ð°ÐµÑ‚ Ñлемент Ð² ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð¹ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ð¸ ÑпиÑка.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "УдалÑет Ð¸ Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‰Ð°ÐµÑ‚ Ð¿Ð¾Ñледний Ñлемент ÑпиÑка.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "УдалÑет Ð¸ Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‰Ð°ÐµÑ‚ Ñлучайный Ñлемент ÑпиÑка.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "УдалÑет Ð¿ÐµÑ€Ð²Ñ‹Ð¹ Ñлемент ÑпиÑка.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "УдалÑет Ñлемент Ð² ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð¹ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ð¸ ÑпиÑка.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "УдалÑет Ð¿Ð¾Ñледний Ñлемент ÑпиÑка.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "УдалÑет Ñлучайный Ñлемент ÑпиÑка.";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "по â„– Ñ ÐºÐ¾Ð½Ñ†Ð°";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "по â„–";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "по Ð¿Ð¾Ñледний";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "взÑÑ‚ÑŒ Ð¿Ð¾Ð´ÑпиÑок Ñ Ð¿ÐµÑ€Ð²Ð¾Ð³Ð¾";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "взÑÑ‚ÑŒ Ð¿Ð¾Ð´ÑпиÑок Ñ â„– Ñ ÐºÐ¾Ð½Ñ†Ð°";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "взÑÑ‚ÑŒ Ð¿Ð¾Ð´ÑпиÑок Ñ â„–";
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Создаёт ÐºÐ¾Ð¿Ð¸ÑŽ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð¹ Ñ‡Ð°Ñти ÑпиÑка.";
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 - Ð¿Ð¾Ñледний Ñлемент.";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 - Ð¿ÐµÑ€Ð²Ñ‹Ð¹ Ñлемент.";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "найти Ð¿ÐµÑ€Ð²Ð¾Ðµ Ð²Ñ…ождение Ñлемента";
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "найти Ð¿Ð¾Ñледнее Ð²Ñ…ождение Ñлемента";
+Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "Возвращает Ð½Ð¾Ð¼ÐµÑ€ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ð¸ Ð¿ÐµÑ€Ð²Ð¾Ð³Ð¾/поÑледнего Ð²Ñ…ождениѠÑлемента Ð² ÑпиÑке. Ð’озвращает %1, ÐµÑли Ñлемент Ð½Ðµ Ð½Ð°Ð¹Ð´ÐµÐ½.";
+Blockly.Msg["LISTS_INLIST"] = "в ÑпиÑке";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 Ð¿ÑƒÑÑ‚";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Возвращает Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ð¸Ñтина, ÐµÑли ÑпиÑок Ð¿ÑƒÑÑ‚.";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "длина %1";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Возвращает Ð´Ð»Ð¸Ð½Ñƒ ÑпиÑка.";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "Ñоздать ÑпиÑок Ð¸Ð· Ñлемента %1, Ð¿Ð¾Ð²Ñ‚орÑющегоÑÑ %2 Ñ€Ð°Ð·";
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Создаёт ÑпиÑок, ÑоÑтоÑщий Ð¸Ð· Ð·Ð°Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ Ñ‡Ð¸Ñла ÐºÐ¾Ð¿Ð¸Ð¹ Ñлемента.";
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "изменить Ð¿Ð¾Ñ€Ñдок Ð½Ð° Ð¾Ð±Ñ€Ð°Ñ‚ный %1";
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Изменить Ð¿Ð¾Ñ€Ñдок ÑпиÑка Ð½Ð° Ð¾Ð±Ñ€Ð°Ñ‚ный.";
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "=";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "вÑтавить Ð²";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "приÑвоить";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Ð’ÑтавлÑет Ñлемент Ð² Ð½Ð°Ñ‡Ð°Ð»Ð¾ ÑпиÑка.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Ð’ÑтавлÑет Ñлемент Ð² ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð¹ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ð¸ ÑпиÑка.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "ДобавлÑет Ñлемент Ð² ÐºÐ¾Ð½ÐµÑ† ÑпиÑка.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Ð’ÑтавлÑет Ñлемент Ð² Ñлучайное Ð¼ÐµÑто Ð² ÑпиÑке.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "ПриÑваивает Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ð¿ÐµÑ€Ð²Ð¾Ð¼Ñƒ Ñлементу ÑпиÑка.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "ПриÑваивает Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ñлементу Ð² ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð¹ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ð¸ ÑпиÑка.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "ПриÑваивает Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ð¿Ð¾Ñледнему Ñлементу ÑпиÑка.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "ПриÑваивает Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ñлучайному Ñлементу ÑпиÑка.";
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "по Ð²Ð¾Ð·Ñ€Ð°Ñтанию";
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "по ÑƒÐ±Ñ‹Ð²Ð°Ð½Ð¸ÑŽ";
+Blockly.Msg["LISTS_SORT_TITLE"] = "Ñортировать %1 %2 %3";
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Сортировать ÐºÐ¾Ð¿Ð¸ÑŽ ÑпиÑка.";
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "по Ð°Ð»Ñ„авиту, Ð±ÐµÐ· ÑƒÑ‡Ñ‘та Ñ€ÐµÐ³Ð¸Ñтра";
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "чиÑловаÑ";
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "по Ð°Ð»Ñ„авиту";
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "Ñделать ÑпиÑок Ð¸Ð· Ñ‚екÑта";
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "Ñобрать Ñ‚екÑÑ‚ Ð¸Ð· ÑпиÑка";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "СоединÑет ÑпиÑок Ñ‚екÑтов Ð² Ð¾Ð´Ð¸Ð½ Ñ‚екÑÑ‚ Ñ Ñ€Ð°Ð·Ð´ÐµÐ»Ð¸Ñ‚елÑми.";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Разбивает Ñ‚екÑÑ‚ Ð² ÑпиÑок Ñ‚екÑтов, Ð¿Ð¾ Ñ€Ð°Ð·Ð´ÐµÐ»Ð¸Ñ‚елÑм.";
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "Ѡразделителем";
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "ложь";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "Возвращает Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ð¸Ñтина Ð¸Ð»Ð¸ Ð»Ð¾Ð¶ÑŒ.";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "иÑтина";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://ru.wikipedia.org/wiki/ÐеравенÑтво";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Возвращает Ð¿Ð¾Ð»Ð¾Ð¶Ð¸Ñ‚ельное Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ, ÐµÑли Ð²Ð²Ð¾Ð´Ñ‹ Ñ€Ð°Ð²Ð½Ñ‹.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Возвращает Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ð¸Ñтина, ÐµÑли Ð¿ÐµÑ€Ð²Ð°Ñ Ð²Ñтавка Ð±Ð¾Ð»ÑŒÑˆÐµ Ð²Ñ‚орой.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Возвращает Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ð¸Ñтина, ÐµÑли Ð¿ÐµÑ€Ð²Ð°Ñ Ð²Ñтавка Ð±Ð¾Ð»ÑŒÑˆÐµ Ð¸Ð»Ð¸ Ñ€Ð°Ð²Ð½Ð°  Ð²Ñ‚орой.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "Возвращает Ð¿Ð¾Ð»Ð¾Ð¶Ð¸Ñ‚ельное Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ, ÐµÑли Ð¿ÐµÑ€Ð²Ñ‹Ð¹ Ð²Ð²Ð¾Ð´ Ð¼ÐµÐ½ÑŒÑˆÐµ Ð²Ñ‚орого.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "Возвращает Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ð¸Ñтина, ÐµÑли Ð¿ÐµÑ€Ð²Ð°Ñ Ð²Ñтавка Ð¼ÐµÐ½ÑŒÑˆÐµ Ð¸Ð»Ð¸ Ñ€Ð°Ð²Ð½Ð°  Ð²Ñ‚орой.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "Возвращает Ð¿Ð¾Ð»Ð¾Ð¶Ð¸Ñ‚ельное Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ, ÐµÑли Ð²Ð²Ð¾Ð´Ñ‹ Ð½Ðµ Ñ€Ð°Ð²Ð½Ñ‹.";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "не %1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "Возвращает Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ð¸Ñтина, ÐµÑли Ð²Ñтавка Ð»Ð¾Ð¶Ð½Ð°. Ð’озвращает Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ð»Ð¾Ð¶ÑŒ, ÐµÑли Ð²Ñтавка Ð¸Ñтинна.";
+Blockly.Msg["LOGIC_NULL"] = "ничто";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "Возвращает Ð½Ð¸Ñ‡Ñ‚о.";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "и";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "или";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "Возвращает Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ð¸Ñтина, ÐµÑли Ð¾Ð±Ðµ Ð²Ñтавки Ð¸Ñтинны.";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "Возвращает Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ð¸Ñтина, ÐµÑли Ñ…отѠбы Ð¾Ð´Ð½Ð° Ð¸Ð· Ð²Ñтавок Ð¸Ñтинна.";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "выбрать Ð¿Ð¾";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://ru.wikipedia.org/wiki/ТернарнаÑ_уÑловнаÑ_операциÑ";
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "еÑли Ð»Ð¾Ð¶ÑŒ";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "еÑли Ð¸Ñтина";
+Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "ПроверÑет ÑƒÑловие Ð²Ñ‹Ð±Ð¾Ñ€Ð°. Ð•Ñли ÑƒÑловие Ð¸Ñтинно, Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‰Ð°ÐµÑ‚ Ð¿ÐµÑ€Ð²Ð¾Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ, Ð² Ð¿Ñ€Ð¾Ñ‚ивном Ñлучае Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‰Ð°ÐµÑ‚ Ð²Ñ‚орое Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ.";
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://ru.wikipedia.org/wiki/Ðрифметика";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Возвращает Ñумму Ð´Ð²ÑƒÑ… Ñ‡Ð¸Ñел.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Возвращает Ñ‡Ð°Ñтное Ð¾Ñ‚ Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¿ÐµÑ€Ð²Ð¾Ð³Ð¾ Ñ‡Ð¸Ñла Ð½Ð° Ð²Ñ‚орое.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Возвращает Ñ€Ð°Ð·Ð½Ð¾ÑÑ‚ÑŒ Ð´Ð²ÑƒÑ… Ñ‡Ð¸Ñел.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Возвращает Ð¿Ñ€Ð¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¸Ðµ Ð´Ð²ÑƒÑ… Ñ‡Ð¸Ñел.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Возвращает Ð¿ÐµÑ€Ð²Ð¾Ðµ Ñ‡Ð¸Ñло, Ð²Ð¾Ð·Ð²ÐµÐ´Ñ‘нное Ð² Ñтепень Ð²Ñ‚орого Ñ‡Ð¸Ñла.";
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://ru.wikipedia.org/wiki/%D0%98%D0%B4%D0%B8%D0%BE%D0%BC%D0%B0_%28%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%29#.D0.98.D0.BD.D0.BA.D1.80.D0.B5.D0.BC.D0.B5.D0.BD.D1.82";
+Blockly.Msg["MATH_CHANGE_TITLE"] = "увеличить %1 Ð½Ð° %2";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "ДобавлÑет Ñ‡Ð¸Ñло Ðº Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹ '%1'.";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://ru.wikipedia.org/wiki/МатематичеÑкаÑ_конÑтанта";
+Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "Возвращает Ð¾Ð´Ð½Ñƒ Ð¸Ð· Ñ€Ð°ÑпроÑтранённых  ÐºÐ¾Ð½Ñтант: Ï€ (3.141...), e (2.718...), Ï† (1.618...), sqrt(2) (1.414...), sqrt(½) (0.707...) Ð¸Ð»Ð¸ âˆž (беÑконечноÑÑ‚ÑŒ).";
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "ограничить %1 Ñнизу %2 Ñверху %3";
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Ограничивает Ñ‡Ð¸Ñло Ð½Ð¸Ð¶Ð½ÐµÐ¹ Ð¸ Ð²ÐµÑ€Ñ…ней Ð³Ñ€Ð°Ð½Ð¸Ñ†Ð°Ð¼Ð¸ (включительно).";
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";  // untranslated
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "делитÑѠна";
+Blockly.Msg["MATH_IS_EVEN"] = "чётное";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "отрицательное";
+Blockly.Msg["MATH_IS_ODD"] = "нечётное";
+Blockly.Msg["MATH_IS_POSITIVE"] = "положительное";
+Blockly.Msg["MATH_IS_PRIME"] = "проÑтое";
+Blockly.Msg["MATH_IS_TOOLTIP"] = "ПроверÑет, ÑвлÑетÑѠли Ñ‡Ð¸Ñло Ñ‡Ñ‘тным, Ð½ÐµÑ‡Ñ‘тным, Ð¿Ñ€Ð¾Ñтым, Ñ†ÐµÐ»Ñ‹Ð¼, Ð¿Ð¾Ð»Ð¾Ð¶Ð¸Ñ‚ельным, Ð¾Ñ‚рицательным Ð¸Ð»Ð¸ Ð¾Ð½Ð¾ ÐºÑ€Ð°Ñ‚но Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘нному Ñ‡Ð¸Ñлу.  Ð’озвращает Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ð¸Ñтина Ð¸Ð»Ð¸ Ð»Ð¾Ð¶ÑŒ.";
+Blockly.Msg["MATH_IS_WHOLE"] = "целое";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://ru.wikipedia.org/wiki/Деление_Ñ_оÑтатком";
+Blockly.Msg["MATH_MODULO_TITLE"] = "оÑтаток Ð¾Ñ‚ %1 : %2";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Возвращает Ð¾Ñтаток Ð¾Ñ‚ Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð´Ð²ÑƒÑ… Ñ‡Ð¸Ñел.";
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";  // untranslated
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://ru.wikipedia.org/wiki/ЧиÑло";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "ЧиÑло.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "Ñреднее Ð°Ñ€Ð¸Ñ„метичеÑкое ÑпиÑка";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "наибольшее Ð² ÑпиÑке";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "медиана ÑпиÑка";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "наименьшее Ð² ÑпиÑке";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "моды ÑпиÑка";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "Ñлучайный Ñлемент ÑпиÑка";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "Ñтандартное Ð¾Ñ‚клонение ÑпиÑка";
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "Ñумма ÑпиÑка";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Возвращает Ñреднее Ð°Ñ€Ð¸Ñ„метичеÑкое ÑпиÑка.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "Возвращает Ð½Ð°Ð¸Ð±Ð¾Ð»ÑŒÑˆÐµÐµ Ñ‡Ð¸Ñло ÑпиÑка.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "Возвращает Ð¼ÐµÐ´Ð¸Ð°Ð½Ñƒ ÑпиÑка.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "Возвращает Ð½Ð°Ð¸Ð¼ÐµÐ½ÑŒÑˆÐµÐµ Ñ‡Ð¸Ñло ÑпиÑка.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Возвращает ÑпиÑок Ð½Ð°Ð¸Ð±Ð¾Ð»ÐµÐµ Ñ‡Ð°Ñто Ð²ÑтречающихÑÑ Ñлементов ÑпиÑка.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Возвращает Ñлучайный Ñлемент ÑпиÑка.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Возвращает Ñтандартное Ð¾Ñ‚клонение ÑпиÑка.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Возвращает Ñумму Ð²Ñех Ñ‡Ð¸Ñел Ð² ÑпиÑке.";
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://ru.wikipedia.org/wiki/Генератор_пÑевдоÑлучайных_чиÑел";
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "Ñлучайное Ñ‡Ð¸Ñло Ð¾Ñ‚ 0 (включительно) Ð´Ð¾ 1";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Возвращает Ñлучайное Ñ‡Ð¸Ñло Ð¾Ñ‚ 0.0 (включительно) Ð´Ð¾ 1.0.";
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://ru.wikipedia.org/wiki/Генератор_пÑевдоÑлучайных_чиÑел";
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "Ñлучайное Ñ†ÐµÐ»Ð¾Ðµ Ñ‡Ð¸Ñло Ð¾Ñ‚ %1 Ð´Ð»Ñ %2";
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Возвращает Ñлучайное Ñ‡Ð¸Ñло Ð¼ÐµÐ¶Ð´Ñƒ Ð´Ð²ÑƒÐ¼Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ñ‹Ð¼Ð¸ Ð¿Ñ€ÐµÐ´ÐµÐ»Ð°Ð¼Ð¸ (включаѠи Ð¸Ñ…).";
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://ru.wikipedia.org/wiki/Округление";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "округлить";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "округлить Ðº Ð¼ÐµÐ½ÑŒÑˆÐµÐ¼Ñƒ";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "округлить Ðº Ð±Ð¾Ð»ÑŒÑˆÐµÐ¼Ñƒ";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "ОкруглÑет Ñ‡Ð¸Ñло Ð´Ð¾ Ð±Ð¾Ð»ÑŒÑˆÐµÐ³Ð¾ Ð¸Ð»Ð¸ Ð¼ÐµÐ½ÑŒÑˆÐµÐ³Ð¾.";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://ru.wikipedia.org/wiki/Квадратный_корень";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "модуль";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "квадратный ÐºÐ¾Ñ€ÐµÐ½ÑŒ";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Возвращает Ð¼Ð¾Ð´ÑƒÐ»ÑŒ Ñ‡Ð¸Ñла";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Возвращает Ðµ Ð² ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð¹ Ñтепени.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "Возвращает Ð½Ð°Ñ‚уральный Ð»Ð¾Ð³Ð°Ñ€Ð¸Ñ„м Ñ‡Ð¸Ñла.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "Возвращает Ð´ÐµÑÑтичный Ð»Ð¾Ð³Ð°Ñ€Ð¸Ñ„м Ñ‡Ð¸Ñла.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Возвращает Ð¿Ñ€Ð¾Ñ‚ивоположное Ñ‡Ð¸Ñло.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Возвращает 10 Ð² ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð¹ Ñтепени.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Возвращает ÐºÐ²Ð°Ð´Ñ€Ð°Ñ‚ный ÐºÐ¾Ñ€ÐµÐ½ÑŒ Ñ‡Ð¸Ñла.";
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";  // untranslated
+Blockly.Msg["MATH_TRIG_ACOS"] = "acos";  // untranslated
+Blockly.Msg["MATH_TRIG_ASIN"] = "asin";  // untranslated
+Blockly.Msg["MATH_TRIG_ATAN"] = "atan";  // untranslated
+Blockly.Msg["MATH_TRIG_COS"] = "cos";  // untranslated
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://ru.wikipedia.org/wiki/ТригонометричеÑкие_функции";
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";  // untranslated
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Возвращает Ð°Ñ€ÐºÐºÐ¾ÑинуѠ(в Ð³Ñ€Ð°Ð´ÑƒÑах).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Возвращает Ð°Ñ€ÐºÑинуѠ(в Ð³Ñ€Ð°Ð´ÑƒÑах).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Возвращает Ð°Ñ€ÐºÑ‚ангенѠ(в Ð³Ñ€Ð°Ð´ÑƒÑах)";
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Возвращает ÐºÐ¾ÑинуѠугла Ð² Ð³Ñ€Ð°Ð´ÑƒÑах.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Возвращает ÑинуѠугла Ð² Ð³Ñ€Ð°Ð´ÑƒÑах.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Возвращает Ñ‚ангенѠугла Ð² Ð³Ñ€Ð°Ð´ÑƒÑах.";
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Создать Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½ÑƒÑŽ Ñ†Ð²ÐµÑ‚а...";
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Создать Ñ‡Ð¸Ñловую Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½ÑƒÑŽ...";
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Создать Ñтроковую Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½ÑƒÑŽ...";
+Blockly.Msg["NEW_VARIABLE"] = "Создать Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½ÑƒÑŽâ€¦";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "ИмѠновой Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "Ðовый Ñ‚ип Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹:";
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "разрешить Ð¾Ð¿ÐµÑ€Ð°Ñ‚оры";
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "Ñ:";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://ru.wikipedia.org/wiki/Подпрограмма";
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "ИÑполнÑет Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘нную Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚елем Ð¿Ñ€Ð¾Ñ†ÐµÐ´ÑƒÑ€Ñƒ '%1'.";
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://ru.wikipedia.org/wiki/Подпрограмма";
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "ИÑполнÑет Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘нную Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚елем Ð¿Ñ€Ð¾Ñ†ÐµÐ´ÑƒÑ€Ñƒ '%1' Ð¸ Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‰Ð°ÐµÑ‚ Ð²Ñ‹Ñ‡Ð¸Ñленное  Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ.";
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "Ñ:";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "Создать Ð²Ñ‹Ð·Ð¾Ð² '%1'";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Опишите Ñту Ñ„ункцию…";
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "выполнить Ñ‡Ñ‚о-то";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "чтобы";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Создаёт Ð¿Ñ€Ð¾Ñ†ÐµÐ´ÑƒÑ€Ñƒ, Ð½Ðµ Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‰Ð°ÑŽÑ‰ÑƒÑŽ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ.";
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "вернуть";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "Создаёт Ð¿Ñ€Ð¾Ñ†ÐµÐ´ÑƒÑ€Ñƒ, Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‰Ð°ÑŽÑ‰ÑƒÑŽ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ.";
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "Предупреждение: Ñта Ñ„ункциѠимеет Ð¿Ð¾Ð²Ñ‚орÑющиеÑѠпараметры.";
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "Выделить Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ðµ Ð¿Ñ€Ð¾Ñ†ÐµÐ´ÑƒÑ€Ñ‹";
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "ЕÑли Ð¿ÐµÑ€Ð²Ð¾Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ð¸Ñтинно, Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‰Ð°ÐµÑ‚ Ð²Ñ‚орое Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ.";
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "Предупреждение: Ð­Ñ‚от Ð±Ð»Ð¾Ðº Ð¼Ð¾Ð¶ÐµÑ‚ Ð¸ÑпользоватьÑѠтолько Ð²Ð½ÑƒÑ‚ри Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ñ„ункции.";
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "имѠпараметра:";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Добавить Ð²Ñ…одной Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€ Ð² Ñ„ункцию.";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "параметры";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Добавить, ÑƒÐ´Ð°Ð»Ð¸Ñ‚ÑŒ Ð¸Ð»Ð¸ Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ Ð¿Ð¾Ñ€Ñдок Ð²Ñ…одных Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚ров Ð´Ð»Ñ Ñтой Ñ„ункции.";
+Blockly.Msg["REDO"] = "Повторить";
+Blockly.Msg["REMOVE_COMMENT"] = "Удалить ÐºÐ¾Ð¼Ð¼ÐµÐ½Ñ‚арий";
+Blockly.Msg["RENAME_VARIABLE"] = "Переименовать Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½ÑƒÑŽâ€¦";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Переименовать Ð²Ñе Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ñ‹Ðµ '%1' Ð²:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "к %1 Ð´Ð¾Ð±Ð°Ð²Ð¸Ñ‚ÑŒ Ñ‚екÑÑ‚ %2";
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Добавить Ñ‚екÑÑ‚ Ðº Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹ Â«%1».";
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "в Ñтрочные Ð±ÑƒÐºÐ²Ñ‹";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "в Ð—аглавные Ðачальные Ð‘уквы";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "в Ð—ÐГЛÐÐ’ÐЫЕ Ð‘УКВЫ";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Возвращает ÐºÐ¾Ð¿Ð¸ÑŽ Ñ‚екÑта Ñ Ð—ÐГЛÐÐ’ÐЫМИ Ð¸Ð»Ð¸ Ñтрочными Ð±ÑƒÐºÐ²Ð°Ð¼Ð¸.";
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "взÑÑ‚ÑŒ Ð¿ÐµÑ€Ð²ÑƒÑŽ Ð±ÑƒÐºÐ²Ñƒ";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "взÑÑ‚ÑŒ Ð±ÑƒÐºÐ²Ñƒ â„– Ñ ÐºÐ¾Ð½Ñ†Ð°";
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "взÑÑ‚ÑŒ Ð±ÑƒÐºÐ²Ñƒ â„–";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "взÑÑ‚ÑŒ Ð¿Ð¾Ñледнюю Ð±ÑƒÐºÐ²Ñƒ";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "взÑÑ‚ÑŒ Ñлучайную Ð±ÑƒÐºÐ²Ñƒ";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "в Ñ‚екÑте %1 %2";
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Возвращает Ð±ÑƒÐºÐ²Ñƒ Ð² ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð¹ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ð¸.";
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "подÑчитать ÐºÐ¾Ð»Ð¸Ñ‡ÐµÑтво %1 Ð² %2";
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "ПодÑчитать, Ñколько Ñ€Ð°Ð· Ð¾Ñ‚рывок Ñ‚екÑта Ð¿Ð¾ÑвлÑетÑѠв Ð´Ñ€ÑƒÐ³Ð¾Ð¼ Ñ‚екÑте.";
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Добавить Ñлемент Ðº Ñ‚екÑту.";
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "Ñоединить";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Добавьте, ÑƒÐ´Ð°Ð»Ð¸Ñ‚е, Ð¿ÐµÑ€ÐµÑтавьте Ñ„рагменты Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ´ÐµÐ»ÐºÐ¸ Ñ‚екÑтового Ð±Ð»Ð¾ÐºÐ°.";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "по Ð±ÑƒÐºÐ²Ñƒ â„– Ñ ÐºÐ¾Ð½Ñ†Ð°";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "по Ð±ÑƒÐºÐ²Ñƒ â„–";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "по Ð¿Ð¾Ñледнюю Ð±ÑƒÐºÐ²Ñƒ";
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "в Ñ‚екÑте";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "взÑÑ‚ÑŒ Ð¿Ð¾Ð´Ñтроку Ñ Ð¿ÐµÑ€Ð²Ð¾Ð¹ Ð±ÑƒÐºÐ²Ñ‹";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "взÑÑ‚ÑŒ Ð¿Ð¾Ð´Ñтроку Ñ Ð±ÑƒÐºÐ²Ñ‹ â„– Ñ ÐºÐ¾Ð½Ñ†Ð°";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "взÑÑ‚ÑŒ Ð¿Ð¾Ð´Ñтроку Ñ Ð±ÑƒÐºÐ²Ñ‹ â„–";
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Возвращает ÑƒÐºÐ°Ð·Ð°Ð½Ð½ÑƒÑŽ Ñ‡Ð°ÑÑ‚ÑŒ Ñ‚екÑта.";
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "найти Ð¿ÐµÑ€Ð²Ð¾Ðµ Ð²Ñ…ождение Ñ‚екÑта";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "найти Ð¿Ð¾Ñледнее Ð²Ñ…ождение Ñ‚екÑта";
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "в Ñ‚екÑте %1 %2 %3";
+Blockly.Msg["TEXT_INDEXOF_TOOLTIP"] = "Возвращает Ð½Ð¾Ð¼ÐµÑ€ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ð¸ Ð¿ÐµÑ€Ð²Ð¾Ð³Ð¾/поÑледнего Ð²Ñ…ождениѠпервого Ñ‚екÑта Ð²Ð¾  Ð²Ñ‚ором.  Ð’озвращает %1, ÐµÑли Ñ‚екÑÑ‚ Ð½Ðµ Ð½Ð°Ð¹Ð´ÐµÐ½.";
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 Ð¿ÑƒÑÑ‚";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Возвращает Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ð¸Ñтина, ÐµÑли Ð¿Ñ€ÐµÐ´Ð¾Ñтавленный Ñ‚екÑÑ‚ Ð¿ÑƒÑÑ‚.";
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "Ñоздать Ñ‚екÑÑ‚ Ð¸Ð·";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Создаёт Ñ„рагмент Ñ‚екÑта, Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½ÑѠлюбое Ñ‡Ð¸Ñло Ñлементов";
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "длина %1";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Возвращает Ñ‡Ð¸Ñло Ñимволов (включаѠпробелы) Ð² Ð·Ð°Ð´Ð°Ð½Ð½Ð¾Ð¼ Ñ‚екÑте.";
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "напечатать %1";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Печатает Ñ‚екÑÑ‚, Ñ‡Ð¸Ñло Ð¸Ð»Ð¸ Ð´Ñ€ÑƒÐ³Ð¾Ð¹ Ð¾Ð±ÑŠÐµÐºÑ‚.";
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "ЗапроÑить Ñƒ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚елѠчиÑло.";
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "ЗапроÑить Ñƒ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚елѠтекÑÑ‚.";
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "запроÑить Ñ‡Ð¸Ñло Ñ Ð¿Ð¾Ð´Ñказкой";
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "запроÑить Ñ‚екÑÑ‚ Ñ Ð¿Ð¾Ð´Ñказкой";
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "заменить %1 Ð½Ð° %2 Ð² %3";
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Заменить Ð²Ñе Ð²Ñ…ождениѠнекоторого Ñ‚екÑта Ð´Ñ€ÑƒÐ³Ð¸Ð¼ Ñ‚екÑтом.";
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "изменить Ð¿Ð¾Ñ€Ñдок Ð½Ð° Ð¾Ð±Ñ€Ð°Ñ‚ный %1";
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "МенÑет Ð¿Ð¾Ñ€Ñдок Ñимволов Ð² Ñ‚екÑте Ð½Ð° Ð¾Ð±Ñ€Ð°Ñ‚ный.";
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://ru.wikipedia.org/wiki/Строковый_тип";
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "Буква, Ñлово Ð¸Ð»Ð¸ Ñтрока Ñ‚екÑта.";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "обрезать Ð¿Ñ€Ð¾Ð±ÐµÐ»Ñ‹ Ñ Ð´Ð²ÑƒÑ… Ñторон";
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "обрезать Ð¿Ñ€Ð¾Ð±ÐµÐ»Ñ‹ Ñлева";
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "обрезать Ð¿Ñ€Ð¾Ð±ÐµÐ»Ñ‹ Ñправа";
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Возвращает ÐºÐ¾Ð¿Ð¸ÑŽ Ñ‚екÑта Ñ Ð¿Ñ€Ð¾Ð±ÐµÐ»Ð°Ð¼Ð¸, ÑƒÐ´Ð°Ð»Ñ‘нными Ñ Ð¾Ð´Ð½Ð¾Ð³Ð¾ Ð¸Ð»Ð¸ Ð¾Ð±Ð¾Ð¸Ñ… ÐºÐ¾Ð½Ñ†Ð¾Ð².";
+Blockly.Msg["TODAY"] = "СегоднÑ";
+Blockly.Msg["UNDO"] = "Отменить";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "Ñлемент";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Создать Ð±Ð»Ð¾Ðº \"приÑвоить\" Ð´Ð»Ñ %1";
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Возвращает Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ñтой Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹.";
+Blockly.Msg["VARIABLES_SET"] = "приÑвоить %1 = %2";
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Создать Ð²Ñтавку %1";
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "ПриÑваивает Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ð²Ñтавки.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "ПеременнаѠѠименем '%1' ÑƒÐ¶Ðµ ÑущеÑтвует.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "Ðазвание Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹ '%1' ÑƒÐ¶Ðµ Ð¸ÑпользуетÑѠдругой Ñ‚ипа: '%2'.";
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Ðапишите Ð·Ð´ÐµÑÑŒ Ñ‡Ñ‚о-нибудь...";
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/sc.js b/js/msg/js/sc.js
new file mode 100644 (file)
index 0000000..1d1887a
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.sc');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "Agiunghe unu cumentu";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "Can't delete the variable '%1' because it's part of the definition of the function '%2'";  // untranslated
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "Muda valori:";
+Blockly.Msg["CLEAN_UP"] = "Lìmpia is brocus";
+Blockly.Msg["COLLAPSE_ALL"] = "Serra e stringi Brocus";
+Blockly.Msg["COLLAPSE_BLOCK"] = "Serra e stringi Brocu";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "colori 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "colori 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";  // untranslated
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "raportu";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "mestura";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "Amestura duus coloris cun unu raportu (0.0 - 1.0).";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://en.wikipedia.org/wiki/Color";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "Scebera unu colori de sa tauledda.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "Unu colori a brítiu";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "Scebera unu colori a brítiu.";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "blue";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "birdi";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";  // untranslated
+Blockly.Msg["COLOUR_RGB_RED"] = "arrùbiu";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "colora cun";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "Cuncorda unu colori cun su tanti de arrubiu, birdi, e blue. Totu is valoris depint essi intra 0 e 100.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "sàrtiat a foras de sa lòriga";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "sighit cun su repicu afatànti";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "Bessit de sa lòriga.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "Sartiat su chi abarrat de sa loriga, e sighit cun su repicu afatànti.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "Amonestu: Custu brocu ddu podis ponni sceti aintru de una lòriga.";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "po dònnia item %1 in lista %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "Po dònnia item in sa lista, ponit sa variàbili '%1' pari a s'item, e tandu fait pariga de cumandus.";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "po %1 de %2 fintzas %3 a passus de %4";
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "Fait pigai a sa variàbili \"%1\" i valoris de su primu numeru a s'urtimu, a su passu impostau e fait su brocu.";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "Aciungi una cunditzioni a su brocu si.";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "Aciungi una urtima cunditzioni piga-totu a su brocu si.";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Aciungi, fùlia, o assenta is partis po torrai a sètiu custu brocu si.";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "sinuncas";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "sinuncas si";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "si";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "Si su valori est berus, tandu fait pariga de cumandus.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "Si su valori est berus, tandu fai su primu brocu de is cumandus. Sinuncas, fai su segundu brocu de is cumandus.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "Si su primu valori est beridadi, tandu fai su primu brocu de is cumandus. Sinuncas, si su segundu valori est beridadi, fai su segundu brocu de is cumandus.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "Si su primu valori est berus, tandu fai su primu brocu de is cumandus. Sinuncas, si su segundu valori est berus, fai su segundu brocu de is cumandus. Si mancu unu valori est berus, tandu fai s'urtimu brocu de is cumandus.";
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://en.wikipedia.org/wiki/For_loop";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "fai";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "repiti %1 bortas";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "Fait pariga de cumandus prus bortas.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "repiti fintzas";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "repiti interis";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "Interis su valori est frassu, tandu fai pariga de cumandus.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "Interis su valori est berus, tandu fai pariga de cumandus.";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "Scancellu su %1 de is brocus?";
+Blockly.Msg["DELETE_BLOCK"] = "Fùlia Blocu";
+Blockly.Msg["DELETE_VARIABLE"] = "Delete the '%1' variable";  // untranslated
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Delete %1 uses of the '%2' variable?";  // untranslated
+Blockly.Msg["DELETE_X_BLOCKS"] = "Fulia %1 Blocus";
+Blockly.Msg["DISABLE_BLOCK"] = "Disabìlita Blocu";
+Blockly.Msg["DUPLICATE_BLOCK"] = "Dùplica";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicate Comment";  // untranslated
+Blockly.Msg["ENABLE_BLOCK"] = "Abìlita Blocu";
+Blockly.Msg["EXPAND_ALL"] = "Aberi Brocus";
+Blockly.Msg["EXPAND_BLOCK"] = "Aberi Brocu";
+Blockly.Msg["EXTERNAL_INPUTS"] = "Intradas esternas";
+Blockly.Msg["HELP"] = "Agiudu";
+Blockly.Msg["INLINE_INPUTS"] = "Intradas in lìnia";
+Blockly.Msg["IOS_CANCEL"] = "Cancel";  // untranslated
+Blockly.Msg["IOS_ERROR"] = "Error";  // untranslated
+Blockly.Msg["IOS_OK"] = "OK";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Add Input";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Allow statements";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "This function has duplicate inputs.";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "INPUTS";  // untranslated
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "Add";  // untranslated
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Add Variable";  // untranslated
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "Delete";  // untranslated
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "You can't use an empty variable name.";  // untranslated
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Rename";  // untranslated
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Variable name";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "fait una lista buida";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Torrat una lista, de longària 0, chena records de datus.";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "lista";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Aciungi, fùlia, o assenta is partis po torrai a sètiu custu brocu lista.";
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "fait una lista cun";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Acciungi unu item a sa lista.";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Fait una lista cun calisiollat numeru de items.";
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "primu";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "# de sa fini";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "piga";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "piga e fùlia";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "urtimu";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "a brìtiu (random)";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "fùlia";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Torrat su primu elementu de una lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Torrat s'elementu de su postu inditau de una lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Torrat s'urtimu elementu de una lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Torrat un'elementu a brìtiu de una lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "Fùliat e torrat su primu elementu de una lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "Fùliat e torrat s'elementu de su postu inditau de una lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "Fùliat e torrat s'urtimu elementu de una lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Fùliat e torrat un'elementu a brìtiu de una lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "Fùliat su primu elementu de una lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "Fùliat s'elementu de su postu inditau de una lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "Fùliat s'urtimu elementu de una lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Fùliat unu elementu a brìtiu de una lista.";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "a # de sa fini";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "fintzas a #";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "a s'urtimu";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "bogandi suta-lista de su primu";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "bogandi suta-lista de # de sa fini.";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "bogandi suta-lista de #";
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Fait una copia de sa parti inditada de sa lista.";
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 est po s'urtimu elementu.";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 est po su primu elementu.";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "circa prima ocasioni de s'item";
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "circa urtima ocasioni de s'item";
+Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "Torrat s'indixi de sa primu/urtima ocasioni de s'item in sa lista. Torrat %1 si s'item non s'agatat.";
+Blockly.Msg["LISTS_INLIST"] = "in lista";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 est buidu";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Torrat berus si sa lista est buida.";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "longària de %1";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Torrat sa longària de una lista.";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "fait una lista cun item %1 repitiu %2 bortas";
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Fait una lista cun unu numeru giau repitiu su tanti de is bortas inditadas.";
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";  // untranslated
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Reverse a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "a";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "inserta a";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "imposta";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Insertat s'elementu a su cumintzu de sa lista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Insertat s'elementu in su postu inditau in una lista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Aciungit s'elementu a sa fini de sa lista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Aciungit s'elementu a brítiu in sa lista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Impostat su primu elementu in una lista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Impostat s'elementu in su postu inditau de una lista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Impostat s'urtimu elementu in una lista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Impostat unu elementu random in una lista.";
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";  // untranslated
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "ascending";  // untranslated
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "descending";  // untranslated
+Blockly.Msg["LISTS_SORT_TITLE"] = "sort %1 %2 %3";  // untranslated
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Sort a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "alphabetic, ignore case";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "numeric";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "alphabetic";  // untranslated
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "fai una lista de unu testu";
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "fai unu testu de una lista";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Auni una lista de testus in d-unu sceti, ponendi separadoris.";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Dividi su testu in un'elencu de testus, firmendi po dònnia separadori.";
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "cun  separadori";
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "frassu";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "Torrat berus o frassu.";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "berus";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://en.wikipedia.org/wiki/Inequality_(mathematics)";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Torrat berus si is inputs funt unu uguali a s'àteru.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Torrat berus si su primu input est prus mannu de s'àteru.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Torrat berus si su primu input est prus mannu o uguali a s'àteru.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "Torrat berus si su primu input est prus piticu de s'àteru.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "Torrat berus si su primu input est prus piticu o uguali a s'àteru.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "Torrat berus si is inputs non funt unu uguali a s'àteru.";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "non %1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "Torrat berus si s'input est frassu. Torrat frassu si s'input est berus.";
+Blockly.Msg["LOGIC_NULL"] = "null";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";  // untranslated
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "Torrat null.";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "and";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "or";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "Torrat berus si ambos is inputs funt berus.";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "Torrat berus si assumancu unu de is inputs est berus.";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "cumpròa";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "si frassu";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "si berus";
+Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "‎Cumproa sa cunditzioni in 'cumproa'. Si sa cunditzioni est berus, torrat su valori 'si berus'; sinuncas torrat su valori 'si frassu'.";
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://en.wikipedia.org/wiki/Arithmetic";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Torrat sa summa de is duus nùmerus.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Torrat su cuotzienti de is duus nùmerus.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Torrat sa diferèntzia de is duus nùmerus.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Torrat su produtu de is duus nùmerus.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Torrat su primu numeru artziau a sa potenza de su segundu nùmeru.";
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";
+Blockly.Msg["MATH_CHANGE_TITLE"] = "muda %1 de %2";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Aciungi unu numeru a sa variabili '%1'.";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://en.wikipedia.org/wiki/Mathematical_constant";
+Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "Torrat una de is costantis comunas: Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), o âˆž (infiniu).";
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "custringi %1 de %2 a %3";
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Custringi unu numeru aintru de is liminaxus giaus (cumprendius).";
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";  // untranslated
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "fait a ddu dividi po";
+Blockly.Msg["MATH_IS_EVEN"] = "est paris";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "est negativu";
+Blockly.Msg["MATH_IS_ODD"] = "est dísparu";
+Blockly.Msg["MATH_IS_POSITIVE"] = "est positivu";
+Blockly.Msg["MATH_IS_PRIME"] = "est primu";
+Blockly.Msg["MATH_IS_TOOLTIP"] = "Cumprova si unu numeru est paris, dìsparis, primu, intreu, positivu, negativu o si fait a ddu dividi po unu numeru giau. Torrat berus o frassu.";
+Blockly.Msg["MATH_IS_WHOLE"] = "est intreu";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://en.wikipedia.org/wiki/Modulo_operation";
+Blockly.Msg["MATH_MODULO_TITLE"] = "arrestu de %1 ÷ %2";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Torrat s'arrestu de sa divisioni de duus numerus.";
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";  // untranslated
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://en.wikipedia.org/wiki/Number";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "Unu numeru";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "mèdia de sa lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "massimu de sa lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "medianu de sa lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "minimu de sa lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "modas de sa lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "unu item a brìtiu de sa lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "deviadura standard de sa lista";
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "suma sa lista";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Torrat sa mèdia (aritimètica) de is valoris de sa lista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "Torrat su numeru prus mannu de sa lista";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "Torrat su numeru medianu de sa lista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "Torrat su numeru prus piticu de sa lista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Torrat una lista de is itams prus frecuentis de sa lista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Torrat unu item a brìtiu de sa lista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Torrat sa deviadura standard de sa lista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Torrat sa suma de totu is numerus de sa lista.";
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "una fratzioni a brìtiu";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Torrat una fratzioni a brìtiu intra 0.0 (cumpresu) e 1.0 (bogau).";
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "numeru intreu a brítiu de %1 a %2";
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Torrat unu numeru intreu a brìtiu intra duus nùmerus giaus (cumpresus).";
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://en.wikipedia.org/wiki/Rounding";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "arretunda";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "arretunda faci a bàsciu.";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "Arretunda faci a susu";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Arretunda unu numeru faci a susu o faci a bàsciu.";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://en.wikipedia.org/wiki/Square_root";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "assolutu";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "arraxina cuadra";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Torrat su valori assolútu de unu numeru.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Torrat (e) a sa potèntzia de unu numeru.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "Torrat su logaritmu naturali de unu numeru.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "Torrat su logaritmu a basi 10 de unu numeru.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Torrat su valori negau de unu numeru.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Torrat (10) a sa potèntzia de unu numeru.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Torrat s'arraxina cuadra de unu numeru.";
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";  // untranslated
+Blockly.Msg["MATH_TRIG_ACOS"] = "acos";  // untranslated
+Blockly.Msg["MATH_TRIG_ASIN"] = "asin";  // untranslated
+Blockly.Msg["MATH_TRIG_ATAN"] = "atan";  // untranslated
+Blockly.Msg["MATH_TRIG_COS"] = "cos";  // untranslated
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://en.wikipedia.org/wiki/Trigonometric_functions";
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";  // untranslated
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Torrat su arccosinu de unu numeru.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Torrat su arcsinu de unu numeru.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Torrat su arctangenti de unu numeru.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Torrat su cosinu de unu gradu (no radianti).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Torrat su sinu de unu gradu (no radianti).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Torrat sa tangenti de unu gradu (no radianti).";
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Create colour variable...";  // untranslated
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Create number variable...";  // untranslated
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Create string variable...";  // untranslated
+Blockly.Msg["NEW_VARIABLE"] = "Variabili noa...";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "Nòmini de sa variabili noa:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "New variable type:";  // untranslated
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "permiti decraratzionis";
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "con:";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29";
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Arròllia sa funtzione '%1' cuncordada dae s'impitadore.";
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29";
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Arròllia sa funtzione '%1' cuncordada dae s'impitadore e imprea s'output suu.";
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "cun";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "Ingenerau'%1'";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Describe this function...";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "fait calincuna cosa";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "po";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Fait una funtzioni chena output.";
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "torrat";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "Fait una funtzioni cun output.";
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "Amonestu: Custa funtzioni tenit parametrus duplicaus.";
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "Marca sa definitzioni de funtzioni.";
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "Si unu valori est berus, tandu torrat unu segundu valori.";
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "Amonestu: Custu brocu ddu podis ponni sceti aintru de una funtzioni.";
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "nomini input:";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Aciungi un input a sa funtzioni.";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "inputs";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Aciungi, fùlia, o assenta is inputs a custa funtzioni.";
+Blockly.Msg["REDO"] = "Redo";  // untranslated
+Blockly.Msg["REMOVE_COMMENT"] = "Fùlia unu cumentu";
+Blockly.Msg["RENAME_VARIABLE"] = "Muda nòmini a variabili...";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "A is variabilis '%1' muda nòmini a:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "a %1 acciungi su testu %2";
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Aciungit testu a sa variàbili '%1'.";
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "a minúdu";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "cun Primu lìtera a Mauschínu";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "a mauschínu";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Torrat una copia de su testu inditau mudendi mauschínu/minúdu.";
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "piga sa prima lìtera";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "piga sa lìtera # de sa fini";
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "piga sa lìtera #";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "piga s'urtima lìtera";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "piga una lìtera a brìtiu";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "in text %1 %2";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Torrat sa lìtera de su postu giau.";
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";  // untranslated
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "count %1 in %2";  // untranslated
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Count how many times some text occurs within some other text.";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Acciungi unu item a su testu.";
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "auni a pari";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Aciungi, fùlia, o assenta is partis po torrai a sètiu custu brocu de testu.";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "a sa lìtera # de sa fini";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "a sa lìtera #";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "a s'urtima lìtera";
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "in su testu";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "piga suta-stringa de sa primu lìtera";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "piga suta-stringa de sa lìtera # fintzas a fini";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "piga suta-stringa de sa lìtera #";
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Torrat su testu inditau.";
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "circa prima ocasioni de su testu";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "circa urtima ocasioni de su testu";
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "in su testu %1 %2 %3";
+Blockly.Msg["TEXT_INDEXOF_TOOLTIP"] = "Torrat s'indixi de sa primu/urtima ocasioni de su primu testu in su segundu testu. Torrat %1 si su testu no ddu agatat.";
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 est buidu";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Torrat berus si su testu giau est buidu.";
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "scri testu cun";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Fait unu testu ponendi a pari parigas de items.";
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "longària de %1";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Torrat su numeru de lìteras (cun is spàtzius) in su testu giau.";
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "scri %1";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Scri su testu, numeru o àteru valori.";
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Pregonta unu nùmeru a s'impitadore.";
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Pregonta testu a s'impitadore.";
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "pregonta po unu numeru";
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "pregonta po su testu";
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";  // untranslated
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "replace %1 with %2 in %3";  // untranslated
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Replace all occurances of some text within some other text.";  // untranslated
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";  // untranslated
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Reverses the order of the characters in the text.";  // untranslated
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://en.wikipedia.org/wiki/String_(computer_science)";
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "Una lìtera, paràula, o linia de testu.";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "bogat spàtzius de ambus càbudus de";
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "bogat spàtzius de su càbudu de manca de";
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "bogat spàtzius de su càbudu de dereta de";
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Torrat una copia de su testu bogaus is spàtzius de unu o de ambus is càbudus.";
+Blockly.Msg["TODAY"] = "Oe";
+Blockly.Msg["UNDO"] = "Undo";  // untranslated
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "item";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Fait 'imposta %1'";
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Torrat su valori de custa variabili.";
+Blockly.Msg["VARIABLES_SET"] = "imposta %1 a %2";
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Fait 'piga %1'";
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Imposta custa variabili uguali a s'input.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "A variable named '%1' already exists.";  // untranslated
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "A variable named '%1' already exists for another type: '%2'.";  // untranslated
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something...";  // untranslated
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/sd.js b/js/msg/js/sd.js
new file mode 100644 (file)
index 0000000..f3e986a
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.sd');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["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'";  // untranslated
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "قدر Ø¨Ø¯Ù„ايو";
+Blockly.Msg["CLEAN_UP"] = "بندشون Ù‡Ù½Ø§ÙŠÙˆ";
+Blockly.Msg["COLLAPSE_ALL"] = "بلاڪَ Úڪيو";
+Blockly.Msg["COLLAPSE_BLOCK"] = "بلاڪ Úڪيو";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "رنگ 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "رنگ 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";  // untranslated
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "تناسب";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "Ú¯Úيل";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "ڄاڻايل ØªÙ†Ø§Ø³Ø¨ Ø³Ø§Ù† Ù»Û Ø±Ù†Ú¯ Ù¾Ø§Ú» Û¾ Ù…لايو (0.0-1.0).";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://en.wikipedia.org/wiki/Color";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "رنگ Ø¯Ù»ÙŠØ¡ÙŽ Ù…ان Ø±Ù†Ú¯ Ú†ÙˆÙ†ÚŠÙŠÙˆ.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "بنا ØªØ±ØªÙŠØ¨ Ø±Ù†Ú¯";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "ÚªÙˆ Ø¨Û â€ŒØ±Ù†Ú¯ Ú†ÙˆÙ†ÚŠÙŠÙˆ.";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "نيرو";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "سائو";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";  // untranslated
+Blockly.Msg["COLOUR_RGB_RED"] = "ڳاڙهو";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "سان Ø±Ú±ÙŠÙˆ";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "ڳاڙهي، Ø³Ø§Ø¦ÙŠØŒ Û½ Ù†ÙŠØ±ÙŠ Ø¬Ùˆ Ù…قدار Ú„اڻائي Ú¯Ú¾Ø±Ø¨Ù„ Ø±Ù†Ú¯ ÙºØ§Ù‡ÙŠÙˆ. Ø³Ù…ورا Ù‚در 0 Û½ 100 Ø¬ÙŠ ÙˆÚ† Û¾ Ù‡Ø¬Ù†.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "چڪر Ù…ان Ù»Ø§Ù‡Ø± Ù†ÚªØ±Ùˆ";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "چڪر Ø¬Ø§Ø±ÙŠ Ø±Ú©Ù†Ø¯ÙŠ Ù†Ø¦ÙŠÙ† Ú¦ÙŠØ±ÙŠ Ù¾Ø§ÙŠÙˆ";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "Break out of the containing loop.";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "Skip the rest of this loop, and continue with the next iteration.";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "Warning: This block may only be used within a loop.";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "for each item %1 in list %2";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "For each item in a list, set the variable '%1' to the item, and then do some statements.";  // untranslated
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "count with %1 from %2 to %3 by %4";  // untranslated
+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.";  // untranslated
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "Add a condition to the if block.";  // untranslated
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "Add a final, catch-all condition to the if block.";  // untranslated
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this if block.";  // untranslated
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "ن۠تÛ";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "ن۠ت۠جي";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "جيڪÚهن";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "If a value is true, then do some statements.";  // untranslated
+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.";  // untranslated
+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.";  // untranslated
+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.";  // untranslated
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://en.wikipedia.org/wiki/For_loop";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "ڪريو";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "1Ùª Ú€ÙŠØ±Ø§ ÙˆØ±Ø¬Ø§ÙŠÙˆ";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "Do some statements several times.";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "ورجايو Ø¬ÙŠØ³ØªØ§Ø¦ÙŠÙ†";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "ورجايو Ø¬Úهن";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "While a value is false, then do some statements.";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "While a value is true, then do some statements.";  // untranslated
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "Delete all %1 blocks?";  // untranslated
+Blockly.Msg["DELETE_BLOCK"] = "بلاڪ ÚŠØ§Ù‡ÙŠÙˆ";
+Blockly.Msg["DELETE_VARIABLE"] = "Delete the '%1' variable";  // untranslated
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Delete %1 uses of the '%2' variable?";  // untranslated
+Blockly.Msg["DELETE_X_BLOCKS"] = "1Ùª Ø¨Ù„اڪ ÚŠØ§Ù‡ÙŠÙˆ";
+Blockly.Msg["DISABLE_BLOCK"] = "بلاڪ Ú©ÙŠ ØºÙŠØ±Ùعال Ø¨Ú»Ø§ÙŠÙˆ";
+Blockly.Msg["DUPLICATE_BLOCK"] = "نقل";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicate Comment";  // untranslated
+Blockly.Msg["ENABLE_BLOCK"] = "بلاڪ Ú©ÙŠ Ùعال Ø¨Ú»Ø§ÙŠÙˆ";
+Blockly.Msg["EXPAND_ALL"] = "بلاڪَ Ù†Ù…ايو";
+Blockly.Msg["EXPAND_BLOCK"] = "بلاڪ Ù†Ù…ايو";
+Blockly.Msg["EXTERNAL_INPUTS"] = "ٻاهرين Ú„اڻ";
+Blockly.Msg["HELP"] = "مدد";
+Blockly.Msg["INLINE_INPUTS"] = "اÙنلائين Ø§ÙÙ† Ù¾Ù½Ø³";
+Blockly.Msg["IOS_CANCEL"] = "رد";
+Blockly.Msg["IOS_ERROR"] = "Ú†ÙÚªÙŽ";
+Blockly.Msg["IOS_OK"] = "ٺيڪ (او ÚªÙŠ) Ø¢Ù‡ÙŠ";
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Add Input";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Allow statements";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "This function has duplicate inputs.";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "داخلائون (اÙÙ† Ù¾Ù½Ø³)";
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "شامل ÚªÙŠÙˆ";
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "تبديل Ù¿ÙŠÙ†Ø¯Ú™ (ويريئيبل) ÙˆØ¬Ù‡Ùˆ";
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "ڊاهيو";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "You can't use an empty variable name.";  // untranslated
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "ٻيهر Ù†Ø§Ù„Ùˆ Úيو";
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "تبيديل Ù¿ÙŠÙ†Ø¯Ú™ (ويريئيبل) Ø¬Ùˆ Ù†Ø§Ù„Ùˆ";
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "خالي Ùهرست ØªØ®Ù„يق ÚªØ±ÙŠÙˆ";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Returns a list, of length 0, containing no data records";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "لسٽ";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this list block.";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "سان Ùهرست ØªØ®Ù„يق ÚªÙŠÙˆ";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Ùهرست Û¾ ÚªØ§ Ø´ÙŠ Ø´Ø§Ù…Ù„ ÚªØ±ÙŠÙˆ.";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Create a list with any number of items.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "پهريون";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "# Ø¢Ø®Ø± Ú©Ø§Ù†";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "get";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "get and remove";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "آخري";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "بي ØªØ±ØªÙŠØ¨";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "هٽايو";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Returns the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Returns the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Returns the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Returns a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "Removes and returns the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "Removes and returns the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "Removes and returns the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Removes and returns a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "Removes the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "Removes the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "Removes the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Removes a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "Úانهن # Ø¢Ø®Ø± Ú©Ø§Ù†";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "Úانهن #";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "آخري Úانهن";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "get sub-list from first";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "get sub-list from # from end";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "get sub-list from #";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Creates a copy of the specified portion of a list.";  // untranslated
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 is the last item.";  // untranslated
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 is the first item.";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "find first occurrence of item";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "find last occurrence of item";  // untranslated
+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.";  // untranslated
+Blockly.Msg["LISTS_INLIST"] = "Ùهرست Û¾";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 Ø®Ø§Ù„ÙŠ Ø¢Ù‡ÙŠ";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Returns true if the list is empty.";  // untranslated
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "length of %1";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Returns the length of a list.";  // untranslated
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "create list with item %1 repeated %2 times";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Creates a list consisting of the given value repeated the specified number of times.";  // untranslated
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";  // untranslated
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Reverse a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "جيان";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "تي Ø¯Ø§Ø®Ù„ ÚªØ±ÙŠÙˆ";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "ميڙ";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Inserts the item at the start of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Inserts the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Append the item to the end of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Inserts the item randomly in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Sets the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Sets the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Sets the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Sets a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";  // untranslated
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "اÙÚ€Ùˆ (اَسينڊنگ)";
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "descending";  // untranslated
+Blockly.Msg["LISTS_SORT_TITLE"] = "ترتيب Úيو %1 %2 %3";
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Sort a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "alphabetic, ignore case";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "numeric";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "ال٠ب ÙˆØ§Ø± (الÙابيٽڪ)";
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "make list from text";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "make text from list";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Join a list of texts into one text, separated by a delimiter.";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Split text into a list of texts, breaking at each delimiter.";  // untranslated
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "with delimiter";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "ÚªÙÙˆÚ™";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "درست ÙŠØ§ ØºÙŠØ± Ø¯Ø±Ø³Øª ÙˆØ±Ø§Ú»ÙŠ Ù¿Ùˆ.";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "سچ";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://en.wikipedia.org/wiki/Inequality_(mathematics)";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "جيڪÚهن Ù»Ø¦ÙŠ Ø§Ù† Ù¾Ùٽس Ø¨Ø±Ø§Ø¨Ø± Ø¢Ù‡Ù† ØªÛ Ø¯Ø±Ø³Øª ÙˆØ±Ø§Ú»ÙŠÙˆ";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "جيڪÚهن Ù¾Ù‡Ø±ÙŠÙˆÙ† Ø§Ù† Ù¾ÙÙ½ Ù»ÙŠÙ† Ø§Ù† Ù¾ÙÙ½ Ú©Ø§Ù† ÙˆÚÙˆ Ø¢Ù‡ÙŠ ØªÛ Ø¯Ø±Ø³Øª ÙˆØ±Ø§Ú»ÙŠÙˆ.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "جيڪÚهن Ù¾Ù‡Ø±ÙŠÙˆÙ† Ø§Ù† Ù¾ÙÙ½ Ù»ÙŠÙ† Ø§Ù† Ù¾ÙÙ½ Ú©Ø§Ù† ÙˆÚÙˆ Ø¢Ù‡ÙŠ ÙŠØ§ Ù»Ø¦ÙŠ Ø¨Ø±Ø§Ø¨Ø± Ø¢Ù‡Ù† ØªÛ Ø¯Ø±Ø³Øª ÙˆØ±Ø§Ú»ÙŠÙˆ.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "جيڪÚهن Ù¾Ù‡Ø±ÙŠÙˆÙ† Ø§Ù† Ù¾ÙÙ½ Ù»ÙŠÙ† Ø§Ù† Ù¾ÙÙ½ Ú©Ø§Ù† Ù†Ù†ÚÙˆ Ø¢Ù‡ÙŠ ØªÛ Ø¯Ø±Ø³Øª ÙˆØ±Ø§Ú»ÙŠÙˆ";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "جيڪÚهن Ù¾Ù‡Ø±ÙŠÙˆÙ† Ø§Ù† Ù¾ÙÙ½ Ù»ÙŠÙ† Ø§Ù† Ù¾ÙÙ½ Ú©Ø§Ù† Ù†Ù†ÚÙˆ Ø¢Ù‡ÙŠ ÙŠØ§ Ù»Ø¦ÙŠ Ø¨Ø±Ø§Ø¨Ø± Ø¢Ù‡Ù† ØªÛ Ø¯Ø±Ø³Øª ÙˆØ±Ø§Ú»ÙŠÙˆ";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "جيڪÚهن Ù»Ø¦ÙŠ Ø§Ù† Ù¾Ùٽس Ø§Ú» Ø¨Ø±Ø§Ø¨Ø± Ø¢Ù‡Ù† ØªÛ Ø¯Ø±Ø³Øª ÙˆØ±Ø§Ú»ÙŠÙˆ";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "Ù†ÚªÙŠ %1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "ان Ù¾ÙÙ½ ØºÙŠØ± Ø¯Ø±Ø³Øª Ø¢Ù‡ÙŠ ØªÛ Ø¯Ø±Ø³Øª ÙˆØ±Ø§Ú»ÙŠÙˆ. Ø§Ù† Ù¾ÙÙ½ Ø¯Ø±Ø³Øª Ø¢Ù‡ÙŠ ØªÛ ØºÙŠØ± Ø¯Ø±Ø³Øª ÙˆØ±Ø§Ú»ÙŠÙˆ.";
+Blockly.Msg["LOGIC_NULL"] = "null";  // untranslated
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";  // untranslated
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "Returns null.";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_AND"] = "Û½";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "يا";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "جيڪÚهن Ù»Ø¦ÙŠ Ø§Ù† Ù¾ÙÙ½ Ø¯Ø±Ø³Øª Ø¢Ù‡Ù† ØªÛ Ø¯Ø±Ø³Øª ÙˆØ±Ø§Ú»ÙŠÙˆ.";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "جيڪÚهن Ù»Ù†Ù‡ÙŠ Ø§Ù† Ù¾Ùٽس Ù…ان ÚªÙˆ Ù‡Úª Ø¨Û Ø¯Ø±Ø³Øª Ø¢Ù‡ÙŠ ØªÛ Ø¯Ø±Ø³Øª ÙˆØ±Ø§Ú»ÙŠÙˆ.";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "پرک (ٽيسٽ)";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "جيڪÚهن ÚªÙˆÚ™Ùˆ";
+Blockly.Msg["LOGIC_TERNARY_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.";  // untranslated
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://en.wikipedia.org/wiki/Arithmetic";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "ٻن Ø§Ù†Ú¯Ù† Ø¬ÙŠ Ø¬ÙˆÚ™ Ø§Ù¾Øª Úيو.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "ٻنهي Ø§Ù†Ú¯Ù† Ø¬ÙŠ ÙˆÙ†ÚŠ Úيو.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "ٻنهي Ø§Ù†Ú¯Ù† Ø¬Ùˆ ØªÙاوت Úيو.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "ٻنهي Ø§Ù†Ú¯Ù† Ø¬ÙŠ Ø¶Ø±Ø¨ Ø§Ùپت Úيو.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Return the first number raised to the power of the second number.";  // untranslated
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";  // untranslated
+Blockly.Msg["MATH_CHANGE_TITLE"] = "%1 Ú©ÙŠ %2 Ø³Ø§Ù† Ù…َٽايو";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Add a number to variable '%1'.";  // untranslated
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://en.wikipedia.org/wiki/رياضياتي Ø§Ø³ØªÙ‚لال";
+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).";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "constrain %1 low %2 high %3";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Constrain a number to be between the specified limits (inclusive).";  // untranslated
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";  // untranslated
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "سان ÙˆÙ†ÚŠØ¬Ù†Ø¯Ú™ Ø¢Ù‡ÙŠ";
+Blockly.Msg["MATH_IS_EVEN"] = "ٻڌي Ø¢Ù‡ÙŠ";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "ڪاٽو Ø¢Ù‡ÙŠ";
+Blockly.Msg["MATH_IS_ODD"] = "اÙÚªÙŠ Ø¢Ù‡ÙŠ";
+Blockly.Msg["MATH_IS_POSITIVE"] = "واڌو Ø¢Ù‡ÙŠ";
+Blockly.Msg["MATH_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.";  // untranslated
+Blockly.Msg["MATH_IS_WHOLE"] = "سڄو Ø¢Ù‡ÙŠ";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://en.wikipedia.org/wiki/Modulo_operation";  // untranslated
+Blockly.Msg["MATH_MODULO_TITLE"] = "remainder of %1 ÷ %2";  // untranslated
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Return the remainder from dividing the two numbers.";  // untranslated
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";  // untranslated
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://en.wikipedia.org/wiki/Number";  // untranslated
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "ÚªÙˆ Ø§Ù†Ú¯.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "لسٽ Ø¬ÙŠ Ø³Ø±Ø§Ø³Ø±ÙŠ";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "لسٽ Ø¬Ùˆ ÙˆÚÙŠ Û¾ ÙˆÚÙˆ Ù‚در";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "لسٽ Ø¬Ùˆ Ù…ڌيان";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "لسٽ Ø¬Ùˆ Ù†Ù†ÚÙŠ Û¾ Ù†Ù†ÚÙˆ Ù‚در";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "Ùهرست Ø¬Ø§ Ø·Ø±ÙŠÙ‚يڪا (موڊز Ø¢Ù Ù„سٽ)";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "بي ØªØ±ØªÙŠØ¨ Ø¬Ø°Ù† Ø¬ÙŠ Ùهرست (رينڊم Ø¢Ø¦ÙŠÙ½Ù… Ø¢Ù Ù„سٽ)";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "standard deviation of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "Ùهرست Ø¬Ùˆ ÙˆÚ†ÙˆØ±";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Return the average (arithmetic mean) of the numeric values in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "لسٽ Û¾ ÙˆÚÙŠ Ú©Ø§Ù† ÙˆÚÙˆ Ù‚در Ú„اڻايو.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "لسٽ Ø¬Ùˆ Ù…ڌيان Ø§Ù†Ú¯ Ú„اڻايو.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "لسٽ Û¾ Ù†Ù†ÚÙŠ Ú©Ø§Ù† Ù†Ù†ÚÙˆ Ù‚در Ú„اڻايو.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Return a list of the most common item(s) in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Return a random element from the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Return the standard deviation of the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Return the sum of all the numbers in the list.";  // untranslated
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "random fraction";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Return a random fraction between 0.0 (inclusive) and 1.0 (exclusive).";  // untranslated
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";  // untranslated
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "random integer from %1 to %2";  // untranslated
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Return a random integer between the two specified limits, inclusive.";  // untranslated
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://en.wikipedia.org/wiki/Rounding";  // untranslated
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "round";  // untranslated
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "هيٺ Ú¦ÙŠØ±Ø§ÙŠÙˆ (رائونڊ ÚŠØ§Ø¦ÙˆÙ†)";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "ويڙهيو (رائونڊ Ø§ÙŽÙ¾)";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Round a number up or down.";  // untranslated
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://en.wikipedia.org/wiki/ٻيون Ù…ول";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "ٺپ";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "ٻيون Ù…ول";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Return the absolute value of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Return e to the power of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "ڪنهن Ø§Ù†Ú¯ Ø¬Ùˆ Ù‚درتي Ù„اگ Ú„اڻايو.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "ڪنهن Ø§Ù†Ú¯ Ø¬Ùˆ 10 Ø¨Ù†ÙŠØ§Ø¯ÙŠ Ù„اگ Ú„اڻايو.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "ڪنهن Ø§Ù†Ú¯ Ø¬Ùˆ ÚªØ§Ù½Ùˆ Ú„اڻايو.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Return 10 to the power of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "ڪنهن Ø§Ù†Ú¯ Ø¬Ùˆ Ù»ÙŠÙˆÙ† Ù…ول Ú„اڻايو.";
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";  // untranslated
+Blockly.Msg["MATH_TRIG_ACOS"] = "acos";  // untranslated
+Blockly.Msg["MATH_TRIG_ASIN"] = "asin";  // untranslated
+Blockly.Msg["MATH_TRIG_ATAN"] = "atan";  // untranslated
+Blockly.Msg["MATH_TRIG_COS"] = "cos";  // untranslated
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://en.wikipedia.org/wiki/ٽڪنڊور ÚªØ§Ú„";
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";  // untranslated
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Return the arccosine of a number.";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Return the arcsine of a number.";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Return the arctangent of a number.";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Return the cosine of a degree (not radian).";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Return the sine of a degree (not radian).";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Return the tangent of a degree (not radian).";  // untranslated
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Create colour variable...";  // untranslated
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Create number variable...";  // untranslated
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Create string variable...";  // untranslated
+Blockly.Msg["NEW_VARIABLE"] = "نئون Ú¦Ø±Ú»Ùˆ...";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "ڦرڻي Ø¬Ùˆ Ù†Ø¦ÙˆÙ† Ù†Ø§Ù„Ùˆ:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "New variable type:";  // untranslated
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "allow statements";  // untranslated
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "سان:";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Run the user-defined function '%1'.";  // untranslated
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Run the user-defined function '%1' and use its output.";  // untranslated
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "سان:";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "تخليق ÚªØ±ÙŠÙˆ '%1'";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Describe this function...";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "ڪجھ ÚªØ±ÙŠÙˆ";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "Úانهن";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Creates a function with no output.";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "واپس ÙˆØ±Ùˆ";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "Creates a function with an output.";  // untranslated
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "Warning: This function has duplicate parameters.";  // untranslated
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "Highlight function definition";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "If a value is true, then return a second value.";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "Warning: This block may be used only within a function definition.";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "input name:";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Add an input to the function.";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "ان Ù¾Ùٽس";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Add, remove, or reorder inputs to this function.";  // untranslated
+Blockly.Msg["REDO"] = "ٻيهر ÚªØ±ÙŠÙˆ";
+Blockly.Msg["REMOVE_COMMENT"] = "راء٠ڊاهيو";
+Blockly.Msg["RENAME_VARIABLE"] = "ڦرڻي Ú©ÙŠ Ù†Ø¦ÙˆÙ† Ù†Ø§Ù„Ùˆ Úيو...";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Rename all '%1' variables to:";  // untranslated
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "to %1 append text %2";  // untranslated
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Append some text to variable '%1'.";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "ننÚÙ† Ø§Ú©Ø± Úانهن";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "to Title Case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "ÙˆÚÙ† Ø§Ú©Ø±Ù† Úانهن";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Return a copy of the text in a different case.";  // untranslated
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "get first letter";  // untranslated
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "get letter # from end";  // untranslated
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "get letter #";  // untranslated
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "get last letter";  // untranslated
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "get random letter";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "in text %1 %2";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Returns the letter at the specified position.";  // untranslated
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";  // untranslated
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "ڳڻيو %1 Û¾ %2";
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Count how many times some text occurs within some other text.";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Add an item to the text.";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "شامل Ù¿ÙŠÙˆ";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this text block.";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "to letter # from end";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "to letter #";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "to last letter";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "متن Û¾";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "get substring from first letter";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "get substring from letter # from end";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "get substring from letter #";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Returns a specified portion of the text.";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "find first occurrence of text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "find last occurrence of text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "Û¾ Ù…تن %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.";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 is empty";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Returns true if the provided text is empty.";  // untranslated
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "سان Ù…واد ØªØ®Ù„يق ÚªÙŠÙˆ (ڪريئيٽ Ù½ÙŠÚªØ³Ù½ ÙˆÙد)";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Create a piece of text by joining together any number of items.";  // untranslated
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "length of %1";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Returns the number of letters (including spaces) in the provided text.";  // untranslated
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "ڇاپيو %1";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "ڄاڻايل ØªØ­Ø±ÙŠØ±ØŒ Ø§Ù†Ú¯ ÙŠØ§ ÚªÙˆ Ù»ÙŠÙˆ Ù‚در Ú‡Ø§Ù¾ÙŠÙˆ.";
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Prompt for user for a number.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Prompt for user for some text.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "prompt for number with message";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "prompt for text with message";  // untranslated
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";  // untranslated
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "replace %1 with %2 in %3";  // untranslated
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Replace all occurances of some text within some other text.";  // untranslated
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";  // untranslated
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Reverses the order of the characters in the text.";  // untranslated
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://en.wikipedia.org/wiki/String_(computer_science)";  // untranslated
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "A letter, word, or line of text.";  // untranslated
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "trim spaces from both sides of";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "trim spaces from left side of";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "trim spaces from right side of";  // untranslated
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Return a copy of the text with spaces removed from one or both ends.";  // untranslated
+Blockly.Msg["TODAY"] = "اڄ";
+Blockly.Msg["UNDO"] = "ڊاهيو";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "اسم";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Create 'set %1'";  // untranslated
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Returns the value of this variable.";  // untranslated
+Blockly.Msg["VARIABLES_SET"] = "set %1 to %2";  // untranslated
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Create 'get %1'";  // untranslated
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Sets this variable to be equal to the input.";  // untranslated
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "A variable named '%1' already exists.";  // untranslated
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "A variable named '%1' already exists for another type: '%2'.";  // untranslated
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something...";  // untranslated
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/shn.js b/js/msg/js/shn.js
new file mode 100644 (file)
index 0000000..bac2b20
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.shn');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["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'";  // untranslated
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "လႅáµá€ºá‚ˆá€œá¢á‚†á‚ˆá¼á€™á€ºá‚‰áµá€á€ºá‚‰";
+Blockly.Msg["CLEAN_UP"] = "Clean up Blocks";  // untranslated
+Blockly.Msg["COLLAPSE_ALL"] = "လွင်ႈá‚ႄႉá€á€á€ºá€¸á¸á€­á€°á€á€ºá€¸á€œá‚…á€á€º";
+Blockly.Msg["COLLAPSE_BLOCK"] = "လွင်ႈá‚ႄႉá€á€á€ºá€¸á€œá‚…á€á€º";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "သီ 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "သီ 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";  // untranslated
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "သႅá¼á€ºá€¸";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "လေႃးလႄး";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "ဢá€á€ºá€žá€®á€žá€½á€„်ဢá¼á€ºá€œá€±á‚ƒá€¸áµá¼á€º á¸á€½á€™á€ºá€¸á¼á€™á€º á€žá‚…á¼á€ºá€¸á€¢á¼á€ºá€•á¼á€ºá€á‚†á‚‰ (0.0 - 1.0).";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://en.wikipedia.org/wiki/Color á€žá€®";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "လိူáµá€ºá‚ˆá€žá€® á€á€™á€ºá‚ˆá€á€®á‚ˆ á½á‚ƒá€¸á€œá‚…á€á€ºá‚‰";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "သီလá¢á€™á€ºá€¸á€œá€­á€™á€ºá€¸";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "လိူáµá€ºá‚ˆá€žá€®á€á€™á€ºá‚ˆá€á€®á‚ˆá€œá€½áµá€ºá€¸á€œá¢á€™á€ºá€¸á€œá€­á€™á€ºá€¸";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "သွမ်ႇ";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "á¶á€µá€á€º";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";  // untranslated
+Blockly.Msg["COLOUR_RGB_RED"] = "လီင်";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "á‚ူမ်ႈáµá€­á€¯áµá€ºá€¸á€žá€®";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "á‚ဵá€á€ºá€¸á€á€°áºá€ºá€¸ á€žá€®á€¢á¼á€ºá¼á€­á€¯á€„်ႈ á¸á€½á€™á€ºá€¸á¼á€„်ႇမáµá€ºá€¸á€™á¼á€ºá‚ˆá€á‚†á‚‰ á¼á‚‚်းá¶á‚‚á¢á€„်ႇ á€žá€®á€œá‚…င်, á¶á€µá€á€º á€œá‚„ႈ á€žá€½á€™á€ºá‚‡á‹ á¼á€™á€ºá‚‰á¼áµá€ºá€¸á€žá€® á€á€±á€œá‚†á‚ˆá€™á€®á€¸á¼á‚‚်းá€á€°á€„်ႈáµá¢á€„် 0 á€á€±á‚ƒá‚‡ 100.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "ဢွáµá€ºá‚‡á€á€®á‚ˆá¶á€½á€•á€ºá‚‡á€™á€°á¼á€ºá€¸";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "သိုပ်ႇပá¼á€ºá‚‡á€‘ႅင်ႈ á¶á€½á€•á€ºá‚‡á€™á€°á¼á€ºá€¸á€á¢á€„်ႇဢá¼á€º";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "áµá€­á€¯á€á€ºá€¸á€•á‚…á€á€ºá‚ˆ á¶á€½á€•á€ºá‚‡á€™á€°á¼á€ºá€¸ á€¢á¼á€ºá€™á€®á€¸á€á‚†á‚‰";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "á€á€µá¼á€ºá‚‰á€á‚†á‚‰ á¶á€½á€•á€ºá‚‡á€™á€°á¼á€ºá€¸ á€¢á¼á€ºáµá€­á€¯á€á€ºá€¸á¸á€­á€°á€á€ºá‚ˆá€á‚†á‚‰, á€žá€± á€žá€­á€¯á€•á€ºá‚‡á€‘ႅင်ႈá€á¢á€„်ႇဢá¼á€º";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "á¾á¢á€„်ႉ: á€•á€œá€½áµá€ºá‚‰á€¢á¼á€ºá¼á‚†á‚‰ áµá€°áºá€ºá€¸á¸á‚‚်ႉလူáºá€ºá‚ˆá€á‚ƒá‚‡ á¶á€½á€•á€ºá‚‡á€™á€°á¼á€ºá€¸áµá€°áºá€ºá€¸";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "á€á‚ƒá‚‡áµá€°á‚ˆá€¢á¼á€ºá€¢á¼á€º á¼á‚‚်း %1 á€žá€µá¼á€ºá‚ˆá€™á¢á‚† %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "For each item in a list, set the variable '%1' to the item, and then do some statements.";  // untranslated
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "á€á‚„ႇဢá¢á¼á€ºá‚‡áµá€­á€¯áµá€ºá€¸ %1 á€á€±á‚ƒá‚‡ %2 á€á€±á‚ƒá‚‡ %3 á€œá€°áºá€ºá‚ˆ %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.";  // untranslated
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "သင်á€á‚ƒá‚ˆ á€•á€œá€½áµá€ºá‚‰á¸á€­á€¯á€„် á€žá‚‚်ႇပá¼á€ºá€œá€½á€„်ႈá€á¢á€„်းမá¼á€ºá€¸ á€á€™á€ºá‚ˆ";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "သႂ်ႇáµá€™á€ºá€¸á€œá€­á€¯á¼á€ºá€¸, á€žá€„်á€á‚ƒá‚ˆ á€•á€œá€½áµá€ºá‚‰á¸á€­á€¯á€„် á€¢á€á€ºá€œá€½á€„်ႈá€á¢á€„်းမá¼á€ºá€¸á€á€„်းသဵင်ႈ á€á€™á€ºá‚ˆ";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this if block.";  // untranslated
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "လိူá€á€ºá€žá€±á¼á¼á€ºá‚‰";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "သင်á€á‚ƒá‚ˆ á€œá€­á€°á€á€ºá€žá€±á¼á¼á€ºá‚‰";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "သင်á€á‚ƒá‚ˆ";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "ပေႃးá€á‚ƒá‚ˆ áµá‚ƒá‚ˆá¶á¼á€º (á¼á€™á€ºá‚‰áµá€á€ºá‚‰) á€™á¢á¼á€ºá‚‡á€™á‚…á¼á€ºá‚ˆá€šá€á€ºá‚‰á¸á€­á€¯á€„် á‚ဵá€á€ºá€¸á¶á€±á‚ƒá‚ˆáµá€µá€•á€ºá€¸á€‘ွá¼á€ºáµá€™á€ºá‚ˆá½á€½á€„်ႈ";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "သင်á€á‚ƒá‚ˆ áµá‚ƒá‚ˆá¶á¼á€º(á¼á€™á€ºá‚‰áµá€á€ºá‚‰)မá¢á¼á€ºá‚‡á€™á‚…á¼á€ºá‚ˆá¸á€­á€¯á€„် á‚ဵá€á€ºá€¸á€•á€œá€½áµá€ºá‚‰á€¢á€½á¼á€ºá€á¢á€„်းသုá€á€ºá€¸ á€á€®á‚ˆá¼á‚‚်းá¶á€±á‚ƒá‚ˆáµá€µá€•á€ºá€¸á€‘ွá¼á€ºá€á‹ á€œá€­á€°á€á€ºá€žá€±á¼á¼á€ºá‚‰ á‚ဵá€á€ºá€¸á€•á‚…á€á€ºá‚ˆ á€•á€œá€½áµá€ºá‚‰á€žá€½á€„် á€á€®á‚ˆá¼á‚‚်းá¶á€±á‚ƒá‚ˆáµá€µá€•á€ºá€¸á€‘ွá¼á€º";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "သင်á€á‚ƒá‚ˆ áµá‚ƒá‚ˆá¶á¼á€º(á¼á€™á€ºá‚‰áµá€á€ºá‚‰)မá¢á‚‰á¼á€­á€¯á€„်ႈ á€™á¢á¼á€ºá‚‡á€™á‚…á¼á€ºá‚ˆá¸á€­á€¯á€„် á‚ဵá€á€ºá€¸á€•á€œá€½áµá€ºá‚‰á€¢á€½á¼á€ºá€á¢á€„်းသုá€á€ºá€¸ á€á€®á‚ˆá¼á‚‚်းá¶á€±á‚ƒá‚ˆáµá€µá€•á€ºá€¸á€‘ွá¼á€ºá€á‹ á€žá€„်á€á‚ƒá‚ˆ áµá‚ƒá‚ˆá¶á¼á€º(á¼á€™á€ºá‚‰áµá€á€ºá‚‰)မá¢á‚†á€žá€½á€„်မá¢á¼á€ºá‚‡á€™á‚…á¼á€ºá‚ˆá¸á€­á€¯á€„်  á‚ဵá€á€ºá€¸á€•á‚…á€á€ºá‚ˆ á€•á€œá€½áµá€ºá‚‰á€žá€½á€„် á€á€®á‚ˆá¼á‚‚်းá¶á€±á‚ƒá‚ˆáµá€µá€•á€ºá€¸á€‘ွá¼á€º";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "သင်á€á‚ƒá‚ˆ áµá‚ƒá‚ˆá¶á¼á€º(á¼á€™á€ºá‚‰áµá€á€ºá‚‰)မá¢á‚†á¼á€­á€¯á€„်ႈ á€™á¢á¼á€ºá‚‡á€™á‚…á¼á€ºá‚ˆá¸á€­á€¯á€„် á‚ဵá€á€ºá€¸á€•á€œá€½áµá€ºá‚‰á€¢á€½á¼á€ºá€á¢á€„်းသုá€á€ºá€¸ á€á€®á‚ˆá¼á‚‚်းá¶á€±á‚ƒá‚ˆáµá€µá€•á€ºá€¸á€‘ွá¼á€ºá€á‹ á€œá€­á€°á€á€ºá€žá€±á¼á¼á€ºá‚‰, á€žá€„်á€á‚ƒá‚ˆ áµá‚ƒá‚ˆá¶á¼á€º (á¼á€™á€ºá‚‰áµá€á€ºá‚‰) á€™á¢á‚†á€žá€½á€„် á€™á¢á¼á€ºá‚‡á€™á‚…á¼á€ºá‚ˆá¸á€­á€¯á€„် á‚ဵá€á€ºá€¸á€•á‚…á€á€ºá‚ˆ á€•á€œá€½áµá€ºá‚‰á€žá€½á€„် á€á€®á‚ˆá¼á‚‚်းá¶á€±á‚ƒá‚ˆáµá€µá€•á€ºá€¸á€‘ွá¼á€ºá€á‹ á€žá€„်á€á‚ƒá‚ˆ áµá‚ƒá‚ˆá¶á¼á€º(á¼á€™á€ºá‚‰áµá€á€ºá‚‰) á€¢á€™á€ºá‚‡á€™á€®á€¸á€œá€½á€„်ႈမá¢á¼á€ºá‚‡á€™á‚…á¼á€ºá‚ˆ á€žá€„်á¸á€­á€¯á€„် á‚ဵá€á€ºá€¸á€•á‚…á€á€ºá‚ˆá€•á€œá€½áµá€ºá‚‰ áµá€™á€ºá€¸á€œá€­á€¯á€™á€ºá€¸ á€á€®á‚ˆá¼á‚‚်းá¶á€±á‚ƒá‚ˆáµá€µá€•á€ºá€¸á€‘ွá¼á€ºá€á‹";
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://en.wikipedia.org/wiki/For_loop á€á‚ƒá‚‡á€á€°á€„်ႇမူá¼á€ºá€¸";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "á‚ဵá€á€ºá€¸";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "ပá¼á€ºá‚‡á¶á€­á€¯á¼á€ºá€¸ %1 áµá€™á€ºá€¸";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "á‚ဵá€á€ºá€¸á¶á€±á‚ƒá‚ˆáµá€µá€•á€ºá€¸á€‘ွá¼á€ºáµá€™á€ºá‚ˆá½á€½á€„်ႈ á€á€„်းá¼á€™á€º";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "á€á€­á€¯áµá€ºá‚‰á€œá€­á€¯á€™á€ºá‚‰á€‘ိုင်";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "á¶á¢á€á€ºá€¸á€á€­á€¯áµá€ºá‚‰á€œá€­á€¯á€™á€ºá‚‰";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "ပေႃးá€á‚ƒá‚ˆ áµá‚ƒá‚ˆá¶á¼á€º (á¼á€™á€ºá‚‰áµá€á€ºá‚‰) á€¢á€™á€ºá‚‡á€™á¢á¼á€ºá‚‡á€™á‚…á¼á€ºá‚ˆá¸á€­á€¯á€„် á‚ဵá€á€ºá€¸á¶á€±á‚ƒá‚ˆáµá€µá€•á€ºá€¸á€‘ွá¼á€º áµá€™á€ºá‚ˆá½á€½á€„်ႈ";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "ပေႃးá€á‚ƒá‚ˆ áµá‚ƒá‚ˆá¶á¼á€º (á¼á€™á€ºá‚‰áµá€á€ºá‚‰) á€™á¢á¼á€ºá‚‡á€™á‚…á¼á€ºá‚ˆá€šá€á€ºá‚‰á¸á€­á€¯á€„် á‚ဵá€á€ºá€¸á¶á€±á‚ƒá‚ˆáµá€µá€•á€ºá€¸á€‘ွá¼á€ºáµá€™á€ºá‚ˆá½á€½á€„်ႈ";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "Delete all %1 blocks?";  // untranslated
+Blockly.Msg["DELETE_BLOCK"] = "မွá€á€ºá‚‡á€•á€œá€½áµá€ºá‚‰";
+Blockly.Msg["DELETE_VARIABLE"] = "Delete the '%1' variable";  // untranslated
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Delete %1 uses of the '%2' variable?";  // untranslated
+Blockly.Msg["DELETE_X_BLOCKS"] = "မွá€á€ºá‚‡á€œá€½á€„်ႈá‚ႄႉá€á€á€ºá€¸ %1";
+Blockly.Msg["DISABLE_BLOCK"] = "ဢိုá€á€ºá€¸á¸á‚‚်ႉ á€œá€½á€„်ႈá‚ႄႉá€á€á€ºá€¸";
+Blockly.Msg["DUPLICATE_BLOCK"] = "ထုá€á€ºá‚‡";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicate Comment";  // untranslated
+Blockly.Msg["ENABLE_BLOCK"] = "ပိုá€á€ºá‚‡á¸á‚‚်ႉ á€œá€½á€„်ႈá‚ႄႉá€á€á€ºá€¸";
+Blockly.Msg["EXPAND_ALL"] = "á¶á‚‚á¢áµá€ºá‚ˆá¸á€­á€°á€á€ºá€¸á‚ႄႉá€á€á€ºá€¸";
+Blockly.Msg["EXPAND_BLOCK"] = "á¶á‚‚á¢áµá€ºá‚ˆá€œá€½á€„်ႈá‚ႄႉá€á€á€ºá€¸";
+Blockly.Msg["EXTERNAL_INPUTS"] = "á¶á€­á€°á€„်ႈဢá¼á€ºá€œá€¯áµá€ºá‚‰á€á¢á€„်းá¼á€½áµá€ºá‚ˆá¶á€á€ºá‚ˆá€™á‚ƒá€¸";
+Blockly.Msg["HELP"] = "á¸á€½á‚†á‚ˆá€‘ႅမ်";
+Blockly.Msg["INLINE_INPUTS"] = "á¶á€­á€°á€„်ႈဢá¼á€ºá¶á€á€ºá‚ˆá€™á‚ƒá€¸á¸á€½á€™á€ºá€¸á€œá‚…င်း";
+Blockly.Msg["IOS_CANCEL"] = "Cancel";  // untranslated
+Blockly.Msg["IOS_ERROR"] = "Error";  // untranslated
+Blockly.Msg["IOS_OK"] = "OK";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Add Input";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Allow statements";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "This function has duplicate inputs.";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "INPUTS";  // untranslated
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "Add";  // untranslated
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Add Variable";  // untranslated
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "Delete";  // untranslated
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "You can't use an empty variable name.";  // untranslated
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Rename";  // untranslated
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Variable name";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "create empty list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Returns a list, of length 0, containing no data records";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "list";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this list block.";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "create list with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Add an item to the list.";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Create a list with any number of items.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "first";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "# from end";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "get";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "get and remove";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "last";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "random";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "remove";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Returns the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Returns the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Returns the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Returns a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "Removes and returns the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "Removes and returns the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "Removes and returns the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Removes and returns a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "Removes the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "Removes the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "Removes the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Removes a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "to # from end";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "to #";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "to last";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "get sub-list from first";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "get sub-list from # from end";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "get sub-list from #";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Creates a copy of the specified portion of a list.";  // untranslated
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 is the last item.";  // untranslated
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 is the first item.";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "find first occurrence of item";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "find last occurrence of item";  // untranslated
+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.";  // untranslated
+Blockly.Msg["LISTS_INLIST"] = "in list";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 is empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Returns true if the list is empty.";  // untranslated
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "length of %1";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Returns the length of a list.";  // untranslated
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "create list with item %1 repeated %2 times";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Creates a list consisting of the given value repeated the specified number of times.";  // untranslated
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";  // untranslated
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Reverse a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "as";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "insert at";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Inserts the item at the start of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Inserts the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Append the item to the end of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Inserts the item randomly in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Sets the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Sets the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Sets the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Sets a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";  // untranslated
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "ascending";  // untranslated
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "descending";  // untranslated
+Blockly.Msg["LISTS_SORT_TITLE"] = "sort %1 %2 %3";  // untranslated
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Sort a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "alphabetic, ignore case";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "numeric";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "alphabetic";  // untranslated
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "make list from text";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "make text from list";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Join a list of texts into one text, separated by a delimiter.";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Split text into a list of texts, breaking at each delimiter.";  // untranslated
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "with delimiter";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "ဢမ်ႇá¼á‚…á¼á€ºá‚ˆá¼á‚ƒ";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "မá¢á¼á€ºá‚‡á€™á‚…á¼á€ºá‚ˆá€œá‚„ႈသင် á€¢á€™á€ºá‚‡á¼á‚…á¼á€ºá‚ˆá¼á‚ƒá€œá‚„ႈသင် á‚ူá¼á€ºá¶á€­á€¯á¼á€ºá€¸";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "မá¢á¼á€ºá‚‡á€™á‚…á¼á€ºá‚ˆ";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://en.wikipedia.org/wiki/Inequality_(ပá¢á‚†á€¸á¼á€•á€ºá‚‰)";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "သင်á€á‚ƒá‚ˆ á€¢á¼á€ºá½á€­á€°á€™á€ºá‚‰á€žá‚‚်ႇ á€á€„်းသွင် á€™á€­á€°á¼á€ºá€á¢á€„်ႇဢá¼á€ºá¸á€­á€¯á€„် á€™á‚„းá¶á€­á€¯á¼á€ºá€¸ á‚ႂ်ႈမá¢á¼á€ºá‚‡á€™á‚…á¼á€ºá‚ˆ";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "သင်á€á‚ƒá‚ˆ á€¢á¼á€ºá½á€­á€°á€™á€ºá‚‰á€žá‚‚်ႇ á€¢á€½á¼á€ºá€á¢á€„်း á€šá‚‚်ႇလိူá€á€º á€¢á¼á€ºá½á€­á€°á€™á€ºá‚‰á€žá‚‚်ႇ á€™á¢á‚†á€žá€½á€„်á¸á€­á€¯á€„် á€™á‚„းá¶á€­á€¯á¼á€ºá€¸ á‚ႂ်ႈမá¢á¼á€ºá‚‡á€™á‚…á¼á€ºá‚ˆ";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "သင်á€á‚ƒá‚ˆ á€¢á¼á€ºá½á€­á€°á€™á€ºá‚‰á€žá‚‚်ႇ á€¢á€½á¼á€ºá€á¢á€„်း á€šá‚‚်ႇလိူá€á€º á€¢á€™á€ºá‚‡á¼á¼á€º á½á€µá€„်ႇပဵင်း á€¢á¼á€ºá½á€­á€°á€™á€ºá‚‰á€žá‚‚်ႇ á€™á¢á‚†á€žá€½á€„်á¸á€­á€¯á€„် á€™á‚„းá¶á€­á€¯á¼á€ºá€¸ á‚ႂ်ႈမá¢á¼á€ºá‚‡á€™á‚…á¼á€ºá‚ˆ";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "သင်á€á‚ƒá‚ˆ á€¢á¼á€ºá½á€­á€°á€™á€ºá‚‰á€žá‚‚်ႇ á€¢á€½á¼á€ºá€á¢á€„်း á€™á€­á€°á¼á€º á€¢á¼á€ºá½á€­á€°á€™á€ºá‚‰á€žá‚‚်ႇ á€™á¢á‚†á€žá€½á€„်á¸á€­á€¯á€„် á€™á‚„းá¶á€­á€¯á¼á€ºá€¸ á‚ႂ်ႈမá¢á¼á€ºá‚‡á€™á‚…á¼á€ºá‚ˆ";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "သင်á€á‚ƒá‚ˆ á€¢á¼á€ºá½á€­á€°á€™á€ºá‚‰á€žá‚‚်ႇ á€¢á€½á¼á€ºá€á¢á€„်း á€™á€­á€°á¼á€º á€¢á€™á€ºá‚‡á¼á¼á€º á½á€µá€„်ႇပဵင်း á€¢á¼á€ºá½á€­á€°á€™á€ºá‚‰á€žá‚‚်ႇ á€™á¢á‚†á€žá€½á€„်á¸á€­á€¯á€„် á€™á‚„းá¶á€­á€¯á¼á€ºá€¸ á‚ႂ်ႈမá¢á¼á€ºá‚‡á€™á‚…á¼á€ºá‚ˆ";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "သင်á€á‚ƒá‚ˆ á€¢á¼á€ºá½á€­á€°á€™á€ºá‚‰á€žá‚‚်ႇ á€á€„်းသွင် á€¢á€™á€ºá‚‡á€™á€­á€°á¼á€ºá€á¢á€„်ႇဢá¼á€ºá¸á€­á€¯á€„် á€™á‚„းá¶á€­á€¯á¼á€ºá€¸ á‚ႂ်ႈမá¢á¼á€ºá‚‡á€™á‚…á¼á€ºá‚ˆ";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "ဢမ်ႇá¸á‚‚်ႈ %1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "သင်á€á‚ƒá‚ˆ á€¢á¼á€ºá½á€­á€°á€™á€ºá‚‰á€žá‚‚်ႇ á€¢á€™á€ºá‚‡á¼á‚…á¼á€ºá‚ˆá¼á‚ƒá¸á€­á€¯á€„် á€™á‚„းá¶á€­á€¯á¼á€ºá€¸ á‚ႂ်ႈမá¢á¼á€ºá‚‡á€™á‚…á¼á€ºá‚ˆá‹ á€žá€„်á€á‚ƒá‚ˆ á€¢á¼á€ºá½á€­á€°á€™á€ºá‚‰á€žá‚‚်ႇ á€™á¢á¼á€ºá‚‡á€™á‚…á¼á€ºá‚ˆá¸á€­á€¯á€„် á¶á€­á€¯á¼á€ºá€¸á€™á€°á¼á€ºá‚‰á€™á‚„း á‚ႂ်ႈá¼á‚…á¼á€ºá‚ˆá¼á‚ƒ";
+Blockly.Msg["LOGIC_NULL"] = "ဢမ်ႇá¶á€á€ºá‚ˆá¶á‚‚á¢á€„်ႇ";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";  // untranslated
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "လဵá€á€ºá¶á€­á€¯á¼á€ºá€¸ á€¢á€™á€ºá‚‡á¶á€á€ºá‚ˆá¶á‚‚á¢á€„်ႇ";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "လႄႈ";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "ဢမ်ႇá¼á¼á€º";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "သင်á€á‚ƒá‚ˆ á€¢á¼á€ºá½á€­á€°á€™á€ºá‚‰á€žá‚‚်ႇ á€á€„်းသွင်ဢá¼á€º á€™á¢á¼á€ºá‚‡á€™á‚…á¼á€ºá‚ˆá¸á€­á€¯á€„်á¸á€­á€¯á€„် á€™á‚„းá¶á€­á€¯á¼á€ºá€¸ á‚ႂ်ႈမá¢á¼á€ºá‚‡á€™á‚…á¼á€ºá‚ˆ";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "သင်á€á‚ƒá‚ˆ á€¢á¼á€ºá½á€­á€°á€™á€ºá‚‰á€žá‚‚်ႇ áµá€™á€ºá€¸á€œá€­á€¯á¼á€ºá€¸á€žá€¯á€á€ºá€¸ á€™á¢á¼á€ºá‚‡á€™á‚…á¼á€ºá‚ˆá¸á€­á€¯á€„် á€™á‚„းá¶á€­á€¯á¼á€ºá€¸ á‚ႂ်ႈမá¢á¼á€ºá‚‡á€™á‚…á¼á€ºá‚ˆ";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "á¸á¢á€™á€ºá€¸";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "သင်á€á‚ƒá‚ˆ á€¢á€™á€ºá‚‡á¼á‚…á¼á€ºá‚ˆá¼á‚ƒ";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "သင်á€á‚ƒá‚ˆ á€™á¢á¼á€ºá‚‡á€™á‚…á¼á€ºá‚ˆ";
+Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "á¸á¢á€™á€ºá€¸áµá€°á€á€ºá‚‡á€á€°áºá€ºá€¸ á€žá¢á‚†á€„á¢á‚†á‹ á€žá€„်á€á‚ƒá‚ˆ á€žá¢á‚†á€„á¢á‚†á€™á¢á¼á€ºá‚‡á€™á‚…á¼á€ºá‚ˆ, á€œá€µá€á€ºá¶á€­á€¯á¼á€ºá€¸ áµá‚ƒá‚ˆá¶á¼á€º (á¼á€™á€ºá‚‰áµá€á€ºá‚‰) 'သင်မá¢á¼á€ºá‚‡á€™á‚…á¼á€ºá‚ˆ'; á€œá€­á€°á€á€ºá¼á¼á€ºá‚‰ á€œá€µá€á€ºá¶á€­á€¯á¼á€ºá€¸ áµá‚ƒá‚ˆá¶á¼á€º (á¼á€™á€ºá‚‰áµá€á€ºá‚‰) 'သင်ဢမ်ႇá¼á‚…á¼á€ºá‚ˆá¼á‚ƒ'á‹";
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://en.wikipedia.org/wiki/ပá¢á‚†á€¸á¼á€•á€ºá‚‰";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "လဵá€á€ºá¶á€­á€¯á¼á€ºá€¸ á€á¢á€„်းá¼á€™á€º á¼á‚‚်းမá¢á‚†á¼á€•á€ºá‚‰ á€žá€½á€„်";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "လဵá€á€ºá¶á€­á€¯á¼á€ºá€¸ á€•á€™á‚ƒá‚‡á¼ á¼á‚‚်းမá¢á‚†á¼á€•á€ºá‚‰ á€žá€½á€„်";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "လဵá€á€ºá¶á€­á€¯á¼á€ºá€¸ á€¢á¼á€ºá€•á‚…áµá€ºá‚‡á€•á€­á€°á€„်ႈ á¼á‚‚်းမá¢á‚†á¼á€•á€ºá‚‰ á€žá€½á€„်";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "လဵá€á€ºá¶á€­á€¯á¼á€ºá€¸ á€¢á¼á€ºá€¢á€á€ºá€¢á€½áµá€ºá‚‡ á¼á‚‚်းမá¢á‚†á¼á€•á€ºá‚‰ á€žá€½á€„်";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "လဵá€á€ºá¶á€­á€¯á¼á€ºá€¸ á€á€°á€á€ºá¼á€•á€ºá‚‰á€™á¢á‚†á¼á€­á€¯á€„်ႈá¼á‚†á‚‰ á¸á€½á‚†á‚ˆá‚ႅင်းပá¼á€º á€á€°á€á€ºá¼á€•á€ºá‚‰á€™á¢á‚†á€žá€½á€„်";
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";  // untranslated
+Blockly.Msg["MATH_CHANGE_TITLE"] = "change %1 by %2";  // untranslated
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Add a number to variable '%1'.";  // untranslated
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://en.wikipedia.org/wiki/Mathematical_constant";  // untranslated
+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).";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "constrain %1 low %2 high %3";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Constrain a number to be between the specified limits (inclusive).";  // untranslated
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";  // untranslated
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "is divisible by";  // untranslated
+Blockly.Msg["MATH_IS_EVEN"] = "ပဵá¼á€ºáµá€°á€•á€ºá‚‰";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "is negative";  // untranslated
+Blockly.Msg["MATH_IS_ODD"] = "ပဵá¼á€ºáµá€­áµá€ºá‚ˆ";
+Blockly.Msg["MATH_IS_POSITIVE"] = "is positive";  // untranslated
+Blockly.Msg["MATH_IS_PRIME"] = "is prime";  // untranslated
+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.";  // untranslated
+Blockly.Msg["MATH_IS_WHOLE"] = "is whole";  // untranslated
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://en.wikipedia.org/wiki/Modulo_operation";  // untranslated
+Blockly.Msg["MATH_MODULO_TITLE"] = "remainder of %1 ÷ %2";  // untranslated
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Return the remainder from dividing the two numbers.";  // untranslated
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";  // untranslated
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://en.wikipedia.org/wiki/မá¢á‚†á¼á€•á€ºá‚‰";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "မá¢á‚†á¼á€•á€ºá‚‰ á¼á€­á€¯á€„်ႈဢá¼á€º";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "average of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "max of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "median of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "min of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "modes of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "random item of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "standard deviation of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "sum of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Return the average (arithmetic mean) of the numeric values in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "Return the largest number in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "Return the median number in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "Return the smallest number in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Return a list of the most common item(s) in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Return a random element from the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Return the standard deviation of the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Return the sum of all the numbers in the list.";  // untranslated
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "random fraction";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Return a random fraction between 0.0 (inclusive) and 1.0 (exclusive).";  // untranslated
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";  // untranslated
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "random integer from %1 to %2";  // untranslated
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Return a random integer between the two specified limits, inclusive.";  // untranslated
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://en.wikipedia.org/wiki/Rounding";  // untranslated
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "round";  // untranslated
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "round down";  // untranslated
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "round up";  // untranslated
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Round a number up or down.";  // untranslated
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://en.wikipedia.org/wiki/Square_root (မá¢á‚†á€á€°á€•á€ºá‚‰á€™á€­á€°á¼á€º)";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "ပáµá€á€­";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "မá¢á‚†á€á€°á€•á€ºá‚‰á€™á€­á€°á¼á€º";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "လဵá€á€ºá¶á€­á€¯á¼á€ºá€¸ áµá‚ƒá‚ˆá¶á¼á€º (á¼á€™á€ºá‚‰áµá€á€ºá‚‰) á€•áµá€á€­ á¼á‚‚်းမá¢á‚†á¼á€•á€ºá‚‰";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "လဵá€á€ºá¶á€­á€¯á¼á€ºá€¸ e áµá‚‚ႃႇá€á€®á‚ˆ á€•á‚ƒá‚‡á€á‚ƒá‚‡ á¼á‚‚်းမá¢á‚†á¼á€•á€ºá‚‰";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "လဵá€á€ºá¶á€­á€¯á¼á€ºá€¸ á€œá€½áµá€ºá€¸á€œá¢á‚†á€¸á¼á€•á€ºá‚‰ á¼á‚‚်းမá¢á‚†á¼á€•á€ºá‚‰";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "လဵá€á€ºá¶á€­á€¯á¼á€ºá€¸ á€•á€­á€¯á¼á€ºá‚‰á€‘á¢á¼á€º 10 á€œá€½áµá€ºá€¸á€œá¢á‚†á€¸á¼á€•á€ºá‚‰ á¼á‚‚်းမá¢á‚†á¼á€•á€ºá‚‰";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "လဵá€á€ºá¶á€­á€¯á¼á€ºá€¸ á€¢á¼á€ºá€žá¢á¼á€ºá¶á€á€ºá€¸ á¼á‚‚်း á€™á¢á‚†á¼á€•á€ºá‚‰";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "လဵá€á€ºá¶á€­á€¯á¼á€ºá€¸ 10 áµá‚‚ႃႇá€á€®á‚ˆ á€•á‚ƒá‚‡á€á‚ƒá‚‡ á¼á‚‚်းမá¢á‚†á¼á€•á€ºá‚‰";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "လဵá€á€ºá¶á€­á€¯á¼á€ºá€¸ á€™á¢á‚†á€á€°á€•á€ºá‚‰á€™á€­á€°á¼á€º á¼á‚‚်းမá¢á‚†á¼á€•á€ºá‚‰";
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";  // untranslated
+Blockly.Msg["MATH_TRIG_ACOS"] = "acos";  // untranslated
+Blockly.Msg["MATH_TRIG_ASIN"] = "asin";  // untranslated
+Blockly.Msg["MATH_TRIG_ATAN"] = "atan";  // untranslated
+Blockly.Msg["MATH_TRIG_COS"] = "cos";  // untranslated
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://en.wikipedia.org/wiki/Trigonometric_functions";  // untranslated
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";  // untranslated
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Return the arccosine of a number.";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Return the arcsine of a number.";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Return the arctangent of a number.";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Return the cosine of a degree (not radian).";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Return the sine of a degree (not radian).";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Return the tangent of a degree (not radian).";  // untranslated
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Create colour variable...";  // untranslated
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Create number variable...";  // untranslated
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Create string variable...";  // untranslated
+Blockly.Msg["NEW_VARIABLE"] = "လá¢á‚†á‚ˆá€¢á¼á€ºá€™á‚‚်ႇ";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "á¸á€­á€¯á€á€ºá‚ˆá€¢á¼á€ºá€œá¢á‚†á‚ˆá€™á‚‚်ႇ";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "New variable type:";  // untranslated
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "allow statements";  // untranslated
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "with:";  // untranslated
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Run the user-defined function '%1'.";  // untranslated
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Run the user-defined function '%1' and use its output.";  // untranslated
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "with:";  // untranslated
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "Create '%1'";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Describe this function...";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "do something";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "to";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Creates a function with no output.";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "return";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "Creates a function with an output.";  // untranslated
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "Warning: This function has duplicate parameters.";  // untranslated
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "Highlight function definition";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "If a value is true, then return a second value.";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "Warning: This block may be used only within a function definition.";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "input name:";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Add an input to the function.";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "inputs";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Add, remove, or reorder inputs to this function.";  // untranslated
+Blockly.Msg["REDO"] = "Redo";  // untranslated
+Blockly.Msg["REMOVE_COMMENT"] = "ထွá¼á€ºá€•á‚…á€á€ºá‚ˆ á¶á€±á‚ƒá‚ˆá¶á‚†á‚ˆá¸á‚‚်";
+Blockly.Msg["RENAME_VARIABLE"] = "လိုမ်ႉá¶á€­á€¯á¼á€ºá€¸ á€¢á¼á€ºá€œá¢á‚†á‚ˆá€™á‚‚်ႇ";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "လိုမ်ႉá¶á€­á€¯á¼á€ºá€¸ á€¢á¼á€ºá€œá¢á‚†á‚ˆá€™á‚‚်ႇá¸á€­á€°á€á€ºá€¸á¼á¼á€ºá‚‰ '%1' á€‘ိုင်";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "to %1 append text %2";  // untranslated
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Append some text to variable '%1'.";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "to lower case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "to Title Case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "to UPPER CASE";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Return a copy of the text in a different case.";  // untranslated
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "get first letter";  // untranslated
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "get letter # from end";  // untranslated
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "get letter #";  // untranslated
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "get last letter";  // untranslated
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "get random letter";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "in text %1 %2";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Returns the letter at the specified position.";  // untranslated
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";  // untranslated
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "count %1 in %2";  // untranslated
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Count how many times some text occurs within some other text.";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Add an item to the text.";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "join";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this text block.";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "to letter # from end";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "to letter #";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "to last letter";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "in text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "get substring from first letter";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "get substring from letter # from end";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "get substring from letter #";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Returns a specified portion of the text.";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "find first occurrence of text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "find last occurrence of text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "in text %1 %2 %3";  // untranslated
+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.";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 is empty";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Returns true if the provided text is empty.";  // untranslated
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "create text with";  // untranslated
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Create a piece of text by joining together any number of items.";  // untranslated
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "length of %1";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Returns the number of letters (including spaces) in the provided text.";  // untranslated
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "print %1";  // untranslated
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Print the specified text, number or other value.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Prompt for user for a number.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Prompt for user for some text.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "prompt for number with message";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "prompt for text with message";  // untranslated
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";  // untranslated
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "replace %1 with %2 in %3";  // untranslated
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Replace all occurances of some text within some other text.";  // untranslated
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";  // untranslated
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Reverses the order of the characters in the text.";  // untranslated
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://en.wikipedia.org/wiki/String_(computer_science)";  // untranslated
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "A letter, word, or line of text.";  // untranslated
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "trim spaces from both sides of";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "trim spaces from left side of";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "trim spaces from right side of";  // untranslated
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Return a copy of the text with spaces removed from one or both ends.";  // untranslated
+Blockly.Msg["TODAY"] = "မိူá€á€ºá‚ˆá¼á‚†á‚‰";
+Blockly.Msg["UNDO"] = "Undo";  // untranslated
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "ဢá¼á€º";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Create 'set %1'";  // untranslated
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Returns the value of this variable.";  // untranslated
+Blockly.Msg["VARIABLES_SET"] = "set %1 to %2";  // untranslated
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Create 'get %1'";  // untranslated
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Sets this variable to be equal to the input.";  // untranslated
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "A variable named '%1' already exists.";  // untranslated
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "A variable named '%1' already exists for another type: '%2'.";  // untranslated
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something...";  // untranslated
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/sk.js b/js/msg/js/sk.js
new file mode 100644 (file)
index 0000000..49d45e9
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.sk');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "PridaÅ¥ komentár";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "Nie je možné zmazaÅ¥ premennú â€ž%1“, pretože je súÄasÅ¥ou definície funkcie â€ž%2“";
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "ZmeniÅ¥ hodnotu:";
+Blockly.Msg["CLEAN_UP"] = "NarovnaÅ¥ bloky";
+Blockly.Msg["COLLAPSE_ALL"] = "Zvinúť bloky";
+Blockly.Msg["COLLAPSE_BLOCK"] = "Zvinúť blok";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "farba 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "farba 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";  // untranslated
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "pomer";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "zmieÅ¡aÅ¥";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "ZmieÅ¡a dve farby v danom pomere (0.0 - 1.0).";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://en.wikipedia.org/wiki/Color";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "Zvoľte farbu z palety.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "náhodná farba";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "ZvoliÅ¥ farbu náhodne.";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "modrá";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "zelená";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";  // untranslated
+Blockly.Msg["COLOUR_RGB_RED"] = "Äervená";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "ofarbiÅ¥ s";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "VytvoriÅ¥ farbu pomocou zadaného množstva Äervenej, zelenej a modrej. Množstvo musí byÅ¥ medzi 0 a 100.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "opustiÅ¥ sluÄku";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "prejdi na nasledujúce opakovanie sluÄky";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "OpustiÅ¥ túto sluÄku.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "VynechaÅ¥ zvyÅ¡ok tejto sluÄky a pokraÄovaÅ¥ Äalším opakovaním.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "Upozornenie: Tento blok sa môže používaÅ¥ len v rámci sluÄky.";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "pre každý prvok %1 v zozname %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "Pre každý prvok v zozname priraÄ jeho hodnotu do premenej '%1' a vykonaj príkazy.";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "poÄítaÅ¥ s %1 od %2 do %3 o %4";
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "Nechá premennú '%1' nadobúdaÅ¥ hodnoty od zaÄiatoÄného Äísla po koneÄné s daným medzikrokom a vykoná zadané bloky.";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "PridaÅ¥ podmienku k \"ak\" bloku.";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "PridaÅ¥ poslednú záchytnú podmienku k \"ak\" bloku.";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "PridaÅ¥, odstrániÅ¥ alebo zmeniÅ¥ poradie oddielov tohto \"ak\" bloku.";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "inak";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "inak ak";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "ak";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "Ak je hodnota pravda, vykonaj príkazy.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "Ak je hodnota pravda, vykonaj príkazy v prvom bloku. Inak vykonaj príkazy v druhom bloku.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "Ak je prvá hodnota pravda, vykonaj príkazy v prvom bloku. Inak, ak je druhá hodnota pravda, vykonaj príkazy v druhom bloku.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "Ak je prvá hodnota pravda, vykonaj príkazy v prvom bloku. Inak, ak je druhá hodnota pravda, vykonaj príkazy v druhom bloku. Ak ani jedna hodnota nie je pravda, vykonaj príkazy v poslednom bloku.";
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://en.wikipedia.org/wiki/For_loop";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "rob";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "opakuj %1 krát";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "Opakuj urÄité príkazy viackrát.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "opakuj kým nebude";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "opakuj kým";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "Kým je hodnota nepravdivá, vykonávaj príkazy.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "Kým je hodnota pravdivá, vykonávaj príkazy.";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "ZmazaÅ¥ vÅ¡etkých %1 dielcov?";
+Blockly.Msg["DELETE_BLOCK"] = "OdstrániÅ¥ blok";
+Blockly.Msg["DELETE_VARIABLE"] = "OdstrániÅ¥ premennú '%1'";
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "OdstrániÅ¥ %1 použití premennej '%2'?";
+Blockly.Msg["DELETE_X_BLOCKS"] = "OdstrániÅ¥ %1 blokov";
+Blockly.Msg["DISABLE_BLOCK"] = "Vypnúť blok";
+Blockly.Msg["DUPLICATE_BLOCK"] = "DuplikovaÅ¥";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicate Comment";  // untranslated
+Blockly.Msg["ENABLE_BLOCK"] = "PovoliÅ¥ blok";
+Blockly.Msg["EXPAND_ALL"] = "Rozvinúť bloky";
+Blockly.Msg["EXPAND_BLOCK"] = "Rozvinúť blok";
+Blockly.Msg["EXTERNAL_INPUTS"] = "VonkajÅ¡ie vstupy";
+Blockly.Msg["HELP"] = "Pomoc";
+Blockly.Msg["INLINE_INPUTS"] = "Riadkové vstupy";
+Blockly.Msg["IOS_CANCEL"] = "ZruÅ¡iÅ¥";
+Blockly.Msg["IOS_ERROR"] = "Chyba";
+Blockly.Msg["IOS_OK"] = "OK";
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ PridaÅ¥ vstup";
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Povoľujú príkazy";
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "Táto funkcia obsahuje duplikáty vstupov.";
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "Vstupy";
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "PridaÅ¥";
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ PridaÅ¥ premennú";
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "ZmazaÅ¥";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "Nie je možné použiÅ¥ premennú bez mena.";
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "PremenovaÅ¥";
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Názov premennej";
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "prázdny zoznam";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Vráti zoznam nulovej dĺžky, ktorý neobsahuje Å¾iadne prvky.";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "zoznam";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Pridaj, odstráň alebo zmeň poradie v tomto zoznamovom bloku.";
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "vytvor zoznam s";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Pridaj prvok do zoznamu.";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Vytvor zoznam s Ä¾ubovoľným poÄtom prvkov.";
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "prvý";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "# od konca";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "zisti";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "zisti a odstráň";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "posledný";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "náhodný";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "odstráň";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Vráti poÄiatoÄný prvok zoznamu.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Vráti prvok na urÄenej pozícii v zozname.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Vráti posledný prvok zoznamu.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Vráti náhodný prvok zoznamu.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "Odstráni a vráti prvý prvok v zozname.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "Odstráni a vráti prvok z urÄenej pozície v zozname.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "Odstráni a vráti posledný prvok v zozname.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Odstráni a vráti náhodný prvok v zozname.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "Odstráni prvý prvok v zozname.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "Odstráni prvok na urÄenej pozícii v zozname.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "Odstráni posledný prvok v zozname.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Odstráni náhodný prvok v zozname.";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "po # od konca";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "po #";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "po koniec";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "ZískaÅ¥ podzoznam od zaÄiatku";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "ZískaÅ¥ podzoznam od # od konca";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "získaÅ¥ podzoznam od #";
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Skopíruje urÄený Ãºsek zoznamu.";
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 je posledný prvok.";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 je poÄiatoÄný prvok.";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "nájdi prvý výskyt prvku";
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "nájdi posledný výskyt prvku";
+Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "Vráti index prvého/posledného výskytu prvku v zozname. Ak sa niÄ nenaÅ¡lo, vráti %1.";
+Blockly.Msg["LISTS_INLIST"] = "v zozname";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 je prázdny";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Vráti pravda, ak je zoznam prázdny.";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "dĺžka %1";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Vráti dĺžku zoznamu";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "vytvor zoznam s prvkom %1 opakovaným %2 krát";
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Vytvorí zoznam s niekoľkými rovnakými prvkami s danou hodnotou.";
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";  // untranslated
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "obrátiÅ¥ %1";
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "ObrátiÅ¥ kópiu zoznamu.";
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "ako";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "vložiÅ¥ na";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "nastaviÅ¥";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Vsunie prvok na zaÄiatok zoznamu.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Vsunie prvok na urÄenú pozíciu v zozname.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Pripojí prvok na koniec zoznamu.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Vsunie prvok na náhodné miesto v zozname.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Nastaví prvý prvok v zozname.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Nastaví prvok na urÄenej pozícii v zozname.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Nastaví posledný prvok v zozname.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Nastaví posledný prvok v zozname.";
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "Vzostupne";
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "Zostupne";
+Blockly.Msg["LISTS_SORT_TITLE"] = "zoradiÅ¥ %1 %2 %3";
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "ZoradiÅ¥ kópiu zoznamu.";
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "abecedne, ignorovaÅ¥ veľkosÅ¥ písmen";
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "numericky";
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "abecedne";
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "vytvoriÅ¥ zoznam z textu";
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "vytvoriÅ¥ text zo zoznamu";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "SpojiÅ¥ zoznam textov do jedného textu s oddeľovaÄmi.";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Rozdelenie textu do zoznamu textov, lámanie na oddeľovaÄoch.";
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "s oddeľovaÄom";
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "nepravda";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "Vráť buÄ hodnotu pravda alebo nepravda.";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "pravda";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://en.wikipedia.org/wiki/Inequality_(mathematics)";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Vráť hodnotu pravda, ak sú vstupy rovnaké.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Vráť hodnotu pravda ak prvý vstup je väÄší než druhý.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Vráť hodnotu pravda ak prvý vstup je väÄší alebo rovný druhému.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "Vráť hodnotu pravda, ak prvý vstup je menší než druhý.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "Vráť hodnotu pravda ak prvý vstup je menší alebo rovný druhému.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "Vráť hodnotu pravda, ak vstupy nie sú rovnaké.";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "nie je %1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "Vráti hodnotu pravda, ak je vstup nepravda. Vráti hodnotu nepravda ak je vstup pravda.";
+Blockly.Msg["LOGIC_NULL"] = "niÄ";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";  // untranslated
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "Vráti hodnotu nula.";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "a";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "alebo";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "Vráť hodnotu pravda, ak sú vstupy pravdivé.";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "Vráť hodnotu pravda, ak je aspoň jeden vstup pravda.";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "test";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "ak nepravda";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "ak pravda";
+Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "Skontroluj podmienku testom. Ak je podmienka pravda, vráť hodnotu \"ak pravda\", inak vráť hodnotu \"ak nepravda\".";
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://en.wikipedia.org/wiki/Arithmetic";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Vráť súÄet dvoch Äísel.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Vráť podiel dvoch Äísel.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Vráť rozdiel dvoch Äísel.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Vráť súÄin dvoch Äísel.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Vráť prvé Äíslo umocnené druhým.";
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";
+Blockly.Msg["MATH_CHANGE_TITLE"] = "zmeniÅ¥ %1 o %2";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Pridaj Äíslo do premennej \"%1\".";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://en.wikipedia.org/wiki/Mathematical_constant‎";
+Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "Vráť jednu zo zvyÄajných konÅ¡tánt: Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), alebo âˆž (nekoneÄno).";
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "obmedz %1 od %2 do %3";
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Obmedzí Äíslo do zadaných hraníc (vrátane).";
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";  // untranslated
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "je deliteľné";
+Blockly.Msg["MATH_IS_EVEN"] = "je párne";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "je záporné";
+Blockly.Msg["MATH_IS_ODD"] = "je nepárne";
+Blockly.Msg["MATH_IS_POSITIVE"] = "je kladné";
+Blockly.Msg["MATH_IS_PRIME"] = "je prvoÄíslo";
+Blockly.Msg["MATH_IS_TOOLTIP"] = "Skontroluj Äi je Äíslo párne, nepárne, celé, kladné, záporné alebo deliteľné urÄitým Äíslom. Vráť hodnotu pravda alebo nepravda.";
+Blockly.Msg["MATH_IS_WHOLE"] = "je celé Äíslo";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://en.wikipedia.org/wiki/Modulo_operation";
+Blockly.Msg["MATH_MODULO_TITLE"] = "zvyÅ¡ok po delení %1 + %2";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Vráť zvyÅ¡ok po delení jedného Äísla druhým.";
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";  // untranslated
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://en.wikipedia.org/wiki/Number";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "Číslo.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "priemer zoznamu";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "najväÄÅ¡ie v zozname";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "medián zoznamu";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "najmenÅ¡ie v zozname";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "najÄastejÅ¡ie v zozname";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "náhodný prvok zoznamu";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "smerodajná odchýlka zoznamu";
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "súÄet zoznamu";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Vráť aritmetický priemer Äísel v zozname.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "VrátiÅ¥ najväÄÅ¡ie Äíslo v zozname.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "Vráť medián Äísel v zozname.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "VrátiÅ¥ najmenÅ¡ie Äíslo v zozname.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "VrátiÅ¥ najÄastejší prvok v zozname.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Vráť náhodne zvolený prvok zoznamu.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Vráť smeroddajnú odchýlku zoznamu.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Vráť súÄet vÅ¡etkých Äísel v zozname.";
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "náhodné Äíslo od 0 do 1";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Vráť náhodné Äíslo z intervalu 0.0 (vrátane) až 1.0.";
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "náhodné celé Äíslo od %1 do %2";
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Vráť náhodné celé Äíslo z urÄeného intervalu (vrátane).";
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://en.wikipedia.org/wiki/Rounding";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "zaokrúhli";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "zaokrúhli nadol";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "zaokrúhli nahor";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Zaokrúhli Äíslo nahor alebo nadol.";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://en.wikipedia.org/wiki/Square_root";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "absolútna hodnota";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "druhá odmocnina";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Vráť absolútnu hodnotu Äísla.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Vráť e umocnené Äíslom.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "Vráť prirodzený logaritmus Äísla.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "Vráť logaritmus Äísla so základom 10.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Vráť opaÄné Äíslo.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Vráť 10 umocnené Äíslom.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Vráť druhú odmocninu Äísla.";
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";  // untranslated
+Blockly.Msg["MATH_TRIG_ACOS"] = "arccos";
+Blockly.Msg["MATH_TRIG_ASIN"] = "arcsin";
+Blockly.Msg["MATH_TRIG_ATAN"] = "arctan";
+Blockly.Msg["MATH_TRIG_COS"] = "cos";  // untranslated
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://en.wikipedia.org/wiki/Trigonometric_functions";
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";  // untranslated
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Vráť arkus kosínus Äísla.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Vráť arkus sínus Äísla.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Vráť arkus tangens Äísla.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Vráť kosínus uhla (v stupňoch).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Vráť sínus uhla (v stupňoch).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Vráť tangens uhla (v stupňoch).";
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Create colour variable...";  // untranslated
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Create number variable...";  // untranslated
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Create string variable...";  // untranslated
+Blockly.Msg["NEW_VARIABLE"] = "VytvoriÅ¥ premennú...";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "Názov novej premennej:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "New variable type:";  // untranslated
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "povoliÅ¥ príkazy";
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "s:";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://sk.wikipedia.org/wiki/Podprogram";
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Spustí používateľom definovanú funkciu '%1'.";
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://sk.wikipedia.org/wiki/Podprogram";
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Spustí používateľom definovanú funkciu '%1' a použije jej výstup.";
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "s:";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "VytvoriÅ¥ '%1'";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Doplň, Äo robí táto funkcia...";
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "urob nieÄo";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "na";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Vytvorí funciu bez výstupu.";
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "vrátiÅ¥";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "Vytvorí funkciu s výstupom.";
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "Upozornenie: Táto funkcia má duplicitné parametre.";
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "ZvýrazniÅ¥ definíciu funkcie";
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "Ak je hodnota pravda, tak vráti druhú hodnotu.";
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "Upozornenie: Tento blok môže byÅ¥ len vo vnútri funkcie.";
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "názov vstupu:";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "PridaÅ¥ vstup do funkcie.";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "vstupy";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "PridaÅ¥, odstrániÅ¥ alebo zmeniÅ¥ poradie vstupov tejto funkcie.";
+Blockly.Msg["REDO"] = "Znova";
+Blockly.Msg["REMOVE_COMMENT"] = "OdstrániÅ¥ komentár";
+Blockly.Msg["RENAME_VARIABLE"] = "PremenovaÅ¥ premennú...";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "PremenovaÅ¥ vÅ¡etky premenné '%1' na:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "do %1 pridaj text %2";
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Pridaj urÄitý text do premennej '%1'.";
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "na malé písmená";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "na Veľké ZaÄiatoÄné Písmená";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "na VEĽKÉ PÃSMENÃ";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Vráť kópiu textu s inou veľkosÅ¥ou písmen.";
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "zisti prvé písmeno";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "zisti # písmeno od konca";
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "zisti písmeno #";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "zisti posledné písmeno";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "vyber náhodné písmeno";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "v texte %1 %2";
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Vráti písmeno na urÄenej pozícii.";
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";  // untranslated
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "poÄet výskytov %1 v %2";
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "PoÄet výskytov textu nachádzajúcom sa v inom texte.";
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Pridaj prvok do textu.";
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "spoj";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Pridaj, odstráň alebo zmeň poradie oddielov v tomto textovom bloku.";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "po # písmeno od konca";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "po písmeno #";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "po koniec";
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "v texte";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "vyber podreÅ¥azec od zaÄiatku";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "vyber podreÅ¥azec od # písmena od konca";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "vyber podreÅ¥azec od písmena #";
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Vráti urÄenú ÄasÅ¥ textu.";
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "nájdi prvý výskyt textu";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "nájdi posledný výskyt textu";
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "v texte %1 %2 %3";
+Blockly.Msg["TEXT_INDEXOF_TOOLTIP"] = "Vráti index prvého/posledného výskytu prvého textu v druhom texte. Ak nenájde, vráti %1.";
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 je prázdny";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Vráti hodnotu pravda, ak zadaný text je prázdny.";
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "vytvor text z";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Vytvor text spojením urÄitého poÄtu prvkov.";
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "dĺžka %1";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Vráti poÄet písmen (s medzerami) v zadanom texte.";
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "píš %1";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Napíš zadaný text, Äíslo alebo hodnotu.";
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Výzva pre používateľa na zadanie Äísla.";
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Výzva pre používateľa na zadanie textu.";
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "výzva na zadanie Äísla so správou";
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "výzva za zadanie textu so správou";
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";  // untranslated
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "zameniÅ¥ %1 za %2 v reÅ¥azci %3";
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "ZameniÅ¥ vÅ¡etky výskyty textu za iný text.";
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";  // untranslated
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "text odzadu %1";
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "ObrátiÅ¥ poradie písmen v texte.";
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://en.wikipedia.org/wiki/String_(computer_science)";
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "Písmeno, slovo alebo riadok textu.";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "odstráň medzery z oboch strán";
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "odstráň medzery z Ä¾avej strany";
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "odstráň medzery z pravej strany";
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Vráť kópiu textu bez medzier na jednom alebo oboch koncoch.";
+Blockly.Msg["TODAY"] = "Dnes";
+Blockly.Msg["UNDO"] = "Späť";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "prvok";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "VytvoriÅ¥ \"nastaviÅ¥ %1\"";
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Vráti hodnotu tejto premennej.";
+Blockly.Msg["VARIABLES_SET"] = "nastaviÅ¥ %1 na %2";
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "VytvoriÅ¥ \"získaÅ¥ %1\"";
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Nastaví túto premennú, aby sa rovnala vstupu.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "Premenná s názvom %1 už existuje.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "Premenná s názvom '%1' už existuje pre inú premennú typu '%2'.";
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something...";  // untranslated
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/skr-arab.js b/js/msg/js/skr-arab.js
new file mode 100644 (file)
index 0000000..a3762d0
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.skr.arab');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["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'";  // untranslated
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "ویلیو ØªØ¨Ø¯ÛŒÙ„ Ú©Ø±Ùˆ:";
+Blockly.Msg["CLEAN_UP"] = "بلاک ØµØ§Ù Ú©Ø±Ùˆ";
+Blockly.Msg["COLLAPSE_ALL"] = "بلاک Ú©Ù¹Ú¾Û’ Ú©Ø±Ùˆ";
+Blockly.Msg["COLLAPSE_BLOCK"] = "بلا Ú© Ú©Ù¹Ú¾Û’ Ú©Ø±Ùˆ";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "رنگ 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "رنگ 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";  // untranslated
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "نسبت";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "مرکب";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "Blends two colours together with a given ratio (0.0 - 1.0).";  // untranslated
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://en.wikipedia.org/wiki/Color";  // untranslated
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "Choose a colour from the palette.";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "بنا ØªØ±ØªÙŠØ¨ Ø±Ù†Ú¯";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "Choose a colour at random.";  // untranslated
+Blockly.Msg["COLOUR_RGB_BLUE"] = "نیلا";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "ساوا";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";  // untranslated
+Blockly.Msg["COLOUR_RGB_RED"] = "رتا";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "نال Ø±Ù†Ù˜Ú¯";
+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.";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "گھیرے Ú©Ù†ÙˆÚº Ù»Ø§Ûر Ù†Ú©Ù„ݨ";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "continue with next iteration of loop";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "Break out of the containing loop.";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "Skip the rest of this loop, and continue with the next iteration.";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "Warning: This block may only be used within a loop.";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "for each item %1 in list %2";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "For each item in a list, set the variable '%1' to the item, and then do some statements.";  // untranslated
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "count with %1 from %2 to %3 by %4";  // untranslated
+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.";  // untranslated
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "Add a condition to the if block.";  // untranslated
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "Add a final, catch-all condition to the if block.";  // untranslated
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this if block.";  // untranslated
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "وکھرا";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "ٻیا Ø§Ú¯Ø±";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "جے";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "If a value is true, then do some statements.";  // untranslated
+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.";  // untranslated
+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.";  // untranslated
+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.";  // untranslated
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://en.wikipedia.org/wiki/For_loop";  // untranslated
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "کرو";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "repeat %1 times";  // untranslated
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "Do some statements several times.";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "تائیں Ø¯Ûرائے";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "repeat while";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "While a value is false, then do some statements.";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "While a value is true, then do some statements.";  // untranslated
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "بھلا %1 Ø¨Ù„اکاں Ú©ÙˆÚº Ù…ٹاؤں؟";
+Blockly.Msg["DELETE_BLOCK"] = "بلاک Ù…ٹاؤ";
+Blockly.Msg["DELETE_VARIABLE"] = "Delete the '%1' variable";  // untranslated
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Delete %1 uses of the '%2' variable?";  // untranslated
+Blockly.Msg["DELETE_X_BLOCKS"] = "%1 Ø¨Ù„اکاں Ú©ÙˆÚº Ù…ٹاؤ";
+Blockly.Msg["DISABLE_BLOCK"] = "بلاک Ûٹاؤ";
+Blockly.Msg["DUPLICATE_BLOCK"] = "ڈپلیکیٹ";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicate Comment";  // untranslated
+Blockly.Msg["ENABLE_BLOCK"] = "بلاک Ùعال Ú©Ø±Ùˆ";
+Blockly.Msg["EXPAND_ALL"] = "بلاکوں Ú©ÙˆÚº Ú©Ú¾Ù†ÚˆØ§Ø¤";
+Blockly.Msg["EXPAND_BLOCK"] = "بلاک Ú©Ú¾Ù†ÚˆØ§Ø¤";
+Blockly.Msg["EXTERNAL_INPUTS"] = "باÛرلے Ø§Ù†Ù¾Ù¹";
+Blockly.Msg["HELP"] = "مدد";
+Blockly.Msg["INLINE_INPUTS"] = "ان Ù„ائن Ø§Ù† Ù¾Ù¹";
+Blockly.Msg["IOS_CANCEL"] = "منسوخ";
+Blockly.Msg["IOS_ERROR"] = "نقص";
+Blockly.Msg["IOS_OK"] = "ٹھیک ÛÛ’";
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Add Input";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Allow statements";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "This function has duplicate inputs.";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "ان Ù¾Ù¹";
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "شامل Ú©Ø±Ùˆ";
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Ù…تغیر Ø´Ø§Ù…Ù„ Ú©Ø±Ùˆ";
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "مٹاؤ";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "You can't use an empty variable name.";  // untranslated
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "نواں Ù†Ø§Úº Ù„Ú©Ú¾Ùˆ";
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "متغیر Ù†Ø§Úº";
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "خالی ØªÙ†Ø¯ÛŒØ± Ø¨Ý¨Ø§Ø¤";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Returns a list, of length 0, containing no data records";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "ÙÛرست";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this list block.";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "create list with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Add an item to the list.";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Create a list with any number of items.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "Ù¾Ûلا";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "# Ú†Ú¾ÛŒÚ©Ú‘ Ú©Ù†ÙˆÚº";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "گھنو";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "گھنو ØªÛ’ Ûٹاؤ";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "چھیکڑی";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "Ù¾ÙÙ¹Ú¾Û’ Ø³Ùدھے";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "Ûٹاؤ";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Returns the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Returns the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Returns the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Returns a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "Removes and returns the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "Removes and returns the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "Removes and returns the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Removes and returns a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "Removes the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "Removes the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "Removes the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Removes a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "to # from end";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "to #";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "to last";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "get sub-list from first";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "get sub-list from # from end";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "get sub-list from #";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Creates a copy of the specified portion of a list.";  // untranslated
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 is the last item.";  // untranslated
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 is the first item.";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "find first occurrence of item";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "find last occurrence of item";  // untranslated
+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.";  // untranslated
+Blockly.Msg["LISTS_INLIST"] = "ÙÛرست ÙˆÚ†";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 Ø®Ø§Ù„ÛŒ ÛÛ’";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Returns true if the list is empty.";  // untranslated
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "length of %1";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Returns the length of a list.";  // untranslated
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "create list with item %1 repeated %2 times";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Creates a list consisting of the given value repeated the specified number of times.";  // untranslated
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";  // untranslated
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Reverse a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "بطور";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "insert at";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "سیٹ";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Inserts the item at the start of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Inserts the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Append the item to the end of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Inserts the item randomly in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Sets the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Sets the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Sets the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Sets a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";  // untranslated
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "چڑھدا Ûویا";
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "Ù„Ûندا Ûویا";
+Blockly.Msg["LISTS_SORT_TITLE"] = "سارٹ Ú©Ø±Ùˆ%1%2%3";
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Sort a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "alphabetic, ignore case";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "عددی";
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "ال٠بے Ø¯ÛŒ";
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "make list from text";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "make text from list";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Join a list of texts into one text, separated by a delimiter.";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Split text into a list of texts, breaking at each delimiter.";  // untranslated
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "with delimiter";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "غلط";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "Returns either true or false.";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "سچ";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://en.wikipedia.org/wiki/Inequality_(mathematics)";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Return true if both inputs equal each other.";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Return true if the first input is greater than the second input.";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Return true if the first input is greater than or equal to the second input.";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "Return true if the first input is smaller than the second input.";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "Return true if the first input is smaller than or equal to the second input.";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "Return true if both inputs are not equal to each other.";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "%1 Ú©Ø§Ø¦Ù†ÛŒ";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "Returns true if the input is false. Returns false if the input is true.";  // untranslated
+Blockly.Msg["LOGIC_NULL"] = "کوئی ÙˆÛŒ Ú©Ø§Ø¦Ù†ÛŒ";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";  // untranslated
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "Returns null.";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_AND"] = "اتے";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "یا";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "Return true if both inputs are true.";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "Return true if at least one of the inputs is true.";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "ٹیسٹ";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "اگر Ú©ÙˆÚ‘ ÛÛ’";
+Blockly.Msg["LOGIC_TERNARY_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.";  // untranslated
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://en.wikipedia.org/wiki/Arithmetic";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Return the sum of the two numbers.";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Return the quotient of the two numbers.";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Return the difference of the two numbers.";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Return the product of the two numbers.";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Return the first number raised to the power of the second number.";  // untranslated
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";  // untranslated
+Blockly.Msg["MATH_CHANGE_TITLE"] = "change %1 by %2";  // untranslated
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Add a number to variable '%1'.";  // untranslated
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://en.wikipedia.org/wiki/Mathematical_constant";  // untranslated
+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).";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "constrain %1 low %2 high %3";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Constrain a number to be between the specified limits (inclusive).";  // untranslated
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";  // untranslated
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "is divisible by";  // untranslated
+Blockly.Msg["MATH_IS_EVEN"] = "جÙت ÛÛ’";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "منÙÛŒ ÛÛ’";
+Blockly.Msg["MATH_IS_ODD"] = "طاق ÛÛ’";
+Blockly.Msg["MATH_IS_POSITIVE"] = "مثبت ÛÛ’";
+Blockly.Msg["MATH_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.";  // untranslated
+Blockly.Msg["MATH_IS_WHOLE"] = "مکمل ÛÛ’";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://en.wikipedia.org/wiki/Modulo_operation";  // untranslated
+Blockly.Msg["MATH_MODULO_TITLE"] = "remainder of %1 ÷ %2";  // untranslated
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Return the remainder from dividing the two numbers.";  // untranslated
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";  // untranslated
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://en.wikipedia.org/wiki/Number";  // untranslated
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "ÛÚ© Ø¹Ø¯Ø¯";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "ÙÛرست Ø¯ÛŒ Ø§ÙˆØ³Ø·";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "لسٹ ÙˆÚ†ÙˆÚº Ø³Ø¨ ØªÙˆÚº ÙˆØ¯Ú¾";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "median of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "لسٹ ÙˆÚ†ÙˆÚº Ø³Ø¨ ØªÙˆÚº Ú¯Ú¾Ù¹";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "modes of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "random item of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "standard deviation of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "لسٹ Ø¯Ø§ Ù…جموعÛ";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Return the average (arithmetic mean) of the numeric values in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "Return the largest number in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "Return the median number in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "Return the smallest number in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Return a list of the most common item(s) in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Return a random element from the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Return the standard deviation of the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Return the sum of all the numbers in the list.";  // untranslated
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "random fraction";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Return a random fraction between 0.0 (inclusive) and 1.0 (exclusive).";  // untranslated
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";  // untranslated
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "random integer from %1 to %2";  // untranslated
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Return a random integer between the two specified limits, inclusive.";  // untranslated
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://en.wikipedia.org/wiki/Rounding";  // untranslated
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "round";  // untranslated
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "round down";  // untranslated
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "round up";  // untranslated
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Round a number up or down.";  // untranslated
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://en.wikipedia.org/wiki/Square_root";  // untranslated
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "مطلق";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "مربعی Ø¬Ø°Ø±";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Return the absolute value of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Return e to the power of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "Return the natural logarithm of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "Return the base 10 logarithm of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Return the negation of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Return 10 to the power of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Return the square root of a number.";  // untranslated
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";  // untranslated
+Blockly.Msg["MATH_TRIG_ACOS"] = "acos";  // untranslated
+Blockly.Msg["MATH_TRIG_ASIN"] = "asin";  // untranslated
+Blockly.Msg["MATH_TRIG_ATAN"] = "atan";  // untranslated
+Blockly.Msg["MATH_TRIG_COS"] = "cos";  // untranslated
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://en.wikipedia.org/wiki/Trigonometric_functions";  // untranslated
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";  // untranslated
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Return the arccosine of a number.";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Return the arcsine of a number.";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Return the arctangent of a number.";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Return the cosine of a degree (not radian).";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Return the sine of a degree (not radian).";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Return the tangent of a degree (not radian).";  // untranslated
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Create colour variable...";  // untranslated
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Create number variable...";  // untranslated
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Create string variable...";  // untranslated
+Blockly.Msg["NEW_VARIABLE"] = "متغیر Ø¨Ý¨Ø§Ø¤Û”Û”Û”";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "نواں Ù…تغیر Ù†Ø§Úº:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "New variable type:";  // untranslated
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "allow statements";  // untranslated
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "نال:";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Run the user-defined function '%1'.";  // untranslated
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Run the user-defined function '%1' and use its output.";  // untranslated
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "نال:";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "Create '%1'";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Describe this function...";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "do something";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "Ú©ÙˆÚº";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Creates a function with no output.";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "واپس Ø¢ ÙˆÙ†Ú„Ùˆ";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "Creates a function with an output.";  // untranslated
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "Warning: This function has duplicate parameters.";  // untranslated
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "Highlight function definition";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "If a value is true, then return a second value.";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "Warning: This block may be used only within a function definition.";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "input name:";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Add an input to the function.";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "inputs";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Add, remove, or reorder inputs to this function.";  // untranslated
+Blockly.Msg["REDO"] = "ولدا Ú©Ø±Ùˆ";
+Blockly.Msg["REMOVE_COMMENT"] = "رائے Ù…ٹاؤ";
+Blockly.Msg["RENAME_VARIABLE"] = "متغیر Ø¯Ø§ ÙˆÙ„دا Ù†Ø§Úº Ø±Ú©Ú¾ÙˆÛ”Û”Û”";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Rename all '%1' variables to:";  // untranslated
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "to %1 append text %2";  // untranslated
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Append some text to variable '%1'.";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "to lower case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "to Title Case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "to UPPER CASE";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Return a copy of the text in a different case.";  // untranslated
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "Ù¾Ûلا Ø­Ø±Ù Ú¯Ú¾Ù†Ùˆ";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "get letter # from end";  // untranslated
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "# Ø­Ø±Ù Ú¯Ú¾Ù†Ùˆ";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "چھیکڑی Ø­Ø±Ù Ú¯Ú¾Ù†Ùˆ";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "get random letter";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "in text %1 %2";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Returns the letter at the specified position.";  // untranslated
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";  // untranslated
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "count %1 in %2";  // untranslated
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Count how many times some text occurs within some other text.";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Add an item to the text.";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "شامل ØªÚ¾ÛŒÙˆÙˆ";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this text block.";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "to letter # from end";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "to letter #";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "to last letter";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "ٹیکسٹ ÙˆÚ†";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "get substring from first letter";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "get substring from letter # from end";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "get substring from letter #";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Returns a specified portion of the text.";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "find first occurrence of text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "find last occurrence of text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "in text %1 %2 %3";  // untranslated
+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.";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 Ø®Ø§Ù„ÛŒ ÛÛ’";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Returns true if the provided text is empty.";  // untranslated
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "create text with";  // untranslated
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Create a piece of text by joining together any number of items.";  // untranslated
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "%1 Ø¯ÛŒ Ù„مباݨ";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Returns the number of letters (including spaces) in the provided text.";  // untranslated
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "%1 Ú†Ú¾Ø§Ù¾Ùˆ";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Print the specified text, number or other value.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Prompt for user for a number.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Prompt for user for some text.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "prompt for number with message";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "prompt for text with message";  // untranslated
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";  // untranslated
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "replace %1 with %2 in %3";  // untranslated
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Replace all occurances of some text within some other text.";  // untranslated
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";  // untranslated
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Reverses the order of the characters in the text.";  // untranslated
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://en.wikipedia.org/wiki/String_(computer_science)";  // untranslated
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "A letter, word, or line of text.";  // untranslated
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "trim spaces from both sides of";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "trim spaces from left side of";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "trim spaces from right side of";  // untranslated
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Return a copy of the text with spaces removed from one or both ends.";  // untranslated
+Blockly.Msg["TODAY"] = "اڄ";
+Blockly.Msg["UNDO"] = "واپس";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "آئٹم";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Create 'set %1'";  // untranslated
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Returns the value of this variable.";  // untranslated
+Blockly.Msg["VARIABLES_SET"] = "set %1 to %2";  // untranslated
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Create 'get %1'";  // untranslated
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Sets this variable to be equal to the input.";  // untranslated
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "'%1' Ù†Ø§Ù…ÛŒ Ù…تغیر Ù¾ÛÙ„Û’ Ù…وجود ÛÛ’Û”";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "A variable named '%1' already exists for another type: '%2'.";  // untranslated
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something...";  // untranslated
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/sl.js b/js/msg/js/sl.js
new file mode 100644 (file)
index 0000000..ca342b3
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.sl');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "Dodaj komentar";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "Can't delete the variable '%1' because it's part of the definition of the function '%2'";  // untranslated
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "Spremeni vrednost:";
+Blockly.Msg["CLEAN_UP"] = "Ponastavi kocke";
+Blockly.Msg["COLLAPSE_ALL"] = "SkrÄi kocke";
+Blockly.Msg["COLLAPSE_BLOCK"] = "SkrÄi kocko";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "barva 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "barva 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "razmerje";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "meÅ¡anica";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "ZmeÅ¡a dve barvi v danem razmerju (0.0 - 1.0).";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://en.wikipedia.org/wiki/Color";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "Izberi barvo s palete.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "nakljuÄna barva";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "Izbere nakljuÄno barvo.";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "modra";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "zelena";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";
+Blockly.Msg["COLOUR_RGB_RED"] = "rdeÄa";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "doloÄena barva";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "Ustvari barvo z doloÄeno koliÄino rdeÄe, zelene in modre. Vse vrednosti morajo biti med 0 in 100.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "izstopi iz zanke";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "nadaljuj z naslednjo ponovitvijo zanke";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "Izstopi iz trenutne zanke.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "PreskoÄi preostanek te zanke in nadaljuje z naslednjo ponovitvijo.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "Pozor: To kocko lahko uporabiÅ¡ samo znotraj zanke.";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "za vsak element %1 v seznamu %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "Za vsak element v seznamu, nastavi spremenljivko '%1' na ta element. Pri tem se izvedejo doloÄene kocke.";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "Å¡tej s/z %1 od %2 do %3 s korakom %4";
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "Vrednost spremenljivke '%1' se spreminja od zaÄetnega Å¡tevila do konÄnega Å¡tevila, z doloÄenim korakom. Pri tem se izvedejo doloÄene kocke.";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "Dodaj pogoj Â»Äe« kocki.";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "Dodaj konÄni pogoj Â»Äe« kocki.";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Dodaj, odstrani ali spremeni vrstni red odsekov za ponovno nastavitev Â»Äe« kocke.";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "sicer";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "sicer Äe";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "Äe";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "ÄŒe je vrednost resniÄna, izvedi doloÄene kocke.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "ÄŒe je vrednost resniÄna, izvedi prvo skupino kock. Sicer izvedi drugo skupino kock.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "ÄŒe je prva vrednost resniÄna, izvedi prvo skupino kock. Sicer, Äe je resniÄna druga vrednost, izvedi drugo skupino kock.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "ÄŒe je prva vrednost resniÄna, izvedi prvo skupino kock. Sicer, Äe je resniÄna druga vrednost, izvedi drugo skupino kock. ÄŒe nobena izmed vrednosti ni resniÄna, izvedi zadnjo skupino kock.";
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://en.wikipedia.org/wiki/For_loop";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "izvedi";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "ponovi %1 krat";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "Kocke se izvedejo veÄkrat.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "ponavljaj dokler";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "ponavljaj";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "Kocke se izvajajo dokler je vrednost neresniÄna.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "Kocke se izvajajo dokler je vrednost resniÄna.";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "IzbriÅ¡em vseh %1 kock?";
+Blockly.Msg["DELETE_BLOCK"] = "IzbriÅ¡i kocko";
+Blockly.Msg["DELETE_VARIABLE"] = "IzbriÅ¡i spremenljivko Â»%1«";
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "IzbriÅ¡em %1 uporab spremenljivke Â»%2«?";
+Blockly.Msg["DELETE_X_BLOCKS"] = "IzbriÅ¡i kocke";
+Blockly.Msg["DISABLE_BLOCK"] = "OnemogoÄi kocko";
+Blockly.Msg["DUPLICATE_BLOCK"] = "Podvoji";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicate Comment";  // untranslated
+Blockly.Msg["ENABLE_BLOCK"] = "OmogoÄi kocko";
+Blockly.Msg["EXPAND_ALL"] = "RazÅ¡iri kocke";
+Blockly.Msg["EXPAND_BLOCK"] = "RazÅ¡iri kocko";
+Blockly.Msg["EXTERNAL_INPUTS"] = "Zunanji vnosi";
+Blockly.Msg["HELP"] = "PomoÄ";
+Blockly.Msg["INLINE_INPUTS"] = "VrstiÄni vnosi";
+Blockly.Msg["IOS_CANCEL"] = "PrekliÄi";
+Blockly.Msg["IOS_ERROR"] = "Napaka";
+Blockly.Msg["IOS_OK"] = "V redu";
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Add Input";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Allow statements";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "This function has duplicate inputs.";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "VHODI";
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "Dodaj";
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Dodaj spremenljivko";
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "IzbriÅ¡i";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "You can't use an empty variable name.";  // untranslated
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Preimenuj";
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Ime spremenljivke";
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "ustvari prazen seznam";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Vrne seznam, dolžine 0, ki ne vsebuje nobenih podatkov.";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "seznam";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Doda, odstrani ali spremeni vrstni red elementov tega seznama.";
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "ustvari seznam s/z";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Doda element seznamu.";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Ustvari seznam s poljubnim Å¡tevilom elementov.";
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "prvo mesto";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "mesto Å¡t. od konca";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "Å¡t.";
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "vrni";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "odstrani in vrni";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "zadnje mesto";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "nakljuÄno mesto";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "odstrani";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Vrne prvi element seznama.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Vrne element na doloÄenem mestu v seznamu.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Vrne zadnji element seznama.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Vrne nakljuÄni element seznama.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "Odstrani in vrne prvi element seznama.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "Odstrani in vrne element na doloÄenem mestu v seznamu.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "Odstrani in vrne zadnji element seznama.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Odstrani in vrne nakljuÄni element seznama.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "Odstrani prvi element seznama.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "Odstrani element na doloÄenem mestu v seznamu.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "Odstrani zadnji element seznama.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Odstrani nakljuÄni element seznama.";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "do mesta Å¡t. od konca";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "do mesta Å¡t.";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "do zadnjega mesta";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "ustvari podseznam od prvega mesta";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "ustvari podseznam od mesta Å¡t. od konca";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "ustvari podseznam od mesta Å¡t.";
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Ustvari nov seznam, kot kopijo doloÄenega dela seznama.";
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "Zadnji element je Å¡t. %1.";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "Prvi element je Å¡t. %1.";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "najdi prvo pojavitev elementa";
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "najdi zadnjo pojavitev elementa";
+Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "Vrne mesto (indeks) prve/zadnje pojavitve elementa v seznamu. ÄŒe elementa ne najde, vrne %1.";
+Blockly.Msg["LISTS_INLIST"] = "v seznamu";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 je prazen";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Vrne resniÄno, Äe je seznam prazen.";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "dolžina %1";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Vrne dolžino seznama.";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "ustvari seznam z elementom %1, ki se ponovi %2 krat";
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Ustvari seznam z danim elementom, ki se poljubno mnogo krat ponovi.";
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";  // untranslated
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Reverse a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "element";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "vstavi na";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "nastavi na";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Vstavi element na zaÄetek seznama.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Vstavi element na doloÄeno mesto v seznamu.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Doda element na konec seznama.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Vstavi element na nakljuÄno mesto v seznamu.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Nastavi prvi element seznama.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Nastavi element na doloÄenem mestu v seznamu.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Nastavi zadnji element seznama.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Nastavi nakljuÄni element seznama.";
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "naraÅ¡ÄajoÄe";
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "padajoÄe";
+Blockly.Msg["LISTS_SORT_TITLE"] = "uredi %1 %2 %3";
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Uredi kopijo seznama.";
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "abecedno, brez velikosti Ärk";
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "Å¡tevilÄno";
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "abecedno";
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "ustvari seznam iz besedila";
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "ustvari besedilo iz seznama";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Združi seznam besedil v eno besedilo, loÄeno z loÄilom.";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Razdruži besedilo v seznam besedil. Za razdruževanje besedila uporabi loÄilo.";
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "z loÄilom";
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "neresniÄno";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "Vrne resniÄno ali neresniÄno.";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "resniÄno";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://en.wikipedia.org/wiki/Inequality_(mathematics)";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Vrne resniÄno, Äe sta vnosa enaka.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Vrne resniÄno, Äe je prvi vnos veÄji od drugega.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Vrne resniÄno, Äe je prvi vnos veÄji ali enak drugemu.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "Vrne resniÄno, Äe je prvi vnos manjÅ¡i od drugega.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "Vrne resniÄno, Äe je prvi vnos manjÅ¡i ali enak drugemu.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "Vrne resniÄno, Äe vnosa nista enaka.";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "ne %1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "Vrne resniÄno, Äe je vnos neresniÄen. Vrne neresniÄno, Äe je vnos resniÄen.";
+Blockly.Msg["LOGIC_NULL"] = "prazno";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "Vrne prazno.";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "in";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";
+Blockly.Msg["LOGIC_OPERATION_OR"] = "ali";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "Vrne resniÄno, Äe sta oba vnosa resniÄna.";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "Vrne resniÄno, Äe je vsaj eden od vnosov resniÄen.";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "test";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "Äe neresniÄno";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "Äe resniÄno";
+Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "Preveri pogoj v Â»testu«. ÄŒe je pogoj resniÄen, potem vrne vrednost Â»Äe resniÄno«; sicer vrne vrednost Â»Äe neresniÄno«.";
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://en.wikipedia.org/wiki/Arithmetic";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Vrne vsoto dveh Å¡tevil.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Vrne kvocient dveh Å¡tevil.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Vrne razliko dveh Å¡tevil.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Vrne zmnožek dveh Å¡tevil.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Vrne prvo Å¡tevilo na potenco drugega Å¡tevila.";
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";
+Blockly.Msg["MATH_CHANGE_TITLE"] = "spremeni %1 za %2";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "PriÅ¡teje Å¡tevilo k spremenljivki '%1'.";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://en.wikipedia.org/wiki/Mathematical_constant";
+Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "Vrne eno izmed obiÄajnih konstant: Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), ali âˆž (neskonÄno).";
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_%28graphics%29";
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "omeji %1 na najmanj %2 in najveÄ %3";
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Omeji Å¡tevilo, da bo med doloÄenima (vkljuÄenima) mejama.";
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "je deljivo s/z";
+Blockly.Msg["MATH_IS_EVEN"] = "je sodo";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "je negativno";
+Blockly.Msg["MATH_IS_ODD"] = "je liho";
+Blockly.Msg["MATH_IS_POSITIVE"] = "je pozitivno";
+Blockly.Msg["MATH_IS_PRIME"] = "je praÅ¡tevilo";
+Blockly.Msg["MATH_IS_TOOLTIP"] = "Preveri, Äe je Å¡tevilo sodo, liho, praÅ¡tevilo, celo, pozitivno, negativno ali, Äe je deljivo z doloÄenim Å¡tevilom. Vrne resniÄno ali neresniÄno.";
+Blockly.Msg["MATH_IS_WHOLE"] = "je celo";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://en.wikipedia.org/wiki/Modulo_operation";
+Blockly.Msg["MATH_MODULO_TITLE"] = "ostanek pri %1 ÷ %2";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Vrne ostanek pri deljenju dveh Å¡tevil.";
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://en.wikipedia.org/wiki/Number";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "Å tevilo.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "povpreÄje seznama";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "maksimum seznama";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "mediana seznama";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "minimum seznama";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "modus seznama";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "nakljuÄni element seznama";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "standardni odklon seznama";
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "vsota seznama";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Vrne povpreÄje (aritmetiÄno sredino) Å¡tevil na seznamu.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "Vrne najveÄje Å¡tevilo na seznamu.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "Vrne mediano Å¡tevil na seznamu.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "Vrne najmanjÅ¡e Å¡tevilo na seznamu.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Vrne seznam najpogostejÅ¡ega elementa(-ov) na seznamu.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Vrne nakljuÄno Å¡tevilo izmed Å¡tevil na seznamu.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Vrne standardni odklon seznama.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Vrne vsoto vseh Å¡tevil na seznamu.";
+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"] = "nakljuÄni ulomek";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Vrne nakljuÄni ulomek med (vkljuÄno) 0.0 in 1.0 (izkljuÄno).";
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "nakljuÄno Å¡tevilo med %1 in %2";
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Vrne nakljuÄno Å¡tevilo med dvema doloÄenima mejama, vkljuÄno z mejama.";
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://en.wikipedia.org/wiki/Rounding";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "zaokroži";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "zaokroži navzdol";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "zaokroži navzgor";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Zaokroži Å¡tevilo navzgor ali navzdol.";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://en.wikipedia.org/wiki/Square_root";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "absolutno";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "kvadratni koren";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Vrne absolutno vrednost Å¡tevila.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Vrne e na potenco Å¡tevila.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "Vrne naravni logaritem Å¡tevila.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "Vrne desetiÅ¡ki logaritem Å¡tevila.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Vrne negacijo Å¡tevila.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Vrne 10 na potenco Å¡tevila.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Vrne kvadratni koren Å¡tevila.";
+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"] = "Vrne arkus kosinus Å¡tevila.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Vrne arkus sinus Å¡tevila.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Vrne arkus tangens Å¡tevila.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Vrne kosinus kota v stopinjah (ne radianih).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Vrne sinus kota v stopinjah (ne radianih).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Vrne tangens kota v stopinjah (ne radianih).";
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Create colour variable...";  // untranslated
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Create number variable...";  // untranslated
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Create string variable...";  // untranslated
+Blockly.Msg["NEW_VARIABLE"] = "Ustvari spremenljivko ...";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "Ime nove spremenljivke:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "New variable type:";  // untranslated
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "dovoli korake";
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "s/z:";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Izvede uporabniÅ¡ko funkcijo '%1'.";
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Izvede uporabniÅ¡ko funkcijo '%1' in uporabi njen izhod.";
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "s/z:";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "Ustvari '%1'";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "OpiÅ¡ite funkcijo ...";
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29";
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "nekaj";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "izvedi";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Ustvari funkcijo brez izhoda.";
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29";
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "vrni";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "Ustvari funkcijo z izhodom.";
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "Pozor: Ta funkcija ima podvojene parametre.";
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "OznaÄi definicijo funkcije";
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "ÄŒe je vrednost resniÄna, vrne drugo vrednost.";
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "Pozor: To kocko lahko uporabiÅ¡ samo znotraj definicije funkcije.";
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "ime vnosa:";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Funkciji doda vnos.";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "vnosi";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Doda, odstrani ali spremeni vrstni red vnosov te funkcije.";
+Blockly.Msg["REDO"] = "Ponovi";
+Blockly.Msg["REMOVE_COMMENT"] = "Odstrani komentar";
+Blockly.Msg["RENAME_VARIABLE"] = "Preimenuj spremenljivko...";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Preimenuj vse spremenljivke '%1' v:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";
+Blockly.Msg["TEXT_APPEND_TITLE"] = "k %1 dodaj besedilo %2";
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Doda besedilo k spremenljivki '%1'.";
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "v male Ärke";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "v Velike ZaÄetnice";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "v VELIKE ÄŒRKE";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Vrne kopijo besedila v drugi obliki.";
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "vrni prvo Ärko";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "vrni Ärko Å¡t. od konca";
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "vrni Ärko Å¡t.";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";
+Blockly.Msg["TEXT_CHARAT_LAST"] = "vrni zadnjo Ärko";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "vrni nakljuÄno Ärko";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "in text %1 %2";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Vrne Ärko na doloÄenem mestu v besedilu.";
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";  // untranslated
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "count %1 in %2";  // untranslated
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Count how many times some text occurs within some other text.";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Doda element k besedilu.";
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "združi";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Doda, odstrani ali spremeni vrstni red elementov tega besedila.";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "do Ärke Å¡t. od konca";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "do Ärke Å¡t.";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "do zadnje Ärke";
+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"] = "iz besedila";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "vrni del od prve Ärke";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "vrni del od Ärke Å¡t. od konca";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "vrni del od Ärke Å¡t.";
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Vrne doloÄen del besedila.";
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "najdi prvo pojavitev besedila";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "najdi zadnjo pojavitev besedila";
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "v besedilu %1 %2 %3";
+Blockly.Msg["TEXT_INDEXOF_TOOLTIP"] = "Vrne mesto (indeks) prve/zadnje pojavitve drugega besedila v prvem besedilu. ÄŒe besedila ne najde, vrne %1.";
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 je prazno";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Vrne resniÄno, Äe je doloÄeno besedilo prazno.";
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "ustvari besedilo iz";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Ustvari besedilo tako, da združi poljubno Å¡tevilo elementov.";
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "dolžina %1";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Vrne Å¡tevilo Ärk oz. znakov (vkljuÄno s presledki) v doloÄenem besedilu.";
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";
+Blockly.Msg["TEXT_PRINT_TITLE"] = "izpiÅ¡i %1";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "IzpiÅ¡e doloÄeno besedilo, Å¡tevilo ali drugo vrednost.";
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "VpraÅ¡a uporabnika za vnos Å¡tevila.";
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "VpraÅ¡a uporabnika za vnos besedila.";
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "vpraÅ¡aj za Å¡tevilo s sporoÄilom";
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "vpraÅ¡aj za besedilo s sporoÄilom";
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";  // untranslated
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "replace %1 with %2 in %3";  // untranslated
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Replace all occurances of some text within some other text.";  // untranslated
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";  // untranslated
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Reverses the order of the characters in the text.";  // untranslated
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://en.wikipedia.org/wiki/String_(computer_science)";
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "ÄŒrka, beseda ali vrstica besedila.";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "odstrani presledke z obeh strani";
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "odstrani presledke z leve strani";
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "odstrani presledke z desne strani";
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Vrne kopijo besedila z odstranjenimi presledki z ene ali obeh strani.";
+Blockly.Msg["TODAY"] = "Danes";
+Blockly.Msg["UNDO"] = "Razveljavi";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "element";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Ustvari 'nastavi %1'";
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Vrne vrednost spremenljivke.";
+Blockly.Msg["VARIABLES_SET"] = "nastavi %1 na %2";
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Ustvari 'vrni %1'";
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Nastavi, da je vrednost spremenljivke enaka vnosu.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "Spremenljivka Â»%1« Å¾e obstaja.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "A variable named '%1' already exists for another type: '%2'.";  // untranslated
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something...";  // untranslated
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/sq.js b/js/msg/js/sq.js
new file mode 100644 (file)
index 0000000..1765f0c
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.sq');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "Vendos nje Koment";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "Nuk mund të fshihet variabla '%1' sepse është pjesë e definicionit të funksionit '%2'";
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "Ndrysho Vlerat:";
+Blockly.Msg["CLEAN_UP"] = "Pastro blloqet";
+Blockly.Msg["COLLAPSE_ALL"] = "Mbyll blloqet";
+Blockly.Msg["COLLAPSE_BLOCK"] = "Mbyll bllokun";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "Ngjyra 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "Ngjyra 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "Perpjesetim";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "Përzierje";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "Perzien dy ngjyra së bashku me një raport të dhënë (0.0 - 1.0).";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "http://en.wikipedia.org/wiki/Color";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "Zgjidh nje ngjyre nga nje game ngjyrash.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "ngjyre e rastesishme";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "Zgjidhni një ngjyrë në mënyrë të rastësishme.";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "blu";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "jeshile";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";
+Blockly.Msg["COLOUR_RGB_RED"] = "e kuqe";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "ngjyre me";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "Krijo një ngjyrë me shumën e specifikuar te te kuqes, te gjelbëres, dhe bluse. Te gjitha vlerat duhet te jene mes 0 dhe 100.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "dil nga nje faze perseritese";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "vazhdo me elementin tjeter te nje faze perseritese";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "Ndahu nga unaza.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "Kapërce pjesën e mbetur të unazës, dhe vazhdo me ripërsëritjen tjetër.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "Paralajmërim: Ky bllok mund të përdoret vetëm brenda unazës.";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "per cdo produkt %1 ne liste %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "Per cdo produkt ne nje \"liste\" \"vendos\" ndryshoren '%1' produktit, dhe pastaj bej disa deklarata.";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "numero me %1 nga %2 ne %3 me nga %4";
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "Bëje identifikuesin \"%1\" që ta ketë vlerat prej numrit të fillimit deri tek numri i fundit, duke numëruar nga intervali i specifikuar, dhe ti bëj blloqet e specifikuara.";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "\"Vendos\" \"kushtein\"tek \"pjesa\" \"if\"";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "Shto një përfundues, që i mbërrin të gjitha kushtet në bllokun nëse.";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Shto, fshij, ose rirregullo sektoret për ta rikonfiguruar këte bllok nëse.";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "përndryshe";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "përndryshe nëse";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "nëse";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "Nëse një vlerë është e saktë, atëherë ekzekuto disa fjali.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "Nëse një vlerë është e saktë, atëherë ekzekuto bllokun e parë të fjalive. Përndryshe, ekzekuto bllokun e dytë të fjalive.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "Nëse vlera e parë është e saktë, atëherë ekzekuto bllokun e parë të fjalive. Përndryshe, nëse vlera e dytë është e saktë, ekzekuto bllokun e dytë të fjalive.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "Nëse vlera e parë është e saktë, atëherë ekzekuto bllokun e parë të fjalive. Përndryshe, nëse vlera e dytë është e saktë, ekzekuto bllokun e dytë të fjalive. Nëse asnjëra nga vlerat nuk është e saktë, ekzekuto bllokun e fundit të fjalive.";
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "http://en.wikipedia.org/wiki/For_loop";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "ekzekuto";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "përsërit %1 herë";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "Ekzekuto disa fjali disa herë.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "përsërit derisa";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "përsërit përderisa";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "Përderisa një vlerë është e pasaktë, atëherë ekzekuto disa fjali.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "Përderisa një vlerë është e saktë, atëherë ekzekuto disa fjali.";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "Fshijë të gjitha %1 të blloqeve?";
+Blockly.Msg["DELETE_BLOCK"] = "Fshij bllokun";
+Blockly.Msg["DELETE_VARIABLE"] = "Fshi variablën '%1'";
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Fshi përdorimin %1 të variablës '%2'?";
+Blockly.Msg["DELETE_X_BLOCKS"] = "Fshij %1 blloqe";
+Blockly.Msg["DISABLE_BLOCK"] = "Çaktivizo bllokun";
+Blockly.Msg["DUPLICATE_BLOCK"] = "Kopjo";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicate Comment";  // untranslated
+Blockly.Msg["ENABLE_BLOCK"] = "Aktivizo bllokun";
+Blockly.Msg["EXPAND_ALL"] = "Zmadho blloqet";
+Blockly.Msg["EXPAND_BLOCK"] = "Zmadho bllokun";
+Blockly.Msg["EXTERNAL_INPUTS"] = "Hyrjet e jashtme";
+Blockly.Msg["HELP"] = "Ndihmë";
+Blockly.Msg["INLINE_INPUTS"] = "Hyrjet e brendshme";
+Blockly.Msg["IOS_CANCEL"] = "Anulo";
+Blockly.Msg["IOS_ERROR"] = "Gabim";
+Blockly.Msg["IOS_OK"] = "Në rregull";
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Shto Inputet";
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Lejo deklaratat";
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "Ky funksion ka inpute të dyfishta.";
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "INPUTET";
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "Shto";
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Shto Variabël";
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "Grise";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "Nuk mund të përdorni variabël pa emër.";
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Riemro";
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Emri i variablës";
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "krijo një listë të zbrazët";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Kthen një listë, te gjatësisë 0, duke mos përmbajtur asnjë regjistrim të të dhënave";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "listë";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Shto, fshij, ose rirregullo sektoret për ta rikonfiguruar këtë bllok të listës.";
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "krijo listë me";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Shto një send në listë.";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Krijo një listë me ndonjë numbër të sendeve.";
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "i parë";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "# nga fundi";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "merr";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "merr dhe fshij";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "i fundit";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "i rastësishëm";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "largo";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Rikthen tek artikulli i par në list.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Kthen një send në pozicionin e specifikuar në listë.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Kthen artikullin e fundit në list.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Kthen një send të rastësishëm në listë.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "Fshin dhe kthen sendin e parë në listë.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "Fshin dhe kthen sendin në pozicionin e specifikuar në listë.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "Fshin dhe kthen sendin e fundit në listë.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Fshin dhe kthen një send të rastësishëm në listë.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "Fshin sendin e parë në listë.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "Fshin sendin në pozicionin e specifikuar në listë.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "Fshin sendin e fundit në listë.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Kthen një send të rastësishëm në listë.";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "tek # nga fundi";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "tek #";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "tek i fundit";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "merr nën-listën nga i pari";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "merr nën listën nga # nga fundi";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "merr nën-listën nga #";
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Krijon në kopje të pjesës së specifikuar të listës.";
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 është sendi i fundit.";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 është sendi i parë.";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "gjen ndodhjen e parë të sendit";
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "gjen ndodhjen e fundit të sendit";
+Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "Kthen indeksin e ndodhjes së parë/fudit të sendit në listë. Kthen %1 nëse teksti nuk është gjetur.";
+Blockly.Msg["LISTS_INLIST"] = "në listë";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 është e zbraztë";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Kthehet i saktë nëse lista është e zbraztë.";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "gjatësia e %1";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Kthen gjatësinë e listës.";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "krijo listën me sendin %1 të përsëritur %2 herë";
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Krijon në listë qe përmban vlerën e dhënë të përsëritur aq herë sa numri i specifikuar.";
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";  // untranslated
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "kthe %1";
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Ndërro renditjen e një kopjeje të listës.";
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "sikurse";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "fut në";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "vendos";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Fut sendin në fillim të listës.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Fut sendin në pozicionin e specifikuar të listës.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Bashkangjit sendin në fund të listës.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Fut sendin rastësisht në listë.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Vendos sendin e parë në listë.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Vendos sendin në pozicionin e specifikuar në listë.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Vendos sendin e fundit në listë.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Vendos një send të rastësishëm në listë.";
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "ngjitje";
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "zbritje";
+Blockly.Msg["LISTS_SORT_TITLE"] = "rendit %1 %2 %3";
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Rendit një kopje të listës.";
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "alfabetike, injoro madhësinë e shkronjave";
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "numerike";
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "alfabetike";
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "bëj listë nga teksti";
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "bëj tekst nga lista";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Ngjit një listë tekstesh në një, të ndara me ndarës.";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Ndaj tekstin në një listë tekstesh, duke ndarë në secilin ndarës.";
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "me ndarës";
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "e pasaktë";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "Kthehet ose të saktë ose të pasaktë.";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "e saktë";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "http://en.wikipedia.org/wiki/Inequality_(mathematics)";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Ktheje të saktë nëse të dy hyrjet janë të barabarta me njëra-tjetrën.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Ktheje të saktë nëse hyrja e parë është më e madhe se hyrja e dytë.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Ktheje të saktë nëse hyrja e parë është më e madhe ose e barabartë me hyrjen e dytë.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "Ktheje të saktë nëse hyrja e parë është më e vogël se hyrja e dytë.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "Ktheje të saktë nëse hyrja e parë është më e vogël ose e barabartë me hyrjen e dytë.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "Ktheje të saktë nëse të dy hyrjet nuk janë të barabarta me njëra-tjetrën.";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "jo %1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "Kthehet e saktë nëse hyrja është e pasaktë. Kthehet e pasaktë nëse hyrja është e saktë.";
+Blockly.Msg["LOGIC_NULL"] = "pavlerë";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "http://en.wikipedia.org/wiki/Nullable_type";
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "Kthehet e pavlerë.";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "dhe";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "ose";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "Kthehet të saktë nëse të dy hyrjet janë të sakta.";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "Kthehet e saktë nëse së paku njëra nga hyrjet është e saktë.";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "test";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "http://en.wikipedia.org/wiki/%3F:";
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "nëse e pasaktë";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "nëse e saktë";
+Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "Kontrollo kushtin në 'test'. Nëse kushti është i saktë, kthen vlerën 'nëse e saktë'; përndryshe kthen vlerën 'nëse e pasaktë'.";
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "http://sq.wikipedia.org/wiki/Aritmetika";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Kthen shumën e dy numrave.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Kthen herësin e dy numrave.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Kthen ndryshimin e dy numrave.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Kthen produktin e dy numrave.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Kthen numrin e parë të ngritur në fuqinë e numrit të dytë.";
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "http://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";
+Blockly.Msg["MATH_CHANGE_TITLE"] = "ndrysho %1 nga %2";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Shto një numër në ndryshoren '%1'.";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "http://en.wikipedia.org/wiki/Mathematical_constant";
+Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "Kthen një nga konstantet e përbashkëta: : Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), or âˆž (infiniti).";
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "detyro %1 e ulët %2 e lartë %3";
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Vëni një numër që të jetë në mes të kufive të specifikuara(përfshirëse).";
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "është i pjestueshme me";
+Blockly.Msg["MATH_IS_EVEN"] = "është çift";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "është negativ";
+Blockly.Msg["MATH_IS_ODD"] = "është tek";
+Blockly.Msg["MATH_IS_POSITIVE"] = "është pozitiv";
+Blockly.Msg["MATH_IS_PRIME"] = "është prim";
+Blockly.Msg["MATH_IS_TOOLTIP"] = "Kontrollo nëse një numër është çift, tek, prim, i plotë, pozitiv, negativ, ose nëse është i pjestueshëm me një numër të caktuar. Kthehet e saktë ose e pasaktë.";
+Blockly.Msg["MATH_IS_WHOLE"] = "është i plotë";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "http://en.wikipedia.org/wiki/Modulo_operation";
+Blockly.Msg["MATH_MODULO_TITLE"] = "mbetësi i %1 ÷ %2";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Kthen mbetësin nga pjestimi i dy numrave.";
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "x";
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "http://en.wikipedia.org/wiki/Number";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "Një numër.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "mesatarja e listës";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "numri më i madh i listës";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "mediana e listës";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "numri më i ulët i listës";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "modat e listës";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "send i rastësishëm i listës";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "devijimi standard i listës";
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "mbledhja e listës";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Kthen mesatarën (kuptimi aritmetik) i vlerave numerike të listës.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "Kthe numrin më të madh të listës.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "Kthe numrin median të listës.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "Kthe numrin me të vogël të listës.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Kthe listën e sendit(eve) më të zakonshme të listës.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Kthe një element të rastësishëm nga lista.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Kthe devijimin standard të listës.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Kthe shumën e të gjithë numrave të listës.";
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "http://en.wikipedia.org/wiki/Random_number_generation";
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "fraksioni i rastësishëm";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Kthe fraksionin e rastësishëm në mes të 0.0 (përfshirëse) dhe 1.0 (jopërfshirëse).";
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "http://en.wikipedia.org/wiki/Random_number_generation";
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "numër i plotë i rastësishëm nga %1 deri në %2";
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Kthe një numër të plotë të rastësishëm të dy kufijve të specifikuar, të përfshirë.";
+Blockly.Msg["MATH_ROUND_HELPURL"] = "http://en.wikipedia.org/wiki/Rounding";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "rrumbullakësimi";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "rrumbullakësimi i ulët";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "rrumbullakësimi i lartë";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Rrumbullakësimi i numrit të lartë ose të ulët.";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "http://en.wikipedia.org/wiki/Square_root";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "absolut";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "rrënja katrore";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Kthen vlerën absolute të një numri.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Kthen e në fuqinë e një numri.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "Kthen logaritmën natyrale të një numri.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "Kthen 10 logaritmet bazë të një numri.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Kthe negacionin e një numri.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Kthen 10 në fuqinë e një numri.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Kthen rrënjën katrore të një numri.";
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";
+Blockly.Msg["MATH_TRIG_ACOS"] = "acosinus";
+Blockly.Msg["MATH_TRIG_ASIN"] = "asinus";
+Blockly.Msg["MATH_TRIG_ATAN"] = "atangjentë";
+Blockly.Msg["MATH_TRIG_COS"] = "cos";
+Blockly.Msg["MATH_TRIG_HELPURL"] = "http://en.wikipedia.org/wiki/Trigonometric_functions";
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Rikthe cos-1 e nje numeri.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Rikthe sin-1 e nje numeri.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Kthe tg-1 e nje numeri.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Kthe kosinusin e nje grade (jo ne radiant).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Kthe kosinusin e nje kendi (jo ne radiant).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Kthe tangentin e nje kendi (jo radiant).";
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Krijo variabël ngjyrë...";
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Krijo variabël numër";
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Krijo variabël varg";
+Blockly.Msg["NEW_VARIABLE"] = "Krijo variabël...";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "Emri i identifikatorit të ri:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "Tip i ri i variablës:";
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "lejo deklaratat";
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "me:";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Lësho funksionin e definuar nga përdoruesi '%1'.";
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Lëho funksionin e definuar nga përdoruesi '%1' dhe përdor daljen e tij.";
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "me:";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "Krijo '%1'";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Përshkruaj këtë funksion...";
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "http://en.wikipedia.org/wiki/Procedure_%28computer_science%29";
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "bëj diqka";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "te";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Krijon një funksion pa dalje.";
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "http://en.wikipedia.org/wiki/Procedure_%28computer_science%29";
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "rikthe";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "Krijon një funksion me një dalje.";
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "Paralajmërim: Ky funksion ka parametra të dyfishuar.";
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "Thekso definicionin e funksionit";
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "Nëse një vlerë është e saktë, atëherë kthe një vlerë të dytë.";
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "Paralajmërim: Ky bllok mund të përdoret vetëm brenda definicionit të funksionit.";
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "Fut emrin:";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Shto një input në këtë funksion.";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "Informacioni i futur";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Shto, hiq, ose rirendit inputet e këtij funksioni.";
+Blockly.Msg["REDO"] = "Ribëj";
+Blockly.Msg["REMOVE_COMMENT"] = "Fshij komentin";
+Blockly.Msg["RENAME_VARIABLE"] = "Ndrysho emrin variables...";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Ndrysho emrin e te gjitha '%1' variablave ne :";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "ne %1 shto tekst %2";
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "shto tekst tek varibla '%1'.";
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "me shkronja te vogla shtypi";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "Fillimi me shkronje te madhe shtypi";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "me shkronja te medha shtypi";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Kthe nje kopje te tekstit ne nje rast te ndryshem.";
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "merr shkronjen e pare";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "merr shkronjen # nga fundi";
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "merr shkronjen #";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "merr shkronjen e fundit";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "merr nje shkronje te rastesishme";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "në tekst %1 %2";
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Kthe nje shkronje nga nje pozicion i caktuar.";
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "numro %1 në %2";
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Numrin sa herë paraqitet një tekst brenda një teksti tjetër.";
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Shto nje gje ne tekst";
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "bashkangjit";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Shto, fshij, ose rirregullo sektoret për ta rikonfiguruar këtë bllok teksti.";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "ne shkronjen # nga fundi";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "ne shkronjen #";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "tek shkronja e fundit";
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "ne tekst";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "merr vlerat qe vazhdojne me shkronjen e pare";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "merr nenvargun nga shkronja # nga fundi";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "Merr nenvargun nga shkronja #";
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Pergjigjet me nje pjese te caktuar teksti.";
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "gjej rastisjen e pare te tekstit";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "gjej rastisjen e fundit te tekstit";
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "ne tekst %1 %2 %3";
+Blockly.Msg["TEXT_INDEXOF_TOOLTIP"] = "Pergjigjet me indeksin e pare/fundit te rastisjes se tekstit te pare ne tekstin e dyte. Pergjigjet me %1 ne qofte se teksti nuk u gjet.";
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 eshte bosh";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Kthehet e vertete neqoftese teksti i dhene eshte bosh.";
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "krijo tekst me";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Krijo nje pjese te tekstit duke bashkuar se bashku disa sende";
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "gjatesi %1";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Pergjigjet me nje numer shkronjash (duke perfshire hapesire) ne tekstin e dhene.";
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "printo %1";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Printo tekstin e caktuar, numer ose vlere tjeter.";
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Kerkoji perdoruesit nje numer.";
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Kerkoji perdoruesit ca tekst.";
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "kerko nje numer me njoftim";
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "kerko tekst me njoftim";
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";  // untranslated
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "zëvendëso %1 me %2 në %3";
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Zëvendëso të gjitha paraqitjet e një teksti brenda një teksti tjetër.";
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";  // untranslated
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "kthe %1";
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Kthen renditjen e karaktereve në tekst.";
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "http://en.wikipedia.org/wiki/String_(computer_science)";
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "Nje shkronje, fjale, ose rresht teksti.";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "prit hapesirat nga te dyja anet";
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "prit hapesirat nga ana e majte";
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "prit hapesirat nga ana e djathte";
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Pergjigju me nje kopje te tekstit me hapesira te fshira nga njera ane ose te dyja anet.";
+Blockly.Msg["TODAY"] = "Sot";
+Blockly.Msg["UNDO"] = "Zhbëj";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "send";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Krijo 'vendos %1";
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Pergjigjet me nje vlere te kesaj variable.";
+Blockly.Msg["VARIABLES_SET"] = "vendos %1 ne %2";
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Krijo 'merr %1";
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Vendos kete variable te jete e barabarte me te dhenat ne hyrje.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "Një variabël e quajtur '%1' tashmë ekziston.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "Një variabël me emrin '%1' veç ekziston për një tip tjetër: '%2'.";
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something...";  // untranslated
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/sr-latn.js b/js/msg/js/sr-latn.js
new file mode 100644 (file)
index 0000000..47c8080
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.sr.latn');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "Dodaj komentar";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "Ne mogu da obriÅ¡em varijablu â€™%1’ jer je deo definicije funkcije â€™%2’";
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "Promeni vrednost:";
+Blockly.Msg["CLEAN_UP"] = "Ukloni blokove";
+Blockly.Msg["COLLAPSE_ALL"] = "Skupi blokove";
+Blockly.Msg["COLLAPSE_BLOCK"] = "Skupi blok";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "boja 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "boja 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "odnos";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "pomeÅ¡aj";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "PomeÅ¡ati dve boje zajedno sa datim odnosom (0.0 - 1.0).";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://sr.wikipedia.org/wiki/Boja";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "Izaberite boju sa palete.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "sluÄajna boja";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "Izaberite boju nasumice.";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "plava";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "zelena";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";
+Blockly.Msg["COLOUR_RGB_RED"] = "crvena";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "boja sa";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "Kreiraj boju sa odreÄ‘enom koliÄinom crvene,zelene, i plave. Sve vrednosti moraju biti izmeÄ‘u 0 i 100.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "IzaÄ‘ite iz petlje";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "nastavi sa sledećom iteracijom petlje";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "Napusti sadržaj petlje.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "PreskoÄi ostatak ove petlje, i nastavi sa sledećom iteracijom(ponavljanjem).";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "Upozorenje: Ovaj blok može da se upotrebi samo unutar petlje.";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "za svaku stavku %1 na spisku %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "Za svaku stavku unutar liste, podesi promenjivu '%1' po stavci, i onda naÄini neke izjave-naredbe.";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "prebroj sa %1 od %2 do %3 od %4";
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "Imaj promenjivu \"%1\" uzmi vrednosti od poÄetnog broja do zadnjeg broja, brojeći po odreÄ‘enom intervalu, i izvrÅ¡i odreÄ‘ene blokove.";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "Dodajte uslov bloku â€žako“.";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "Dodaj konaÄni, catch-all  (uhvati sve) uslove if bloka.";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Dodaj, ukloni, ili preuredi delove kako bih rekonfigurisali ovaj if blok.";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "inaÄe";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "inaÄe-ako";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "ako";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "ako je vrednost taÄna, onda izvrÅ¡i neke naredbe-izjave.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "ako je vrednost taÄna, onda izvrÅ¡i prvi blok naredbi, U suprotnom, izvrÅ¡i drugi blok naredbi.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "Ako je prva vrednost taÄna, onda izvrÅ¡i prvi blok naredbi, u suprotnom, ako je druga vrednost taÄna , izvrÅ¡i drugi blok naredbi.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "Ako je prva vrednost taÄna, onda izvrÅ¡i prvi blok naredbi, u suprotnom, ako je druga vrednost taÄna , izvrÅ¡i drugi blok naredbi. Ako ni jedna od vrednosti nije taÄna, izvrÅ¡i poslednji blok naredbi.";
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://sr.wikipedia.org/wiki/For_petlja";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "izvrÅ¡i";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "ponovi %1 puta";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "Odraditi neke naredbe nekoliko puta.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "ponavljati do";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "ponavljati dok";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "Dok vrednost nije taÄna, onda izvrÅ¡iti neke naredbe.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "Dok je vrednost taÄna, onda izvrÅ¡ite neke naredbe.";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "Da obriÅ¡em svih %1 blokova?";
+Blockly.Msg["DELETE_BLOCK"] = "ObriÅ¡i blok";
+Blockly.Msg["DELETE_VARIABLE"] = "ObriÅ¡i promenljivu '%1'";
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Da obriÅ¡em %1 upotreba promenljive '%2'?";
+Blockly.Msg["DELETE_X_BLOCKS"] = "ObriÅ¡i %1 blokova";
+Blockly.Msg["DISABLE_BLOCK"] = "Onemogući blok";
+Blockly.Msg["DUPLICATE_BLOCK"] = "Dupliraj";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicate Comment";  // untranslated
+Blockly.Msg["ENABLE_BLOCK"] = "Omogući blok";
+Blockly.Msg["EXPAND_ALL"] = "ProÅ¡iri blokove";
+Blockly.Msg["EXPAND_BLOCK"] = "ProÅ¡iri blok";
+Blockly.Msg["EXTERNAL_INPUTS"] = "Spoljni ulazi";
+Blockly.Msg["HELP"] = "Pomoć";
+Blockly.Msg["INLINE_INPUTS"] = "UnutraÅ¡nji ulazi";
+Blockly.Msg["IOS_CANCEL"] = "Otkaži";
+Blockly.Msg["IOS_ERROR"] = "GreÅ¡ka";
+Blockly.Msg["IOS_OK"] = "U redu";
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Dodaj unos";
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Dozvoli izjave";
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "Ova funkcija ima duplicirane unose.";
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "UNOSI";
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "Dodaj";
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Dodaj varijablu";
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "ObriÅ¡i";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "Ne možete da koristite prazno ime varijable.";
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Preimenuj";
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Ime varijable";
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "napravi prazan spisak";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "vraća listu, dužine 0, ne sadržavajući  evidenciju podataka";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "spisak";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Dodajte, izbriÅ¡ite, ili preuredite delove kako bi se reorganizovali ovaj blok liste.";
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "napravi spisak sa";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Dodajte stavku na spisak.";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Kreiraj listu sa bilo kojim brojem stavki.";
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "prva";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "# sa kraja";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "preuzmi";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "preuzmi i ukloni";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "poslednja";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "sluÄajna";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "ukloni";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Vraća prvu stavku na spisku.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Vraća stavku na odreÄ‘enu poziciju na listi.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Vraća poslednju stavku na spisku.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Vraća sluÄajnu stavku sa spiska.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "Uklanja i vraća prvu stavku sa spiska.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "Uklanja i vraća stavku sa odreÄ‘enog položaja na spisku.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "Uklanja i vraća poslednju stavku sa spiska.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Uklanja i vraća sluÄajnu stavku sa spiska.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "Uklanja prvu stavku sa spiska.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "Uklanja stavku sa odreÄ‘enog položaja na spisku.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "Uklanja poslednju stavku sa spiska.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Uklanja sluÄajnu stavku sa spiska.";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "do # od kraja";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "do #";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "do poslednje";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "preuzmi podspisak od prve";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "preuzmi podspisak iz # sa kraja";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "preuzmi podspisak od #";
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Pravi kopiju odreÄ‘enog dela liste.";
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 je poslednja stavka.";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 je prva stavka.";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "pronaÄ‘i prvo pojavljivanje stavke";
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "pronaÄ‘i poslednje pojavljivanje stavke";
+Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "Vraća broj prvog i/poslednjeg ulaska elementa u listu. Vraća %1 Ako element nije pronaÄ‘en.";
+Blockly.Msg["LISTS_INLIST"] = "na spisku";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 je prazan";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Vraća vrednost taÄno ako je lista prazna.";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "dužina spiska %1";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Vraća dužinu spiska.";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "Napraviti listu sa stavkom %1 koja se ponavlja %2 puta";
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Pravi listu koja se sastoji od zadane vrednosti koju ponavljamo odreÄ‘eni broj Å¡uta.";
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "obrnuto %1";
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Obrni kopiju spiska.";
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "kao";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "ubaci na";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "postavi";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Ubacuje stavku na poÄetak spiska.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Ubacuje stavku na odreÄ‘eni položaj na spisku.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Dodajte stavku na kraj spiska.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Ubacuje stavku na sluÄajno mesto na spisku.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Postavlja prvu stavku na spisku.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Postavlja stavku na odreÄ‘eni položaj na spisku.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Postavlja poslednju stavku na spisku.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Postavlja sluÄajnu stavku na spisku.";
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "rastuće";
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "opadajuće";
+Blockly.Msg["LISTS_SORT_TITLE"] = "sortiraj %1 %2 %3";
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Sortirajte kopiju spiska.";
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "azbuÄno, ignoriÅ¡i mala i velika slova";
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "kao brojeve";
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "azbuÄno";
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "napravite listu sa teksta";
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "da tekst iz liste";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Da se pridruži listu tekstova u jedan tekst, podeljenih za razdvajanje.";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Podeliti tekst u listu tekstova, razbijanje na svakom graniÄnik.";
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "sa razdvajanje";
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "netaÄno";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "Vraća ili taÄno ili netaÄno.";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "taÄno";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://sr.wikipedia.org/wiki/Nejednakost";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Vraća vrednost â€žtaÄno“ ako su oba ulaza jednaka.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Vraća vrednost â€žtaÄno“ ako je prvi ulaz veći od drugog.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Vraća vrednost â€žtaÄno“ ako je prvi ulaz veći ili jednak drugom.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "Vraća vrednost â€žtaÄno“ ako je prvi ulaz manji od drugog.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "Vraća vrednost â€žtaÄno“ ako je prvi ulaz manji ili jednak drugom.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "Vraća vrednost â€žtaÄno“ ako su oba ulaza nejednaka.";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "nije %1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "Vraća vrednost â€žtaÄno“ ako je ulaz netaÄan. Vraća vrednost â€žnetaÄno“ ako je ulaz taÄan.";
+Blockly.Msg["LOGIC_NULL"] = "bez vrednosti";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "Vraća â€žbez vrednosti“.";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "i";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "ili";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "Vraća vrednost â€žtaÄno“ ako su oba ulaza taÄna.";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "Vraća vrednost â€žtaÄno“ ako je bar jedan od ulaza taÄan.";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "proba";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "ako je netaÄno";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "ako je taÄno";
+Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "Proveri uslov u 'test'. Ako je uslov taÄan, tada vraća 'if true' vrednost; u drugom sluÄaju vraća 'if false' vrednost.";
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://en.wikipedia.org/wiki/Arithmetic";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Vratite zbir dva broja.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Vraća koliÄnik dva broja.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Vraća razliku dva broja.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Vraća proizvod dva broja.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Vraća prvi broj stepenovan drugim.";
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";
+Blockly.Msg["MATH_CHANGE_TITLE"] = "promeni %1 za %2";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Dodajte broj promenljivoj â€ž%1“.";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://sr.wikipedia.org/wiki/MatematiÄka_konstanta";
+Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "vrati jednu od zajedniÄkih konstanti: Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), ili âˆž (infinity).";
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "ograniÄi %1 nisko %2 visoko %3";
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "OgraniÄava broj na donje i gornje granice (ukljuÄivo).";
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "je deljiv sa";
+Blockly.Msg["MATH_IS_EVEN"] = "je paran";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "je negativan";
+Blockly.Msg["MATH_IS_ODD"] = "je neparan";
+Blockly.Msg["MATH_IS_POSITIVE"] = "je pozitivan";
+Blockly.Msg["MATH_IS_PRIME"] = "je prost";
+Blockly.Msg["MATH_IS_TOOLTIP"] = "Provjerava da li je broj paran, neparan, prost, cio, pozitivan, negativan, ili da li je deljiv sa odreÄ‘enim brojem. Vraća taÄno ili netaÄno.";
+Blockly.Msg["MATH_IS_WHOLE"] = "je ceo";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://sr.wikipedia.org/wiki/Kongruencija";
+Blockly.Msg["MATH_MODULO_TITLE"] = "podsetnik od %1 ÷ %2";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Vraća podsetnik od deljenja dva broja.";
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://en.wikipedia.org/wiki/Number";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "Neki broj.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "prosek spiska";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "maks. spiska";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "medijana spiska";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "min. spiska";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "modus spiska";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "sluÄajna stavka spiska";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "standardna devijacija spiska";
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "zbir spiska";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Vraća prosek numeriÄkih vrednosti sa spiska.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "Vraća najveći broj sa spiska.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "Vraća medijanu sa spiska.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "Vraća najmanji broj sa spiska.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Vraća najÄešće stavke sa spiska.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Vraća sluÄajni element sa spiska.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Vraća standardnu devijaciju spiska.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Vraća zbir svih brojeva sa spiska.";
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://sr.wikipedia.org/wiki/Generator_sluÄajnih_brojeva";
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "sluÄajni razlomak";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Vraća sluÄajni razlomak izmeÄ‘u 0.0 (ukljuÄivo) i 1.0 (iskljuÄivo).";
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://sr.wikipedia.org/wiki/Generator_sluÄajnih_brojeva";
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "sliÄajno odabrani cijeli broj od %1 do %2";
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Vraća sluÄajno odabrani celi broj izmeÄ‘u dve odreÄ‘ene granice, ukljuÄivo.";
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://sr.wikipedia.org/wiki/Zaokruživanje";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "zaokruži";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "zaokruži naniže";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "zaokruži naviÅ¡e";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Zaokružite broj na veću ili manju vrednost.";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://sr.wikipedia.org/wiki/Kvadratni_koren";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "apsolutan";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "kvadratni koren";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Vraća apsolutnu vrednost broja.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "vratiti e na vlasti broja.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "Vraća prirodni logaritam broja.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "Vraća logaritam broja sa osnovom 10.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Vraća negaciju broja.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Vraća 10-ti stepen broja.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Vraća kvadratni koren broja.";
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";
+Blockly.Msg["MATH_TRIG_ACOS"] = "arc cos";
+Blockly.Msg["MATH_TRIG_ASIN"] = "arc sin";
+Blockly.Msg["MATH_TRIG_ATAN"] = "arc tan";
+Blockly.Msg["MATH_TRIG_COS"] = "cos";
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://sr.wikipedia.org/wiki/Trigonometrijske_funkcije";
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Vraća arkus kosinus broja.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Vraća arkus broja.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Vraća arkus tangens broja.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Vraća kosinus stepena (ne radijan).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Vraća sinus stepena (ne radijan).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Vraća tangens stepena (ne radijan).";
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Create colour variable...";  // untranslated
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Create number variable...";  // untranslated
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Create string variable...";  // untranslated
+Blockly.Msg["NEW_VARIABLE"] = "Napravi promenljivu…";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "Ime nove promenljive:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "New variable type:";  // untranslated
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "dozvoliti izreke";
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "sa:";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Pokrenite prilagoÄ‘enu funkciju â€ž%1“.";
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Pokrenite prilagoÄ‘enu funkciju â€ž%1“ i koristi njen izlaz.";
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "sa:";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "Napravi â€ž%1“";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Opisati ovu funkciju...";
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29";
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "uradite neÅ¡to";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "da";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Pravi funkciju bez izlaza.";
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29";
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "vrati";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "Pravi funkciju sa izlazom.";
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "Upozorenje: Ova funkcija ima duplikate parametara.";
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "Istakni definiciju funkcije";
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "Ukoliko je vrednost taÄna, vrati drugu vrednost.";
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "Upozorenje: Ovaj blok se može koristiti jedino u definiciji funkcije.";
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "naziv ulaza:";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Dodajte ulazna funkcija.";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "ulazi";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Da dodate, uklonite ili pereuporÑdoÄitÑŒ ulaza za ovu funkciju.";
+Blockly.Msg["REDO"] = "Ponovi";
+Blockly.Msg["REMOVE_COMMENT"] = "Ukloni komentar";
+Blockly.Msg["RENAME_VARIABLE"] = "Preimenuj promenljivu…";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Preimenuj sve â€ž%1“ promenljive u:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "na %1 dodaj tekst %2";
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Dodajte tekst na promenljivu â€ž%1“.";
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "malim slovima";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "svaka reÄ velikim slovom";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "velikim slovima";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Vraća primerak teksta sa drugaÄijom veliÄinom slova.";
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "preuzmi prvo slovo";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "preuzmi slovo # sa kraja";
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "preuzmi slovo #";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "preuzmi poslednje slovo";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "preuzmi sluÄajno slovo";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "u tekstu %1 %2";
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Vraća slovo na odreÄ‘eni položaj.";
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "broj %1 u %2";
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Broji koliko puta se neki tekst pojavljuje unutar nekog drugog teksta.";
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Dodajte stavku u tekst.";
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "spajanjem";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Dodaj, ukloni, ili drugaÄije poredaj odjelke kako bi iznova postavili ovaj tekst blok.";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "slovu # sa kraja";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "slovu #";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "poslednjem slovu";
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "u tekstu";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "preuzmi podnisku iz prvog slova";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "preuzmi podnisku iz slova # sa kraja";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "preuzmi podnisku iz slova #";
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Vraća odreÄ‘eni deo teksta.";
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "pronaÄ‘i prvo pojavljivanje teksta";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "pronaÄ‘i poslednje pojavljivanje teksta";
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "u tekstu %1 %2 %3";
+Blockly.Msg["TEXT_INDEXOF_TOOLTIP"] = "Vraća odnos prvog/zadnjeg pojavljivanja teksta u drugom tekstu. VraÄ‘a %1 ako tekst nije pronaÄ‘en.";
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 je prazan";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Vraća taÄno ako je dostavljeni tekst prazan.";
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "napiÅ¡i tekst sa";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Napraviti dio teksta spajajući razliÄite stavke.";
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "dužina teksta %1";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Vraća broj slova (ukljuÄujući razmake) u datom tekstu.";
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "prikaži %1";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Prikažite odreÄ‘eni tekst, broj ili drugu vrednost na ekranu.";
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Pitajte korisnika za broj.";
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Pitajte korisnika za unos teksta.";
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "pitaj za broj sa porukom";
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "pitaj za tekst sa porukom";
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "zamena %1 sa %2 u %3";
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Zamena svih pojava nekog teksta unutar nekog drugog teksta.";
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "obrnuto %1";
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Obrće redosled karaktera u tekstu.";
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://sr.wikipedia.org/wiki/Niska";
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "Slovo, reÄ ili red teksta.";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "trim praznine sa obe strane";
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "skratiti prostor sa leve strane";
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "skratiti prostor sa desne strane";
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Vraća kopiju teksta sa uklonjenim prostorom sa jednog od dva kraja.";
+Blockly.Msg["TODAY"] = "Danas";
+Blockly.Msg["UNDO"] = "Opozovi";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "stavka";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Napravi â€žpostavi %1“";
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Vraća vrednost ove promenljive.";
+Blockly.Msg["VARIABLES_SET"] = "postavi %1 u %2";
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Napravi â€žpreuzmi %1“";
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Postavlja promenljivu tako da bude jednaka ulazu.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "Promenljiva pod imenom '%1' već postoji.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "Varijabla po imenu '%1' već postoji za drugu varijablu tipa '%2'.";
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something...";  // untranslated
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/sr.js b/js/msg/js/sr.js
new file mode 100644 (file)
index 0000000..355a817
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.sr');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "Додај ÐºÐ¾Ð¼ÐµÐ½Ñ‚ар";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "Ðе Ð¼Ð¾Ð³Ñƒ Ð´Ð° Ð¸Ð·Ð±Ñ€Ð¸ÑˆÐµÐ¼ Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ™Ð¸Ð²Ñƒ â€™%1’ Ñ˜ÐµÑ€ Ñ˜Ðµ Ð´ÐµÐ¾ Ð´ÐµÑ„иниције Ñ„ункције â€™%2’";
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "Промени Ð²Ñ€ÐµÐ´Ð½Ð¾ÑÑ‚:";
+Blockly.Msg["CLEAN_UP"] = "ОчиÑти Ð±Ð»Ð¾ÐºÐ¾Ð²Ðµ";
+Blockly.Msg["COLLAPSE_ALL"] = "Скупи Ð±Ð»Ð¾ÐºÐ¾Ð²Ðµ";
+Blockly.Msg["COLLAPSE_BLOCK"] = "Скупи Ð±Ð»Ð¾Ðº";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "боја 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "боја 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "одноÑ";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "помешај";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "Меша Ð´Ð²Ðµ Ð±Ð¾Ñ˜Ðµ Ð·Ð°Ñ˜ÐµÐ´Ð½Ð¾ Ñа Ð´Ð°Ñ‚им Ð¾Ð´Ð½Ð¾Ñом (0.0 - 1.0).";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://sr.wikipedia.org/wiki/Боја";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "Одаберите Ð±Ð¾Ñ˜Ñƒ Ñа Ð¿Ð°Ð»ÐµÑ‚е.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "Ñлучајна Ð±Ð¾Ñ˜Ð°";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "Одаберите Ð±Ð¾Ñ˜Ñƒ Ð½Ð°Ñумично.";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "плава";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "зелена";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";
+Blockly.Msg["COLOUR_RGB_RED"] = "црвена";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "боја Ñа";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "Ðаправите Ð±Ð¾Ñ˜Ñƒ Ñа Ð¾Ð´Ñ€ÐµÑ’еном ÐºÐ¾Ð»Ð¸Ñ‡Ð¸Ð½Ð¾Ð¼ Ñ†Ñ€Ð²ÐµÐ½Ðµ, Ð·ÐµÐ»ÐµÐ½Ðµ Ð¸ Ð¿Ð»Ð°Ð²Ðµ. Ð¡Ð²Ðµ Ð²Ñ€ÐµÐ´Ð½Ð¾Ñти Ð¼Ð¾Ñ€Ð°Ñ˜Ñƒ Ð±Ð¸Ñ‚и Ð¸Ð·Ð¼ÐµÑ’у 0 Ð¸ 100.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "Изађите Ð¸Ð· Ð¿ÐµÑ‚ље";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "наÑтави Ñа Ñледећом Ð¸Ñ‚ерацијом Ð¿ÐµÑ‚ље";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "ÐапуÑти Ñадржај Ð¿ÐµÑ‚ље.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "ПреÑкочи Ð¾Ñтатак Ð¾Ð²Ðµ Ð¿ÐµÑ‚ље, Ð¸ Ð½Ð°Ñтави Ñа Ñледећом Ð¸Ñ‚ерацијом(понављанјем).";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "Упозорење: ÐžÐ²Ð°Ñ˜ Ð±Ð»Ð¾Ðº Ð¼Ð¾Ð¶Ðµ Ð´Ð° Ñе ÑƒÐ¿Ð¾Ñ‚реби Ñамо ÑƒÐ½ÑƒÑ‚ар Ð¿ÐµÑ‚ље.";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "за Ñваку Ñтавку %1 Ð½Ð° ÑпиÑку %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "За Ñваку Ñтавку ÑƒÐ½ÑƒÑ‚ар Ð»Ð¸Ñте, Ð¿Ð¾Ð´ÐµÑи Ð¿Ñ€Ð¾Ð¼ÐµÑšÐ¸Ð²Ñƒ '%1' Ð¿Ð¾ Ñтавци, Ð¸ Ð¾Ð½Ð´Ð° Ð½Ð°Ñ‡Ð¸Ð½Ð¸ Ð½ÐµÐºÐµ Ð¸Ð·Ñ˜Ð°Ð²Ðµ-наредбе.";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "преброј Ñа %1 Ð¾Ð´ %2 Ð´Ð¾ %3 Ð¾Ð´ %4";
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "Имај Ð¿Ñ€Ð¾Ð¼ÐµÑšÐ¸Ð²Ñƒ \"%1\" ÑƒÐ·Ð¼Ð¸ Ð²Ñ€ÐµÐ´Ð½Ð¾Ñти Ð¾Ð´ Ð¿Ð¾Ñ‡ÐµÑ‚ног Ð±Ñ€Ð¾Ñ˜Ð° Ð´Ð¾ Ð·Ð°Ð´ÑšÐµÐ³ Ð±Ñ€Ð¾Ñ˜Ð°, Ð±Ñ€Ð¾Ñ˜ÐµÑ›Ð¸ Ð¿Ð¾ Ð¾Ð´Ñ€ÐµÑ’еном Ð¸Ð½Ñ‚ервалу, Ð¸ Ð¸Ð·Ð²Ñ€ÑˆÐ¸ Ð¾Ð´Ñ€ÐµÑ’ене Ð±Ð»Ð¾ÐºÐ¾Ð²Ðµ.";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "Додајте ÑƒÑлов Ð±Ð»Ð¾ÐºÑƒ â€žÐ°ÐºÐ¾â€œ.";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "Додај ÐºÐ¾Ð½Ð°Ñ‡Ð½Ð¸, catch-all  (ухвати Ñве) ÑƒÑлове Ð¸Ñ„ Ð±Ð»Ð¾ÐºÐ°.";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Додај, ÑƒÐºÐ»Ð¾Ð½Ð¸, Ð¸Ð»Ð¸ Ð¿Ñ€ÐµÑƒÑ€ÐµÐ´Ð¸ Ð´ÐµÐ»Ð¾Ð²Ðµ ÐºÐ°ÐºÐ¾ Ð±Ð¸Ñ… Ñ€ÐµÐºÐ¾Ð½Ñ„игуриÑали Ð¾Ð²Ð°Ñ˜ Ð¸Ñ„ Ð±Ð»Ð¾Ðº.";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "иначе";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "иначе-ако";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "ако";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "ако Ñ˜Ðµ Ð²Ñ€ÐµÐ´Ð½Ð¾ÑÑ‚ Ñ‚ачна, Ð¾Ð½Ð´Ð° Ð¸Ð·Ð²Ñ€ÑˆÐ¸ Ð½ÐµÐºÐµ Ð½Ð°Ñ€ÐµÐ´Ð±Ðµ-изјаве.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "ако Ñ˜Ðµ Ð²Ñ€ÐµÐ´Ð½Ð¾ÑÑ‚ Ñ‚ачна, Ð¾Ð½Ð´Ð° Ð¸Ð·Ð²Ñ€ÑˆÐ¸ Ð¿Ñ€Ð²Ð¸ Ð±Ð»Ð¾Ðº Ð½Ð°Ñ€ÐµÐ´Ð±Ð¸, Ð£ Ñупротном, Ð¸Ð·Ð²Ñ€ÑˆÐ¸ Ð´Ñ€ÑƒÐ³Ð¸ Ð±Ð»Ð¾Ðº Ð½Ð°Ñ€ÐµÐ´Ð±Ð¸.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "Ðко Ñ˜Ðµ Ð¿Ñ€Ð²Ð° Ð²Ñ€ÐµÐ´Ð½Ð¾ÑÑ‚ Ñ‚ачна, Ð¾Ð½Ð´Ð° Ð¸Ð·Ð²Ñ€ÑˆÐ¸ Ð¿Ñ€Ð²Ð¸ Ð±Ð»Ð¾Ðº Ð½Ð°Ñ€ÐµÐ´Ð±Ð¸, Ñƒ Ñупротном, Ð°ÐºÐ¾ Ñ˜Ðµ Ð´Ñ€ÑƒÐ³Ð° Ð²Ñ€ÐµÐ´Ð½Ð¾ÑÑ‚ Ñ‚ачна , Ð¸Ð·Ð²Ñ€ÑˆÐ¸ Ð´Ñ€ÑƒÐ³Ð¸ Ð±Ð»Ð¾Ðº Ð½Ð°Ñ€ÐµÐ´Ð±Ð¸.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "Ðко Ñ˜Ðµ Ð¿Ñ€Ð²Ð° Ð²Ñ€ÐµÐ´Ð½Ð¾ÑÑ‚ Ñ‚ачна, Ð¾Ð½Ð´Ð° Ð¸Ð·Ð²Ñ€ÑˆÐ¸ Ð¿Ñ€Ð²Ð¸ Ð±Ð»Ð¾Ðº Ð½Ð°Ñ€ÐµÐ´Ð±Ð¸, Ñƒ Ñупротном, Ð°ÐºÐ¾ Ñ˜Ðµ Ð´Ñ€ÑƒÐ³Ð° Ð²Ñ€ÐµÐ´Ð½Ð¾ÑÑ‚ Ñ‚ачна , Ð¸Ð·Ð²Ñ€ÑˆÐ¸ Ð´Ñ€ÑƒÐ³Ð¸ Ð±Ð»Ð¾Ðº Ð½Ð°Ñ€ÐµÐ´Ð±Ð¸. Ðко Ð½Ð¸ Ñ˜ÐµÐ´Ð½Ð° Ð¾Ð´ Ð²Ñ€ÐµÐ´Ð½Ð¾Ñти Ð½Ð¸Ñ˜Ðµ Ñ‚ачна, Ð¸Ð·Ð²Ñ€ÑˆÐ¸ Ð¿Ð¾Ñледнји Ð±Ð»Ð¾Ðº Ð½Ð°Ñ€ÐµÐ´Ð±Ð¸.";
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://sr.wikipedia.org/wiki/For_петља";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "изврши";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "понови Ð¿ÑƒÑ‚а: %1";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "Изврши Ð½ÐµÐºÐµ Ð½Ð°Ñ€ÐµÐ´Ð±Ðµ Ð½ÐµÐºÐ¾Ð»Ð¸ÐºÐ¾ Ð¿ÑƒÑ‚а.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "понављати Ð´Ð¾";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "понављати Ð´Ð¾Ðº";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "Док Ñ˜Ðµ Ð²Ñ€ÐµÐ´Ð½Ð¾ÑÑ‚ Ð½ÐµÑ‚ачна, Ð¸Ð·Ð²Ñ€ÑˆÐ°Ð²Ð° Ð½ÐµÐºÐµ Ð½Ð°Ñ€ÐµÐ´Ð±Ðµ.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "Док Ñ˜Ðµ Ð²Ñ€ÐµÐ´Ð½Ð¾ÑÑ‚ Ñ‚ачна, Ð¸Ð·Ð²Ñ€ÑˆÐ°Ð²Ð° Ð½ÐµÐºÐµ Ð½Ð°Ñ€ÐµÐ´Ð±Ðµ.";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "Да Ð¸Ð·Ð±Ñ€Ð¸ÑˆÐµÐ¼ Ñве Ð±Ð»Ð¾ÐºÐ¾Ð²Ðµ: %1?";
+Blockly.Msg["DELETE_BLOCK"] = "Избриши Ð±Ð»Ð¾Ðº";
+Blockly.Msg["DELETE_VARIABLE"] = "Избриши Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ™Ð¸Ð²Ñƒ â€™%1’";
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Да Ð¸Ð·Ð±Ñ€Ð¸ÑˆÐµÐ¼ %1 ÑƒÐ¿Ð¾Ñ‚реба Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ™Ð¸Ð²Ðµ â€™%2’?";
+Blockly.Msg["DELETE_X_BLOCKS"] = "Избриши %1 Ð±Ð»Ð¾ÐºÐ¾Ð²Ð°";
+Blockly.Msg["DISABLE_BLOCK"] = "Онемогући Ð±Ð»Ð¾Ðº";
+Blockly.Msg["DUPLICATE_BLOCK"] = "Дуплирај";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicate Comment";  // untranslated
+Blockly.Msg["ENABLE_BLOCK"] = "Омогући Ð±Ð»Ð¾Ðº";
+Blockly.Msg["EXPAND_ALL"] = "Прошири Ð±Ð»Ð¾ÐºÐ¾Ð²Ðµ";
+Blockly.Msg["EXPAND_BLOCK"] = "Прошири Ð±Ð»Ð¾Ðº";
+Blockly.Msg["EXTERNAL_INPUTS"] = "Спољашњи ÑƒÐ»Ð°Ð·Ð¸";
+Blockly.Msg["HELP"] = "Помоћ";
+Blockly.Msg["INLINE_INPUTS"] = "Редни ÑƒÐ»Ð°Ð·Ð¸";
+Blockly.Msg["IOS_CANCEL"] = "Откажи";
+Blockly.Msg["IOS_ERROR"] = "Грешка";
+Blockly.Msg["IOS_OK"] = "У Ñ€ÐµÐ´Ñƒ";
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Ð”одај ÑƒÐ½Ð¾Ñ";
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Дозволи Ð¸Ð·Ñ˜Ð°Ð²Ðµ";
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "Ова Ñ„ункција Ð¸Ð¼Ð° Ð´ÑƒÐ¿Ð»Ð¸Ñ€Ð°Ð½Ðµ ÑƒÐ½Ð¾Ñе.";
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "УÐОСИ";
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "Додај";
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Ð”одај Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ™Ð¸Ð²Ñƒ";
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "Избриши";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "Ðе Ð¼Ð¾Ð¶ÐµÑ‚е Ð´Ð° ÐºÐ¾Ñ€Ð¸Ñтите Ð¿Ñ€Ð°Ð·Ð½Ð¾ Ð¸Ð¼Ðµ Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ™Ð¸Ð²Ðµ.";
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Преименуј";
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Име Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ™Ð¸Ð²Ðµ";
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "направи Ð¿Ñ€Ð°Ð·Ð°Ð½ ÑпиÑак";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "враћа Ð»Ð¸Ñту, Ð´ÑƒÐ¶Ð¸Ð½Ðµ 0, Ð½Ðµ Ñадржавајући  ÐµÐ²Ð¸Ð´ÐµÐ½Ñ†Ð¸Ñ˜Ñƒ Ð¿Ð¾Ð´Ð°Ñ‚ака";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "ÑпиÑак";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Додајте, Ð¸Ð·Ð±Ñ€Ð¸ÑˆÐ¸Ñ‚е, Ð¸Ð»Ð¸ Ð¿Ñ€ÐµÑƒÑ€ÐµÐ´Ð¸Ñ‚е Ð´ÐµÐ»Ð¾Ð²Ðµ ÐºÐ°ÐºÐ¾ Ð±Ð¸ Ñе Ñ€ÐµÐ¾Ñ€Ð³Ð°Ð½Ð¸Ð·Ð¾Ð²Ð°Ð»Ð¸ Ð¾Ð²Ð°Ñ˜ Ð±Ð»Ð¾Ðº Ð»Ð¸Ñте.";
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "направи ÑпиÑак Ñа";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Додајте Ñтавку Ð½Ð° ÑпиÑак.";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Ðаправите ÑпиÑак Ñа Ð±Ð¸Ð»Ð¾ ÐºÐ¾Ñ˜Ð¸Ð¼ Ð±Ñ€Ð¾Ñ˜ÐµÐ¼ Ñтавки.";
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "прва";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "# Ñа ÐºÑ€Ð°Ñ˜Ð°";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "преузми";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "преузми Ð¸ ÑƒÐºÐ»Ð¾Ð½Ð¸";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "поÑледња";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "Ñлучајна";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "уклони";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Враћа Ð¿Ñ€Ð²Ñƒ Ñтавку Ð½Ð° ÑпиÑку.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Враћа Ñтавку Ð½Ð° Ð¾Ð´Ñ€ÐµÑ’ену Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ñ˜Ñƒ Ð½Ð° Ð»Ð¸Ñти.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Враћа Ð¿Ð¾Ñледњу Ñтавку Ð½Ð° ÑпиÑку.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Враћа Ñлучајну Ñтавку Ñа ÑпиÑка.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "Уклања Ð¸ Ð²Ñ€Ð°Ñ›Ð° Ð¿Ñ€Ð²Ñƒ Ñтавку Ñа ÑпиÑка.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "Уклања Ð¸ Ð²Ñ€Ð°Ñ›Ð° Ñтавку Ñа Ð¾Ð´Ñ€ÐµÑ’еног Ð¿Ð¾Ð»Ð¾Ð¶Ð°Ñ˜Ð° Ð½Ð° ÑпиÑку.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "Уклања Ð¸ Ð²Ñ€Ð°Ñ›Ð° Ð¿Ð¾Ñледњу Ñтавку Ñа ÑпиÑка.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Уклања Ð¸ Ð²Ñ€Ð°Ñ›Ð° Ñлучајну Ñтавку Ñа ÑпиÑка.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "Уклања Ð¿Ñ€Ð²Ñƒ Ñтавку Ñа ÑпиÑка.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "Уклања Ñтавку Ñа Ð¾Ð´Ñ€ÐµÑ’еног Ð¿Ð¾Ð»Ð¾Ð¶Ð°Ñ˜Ð° Ð½Ð° ÑпиÑку.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "Уклања Ð¿Ð¾Ñледњу Ñтавку Ñа ÑпиÑка.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Уклања Ñлучајну Ñтавку Ñа ÑпиÑка.";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "до # Ð¾Ð´ ÐºÑ€Ð°Ñ˜Ð°";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "до #";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "до Ð¿Ð¾Ñледње";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "преузми Ð¿Ð¾Ð´ÑпиÑак Ð¾Ð´ Ð¿Ñ€Ð²Ðµ";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "преузми Ð¿Ð¾Ð´ÑпиÑак Ð¸Ð· # Ñа ÐºÑ€Ð°Ñ˜Ð°";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "преузми Ð¿Ð¾Ð´ÑпиÑак Ð¾Ð´ #";
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Прави ÐºÐ¾Ð¿Ð¸Ñ˜Ñƒ Ð¾Ð´Ñ€ÐµÑ’еног Ð´ÐµÐ»Ð° Ð»Ð¸Ñте.";
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 Ñ˜Ðµ Ð¿Ð¾Ñледња Ñтавка.";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 Ñ˜Ðµ Ð¿Ñ€Ð²Ð° Ñтавка.";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "пронађи Ð¿Ñ€Ð²Ð¾ Ð¿Ð¾Ñ˜Ð°Ð²Ñ™Ð¸Ð²Ð°ÑšÐµ Ñтавке";
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "пронађи Ð¿Ð¾Ñледње Ð¿Ð¾Ñ˜Ð°Ð²Ñ™Ð¸Ð²Ð°ÑšÐµ Ñтавке";
+Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "Враћа Ð±Ñ€Ð¾Ñ˜ Ð¿Ñ€Ð²Ð¾Ð³ Ð¸/поÑледњег ÑƒÐ»Ð°Ñка ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚а Ñƒ Ð»Ð¸Ñту. Ð’раћа %1 Ðко ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ð½Ð¸Ñ˜Ðµ Ð¿Ñ€Ð¾Ð½Ð°Ñ’ен.";
+Blockly.Msg["LISTS_INLIST"] = "на ÑпиÑку";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 Ñ˜Ðµ Ð¿Ñ€Ð°Ð·Ð°Ð½";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Враћа Ð²Ñ€ÐµÐ´Ð½Ð¾ÑÑ‚ Ñ‚ачно Ð°ÐºÐ¾ Ñ˜Ðµ Ð»Ð¸Ñта Ð¿Ñ€Ð°Ð·Ð½Ð°.";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "дужина ÑпиÑка %1";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Враћа Ð´ÑƒÐ¶Ð¸Ð½Ñƒ ÑпиÑка.";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "Ðаправити Ð»Ð¸Ñту Ñа Ñтавком %1 ÐºÐ¾Ñ˜Ð° Ñе Ð¿Ð¾Ð½Ð°Ð²Ð»Ñ˜Ð° %2 Ð¿ÑƒÑ‚а";
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Прави Ð»Ð¸Ñту ÐºÐ¾Ñ˜Ð° Ñе ÑаÑтоји Ð¾Ð´ Ð·Ð°Ð´Ð°Ð½Ðµ Ð²Ñ€ÐµÐ´Ð½Ð¾Ñти ÐºÐ¾Ñ˜Ñƒ Ð¿Ð¾Ð½Ð°Ð²Ð»Ñ˜Ð°Ð¼Ð¾ Ð¾Ð´Ñ€ÐµÑ’ени Ð±Ñ€Ð¾Ñ˜ ÑˆÑƒÑ‚а.";
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "обрнуто %1";
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Обрни ÐºÐ¾Ð¿Ð¸Ñ˜Ñƒ ÑпиÑка.";
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "као";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "убаци Ð½Ð°";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "поÑтави";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Убацује Ñтавку Ð½Ð° Ð¿Ð¾Ñ‡ÐµÑ‚ак ÑпиÑка.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Убацује Ñтавку Ð½Ð° Ð¾Ð´Ñ€ÐµÑ’ени Ð¿Ð¾Ð»Ð¾Ð¶Ð°Ñ˜ Ð½Ð° ÑпиÑку.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Додајте Ñтавку Ð½Ð° ÐºÑ€Ð°Ñ˜ ÑпиÑка.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Убацује Ñтавку Ð½Ð° Ñлучајно Ð¼ÐµÑто Ð½Ð° ÑпиÑку.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "ПоÑтавља Ð¿Ñ€Ð²Ñƒ Ñтавку Ð½Ð° ÑпиÑку.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "ПоÑтавља Ñтавку Ð½Ð° Ð¾Ð´Ñ€ÐµÑ’ени Ð¿Ð¾Ð»Ð¾Ð¶Ð°Ñ˜ Ð½Ð° ÑпиÑку.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "ПоÑтавља Ð¿Ð¾Ñледњу Ñтавку Ð½Ð° ÑпиÑку.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "ПоÑтавља Ñлучајну Ñтавку Ð½Ð° ÑпиÑку.";
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "раÑтуће";
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "опадајуће";
+Blockly.Msg["LISTS_SORT_TITLE"] = "Ñортирај %1 %2 %3";
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Сортирајте ÐºÐ¾Ð¿Ð¸Ñ˜Ñƒ ÑпиÑка.";
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "азбучно, Ð¸Ð³Ð½Ð¾Ñ€Ð¸ÑˆÐ¸ Ð¼Ð°Ð»Ð° Ð¸ Ð²ÐµÐ»Ð¸ÐºÐ° Ñлова";
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "као Ð±Ñ€Ð¾Ñ˜ÐµÐ²Ðµ";
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "азбучно";
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "направите Ð»Ð¸Ñту Ñа Ñ‚екÑта";
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "да Ñ‚екÑÑ‚ Ð¸Ð· Ð»Ð¸Ñте";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Да Ñе Ð¿Ñ€Ð¸Ð´Ñ€ÑƒÐ¶Ð¸ Ð»Ð¸Ñту Ñ‚екÑтова Ñƒ Ñ˜ÐµÐ´Ð°Ð½ Ñ‚екÑÑ‚, Ð¿Ð¾Ð´ÐµÑ™ÐµÐ½Ð¸Ñ… Ð·Ð° Ñ€Ð°Ð·Ð´Ð²Ð°Ñ˜Ð°ÑšÐµ.";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Поделити Ñ‚екÑÑ‚ Ñƒ Ð»Ð¸Ñту Ñ‚екÑтова, Ñ€Ð°Ð·Ð±Ð¸Ñ˜Ð°ÑšÐµ Ð½Ð° Ñваком Ð³Ñ€Ð°Ð½Ð¸Ñ‡Ð½Ð¸Ðº.";
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "Ñа Ñ€Ð°Ð·Ð´Ð²Ð°Ñ˜Ð°ÑšÐµ";
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "нетачно";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "Враћа Ð¸Ð»Ð¸ Ñ‚ачно Ð¸Ð»Ð¸ Ð½ÐµÑ‚ачно.";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "тачно";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://sr.wikipedia.org/wiki/ÐеједнакоÑÑ‚";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Враћа Ð²Ñ€ÐµÐ´Ð½Ð¾ÑÑ‚ â€žÑ‚ачно“ Ð°ÐºÐ¾ Ñу Ð¾Ð±Ð° ÑƒÐ»Ð°Ð·Ð° Ñ˜ÐµÐ´Ð½Ð°ÐºÐ°.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Враћа Ð²Ñ€ÐµÐ´Ð½Ð¾ÑÑ‚ â€žÑ‚ачно“ Ð°ÐºÐ¾ Ñ˜Ðµ Ð¿Ñ€Ð²Ð¸ ÑƒÐ»Ð°Ð· Ð²ÐµÑ›Ð¸ Ð¾Ð´ Ð´Ñ€ÑƒÐ³Ð¾Ð³.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Враћа Ð²Ñ€ÐµÐ´Ð½Ð¾ÑÑ‚ â€žÑ‚ачно“ Ð°ÐºÐ¾ Ñ˜Ðµ Ð¿Ñ€Ð²Ð¸ ÑƒÐ»Ð°Ð· Ð²ÐµÑ›Ð¸ Ð¸Ð»Ð¸ Ñ˜ÐµÐ´Ð½Ð°Ðº Ð´Ñ€ÑƒÐ³Ð¾Ð¼.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "Враћа Ð²Ñ€ÐµÐ´Ð½Ð¾ÑÑ‚ â€žÑ‚ачно“ Ð°ÐºÐ¾ Ñ˜Ðµ Ð¿Ñ€Ð²Ð¸ ÑƒÐ»Ð°Ð· Ð¼Ð°ÑšÐ¸ Ð¾Ð´ Ð´Ñ€ÑƒÐ³Ð¾Ð³.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "Враћа Ð²Ñ€ÐµÐ´Ð½Ð¾ÑÑ‚ â€žÑ‚ачно“ Ð°ÐºÐ¾ Ñ˜Ðµ Ð¿Ñ€Ð²Ð¸ ÑƒÐ»Ð°Ð· Ð¼Ð°ÑšÐ¸ Ð¸Ð»Ð¸ Ñ˜ÐµÐ´Ð½Ð°Ðº Ð´Ñ€ÑƒÐ³Ð¾Ð¼.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "Враћа Ð²Ñ€ÐµÐ´Ð½Ð¾ÑÑ‚ â€žÑ‚ачно“ Ð°ÐºÐ¾ Ñу Ð¾Ð±Ð° ÑƒÐ»Ð°Ð·Ð° Ð½ÐµÑ˜ÐµÐ´Ð½Ð°ÐºÐ°.";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "није %1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "Враћа Ð²Ñ€ÐµÐ´Ð½Ð¾ÑÑ‚ â€žÑ‚ачно“ Ð°ÐºÐ¾ Ñ˜Ðµ ÑƒÐ»Ð°Ð· Ð½ÐµÑ‚ачан. Ð’раћа Ð²Ñ€ÐµÐ´Ð½Ð¾ÑÑ‚ â€žÐ½ÐµÑ‚ачно“ Ð°ÐºÐ¾ Ñ˜Ðµ ÑƒÐ»Ð°Ð· Ñ‚ачан.";
+Blockly.Msg["LOGIC_NULL"] = "без Ð²Ñ€ÐµÐ´Ð½Ð¾Ñти";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "Враћа â€žÐ±ÐµÐ· Ð²Ñ€ÐµÐ´Ð½Ð¾Ñти“.";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "и";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "или";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "Враћа Ð²Ñ€ÐµÐ´Ð½Ð¾ÑÑ‚ â€žÑ‚ачно“ Ð°ÐºÐ¾ Ñу Ð¾Ð±Ð° ÑƒÐ»Ð°Ð·Ð° Ñ‚ачна.";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "Враћа Ð²Ñ€ÐµÐ´Ð½Ð¾ÑÑ‚ â€žÑ‚ачно“ Ð°ÐºÐ¾ Ñ˜Ðµ Ð±Ð°Ñ€ Ñ˜ÐµÐ´Ð°Ð½ Ð¾Ð´ ÑƒÐ»Ð°Ð·Ð° Ñ‚ачан.";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "проба";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "ако Ñ˜Ðµ Ð½ÐµÑ‚ачно";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "ако Ñ˜Ðµ Ñ‚ачно";
+Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "Провери ÑƒÑлов Ñƒ 'test'. Ðко Ñ˜Ðµ ÑƒÑлов Ñ‚ачан, Ñ‚ада Ð²Ñ€Ð°Ñ›Ð° 'if true' Ð²Ñ€ÐµÐ´Ð½Ð¾ÑÑ‚; Ñƒ Ð´Ñ€ÑƒÐ³Ð¾Ð¼ Ñлучају Ð²Ñ€Ð°Ñ›Ð° 'if false' Ð²Ñ€ÐµÐ´Ð½Ð¾ÑÑ‚.";
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://en.wikipedia.org/wiki/Arithmetic";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Вратите Ð·Ð±Ð¸Ñ€ Ð´Ð²Ð° Ð±Ñ€Ð¾Ñ˜Ð°.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Враћа ÐºÐ¾Ð»Ð¸Ñ‡Ð½Ð¸Ðº Ð´Ð²Ð° Ð±Ñ€Ð¾Ñ˜Ð°.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Враћа Ñ€Ð°Ð·Ð»Ð¸ÐºÑƒ Ð´Ð²Ð° Ð±Ñ€Ð¾Ñ˜Ð°.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Враћа Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´ Ð´Ð²Ð° Ð±Ñ€Ð¾Ñ˜Ð°.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Враћа Ð¿Ñ€Ð²Ð¸ Ð±Ñ€Ð¾Ñ˜ Ñтепенован Ð´Ñ€ÑƒÐ³Ð¸Ð¼.";
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";
+Blockly.Msg["MATH_CHANGE_TITLE"] = "промени %1 Ð·Ð° %2";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Додајте Ð±Ñ€Ð¾Ñ˜ Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ™Ð¸Ð²Ð¾Ñ˜ â€ž%1“.";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://sr.wikipedia.org/wiki/Математичка_конÑтанта";
+Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "врати Ñ˜ÐµÐ´Ð½Ñƒ Ð¾Ð´ Ð·Ð°Ñ˜ÐµÐ´Ð½Ð¸Ñ‡ÐºÐ¸Ñ… ÐºÐ¾Ð½Ñтанти: Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), Ð¸Ð»Ð¸ âˆž (infinity).";
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "ограничи %1 Ð½Ð¸Ñко %2 Ð²Ð¸Ñоко %3";
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Ограничава Ð±Ñ€Ð¾Ñ˜ Ð½Ð° Ð´Ð¾ÑšÐµ Ð¸ Ð³Ð¾Ñ€ÑšÐµ Ð³Ñ€Ð°Ð½Ð¸Ñ†Ðµ (укључиво).";
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "је Ð´ÐµÑ™Ð¸Ð² Ñа";
+Blockly.Msg["MATH_IS_EVEN"] = "је Ð¿Ð°Ñ€Ð°Ð½";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "је Ð½ÐµÐ³Ð°Ñ‚иван";
+Blockly.Msg["MATH_IS_ODD"] = "је Ð½ÐµÐ¿Ð°Ñ€Ð°Ð½";
+Blockly.Msg["MATH_IS_POSITIVE"] = "је Ð¿Ð¾Ð·Ð¸Ñ‚иван";
+Blockly.Msg["MATH_IS_PRIME"] = "је Ð¿Ñ€Ð¾ÑÑ‚";
+Blockly.Msg["MATH_IS_TOOLTIP"] = "Провјерава Ð´Ð° Ð»Ð¸ Ñ˜Ðµ Ð±Ñ€Ð¾Ñ˜ Ð¿Ð°Ñ€Ð°Ð½, Ð½ÐµÐ¿Ð°Ñ€Ð°Ð½, Ð¿Ñ€Ð¾ÑÑ‚, Ñ†Ð¸Ð¾, Ð¿Ð¾Ð·Ð¸Ñ‚иван, Ð½ÐµÐ³Ð°Ñ‚иван, Ð¸Ð»Ð¸ Ð´Ð° Ð»Ð¸ Ñ˜Ðµ Ð´ÐµÐ»Ñ˜Ð¸Ð² Ñа Ð¾Ð´Ñ€ÐµÑ’еним Ð±Ñ€Ð¾Ñ˜ÐµÐ¼. Ð’раћа Ñ‚ачно Ð¸Ð»Ð¸ Ð½ÐµÑ‚ачно.";
+Blockly.Msg["MATH_IS_WHOLE"] = "је Ñ†ÐµÐ¾";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://sr.wikipedia.org/wiki/Конгруенција";
+Blockly.Msg["MATH_MODULO_TITLE"] = "подÑетник Ð¾Ð´ %1 Ã· %2";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Враћа Ð¿Ð¾Ð´Ñетник Ð¾Ð´ Ð´ÐµÑ™ÐµÑšÐ° Ð´Ð²Ð° Ð±Ñ€Ð¾Ñ˜Ð°.";
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://sr.wikipedia.org/wiki/Број";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "Број.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "проÑек ÑпиÑка";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "макÑ. ÑпиÑка";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "медијана ÑпиÑка";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "мин. ÑпиÑка";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "модуѠÑпиÑка";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "Ñлучајна Ñтавка ÑпиÑка";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "Ñтандардна Ð´ÐµÐ²Ð¸Ñ˜Ð°Ñ†Ð¸Ñ˜Ð° ÑпиÑка";
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "збир ÑпиÑка";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Враћа Ð¿Ñ€Ð¾Ñек Ð½ÑƒÐ¼ÐµÑ€Ð¸Ñ‡ÐºÐ¸Ñ… Ð²Ñ€ÐµÐ´Ð½Ð¾Ñти Ñа ÑпиÑка.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "Враћа Ð½Ð°Ñ˜Ð²ÐµÑ›Ð¸ Ð±Ñ€Ð¾Ñ˜ Ñа ÑпиÑка.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "Враћа Ð¼ÐµÐ´Ð¸Ñ˜Ð°Ð½Ñƒ Ñа ÑпиÑка.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "Враћа Ð½Ð°Ñ˜Ð¼Ð°ÑšÐ¸ Ð±Ñ€Ð¾Ñ˜ Ñа ÑпиÑка.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Враћа Ð½Ð°Ñ˜Ñ‡ÐµÑˆÑ›Ðµ Ñтавке Ñа ÑпиÑка.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Враћа Ñлучајни ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ñа ÑпиÑка.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Враћа Ñтандардну Ð´ÐµÐ²Ð¸Ñ˜Ð°Ñ†Ð¸Ñ˜Ñƒ ÑпиÑка.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Враћа Ð·Ð±Ð¸Ñ€ Ñвих Ð±Ñ€Ð¾Ñ˜ÐµÐ²Ð° Ñа ÑпиÑка.";
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://sr.wikipedia.org/wiki/Генератор_Ñлучајних_бројева";
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "Ñлучајни Ñ€Ð°Ð·Ð»Ð¾Ð¼Ð°Ðº";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Враћа Ñлучајни Ñ€Ð°Ð·Ð»Ð¾Ð¼Ð°Ðº Ð¸Ð·Ð¼ÐµÑ’у 0.0 (укључиво) Ð¸ 1.0 (иÑкључиво).";
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://sr.wikipedia.org/wiki/Генератор_Ñлучајних_бројева";
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "Ñличајно Ð¾Ð´Ð°Ð±Ñ€Ð°Ð½Ð¸ Ñ†Ð¸Ñ˜ÐµÐ»Ð¸ Ð±Ñ€Ð¾Ñ˜ Ð¾Ð´ %1 Ð´Ð¾ %2";
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Враћа Ñлучајно Ð¾Ð´Ð°Ð±Ñ€Ð°Ð½Ð¸ Ñ†ÐµÐ»Ð¸ Ð±Ñ€Ð¾Ñ˜ Ð¸Ð·Ð¼ÐµÑ’у Ð´Ð²Ðµ Ð¾Ð´Ñ€ÐµÑ’ене Ð³Ñ€Ð°Ð½Ð¸Ñ†Ðµ, ÑƒÐºÐ»Ñ˜ÑƒÑ‡Ð¸Ð²Ð¾.";
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://sr.wikipedia.org/wiki/Заокруживање";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "заокружи";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "заокружи Ð½Ð°Ð½Ð¸Ð¶Ðµ";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "заокружи Ð½Ð°Ð²Ð¸ÑˆÐµ";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Заокружите Ð±Ñ€Ð¾Ñ˜ Ð½Ð° Ð²ÐµÑ›Ñƒ Ð¸Ð»Ð¸ Ð¼Ð°ÑšÑƒ Ð²Ñ€ÐµÐ´Ð½Ð¾ÑÑ‚.";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://sr.wikipedia.org/wiki/Квадратни_корен";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "апÑолутан";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "квадратни ÐºÐ¾Ñ€ÐµÐ½";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Враћа Ð°Ð¿Ñолутну Ð²Ñ€ÐµÐ´Ð½Ð¾ÑÑ‚ Ð±Ñ€Ð¾Ñ˜Ð°.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "вратити Ðµ Ð½Ð° Ð²Ð»Ð°Ñти Ð±Ñ€Ð¾Ñ˜Ð°.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "Враћа Ð¿Ñ€Ð¸Ñ€Ð¾Ð´Ð½Ð¸ Ð»Ð¾Ð³Ð°Ñ€Ð¸Ñ‚ам Ð±Ñ€Ð¾Ñ˜Ð°.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "Враћа Ð»Ð¾Ð³Ð°Ñ€Ð¸Ñ‚ам Ð±Ñ€Ð¾Ñ˜Ð° Ñа Ð¾Ñновом 10.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Враћа Ð½ÐµÐ³Ð°Ñ†Ð¸Ñ˜Ñƒ Ð±Ñ€Ð¾Ñ˜Ð°.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Враћа 10-ти Ñтепен Ð±Ñ€Ð¾Ñ˜Ð°.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Враћа ÐºÐ²Ð°Ð´Ñ€Ð°Ñ‚ни ÐºÐ¾Ñ€ÐµÐ½ Ð±Ñ€Ð¾Ñ˜Ð°.";
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";
+Blockly.Msg["MATH_TRIG_ACOS"] = "арц Ñ†Ð¾Ñ";
+Blockly.Msg["MATH_TRIG_ASIN"] = "арц Ñин";
+Blockly.Msg["MATH_TRIG_ATAN"] = "арц Ñ‚ан";
+Blockly.Msg["MATH_TRIG_COS"] = "цоÑ";
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://sr.wikipedia.org/wiki/ТригонометријÑке_функције";
+Blockly.Msg["MATH_TRIG_SIN"] = "Ñин";
+Blockly.Msg["MATH_TRIG_TAN"] = "тан";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Враћа Ð°Ñ€ÐºÑƒÑ ÐºÐ¾ÑинуѠброја.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Враћа Ð°Ñ€ÐºÑƒÑ Ð±Ñ€Ð¾Ñ˜Ð°.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Враћа Ð°Ñ€ÐºÑƒÑ Ñ‚ангенѠброја.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Враћа ÐºÐ¾ÑинуѠÑтепена (не Ñ€Ð°Ð´Ð¸Ñ˜Ð°Ð½).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Враћа ÑинуѠÑтепена (не Ñ€Ð°Ð´Ð¸Ñ˜Ð°Ð½).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Враћа Ñ‚ангенѠÑтепена (не Ñ€Ð°Ð´Ð¸Ñ˜Ð°Ð½).";
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Ðаправи Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ™Ð¸Ð²Ñƒ Ð±Ð¾Ñ˜Ðµ...";
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Ðаправи Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ™Ð¸Ð²Ñƒ Ð±Ñ€Ð¾Ñ˜Ð°...";
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Ðаправи Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ™Ð¸Ð²Ñƒ Ð½Ð¸Ñке...";
+Blockly.Msg["NEW_VARIABLE"] = "Ðаправи Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ™Ð¸Ð²Ñƒâ€¦";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "Име Ð½Ð¾Ð²Ðµ Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ™Ð¸Ð²Ðµ:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "Ðови Ñ‚ип Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ™Ð¸Ð²Ðµ:";
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "дозволити Ð¸Ð·Ñ€ÐµÐºÐµ";
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "Ñа:";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Покрените Ð¿Ñ€Ð¸Ð»Ð°Ð³Ð¾Ñ’ену Ñ„ункцију â€ž%1“.";
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Покрените Ð¿Ñ€Ð¸Ð»Ð°Ð³Ð¾Ñ’ену Ñ„ункцију â€ž%1“ Ð¸ ÐºÐ¾Ñ€Ð¸Ñти ÑšÐµÐ½ Ð¸Ð·Ð»Ð°Ð·.";
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "Ñа:";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "Ðаправи â€ž%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"] = "урадите Ð½ÐµÑˆÑ‚о";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "да";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Прави Ñ„ункцију Ð±ÐµÐ· Ð¸Ð·Ð»Ð°Ð·Ð°.";
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29";
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "врати";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "Прави Ñ„ункцију Ñа Ð¸Ð·Ð»Ð°Ð·Ð¾Ð¼.";
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "Упозорење: ÐžÐ²Ð° Ñ„ункција Ð¸Ð¼Ð° Ð´ÑƒÐ¿Ð»Ð¸ÐºÐ°Ñ‚е Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚ара.";
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "ИÑтакни Ð´ÐµÑ„иницију Ñ„ункције";
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "Уколико Ñ˜Ðµ Ð²Ñ€ÐµÐ´Ð½Ð¾ÑÑ‚ Ñ‚ачна, Ð²Ñ€Ð°Ñ‚и Ð´Ñ€ÑƒÐ³Ñƒ Ð²Ñ€ÐµÐ´Ð½Ð¾ÑÑ‚.";
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "Упозорење: ÐžÐ²Ð°Ñ˜ Ð±Ð»Ð¾Ðº Ñе Ð¼Ð¾Ð¶Ðµ ÐºÐ¾Ñ€Ð¸Ñтити Ñ˜ÐµÐ´Ð¸Ð½Ð¾ Ñƒ Ð´ÐµÑ„иницији Ñ„ункције.";
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "назив ÑƒÐ»Ð°Ð·Ð°:";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Додајте ÑƒÐ»Ð°Ð·Ð½Ð° Ñ„ункција.";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "улази";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Да Ð´Ð¾Ð´Ð°Ñ‚е, ÑƒÐºÐ»Ð¾Ð½Ð¸Ñ‚е Ð¸Ð»Ð¸ Ð¿ÐµÑ€ÐµÑƒÐ¿Ð¾Ñ€Ñдочить ÑƒÐ»Ð°Ð·Ð° Ð·Ð° Ð¾Ð²Ñƒ Ñ„ункцију.";
+Blockly.Msg["REDO"] = "Понови";
+Blockly.Msg["REMOVE_COMMENT"] = "Уклони ÐºÐ¾Ð¼ÐµÐ½Ñ‚ар";
+Blockly.Msg["RENAME_VARIABLE"] = "Преименуј Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ™Ð¸Ð²Ñƒâ€¦";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Преименуј Ñве â€™%1’ Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ™Ð¸Ð²Ðµ Ñƒ:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "на %1 Ð´Ð¾Ð´Ð°Ñ˜ Ñ‚екÑÑ‚ %2";
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Додајте Ñ‚екÑÑ‚ Ð½Ð° Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ™Ð¸Ð²Ñƒ â€ž%1“.";
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "малим Ñловима";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "Ñвака Ñ€ÐµÑ‡ Ð²ÐµÐ»Ð¸ÐºÐ¸Ð¼ Ñловом";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "великим Ñловима";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Враћа Ð¿Ñ€Ð¸Ð¼ÐµÑ€Ð°Ðº Ñ‚екÑта Ñа Ð´Ñ€ÑƒÐ³Ð°Ñ‡Ð¸Ñ˜Ð¾Ð¼ Ð²ÐµÐ»Ð¸Ñ‡Ð¸Ð½Ð¾Ð¼ Ñлова.";
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "преузми Ð¿Ñ€Ð²Ð¾ Ñлово";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "преузми Ñлово # Ñа ÐºÑ€Ð°Ñ˜Ð°";
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "преузми Ñлово #";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "преузми Ð¿Ð¾Ñледње Ñлово";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "преузми Ñлучајно Ñлово";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "у Ñ‚екÑту %1 %2";
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Враћа Ñлово Ð½Ð° Ð¾Ð´Ñ€ÐµÑ’ени Ð¿Ð¾Ð»Ð¾Ð¶Ð°Ñ˜.";
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "број %1 Ñƒ %2";
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Броји ÐºÐ¾Ð»Ð¸ÐºÐ¾ Ð¿ÑƒÑ‚а Ñе Ð½ÐµÐºÐ¸ Ñ‚екÑÑ‚ Ð¿Ð¾Ñ˜Ð°Ð²Ñ™ÑƒÑ˜Ðµ ÑƒÐ½ÑƒÑ‚ар Ð½ÐµÐºÐ¾Ð³ Ð´Ñ€ÑƒÐ³Ð¾Ð³ Ñ‚екÑта.";
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Додајте Ñтавку Ñƒ Ñ‚екÑÑ‚.";
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "Ñпајањем";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Додај, ÑƒÐºÐ»Ð¾Ð½Ð¸, Ð¸Ð»Ð¸ Ð´Ñ€ÑƒÐ³Ð°Ñ‡Ð¸Ñ˜Ðµ Ð¿Ð¾Ñ€ÐµÐ´Ð°Ñ˜ Ð¾Ð´Ñ˜ÐµÐ»ÐºÐµ ÐºÐ°ÐºÐ¾ Ð±Ð¸ Ð¸Ð·Ð½Ð¾Ð²Ð° Ð¿Ð¾Ñтавили Ð¾Ð²Ð°Ñ˜ Ñ‚екÑÑ‚ Ð±Ð»Ð¾Ðº.";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "Ñлову # Ñа ÐºÑ€Ð°Ñ˜Ð°";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "Ñлову #";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "поÑледњем Ñлову";
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "у Ñ‚екÑту";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "преузми Ð¿Ð¾Ð´Ð½Ð¸Ñку Ð¸Ð· Ð¿Ñ€Ð²Ð¾Ð³ Ñлова";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "преузми Ð¿Ð¾Ð´Ð½Ð¸Ñку Ð¸Ð· Ñлова # Ñа ÐºÑ€Ð°Ñ˜Ð°";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "преузми Ð¿Ð¾Ð´Ð½Ð¸Ñку Ð¸Ð· Ñлова #";
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Враћа Ð¾Ð´Ñ€ÐµÑ’ени Ð´ÐµÐ¾ Ñ‚екÑта.";
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "пронађи Ð¿Ñ€Ð²Ð¾ Ð¿Ð¾Ñ˜Ð°Ð²Ñ™Ð¸Ð²Ð°ÑšÐµ Ñ‚екÑта";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "пронађи Ð¿Ð¾Ñледње Ð¿Ð¾Ñ˜Ð°Ð²Ñ™Ð¸Ð²Ð°ÑšÐµ Ñ‚екÑта";
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "у Ñ‚екÑту %1 %2 %3";
+Blockly.Msg["TEXT_INDEXOF_TOOLTIP"] = "Враћа Ð¾Ð´Ð½Ð¾Ñ Ð¿Ñ€Ð²Ð¾Ð³/заднјег Ð¿Ð¾Ñ˜Ð°Ð²Ð»Ñ˜Ð¸Ð²Ð°Ð½Ñ˜Ð° Ñ‚екÑта Ñƒ Ð´Ñ€ÑƒÐ³Ð¾Ð¼ Ñ‚екÑту. Ð’рађа %1 Ð°ÐºÐ¾ Ñ‚екÑÑ‚ Ð½Ð¸Ñ˜Ðµ Ð¿Ñ€Ð¾Ð½Ð°Ñ’ен.";
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 Ñ˜Ðµ Ð¿Ñ€Ð°Ð·Ð°Ð½";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Враћа Ñ‚ачно Ð°ÐºÐ¾ Ñ˜Ðµ Ð´Ð¾Ñтавлјени Ñ‚екÑÑ‚ Ð¿Ñ€Ð°Ð·Ð°Ð½.";
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "напиши Ñ‚екÑÑ‚ Ñа";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Ðаправити Ð´Ð¸Ð¾ Ñ‚екÑта Ñпајајући Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð¸Ñ‚е Ñтавке.";
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "дужина Ñ‚екÑта %1";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Враћа Ð±Ñ€Ð¾Ñ˜ Ñлова (уклјучујући Ñ€Ð°Ð·Ð¼Ð°ÐºÐµ) Ñƒ Ð´Ð°Ñ‚ом Ñ‚екÑту.";
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "прикажи %1";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Прикажите Ð¾Ð´Ñ€ÐµÑ’ени Ñ‚екÑÑ‚, Ð±Ñ€Ð¾Ñ˜ Ð¸Ð»Ð¸ Ð´Ñ€ÑƒÐ³Ñƒ Ð²Ñ€ÐµÐ´Ð½Ð¾ÑÑ‚ Ð½Ð° ÐµÐºÑ€Ð°Ð½Ñƒ.";
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Питајте ÐºÐ¾Ñ€Ð¸Ñника Ð·Ð° Ð±Ñ€Ð¾Ñ˜.";
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Питајте ÐºÐ¾Ñ€Ð¸Ñника Ð·Ð° ÑƒÐ½Ð¾Ñ Ñ‚екÑта.";
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "питај Ð·Ð° Ð±Ñ€Ð¾Ñ˜ Ñа Ð¿Ð¾Ñ€ÑƒÐºÐ¾Ð¼";
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "питај Ð·Ð° Ñ‚екÑÑ‚ Ñа Ð¿Ð¾Ñ€ÑƒÐºÐ¾Ð¼";
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "замена %1 Ñа %2 Ñƒ %3";
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Замена Ñвих Ð¿Ð¾Ñ˜Ð°Ð²Ð° Ð½ÐµÐºÐ¾Ð³ Ñ‚екÑта ÑƒÐ½ÑƒÑ‚ар Ð½ÐµÐºÐ¾Ð³ Ð´Ñ€ÑƒÐ³Ð¾Ð³ Ñ‚екÑта.";
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "обрнуто %1";
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Обрће Ñ€ÐµÐ´Ð¾Ñлед ÐºÐ°Ñ€Ð°ÐºÑ‚ера Ñƒ Ñ‚екÑту.";
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://sr.wikipedia.org/wiki/ÐиÑка";
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "Слово, Ñ€ÐµÑ‡ Ð¸Ð»Ð¸ Ñ€ÐµÐ´ Ñ‚екÑта.";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "трим Ð¿Ñ€Ð°Ð·Ð½Ð¸Ð½Ðµ Ñа Ð¾Ð±Ðµ Ñтране";
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "Ñкратити Ð¿Ñ€Ð¾Ñтор Ñа Ð»ÐµÐ²Ðµ Ñтране";
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "Ñкратити Ð¿Ñ€Ð¾Ñтор Ñа Ð´ÐµÑне Ñтране";
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Враћа ÐºÐ¾Ð¿Ð¸Ñ˜Ñƒ Ñ‚екÑта Ñа ÑƒÐºÐ»Ð¾Ð½Ñ˜ÐµÐ½Ð¸Ð¼ Ð¿Ñ€Ð¾Ñтором Ñа Ñ˜ÐµÐ´Ð½Ð¾Ð³ Ð¾Ð´ Ð´Ð²Ð° ÐºÑ€Ð°Ñ˜Ð°.";
+Blockly.Msg["TODAY"] = "ДанаÑ";
+Blockly.Msg["UNDO"] = "Опозови";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "Ñтавка";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Ðаправи â€žÐ¿Ð¾Ñтави %1“";
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Враћа Ð²Ñ€ÐµÐ´Ð½Ð¾ÑÑ‚ Ð¾Ð²Ðµ Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ™Ð¸Ð²Ðµ.";
+Blockly.Msg["VARIABLES_SET"] = "поÑтави %1 Ñƒ %2";
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Ðаправи â€žÐ¿Ñ€ÐµÑƒÐ·Ð¼Ð¸ %1“";
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "ПоÑтавља Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ™Ð¸Ð²Ñƒ Ñ‚ако Ð´Ð° Ð±ÑƒÐ´Ðµ Ñ˜ÐµÐ´Ð½Ð°ÐºÐ° ÑƒÐ»Ð°Ð·Ñƒ.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "Променљива Ð¿Ð¾Ð´ Ð¸Ð¼ÐµÐ½Ð¾Ð¼ â€™%1’ Ð²ÐµÑ› Ð¿Ð¾Ñтоји.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "Променљива Ð¿Ð¾Ð´ Ð¸Ð¼ÐµÐ½Ð¾Ð¼ â€™%1’ Ð²ÐµÑ› Ð¿Ð¾Ñтоји Ð·Ð° Ð´Ñ€ÑƒÐ³Ð¸ Ñ‚ип: â€™%2’.";
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something...";  // untranslated
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/sv.js b/js/msg/js/sv.js
new file mode 100644 (file)
index 0000000..12f23f2
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.sv');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "Lägg till kommentar";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "Kan inte radera variabeln '%1' eftersom den är en del av definition för funktionen '%2'";
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "Ändra värde:";
+Blockly.Msg["CLEAN_UP"] = "Rada upp block";
+Blockly.Msg["COLLAPSE_ALL"] = "Fäll ihop block";
+Blockly.Msg["COLLAPSE_BLOCK"] = "Fäll ihop block";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "färg 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "färg 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "förhållande";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "blanda";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "Blandar ihop två färger med ett bestämt förhållande (0.0 - 1.0).";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://sv.wikipedia.org/wiki/Färg";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "Välj en färg från paletten.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "slumpfärg";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "Slumpa fram en färg.";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "blå";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "grön";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";
+Blockly.Msg["COLOUR_RGB_RED"] = "röd";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "färg med";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "Skapa en färg med det angivna mängden röd, grön och blå. Alla värden måste vara mellan 0 och 100.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "bryt ut ur loop";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "fortsätta med nästa upprepning av loop";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "Bryt ut ur den innehållande upprepningen.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "Hoppa över resten av denna loop och fortsätt med nästa loop.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "Varning: Detta block kan endast användas i en loop.";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "för varje föremål %1 i listan %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "För varje objekt i en lista, ange variabeln '%1' till objektet, och utför sedan några kommandon.";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "räkna med %1 från %2 till %3 med %4";
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "Låt variabeln \"%1\" ta värden från starttalet till sluttalet, beräknat med det angivna intervallet, och utför de angivna blocken.";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "Lägg till ett villkor blocket \"om\".";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "Lägg till ett sista villkor som täcker alla alternativ som är kvar för \"if\"-blocket.";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Lägg till, ta bort eller ändra ordningen för sektioner för att omkonfigurera blocket \"om\".";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "annars";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "annars om";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "om";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "Om ett värde är sant, utför några kommandon.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "Om värdet är sant, utför det första kommandoblocket. Annars utför det andra kommandoblocket.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "Om det första värdet är sant, utför det första kommandoblocket. Annars, om det andra värdet är sant, utför det andra kommandoblocket.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "Om det första värdet är sant, utför det första kommandoblocket. Annars, om det andra värdet är sant, utför det andra kommandoblocket. Om ingen av värdena är sanna, utför det sista kommandoblocket.";
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://en.wikipedia.org/wiki/For_loop";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "utför";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "upprepa %1 gånger";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "Utför några kommandon flera gånger.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "upprepa tills";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "upprepa medan";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "Medan ett värde är falskt, utför några kommandon.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "Medan ett värde är sant, utför några kommandon.";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "Radera alla %1 block?";
+Blockly.Msg["DELETE_BLOCK"] = "Radera block";
+Blockly.Msg["DELETE_VARIABLE"] = "Radera variabeln \"%1\"";
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Radera %1 användningar av variabeln \"%2\"?";
+Blockly.Msg["DELETE_X_BLOCKS"] = "Radera %1 block";
+Blockly.Msg["DISABLE_BLOCK"] = "Inaktivera block";
+Blockly.Msg["DUPLICATE_BLOCK"] = "Duplicera";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicera kommentar";
+Blockly.Msg["ENABLE_BLOCK"] = "Aktivera block";
+Blockly.Msg["EXPAND_ALL"] = "Fäll ut block";
+Blockly.Msg["EXPAND_BLOCK"] = "Fäll ut block";
+Blockly.Msg["EXTERNAL_INPUTS"] = "Externa inmatningar";
+Blockly.Msg["HELP"] = "Hjälp";
+Blockly.Msg["INLINE_INPUTS"] = "Radinmatning";
+Blockly.Msg["IOS_CANCEL"] = "Avbryt";
+Blockly.Msg["IOS_ERROR"] = "Fel";
+Blockly.Msg["IOS_OK"] = "OK";
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Lägg till inmatning";
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Tillåt kommandon";
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "Denna funktion har dubblettinmatningar.";
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "INMATNINGAR";
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "Lägg till";
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Lägg till variabel";
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "Radera";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "Du kan inte använda ett tomt variabelnamn.";
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Döp om";
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Variabelnamn";
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "skapa tom lista";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Ger tillbaka en lista utan någon data, alltså med längden 0";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "lista";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Lägg till, ta bort eller ändra ordningen på objekten för att göra om det här \"list\"-blocket.";
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "skapa lista med";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Lägg till ett föremål till listan.";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Skapa en lista med valfritt antal föremål.";
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "första";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "# från slutet";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "hämta";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "hämta och ta bort";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "sista";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "slumpad";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "ta bort";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Returnerar det första objektet i en lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Ger tillbaka objektet på den efterfrågade positionen i en lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Returnerar det sista objektet i en lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Returnerar ett slumpmässigt objekt i en lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "Tar bort och återställer det första objektet i en lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "Tar bort och återställer objektet på den specificerade positionen i en lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "Tar bort och återställer det sista objektet i en lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Tar bort och återställer ett slumpmässigt objekt i en lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "Tar bort det första objektet i en lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "Tar bort objektet på den specificerade positionen i en lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "Tar bort det sista objektet i en lista.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Tar bort en slumpmässig post i en lista.";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "till # från slutet";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "till #";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "till sista";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "få underlista från första";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "få underlista från # från slutet";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "få underlista från #";
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Skapar en kopia av den specificerade delen av en lista.";
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 är det sista objektet.";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 är det första objektet.";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "hitta första förekomsten av objektet";
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "hitta sista förekomsten av objektet";
+Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "Ger tillbaka den första/sista förekomsten av objektet i listan. Returnerar %1 om objektet inte hittas.";
+Blockly.Msg["LISTS_INLIST"] = "i listan";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 är tom";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Returnerar sant om listan är tom.";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "längden på %1";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Returnerar längden på en lista.";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "skapa lista med föremålet %1 upprepat %2 gånger";
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Skapar en lista som innehåller ett valt värde upprepat ett bestämt antalet gånger.";
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "vänd på %1";
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Vänd på en kopia av en lista.";
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "som";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "Sätt in vid";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "ange";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "sätter in objektet i början av en lista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Sätter in objektet vid en specificerad position i en lista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Lägg till objektet i slutet av en lista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "sätter in objektet på en slumpad position i en lista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Anger det första objektet i en lista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Sätter in objektet vid en specificerad position i en lista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Anger det sista elementet i en lista.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Sätter in ett slumpat objekt i en lista.";
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "stigande";
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "fallande";
+Blockly.Msg["LISTS_SORT_TITLE"] = "sortera %1 %2 %3";
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Sortera en kopia av en lista.";
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "alfabetiskt, ignorera skiftläge";
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "numeriskt";
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "alfabetiskt";
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "skapa lista från text";
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "skapa text från lista";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Sammanfoga en textlista till en text, som separeras av en avgränsare.";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Dela upp text till en textlista och bryt vid varje avgränsare.";
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "med avgränsare";
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "falskt";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "Returnerar antingen sant eller falskt.";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "sant";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://sv.wikipedia.org/wiki/Olikhet";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Ger tillbaka sant om båda värdena är lika med varandra.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Ger tillbaka sant om det första värdet är större än det andra.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Ger tillbaka sant om det första värdet är större än eller lika med det andra.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "Ger tillbaka sant om det första värdet är mindre än det andra.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "Ger tillbaka sant om det första värdet är mindre än eller lika med det andra.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "Ger tillbaka sant om båda värdena inte är lika med varandra.";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "inte %1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "Ger tillbaka sant om inmatningen är falsk. Ger tillbaka falskt och inmatningen är sann.";
+Blockly.Msg["LOGIC_NULL"] = "null";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://sv.wikipedia.org/wiki/Null";
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "Returnerar null.";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "och";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "eller";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "Ger tillbaka sant om båda värdena är sanna.";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "Ger tillbaka sant om minst ett av värdena är sant.";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "test";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "om falskt";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "om sant";
+Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "Kontrollera villkoret i \"test\". Om villkoret är sant, ge tillbaka \"om sant\"-värdet; annars ge tillbaka \"om falskt\"-värdet.";
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://sv.wikipedia.org/wiki/Aritmetik";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Returnerar summan av de två talen.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Returnerar kvoten av de två talen.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Returnerar differensen mellan de två talen.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Returnerar produkten av de två talen.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Ger tillbaka det första talet upphöjt till det andra talet.";
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";
+Blockly.Msg["MATH_CHANGE_TITLE"] = "ändra %1 med %2";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Lägg till ett tal till variabeln '%1'.";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://sv.wikipedia.org/wiki/Matematisk_konstant";
+Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "Returnerar en av de vanliga konstanterna: Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…) eller âˆž (oändligt).";
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "begränsa %1 till mellan %2 och %3";
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Begränsa ett tal till att mellan de angivna gränsvärden (inkluderande).";
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "är delbart med";
+Blockly.Msg["MATH_IS_EVEN"] = "är jämnt";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "är negativt";
+Blockly.Msg["MATH_IS_ODD"] = "är ojämnt";
+Blockly.Msg["MATH_IS_POSITIVE"] = "är positivt";
+Blockly.Msg["MATH_IS_PRIME"] = "är ett primtal";
+Blockly.Msg["MATH_IS_TOOLTIP"] = "Kontrollera om ett tal är jämnt, ojämnt, helt, positivt, negativt eller det är delbart med ett bestämt tal. Returnerar med sant eller falskt.";
+Blockly.Msg["MATH_IS_WHOLE"] = "är helt";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://en.wikipedia.org/wiki/Modulo_operation";
+Blockly.Msg["MATH_MODULO_TITLE"] = "resten av %1 ÷ %2";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Returnerar kvoten från divisionen av de två talen.";
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://sv.wikipedia.org/wiki/Tal";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "Ett tal.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "medelvärdet av listan";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "högsta talet i listan";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "medianen av listan";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "minsta talet i listan";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "typvärdet i listan";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "slumpmässigt objekt i listan";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "standardavvikelsen i listan";
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "summan av listan";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Ger tillbaka medelvärdet (aritmetiskt) av de numeriska värdena i listan.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "Ger tillbaka det största talet i listan.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "Returnerar medianen av talen i listan.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "Ger tillbaka det minsta talet i listan.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Ger tillbaka en lista med de(t) vanligaste objekte(t/n) i listan.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Returnerar ett slumpmässigt element från listan.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Ger tillbaka standardavvikelsen i listan.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Ger tillbaka summan av alla talen i listan.";
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://sv.wikipedia.org/wiki/Slumptalsgenerator";
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "slumpat decimaltal";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Ger tillbaka ett slumpat decimaltal mellan 0.0 (inkluderat) och 1.0 (exkluderat).";
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://sv.wikipedia.org/wiki/Slumptalsgenerator";
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "slumpartat heltal från %1 till %2";
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Ger tillbaka ett slumpat heltal mellan två värden, inkluderande.";
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://sv.wikipedia.org/wiki/Avrundning";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "avrunda";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "avrunda nedåt";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "avrunda uppåt";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Avrunda ett tal uppåt eller nedåt.";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://sv.wikipedia.org/wiki/Kvadratrot";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "absolut";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "kvadratrot";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Returnerar absolutvärdet av ett tal.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Ger tillbaka e upphöjt i ett tal.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "Returnera den naturliga logaritmen av ett tal.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "Returnerar logaritmen för bas 10 av ett tal.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Returnerar negationen av ett tal.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Ger tillbaka 10 upphöjt i ett tal.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Returnerar kvadratroten av ett tal.";
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";
+Blockly.Msg["MATH_TRIG_ACOS"] = "arccos";
+Blockly.Msg["MATH_TRIG_ASIN"] = "arcsin";
+Blockly.Msg["MATH_TRIG_ATAN"] = "arctan";
+Blockly.Msg["MATH_TRIG_COS"] = "cos";
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://sv.wikipedia.org/wiki/Trigonometrisk_funktion";
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Ger tillbaka arcus cosinus (arccos) för ett tal.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Ger tillbaka arcus sinus (arcsin) för ett tal.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Ger tillbaka arcus tangens (arctan) av ett tal.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Ger tillbaka cosinus för en grad (inte radian).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Ger tillbaka sinus för en grad (inte radian).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Ger tillbaka tangens för en grad (inte radian).";
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Skapa färgvariabel...";
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Skapa siffervariabel...";
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Skapa strängvariabel...";
+Blockly.Msg["NEW_VARIABLE"] = "Skapa variabel...";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "Nytt variabelnamn:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "Ny variabeltyp:";
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "tillåta uttalanden";
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "med:";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Kör den användardefinierade funktionen \"%1\".";
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Kör den användardefinierade funktionen \"%1\" och använd resultatet av den.";
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "med:";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "Skapa '%1'";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Beskriv denna funktion...";
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://sv.wikipedia.org/wiki/Funktion_%28programmering%29";
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "göra något";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "för att";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Skapar en funktion utan output.";
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://sv.wikipedia.org/wiki/Funktion_%28programmering%29";
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "returnera";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "Skapar en funktion med output.";
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "Varning: Denna funktion har dubbla parametrar.";
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "Markera funktionsdefinition";
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "Om ett värde är sant returneras ett andra värde.";
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "Varning: Detta block får användas endast i en funktionsdefinition.";
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "inmatningsnamn:";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Lägg till en inmatning till funktionen.";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "inmatningar";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Lägg till, ta bort och ändra ordningen för inmatningar till denna funktion.";
+Blockly.Msg["REDO"] = "Gör om";
+Blockly.Msg["REMOVE_COMMENT"] = "Radera kommentar";
+Blockly.Msg["RENAME_VARIABLE"] = "Byt namn på variabel...";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Byt namn på alla'%1'-variabler till:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "för att %1 lägga till text %2";
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Lägg till lite text till variabeln '%1'.";
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "till gemener";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "till Versala Initialer";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "till VERSALER";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Returnerar en kopia av texten i ett annat skiftläge.";
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "hämta första bokstaven";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "hämta bokstaven # från slutet";
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "hämta bokstaven #";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "hämta sista bokstaven";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "hämta slumpad bokstav";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "i texten %1 %2";
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Ger tillbaka bokstaven på den specificerade positionen.";
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "räkna %1 i %2";
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Räkna hur många gånger en text förekommer inom en annan text.";
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Lägg till ett föremål till texten.";
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "sammanfoga";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Lägg till, ta bort eller ändra ordningen för sektioner för att omkonfigurera detta textblock.";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "till bokstav # från slutet";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "till bokstav #";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "till sista bokstaven";
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "i texten";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "få textdel från första bokstaven";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "få textdel från bokstav # från slutet";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "få textdel från bokstav #";
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Ger tillbaka en viss del av texten.";
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "hitta första förekomsten av texten";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "hitta sista förekomsten av texten";
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "i texten %1 %2 %3";
+Blockly.Msg["TEXT_INDEXOF_TOOLTIP"] = "Ger tillbaka indexet för den första/sista förekomsten av första texten i den andra texten.  Ger tillbaka %1 om texten inte hittas.";
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 är tom";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Returnerar sant om den angivna texten är tom.";
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "skapa text med";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Skapa en textbit genom att sammanfoga ett valfritt antal föremål.";
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "längden på %1";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Ger tillbaka antalet bokstäver (inklusive mellanslag) i den angivna texten.";
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "skriv %1";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Skriv den angivna texten, talet eller annat värde.";
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Fråga användaren efter ett tal.";
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Fråga användaren efter lite text.";
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "fråga efter ett tal med meddelande";
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "fråga efter text med meddelande";
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "ersätt %1 med %2 i %3";
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Ersätt alla förekomster av en text inom en annan text.";
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "vänd på %1";
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Vänder på teckenordningen i texten.";
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://sv.wikipedia.org/wiki/Str%C3%A4ng_%28data%29";
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "En bokstav, ord eller textrad.";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "ta bort mellanrum från båda sidorna av";
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "ta bort mellanrum från vänstra sidan av";
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "ta bort mellanrum från högra sidan av";
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Returnerar en kopia av texten med borttagna mellanrum från en eller båda ändar.";
+Blockly.Msg["TODAY"] = "Idag";
+Blockly.Msg["UNDO"] = "Ångra";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "föremål";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Skapa \"välj %1\"";
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Returnerar värdet av denna variabel.";
+Blockly.Msg["VARIABLES_SET"] = "ange %1 till %2";
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Skapa 'hämta %1'";
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Gör så att den här variabeln blir lika med inputen.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "En variabel som heter \"%1\" finns redan.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "En variabel med namnet \"%1\" finns redan för en annan typ: \"%2\".";
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Säg någonting...";
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/ta.js b/js/msg/js/ta.js
new file mode 100644 (file)
index 0000000..7c799bd
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.ta');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["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'";  // untranslated
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "மதிபà¯à®ªà¯ˆ à®®à®¾à®±à¯à®±à®µà¯à®®à¯:";
+Blockly.Msg["CLEAN_UP"] = "Clean up Blocks";  // untranslated
+Blockly.Msg["COLLAPSE_ALL"] = "உறà¯à®ªà¯à®ªà¯à®•à®³à¯ˆ à®®à®°à¯ˆ";
+Blockly.Msg["COLLAPSE_BLOCK"] = "உறà¯à®ªà¯à®ªà¯ˆ à®®à®°à¯ˆ";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "நிறம௠1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "நிறம௠2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";  // untranslated
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "விகிதமà¯";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "கலபà¯à®ªà¯ (வணà¯à®£à®®à¯)";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "கொடà¯à®•à¯à®•à®ªà¯à®ªà®Ÿà¯à®Ÿ à®µà®¿à®•à®¤à®¤à¯à®¤à®¿à®²à¯ (0.0 - 1.0) à®‡à®°à¯ à®¨à®¿à®±à®™à¯à®•à®³à¯ˆ à®•à®²à®•à¯à®•à¯à®•.";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://en.wikipedia.org/wiki/Color";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "வணà¯à®£ à®¤à®Ÿà¯à®Ÿà®¿à®²à®¿à®°à¯à®¨à¯à®¤à¯ à®’ர௠நிறதà¯à®¤à¯ˆà®¤à¯ à®¤à¯‡à®°à¯à®¨à¯à®¤à¯†à®Ÿà¯à®•à¯à®•à®µà¯à®®à¯.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "தறà¯à®ªà¯‹à®•à¯à®•à¯ à®¨à®¿à®±à®®à¯";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "தறà¯à®ªà¯‹à®•à¯à®•à®¿à®²à¯ à®’ர௠நிறதà¯à®¤à¯ˆ à®¤à¯‡à®°à¯à®¨à¯à®¤à¯†à®Ÿà¯à®•à¯à®•à®µà¯à®®à¯.";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "நீலமà¯";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "பசà¯à®šà¯ˆ";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";  // untranslated
+Blockly.Msg["COLOUR_RGB_RED"] = "சிகபà¯à®ªà¯";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "நிறதà¯à®¤à¯à®Ÿà®©à¯";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "கà¯à®±à®¿à®ªà¯à®ªà®¿à®Ÿà¯à®Ÿ à®…ளவ௠சிவபà¯à®ªà¯,பசà¯à®šà¯ˆ à®®à®±à¯à®±à¯à®®à¯ à®¨à¯€à®²à®®à¯ à®šà¯‡à®°à¯à®¤à¯à®¤à¯ à®ªà¯à®¤à¯ à®¨à®¿à®±à®®à¯ à®‰à®°à¯à®µà®¾à®•à¯à®•à¯. à®®à®¤à®¿à®ªà¯à®ªà¯à®•à®³à¯ 0 à®®à¯à®¤à®²à¯ 100 à®µà®°à¯ˆ à®®à®Ÿà¯à®Ÿà¯à®®à¯‡ à®‡à®°à¯à®•à¯à®• à®µà¯‡à®£à¯à®Ÿà¯à®®à¯.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "மடகà¯à®•à¯ à®•à®Ÿà¯à®Ÿà®³à¯ˆà®¯à¯ˆ à®¨à®¿à®±à¯à®¤à¯à®¤à¯.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "மடகà¯à®•à¯ à®•à®Ÿà¯à®Ÿà®³à¯ˆà®¯à®¿à®©à¯ à®…டà¯à®¤à¯à®¤ à®‡à®¯à®•à¯à®•à®¨à®¿à®²à¯ˆà®•à¯à®•à¯ à®šà¯†à®²à¯";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "மடகà¯à®•à¯ à®•à®Ÿà¯à®Ÿà®³à¯ˆà®¯à®¿à®©à¯ à®‡à®¯à®•à¯à®•à®¤à¯à®¤à®¿à®²à¯ à®‡à®°à¯à®¨à¯à®¤à¯ à®¨à®¿à®±à¯à®¤à¯à®¤à¯.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "மடகà¯à®•à¯ à®•à®Ÿà¯à®Ÿà®³à¯ˆà®¯à®¿à®©à¯ à®®à¯€à®¤à®¿à®¯à¯ˆ à®µà®¿à®Ÿà¯à®Ÿà¯à®µà®¿à®Ÿà¯à®Ÿà¯ à®…டà¯à®¤à¯à®¤ à®‡à®¯à®•à¯à®•à®¨à®¿à®²à¯ˆà®•à¯à®•à¯ à®šà¯†à®²à¯";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "எசà¯à®šà®°à®¿à®•à¯à®•à¯ˆ : à®®à®Ÿà®•à¯à®•à¯ à®•à¯‚à®±à¯à®±à®¿à®²à¯ à®‡à®¨à¯à®¤ à®¤à¯Šà®•à¯à®¤à®¿ à®’ர௠மà¯à®±à¯ˆ à®®à®Ÿà¯à®Ÿà¯à®®à¯‡ à®šà¯†à®¯à®²à¯à®ªà®Ÿà¯à®¤à¯à®¤à®ªà¯ à®ªà®Ÿà®²à®¾à®®à¯.";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "உரà¯à®ªà¯à®ªà®Ÿà®¿ à®’வà¯à®µà¯Šà®©à¯à®±à®¾à®• %1 à®ªà®Ÿà¯à®Ÿà®¿à®¯à®²à®¿à®²à¯ à®‰à®³à¯à®³ %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "படà¯à®Ÿà®¿à®¯à®²à®¿à®²à¯ à®‰à®³à¯à®³ à®‰à®°à¯à®ªà¯à®ªà®Ÿà®¿à®¯à®¿à®²à¯ à®’வà¯à®µà¯Šà®©à¯à®±à®¾à®•, à®®à®¾à®±à®¿à®¯à®¿à®©à¯ à®ªà¯Šà®°à¯à®³à¯ '%1' à®†à®•  à®µà¯ˆà®•à¯à®•.";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "மாறியை à®µà¯ˆà®¤à¯à®¤à¯ à®Žà®£à¯à®£ %1 %2 à®‡à®²à¯ à®‡à®°à¯à®¨à¯à®¤à¯ %3 à®µà®°à¯ˆ %4-இன௠படியாக";
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "à®®à¯à®¤à®²à¯ à®Žà®£à¯à®£à®¿à®²à¯  à®‡à®°à¯à®¨à¯à®¤à¯ à®•à®Ÿà¯ˆ à®Žà®£à¯ à®µà®°à¯ˆ à®Žà®Ÿà¯à®¤à¯à®¤à¯à®•à¯à®•à¯Šà®³à¯à®³  à®’ர௠மாறியை à®µà¯ˆà®¤à¯à®¤à¯à®•à¯à®•à¯Šà®³à¯, à®•à¯à®±à®¿à®¤à¯à®¤ à®‡à®Ÿà¯ˆà®µà¯†à®³à®¿à®¯à¯ˆ  à®šà¯‡à®°à¯à®¤à¯à®¤à®µà®±à¯‡ à®¤à¯Šà®•à¯à®¤à®¿à®•à®³à¯ˆ à®šà¯†à®¯à®²à®¾à®•à¯à®•à¯.";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "ஆனால௠தொகà¯à®ªà¯à®ªà®¿à®±à¯à®•à¯ à®¨à®¿à®ªà®¨à¯à®¤à®©à¯ˆ à®šà¯‡à®°à¯à®•à¯à®•";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "ஆனால௠தொகà¯à®ªà¯à®ªà®¿à®±à¯à®•à¯ à®µà®¿à®¤à®¿à®µà®¿à®²à®•à¯à®•à¯ à®•à®¾à®ªà¯à®ªà¯ˆ à®šà¯‡à®°à¯à®•à¯à®•";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "கடà¯à®Ÿà®³à¯ˆà®•à®³à¯ˆ à®¤à¯Šà®•à¯à®ªà¯à®ªà¯ à®¤à®¿à®°à¯à®¤à¯à®¤à¯à®¤à®®à¯ à®šà¯†à®¯à¯";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "இலà¯à®²à¯ˆà®¯à¯†à®©à®¿à®²à¯";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "இலà¯à®²à¯ˆà®†à®©à®¾à®²à¯";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "எனிலà¯";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "மாறி à®‰à®£à¯à®®à¯ˆ à®†à®• à®‰à®³à¯à®³ à®µà®°à¯ˆ, à®•à®Ÿà¯à®Ÿà®³à¯ˆà®•à®³à¯ˆ à®‡à®¯à®•à¯à®•à¯";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "மாறி à®‰à®£à¯à®®à¯ˆ à®†à®• à®‰à®³à¯à®³ à®µà®°à¯ˆ, à®•à®Ÿà¯à®Ÿà®³à¯ˆà®•à®³à¯ˆ à®‡à®¯à®•à¯à®•à¯. à®…லà¯à®²à®¤à¯ à®®à®±à¯à®± (அடà¯à®¤à¯à®¤) à®•à®Ÿà¯à®Ÿà®³à¯ˆà®•à®³à¯ˆ à®‡à®¯à®•à¯à®•à¯.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "மாறி à®‰à®£à¯à®®à¯ˆ à®†à®• à®‰à®³à¯à®³ à®µà®°à¯ˆ, à®•à®Ÿà¯à®Ÿà®³à¯ˆà®•à®³à¯ˆ à®¤à¯Šà®•à¯à®ªà¯à®ªà¯ à®‡à®¯à®•à¯à®•à¯. à®…லà¯à®²à®¤à¯ à®®à®±à¯à®± (அடà¯à®¤à¯à®¤) à®•à®Ÿà¯à®Ÿà®³à¯ˆà®•à®³à¯ˆ à®¤à¯Šà®•à¯à®ªà¯à®ªà¯ à®‡à®¯à®•à¯à®•à¯.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "மாறி à®‰à®£à¯à®®à¯ˆ à®†à®• à®‰à®³à¯à®³ à®µà®°à¯ˆ, à®•à®Ÿà¯à®Ÿà®³à¯ˆà®•à®³à¯ˆ à®¤à¯Šà®•à¯à®ªà¯à®ªà¯ à®‡à®¯à®•à¯à®•à¯. à®…லà¯à®²à®¤à¯ à®®à®±à¯à®± (அடà¯à®¤à¯à®¤) à®•à®Ÿà¯à®Ÿà®³à¯ˆà®•à®³à¯ˆ à®¤à¯Šà®•à¯à®ªà¯à®ªà¯ à®‡à®¯à®•à¯à®•à¯. à®‡à®°à®£à¯à®Ÿà¯à®®à¯ à®‡à®²à¯à®²à¯ˆ à®Žà®©à¯à®±à®¾à®²à¯ à®•à®Ÿà¯ˆà®šà®¿ à®¤à¯Šà®•à¯à®ªà¯à®ªà¯ à®‡à®¯à®•à¯à®•à¯.";
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://en.wikipedia.org/wiki/For_loop";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "செயà¯à®•";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "'%1' à®®à¯à®°à¯ˆ à®¤à®¿à®°à¯à®®à¯à®ª à®šà¯†à®¯à¯";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "கடà¯à®Ÿà®³à¯ˆà®•à®³à¯ˆ à®ªà®² à®®à¯à®°à¯ˆ à®šà¯†à®¯à¯à®¯";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "பலமà¯à®°à¯ˆ à®¤à®¿à®°à¯à®®à¯à®ª à®šà¯†à®¯à¯ (à®®à¯à®Ÿà®¯à¯‡à®©à®¿à®²à¯)";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "பலமà¯à®°à¯ˆ à®¤à®¿à®°à¯à®®à¯à®ª à®šà¯†à®¯à¯ (வரை)";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "மாறி à®ªà¯Šà®¯à¯ à®†à®• à®‰à®³à¯à®³ à®µà®°à¯ˆ, à®•à®Ÿà¯à®Ÿà®³à¯ˆà®•à®³à¯ˆ à®‡à®¯à®•à¯à®•à¯";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "மாறி à®‰à®£à¯à®®à¯ˆ à®†à®• à®‰à®³à¯à®³ à®µà®°à¯ˆ, à®•à®Ÿà¯à®Ÿà®³à¯ˆà®•à®³à¯ˆ à®‡à®¯à®•à¯à®•à¯";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "அனைதà¯à®¤à¯ %1 à®¨à®¿à®°à®²à¯ à®¤à¯à®£à¯à®Ÿà¯à®•à®³à¯ˆà®¯à¯à®®à¯ à®…ழிகà¯à®•à®µà®¾??";
+Blockly.Msg["DELETE_BLOCK"] = "உறà¯à®ªà¯à®ªà¯ˆ à®¨à¯€à®•à¯à®•à¯";
+Blockly.Msg["DELETE_VARIABLE"] = "Delete the '%1' variable";  // untranslated
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Delete %1 uses of the '%2' variable?";  // untranslated
+Blockly.Msg["DELETE_X_BLOCKS"] = "%1 à®‰à®±à¯à®ªà¯à®ªà¯ˆ à®¨à¯€à®•à¯à®•à¯";
+Blockly.Msg["DISABLE_BLOCK"] = "உறà¯à®ªà¯à®ªà¯ˆ à®‡à®¯à®™à¯à®•à®¾à®¤à¯ à®šà¯†à®¯à¯";
+Blockly.Msg["DUPLICATE_BLOCK"] = "மறà¯à®¨à®•à®²à¯";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicate Comment";  // untranslated
+Blockly.Msg["ENABLE_BLOCK"] = "உறà¯à®ªà¯à®ªà¯ˆ à®‡à®¯à®™à¯à®•à¯à®®à®¾à®°à¯ à®šà¯†à®¯à¯";
+Blockly.Msg["EXPAND_ALL"] = "உறà¯à®ªà¯à®ªà¯à®•à®³à¯ˆ  à®•à®¾à®Ÿà¯à®Ÿà¯";
+Blockly.Msg["EXPAND_BLOCK"] = "உறà¯à®ªà¯à®ªà¯ˆ à®•à®¾à®Ÿà¯à®Ÿà¯";
+Blockly.Msg["EXTERNAL_INPUTS"] = "வெளி à®•à®°à¯à®µà®¿à®•à®³à¯à®Ÿà®©à¯ à®‰à®³à¯à®³à¯€à®Ÿà¯";
+Blockly.Msg["HELP"] = "உதவி";
+Blockly.Msg["INLINE_INPUTS"] = "சூழமைவில௠உளà¯à®³à¯€à®Ÿà¯";
+Blockly.Msg["IOS_CANCEL"] = "Cancel";  // untranslated
+Blockly.Msg["IOS_ERROR"] = "Error";  // untranslated
+Blockly.Msg["IOS_OK"] = "OK";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Add Input";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Allow statements";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "This function has duplicate inputs.";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "INPUTS";  // untranslated
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "Add";  // untranslated
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Add Variable";  // untranslated
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "Delete";  // untranslated
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "You can't use an empty variable name.";  // untranslated
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Rename";  // untranslated
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Variable name";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "காலி à®ªà®Ÿà¯à®Ÿà®¿à®¯à®²à¯ à®‰à®°à¯à®µà®¾à®•à¯à®•";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "காலி à®ªà®Ÿà¯à®Ÿà®¿à®¯à®²à¯ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯.";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "படà¯à®Ÿà®¿à®¯à®²à¯";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "கடà¯à®Ÿà®³à¯ˆà®•à®³à¯ˆ à®¤à¯Šà®•à¯à®ªà¯à®ªà¯ à®¤à®¿à®°à¯à®¤à¯à®¤à¯à®¤à®®à¯ à®šà¯†à®¯à¯";
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "வைதà¯à®¤à¯ à®ªà®Ÿà¯à®Ÿà®¿à®¯à®²à¯ à®‰à®°à¯à®µà®¾à®•à¯à®•";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "படà¯à®Ÿà®¿à®¯à®²à®¿à®²à¯ à®’ர௠பொரà¯à®³à¯ˆ à®šà¯‡à®°à¯à®•à¯à®•.";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "இவà¯à®µà®³à®µà¯ à®‰à®°à¯à®ªà¯à®ªà®Ÿà®¿à®•à®³à¯ˆ à®•à¯Šà®£à¯à®Ÿà¯ à®µà¯‡à®£à¯à®Ÿà¯à®®à®¾à®²à¯à®®à¯ à®’ர௠படà¯à®Ÿà®¿à®¯à®²à¯ˆ à®‰à®°à¯à®µà®¾à®•à¯à®•à¯.";
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "à®®à¯à®¤à®²à¯";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "கடைசியில௠இரà¯à®¨à¯à®¤à¯ #";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "எடà¯";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "பெறà¯à®±à¯ à®¨à¯€à®•à¯à®•à¯à®•";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "கடைசி";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "à®à®¤à¯‹ à®’னà¯à®±à¯";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "நீகà¯à®•à¯à®•";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "படà¯à®Ÿà®¿à®¯à®²à¯ à®®à¯à®¤à®²à¯ à®‰à®°à¯à®ªà¯à®ªà®Ÿà®¿à®¯à¯ˆ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯,";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "படà¯à®Ÿà®¿à®¯à®²à®¿à®²à¯  à®‡à®Ÿà®¤à¯à®¤à®¿à®²à¯ à®‰à®°à¯à®ªà¯à®ªà®Ÿà®¿ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "படà¯à®Ÿà®¿à®¯à®²à¯ à®•à®Ÿà¯ˆà®šà®¿ à®‰à®°à¯à®ªà¯à®ªà®Ÿà®¿à®¯à¯ˆ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯,";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "படà¯à®Ÿà®¿à®¯à®²à¯ à®šà¯€à®°à®±à¯à®± à®‰à®°à¯à®ªà¯à®ªà®Ÿà®¿à®¯à¯ˆ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯,";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "படà¯à®Ÿà®¿à®¯à®²à¯ à®®à¯à®¤à®²à¯ à®‰à®°à¯à®ªà¯à®ªà®Ÿà®¿à®¯à¯ˆ à®¨à¯€à®•à¯à®•à®¿à®¯à®ªà®¿à®©à¯ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯,";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "படà¯à®Ÿà®¿à®¯à®²à®¿à®²à¯ à®•à¯‡à®Ÿà¯à®Ÿ à®‡à®Ÿà®¤à¯à®¤à®¿à®©à¯ à®‰à®°à¯à®ªà¯à®ªà®Ÿà®¿ à®¨à¯€à®•à¯à®•à®¿ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "படà¯à®Ÿà®¿à®¯à®²à¯ à®‡à®±à¯à®¤à®¿ à®‰à®°à¯à®ªà¯à®ªà®Ÿà®¿à®¯à¯ˆ à®¨à¯€à®•à¯à®•à®¿à®¯à®ªà®¿à®©à¯ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯,";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "படà¯à®Ÿà®¿à®¯à®²à¯ à®šà¯€à®°à®±à¯à®± à®‰à®°à¯à®ªà¯à®ªà®Ÿà®¿à®¯à¯ˆ à®¨à¯€à®•à¯à®•à®¿à®¯à®ªà®¿à®©à¯ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯,";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "படà¯à®Ÿà®¿à®¯à®²à®¿à®²à¯ à®®à¯à®¤à®²à¯ à®‰à®°à¯à®ªà¯à®ªà®Ÿà®¿à®¯à¯ˆ à®¨à¯€à®•à¯à®•à¯";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "படà¯à®Ÿà®¿à®¯à®²à®¿à®²à¯ à®•à¯‡à®Ÿà¯à®Ÿ à®‡à®Ÿà®¤à¯à®¤à®¿à®©à¯ à®‰à®°à¯à®ªà¯à®ªà®Ÿà®¿ à®¨à¯€à®•à¯à®•à¯.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "படà¯à®Ÿà®¿à®¯à®²à®¿à®²à¯ à®•à®Ÿà¯ˆà®šà®¿ à®‰à®°à¯à®ªà¯à®ªà®Ÿà®¿à®¯à¯ˆ à®¨à¯€à®•à¯à®•à¯";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "படà¯à®Ÿà®¿à®¯à®²à¯ à®šà¯€à®°à®±à¯à®± à®‰à®°à¯à®ªà¯à®ªà®Ÿà®¿à®¯à¯ˆ à®¨à¯€à®•à¯à®•à¯,";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "à®®à¯à®Ÿà®¿à®µà®¿à®²à¯ à®‡à®°à¯à®¨à¯à®¤à¯ # à®µà®°à¯ˆ";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "# à®µà®°à¯ˆ";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "à®®à¯à®Ÿà®¿à®µà¯ à®µà®°à¯ˆ";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "# à®®à¯à®¤à®²à®¿à®²à¯ à®‡à®°à¯à®¨à¯à®¤à¯ à®ªà®•à¯à®¤à®¿ à®ªà®Ÿà¯à®Ÿà®¿à®¯à®²à¯ˆ à®•à¯Šà®Ÿà¯";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "# à®•à®Ÿà¯ˆà®šà®¿à®¯à®¿à®²à¯ à®‡à®°à¯à®¨à¯à®¤à¯ à®ªà®•à¯à®¤à®¿ à®ªà®Ÿà¯à®Ÿà®¿à®¯à®²à¯ˆ à®•à¯Šà®Ÿà¯";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "பகà¯à®¤à®¿ à®ªà®Ÿà¯à®Ÿà®¿à®¯à®²à¯ˆ # à®‡à®Ÿà®¤à¯à®¤à®¿à®²à¯ à®‡à®°à¯à®¨à¯à®¤à¯ à®•à¯Šà®Ÿà¯";
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "கà¯à®±à®¿à®ªà¯à®ªà®Ÿà¯à®Ÿ à®ªà®•à¯à®¤à®¿ à®ªà®Ÿà¯à®Ÿà®¿à®¯à®²à®¿à®©à¯ à®¨à®•à®²à¯ˆ à®•à¯Šà®Ÿà¯";
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 à®•à®Ÿà¯ˆà®šà®¿ à®‰à®°à¯à®ªà¯à®ªà®Ÿà®¿.ி";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 à®®à¯à®¤à®²à¯ à®‰à®°à¯à®ªà¯à®ªà®Ÿà®¿.";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "உரையில௠மà¯à®¤à®²à¯ à®¤à¯‹à®±à¯à®± à®‡à®Ÿà®¤à¯à®¤à¯ˆ à®•à®¾à®Ÿà¯à®Ÿà¯";
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "உரையில௠கடைசி à®¤à¯‹à®±à¯à®± à®‡à®Ÿà®¤à¯à®¤à¯ˆ à®•à®¾à®Ÿà¯à®Ÿà¯";
+Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "படà¯à®Ÿà®¿à®¯à®²à®¿à®²à¯ à®®à®¤à®¿à®ªà¯à®ªà®¿à®©à¯ à®®à¯à®¤à®²à¯, à®•à®Ÿà¯ˆà®šà®¿ à®¤à¯‹à®±à¯à®± à®‡à®Ÿà®¤à¯à®¤à¯ˆ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯. à®•à®¾à®£à®¾à®µà®¿à®Ÿà¯à®Ÿà®¾à®²à¯ %1 à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯.";
+Blockly.Msg["LISTS_INLIST"] = "படà¯à®Ÿà®¿à®¯à®²à®¿à®²à¯ à®‰à®³à¯à®³";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 à®•à®¾à®²à®¿à®¯à®¾à®©à®¤à¯";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "படà¯à®Ÿà®¿à®¯à®²à¯ à®•à®¾à®²à®¿à®¯à®¾à®©à®¤à¯ à®®à¯†à®¯à¯ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯,";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "%1 à®‡à®©à¯ à®¨à¯€à®³à®®à¯";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "படà¯à®Ÿà®¿à®¯à®²à¯ à®¨à¯€à®³à®®à¯ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "உரà¯à®ªà¯à®ªà®Ÿà®¿ %1-யை, %2 à®¤à®Ÿà®µà¯ˆà®•à®³à¯ à®‰à®³à¯à®³à®µà®¾à®±à¯ à®’ர௠படà¯à®Ÿà®¿à®¯à®²à¯ˆ à®‰à®°à¯à®µà®¾à®•à¯à®•à¯";
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "கொடà¯à®•à¯à®• à®ªà®Ÿà¯à®Ÿ à®®à®¤à®¿à®ªà¯à®ªà¯ˆ, à®•à¯‚றியà¯à®³à¯à®³ à®¤à®Ÿà®µà¯ˆà®•à®³à¯ à®‰à®³à¯à®³à®µà®¾à®±à¯ à®’ர௠படà¯à®Ÿà®¿à®¯à®²à¯ˆ à®‰à®°à¯à®µà®¾à®•à¯à®•à¯";
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";  // untranslated
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Reverse a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "இதà¯à®ªà¯Šà®²";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "அவà¯à®µà®¿à®Ÿà®¤à¯à®¤à®¿à®²à¯ à®¨à¯à®´à¯ˆ";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "நியமி";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "மதிபà¯à®ªà¯ˆ à®ªà®Ÿà¯à®Ÿà®¿à®¯à®²à®¿à®©à¯ à®®à¯à®¤à®²à®¿à®²à¯ à®¨à¯à®´à¯ˆ";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "படà¯à®Ÿà®¿à®¯à®²à®¿à®²à¯ à®•à¯‡à®Ÿà¯à®Ÿ à®‡à®Ÿà®¤à¯à®¤à®¿à®²à¯ à®‰à®°à¯à®ªà¯à®ªà®Ÿà®¿à®¯à¯ˆ à®¨à¯à®´à¯ˆ.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "மதிபà¯à®ªà¯ˆ à®ªà®Ÿà¯à®Ÿà®¿à®¯à®²à®¿à®©à¯ à®®à¯à®Ÿà®¿à®µà®¿à®²à¯ à®¨à¯à®´à¯ˆ";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "மதிபà¯à®ªà¯ˆ à®ªà®Ÿà¯à®Ÿà®¿à®¯à®²à®¿à®©à¯ à®šà¯€à®±à¯à®± à®‡à®Ÿà®¤à¯à®¤à®¿à®²à¯ à®¨à¯à®´à¯ˆ";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "மதிபà¯à®ªà¯ˆ à®ªà®Ÿà¯à®Ÿà®¿à®¯à®²à®¿à®²à¯ à®®à¯à®¤à®²à¯ à®‰à®°à¯à®ªà¯à®ªà®Ÿà®¿à®¯à®¿à®²à¯ à®µà¯ˆ";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "படà¯à®Ÿà®¿à®¯à®²à®¿à®²à¯ à®•à¯‡à®Ÿà¯à®Ÿ à®‡à®Ÿà®¤à¯à®¤à®¿à®²à¯ à®‰à®°à¯à®ªà¯à®ªà®Ÿà®¿à®¯à¯ˆ à®µà¯ˆ.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "மதிபà¯à®ªà¯ˆ à®ªà®Ÿà¯à®Ÿà®¿à®¯à®²à®¿à®²à¯ à®•à®Ÿà¯ˆà®šà®¿ à®‰à®°à¯à®ªà¯à®ªà®Ÿà®¿à®¯à®¿à®²à¯ à®µà¯ˆ";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "மதிபà¯à®ªà¯ˆ à®ªà®Ÿà¯à®Ÿà®¿à®¯à®²à®¿à®²à¯ à®šà¯€à®°à®±à¯à®± à®‰à®°à¯à®ªà¯à®ªà®Ÿà®¿à®¯à®¿à®²à¯ à®µà¯ˆ";
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";  // untranslated
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "ascending";  // untranslated
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "descending";  // untranslated
+Blockly.Msg["LISTS_SORT_TITLE"] = "sort %1 %2 %3";  // untranslated
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Sort a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "alphabetic, ignore case";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "numeric";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "alphabetic";  // untranslated
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "உரையில௠இரà¯à®¨à¯à®¤à¯ à®ªà®Ÿà¯à®Ÿà®¿à®¯à®²à¯ à®‰à®°à¯à®µà®¾à®•à¯à®•à¯";
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "படà¯à®Ÿà®¿à®¯à®²à®¿à®²à¯ à®‡à®°à¯à®¨à¯à®¤à¯ à®‰à®°à¯ˆ à®‰à®°à¯à®µà®¾à®•à¯à®•à¯";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "வரமà¯à®ªà¯à®šà¯ à®šà¯à®Ÿà¯à®Ÿà®¿à®¯à¯ˆ à®‡à®Ÿà¯ˆà®¯à®¿à®²à¯ à®‡à®Ÿà¯à®Ÿà¯, à®‰à®°à¯ˆà®¤à¯à®£à¯à®Ÿà¯à®•à®³à¯ˆ à®’னà¯à®±à¯ à®šà¯‡à®°à¯";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "உரையை à®µà®°à®®à¯à®ªà¯à®šà¯ à®šà¯à®Ÿà¯à®Ÿà®¿ à®•à¯Šà®£à¯à®Ÿà¯ à®¤à¯à®£à¯à®Ÿà®¾à®•à¯à®•à¯.";
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "தடை à®Žà®´à¯à®¤à¯à®¤à¯";
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "பொயà¯";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "மெயà¯, à®…லà¯à®²à®¤à¯ à®ªà¯Šà®¯à¯ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯.";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "மெயà¯";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://en.wikipedia.org/wiki/Inequality_(mathematics)";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "இரணà¯à®Ÿà¯ à®®à®¾à®±à®¿à®¯à¯à®®à¯ à®ˆà®Ÿà®¾à®©à®¾à®²à¯, à®®à¯†à®¯à¯ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "à®®à¯à®¤à®²à¯ à®‰à®³à¯à®³à¯€à®Ÿà¯ à®‡à®°à®£à¯à®Ÿà®¾à®µà®¤à¯ˆà®µà®¿à®Ÿ à®…திகமாக à®‡à®°à¯à®¨à¯à®¤à®¾à®²à¯, à®®à¯†à®¯à¯ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "à®®à¯à®¤à®²à¯ à®‰à®³à¯à®³à¯€à®Ÿà¯ à®‡à®°à®£à¯à®Ÿà®¾à®µà®¤à¯ˆà®µà®¿à®Ÿ à®…திகமாக à®…லà¯à®² à®šà®®à®®à®¾à®• à®‡à®°à¯à®¨à¯à®¤à®¾à®²à¯, à®®à¯†à®¯à¯ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "à®®à¯à®¤à®²à¯ à®‰à®³à¯à®³à¯€à®Ÿà¯ à®‡à®°à®£à¯à®Ÿà®¾à®µà®¤à¯ˆà®µà®¿à®Ÿ à®•à¯à®±à¯ˆà®µà®¾à®• à®‡à®°à¯à®¨à¯à®¤à®¾à®²à¯, à®®à¯†à®¯à¯ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "à®®à¯à®¤à®²à¯ à®‰à®³à¯à®³à¯€à®Ÿà¯ à®‡à®°à®£à¯à®Ÿà®¾à®µà®¤à¯ˆà®µà®¿à®Ÿ à®•à¯à®±à¯ˆà®µà®¾à®• à®…லà¯à®² à®šà®®à®®à®¾à®• à®‡à®°à¯à®¨à¯à®¤à®¾à®²à¯, à®®à¯†à®¯à¯ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "இரணà¯à®Ÿà¯ à®®à®¾à®±à®¿à®¯à¯à®®à¯ à®ˆà®Ÿà®¾à®•à®¾à®µà®¿à®Ÿà¯à®Ÿà®¾à®²à¯, à®®à¯†à®¯à¯ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯.";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "%1 à®‡à®²à¯à®²à¯ˆ";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "மெய௠ஆனாலà¯, à®ªà¯Šà®¯à¯ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯. à®ªà¯Šà®¯à¯ à®†à®©à®¾à®²à¯, à®®à¯†à®¯à¯ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯.";
+Blockly.Msg["LOGIC_NULL"] = "பூஜியமà¯";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";  // untranslated
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "பூஜியம௠பினà¯à®•à¯Šà®Ÿà¯";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "மறà¯à®±à¯à®®à¯";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "அலà¯à®²à®¤à¯";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "இரணà¯à®Ÿà¯ à®®à®¾à®±à®¿à®¯à¯à®®à¯ à®®à¯†à®¯à¯ à®†à®©à®¾à®²à¯, à®®à¯†à®¯à¯ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯.";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "à®à®¤à¯‡à®©à¯à®®à¯ à®’ர௠மதிபà¯à®ªà¯ à®®à¯†à®¯à¯ à®†à®©à®¾à®²à¯, à®®à¯†à®¯à¯ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "சோதனை";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "பொயà¯à®¯à¯†à®©à®¿à®²à¯";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "மெயà¯à®¯à¯†à®©à®¿à®²à¯";
+Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "'test' à®‰à®³à¯à®³ à®¨à®¿à®ªà®¨à¯à®¤à®©à¯ˆà®¯à¯ˆ à®šà®°à®¿à®ªà®¾à®°à¯à®•à¯à®•à®µà¯à®®à¯, à®¨à®¿à®ªà®¨à¯à®¤à®©à¯ˆ à®®à¯†à®¯à¯à®¯à®¾à®©à®¾à®²à¯,'if true'வை  à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯à®•à¯à®•à¯à®®à¯ à®‡à®²à¯à®²à¯ˆà®¯à¯†à®©à®¿à®²à¯  'if false'வை  à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯à®•à¯à®•à¯à®®à¯.";
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://ta.wikipedia.org/wiki/%E0%AE%8E%E0%AE%A3%E0%AF%8D%E0%AE%95%E0%AE%A3%E0%AE%BF%E0%AE%A4%E0%AE%AE%E0%AF%8D";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "இர௠எணà¯à®•à®³à®¿à®©à¯ à®•à¯‚டà¯à®Ÿà¯ˆ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "இர௠எணà¯à®•à®³à®¿à®©à¯ à®µà®•à¯à®¤à¯à®¤à®²à¯ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "இர௠எணà¯à®•à®³à®¿à®©à¯ à®•à®´à®¿à®ªà¯à®ªà¯ˆ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "இர௠எணà¯à®•à®³à®¿à®©à¯ à®ªà¯†à®°à¯à®•à¯à®•à®²à¯ˆ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "à®®à¯à®¤à®²à¯ à®‰à®³à¯à®³à¯€à®Ÿà¯ à®‡à®°à®£à¯à®Ÿà®¾à®µà®¤à¯ à®Žà®£à¯ à®…ளவான à®…டà¯à®•à¯à®•à¯ à®ªà¯†à®°à¯à®•à¯à®•à¯ˆ à®•à®£à®¿à®¤à¯à®¤à¯ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯.";
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";
+Blockly.Msg["MATH_CHANGE_TITLE"] = "மாறà¯à®±à¯ %1 à®®à¯‚லம௠%2";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "எணà¯à®©à¯ˆ '%1' à®®à®¤à®¿à®ªà¯à®ªà®¾à®²à¯ à®•à¯‚டà¯à®Ÿà¯,";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://ta.wikipedia.org/wiki/%E0%AE%95%E0%AE%A3%E0%AE%BF%E0%AE%A4_%E0%AE%AE%E0%AE%BE%E0%AE%B1%E0%AE%BF%E0%AE%B2%E0%AE%BF";
+Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "ஒர௠மாறிலியை à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯ Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), or âˆž (à®®à¯à®Ÿà®¿à®µà®¿à®²à®¿).";
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "%1 à®®à®¾à®±à®¿à®¯à¯ˆ %2 à®®à¯‡à®²à¯à®®à¯ %3 à®•à¯€à®´à¯à®®à¯ à®µà®±à¯à®ªà¯à®±à¯à®¤à¯à®¤à¯";
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "எண௠மாறி à®µà¯€à®šà¯à®•à®³à®®à¯ à®‰à®³à¯à®³à®Ÿà®™à¯à®•à®¿à®¯ à®µà®¾à®±à¯ à®µà®±à¯à®ªà¯à®±à¯à®¤à¯à®¤à¯";
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";  // untranslated
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "ஆல௠வகà¯à®ªà®Ÿà®•à¯ à®•à¯‚டியதà¯";
+Blockly.Msg["MATH_IS_EVEN"] = "2-ஆல௠பகà¯à®®à¯";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "எண௠கà¯à®±à¯ˆà®µà®¾à®©à®¤à®¾  ?";
+Blockly.Msg["MATH_IS_ODD"] = "2-ஆல௠பகாத";
+Blockly.Msg["MATH_IS_POSITIVE"] = "எண௠நேரà¯à®® à®®à¯à®´à¯à®¤à®¾à®©à®¤à®¾  ?";
+Blockly.Msg["MATH_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.";  // untranslated
+Blockly.Msg["MATH_IS_WHOLE"] = "எண௠மà¯à®´à¯à®¤à®¾à®©à®¤à®¾?";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://en.wikipedia.org/wiki/Modulo_operation";
+Blockly.Msg["MATH_MODULO_TITLE"] = "%1 Ã· %2ன௠மீதி";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "இரணà¯à®Ÿà¯ à®Žà®£à¯à®•à®³à¯ à®®à¯‚லம௠பிரிவில௠இரà¯à®¨à¯à®¤à¯ à®Žà®žà¯à®šà®¿à®¯à®¤à¯ˆ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯.";
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";  // untranslated
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://ta.wikipedia.org/wiki/%E0%AE%8E%E0%AE%A3%E0%AF%8D";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "ஒர௠எணà¯.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "படà¯à®Ÿà®¿à®¯à®²à®¿à®©à¯ à®Žà®£à¯ à®šà®°à®¾à®šà®°à®¿";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "படà¯à®Ÿà®¿à®¯à®²à®¿à®©à¯ à®®à®¿à®•à¯à®¤à®¿";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "படà¯à®Ÿà®¿à®¯à®²à®¿à®©à¯ à®¨à®Ÿà¯à®•à¯à®•à¯‹à®Ÿà¯";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "படà¯à®Ÿà®¿à®¯à®²à®¿à®©à¯ à®•à®±à¯ˆà®µà¯";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "படà¯à®Ÿà®¿à®¯à®²à®¿à®©à¯ à®ªà¯Šà®¤à¯à®µà®•à¯ˆà®•à®³à¯";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "ஒர௠படà¯à®Ÿà®¿à®¯à®²à®¿à®²à¯ à®‡à®°à¯à®¨à¯à®¤à¯ à®šà¯€à®°à®±à¯à®± à®‰à®°à¯à®ªà¯à®ªà®Ÿà®¿";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "படà¯à®Ÿà®¿à®¯à®²à®¿à®©à¯ à®¨à®¿à®¯à®®à®µà®¿à®²à®•à®²à¯";
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "படà¯à®Ÿà®¿à®¯à®²à®¿à®©à¯ à®•à¯‚டà¯à®Ÿà¯";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "à®®à¯à®´à¯ à®ªà®Ÿà¯à®Ÿà®¿à®¯à®²à®¿à®©à¯ à®Žà®£à¯ à®šà®°à®¾à®šà®°à®¿ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "படà¯à®Ÿà®¿à®¯à®²à®¿à®©à¯ à®…திகமான à®Žà®£à¯ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "படà¯à®Ÿà®¿à®¯à®²à®¿à®©à¯ à®¨à®Ÿà¯à®•à¯à®•à¯‹à®Ÿà¯ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "படà¯à®Ÿà®¿à®¯à®²à®¿à®©à¯ à®•à¯à®±à¯ˆà®µà®¾à®© à®Žà®£à¯ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "படà¯à®Ÿà®¿à®¯à®²à®¿à®©à¯ à®ªà¯Šà®¤à¯à®µà®•à¯ˆà®•à®³à¯ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "ஒர௠படà¯à®Ÿà®¿à®¯à®²à®¿à®²à¯ à®‡à®°à¯à®¨à¯à®¤à¯ à®šà¯€à®°à®±à¯à®± à®‰à®°à¯à®ªà¯à®ªà®Ÿà®¿ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "படà¯à®Ÿà®¿à®¯à®²à®¿à®©à¯ à®¨à®¿à®¯à®®à®µà®¿à®²à®•à®²à¯ˆ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "à®®à¯à®´à¯ à®ªà®Ÿà¯à®Ÿà®¿à®¯à®²à®¿à®©à¯ à®Žà®£à¯ à®šà®®à®®à¯ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯,";
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "சீரறà¯à®± à®Žà®£à¯ à®ªà®¿à®©à¯à®©à®®à¯";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "சீரறà¯à®± à®Žà®£à¯ à®ªà®¿à®©à¯à®©à®®à¯, 0.0 à®‡à®²à¯ à®‡à®°à¯à®¨à¯à®¤à¯ 1.0 à®‰à®Ÿà¯à®ªà®Ÿ, à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯.";
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "வீசà¯à®•à®³à®®à¯ %1 à®‡à®²à¯ à®‡à®°à¯à®¨à¯à®¤à¯ %2 à®‰à®³à¯à®³à®Ÿà®™à¯à®•à®¿à®¯ à®µà®¾à®±à¯  à®šà¯€à®°à®±à¯à®± à®Žà®£à¯";
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "வீசà¯à®•à®³à®®à¯ à®‡à®²à¯ à®‡à®°à¯à®¨à¯à®¤ (உளà¯à®³à®Ÿà®™à¯à®•à®¿à®¯) à®µà®¾à®±à¯  à®šà¯€à®°à®±à¯à®± à®Žà®£à¯ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯.";
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://en.wikipedia.org/wiki/Rounding";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "à®®à¯à®´à¯à®®à¯ˆà®¯à®¾à®•à¯à®•à¯";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "கீழà¯à®µà®´à®¿ à®®à¯à®´à¯à®®à¯ˆà®¯à®¾à®•à¯à®•à¯";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "மேலà¯à®µà®´à®¿ à®®à¯à®´à¯à®®à¯ˆà®¯à®¾à®•à¯à®•à¯";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "மேலà¯/கீழ௠வழி à®®à¯à®´à¯ à®Žà®£à¯ à®†à®• à®®à®¾à®±à¯à®±à¯.";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://ta.wikipedia.org/wiki/%E0%AE%B5%E0%AE%B0%E0%AF%8D%E0%AE%95%E0%AF%8D%E0%AE%95%E0%AE%AE%E0%AF%82%E0%AE%B2%E0%AE%AE%E0%AF%8D";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "தனிதà¯à®¤";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "வரà¯à®•à¯à®•à®®à¯‚லமà¯";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "ஒர௠எணà¯à®£à®¿à®©à¯ à®¤à®©à®¿à®¤à¯à®¤ à®®à®¤à®¿à®ªà¯à®ªà¯ˆ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "e-இன௠எண௠அடà¯à®•à¯à®•à¯  à®ªà¯†à®°à¯à®•à¯à®•à¯ˆ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "ஒர௠எணà¯à®£à®¿à®©à¯ (இயறà¯à®•à¯ˆ) à®®à®Ÿà®•à¯à®•à¯ˆ à®®à®¤à®¿à®ªà¯à®ªà¯ˆ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "ஒர௠எணà¯à®£à®¿à®©à¯ (10) à®®à®Ÿà®•à¯à®•à¯ˆ à®®à®¤à®¿à®ªà¯à®ªà¯ˆ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "ஒர௠எணà¯à®£à®¿à®©à¯ à®Žà®¤à®¿à®°à¯à®®à®±à¯ˆ à®®à®¤à®¿à®ªà¯à®ªà¯ˆ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "10-இன௠எண௠அடà¯à®•à¯à®•à¯  à®ªà¯†à®°à¯à®•à¯à®•à¯ˆ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "ஒர௠எணà¯à®£à®¿à®©à¯ à®µà®°à¯à®•à¯à®•à®®à¯‚லதà¯à®¤à¯ˆà®¤à¯ à®¤à®°à¯à®®à¯.";
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";  // untranslated
+Blockly.Msg["MATH_TRIG_ACOS"] = "acos";  // untranslated
+Blockly.Msg["MATH_TRIG_ASIN"] = "asin";  // untranslated
+Blockly.Msg["MATH_TRIG_ATAN"] = "atan";  // untranslated
+Blockly.Msg["MATH_TRIG_COS"] = "cos";  // untranslated
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://ta.wikipedia.org/wiki/%E0%AE%AE%E0%AF%81%E0%AE%95%E0%AF%8D%E0%AE%95%E0%AF%8B%E0%AE%A3%E0%AE%B5%E0%AE%BF%E0%AE%AF%E0%AE%B2%E0%AF%8D_%E0%AE%9A%E0%AE%BE%E0%AE%B0%E0%AF%8D%E0%AE%AA%E0%AF%81%E0%AE%95%E0%AE%B3%E0%AF%8D";
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";  // untranslated
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "மதிபà¯à®ªà®¿à®©à¯ à®¨à¯‡à®°à¯à®®à®¾à®±à¯ à®•à¯‹à®šà¯ˆà®©à¯ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "மதிபà¯à®ªà®¿à®©à¯ à®¨à¯‡à®°à¯à®®à®¾à®±à¯ à®šà¯ˆà®©à¯ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "மதிபà¯à®ªà®¿à®©à¯ à®¨à¯‡à®°à¯à®®à®¾à®±à¯ à®Ÿà¯‡à®žà¯à®šà®©à¯à®Ÿà¯ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯";
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "டிகிரீ à®•à¯‹à®šà¯ˆà®©à¯ à®®à®¤à®¿à®ªà¯à®ªà¯ˆ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯";
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "டிகிரீ à®šà¯ˆà®©à¯ à®®à®¤à®¿à®ªà¯à®ªà¯ˆ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "டிகிரீ à®Ÿà¯‡à®žà¯à®šà®©à¯à®Ÿà¯ à®®à®¤à®¿à®ªà¯à®ªà¯ˆ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯";
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Create colour variable...";  // untranslated
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Create number variable...";  // untranslated
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Create string variable...";  // untranslated
+Blockly.Msg["NEW_VARIABLE"] = "பà¯à®¤à®¿à®¯ à®®à®¾à®±à®¿à®²à®¿...";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "பà¯à®¤à®¿à®¯ à®®à®¾à®±à®¿à®²à®¿à®¯à®¿à®©à¯ à®ªà¯†à®¯à®°à¯:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "New variable type:";  // untranslated
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "வாகà¯à®•à¯à®®à¯‚லஙà¯à®•à®³à¯ˆ à®…னà¯à®®à®¤à®¿à®•à¯à®•à®µà¯à®®à¯";
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "இதà¯à®¤à¯à®Ÿà®©à¯";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29";
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "பயனரின௠'%1' à®šà¯†à®¯à®±à¯à®•à¯‚à®±à¯à®±à¯ˆ à®“டà¯à®Ÿà¯.";
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29";
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "பயனரின௠'%1' à®šà¯†à®¯à®±à¯à®•à¯‚à®±à¯à®±à¯ˆ à®“டà¯à®Ÿà®¿ à®µà®°à¯à®®à¯ à®µà¯†à®³à®¿à®¯à¯€à®Ÿà¯à®Ÿà¯ˆ à®ªà®¯à®©à¯à®ªà®Ÿà¯à®¤à¯à®¤à¯.";
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "இதà¯à®¤à¯à®Ÿà®©à¯:";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "'%1' à®‰à®°à¯à®µà®¾à®•à¯à®•à¯à®•";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Describe this function...";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "கடà¯à®Ÿà®³à¯ˆà®•à®³à¯ à®šà¯†à®¯à¯à®¯ (இடமà¯à®•à®¾à®Ÿà¯à®Ÿà®¿)";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "இநà¯à®¤ à®®à®¾à®±à®¿à®¯à®¿à®±à¯à®•à¯";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "வெளியீட௠இலà¯à®²à®¾à®¤ à®’ர௠செயலà¯à®ªà®¾à®Ÿà¯ à®‰à®°à¯à®µà®¾à®•à¯à®•à¯à®•à®¿à®±à®¤à¯";
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "பினà¯à®•à¯Šà®Ÿà¯";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "வெளியீட௠உளà¯à®³ à®’ர௠செயலà¯à®ªà®¾à®Ÿà¯ à®‰à®°à¯à®µà®¾à®•à¯à®•à¯à®•à®¿à®±à®¤à¯";
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "எசà¯à®šà®°à®¿à®•à¯à®•à¯ˆ: à®‡à®¨à¯à®¤ à®šà¯†à®¯à®±à¯à®•à¯‚றில௠போலியான à®…ளபà¯à®°à¯à®•à¯à®•à®³à¯ à®‰à®£à¯à®Ÿà¯.";
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "நிரலà¯à®ªà®¾à®•à®¤à¯à®¤à¯ˆ à®µà®¿à®³à®•à¯à®•à®®à®¾à®• à®•à®¾à®Ÿà¯à®Ÿà¯";
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "மதிபà¯à®ªà¯ à®‰à®£à¯à®®à¯ˆà®¯à®¾à®©à®¾à®²à¯, à®‡à®°à®£à¯à®Ÿà®¾à®µà®¤à¯ à®®à®¤à®¿à®ªà¯à®ªà¯ˆ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯.";
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "Warning: This block may be used only within a function definition.";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "பெயரை à®‰à®³à¯à®³à®¿à®Ÿà¯à®•:";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "செயலà¯à®•à¯‚à®±à¯à®•à¯à®•à¯ à®’ர௠உளà¯à®³à¯€à®Ÿà¯à®Ÿà¯ˆ à®šà¯‡à®°à¯.";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "உளà¯à®³à¯€à®Ÿà¯à®•à®³à¯";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "செயலà¯à®•à¯‚à®±à¯à®•à®³à®¿à®©à¯ à®‰à®³à¯à®³à¯€à®Ÿà¯à®Ÿà¯ˆ à®šà¯‡à®°à¯, à®¨à¯€à®•à¯à®•à¯, or à®®à¯€à®£à¯à®Ÿà¯à®®à¯ à®µà®°à®¿à®šà¯ˆ à®šà¯†à®¯à¯.";
+Blockly.Msg["REDO"] = "Redo";  // untranslated
+Blockly.Msg["REMOVE_COMMENT"] = "கரà¯à®¤à¯à®¤à¯ˆ à®¨à¯€à®•à¯à®•à¯";
+Blockly.Msg["RENAME_VARIABLE"] = "மாறிலியை à®®à®±à¯à®ªà¯†à®¯à®°à®¿à®Ÿà¯à®•...";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "அனைதà¯à®¤à¯ '%1' à®®à®¾à®±à®¿à®²à®¿à®•à®³à¯ˆà®¯à¯à®®à¯ à®ªà®¿à®©à¯à®µà®°à¯à®®à®¾à®±à¯ à®®à®±à¯à®ªà¯†à®¯à®°à®¿à®Ÿà¯à®•:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "இநà¯à®¤ à®®à®¾à®±à®¿à®¯à®¿à®±à¯à®•à¯ %1 à®‰à®°à¯ˆ à®šà¯‡à®°à¯à®•à¯à®• %2";
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "'%1' à®®à®¾à®±à®¿à®¯à®¿à®²à¯ à®‰à®°à¯ˆà®¯à¯ˆ à®šà¯‡à®°à¯";
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "சினà¯à®© à®Žà®´à¯à®¤à¯à®¤à¯à®•à¯à®•à¯ à®®à®¾à®±à¯à®±à¯";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "தலைபà¯à®ªà¯ à®Žà®´à¯à®¤à¯à®¤à¯à®•à¯à®•à¯ à®®à®¾à®±à¯à®±à¯";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "பொரிய à®Žà®´à¯à®¤à¯à®¤à¯à®•à¯à®•à¯ à®®à®¾à®±à¯à®±à¯";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "உரை à®¨à®•à®²à¯ à®Žà®Ÿà¯à®¤à¯à®¤à¯ à®ªà¯Šà®°à®¿à®¯/சினà¯à®© à®Žà®´à¯à®¤à¯à®¤à¯ à®®à®¾à®±à¯à®±à®¿ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯.";
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "à®®à¯à®¤à®²à¯ à®Žà®´à¯à®¤à¯à®¤à¯ˆà®ªà¯ à®ªà¯†à®±à¯à®•";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "à®®à¯à®Ÿà®¿à®µà®¿à®²à¯ à®‡à®°à¯à®¨à¯à®¤à¯ # à®Žà®´à¯à®¤à¯à®¤à¯ˆ à®Žà®Ÿà¯";
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "# à®Žà®´à¯à®¤à¯à®¤à¯ˆ à®Žà®Ÿà¯";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "இறà¯à®¤à®¿ à®Žà®´à¯à®¤à¯à®¤à¯ˆà®ªà¯ à®ªà¯†à®±à¯à®•";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "சமவாயà¯à®ªà¯à®ªà¯à®³à¯à®³ à®Žà®´à¯à®¤à¯à®¤à¯ˆ à®Žà®Ÿà¯";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "in text %1 %2";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "கூறிய à®‡à®Ÿà®¤à¯à®¤à®¿à®²à¯ à®‰à®³à¯à®³ à®Žà®´à¯à®¤à¯à®¤à¯ˆ à®Žà®Ÿà¯";
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";  // untranslated
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "count %1 in %2";  // untranslated
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Count how many times some text occurs within some other text.";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "உரà¯à®ªà®Ÿà®¿à®¯à¯ˆ à®‰à®°à¯ˆà®¯à®¿à®²à¯ à®šà¯‡à®°à¯à®•à¯à®•.";
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "சேரà¯à®•à¯à®•";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "தொகà¯à®ªà¯à®ªà¯ à®‰à®°à¯ˆ à®¤à®¿à®°à¯à®¤à¯à®¤à¯à®¤à®®à¯ à®šà¯†à®¯à¯";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "எழà¯à®¤à¯à®¤à¯ à®•à®Ÿà¯ˆà®šà®¿à®¯à®¿à®²à¯ à®‡à®°à¯à®¨à¯à®¤à¯ # à®µà®°à¯ˆ";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "எழà¯à®¤à¯à®¤à¯ # à®µà®°à¯ˆ";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "கடைசி à®Žà®´à¯à®¤à¯à®¤à¯  à®µà®°à¯ˆ";
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "உரையிலà¯";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "-இல௠உடà¯à®•à®£à®®à¯ à®®à¯à®¤à®²à¯ à®Žà®´à¯à®¤à¯à®¤à®¿à®²à®¿à®°à¯à®¨à¯à®¤à¯";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "-இல௠உடà¯à®•à®£à®®à¯ à®•à®Ÿà¯ˆà®šà®¿ # à®Žà®´à¯à®¤à¯à®¤à®¿à®²à®¿à®°à¯à®¨à¯à®¤à¯";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "-இல௠உடà¯à®•à®£à®®à¯ # à®Žà®´à¯à®¤à¯à®¤à®¿à®²à®¿à®°à¯à®¨à¯à®¤à¯";
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "உரையின௠கà¯à®±à®¿à®¯à®¿à®Ÿà®ªà¯à®ªà®Ÿà¯à®Ÿ à®šà®°à®®à¯ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯";
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "உரையில௠மà¯à®¤à®²à¯ à®¤à¯‹à®±à¯à®± à®‡à®Ÿà®¤à¯à®¤à¯ˆ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "உரையில௠கடைசி à®¤à¯‹à®±à¯à®± à®‡à®Ÿà®¤à¯à®¤à¯ˆ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯";
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "உரையில௠%1 %2 %3";
+Blockly.Msg["TEXT_INDEXOF_TOOLTIP"] = "இரணà¯à®Ÿà®¾à®µà®¤à¯ à®‰à®°à¯ˆà®¯à®¿à®²à¯ à®®à¯à®¤à®²à¯ à®‰à®°à¯ˆà®¯à®¿à®©à¯ à®®à¯à®¤à®²à¯/கடை à®‡à®°à¯à®•à¯à®•à¯ˆ à®•à¯à®±à®¿à®Žà®£à¯à®£à¯ˆ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯.";
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 à®•à®¾à®²à®¿à®¯à®¾à®©à®¤à¯";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "காலியானத௠எனà¯à®±à®¾à®²à¯ à®®à¯†à®¯à¯ à®®à®¤à®¿à®ªà¯à®ªà¯ˆ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯";
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "வைதà¯à®¤à¯ à®‰à®°à¯ˆ à®‰à®°à¯à®µà®¾à®•à¯à®•";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "பல à®ªà¯Šà®°à¯à®Ÿà¯à®•à®³à¯ˆ à®’னà¯à®±à®¾à®• à®šà¯‡à®°à¯à®µà®¤à®©à¯ à®®à¯‚லம௠உரை à®‰à®°à¯à®µà®¾à®•à¯à®•.";
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "%1ன௠நீளமà¯";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "தொடரில௠உளà¯à®³ à®Žà®´à¯à®¤à¯à®¤à¯à®•à¯à®•à®³à®¿à®©à¯ (இடைவெளிகளையà¯à®®à¯ à®šà¯‡à®°à¯à®¤à¯à®¤à¯) à®Žà®£à¯à®£à®¿à®•à¯ˆà®¯à¯ˆ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯.";
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "%1 à®…சà¯à®šà®¿à®Ÿà¯à®•";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "மதிபà¯à®ªà¯ˆ à®…சà¯à®šà®¿à®Ÿà¯";
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "எணà¯-உளà¯à®³à¯€à®Ÿà¯ à®¤à¯‚ணà¯à®Ÿà¯à®¤à®²à¯ˆ à®•à®¾à®Ÿà¯à®Ÿà¯";
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "உரை-உளà¯à®³à¯€à®Ÿà¯ à®¤à¯‚ணà¯à®Ÿà¯à®¤à®²à¯ˆ à®•à®¾à®Ÿà¯à®Ÿà¯";
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "உரை à®•à¯Šà®£à¯à®Ÿà¯ à®Žà®£à¯-உளà¯à®³à¯€à®Ÿà¯ à®¤à¯‚ணà¯à®Ÿà¯à®¤à®²à¯ˆ à®•à®¾à®Ÿà¯à®Ÿà¯";
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "உரை à®•à¯Šà®£à¯à®Ÿà¯ à®‰à®°à¯ˆ-உளà¯à®³à¯€à®Ÿà¯ à®¤à¯‚ணà¯à®Ÿà¯à®¤à®²à¯ˆ à®•à®¾à®Ÿà¯à®Ÿà¯";
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";  // untranslated
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "replace %1 with %2 in %3";  // untranslated
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Replace all occurances of some text within some other text.";  // untranslated
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";  // untranslated
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Reverses the order of the characters in the text.";  // untranslated
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://ta.wikipedia.org/wiki/%E0%AE%9A%E0%AE%B0%E0%AE%AE%E0%AF%8D_%28%E0%AE%95%E0%AE%A3%E0%AE%BF%E0%AE%A9%E0%AE%BF%E0%AE%AF%E0%AE%BF%E0%AE%AF%E0%AE%B2%E0%AF%8D%29";
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "எழà¯à®¤à¯à®¤à¯, à®šà®°à®®à¯, à®šà¯Šà®²à¯, à®…லà¯à®²à®¤à¯ à®‰à®°à¯ˆ à®šà¯Šà®±à¯à®¤à¯Šà®Ÿà®°à¯.";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "இர௠பகà¯à®•à®¤à¯à®¤à®¿à®²à¯à®®à¯ à®‡à®Ÿà¯ˆà®µà¯†à®³à®¿ à®Žà®´à¯à®¤à¯à®¤à¯ à®¨à¯‡à®°à¯à®¤à¯à®¤à®¿ à®šà¯†à®¯à¯.";
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "இடத௠பகà¯à®•à®¤à¯à®¤à®¿à®²à¯ à®‡à®Ÿà¯ˆà®µà¯†à®³à®¿ à®Žà®´à¯à®¤à¯à®¤à¯ à®¨à¯‡à®°à¯à®¤à¯à®¤à®¿ à®šà¯†à®¯à¯.";
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "வலத௠பகà¯à®•à®¤à¯à®¤à®¿à®²à¯ à®‡à®Ÿà¯ˆà®µà¯†à®³à®¿ à®Žà®´à¯à®¤à¯à®¤à¯ à®¨à¯‡à®°à¯à®¤à¯à®¤à®¿ à®šà¯†à®¯à¯.";
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "உரை à®¨à®•à®²à¯ à®Žà®Ÿà¯à®¤à¯à®¤à¯ à®‡à®Ÿà¯ˆà®µà¯†à®³à®¿ à®Žà®´à¯à®¤à¯à®¤à¯ à®¨à¯€à®•à¯à®•à®¿ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯.";
+Blockly.Msg["TODAY"] = "இனà¯à®±à¯";
+Blockly.Msg["UNDO"] = "Undo";  // untranslated
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "உரà¯à®ªà¯à®ªà®Ÿà®¿";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "'%1 à®¨à®¿à®¯à®®à®¿' à®‰à®°à¯à®µà®¾à®•à¯à®•à¯";
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "இநà¯à®¤ à®®à®¾à®±à®¿ à®®à®¤à®¿à®ªà¯à®ªà¯ˆ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯";
+Blockly.Msg["VARIABLES_SET"] = "நியமி %1 à®‡à®¨à¯à®¤ à®®à®¾à®±à®¿à®¯à®¿à®±à¯à®•à¯ %2";
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "'எட௠%1' à®‰à®°à¯à®µà®¾à®•à¯à®•à¯";
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "மாறியின௠மதிபà¯à®ªà®¾à®¯à¯ à®‰à®³à¯à®³à¯€à®Ÿà¯à®Ÿà¯ à®®à®¤à®¿à®ªà¯à®ªà¯ˆ à®µà¯ˆ.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "A variable named '%1' already exists.";  // untranslated
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "A variable named '%1' already exists for another type: '%2'.";  // untranslated
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something...";  // untranslated
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/tcy.js b/js/msg/js/tcy.js
new file mode 100644 (file)
index 0000000..2d11b9d
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.tcy');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["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'";  // untranslated
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "ಮೌಲà³à²¯à³Šà²¨à³ à²¬à²¦à²²à³ à²®à²²à³à²ªà³";
+Blockly.Msg["CLEAN_UP"] = "ಬà³à²²à²¾à²•à³â€à²²à³†à²¨à³ à²¸à³à²µà³Šà²šà³à²šà³Š à²®à²²à³à²ªà³à²²à³†";
+Blockly.Msg["COLLAPSE_ALL"] = "ಮಾತಾ à²¤à²¡à³†à²•à³à²²à³†à²¨ à²®à²¾à²¹à²¿à²¤à²¿à²¨à³ à²Žà²²à³à²¯ à²®à²²à³à²ªà³";
+Blockly.Msg["COLLAPSE_BLOCK"] = "ಎಲà³à²¯à³† à²®à²²à³à²¤à³â€Œà²¦à³ à²¤à²¡à³†à²²à³†";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "ಬಣà³à²£à³Š à³§(ಒಂಜಿ)";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "ಬಣà³à²£à³Š à³¨(ರಡà³à²¡à³)";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";  // untranslated
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "ಅನà³à²ªà²¾à²¤à³Š";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "ಬೆರಕà³à²•à³† à²®à²²à³à²ªà³";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "ಕೊರಿನ à²…ನà³à²ªà²¾à²¤à³Šà²¡à³ (0.0- 1.0) à²°à²¡à³à²¡à³ à²¬à²£à³à²£à³Šà²²à³†à²¨à³ à²¬à³†à²°à²•à³† à²®à²²à³à²ªà³à²‚ಡà³.";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://en.wikipedia.org/wiki/ಬಣà³à²£à³Š";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "ಬಣà³à²£à³Š à²ªà²Ÿà³Šà²¡à³à²¦à³ à²’ಂಜಿ à²¬à²£à³à²£à³Šà²¨à³ à²†à²¯à³à²•à³† à²®à²²à³à²ªà³à²²à³†.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "ಒವà³à²µà³‡ à²’ಂಜಿ à²¬à²£à³à²£à³Š";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "ಒವà³à²µà²¾à²‚ಡಲ à²’ಂಜಿ à²¬à²£à³à²£à³Šà²¨à³ à²†à²¯à³à²•à³† à²®à²²à³à²ªà³à²²à³†";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "ನೀಲಿ";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "ಪಚà³à²šà³†";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";  // untranslated
+Blockly.Msg["COLOUR_RGB_RED"] = "ಕೆಂಪà³";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "ಬಣà³à²£à³Šà²¦";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "ತೊಜಪಾಯಿನ à²ªà³à²°à²®à²¾à²£à³Šà²¦ à²•à³†à²‚ಪà³, à²ªà²šà³à²šà³† à²¬à³Šà²•à³à²• à²¨à³€à²²à²¿ à²¬à²£à³à²£à³Šà²¡à³à²¦à³ à²’ಂಜಿ à²¬à²£à³à²£à³Šà²¨à³ à²‰à²‚ಡೠಮಲà³à²ªà³à²²à³†. à²®à²¾à²¤à²¾ à²®à³Œà²²à³à²¯à³Šà²²à³ 0 à²¬à³à²•à³à²•à³Š 100 à²¤ à²¨à²¡à³à²Ÿà³† à²‡à²ªà³à²ªà³Šà²¡à³.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "ಲೂಪೠಕಡಿಯà³à²¨à²¿";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "ಬೊಕà³à²•à²¦ à²²à³‚ಪೠಪà³à²¨à²°à²¾à²µà²°à³à²¤à²¨à³†à²¦à³Šà²Ÿà³à²Ÿà³à²—ೠದà³à²‚ಬರಿಲೆ";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "ಇತà³à²¤à²¿à²¨ à²²à³‚ಪà³â€à²¡à³à²¦à³ à²ªà²¦à²¿à²¯à²¿ à²¬à²²à³†";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "ಈ à²²à³‚ಪà³à²¨à³ à²…ರà³à²¦à³Šà²¡à³† à²¬à³à²¡à³à²¦à³ à²¬à³Šà²•à³à²• à²¨à²¨à²¤à³à²¤ à²ªà³à²¨à²°à²¾à²µà²°à³à²¤à²¨à³†à²—ೠದà³à²‚ಬರಿಲೆ";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "ಎಚà³à²šà²°à³Š: à²ˆ à²¤à²¡à³†à²¨à³ à²•à²¾à²²à²¿ à²’ಂಜಿ à²²à³‚ಪà³à²¦à³à²²à²¯à²¿ à²®à²¾à²¤à³à²° à²—ಳಸೊಲಿ.";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "%2 à²ªà²Ÿà³à²Ÿà²¿à²¡à³ à²ªà³à²°à²¤à²¿ à²’ಂಜಿ à²µà²¿à²¸à²¯ %1 à²—à³";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "ಒಂಜಿ à²ªà²Ÿà³à²Ÿà²¿à²¡à³ à²ªà³à²°à²¤à²¿ à²µà²¿à²¸à²¯à³Šà²—à³, '%1' à²µà³à²¯à²¤à³à²¯à²¾à²¯à³Šà²¨à³ à²µà²¿à²¸à²¯à³Šà²—ೠಜೋಡಾಲೆ, à²¬à³Šà²•à³à²• à²•à³†à²²à²µà³ à²ªà²¾à²¤à³†à²°à³Šà²²à³†à²¨à³ à²®à²²à³à²ªà³à²²à³†.";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "%2 à²¡à³à²¦à³ %3 à²®à³à²Ÿ %4 à²¸à²°à³à²¤à²¿ %1 à²¦ à²’ಟà³à²Ÿà³à²—ೠಗೆನà³à²ªà³";
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "ನಿರà³à²¦à²¿à²¸à³à²Ÿà³Š à²®à²¦à³à²¯à²‚ತರೊದ à²®à³‚ಲಕೊ à²¦à³†à²¤à³Šà²‚ದೠ'%1' à²µà³à²¯à²¤à³à²¯à²¯à³Šà²¡à³ à²¸à³à²°à³à²¤à³à²¤ à²…ಂಕೆಡà³à²¦à³ à²•à²¡à³†à²¤à³à²¤ à²…ಂಕೆ à²®à³à²Ÿà³à²Ÿà²¦ à²®à³Œà²²à³à²¯à³Šà²¨à³ à²¦à³†à²¤à³à²¤à³Šà²¨à²¾à²µà³ à²¬à³Šà²•à³à²• à²¨à²¿à²—ಂಟೠಮಲà³à²¤à²¿à²¨ à²¤à²¡à³†à²•à³à²²à³†à²¨à³ à²®à²²à³à²ªà³";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "'ಒಂಜಿ à²µà³‡à²²à³†' à²¤à²¡à³†à²•à³à²•à³ à²’ಂಜಿ à²¶à²°à³à²¤à²¨à³ à²¸à³‡à²°à²¾à²µà³";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "'ಒಂಜಿ à²µà³‡à²²à³†' à²¤à²¡à³†à²•à³à²•à³ à²’ಂಜಿ à²•à²¡à³†à²¤à³à²¤ à²®à²¾à²¤à³†à²¨à³à²²à²¾-ಪತà³à²¤à³ (catch-all) à²¶à²°à³à²¤à²¨à³ à²¸à³‡à²°à²¾à²µà³";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "ಸೇರಾವà³, à²¦à³†à²¤à³à²¤à³â€Œ à²¬à³à²¡à³, à²…ತà³à²¤à²‚ಡ à²ˆ 'ಒಂಜಿ à²µà³‡à²²à³†' à²¤à²¡à³†à²¨à³ à²•à³à²¡ à²¸à²‚ರಚಣೆ à²®à²²à³à²ªà³†à²°à³† à²µà²¿à²­à²¾à²—ೊಲೆನೠಕà³à²¡ à²’ತà³à²¤à²°à³† à²®à²²à³à²ªà³à²²à³†.";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "ಅತà³à²¤à²‚ಡ";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "ಅತà³à²¤à²‚ಡ";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "ಒಂಜಿ à²µà³‡à²²à³†";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "ಮೌಲà³à²¯ à²¨à²¿à²œ à²†à²¦à²¿à²¤à³à²¤à³à²‚ಡ à²•à³†à²²à²µà³ à²ªà²¾à²¤à³†à²°à³Šà²²à³†à²¨à³ à²®à²²à³à²ªà³";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "ಮೌಲà³à²¯ à²¨à²¿à²œà²µà²¾à²¦à²¿à²¤à³à²¤à³â€Œà²‚ಡ, à²ªà²¾à²¤à³†à²°à³Šà²²à³†à²¨ à²¸à³à²°à³à²¤à³à²¤ à²¤à²¡à³† à²®à²²à³à²ªà³. à²‡à²œà³à²œà²¿à²‚ಡ à²ªà²¾à²¤à³†à²°à³Šà²²à³†à²¨ à²°à²¡à³à²¡à²¨à³† à²¤à²¡à³† à²®à²²à³à²ªà³.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "ಸà³à²°à³à²¤à³à²¤ à²®à³Œà²²à³à²¯ à²¨à²¿à²œà²µà²¾à²¦à²¿à²¤à³à²¤à³â€Œà²‚ಡ, à²ªà²¾à²¤à³†à²°à³Šà²²à³†à²¨ à²¸à³à²°à³à²¤à³à²¤ à²¤à²¡à³† à²®à²²à³à²ªà³. à²‡à²œà³à²œà²¿à²‚ಡ, à²°à²¡à³à²¡à²¨à³† à²®à³Œà²²à³à²¯ à²¨à²¿à²œà²µà²¾à²¦à²¿à²¤à³à²¤à³à²‚ಡ, à²ªà²¾à²¤à³†à²°à³Šà²²à³†à²¨ à²°à²¡à³à²¡à²¨à³† à²¤à²¡à³† à²®à²²à³à²ªà³.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "ಸà³à²°à³à²¤à³à²¤ à²®à³Œà²²à³à²¯à³Š à²¨à²¿à²œà²µà²¾à²¦à²¿à²¤à³à²¤à³â€Œà²‚ಡ, à²ªà²¾à²¤à³†à²°à³Šà²²à³†à²¨ à²¸à³à²°à³à²¤à³à²¤ à²¤à²¡à³† à²®à²²à³à²ªà³. à²‡à²œà³à²œà²¿à²‚ಡ, à²°à²¡à³à²¡à²¨à³†à²¦ à²®à³Œà²²à³à²¯ à²¨à²¿à²œà²µà²¾à²¦à²¿à²¤à³à²¤à³à²‚ಡ, à²ªà²¾à²¤à³†à²°à³Šà²²à³†à²¨ à²°à²¡à³à²¡à²¨à³† à²¤à²¡à³† à²®à²²à³à²ªà³. à²’ಂಜೇಲೆ à²’ವà³à²µà³‡ à²®à³Œà²²à³à²¯ à²¨à²¿à²œà²µà²¾à²¦à²¿à²¤à³à²¤à²¿à²œà²¿à²‚ಡ, à²ªà²¾à²¤à³†à²°à³Šà²²à³†à²¨ à²•à²¡à³†à²¤à³à²¤ à²¤à²¡à³† à²®à²²à³à²ªà³.";
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://en.wikipedia.org/wiki/For_loop";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "ಮಲà³à²ªà³à²²à³†";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = " %1 à²¸à²°à³à²¤à²¿ à²•à³‚ಡೊರ à²®à²²à³à²ªà³";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "ಕೆಲವೠಪಾತೆರೊಲೆನೠಮಸà³à²¤à³ à²¸à²°à³à²¤à²¿ à²®à²²à³à²ªà³";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "ಉಂದೠನಿಜ à²†à²ªà²¿à²²à³†à²•à³Š à²•à³à²¡à³Šà²° à²®à²²à³à²ªà³:";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "ಉಂದೠನಿಜ à²†à²‚ಡ à²•à³à²¡à³Šà²° à²®à²²à³à²ªà³:";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "ಮೌಲà³à²¯ à²¤à²ªà³à²ªà³ à²†à²¦à²¿à²¤à³à²¤à³à²‚ಡ à²•à³†à²²à²µà³ à²ªà²¾à²¤à³†à²°à³Šà²²à³†à²¨à³ à²®à²²à³à²ªà³";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "ಮೌಲà³à²¯ à²¨à²¿à²œ à²†à²¦à²¿à²¤à³à²¤à³à²‚ಡ à²•à³†à²²à²µà³ à²ªà²¾à²¤à³†à²°à³Šà²²à³†à²¨à³ à²®à²²à³à²ªà³";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "ಮಾತ %1 à²¬à³à²²à²¾à²•à³â€à²²à³†à²¨à³ à²¦à³†à²¤à³à²¤à³â€Œà²¦à³ à²¬à³à²¡à³Šà²¡à³†?";
+Blockly.Msg["DELETE_BLOCK"] = "ಬà³à²²à²¾à²•à³â€à²¨à³ à²®à²¾à²œà²¾à²µà³";
+Blockly.Msg["DELETE_VARIABLE"] = "'%1' à²µà³à²¯à²¤à³à²¯à²¯à³Šà²¨à³ à²®à²¾à²œà²¾à²²à³†";
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "'%2' à²µà³à²¯à²¤à³à²¯à²¯à³Šà²¦ %1 à²‰à²ªà²¯à³‹à²—ೊಲೆನೠಮಾಜಾವೊಡೆ?";
+Blockly.Msg["DELETE_X_BLOCKS"] = "%1 à²¬à³à²²à²¾à²•à³â€à²²à³†à²¨à³ à²®à²¾à²œà²¾à²µà³";
+Blockly.Msg["DISABLE_BLOCK"] = "ಬà³à²²à²¾à²•à³â€à²¨à³ à²¦à³†à²¤à³à²¤à³â€Œà²ªà²¾à²¡à³";
+Blockly.Msg["DUPLICATE_BLOCK"] = "ನಕಲà³";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicate Comment";  // untranslated
+Blockly.Msg["ENABLE_BLOCK"] = "ತಡೆನೠಸಕà³à²°à²¿à²¯à³Š à²®à²²à³à²ªà³";
+Blockly.Msg["EXPAND_ALL"] = "ಮಾತಾ à²¤à²¡à³†à²•à³à²²à³†à²¨ à²®à²¾à²¹à²¿à²¤à²¿à²¨à³ à²ªà²°à²¡à²¾à²µà³";
+Blockly.Msg["EXPAND_BLOCK"] = "ಬà³à²²à²¾à²•à³â€à²¦ à²®à²¾à²¹à²¿à²¤à²¿à²¨à³ à²ªà²°à²¡à²¾à²µà³";
+Blockly.Msg["EXTERNAL_INPUTS"] = "ಪಿದಯಿದ à²ªà²°à²¿à²ªà³";
+Blockly.Msg["HELP"] = "ಸಕಾಯೊ";
+Blockly.Msg["INLINE_INPUTS"] = "ಉಳಸಾಲà³â€à²¦ à²‰à²³à²ªà²°à²¿à²ªà³";
+Blockly.Msg["IOS_CANCEL"] = "ವಜಾ à²®à²²à³à²ªà³à²²à³†";
+Blockly.Msg["IOS_ERROR"] = "ದೋಷ";
+Blockly.Msg["IOS_OK"] = "ಸರಿ";
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ à²‡à²¨à³â€Œà²ªà³à²Ÿà³ à²¸à³‡à²°à²¾à²²à³†";
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "ಹೇಳಿಕೆಗೠಅವಕಾಸೊ";
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "ಈ à²•à²¾à²°à³à²¯à³Šà²¡à³ à²¡à³à²ªà³à²²à²¿à²•à³‡à²Ÿà³ à²‡à²¨à³â€Œà²ªà³à²Ÿà³ à²‰à²‚ಡà³.";
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "ಇನà³â€Œà²ªà³à²Ÿà³â€Œà²²à³";
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "ಸೇರಾಲೆ";
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ à²µà³à²¯à²¤à³à²¯à²¯à³Šà²¨à³ à²¸à³‡à²°à²¾à²²à³†";
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "ಮಾಜಾಲೆ";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "ವà³à²¯à²¤à³à²¯à²¯à³Šà²¦ à²ªà³à²¦à²°à³â€Œà²¨à³ à²–ಾಲಿ à²¬à³à²¡à²¿à²¯à³†à²°à³† à²†à²ªà³à²œà²¿";
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "ಪೊಸ à²ªà³à²¦à²°à³";
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "ವà³à²¯à²¤à³à²¯à²¯à³Šà²¦ à²ªà³à²¦à²°à³";
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "ಕಾಲಿ à²ªà²Ÿà³à²Ÿà²¿à²¨à³ à²‰à²‚ಡà³à²®à²²à³à²ªà³à²²à³†";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "ಒಂಜಿ à²ªà²Ÿà³à²Ÿà²¿, à³¦ à²‰à²¦à³à²¦à³Šà²¦, à²’ವà³à²µà³‡ à²®à²¾à²¹à²¿à²¤à²¿ à²¦à²¾à²‚ತಿನ à²¦à²¾à²–ಲೆ à²ªà²¿à²°à²•à³Šà²°à³.";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "ಪಟà³à²Ÿà²¿";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "ಈ à²ªà²Ÿà³à²Ÿà²¿ à²¤à²¡à³†à²¨à³ à²•à³à²¡ à²¸à²‚ರಚನೆ à²®à²²à³à²ªà³†à²°à³† à²¸à³‡à²°à²¾à²²à³†, à²¦à³†à²¤à³à²¤à³ à²¬à³à²¡à³à²²à³†, à²…ತà³à²¤à²‚ಡ à²µà²¿à²¬à²¾à²—ೊಲೆನೠಕà³à²¡ à²’ತà³à²¤à²°à³† à²®à²²à³à²ªà³à²²à³†.";
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "ಒಟà³à²Ÿà³à²—ೠಪಟà³à²Ÿà²¿à²¨à³ à²‰à²‚ಡà³à²®à²²à³à²ªà³à²²à³†";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "ಪಟà³à²Ÿà²¿à²—ೠಒಂಜಿ à²µà²¿à²¸à²¯à³Šà²¨à³ à²¸à³‡à²°à²¾à²²à³†.";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "à²à²¤à³‡ à²µà²¿à²¸à²¯à³Šà²²à³à²ªà³à²ªà³à²¨ à²’ಂಜಿ à²ªà²Ÿà³à²Ÿà²¿à²¨à³ à²‰à²‚ಡà³à²®à²²à³à²ªà³à²²à³†";
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "ಸà³à²°à³à²¤";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "ಅಕೇರಿಡà³à²¦à³ #";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "ದೆತೊನà³";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "ದೆತà³à²¤à³Šà²¨à³ à²¬à³Šà²•à³à²• à²¦à³†à²¤à³à²¤à³ à²¬à³à²¡à³";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "ಕಡೆತ";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "ಗೊತà³à²¤à³ à²—à³à²°à²¿à²¦à²¾à²‚ತಿನ";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "ದೆಪà³à²ªà³à²²à³†";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "ಒಂಜಿ à²ªà²Ÿà³à²Ÿà²¿à²¡à³ à²¸à³à²°à³à²¤à³à²¤ à²µà²¿à²¸à²¯à³Šà²¨à³ à²ªà²¿à²°à²•à³Šà²°à³à²ªà³à²‚ಡà³.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "ಒಂಜಿ à²ªà²Ÿà³à²Ÿà²¿à²¡à³ à²¨à²¿à²°à³à²¦à²¿à²·à³à²Ÿ à²¸à³à²¥à²¿à²¤à²¿à²¡à³ à²µà²¿à²¸à²¯à³Šà²¨à³ à²ªà²¿à²°à²•à³Šà²°à³à²ªà³à²‚ಡà³.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "ಒಂಜಿ à²ªà²Ÿà³à²Ÿà²¿à²¡à³ à²…ಕೇರಿದ à²µà²¿à²¸à²¯à³Šà²¨à³ à²ªà²¿à²°à²•à³Šà²°à³à²ªà³à²‚ಡà³.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "ಒಂಜಿ à²ªà²Ÿà³à²Ÿà²¿à²¡à³ à²’ವà³à²µà²¾à²‚ಡಲ à²’ಂಜಿ à²µà²¿à²¸à²¯à³Šà²¨à³ à²ªà²¿à²°à²•à³Šà²°à³à²ªà³à²‚ಡà³.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "ಒಂಜಿ à²ªà²Ÿà³à²Ÿà²¿à²¡à³ à²¸à³à²°à³à²¤à³à²¤ à²µà²¿à²¸à²¯à³Šà²¨à³ à²ªà²¿à²°à²•à³Šà²°à³à²ªà³à²‚ಡೠಬೊಕà³à²• à²¦à³†à²¤à³à²¤à³ à²¬à³à²¡à³à²ªà³à²‚ಡà³.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "ಒಂಜಿ à²ªà²Ÿà³à²Ÿà²¿à²¡à³ à²¨à²¿à²°à³à²¦à²¿à²·à³à²Ÿ à²¸à³à²¥à²¿à²¤à²¿à²¡à³ à²µà²¿à²¸à²¯à³Šà²¨à³ à²ªà²¿à²°à²•à³Šà²°à³à²ªà³à²‚ಡೠಬೊಕà³à²• à²¦à³†à²¤à³à²¤à³ à²¬à³à²¡à³à²ªà³à²‚ಡà³.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "ಒಂಜಿ à²ªà²Ÿà³à²Ÿà²¿à²¡à³ à²…ಕೇರಿದ à²µà²¿à²¸à²¯à³Šà²¨à³ à²ªà²¿à²°à²•à³Šà²°à³à²ªà³à²‚ಡೠಬೊಕà³à²• à²¦à³†à²¤à³à²¤à³ à²¬à³à²¡à³à²ªà³à²‚ಡà³.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "ಒಂಜಿ à²ªà²Ÿà³à²Ÿà²¿à²¡à³ à²’ವà³à²µà²¾à²‚ಡಲ à²’ಂಜಿ à²µà²¿à²¸à²¯à³Šà²¨à³ à²ªà²¿à²°à²•à³Šà²°à³à²ªà³à²‚ಡೠಬೊಕà³à²• à²¦à³†à²¤à³à²¤à³ à²¬à³à²¡à³à²ªà³à²‚ಡà³.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "ಒಂಜಿ à²ªà²Ÿà³à²Ÿà²¿à²¡à³ à²¸à³à²°à³à²¤à³à²¤ à²µà²¿à²¸à²¯à³Šà²¨à³ à²¦à³†à²¤à³à²¤à³ à²¬à³à²¡à³à²ªà³à²‚ಡà³.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "ಒಂಜಿ à²ªà²Ÿà³à²Ÿà²¿à²¡à³ à²¨à²¿à²°à³à²¦à²¿à²·à³à²Ÿ à²¸à³à²¥à²¿à²¤à²¿à²¡à³ à²µà²¿à²¸à²¯à³Šà²¨à³ à²¦à³†à²¤à³à²¤à³ à²¬à³à²¡à³à²ªà³à²‚ಡà³.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "ಒಂಜಿ à²ªà²Ÿà³à²Ÿà²¿à²¡à³ à²…ಕೇರಿದ à²µà²¿à²¸à²¯à³Šà²¨à³ à²¦à³†à²¤à³à²¤à³ à²¬à³à²¡à³à²ªà³à²‚ಡà³.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "ಒಂಜಿ à²ªà²Ÿà³à²Ÿà²¿à²¡à³ à²’ವà³à²µà²¾à²‚ಡಲ à²’ಂಜಿ à²µà²¿à²¸à²¯à³Šà²¨à³ à²¦à³†à²¤à³à²¤à³ à²¬à³à²¡à³à²ªà³à²‚ಡà³.";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "ಅಕೇರಿಡà³à²¦à³ # à²—à³";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "# à²—à³";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "ಅಕೇರಿಗà³";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "ಸà³à²°à³à²¡à³à²¦à³ à²‰à²ª-ಪಟà³à²Ÿà²¿à²¨à³ à²¦à³†à²¤à³à²¤à³Šà²¨à³";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "ಅಕೇರಿಡà³à²¦à³ # à²¡à³à²¦à³ à²‰à²ª-ಪಟà³à²Ÿà²¿à²¨à³ à²¦à³†à²¤à³à²¤à³Šà²¨à³";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "# à²¡à³à²¦à³ à²‰à²ª-ಪಟà³à²Ÿà²¿à²¨à³ à²¦à³†à²¤à³à²¤à³Šà²¨à³";
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "ಪಟà³à²¯à³Šà²¦ à²¨à²¿à²°à³à²¦à²¿à²·à³à²Ÿ à²¬à²¾à²—ೊದ à²ªà³à²°à²¤à²¿à²¨à³ à²‰à²‚ಡà³à²®à²²à³à²ªà³à²‚ಡà³.";
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 à²…ಕೇರಿತ à²µà²¿à²¸à²¯à³Š";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 à²¸à³à²°à³à²¤ à²µà²¿à²¸à²¯à³Š";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "ವಿಸಯೊ à²¸à³à²°à³à²•à³à²•à³ à²¬à²¤à³à²¤à²¿à²¨à³‡à²¨à³ à²¨à²¾à²¡à³";
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "ವಿಸಯೊ à²…ಕೇರಿಗೠಬತà³à²¤à²¿à²¨à³‡à²¨à³ à²¨à²¾à²¡à³";
+Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "ಪಟà³à²Ÿà²¿à²¡à³à²ªà³à²ªà³à²¨ à²µà²¿à²¸à²¯à³Š à²¸à³à²°à³à²•à³à²•à³/ಅಕೇರಿಗೠಬತà³à²¤à²¿à²¨à³†à²¤à³à²¤ à²¸à³‚ಚಿನೠಪಿರಕೊರà³à²ªà³à²‚ಡà³. à²µà²¿à²¸à²¯à³Š à²¤à²¿à²•à³à²•à²¿à²œà³à²œà²¾à²‚ಡ %1 à²¨à³ à²ªà²¿à²°à²•à³Šà²°à³à²ªà³à²‚ಡà³.";
+Blockly.Msg["LISTS_INLIST"] = "ಪಟà³à²Ÿà²¿à²¡à³";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 à²•à²¾à²²à²¿";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "ಪಟà³à²¯à³Š à²–ಾಲಿ à²‡à²¤à³à²¤à³à²‚ಡ 'ನಿಜ'ನೠಪಿರಕೊರà³.";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "%1 à²‰à²¦à³à²¦à³Š";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "ಪಟà³à²Ÿà²¿à²¦ à²‰à²¦à³à²¦à³Šà²¨à³ à²ªà²¿à²°à²•à³Šà²°à³.";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "%1 à²µà²¿à²¸à²¯à³Š %2 à²¸à²°à³à²¤à²¿ à²ªà³à²¨à²°à²¾à²µà²°à³à²¤à²¨à³† à²†à²¦à³à²ªà³à²ªà³à²¨ à²ªà²Ÿà³à²Ÿà²¿à²¨à³ à²‰à²‚ಡà³à²®à²²à³à²ªà³à²²à³†.";
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "ಕೊರಿನ à²®à³Œà²²à³à²¯à³Š à²’ಂಜಿ à²¨à²¿à²°à³à²¦à²¿à²·à³à²Ÿ à²¸à²‚ಕà³à²¯à³†à²¦à²¾à²¤à³ à²¸à²°à³à²¤à²¿ à²ªà³à²¨à²°à²¾à²µà²°à³à²¤à²¨à³† à²†à²¦à³à²ªà³à²ªà³à²¨ à²’ಂಜಿ à²ªà²Ÿà³à²Ÿà²¿à²¨à³ à²‰à²‚ಡà³à²®à²²à³à²ªà³à²²à³†.";
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";  // untranslated
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Reverse a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "ಲೆಕ";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "ಸೇರಾವà³";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "ಸೆಟೠಮಲà³à²ªà³";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "ಒಂಜಿ à²ªà²Ÿà³à²Ÿà²¿à²¦ à²¸à³à²°à³à²•à³à²•à³ à²µà²¿à²¸à²¯à³Šà²¨à³ à²¸à³‡à²°à²¾à²µà³à²‚ಡà³.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "ಒಂಜಿ à²ªà²Ÿà³à²Ÿà²¿à²¡à³ à²¨à²¿à²°à³à²¦à²¿à²·à³à²Ÿ à²¸à³à²¥à²¿à²¤à²¿à²¡à³ à²µà²¿à²¸à²¯à³Šà²¨à³ à²¸à³‡à²°à²¾à²µà³à²‚ಡà³.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "ಒಂಜಿ à²ªà²Ÿà³à²Ÿà²¿à²¦ à²…ಕೇರಿಗೠವಿಸಯೊನೠಸೇರಾವà³à²‚ಡà³.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "ಒಂಜಿ à²ªà²Ÿà³à²Ÿà²¿à²¡à³ à²“ಲಾಂಡಲ à²µà²¿à²¸à²¯à³Šà²¨à³ à²¸à³‡à²°à²¾à²µà³à²‚ಡà³.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "ಒಂಜಿ à²ªà²Ÿà³à²Ÿà²¿à²¡à³ à²¸à³à²°à³à²¤à³à²¤ à²µà²¿à²¸à²¯à³Šà²¨à³ à²¸à³†à²Ÿà³ à²®à²²à³à²ªà³à²‚ಡà³.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "ಒಂಜಿ à²ªà²Ÿà³à²Ÿà²¿à²¡à³ à²¨à²¿à²°à³à²¦à²¿à²·à³à²Ÿ à²¸à³à²¥à²¿à²¤à²¿à²¡à³ à²µà²¿à²¸à²¯à³Šà²¨à³ à²¸à³†à²Ÿà³ à²®à²²à³à²ªà³à²‚ಡà³.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "ಒಂಜಿ à²ªà²Ÿà³à²Ÿà²¿à²¡à³ à²…ಕೇರಿದ à²µà²¿à²¸à²¯à³Šà²¨à³ à²¸à³†à²Ÿà³ à²®à²²à³à²ªà³à²‚ಡà³.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "ಒಂಜಿ à²ªà²Ÿà³à²Ÿà²¿à²¡à³ à²’ವà³à²µà²¾à²‚ಡಲ à²’ಂಜಿ à²µà²¿à²¸à²¯à³Šà²¨à³ à²¸à³†à²Ÿà³ à²®à²²à³à²ªà³à²‚ಡà³.";
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "à²à²°à³à²¨à³";
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "ಜಪà³à²ªà³à²¨à³";
+Blockly.Msg["LISTS_SORT_TITLE"] = "%1 %2 %3 à²‡à²‚ಗಡಿಪà³";
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "ಒಂಜಿ à²ªà²Ÿà³à²Ÿà²¿à²¦ à²’ಂಜಿ à²ªà³à²°à²¤à²¿à²¨à³ à²‡à²‚ಗಡಿಪà³";
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "ಅಕà³à²·à²°à³Š, à²¨à²®à³‚ನೆ (case) à²…ಲಕà³à²·à³à²¯à³Š à²®à²²à³à²ªà³à²²à³†";
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "ಸಂಖà³à²¯à³†";
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "ಅಕà³à²·à²°à³Š";
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "ಪಟà³à²¯à³Šà²²à³† à²ªà²Ÿà³à²Ÿà²¿à²¨à³ à²¤à²¯à²¾à²°à³ à²®à²²à³à²ªà³à²²à³†";
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "ಪಟà³à²Ÿà²¿à²¦ à²ªà²Ÿà³à²¯à³Šà²¨à³ à²¤à²¯à²¾à²°à³ à²®à²²à³à²ªà³à²²à³†";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "ಪಟà³à²¯à³Šà²²à³†à²¨ à²’ಂಜಿ à²ªà²Ÿà³à²Ÿà²¿à²¨à³ à²®à²¿à²¤à²¿à²¸à³‚ಚಕೊದ à²®à³‚ಲಕೊ à²¬à³‡à²¤à³† à²®à²²à³à²¤à³â€Œà²¦à³ à²’ಂಜಿ à²ªà²Ÿà³à²¯à³Šà²—ೠಸೇರಾಲೆ.";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "ಪಟà³à²¯à³Šà²²à³†à²¨à³ à²ªà³à²°à²¤à²¿ à²®à²¿à²¤à²¿à²¸à³‚ಚಕೊಡೠತà³à²‚ಡೠಮಲà³à²¤à³â€Œà²¦à³ à²ªà²Ÿà³à²¯à³Šà²²à³†à²¨ à²’ಂಜಿ à²ªà²Ÿà³à²Ÿà²¿à²—ೠಬಾಗೊ à²®à²²à³à²ªà³à²²à³†.";
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "ಮಿತಿಸೂಚಕೊದ à²’ಟà³à²Ÿà³à²—à³";
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "ಸà³à²²à³à²²à³";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "ಒಂಜೆ à²¨à²¿à²œ à²…ತà³à²¤à²‚ಡ à²¸à³à²²à³à²²à³à²¨à³ à²ªà²¿à²°à²•à³Šà²°à³";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "ಸತà³à²¯à³Š";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://en.wikipedia.org/wiki/Inequality_(mathematics)";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "ರಡà³à²¦à³ à²‡à²¨à³â€Œà²ªà³à²Ÿà³â€Œà²²à²¾ à²¸à²® à²‡à²¤à³à²¤à³à²‚ಡ 'ನಿಜ'ನೠಪಿರಕೊರà³";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "ಸà³à²°à³à²¤à³à²¤ à²‡à²¨à³â€Œà²ªà³à²Ÿà³ à²°à²¡à³à²¡à²¨à³† à²‡à²¨à³â€Œà²ªà³à²Ÿà³â€Œà²¡à³à²¦à³ à²®à²²à³à²² à²†à²¦à²¿à²¤à³à²¤à³à²‚ಡ, 'ನಿಜ'ನೠಪಿರಕೊರà³";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "ಸà³à²°à³à²¤à³à²¤ à²‡à²¨à³â€Œà²ªà³à²Ÿà³ à²°à²¡à³à²¡à²¨à³† à²‡à²¨à³â€Œà²ªà³à²Ÿà³â€Œà²¡à³à²¦à³ à²®à²²à³à²² à²…ತà³à²¤à²‚ಡ à²…ಯಿಕà³à²•à³ à²¸à²® à²†à²¦à²¿à²¤à³à²¤à³à²‚ಡ, 'ನಿಜ'ನೠಪಿರಕೊರà³";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "ಸà³à²°à³à²¤à³à²¤ à²‡à²¨à³â€Œà²ªà³à²Ÿà³ à²°à²¡à³à²¡à²¨à³† à²‡à²¨à³â€Œà²ªà³à²Ÿà³â€Œà²¡à³à²¦à³ à²Žà²²à³à²¯ à²†à²¦à²¿à²¤à³à²¤à³à²‚ಡ, 'ನಿಜ'ನೠಪಿರಕೊರà³";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "ಸà³à²°à³à²¤à³à²¤ à²‡à²¨à³â€Œà²ªà³à²Ÿà³ à²°à²¡à³à²¡à²¨à³† à²‡à²¨à³â€Œà²ªà³à²Ÿà³â€Œà²¡à³à²¦à³ à²Žà²²à³à²¯ à²…ತà³à²¤à²‚ಡ à²…ಯಿಕà³à²•à³ à²¸à²® à²†à²¦à²¿à²¤à³à²¤à³à²‚ಡ, 'ನಿಜ'ನೠಪಿರಕೊರà³";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "ರಡà³à²¦à³ à²‡à²¨à³â€Œà²ªà³à²Ÿà³â€Œà²²à²¾ à²¸à²® à²…ತà³à²¤à²¾à²‚ಡ 'ನಿಜ'ನೠಪಿರಕೊರà³";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "%1 à²…ತà³à²¤à³";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "ಇನà³â€Œà²ªà³à²Ÿà³ à²¸à³à²²à³à²²à²¾à²¦à²¿à²¤à³à²¤à³à²‚ಡ, 'ನಿಜ'ನೠಪಿರಕೊರà³. à²‡à²¨à³â€Œà²ªà³à²Ÿà³ à²¨à²¿à²œ à²†à²¦à²¿à²¤à³à²¤à³à²‚ಡ, 'ಸà³à²²à³à²²à³'ನೠಪಿರಕೊರà³.";
+Blockly.Msg["LOGIC_NULL"] = "ಸೊನà³à²¨à³†";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";  // untranslated
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "ಸೊನà³à²¨à³†à²¨à³ à²ªà²¿à²°à²•à³Šà²°à³à²ªà³à²‚ಡà³";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "ಬà³à²•à³à²•à³Š";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "ಅತà³à²¤à²‚ಡ";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "ರಡà³à²¡à³â€Œà²²à²¾ à²‡à²¨à³â€Œà²ªà³à²Ÿà³ à²¨à²¿à²œ à²†à²¦à²¿à²¤à³à²¤à³à²‚ಡ, 'ನಿಜ'ನೠಪಿರಕೊರà³";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "ಒವà³à²µà²¾à²‚ಡಲ à²’ಂಜಿ à²‡à²¨à³â€Œà²ªà³à²Ÿà³ à²¨à²¿à²œ à²†à²‚ಡಲಾ, 'ನಿಜ'ನೠಪಿರಕೊರà³.";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "ಪರೀಕà³à²·à³†";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "ಒಂಜಿ à²µà³‡à²²à³† à²¸à³à²²à³à²²à²¾à²‚ಡ";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "ಒಂಜಿ à²µà³‡à²²à³† à²¨à²¿à²œ à²†à²‚ಡ";
+Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "'ಪರೀಕà³à²·à³†'ಡೠಶರà³à²¤à²¨à³ à²¸à²°à²¿à²¤à³‚ಲೆ. à²¶à²°à³à²¤ à²¨à²¿à²œà²µà²¾à²¦à²¿à²¤à³à²¤à³à²‚ಡ, 'ಒಂಜಿ à²µà³‡à²²à³† à²¨à²¿à²œ à²†à²‚ಡ' à²®à³Œà²²à³à²¯à³Šà²¨à³ à²ªà²¿à²°à²•à³Šà²°à³à²ªà³à²‚ಡà³; à²‡à²œà³à²œà²¿à²‚ಡ 'ಒಂಜಿ à²µà³‡à²²à³† à²¸à³à²²à³à²²à²¾à²‚ಡ' à²®à³Œà²²à³à²¯à³Šà²¨à³ à²ªà²¿à²°à²•à³Šà²°à³à²ªà³à²‚ಡà³.";
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://en.wikipedia.org/wiki/ಅಂಕಗಣಿತ";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "ರಡà³à²¡à³ à²¸à²‚ಖà³à²¯à³†à²¦ à²®à³Šà²¤à³à²¤à²¨à³ à²ªà²¿à²°à²•à³Šà²°à³.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "ಸಂಖà³à²¯à³†à²¦ à²­à²¾à²—ಲಬà³à²¦à³Šà²¨à³ à²ªà²¿à²°à²•à³Šà²°à³.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "ರಡà³à²¡ à²¸à³à²‚ಖà³à²¯à³†à²¦ à²µà³à²¯à²¤à³à²¯à²¾à²¸à³Šà²¨à³ à²ªà²¿à²°à²•à³Šà²°à³.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "ಸಂಖà³à²¯à³†à²¦ à²—à³à²£à²²à²¬à³à²§à³Šà²¨à³ à²ªà²¿à²°à²•à³Šà²°à³.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "ಸà³à²°à³à²¤à³à²¤ à²¸à²‚ಖà³à²¯à³†à²¦ à²˜à²¾à²¤à³Šà²¨à³ à²°à²¡à³à²¡à²¨à³† à²¸à²‚ಖà³à²¯à³†à²—à³ à²à²°à³à²ªà²¾à²¦à³ à²ªà²¿à²°à²•à³Šà²°à³.";
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";
+Blockly.Msg["MATH_CHANGE_TITLE"] = "%1 à²¨à³ %2 à²Ÿà³ à²¬à²¦à²²à³ à²®à²²à³à²ªà³";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "'%1' à²µà³à²¯à²¤à³à²¯à²¯à³Šà²—ೠಒಂಜಿ à²¸à²‚ಖà³à²¯à³†à²¨à³ à²¸à³‡à²°à²¾à²µà³";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://en.wikipedia.org/wiki/ಗಣಿತ_ನಿರಂತರ";
+Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "ಒಂಜಿ à²¸à²¾à²®à²¾à²¨à³à²¯ à²¸à³à²¥à²¿à²°à²¾à²‚ಕೊನೠಪಿರಕೊರà³: Ï€ (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)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "%2 à²•à²®à³à²®à²¿ %3 à²œà²¾à²¸à³à²¤à²¿ %1 à²¨à²¿à²°à³à²¬à²‚ಧ à²®à²²à³à²ªà³";
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "ನಿಗದಿತ à²®à²¿à²¤à²¿à²¤ à²¨à²¡à³à²Ÿà³ à²’ಂಜಿ à²¸à²‚ಖà³à²¯à³†à²¨à³ à²¨à²¿à²°à³à²¬à²‚ಧ à²®à²²à³à²ªà³";
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";  // untranslated
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "ಭಾಗಿಪೊಲಿ";
+Blockly.Msg["MATH_IS_EVEN"] = "ಸಮ à²¸à²‚ಖà³à²¯à³†";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "ಋಣ à²¸à²‚ಖà³à²¯à³†";
+Blockly.Msg["MATH_IS_ODD"] = "ಬೆಸ à²¸à²‚ಖà³à²¯à³†";
+Blockly.Msg["MATH_IS_POSITIVE"] = "ಧನ à²¸à²‚ಖà³à²¯à³†";
+Blockly.Msg["MATH_IS_PRIME"] = "ಅವಿಭಾಜà³à²¯ à²¸à²‚ಖà³à²¯à³†";
+Blockly.Msg["MATH_IS_TOOLTIP"] = "ಒಂಜಿ à²¸à²‚ಖà³à²¯à³† à²¸à²®à²¨à²¾, à²¬à³†à²¸à²¨à²¾, à²…ವಿಭಾಜà³à²¯à²¨à²¾, à²ªà³‚ರà³à²£à²¨à²¾, à²§à²¨à²¨à²¾, à²‹à²£à²¨à²¾, à²…ತà³à²¤à²‚ಡ à²…ವೆನೠಬೇತೆ à²’ಂಜಿ à²¨à²¿à²°à³à²¦à²¿à²·à³à²Ÿ à²¸à²‚ಖà³à²¯à³†à²¡à³à²¦à³ à²­à²¾à²—ಿಪೊಲಿಯಾ à²ªà²‚ದೠಪರೀಕà³à²·à³† à²®à²²à³à²ªà³. à²¨à²¿à²œ à²…ತà³à²¤à²‚ಡ à²¸à³à²²à³à²²à³à²¨à³ à²ªà²¿à²°à²•à³Šà²°à³à²ªà³à²‚ಡà³.";
+Blockly.Msg["MATH_IS_WHOLE"] = "ಪೂರà³à²£ à²¸à²‚ಖà³à²¯à³†";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://en.wikipedia.org/wiki/ಮೋಡà³à²¯à³à²²à³Š_ಒಪರೇಶನà³";
+Blockly.Msg["MATH_MODULO_TITLE"] = " %1 Ã· %2 à²¤ à²¶à³‡à²·";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "ರಡà³à²¡à³ à²¸à²‚ಖà³à²¯à³†à²²à³†à²¨à³ à²­à²¾à²— à²®à²²à³à²¤à³â€Œà²¦à³ à²¶à³‡à²·à³Šà²¨à³ à²ªà²¿à²°à²•à³Šà²°à³.";
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";  // untranslated
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://en.wikipedia.org/wiki/ಸಂಖà³à²¯à³†";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "ಅ à²¨à²‚ಬà³à²°à³Š";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "ಪಟà³à²Ÿà²¿à²¦ à²¸à²°à²¾à²¸à²°à²¿";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "ಪಟà³à²Ÿà²¿à²¡à³ à²®à²²à³à²²à²µà³";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "ಪಟà³à²Ÿà²¿à²¦ à²¨à²¡à³à²¤à³à²¤à²µà³";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "ಪಟà³à²Ÿà²¿à²¡à³ à²•à²¿à²žà³à²žà²µà³";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "ಪಟà³à²Ÿà²¿à²¦ à²®à²¸à³à²¤à³ à²¸à²¾à²®à²¾à²¨à³à²¯ à²®à³Œà²²à³à²¯";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "ಪಟà³à²Ÿà²¿à²¦ à²’ವà³à²µà²¾à²‚ಡಲ à²’ಂಜಿ à²µà²¿à²·à²¯";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "ಪಟà³à²Ÿà²¿à²¦ à²ªà³à²°à²®à²¾à²£à²¿à²¤ à²µà²¿à²šà²²à²¨";
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "ಪಟà³à²Ÿà²¿à²¦ à²®à³Šà²¤à³à²¤";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "ಪಟà³à²Ÿà²¿à²¡à³à²ªà³à²ªà³à²¨ à²®à²¾à²¤à²¾ à²¸à²‚ಖà³à²¯à³†à²²à³†à²¨ à²¸à²°à²¾à²¸à²°à²¿à²¨à³ à²ªà²¿à²°à²•à³Šà²°à³";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "ಪಟà³à²Ÿà²¿à²¡à³à²ªà³à²ªà³à²¨ à²®à²²à³à²² à²¸à²‚ಖà³à²¯à³†à²¨à³ à²ªà²¿à²°à²•à³Šà²°à³";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "ಪಟà³à²Ÿà²¿à²¡à³à²ªà³à²ªà³à²¨ à²¨à²¡à³à²¤à³à²¤ à²¸à²‚ಖà³à²¯à³†à²¨à³ à²ªà²¿à²°à²•à³Šà²°à³";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "ಪಟà³à²Ÿà²¿à²¡à³à²ªà³à²ªà³à²¨ à²•à²¿à²žà³à²ž à²¸à²‚ಕà³à²¯à³†à²¨à³ à²ªà²¿à²°à²•à³Šà²°à³";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "ಪಟà³à²Ÿà²¿à²¡à³à²ªà³à²ªà³à²¨ à²®à²¸à³à²¤à³ à²¸à²¾à²®à²¾à²¨à³à²¯ à²µà²¿à²·à²¯à³Šà²¨à³ à²ªà²¿à²°à²•à³Šà²°à³";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "ಪಟà³à²Ÿà²¿à²¦ à²’ವà³à²µà²¾à²‚ಡಲ à²’ಂಜಿ à²…ಂಶೊನೠಪಿರಕೊರà³.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "ಪಟà³à²Ÿà²¿à²¦ à²ªà³à²°à²®à²¾à²£à²¿à²¤ à²µà²¿à²šà²²à²¨à³Šà²¨à³ à²ªà²¿à²°à²•à³Šà²°à³";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "ಪಟà³à²Ÿà²¿à²¡à³à²ªà³à²ªà³à²¨ à²®à²¾à²¤à²¾ à²¸à²‚ಖà³à²¯à³†à²²à³†à²¨ à²®à³Šà²¤à³à²¤à²¨à³ à²ªà²¿à²°à²•à³Šà²°à³";
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://en.wikipedia.org/wiki/ರಾಂಡಮà³_ನಂಬರà³_ಜನರೇಶನà³";
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "ಒವà³à²µà²¾à²‚ಡಲ à²’ಂಜಿ à²­à²¿à²¨à³à²¨à²°à²¾à²¶à²¿";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "0.0 (ಸೇರà³â€Œà²¦à³) à²¬à³Šà²•à³à²• 1.0 (ಸೇರಂದೆ) à²¨à²¡à³à²¤ à²’ವà³à²µà²¾à²‚ಡಲ à²’ಂಜಿ à²­à²¿à²¨à³à²¨à²°à²¾à²¶à²¿à²¨à³ à²ªà²¿à²°à²•à³Šà²°à³.";
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://en.wikipedia.org/wiki/ರಾಂಡಮà³_ನಂಬರà³_ಜನರೇಶನà³";
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = " %1 à²¡à³à²¦à³ %2 à²¯à²¾à²¦à³ƒà²šà³à²›à²¿à²• à²ªà³‚ರà³à²£à²¾à²‚ಕೊ";
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "ರಡà³à²¡à³ à²¨à²¿à²—ದಿತ à²®à²¿à²¤à²¿à²¤ à²¨à²¡à³à²¤à³à²¤ à²¯à²¾à²¦à³ƒà²šà³à²›à²¿à²• à²ªà³‚ರà³à²£à²¾à²‚ಕೊನೠಪಿರಕೊರà³";
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://en.wikipedia.org/wiki/ಪೂರà³à²£à²¾à²‚ಕೊ";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "ರೌಂಡà³";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "ತಿರà³à²¤à³â€Œà²—ೠರೌಂಡà³";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "ಮಿತà³à²¤à³â€Œà²—ೠರೌಂಡà³";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "ಒಂಜಿ à²¸à²‚ಖà³à²¯à³†à²¨à³ à²®à²¿à²¤à³à²¤à³â€Œà²—ೠಅತà³à²¤à²‚ಡ à²¤à²¿à²°à³à²¤à³â€Œà²—ೠರೌಂಡೠಮಲà³à²ªà³";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://en.wikipedia.org/wiki/ವರà³à²—ಮೂಲೊ";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "ಸಂಪೂರà³à²¨à³Š";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "ವರà³à²—ಮೂಲೊ";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "ಸಂಖà³à²¯à³†à²¦ à²¸à²°à²¿à²¯à²¾à²¯à²¿à²¨ à²®à³Œà²²à³à²¯à³Šà²¨à³ à²•à³Šà²°à³";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "ಒಂಜಿ à²¸à²‚ಖà³à²¯à³†à²¦ à²˜à²¾à²¤à³Šà²—à³ 'e'ನೠಪಿರಕೊರà³.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "ಸಂಖà³à²¯à³†à²¦ à²ªà³à²°à²¾à²•à³ƒà²¤à²¿à²• à²²à²˜à³à²—ಣಕನೠಪಿರಕೊರà³";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "ಸಂಖà³à²¯à³†à²¦ à²¦à²¶à²®à²¾à²¨ à²²à²˜à³à²—ಣಕನೠಪಿರಕೊರà³";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "ಸಂಖà³à²¯à³†à²¦ à²¨à²¿à²·à³‡à²§à³Šà²¨à³ à²ªà²¿à²°à²•à³Šà²°à³";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "ಒಂಜಿ à²¸à²‚ಖà³à²¯à³†à²¦ à²˜à²¾à²¤à³Šà²—ೠ೧೦ನೠಪಿರಕೊರà³";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "ಸಂಖà³à²¯à³†à²¦ à²µà²°à³à²—ಮೂಲೊನೠಪಿರಕೊರà³.";
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";  // untranslated
+Blockly.Msg["MATH_TRIG_ACOS"] = "acos";  // untranslated
+Blockly.Msg["MATH_TRIG_ASIN"] = "asin";  // untranslated
+Blockly.Msg["MATH_TRIG_ATAN"] = "atan";  // untranslated
+Blockly.Msg["MATH_TRIG_COS"] = "cos";  // untranslated
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://en.wikipedia.org/wiki/ತà³à²°à²¿à²•à³‹à²¨à²®à²¿à²¤à²¿à²¦_ಕಾರà³à²¯à³Šà²²à³";
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";  // untranslated
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "ಒಂಜಿ à²¸à²‚ಖà³à²¯à³†à²¦ à²†à²°à³à²•à³â€Œâ€Œà²•à³Šà²¸à³ˆà²¨à³ à²ªà²¿à²°à²•à³Šà²°à³.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "ಒಂಜಿ à²¸à²‚ಖà³à²¯à³†à²¦ à²†à²°à³à²•à³â€Œà²¸à³ˆà²¨à³ à²ªà²¿à²°à²•à³Šà²°à³.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "ಒಂಜಿ à²¸à²‚ಖà³à²¯à³†à²¦ à²†à²°à³à²•à³â€Œà²Ÿà³à²¯à²¾à²¨à³â€Œà²œà³à²‚ಟೠಪಿರಕೊರà³.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "ಒಂಜಿ à²¡à²¿à²—à³à²°à²¿à²¦ à²•à³Šà²¸à³ˆà²¨à³ (cosine) à²ªà²¿à²°à²•à³Šà²°à³ (ರೇಡಿಯನೠಅತà³à²¤à³).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "ಒಂಜಿ à²¡à²¿à²—à³à²°à²¿à²¦ à²¸à³ˆà²¨à³ (sine) à²ªà²¿à²°à²•à³Šà²°à³ (ರೇಡಿಯನೠಅತà³à²¤à³).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "ಒಂಜಿ à²¡à²¿à²—à³à²°à²¿à²¦ à²Ÿà³à²¯à²¾à²¨à³â€Œà²œà³†à²‚ಟೠ(tangent) à²ªà²¿à²°à²•à³Šà²°à³ (ರೇಡಿಯನೠಅತà³à²¤à³).";
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Create colour variable...";  // untranslated
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Create number variable...";  // untranslated
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Create string variable...";  // untranslated
+Blockly.Msg["NEW_VARIABLE"] = "ವà³à²¯à²¤à³à²¯à²¯à³Šà²¨à³ à²‰à²‚ಡೠಮಲà³à²ªà³à²²à³†";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "ಪೊಸ à²µà³à²¯à²¤à³à²¯à²¯à³Šà²¦ à²ªà³à²¦à²°à³:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "New variable type:";  // untranslated
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "ಹೇಳಿಕೆಗೠಅವಕಾಸೊ";
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "ಒಟà³à²Ÿà³à²—à³:";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/ವರà³à²—ಮೂಲೊ";
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "'%1' à²¬à²³à²•à³†à²¦à²¾à²°à³†à²°à³† à²•à²¾à²°à³à²¯à³Šà²¨à³ à²¨à²¡à²ªà²¾à²²à³†.";
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/ವರà³à²—ಮೂಲೊ";
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = " à²¬à²³à²•à³†à²¦à²¾à²°à³†à²°à³† à²•à²¾à²°à³à²¯à³Š '%1' à²¨à³ à²¨à²¡à²ªà²¾à²²à³† à²¬à³à²•à³à²•à³Š à²…ಯಿತ à²‰à²¤à³à²ªà²¾à²¦à²¨à³†à²¨à³ à²—ಲಸà³â€Œà²²à³†.";
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "ಒಟà³à²Ÿà³à²—à³:";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = " '%1'ನೠಉಂಡà³à²®à²²à³à²ªà³à²²à³†";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "ಈ à²•à²¾à²°à³à²¯à³Šà²¨à³ à²‡à²µà²°à²¿à²ªà³à²²à³†...";
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "ಎಂಚಿನಾಂಡಲ à²®à²²à³à²ªà³à²²à³†";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "ಇಂದೆಕà³";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "ಔಟà³â€Œà²ªà³à²Ÿà³ à²¦à²¾à²‚ತಿನ à²•à²¾à²°à³à²¯à³Šà²¨à³ à²‰à²‚ಡà³à²®à²²à³à²ªà³à²‚ಡà³.";
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "ಪಿರಕೊರà³";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "ಔಟà³â€Œà²ªà³à²Ÿà³ à²‡à²¤à³à²¤à²¿à²¨ à²•à²¾à²°à³à²¯à³Šà²¨à³ à²‰à²‚ಡà³à²®à²²à³à²ªà³à²‚ಡà³.";
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "ಎಚà³à²šà²°à²¿à²•à³†: à²ˆ à²•à²¾à²°à³à²¯à³Šà²¡à³ à²¨à²•à²²à²¿ à²®à²¾à²¨à²¦à²‚ಡೊ à²‰à²‚ಡà³.";
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "ದೆರà³à²¤à³ à²¤à³‹à²œà³à²¨ à²•à²¾à²°à³à²¯à³Šà²¦ à²µà³à²¯à²¾à²•à³à²¯à²¾à²¨à³Š";
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "ಮೌಲà³à²¯à³Š à²¸à²¤à³à²¯à³Š à²†à²‚ಡ, à²°à²¡à³à²¡à²¨à³† à²®à³Œà²²à³à²¯à³Šà²¨à³ à²ªà²¿à²°à²•à³Šà²°à³.";
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "ಎಚà³à²šà²°à²¿à²•à³†: à²’ಂಜಿ à²•à²¾à²°à³à²¯ à²µà³à²¯à²¾à²•à³à²¯à²¾à²¨à³Šà²¦à³à²²à²¯à²¿ à²®à²¾à²¤à³à²° à²ˆ à²¤à²¡à³†à²¨à³ à²—ಲಸೊಲಿ.";
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "ಉಲಪರಿಪà³à²¦ à²ªà³à²¦à²°à³:";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "ಕಾರà³à²¯à³Šà²—ೠಒಂಜಿ à²‰à²²à²ªà²°à²¿à²ªà³à²¨à³ à²¸à³‡à²°à²²à³†.";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "ಉಲಪರಿಪà³";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "ಸೇರಾಲೆ, à²¦à³†à²¤à³à²¤à³â€Œ à²¬à³à²¡à³à²²à³†, à²…ತà³à²¤à²‚ಡ à²ˆ à²•à²¾à²°à³à²¯à³Šà²—ೠಉಲಪರಿಪà³à²²à³†à²¨à³ à²•à³à²¡ à²’ತà³à²¤à²°à³† à²®à²²à³à²ªà³à²²à³†.";
+Blockly.Msg["REDO"] = "ಕà³à²¡ à²®à²²à³à²ªà³";
+Blockly.Msg["REMOVE_COMMENT"] = "ಟಿಪà³à²ªà²£à²¿à²¨à³ à²¦à³†à²¤à³à²¤à³â€Œà²¦à³ à²¬à³à²¡à³à²²à³†";
+Blockly.Msg["RENAME_VARIABLE"] = "ವà³à²¯à²¤à³à²¯à²¯à³Šà²—ೠಕà³à²¡à³Šà²° à²ªà³à²¦à²°à³ à²¦à³€à²²à³†";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "ಮಾತಾ '%1' à²µà³à²¯à²¤à³à²¯à²¯à³Šà²²à³†à²¨ à²ªà³à²¦à²°à³â€Œà²¨à³ à²¨à³†à²•à³à²•à³ à²¬à²¦à²²à³ à²®à²²à³à²ªà³à²²à³†:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "ಇಂದೆಕೠ%1 à²ªà²Ÿà³à²¯à³Šà²¨à³ à²¸à³‡à²°à²µà³† %2";
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "%1 à²µà³à²¯à²¤à³à²¯à²¯à³Šà²—ೠಕೆಲವೠಪಟà³à²¯à³Šà²²à³†à²¨à³ à²¸à³‡à²°à²¾à²µà³";
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "ಎಲà³à²¯ à²…ಕà³à²·à²°à³Šà²—à³";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "ತರೆಬರವà³à²¦ à²…ಕà³à²·à²°à³Šà²—à³";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "ಮಲà³à²² à²…ಕà³à²·à²°à³Šà²—à³";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "ಪಟà³à²¯à³Šà²¦ à²’ಂಜಿ à²¨à²•à²²à³â€à²¨à³ à²¬à³‡à²¤à³† à²¨à²®à³‚ನೆಡೠ(case) à²ªà²¿à²°à²•à³Šà²°à³.";
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "ಸà³à²°à³à²¤à³à²¤ à²…ಕà³à²·à²°à³Šà²¨à³ à²¦à³†à²¤à³à²¤à³Šà²¨à³";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "ಅಕೇರಿಡà³à²¦à³ à²…ಕà³à²·à²°à³Š #ನೠದೆತà³à²¤à³Šà²¨à³";
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "ಅಕà³à²¸à²°à³Š #ನೠದೆತà³à²¤à³Šà²¨à³";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "ಅಕೇರಿದ à²…ಕà³à²·à²°à³Šà²¨à³ à²¦à³†à²¤à³à²¤à³Šà²¨à³";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "ಒವà³à²µà²¾à²‚ಡಲ à²’ಂಜಿ à²…ಕà³à²·à²°à³Šà²¨à³ à²¦à³†à²¤à³à²¤à³Šà²¨à³";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "%1 %2 à²ªà²¦à³Šà²Ÿà³à²Ÿà³";
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "ಅಕà³à²·à²°à³Šà²¨à³ à²¨à²¿à²°à³à²¦à²¿à²·à³à²Ÿ à²¸à³à²¥à²¿à²¤à²¿à²¡à³ à²ªà²¿à²°à²•à³Šà²°à³à²ªà³à²‚ಡà³.";
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";  // untranslated
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "count %1 in %2";  // untranslated
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Count how many times some text occurs within some other text.";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "ಪಟà³à²¯à³Šà²—ೠಒಂಜಿ à²µà²¿à²·à²¯à³Šà²¨à³ à²¸à³‡à²°à²¾à²µà³";
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "ಸೇರಾವà³";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "ಈ à²ªà² à³à²¯ à²¤à²¡à³†à²¨à³ à²•à³à²¡ à²¸à²‚ರಚಣೆ à²®à²²à³à²ªà³†à²°à³†, à²¸à³‡à²°à²¾à²µà³, à²¦à³†à²¤à³à²¤à³ à²¬à³à²¡à³, à²…ತà³à²¤à²‚ಡ à²µà²¿à²­à²¾à²—ೊಲೆನೠಕà³à²¡ à²’ತà³à²¤à²°à³† à²®à²²à³à²ªà³.";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "ಅಕೇರಿಡà³à²¦à³ à²…ಕà³à²·à²°à³Š #ಗà³";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "ಅಕà³à²·à²°à³Š #ಗà³";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "ಅಕೇರಿದ à²…ಕà³à²·à²°à³Šà²—à³";
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "ಪಟà³à²¯à³Šà²¡à³";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "ಸà³à²°à³à²¤à³à²¤ à²…ಕà³à²·à²°à³Š #ಡà³à²¦à³ à²‰à²ªà²µà²¾à²•à³à²¯à³Šà²¨à³ à²¦à³†à²¤à³à²¤à³Šà²¨à³";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "ಅಕೇರಿಡà³à²¦à³ à²…ಕà³à²·à²°à³Š #ಡà³à²¦à³ à²‰à²ªà²µà²¾à²•à³à²¯à³Šà²¨à³ à²¦à³†à²¤à³à²¤à³Šà²¨à³";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "ಅಕà³à²·à²°à³Š #ಡà³à²¦à³ à²‰à²ªà²µà²¾à²•à³à²¯à³Š à²¦à³†à²¤à³à²¤à³Šà²¨à³";
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "ಪಟà³à²¯à³Šà²¦ à²’ಂಜಿ à²¨à²¿à²°à³à²¦à²¿à²·à³à²Ÿ à²¬à²¾à²—ೊನೠಪಿರಕೊರà³à²ªà³à²‚ಡà³.";
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "ಪಟà³à²¯à³Š à²¸à³à²°à³à²•à³à²•à³ à²¬à²¤à³à²¤à²¿à²¨à³‡à²¨à³ à²¨à²¾à²¡à³";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "ಪಟà³à²¯à³Š à²…ಕೇರಿಗೠಬತà³à²¤à²¿à²¨à³‡à²¨à³ à²¨à²¾à²¡à³";
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "ಪಟà³à²¯à³Šà²¡à³ %1 %2 %3";
+Blockly.Msg["TEXT_INDEXOF_TOOLTIP"] = "ರಡà³à²¡à²¨à³† à²ªà²Ÿà³à²¯à³Šà²¡à³ à²‰à²ªà³à²ªà³à²¨ à²¸à³à²°à³à²¤ à²ªà²Ÿà³à²¯à³Š à²¸à³à²°à³à²•à³à²•à³/ಅಕೇರಿಗೠಬತà³à²¤à²¿à²¨à³†à²¤à³à²¤ à²¸à³‚ಚಿನೠಪಿರಕೊರà³. à²ªà²Ÿà³à²¯à³Š à²¤à²¿à²•à³à²•à²¿à²œà³à²œà²¾à²‚ಡ %1 à²¨à³ à²ªà²¿à²°à²•à³Šà²°à³.";
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 à²–ಾಲಿ";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "ಕೊರಿನ à²ªà²Ÿà³à²¯à³Š à²–ಾಲಿ à²‡à²¤à³à²¤à³à²‚ಡ 'ನಿಜ'ನೠಪಿರಕೊರà³.";
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "ನೆಡà³à²¦à³ à²ªà²Ÿà³à²¯à³Šà²¨à³ à²‰à²‚ಡೠಮಲà³à²ªà³";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "à²à²¤à²¾à²‚ಡಲ à²µà²¿à²·à²¯à²²à³†à²¨à³ à²’ಟà³à²Ÿà³à²—ೠಸೇರಾದೠಒಂಜಿ à²ªà²Ÿà³à²¯à³Šà²¦ à²¤à³à²‚ಡà³à²¨à³ à²‰à²‚ಡà³à²®à²²à³à²ªà³.";
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "%1 à²‰à²¦à³à²¦à³Š";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "ಕೊರಿನ à²ªà²Ÿà³à²¯à³Šà²¦ à²…ಕà³à²·à²°à³Šà²²à³†à²¨ (ಅಂತರೊಲೠಸೇರà³â€Œà²¦à³) à²¸à²‚ಖà³à²¯à³†à²¨à³ à²ªà²¿à²°à²•à³Šà²°à³.";
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "%1 à²®à³à²¦à³à²°à²£";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "ನಿರà³à²¦à²¿à²·à³à²Ÿ à²ªà²Ÿà³à²¯à³Š, à²¸à²‚ಖà³à²¯à³† à²…ತà³à²¤à²‚ಡ à²¬à³‡à²¤à³† à²®à³Œà²²à³à²¯à³Šà²¨à³ à²®à³à²¦à³à²°à²¿à²ªà³à²²à³†.";
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "ಒಂಜಿ à²¸à²‚ಖà³à²¯à³†à²—ೠಸದಸà³à²¯à³†à²°à³†à²¨à³ à²•à³‡à²¨à³";
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "ಕೆಲವೠಪಟà³à²¯à³Šà²—ೠಸದಸà³à²¯à³†à²°à³†à²¨à³ à²•à³‡à²¨à³.";
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "ಸಂದೇಶೊದೊಟà³à²Ÿà³à²—ೠಸಂಕà³à²¯à³†à²¨à³ à²•à³‡à²¨à³";
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "ಸಂದೇಶೊದೊಟà³à²Ÿà³à²—ೠಪಟà³à²¯à³Šà²—ೠಕೇನà³.";
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";  // untranslated
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "replace %1 with %2 in %3";  // untranslated
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Replace all occurances of some text within some other text.";  // untranslated
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";  // untranslated
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Reverses the order of the characters in the text.";  // untranslated
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://en.wikipedia.org/wiki/ಸà³à²Ÿà³à²°à²¿à²‚ಗà³_(ಕಂಪà³à²¯à³‚ಟರà³_ಸೈನà³à²¸à³)";
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "ಒಂಜಿ à²…ಕà³à²·à²°à³Š, à²ªà²¦à³Š à²…ತà³à²¤à²‚ಡ à²ªà²¾à²Ÿà³Šà²¦ à²’ಂಜಿ à²¸à²¾à²²à³";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "ರಡà³à²¡à³ à²®à³†à²¯à²¿à²¤à³à²¤à²² à²…ಂತರೊಲೆನೠ(space) à²•à²¤à³à²¤à³†à²°à³.";
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "ಎಡತà³à²¤ à²®à³†à²¯à²¿à²¤à³à²¤ à²…ಂತರೊಲೆನೠ(space) à²•à²¤à³à²¤à³†à²°à³.";
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "ಬಲತà³à²¤ à²®à³†à²¯à²¿à²¤à³à²¤ à²…ಂತರೊಲೆನೠ(space) à²•à²¤à³à²¤à³†à²°à³.";
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "ಒಂಜಿ à²…ತà³à²¤à²‚ಡ à²°à²¡à³à²¡à³ à²•à³Šà²¡à²¿à²¡à³à²¦à³ à²…ಂತರೊಲೆನೠ(space) à²¦à³†à²¤à³à²¤à³â€Œà²¦à³ à²ªà²Ÿà³à²¯à³Šà²¦ à²ªà³à²°à²¤à²¿à²¨à³ à²ªà²¿à²°à²•à³Šà²°à³.";
+Blockly.Msg["TODAY"] = "ಇನಿ";
+Blockly.Msg["UNDO"] = "ದà³à²‚ಬà³à²¦à²²à³†à²•à³Š";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "ವಸà³à²¤à³";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "'ಸೆಟೠ%1' à²‰à²‚ಡà³à²®à²²à³à²ªà³à²²à³†";
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "ಈ à²µà³à²¯à²¤à³à²¯à²¯à³Šà²¦ à²®à³Œà²²à³à²¯à³Šà²¨à³ à²ªà²¿à²°à²•à³Šà²°à³.";
+Blockly.Msg["VARIABLES_SET"] = "%1 à²¨à³ %2 à²•à³à²•à³ à²¸à³†à²Ÿà³ à²®à²²à³à²ªà³à²²à³†";
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "'ದೆತà³à²¤à³Šà²¨à³ %1' à²‰à²‚ಡà³à²®à²²à³à²ªà³à²²à³†";
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "ಈ à²µà³à²¯à²¤à³à²¯à²¯à³Šà²¨à³ à²‡à²¨à³â€Œà²ªà³à²Ÿà³â€Œà²—ೠಸಮ à²†à²ªà²¿à²²à³†à²• à²¸à³†à²Ÿà³ à²®à²²à³à²ªà³à²‚ಡà³.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "'%1' à²ªà²¨à³à²ªà²¿ à²ªà³à²¦à²°à³â€Œà²¦ à²µà³à²¯à²¤à³à²¯à²¯à³Š à²¦à³à²‚ಬೆ à²…ಸà³à²¤à²¿à²¤à³à²µà³Šà²¡à³ à²‰à²‚ಡà³.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "A variable named '%1' already exists for another type: '%2'.";  // untranslated
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something...";  // untranslated
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/te.js b/js/msg/js/te.js
new file mode 100644 (file)
index 0000000..afb938a
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.te');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["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'";  // untranslated
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "విలà±à°µ à°®à°¾à°°à±à°šà±";
+Blockly.Msg["CLEAN_UP"] = "నిరోదనలనౠశà±à°­à±à°°à°ªà°°à±à°šà±";
+Blockly.Msg["COLLAPSE_ALL"] = "నిరోదనలనౠకూలà±à°šà±";
+Blockly.Msg["COLLAPSE_BLOCK"] = "నరోదన à°•à±‚à°²à±à°šà±";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "à°°à°‚à°—à± 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "à°°à°‚à°—à± 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";  // untranslated
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "నిషà±à°ªà°¤à±à°¤à°¿";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "మిశà±à°°à°®à°‚";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "రెండౠరంగà±à°²à°¨à± (0.0 - 1.0) à°¨à°¿à°·à±à°ªà°¤à±à°¤à°¿à°²à±‹ à°®à°¿à°¶à±à°°à°®à°¿à°‚చాలి.";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://te.wikipedia.org/wiki/à°°à°‚à°—à±";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "à°šà°¿à°¤à±à°°à°•à°¾à°°à±à°¡à± à°‰à°ªà°¯à±‹à°—ించే à°°à°‚à°—à±à°² à°¨à±à°‚à°¡à°¿ à°’à°• à°¦à°¾à°¨à°¿à°¨à°¿ à°Žà°‚à°šà±à°•à±‹.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "యాదృచà±à°›à°¿à°• à°°à°‚à°—à±";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "యాదృచà±à°›à°¿à°•à°‚à°—à°¾ à°’à°• à°°à°‚à°—à±à°¨à± à°Žà°‚à°šà±à°•à±‹.";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "నీలం";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "ఆకà±à°ªà°šà±à°š";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";  // untranslated
+Blockly.Msg["COLOUR_RGB_RED"] = "à°Žà°°à±à°ªà±";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "తో à°°à°‚à°—à±";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "à°Žà°°à±à°ªà±,పచà±à°š à°®à°°à°¿à°¯à± à°¬à±à°²à±à°—à± à°°à°‚à°—à±à°²à°¨à± à°¸à°®à°‚à°—à°¾ à°‰à°ªà°¯à±‹à°—à°¿à°‚à°šà°¿ à°’à°• à°°à°‚à°—à±à°¨à± à°¸à±ƒà°·à±à° à°¿à°‚à°šà°‚à°¡à°¿.à°…à°¨à±à°¨à°¿ à°µà°¿à°²à±à°µà°²à± 0 à°¨à±à°‚à°¡à°¿ 100 à°®à°§à±à°¯à°²à±‹ à°‰à°‚డాలి.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "break out of loop";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "continue with next iteration of loop";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "Break out of the containing loop.";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "Skip the rest of this loop, and continue with the next iteration.";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "Warning: This block may only be used within a loop.";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "à°’à°• à°…ంశం à°•à±‹à°¸à°‚ %1 à°œà°¾à°¬à°¿à°¤à°¾ à°²à±‹ %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "For each item in a list, set the variable '%1' to the item, and then do some statements.";  // untranslated
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "దీనితో à°²à±†à°•à±à°•à°¿à°‚à°šà± %1 à°¨à±à°‚à°¡à°¿ %2 à°µà°°à°•à± %3 à°¤à±‹ %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.";  // untranslated
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "Add a condition to the if block.";  // untranslated
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "Add a final, catch-all condition to the if block.";  // untranslated
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this if block.";  // untranslated
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "else";  // untranslated
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "else if";  // untranslated
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "అయితే";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "If a value is true, then do some statements.";  // untranslated
+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.";  // untranslated
+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.";  // untranslated
+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.";  // untranslated
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://te.wikipedia.org/wiki/For_loop";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "చేయà±";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "%1 à°¸à°¾à°°à±à°²à± à°®à°³à±à°³à±€ à°•à±Šà°¨à°¸à°¾à°—à°¿à°‚à°šà±";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "కొనà±à°¨à°¿ à°¨à°¿à°µà±‡à°¦à°¿à°•à°²à± à°²à±‡à°¦à°¾ à°ªà±à°°à°¤à°¿à°ªà°¾à°¦à°¨à°²à± à°…నేక à°®à°¾à°°à±à°²à± à°šà±†à°¯à±à°¯à°‚à°¡à°¿.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "అంతవరకౠమళà±à°³à±€ à°•à±Šà°¨à°¸à°¾à°—à°¿à°‚à°šà°‚à°¡à°¿";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "repeat while";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "à°’à°• à°µà±† à°¤à°ªà±à°ªà±ˆà°¨à°ªà±à°ªà±à°¡à± à°•à±Šà°¨à±à°¨à°¿ à°¨à°¿à°µà±‡à°¦à°¿à°•à°²à± à°²à±‡à°¦à°¾ à°ªà±à°°à°¤à°¿à°ªà°¾à°¦à°¨à°²à± à°šà±†à°¯à±à°¯à°‚à°¡à°¿.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "à°’à°• à°µà±†à°² à°¨à°¿à°œà°®à±ˆà°¨à°ªà±à°ªà±à°¡à± à°•à±Šà°¨à±à°¨à°¿ à°¨à°¿à°µà±‡à°¦à°¿à°•à°²à± à°²à±‡à°¦à°¾ à°ªà±à°°à°¤à°¿à°ªà°¾à°¦à°¨à°²à± à°šà±†à°¯à±à°¯à°‚à°¡à°¿.";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "మెà±à°¤à±à°¤à°‚ %1నిరోదనలనౠతొలగించà±?";
+Blockly.Msg["DELETE_BLOCK"] = "నిరోదన à°¤à±Šà°²à°—à°¿à°‚à°šà±";
+Blockly.Msg["DELETE_VARIABLE"] = "Delete the '%1' variable";  // untranslated
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Delete %1 uses of the '%2' variable?";  // untranslated
+Blockly.Msg["DELETE_X_BLOCKS"] = "%1నిరోదనలనౠతోలగించà±";
+Blockly.Msg["DISABLE_BLOCK"] = "నిరోదన à°ªà°¨à°¿ à°šà±‡à°¯à°•à±à°‚à°¡à°¾ à°šà±‡à°¯à±";
+Blockly.Msg["DUPLICATE_BLOCK"] = "నకలà±";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicate Comment";  // untranslated
+Blockly.Msg["ENABLE_BLOCK"] = "నిరోదన à°ªà±à°°à°¾à°°à°‚బించà±";
+Blockly.Msg["EXPAND_ALL"] = "నిరోదనలనౠవిసà±à°¤à°°à°¿à°‚à°šà±";
+Blockly.Msg["EXPAND_BLOCK"] = "నిరోదన à°µà°¿à°¸à±à°¤à°°à°¿à°‚à°šà±";
+Blockly.Msg["EXTERNAL_INPUTS"] = "External Inputs";  // untranslated
+Blockly.Msg["HELP"] = "సహాయం";
+Blockly.Msg["INLINE_INPUTS"] = "Inline Inputs";  // untranslated
+Blockly.Msg["IOS_CANCEL"] = "Cancel";  // untranslated
+Blockly.Msg["IOS_ERROR"] = "Error";  // untranslated
+Blockly.Msg["IOS_OK"] = "OK";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Add Input";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Allow statements";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "This function has duplicate inputs.";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "INPUTS";  // untranslated
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "Add";  // untranslated
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Add Variable";  // untranslated
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "Delete";  // untranslated
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "You can't use an empty variable name.";  // untranslated
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Rename";  // untranslated
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Variable name";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "create empty list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Returns a list, of length 0, containing no data records";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "జాబితా";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this list block.";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "create list with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Add an item to the list.";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Create a list with any number of items.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "మొదటి";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "#చివరి à°¨à±à°‚à°¡à°¿";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "పొందà±";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "పొందౠమరియౠతొలగించà±";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "చివరి";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "యాదృచà±à°šà°¿à°•";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "తొలగించà±";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Returns the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Returns the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Returns the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Returns a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "Removes and returns the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "Removes and returns the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "Removes and returns the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Removes and returns a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "Removes the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "Removes the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "Removes the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Removes a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "చివరి à°¨à±à°‚à°¡à°¿ # à°µà°°à°•à±";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "# à°•à±";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "à°¤à±à°¦à°•à±";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "get sub-list from first";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "get sub-list from # from end";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "get sub-list from #";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Creates a copy of the specified portion of a list.";  // untranslated
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 is the last item.";  // untranslated
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 is the first item.";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "find first occurrence of item";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "find last occurrence of item";  // untranslated
+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.";  // untranslated
+Blockly.Msg["LISTS_INLIST"] = "జాబితాలో";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 is empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Returns true if the list is empty.";  // untranslated
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "length of %1";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Returns the length of a list.";  // untranslated
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "create list with item %1 repeated %2 times";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Creates a list consisting of the given value repeated the specified number of times.";  // untranslated
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";  // untranslated
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Reverse a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "à°—à°¾";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "insert at";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Inserts the item at the start of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Inserts the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Append the item to the end of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Inserts the item randomly in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Sets the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Sets the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Sets the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Sets a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";  // untranslated
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "ascending";  // untranslated
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "descending";  // untranslated
+Blockly.Msg["LISTS_SORT_TITLE"] = "sort %1 %2 %3";  // untranslated
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Sort a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "alphabetic, ignore case";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "numeric";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "alphabetic";  // untranslated
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "make list from text";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "make text from list";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Join a list of texts into one text, separated by a delimiter.";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Split text into a list of texts, breaking at each delimiter.";  // untranslated
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "with delimiter";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "అసతà±à°¯à°‚";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "Returns either true or false.";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "సతà±à°¯à°‚";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://en.wikipedia.org/wiki/Inequality_(mathematics)";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Return true if both inputs equal each other.";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Return true if the first input is greater than the second input.";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Return true if the first input is greater than or equal to the second input.";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "Return true if the first input is smaller than the second input.";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "Return true if the first input is smaller than or equal to the second input.";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "Return true if both inputs are not equal to each other.";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "%1 à°•à°¾à°¦à±";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "Returns true if the input is false. Returns false if the input is true.";  // untranslated
+Blockly.Msg["LOGIC_NULL"] = "చెలà±à°²à°¨à°¿";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";  // untranslated
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "Returns null.";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_AND"] = "మరియà±";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "లేదా";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "Return true if both inputs are true.";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "Return true if at least one of the inputs is true.";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "పరీకà±à°·à°¿à°‚à°šà±";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "అసతà±à°¯à°®à±ˆà°¤à±‡";
+Blockly.Msg["LOGIC_TERNARY_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.";  // untranslated
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://te.wikipedia.org/wiki/Arithmetic";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "రెండౠసంఖà±à°¯à°² à°®à±Šà°¤à±à°¤à°¾à°¨à°¿à°•à°¿ à°¤à°¿à°°à°¿à°—à°¿ à°µà±†à°³à±à°³à°‚à°¡à°¿.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Return the quotient of the two numbers.";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "రెండౠసంఖà±à°¯à°² à°¤à±‡à°¡à°¾à°•à°¿ à°¤à°¿à°°à°¿à°—à°¿ à°µà±†à°³à±à°³à°‚à°¡à°¿";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Return the product of the two numbers.";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Return the first number raised to the power of the second number.";  // untranslated
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";  // untranslated
+Blockly.Msg["MATH_CHANGE_TITLE"] = "change %1 by %2";  // untranslated
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Add a number to variable '%1'.";  // untranslated
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://en.wikipedia.org/wiki/Mathematical_constant";  // untranslated
+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).";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "constrain %1 low %2 high %3";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Constrain a number to be between the specified limits (inclusive).";  // untranslated
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";  // untranslated
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "దీనితో à°­à°¾à°—ించబడà±à°¨à±";
+Blockly.Msg["MATH_IS_EVEN"] = "is even";  // untranslated
+Blockly.Msg["MATH_IS_NEGATIVE"] = "à°ªà±à°°à°¤à°¿à°•à±‚లంగా à°‰à°‚ది";
+Blockly.Msg["MATH_IS_ODD"] = "is odd";  // untranslated
+Blockly.Msg["MATH_IS_POSITIVE"] = "à°…à°¨à±à°•à±‚లంగా à°‰à°‚ది";
+Blockly.Msg["MATH_IS_PRIME"] = "is prime";  // untranslated
+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.";  // untranslated
+Blockly.Msg["MATH_IS_WHOLE"] = "is whole";  // untranslated
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://en.wikipedia.org/wiki/Modulo_operation";  // untranslated
+Blockly.Msg["MATH_MODULO_TITLE"] = "remainder of %1 ÷ %2";  // untranslated
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Return the remainder from dividing the two numbers.";  // untranslated
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";  // untranslated
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://en.wikipedia.org/wiki/Number";  // untranslated
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "à°’ à°¸à°‚à°–à±à°¯.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "జాబితా à°¯à±Šà°•à±à°• à°¸à°—à°Ÿà±";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "max of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "median of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "min of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "modes of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "random item of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "standard deviation of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "జాబితా à°®à±Šà°¤à±à°¤à°‚";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Return the average (arithmetic mean) of the numeric values in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "Return the largest number in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "Return the median number in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "Return the smallest number in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Return a list of the most common item(s) in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Return a random element from the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Return the standard deviation of the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Return the sum of all the numbers in the list.";  // untranslated
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "random fraction";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Return a random fraction between 0.0 (inclusive) and 1.0 (exclusive).";  // untranslated
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";  // untranslated
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "random integer from %1 to %2";  // untranslated
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Return a random integer between the two specified limits, inclusive.";  // untranslated
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://en.wikipedia.org/wiki/Rounding";  // untranslated
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "round";  // untranslated
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "round down";  // untranslated
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "round up";  // untranslated
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Round a number up or down.";  // untranslated
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://en.wikipedia.org/wiki/Square_root";  // untranslated
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "absolute";  // untranslated
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "square root";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Return the absolute value of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Return e to the power of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "Return the natural logarithm of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "Return the base 10 logarithm of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Return the negation of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Return 10 to the power of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Return the square root of a number.";  // untranslated
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";  // untranslated
+Blockly.Msg["MATH_TRIG_ACOS"] = "acos";  // untranslated
+Blockly.Msg["MATH_TRIG_ASIN"] = "asin";  // untranslated
+Blockly.Msg["MATH_TRIG_ATAN"] = "atan";  // untranslated
+Blockly.Msg["MATH_TRIG_COS"] = "cos";  // untranslated
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://en.wikipedia.org/wiki/Trigonometric_functions";  // untranslated
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";  // untranslated
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Return the arccosine of a number.";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Return the arcsine of a number.";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Return the arctangent of a number.";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Return the cosine of a degree (not radian).";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Return the sine of a degree (not radian).";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Return the tangent of a degree (not radian).";  // untranslated
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Create colour variable...";  // untranslated
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Create number variable...";  // untranslated
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Create string variable...";  // untranslated
+Blockly.Msg["NEW_VARIABLE"] = "కొతà±à°¤ à°µà±à°¯à°¤à±à°¯à°¾à°¸à°‚...";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "కొతà±à°¤ à°µà±à°¯à°¤à±à°¯à°¾à°¸à°‚ à°ªà±‡à°°à±:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "New variable type:";  // untranslated
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "allow statements";  // untranslated
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "తో:";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Run the user-defined function '%1'.";  // untranslated
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Run the user-defined function '%1' and use its output.";  // untranslated
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "తో:";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "Create '%1'";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Describe this function...";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "à°à°¦à±‹ à°’à°•à°Ÿà°¿ à°šà±‡à°¯à°¿";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "à°•à±";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Creates a function with no output.";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "తిరిగి à°µà±†à°³à±à°³à±";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "Creates a function with an output.";  // untranslated
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "Warning: This function has duplicate parameters.";  // untranslated
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "Highlight function definition";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "If a value is true, then return a second value.";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "Warning: This block may be used only within a function definition.";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "input name:";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Add an input to the function.";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "inputs";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Add, remove, or reorder inputs to this function.";  // untranslated
+Blockly.Msg["REDO"] = "మళà±à°³à±€ à°šà±†à°¯à±à°¯à°¿";
+Blockly.Msg["REMOVE_COMMENT"] = "à°µà±à°¯à°¾à°–à±à°¯à°¨à± à°¤à±Šà°²à°—à°¿à°‚à°šà±";
+Blockly.Msg["RENAME_VARIABLE"] = "à°ªà±à°¨à°ƒà°¨à°¾à°®à°•à°°à°£ à°µà±à°¯à°¤à±à°¯à°¾à°¸à°‚...";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "మొతà±à°¤à°‚ à°µà±à°¯à°¤à±à°¯à°¾à°¸à°¾à°²à°¨à± '%1' à°¦à±€à°¨à°¿à°•à°¿ à°ªà±à°¨à°ƒà°¨à°¾à°®à°•à°°à°£à°¿à°‚à°šà±:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "to %1 append text %2";  // untranslated
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Append some text to variable '%1'.";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "to lower case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "to Title Case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "to UPPER CASE";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Return a copy of the text in a different case.";  // untranslated
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "మొదటి à°µà°°à±à°£à°¾à°¨à±à°¨à°¿ à°ªà±Šà°‚à°¦à±";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "get letter # from end";  // untranslated
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "get letter #";  // untranslated
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "చివరి à°µà°°à±à°£à°¾à°¨à±à°¨à°¿ à°ªà±Šà°‚à°¦à±";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "యాదృశà±à°šà°¿à°• à°µà°°à±à°£à°¾à°¨à±à°¨à°¿ à°ªà±Šà°‚à°¦à±";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "in text %1 %2";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Returns the letter at the specified position.";  // untranslated
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";  // untranslated
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "count %1 in %2";  // untranslated
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Count how many times some text occurs within some other text.";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Add an item to the text.";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "చేరà±";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this text block.";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "to letter # from end";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "to letter #";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "to last letter";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "in text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "get substring from first letter";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "get substring from letter # from end";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "get substring from letter #";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Returns a specified portion of the text.";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "find first occurrence of text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "find last occurrence of text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "in text %1 %2 %3";  // untranslated
+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.";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "% 1 à°–ాళీ";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Returns true if the provided text is empty.";  // untranslated
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "create text with";  // untranslated
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Create a piece of text by joining together any number of items.";  // untranslated
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "%1 à°ªà±Šà°¡à±à°µà±";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Returns the number of letters (including spaces) in the provided text.";  // untranslated
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "print %1";  // untranslated
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Print the specified text, number or other value.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Prompt for user for a number.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Prompt for user for some text.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "prompt for number with message";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "prompt for text with message";  // untranslated
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";  // untranslated
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "replace %1 with %2 in %3";  // untranslated
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Replace all occurances of some text within some other text.";  // untranslated
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";  // untranslated
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Reverses the order of the characters in the text.";  // untranslated
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://en.wikipedia.org/wiki/String_(computer_science)";  // untranslated
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "A letter, word, or line of text.";  // untranslated
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "trim spaces from both sides of";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "trim spaces from left side of";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "trim spaces from right side of";  // untranslated
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Return a copy of the text with spaces removed from one or both ends.";  // untranslated
+Blockly.Msg["TODAY"] = "నేడà±";
+Blockly.Msg["UNDO"] = "à°°à°¦à±à°¦à±à°šà±†à°¯à±à°¯à°¿";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "అంశం";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Create 'set %1'";  // untranslated
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Returns the value of this variable.";  // untranslated
+Blockly.Msg["VARIABLES_SET"] = "set %1 to %2";  // untranslated
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Create 'get %1'";  // untranslated
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Sets this variable to be equal to the input.";  // untranslated
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "A variable named '%1' already exists.";  // untranslated
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "A variable named '%1' already exists for another type: '%2'.";  // untranslated
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something...";  // untranslated
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/th.js b/js/msg/js/th.js
new file mode 100644 (file)
index 0000000..a5f7928
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.th');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "ใส่คำอธิบาย";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "ไม่สามารถลบตัวà¹à¸›à¸£ '%1' à¹„ด้เนื่องจาà¸à¹€à¸›à¹‡à¸™à¸ªà¹ˆà¸§à¸™à¸«à¸™à¸¶à¹ˆà¸‡à¸‚องนิยามของฟังà¸à¹Œà¸Šà¸±à¸™ '%2'";
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "เปลี่ยนค่า:";
+Blockly.Msg["CLEAN_UP"] = "จัดเรียงบล็อà¸à¹ƒà¸«à¹‰à¹€à¸›à¹‡à¸™à¹à¸–ว";
+Blockly.Msg["COLLAPSE_ALL"] = "ย่อบล็อà¸";
+Blockly.Msg["COLLAPSE_BLOCK"] = "ย่อบล็อà¸";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "สีที่ 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "สีที่ 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";  // untranslated
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "อัตราส่วน";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "ผสม";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "ผสมสองสีเข้าด้วยà¸à¸±à¸™à¸”้วยอัตราส่วน (0.0 - 1.0)";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://th.wikipedia.org/wiki/สี";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "เลือà¸à¸ªà¸µà¸ˆà¸²à¸à¸ˆà¸²à¸™à¸ªà¸µ";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "สุ่มสี";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "เลือà¸à¸ªà¸µà¹à¸šà¸šà¸ªà¸¸à¹ˆà¸¡";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "ค่าสีน้ำเงิน";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "ค่าสีเขียว";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";  // untranslated
+Blockly.Msg["COLOUR_RGB_RED"] = "ค่าสีà¹à¸”ง";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "สีที่ประà¸à¸­à¸šà¸”้วย";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "สร้างสีด้วยà¸à¸²à¸£à¸à¸³à¸«à¸™à¸”ค่าสีà¹à¸”ง à¹€à¸‚ียว à¹à¸¥à¸°à¸™à¹‰à¸³à¹€à¸‡à¸´à¸™ à¸„่าทั้งหมดต้องอยู่ระหว่าง 0 à¸–ึง 100";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "ออà¸à¸ˆà¸²à¸à¸à¸²à¸£à¸§à¸™à¸‹à¹‰à¸³";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "เริ่มà¸à¸²à¸£à¸§à¸™à¸‹à¹‰à¸³à¸£à¸­à¸šà¸•à¹ˆà¸­à¹„ป";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "ออà¸à¸ˆà¸²à¸à¸à¸²à¸£à¸§à¸™à¸‹à¹‰à¸³à¸—ี่อยู่";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "ข้ามคำสั่งที่เหลืออยู่ à¹à¸¥à¸°à¹€à¸£à¸´à¹ˆà¸¡à¸•à¹‰à¸™à¸§à¸™à¸‹à¹‰à¸³à¸£à¸­à¸šà¸•à¹ˆà¸­à¹„ป";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "คำเตือน: à¸šà¸¥à¹‡à¸­à¸à¸™à¸µà¹‰à¹ƒà¸Šà¹‰à¸‡à¸²à¸™à¹„ด้ภายในà¸à¸²à¸£à¸§à¸™à¸‹à¹‰à¸³à¹€à¸—่านั้น";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "จาà¸à¸—ุà¸à¸£à¸²à¸¢à¸à¸²à¸£ %1 à¹ƒà¸™à¸£à¸²à¸¢à¸Šà¸·à¹ˆà¸­ %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "จาà¸à¸—ุà¸à¸£à¸²à¸¢à¸à¸²à¸£à¹ƒà¸™à¸£à¸²à¸¢à¸Šà¸·à¹ˆà¸­ à¸•à¸±à¹‰à¸‡à¸„่าตัวà¹à¸›à¸£ \"%1\" à¹€à¸›à¹‡à¸™à¸£à¸²à¸¢à¸à¸²à¸£ à¹à¸¥à¸°à¸—ำตามคำสั่งที่à¸à¸³à¸«à¸™à¸”ไว้";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "นับด้วย %1 à¸ˆà¸²à¸ %2 à¸ˆà¸™à¸–ึง %3 à¹€à¸›à¸¥à¸µà¹ˆà¸¢à¸™à¸„่าทีละ %4";
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "ตัวà¹à¸›à¸£ '%1' à¸ˆà¸°à¹€à¸£à¸´à¹ˆà¸¡à¸ˆà¸²à¸à¸ˆà¸³à¸™à¸§à¸™à¹€à¸£à¸´à¹ˆà¸¡à¸•à¹‰à¸™ à¹„ปจนถึงจำนวนสุดท้าย à¸•à¸²à¸¡à¸£à¸°à¸¢à¸°à¸—ี่à¸à¸³à¸«à¸™à¸” à¹à¸¥à¸° à¸—ำบล็อà¸à¸—ี่à¸à¸³à¸«à¸™à¸”ไว้";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "à¸à¸³à¸«à¸™à¸”เงื่อนไขของบล็อภ\"ถ้า\"";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "เพิ่มสิ่งสุดท้าย à¸—ี่จะตรวจจับความเป็นไปได้ทั้งหมดของบล็อภ\"ถ้า\"";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "เพิ่ม à¸¥à¸š à¸«à¸£à¸·à¸­à¸ˆà¸±à¸”เรียงบล็อภ\"ถ้า\" à¸™à¸µà¹‰à¹ƒà¸«à¸¡à¹ˆ";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "นอà¸à¹€à¸«à¸™à¸·à¸­à¸ˆà¸²à¸à¸™à¸µà¹‰";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "นอà¸à¹€à¸«à¸™à¸·à¸­à¸ˆà¸²à¸à¸™à¸µà¹‰ à¸–้า";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "ถ้า";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "ถ้าเงื่อนไขเป็นจริง à¸à¹‡à¸ˆà¸° \"ทำ\" à¸•à¸²à¸¡à¸—ี่à¸à¸³à¸«à¸™à¸”";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "ถ้าเงื่อนไขเป็นจริง à¸à¹‡à¸ˆà¸° \"ทำ\" à¸•à¸²à¸¡à¸—ี่à¸à¸³à¸«à¸™à¸” à¹à¸•à¹ˆà¸–้าเงื่อนไขเป็นเท็จà¸à¹‡à¸ˆà¸°à¸—ำ \"นอà¸à¹€à¸«à¸™à¸·à¸­à¸ˆà¸²à¸à¸™à¸µà¹‰\"";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "ถ้าเงื่อนไขà¹à¸£à¸à¹€à¸›à¹‡à¸™à¸ˆà¸£à¸´à¸‡ à¸à¹‡à¸ˆà¸°à¸—ำตามคำสั่งในบล็อà¸à¹à¸£à¸ à¹à¸•à¹ˆà¸–้าไม่à¸à¹‡à¸ˆà¸°à¹„ปตรวจเงื่อนไขที่สอง à¸–้าเงื่อนไขที่สองเป็นจริง à¸à¹‡à¸ˆà¸°à¸—ำตามเงื่อนไขในบล็อà¸à¸—ี่สองนี้";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "ถ้าเงื่อนไขà¹à¸£à¸à¹€à¸›à¹‡à¸™à¸ˆà¸£à¸´à¸‡ à¸à¹‡à¸ˆà¸°à¸—ำคำสั่งในบล็อà¸à¹à¸£à¸ à¸ˆà¸²à¸à¸™à¸±à¹‰à¸™à¸ˆà¸°à¸‚้ามคำสั่งในบล็อà¸à¸—ี่เหลือ à¹à¸•à¹ˆà¸–้าเงื่อนไขà¹à¸£à¸à¹€à¸›à¹‡à¸™à¹€à¸—็จ à¸à¹‡à¸ˆà¸°à¸—ำà¸à¸²à¸£à¸•à¸£à¸§à¸ˆà¹€à¸‡à¸·à¹ˆà¸­à¸™à¹„ขที่สอง à¸–้าเงื่อนไขที่สองเป็นจริง à¸à¹‡à¸ˆà¸°à¸—ำตามคำสั่งในบล็อà¸à¸—ี่สอง à¸ˆà¸²à¸à¸™à¸±à¹‰à¸™à¸ˆà¸°à¸‚้ามคำสั่งในบล็อà¸à¸—ี่เหลือ à¹à¸•à¹ˆà¸–้าทั้งเงื่อนไขà¹à¸£à¸à¹à¸¥à¸°à¹€à¸‡à¸·à¹ˆà¸­à¸™à¹„ขที่สองเป็นเท็จทั้งหมด à¸à¹‡à¸ˆà¸°à¸¡à¸²à¸—ำบล็อà¸à¸—ี่สาม";
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://en.wikipedia.org/wiki/For_loop";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "ทำ:";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "ทำซ้ำ %1 à¸„รั้ง";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "ทำซ้ำบางคำสั่งหลายครั้ง";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "ทำซ้ำจนà¸à¸£à¸°à¸—ั่ง";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "ทำซ้ำขณะที่";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "ขณะที่ค่าเป็นเท็จ à¸à¹‡à¸ˆà¸°à¸—ำบางคำสั่ง";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "ขณะที่ค่าเป็นจริง à¸à¹‡à¸ˆà¸°à¸—ำบางคำสั่ง";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "ลบ %1 à¸šà¸¥à¹‡à¸­à¸à¸—ั้งหมด?";
+Blockly.Msg["DELETE_BLOCK"] = "ลบบล็อà¸";
+Blockly.Msg["DELETE_VARIABLE"] = "ลบตัวà¹à¸›à¸£ '%1'";
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "ลบà¸à¸²à¸£à¹ƒà¸Šà¹‰à¸•à¸±à¸§à¹à¸›à¸£ %2 %1 à¸„รั้งหรือไม่";
+Blockly.Msg["DELETE_X_BLOCKS"] = "ลบ %1 à¸šà¸¥à¹‡à¸­à¸";
+Blockly.Msg["DISABLE_BLOCK"] = "ปิดใช้งานบล็อà¸";
+Blockly.Msg["DUPLICATE_BLOCK"] = "ทำสำเนา";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicate Comment";  // untranslated
+Blockly.Msg["ENABLE_BLOCK"] = "เปิดใช้งานบล็อà¸";
+Blockly.Msg["EXPAND_ALL"] = "ขยายบล็อà¸";
+Blockly.Msg["EXPAND_BLOCK"] = "ขยายบล็อà¸";
+Blockly.Msg["EXTERNAL_INPUTS"] = "อินพุตภายนอà¸";
+Blockly.Msg["HELP"] = "ช่วยเหลือ";
+Blockly.Msg["INLINE_INPUTS"] = "อินพุตในบรรทัด";
+Blockly.Msg["IOS_CANCEL"] = "ยà¸à¹€à¸¥à¸´à¸";
+Blockly.Msg["IOS_ERROR"] = "ข้อผิดพลาด";
+Blockly.Msg["IOS_OK"] = "ตà¸à¸¥à¸‡";
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ à¹€à¸žà¸´à¹ˆà¸¡à¸­à¸´à¸™à¸žà¸¸à¸•";
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "อนุà¸à¸²à¸•à¸„ำสั่ง";
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "ฟังà¸à¹Œà¸Šà¸±à¸™à¸™à¸µà¹‰à¸¡à¸µà¸­à¸´à¸™à¸žà¸¸à¸•à¸—ี่ซ้ำà¸à¸±à¸™";
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "อินพุต";
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "เพิ่ม";
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ à¹€à¸žà¸´à¹ˆà¸¡à¸•à¸±à¸§à¹à¸›à¸£";
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "ลบ";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "คุณไม่สามารถใช้ชื่อตัวà¹à¸›à¸£à¸—ี่ว่างเปล่าได้";
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "เปลี่ยนชื่อ";
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "ชื่อตัวà¹à¸›à¸£";
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "สร้างรายà¸à¸²à¸£à¹€à¸›à¸¥à¹ˆà¸²";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "สร้างรายà¸à¸²à¸£à¹€à¸›à¸¥à¹ˆà¸² (ความยาวเป็น 0) à¸¢à¸±à¸‡à¹„ม่มีข้อมูลใดๆ à¸­à¸¢à¸¹à¹ˆ";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "รายà¸à¸²à¸£";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "เพิ่ม à¸¥à¸š à¸«à¸£à¸·à¸­à¸ˆà¸±à¸”เรียงบล็อà¸à¸£à¸²à¸¢à¸à¸²à¸£à¸™à¸µà¹‰à¹ƒà¸«à¸¡à¹ˆ";
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "สร้างข้อความด้วย";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "เพิ่มไอเท็มเข้าไปในรายà¸à¸²à¸£";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "สร้างรายà¸à¸²à¸£à¸žà¸£à¹‰à¸­à¸¡à¸”้วยไอเท็ม";
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "à¹à¸£à¸à¸ªà¸¸à¸”";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "# à¸ˆà¸²à¸à¸—้าย";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "เรียà¸à¸”ู";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "เรียà¸à¸”ูà¹à¸¥à¸°à¹€à¸­à¸²à¸­à¸­à¸";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "ท้ายสุด";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "สุ่ม";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "เอาออà¸";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "คืนค่าไอเท็มอันà¹à¸£à¸à¹ƒà¸™à¸£à¸²à¸¢à¸à¸²à¸£";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "คืนค่าเป็นไอเท็มตามตำà¹à¸«à¸™à¹ˆà¸‡à¸—ี่ระบุ";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "คืนค่าไอเท็มอันสุดท้ายในรายà¸à¸²à¸£";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "คืนค่าไอเท็มà¹à¸šà¸šà¸ªà¸¸à¹ˆà¸¡à¸ˆà¸²à¸à¸£à¸²à¸¢à¸à¸²à¸£";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "เอาออภà¹à¸¥à¸°à¸„ืนค่าไอเท็มอันà¹à¸£à¸à¹ƒà¸™à¸£à¸²à¸¢à¸à¸²à¸£";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "เอาออภà¹à¸¥à¸°à¸„ืนค่าไอเท็มในตำà¹à¸«à¸™à¹ˆà¸‡à¸—ี่ระบุจาà¸à¸£à¸²à¸¢à¸à¸²à¸£";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "เอาออภà¹à¸¥à¸°à¸„ืนค่าไอเท็มอันสุดท้ายในรายà¸à¸²à¸£";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "เอาออภà¹à¸¥à¸°à¸„ืนค่าไอเท็มà¹à¸šà¸šà¸ªà¸¸à¹ˆà¸¡à¸ˆà¸²à¸à¸£à¸²à¸¢à¸à¸²à¸£";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "เอาไอเท็มà¹à¸£à¸à¸ªà¸¸à¸”ในรายà¸à¸²à¸£à¸­à¸­à¸";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "คืนค่าเป็นไอเท็มตามตำà¹à¸«à¸™à¹ˆà¸‡à¸—ี่ระบุ";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "เอาไอเท็มอันท้ายสุดในรายà¸à¸²à¸£à¸­à¸­à¸";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "เอาไอเท็มà¹à¸šà¸šà¸ªà¸¸à¹ˆà¸¡à¸ˆà¸²à¸à¸£à¸²à¸¢à¸à¸²à¸£à¸­à¸­à¸";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "ถึง #  à¸ˆà¸²à¸à¸—้ายสุด";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "จนถึง #";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "ถึง à¸—้ายสุด";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "ดึงรายà¸à¸²à¸£à¸¢à¹ˆà¸­à¸¢à¸—ั้งà¹à¸•à¹ˆà¹à¸£à¸à¸ªà¸¸à¸”";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "ดึงรายà¸à¸²à¸£à¸¢à¹ˆà¸­à¸¢à¸ˆà¸²à¸ # à¸ˆà¸²à¸à¸—้ายสุด";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "ดึงรายà¸à¸²à¸£à¸¢à¹ˆà¸­à¸¢à¸ˆà¸²à¸ #";
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "สร้างสำเนารายà¸à¸²à¸£à¹ƒà¸™à¸Šà¹ˆà¸§à¸‡à¸—ี่à¸à¸³à¸«à¸™à¸”";
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 à¸„ือไอเท็มอันท้ายสุด";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 à¸„ือไอเท็มอันà¹à¸£à¸à¸ªà¸¸à¸”";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "หาอันà¹à¸£à¸à¸—ี่พบ";
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "หาอันสุดท้ายที่พบ";
+Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "คืนค่าตำà¹à¸«à¸™à¹ˆà¸‡à¸‚องไอเท็มอันà¹à¸£à¸/สุดท้ายที่พบในรายà¸à¸²à¸£ à¸„ืนค่า %1 à¸–้าหาไม่พบ";
+Blockly.Msg["LISTS_INLIST"] = "ในรายà¸à¸²à¸£";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 à¸§à¹ˆà¸²à¸‡à¹€à¸›à¸¥à¹ˆà¸²";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "คืนค่าเป็นจริง à¸–้ารายà¸à¸²à¸£à¸¢à¸±à¸‡à¸§à¹ˆà¸²à¸‡à¹€à¸›à¸¥à¹ˆà¸²";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "ความยาวของ %1";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "ส่งคืนค่าความยาวของรายà¸à¸²à¸£";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "สร้างรายà¸à¸²à¸£à¸—ี่มีไอเท็ม %1 à¸ˆà¸³à¸™à¸§à¸™ %2";
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "สร้างรายà¸à¸²à¸£à¸—ี่ประà¸à¸­à¸šà¸”้วยค่าตามที่ระบุในจำนวนตามที่ต้องà¸à¸²à¸£";
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";  // untranslated
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "เรียง %1 à¹à¸šà¸šà¸¢à¹‰à¸­à¸™à¸à¸¥à¸±à¸š";
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "เรียงลำดับสำเนาของรายชื่อà¹à¸šà¸šà¸¢à¹‰à¸­à¸™à¸à¸¥à¸±à¸š";
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "เป็น";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "à¹à¸—รà¸à¸—ี่";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "à¸à¸³à¸«à¸™à¸”";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "à¹à¸—รà¸à¹„อเท็มเข้าไปเป็นอันà¹à¸£à¸à¸ªà¸¸à¸”ของรายà¸à¸²à¸£";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "à¹à¸—รà¸à¹„อเท็มเข้าไปในตำà¹à¸«à¸™à¹ˆà¸‡à¸—ี่à¸à¸³à¸«à¸™à¸”";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "เพิ่มไอเท็มเข้าไปท้ายสุดของรายà¸à¸²à¸£";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "เพิ่มไอเท็มเข้าไปในรายà¸à¸²à¸£à¹à¸šà¸šà¸ªà¸¸à¹ˆà¸¡";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "à¸à¸³à¸«à¸™à¸”ไอเท็มอันà¹à¸£à¸à¹ƒà¸™à¸£à¸²à¸¢à¸à¸²à¸£";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "à¸à¸³à¸«à¸™à¸”ไอเท็มในตำà¹à¸«à¸™à¹ˆà¸‡à¸—ี่ระบุในรายà¸à¸²à¸£";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "à¸à¸³à¸«à¸™à¸”ไอเท็มอันสุดท้ายในรายà¸à¸²à¸£";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "à¸à¸³à¸«à¸™à¸”ไอเท็มà¹à¸šà¸šà¸ªà¸¸à¹ˆà¸¡à¹ƒà¸™à¸£à¸²à¸¢à¸à¸²à¸£";
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "น้อยไปหามาà¸";
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "มาà¸à¹„ปหาน้อย";
+Blockly.Msg["LISTS_SORT_TITLE"] = "เรียงลำดับ %1 %2 %3";
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "เรียงลำดับสำเนาของรายชื่อ";
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "ตัวอัà¸à¸©à¸£";
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "ตัวเลข";
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "ตัวอัà¸à¸©à¸£";
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "สร้างรายà¸à¸²à¸£à¸ˆà¸²à¸à¸‚้อความ";
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "สร้างข้อความจาà¸à¸£à¸²à¸¢à¸à¸²à¸£";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "รวมรายà¸à¸²à¸£à¸‚้อความเป็นข้อความเดียว à¹à¸šà¹ˆà¸‡à¸”้วยตัวคั่น";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "à¹à¸šà¹ˆà¸‡à¸‚้อความเป็นรายà¸à¸²à¸£à¸‚้อความ à¹à¸¢à¸à¹à¸•à¹ˆà¸¥à¸°à¸£à¸²à¸¢à¸à¸²à¸£à¸”้วยตัวคั่น";
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "ด้วยตัวคั่น";
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "เท็จ";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "คืนค่าเป็นจริงหรือเท็จ";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "จริง";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://th.wikipedia.org/wiki/อสมà¸à¸²à¸£";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "คืนค่าเป็น \"จริง\" à¸–้าค่าที่ใส่ทั้งสองค่านั้นเท่าà¸à¸±à¸™";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "คืนค่าเป็น \"จริง\" à¸–้าค่าà¹à¸£à¸à¸¡à¸²à¸à¸à¸§à¹ˆà¸²à¸„่าที่สอง";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "คืนค่าเป็น \"จริง\" à¸–้าค่าà¹à¸£à¸à¸¡à¸²à¸à¸à¸§à¹ˆà¸²à¸«à¸£à¸·à¸­à¹€à¸—่าà¸à¸±à¸šà¸„่าที่สอง";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "คืนค่าเป็น \"จริง\" à¸–้าค่าà¹à¸£à¸à¸™à¹‰à¸­à¸¢à¸à¸§à¹ˆà¸²à¸„่าที่สอง";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "คืนค่าเป็น \"จริง\" à¸–้าค่าà¹à¸£à¸à¸™à¹‰à¸­à¸¢à¸à¸§à¹ˆà¸²à¸«à¸£à¸·à¸­à¹€à¸—่าà¸à¸±à¸šà¸„่าที่สอง";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "คืนค่าเป็น \"จริง\" à¸–้าค่าที่ใส่ทั้งสองค่านั้นไม่เท่าà¸à¸±à¸™";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "ไม่ %1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "คืนค่าเป็น \"จริง\" à¸–้าค่าที่ใส่เป็นเท็จ à¸„ืนค่าเป็น \"เท็จ\" à¸–้าค่าที่ใส่เป็นจริง";
+Blockly.Msg["LOGIC_NULL"] = "ไม่à¸à¸³à¸«à¸™à¸”";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";  // untranslated
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "คืนค่า \"ไม่à¸à¸³à¸«à¸™à¸”\"";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "à¹à¸¥à¸°";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "หรือ";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "คืนค่าเป็น \"จริง\" à¸–้าค่าทั้งสองค่าเป็นจริง";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "คืนค่าเป็น \"จริง\" à¸–้ามีอย่างน้อยหนึ่งค่าที่เป็นจริง";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "ทดสอบ";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "ถ้า à¹€à¸›à¹‡à¸™à¹€à¸—็จ";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "ถ้า à¹€à¸›à¹‡à¸™à¸ˆà¸£à¸´à¸‡";
+Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "ตรวจสอบเงื่อนไขใน \"ทดสอบ\" à¸–้าเงื่อนไขเป็นจริง à¸ˆà¸°à¸„ืนค่า \"ถ้า à¹€à¸›à¹‡à¸™à¸ˆà¸£à¸´à¸‡\" à¸–้าเงื่อนไขเป็นเท็จ à¸ˆà¸°à¸„ืนค่า \"ถ้า à¹€à¸›à¹‡à¸™à¹€à¸—็จ\"";
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://th.wikipedia.org/wiki/เลขคณิต";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "คืนค่าผลรวมของตัวเลขทั้งสองจำนวน";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "คืนค่าผลหารของตัวเลขทั้งสองจำนวน";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "คืนค่าผลต่างของตัวเลขทั้งสองจำนวน";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "คืนค่าผลคูณของตัวเลขทั้งสองจำนวน";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "คืนค่าผลà¸à¸²à¸£à¸¢à¸à¸à¸³à¸¥à¸±à¸‡ à¹‚ดยตัวเลขà¹à¸£à¸à¹€à¸›à¹‡à¸™à¸à¸²à¸™ à¹à¸¥à¸°à¸•à¸±à¸§à¹€à¸¥à¸‚ที่สองเป็นเลขชี้à¸à¸³à¸¥à¸±à¸‡";
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";
+Blockly.Msg["MATH_CHANGE_TITLE"] = "เปลี่ยนค่า %1 à¹€à¸›à¹‡à¸™ %2";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "เพิ่มค่าของตัวà¹à¸›à¸£ \"%1\"";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://th.wikipedia.org/wiki/ค่าคงตัวทางคณิตศาสตร์";
+Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "คืนค่าคงตัวทางคณิตศาสตร์ที่พบบ่อยๆ à¹€à¸Šà¹ˆà¸™ Ï€ (3.141…), e (2.718…), Ï† (1.618…), à¸£à¸²à¸à¸—ี่สอง (1.414…), à¸£à¸²à¸à¸—ี่ Â½ (0.707…), âˆž (อนันต์)";
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "จำà¸à¸±à¸”ค่า %1 à¸•à¹ˆà¸³à¸ªà¸¸à¸” %2 à¸ªà¸¹à¸‡à¸ªà¸¸à¸” %3";
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "จำà¸à¸±à¸”ค่าของตัวเลขให้อยู่ในช่วงที่à¸à¸³à¸«à¸™à¸”";
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";  // untranslated
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "หารลงตัว";
+Blockly.Msg["MATH_IS_EVEN"] = "เป็นจำนวนคู่";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "เป็นเลขติดลบ";
+Blockly.Msg["MATH_IS_ODD"] = "เป็นจำนวนคี่";
+Blockly.Msg["MATH_IS_POSITIVE"] = "เป็นเลขบวà¸";
+Blockly.Msg["MATH_IS_PRIME"] = "เป็นจำนวนเฉพาะ";
+Blockly.Msg["MATH_IS_TOOLTIP"] = "ตรวจว่าตัวเลขเป็นจำนวนคู่ à¸ˆà¸³à¸™à¸§à¸™à¸„ี่ à¸ˆà¸³à¸™à¸§à¸™à¹€à¸‰à¸žà¸²à¸° à¸ˆà¸³à¸™à¸§à¸™à¹€à¸•à¹‡à¸¡ à¹€à¸¥à¸‚บวภเลขติดลบ à¸«à¸£à¸·à¸­à¸«à¸²à¸£à¸”้วยเลขที่à¸à¸³à¸«à¸™à¸”ลงตัวหรือไม่ à¸„ืนค่าเป็นจริงหรือเท็จ";
+Blockly.Msg["MATH_IS_WHOLE"] = "เป็นเลขจำนวนเต็ม";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://en.wikipedia.org/wiki/Modulo_operation";
+Blockly.Msg["MATH_MODULO_TITLE"] = "เศษของ %1 Ã· %2";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "คืนค่าเศษที่ได้จาà¸à¸à¸²à¸£à¸«à¸²à¸£à¸‚องตัวเลขทั้งสองจำนวน";
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";  // untranslated
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://th.wikipedia.org/wiki/จำนวน";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "จำนวน";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "ค่าเฉลี่ยของรายà¸à¸²à¸£";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "มาà¸à¸—ี่สุดในรายà¸à¸²à¸£";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "ค่ามัธยà¸à¸²à¸™à¸‚องรายà¸à¸²à¸£";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "น้อยที่สุดในรายà¸à¸²à¸£";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "à¸à¸²à¸™à¸™à¸´à¸¢à¸¡à¸‚องรายà¸à¸²à¸£";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "สุ่มรายà¸à¸²à¸£";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "ส่วนเบี่ยงเบนมาตรà¸à¸²à¸™à¸‚องรายà¸à¸²à¸£";
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "ผลรวมของรายà¸à¸²à¸£";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "คืนค่าเฉลี่ยของรายà¸à¸²à¸£";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "คืนค่าตัวเลขที่มาà¸à¸—ี่สุดในรายà¸à¸²à¸£";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "คืนค่ามัธยà¸à¸²à¸™à¸‚องรายà¸à¸²à¸£";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "คืนค่าตัวเลขที่น้อยที่สุดในรายà¸à¸²à¸£";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "คืนค่าà¸à¸²à¸™à¸™à¸´à¸¢à¸¡à¸‚องรายà¸à¸²à¸£";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "สุ่มคืนค่าสิ่งที่อยู่ในรายà¸à¸²à¸£";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "คืนค่าส่วนเบี่ยงเบนมาตรà¸à¸²à¸™à¸‚องรายà¸à¸²à¸£";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "คืนค่าผลรวมของตัวเลขทั้งหมดในรายà¸à¸²à¸£";
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "สุ่มเลขเศษส่วน";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "สุ่มเลขเศษส่วน à¸•à¸±à¹‰à¸‡à¹à¸•à¹ˆ 0.0 à¹à¸•à¹ˆà¹„ม่เà¸à¸´à¸™ 1.0";
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "สุ่มเลขจำนวนเต็มตั้งà¹à¸•à¹ˆ %1 à¸ˆà¸™à¸–ึง %2";
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "สุ่มเลขจำนวนเต็มจาà¸à¸Šà¹ˆà¸§à¸‡à¸—ี่à¸à¸³à¸«à¸™à¸”";
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://th.wikipedia.org/wiki/à¸à¸²à¸£à¸›à¸±à¸”เศษ";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "ปัดเศษ";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "ปัดเศษลง";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "ปัดเศษขึ้น";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "ปัดเศษของตัวเลขขึ้นหรือลง";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://en.wikipedia.org/wiki/Square_root";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "ค่าสัมบูรณ์";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "ราà¸à¸—ี่สอง";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "คืนค่าค่าสัมบูรณ์ของตัวเลข";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "คืนค่า e à¸¢à¸à¸à¸³à¸¥à¸±à¸‡à¸”้วยตัวเลข";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "คืนค่าลอà¸à¸²à¸£à¸´à¸—ึมธรรมชาติของตัวเลข";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "คืนค่าลอà¸à¸²à¸£à¸´à¸—ึมà¸à¸²à¸™à¸ªà¸´à¸šà¸‚องตัวเลข";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "คืนค่าติดลบของตัวเลข";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "คืนค่า 10 à¸¢à¸à¸à¸³à¸¥à¸±à¸‡à¸”้วยตัวเลข";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "คืนค่าราà¸à¸—ี่สองของตัวเลข";
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";  // untranslated
+Blockly.Msg["MATH_TRIG_ACOS"] = "acos";  // untranslated
+Blockly.Msg["MATH_TRIG_ASIN"] = "asin";  // untranslated
+Blockly.Msg["MATH_TRIG_ATAN"] = "atan";  // untranslated
+Blockly.Msg["MATH_TRIG_COS"] = "cos";  // untranslated
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://th.wikipedia.org/wiki/ฟังà¸à¹Œà¸Šà¸±à¸™à¸•à¸£à¸µà¹‚à¸à¸“มิติ";
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";  // untranslated
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "คืนค่า arccosine à¸‚องตัวเลข";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "คืนค่า arcsine à¸‚องตัวเลข";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "คืนค่า arctangent à¸‚องตัวเลข";
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "คืนค่า cosine à¸‚ององศา (ไม่ใช่เรเดียน)";
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "คืนค่า sine à¸‚ององศา (ไม่ใช่เรเดียน)";
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "คืนค่า tangent à¸‚ององศา (ไม่ใช่เรเดียน)";
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "สร้างตัวà¹à¸›à¸£à¸ªà¸µ";
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "สร้างตัวà¹à¸›à¸£à¸ˆà¸³à¸™à¸§à¸™";
+Blockly.Msg["NEW_STRING_VARIABLE"] = "สร้างตัวà¹à¸›à¸£ string";
+Blockly.Msg["NEW_VARIABLE"] = "สร้างตัวà¹à¸›à¸£...";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "ชื่อตัวà¹à¸›à¸£à¹ƒà¸«à¸¡à¹ˆ:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "ชนิดตัวà¹à¸›à¸£à¹ƒà¸«à¸¡à¹ˆ";
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "ข้อความที่ใช้ได้";
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "ด้วย:";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://th.wikipedia.org/wiki/ซับรู้ทีน";
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "เรียà¸à¹ƒà¸Šà¹‰à¸Ÿà¸±à¸‡à¸à¹Œà¸Šà¸±à¸™à¸—ี่สร้างโดยผู้ใช้ \"%1\"";
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://th.wikipedia.org/wiki/ซับรูทีน";
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "เรียà¸à¹ƒà¸Šà¹‰à¸Ÿà¸±à¸‡à¸à¹Œà¸Šà¸±à¸™à¸—ี่สร้างโดยผู้ใช้ \"%1\" à¹à¸¥à¸°à¹ƒà¸Šà¹‰à¸œà¸¥à¸¥à¸±à¸žà¸˜à¹Œà¸‚องมัน";
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "ด้วย:";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "สร้าง \"%1\"";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "อธิบายฟังà¸à¹Œà¸Šà¸±à¸™à¸™à¸µà¹‰";
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "ทำอะไรบางอย่าง";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "ถึง";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "สร้างฟังà¸à¹Œà¸Šà¸±à¸™à¸—ี่ไม่มีผลลัพธ์";
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "คืนค่า";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "สร้างฟังà¸à¹Œà¸Šà¸±à¸™à¸—ี่มีผลลัพธ์";
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "ระวัง: à¸Ÿà¸±à¸‡à¸à¹Œà¸Šà¸±à¸™à¸™à¸µà¹‰à¸¡à¸µà¸žà¸²à¸£à¸²à¸¡à¸´à¹€à¸•à¸­à¸£à¹Œà¸—ี่มีชื่อซ้ำà¸à¸±à¸™";
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "เน้นฟังà¸à¹Œà¸Šà¸±à¸™à¸™à¸´à¸¢à¸²à¸¡";
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "ถ้ามีค่าเป็นจริง à¹ƒà¸«à¹‰à¸„ืนค่าที่สอง";
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "ระวัง: à¸šà¸¥à¹‡à¸­à¸à¸™à¸µà¹‰à¹ƒà¸Šà¹‰à¹€à¸‰à¸žà¸²à¸°à¹ƒà¸™à¸à¸²à¸£à¸ªà¸£à¹‰à¸²à¸‡à¸Ÿà¸±à¸‡à¸à¹Œà¸Šà¸±à¸™à¹€à¸—่านั้น";
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "ชื่อนำเข้า:";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "เพิ่มค่าป้อนเข้าฟังà¸à¹Œà¸Šà¸±à¸™";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "นำเข้า";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "เพิ่ม, à¸¥à¸š, à¸«à¸£à¸·à¸­à¸ˆà¸±à¸”เรียง à¸‚้อมูลที่ป้อนเข้าฟังà¸à¹Œà¸Šà¸±à¸™à¸™à¸µà¹‰";
+Blockly.Msg["REDO"] = "ทำซ้ำ";
+Blockly.Msg["REMOVE_COMMENT"] = "เอาคำอธิบายออà¸";
+Blockly.Msg["RENAME_VARIABLE"] = "เปลี่ยนชื่อตัวà¹à¸›à¸£...";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "เปลี่ยนชื่อตัวà¹à¸›à¸£ '%1' à¸—ั้งหมดเป็น:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "นำเอา %1 à¸•à¹ˆà¸­à¸”้วยข้อความ %2";
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "ต่อข้อความให้ตัวà¹à¸›à¸£ \"%1\"";
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "เปลี่ยนเป็น à¸•à¸±à¸§à¸žà¸´à¸¡à¸žà¹Œà¹€à¸¥à¹‡à¸";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "เปลี่ยนเป็น à¸•à¸±à¸§à¸­à¸±à¸à¸©à¸£à¹à¸£à¸à¹€à¸›à¹‡à¸™à¸•à¸±à¸§à¸žà¸´à¸¡à¸žà¹Œà¹ƒà¸«à¸à¹ˆ";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "เปลี่ยนเป็น à¸•à¸±à¸§à¸žà¸´à¸¡à¸žà¹Œà¹ƒà¸«à¸à¹ˆ";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "คืนค่าสำเนาของข้อความในà¸à¸£à¸“ีต่างๆ";
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "ดึง à¸•à¸±à¸§à¸­à¸±à¸à¸©à¸£à¸•à¸±à¸§à¹à¸£à¸";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "ดึง à¸•à¸±à¸§à¸­à¸±à¸à¸©à¸£à¸•à¸±à¸§à¸—ี่ # à¸ˆà¸²à¸à¸—้าย";
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "ดึง à¸•à¸±à¸§à¸­à¸±à¸à¸©à¸£à¸•à¸±à¸§à¸—ี่";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "ดึง à¸•à¸±à¸§à¸­à¸±à¸à¸©à¸£à¸•à¸±à¸§à¸ªà¸¸à¸”ท้าย";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "ถึงตัวอัà¸à¸©à¸£à¹à¸šà¸šà¸ªà¸¸à¹ˆà¸¡";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "ในข้อความ %1 %2";
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "คืนค่าตัวอัà¸à¸©à¸£à¸ˆà¸²à¸à¸•à¸³à¹à¸«à¸™à¹ˆà¸‡à¸—ี่ระบุ";
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";  // untranslated
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "นับ %1 à¸ à¸²à¸¢à¹ƒà¸™ %2";
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "นับจำนวนข้อความà¹à¸£à¸à¸—ี่พบอยู่ในข้อความที่สอง";
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "เพิ่มรายà¸à¸²à¸£à¹€à¸‚้าไปในข้อความ";
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "รวม";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "เพิ่ม à¸¥à¸š à¸«à¸£à¸·à¸­à¸ˆà¸±à¸”เรียงบล็อà¸à¸‚้อความนี้ใหม่";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "จนถึง à¸•à¸±à¸§à¸­à¸±à¸à¸©à¸£à¸—ี่ # à¸ˆà¸²à¸à¸—้าย";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "จนถึง à¸•à¸±à¸§à¸­à¸±à¸à¸©à¸£à¸—ี่";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "จนถึง à¸•à¸±à¸§à¸­à¸±à¸à¸©à¸£à¸ªà¸¸à¸”ท้าย";
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "ในข้อความ";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "à¹à¸¢à¸à¸‚้อความย่อยตั้งà¹à¸•à¹ˆ à¸•à¸±à¸§à¸­à¸±à¸à¸©à¸£à¹à¸£à¸";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "à¹à¸¢à¸à¸‚้อความย่อยตั้งà¹à¸•à¹ˆ à¸•à¸±à¸§à¸­à¸±à¸à¸©à¸£à¸—ี่ # à¸ˆà¸²à¸à¸—้าย";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "à¹à¸¢à¸à¸‚้อความย่อยตั้งà¹à¸•à¹ˆ à¸•à¸±à¸§à¸­à¸±à¸à¸©à¸£à¸—ี่";
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "คืนค่าบางส่วนของข้อความ";
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "หาข้อความà¹à¸£à¸à¸—ี่พบ";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "หาข้อความสุดท้ายที่พบ";
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "ในข้อความ %1 %2 %3";
+Blockly.Msg["TEXT_INDEXOF_TOOLTIP"] = "คืนค่าตำà¹à¸«à¸™à¹ˆà¸‡à¸—ี่พบข้อความà¹à¸£à¸à¸­à¸¢à¸¹à¹ˆà¹ƒà¸™à¸‚้อความที่สอง à¸„ืนค่า %1 à¸–้าหาไม่พบ";
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 à¸§à¹ˆà¸²à¸‡";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "คืนค่าจริง à¸–้าข้อความยังว่างเปล่า";
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "สร้างข้อความด้วย";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "สร้างข้อความด้วยà¸à¸²à¸£à¸£à¸§à¸¡à¸ˆà¸³à¸™à¸§à¸™à¸‚องรายà¸à¸²à¸£à¹€à¸‚้าด้วยà¸à¸±à¸™";
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "ความยาวของ %1";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "คืนค่าความยาวของข้อความ (รวมช่องว่าง)";
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "พิมพ์ %1";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "พิมพ์ข้อความ à¸•à¸±à¸§à¹€à¸¥à¸‚ à¸«à¸£à¸·à¸­à¸„่าอื่นๆ";
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "à¹à¸ªà¸”งหน้าต่างให้ผู้ใช้ใส่ตัวเลข";
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "à¹à¸ªà¸”งหน้าต่างให้ผู้ใช้ใส่ข้อความ";
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "à¹à¸ªà¸”งหน้าต่างตัวเลข";
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "à¹à¸ªà¸”งหน้าต่างข้อความ";
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";  // untranslated
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "à¹à¸—นที่ %1 à¸”้วย %2 à¹ƒà¸™ %3";
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "à¹à¸—นที่ข้อความà¹à¸£à¸à¸—ั้งหมดที่พบในข้อความที่สอง";
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";  // untranslated
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "เรียง %1 à¹à¸šà¸šà¸¢à¹‰à¸­à¸™à¸à¸¥à¸±à¸š";
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "เรียงตัวอัà¸à¸©à¸£à¸—ั้งหมดของข้อความà¹à¸šà¸šà¸¢à¹‰à¸­à¸™à¸à¸¥à¸±à¸š";
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://th.wikipedia.org/wiki/สายอัà¸à¸‚ระ";
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "ตัวหนังสือ à¸„ำ à¸«à¸£à¸·à¸­à¸‚้อความ";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "ลบช่องว่างทั้งสองข้างของ";
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "ลบช่องว่างด้านหน้าของ";
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "ลบช่องว่างข้างท้ายของ";
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "คืนค่าสำเนาของข้อความที่ลบเอาช่องว่างหน้าà¹à¸¥à¸°à¸«à¸¥à¸±à¸‡à¸‚้อความออà¸à¹à¸¥à¹‰à¸§";
+Blockly.Msg["TODAY"] = "วันนี้";
+Blockly.Msg["UNDO"] = "ย้อนà¸à¸¥à¸±à¸š";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "รายà¸à¸²à¸£";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "สร้าง \"à¸à¸³à¸«à¸™à¸” %1\"";
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "คืนค่าของตัวà¹à¸›à¸£à¸™à¸µà¹‰";
+Blockly.Msg["VARIABLES_SET"] = "à¸à¸³à¸«à¸™à¸” %1 à¸ˆà¸™à¸–ึง %2";
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "สร้าง \"get %1\"";
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "à¸à¸³à¸«à¸™à¸”ให้ตัวà¹à¸›à¸£à¸™à¸µà¹‰à¹€à¸—่าà¸à¸±à¸šà¸à¸²à¸£à¸›à¹‰à¸­à¸™à¸‚้อมูล";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "มีตัวà¹à¸›à¸£à¸Šà¸·à¹ˆà¸­ '%1' à¸­à¸¢à¸¹à¹ˆà¹à¸¥à¹‰à¸§";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "ตัวà¹à¸›à¸£à¸Šà¸·à¹ˆà¸­ '%1' à¸¡à¸µà¸­à¸¢à¸¹à¹ˆà¹à¸¥à¹‰à¸§à¸ªà¸³à¸«à¸£à¸±à¸šà¸•à¸±à¸§à¹à¸›à¸£à¸­à¸·à¹ˆà¸™à¸‚องชนิด: '%2'";
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something...";  // untranslated
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/tl.js b/js/msg/js/tl.js
new file mode 100644 (file)
index 0000000..75a8073
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.tl');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "Dagdag komento";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "Can't delete the variable '%1' because it's part of the definition of the function '%2'";  // untranslated
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "pagbago ng value:";
+Blockly.Msg["CLEAN_UP"] = "Clean up Blocks";  // untranslated
+Blockly.Msg["COLLAPSE_ALL"] = "bloke";
+Blockly.Msg["COLLAPSE_BLOCK"] = "bloke";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "kulay 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "kulay 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";  // untranslated
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "proporsyon";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "halo";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "Paghalo ng dalawang kulay kasama ng ibinigay na proporsyon (0.0 - 1.0).";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://en.wikipedia.org/wiki/Color";  // untranslated
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "pagpili ng kulay sa paleta.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "iba ibang kulay";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "pagpili ng iba't ibang kulay.";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "asul";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "berde";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";  // untranslated
+Blockly.Msg["COLOUR_RGB_RED"] = "pula";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "kulayan ng";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "gumawa ng kulay ng may espisipikong dami ng kulay pula, berde, at asul. lahat ng halaga ay dapat sa pagitan ng 0 at 100.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "putulin ang paulit ulit";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "Magpatuloy sa susunod na pag-ulit ng loop";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "Hatiin ang nilalaman ng loop.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "Laktawan ang natitirang bahagi ng loop, at magpatuloy sa susunod na pag-ulit.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "Babala: Ang block ito ay maaari lamang magamit sa loob ng loop.";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "sa bawat bagay %1 sa listahan %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "Para sa bawat item sa isang list, i-set ang variable ng '%1' sa mga item, at pagkatapos ay gumawa ng ilang mga statements.";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "bilangin %1 mula %2 hanggang %3 ng %4";
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "Magkaroon ng mga variable na \"%1\" na tanggalin ng mga halaga mula sa simulang numero hanggang sa dulong numero, at bilangin sa pamamagitan ng tinukoy na agwat, at gawin ang mga tinukoy na mga blocks.";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "Mag dagdag ng condition sa if block.";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "Mag Add ng final, kunin lahat ng condition sa if block.";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Mag Add, remove o kaya mag reorder ng sections para maayos ang if block.";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "else";  // untranslated
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "else if";  // untranslated
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "kung";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "kung ang value ay true,  gagawin ang do statements.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "Kung ang value ay true, gagawin ang unang block ng do statements. Kung hindi, gagawin ang pangalawang block ng statement.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "Kung ang unang value ay true, gagawin ang first block ng statement. Kung hindi, kung ang second value ay true, gagawin ang second block ng statement.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "Kung ang first value ay true, gagawin ang first block ng statement. Kung hindi true ang second value, gagawin ang second block ng statement. Kung wala sa mga values ay true, gagawin ang last block ng statements.";
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://en.wikipedia.org/wiki/For_loop";  // untranslated
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "gawin";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "ulitin %1 beses";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "gumawa ng ilang pangungusap ng ilang ulit.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "ulitin hanggang";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "ulitin habang";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "Habang ang value ay false, gagawin ang ibang statements.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "Habang ang value ay true, gagawin ang ibang statements.";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "Delete all %1 blocks?";  // untranslated
+Blockly.Msg["DELETE_BLOCK"] = "burahin ang bloke";
+Blockly.Msg["DELETE_VARIABLE"] = "Delete the '%1' variable";  // untranslated
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Delete %1 uses of the '%2' variable?";  // untranslated
+Blockly.Msg["DELETE_X_BLOCKS"] = "burahin %1 ng bloke";
+Blockly.Msg["DISABLE_BLOCK"] = "Ipangwalang bisa ang Block";
+Blockly.Msg["DUPLICATE_BLOCK"] = "Kaparehas";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicate Comment";  // untranslated
+Blockly.Msg["ENABLE_BLOCK"] = "Bigyan ng bisa ang Block";
+Blockly.Msg["EXPAND_ALL"] = "Palawakin ang Blocks";
+Blockly.Msg["EXPAND_BLOCK"] = "Palawakin ang Block";
+Blockly.Msg["EXTERNAL_INPUTS"] = "Panlabas na Inputs";
+Blockly.Msg["HELP"] = "Tulong";
+Blockly.Msg["INLINE_INPUTS"] = "Inline na Inputs";
+Blockly.Msg["IOS_CANCEL"] = "Cancel";  // untranslated
+Blockly.Msg["IOS_ERROR"] = "Error";  // untranslated
+Blockly.Msg["IOS_OK"] = "OK";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Add Input";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Allow statements";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "This function has duplicate inputs.";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "INPUTS";  // untranslated
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "Add";  // untranslated
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Add Variable";  // untranslated
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "Delete";  // untranslated
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "You can't use an empty variable name.";  // untranslated
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Rename";  // untranslated
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Variable name";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "Gumawa ng walang laman na list";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Ibabalik ang list, na may haba na 0, nag lalaman ng walang data records";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "list";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Magdagdag, mag tanggal or mag ayos ng sections para muling maayos ang listahan ng block.";
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "gumawa ng list kasama";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Mag dagdag ng item sa list.";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Gumawa ng list na may kahit anong number ng items.";
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "Una";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "# mula katapusan";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "kunin";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "kunin at tanggalin";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "huli";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "nang hindi pinipili";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "tanggalin";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Ibalik ang unang item sa list.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Ibalik ang item sa itinakdang posisyon sa list.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Ibalik ang huling item sa list.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Nag babalik ng hindi pinipiling item sa list.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "Nag tatanggal at nag babalik ng mga unang item sa list.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "Nag tatanggal at nag babalik ng mga items sa tinukoy na posisyon sa list.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "Nag tatanggal at nag babalik ng huling item sa list.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Nag tatanggal at nag babalik ng mga hindi pinipiling item sa list.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "Nag tatanggal ng unang item sa list.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "Nag tatanggal ng item sa tinukoy na posisyon sa list.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "Nag tatanggal ng huling item sa list.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Nag tatanggal ng item mula sa walang pinipiling list.";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "mula # hanggang huli";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "mula #";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "hanggang huli";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "pag kuha ng sub-list mula sa una";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "pag kuha ng sub-list mula sa # mula huli";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "pag kuha ng sub-list mula #";
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Gumagawa ng kopya ng tinukoy na bahagi ng list.";
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 ay ang huling item.";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 ay ang unang item.";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "Hanapin ang unang pangyayari ng item";
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "hanapin ang huling pangyayari ng item";
+Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "Pagbalik ng index ng una/huli pangyayari ng item sa list. Pagbalik ng %1 kung ang item ay hindi makita.";
+Blockly.Msg["LISTS_INLIST"] = "sa list";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 ay walang laman";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Nagbabalik ng true kung ang list ay walang laman.";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "haba ng %1";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Pag balik ng haba ng list.";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "pag gawa ng list kasama ng item %1 inuulit %2 beses";
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Pag gawa ng list na binubuo ng binigay na value at inulit na tinuloy na bilang ng beses.";
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";  // untranslated
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Reverse a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "gaya ng";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "isingit sa";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Nag singit ng item sa simula ng list.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Nag singit ng item sa tinukoy na posistion sa list.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Idagdag ang item sa huli ng isang list.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Isingit ang item ng walang pinipili sa isang list.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Pag set ng unang item sa isang list.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Pag set ng item sa tinukoy na position sa isang list.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Pag set sa huling item sa isang list.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Pag set ng walang pinipiling item sa isang list.";
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";  // untranslated
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "ascending";  // untranslated
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "descending";  // untranslated
+Blockly.Msg["LISTS_SORT_TITLE"] = "sort %1 %2 %3";  // untranslated
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Sort a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "alphabetic, ignore case";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "numeric";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "alphabetic";  // untranslated
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "make list from text";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "make text from list";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Join a list of texts into one text, separated by a delimiter.";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Split text into a list of texts, breaking at each delimiter.";  // untranslated
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "with delimiter";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "mali";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "Nag babalik ng true or false.";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "tama";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://en.wikipedia.org/wiki/Inequality_(mathematics)";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Nag babalik ng true kung ang pinasok ay parehong magkatumbas.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Nagbabalik ng true kung ang unang pinasok ay mas malaki kaysa pangalawang pinasok.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Nag babalik ng true kung ang unang pinasok ay mas malaki or katumbas ng pangalawang pinasok.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "Nag babalik ng true kung ang unang pinasok ay maliit kaysa sa pangalawang pinasok.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "Nag babalik ng true kung ang unang pinasok ay maliit sa o katumbas sa pangalawang pinasok.";
+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";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "not %1";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "Returns true if the input is false. Returns false if the input is true.";  // untranslated
+Blockly.Msg["LOGIC_NULL"] = "blangko";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";  // untranslated
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "Returns null.";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_AND"] = "at";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "o";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "Return true if both inputs are true.";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "Return true if at least one of the inputs is true.";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "test";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "kung mali";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "kung tama";
+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.";  // untranslated
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://en.wikipedia.org/wiki/Arithmetic";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Return the sum of the two numbers.";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Return the quotient of the two numbers.";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Return the difference of the two numbers.";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Return the product of the two numbers.";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Return the first number raised to the power of the second number.";  // untranslated
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";  // untranslated
+Blockly.Msg["MATH_CHANGE_TITLE"] = "baguhin %1 by %2";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Add a number to variable '%1'.";  // untranslated
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://en.wikipedia.org/wiki/Mathematical_constant";  // untranslated
+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).";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "constrain %1 low %2 high %3";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Constrain a number to be between the specified limits (inclusive).";  // untranslated
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";  // untranslated
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "is divisible by";  // untranslated
+Blockly.Msg["MATH_IS_EVEN"] = "is even";  // untranslated
+Blockly.Msg["MATH_IS_NEGATIVE"] = "ay negatibo";
+Blockly.Msg["MATH_IS_ODD"] = "is odd";  // untranslated
+Blockly.Msg["MATH_IS_POSITIVE"] = "ay positibo";
+Blockly.Msg["MATH_IS_PRIME"] = "is prime";  // untranslated
+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.";  // untranslated
+Blockly.Msg["MATH_IS_WHOLE"] = "is whole";  // untranslated
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://en.wikipedia.org/wiki/Modulo_operation";  // untranslated
+Blockly.Msg["MATH_MODULO_TITLE"] = "remainder of %1 ÷ %2";  // untranslated
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Return the remainder from dividing the two numbers.";  // untranslated
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";  // untranslated
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://en.wikipedia.org/wiki/Number";  // untranslated
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "A number.";  // untranslated
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "average of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "max of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "median of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "min of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "modes of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "random item of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "standard deviation of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "sum of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Return the average (arithmetic mean) of the numeric values in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "Return the largest number in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "Return the median number in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "Return the smallest number in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Return a list of the most common item(s) in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Return a random element from the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Return the standard deviation of the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Return the sum of all the numbers in the list.";  // untranslated
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "random fraction";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Return a random fraction between 0.0 (inclusive) and 1.0 (exclusive).";  // untranslated
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";  // untranslated
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "random integer from %1 to %2";  // untranslated
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Return a random integer between the two specified limits, inclusive.";  // untranslated
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://en.wikipedia.org/wiki/Rounding";  // untranslated
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "round";  // untranslated
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "round down";  // untranslated
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "round up";  // untranslated
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Round a number up or down.";  // untranslated
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://en.wikipedia.org/wiki/Square_root";  // untranslated
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "absolute";  // untranslated
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "square root";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Return the absolute value of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Return e to the power of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "Return the natural logarithm of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "Return the base 10 logarithm of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Return the negation of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Return 10 to the power of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Return the square root of a number.";  // untranslated
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";  // untranslated
+Blockly.Msg["MATH_TRIG_ACOS"] = "acos";  // untranslated
+Blockly.Msg["MATH_TRIG_ASIN"] = "asin";  // untranslated
+Blockly.Msg["MATH_TRIG_ATAN"] = "atan";  // untranslated
+Blockly.Msg["MATH_TRIG_COS"] = "cos";  // untranslated
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://en.wikipedia.org/wiki/Trigonometric_functions";  // untranslated
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";  // untranslated
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Return the arccosine of a number.";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Return the arcsine of a number.";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Return the arctangent of a number.";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Return the cosine of a degree (not radian).";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Return the sine of a degree (not radian).";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Return the tangent of a degree (not radian).";  // untranslated
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Create colour variable...";  // untranslated
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Create number variable...";  // untranslated
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Create string variable...";  // untranslated
+Blockly.Msg["NEW_VARIABLE"] = "Create variable...";  // untranslated
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "New variable name:";  // untranslated
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "New variable type:";  // untranslated
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "allow statements";  // untranslated
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "with:";  // untranslated
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Run the user-defined function '%1'.";  // untranslated
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Run the user-defined function '%1' and use its output.";  // untranslated
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "with:";  // untranslated
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "Create '%1'";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Describe this function...";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "do something";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "to";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Creates a function with no output.";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "return";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "Creates a function with an output.";  // untranslated
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "Warning: This function has duplicate parameters.";  // untranslated
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "Highlight function definition";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "If a value is true, then return a second value.";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "Warning: This block may be used only within a function definition.";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "input name:";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Add an input to the function.";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "inputs";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Add, remove, or reorder inputs to this function.";  // untranslated
+Blockly.Msg["REDO"] = "Redo";  // untranslated
+Blockly.Msg["REMOVE_COMMENT"] = "Remove Comment";  // untranslated
+Blockly.Msg["RENAME_VARIABLE"] = "Rename variable...";  // untranslated
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Rename all '%1' variables to:";  // untranslated
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "to %1 append text %2";  // untranslated
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Append some text to variable '%1'.";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "to lower case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "to Title Case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "to UPPER CASE";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Return a copy of the text in a different case.";  // untranslated
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "get first letter";  // untranslated
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "get letter # from end";  // untranslated
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "get letter #";  // untranslated
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "get last letter";  // untranslated
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "get random letter";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "in text %1 %2";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Returns the letter at the specified position.";  // untranslated
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";  // untranslated
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "count %1 in %2";  // untranslated
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Count how many times some text occurs within some other text.";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Add an item to the text.";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "join";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this text block.";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "to letter # from end";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "to letter #";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "to last letter";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "in text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "get substring from first letter";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "get substring from letter # from end";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "get substring from letter #";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Returns a specified portion of the text.";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "find first occurrence of text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "find last occurrence of text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "in text %1 %2 %3";  // untranslated
+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.";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 is empty";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Returns true if the provided text is empty.";  // untranslated
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "create text with";  // untranslated
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Create a piece of text by joining together any number of items.";  // untranslated
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "length of %1";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Returns the number of letters (including spaces) in the provided text.";  // untranslated
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "print %1";  // untranslated
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Print the specified text, number or other value.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Prompt for user for a number.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Prompt for user for some text.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "prompt for number with message";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "prompt for text with message";  // untranslated
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";  // untranslated
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "replace %1 with %2 in %3";  // untranslated
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Replace all occurances of some text within some other text.";  // untranslated
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";  // untranslated
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Reverses the order of the characters in the text.";  // untranslated
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://en.wikipedia.org/wiki/String_(computer_science)";  // untranslated
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "A letter, word, or line of text.";  // untranslated
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "trim spaces from both sides of";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "trim spaces from left side of";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "trim spaces from right side of";  // untranslated
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Return a copy of the text with spaces removed from one or both ends.";  // untranslated
+Blockly.Msg["TODAY"] = "Today";  // untranslated
+Blockly.Msg["UNDO"] = "Undo";  // untranslated
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "item";  // untranslated
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Create 'set %1'";  // untranslated
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Returns the value of this variable.";  // untranslated
+Blockly.Msg["VARIABLES_SET"] = "set %1 to %2";  // untranslated
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Create 'get %1'";  // untranslated
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Sets this variable to be equal to the input.";  // untranslated
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "A variable named '%1' already exists.";  // untranslated
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "A variable named '%1' already exists for another type: '%2'.";  // untranslated
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something...";  // untranslated
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/tlh.js b/js/msg/js/tlh.js
new file mode 100644 (file)
index 0000000..dd15296
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.tlh');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "QInHom chel";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "Can't delete the variable '%1' because it's part of the definition of the function '%2'";  // untranslated
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "choH:";
+Blockly.Msg["CLEAN_UP"] = "ngoghmeyvaD tlhegh rurmoH";
+Blockly.Msg["COLLAPSE_ALL"] = "ngoghmey DejmoH";
+Blockly.Msg["COLLAPSE_BLOCK"] = "ngogh DejmoH";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "rItlh wa'";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "rItlh cha'";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";  // untranslated
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "'ar";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "DuD";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "Blends two colours together with a given ratio (0.0 - 1.0).";  // untranslated
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://en.wikipedia.org/wiki/Color";  // untranslated
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "Choose a colour from the palette.";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "rItlh vISaHbe'";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "Choose a colour at random.";  // untranslated
+Blockly.Msg["COLOUR_RGB_BLUE"] = "chal rItlh";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "tI rItlh";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";  // untranslated
+Blockly.Msg["COLOUR_RGB_RED"] = "'Iw rItlh";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "rItlh wIv";
+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.";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "gho Haw'";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "gho taHqa'";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "Break out of the containing loop.";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "Skip the rest of this loop, and continue with the next iteration.";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "yIqIm! ghoDaq neH ngoghvam lo'laH vay'.";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "ngIq Doch %1 ngaSbogh tetlh %2 nuDDI'";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "For each item in a list, set the variable '%1' to the item, and then do some statements.";  // untranslated
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "togh %1 mung %2 ghoch %3 Do %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.";  // untranslated
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "Add a condition to the if block.";  // untranslated
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "Add a final, catch-all condition to the if block.";  // untranslated
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this if block.";  // untranslated
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "pagh";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "pagh teHchugh";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "teHchugh";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "If a value is true, then do some statements.";  // untranslated
+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.";  // untranslated
+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.";  // untranslated
+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.";  // untranslated
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://en.wikipedia.org/wiki/For_loop";  // untranslated
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "ruch";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "%1-logh qaSmoH";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "Do some statements several times.";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "teHpa' qaSmoH";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "teHtaHvIS qaSmoH";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "While a value is false, then do some statements.";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "While a value is true, then do some statements.";  // untranslated
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "Hoch %1 ngoghmey Qaw'?";
+Blockly.Msg["DELETE_BLOCK"] = "ngogh Qaw'";
+Blockly.Msg["DELETE_VARIABLE"] = "Delete the '%1' variable";  // untranslated
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Delete %1 uses of the '%2' variable?";  // untranslated
+Blockly.Msg["DELETE_X_BLOCKS"] = "%1 ngoghmey Qaw'";
+Blockly.Msg["DISABLE_BLOCK"] = "ngogh Qotlh";
+Blockly.Msg["DUPLICATE_BLOCK"] = "velqa' chenmoH";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicate Comment";  // untranslated
+Blockly.Msg["ENABLE_BLOCK"] = "ngogh QotlhHa'";
+Blockly.Msg["EXPAND_ALL"] = "ngoghmey DejHa'moH";
+Blockly.Msg["EXPAND_BLOCK"] = "ngogh DejHa'moH";
+Blockly.Msg["EXTERNAL_INPUTS"] = "Hur rar";
+Blockly.Msg["HELP"] = "QaH";
+Blockly.Msg["INLINE_INPUTS"] = "qoD rar";
+Blockly.Msg["IOS_CANCEL"] = "Cancel";  // untranslated
+Blockly.Msg["IOS_ERROR"] = "Error";  // untranslated
+Blockly.Msg["IOS_OK"] = "OK";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Add Input";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Allow statements";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "This function has duplicate inputs.";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "INPUTS";  // untranslated
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "Add";  // untranslated
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Add Variable";  // untranslated
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "Delete";  // untranslated
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "You can't use an empty variable name.";  // untranslated
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Rename";  // untranslated
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Variable name";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "tetlh chIm";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Returns a list, of length 0, containing no data records";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "tetlh";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this list block.";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "tetlh ghom";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Add an item to the list.";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Create a list with any number of items.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "wa'DIch";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "# Qav";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "Suq";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "Suq vaj pej";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "Qav";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "Sahbe'";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "pej";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Returns the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Returns the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Returns the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Returns a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "Removes and returns the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "Removes and returns the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "Removes and returns the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Removes and returns a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "Removes the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "Removes the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "Removes the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Removes a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "mojaQ # Qav";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "mojaQ #";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "mojaQ Qav";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "tetlhHom moHaq wa'DIch";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "tetlhHom moHaq # Qav";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "tetlhHom moHaq #";
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "Suq";
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Creates a copy of the specified portion of a list.";  // untranslated
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 is the last item.";  // untranslated
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 is the first item.";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "Doch sam wa'DIch";
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "Doch sam Qav";
+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.";  // untranslated
+Blockly.Msg["LISTS_INLIST"] = "tetlhDaq";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 chIm'a'";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Returns true if the list is empty.";  // untranslated
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "chuq %1";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Returns the length of a list.";  // untranslated
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "tetlh ghom %2 Dochmey %1 pus";
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Creates a list consisting of the given value repeated the specified number of times.";  // untranslated
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";  // untranslated
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Reverse a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "Dos";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "lIH";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "choH";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Inserts the item at the start of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Inserts the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Append the item to the end of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Inserts the item randomly in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Sets the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Sets the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Sets the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Sets a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";  // untranslated
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "ascending";  // untranslated
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "descending";  // untranslated
+Blockly.Msg["LISTS_SORT_TITLE"] = "sort %1 %2 %3";  // untranslated
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Sort a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "alphabetic, ignore case";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "numeric";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "alphabetic";  // untranslated
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "tetlh ghermeH ghItlh wav";
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "ghItlh chenmoHmeH tetlh gherHa'";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Join a list of texts into one text, separated by a delimiter.";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Split text into a list of texts, breaking at each delimiter.";  // untranslated
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "rarwI'Hom lo'";
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "teHbe'";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "Returns either true or false.";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "teH";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://en.wikipedia.org/wiki/Inequality_(mathematics)";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Return true if both inputs equal each other.";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Return true if the first input is greater than the second input.";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Return true if the first input is greater than or equal to the second input.";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "Return true if the first input is smaller than the second input.";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "Return true if the first input is smaller than or equal to the second input.";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "Return true if both inputs are not equal to each other.";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "yoymoH %1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "Returns true if the input is false. Returns false if the input is true.";  // untranslated
+Blockly.Msg["LOGIC_NULL"] = "paghna'";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";  // untranslated
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "Returns null.";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_AND"] = "'ej";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "qoj";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "Return true if both inputs are true.";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "Return true if at least one of the inputs is true.";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "chov";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "teHbe'chugh";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "teHchugh";
+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.";  // untranslated
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://en.wikipedia.org/wiki/Arithmetic";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Return the sum of the two numbers.";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Return the quotient of the two numbers.";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Return the difference of the two numbers.";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Return the product of the two numbers.";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Return the first number raised to the power of the second number.";  // untranslated
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";  // untranslated
+Blockly.Msg["MATH_CHANGE_TITLE"] = "choH %1 chel %2";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Add a number to variable '%1'.";  // untranslated
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://en.wikipedia.org/wiki/Mathematical_constant";  // untranslated
+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).";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "jon %1 bIng %2 Dung %3";
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Constrain a number to be between the specified limits (inclusive).";  // untranslated
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "wav'a'";
+Blockly.Msg["MATH_IS_EVEN"] = "lang'a' mI'";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "bIng pagh";
+Blockly.Msg["MATH_IS_ODD"] = "ror'a' mI'";
+Blockly.Msg["MATH_IS_POSITIVE"] = "Dung pagh";
+Blockly.Msg["MATH_IS_PRIME"] = "potlh'a' mI'";
+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.";  // untranslated
+Blockly.Msg["MATH_IS_WHOLE"] = "ngoHlaHbe''a'";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://en.wikipedia.org/wiki/Modulo_operation";  // untranslated
+Blockly.Msg["MATH_MODULO_TITLE"] = "ratlwI' SIm %1 ÷ %2";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Return the remainder from dividing the two numbers.";  // untranslated
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://en.wikipedia.org/wiki/Number";  // untranslated
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "A number.";  // untranslated
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "beQwI' SIm tetlh";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "tInwI''a' SIm tetlh";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "beQwI'botlh SIm tetlh";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "machwI''a' SIm tetlh";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "beQwI' motlh SIm tetlh";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "SaHbe' SIm tetlh";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "motlhbe'wI' SIm tetlh";
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "chelwI' SIm tetlh";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Return the average (arithmetic mean) of the numeric values in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "Return the largest number in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "Return the median number in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "Return the smallest number in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Return a list of the most common item(s) in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Return a random element from the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Return the standard deviation of the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Return the sum of all the numbers in the list.";  // untranslated
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "mI'HomSaHbe'";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Return a random fraction between 0.0 (inclusive) and 1.0 (exclusive).";  // untranslated
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";  // untranslated
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "ngoH mI'SaHbe' bIng %1 Dung %2";
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Return a random integer between the two specified limits, inclusive.";  // untranslated
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://en.wikipedia.org/wiki/Rounding";  // untranslated
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "ngoH";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "bIng ngoH";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "Dung ngoH";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Round a number up or down.";  // untranslated
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://en.wikipedia.org/wiki/Square_root";  // untranslated
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "Dung pagh choH";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "cha'DIch wav";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Return the absolute value of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Return e to the power of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "Return the natural logarithm of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "Return the base 10 logarithm of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Return the negation of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Return 10 to the power of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Return the square root of a number.";  // untranslated
+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";  // untranslated
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Return the arccosine of a number.";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Return the arcsine of a number.";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Return the arctangent of a number.";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Return the cosine of a degree (not radian).";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Return the sine of a degree (not radian).";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Return the tangent of a degree (not radian).";  // untranslated
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Create colour variable...";  // untranslated
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Create number variable...";  // untranslated
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Create string variable...";  // untranslated
+Blockly.Msg["NEW_VARIABLE"] = "lIw chu'...";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "lIw chu' pong:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "New variable type:";  // untranslated
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "mu'tlhegh chaw'";
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "qel:";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Run the user-defined function '%1'.";  // untranslated
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Run the user-defined function '%1' and use its output.";  // untranslated
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "qel:";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "chel '%1'";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "mIw yIDel...";
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "mIw";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "ruch";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Creates a function with no output.";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "chegh";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "Creates a function with an output.";  // untranslated
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "ghuHmoHna': qelwI' cha'logh chen.";
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "mIwna' wew";
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "If a value is true, then return a second value.";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "ghoHmoHna': ngoghvam ngaSbe' mIwDaq.";
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "pong:";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Add an input to the function.";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "qelwI'mey";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Add, remove, or reorder inputs to this function.";  // untranslated
+Blockly.Msg["REDO"] = "vangqa'";
+Blockly.Msg["REMOVE_COMMENT"] = "QInHom chelHa'";
+Blockly.Msg["RENAME_VARIABLE"] = "lIw pong choH...";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Hoch \"%1\" lIwmey pongmey choH:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "chel %1 ghItlh %2";
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Append some text to variable '%1'.";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "machchoH";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "DojchoH";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "tInchoH";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Return a copy of the text in a different case.";  // untranslated
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "mu'Hom wa'DIch";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "mu'Hom # Qav";
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "mu'Hom #";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "mu'Hom Qav";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "mu'Hom SaHbe'";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "Suq";
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "in text %1 %2";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Returns the letter at the specified position.";  // untranslated
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";  // untranslated
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "count %1 in %2";  // untranslated
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Count how many times some text occurs within some other text.";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Add an item to the text.";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "ghom";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this text block.";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "mojaq mu'Hom # Qav";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "mojaq mu'Hom #";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "mojaq mu'Hom Qav";
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "ghItlhDaq";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "ghItlhHom moHaq mu'Hom wa'DIch";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "ghItlhHom moHaq mu'Hom # Qav";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "ghItlhHom moHaq mu'Hom #";
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "Suq";
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Returns a specified portion of the text.";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "ghItlh wa'DIch Sam";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "ghItlh Qav Sam";
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "ghItlhDaq %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.";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 chIm'a'";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Returns true if the provided text is empty.";  // untranslated
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "ghItlh ghom";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Create a piece of text by joining together any number of items.";  // untranslated
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "chuq %1";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Returns the number of letters (including spaces) in the provided text.";  // untranslated
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "maq %1";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Print the specified text, number or other value.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Prompt for user for a number.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Prompt for user for some text.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "mI' tlhob 'ej maq";
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "ghItln tlhob 'ej maq";
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";  // untranslated
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "replace %1 with %2 in %3";  // untranslated
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Replace all occurances of some text within some other text.";  // untranslated
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";  // untranslated
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Reverses the order of the characters in the text.";  // untranslated
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://en.wikipedia.org/wiki/String_(computer_science)";  // untranslated
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "A letter, word, or line of text.";  // untranslated
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "poSnIHlogh pei";
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "poSlogh pei";
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "nIHlogh pei";
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Return a copy of the text with spaces removed from one or both ends.";  // untranslated
+Blockly.Msg["TODAY"] = "DaHjaj";
+Blockly.Msg["UNDO"] = "vangHa'";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "Doch";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "chel 'choH %1'";
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Returns the value of this variable.";  // untranslated
+Blockly.Msg["VARIABLES_SET"] = "choH %1 %2";
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "chel 'Suq %1'";
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Sets this variable to be equal to the input.";  // untranslated
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "A variable named '%1' already exists.";  // untranslated
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "A variable named '%1' already exists for another type: '%2'.";  // untranslated
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something...";  // untranslated
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/tr.js b/js/msg/js/tr.js
new file mode 100644 (file)
index 0000000..1738e00
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.tr');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "Yorum Ekle";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "'%1' deÄŸiÅŸkeni, '%2' fonksiyonunun tanımının bir parçası olduÄŸu için silinemez";
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "DeÄŸeri deÄŸiÅŸtir:";
+Blockly.Msg["CLEAN_UP"] = "Blokları temizle";
+Blockly.Msg["COLLAPSE_ALL"] = "Blokları Daralt";
+Blockly.Msg["COLLAPSE_BLOCK"] = "Blok'u Daralt";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "renk 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "renk 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "oran";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "karıştır";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "Verilen bir orana baÄŸlı olarak iki rengi karıştırır. (0.0 - 1.0).";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://tr.wikipedia.org/wiki/Renk";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "Paletten bir renk seçin.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "rastgele renk";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "Rastgele bir renk seçin.";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "mavi";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "yeÅŸil";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";
+Blockly.Msg["COLOUR_RGB_RED"] = "kırmızı";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "renk deÄŸerleri";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "Kırmızı, yeÅŸil ve mavinin belirtilen miktarıyla bir renk oluÅŸturun.  Tüm deÄŸerler 0 ile 100 arasında olmalıdır.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "döngüden Ã§Ä±k";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "döngünün sonraki adımından devam et";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "İçeren döngüden Ã§Ä±k.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "Bu döngünün geri kalanını atlayın ve sonraki adım ile devam edin.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "Uyarı: Bu blok sadece bir döngü içinde kullanılabilir.";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "her Ã¶ÄŸe için %1 listede %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "Bir listedeki her Ã¶ÄŸe için  '%1' deÄŸiÅŸkenini maddeye atayın  ve bundan sonra bazı açıklamalar yapın.";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "ile sayılır %1 %2 den %3 ye, her adımda %4 deÄŸiÅŸim";
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "BaÅŸlangıç sayısından bitiÅŸ sayısına kadar belirtilen aralık ve belirtilen engeller ile devam eden deÄŸerler alan '%1' deÄŸiÅŸkeni oluÅŸtur.";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "If bloÄŸuna bir koÅŸul ekleyin.";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "If bloÄŸuna kalan durumları \"yakalayan\" bir son ekle.";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "If bloÄŸuna ekle, kaldır veya yeniden düzenleme yap.";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "deÄŸilse";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "deÄŸilse eÄŸer";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "eÄŸer";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "EÄŸer deÄŸiÅŸken true , yani gerçekleÅŸmiÅŸ ise , ardından gelen iÅŸlemi yerine getir .";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "EÄŸer deÄŸiÅŸken true, yani gerçekleÅŸiyor ise ilk blok'taki iÅŸlemleri yerine getir, Aksi halde ikinci blok'taki iÅŸlemleri yerine getir.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "EÄŸer ilk deÄŸiÅŸken true, yani koÅŸul gerçekleÅŸmiÅŸ ise ilk blok içerisindeki iÅŸlem(ler)i gerçekleÅŸtir. EÄŸer ikinci deÄŸiÅŸken true ise, ikinci bloktaki iÅŸlem(ler)i gerçekleÅŸtir .";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "EÄŸer ilk deÄŸer true, yani olumlu ise, ilk blok'taki iÅŸlem(ler)i gerçekleÅŸtir. Ä°lk deÄŸer true deÄŸil ama ikinci deÄŸer true ise, ikinci bloktaki iÅŸlem(ler)i gerçekleÅŸtir. EÄŸer deÄŸerlerin hiçbiri true deÄŸil ise son blok'taki iÅŸlem(ler)i gerçekleÅŸtir.";
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://tr.wikipedia.org/wiki/For_d%C3%B6ng%C3%BCs%C3%BC";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "yap";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "%1 kez tekrarla";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "Bazı iÅŸlemleri birkaç kez yap.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "kadar tekrarla";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "tekrar ederken";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "Bir deÄŸer yanlış olduÄŸunda bazı beyanlarda bulun.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "Bir deÄŸer doÄŸru olduÄŸunda bazı beyanlarda bulun.";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "Tüm %1 blok silinsin mi?";
+Blockly.Msg["DELETE_BLOCK"] = "BloÄŸu Sil";
+Blockly.Msg["DELETE_VARIABLE"] = "'%1' deÄŸiÅŸkenini silmek istiyor musunuz?";
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "'%2' deÄŸiÅŸkeninin %1 kullanımını silmek istiyor musunuz?";
+Blockly.Msg["DELETE_X_BLOCKS"] = "%1 Blokları Sil";
+Blockly.Msg["DISABLE_BLOCK"] = "BloÄŸu Devre Dışı Bırak";
+Blockly.Msg["DUPLICATE_BLOCK"] = "ÇoÄŸalt";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Yinelenen Yorum";
+Blockly.Msg["ENABLE_BLOCK"] = "BloÄŸu EtkinleÅŸtir";
+Blockly.Msg["EXPAND_ALL"] = "Blokları GeniÅŸlet";
+Blockly.Msg["EXPAND_BLOCK"] = "BloÄŸu GeniÅŸlet";
+Blockly.Msg["EXTERNAL_INPUTS"] = "Harici GiriÅŸler";
+Blockly.Msg["HELP"] = "Yardım";
+Blockly.Msg["INLINE_INPUTS"] = "Satır içi girdiler";
+Blockly.Msg["IOS_CANCEL"] = "Ä°ptal";
+Blockly.Msg["IOS_ERROR"] = "Hata";
+Blockly.Msg["IOS_OK"] = "OK";
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ GiriÅŸ Ekle";
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Açıklamalara izin ver";
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "Bu fonksiyonda mükerrer girdi tanımlı.";
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "Girdiler";
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "Ekle";
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ DeÄŸiÅŸkeni ekle";
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "Sil";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "DeÄŸiÅŸken adı kısmı boÅŸ bırakılamaz.";
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Yeniden adlandır";
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "DeÄŸiÅŸken adı";
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "BoÅŸ liste oluÅŸtur";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Veri kaydı içermeyen uzunluÄŸu 0 olan bir listeyi verir";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "liste";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Bu liste bloÄŸunu yeniden yapılandırmak için bölüm ekle,kaldır veya yeniden Ã§ağır.";
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "Ä°le liste oluÅŸturma";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Listeye bir nesne ekle.";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Herhangi sayıda nesne içeren bir liste oluÅŸtur.";
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "ilk";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "# sonundan";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "# Kare";
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "Al";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "al ve kaldır";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "son";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "rastgele";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "kaldır";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Listedeki ilk Ã¶ÄŸeyi verir.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Listede belirli pozisyondaki bir Ã¶ÄŸeyi verir.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Listedeki son Ã¶ÄŸeyi verir.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Listedeki rastgele bir Ã¶ÄŸeyi verir.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "Kaldırır ve listedeki ilk Ã¶ÄŸeyi döndürür.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "Kaldırır ve listede belirtilen konumdaki bir Ã¶ÄŸeyi döndürür.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "Kaldırır ve listedeki son Ã¶ÄŸeyi döndürür.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Kaldırır ve listedeki rastgele bir Ã¶ÄŸeyi verir.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "Listedeki ilk nesneyi kaldırır.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "Bir liste içerisinde , tanımlanan pozisyonda ki Ã¶ÄŸeyi kaldırır.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "Listedeki son nesneyi kaldırır.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Listedeki rastgele bir nesneyi kaldırır.";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "Sondan #'a kadar";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "#'a";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "Sona kadar";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "ilk Ã¶ÄŸeden alt liste al";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "# iÅŸaretinden sonra gelen ifadeye göre  alt liste al , # sondan";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "# dan alt liste al";
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Listenin belirli bir kısmının kopyasını yaratır.";
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 son Ã¶ÄŸedir.";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 ilk Ã¶ÄŸedir.";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "Öğenin ilk varolduÄŸu yeri bul";
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "Öğenin son varolduÄŸu yeri bul";
+Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "Listedeki Ã¶ÄŸenin ilk/son oluÅŸumunun indeksini döndürür. EÄŸer Ã¶ÄŸe bulunamaz ise %1 döndürür.";
+Blockly.Msg["LISTS_INLIST"] = "Listede";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 boÅŸ";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "EÄŸer liste boÅŸ ise true döndürür .";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "%1'in uzunluÄŸu";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Bir listenin uzunluÄŸunu verir.";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "%1 nesnenin %2 kez tekrarlandığı bir liste yarat";
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Verilen bir deÄŸerin , belirli bir sayıda tekrarlanmasından oluÅŸan bir liste yaratır .";
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";  // untranslated
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "%1 kalemlerini ters çevir.";
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Bir listenin bir kopyasını tersine Ã§evirin.";
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "olarak";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "e yerleÅŸtir";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "yerleÅŸtir";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Nesneyi listenin baÅŸlangıcına ekler.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Bir Ã¶ÄŸeyi belirtilen pozisyona göre listeye yerleÅŸtirir .";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Öğeyi listenin sonuna ekle .";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Bir Ã¶ÄŸeyi listeye rast gele ekler .";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Bir listenin ilk Ã¶ÄŸesini yerleÅŸtirir .";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Bir Ã¶ÄŸeyi belirtilen yere göre listeye yerleÅŸtirir .";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Bir listedeki son Ã¶ÄŸeyi yerleÅŸtirir .";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Listeye rast gele bir Ã¶ÄŸe yerleÅŸtirir .";
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "artan";
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "azalan";
+Blockly.Msg["LISTS_SORT_TITLE"] = "kısa %1 %2 %3";
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Listenin kısa bir kopyası.";
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "alfabetik, gözardı et";
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "sayısal";
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "alfabetik";
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "metinden liste yap";
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "listeden metin yap";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Bir sınırlayıcı tarafından kesilen metinlerin listesini bir metine ekle.";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Her sınırlayıcıda kesen metinleri bir metin listesine ayır.";
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "sınırlayıcı ile";
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "false = Olumsuz";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "Ya 'True' yada 'False' deÄŸerini verir.";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "Olumlu";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://tr.wikipedia.org/wiki/E%C5%9Fitsizlikler";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Girilen iki deÄŸer birbirine eÅŸitse \"True\" deÄŸerini verir.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Girilen ilk deÄŸer ikinci deÄŸerden daha büyükse \"True\" deÄŸerini verir.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Girilen ilk deÄŸer ikinci deÄŸerden büyük veya eÅŸitse \"True\" deÄŸerini verir.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "Girilen ilk deÄŸer ikinci deÄŸerden küçükse \"True\" deÄŸerini verir.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "Girilen ilk deÄŸer ikinci deÄŸerden küçük veya eÅŸitse \"True\" deÄŸerini verir.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "Girilen iki deÄŸerde birbirine eÅŸit deÄŸilse \"True\" deÄŸerini verir.";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "%1 deÄŸil";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "Girilen deÄŸer yanlışsa \"True\" deÄŸerini verir.Girilen deÄŸer doÄŸruysa \"False\" deÄŸerini verir.";
+Blockly.Msg["LOGIC_NULL"] = "sıfır";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "sıfır verir.";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "ve";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "veya";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "Girilen iki deÄŸerde doÄŸruysa \"True\" deÄŸerini verir.";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "Girilen iki deÄŸerden en az biri doÄŸruysa \"True\" deÄŸerini verir.";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "test";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "yanlış ise";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "doÄŸru ise";
+Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "'test'deki ÅŸartı test eder. EÄŸer ÅŸart doÄŸru ise 'doÄŸru' deÄŸeri döndürür, aksi halde 'yanlış' deÄŸeri döndürür.";
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://tr.wikipedia.org/wiki/Aritmetik";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Ä°ki rakamın toplamını döndür.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Ä°ki sayının bölümünü döndür.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Ä°ki sayını farkını döndür.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Ä°ki sayının Ã§arpımını döndür.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Ä°lk sayinin ikincinin kuvvetine yükseltilmiÅŸini döndür.";
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";
+Blockly.Msg["MATH_CHANGE_TITLE"] = "%1'i %2 kadar deÄŸiÅŸtir";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "'%1' deÄŸiÅŸkenine bir sayı ekle.";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://en.wikipedia.org/wiki/Mathematical_constant";
+Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "Yaygın sabitlerden birini döndür:Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), or âˆž (sonsuz).";
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "%1 i en düşük %2 en yüksek %3 ile sınırla";
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Bir sayıyı belirli iki sayı arasında sınırlandır(dahil).";
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "bölünebilir";
+Blockly.Msg["MATH_IS_EVEN"] = "çift";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "negatif";
+Blockly.Msg["MATH_IS_ODD"] = "tek";
+Blockly.Msg["MATH_IS_POSITIVE"] = "pozitif";
+Blockly.Msg["MATH_IS_PRIME"] = "asal";
+Blockly.Msg["MATH_IS_TOOLTIP"] = "Bir sayinin Ã§ift mi tek mi , tam mı, asal mı , pozitif mi, negatif mi, veya tam bir  sayıyla bölünebilirliÄŸini kontrol et.'True' veya 'False' deÄŸerini döndür.";
+Blockly.Msg["MATH_IS_WHOLE"] = "Bütün olduÄŸunu";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://en.wikipedia.org/wiki/Modulo_operation";
+Blockly.Msg["MATH_MODULO_TITLE"] = "%1 Ã· %2 nin kalanı";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Ä°ki sayının bölümünden kalanı döndür.";
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "x";
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://en.wikipedia.org/wiki/Number";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "Bir sayı.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "listenin ortalaması";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "en büyük sayı";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "Listenin medyanı";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "Listenin en küçüğü";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "Listenin modları";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "Listenin rastgele Ã¶ÄŸesi";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "Listenin standart sapması";
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "Listenin toplamı";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Listedeki sayısal deÄŸerlerin ortalamasını (aritmetik anlamda) döndür.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "Listenin en büyüğünü döndür.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "Listenin medyanını döndür.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "Listenin en küçüğünü döndür.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Listede ki en yaygın Ã¶ÄŸe veya Ã¶ÄŸelerinin listesini döndür.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Listeden rastgele bir element döndür.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Listenin standart sapmasını döndür.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Listede ki tüm sayıların toplamını döndür.";
+Blockly.Msg["MATH_POWER_SYMBOL"] = "üst alma";
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://tr.wikipedia.org/wiki/Rastgele_say%C4%B1_%C3%BCretimi";
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "Rast gele kesirli sayı , yada parça";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "0.0(dahil) ve 1.0 (hariç) sayıları arasında bir sayı döndür .";
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://tr.wikipedia.org/wiki/Rastgele_say%C4%B1_%C3%BCretimi";
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "%1 ile %2 arasında rastgele tam sayı Ã¼ret";
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Herhangi iki sayı arasında , sayılar dahil olmak Ã¼zere , rastgele bir tam sayı döndür.";
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://en.wikipedia.org/wiki/Rounding Yuvarlama fonksiyonu için araÅŸtırma yapınız, sayfanın Türkçe Ã§evirisi henüz mevcut deÄŸil.";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "Yuvarla";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "aÅŸağı yuvarla";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "yukarı yuvarla";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Bir sayı yı yukarı yada aÅŸağı yuvarla .";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://tr.wikipedia.org/wiki/Karek%C3%B6k";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "Kesin";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "Kare kök";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Bir sayının tam deÄŸerini döndür .";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Bir sayının e ' inci  kuvvetini döndür .";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "Bir sayının doÄŸal logaritmasını döndür .";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "Bir sayının 10  temelinde logaritmasını döndür .";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Bir sayıyı geçersiz olarak döndür .";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Bir sayının 10. kuvvetini döndür .";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Bir sayının karekökü nü döndür .";
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "tire";
+Blockly.Msg["MATH_TRIG_ACOS"] = "akosünüs";
+Blockly.Msg["MATH_TRIG_ASIN"] = "asinüs";
+Blockly.Msg["MATH_TRIG_ATAN"] = "atanjant";
+Blockly.Msg["MATH_TRIG_COS"] = "kosünüs";
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://tr.wikipedia.org/wiki/Trigonometrik_fonksiyonlar";
+Blockly.Msg["MATH_TRIG_SIN"] = "Sinüs";
+Blockly.Msg["MATH_TRIG_TAN"] = "tanjant";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Bir sayının ters kosunusunu döndür .";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Bir sayının ters sinüsünü döndür .";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Bir sayının ters tanjantını döndür .";
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Bir açının kosinüsünü döndür(radyan olarak deÄŸil).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Bir açının sinüsünü döndür(radyan olarak deÄŸil).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Bir açının tanjantını döndür(radyan olarak deÄŸil).";
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Renk deÄŸiÅŸkeni oluÅŸtur...";
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Sayı deÄŸiÅŸkeni oluÅŸtur...";
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Dizi deÄŸiÅŸkeni oluÅŸtur...";
+Blockly.Msg["NEW_VARIABLE"] = "DeÄŸiÅŸken oluÅŸtur...";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "Yeni deÄŸiÅŸken ismi :";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "Yeni deÄŸiÅŸken tipi:";
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "EÄŸer ifadelerine izin ver";
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "ile :";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Kullanıcı tanımlı fonksiyonu Ã§alıştır '%1' .";
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Kullanıcı tanımlı fonksiyonu Ã§alıştır '%1' ve Ã§Ä±ktısını kullan .";
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "ile :";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "'%1' oluÅŸtur";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Bu iÅŸlevi açıkla...";
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29";
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "birÅŸey yap";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "e";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Çıktı vermeyen bir fonksiyon yaratır .";
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29";
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "Geri dön";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "Çıktı veren bir fonksiyon oluÅŸturur.";
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "Uyarı: Bu fonksiyon yinelenen parametreler vardır.";
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "Fonksiyon tanımı vurgulamak";
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "EÄŸer deÄŸer doÄŸruysa, ikinci deÄŸere geri dön.";
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "Uyarı: Bu blok yalnızca bir fonksiyon tanımı içinde kullanılır.";
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "girdi adı:";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Ä°ÅŸleve bir girdi ekleyin.";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "girdiler";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Bu iÅŸlevin girdilerini ekleyin, Ã§Ä±karın, ya da yeniden sıralayın.";
+Blockly.Msg["REDO"] = "Yinele";
+Blockly.Msg["REMOVE_COMMENT"] = "Yorumu Sil";
+Blockly.Msg["RENAME_VARIABLE"] = "DeÄŸiÅŸkeni yeniden adlandır...";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Tüm '%1' deÄŸiÅŸkenlerini yeniden isimlendir:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "%1 için %2 metnini ekle.";
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "DeÄŸiÅŸken '%1' e bazı metinler ekleyin.";
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "küçük harf";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "BaÅŸ Harfler Büyük";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "büyük harf";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Metnin bir kopyasını farklı bir harf durumunda (HEPSÄ° BÃœYÃœK - hepsi küçük) getirir.";
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "Ä°lk harfini al";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "# dan sona harfleri al";
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "# harfini al";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "son harfi al";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "Rastgele bir harf al";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "%1 içinde %2";
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Belirli pozisyonda ki bir harfi döndürür.";
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "%1 içinde %2 yi say.";
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "BaÅŸka bir metnin içinde kaç kez metnin geçtiÄŸini say.";
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Metine bir Ã¶ÄŸe ekle.";
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "Katıl";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Bu metin bloÄŸunu düzenlemek için bölüm ekle,sil veya yeniden görevlendir.";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "Sondan # harfe";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "# harfe";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "son harfe";
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "metinde";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "ilk harften baÅŸlayarak alt-string alma";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "n inci harften sona kadar alt-string alma";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "n inci harften alt-string alma";
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Metinin belirli bir kısmını döndürür.";
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "Metnin ilk varolduÄŸu yeri bul";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "Metnin son varolduÄŸu yeri bul";
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "%1 metni içinde %2.kez %3 metnini bul.";
+Blockly.Msg["TEXT_INDEXOF_TOOLTIP"] = "Ä°lk metnin ikinci metnin içindeki ilk ve son varoluÅŸlarının indeksini döndürür.Metin bulunamadıysa %1 döndürür.";
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 boÅŸ";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Verilen metin boÅŸsa true(doÄŸru) deÄŸerini verir.";
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "ile metin oluÅŸtur";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Herhangi bir sayıda ki Ã¶ÄŸeleri bir araya getirerek metnin bir parçasını oluÅŸtur.";
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "%1 in uzunluÄŸu";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Yazı içerisinde verilen harflerin ( harf arasındaki boÅŸluklar dahil) sayısını verir .";
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "%1 ' i Yaz";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Belirli bir metni,sayıyı veya baÅŸka bir deÄŸeri yaz.";
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Kullanıcıdan sayı al .";
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Kullanıcıdan Yazım al .";
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "Kullanıcıdan sayı al , istek mesajı göstererek";
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "Kullanıcıdan yazım al , istek mesajıyla";
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";  // untranslated
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "%3 metni içinde %1 metnini %2 metni ile deÄŸiÅŸtir.";
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Metni baÅŸka bir metnin içindeki tüm yerlerde deÄŸiÅŸtir.";
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";  // untranslated
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "%1 karakterlerini ters çevir.";
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Metnin içindeki karakterlerin sıralarını ters Ã§evirir.";
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://en.wikipedia.org/wiki/String_(computer_science)";
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "Metnin bir harfi,kelimesi veya satırı.";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "iki tarafından da boÅŸlukları temizle";
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "solundan boÅŸlukları temizle";
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "sağından boÅŸlukları temizle";
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Metnin bir veya her iki sondan da boÅŸlukları silinmiÅŸ ÅŸekilde kopyasını verir.";
+Blockly.Msg["TODAY"] = "Bugün";
+Blockly.Msg["UNDO"] = "Geri al";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "öge";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "'set %1' oluÅŸtur";
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Bu deÄŸiÅŸkenin deÄŸerini verir.";
+Blockly.Msg["VARIABLES_SET"] = "Atamak %1 e %2";
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "'get %1' oluÅŸtur";
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Bu deÄŸiÅŸkeni girilen deÄŸere eÅŸitler.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "'%1' isimli deÄŸiÅŸken adı zaten var.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "'%1' isimli deÄŸiÅŸken '%2' tipli baÅŸka bir deÄŸiÅŸkende tanımlı.";
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Bir ÅŸeyler söyle...";
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/ug-arab.js b/js/msg/js/ug-arab.js
new file mode 100644 (file)
index 0000000..e53231f
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.ug.arab');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["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'";  // untranslated
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "قىممەت Ø¦Û†Ø²Ú¯Û•Ø±ØªÙ‰Ø´:";
+Blockly.Msg["CLEAN_UP"] = "بۆلەكنى Ø±Û•ØªÙ„Û•Ø´";
+Blockly.Msg["COLLAPSE_ALL"] = "قاتلىنىش Ø¨Û†Ù„ىكى";
+Blockly.Msg["COLLAPSE_BLOCK"] = "قاتلىنىش Ø¨Û†Ù„ىكى";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "رەڭ 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "رەڭ 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";  // untranslated
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "نىسبەت";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "ئارىلاش";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "Blends two colours together with a given ratio (0.0 - 1.0).";  // untranslated
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://zh.wikipedia.org/wiki/رەڭگى";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = " ØªØ§Ø®ØªÙ‰Ø¯Ù‰Ù† Ø±Û•Ú­Ù†Ù‰ ØªØ§Ù„لاڭ";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "خالىغان Ø±Û•Ú­";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "ئىختىيارىي Ø¨Ù‰Ø± Ø±Û•Ú­Ù†Ù‰ ØªØ§Ù„لاڭ";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "ÙƒÛ†Ùƒ";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "ÙŠÛشىل";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";  // untranslated
+Blockly.Msg["COLOUR_RGB_RED"] = "قىزىل";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "رەڭگى";
+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.";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "ئۈزۈلۈپ Ø¦Ø§ÙŠÙ„ىنىش";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = " ÙƒÙ‰ÙŠÙ‰Ù†ÙƒÙ‰ Ù‚Ûتىم Ø¯Ø§Û‹Ø§Ù…لىق Ø¦Ø§ÙŠÙ„ىنىشن";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "ئۇنىڭ Ø¯Û•Û‹Ø±Ù‰ÙŠ Ø¦ÛˆØ²ÛˆÙ„ۈش Ø¦Û†Ø² Ø¦Ù‰Ú†Ù‰Ú¯Û• Ø¦Ø§Ù„ىدۇ .";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "بۇ Ø¦Ø§ÙŠÙ„ىنىشنىڭ Ù‚الغان Ù‚ىسمى Ø¦Ø§ØªÙ„اپ Ø¦Û†ØªÛˆÙ¾ ÙƒÛتىدۇ ØŒ Ú¾Û•Ù…دە Ø¯Ø§Û‹Ø§Ù…لىق ÙƒÛلەر Ù‚Ûتىملىق Ø¦Ù‰ØªÛراتسىيە .";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "ئاگاھلاندۇرۇش : Ø¨Û‡ Ù¾Û•Ù‚ەت Ø¨Ù‰Ø± Ø¦Ø§ÙŠÙ„ىنىش Ø¯Û•Û‹Ø±Ù‰ Ø¦Ù‰Ú†Ù‰Ø¯Û• Ø¦Ù‰Ø´Ù„ىتىشكە Ø¨ÙˆÙ„ىدۇ .";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "for each item %1 in list %2";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "For each item in a list, set the variable '%1' to the item, and then do some statements.";  // untranslated
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "count with %1 from %2 to %3 by %4";  // untranslated
+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.";  // untranslated
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "بۇ Ø¨Ù‰Ù„مەيمىز Ø¬ÛˆÙ…Ù„Û• Ø¨Û†Ù„ىكى Ù‚وشۇلۇپ Ø¨Ù‰Ø± if Ø´Û•Ø±ØªÙ‰ .";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "ئەڭ Ø¦Ø§Ø®Ù‰Ø±Ù‚Ù‰ Ù‚وشۇش ØŒ Ú¾Û•Ù…Ù…Û• Ø¦Û•Ú¾Û‹Ø§Ù„نى Ø¦Û†Ø² Ø¦Ù‰Ú†Ù‰Ú¯Û• Ø¦Ø§Ù„ىدۇ Ø¨Ø§ÙŠØ±Ù‰Ù…ىدا Ø¨Ù‰Ù„مەيمىز ifپارچىلىرى .";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "ÙƒÛ†Ù¾ÛˆÙŠÛˆÙ¾ ÙƒÙ‰ØªÙ‰Ø¯Û‡ØŒ Ø¦Û†Ú†ÛˆØ±ÛˆØ´ ÙŠØ§ÙƒÙ‰ Ù‚ايتا ØªÙ‰Ø²Ù‰Ù„غان Ø¨Ø§ÙŠØ±Ø§Ù… Â« if ï¼ˆ Ø³Û†Ø²Ù‰Ù†Ù‰Ú­ Ù¾Ø§Ø±Ú†Û• Ù‚ايتىدىن ØªÛ•Ù‚سىملەش .";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "ئۇنداق Ø¨ÙˆÙ„مىسا";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "ئۇنداق Ø¨ÙˆÙ„مىسا Ø¦Û•Ú¯Û•Ø±";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "ئەگەر";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "ئەگەر Ù‚ىممىتى Ú¾Û•Ù‚ىقەتەن ØŒ Ø¨Û•Ø²Ù‰ Ø¬ÛˆÙ…Ù„Û• .";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "ئەگەر Ù‚ىممىتى Ú¾Û•Ù‚ىقەتەن ØŒ Ø¦Û‡Ù†Ø¯Ø§Ù‚تا Ù†Ù‰Ú­ Ø¨Ù‰Ø± Ø¬ÛˆÙ…Ù„Û• . Ø¦Û‡Ù†Ø¯Ø§Ù‚ Ø¨ÙˆÙ„مايدىكەن، Ø¦Ù‰ÙƒÙƒÙ‰Ù†Ú†Ù‰ Ø¬ÛˆÙ…لىسى Ø¦Ù‰Ø¬Ø±Ø§ Ù‚ىلىندى .";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "ئەگەر ØªÛ‡Ù†Ø¬Ù‰ Ù‚ىممىتى Ú¾Û•Ù‚ىقەتەن ØŒ Ø¦Û‡Ù†Ø¯Ø§Ù‚تا Ù†Ù‰Ú­ Ø¨Ù‰Ø± Ø¬ÛˆÙ…Ù„Û• . Ø¦Û‡Ù†Ø¯Ø§Ù‚ Ø¨ÙˆÙ„مايدىكەن، Ø¦Û•Ú¯Û•Ø± Ø¦Ù‰ÙƒÙƒÙ‰Ù†Ú†Ù‰ Ù‚ىممىتى ØŒ Ø¦Û‡Ù†Ø¯Ø§Ù‚تا Ø¦Ù‰ÙƒÙƒÙ‰Ù†Ú†Ù‰ Ù¾Ø§Ø±Ú†Ù‰Ù†Ù‰Ú­ Ø¬ÛˆÙ…Ù„Û• .";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "ئەگەر ØªÛ‡Ù†Ø¬Ù‰ Ù‚ىممىتى Ú¾Û•Ù‚ىقەتەن ØŒ Ø¦Û‡Ù†Ø¯Ø§Ù‚تا Ù†Ù‰Ú­ Ø¨Ù‰Ø± Ø¬ÛˆÙ…Ù„Û• . Ø¦Û‡Ù†Ø¯Ø§Ù‚ Ø¨ÙˆÙ„مايدىكەن، Ø¦Û•Ú¯Û•Ø± Ø¦Ù‰ÙƒÙƒÙ‰Ù†Ú†Ù‰ Ù‚ىممىتى ØŒ Ø¨ÙˆÙ„سا Ø¦Ù‰Ø¬Ø±Ø§ Ù‚ىلىش Ø¬ÛˆÙ…لىسى Ø¦Ù‰Ø´ÙƒÙƒÙ‰ Ù¾Ø§Ø±Ú†Û• . Ø¦Û•Ú¯Û•Ø± Ù‚ىممىتى ÙŠÙˆÙ‚ ØŒ Ø¦Û‡Ù†Ø¯Ø§Ù‚تا Ø¦Û•Ú­ Ø¦Ø§Ø®Ù‰Ø±Ù‚Ù‰ Ø¨Ù‰Ø± Ø¬ÛˆÙ…لىسى .";
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://zh.wikipedia.org/wiki/Forئايلىنىش";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "ئىجرا";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "تەكرار %1Ù‚Ûتىم";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "Do some statements several times.";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "تەكرارلىقى";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "تەكرار Ø¨ÙˆÙ„ۇش";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "While a value is false, then do some statements.";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "While a value is true, then do some statements.";  // untranslated
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "ھەممىنى Ø¦Û†Ú†ÛˆØ±ÛˆØ´ %1 Ù¾Ø§Ø±Ú†Ù‰Ù…ۇ؟";
+Blockly.Msg["DELETE_BLOCK"] = "بۆلەك Ø¦Û†Ú†ÛˆØ±ÛˆØ´";
+Blockly.Msg["DELETE_VARIABLE"] = "“%1†ئۆزگەرگۈچى Ù…ىقدارنى Ø¦Û†Ú†ÛˆØ±ÛˆØ´";
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "ئۆچۈرۈش â€œ%2†ئۆزگەرگۈچى Ù…ىقدار%1 Ø¦Ù‰Ø´Ù„ىتىلىش Ø¦ÙˆØ±Ù†Ù‰ Ø¨Ø§Ø±Ù…ۇ؟";
+Blockly.Msg["DELETE_X_BLOCKS"] = "بۆلەك %1 Ù†Ù‰ Ø¦Û†Ú†ÛˆØ±ÛˆØ´";
+Blockly.Msg["DISABLE_BLOCK"] = "چەكلەنگەن Ø¨Û†Ù„Û•Ùƒ";
+Blockly.Msg["DUPLICATE_BLOCK"] = "كۆچۈرۈش";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicate Comment";  // untranslated
+Blockly.Msg["ENABLE_BLOCK"] = "قوزغىتىلغان Ø¨Û†Ù„Û•Ùƒ";
+Blockly.Msg["EXPAND_ALL"] = "ئÛچىلىش Ø¨Û†Ù„ىكى";
+Blockly.Msg["EXPAND_BLOCK"] = "ئÛچىلىش Ø¨Û†Ù„ىكى";
+Blockly.Msg["EXTERNAL_INPUTS"] = "سىرتقى ÙƒÙ‰Ø±Ú¯ÛˆØ²ÛˆØ´";
+Blockly.Msg["HELP"] = "ياردەم";
+Blockly.Msg["INLINE_INPUTS"] = "تاق Ù‚ۇرلۇق ÙƒÙ‰Ø±Ú¯ÛˆØ²ÛˆØ´";
+Blockly.Msg["IOS_CANCEL"] = "ۋاز ÙƒÛ•Ú†";
+Blockly.Msg["IOS_ERROR"] = "خاتالىق";
+Blockly.Msg["IOS_OK"] = "ماقۇل";
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ ÙƒÙ‰Ø±Ú¯ÛˆØ²ÛˆÙ¾ Ù‚وشۇش";
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "ÙƒÛلىشىمگە Ù‚وشۇلۇش";
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "بۇنىڭدا Ù…ەزمۇننى Ù‚ايتا ÙƒÙ‰Ø±Ú¯ÛˆØ²ÛˆØ´ Ø¦Ù‰Ù‚تىدارى Ø¨Ø§Ø± .";
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "كىرگۈزۈش";
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "قوشۇش";
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Ø¦Û†Ø²Ú¯Û•Ø±Ú¯ÛˆÚ†Ù‰ Ù…ىقدار Ù‚وشۇش";
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "ئۆچۈرۈش";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "سىز Ø¦Û†Ø²Ú¯Û•Ø±Ú¯ÛˆÚ†Ù‰ Ù…ىقدار Ù†Ø§Ù…Ù‰ Ø¦Ù‰Ø´Ù„ىتىشكە Ø¨ÙˆÙ„مايدۇ .";
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "ئىسىم Ø¦Û†Ø²Ú¯Û•Ø±ØªÙ‰Ø´";
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "ئۆزگەرگۈچى Ù…ىقدارنىڭ Ù†Ø§Ù…Ù‰";
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "create empty list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Returns a list, of length 0, containing no data records";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "list";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this list block.";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "create list with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Add an item to the list.";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Create a list with any number of items.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "تۇنجى";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "# from end";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "قولغا ÙƒÛ•Ù„تۈرۈش";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "get and remove";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "ئاخىرقى";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "خالىغانچە";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "چىقىرىۋىتىش";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Returns the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Returns the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Returns the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Returns a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "Removes and returns the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "Removes and returns the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "Removes and returns the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Removes and returns a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "Removes the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "Removes the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "Removes the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Removes a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "to # from end";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "to #";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "to last";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "get sub-list from first";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "get sub-list from # from end";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "get sub-list from #";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Creates a copy of the specified portion of a list.";  // untranslated
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 is the last item.";  // untranslated
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 is the first item.";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "find first occurrence of item";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "find last occurrence of item";  // untranslated
+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.";  // untranslated
+Blockly.Msg["LISTS_INLIST"] = "in list";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 is empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Returns true if the list is empty.";  // untranslated
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "length of %1";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Returns the length of a list.";  // untranslated
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "create list with item %1 repeated %2 times";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Creates a list consisting of the given value repeated the specified number of times.";  // untranslated
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";  // untranslated
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Reverse a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "as";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "قىستۇرۇڭ";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "تەڭشەك";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Inserts the item at the start of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Inserts the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Append the item to the end of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Inserts the item randomly in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Sets the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Sets the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Sets the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Sets a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";  // untranslated
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "يۇقىرىغا";
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "تۆۋەنگە";
+Blockly.Msg["LISTS_SORT_TITLE"] = "sort %1 %2 %3";  // untranslated
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Sort a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "ھەرب Ø¨ÙˆÙŠÙ‰Ú†Û• ØªÙ‰Ø²Ù‰Ù„ØŒ Ú†ÙˆÚ­ ÙƒÙ‰Ú†Ù‰Ùƒ ÙŠÛزىلىش Ú¾Ûساپ Ù‚ىلىنمايدۇ";
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "سان Ø¨ÙˆÙŠÙ‰Ú†Û• ØªÙ‰Ø²Ù‰Ù„";
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = " Ú¾Û•Ø±Ù¾ Ø¨ÙˆÙŠÙ‰Ú†Û• ØªÙ‰Ø²Ù‰Ù„";
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "make list from text";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "make text from list";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Join a list of texts into one text, separated by a delimiter.";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Split text into a list of texts, breaking at each delimiter.";  // untranslated
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "with delimiter";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "يالغان";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "راست ÙŠØ§ÙƒÙ‰ ÙŠØ§Ù„غان Ù‚ايتىش";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "ھەقىقىي";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://zh.wikipedia.org/wiki/ ØªÛ•Ú­ Ø¦Û•Ù…ەس";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "ئەگەر Ø¦Ù‰ÙƒÙƒÙ‰ Ø¯Ø§Ù†Û• ÙƒÙ‰Ø±Ú¯ÛˆØ²ÛˆØ´ Ù†Û•ØªÙ‰Ø¬Ù‰Ø³Ù‰ ØªÛ•Ú­ Ø¨ÙˆÙ„سا ØŒ Ø±Ø§Ø³ØªÙ‰Ù†Ù„ا ÙƒÛ•ÙŠÙ†Ù‰Ú¯Û• Ù‚ايتسا.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "ئەگەر ØªÛ‡Ù†Ø¬Ù‰ ÙƒÙ‰Ø±Ú¯ÛˆØ²ÛˆØ´ Ù†Û•ØªÙ‰Ø¬Ù‰Ø³Ù‰ Ø¦Ù‰Ø´ÙƒÙƒÙ‰Ù†Ú†Ù‰ Ú†ÙˆÚ­ Ø¨ÙˆÙ„سا Ø±Ø§Ø³ØªÙ‰Ù†Ù„ا ÙƒÛ•ÙŠÙ†Ù‰Ú¯Û• Ù‚ايتسا .";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "ئەگەر ØªÛ‡Ù†Ø¬Ù‰ ÙƒÙ‰Ø±Ú¯ÛˆØ²ÛˆØ´ Ù†Û•ØªÙ‰Ø¬Ù‰Ø¯Û• Ø¦Ù‰Ø´ÙƒÙƒÙ‰Ù†Ú†Ù‰ ÙƒÙ‰Ú†Ù‰Ùƒ Ø¨ÙˆÙ„سا Ø±Ø§Ø³ØªÙ‰Ù†Ù„ا ÙƒÛ•ÙŠÙ†Ù‰Ú¯Û• Ù‚ايتسا .";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "ئەگەر ØªÛ‡Ù†Ø¬Ù‰ ÙƒÙ‰Ø±Ú¯ÛˆØ²ÛˆØ´ Ù†Û•ØªÙ‰Ø¬Ù‰Ø¯Û• Ø¦Ù‰Ø´ÙƒÙƒÙ‰Ù†Ú†Ù‰ ÙƒÙ‰Ú†Ù‰Ùƒ Ø¨ÙˆÙ„سا Ø±Ø§Ø³ØªÙ‰Ù†Ù„ا ÙƒÛ•ÙŠÙ†Ù‰Ú¯Û• Ù‚ايتسا .";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "ئەگەر ØªÛ‡Ù†Ø¬Ù‰ ÙƒÙ‰Ø±Ú¯ÛˆØ²ÛˆØ´ Ù†Û•ØªÙ‰Ø¬Ù‰Ø³Ù‰ Ø¦Ù‰ÙƒÙƒÙ‰Ù†Ú†Ù‰ ÙƒÙ‰Ø±Ú¯ÛˆØ²ÛˆØ´ Ù†Û•ØªÙ‰Ø¬Ù‰Ø³Ù‰ ØªÙ‰Ù† ØªÛ†Û‹Û•Ù† ÙŠØ§ÙƒÙ‰ Ø´Û‡Ù†Ù‰Ú­ØºØ§ ØªÛ•Ú­ Ø¨ÙˆÙ„سا Ø±Ø§Ø³ØªÙ‰Ù†Ù„ا ÙƒÛ•ÙŠÙ†Ù‰Ú¯Û• Ù‚ايتسا .";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "ئەگەر Ø¦Ù‰ÙƒÙƒÙ‰ Ø¯Ø§Ù†Û• ÙƒÙ‰Ø±Ú¯ÛˆØ²ÛˆØ´ Ù†Û•ØªÙ‰Ø¬Ù‰Ø³Ù‰ ØªÛ•Ú­ Ø¨ÙˆÙ„مايدۇ ØŒ Ø¨Û•Ùƒ ÙƒÛ•Ù„دى .";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "ئەمەس%1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "Returns true if the input is false. Returns false if the input is true.";  // untranslated
+Blockly.Msg["LOGIC_NULL"] = "قۇرۇق";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";  // untranslated
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = " Ù†Û†Ù„Ú¯Û• Ù‚ايتىش";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "Û‹Û•";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "ياكى";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "Return true if both inputs are true.";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "Return true if at least one of the inputs is true.";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "سىناق";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "ئەگەر ÙŠØ§Ù„غان Ø¨ÙˆÙ„سا";
+Blockly.Msg["LOGIC_TERNARY_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.";  // untranslated
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://zh.wikipedia.org/wiki/ئارىÙÙ…Ûتىكىلىق";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Return the sum of the two numbers.";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Return the quotient of the two numbers.";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Return the difference of the two numbers.";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Return the product of the two numbers.";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Return the first number raised to the power of the second number.";  // untranslated
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://zh.wikipedia.org/wiقوشۇش";
+Blockly.Msg["MATH_CHANGE_TITLE"] = " Ø¦Û†Ø²Ú¯Û•Ø±ØªÙ‰Ø´ %1 Ø¯Ù‰Ù† %2";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Add a number to variable '%1'.";  // untranslated
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://zh.wikipedia.org/wiki/ماتÛماتىكا ØªÛ‡Ø±Ø§Ù‚لىق Ø³Ø§Ù†Ù‰";
+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).";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "constrain %1 low %2 high %3";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Constrain a number to be between the specified limits (inclusive).";  // untranslated
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";  // untranslated
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "پۈتۈن Ø¨Û†Ù„ۈنۈش";
+Blockly.Msg["MATH_IS_EVEN"] = "جۈپ Ø³Ø§Ù†";
+Blockly.Msg["MATH_IS_NEGATIVE"] = " Ù…ەنپى";
+Blockly.Msg["MATH_IS_ODD"] = " ØªØ§Ù‚ Ø³Ø§Ù†";
+Blockly.Msg["MATH_IS_POSITIVE"] = "مۇسبەت";
+Blockly.Msg["MATH_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.";  // untranslated
+Blockly.Msg["MATH_IS_WHOLE"] = "پۈتۈن Ø³Ø§Ù†";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://zh.wikipedia.org/wiki/مودÛÙ„ Ú¾Ûسابى";
+Blockly.Msg["MATH_MODULO_TITLE"] = "remainder of %1 ÷ %2";  // untranslated
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Return the remainder from dividing the two numbers.";  // untranslated
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";  // untranslated
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://zh.wikipedia.org/wiki/سان";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "بىر Ø³Ø§Ù†.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "جەدۋەل Ø¦Ù‰Ú†Ù‰Ø¯Ù‰ÙƒÙ‰ Ø¦ÙˆØªØªÛ‡Ø±Ù‰Ú†Û• Ø³Ø§Ù†";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = " Ø¬Û•Ø¯Û‹Û•Ù„دىكى Ø¦Û•Ú­ Ú†ÙˆÚ­ Ù‚ىممەت";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "جەدۋەلدىكى Ø¦ÙˆØªØªÛ‡Ø±Ø§ Ø³Ø§Ù†";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "جەدۋەل Ø¦Ù‰Ú†Ù‰Ø¯Ù‰ÙƒÙ‰ Ø¦Û•Ú­ ÙƒÙ‰Ú†Ù‰Ùƒ Ù‚ىممەت";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = " Ø¬Û•Ø¯Û‹Û•Ù„ Ú¾Ø§Ù„ىتى";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "random item of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "standard deviation of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "sum of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Return the average (arithmetic mean) of the numeric values in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "Return the largest number in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = " Ø¬Û•Ø¯Û‹Û•Ù„دىكى Ø¦ÙˆØªØªÛ‡Ø±Ø§ Ø³Ø§Ù†ØºØ§ Ù‚ايتىش";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = " Ø¬Û•Ø¯Û‹Û•Ù„دىكى Ø¦Û•Ú­ ÙƒÙ‰Ú†Ù‰Ùƒ Ø³Ø§Ù†ØºØ§ Ù‚ايتىش";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Return a list of the most common item(s) in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Return a random element from the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Return the standard deviation of the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Return the sum of all the numbers in the list.";  // untranslated
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "random fraction";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Return a random fraction between 0.0 (inclusive) and 1.0 (exclusive).";  // untranslated
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";  // untranslated
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "random integer from %1 to %2";  // untranslated
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Return a random integer between the two specified limits, inclusive.";  // untranslated
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://zh.wikipedia.org/wiki/سانلىق Ù‚ىممەت ØªÛˆØ²Ù‰ØªÙ‰Ø´";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "تۆۋەنگە ØªØ§Ø±ØªÙ‰Ú­";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "تۆۋەنگە ØªØ§Ø±ØªÙ‰Ú­";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = " ØªÛ†Û‹Û•Ù†Ú¯Û• ØªØ§Ø±ØªÙ‰Ú­";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Round a number up or down.";  // untranslated
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://zh.wikipedia.org/wiki/كۋادرات ÙŠÙ‰Ù„تىز";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "مۇتلەق";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = " ÙƒÛ‹Ø§Ø¯Ø±Ø§Øª ÙŠÙ‰Ù„تىز";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Return the absolute value of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Return e to the power of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "Return the natural logarithm of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "Return the base 10 logarithm of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Return the negation of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Return 10 to the power of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Return the square root of a number.";  // untranslated
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";  // untranslated
+Blockly.Msg["MATH_TRIG_ACOS"] = "acos";  // untranslated
+Blockly.Msg["MATH_TRIG_ASIN"] = "asin";  // untranslated
+Blockly.Msg["MATH_TRIG_ATAN"] = "atan";  // untranslated
+Blockly.Msg["MATH_TRIG_COS"] = "cos";  // untranslated
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://zh.wikipedia.org/wiki/ترىگونومÛتىرىيىلىك Ùۇنكسىيە";
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";  // untranslated
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Return the arccosine of a number.";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Return the arcsine of a number.";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Return the arctangent of a number.";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Return the cosine of a degree (not radian).";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Return the sine of a degree (not radian).";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Return the tangent of a degree (not radian).";  // untranslated
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Create colour variable...";  // untranslated
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Create number variable...";  // untranslated
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Create string variable...";  // untranslated
+Blockly.Msg["NEW_VARIABLE"] = "ئۆزگەرگۈچى Ù…ىقدار ... Ù‚ۇرۇش";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "ÙŠÛÚ­Ù‰ Ø¦Û†Ø²Ú¯Û•Ø±Ú¯ÛˆÚ†Ù‰ Ù…ىقدار Ù†Ø§Ù…Ù‰:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "New variable type:";  // untranslated
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "allow statements";  // untranslated
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "with:";  // untranslated
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Run the user-defined function '%1'.";  // untranslated
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Run the user-defined function '%1' and use its output.";  // untranslated
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "with:";  // untranslated
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "Create '%1'";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Describe this function...";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "do something";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "to";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Creates a function with no output.";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "return";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "Creates a function with an output.";  // untranslated
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "Warning: This function has duplicate parameters.";  // untranslated
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "Highlight function definition";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "If a value is true, then return a second value.";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "Warning: This block may be used only within a function definition.";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "input name:";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Add an input to the function.";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "inputs";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Add, remove, or reorder inputs to this function.";  // untranslated
+Blockly.Msg["REDO"] = "قايتىلاش";
+Blockly.Msg["REMOVE_COMMENT"] = "ئىزاھاتنى Ø¦Û†Ú†ÛˆØ±ÛˆØ´";
+Blockly.Msg["RENAME_VARIABLE"] = "ئۆزگەرگۈچى Ù…ىقدارغا Ù‚ايتا Ù†Ø§Ù… Ù‚ويۇش";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "بارلىق Ø¨Û†Ù„Û•Ùƒ â€œ%1\" Ø¦Û†Ø²Ú¯Û•Ø±Ú¯ÛˆÚ†Ù‰ Ù…ىقدار Ù‚ايتا Ù†Ø§Ù…لىنىپ :";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "to %1 append text %2";  // untranslated
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Append some text to variable '%1'.";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "to lower case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "to Title Case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "to UPPER CASE";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Return a copy of the text in a different case.";  // untranslated
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "get first letter";  // untranslated
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "get letter # from end";  // untranslated
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "get letter #";  // untranslated
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "get last letter";  // untranslated
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "get random letter";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "in text %1 %2";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Returns the letter at the specified position.";  // untranslated
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";  // untranslated
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "count %1 in %2";  // untranslated
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Count how many times some text occurs within some other text.";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Add an item to the text.";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "   Ù‚وشۇش";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this text block.";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "to letter # from end";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "to letter #";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "to last letter";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "in text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "get substring from first letter";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "get substring from letter # from end";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "get substring from letter #";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Returns a specified portion of the text.";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "find first occurrence of text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "find last occurrence of text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "in text %1 %2 %3";  // untranslated
+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.";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 is empty";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Returns true if the provided text is empty.";  // untranslated
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "create text with";  // untranslated
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Create a piece of text by joining together any number of items.";  // untranslated
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "length of %1";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Returns the number of letters (including spaces) in the provided text.";  // untranslated
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "print %1";  // untranslated
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Print the specified text, number or other value.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Prompt for user for a number.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Prompt for user for some text.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "prompt for number with message";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "prompt for text with message";  // untranslated
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";  // untranslated
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "replace %1 with %2 in %3";  // untranslated
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Replace all occurances of some text within some other text.";  // untranslated
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";  // untranslated
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Reverses the order of the characters in the text.";  // untranslated
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://en.wikipedia.org/wiki/String_(computer_science)";  // untranslated
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "A letter, word, or line of text.";  // untranslated
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "trim spaces from both sides of";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "trim spaces from left side of";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "trim spaces from right side of";  // untranslated
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Return a copy of the text with spaces removed from one or both ends.";  // untranslated
+Blockly.Msg["TODAY"] = "بۈگۈن";
+Blockly.Msg["UNDO"] = "ÙŠÛنىۋال";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "تۈر";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Create 'set %1'";  // untranslated
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Returns the value of this variable.";  // untranslated
+Blockly.Msg["VARIABLES_SET"] = "set %1 to %2";  // untranslated
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Create 'get %1'";  // untranslated
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Sets this variable to be equal to the input.";  // untranslated
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "ئىسم Ù…ەۋجۇت â€œ%1†ئۆزگەرگۈچى";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "ئىسىملىك“%1†ئۆزگەرگۈچى Ù…ىقدار Ù…ەۋجۇت Ø¨ÙˆÙ„Û‡Ù¾ ØªÛ‡Ø±Ù‰Ø¯Û‡ ØŒ Ù„Ûكىن ÙŠÛ•Ù†Û• Ø¨Ù‰Ø± Ø¦Û†Ø²Ú¯Û•Ø±Ú¯ÛˆÚ†Ù‰ Ù…ىقدار ØªÙ‰Ù¾Ù‰ Ø¨ÙˆÙ„ۇش Ø³ÛˆÙ¾Ù‰ØªÙ‰ Ø¨Ù‰Ù„Û•Ù† â€œ%2†مەۋجۇت .";
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something...";  // untranslated
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/uk.js b/js/msg/js/uk.js
new file mode 100644 (file)
index 0000000..c2c51a5
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.uk');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "Додати ÐºÐ¾Ð¼ÐµÐ½Ñ‚ар";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "Ðеможливо Ð²Ð¸Ð´Ð°Ð»Ð¸Ñ‚и Ð·Ð¼Ñ–нну '%1', Ñ‚ому Ñ‰Ð¾ Ñ†Ðµ Ñ‡Ð°Ñтина Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ„ункції '%2'";
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "Змінити Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ:";
+Blockly.Msg["CLEAN_UP"] = "ВирівнÑти Ð±Ð»Ð¾ÐºÐ¸";
+Blockly.Msg["COLLAPSE_ALL"] = "Згорнути Ð±Ð»Ð¾ÐºÐ¸";
+Blockly.Msg["COLLAPSE_BLOCK"] = "Згорнути Ð±Ð»Ð¾Ðº";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "колір 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "колір 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "ÑпіввідношеннÑ";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "змішати";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "Змішує Ð´Ð²Ð° ÐºÐ¾Ð»ÑŒÐ¾Ñ€Ð¸ Ñ€Ð°Ð·Ð¾Ð¼ Ñƒ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾Ð¼Ñƒ Ñпіввідношені (0.0 - 1.0).";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://uk.wikipedia.org/wiki/Колір";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "Вибрати ÐºÐ¾Ð»Ñ–Ñ€ Ð· Ð¿Ð°Ð»Ñ–три.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "випадковий ÐºÐ¾Ð»Ñ–Ñ€";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "Вибрати ÐºÐ¾Ð»Ñ–Ñ€ Ð½Ð°Ð²Ð¼Ð°Ð½Ð½Ñ.";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "Ñиній";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "зелений";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";
+Blockly.Msg["COLOUR_RGB_RED"] = "червоний";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "колір Ð·";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "Створити ÐºÐ¾Ð»Ñ–Ñ€ Ð·Ñ– Ð²ÐºÐ°Ð·Ð°Ð½Ð¸Ð¼Ð¸ Ñ€Ñ–внÑми Ñ‡ÐµÑ€Ð²Ð¾Ð½Ð¾Ð³Ð¾, Ð·ÐµÐ»ÐµÐ½Ð¾Ð³Ð¾ Ñ‚а Ñинього. Ð£ÑÑ– Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¼Ð°ÑŽÑ‚ÑŒ Ð±ÑƒÑ‚и Ð²Ñ–д 0 Ð´Ð¾ 100.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "перервати Ñ†Ð¸ÐºÐ»";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "продовжити Ð· Ð½Ð°Ñтупної Ñ–терації Ñ†Ð¸ÐºÐ»Ñƒ";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "Перервати Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ñ†Ð¸ÐºÐ»Ñƒ.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "ПропуÑтити Ð·Ð°Ð»Ð¸ÑˆÐ¾Ðº Ñ†ÑŒÐ¾Ð³Ð¾ Ñ†Ð¸ÐºÐ»Ñƒ Ñ– Ð¿ÐµÑ€ÐµÐ¹Ñ‚и Ð´Ð¾ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð½Ð°Ñтупної Ñ–терації.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "ПопередженнÑ: Ñ†ÐµÐ¹ Ð±Ð»Ð¾Ðº Ð¼Ð¾Ð¶Ðµ Ð±ÑƒÑ‚и Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñтаний Ñ‚ільки Ð² Ð¼ÐµÐ¶Ð°Ñ… Ñ†Ð¸ÐºÐ»Ñƒ.";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "длѠкожного ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚а %1 Ñƒ ÑпиÑку %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "ДлѠкожного ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚а Ð² ÑпиÑку Ð·Ð¼Ñ–нна '%1' Ð¾Ñ‚римує Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚а, Ð° Ð¿Ð¾Ñ‚ім Ð²Ð¸ÐºÐ¾Ð½ÑƒÑŽÑ‚ÑŒÑѠпевні Ð´Ñ–Ñ—.";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "рахувати Ð· %1 Ð²Ñ–д %2 Ð´Ð¾ %3 Ñ‡ÐµÑ€ÐµÐ· %4";
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "ÐаÑвна Ð·Ð¼Ñ–нна \"%1\" Ð½Ð°Ð±ÑƒÐ²Ð°Ñ” Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ Ð²Ñ–д Ð¿Ð¾Ñ‡Ð°Ñ‚кового Ð´Ð¾ ÐºÑ–нцевого, Ð²Ñ€Ð°Ñ…овуючи Ð·Ð°Ð´Ð°Ð½Ð¸Ð¹ Ñ–нтервал, Ñ– Ð²Ð¸ÐºÐ¾Ð½ÑƒÑŽÑ‚ÑŒÑѠвказані Ð±Ð»Ð¾ÐºÐ¸.";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "Додайте ÑƒÐ¼Ð¾Ð²Ñƒ Ð´Ð¾ Ð±Ð»Ð¾ÐºÐ° 'Ñкщо'.";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "Додати Ð¾Ñтаточну, Ð²ÑеоÑÑжну ÑƒÐ¼Ð¾Ð²Ñƒ Ð´Ð¾ Ð±Ð»Ð¾ÐºÑƒ 'Ñкщо'.";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Додайте, Ð²Ð¸Ð»ÑƒÑ‡Ñ–Ñ‚ÑŒ Ð°Ð±Ð¾ Ð·Ð¼Ñ–ніть Ð¿Ð¾Ñ€Ñдок Ñекцій, Ñ‰Ð¾Ð± Ð¿ÐµÑ€ÐµÐ½Ð°Ð»Ð°ÑˆÑ‚увати Ñ†ÐµÐ¹ Ð±Ð»Ð¾Ðº 'Ñкщо'.";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "інакше";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "інакше Ñкщо";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "Ñкщо";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "Якщо Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ–Ñтинне, Ñ‚о Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚и Ð¿ÐµÐ²Ð½Ñ– Ð´Ñ–Ñ—.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "Якщо Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ–Ñтинне, Ñ‚о Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑѠперший Ð±Ð»Ð¾Ðº Ð¾Ð¿ÐµÑ€Ð°Ñ‚орів. Ð’ Ñ–ншому Ð²Ð¸Ð¿Ð°Ð´ÐºÑƒ Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑѠдругий Ð±Ð»Ð¾Ðº Ð¾Ð¿ÐµÑ€Ð°Ñ‚орів.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "Якщо Ð¿ÐµÑ€ÑˆÐµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ–Ñтинне, Ñ‚о Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑѠперший Ð±Ð»Ð¾Ðº Ð¾Ð¿ÐµÑ€Ð°Ñ‚орів. Ð’ Ñ–ншому Ð²Ð¸Ð¿Ð°Ð´ÐºÑƒ, Ñкщо Ð´Ñ€ÑƒÐ³Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ–Ñтина, Ñ‚о Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑѠдругий Ð±Ð»Ð¾Ðº Ð¾Ð¿ÐµÑ€Ð°Ñ‚орів.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "Якщо Ð¿ÐµÑ€ÑˆÐµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ–Ñтинне, Ñ‚о Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑѠперший Ð±Ð»Ð¾Ðº Ð¾Ð¿ÐµÑ€Ð°Ñ‚орів. Ð’ Ñ–ншому Ð²Ð¸Ð¿Ð°Ð´ÐºÑƒ, Ñкщо Ð´Ñ€ÑƒÐ³Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ–Ñтинне, Ñ‚о Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑѠдругий Ð±Ð»Ð¾Ðº Ð¾Ð¿ÐµÑ€Ð°Ñ‚орів. Ð¯ÐºÑ‰Ð¾ Ð¶Ð¾Ð´Ð½Ðµ Ñ–з Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ Ð½Ðµ Ñ” Ñ–Ñтинним, Ñ‚о Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑѠоÑтанній Ð±Ð»Ð¾Ðº Ð¾Ð¿ÐµÑ€Ð°Ñ‚орів.";
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://uk.wikipedia.org/wiki/Цикл_(програмуваннÑ)#.D0.A6.D0.B8.D0.BA.D0.BB_.D0.B7_.D0.BB.D1.96.D1.87.D0.B8.D0.BB.D1.8C.D0.BD.D0.B8.D0.BA.D0.BE.D0.BC";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "виконати";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "повторити %1 Ñ€Ð°Ð·Ñ–в";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "Виконати Ð¿ÐµÐ²Ð½Ñ– Ð´Ñ–Ñ— Ð´ÐµÐºÑ–лька Ñ€Ð°Ð·Ñ–в.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "повторювати, Ð´Ð¾ÐºÐ¸ Ð½Ðµ";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "повторювати Ð¿Ð¾ÐºÐ¸";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "Поки Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ…ибне, Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ñ‚и Ð¿ÐµÐ²Ð½Ñ– Ð´Ñ–Ñ—.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "Поки Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ–Ñтинне, Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ñ‚и Ð¿ÐµÐ²Ð½Ñ– Ð´Ñ–Ñ—.";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "Вилучити Ð²ÑÑ– Ð±Ð»Ð¾ÐºÐ¸ %1?";
+Blockly.Msg["DELETE_BLOCK"] = "Видалити Ð±Ð»Ð¾Ðº";
+Blockly.Msg["DELETE_VARIABLE"] = "Вилучити Ð·Ð¼Ñ–нну '%1'";
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Вилучити %1 Ð²Ð¸ÐºÐ¾Ñ€Ð¸ÑтаннѠзмінної '%2'?";
+Blockly.Msg["DELETE_X_BLOCKS"] = "Видалити %1 Ð±Ð»Ð¾ÐºÑ–в";
+Blockly.Msg["DISABLE_BLOCK"] = "Вимкнути Ð±Ð»Ð¾Ðº";
+Blockly.Msg["DUPLICATE_BLOCK"] = "Дублювати";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Дублювати Ð¿Ñ€Ð¸Ð¼Ñ–тку";
+Blockly.Msg["ENABLE_BLOCK"] = "Увімкнути Ð±Ð»Ð¾Ðº";
+Blockly.Msg["EXPAND_ALL"] = "Розгорнути Ð±Ð»Ð¾ÐºÐ¸";
+Blockly.Msg["EXPAND_BLOCK"] = "Розгорнути Ð±Ð»Ð¾Ðº";
+Blockly.Msg["EXTERNAL_INPUTS"] = "Зовнішні Ð²Ñ…оди";
+Blockly.Msg["HELP"] = "Довідка";
+Blockly.Msg["INLINE_INPUTS"] = "Вбудовані Ð²Ñ…оди";
+Blockly.Msg["IOS_CANCEL"] = "СкаÑувати";
+Blockly.Msg["IOS_ERROR"] = "Помилка";
+Blockly.Msg["IOS_OK"] = "Готово";
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Ð”одати Ð²Ñ…ідну Ð·Ð¼Ñ–нну";
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Дозволити Ð¾Ð¿ÐµÑ€Ð°Ñ‚ори";
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "У Ñ†Ñ–єї Ñ„ункції Ñ” Ð²Ñ…ідні Ð·Ð¼Ñ–нні, Ñ‰Ð¾ Ð´ÑƒÐ±Ð»ÑŽÑŽÑ‚ÑŒÑÑ.";
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "ВХОДИ";
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "Додати";
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Ð”одати Ð·Ð¼Ñ–нну";
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "Видалити";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "Ви Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚е Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñтовувати Ð¿Ð¾Ñ€Ð¾Ð¶Ð½ÑŽ Ð½Ð°Ð·Ð²Ñƒ Ð·Ð¼Ñ–нної.";
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Перейменувати";
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Ðазва Ð·Ð¼Ñ–нної";
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "Ñтворити Ð¿Ð¾Ñ€Ð¾Ð¶Ð½Ñ–й ÑпиÑок";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Повертає ÑпиÑок, Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð¾ÑŽ 0, Ñ‰Ð¾ Ð½Ðµ Ð¼Ñ–Ñтить Ð·Ð°Ð¿Ð¸Ñів Ð´Ð°Ð½Ð¸Ñ…";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "ÑпиÑок";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Додайте, Ð²Ð¸Ð»ÑƒÑ‡Ñ–Ñ‚ÑŒ Ð°Ð±Ð¾ Ð·Ð¼Ñ–ніть Ð¿Ð¾Ñ€Ñдок Ñекцій Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ½Ð°Ð»Ð°ÑˆÑ‚уваннѠблока ÑпиÑку.";
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "Ñтворити ÑпиÑок Ð·";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Додати ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ð´Ð¾ ÑпиÑку.";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Створює ÑпиÑок Ð· Ð±ÑƒÐ´ÑŒ-Ñкою ÐºÑ–лькіÑÑ‚ÑŽ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ів.";
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "перший";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "# Ð· ÐºÑ–нцÑ";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "отримати";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "отримати Ñ– Ð²Ð¸Ð»ÑƒÑ‡Ð¸Ñ‚и";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "оÑтанній";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "випадковий";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "вилучити";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "-ий.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Повертає Ð¿ÐµÑ€ÑˆÐ¸Ð¹ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ ÑпиÑку.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Повертає ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ñƒ Ð·Ð°Ð´Ð°Ð½Ñ–й Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ñ— Ñƒ ÑпиÑку.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Повертає Ð¾Ñтанній ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ ÑпиÑку.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Повертає Ð²Ð¸Ð¿Ð°Ð´ÐºÐ¾Ð²Ð¸Ð¹ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ ÑпиÑку.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "ВидалÑÑ” Ñ– Ð¿Ð¾Ð²ÐµÑ€Ñ‚ає Ð¿ÐµÑ€ÑˆÐ¸Ð¹ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ ÑпиÑку.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "ВидалÑÑ” Ñ– Ð¿Ð¾Ð²ÐµÑ€Ñ‚ає ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ñƒ Ð·Ð°Ð´Ð°Ð½Ñ–й Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ñ— Ñƒ ÑпиÑку.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "ВидалÑÑ” Ñ– Ð¿Ð¾Ð²ÐµÑ€Ñ‚ає Ð¾Ñтанній ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ ÑпиÑку.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "ВидалÑÑ” Ñ– Ð¿Ð¾Ð²ÐµÑ€Ñ‚ає Ð²Ð¸Ð¿Ð°Ð´ÐºÐ¾Ð²Ð¸Ð¹ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ ÑпиÑоку.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "Вилучає Ð¿ÐµÑ€ÑˆÐ¸Ð¹ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ ÑпиÑку.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "Вилучає Ð·Ñ– ÑпиÑку ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ñƒ Ð²ÐºÐ°Ð·Ð°Ð½Ñ–й Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ñ—.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "Вилучає Ð¾Ñтанній ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ ÑпиÑку.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Вилучає Ð²Ð¸Ð¿Ð°Ð´ÐºÐ¾Ð²Ð¸Ð¹ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ ÑпиÑку.";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "до # Ð· ÐºÑ–нцÑ";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "до #";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "до Ð¾Ñтаннього";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "отримати Ð²ÐºÐ»Ð°Ð´ÐµÐ½Ð¸Ð¹ ÑпиÑок Ð· Ð¿ÐµÑ€ÑˆÐ¾Ð³Ð¾";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "отримати Ð²ÐºÐ»Ð°Ð´ÐµÐ½Ð¸Ð¹ ÑпиÑок Ð²Ñ–д # Ð· ÐºÑ–нцÑ";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "отримати Ð²ÐºÐ»Ð°Ð´ÐµÐ½Ð¸Ð¹ ÑпиÑок Ð· #";
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "Ñимволу.";
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Створює ÐºÐ¾Ð¿Ñ–ÑŽ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾Ñ— Ñ‡Ð°Ñтини ÑпиÑку.";
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 - Ñ†Ðµ Ð¾Ñтанній ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚.";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 - Ñ†Ðµ Ð¿ÐµÑ€ÑˆÐ¸Ð¹ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚.";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "знайти Ð¿ÐµÑ€ÑˆÐµ Ð²Ñ…одженнѠелемента";
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "знайти Ð¾Ñтаннє Ð²Ñ…одженнѠелемента";
+Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "Повертає Ñ–ндекѠпершого/оÑтаннього Ð²Ñ…одженнѠелемента Ñƒ ÑпиÑку. ÐŸÐ¾Ð²ÐµÑ€Ñ‚ає %1, Ñкщо ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ð½Ðµ Ð·Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾.";
+Blockly.Msg["LISTS_INLIST"] = "у ÑпиÑку";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 Ñ” Ð¿Ð¾Ñ€Ð¾Ð¶Ð½Ñ–м";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Повертає Ñ–Ñтину, Ñкщо ÑпиÑок Ð¿Ð¾Ñ€Ð¾Ð¶Ð½Ñ–й.";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "довжина %1";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Повертає Ð´Ð¾Ð²Ð¶Ð¸Ð½Ñƒ ÑпиÑку.";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "Ñтворити ÑпиÑок Ð· ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚а %1 Ð¿Ð¾Ð²Ñ‚ореного %2 Ñ€Ð°Ð·Ñ–в";
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Створює ÑпиÑок, Ñ‰Ð¾ ÑкладаєтьÑѠз Ð·Ð°Ð´Ð°Ð½Ð¾Ð³Ð¾ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ð²Ñ‚ореного Ð·Ð°Ð´Ð°Ð½Ñƒ ÐºÑ–лькіÑÑ‚ÑŒ Ñ€Ð°Ð·Ñ–в.";
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";  // untranslated
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "розвернути %1";
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Змінити Ð¿Ð¾Ñ€Ñдок ÐºÐ¾Ð¿Ñ–Ñ— ÑпиÑку Ð½Ð° Ð·Ð²Ð¾Ñ€Ð¾Ñ‚ний.";
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "Ñк";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "вÑтавити Ð²";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "вÑтановити";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Ð’ÑтавлÑÑ” ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ð½Ð° Ð¿Ð¾Ñ‡Ð°Ñ‚ок ÑпиÑку.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Ð’Ñтавка ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚а Ñƒ Ð²ÐºÐ°Ð·Ð°Ð½Ñƒ Ð¿Ð¾Ð·Ð¸Ñ†Ñ–ÑŽ ÑпиÑку.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Додає ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ñƒ ÐºÑ–нці ÑпиÑку.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Випадковим Ñ‡Ð¸Ð½Ð¾Ð¼ Ð²ÑтавлÑÑ” ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ñƒ ÑпиÑок.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Задає Ð¿ÐµÑ€ÑˆÐ¸Ð¹ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ ÑпиÑку.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Задає ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ ÑпиÑку Ñƒ Ð²ÐºÐ°Ð·Ð°Ð½Ñ–й Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ñ—.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Задає Ð¾Ñтанній ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ ÑпиÑку.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Задає Ð²Ð¸Ð¿Ð°Ð´ÐºÐ¾Ð²Ð¸Ð¹ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ñƒ ÑпиÑку.";
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "за Ð·Ñ€Ð¾ÑтаннÑм";
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "за ÑпаданнÑм";
+Blockly.Msg["LISTS_SORT_TITLE"] = "Ñортувати %3 %1 %2";
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Сортувати ÐºÐ¾Ð¿Ñ–ÑŽ ÑпиÑку.";
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "за Ð°Ð±ÐµÑ‚кою, Ñ–гноруючи Ñ€ÐµÐ³Ñ–ÑÑ‚Ñ€";
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "Ñк Ñ‡Ð¸Ñла";
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "за Ð°Ð±ÐµÑ‚кою";
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "зробити Ð· Ñ‚екÑту ÑпиÑок";
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "зробити Ð·Ñ– ÑпиÑку Ñ‚екÑÑ‚";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Злити ÑпиÑок Ñ‚екÑтів Ñƒ Ñ”диний Ñ‚екÑÑ‚, Ð²Ñ–докремивши Ñ€Ð¾Ð·Ð´Ñ–лювачами.";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Поділити Ñ‚екÑÑ‚ Ð½Ð° ÑпиÑок Ñ‚екÑтів, Ñ€Ð¾Ð·Ñ€Ð¸Ð²Ð°ÑŽÑ‡Ð¸ Ð½Ð° ÐºÐ¾Ð¶Ð½Ð¾Ð¼Ñƒ Ñ€Ð¾Ð·Ð´Ñ–лювачі.";
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "з Ñ€Ð¾Ð·Ð´Ñ–лювачем";
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "хибніÑÑ‚ÑŒ";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "Повертає Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ–Ñтина Ð°Ð±Ð¾ Ñ…ибніÑÑ‚ÑŒ.";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "Ñ–Ñтина";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://uk.wikipedia.org/wiki/ÐерівніÑÑ‚ÑŒ";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Повертає Ñ–Ñтину, Ñкщо Ð¾Ð±Ð¸Ð´Ð²Ð° Ð²Ñ…оди Ñ€Ñ–вні Ð¾Ð´Ð¸Ð½ Ð¾Ð´Ð½Ð¾Ð¼Ñƒ.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Повертає Ñ–Ñтину, Ñкщо Ð¿ÐµÑ€ÑˆÐµ Ð²Ñ…ідне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð±Ñ–льше, Ð½Ñ–ж Ð´Ñ€ÑƒÐ³Ðµ.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Повертає Ñ–Ñтину, Ñкщо Ð¿ÐµÑ€ÑˆÐµ Ð²Ñ…ідне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð±Ñ–льше Ð°Ð±Ð¾ Ð´Ð¾Ñ€Ñ–внює Ð´Ñ€ÑƒÐ³Ð¾Ð¼Ñƒ.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "Повертає Ñ–Ñтину, Ñкщо Ð¿ÐµÑ€ÑˆÐµ Ð²Ñ…ідне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¼ÐµÐ½ÑˆÐµ, Ð½Ñ–ж Ð´Ñ€ÑƒÐ³Ðµ.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "Повертає Ñ–Ñтину, Ñкщо Ð¿ÐµÑ€ÑˆÐµ Ð²Ñ…ідне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¼ÐµÐ½ÑˆÐµ Ð°Ð±Ð¾ Ð´Ð¾Ñ€Ñ–внює Ð´Ñ€ÑƒÐ³Ð¾Ð¼Ñƒ.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "Повертає Ñ–Ñтину, Ñкщо Ð¾Ð±Ð¸Ð´Ð²Ð° Ð²Ñ…оди Ð½Ðµ Ð´Ð¾Ñ€Ñ–внюють Ð¾Ð´Ð¸Ð½ Ð¾Ð´Ð½Ð¾Ð¼Ñƒ.";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "не %1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "Повертає Ñ–Ñтину, Ñкщо Ð²Ñ…ідне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ…ибне. ÐŸÐ¾Ð²ÐµÑ€Ñ‚ає Ñ…ибніÑÑ‚ÑŒ, Ñкщо Ð²Ñ…ідне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ–Ñтинне.";
+Blockly.Msg["LOGIC_NULL"] = "ніщо";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "Повертає Ð½Ñ–що.";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "та";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "або";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "Повертає Ñ–Ñтину, Ñкщо Ð¾Ð±Ð¸Ð´Ð²Ð° Ð²Ñ…оди Ñ–Ñтинні.";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "Повертає Ñ–Ñтину, Ñкщо Ð¿Ñ€Ð¸Ð½Ð°Ð¹Ð¼Ð½Ñ– Ð¾Ð´Ð¸Ð½ Ð· Ð²Ñ…одів Ñ–Ñтинний.";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "теÑÑ‚";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "Ñкщо Ñ…ибніÑÑ‚ÑŒ";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "Ñкщо Ñ–Ñтина";
+Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "ПеревірÑÑ” ÑƒÐ¼Ð¾Ð²Ñƒ Ð² 'теÑÑ‚'. Ð¯ÐºÑ‰Ð¾ ÑƒÐ¼Ð¾Ð²Ð° Ñ–Ñтинна, Ñ‚о Ð¿Ð¾Ð²ÐµÑ€Ñ‚ає  Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ 'Ñкщо Ñ–Ñтина'; Ð² Ñ–ншому Ð²Ð¸Ð¿Ð°Ð´ÐºÑƒ Ð¿Ð¾Ð²ÐµÑ€Ñ‚ає Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ 'Ñкщо Ñ…ибніÑÑ‚ÑŒ'.";
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://uk.wikipedia.org/wiki/Ðрифметика";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Повертає Ñуму Ð´Ð²Ð¾Ñ… Ñ‡Ð¸Ñел.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Повертає Ñ‡Ð°Ñтку Ð´Ð²Ð¾Ñ… Ñ‡Ð¸Ñел.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Повертає Ñ€Ñ–зницю Ð´Ð²Ð¾Ñ… Ñ‡Ð¸Ñел.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Повертає Ð´Ð¾Ð±ÑƒÑ‚ок Ð´Ð²Ð¾Ñ… Ñ‡Ð¸Ñел.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Повертає Ð¿ÐµÑ€ÑˆÐµ Ñ‡Ð¸Ñло, Ð¿Ñ–днеÑене Ð´Ð¾ ÑтепенÑ, Ð²Ð¸Ñ€Ð°Ð¶ÐµÐ½Ð¾Ð³Ð¾ Ð´Ñ€ÑƒÐ³Ð¸Ð¼ Ñ‡Ð¸Ñлом.";
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";
+Blockly.Msg["MATH_CHANGE_TITLE"] = "змінити %1 Ð½Ð° %2";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Додати Ñ‡Ð¸Ñло Ð´Ð¾ Ð·Ð¼Ñ–нної '%1'.";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://uk.wikipedia.org/wiki/Математична_конÑтанта";
+Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "Повертає Ð¾Ð´Ð½Ñƒ Ð· Ð¿Ð¾ÑˆÐ¸Ñ€ÐµÐ½Ð¸Ñ… ÐºÐ¾Ð½Ñтант: Ï€ (3.141...), e (2.718...), Ï† (1,618...), sqrt(2) (1.414...), sqrt(½) (0.707...) Ð°Ð±Ð¾ âˆž (неÑкінченніÑÑ‚ÑŒ).";
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "обмежити %1 Ð²Ñ–д %2 Ð´Ð¾ %3";
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Обмежує Ñ‡Ð¸Ñло Ð²ÐºÐ°Ð·Ð°Ð½Ð¸Ð¼Ð¸ Ð¼ÐµÐ¶Ð°Ð¼Ð¸ (включно).";
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";  // untranslated
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "ділитьÑѠна";
+Blockly.Msg["MATH_IS_EVEN"] = "парне";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "від'ємне";
+Blockly.Msg["MATH_IS_ODD"] = "непарне";
+Blockly.Msg["MATH_IS_POSITIVE"] = "додатне";
+Blockly.Msg["MATH_IS_PRIME"] = "проÑте";
+Blockly.Msg["MATH_IS_TOOLTIP"] = "ПеревірÑÑ”, Ñ‡Ð¸ Ñ‡Ð¸Ñло Ð¿Ð°Ñ€Ð½Ðµ, Ð½ÐµÐ¿Ð°Ñ€Ð½Ðµ, Ð¿Ñ€Ð¾Ñте, Ñ†Ñ–ле, Ð´Ð¾Ð´Ð°Ñ‚не, Ð²Ñ–д'ємне Ð°Ð±Ð¾ Ñ‡Ð¸ Ð²Ð¾Ð½Ð¾ Ð´Ñ–литьÑѠна Ð¿ÐµÐ²Ð½Ðµ Ñ‡Ð¸Ñло Ð±ÐµÐ· Ð¾Ñтачі. ÐŸÐ¾Ð²ÐµÑ€Ñ‚ає Ñ–Ñтину Ð°Ð±Ð¾ Ñ…ибніÑÑ‚ÑŒ.";
+Blockly.Msg["MATH_IS_WHOLE"] = "ціле";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://uk.wikipedia.org/wiki/ДіленнÑ_з_оÑтачею";
+Blockly.Msg["MATH_MODULO_TITLE"] = "оÑтача Ð²Ñ–д %1 Ã· %2";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Повертає Ð¾Ñтачу Ð²Ñ–д Ð´Ñ–леннѠдвох Ñ‡Ð¸Ñел.";
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";  // untranslated
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://uk.wikipedia.org/wiki/ЧиÑло";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "ЧиÑло.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "http://www.mapleprimes.com/questions/100441-Applying-Function-To-List-Of-Numbers";
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "Ñереднє ÑпиÑку";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "макÑимум ÑпиÑку";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "медіана ÑпиÑку";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "мінімум ÑпиÑку";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "моди ÑпиÑку";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "випадковий ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ ÑпиÑку";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "Ñтандартне Ð²Ñ–дхиленнѠÑпиÑку";
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "Ñума ÑпиÑку";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Повертає Ñереднє (арифметичне) Ñ‡Ð¸Ñлових Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ Ñƒ ÑпиÑку.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "Повертає Ð½Ð°Ð¹Ð±Ñ–льше Ñ‡Ð¸Ñло Ñƒ ÑпиÑку.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "Повертає Ð¼ÐµÐ´Ñ–ану ÑпиÑку.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "Повертає Ð½Ð°Ð¹Ð¼ÐµÐ½ÑˆÐµ Ñ‡Ð¸Ñло Ñƒ ÑпиÑку.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Повертає Ð¿ÐµÑ€ÐµÐ»Ñ–к Ð½Ð°Ð¹Ð¿Ð¾ÑˆÐ¸Ñ€ÐµÐ½Ñ–ших ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ів Ñƒ ÑпиÑку.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Повертає Ð²Ð¸Ð¿Ð°Ð´ÐºÐ¾Ð²Ð¸Ð¹ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ð·Ñ– ÑпиÑку.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Повертає Ñтандартне Ð²Ñ–дхиленнѠÑпиÑку.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Повертає Ñуму Ð²ÑÑ–Ñ… Ñ‡Ð¸Ñел Ñƒ ÑпиÑку.";
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://uk.wikipedia.org/wiki/ГенераціÑ_випадкових_чиÑел";
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "випадковий Ð´Ñ€Ñ–б";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Повертає Ð²Ð¸Ð¿Ð°Ð´ÐºÐ¾Ð²Ð¸Ð¹ Ð´Ñ€Ñ–б Ð²Ñ–д 0,0 (включно) Ñ‚а 1.0 (не Ð²ÐºÐ»ÑŽÑ‡Ð½Ð¾).";
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://uk.wikipedia.org/wiki/ГенераціÑ_випадкових_чиÑел";
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "випадкове Ñ†Ñ–ле Ñ‡Ð¸Ñло Ð²Ñ–д %1 Ð´Ð¾ %2";
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Повертає Ð²Ð¸Ð¿Ð°Ð´ÐºÐ¾Ð²Ðµ Ñ†Ñ–ле Ñ‡Ð¸Ñло Ð¼Ñ–ж Ð´Ð²Ð¾Ð¼Ð° Ð·Ð°Ð´Ð°Ð½Ð¸Ð¼Ð¸ Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð²ÐºÐ»ÑŽÑ‡Ð½Ð¾.";
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://uk.wikipedia.org/wiki/ОкругленнÑ";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "округлити";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "округлити Ð´Ð¾ Ð¼ÐµÐ½ÑˆÐ¾Ð³Ð¾";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "округлити Ð´Ð¾ Ð±Ñ–льшого";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "ОкругленнѠчиÑла Ð´Ð¾ Ð±Ñ–льшого Ð°Ð±Ð¾ Ð´Ð¾ Ð¼ÐµÐ½ÑˆÐ¾Ð³Ð¾.";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://uk.wikipedia.org/wiki/Квадратний_корінь";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "модуль";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "квадратний ÐºÐ¾Ñ€Ñ–нь";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Повертає Ð¼Ð¾Ð´ÑƒÐ»ÑŒ Ñ‡Ð¸Ñла.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Повертає e Ñƒ Ñтепені.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "Повертає Ð½Ð°Ñ‚уральний Ð»Ð¾Ð³Ð°Ñ€Ð¸Ñ„м Ñ‡Ð¸Ñла.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "Повертає Ð´ÐµÑÑтковий Ð»Ð¾Ð³Ð°Ñ€Ð¸Ñ„м Ñ‡Ð¸Ñла.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Повертає Ð¿Ñ€Ð¾Ñ‚илежне Ñ‡Ð¸Ñло.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Повертає 10 Ñƒ Ñтепені.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Повертає ÐºÐ²Ð°Ð´Ñ€Ð°Ñ‚ний ÐºÐ¾Ñ€Ñ–нь Ð· Ñ‡Ð¸Ñла.";
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";  // untranslated
+Blockly.Msg["MATH_TRIG_ACOS"] = "acos";  // untranslated
+Blockly.Msg["MATH_TRIG_ASIN"] = "asin";  // untranslated
+Blockly.Msg["MATH_TRIG_ATAN"] = "atan";  // untranslated
+Blockly.Msg["MATH_TRIG_COS"] = "cos";  // untranslated
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://uk.wikipedia.org/wiki/Тригонометричні_функції";
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";  // untranslated
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Повертає Ð°Ñ€ÐºÐºÐ¾ÑинуѠчиÑла.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Повертає Ð°Ñ€ÐºÑинуѠчиÑла.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Повертає Ð°Ñ€ÐºÑ‚ангенѠчиÑла.";
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Повертає ÐºÐ¾ÑинуѠкута Ð² Ð³Ñ€Ð°Ð´ÑƒÑах (не Ð² Ñ€Ð°Ð´Ñ–анах).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Повертає ÑинуѠкута Ð² Ð³Ñ€Ð°Ð´ÑƒÑах (не Ð² Ñ€Ð°Ð´Ñ–анах).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Повертає Ñ‚ангенѠкута Ð² Ð³Ñ€Ð°Ð´ÑƒÑах (не Ð² Ñ€Ð°Ð´Ñ–анах).";
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Створити ÐºÐ¾Ð»Ñ–рну Ð·Ð¼Ñ–нну...";
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Створити Ñ‡Ð¸Ñлову Ð·Ð¼Ñ–нну...";
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Створити Ñ€Ñдкову Ð·Ð¼Ñ–нну...";
+Blockly.Msg["NEW_VARIABLE"] = "Створити Ð·Ð¼Ñ–нну...";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "Ðова Ð½Ð°Ð·Ð²Ð° Ð·Ð¼Ñ–нної:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "Тип Ð½Ð¾Ð²Ð¾Ñ— Ð·Ð¼Ñ–нної:";
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "-ий.";
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "дозволити Ð´Ñ–Ñ—";
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "з:";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://uk.wikipedia.org/wiki/Підпрограма";
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "ЗапуÑтити ÐºÐ¾Ñ€Ð¸Ñтувацьку Ñ„ункцію \"%1\".";
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://uk.wikipedia.org/wiki/Підпрограма";
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "ЗапуÑтити ÐºÐ¾Ñ€Ð¸Ñтувацьку Ñ„ункцію \"%1\" Ñ– Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñтати Ñ—Ñ— Ð²Ð¸Ð²Ñ–д.";
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "з:";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "Створити \"%1\"";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Опишіть Ñ†ÑŽ Ñ„ункцію...";
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "блок Ñ‚екÑту";
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://uk.wikipedia.org/wiki/Підпрограма";
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "щоÑÑŒ Ð·Ñ€Ð¾Ð±Ð¸Ñ‚и";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "до";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Створює Ñ„ункцію Ð±ÐµÐ· Ð²Ð¸Ð²Ð¾Ð´Ñƒ.";
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://uk.wikipedia.org/wiki/Підпрограма";
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "повернути";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "Створює Ñ„ункцію Ð· Ð²Ð¸Ð²Ð¾Ð´Ð¾Ð¼.";
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "Увага: Ñ†Ñ Ñ„ункціѠмає Ð´ÑƒÐ±Ð»ÑŒÐ¾Ð²Ð°Ð½Ñ– Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚ри.";
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "ПідÑвітити Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ„ункції";
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "Якщо Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ–Ñтинне, Ñ‚о Ð¿Ð¾Ð²ÐµÑ€Ð½ÑƒÑ‚и Ð´Ñ€ÑƒÐ³Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ.";
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "ПопередженнÑ: Ñ†ÐµÐ¹ Ð±Ð»Ð¾Ðº Ð¼Ð¾Ð¶Ðµ Ð²Ð¸ÐºÐ¾Ñ€Ð¸ÑтовуватиÑѠлише Ð² Ð¼ÐµÐ¶Ð°Ñ… Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ„ункції.";
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "назва Ð²Ñ…оду:";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Додати Ð´Ð¾ Ñ„ункції Ð²Ñ…ідні Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚ри.";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "входи";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Додайте, Ð²Ð¸Ð»ÑƒÑ‡Ñ–Ñ‚ÑŒ Ð°Ð±Ð¾ Ð·Ð¼Ñ–ніть Ð¿Ð¾Ñ€Ñдок Ð²Ñ…ідних Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚рів Ð´Ð»Ñ Ñ†Ñ–єї Ñ„ункції.";
+Blockly.Msg["REDO"] = "Повторити";
+Blockly.Msg["REMOVE_COMMENT"] = "Видалити ÐºÐ¾Ð¼ÐµÐ½Ñ‚ар";
+Blockly.Msg["RENAME_VARIABLE"] = "Перейменувати Ð·Ð¼Ñ–нну...";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Перейменувати ÑƒÑÑ– Ð·Ð¼Ñ–нні \"%1\" Ð´Ð¾:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "до %1 Ð´Ð¾Ð´Ð°Ñ‚и Ñ‚екÑÑ‚ %2";
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Додати Ð´ÐµÑкий Ñ‚екÑÑ‚ Ð´Ð¾ Ð·Ð¼Ñ–нної '%1'.";
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "до Ð½Ð¸Ð¶Ð½ÑŒÐ¾Ð³Ð¾ Ñ€ÐµÐ³Ñ–Ñтру";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "Великі ÐŸÐµÑ€ÑˆÑ– Ð‘укви";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "до Ð’ЕРХÐЬОГО Ñ€ÐµÐ³Ñ–Ñтру";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Ð’ Ñ–ншому Ð²Ð¸Ð¿Ð°Ð´ÐºÑƒ Ð¿Ð¾Ð²ÐµÑ€Ñ‚ає ÐºÐ¾Ð¿Ñ–ÑŽ Ñ‚екÑту.";
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "отримати Ð¿ÐµÑ€ÑˆÐ¸Ð¹ Ñимвол";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "отримати Ñимвол # Ð· ÐºÑ–нцÑ";
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "отримати Ñимвол #";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic=%2Fcom.ibm.xlcpp8l.doc%2Flanguage%2Fref%2Farsubex.htm";
+Blockly.Msg["TEXT_CHARAT_LAST"] = "отримати Ð¾Ñтанній Ñимвол";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "отримати Ð²Ð¸Ð¿Ð°Ð´ÐºÐ¾Ð²Ð¸Ð¹ Ñимвол";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "-ий.";
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "з Ñ‚екÑту %1 %2";
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Повертає Ñимвол Ñƒ Ð·Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ñ–й Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ñ—.";
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";  // untranslated
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "кількіÑÑ‚ÑŒ %1 Ð² %2";
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Підраховує, Ñкільки Ñ€Ð°Ð·Ñ–в Ð´ÐµÑкий Ñ‚екÑÑ‚ Ð·'ÑвлÑєтьÑѠв Ñ–ншому Ñ‚екÑÑ‚Ñ–.";
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Додати ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ð´Ð¾ Ñ‚екÑту.";
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "приєднати";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Додайте, Ð²Ð¸Ð»ÑƒÑ‡Ñ–Ñ‚ÑŒ Ð°Ð±Ð¾ Ð·Ð¼Ñ–ніть Ð¿Ð¾Ñ€Ñдок Ñекцій Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ½Ð°Ð»Ð°ÑˆÑ‚уваннѠтекÑтового Ð±Ð»Ð¾ÐºÑƒ.";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "до Ñимволу # Ð· ÐºÑ–нцÑ";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "до Ñимволу #";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "до Ð¾Ñтаннього Ñимволу";
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "у Ñ‚екÑÑ‚Ñ–";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "отримати Ð¿Ñ–дрÑдок Ð²Ñ–д Ð¿ÐµÑ€ÑˆÐ¾Ð³Ð¾ Ñимволу";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "отримати Ð¿Ñ–дрÑдок Ð²Ñ–д Ñимволу # Ð· ÐºÑ–нцÑ";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "отримати Ð¿Ñ–дрÑдок Ð²Ñ–д Ñимволу #";
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "-ого.";
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Повертає Ð·Ð°Ð´Ð°Ð½Ð¸Ð¹ Ñ„рагмент Ñ‚екÑту.";
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "знайти Ð¿ÐµÑ€ÑˆÐµ Ð²Ñ…одженнѠтекÑту";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "знайти Ð¾Ñтаннє Ð²Ñ…одженнѠтекÑту";
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "у Ñ‚екÑÑ‚Ñ– %1 %2 %3.";
+Blockly.Msg["TEXT_INDEXOF_TOOLTIP"] = "Повертає Ñ–ндекѠпершого/оÑтаннього Ð²Ñ…одженнѠпершого Ñ‚екÑту Ð² Ð´Ñ€ÑƒÐ³Ð¸Ð¹. ÐŸÐ¾Ð²ÐµÑ€Ñ‚ає %1, Ñкщо Ñ‚екÑÑ‚ Ð½Ðµ Ð·Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾.";
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 Ñ” Ð¿Ð¾Ñ€Ð¾Ð¶Ð½Ñ–м";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Повертає Ñ–Ñтину, Ñкщо Ð²ÐºÐ°Ð·Ð°Ð½Ð¸Ð¹ Ñ‚екÑÑ‚ Ð¿Ð¾Ñ€Ð¾Ð¶Ð½Ñ–й.";
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "http://www.chemie.fu-berlin.de/chemnet/use/info/make/make_8.html";
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "Ñтворити Ñ‚екÑÑ‚ Ð·";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Створити Ñ„рагмент Ñ‚екÑту ÑˆÐ»Ñхом Ð·'єднуваннѠбудь-Ñкого Ñ‡Ð¸Ñла ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ів.";
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "довжина %1";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Повертає Ñ‡Ð¸Ñло Ñимволів (включно Ð· Ð¿Ñ€Ð¾Ð¿ÑƒÑками) Ñƒ Ð´Ð°Ð½Ð¾Ð¼Ñƒ Ñ‚екÑÑ‚Ñ–.";
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "друк %1";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Ðадрукувати Ð·Ð°Ð´Ð°Ð½Ð¸Ð¹ Ñ‚екÑÑ‚, Ñ‡Ð¸Ñла Ð°Ð±Ð¾ Ñ–нші Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ.";
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Запитати Ñƒ ÐºÐ¾Ñ€Ð¸Ñтувача Ñ‡Ð¸Ñло.";
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Запитати Ñƒ ÐºÐ¾Ñ€Ð¸Ñтувача Ð´ÐµÑкий Ñ‚екÑÑ‚.";
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "запит Ñ‡Ð¸Ñла Ð· Ð¿Ð¾Ð²Ñ–домленнÑм";
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "запит Ñ‚екÑту Ð· Ð¿Ð¾Ð²Ñ–домленнÑм";
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";  // untranslated
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "замінити %1 Ð½Ð° %2 Ð² %3";
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Замінює Ð²ÑÑ– Ð²Ñ…одженнѠдеÑкого Ñ‚екÑту Ñ–ншим Ñ‚екÑтом.";
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";  // untranslated
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "розвернути %1";
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Змінює Ð½Ð° Ð¿Ñ€Ð¾Ñ‚илежний Ð¿Ð¾Ñ€Ñдок Ñимволів Ñƒ Ñ‚екÑÑ‚Ñ–.";
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://uk.wikipedia.org/wiki/РÑдок_(програмуваннÑ)";
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "Символ, Ñлово Ð°Ð±Ð¾ Ñ€Ñдок Ñ‚екÑту.";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "вилучити ÐºÑ€Ð°Ð¹Ð½Ñ– Ð¿Ñ€Ð¾Ð¿ÑƒÑки Ð· Ð¾Ð±Ð¾Ñ… ÐºÑ–нців";
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "вилучити Ð¿Ñ€Ð¾Ð¿ÑƒÑки Ð· Ð»Ñ–вого Ð±Ð¾ÐºÑƒ";
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "вилучити Ð¿Ñ€Ð¾Ð¿ÑƒÑки Ð· Ð¿Ñ€Ð°Ð²Ð¾Ð³Ð¾ Ð±Ð¾ÐºÑƒ";
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Повертає ÐºÐ¾Ð¿Ñ–ÑŽ Ñ‚екÑту Ð· Ð²Ð¸Ð»ÑƒÑ‡ÐµÐ½Ð¸Ð¼Ð¸ Ð¿Ñ€Ð¾Ð¿ÑƒÑками Ð· Ð¾Ð´Ð½Ð¾Ð³Ð¾ Ð°Ð±Ð¾ Ð¾Ð±Ð¾Ñ… ÐºÑ–нців.";
+Blockly.Msg["TODAY"] = "Сьогодні";
+Blockly.Msg["UNDO"] = "СкаÑувати";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "елемент";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Створити 'вÑтановити %1'";
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Повертає Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ†Ñ–єї Ð·Ð¼Ñ–нної.";
+Blockly.Msg["VARIABLES_SET"] = "вÑтановити %1 Ð´Ð¾ %2";
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Створити 'отримати %1'";
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Задає Ñ†ÑŽ Ð·Ð¼Ñ–нну Ñ€Ñ–вною Ð²Ñ…оду.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "Змінна Ð· Ð½Ð°Ð·Ð²Ð¾ÑŽ '%1' Ð²Ð¶Ðµ Ñ–Ñнує.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "Змінна Ð· Ð½Ð°Ð·Ð²Ð¾ÑŽ '%1' Ð²Ð¶Ðµ Ñ–Ñнує Ð² Ñ–ншому Ñ‚ипі: '%2'.";
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Скажіть Ñ‰Ð¾ÑÑŒ...";
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/ur.js b/js/msg/js/ur.js
new file mode 100644 (file)
index 0000000..493c735
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.ur');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["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'";  // untranslated
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "ویلیو ØªØ¨Ø¯ÛŒÙ„ Ú©Ø±ÛŒÚº:";
+Blockly.Msg["CLEAN_UP"] = "بلاکس ØµØ§Ù Ú©Ø±ÛŒÚº";
+Blockly.Msg["COLLAPSE_ALL"] = "بند Ú©Ø±Ùˆ Ø¨Ù„اکس";
+Blockly.Msg["COLLAPSE_BLOCK"] = "بند Ú©Ø±Ùˆ Ø¨Ù„اک";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "رنگ 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "رنگ 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";  // untranslated
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "ریشیو";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "مرکب";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "دیئے Ú¯Ø¦Û’ Ø±ÛŒØ´ÛŒÙˆ Ù…یں Ø¯Ùˆ Ø±Ù†Ú¯ÙˆÚº Ú©Ùˆ Ù…رکب Ú©Ø±ÛŒÚº (0.0-1.0)";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://en.wikipedia.org/wiki/Color";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "پیلیٹ Ø³Û’ Ø±Ù†Ú¯ Ù…نتخب Ú©Ø±ÛŒÚº";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "ناسیدھا Ø±Ù†Ú¯";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "کسی Ø¨Ú¾ÛŒ Ø±Ù†Ú¯ Ú©Ùˆ Ù…نتجب Ú©Ø±ÛŒÚº";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "نیلا";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "سبز";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";  // untranslated
+Blockly.Msg["COLOUR_RGB_RED"] = "سرخ";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "Ú©Û’ Ø³Ø§ØªÚ¾ Ø±Ù†Ú¯";
+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.";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "لوپ Ø³Û’ Ø¨Ø§Ûر Ù†Ú©Ù„نا";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "continue with next iteration of loop";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "مشتمل Ù„وپ Ú©Û’ Ø¨Ø§Ûر ØªÙˆÚ‘.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "Skip the rest of this loop, and continue with the next iteration.";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "انتباÛ: Ø§Ø³ Ø¨Ù„اک Ú©Ùˆ ØµØ±Ù Ù„وپ Ù…یں Ø§Ø³ØªØ¹Ù…ال Ú©ÛŒØ§ Ø¬Ø§Ø³Ú©ØªØ§ ÛÛ’Û”";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "पà¥à¤°à¤¤à¥à¤¯à¥‡à¤• Ú†ÛŒØ² Ú©ÛŒÙ„ئے %1 ÙÛرست Ù…ÙŠÚº %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "ÙÛرست Ù…یں Ûر Ø¢Ø¦Ù¹Ù… Ú©Û’ Ù„ئے، '%1' Ù…تغیر Ú©Ùˆ Ø¢Ø¦Ù¹Ù… Ù¾Û Ù„گائے،اور Ù¾Ú¾Ø± Ú©Ú†Ú¾ Ø¬Ù…Ù„Û’ Ú©ÛÛ’";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "%1 Ø³Û’ %2 Ø³Û’ %3 ØªÚ© %4 Ú©Û’ Ø³Ø§ØªÚ¾ Ú¯Ù†ØªÛŒ Ú©Ø±ÛŒÚº";
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "کیا Ú†Ø± '%1' Ø§Ø¨ØªØ¯Ø§ Ø¹Ø¯Ø¯ Ø³Û’ Ø§Ø®ØªØªØ§Ù… Ø¹Ø¯Ø¯ ØªÚ© à¤®à¤¾à¤¨à¥‹à¤‚ Ú©Ùˆ Ù„یتا ÛÛ’ØŒ à¤¨à¤¿à¤°à¥à¤¦à¤¿à¤·à¥à¤Ÿ à¤…ंतराल Ú©Û’ ØªØ­Øª Ú¯Ù†ØªÛŒ Ú©Ø±ØªØ§ ÛÛ’ØŒ Ø§ÙˆØ± à¤¨à¤¿à¤°à¥à¤¦à¤¿à¤·à¥à¤Ÿ à¤°à¥à¤•à¤¾à¤µà¤Ÿà¥‹à¤‚ Ú©Ùˆ Ú©Ø±ØªØ§ ÛÛ’Û”";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "Add a condition to the if block.";  // untranslated
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "Add a final, catch-all condition to the if block.";  // untranslated
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this if block.";  // untranslated
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "دوسراں";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "دوسراں Ø§Ú¯Ø±";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "اگر";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "اگر Ø§ÛŒÚ© ÙˆÛŒÙ„یو ØµØ­ÛŒØ­ ÛÛ’ØŒ ØªÙˆ Ú©Ú†Ú¾ Ø³Ù¹ÛŒÙ¹Ù…نٹ Ú©Ø±ÛŒÚº";
+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.";  // untranslated
+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.";  // untranslated
+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.";  // untranslated
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://en.wikipedia.org/wiki/For_loop";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "کریں";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "%1 Ù…رتب۠دÛرائے";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "Ú©Ú†Ú¾ Ø¬Ù…لوں Ú©Ùˆ Ú©Ûیں Ù…رتب۠کریں۔";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "تک Ø¯Ûرائے";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "Ú©Û’ Ø¯ÙˆØ±Ø§Ù† Ø¯Ûرائے";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "اگر Ø§ÛŒÚ© ÙˆÛŒÙ„یو ØµØ­ÛŒØ­ ÛÛ’ØŒ ØªÙˆ Ú©Ú†Ú¾ Ø³Ù¹ÛŒÙ¹Ù…نٹ Ú©Ø±ÛŒÚº";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "اگر Ø§ÛŒÚ© ÙˆÛŒÙ„یو ØµØ­ÛŒØ­ ÛÛ’ØŒ ØªÙˆ Ú©Ú†Ú¾ Ø³Ù¹ÛŒÙ¹Ù…نٹ Ú©Ø±ÛŒÚº";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "تمام%1 Ø¨Ù„اکس Ú©Ùˆ Ø­Ø°Ù Ú©Ø±ÛŒÚºØŸ";
+Blockly.Msg["DELETE_BLOCK"] = "حذ٠بلاک";
+Blockly.Msg["DELETE_VARIABLE"] = "Delete the '%1' variable";  // untranslated
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Delete %1 uses of the '%2' variable?";  // untranslated
+Blockly.Msg["DELETE_X_BLOCKS"] = "%1 Ø¨Ù„اکوں Ú©Ùˆ Ø­Ø°Ù Ú©Ø±ÛŒÚº";
+Blockly.Msg["DISABLE_BLOCK"] = "بلاک Ú©Ùˆ ØºÛŒØ±Ùعال Ú©Ø±ÛŒÚº";
+Blockly.Msg["DUPLICATE_BLOCK"] = "ڈپلیکیٹ";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicate Comment";  // untranslated
+Blockly.Msg["ENABLE_BLOCK"] = "بلاک Ú©Ùˆ Ùعال Ú©Ø±ÛŒÚº";
+Blockly.Msg["EXPAND_ALL"] = "بلاکوں Ù…یں ØªÙˆØ³ÛŒØ¹ Ú©Ø±ÛŒÚº";
+Blockly.Msg["EXPAND_BLOCK"] = "بلاک Ù…یں ØªÙˆØ³ÛŒØ¹ Ú©Ø±ÛŒÚº";
+Blockly.Msg["EXTERNAL_INPUTS"] = "خارجی Ø¯Ø®Ù„ Ø§Ù†Ø¯Ø§Ø²ÛŒ";
+Blockly.Msg["HELP"] = "معاونت";
+Blockly.Msg["INLINE_INPUTS"] = "بین Ø§Ù„سطور Ø¯Ø§Ø®Ù„ Ú©Ø±ÛŒÚº";
+Blockly.Msg["IOS_CANCEL"] = "Cancel";  // untranslated
+Blockly.Msg["IOS_ERROR"] = "Error";  // untranslated
+Blockly.Msg["IOS_OK"] = "OK";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Add Input";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Allow statements";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "This function has duplicate inputs.";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "INPUTS";  // untranslated
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "Add";  // untranslated
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Add Variable";  // untranslated
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "Delete";  // untranslated
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "You can't use an empty variable name.";  // untranslated
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Rename";  // untranslated
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Variable name";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "create empty list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Returns a list, of length 0, containing no data records";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "ÙÛرست";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this list block.";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "Ú©Û’ Ø³Ø§ØªÚ¾ ÙÛرست Ø¨Ù†Ø§Ø¦ÛŒÚº";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Add an item to the list.";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Create a list with any number of items.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "Ù¾Ûلا";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "آخر Ø³Û’";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "حاصل Ú©Ø±ÛŒÚº";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "get and remove";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "آخری";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "غیرمتعین";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "حذ٠کریں";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Ù¾ÛÙ„Û’ Ø¢Ø¦Ù¹Ù… Ú©Ùˆ ÙÛرست Ù…یں Ù„وٹائے";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Returns the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Returns the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Returns a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "Removes and returns the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "Removes and returns the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "Removes and returns the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Removes and returns a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "Removes the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "Removes the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "Removes the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Removes a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "to # from end";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "to #";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "to last";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "get sub-list from first";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "get sub-list from # from end";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "get sub-list from #";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Creates a copy of the specified portion of a list.";  // untranslated
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 is the last item.";  // untranslated
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 is the first item.";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "find first occurrence of item";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "find last occurrence of item";  // untranslated
+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.";  // untranslated
+Blockly.Msg["LISTS_INLIST"] = "ÙÛرست Ù…یں";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 is empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Returns true if the list is empty.";  // untranslated
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "%1 Ú©ÛŒ Ù„مبائی";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Returns the length of a list.";  // untranslated
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "create list with item %1 repeated %2 times";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Creates a list consisting of the given value repeated the specified number of times.";  // untranslated
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";  // untranslated
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Reverse a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "بطور";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "میں Ø¯Ø±Ø¬ Ú©Ø±ÛŒÚº";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "تعین Ú©Ø±ÛŒÚº";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Inserts the item at the start of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Inserts the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Append the item to the end of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Inserts the item randomly in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "ÙÛرست Ù…یں Ù¾Ûلا Ø¢Ø¦Ù¹Ù…  Ú©Ø§ ØªØ¹ÛŒÙ† Ú©Ø±ÛŒÚº";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Sets the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Sets the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Sets a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";  // untranslated
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "ascending";  // untranslated
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "descending";  // untranslated
+Blockly.Msg["LISTS_SORT_TITLE"] = "sort %1 %2 %3";  // untranslated
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Sort a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "alphabetic, ignore case";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "numeric";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "alphabetic";  // untranslated
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "make list from text";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "make text from list";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Join a list of texts into one text, separated by a delimiter.";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Split text into a list of texts, breaking at each delimiter.";  // untranslated
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "with delimiter";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "غلط";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "Returns either true or false.";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_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.";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Return true if the first input is greater than the second input.";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Return true if the first input is greater than or equal to the second input.";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "Return true if the first input is smaller than the second input.";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "Return true if the first input is smaller than or equal to the second input.";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "Return true if both inputs are not equal to each other.";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "%1 Ù†Ûیں";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "Returns true if the input is false. Returns false if the input is true.";  // untranslated
+Blockly.Msg["LOGIC_NULL"] = "null";  // untranslated
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";  // untranslated
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "Returns null.";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_AND"] = "اور";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "یا";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "Return true if both inputs are true.";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "Return true if at least one of the inputs is true.";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "ٹیسٹ";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "اگر ØºÙ„Ø· ÛÛ’";
+Blockly.Msg["LOGIC_TERNARY_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.";  // untranslated
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://en.wikipedia.org/wiki/Arithmetic";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Return the sum of the two numbers.";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Return the quotient of the two numbers.";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Return the difference of the two numbers.";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Return the product of the two numbers.";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Return the first number raised to the power of the second number.";  // untranslated
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";  // untranslated
+Blockly.Msg["MATH_CHANGE_TITLE"] = "change %1 by %2";  // untranslated
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Add a number to variable '%1'.";  // untranslated
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://en.wikipedia.org/wiki/Mathematical_constant";  // untranslated
+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).";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "constrain %1 low %2 high %3";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Constrain a number to be between the specified limits (inclusive).";  // untranslated
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";  // untranslated
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "is divisible by";  // untranslated
+Blockly.Msg["MATH_IS_EVEN"] = "is even";  // untranslated
+Blockly.Msg["MATH_IS_NEGATIVE"] = "is negative";  // untranslated
+Blockly.Msg["MATH_IS_ODD"] = "is odd";  // untranslated
+Blockly.Msg["MATH_IS_POSITIVE"] = "is positive";  // untranslated
+Blockly.Msg["MATH_IS_PRIME"] = "is prime";  // untranslated
+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.";  // untranslated
+Blockly.Msg["MATH_IS_WHOLE"] = "is whole";  // untranslated
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://en.wikipedia.org/wiki/Modulo_operation";  // untranslated
+Blockly.Msg["MATH_MODULO_TITLE"] = "remainder of %1 ÷ %2";  // untranslated
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Return the remainder from dividing the two numbers.";  // untranslated
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";  // untranslated
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://en.wikipedia.org/wiki/Number";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "ایک Ù†Ù…بر.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "average of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "max of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "median of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "min of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "modes of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "random item of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "standard deviation of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "sum of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Return the average (arithmetic mean) of the numeric values in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "Return the largest number in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "Return the median number in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "Return the smallest number in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Return a list of the most common item(s) in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Return a random element from the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Return the standard deviation of the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Return the sum of all the numbers in the list.";  // untranslated
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "random fraction";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Return a random fraction between 0.0 (inclusive) and 1.0 (exclusive).";  // untranslated
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";  // untranslated
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "random integer from %1 to %2";  // untranslated
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Return a random integer between the two specified limits, inclusive.";  // untranslated
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://en.wikipedia.org/wiki/Rounding";  // untranslated
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "round";  // untranslated
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "round down";  // untranslated
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "round up";  // untranslated
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Round a number up or down.";  // untranslated
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://en.wikipedia.org/wiki/Square_root";  // untranslated
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "بالکل";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "اسکویر Ø±ÙˆÙ¹";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Return the absolute value of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Return e to the power of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "Return the natural logarithm of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "Return the base 10 logarithm of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Return the negation of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Return 10 to the power of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Return the square root of a number.";  // untranslated
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";  // untranslated
+Blockly.Msg["MATH_TRIG_ACOS"] = "acos";  // untranslated
+Blockly.Msg["MATH_TRIG_ASIN"] = "asin";  // untranslated
+Blockly.Msg["MATH_TRIG_ATAN"] = "atan";  // untranslated
+Blockly.Msg["MATH_TRIG_COS"] = "cos";  // untranslated
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://en.wikipedia.org/wiki/Trigonometric_functions";  // untranslated
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";  // untranslated
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Return the arccosine of a number.";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Return the arcsine of a number.";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Return the arctangent of a number.";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Return the cosine of a degree (not radian).";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Return the sine of a degree (not radian).";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Return the tangent of a degree (not radian).";  // untranslated
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Create colour variable...";  // untranslated
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Create number variable...";  // untranslated
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Create string variable...";  // untranslated
+Blockly.Msg["NEW_VARIABLE"] = "نیا ÙˆÛŒØ±ÛŒØ§Ø¨Ù„...";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "نیا ÙˆÛŒØ±ÛŒØ§Ø¨Ù„ Ù†Ø§Ù…:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "New variable type:";  // untranslated
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "allow statements";  // untranslated
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "سمیت:";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Run the user-defined function '%1'.";  // untranslated
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Run the user-defined function '%1' and use its output.";  // untranslated
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "سمیت:";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "Create '%1'";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Describe this function...";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "Ú©Ú†Ú¾ Ú©Ø±Ùˆ";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "Ú©Ùˆ";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "بغیر Ø¢ÙˆÙ¹ Ù¾Ù¹ Ú©Ø§ Ùنکشن Ø¨Ù†Ø§Ø¦ÛŒÚº";
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "واپس Ø¢ Ø¬Ø§Ø¦ÛŒÚº";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "بغیر Ø¢ÙˆÙ¹ Ù¾Ù¹ Ú©Ø§ Ùنکشن Ø¨Ù†Ø§Ø¦ÛŒÚº";
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "Warning: This function has duplicate parameters.";  // untranslated
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "Highlight function definition";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "If a value is true, then return a second value.";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "Warning: This block may be used only within a function definition.";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "input name:";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Add an input to the function.";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "inputs";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Add, remove, or reorder inputs to this function.";  // untranslated
+Blockly.Msg["REDO"] = "دÛرائیں";
+Blockly.Msg["REMOVE_COMMENT"] = "تبصر۠حذ٠کریں";
+Blockly.Msg["RENAME_VARIABLE"] = "دوبار Ù†Ø§Ù… Ø¯ÛŒÚº ÙˆÛŒØ±ÛŒØ§Ø¨Ù„ Ú©Ùˆ...";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "تمام %1 Ù…تغیروں Ú©Ùˆ Ø¯ÙˆØ¨Ø§Ø±Û Ù†Ø§Ù… Ø¯Û’:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "to %1 append text %2";  // untranslated
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Append some text to variable '%1'.";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "to lower case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "to Title Case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "to UPPER CASE";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Return a copy of the text in a different case.";  // untranslated
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "get first letter";  // untranslated
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "get letter # from end";  // untranslated
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "# Ø­Ø±Ù Ø­Ø§ØµÙ„ Ú©Ø±ÛŒÚº";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "get last letter";  // untranslated
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "get random letter";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "in text %1 %2";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Returns the letter at the specified position.";  // untranslated
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";  // untranslated
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "count %1 in %2";  // untranslated
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Count how many times some text occurs within some other text.";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Add an item to the text.";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "join";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this text block.";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "to letter # from end";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "to letter #";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "to last letter";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "in text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "get substring from first letter";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "get substring from letter # from end";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "get substring from letter #";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Returns a specified portion of the text.";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "find first occurrence of text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "find last occurrence of text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "in text %1 %2 %3";  // untranslated
+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.";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 is empty";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Returns true if the provided text is empty.";  // untranslated
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "create text with";  // untranslated
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Create a piece of text by joining together any number of items.";  // untranslated
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "length of %1";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Returns the number of letters (including spaces) in the provided text.";  // untranslated
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "print %1";  // untranslated
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Print the specified text, number or other value.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Prompt for user for a number.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Prompt for user for some text.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "prompt for number with message";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "prompt for text with message";  // untranslated
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";  // untranslated
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "replace %1 with %2 in %3";  // untranslated
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Replace all occurances of some text within some other text.";  // untranslated
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";  // untranslated
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Reverses the order of the characters in the text.";  // untranslated
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://en.wikipedia.org/wiki/String_(computer_science)";  // untranslated
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "A letter, word, or line of text.";  // untranslated
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "trim spaces from both sides of";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "trim spaces from left side of";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "trim spaces from right side of";  // untranslated
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Return a copy of the text with spaces removed from one or both ends.";  // untranslated
+Blockly.Msg["TODAY"] = "آج";
+Blockly.Msg["UNDO"] = "کیا Ûوا Ú©Ø§Ù… Ú©ÛŒÙ†Ø³Ù„ Ú©Ø±Û’";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "آئٹم";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Create 'set %1'";  // untranslated
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Returns the value of this variable.";  // untranslated
+Blockly.Msg["VARIABLES_SET"] = "set %1 to %2";  // untranslated
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Create 'get %1'";  // untranslated
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Sets this variable to be equal to the input.";  // untranslated
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "A variable named '%1' already exists.";  // untranslated
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "A variable named '%1' already exists for another type: '%2'.";  // untranslated
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something...";  // untranslated
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/vi.js b/js/msg/js/vi.js
new file mode 100644 (file)
index 0000000..1e4a7a3
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.vi');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "Thêm Chú Giải";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "Không thể xóa giá trị '%1' vì nó Ä‘ược bao gồm trong Ä‘ịnh nghÄ©a của chức năng '%2'";
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "Thay giá trị thành:";
+Blockly.Msg["CLEAN_UP"] = "Sắp xếp lại các khối";
+Blockly.Msg["COLLAPSE_ALL"] = "Thu Nhá» Má»i Mảnh";
+Blockly.Msg["COLLAPSE_BLOCK"] = "Thu Nhá» Mảnh";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "màu 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "màu 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";  // untranslated
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "tỉ lệ";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "pha";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "Pha hai màu vá»›i nhau theo tỉ lệ (0 - 100).";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://vi.wikipedia.org/wiki/M%C3%A0u_s%E1%BA%AFc";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "Chá»n má»™t màu từ bảng màu.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "màu bất kỳ";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "chá»n má»™t màu bất kỳ.";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "màu xanh dÆ°Æ¡ng";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "màu xanh lá cây";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";  // untranslated
+Blockly.Msg["COLOUR_RGB_RED"] = "màu Ä‘á»";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "tạo màu từ";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "Tạo màu từ ba màu: Ä‘á», xanh lá cây, xanh dÆ°Æ¡ng vá»›i số lượng cụ thể.  Má»—i số phải có giá trị từ 0 Ä‘ến 100.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "thoát";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "sang lần lặp tiếp theo";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "Thoát khá»i vòng lặp hiện tại.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "Bá» qua phần còn lại trong vòng lặp này, và sang lần lặp tiếp theo.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "Chú Ã½: Mảnh này chỉ có thế dùng trong các vòng lặp.";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "vá»›i má»—i thành phần %1 trong danh sách %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "Trong má»™t danh sách, lấy từng thành phần, gán vào biến \"%1\", rồi thá»±c hiện má»™t số lệnh.";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "đếm theo %1 từ %2 Ä‘ến %3 má»—i lần thêm %4";
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "Cho biến '%1' lấy các giá trị từ số bắt Ä‘ầu Ä‘ến số kết thúc, Ä‘ếm theo khoảng thá»i gian Ä‘ã chỉ Ä‘ịnh và thá»±c hiện các khối Ä‘ược chỉ Ä‘ịnh.";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "Thêm má»™t Ä‘iá»u kiện vào mảnh nếu.";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "Cuối cùng, khi không Ä‘iá»u kiện nào Ä‘úng.";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Thêm, bá», hoặc Ä‘ổi thứ tá»± các mảnh con Ä‘ể tạo cấu trúc má»›i cho mảnh nếu.";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "nếu không";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "nếu không nếu";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "nếu";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "Nếu Ä‘iá»u kiện Ä‘úng, thá»±c hiện các lệnh.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "Nếu Ä‘iá»u kiện Ä‘úng, thá»±c hiện các lệnh Ä‘ầu.  Nếu sai, thá»±c hiện các lệnh sau.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "Nếu Ä‘iá»u kiện Ä‘úng, thá»±c hiện các lệnh Ä‘ầu.  Nếu không, nếu Ä‘iá»u kiện thứ hai Ä‘úng, thá»±c hiện các lệnh thứ hai.";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "Nếu Ä‘iá»u kiện Ä‘úng, thá»±c hiện các lệnh Ä‘ầu.  Nếu không, nếu Ä‘iá»u kiện thứ hai Ä‘úng, thá»±c hiện các lệnh thứ hai.  Nếu không Ä‘iá»u kiện nào Ä‘úng, thá»±c hiện các lệnh cuối cùng.";
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://en.wikipedia.org/wiki/For_loop";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "thá»±c hiện";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "lặp lại %1 lần";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "Thá»±c hiện các lệnh vài lần.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "lặp lại cho Ä‘ến khi";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "lặp lại trong khi";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "Miá»…n là Ä‘iá»u kiện còn sai, thì thá»±c hiện các lệnh.  Khi Ä‘iá»u kiện Ä‘úng thì ngÆ°ng.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "Miá»…n là Ä‘iá»u kiện còn Ä‘úng, thì thá»±c hiện các lệnh.";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "Xóa hết %1 mảnh?";
+Blockly.Msg["DELETE_BLOCK"] = "Xóa Mảnh Này";
+Blockly.Msg["DELETE_VARIABLE"] = "Xóa giá trị '%1'";
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "Xóa %1 lần dùng của giá trị '%2'?";
+Blockly.Msg["DELETE_X_BLOCKS"] = "Xóa %1 Mảnh";
+Blockly.Msg["DISABLE_BLOCK"] = "NgÆ°ng Tác Dụng";
+Blockly.Msg["DUPLICATE_BLOCK"] = "Tạo Bản Sao";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Bình luận trùng";
+Blockly.Msg["ENABLE_BLOCK"] = "Phục Hồi Tác Dụng";
+Blockly.Msg["EXPAND_ALL"] = "Mở Lá»›n Má»i Mảnh";
+Blockly.Msg["EXPAND_BLOCK"] = "Mở Lá»›n Mảnh";
+Blockly.Msg["EXTERNAL_INPUTS"] = "Chá»— Gắn Bên Ngoài";
+Blockly.Msg["HELP"] = "Trợ Giúp";
+Blockly.Msg["INLINE_INPUTS"] = "Chá»— Gắn Cùng Dòng";
+Blockly.Msg["IOS_CANCEL"] = "Hủy bá»";
+Blockly.Msg["IOS_ERROR"] = "Lá»—i";
+Blockly.Msg["IOS_OK"] = "Äồng Ã½";
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Thêm Ä‘ầu vào";
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Cho phép báo cáo";
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "Hàm này có chứa các input trùng nhau.";
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "NHẬP VÀO";
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "Thêm";
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Thêm biến";
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "Xóa";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "Bạn không thể không nhập tên biến.";
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "Äổi tên";
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Tên biến";
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "tạo danh sách trống";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Hoàn trả má»™t danh sách, vá»›i Ä‘á»™ dài 0, không có thành tố nào cả";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "danh sách";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Thêm, bá», hoặc sắp xếp lại các thành phần Ä‘ể tạo dá»±ng mảnh danh sách này.";
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "tạo danh sách gồm";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Thêm vật vào danh sách.";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Tạo má»™t danh sách bao gồm nhiá»u vậts, vá»›i má»™t số lượng bất kỳ.";
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "đầu tiên";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "(đếm từ cuối) thứ";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "thứ";
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "lấy thành tố";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "lấy và xóa thành tố";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "cuối cùng";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "bất kỳ";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "xóa thành tố";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Hoàn trả thành tố Ä‘ầu tiên trong danh sách.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Hoàn trả thành tố trong danh sách á»Ÿ vị trí áº¥n Ä‘ịnh.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Hoàn trả thành tố cuối cùng trong danh sách.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Hoàn trả má»™t thành tố bất kỳ trong danh sách.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "Hoàn trả và xóa thành tố Ä‘ầu tiên trong danh sách.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "Hoàn trả và xóa thành tố trong danh sách á»Ÿ vị trí áº¥n Ä‘ịnh.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "Hoàn trả và xóa thành tố cuối cùng trong danh sách.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Hoàn trả và xóa má»™tthành tố bất kỳ trong danh sách.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "Xóa thành tố Ä‘ầu tiên trong danh sách.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "Xóa thành tố trong danh sách á»Ÿ vị trí áº¥n Ä‘ịnh.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "Xóa thành tố cuối cùng trong danh sách.";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Xóa thành tố bất kỳ trong danh sách.";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "đến (đếm từ cuối) thứ";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "đến thứ";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "đến cuối cùng";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "lấy má»™t danh sách con từ Ä‘ầu tiên";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "lấy má»™t danh sách con từ (đếm từ cuối) từ vị trí thứ";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "lấy má»™t danh sách con từ vị trí thứ";
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Lấy má»™t mảng của danh sách này Ä‘ể tạo danh sách con.";
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 là thành tố cuối cùng.";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 là thành tố Ä‘ầu tiên.";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "tìm sá»± có mặt Ä‘ầu tiên của vật";
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "tìm sá»± có mặt cuối cùng của vật";
+Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "Hoàn trả vị trí xuất hiện Ä‘ầu tiên/cuối cùng của vật trong danh sách. Nếu không tìm thấy thì hoàn trả số %1.";
+Blockly.Msg["LISTS_INLIST"] = "trong dánh sách";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 trống rá»—ng";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Hoàn trả â€œÄ‘úng\" nếu danh sách không có thành tá»­ nào.";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "Ä‘á»™ dài của %1";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Hoàn trả Ä‘á»™ dài của má»™t danh sách.";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "tạo danh sách gồm má»™t vật %1 lặp lại %2 lần";
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Tạo danh sách gồm má»™t số lượng vật nhất Ä‘ịnh vá»›i má»—i vật Ä‘á»u giống nhau.";
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";  // untranslated
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "đảo ngược %1";
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Äảo ngược bản sao chép của má»™t danh sách.";
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "giá trị";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "chèn vào vị trí";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "đặt";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Chèn vật vào Ä‘ầu danh sách.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Chèn vật vào danh sách theo vị trí áº¥n Ä‘ịnh.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Gắn thêm vật vào cuối danh sách.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Gắn chèn vật vào danh sách á»Ÿ vị trí ngẫu nhiên.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Äặt giá trị của thành tố Ä‘ầu tiên trong danh sách.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Äặt giá trị của thành tố á»Ÿ vị trí áº¥n Ä‘ịnh trong má»™t danh sách.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Äặt giá trị của thành tố cuối cùng trong danh sách.";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Äặt giá trị của thành tố ngẫu nhiên trong danh sách.";
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "tăng dần";
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "giảm dần";
+Blockly.Msg["LISTS_SORT_TITLE"] = "sắp xếp %1 %2 %3";
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Sắp xếp má»™t bản sao của má»™t danh sách.";
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "chữ cái, không phân biệt hoa/thÆ°á»ng";
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "số";
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "chữ cái";
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "tạo danh sách từ văn bản";
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "tạo văn bản từ danh sách";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Liên kết má»™t danh sách các văn bản vào má»™t văn bản, cách nhau bằng dấu phân cách.";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Tách văn bản thành má»™t danh sách các văn bản nhá», ngắt bởi các ký tá»± phân cách.";
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "vá»›i ký tá»± phân cách";
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "sai";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "Hoàn trả \"đúng\" hoặc \"sai\".";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "đúng";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://vi.wikipedia.org/wiki/B%E1%BA%A5t_%C4%91%E1%BA%B3ng_th%E1%BB%A9c";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Hoàn trả giá trị \"đúng\" (true) nếu giá trị hai Ä‘ầu vào bằng nhau.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Hoàn trả giá trị \"đúng\" (true) nếu Ä‘ầu vào thứ nhất lá»›n hÆ¡n Ä‘ầu vào thứ hai.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Hoàn trả giá trị \"đúng\" (true) nếu Ä‘ầu vào thứ nhất lá»›n hÆ¡n hoặc bằng Ä‘ầu vào thứ hai.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "Hoàn trả giá trị \"đúng\" (true) nếu Ä‘ầu vào thứ nhất nhá» hÆ¡n Ä‘ầu vào thứ hai.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "Hoàn trả giá trị \"đúng\" (true) nếu Ä‘ầu vào thứ nhất nhá» hÆ¡n hoặc bằng Ä‘ầu vào thứ hai.";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "Hoàn trả giá trị \"đúng\" (true) nếu giá trị hai Ä‘ầu vào không bằng nhau.";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "không %1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "Hoàn trả \"đúng\" (true) nếu Ä‘ầu vào sai.  Hoàn trả \"sai\" (false) nếu Ä‘ầu vào Ä‘úng.";
+Blockly.Msg["LOGIC_NULL"] = "trống không";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";  // untranslated
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "Hoàn trả trống không.";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "và";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "hoặc";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "Hoàn trả \"đúng\" (true) nếu cả hai Ä‘ầu vào Ä‘á»u Ä‘úng.";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "Hoàn trả \"đúng\" (true) nếu Ã­t nhất má»™t trong hai Ä‘ầu vào Ä‘úng.";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "kiểm tra";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "nếu sai";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "nếu Ä‘úng";
+Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "Kiểm tra Ä‘iá»u kiện. Nếu Ä‘iá»u kiện Ä‘úng, hoàn trả giá trị từ mệnh Ä‘á» \"nếu Ä‘úng\" nếu không Ä‘úng, hoàn trả giá trị từ mệnh Ä‘á» \"nếu sai\".";
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://vi.wikipedia.org/wiki/S%E1%BB%91_h%E1%BB%8Dc";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Hoàn trả tổng của hai con số.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Hoàn trả thÆ°Æ¡ng của hai con số.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Hoàn trả hiệu của hai con số.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Hoàn trả tích của hai con số.";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Hoàn trả số lÅ©y thừa vá»›i số thứ nhất là cÆ¡ số và số thứ hai là số mÅ©.";
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://vi.wikipedia.org/wiki/Ph%C3%A9p_c%E1%BB%99ng";
+Blockly.Msg["MATH_CHANGE_TITLE"] = "cá»™ng vào %1 giá trị %2";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Cá»™ng số Ä‘ầu vào vào biến \"%1\".";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://en.wikipedia.org/wiki/Mathematical_constant";
+Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "Hoàn trả các Ä‘ẳng số thÆ°á»ng gặp: Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), or âˆž (vô cá»±c).";
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "giá»›i hạn %1 không dÆ°á»›i %2 không hÆ¡n %3";
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Giá»›i hạn số Ä‘ầu vào Ä‘ể không dÆ°á»›i số thứ nhất và không hÆ¡n số thứ hai.";
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";  // untranslated
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "chia hết cho";
+Blockly.Msg["MATH_IS_EVEN"] = "là số chẵn";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "là số Ã¢m";
+Blockly.Msg["MATH_IS_ODD"] = "là số lẻ";
+Blockly.Msg["MATH_IS_POSITIVE"] = "là số dÆ°Æ¡ng";
+Blockly.Msg["MATH_IS_PRIME"] = "là số nguyên tố";
+Blockly.Msg["MATH_IS_TOOLTIP"] = "Kiểm tra con số xem nó có phải là số chẵn, lẻ, nguyên tố, nguyên, dÆ°Æ¡ng, Ã¢m,  hay xem nó có chia hết cho số Ä‘ầu vào hay không.  Hoàn trả Ä‘úng hay sai.";
+Blockly.Msg["MATH_IS_WHOLE"] = "là số nguyên";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://en.wikipedia.org/wiki/Modulo_operation";
+Blockly.Msg["MATH_MODULO_TITLE"] = "số dÆ° của %1 Ã· %2";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Chia số thứ nhất cho số thứ hai rồi hoàn trả số dÆ° từ.";
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";  // untranslated
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://vi.wikipedia.org/wiki/S%E1%BB%91";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "Má»™t con số.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "giá trị trung bình của má»™t danh sách";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "số lá»›n nhât của má»™t danh sách";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "số trung vị của má»™t danh sách";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "số nhá» nhất của má»™t danh sách";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "các mode của má»™t danh sách";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "má»™t số bất kỳ của má»™t danh sách";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "Ä‘á»™ lệch chuẩn của má»™t danh sách";
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "tổng của má»™t danh sách";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Hoàn trả giá trị trung bình từ của danh sách số.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "Hoàn trả số lá»›n nhất trong tất cả các số trong danh sách.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "Hoàn trả số trung vị của danh sách số.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "Hoàn trả số nhá» nhất trong tất cả các số trong danh sách.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Hoàn trả các số có mặt nhiá»u nhất trong danh sách.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Hoàn trả má»™t số bất kỳ từ các số trong danh sách.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Hoàn trả Ä‘á»™ lệch chuẩn của danh sách số.";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Hoàn trả tổng số của tất cả các số trong danh sách.";
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "phân số bất kỳ";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Hoàn trả má»™t phân số bất kỳ không nhá» hÆ¡n 0.0 và không lá»›n hÆ¡n 1.0.";
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "Má»™t số nguyên bất kỳ từ %1 Ä‘ến %2";
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Hoàn trả má»™t số nguyên bất kỳ lá»›n hÆ¡n hoặc bằng số Ä‘ầu và nhá» hÆ¡n hoặc bằng số sau.";
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://en.wikipedia.org/wiki/Rounding";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "làm tròn";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "làm tròn xuống";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "làm tròn lên";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Làm tròn lên hoặc tròn xuống số Ä‘ầu vào.";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://vi.wikipedia.org/wiki/C%C4%83n_b%E1%BA%ADc_hai";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "giá trị tuyệt Ä‘ối";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "căn bật hai";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Hoàn trả giá trị tuyệt Ä‘ối của số Ä‘ầu vào.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Hoàn trả lÅ©y thừa của số e vá»›i số mÅ© Ä‘ầu vào.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "Hoàn trả lôgarit tá»± nhiên của số Ä‘ầu vào.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "Hoàn trả lôgarit cÆ¡ số 10 của số Ä‘ầu vào.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Äổi dấu của số Ä‘ầu vào: Ã¢m thành dÆ°Æ¡ng và dÆ°Æ¡ng thành Ã¢m, và hoàn trả số má»›i.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Hoàn trả lÅ©y thừa của số 10 vá»›i số mÅ© Ä‘ầu vào.";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Hoàn trả căn bật hai của số Ä‘ầu vào.";
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";  // untranslated
+Blockly.Msg["MATH_TRIG_ACOS"] = "acos";  // untranslated
+Blockly.Msg["MATH_TRIG_ASIN"] = "asin";  // untranslated
+Blockly.Msg["MATH_TRIG_ATAN"] = "atan";  // untranslated
+Blockly.Msg["MATH_TRIG_COS"] = "cos";  // untranslated
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://vi.wikipedia.org/wiki/H%C3%A0m_l%C6%B0%E1%BB%A3ng_gi%C3%A1c";
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";  // untranslated
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Hoàn trả Arccos của má»™t góc (theo Ä‘á»™).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Hoàn trả Arcsin của má»™t góc (theo Ä‘á»™).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Hoàn trả Arctang của má»™t góc (theo Ä‘á»™).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Hoàn trả Cos của má»™t góc (theo Ä‘á»™).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Hoàn trả Sin của má»™t góc (theo Ä‘á»™).";
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Hoàn trả Tang của má»™t góc (theo Ä‘á»™).";
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Tạo má»™t giá trị màu sắc...";
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Tạo má»™t giá trị số...";
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Tạo má»™t giá trị dạng chuá»—i...";
+Blockly.Msg["NEW_VARIABLE"] = "Tạo biến...";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "Tên của biến má»›i:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "Kiểu giá trị má»›i:";
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "cho phép báo cáo";
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "vá»›i:";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://vi.wikipedia.org/wiki/Ch%C6%B0%C6%A1ng_tr%C3%ACnh_con";
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Chạy má»™t thủ tục không có giá trị hoàn trả.";
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://vi.wikipedia.org/wiki/Ch%C6%B0%C6%A1ng_tr%C3%ACnh_con";
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Chạy má»™t thủ tục có giá trị hoàn trả.";
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "vá»›i:";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "Tạo mảnh \"thá»±c hiện %1\"";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Mô tả hàm này...";
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "làm gì Ä‘ó";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "thủ tục Ä‘ể";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Má»™t thủ tục không có giá trị hoàn trả.";
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "hoàn trả";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "Má»™t thủ tục có giá trị hoàn trả.";
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "Chú Ã½: Thủ tục này có lặp lại tên các tham số.";
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "Làm nổi bật thủ tục";
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "Khi Ä‘iá»u kiện Ä‘úng thì hoàn trả má»™t giá trị.";
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "Chú Ã½: Mảnh này chỉ có thể dùng trong má»™t thủ tục.";
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "biến:";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Thêm má»™t Ä‘ầu vào cho hàm.";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "các tham số";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Thêm, xóa hoặc sắp xếp lại các Ä‘ầu vào cho hàm này.";
+Blockly.Msg["REDO"] = "Làm lại";
+Blockly.Msg["REMOVE_COMMENT"] = "Xóa Chú Giải";
+Blockly.Msg["RENAME_VARIABLE"] = "Thay tên biến...";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "Thay tên tất cả \"%1\" biến này thành:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "ở cuối %1 thêm văn bản %2";
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Thêm má»™t mảng văn bản vào biến \"%1\".";
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "thành chữ thÆ°á»ng";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "thành Chữ In Äầu Má»—i Từ";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "thành CHá»® IN HOA";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Hoàn trả văn bản sau khi chuyển Ä‘ổi chữ in hoa hay thÆ°á»ng.";
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "lấy ký tá»± Ä‘ầu tiên";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "lấy từ phía cuối, ký tá»± thứ";
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "lấy ký tá»± thứ";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "lấy ký tá»± cuối cùng";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "lấy ký tá»± bất kỳ";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "trong văn bản %1 %2";
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Hoàn trả ký tá»± á»Ÿ vị trí Ä‘ặt ra.";
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";  // untranslated
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "đến %1 trong %2";
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Äếm số lần má»™t Ä‘oạn văn bản xuất hiện trong má»™t Ä‘oạn văn bản khác.";
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "thêm vật má»›i vào văn bản.";
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "kết nối";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Thêm, bá», hoặc sắp xếp lại các thành phần Ä‘ể tạo dá»±ng mảnh văn bản này.";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "đến từ phía cuối, ký tá»± thứ";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "đến ký tá»± thứ";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "đến ký tá»± cuối cùng";
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "trong văn bản";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "lấy từ ký tá»± Ä‘ầu tiên";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "lấy từ phía cuối, ký tá»± thứ";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "lấy từ ký tá»± thứ";
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Hoàn trả má»™t mảng ký tá»± áº¥n Ä‘ịnh từ trong văn bản.";
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "tìm sá»± có mặt Ä‘ầu tiên của";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "tìm sá»± có mặt cuối cùng của";
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "trong văn bản %1 %2 %3";
+Blockly.Msg["TEXT_INDEXOF_TOOLTIP"] = "Hoàn trả vị trí xuất hiện Ä‘ầu/cuối của văn bản thứ nhất trong văn bản thứ hai.  Nếu không tìm thấy thì hoàn trả số %1.";
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 trống không";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Hoàn trả â€œÄ‘úng nếu văn bản không có ký tá»± nào.";
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "";
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "tạo văn bản từ";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Tạo má»™t văn bản từ các thành phần.";
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "Ä‘á»™ dài của %1";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Hoàn trả số lượng ký tá»± (kể cả khoảng trắng) trong văn bản Ä‘ầu vào.";
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "in lên màng hình %1";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "In ra màng hình má»™t văn bản, con số, hay má»™t giá trị Ä‘ầu vào khác.";
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Xin ngÆ°á»i dùng nhập vào má»™t con số.";
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Xin ngÆ°á»i dùng nhập vào má»™t văn bản.";
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "Xin ngÆ°á»i dùng nhập vào con số vá»›i dòng hÆ°á»›ng dẫn";
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "Xin ngÆ°á»i dùng nhập vào văn bản vá»›i dòng hÆ°á»›ng dẫn";
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";  // untranslated
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "thay thế %1 bằng %2 trong %3";
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Thay thế tất cả các lần xuất hiện của văn bản bằng văn bản khác.";
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";  // untranslated
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "đảo ngược %1";
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Äảo ngược thứ tá»± của các chữ cái trong văn bản.";
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://en.wikipedia.org/wiki/string_(computer_science)";
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "Má»™t ký tá»±, má»™t từ, hay má»™t dòng.";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "cắt các không gian từ cả hai mặt của";
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "cắt các không gian từ bên trái của";
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "cắt các không gian từ bên phải của";
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Hoàn trả bản sao của văn bản sau khi xóa khoảng trắng từ má»™t hoặc hai bên.";
+Blockly.Msg["TODAY"] = "Hôm nay";
+Blockly.Msg["UNDO"] = "Hoàn tác";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "vật";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Tạo mảnh \"đặt vào %1\"";
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Hoàn trả giá trị của.";
+Blockly.Msg["VARIABLES_SET"] = "cho %1 bằng %2";
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Tạo mảnh \"lấy %1\"";
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Äặt giá trị của biến này thành...";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "Má»™t biến có tên '%1' Ä‘ã tồn tại.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "Giá trị '%1' Ä‘ã tồn tại dÆ°á»›i dạng: '%2'.";
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Hãy nói gì Ä‘ó...";
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/xmf.js b/js/msg/js/xmf.js
new file mode 100644 (file)
index 0000000..e186ef9
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.xmf');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["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'";  // untranslated
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "შáƒáƒœáƒ£áƒšáƒáƒ‘áƒáƒ¨ áƒ—ირუáƒ:";
+Blockly.Msg["CLEAN_UP"] = "ბლáƒáƒ™áƒ”ფიშ áƒ’áƒáƒ£áƒ¥áƒ•áƒáƒ¤áƒ";
+Blockly.Msg["COLLAPSE_ALL"] = "ბლáƒáƒ™áƒ”ფიშ áƒ˜áƒœáƒáƒ™áƒ˜áƒ©áƒ£áƒ";
+Blockly.Msg["COLLAPSE_BLOCK"] = "ბლáƒáƒ™áƒ˜áƒ¨ áƒ¢áƒ§áƒáƒ‘ინáƒáƒ¤áƒ";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "ფერი 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "ფერი 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";  // untranslated
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "ფერი 1-შ áƒ¬áƒ˜áƒšáƒ˜";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "ესვáƒáƒ áƒ£áƒ";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "ჟირ áƒ¤áƒ”რს áƒáƒ áƒ—იáƒáƒœáƒ¡ áƒ£áƒ¬áƒ§áƒáƒ áƒ£áƒáƒœáƒ¡ áƒ›áƒáƒ©áƒáƒ›áƒ˜áƒšáƒ˜ áƒ–ჷმáƒáƒ— (0.0 - 1.0).";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://xmf.wikipedia.org/wiki/ფერი";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "გეგშáƒáƒ’áƒáƒ áƒ˜áƒ— áƒ¤áƒ”რი áƒžáƒáƒšáƒ˜áƒ¢áƒ áƒáƒ¨áƒ”.";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "შემთხვევითი áƒ¤áƒ”რი";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "ფერიშ áƒ¨áƒ”მთხვევითრგიშáƒáƒ’áƒáƒ áƒ£áƒ.";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "ლენი";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "წვáƒáƒœáƒ”";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";  // untranslated
+Blockly.Msg["COLOUR_RGB_RED"] = "ჭითáƒ";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "ფერიË";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "áƒáƒ™áƒáƒ¥áƒ˜áƒ›áƒ˜áƒœáƒ˜áƒ— áƒ¤áƒ”რი áƒ›áƒáƒ©áƒáƒ›áƒ˜áƒšáƒ˜ áƒ­áƒ˜áƒ—áƒ, áƒ¬áƒ•áƒáƒœáƒ” áƒ“რლენი áƒ¤áƒ”რეფიშ áƒžáƒ áƒáƒžáƒáƒ áƒªáƒ˜áƒ”ფით. áƒáƒ áƒ«áƒ áƒ¨áƒáƒœáƒ£áƒšáƒáƒ‘რ0 áƒ“რ100 áƒ¨áƒ¥áƒáƒ¡ áƒáƒ™áƒ áƒ áƒ“áƒáƒ¡.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "ციკლშე áƒ’იშულáƒ";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "ციკლიშ áƒ’ეჸვენჯი áƒ‘იჯგშრგინულáƒ";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "თე áƒªáƒ˜áƒ™áƒšáƒ˜áƒ¨ áƒ›áƒ”ჭყáƒáƒ áƒ˜áƒ“უáƒ.";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "Skip the rest of this loop, and continue with the next iteration.";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "ხვილáƒáƒ¤áƒ: áƒ—ე áƒ‘ლáƒáƒ™áƒ˜áƒ¨ áƒ’ჷმáƒáƒ áƒ˜áƒœáƒáƒ¤áƒ áƒ®áƒ•áƒáƒšáƒ” áƒªáƒ˜áƒ™áƒšáƒ˜áƒ¨ áƒ“ინáƒáƒ®áƒáƒšáƒ” áƒ¨áƒ˜áƒšáƒ”ბე.";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "for each item %1 in list %2";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "For each item in a list, set the variable '%1' to the item, and then do some statements.";  // untranslated
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "count with %1 from %2 to %3 by %4";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "მáƒáƒ—ირეფáƒáƒœáƒ˜ '%1'-ის áƒ›áƒ˜áƒ—მურჩქინáƒáƒœáƒ¡ áƒ¨áƒáƒœáƒ£áƒšáƒáƒ‘áƒáƒ¡ áƒ›áƒáƒ©áƒáƒ›áƒ˜áƒšáƒ˜ áƒ‘იჯგეფით áƒ“უდშე áƒ‘áƒáƒšáƒáƒ¨áƒ áƒ“რმეწურáƒáƒ¤áƒ˜áƒš áƒ–áƒáƒ¯áƒ£áƒ”ფს áƒáƒ áƒ¡áƒ£áƒšáƒ”ნს.";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "Add a condition to the if block.";  // untranslated
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "Add a final, catch-all condition to the if block.";  // untranslated
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this if block.";  // untranslated
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "შხვáƒáƒœáƒ”რáƒ";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "შხვáƒáƒœáƒ”რრთუ";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "თუ";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "პიჯáƒáƒšáƒ”ფი áƒœáƒáƒœáƒ“ული áƒ¥áƒáƒ áƒ”-დáƒ, áƒ–áƒáƒ¯áƒ£áƒ”ფს áƒáƒ áƒ¡áƒ£áƒšáƒ”ნს.";
+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.";  // untranslated
+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.";  // untranslated
+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.";  // untranslated
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://ru.wikipedia.org/wiki/ციკლი_(პრáƒáƒ’რáƒáƒ›áƒ˜áƒ áƒáƒ¤áƒ)";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "რსულებáƒ";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "%1 áƒ¨áƒ áƒ’áƒáƒ›áƒáƒŸáƒ˜áƒ áƒáƒ¤áƒ";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "მუსხირენ áƒ–áƒáƒ¯áƒ£áƒáƒ¨ áƒ›áƒ£áƒ¡áƒ®áƒ˜áƒ áƒ”ნშრრსულებáƒ.";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "გáƒáƒ›áƒáƒŸáƒ˜áƒ áƒáƒ¤áƒ, áƒ¡áƒáƒ˜áƒ¨áƒáƒ® áƒ•áƒ";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "გáƒáƒ›áƒáƒŸáƒ˜áƒ áƒáƒ¤áƒ, áƒ¡áƒáƒ˜áƒ¨áƒáƒ®";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "სáƒáƒ˜áƒ¨áƒáƒ® áƒ¨áƒáƒœáƒ£áƒšáƒáƒ‘რტყურრრე, áƒ–áƒáƒ¯áƒ£áƒ”ფიშ áƒ áƒ¡áƒ£áƒšáƒ”ბáƒ";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "სáƒáƒ˜áƒ¨áƒáƒ® áƒ¨áƒáƒœáƒ£áƒšáƒáƒ‘რნáƒáƒœáƒ“ული áƒ áƒ”, áƒ–áƒáƒ¯áƒ£áƒ”ფიშ áƒ áƒ¡áƒ£áƒšáƒ”ბáƒ.";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "áƒáƒ áƒ«áƒ (%1) áƒ‘ლáƒáƒ™áƒ˜ áƒ‘ლáƒáƒ¡áƒáƒ—áƒ?";
+Blockly.Msg["DELETE_BLOCK"] = "ბლáƒáƒ™áƒ˜áƒ¨ áƒšáƒáƒ¡áƒ£áƒ";
+Blockly.Msg["DELETE_VARIABLE"] = "'%1' áƒ›áƒáƒ—ირეფáƒáƒœáƒ˜áƒ¨ áƒšáƒáƒ¡áƒ£áƒ";
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "'%2' áƒ›áƒáƒ—ირეფáƒáƒœáƒ˜áƒ¨ áƒ’ჷმáƒáƒ áƒ˜áƒœáƒáƒ¤áƒ %1 áƒ‘ლáƒáƒ¡áƒáƒ—áƒ?";
+Blockly.Msg["DELETE_X_BLOCKS"] = "%1 áƒ‘ლáƒáƒ™áƒ˜áƒ¨ áƒšáƒáƒ¡áƒ£áƒ";
+Blockly.Msg["DISABLE_BLOCK"] = "ბლáƒáƒ™áƒ˜áƒ¨ áƒ—იშუáƒ";
+Blockly.Msg["DUPLICATE_BLOCK"] = "კáƒáƒžáƒ˜áƒ áƒáƒ¤áƒ";
+Blockly.Msg["DUPLICATE_COMMENT"] = "Duplicate Comment";  // untranslated
+Blockly.Msg["ENABLE_BLOCK"] = "ბლáƒáƒ™áƒ˜áƒ¨ áƒ©áƒáƒ áƒ—ებáƒ";
+Blockly.Msg["EXPAND_ALL"] = "ბლáƒáƒ™áƒ”ფიშ áƒ’ჷმáƒáƒ¤áƒáƒ©áƒ£áƒ";
+Blockly.Msg["EXPAND_BLOCK"] = "ბლáƒáƒ™áƒ˜áƒ¨ áƒ’ჷმáƒáƒ¤áƒáƒ©áƒ£áƒ";
+Blockly.Msg["EXTERNAL_INPUTS"] = "გáƒáƒšáƒ”შე áƒ“ინáƒáƒ®áƒ£áƒœáƒáƒ¤áƒ";
+Blockly.Msg["HELP"] = "მáƒáƒ®áƒ•áƒáƒ áƒ";
+Blockly.Msg["INLINE_INPUTS"] = "დინáƒáƒ®áƒáƒšáƒ” áƒ“ინáƒáƒ®áƒ£áƒœáƒáƒ¤áƒ";
+Blockly.Msg["IOS_CANCEL"] = "გáƒáƒ£áƒ¥áƒ•áƒáƒ¤áƒ";
+Blockly.Msg["IOS_ERROR"] = "ჩილáƒáƒ—áƒ";
+Blockly.Msg["IOS_OK"] = "OK";
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ Add Input";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "Allow statements";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "This function has duplicate inputs.";  // untranslated
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "მიშულáƒ";
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "გეძინáƒ";
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ Add Variable";  // untranslated
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "ლáƒáƒ¡áƒ£áƒ";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "You can't use an empty variable name.";  // untranslated
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "ჯáƒáƒ®áƒáƒ¨ áƒ—ირუáƒ";
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "Variable name";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "create empty list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "Returns a list, of length 0, containing no data records";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "list";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this list block.";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "create list with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "Add an item to the list.";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "Create a list with any number of items.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "first";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "# from end";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "get";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "get and remove";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "last";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "random";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "remove";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "Returns the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "Returns the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "Returns the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "Returns a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "Removes and returns the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "Removes and returns the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "Removes and returns the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "Removes and returns a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "Removes the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "Removes the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "Removes the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "Removes a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "to # from end";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "to #";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "to last";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "get sub-list from first";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "get sub-list from # from end";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "get sub-list from #";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "Creates a copy of the specified portion of a list.";  // untranslated
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 is the last item.";  // untranslated
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 is the first item.";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "find first occurrence of item";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "find last occurrence of item";  // untranslated
+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.";  // untranslated
+Blockly.Msg["LISTS_INLIST"] = "in list";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 áƒªáƒáƒ áƒ˜áƒ”ლი áƒ áƒ”";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "Returns true if the list is empty.";  // untranslated
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "length of %1";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "Returns the length of a list.";  // untranslated
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "create list with item %1 repeated %2 times";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "Creates a list consisting of the given value repeated the specified number of times.";  // untranslated
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";  // untranslated
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "Reverse a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "as";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "insert at";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "Inserts the item at the start of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "Inserts the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "Append the item to the end of a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "Inserts the item randomly in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "Sets the first item in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "Sets the item at the specified position in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "Sets the last item in a list.";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "Sets a random item in a list.";  // untranslated
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";  // untranslated
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "ascending";  // untranslated
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "descending";  // untranslated
+Blockly.Msg["LISTS_SORT_TITLE"] = "sort %1 %2 %3";  // untranslated
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "Sort a copy of a list.";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "alphabetic, ignore case";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "numeric";  // untranslated
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "alphabetic";  // untranslated
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "make list from text";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "make text from list";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "Join a list of texts into one text, separated by a delimiter.";  // untranslated
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "Split text into a list of texts, breaking at each delimiter.";  // untranslated
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "with delimiter";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "ტყურáƒ";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "Returns either true or false.";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "ნáƒáƒœáƒ“ული";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://en.wikipedia.org/wiki/Inequality_(mathematics)";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "Return true if both inputs equal each other.";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "Return true if the first input is greater than the second input.";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "Return true if the first input is greater than or equal to the second input.";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "Return true if the first input is smaller than the second input.";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "Return true if the first input is smaller than or equal to the second input.";  // untranslated
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "Return true if both inputs are not equal to each other.";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "not %1";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "Returns true if the input is false. Returns false if the input is true.";  // untranslated
+Blockly.Msg["LOGIC_NULL"] = "მუთუნ áƒ•áƒáƒ áƒ˜";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";  // untranslated
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "დჷთმáƒáƒ áƒ—ინუáƒáƒœáƒ¡ áƒ›áƒ£áƒ—უნ áƒ•áƒáƒ áƒ¡.";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "დáƒ";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "ვáƒáƒ áƒ“áƒ";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "Return true if both inputs are true.";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "Return true if at least one of the inputs is true.";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "test";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://en.wikipedia.org/wiki/%3F:";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "if false";  // untranslated
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "if true";  // untranslated
+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.";  // untranslated
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://xmf.wikipedia.org/wiki/áƒáƒ áƒ˜áƒ—მეტიკáƒ";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "Return the sum of the two numbers.";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "Return the quotient of the two numbers.";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "Return the difference of the two numbers.";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "Return the product of the two numbers.";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "Return the first number raised to the power of the second number.";  // untranslated
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter";  // untranslated
+Blockly.Msg["MATH_CHANGE_TITLE"] = "change %1 by %2";  // untranslated
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "Add a number to variable '%1'.";  // untranslated
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://en.wikipedia.org/wiki/Mathematical_constant";  // untranslated
+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).";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "constrain %1 low %2 high %3";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "Constrain a number to be between the specified limits (inclusive).";  // untranslated
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";  // untranslated
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "is divisible by";  // untranslated
+Blockly.Msg["MATH_IS_EVEN"] = "ჭკáƒáƒ‘რრე";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "უáƒáƒ áƒ§áƒáƒ¤áƒ˜áƒ—ი áƒ áƒ”";
+Blockly.Msg["MATH_IS_ODD"] = "ცáƒáƒœáƒ“ი áƒ áƒ”";
+Blockly.Msg["MATH_IS_POSITIVE"] = "დáƒáƒ“ებითი áƒ áƒ”";
+Blockly.Msg["MATH_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.";  // untranslated
+Blockly.Msg["MATH_IS_WHOLE"] = "ნთელი áƒ áƒ”";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://en.wikipedia.org/wiki/Modulo_operation";  // untranslated
+Blockly.Msg["MATH_MODULO_TITLE"] = "remainder of %1 ÷ %2";  // untranslated
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "Return the remainder from dividing the two numbers.";  // untranslated
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";  // untranslated
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://xmf.wikipedia.org/wiki/რიცხუ";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "რიცხუ.";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "average of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "max of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "median of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "min of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "modes of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "random item of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "standard deviation of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "sum of list";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "Return the average (arithmetic mean) of the numeric values in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "Return the largest number in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "Return the median number in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "Return the smallest number in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "Return a list of the most common item(s) in the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "Return a random element from the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "Return the standard deviation of the list.";  // untranslated
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "Return the sum of all the numbers in the list.";  // untranslated
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "random fraction";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "Return a random fraction between 0.0 (inclusive) and 1.0 (exclusive).";  // untranslated
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://en.wikipedia.org/wiki/Random_number_generation";  // untranslated
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "random integer from %1 to %2";  // untranslated
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "Return a random integer between the two specified limits, inclusive.";  // untranslated
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://en.wikipedia.org/wiki/Rounding";  // untranslated
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "round";  // untranslated
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "round down";  // untranslated
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "round up";  // untranslated
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "Round a number up or down.";  // untranslated
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://en.wikipedia.org/wiki/Square_root";  // untranslated
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "მáƒáƒ“ული";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "კვáƒáƒ“რáƒáƒ¢áƒ£áƒšáƒ˜ áƒ¯áƒ˜áƒœáƒ¯áƒ˜";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "Return the absolute value of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "Return e to the power of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "Return the natural logarithm of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "Return the base 10 logarithm of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "Return the negation of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "Return 10 to the power of a number.";  // untranslated
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "Return the square root of a number.";  // untranslated
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";  // untranslated
+Blockly.Msg["MATH_TRIG_ACOS"] = "acos";  // untranslated
+Blockly.Msg["MATH_TRIG_ASIN"] = "asin";  // untranslated
+Blockly.Msg["MATH_TRIG_ATAN"] = "atan";  // untranslated
+Blockly.Msg["MATH_TRIG_COS"] = "cos";  // untranslated
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://en.wikipedia.org/wiki/Trigonometric_functions";  // untranslated
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";  // untranslated
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "Return the arccosine of a number.";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "Return the arcsine of a number.";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "Return the arctangent of a number.";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "Return the cosine of a degree (not radian).";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "Return the sine of a degree (not radian).";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "Return the tangent of a degree (not radian).";  // untranslated
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "Create colour variable...";  // untranslated
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "Create number variable...";  // untranslated
+Blockly.Msg["NEW_STRING_VARIABLE"] = "Create string variable...";  // untranslated
+Blockly.Msg["NEW_VARIABLE"] = "áƒáƒ™áƒáƒ¥áƒ˜áƒ›áƒ˜áƒœáƒ˜ áƒ›áƒáƒ—ირეფáƒáƒœáƒ˜...";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "áƒáƒ®áƒáƒšáƒ˜ áƒ›áƒáƒ—ირეფáƒáƒœáƒ˜áƒ¨ áƒ¯áƒáƒ®áƒ:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "New variable type:";  // untranslated
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "allow statements";  // untranslated
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "with:";  // untranslated
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "Run the user-defined function '%1'.";  // untranslated
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "Run the user-defined function '%1' and use its output.";  // untranslated
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "with:";  // untranslated
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "Create '%1'";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "Describe this function...";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "do something";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "to";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "Creates a function with no output.";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://en.wikipedia.org/wiki/Subroutine";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "return";  // untranslated
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "Creates a function with an output.";  // untranslated
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "Warning: This function has duplicate parameters.";  // untranslated
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "Highlight function definition";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "If a value is true, then return a second value.";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "Warning: This block may be used only within a function definition.";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "input name:";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "Add an input to the function.";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "inputs";  // untranslated
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "Add, remove, or reorder inputs to this function.";  // untranslated
+Blockly.Msg["REDO"] = "áƒáƒ¨áƒ®áƒáƒœáƒáƒ¤áƒ";
+Blockly.Msg["REMOVE_COMMENT"] = "კáƒáƒ›áƒ”ნტáƒáƒ áƒ˜áƒ¨ áƒ’áƒáƒ£áƒ¥áƒ•áƒáƒ¤áƒ";
+Blockly.Msg["RENAME_VARIABLE"] = "ჯáƒáƒ®áƒáƒ¨ áƒ—ირურმáƒáƒ—ირეფáƒáƒœáƒ˜â€¦";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "áƒáƒ áƒ«áƒ áƒ›áƒáƒ—ირეფáƒáƒœáƒ˜ '%1' áƒ¯áƒáƒ®áƒáƒ¨ áƒ—ირურ-შáƒ:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "to %1 append text %2";  // untranslated
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "Append some text to variable '%1'.";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "to lower case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "to Title Case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "to UPPER CASE";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "Return a copy of the text in a different case.";  // untranslated
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "get first letter";  // untranslated
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "get letter # from end";  // untranslated
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "get letter #";  // untranslated
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "get last letter";  // untranslated
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "get random letter";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "in text %1 %2";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "Returns the letter at the specified position.";  // untranslated
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";  // untranslated
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "count %1 in %2";  // untranslated
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "Count how many times some text occurs within some other text.";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "Add an item to the text.";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "join";  // untranslated
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "Add, remove, or reorder sections to reconfigure this text block.";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "to letter # from end";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "to letter #";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "to last letter";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "in text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "get substring from first letter";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "get substring from letter # from end";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "get substring from letter #";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "Returns a specified portion of the text.";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "find first occurrence of text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "find last occurrence of text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "in text %1 %2 %3";  // untranslated
+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.";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 is empty";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "Returns true if the provided text is empty.";  // untranslated
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "create text with";  // untranslated
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "Create a piece of text by joining together any number of items.";  // untranslated
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "length of %1";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "Returns the number of letters (including spaces) in the provided text.";  // untranslated
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "print %1";  // untranslated
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "Print the specified text, number or other value.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "Prompt for user for a number.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "Prompt for user for some text.";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "prompt for number with message";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "prompt for text with message";  // untranslated
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";  // untranslated
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "replace %1 with %2 in %3";  // untranslated
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "Replace all occurances of some text within some other text.";  // untranslated
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";  // untranslated
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "reverse %1";  // untranslated
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "Reverses the order of the characters in the text.";  // untranslated
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://en.wikipedia.org/wiki/String_(computer_science)";  // untranslated
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "A letter, word, or line of text.";  // untranslated
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "trim spaces from both sides of";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "trim spaces from left side of";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "trim spaces from right side of";  // untranslated
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "Return a copy of the text with spaces removed from one or both ends.";  // untranslated
+Blockly.Msg["TODAY"] = "áƒáƒ›áƒ“ღáƒ";
+Blockly.Msg["UNDO"] = "გáƒáƒ£áƒ¥áƒ•áƒáƒ¤áƒ";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "ელემენტი";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "Create 'set %1'";  // untranslated
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "Returns the value of this variable.";  // untranslated
+Blockly.Msg["VARIABLES_SET"] = "set %1 to %2";  // untranslated
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "Create 'get %1'";  // untranslated
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "Sets this variable to be equal to the input.";  // untranslated
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "მáƒáƒ—ირეფáƒáƒœáƒ˜ áƒ¯áƒáƒ®áƒáƒ—ი '%1' áƒ£áƒ™áƒ•áƒ” áƒáƒ áƒ¡áƒ”ნებს.";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "A variable named '%1' already exists for another type: '%2'.";  // untranslated
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "Say something...";  // untranslated
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/zh-hans.js b/js/msg/js/zh-hans.js
new file mode 100644 (file)
index 0000000..9229ad3
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.zh.hans');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "添加注释";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "ä¸èƒ½åˆ é™¤å˜é‡â€œ%1â€ï¼Œå› ä¸ºå®ƒæ˜¯å‡½æ•°â€œ%2â€å®šä¹‰çš„一部分";
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "更改值:";
+Blockly.Msg["CLEAN_UP"] = "æ•´ç†å—";
+Blockly.Msg["COLLAPSE_ALL"] = "折å å—";
+Blockly.Msg["COLLAPSE_BLOCK"] = "折å å—";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "颜色1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "颜色2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";  // untranslated
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "比例";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "æ··åˆ";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "把两ç§é¢œè‰²ä»¥ä¸€ä¸ªç»™å®šçš„比例(0.0-1.0)进行混åˆã€‚";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://zh.wikipedia.org/wiki/颜色";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "从调色æ¿ä¸­é€‰æ‹©ä¸€ç§é¢œè‰²ã€‚";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "éšæœºé¢œè‰²";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "éšæœºé€‰æ‹©ä¸€ç§é¢œè‰²ã€‚";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "è“色";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "绿色";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";  // untranslated
+Blockly.Msg["COLOUR_RGB_RED"] = "红色";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "颜色";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "通过指定红色ã€ç»¿è‰²å’Œè“色的é‡åˆ›å»ºä¸€ç§é¢œè‰²ã€‚所有的值必须在0å’Œ100之间。";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "跳出循环";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "继续下一轮循环";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "跳出包å«å®ƒçš„循环。";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "跳过本轮循环的剩余部分,并继进行续下一轮迭代。";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "警告:这个å—åªèƒ½åœ¨å¾ªçŽ¯å†…使用。";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "为列表 %2 é‡Œçš„æ¯ä¸€é¡¹ %1";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "é历列表中的æ¯ä¸€é¡¹ï¼Œå°†å˜é‡â€œ%1â€è®¾ä¸ºæ‰€é€‰é¡¹ï¼Œå¹¶æ‰§è¡Œä¸€äº›è¯­å¥ã€‚";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "å˜é‡ %1 ä»Ž %2 æ•°åˆ° %3 æ¯æ¬¡å¢žåŠ  %4";
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "用å˜é‡%1记录从开始数值到终止数值之间的数值,数值按指定间隔增加,并执行指定的å—。";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "在这个if语å¥å—中增加一个æ¡ä»¶ã€‚";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "在这个if语å¥å—中添加一个最终的,包括所有其余情况的æ¡ä»¶ã€‚";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "增加ã€åˆ é™¤æˆ–é‡æ–°æŽ’列å„节æ¥é‡æ–°é…置这个if语å¥å—。";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "å¦åˆ™";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "å¦åˆ™å¦‚æžœ";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "如果";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "如果值为真,执行一些语å¥ã€‚";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "如果值为真,则执行第一å—语å¥ã€‚å¦åˆ™ï¼Œåˆ™æ‰§è¡Œç¬¬äºŒå—语å¥ã€‚";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "如果第一个值为真,则执行第一å—的语å¥ã€‚å¦åˆ™ï¼Œå¦‚果第二个值为真,则执行第二å—的语å¥ã€‚";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "如果第一个值为真,则执行第一å—对语å¥ã€‚å¦åˆ™ï¼Œå¦‚果第二个值为真,则执行语å¥çš„第二å—。如果没有值为真,则执行最åŽä¸€å—的语å¥ã€‚";
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://zh.wikipedia.org/wiki/For循环";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "执行";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "é‡å¤ %1 æ¬¡";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "多次执行一些语å¥ã€‚";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "é‡å¤ç›´åˆ°æ¡ä»¶æ»¡è¶³";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "当æ¡ä»¶æ»¡è¶³æ—¶é‡å¤";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "åªè¦å€¼ä¸ºå‡ï¼Œæ‰§è¡Œä¸€äº›è¯­å¥ã€‚";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "åªè¦å€¼ä¸ºçœŸï¼Œæ‰§è¡Œä¸€äº›è¯­å¥ã€‚";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "删除所有 %1 ä¸ªå—å—?";
+Blockly.Msg["DELETE_BLOCK"] = "删除å—";
+Blockly.Msg["DELETE_VARIABLE"] = "删除å˜é‡â€œ%1â€";
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "è¦åˆ é™¤å˜é‡â€œ%2â€çš„%1个使用之处å—?";
+Blockly.Msg["DELETE_X_BLOCKS"] = "删除 %1 ä¸ªå—";
+Blockly.Msg["DISABLE_BLOCK"] = "ç¦ç”¨å—";
+Blockly.Msg["DUPLICATE_BLOCK"] = "å¤åˆ¶";
+Blockly.Msg["DUPLICATE_COMMENT"] = "å¤åˆ¶æ³¨é‡Š";
+Blockly.Msg["ENABLE_BLOCK"] = "å¯ç”¨å—";
+Blockly.Msg["EXPAND_ALL"] = "展开å—";
+Blockly.Msg["EXPAND_BLOCK"] = "展开å—";
+Blockly.Msg["EXTERNAL_INPUTS"] = "外部输入";
+Blockly.Msg["HELP"] = "帮助";
+Blockly.Msg["INLINE_INPUTS"] = "å•è¡Œè¾“å…¥";
+Blockly.Msg["IOS_CANCEL"] = "å–消";
+Blockly.Msg["IOS_ERROR"] = "错误";
+Blockly.Msg["IOS_OK"] = "确定";
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+添加输入";
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "å…许的语å¥";
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "这个函数有多个输入。";
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "输入";
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "添加";
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+添加å˜é‡";
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "删除";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "ä½ ä¸èƒ½ä½¿ç”¨ç©ºç™½çš„å˜é‡å。";
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "é‡å‘½å";
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "å˜é‡å";
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "创建空列表";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "返回一个列表,长度为 0,ä¸åŒ…å«ä»»ä½•æ•°æ®è®°å½•";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "列表";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "增加ã€åˆ é™¤æˆ–é‡æ–°æŽ’列å„部分以此é‡æ–°é…置这个列表å—。";
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "建立列表从";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "将一个项添加到列表中。";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "建立一个具有任æ„æ•°é‡é¡¹ç›®çš„列表。";
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "第一个";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "倒数第#";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "å–å¾—";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "å–得并移除";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "最åŽä¸€ä¸ª";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "éšæœºçš„";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "移除";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "空白";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "返回列表中的第一项。";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "返回在列表中的指定ä½ç½®çš„项。";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "返回列表中的最åŽä¸€é¡¹ã€‚";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "返回列表中的éšæœºä¸€é¡¹ã€‚";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "移除并返回列表中的第一项。";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "移除并返回列表中的指定ä½ç½®çš„项。";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "移除并返回列表中的最åŽä¸€é¡¹ã€‚";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "移除并返回列表中的éšæœºä¸€é¡¹ã€‚";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "移除列表中的第一项";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "移除在列表中的指定ä½ç½®çš„项。";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "移除列表中的最åŽä¸€é¡¹";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "删除列表中的éšæœºä¸€é¡¹ã€‚";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "到倒数第#";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "到#";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "到最åŽ";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "获å–å­åˆ—表从第一个";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "获å–å­åˆ—表从最åŽä¸€ä¸ª#";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "获å–å­åˆ—表从#";
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "空白";
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "å¤åˆ¶åˆ—表中指定的部分。";
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1是最åŽä¸€é¡¹ã€‚";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1是第一项。";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "寻找第一次出现的项";
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "寻找最åŽä¸€æ¬¡å‡ºçŽ°çš„项";
+Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "返回在列表中的第一/最åŽä¸€ä¸ªåŒ¹é…项的索引值。如果找ä¸åˆ°é¡¹ç›®åˆ™è¿”回%1。";
+Blockly.Msg["LISTS_INLIST"] = "在列表中";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1是空的";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "如果改列表为空,则返回真。";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "%1的长度";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "返回列表的长度。";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "建立列表使用项 %1 é‡å¤ %2 æ¬¡";
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "建立包å«æŒ‡å®šé‡å¤æ¬¡æ•°çš„值的列表。";
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "倒转%1";
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "倒转一个列表的拷è´ã€‚";
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "值为";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "æ’入在";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "设置";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "在列表的起始处添加该项。";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "æ’入在列表中指定ä½ç½®çš„项。";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "在列表的末尾处添加该项。";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "在列表的éšæœºä½ç½®æ’入该项。";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "设置列表中的第一项。";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "设置在列表中指定ä½ç½®çš„项。";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "设置列表中的最åŽä¸€é¡¹ã€‚";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "设置列表中的éšæœºä¸€é¡¹ã€‚";
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "å‡åº";
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "é™åº";
+Blockly.Msg["LISTS_SORT_TITLE"] = "排åº%1 %2 %3";
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "排åºä¸€ä¸ªåˆ—表的拷è´ã€‚";
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "按字æ¯æŽ’åºï¼Œå¿½ç•¥å¤§å°å†™";
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "按数字排åº";
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "按字æ¯æŽ’åº";
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "从文本制作列表";
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "从列表拆出文本";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "加入文本列表至一个文本,由分隔符分隔。";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "拆分文本到文本列表,按æ¯ä¸ªåˆ†éš”符拆分。";
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "用分隔符";
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "å‡";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "返回真或å‡ã€‚";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "真";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://zh.wikipedia.org/wiki/ä¸ç­‰";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "如果两个输入结果相等,则返回真。";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "如果第一个输入结果比第二个大,则返回真。";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "如果第一个输入结果大于或等于第二个输入结果,则返回真。";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "如果第一个输入结果比第二个å°ï¼Œåˆ™è¿”回真。";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "如果第一个输入结果å°äºŽæˆ–等于第二个输入结果,则返回真。";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "如果两个输入结果ä¸ç›¸ç­‰ï¼Œåˆ™è¿”回真。";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "éž%1";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "如果输入结果为å‡ï¼Œåˆ™è¿”回真;如果输入结果为真,则返回å‡ã€‚";
+Blockly.Msg["LOGIC_NULL"] = "空";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";  // untranslated
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "返回空值。";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "并且";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "或";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "如果两个输入结果都为真,则返回真。";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "如果至少有一个输入结果为真,则返回真。";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "断言";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://zh.wikipedia.org/wiki/æ¡ä»¶è¿ç®—符";
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "如果为å‡";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "如果为真";
+Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "检查“断言â€é‡Œçš„æ¡ä»¶è¯­å¥ã€‚如果æ¡ä»¶ä¸ºçœŸï¼Œåˆ™è¿”回“如果为真â€çš„值,å¦åˆ™ï¼Œåˆ™è¿”回“如果为å‡â€çš„值。";
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://zh.wikipedia.org/wiki/算术";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "返回两个数值的和。";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "返回两个数值的商。";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "返回两个数值的差值。";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "返回两个数值的乘积。";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "返回以第一个数值为底数,以第二个数值为幂的结果。";
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://zh.wikipedia.org/wiki/加法";
+Blockly.Msg["MATH_CHANGE_TITLE"] = "å°† %1 æ”¹ä¸º %2";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "为å˜é‡â€œ%1â€å¢žåŠ ä¸€ä¸ªæ•°å€¼ã€‚";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://zh.wikipedia.org/wiki/数学常数";
+Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "返回一个常è§å¸¸é‡ï¼šÏ€ (3.141…)ã€e (2.718…)ã€Ï† (1.618…)ã€å¹³æ–¹æ ¹ (1.414…)ã€å¼€å¹³æ–¹æ ¹ (0.707…)或∞ (æ— é™å¤§)。";
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "å°† %1 é™åˆ¶åœ¨ æœ€ä½Ž %2 åˆ°æœ€é«˜ %3 ä¹‹é—´";
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "将一个数值é™åˆ¶åœ¨ä¸¤ä¸ªæŒ‡å®šçš„数值范围(å«è¾¹ç•Œï¼‰ä¹‹é—´ã€‚";
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";  // untranslated
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "å¯è¢«æ•´é™¤";
+Blockly.Msg["MATH_IS_EVEN"] = "是å¶æ•°";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "是负数";
+Blockly.Msg["MATH_IS_ODD"] = "是奇数";
+Blockly.Msg["MATH_IS_POSITIVE"] = "是正数";
+Blockly.Msg["MATH_IS_PRIME"] = "是质数";
+Blockly.Msg["MATH_IS_TOOLTIP"] = "检查一个数值是å¦æ˜¯å¶æ•°ã€å¥‡æ•°ã€è´¨æ•°ã€è‡ªç„¶æ•°ã€æ­£æ•°ã€è´Ÿæ•°æˆ–者是å¦èƒ½è¢«æŸæ•°æ•´é™¤ã€‚返回真或å‡ã€‚";
+Blockly.Msg["MATH_IS_WHOLE"] = "是整数";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://zh.wikipedia.org/wiki/模除";
+Blockly.Msg["MATH_MODULO_TITLE"] = "å– %1 Ã· %2 çš„余数";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "返回这两个数字相除åŽçš„余数。";
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";  // untranslated
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://zh.wikipedia.org/wiki/æ•°";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "一个数值。";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "列表中的平å‡æ•°";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "列表中的最大值";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "列表中ä½æ•°";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "列表中的最å°å€¼";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "列表中的众数";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "列表的éšæœºé¡¹";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "列表的标准差";
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "列表中数值的和";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "返回列表中的数值的平å‡å€¼ã€‚";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "返回列表中最大值。";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "返回列表中的中ä½æ•°ã€‚";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "返回列表中最å°å€¼ã€‚";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "返回列表中的出现次数最多的项的列表。";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "从列表中返回一个éšæœºçš„元素。";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "返回列表的标准差。";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "返回列表中的所有数值的和。";
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://zh.wikipedia.org/wiki/éšæœºæ•°ç”Ÿæˆå™¨";
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "éšæœºå°æ•°";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "返回一个介于0.0到1.0之间(å«è¾¹ç•Œï¼‰çš„éšæœºæ•°ã€‚";
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://zh.wikipedia.org/wiki/éšæœºæ•°ç”Ÿæˆå™¨";
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "从 %1 åˆ° %2 èŒƒå›´å†…çš„éšæœºæ•´æ•°";
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "返回一个é™åˆ¶åœ¨ä¸¤ä¸ªæŒ‡å®šæ•°å€¼çš„范围(å«è¾¹ç•Œï¼‰ä¹‹é—´çš„éšæœºæ•´æ•°ã€‚";
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://zh.wikipedia.org/wiki/数值修约";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "å››èˆäº”å…¥";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "å‘下èˆå…¥";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "å‘上èˆå…¥";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "æ•°å­—å‘上或å‘下èˆå…¥ã€‚";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://zh.wikipedia.org/wiki/平方根";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "ç»å¯¹å€¼";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "平方根";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "返回一个数值的ç»å¯¹å€¼ã€‚";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "返回一个数值的e次幂。";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "返回一个数值的自然对数。";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "返回一个数值的以10为底的对数。";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "返回一个数值的相å数。";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "返回一个数值的10次幂。";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "返回一个数的平方根。";
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";  // untranslated
+Blockly.Msg["MATH_TRIG_ACOS"] = "acos";  // untranslated
+Blockly.Msg["MATH_TRIG_ASIN"] = "asin";  // untranslated
+Blockly.Msg["MATH_TRIG_ATAN"] = "atan";  // untranslated
+Blockly.Msg["MATH_TRIG_COS"] = "cos";  // untranslated
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://zh.wikipedia.org/wiki/三角函数";
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";  // untranslated
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "返回一个数值的å余弦值。";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "返回一个数值的å正弦值。";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "返回一个数值的å正切值。";
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "返回指定角度的余弦值(éžå¼§åº¦ï¼‰ã€‚";
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "返回指定角度的正弦值(éžå¼§åº¦ï¼‰ã€‚";
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "返回指定角度的正切值(éžå¼§åº¦ï¼‰ã€‚";
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "创建颜色å˜é‡...";
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "创建数字å˜é‡...";
+Blockly.Msg["NEW_STRING_VARIABLE"] = "创建字符串å˜é‡...";
+Blockly.Msg["NEW_VARIABLE"] = "创建å˜é‡...";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "æ–°å˜é‡çš„å称:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "æ–°å˜é‡çš„类型:";
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "空白";
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "å…许声明";
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "与:";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://zh.wikipedia.org/wiki/å­ç¨‹åº";
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "è¿è¡Œç”¨æˆ·å®šä¹‰çš„函数“%1â€ã€‚";
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://zh.wikipedia.org/wiki/å­ç¨‹åº";
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "è¿è¡Œç”¨æˆ·å®šä¹‰çš„函数“%1â€ï¼Œå¹¶ä½¿ç”¨å®ƒçš„输出值。";
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "与:";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "创建“%1â€";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "æ述该功能...";
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "空白";
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://zh.wikipedia.org/wiki/å­ç¨‹åº";
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "åšç‚¹ä»€ä¹ˆ";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "至";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "创建一个ä¸å¸¦è¾“出值的函数。";
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://zh.wikipedia.org/wiki/å­ç¨‹åº";
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "返回";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "创建一个有输出值的函数。";
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "警告:此函数具有é‡å¤å‚数。";
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "çªå‡ºæ˜¾ç¤ºå‡½æ•°å®šä¹‰";
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "如果值为真,则返回第二个值。";
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "警告:这个å—åªèƒ½åœ¨å‡½æ•°å†…部使用。";
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "输入å称:";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "添加函数输入。";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "输入";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "添加ã€ç§»é™¤æˆ–é‡æ–°æŽ’此函数的输入。";
+Blockly.Msg["REDO"] = "é‡åš";
+Blockly.Msg["REMOVE_COMMENT"] = "删除注释";
+Blockly.Msg["RENAME_VARIABLE"] = "é‡å‘½åå˜é‡...";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "将所有“%1â€å˜é‡é‡å‘½å为:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "å‘%1附加文本%2";
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "将一些文本追加到å˜é‡â€œ%1â€é‡Œã€‚";
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "转为å°å†™";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "转为首字æ¯å¤§å†™";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "转为大写";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "用ä¸åŒçš„大å°å†™æ¨¡å¼å¤åˆ¶å¹¶è¿”回这段文字。";
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "寻找第一个字æ¯";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "获å–字符从倒数#";
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "获å–字符从#";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "寻找最åŽä¸€ä¸ªå­—æ¯";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "寻找éšæœºçš„å­—æ¯";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "空白";
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "在文本%1 é‡Œ %2";
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "返回ä½äºŽæŒ‡å®šä½ç½®çš„å­—æ¯ã€‚";
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "计算%1在%2里出现的次数";
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "计算在一段文本中,æŸä¸ªéƒ¨åˆ†æ–‡æœ¬é‡å¤å‡ºçŽ°äº†å¤šå°‘次。";
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "将一个项添加到文本中。";
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "加入";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "添加ã€ç§»é™¤æˆ–é‡æ–°æŽ’列å„节æ¥é‡æ–°é…置这个文本å—。";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "到最åŽä¸€ä¸ªå­—符#";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "至字符#";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "到最åŽä¸€ä¸ªå­—符";
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "从文本";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "å–å¾—å­ä¸²è‡ªç¬¬ä¸€ä¸ªå­—符";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "å–å¾—å­ä¸²è‡ªå€’æ•°#";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "å–å¾—å­ä¸²è‡ª#";
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "空白";
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "返回文本中指定的一部分。";
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "寻找第一次出现的文本";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "寻找最åŽä¸€æ¬¡å‡ºçŽ°çš„文本";
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "在文本 %1 é‡Œ %2  %3";
+Blockly.Msg["TEXT_INDEXOF_TOOLTIP"] = "返回第一个文本段在第二个文本段中的第一/最åŽä¸€ä¸ªåŒ¹é…项的起始ä½ç½®ã€‚如果未找到,则返回%1。";
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1是空的";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "如果给定的文本为空,则返回真。";
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "建立文本从";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "通过串起任æ„æ•°é‡çš„项以建立一段文本。";
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "%1的长度";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "返回给定文本的字æ¯æ•°ï¼ˆåŒ…括空格)。";
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "输出%1";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "输出指定的文字ã€æ•°å­—或其他值。";
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "è¦æ±‚用户输入数字。";
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "è¦æ±‚用户输入一些文本。";
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "è¦æ±‚输入数字,并显示æ示消æ¯";
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "è¦æ±‚输入文本,并显示æ示消æ¯";
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "在%3中,将%1替æ¢ä¸º%2";
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "在一段文本中,将出现过的æŸéƒ¨åˆ†æ–‡æœ¬éƒ½æ›¿æ¢æŽ‰ã€‚";
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "翻转文本%1";
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "将文本中å„个字符的顺åºå€’转。";
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://zh.wikipedia.org/wiki/字符串";
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "一个字ã€è¯è¯­æˆ–一行文本。";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "消除其两侧的空白";
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "消除其左侧的空白";
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "消除其å³ä¾§çš„空白";
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "从æŸä¸€ç«¯æˆ–åŒæ—¶ä»Žä¸¤ç«¯åˆ é™¤å¤šä½™çš„空白,并返回这段文字的一个副本。";
+Blockly.Msg["TODAY"] = "今天";
+Blockly.Msg["UNDO"] = "撤销";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "项目";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "创建“设定%1â€";
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "返回此å˜é‡çš„值。";
+Blockly.Msg["VARIABLES_SET"] = "赋值 %1 ä¸º %2";
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "创建“获得%1â€";
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "设置此å˜é‡ï¼Œä»¥ä½¿å®ƒå’Œè¾“入值相等。";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "åå­—å«â€œ%1â€çš„å˜é‡å·²ç»å­˜åœ¨äº†ã€‚";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "åå­—å«â€œ%1â€çš„å˜é‡å·²ç»æœ‰äº†å¦ä¸€ä¸ªç±»åž‹ï¼šâ€œ%2â€ã€‚";
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "说点什么...";
+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["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";
\ No newline at end of file
diff --git a/js/msg/js/zh-hant.js b/js/msg/js/zh-hant.js
new file mode 100644 (file)
index 0000000..b778d76
--- /dev/null
@@ -0,0 +1,432 @@
+// This file was automatically generated.  Do not modify.
+
+'use strict';
+
+goog.provide('Blockly.Msg.zh.hant');
+
+goog.require('Blockly.Msg');
+
+Blockly.Msg["ADD_COMMENT"] = "加入註解";
+Blockly.Msg["CANNOT_DELETE_VARIABLE_PROCEDURE"] = "無法刪除變數「%1ã€ï¼Œå› ç‚ºé€™æ˜¯åŠŸèƒ½ã€Œ%2ã€å®šç¾©çš„一部份內容";
+Blockly.Msg["CHANGE_VALUE_TITLE"] = "修改值:";
+Blockly.Msg["CLEAN_UP"] = "æ•´ç†ç©æœ¨";
+Blockly.Msg["COLLAPSE_ALL"] = "收åˆç©æœ¨";
+Blockly.Msg["COLLAPSE_BLOCK"] = "收åˆå€å¡Š";
+Blockly.Msg["COLOUR_BLEND_COLOUR1"] = "é¡è‰² 1";
+Blockly.Msg["COLOUR_BLEND_COLOUR2"] = "é¡è‰² 2";
+Blockly.Msg["COLOUR_BLEND_HELPURL"] = "http://meyerweb.com/eric/tools/color-blend/";  // untranslated
+Blockly.Msg["COLOUR_BLEND_RATIO"] = "比例";
+Blockly.Msg["COLOUR_BLEND_TITLE"] = "æ··åˆ";
+Blockly.Msg["COLOUR_BLEND_TOOLTIP"] = "用一個給定的比率(0.0-1.0)混åˆå…©ç¨®é¡è‰²ã€‚";
+Blockly.Msg["COLOUR_PICKER_HELPURL"] = "https://zh.wikipedia.org/wiki/é¡è‰²";
+Blockly.Msg["COLOUR_PICKER_TOOLTIP"] = "從調色æ¿ä¸­é¸æ“‡ä¸€ç¨®é¡è‰²ã€‚";
+Blockly.Msg["COLOUR_RANDOM_HELPURL"] = "http://randomcolour.com";  // untranslated
+Blockly.Msg["COLOUR_RANDOM_TITLE"] = "隨機é¡è‰²";
+Blockly.Msg["COLOUR_RANDOM_TOOLTIP"] = "隨機é¸æ“‡ä¸€ç¨®é¡è‰²ã€‚";
+Blockly.Msg["COLOUR_RGB_BLUE"] = "è—";
+Blockly.Msg["COLOUR_RGB_GREEN"] = "綠";
+Blockly.Msg["COLOUR_RGB_HELPURL"] = "http://www.december.com/html/spec/colorper.html";  // untranslated
+Blockly.Msg["COLOUR_RGB_RED"] = "ç´…";
+Blockly.Msg["COLOUR_RGB_TITLE"] = "é¡è‰²";
+Blockly.Msg["COLOUR_RGB_TOOLTIP"] = "é€éŽæŒ‡å®šç´…ã€ç¶ ã€ è—色的值來建立一種é¡è‰²ã€‚所有的值必須介於 0 å’Œ 100 ä¹‹é–“。";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks";  // untranslated
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK"] = "中斷循環";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE"] = "繼續下一個循環";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK"] = "中斷當å‰çš„循環。";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE"] = "è·³éŽé€™å€‹å¾ªç’°çš„其餘步驟,並繼續下一次的循環。";
+Blockly.Msg["CONTROLS_FLOW_STATEMENTS_WARNING"] = "警告:此å€å¡Šåƒ…å¯ç”¨æ–¼è¿´åœˆå…§ã€‚";
+Blockly.Msg["CONTROLS_FOREACH_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#for-each";  // untranslated
+Blockly.Msg["CONTROLS_FOREACH_TITLE"] = "å–出æ¯å€‹ %1 è‡ªæ¸…å–® %2";
+Blockly.Msg["CONTROLS_FOREACH_TOOLTIP"] = "éæ­·æ¯å€‹æ¸…單中的項目,將變數「%1ã€è¨­å®šåˆ°è©²é …目中,然後執行æŸäº›é™³è¿°å¼ã€‚";
+Blockly.Msg["CONTROLS_FOR_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#count-with";  // untranslated
+Blockly.Msg["CONTROLS_FOR_TITLE"] = "循環計數 %1 å¾ž %2 åˆ° %3 é–“隔數 %4";
+Blockly.Msg["CONTROLS_FOR_TOOLTIP"] = "從起始數到çµå°¾æ•¸ä¸­å–出變數「%1ã€çš„值,按指定的時間間隔,執行指定的å€å¡Šã€‚";
+Blockly.Msg["CONTROLS_IF_ELSEIF_TOOLTIP"] = "添加æ¢ä»¶åˆ°ã€Œå¦‚æžœã€ç©æœ¨ã€‚";
+Blockly.Msg["CONTROLS_IF_ELSE_TOOLTIP"] = "加入一個最終ã€æ‰€æœ‰æ¢ä»¶éƒ½åŸ·è¡Œçš„部份到「如果ã€å€å¡Šä¸­ã€‚";
+Blockly.Msg["CONTROLS_IF_HELPURL"] = "https://github.com/google/blockly/wiki/IfElse";  // untranslated
+Blockly.Msg["CONTROLS_IF_IF_TOOLTIP"] = "添加ã€åˆªé™¤æˆ–é‡æ–°æŽ’列å„部份以é‡æ–°é…置這個「如果ã€å€å¡Šã€‚";
+Blockly.Msg["CONTROLS_IF_MSG_ELSE"] = "å¦å‰‡";
+Blockly.Msg["CONTROLS_IF_MSG_ELSEIF"] = "å¦å‰‡å¦‚æžœ";
+Blockly.Msg["CONTROLS_IF_MSG_IF"] = "如果";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_1"] = "當值為 true æ™‚,執行一些陳述å¼ã€‚";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_2"] = "當值為 true æ™‚,執行第一個陳述å¼ã€‚å¦å‰‡ï¼ŒåŸ·è¡Œç¬¬äºŒå€‹é™³è¿°å¼ã€‚";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_3"] = "如果第一個值為 true,則執行第一個陳述å¼ã€‚å¦å‰‡ï¼Œç•¶ç¬¬äºŒå€‹å€¼ç‚º true æ™‚,則執行第二個陳述å¼ã€‚";
+Blockly.Msg["CONTROLS_IF_TOOLTIP_4"] = "如果第一個值為 true,則執行第一個陳述å¼ã€‚å¦å‰‡ç•¶ç¬¬äºŒå€‹å€¼ç‚º true æ™‚,則執行第二個陳述å¼ã€‚如果å‰å¹¾å€‹æ•˜è¿°éƒ½ä¸ç‚º ture,則執行最後一個陳述å¼ã€‚";
+Blockly.Msg["CONTROLS_REPEAT_HELPURL"] = "https://zh.wikipedia.org/wiki/For迴圈";
+Blockly.Msg["CONTROLS_REPEAT_INPUT_DO"] = "執行";
+Blockly.Msg["CONTROLS_REPEAT_TITLE"] = "é‡è¤‡%1次";
+Blockly.Msg["CONTROLS_REPEAT_TOOLTIP"] = "é‡è¤‡åŸ·è¡ŒæŒ‡å®šçš„陳述å¼å¤šæ¬¡ã€‚";
+Blockly.Msg["CONTROLS_WHILEUNTIL_HELPURL"] = "https://github.com/google/blockly/wiki/Loops#repeat";  // untranslated
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_UNTIL"] = "é‡è¤‡ç›´åˆ°";
+Blockly.Msg["CONTROLS_WHILEUNTIL_OPERATOR_WHILE"] = "é‡è¤‡ ç•¶";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL"] = "當值為 false æ™‚,執行一些陳述å¼ã€‚";
+Blockly.Msg["CONTROLS_WHILEUNTIL_TOOLTIP_WHILE"] = "當值為 true æ™‚,執行一些陳述å¼ã€‚";
+Blockly.Msg["DELETE_ALL_BLOCKS"] = "刪除全部 %1 å€‹å€å¡Šï¼Ÿ";
+Blockly.Msg["DELETE_BLOCK"] = "刪除å€å¡Š";
+Blockly.Msg["DELETE_VARIABLE"] = "刪除變數「%1ã€";
+Blockly.Msg["DELETE_VARIABLE_CONFIRMATION"] = "刪除%1使用的「%2ã€è®Šæ•¸ï¼Ÿ";
+Blockly.Msg["DELETE_X_BLOCKS"] = "刪除%1個ç©æœ¨";
+Blockly.Msg["DISABLE_BLOCK"] = "åœç”¨å€å¡Š";
+Blockly.Msg["DUPLICATE_BLOCK"] = "複製";
+Blockly.Msg["DUPLICATE_COMMENT"] = "é‡è¤‡è¨»è§£";
+Blockly.Msg["ENABLE_BLOCK"] = "啟用ç©æœ¨";
+Blockly.Msg["EXPAND_ALL"] = "展開ç©æœ¨";
+Blockly.Msg["EXPAND_BLOCK"] = "展開å€å¡Š";
+Blockly.Msg["EXTERNAL_INPUTS"] = "外部輸入";
+Blockly.Msg["HELP"] = "說明";
+Blockly.Msg["INLINE_INPUTS"] = "單行輸入";
+Blockly.Msg["IOS_CANCEL"] = "å–消";
+Blockly.Msg["IOS_ERROR"] = "錯誤";
+Blockly.Msg["IOS_OK"] = "確定";
+Blockly.Msg["IOS_PROCEDURES_ADD_INPUT"] = "+ æ·»åŠ è¼¸å…¥";
+Blockly.Msg["IOS_PROCEDURES_ALLOW_STATEMENTS"] = "å…許è²æ˜Ž";
+Blockly.Msg["IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR"] = "此功能有é‡è¤‡è¼¸å…¥å…§å®¹ã€‚";
+Blockly.Msg["IOS_PROCEDURES_INPUTS"] = "輸入";
+Blockly.Msg["IOS_VARIABLES_ADD_BUTTON"] = "添加";
+Blockly.Msg["IOS_VARIABLES_ADD_VARIABLE"] = "+ æ·»åŠ è®Šæ•¸";
+Blockly.Msg["IOS_VARIABLES_DELETE_BUTTON"] = "刪除";
+Blockly.Msg["IOS_VARIABLES_EMPTY_NAME_ERROR"] = "您ä¸èƒ½ä½¿ç”¨ä¸å¸¶å的變數å稱。";
+Blockly.Msg["IOS_VARIABLES_RENAME_BUTTON"] = "é‡æ–°å‘½å";
+Blockly.Msg["IOS_VARIABLES_VARIABLE_NAME"] = "變數å稱";
+Blockly.Msg["LISTS_CREATE_EMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-empty-list";  // untranslated
+Blockly.Msg["LISTS_CREATE_EMPTY_TITLE"] = "建立空的清單";
+Blockly.Msg["LISTS_CREATE_EMPTY_TOOLTIP"] = "返回一個長度(項目數é‡ï¼‰ç‚º 0 çš„清單,ä¸åŒ…å«ä»»ä½•è³‡æ–™è¨˜éŒ„";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TITLE_ADD"] = "清單";
+Blockly.Msg["LISTS_CREATE_WITH_CONTAINER_TOOLTIP"] = "添加ã€åˆªé™¤æˆ–é‡æ–°æŽ’列å„部份以é‡æ–°é…置這個清單å€å¡Šã€‚";
+Blockly.Msg["LISTS_CREATE_WITH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_CREATE_WITH_INPUT_WITH"] = "使用這些值建立清單";
+Blockly.Msg["LISTS_CREATE_WITH_ITEM_TOOLTIP"] = "添加一個項目到清單裡。";
+Blockly.Msg["LISTS_CREATE_WITH_TOOLTIP"] = "建立一個具備任æ„數é‡é …目的清單。";
+Blockly.Msg["LISTS_GET_INDEX_FIRST"] = "第一筆";
+Blockly.Msg["LISTS_GET_INDEX_FROM_END"] = "倒數第 # ç­†";
+Blockly.Msg["LISTS_GET_INDEX_FROM_START"] = "#";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_GET"] = "å–å¾—";
+Blockly.Msg["LISTS_GET_INDEX_GET_REMOVE"] = "å–得並移除";
+Blockly.Msg["LISTS_GET_INDEX_LAST"] = "最後一筆";
+Blockly.Msg["LISTS_GET_INDEX_RANDOM"] = "隨機";
+Blockly.Msg["LISTS_GET_INDEX_REMOVE"] = "移除";
+Blockly.Msg["LISTS_GET_INDEX_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FIRST"] = "返回清單中的第一個項目。";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_FROM"] = "返回在清單中指定ä½ç½®çš„項目。";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_LAST"] = "返回清單中的最後一個項目。";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_RANDOM"] = "返回清單中隨機一個項目。";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST"] = "移除並返回清單中的第一個項目。";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM"] = "移除並返回清單中的指定ä½ç½®çš„項目。";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST"] = "移除並返回清單中的最後一個項目。";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM"] = "移除並返回清單中的隨機項目。";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST"] = "移除清單中的第一個項目。";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM"] = "移除在清單中指定ä½ç½®çš„項目。";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST"] = "移除清單中的最後一個項目。";
+Blockly.Msg["LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM"] = "移除清單中隨機一個項目。";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_END"] = "到 # å€’數";
+Blockly.Msg["LISTS_GET_SUBLIST_END_FROM_START"] = "到 #";
+Blockly.Msg["LISTS_GET_SUBLIST_END_LAST"] = "到 æœ€å¾Œé¢";
+Blockly.Msg["LISTS_GET_SUBLIST_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-a-sublist";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_START_FIRST"] = "å–å¾—å­æ¸…å–® å¾ž æœ€å‰é¢";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_END"] = "å–å¾—å­æ¸…å–® å¾ž # å€’數";
+Blockly.Msg["LISTS_GET_SUBLIST_START_FROM_START"] = "å–å¾—å­æ¸…å–® å¾ž #";
+Blockly.Msg["LISTS_GET_SUBLIST_TAIL"] = "";  // untranslated
+Blockly.Msg["LISTS_GET_SUBLIST_TOOLTIP"] = "複製清單中指定的部分。";
+Blockly.Msg["LISTS_INDEX_FROM_END_TOOLTIP"] = "%1 æ˜¯æœ€å¾Œä¸€å€‹é …目。";
+Blockly.Msg["LISTS_INDEX_FROM_START_TOOLTIP"] = "%1 æ˜¯ç¬¬ä¸€å€‹é …目。";
+Blockly.Msg["LISTS_INDEX_OF_FIRST"] = "從 æœ€å‰é¢ ç´¢å¼•é …ç›®";
+Blockly.Msg["LISTS_INDEX_OF_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list";  // untranslated
+Blockly.Msg["LISTS_INDEX_OF_LAST"] = "從 æœ€å¾Œé¢ ç´¢å¼•é …ç›®";
+Blockly.Msg["LISTS_INDEX_OF_TOOLTIP"] = "在清單中檢索是å¦æœ‰åŒ…å«é …目,如果有,返回從頭/倒數算起的索引值。如果沒有則返回 %1。";
+Blockly.Msg["LISTS_INLIST"] = "自清單";
+Blockly.Msg["LISTS_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#is-empty";  // untranslated
+Blockly.Msg["LISTS_ISEMPTY_TITLE"] = "%1 å€¼ç‚ºç©º";
+Blockly.Msg["LISTS_ISEMPTY_TOOLTIP"] = "如果該清單為空,則返回 true。";
+Blockly.Msg["LISTS_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#length-of";  // untranslated
+Blockly.Msg["LISTS_LENGTH_TITLE"] = "長度 %1";
+Blockly.Msg["LISTS_LENGTH_TOOLTIP"] = "返回清單的長度(項目數)。";
+Blockly.Msg["LISTS_REPEAT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#create-list-with";  // untranslated
+Blockly.Msg["LISTS_REPEAT_TITLE"] = "建立清單使用項目 %1 é‡è¤‡ %2 æ¬¡";
+Blockly.Msg["LISTS_REPEAT_TOOLTIP"] = "建立一個清單,項目中包å«æŒ‡å®šé‡è¤‡æ¬¡æ•¸çš„值。";
+Blockly.Msg["LISTS_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#reversing-a-list";
+Blockly.Msg["LISTS_REVERSE_MESSAGE0"] = "å轉%1";
+Blockly.Msg["LISTS_REVERSE_TOOLTIP"] = "å轉清單的複製內容。";
+Blockly.Msg["LISTS_SET_INDEX_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#in-list--set";  // untranslated
+Blockly.Msg["LISTS_SET_INDEX_INPUT_TO"] = "為";
+Blockly.Msg["LISTS_SET_INDEX_INSERT"] = "添加";
+Blockly.Msg["LISTS_SET_INDEX_SET"] = "設定";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST"] = "添加一個項目到清單中的第一個ä½ç½®ã€‚";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_FROM"] = "添加一個項目到清單中的指定ä½ç½®ã€‚";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_LAST"] = "添加一個項目到清單中的最後一個ä½ç½®ã€‚";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM"] = "添加一個項目到清單中的隨機ä½ç½®ã€‚";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FIRST"] = "設定清單中的第一個項目。";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_FROM"] = "設定清單中指定ä½ç½®çš„項目。";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_LAST"] = "設定清單中的最後一個項目。";
+Blockly.Msg["LISTS_SET_INDEX_TOOLTIP_SET_RANDOM"] = "設定清單中隨機一個項目。";
+Blockly.Msg["LISTS_SORT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#sorting-a-list";
+Blockly.Msg["LISTS_SORT_ORDER_ASCENDING"] = "å‡åº";
+Blockly.Msg["LISTS_SORT_ORDER_DESCENDING"] = "é™åº";
+Blockly.Msg["LISTS_SORT_TITLE"] = "排列 %1 %2 %3";
+Blockly.Msg["LISTS_SORT_TOOLTIP"] = "排åºæ¸…單的複製內容。";
+Blockly.Msg["LISTS_SORT_TYPE_IGNORECASE"] = "ä¾å­—æ¯æŽ’åºï¼Œå¿½ç•¥å¤§å°å¯«";
+Blockly.Msg["LISTS_SORT_TYPE_NUMERIC"] = "ä¾æ•¸å­—";
+Blockly.Msg["LISTS_SORT_TYPE_TEXT"] = "ä¾å­—æ¯";
+Blockly.Msg["LISTS_SPLIT_HELPURL"] = "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists";  // untranslated
+Blockly.Msg["LISTS_SPLIT_LIST_FROM_TEXT"] = "從文本製作清單";
+Blockly.Msg["LISTS_SPLIT_TEXT_FROM_LIST"] = "從清單拆出文本";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_JOIN"] = "串起清單項目æˆä¸€å€‹æ–‡æœ¬ï¼Œä¸¦ç”¨åˆ†éš”符號分開。";
+Blockly.Msg["LISTS_SPLIT_TOOLTIP_SPLIT"] = "將文本變æˆæ¸…單項目,按分隔符號拆分。";
+Blockly.Msg["LISTS_SPLIT_WITH_DELIMITER"] = "用分隔符";
+Blockly.Msg["LOGIC_BOOLEAN_FALSE"] = "å‡";
+Blockly.Msg["LOGIC_BOOLEAN_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#values";  // untranslated
+Blockly.Msg["LOGIC_BOOLEAN_TOOLTIP"] = "返回真或å‡ã€‚";
+Blockly.Msg["LOGIC_BOOLEAN_TRUE"] = "真";
+Blockly.Msg["LOGIC_COMPARE_HELPURL"] = "https://zh.wikipedia.org/wiki/ä¸ç­‰";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_EQ"] = "如果這兩個輸入å€å¡Šçš„çµæžœç›¸ç­‰ï¼Œè¿”回 true。";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GT"] = "如果第一個輸入çµæžœå¤§æ–¼ç¬¬äºŒå€‹ï¼Œè¿”回 true。";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_GTE"] = "如果第一個輸入çµæžœå¤§æ–¼æˆ–等於第二個,返回 true。";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LT"] = "如果第一個輸入çµæžœæ¯”第二個å°ï¼Œè¿”回 true。";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_LTE"] = "如果第一個輸入çµæžœå°æ–¼æˆ–等於第二個,返回 true。";
+Blockly.Msg["LOGIC_COMPARE_TOOLTIP_NEQ"] = "如果這兩個輸入å€å¡Šçš„çµæžœä¸ç›¸ç­‰ï¼Œè¿”回 true。";
+Blockly.Msg["LOGIC_NEGATE_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#not";  // untranslated
+Blockly.Msg["LOGIC_NEGATE_TITLE"] = "%1 ä¸æˆç«‹";
+Blockly.Msg["LOGIC_NEGATE_TOOLTIP"] = "如果輸入çµæžœæ˜¯ false,則返回 true。如果輸入çµæžœæ˜¯ true,則返回 false。";
+Blockly.Msg["LOGIC_NULL"] = "空";
+Blockly.Msg["LOGIC_NULL_HELPURL"] = "https://en.wikipedia.org/wiki/Nullable_type";  // untranslated
+Blockly.Msg["LOGIC_NULL_TOOLTIP"] = "返回空值。";
+Blockly.Msg["LOGIC_OPERATION_AND"] = "且";
+Blockly.Msg["LOGIC_OPERATION_HELPURL"] = "https://github.com/google/blockly/wiki/Logic#logical-operations";  // untranslated
+Blockly.Msg["LOGIC_OPERATION_OR"] = "或";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_AND"] = "如果兩個輸入çµæžœéƒ½ç‚º true,則返回 true。";
+Blockly.Msg["LOGIC_OPERATION_TOOLTIP_OR"] = "如果至少一個輸入çµæžœç‚º true,返回 true。";
+Blockly.Msg["LOGIC_TERNARY_CONDITION"] = "測試";
+Blockly.Msg["LOGIC_TERNARY_HELPURL"] = "https://zh.wikipedia.org/wiki/æ¢ä»¶é‹ç®—符";
+Blockly.Msg["LOGIC_TERNARY_IF_FALSE"] = "如果為å‡";
+Blockly.Msg["LOGIC_TERNARY_IF_TRUE"] = "如果為真";
+Blockly.Msg["LOGIC_TERNARY_TOOLTIP"] = "檢查「測試ã€ä¸­çš„æ¢ä»¶ã€‚如果æ¢ä»¶ç‚ºçœŸï¼Œå°‡è¿”回「如果為真ã€çš„值;å¦å‰‡ï¼Œè¿”回「如果為å‡ã€çš„值。";
+Blockly.Msg["MATH_ADDITION_SYMBOL"] = "+";  // untranslated
+Blockly.Msg["MATH_ARITHMETIC_HELPURL"] = "https://zh.wikipedia.org/wiki/ç®—è¡“";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_ADD"] = "返回兩個數字的總和。";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_DIVIDE"] = "返回兩個數字的商。";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MINUS"] = "返回兩個數字的差。";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_MULTIPLY"] = "返回兩個數字的乘ç©ã€‚";
+Blockly.Msg["MATH_ARITHMETIC_TOOLTIP_POWER"] = "返回第二個數字的指數的第一個數字。";
+Blockly.Msg["MATH_CHANGE_HELPURL"] = "https://zh.wikipedia.org/wiki/加法";
+Blockly.Msg["MATH_CHANGE_TITLE"] = "修改 %1 è‡ª %2";
+Blockly.Msg["MATH_CHANGE_TOOLTIP"] = "將數字加到變數「%1ã€ã€‚";
+Blockly.Msg["MATH_CONSTANT_HELPURL"] = "https://zh.wikipedia.org/wiki/數學常數";
+Blockly.Msg["MATH_CONSTANT_TOOLTIP"] = "返回一個的常見常é‡ï¼š Ï€ (3.141......),e (2.718...)〠φ (1.618...)〠開方(2) (1.414......)〠開方(½) (0.707......) æˆ– âˆž ï¼ˆç„¡çª®å¤§ï¼‰ã€‚";
+Blockly.Msg["MATH_CONSTRAIN_HELPURL"] = "https://en.wikipedia.org/wiki/Clamping_(graphics)";  // untranslated
+Blockly.Msg["MATH_CONSTRAIN_TITLE"] = "é™åˆ¶æ•¸å­— %1 ä»‹æ–¼ï¼ˆä½Žï¼‰%2 åˆ°ï¼ˆé«˜ï¼‰%3";
+Blockly.Msg["MATH_CONSTRAIN_TOOLTIP"] = "é™åˆ¶æ•¸å­—介於兩個指定的數字之間(包å«ï¼‰ã€‚";
+Blockly.Msg["MATH_DIVISION_SYMBOL"] = "÷";  // untranslated
+Blockly.Msg["MATH_IS_DIVISIBLE_BY"] = "å¯è¢«æ•´é™¤";
+Blockly.Msg["MATH_IS_EVEN"] = "是å¶æ•¸";
+Blockly.Msg["MATH_IS_NEGATIVE"] = "是負值";
+Blockly.Msg["MATH_IS_ODD"] = "是奇數";
+Blockly.Msg["MATH_IS_POSITIVE"] = "是正值";
+Blockly.Msg["MATH_IS_PRIME"] = "是質數";
+Blockly.Msg["MATH_IS_TOOLTIP"] = "如果數字是å¶æ•¸ï¼Œå¥‡æ•¸ï¼Œéžè² æ•´æ•¸ï¼Œæ­£æ•¸ã€ è² æ•¸ï¼Œæˆ–如果它是å¯è¢«æŸæ•¸å­—整除,則返回 true æˆ– false。";
+Blockly.Msg["MATH_IS_WHOLE"] = "是éžè² æ•´æ•¸";
+Blockly.Msg["MATH_MODULO_HELPURL"] = "https://zh.wikipedia.org/wiki/模除";
+Blockly.Msg["MATH_MODULO_TITLE"] = "%1 é™¤ä»¥ %2 çš„餘數";
+Blockly.Msg["MATH_MODULO_TOOLTIP"] = "回傳兩個數字相除的餘數。";
+Blockly.Msg["MATH_MULTIPLICATION_SYMBOL"] = "×";  // untranslated
+Blockly.Msg["MATH_NUMBER_HELPURL"] = "https://zh.wikipedia.org/wiki/數";
+Blockly.Msg["MATH_NUMBER_TOOLTIP"] = "一個數字。";
+Blockly.Msg["MATH_ONLIST_HELPURL"] = "";  // untranslated
+Blockly.Msg["MATH_ONLIST_OPERATOR_AVERAGE"] = "å¹³å‡æ•¸ è‡ªæ¸…å–®";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MAX"] = "最大值 è‡ªæ¸…å–®";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MEDIAN"] = "中ä½æ•¸ è‡ªæ¸…å–®";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MIN"] = "最å°å€¼ è‡ªæ¸…å–®";
+Blockly.Msg["MATH_ONLIST_OPERATOR_MODE"] = "比較眾數 è‡ªæ¸…å–®";
+Blockly.Msg["MATH_ONLIST_OPERATOR_RANDOM"] = "隨機抽喠自清單";
+Blockly.Msg["MATH_ONLIST_OPERATOR_STD_DEV"] = "標準差 è‡ªæ¸…å–®";
+Blockly.Msg["MATH_ONLIST_OPERATOR_SUM"] = "數字總和 è‡ªæ¸…å–®";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_AVERAGE"] = "返回清單中數值的平å‡å€¼ï¼ˆç®—è¡“å¹³å‡å€¼ï¼‰ã€‚";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MAX"] = "返回清單項目中最大的數字。";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MEDIAN"] = "返回清單中數值的中ä½æ•¸ã€‚";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MIN"] = "返回清單項目中最å°çš„數字。";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_MODE"] = "返回一個清單中的最常見的項目。";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_RANDOM"] = "從清單中返回一個隨機的項目。";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_STD_DEV"] = "返回清單中數字的標準差。";
+Blockly.Msg["MATH_ONLIST_TOOLTIP_SUM"] = "返回清單中的所有數字的總和。";
+Blockly.Msg["MATH_POWER_SYMBOL"] = "^";  // untranslated
+Blockly.Msg["MATH_RANDOM_FLOAT_HELPURL"] = "https://zh.wikipedia.org/wiki/隨機數生æˆå™¨";
+Blockly.Msg["MATH_RANDOM_FLOAT_TITLE_RANDOM"] = "隨機å–分數";
+Blockly.Msg["MATH_RANDOM_FLOAT_TOOLTIP"] = "在 0.0(包å«ï¼‰å’Œ 1.0(ä¸åŒ…å«ï¼‰ä¹‹é–“隨機å–一個數。";
+Blockly.Msg["MATH_RANDOM_INT_HELPURL"] = "https://zh.wikipedia.org/wiki/隨機數生æˆå™¨";
+Blockly.Msg["MATH_RANDOM_INT_TITLE"] = "隨機å–數 %1 åˆ° %2";
+Blockly.Msg["MATH_RANDOM_INT_TOOLTIP"] = "在指定二個數之間隨機å–一個數(包å«ï¼‰ã€‚";
+Blockly.Msg["MATH_ROUND_HELPURL"] = "https://zh.wikipedia.org/wiki/數值簡化";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUND"] = "å››æ¨äº”å…¥";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDDOWN"] = "ç„¡æ¢ä»¶æ¨åŽ»";
+Blockly.Msg["MATH_ROUND_OPERATOR_ROUNDUP"] = "ç„¡æ¢ä»¶é€²ä½";
+Blockly.Msg["MATH_ROUND_TOOLTIP"] = "將數字無æ¢ä»¶é€²ä½æˆ–ç„¡æ¢ä»¶æ¨åŽ»ã€‚";
+Blockly.Msg["MATH_SINGLE_HELPURL"] = "https://zh.wikipedia.org/wiki/平方根";
+Blockly.Msg["MATH_SINGLE_OP_ABSOLUTE"] = "絕å°å€¼";
+Blockly.Msg["MATH_SINGLE_OP_ROOT"] = "開根號";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ABS"] = "返回指定數字的絕å°å€¼ã€‚";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_EXP"] = "返回指定數字指數的 e";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LN"] = "返回指定數字的自然å°æ•¸ã€‚";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_LOG10"] = "返回指定數字的å°æ•¸ã€‚";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_NEG"] = "返回指定數字的 negation。";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_POW10"] = "返回指定數字指數的10的冪次。";
+Blockly.Msg["MATH_SINGLE_TOOLTIP_ROOT"] = "返回指定數字的平方根。";
+Blockly.Msg["MATH_SUBTRACTION_SYMBOL"] = "-";  // untranslated
+Blockly.Msg["MATH_TRIG_ACOS"] = "acos";  // untranslated
+Blockly.Msg["MATH_TRIG_ASIN"] = "asin";  // untranslated
+Blockly.Msg["MATH_TRIG_ATAN"] = "atan";  // untranslated
+Blockly.Msg["MATH_TRIG_COS"] = "cos";  // untranslated
+Blockly.Msg["MATH_TRIG_HELPURL"] = "https://zh.wikipedia.org/wiki/三角函數";
+Blockly.Msg["MATH_TRIG_SIN"] = "sin";  // untranslated
+Blockly.Msg["MATH_TRIG_TAN"] = "tan";  // untranslated
+Blockly.Msg["MATH_TRIG_TOOLTIP_ACOS"] = "返回指定角度的å餘弦值(éžå¼§åº¦ï¼‰ã€‚";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ASIN"] = "返回指定角度的å正弦值(éžå¼§åº¦ï¼‰ã€‚";
+Blockly.Msg["MATH_TRIG_TOOLTIP_ATAN"] = "返回指定角度的å正切值。";
+Blockly.Msg["MATH_TRIG_TOOLTIP_COS"] = "返回指定角度的餘弦值(éžå¼§åº¦ï¼‰ã€‚";
+Blockly.Msg["MATH_TRIG_TOOLTIP_SIN"] = "返回指定角度的正弦值(éžå¼§åº¦ï¼‰ã€‚";
+Blockly.Msg["MATH_TRIG_TOOLTIP_TAN"] = "返回指定角度的正切值(éžå¼§åº¦ï¼‰ã€‚";
+Blockly.Msg["NEW_COLOUR_VARIABLE"] = "建立é¡è‰²è®Šæ•¸...";
+Blockly.Msg["NEW_NUMBER_VARIABLE"] = "建立數字變數...";
+Blockly.Msg["NEW_STRING_VARIABLE"] = "建立字串變數...";
+Blockly.Msg["NEW_VARIABLE"] = "建立變數…";
+Blockly.Msg["NEW_VARIABLE_TITLE"] = "新變數å稱:";
+Blockly.Msg["NEW_VARIABLE_TYPE_TITLE"] = "新變數類型:";
+Blockly.Msg["ORDINAL_NUMBER_SUFFIX"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_ALLOW_STATEMENTS"] = "å…許陳述å¼";
+Blockly.Msg["PROCEDURES_BEFORE_PARAMS"] = "與:";
+Blockly.Msg["PROCEDURES_CALLNORETURN_HELPURL"] = "https://zh.wikipedia.org/wiki/å­ç¨‹å¼";
+Blockly.Msg["PROCEDURES_CALLNORETURN_TOOLTIP"] = "執行使用者定義的函å¼ã€Œ%1ã€ã€‚";
+Blockly.Msg["PROCEDURES_CALLRETURN_HELPURL"] = "https://zh.wikipedia.org/wiki/%E5%AD%90%E7%A8%8B%E5%BA%8F";
+Blockly.Msg["PROCEDURES_CALLRETURN_TOOLTIP"] = "執行使用者定義的函å¼ã€Œ%1ã€ï¼Œä¸¦ä½¿ç”¨å®ƒçš„回傳值。";
+Blockly.Msg["PROCEDURES_CALL_BEFORE_PARAMS"] = "與:";
+Blockly.Msg["PROCEDURES_CREATE_DO"] = "建立「%1ã€";
+Blockly.Msg["PROCEDURES_DEFNORETURN_COMMENT"] = "æ述此函å¼...";
+Blockly.Msg["PROCEDURES_DEFNORETURN_DO"] = "";  // untranslated
+Blockly.Msg["PROCEDURES_DEFNORETURN_HELPURL"] = "https://zh.wikipedia.org/wiki/å­ç¨‹å¼";
+Blockly.Msg["PROCEDURES_DEFNORETURN_PROCEDURE"] = "åšäº›ä»€éº¼";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TITLE"] = "到";
+Blockly.Msg["PROCEDURES_DEFNORETURN_TOOLTIP"] = "創建一個無回傳值的函å¼ã€‚";
+Blockly.Msg["PROCEDURES_DEFRETURN_HELPURL"] = "https://zh.wikipedia.org/wiki/å­ç¨‹å¼";
+Blockly.Msg["PROCEDURES_DEFRETURN_RETURN"] = "返回";
+Blockly.Msg["PROCEDURES_DEFRETURN_TOOLTIP"] = "創建一個有回傳值的的函å¼ã€‚";
+Blockly.Msg["PROCEDURES_DEF_DUPLICATE_WARNING"] = "警告: æ­¤å‡½å¼ä¸­æœ‰é‡è¤‡çš„åƒæ•¸ã€‚";
+Blockly.Msg["PROCEDURES_HIGHLIGHT_DEF"] = "å白顯示函å¼å®šç¾©";
+Blockly.Msg["PROCEDURES_IFRETURN_HELPURL"] = "http://c2.com/cgi/wiki?GuardClause";  // untranslated
+Blockly.Msg["PROCEDURES_IFRETURN_TOOLTIP"] = "如果值為 true,則返回第二個值。";
+Blockly.Msg["PROCEDURES_IFRETURN_WARNING"] = "警告:這個å€å¡Šåªå¯ä»¥åœ¨å®šç¾©å‡½å¼æ™‚使用。";
+Blockly.Msg["PROCEDURES_MUTATORARG_TITLE"] = "輸入å稱:";
+Blockly.Msg["PROCEDURES_MUTATORARG_TOOLTIP"] = "添加一個輸入å€å¡Šåˆ°å‡½å¼ã€‚";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TITLE"] = "輸入";
+Blockly.Msg["PROCEDURES_MUTATORCONTAINER_TOOLTIP"] = "添加ã€åˆªé™¤æˆ–é‡æ–°æŽ’列此函å¼çš„輸入。";
+Blockly.Msg["REDO"] = "é‡åš";
+Blockly.Msg["REMOVE_COMMENT"] = "移除註解";
+Blockly.Msg["RENAME_VARIABLE"] = "é‡æ–°å‘½å變數...";
+Blockly.Msg["RENAME_VARIABLE_TITLE"] = "將所有「%1ã€è®Šæ•¸é‡æ–°å‘½å為:";
+Blockly.Msg["TEXT_APPEND_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_APPEND_TITLE"] = "至 %1 å¥—用文字 %2";
+Blockly.Msg["TEXT_APPEND_TOOLTIP"] = "添加一些文字到變數「%1ã€ä¹‹å¾Œã€‚";
+Blockly.Msg["TEXT_CHANGECASE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#adjusting-text-case";  // untranslated
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_LOWERCASE"] = "轉戠英文å°å¯«";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_TITLECASE"] = "轉戠英文首字大寫";
+Blockly.Msg["TEXT_CHANGECASE_OPERATOR_UPPERCASE"] = "轉戠英文大寫";
+Blockly.Msg["TEXT_CHANGECASE_TOOLTIP"] = "使用ä¸åŒçš„大å°å¯«è¤‡è£½é€™æ®µæ–‡å­—。";
+Blockly.Msg["TEXT_CHARAT_FIRST"] = "å–å¾— ç¬¬ä¸€å€‹å­—å…ƒ";
+Blockly.Msg["TEXT_CHARAT_FROM_END"] = "å–å¾— å€’數第 # å€‹å­—å…ƒ";
+Blockly.Msg["TEXT_CHARAT_FROM_START"] = "å–å¾— å­—å…ƒ #";
+Blockly.Msg["TEXT_CHARAT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-text";  // untranslated
+Blockly.Msg["TEXT_CHARAT_LAST"] = "å–å¾— æœ€å¾Œä¸€å€‹å­—å…ƒ";
+Blockly.Msg["TEXT_CHARAT_RANDOM"] = "å–å¾— ä»»æ„å­—å…ƒ";
+Blockly.Msg["TEXT_CHARAT_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_CHARAT_TITLE"] = "在文字 %1 %2";
+Blockly.Msg["TEXT_CHARAT_TOOLTIP"] = "返回ä½æ–¼æŒ‡å®šä½ç½®çš„字元。";
+Blockly.Msg["TEXT_COUNT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#counting-substrings";
+Blockly.Msg["TEXT_COUNT_MESSAGE0"] = "在%2計算%1";
+Blockly.Msg["TEXT_COUNT_TOOLTIP"] = "計算æŸäº›æ–‡å­—在內容裡的出ç¾æ¬¡æ•¸ã€‚";
+Blockly.Msg["TEXT_CREATE_JOIN_ITEM_TOOLTIP"] = "添加一個項目到字串中。";
+Blockly.Msg["TEXT_CREATE_JOIN_TITLE_JOIN"] = "加入";
+Blockly.Msg["TEXT_CREATE_JOIN_TOOLTIP"] = "添加ã€åˆªé™¤æˆ–é‡æ–°æŽ’列å„部份以é‡æ–°é…置這個文字å€å¡Šã€‚";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_END"] = "到 å€’數第 # å€‹å­—å…ƒ";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_FROM_START"] = "到 å­—å…ƒ #";
+Blockly.Msg["TEXT_GET_SUBSTRING_END_LAST"] = "到 æœ€å¾Œä¸€å€‹å­—å…ƒ";
+Blockly.Msg["TEXT_GET_SUBSTRING_HELPURL"] = "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_INPUT_IN_TEXT"] = "在字串";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FIRST"] = "å–å¾— ç¬¬ä¸€å€‹å­—å…ƒ";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_END"] = "å–å¾— å€’數第 # å€‹å­—å…ƒ";
+Blockly.Msg["TEXT_GET_SUBSTRING_START_FROM_START"] = "å–å¾— å­—å…ƒ #";
+Blockly.Msg["TEXT_GET_SUBSTRING_TAIL"] = "";  // untranslated
+Blockly.Msg["TEXT_GET_SUBSTRING_TOOLTIP"] = "返回指定的部分文字。";
+Blockly.Msg["TEXT_INDEXOF_HELPURL"] = "https://github.com/google/blockly/wiki/Text#finding-text";  // untranslated
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_FIRST"] = "從 æœ€å‰é¢ ç´¢å¼•å­—串";
+Blockly.Msg["TEXT_INDEXOF_OPERATOR_LAST"] = "從 æœ€å¾Œé¢ ç´¢å¼•å­—串";
+Blockly.Msg["TEXT_INDEXOF_TITLE"] = "在文字 %1 %2 %3";
+Blockly.Msg["TEXT_INDEXOF_TOOLTIP"] = "在字串1中檢索是å¦æœ‰åŒ…å«å­—串2,如果有,返回從頭/倒數算起的索引值。如果沒有則返回 %1。";
+Blockly.Msg["TEXT_ISEMPTY_HELPURL"] = "https://github.com/google/blockly/wiki/Text#checking-for-empty-text";  // untranslated
+Blockly.Msg["TEXT_ISEMPTY_TITLE"] = "%1 ç‚ºç©º";
+Blockly.Msg["TEXT_ISEMPTY_TOOLTIP"] = "如果æ供的字串為空,則返回 true。";
+Blockly.Msg["TEXT_JOIN_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-creation";  // untranslated
+Blockly.Msg["TEXT_JOIN_TITLE_CREATEWITH"] = "字串組åˆ";
+Blockly.Msg["TEXT_JOIN_TOOLTIP"] = "通éŽé€£æŽ¥ä»»æ„數é‡çš„項目來建立一串文字。";
+Blockly.Msg["TEXT_LENGTH_HELPURL"] = "https://github.com/google/blockly/wiki/Text#text-modification";  // untranslated
+Blockly.Msg["TEXT_LENGTH_TITLE"] = "長度 %1";
+Blockly.Msg["TEXT_LENGTH_TOOLTIP"] = "返回這串文字的字元數(包å«ç©ºæ ¼ï¼‰ã€‚";
+Blockly.Msg["TEXT_PRINT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#printing-text";  // untranslated
+Blockly.Msg["TEXT_PRINT_TITLE"] = "輸出 %1";
+Blockly.Msg["TEXT_PRINT_TOOLTIP"] = "輸出指定的文字〠數字或其他值。";
+Blockly.Msg["TEXT_PROMPT_HELPURL"] = "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user";  // untranslated
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_NUMBER"] = "輸入數字";
+Blockly.Msg["TEXT_PROMPT_TOOLTIP_TEXT"] = "輸入文字";
+Blockly.Msg["TEXT_PROMPT_TYPE_NUMBER"] = "輸入 æ•¸å­— ä¸¦é¡¯ç¤ºæ示訊æ¯";
+Blockly.Msg["TEXT_PROMPT_TYPE_TEXT"] = "輸入 æ–‡å­— ä¸¦é¡¯ç¤ºæ示訊æ¯";
+Blockly.Msg["TEXT_REPLACE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#replacing-substrings";
+Blockly.Msg["TEXT_REPLACE_MESSAGE0"] = "在%3以%2å–代%1";
+Blockly.Msg["TEXT_REPLACE_TOOLTIP"] = "å–代在內容裡的全部æŸäº›æ–‡å­—。";
+Blockly.Msg["TEXT_REVERSE_HELPURL"] = "https://github.com/google/blockly/wiki/Text#reversing-text";
+Blockly.Msg["TEXT_REVERSE_MESSAGE0"] = "å轉%1";
+Blockly.Msg["TEXT_REVERSE_TOOLTIP"] = "å轉排åºåœ¨æ–‡å­—裡的字元。";
+Blockly.Msg["TEXT_TEXT_HELPURL"] = "https://zh.wikipedia.org/wiki/字串";
+Blockly.Msg["TEXT_TEXT_TOOLTIP"] = "一個字元ã€ä¸€å€‹å–®è©žï¼Œæˆ–一串文字。";
+Blockly.Msg["TEXT_TRIM_HELPURL"] = "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces";  // untranslated
+Blockly.Msg["TEXT_TRIM_OPERATOR_BOTH"] = "消除兩å´ç©ºæ ¼";
+Blockly.Msg["TEXT_TRIM_OPERATOR_LEFT"] = "消除左å´ç©ºæ ¼";
+Blockly.Msg["TEXT_TRIM_OPERATOR_RIGHT"] = "消除å³å´ç©ºæ ¼";
+Blockly.Msg["TEXT_TRIM_TOOLTIP"] = "複製這段文字,åŒæ™‚刪除兩端多餘的空格。";
+Blockly.Msg["TODAY"] = "今天";
+Blockly.Msg["UNDO"] = "還原";
+Blockly.Msg["VARIABLES_DEFAULT_NAME"] = "é …ç›®";
+Blockly.Msg["VARIABLES_GET_CREATE_SET"] = "建立「賦值 %1ã€";
+Blockly.Msg["VARIABLES_GET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#get";  // untranslated
+Blockly.Msg["VARIABLES_GET_TOOLTIP"] = "返回此變數的值。";
+Blockly.Msg["VARIABLES_SET"] = "賦值 %1 æˆ %2";
+Blockly.Msg["VARIABLES_SET_CREATE_GET"] = "建立「å–å¾— %1ã€";
+Blockly.Msg["VARIABLES_SET_HELPURL"] = "https://github.com/google/blockly/wiki/Variables#set";  // untranslated
+Blockly.Msg["VARIABLES_SET_TOOLTIP"] = "設定此變數,好和輸入çµæžœç›¸ç­‰ã€‚";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS"] = "已存在變數「%1ã€ã€‚";
+Blockly.Msg["VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE"] = "已存在å為「%1ã€ä¸”用於其它類型「%2ã€çš„變數。";
+Blockly.Msg["WORKSPACE_COMMENT_DEFAULT_TEXT"] = "來說些事情...";
+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["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";
\ No newline at end of file
diff --git a/js/msg/json/ab.json b/js/msg/json/ab.json
new file mode 100644 (file)
index 0000000..98771d4
--- /dev/null
@@ -0,0 +1,231 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Ðбухба Ðндрей",
+                       "Ðндрей"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "аелемент",
+       "TODAY": "Иахьа",
+       "DUPLICATE_BLOCK": "Ðкопиа Ð°Ñ…ыхтәуп",
+       "ADD_COMMENT": "Иацҵатәуп Ð°Ñ…цәажәара",
+       "REMOVE_COMMENT": "Ианыхтәуп Ð°Ñ…цәажәара",
+       "DELETE_BLOCK": "Ианыхтәуп Ð°Ð±Ð»Ð¾Ðº",
+       "DELETE_X_BLOCKS": "Ианыхтәуп %1 Ð±Ð»Ð¾ÐºÐº",
+       "DELETE_ALL_BLOCKS": "Ианыхтәуп Ð°Ð±Ð»Ð¾ÐºÒ›Ó™Ð° (%1) Ð·ÐµÐ³ÑŒÑ‹?",
+       "CLEAN_UP": "Иқәгатәуп Ð°Ð±Ð»Ð¾ÐºÒ›Ó™Ð°",
+       "COLLAPSE_BLOCK": "Иеикәрҳәтәуп Ðблокқәа",
+       "COLLAPSE_ALL": "Иеикәрҳәтәуп Ðблокқәа",
+       "EXPAND_BLOCK": "Иаарҧштәуп Ðблокқәа",
+       "EXPAND_ALL": "Иаарҧштәуп Ðблокқәа",
+       "DISABLE_BLOCK": "Иаҿыхтәуп Ðблок",
+       "ENABLE_BLOCK": "Иаҿыхтәуп Ðблокқәа",
+       "HELP": "Ðцхыраара",
+       "UNDO": "Иаҟәыхтәуп",
+       "REDO": "Ðиҭаҟаҵара",
+       "CHANGE_VALUE_TITLE": "ИшәыҧÑах Ð°ÒµÐ°ÐºÑ‹",
+       "RENAME_VARIABLE": "Ðҽеиҭак Ð°Ñ…ьӡ Ò§Ñахтәуп",
+       "RENAME_VARIABLE_TITLE": "Ðҽеиҭакқәа'%1' Ð·ÐµÐ³ÑŒ Ñ€Ñ‹Ñ…ьӡ Ò§Ñахтәуп Ð°ÒŸÐ½Ñ‹:",
+       "NEW_VARIABLE": "Иаҧҵатәуп Ð°Ò½ÐµÐ¸Ò­Ð°Ðº",
+       "NEW_VARIABLE_TITLE": "Ðҽеиҭак Ð°Ñ…ьӡ Ò¿Ñ‹Ñ†:",
+       "VARIABLE_ALREADY_EXISTS": "Ðҽеиҭак Ð°Ñ…ьӡ '%1' Ð·Ð¼Ð¾Ñƒ Ñ‹ÒŸÐ¾ÑƒÐ¿.",
+       "DELETE_VARIABLE": "Ианыхтәуп Ð°Ò½ÐµÐ¸Ò­Ð°Ðº '%1'",
+       "COLOUR_PICKER_HELPURL": "https://ru.wikipedia.org/wiki/Ðҧштәы",
+       "COLOUR_PICKER_TOOLTIP": "Иалышәх Ð°Ò§ÑˆÑ‚әы",
+       "COLOUR_RANDOM_TITLE": "иарбанзаалакь Ð°Ò§ÑˆÑ‚әы",
+       "COLOUR_RANDOM_TOOLTIP": "Иалнахуеит Ð°Ò§ÑˆÑ‚әы Ð¼Ð°ÑˆÓ™Ñ‹Ñ€ÑˆÐ°Ò›Ó™",
+       "COLOUR_RGB_TITLE": "аҧштәы Ð°ÒŸÑ‹Ð½Ñ‚әи",
+       "COLOUR_RGB_RED": "аҟаҧшь",
+       "COLOUR_RGB_GREEN": "аиаҵәа",
+       "COLOUR_RGB_BLUE": "жәҩангәҧштәы",
+       "COLOUR_BLEND_TITLE": "еилаҵатәуп",
+       "COLOUR_BLEND_COLOUR1": "аҧштәы 1",
+       "COLOUR_BLEND_COLOUR2": "аҧштәы 2",
+       "COLOUR_BLEND_RATIO": "аҧштәы 1 Ð°Ñ…әҭа",
+       "CONTROLS_REPEAT_HELPURL": "https://ru.wikipedia.org/wiki/Ðцикл_(апрограммаркра)",
+       "CONTROLS_REPEAT_TITLE": "инагӡалатәуп %1 - Ð½Ñ‚Ó™",
+       "CONTROLS_REPEAT_INPUT_DO": "инагӡатәуп",
+       "CONTROLS_REPEAT_TOOLTIP": "Инанагӡоит Ð°ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ò›Ó™Ð° ÐºÑ‹Ñ€Ñ‹Ð½Ñ‚Ó™",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "инагӡалатәуп Ð°ÐºÓ™Ð·Ð°Ñ€",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "инагӡалатәуп Ð°ÐºÓ™Ñ‹Ð¼Ð·Ð°Ñ€",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "Ðҭагылазаашьа Ð¸Ð°ÑˆÐ°Ð½Ð°Òµ, Ð¸Ð½Ð°Ð½Ð°Ð³Ó¡Ð°Ð»Ð¾Ð¸Ñ‚ Ð°ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ò›Ó™Ð°.",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "Ðҭагылазаашьа Ð¼Ñ†Ð½Ð°ÒµÑ‹, Ð¸Ð½Ð°Ð½Ð°Ð³Ó¡Ð°Ð»Ð¾Ð¸Ñ‚ Ð°ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ò›Ó™Ð°.",
+       "CONTROLS_FOR_TITLE": "ацикл %1 Ð°Ð»Ð° %2 Ð¸Ð½Ð°Ñ€ÐºÐ½Ñ‹ %3 Ñ€ÒŸÑ‹Ð½Ó¡Ð° Ð°ÑˆÑŒÐ°Ò¿Ð° %4",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "ацикл Ð¸Ò­Ñ‹ÒµÑ‚әуп",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "ииаÑтәуп Ð°Ñ†Ð¸ÐºÐ» Ð°Ð½Ð°Ò©Ñтәи Ð°ÑˆÑŒÐ°Ò¿Ð°Ñ…ьы",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "Иааннакылоит Ð°Ð±Ñ€Ð¸ Ð°Ñ†Ð¸ÐºÐ».",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "Ðгәҽанҵара:Ðри Ð°Ð±Ð»Ð¾Ðº Ð°Ñ…архәара Ð°Ð¼Ð¾ÑƒÐ¿ Ð°Ñ†Ð¸ÐºÐ» Ð°Ò©Ð½Ñ‹ÒµÒŸÐ° Ð¼Ð°Ñ†Ð°Ñ€Ð°.",
+       "CONTROLS_IF_TOOLTIP_1": "Ðҭагылазаашьа Ð¸Ð°ÑˆÐ°Ð·Ð°Ñ€, Ð¸Ð½Ð°Ð½Ð°Ð³Ó¡Ð¾Ð¸Ñ‚ Ð°ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ò›Ó™Ð°.",
+       "CONTROLS_IF_TOOLTIP_2": "Ðҭагылазаашьа Ð¸Ð°ÑˆÐ°Ð·Ð°Ñ€, Ð¸Ð½Ð°Ð½Ð°Ð³Ó¡Ð¾Ð¸Ñ‚ Ð°ÐºÑ‚әи Ð°Ð±Ð»Ð¾Ðº Ð°ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ò›Ó™Ð°. Ðкәымзар Ð¸Ð½Ð°Ð½Ð°Ð³Ó¡Ð¾Ð¸Ñ‚ Ð°Ò©Ð±Ð°Ñ‚әи Ð°Ð±Ð»Ð¾Ðº Ð°ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ò›Ó™Ð°.",
+       "CONTROLS_IF_MSG_IF": "акәзар",
+       "CONTROLS_IF_MSG_ELSEIF": "акәымзар",
+       "CONTROLS_IF_MSG_ELSE": "акәымзар",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "Иацнаҵоит Ð°Ò­Ð°Ð³Ñ‹Ð°Ð·Ð°Ð°ÑˆÑŒÐ° Ð°Ð±Ð»Ð¾Ðº \"акәзар\" Ð°Ñ…ÑŒ",
+       "IOS_OK": "OK",
+       "IOS_CANCEL": "Ðҟәыхра",
+       "IOS_ERROR": "Ðгха",
+       "IOS_PROCEDURES_INPUTS": "Ðҭаларҭа",
+       "IOS_PROCEDURES_ADD_INPUT": "+ Ð˜Ð°Ñ†ÒµÐ°Ñ‚әуп Ð°Ò­Ð°Ð³Ð°Ð»Ð°Ñ€Ð°Ñ‚Ó™ Ò½ÐµÐ¸Ò­Ð°Ðº",
+       "IOS_PROCEDURES_ALLOW_STATEMENTS": "Ðоператорқәа Ð°Ð·Ð¸Ð½ Ñ€Ñ‹Ò­Ð°Ñ€Ð°",
+       "IOS_VARIABLES_ADD_VARIABLE": "+ Ð˜Ð°Ñ†ÒµÐ°Ñ‚әуп Ð°Ò½ÐµÐ¸Ò­Ð°Ðº",
+       "IOS_VARIABLES_ADD_BUTTON": "Иацҵатәуп",
+       "IOS_VARIABLES_RENAME_BUTTON": "Ðхьӡ Ð°Ò§Ñахра",
+       "IOS_VARIABLES_DELETE_BUTTON": "Ианыхтәуп",
+       "IOS_VARIABLES_VARIABLE_NAME": "Ðҽеиҭак Ð°Ñ…ьӡ",
+       "IOS_VARIABLES_EMPTY_NAME_ERROR": "Шәара Ð¸ÑˆÓ™Ñ‹Ð»ÑˆÐ¾Ð¼ Ð°Ò½ÐµÐ¸Ò­Ð°Ðº Ð°Ð·Ñ‹ Ð¸Ò­Ð°Ñ†Ó™Ñƒ Ð°Ñ…ьӡ Ð°Ñ…архәара",
+       "LOGIC_COMPARE_HELPURL": "https://ru.wikipedia.org/wiki/Ðиҟарамра",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "Иҳанаҭоит Ð¸ÒµÐ¾ÑƒÑ€Ð¾Ñƒ Ð°ÒµÐ°ÐºÑ‹, Ð¸Ò­Ð°Ð³Ð°Ð»Ð°Ò›Ó™Ð¾Ñƒ ÐµÐ¸ÒŸÐ°Ñ€Ð°Ð·Ð°Ñ€.",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "Иҳанаҭоит Ð¸ÒµÐ¾ÑƒÑ€Ð¾Ñƒ Ð°ÒµÐ°ÐºÑ‹, Ð¸Ò­Ð°Ð³Ð°Ð»Ð°Ò›Ó™Ð¾Ñƒ ÐµÐ¸ÒŸÐ°Ñ€Ð°Ð¼Ð·Ð°Ñ€.",
+       "LOGIC_COMPARE_TOOLTIP_LT": "Иҳанаҭоит Ð¸ÒµÐ¾ÑƒÑ€Ð¾Ñƒ Ð°ÒµÐ°ÐºÑ‹, Ð°ÐºÑ‚әи Ð¸Ò­Ð°Ð³Ð°Ð»Ð¾Ñƒ Ð°Ò©Ð±Ð°Ñ‚әи Ð°Ð°Ñҭа ÐµÐ¸ÒµÐ°Ð·Ð°Ñ€.",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "Иҳанаҭоит Ð°ÒµÐ°ÐºÑ‹ Ð°Ð¸Ð°ÑˆÐ°, Ð°ÐºÑ‚әи Ð¸Ò­Ð°Ð³Ð°Ð»Ð¾Ñƒ Ð°Ò©Ð±Ð°Ñ‚әи Ð°Ð°Ñҭа ÐµÐ¸ÒµÐ°Ð·Ð°Ñ€ Ð¼Ð° Ð¸Ð°ÒŸÐ°Ñ€Ð°Ð·Ð°Ñ€.",
+       "LOGIC_COMPARE_TOOLTIP_GT": "Иҳанаҭоит Ð°ÒµÐ°ÐºÑ‹ Ð°Ð¸Ð°ÑˆÐ°, Ð°ÐºÑ‚әи Ð¸Ò­Ð°Ð³Ð°Ð»Ð¾Ñƒ Ð°Ò©Ð±Ð°Ñ‚әи Ð°Ð°Ñҭа ÐµÐ¸Ò³Ð°Ð·Ð°Ñ€.",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "Иҳанаҭоит Ð°ÒµÐ°ÐºÑ‹ Ð°Ð¸Ð°ÑˆÐ°, Ð°ÐºÑ‚әи Ð¸Ò­Ð°Ð³Ð°Ð»Ð¾Ñƒ Ð°Ò©Ð±Ð°Ñ‚әи Ð°Ð°Ñҭа ÐµÐ¸Ò³Ð°Ð·Ð°Ñ€ Ð¼Ð° Ð¸Ð°ÒŸÐ°Ñ€Ð°Ð·Ð°Ñ€.",
+       "LOGIC_OPERATION_TOOLTIP_AND": "Иҳанаҭоит Ð°ÒµÐ°ÐºÑ‹ Ð°Ð¸Ð°ÑˆÐ°, Ð¸Ò­Ð°Ð³Ð°Ð»Ð¾Ñƒ Ð°Ò©Ð±Ð°Ð³ÑŒÑ‹ Ð¸Ð°ÑˆÐ°Ð·Ð°Ñ€.",
+       "LOGIC_OPERATION_AND": "и",
+       "LOGIC_OPERATION_TOOLTIP_OR": "Иҳанаҭоит Ð°ÒµÐ°ÐºÑ‹ Ð°Ð¸Ð°ÑˆÐ°, Ð¸Ò­Ð°Ð³Ð°Ð»Ð¾Ñƒ Ñ€ÑƒÐ°Ðº Ð¸Ð°ÑˆÐ°Ð·Ð°Ñ€.",
+       "LOGIC_OPERATION_OR": "ма",
+       "LOGIC_NEGATE_TITLE": "%1 Ð°ÐºÓ™Ó¡Ð°Ð¼",
+       "LOGIC_NEGATE_TOOLTIP": "Иҳанаҭоит Ð°ÒµÐ°ÐºÑ‹ Ð°Ð¸Ð°ÑˆÐ°, Ð¸Ò­Ð°Ð³Ð°Ð»Ð¾Ñƒ Ð¼Ñ†Ñ‹Ð·Ð°Ñ€. Ð˜Ò³Ð°Ð½Ð°Ò­Ð¾Ð¸Ñ‚ Ð°ÒµÐ°ÐºÑ‹ Ð°Ð¼Ñ†, Ð¸Ò­Ð°Ð³Ð°Ð»Ð¾Ñƒ Ð¸Ð°ÑˆÐ°Ð·Ð°Ñ€.",
+       "LOGIC_BOOLEAN_TRUE": "аиаша",
+       "LOGIC_BOOLEAN_FALSE": "амц",
+       "LOGIC_BOOLEAN_TOOLTIP": "Иҳанаҭоит Ð°ÒµÐ°ÐºÑ‹ Ð°Ð¸Ð°ÑˆÐ° Ð¼Ð° Ð°Ð¼Ñ†",
+       "LOGIC_NULL": "акагьы",
+       "LOGIC_NULL_TOOLTIP": "Иҳанаҭоит Ð°ÐºÐ°Ð³ÑŒÑ‹",
+       "LOGIC_TERNARY_CONDITION": "иалхтәуп Ð°Ð»Ð°",
+       "LOGIC_TERNARY_IF_TRUE": "аиаша Ð°ÐºÓ™Ð·Ð°Ñ€",
+       "LOGIC_TERNARY_IF_FALSE": "амц Ð°ÐºÓ™Ð·Ð°Ñ€",
+       "MATH_NUMBER_HELPURL": "https://ru.wikipedia.org/wiki/Ðхыҧхьаӡара",
+       "MATH_NUMBER_TOOLTIP": "Ðхыҧхьаӡара.",
+       "MATH_ARITHMETIC_HELPURL": "https://ru.wikipedia.org/wiki/Ðрифметика",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "Иҳанаҭоит Ò©-хыҧхьаӡарак Ñ€ÐµÐ¸Ñ†ÒµÐ°Ð»Ñ‹Òµ.",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "Иҳанаҭоит Ò©-хыҧхьаӡарак Ñ€ÐµÐ¸Ð³Ñ‹Ñ€Ñ…алыҵ.",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "Иҳанаҭоит Ò©-хыҧхьаӡарак Ñ€Ñ‹ÑˆÑŒÒ­Ñ‹Ñ…лыҵ.",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "Иҳанаҭоит Ò©-хыҧхьаӡарак Ñ€ÑˆÐ°Ð»Ñ‹Òµ.",
+       "MATH_SINGLE_OP_ABSOLUTE": "амодуль",
+       "MATH_SINGLE_TOOLTIP_ABS": "Иҳанаҭоит Ð°Ñ…ыҧхьаӡара Ð°Ð¼Ð¾Ð´ÑƒÐ»ÑŒ.",
+       "MATH_SINGLE_TOOLTIP_NEG": "Иҳанаҭоит Ð¸Ð°Ò¿Ð°Ð³Ñ‹Ð»Ð¾ Ð°Ñ…ыҧхьаӡара.",
+       "MATH_SINGLE_TOOLTIP_LN": "Иҳанаҭоит Ð°Ñ…ыҧхьаӡара Ð¸Ò§Ñабаратәу Ð°Ð»Ð°Ð³Ð¾Ñ€Ð¸Ñ„м.",
+       "MATH_SINGLE_TOOLTIP_LOG10": "Иҳанаҭоит Ð°Ñ…ыҧхьаӡара Ð°Ð¶Ó™Ð°Ð±Ð°Ñ‚Ó™ Ð»Ð¾Ð³Ð°Ñ€Ð¸Ì“фм",
+       "MATH_TRIG_HELPURL": "https://ru.wikipedia.org/wiki/Ðтригонометриатә_функциақәа",
+       "MATH_TRIG_TOOLTIP_SIN": "Иҳанаҭоит Ð°ÑинуѠградуÑла.",
+       "MATH_TRIG_TOOLTIP_COS": "Иҳанаҭоит Ð°ÐºÐ¾ÑинуѠградуÑла.",
+       "MATH_TRIG_TOOLTIP_TAN": "Иҳанаҭоит Ð°Ñ‚ангенѠградуÑла.",
+       "MATH_TRIG_TOOLTIP_ASIN": "Иҳанаҭоит Ð°Ñ€ÐºÑинуѠградуÑла.",
+       "MATH_TRIG_TOOLTIP_ACOS": "Иҳанаҭоит Ð°Ñ€ÐºÐºÐ¾ÑинуѠградуÑла.",
+       "MATH_TRIG_TOOLTIP_ATAN": "Иҳанаҭоит Ð°Ñ€ÐºÑ‚ангенѠградуÑла.",
+       "MATH_CONSTANT_HELPURL": "https://ru.wikipedia.org/wiki/Ðматематикатә_конÑтанта",
+       "MATH_CONSTANT_TOOLTIP": "Иҳанаҭооит Ð°ÐºÐ¾Ð½Ñтантақәа Ñ€ÑƒÐ°Ðº: Ï€ (3.141...), e (2.718...), Ï† (1.618...), sqrt(2) (1.414...), sqrt(½) (0.707...) Ð¼Ð° âˆž (аҵыхәаҧҵәарадара).",
+       "MATH_IS_EVEN": "еиҩшо",
+       "MATH_IS_ODD": "еиҩымшо",
+       "MATH_IS_PRIME": "имариоу",
+       "MATH_IS_WHOLE": "аибга",
+       "MATH_IS_POSITIVE": "иҵоуроу",
+       "MATH_IS_NEGATIVE": "иҵоурам",
+       "MATH_IS_DIVISIBLE_BY": "ишоит Ð°Ð»Ð°",
+       "MATH_CHANGE_TITLE": "иеизырҳатәуп %1 %2 Ñ€Ñ‹Ð»Ð°",
+       "MATH_CHANGE_TOOLTIP": "Иацнаҵоит Ð°Ñ…ыҧхьаӡара Ð°Ò½ÐµÐ¸Ò­Ð°Ðº'%1' Ð°Ñ…ÑŒ.",
+       "MATH_ROUND_HELPURL": "https://ru.wikipedia.org/wiki/Ðхыркәшара",
+       "MATH_ROUND_OPERATOR_ROUND": "ихыркәшатәуп",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "ихыркәшатәуп ÐµÐ¸Ò³Ð°Ñƒ Ð°Ñ…ÑŒ",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "ихыркәшатәуп ÐµÐ¸ÒµÐ¾Ñƒ Ð°Ñ…ÑŒ",
+       "MATH_ONLIST_OPERATOR_SUM": "ахьӡынҵа Ð°Ð¸Ñ†ÒµÐ°Ð»Ñ‹Òµ",
+       "MATH_ONLIST_TOOLTIP_SUM": "Иҳанаҭоит Ð°Ñ…ьӡынҵа Ð¸Ð°ÒµÐ°Ð½Ð°ÐºÑƒÐ° Ð°Ñ…ыҧхьаӡарақәа Ð·ÐµÐ³ÑŒÑ‹ Ñ€ÐµÐ¸Ñ†ÒµÐ°Ð»Ñ‹Òµ.",
+       "MATH_ONLIST_OPERATOR_MIN": "ахьӡынҵа Ð°ÒŸÐ½Ñ‹ Ð¸Ñ€ÐµÐ¸ÒµÐ¾",
+       "MATH_ONLIST_TOOLTIP_MIN": "Иҳанаҭоит Ð°Ñ…ьӡынҵа Ð°ÒŸÐ½Ñ‹ Ð¸Ñ€ÐµÐ¸Ñ†Ð¾ Ð°Ñ…ыҧхьаӡара.",
+       "MATH_ONLIST_OPERATOR_MAX": "ахьӡынҵа Ð°ÒŸÐ½Ñ‹ Ð¸Ñ€ÐµÐ¸Ò³Ð°Ñƒ",
+       "MATH_ONLIST_TOOLTIP_MAX": "Иҳанаҭоит Ð°Ñ…ьӡынҵа Ð°ÒŸÐ½Ñ‹ Ð¸Ñ€ÐµÐ¸Ò³Ð°Ñƒ Ð°Ñ…ыҧхьаӡара.",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "ахьӡынҵа Ð°Ñ€Ð¸Ñ„метикатә Ð±Ð¶ÑŒÐ°Ñ€Ð°",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "Иҳанаҭоит Ð°Ñ…ьӡынҵа Ð°ÒŸÐ½Ñ‹ Ð°Ñ…ыҧхьаӡарақәа Ð·ÐµÐ³ÑŒÑ‹ Ñ€Ð°Ñ€Ð¸Ñ„метикатә Ð±Ð¶ÑŒÐ°Ñ€Ð°.",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "ахьӡынҵа Ð°Ð¼ÐµÐ´Ð¸Ð°Ð½Ð°",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "Иҳанаҭоит Ð°Ñ…ьӡынҵа Ð°ÒŸÐ½Ñ‹ Ð°Ñ…ыҧхьаӡарақәа Ð·ÐµÐ³ÑŒÑ‹ Ñ€Ð¼ÐµÐ´Ð¸Ð°Ð½Ð°.",
+       "MATH_ONLIST_OPERATOR_MODE": "ахьӡынҵа Ð°Ð¼Ð¾Ð´Ð°",
+       "MATH_ONLIST_OPERATOR_RANDOM": "ахьӡынҵа Ð¸Ð°Ñ€Ð±Ð°Ð½Ð·Ð°Ð°Ð»Ð°ÐºÑŒ Ð°ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "Иҳанаҭоит Ð°Ñ…ьӡынҵа Ð°ÒŸÐ½Ñ‹ Ð¸Ð°Ñ€Ð±Ð°Ð½Ð·Ð°Ð°Ð»Ð°ÐºÑŒ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚к.",
+       "MATH_MODULO_HELPURL": "https://ru.wikipedia.org/wiki/Ðшара_цәынхала",
+       "MATH_MODULO_TITLE": "ацәынха %1 : %2",
+       "MATH_MODULO_TOOLTIP": "Иҳанаҭоит Ð°Ñ†Ó™Ñ‹Ð½Ñ…а Ò©-хыҧхьаӡарак Ñ€ÑˆÐ°Ñ€Ð°Ð°Ð½.",
+       "MATH_RANDOM_INT_TITLE": "иарбанзаалакь ÐµÐ¸Ð±Ð³Ð¾Ñƒ Ð°Ñ…ыҧхьаӡара %1 Ð¸Ð½Ð°Ñ€ÐºÐ½Ñ‹ %2 Ð½Ó¡Ð°",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "иарбанзаалакь Ð°Ñ…ыҧхьашара 0 Ð¸Ð½Ð°Ñ€ÐºÐ½Ñ‹ (иалаҵаны)  1 Ð°ÒŸÑ‹Ð½Ó¡Ð°",
+       "MATH_RANDOM_FLOAT_TOOLTIP": "Иҳанаҭоит Ð¸Ð°Ñ€Ð±Ð°Ð½Ð·Ð°Ð°Ð»Ð°ÐºÑŒ Ð°Ñ…ыҧхьаӡара 0.0 Ð¸Ð½Ð°Ñ€ÐºÐ½Ñ‹ (иалаҵаны) 1.0 Ð°ÒŸÑ‹Ð½Ó¡Ð°.",
+       "TEXT_TEXT_HELPURL": "https://ru.wikipedia.org/wiki/Ðцәаҳәатә_хкы",
+       "TEXT_TEXT_TOOLTIP": "Ðнбан, Ð°Ð¶Ó™Ð° Ð¼Ð° Ð°Ñ†Ó™Ð°Ò³Ó™Ð° Ð°Ñ‚еқÑÑ‚ Ð°ÒŸÐ½Ñ‹.",
+       "TEXT_JOIN_TITLE_CREATEWITH": "иаҧҵатәуп Ð°Ñ‚еқÑÑ‚ Ð°ÒŸÑ‹Ð½Ñ‚әи",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "иеиҧшьтәуп",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "Иацҵатәуп Ð°ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ð°Ñ‚еқÑÑ‚ Ð°Ñ…ÑŒ.",
+       "TEXT_APPEND_TITLE": "%1 Ð°Ñ…ьы Ð¸Ð°Ñ†ÒµÐ°Ñ‚әуп Ð°Ñ‚еқÑÑ‚ %2",
+       "TEXT_APPEND_TOOLTIP": "Иацҵатәуп Ð°Ñ‚еқÑÑ‚ Ð°Ò½ÐµÐ¸Ò­Ð°Ðº Â«%1» Ð°Ñ…ÑŒ.",
+       "TEXT_LENGTH_TITLE": "аура %1",
+       "TEXT_LENGTH_TOOLTIP": "Иҳанаҭоит Ð°Ñимволқәа Ñ€Ñ…ыҧхьаӡара (апробелқәа Ð°Ð»Ð°ÒµÐ°Ð½Ñ‹) Ð¸ÒŸÐ¾Ñƒ Ð°Ñ‚еқÑÑ‚ Ð°ÒŸÐ½Ñ‹.",
+       "TEXT_ISEMPTY_TITLE": "%1 Ò­Ð°Ñ†Ó™ÑƒÐ¿",
+       "TEXT_ISEMPTY_TOOLTIP": "Иҳанаҭоит Ð°ÒµÐ°ÐºÑ‹ Ð°Ð¸Ð°ÑˆÐ°, Ð¸ÒŸÐ¾Ñƒ Ð°Ñ‚еқÑÑ‚ Ò­Ð°Ñ†Ó™Ñ‹Ð·Ð°Ñ€.",
+       "TEXT_INDEXOF_TITLE": "атеқÑÑ‚ %1 %2 %3 Ð°ÒŸÐ½Ñ‹",
+       "TEXT_CHARAT_TITLE": "атеқÑÑ‚ %1 %2 Ð°ÒŸÐ½Ñ‹",
+       "TEXT_CHARAT_FROM_START": "игатәуп Ð°Ð½Ð±Ð°Ð½ â„–",
+       "TEXT_CHARAT_FROM_END": "игатәуп Ð°Ð½Ð±Ð°Ð½ â„– Ð°Ð½ÒµÓ™Ð°Ð¼Ò­Ð° Ð°ÒŸÑ‹Ð½Ñ‚әи",
+       "TEXT_CHARAT_FIRST": "игатәуп Ð°ÐºÑ‚әи Ð°Ð½Ð±Ð°Ð½",
+       "TEXT_CHARAT_LAST": "игатәуп Ð°ÒµÑ‹Ñ…әтәантәи Ð°Ð½Ð±Ð°Ð½",
+       "TEXT_CHARAT_RANDOM": "игатәуп Ð¸Ð°Ñ€Ð±Ð°Ð½Ð·Ð°Ð°Ð»Ð°ÐºÑŒ Ð½Ð±Ð°Ð½Ðº",
+       "TEXT_CHARAT_TOOLTIP": "Иҳанаҭоит Ð°Ð½Ð±Ð°Ð½ Ð¸Ð°Ñ€Ð±Ð¾Ñƒ Ð°Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ð° Ð°ÒŸÐ½Ñ‹",
+       "TEXT_GET_SUBSTRING_TOOLTIP": "Иҳанаҭоит Ð°Ñ‚еқÑÑ‚ Ð°ÒŸÐ½Ñ‹ Ð¸Ð°Ñ€Ð±Ð¾Ñƒ Ð°Ñ…әҭа.",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "атеқÑÑ‚ Ð°ÒŸÐ½Ñ‹",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "анбан â„– Ð°Ð»Ð°",
+       "TEXT_GET_SUBSTRING_END_LAST": "аҵыхәтәантәи Ð°Ð½Ð±Ð°Ð½ Ð°Ð»Ð°",
+       "TEXT_PRINT_TITLE": "икьыҧхьтәуп %1",
+       "TEXT_PRINT_TOOLTIP": "Иакьыҧхьуеит Ð°Ñ‚еқÑÑ‚, Ð°Ñ…ыҧхьаӡара Ð¼Ð° Ð´Ð°Ò½Ð° Ð¾Ð±Ð¸ÐµÒ›Ñ‚к.",
+       "TEXT_REPLACE_MESSAGE0": "иҧÑахтәуп %1 %2 Ð°Ð»Ð° %3 Ð°ÒŸÐ½Ñ‹",
+       "LISTS_CREATE_EMPTY_TITLE": "иаҧцатәуп Ð¸Ò­Ð°Ñ†Ó™Ñƒ Ð°Ñ…ьӡынҵа",
+       "LISTS_CREATE_WITH_INPUT_WITH": "иаҧҵатәуп Ð°Ñ…ьӡынҵа Ð°ÒŸÑ‹Ð½Ñ‚әи",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "ахьӡынҵа",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "Иацнаҵоит Ð°ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ð°Ñ…ьӡынҵахьы",
+       "LISTS_LENGTH_TITLE": "аура %1",
+       "LISTS_LENGTH_TOOLTIP": "Иҳанаҭоит Ð°Ñ…ьӡынҵа Ð°ÑƒÑ€Ð°.",
+       "LISTS_ISEMPTY_TITLE": "%1 Ò­Ð°Ñ†Ó™ÑƒÐ¿",
+       "LISTS_ISEMPTY_TOOLTIP": "Иҳанаҭоит Ð°Ð¸Ð°ÑˆÐ°, Ð°Ñ…ьӡынҵа Ò­Ð°Ñ†Ó™Ñ‹Ð·Ð°Ñ€.",
+       "LISTS_INLIST": "ахьӡынҵа Ð°ÒŸÐ½Ñ‹",
+       "LISTS_GET_INDEX_GET": "игатәуп",
+       "LISTS_GET_INDEX_GET_REMOVE": "иалхны Ð¸Ð°Ð½Ñ‹Ñ…тәуп",
+       "LISTS_GET_INDEX_REMOVE": "ианыхтәуп",
+       "LISTS_GET_INDEX_FROM_END": "â„– Ð°Ð½ÒµÓ™Ð°Ð¼Ð½Ò­Ð° Ð°ÒŸÑ‹Ð½Ñ‚әи",
+       "LISTS_GET_INDEX_FIRST": "актәи",
+       "LISTS_GET_INDEX_LAST": "аҵыхәтәантәи",
+       "LISTS_GET_INDEX_RANDOM": "иарбанзаалакь",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "%1 - Ð°ÐºÑ‚әи Ð°ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚.",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "%1 - Ð°ÒµÑ‹Ñ…әтәантәи Ð°ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "Иҳанаҭоит Ð°Ñ…ьӡынҵа Ð°ÐºÑ‚әи Ð°ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "Иҳанаҭоит Ð°Ñ…ьӡынҵа Ð°ÒµÑ‹Ñ…әтәантәи Ð°ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "Иҳанаҭоит Ð°Ñ…ьӡынҵа Ð¸Ð°Ñ€Ð±Ð°Ð½Ð·Ð°Ð°Ð»Ð°ÐºÑŒ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚к.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "Ианнахәуеит Ð°Ñ…ьӡынҵа Ð°ÐºÑ‚әи Ð°ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "Ианнахәуеит Ð°Ñ…ьӡынҵа Ð°ÒµÑ‹Ñ…әтәантәи Ð°ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "Ианнахәуеит Ð°Ñ…ьӡынҵа Ð¸Ð°Ñ€Ð±Ð°Ð½Ð·Ð°Ð°Ð»Ð°ÐºÑŒ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚к.",
+       "LISTS_SET_INDEX_SET": "иаҭатәуп",
+       "LISTS_SET_INDEX_INSERT": "ибжьаргылатәуп",
+       "LISTS_SET_INDEX_INPUT_TO": "=",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "Иацнаҵоит Ð°ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ð°Ñ…ьӡынҵа Ð°Ð½ÒµÓ™Ð°Ð¼Ò­Ð°Ñ…ÑŒ.",
+       "LISTS_GET_SUBLIST_END_FROM_START": "â„– Ð°Ð»Ð°",
+       "LISTS_SORT_TITLE": "еилыҧшаатәуп %1 %2 %3",
+       "LISTS_SORT_TOOLTIP": "Еилыҧшаатәуп Ð°Ñ…ьӡынҵа Ð°ÐºÐ¾Ð¿Ð¸Ð°.",
+       "LISTS_SORT_ORDER_ASCENDING": "еиҵоу-еиҳауала",
+       "LISTS_SORT_ORDER_DESCENDING": "еиҳау-еиҵоуала",
+       "LISTS_SORT_TYPE_NUMERIC": "ахыҧхьаӡаратәи",
+       "LISTS_SORT_TYPE_TEXT": "алфавитла",
+       "LISTS_SPLIT_TEXT_FROM_LIST": "еизгатәуп Ð°Ñ‚еқÑÑ‚ Ð°Ñ…ьӡынҵа Ð°ÒŸÑ‹Ð½Ñ‚әи",
+       "VARIABLES_GET_TOOLTIP": "Иҳанаҭоит Ð°Ò½ÐµÐ¸Ò­Ð°Ðº Ð°ÒµÐ°ÐºÑ‹.",
+       "VARIABLES_GET_CREATE_SET": "Иаҧҵатәуп Ð°Ð±Ð»Ð¾Ðº \"иаҭатәуп\" %1 Ð°Ð·Ñ‹",
+       "VARIABLES_SET": "иаҭатәуп %1 = %2",
+       "PROCEDURES_DEFNORETURN_TITLE": "азы",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "иҟаҵатәуп ÑŸÑŒÐ°Ñ€Ð° Ð°ÐºÑ‹",
+       "PROCEDURES_BEFORE_PARAMS": "аҟынтәи:",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "аҟынтәи:",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "Иаҧнаҵоит Ð°Ð¿Ñ€Ð¾Ñ†ÐµÐ´ÑƒÑ€Ð°, Ð°ÒµÐ°ÐºÑ‹ Ò³Ð°Ð·Ñ‹Ð¼Ò­Ð¾.",
+       "PROCEDURES_DEFNORETURN_COMMENT": "Ðбри Ð°Ñ„ункциа Ð°Ñ…ҳәа Ð°Ð·Ñ‹ÒŸÐ°ÑˆÓ™ÒµÐ°...",
+       "PROCEDURES_DEFRETURN_RETURN": "ирхынҳәтәуп",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "Иаҧнаҵоит Ð°Ð¿Ñ€Ð¾Ñ†ÐµÐ´ÑƒÑ€Ð°, Ð°ÒµÐ°ÐºÑ‹ Ò³Ð°Ð·Ò­Ð¾.",
+       "PROCEDURES_ALLOW_STATEMENTS": "Ðоператорқәа Ð°Ð·Ð¸Ð½ Ñ€Ñ‹Ò­Ð°Ñ€Ð°",
+       "PROCEDURES_CALLNORETURN_HELPURL": "https://ru.wikipedia.org/wiki/Ðцхыраагӡатә Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð°",
+       "PROCEDURES_CALLRETURN_HELPURL": "https://ru.wikipedia.org/wiki/Ðцхыраагӡатә Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¼Ð°",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "апараметрқәа",
+       "PROCEDURES_MUTATORARG_TITLE": "апараметр Ð°Ñ…ьӡ:",
+       "PROCEDURES_CREATE_DO": "Иаҧҵатәуп Ð°Ð°Ò§Ñ…ьара'%1'",
+       "PROCEDURES_IFRETURN_TOOLTIP": "Ðктәи Ð°ÒµÐ°ÐºÑ‹ Ð¸Ð°ÑˆÐ°Ð·Ð°Ñ€, Ð¸Ò³Ð°Ð½Ð°Ò­Ð¾Ð¸Ñ‚ Ð°Ò©Ð±Ð°Ñ‚әи Ð°ÒµÐ°ÐºÑ‹.",
+       "PROCEDURES_IFRETURN_WARNING": "Ðгәаҽанҵара: Ðри Ð°Ð±Ð»Ð¾Ðº Ð°Ñ…архәара Ð°ÑƒÐµÐ¸Ñ‚ Ð°Ñ„ункциа Ð°Ò§ÒµÐ°Ñ€Ð° Ð°ÒŸÐ½Ñ‹."
+}
diff --git a/js/msg/json/ar.json b/js/msg/json/ar.json
new file mode 100644 (file)
index 0000000..1535af1
--- /dev/null
@@ -0,0 +1,367 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Meno25",
+                       "Test Create account",
+                       "ì•„ë¼",
+                       "Diyariq",
+                       "محمد Ø£Ø­Ù…د Ø¹Ø¨Ø¯ Ø§Ù„Ùتاح",
+                       "Moud hosny",
+                       "ديÙيد",
+                       "Samir",
+                       "Mido",
+                       "DonAdnan"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "البند",
+       "TODAY": "اليوم",
+       "DUPLICATE_BLOCK": "مكرر",
+       "ADD_COMMENT": "أض٠تعليقًا",
+       "REMOVE_COMMENT": "أزل Ø§Ù„تعليق",
+       "DUPLICATE_COMMENT": "تعليق Ù…كرر",
+       "EXTERNAL_INPUTS": "ادخال Ø®Ø§Ø±Ø¬ÙŠ",
+       "INLINE_INPUTS": "ادخال Ø®Ø·ÙŠ",
+       "DELETE_BLOCK": "احذ٠القطعة",
+       "DELETE_X_BLOCKS": "احذ٠%1 Ù‚طع",
+       "DELETE_ALL_BLOCKS": "حذ٠%1 Ù‚طعة؟",
+       "CLEAN_UP": "ترتيب Ø§Ù„قطع",
+       "COLLAPSE_BLOCK": "إخÙاء Ø§Ù„قطعة",
+       "COLLAPSE_ALL": "إخÙاء Ø§Ù„قطع",
+       "EXPAND_BLOCK": "وسٌّع Ø§Ù„قطعة",
+       "EXPAND_ALL": "وسٌّع Ø§Ù„قطع",
+       "DISABLE_BLOCK": "عطّل Ø§Ù„قطعة",
+       "ENABLE_BLOCK": "أعد ØªÙعيل Ø§Ù„قطعة",
+       "HELP": "مساعدة",
+       "UNDO": "رجوع",
+       "REDO": "إعادة",
+       "CHANGE_VALUE_TITLE": "تغيير Ù‚يمة:",
+       "RENAME_VARIABLE": "إعادة ØªØ³Ù…ية Ø§Ù„متغير...",
+       "RENAME_VARIABLE_TITLE": "إعادة ØªØ³Ù…ية ÙƒØ§ÙØ© Ø§Ù„متغيرات '%1' Ø¥Ù„Ù‰:",
+       "NEW_VARIABLE": "إنشاء Ù…تغير...",
+       "NEW_STRING_VARIABLE": "انشاء Ù…تغير Ù†ØµÙŠ...",
+       "NEW_NUMBER_VARIABLE": "انشاء Ù…تغير Ø±Ù‚مي...",
+       "NEW_COLOUR_VARIABLE": "انشاء Ù…تغير Ù„وني...",
+       "NEW_VARIABLE_TYPE_TITLE": "نوع Ù…تغير Ø¬Ø¯ÙŠØ¯:",
+       "NEW_VARIABLE_TITLE": "اسم Ø§Ù„متغير Ø§Ù„جديد:",
+       "VARIABLE_ALREADY_EXISTS": "المتغير '%1' Ù…وجود Ø¨Ø§Ù„Ùعل",
+       "VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE": "متغير Ø¨Ø£Ø³Ù… '%1' Ù…عر٠من Ù†ÙˆØ¹ Ø§Ø®Ø± : '%2'.",
+       "DELETE_VARIABLE_CONFIRMATION": "حذÙ%1 1 Ø§Ø³ØªØ®Ø¯Ø§Ù…ات Ø§Ù„متغير '%2'ØŸ",
+       "CANNOT_DELETE_VARIABLE_PROCEDURE": "لايمكن Ø­Ø°Ù Ù…تغير \"%1\" Ø¨Ø³Ø¨Ø¨ Ø§Ù†Ù‡ Ø¬Ø²Ø¡ Ù…Ù† Ø§Ù„دالة \"%2\"",
+       "DELETE_VARIABLE": "حذ٠المتغير %1",
+       "COLOUR_PICKER_HELPURL": "https://ar.wikipedia.org/wiki/Color",
+       "COLOUR_PICKER_TOOLTIP": "اختر Ù„ون Ù…Ù† Ø§Ù„لوحة.",
+       "COLOUR_RANDOM_TITLE": "لون Ø¹Ø´ÙˆØ§Ø¦ÙŠ",
+       "COLOUR_RANDOM_TOOLTIP": "اختر Ù„ون Ø¨Ø´ÙƒÙ„ Ø¹Ø´ÙˆØ§Ø¦ÙŠ.",
+       "COLOUR_RGB_HELPURL": "http://www.december.com/html/spec/colorper.html",
+       "COLOUR_RGB_TITLE": "لون Ù…ع",
+       "COLOUR_RGB_RED": "أحمر",
+       "COLOUR_RGB_GREEN": "أخضر",
+       "COLOUR_RGB_BLUE": "أزرق",
+       "COLOUR_RGB_TOOLTIP": "إنشئ Ù„ون Ø¨Ø§Ù„كمية Ø§Ù„محددة Ù…Ù† Ø§Ù„أحمر, Ø§Ù„أخضر ÙˆØ§Ù„أزرق. Ø¨Ø­ÙŠØ« ÙŠØ¬Ø¨ ØªÙƒÙˆÙ† ÙƒØ§ÙØ© Ø§Ù„قيم Ø¨ÙŠÙ† 0 Ùˆ 100.",
+       "COLOUR_BLEND_HELPURL": "http://meyerweb.com/eric/tools/color-blend/",
+       "COLOUR_BLEND_TITLE": "دمج",
+       "COLOUR_BLEND_COLOUR1": "اللون 1",
+       "COLOUR_BLEND_COLOUR2": "اللون 2",
+       "COLOUR_BLEND_RATIO": "نسبة",
+       "COLOUR_BLEND_TOOLTIP": "دمج Ù„ونين Ø¨Ø¨Ø¹Ø¶Ù‡Ù…ا Ø§Ù„بعض Ø¨Ù†Ø³Ø¨Ø© (0.0 - 1.0).",
+       "CONTROLS_REPEAT_HELPURL": "https://en.wikipedia.org/wiki/For_loop",
+       "CONTROLS_REPEAT_TITLE": "كرر  %1 Ù…رات",
+       "CONTROLS_REPEAT_INPUT_DO": "Ù†Ùّذ",
+       "CONTROLS_REPEAT_TOOLTIP": "Ù†Ùّذ Ø¨Ø¹Ø¶ Ø§Ù„أوامر Ø¹Ø¯Ø© Ù…رات.",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "اكرّر Ø·Ø§Ù„ما",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "اكرّر Ø­ØªÙ‰",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "بما Ø§Ù† Ø§Ù„قيمة ØµØ­ÙŠØ­Ø©, Ù†Ùّذ Ø¨Ø¹Ø¶ Ø§Ù„أوامر.",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "بما Ø§Ù† Ø§Ù„قيمة Ø®Ø§Ø·Ø¦Ø©, Ù†Ùّذ Ø¨Ø¹Ø¶ Ø§Ù„أوامر.",
+       "CONTROLS_FOR_TOOLTIP": "اجعل Ø§Ù„متغير  %1 ÙŠØ£Ø®Ø° Ø§Ù„قيم Ù…Ù† Ø±Ù‚Ù… Ø§Ù„بداية Ø§Ù„Ù‰ Ø±Ù‚Ù… Ø§Ù„نهاية، ÙˆÙ‚Ù… Ø¨Ø§Ù„عد Ø¯Ø§Ø®Ù„ Ø§Ù„مجال Ø§Ù„محدد، ÙˆØ·Ø¨Ù‚ Ø£ÙˆØ§Ù…ر Ø§Ù„قطع Ø§Ù„محددة.",
+       "CONTROLS_FOR_TITLE": "عد Ø¨Ù€ %1 Ù…Ù† %2 Ø¥Ù„Ù‰ %3 Ø¨Ù…عدل %4",
+       "CONTROLS_FOREACH_TITLE": "لكل Ø¹Ù†ØµØ± %1 ÙÙŠ Ù‚ائمة %2",
+       "CONTROLS_FOREACH_TOOLTIP": "لكل Ø¹Ù†ØµØ± ÙÙŠ Ù‚ائمة Ù…ا، Ø¹ÙŠÙ† Ø§Ù„متغير '%1' Ù„هذا Ø§Ù„غنصر، ÙˆÙ…Ù† Ø«Ù… Ù†ÙØ° Ø¨Ø¹Ø¶ Ø§Ù„أوامر.",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "اخرج Ù…Ù† Ø§Ù„حلقة",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "استمر Ø§Ø¨ØªØ¯Ø§Ø¡Ø§ Ù…Ù† Ø§Ù„تكرار Ø§Ù„تالي Ù…Ù† Ø§Ù„حلقة",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "اخرج Ù…Ù† Ø§Ù„حلقة Ø§Ù„حالية.",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "تخط Ù…ا ØªØ¨Ù‚Ù‰ Ù…Ù† Ù‡Ø°Ù‡ Ø§Ù„حلقة، ÙˆØ§Ø³ØªÙ…ر Ø§Ø¨ØªØ¯Ø§Ø¡Ø§ Ù…Ù† Ø§Ù„تكرار Ø§Ù„تالي.",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "تحذير: ÙŠÙ…كن Ø§Ø³ØªØ®Ø¯Ø§Ù… Ù‡Ø°Ù‡ Ø§Ù„قطعة Ùقط Ø¯Ø§Ø®Ù„ Ø­Ù„قة.",
+       "CONTROLS_IF_TOOLTIP_1": "إذا ÙƒØ§Ù†Øª Ù‚يمة Ù…ا ØªØ³Ø§ÙˆÙŠ ØµØ­ÙŠØ­, Ø¥Ø°Ù† Ù‚Ù… Ø¨ØªÙ†Ùيذ Ø£Ù…ر Ù…ا.",
+       "CONTROLS_IF_TOOLTIP_2": "إذا ÙƒØ§Ù†Øª Ù‚يمة Ù…ا ØªØ³Ø§ÙˆÙŠ \"صحيح\"ØŒ Ø¥Ø°Ù† Ù‚Ù… Ø¨ØªÙ†Ùيذ Ø£ÙˆÙ„ Ù‚طعة Ù…Ù† Ø§Ù„أوامر. ÙˆØ§Ù„ا ØŒÙ‚Ù… Ø¨ØªÙ†Ùيذ Ø§Ù„قطعة Ø§Ù„ثانية Ù…Ù† Ø§Ù„أوامر.",
+       "CONTROLS_IF_TOOLTIP_3": "إذا ÙƒØ§Ù†Øª Ø§Ù„قيمة Ø§Ù„أولى ØªØ³Ø§ÙˆÙŠ \"صحيح\", Ø¥Ø°Ù† Ù‚Ù… Ø¨ØªÙ†Ùيذ Ø§Ù„قطعة Ø§Ù„أولى Ù…Ù† Ø§Ù„أوامر. ÙˆØ§Ù„ا, Ø¥Ø°Ø§ ÙƒØ§Ù†Øª Ø§Ù„قيمة Ø§Ù„ثانية ØªØ³Ø§ÙˆÙŠ \"صحيح\", Ù‚Ù… Ø¨ØªÙ†Ùيذ Ø§Ù„قطعة Ø§Ù„ثانية Ù…Ù† Ø§Ù„أوامر.",
+       "CONTROLS_IF_TOOLTIP_4": "إذا ÙƒØ§Ù†Øª Ø§Ù„قيمة Ø§Ù„أولى ØªØ³Ø§ÙˆÙŠ \"صحيح\", Ø¥Ø°Ù† Ù‚Ù… Ø¨ØªÙ†Ùيذ Ø§Ù„قطعة Ø§Ù„أولى Ù…Ù† Ø§Ù„أوامر. ÙˆØ§Ù„ا , Ø¥Ø°Ø§ ÙƒØ§Ù†Øª Ø§Ù„قيمة Ø§Ù„ثانية ØªØ³Ø§ÙˆÙŠ \"صحيح\", Ù‚Ù… Ø¨ØªÙ†Ùيذ Ø§Ù„قطعة Ø§Ù„ثانية Ù…Ù† Ø§Ù„أوامر. Ø¥Ø°Ø§ Ù„Ù… ØªÙƒÙ† Ù‡Ù†Ø§Ùƒ Ø£ÙŠ Ù‚يمة ØªØ³Ø§ÙˆÙŠ ØµØ­ÙŠØ­, Ù‚Ù… Ø¨ØªÙ†Ùيذ Ø¢Ø®Ø± Ù‚طعة Ù…Ù† Ø§Ù„أوامر.",
+       "CONTROLS_IF_MSG_IF": "إذا",
+       "CONTROLS_IF_MSG_ELSEIF": "وإﻻ Ø¥Ø°Ø§",
+       "CONTROLS_IF_MSG_ELSE": "والا",
+       "CONTROLS_IF_IF_TOOLTIP": "أضÙ, Ø¥Ø²Ù„, Ø£Ùˆ Ø£Ø¹Ø¯ ØªØ±ØªÙŠØ¨ Ø§Ù„مقاطع Ù„إعادة ØªÙƒÙˆÙŠÙ† Ø§Ù„قطعة Ø§Ù„شرطية \"إذا\".",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "إض٠شرطا Ø¥Ù„Ù‰ Ø§Ù„قطعة Ø§Ù„شرطية \"إذا\".",
+       "CONTROLS_IF_ELSE_TOOLTIP": "أض٠شرط \"نهاية، Ø¥Ø¬Ù…ع\" Ø¥Ù„Ù‰ Ø§Ù„قطعة Ø§Ù„شرطية \"إذا\".",
+       "IOS_OK": "أواÙÙ‚",
+       "IOS_CANCEL": "ألغÙ",
+       "IOS_ERROR": "خطأ",
+       "IOS_PROCEDURES_INPUTS": "المدخلات",
+       "IOS_PROCEDURES_ADD_INPUT": "+اضاÙØ© Ø§Ø¯Ø®Ø§Ù„",
+       "IOS_PROCEDURES_ALLOW_STATEMENTS": "العبارات Ø§Ù„مسموحة",
+       "IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR": "هذه Ø§Ù„دالة Ù„ها Ù…دخلات Ù…كررة.",
+       "IOS_VARIABLES_ADD_VARIABLE": "+اض٠متغير",
+       "IOS_VARIABLES_ADD_BUTTON": "أضÙ",
+       "IOS_VARIABLES_RENAME_BUTTON": "أعد Ø§Ù„تسمية",
+       "IOS_VARIABLES_DELETE_BUTTON": "احذÙ",
+       "IOS_VARIABLES_VARIABLE_NAME": "اسم Ø§Ù„متغير",
+       "IOS_VARIABLES_EMPTY_NAME_ERROR": "لا ÙŠÙ…كنك Ø§Ø³ØªØ®Ø¯Ø§Ù… Ø§Ø³Ù… Ù…تغير Ùارغ.",
+       "LOGIC_COMPARE_HELPURL": "https://en.wikipedia.org/wiki/Inequality_(mathematics)",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "يرجع ØµØ­ÙŠØ­ Ø¥Ø°Ø§ ÙƒØ§Ù† ÙƒÙ„ا Ø§Ù„مدخلات Ù…ساوية Ø¨Ø¹Ø¶Ù‡Ø§ Ø§Ù„بعض.",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "يرجع ØµØ­ÙŠØ­ Ø¥Ø°Ø§ ÙƒØ§Ù†Øª ÙƒÙ„ا Ø§Ù„مدخلات ØºÙŠØ± Ù…ساوية Ù„بعضها Ø§Ù„بعض.",
+       "LOGIC_COMPARE_TOOLTIP_LT": "يرجع ØµØ­ÙŠØ­ Ø¥Ø°Ø§ ÙƒØ§Ù† Ø§Ù„إدخال Ø§Ù„أول Ø£ØµØºØ± Ù…Ù† Ø§Ù„إدخال Ø§Ù„ثاني.",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "يرجع ØµØ­ÙŠØ­ Ø¥Ø°Ø§ ÙƒØ§Ù† Ø§Ù„إدخال Ø§Ù„أول Ø£ØµØºØ± Ù…Ù† Ø£Ùˆ ÙŠØ³Ø§ÙˆÙŠ Ø§Ù„إدخال Ø§Ù„ثاني.",
+       "LOGIC_COMPARE_TOOLTIP_GT": "يرجع ØµØ­ÙŠØ­ Ø¥Ø°Ø§ ÙƒØ§Ù† Ø§Ù„إدخال Ø§Ù„أول Ø£ÙƒØ¨Ø± Ù…Ù† Ø§Ù„إدخال Ø§Ù„ثاني.",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "يرجع ØµØ­ÙŠØ­ Ø¥Ø°Ø§ ÙƒØ§Ù† Ø§Ù„إدخال Ø§Ù„أول Ø£ÙƒØ¨Ø± Ù…Ù† Ø£Ùˆ ÙŠØ³Ø§ÙˆÙŠ Ø§Ù„إدخال Ø§Ù„ثاني.",
+       "LOGIC_OPERATION_TOOLTIP_AND": "ترجع ØµØ­ÙŠØ­ Ø¥Ø°Ø§ ÙƒØ§Ù† ÙƒÙ„ا Ø§Ù„مٌدخلات ØµØ­ÙŠØ­.",
+       "LOGIC_OPERATION_AND": "Ùˆ",
+       "LOGIC_OPERATION_TOOLTIP_OR": "ترجع ØµØ­ÙŠØ­ Ø¥Ø°Ø§ ÙƒØ§Ù† ÙˆØ§Ø­Ø¯ Ø¹Ù„Ù‰ Ø§Ù„أقل Ù…Ù† Ø§Ù„مدخلات ØµØ­ÙŠØ­.",
+       "LOGIC_OPERATION_OR": "أو",
+       "LOGIC_NEGATE_TITLE": "ليس %1",
+       "LOGIC_NEGATE_TOOLTIP": "يرجع ØµØ­ÙŠØ­ Ø¥Ø°Ø§ ÙƒØ§Ù† Ø§Ù„إدخال Ø®Ø§Ø·Ø¦ .  ÙŠØ±Ø¬Ø¹ Ø®Ø§Ø·Ø¦ Ø¥Ø°Ø§ ÙƒØ§Ù† Ø§Ù„إدخال ØµØ­ÙŠØ­.",
+       "LOGIC_BOOLEAN_TRUE": "صحيح",
+       "LOGIC_BOOLEAN_FALSE": "خاطئ",
+       "LOGIC_BOOLEAN_TOOLTIP": "يرجع ØµØ­ÙŠØ­ Ø£Ùˆ Ø®Ø§Ø·Ø¦.",
+       "LOGIC_NULL_HELPURL": "https://en.wikipedia.org/wiki/Nullable_type",
+       "LOGIC_NULL": "Ùارغ",
+       "LOGIC_NULL_TOOLTIP": "ترجع Ù…لغى.",
+       "LOGIC_TERNARY_HELPURL": "https://en.wikipedia.org/wiki/%3F:",
+       "LOGIC_TERNARY_CONDITION": "اختبار",
+       "LOGIC_TERNARY_IF_TRUE": "إذا ÙƒØ§Ù†Øª Ø§Ù„عبارة ØµØ­ÙŠØ­Ø©",
+       "LOGIC_TERNARY_IF_FALSE": "إذا ÙƒØ§Ù†Øª Ø§Ù„عبارة Ø®Ø§Ø·Ø¦Ø©",
+       "LOGIC_TERNARY_TOOLTIP": "تحقق Ø§Ù„شرط ÙÙŠ 'الاختبار'. Ø¥Ø°Ø§ ÙƒØ§Ù† Ø§Ù„شرط ØµØ­ÙŠØ­ØŒ ÙŠÙ‚وم Ø¨Ø¥Ø±Ø¬Ø§Ø¹ Ù‚يمة 'اذا ÙƒØ§Ù†Øª Ø§Ù„عبارة ØµØ­ÙŠØ­Ø©'Ø› Ø®Ù„ا٠ذلك ÙŠØ±Ø¬Ø¹ Ù‚يمة 'اذا ÙƒØ§Ù†Øª Ø§Ù„عبارة Ø®Ø§Ø·Ø¦Ø©'.",
+       "MATH_NUMBER_HELPURL": "https://ar.wikipedia.org/wiki/%D8%B9%D8%AF%D8%AF",
+       "MATH_NUMBER_TOOLTIP": "عدد Ù…ا.",
+       "MATH_ADDITION_SYMBOL": "+",
+       "MATH_SUBTRACTION_SYMBOL": "-",
+       "MATH_DIVISION_SYMBOL": "÷",
+       "MATH_MULTIPLICATION_SYMBOL": "×",
+       "MATH_POWER_SYMBOL": "^",
+       "MATH_TRIG_SIN": "جيب",
+       "MATH_TRIG_COS": "جيب ØªÙ…ام",
+       "MATH_TRIG_TAN": "ظل",
+       "MATH_TRIG_ASIN": "asin",
+       "MATH_TRIG_ACOS": "acos",
+       "MATH_TRIG_ATAN": "atan",
+       "MATH_ARITHMETIC_HELPURL": "https://en.wikipedia.org/wiki/Arithmetic",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "يرجع Ù…جموع Ø§Ù„رقمين.",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "يرجع Ø§Ù„Ùرق Ø¨ÙŠÙ† Ø§Ù„رقمين.",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "يرجع Ø­Ø§ØµÙ„ Ø¶Ø±Ø¨ Ø§Ù„رقمين.",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "يرجع Ø­Ø§ØµÙ„ Ù‚سمة Ø§Ù„رقمين.",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "يرجع Ø§Ù„رقم Ø§Ù„أول Ù…رÙوع Ø¥Ù„Ù‰ ØªØ±Ø¨ÙŠØ¹ Ø§Ù„رقم Ø§Ù„ثاني.",
+       "MATH_SINGLE_HELPURL": "https://en.wikipedia.org/wiki/Square_root",
+       "MATH_SINGLE_OP_ROOT": "الجذر Ø§Ù„تربيعي",
+       "MATH_SINGLE_TOOLTIP_ROOT": "يرجع Ø§Ù„جذر Ø§Ù„تربيعي Ù„لرقم.",
+       "MATH_SINGLE_OP_ABSOLUTE": "مطلق",
+       "MATH_SINGLE_TOOLTIP_ABS": "يرجع Ø§Ù„قيمة Ø§Ù„مطلقة Ù„رقم.",
+       "MATH_SINGLE_TOOLTIP_NEG": "يرجع Ø¹Ø¯Ø¯ Ø³Ø§Ù„ب.",
+       "MATH_SINGLE_TOOLTIP_LN": "يرجع Ø§Ù„لوغاريتم Ø§Ù„طبيعي Ù„رقم.",
+       "MATH_SINGLE_TOOLTIP_LOG10": "يرجع Ù„وغاريتم Ø¹Ø¯Ø¯ Ù…عين Ù„لاساس 10.",
+       "MATH_SINGLE_TOOLTIP_EXP": "يرجع Ù‡â€ (e) Ù…رÙوعا Ù„أس Ø¨Ù‚يمة Ø§Ù„رقم Ø§Ù„مدخل.",
+       "MATH_SINGLE_TOOLTIP_POW10": "يرجع Ù…ضروب Ø§Ù„رقم 10 ÙÙŠ Ù†Ùسه .",
+       "MATH_TRIG_HELPURL": "https://en.wikipedia.org/wiki/Trigonometric_functions",
+       "MATH_TRIG_TOOLTIP_SIN": "يرجع Ø¬ÙŠØ¨ Ø§Ù„تمام Ù„درجة (لا Ø²ÙˆØ§ÙŠØ© Ù†ØµÙ Ù‚طرية).",
+       "MATH_TRIG_TOOLTIP_COS": "يرجع Ø¬ÙŠØ¨ Ø§Ù„تمام Ù„درجة (لا Ø²ÙˆØ§ÙŠØ© Ù†ØµÙ Ù‚طرية).",
+       "MATH_TRIG_TOOLTIP_TAN": "يرجع Ø§Ù„ظل Ù„درجة (لا Ø¯Ø§Ø¦Ø±Ø© Ù†ØµÙ Ù‚طرية).",
+       "MATH_TRIG_TOOLTIP_ASIN": "يرجع Ù‚وس Ø§Ù„جيب Ù„لرقم.",
+       "MATH_TRIG_TOOLTIP_ACOS": "يرجع Ù‚وس Ø¬ÙŠØ¨ Ø§Ù„تمام Ù„رقم.",
+       "MATH_TRIG_TOOLTIP_ATAN": "يرجع Ù‚وس Ø§Ù„ظل Ù„لرقم.",
+       "MATH_CONSTANT_HELPURL": "https://en.wikipedia.org/wiki/Mathematical_constant",
+       "MATH_CONSTANT_TOOLTIP": "ير Ø¬Ø¹ ÙˆØ§Ø­Ø¯ Ù…Ù† Ø§Ù„ثوابت Ø§Ù„شائعة : Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), or âˆž (infinity).",
+       "MATH_IS_EVEN": "هو Ø²ÙˆØ¬ÙŠ",
+       "MATH_IS_ODD": "هو Ùرذي",
+       "MATH_IS_PRIME": "هو Ø£ÙˆÙ„ÙŠ",
+       "MATH_IS_WHOLE": "هو ØµØ­ÙŠØ­",
+       "MATH_IS_POSITIVE": "هو Ù…وجب",
+       "MATH_IS_NEGATIVE": "هو Ø³Ø§Ù„ب",
+       "MATH_IS_DIVISIBLE_BY": "قابل Ù„لقسمة",
+       "MATH_IS_TOOLTIP": "تحقق Ø¥Ø°Ø§ ÙƒØ§Ù† Ø¹Ø¯Ø¯ Ù…ا Ø²ÙˆØ¬ÙŠØ§ØŒ Ùرذيا, Ø£ÙˆÙ„يا، ØµØ­ÙŠØ­Ø§ØŒÙ…وجبا Ø£Ùˆ Ø³Ø§Ù„با، Ø£Ùˆ Ø¥Ø°Ø§ ÙƒØ§Ù† Ù‚ابلا Ù„لقسمة Ø¹Ù„Ù‰ Ø¹Ø¯Ø¯ Ù…عين.  ÙŠØ±Ø¬Ø¹ ØµØ­ÙŠØ­ Ø£Ùˆ Ø®Ø§Ø·Ø¦.",
+       "MATH_CHANGE_HELPURL": "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter",
+       "MATH_CHANGE_TITLE": "غير %1 Ø¨Ù€ %2",
+       "MATH_CHANGE_TOOLTIP": "إض٠رقم Ø¥Ù„Ù‰ Ù…تغير '%1'.",
+       "MATH_ROUND_HELPURL": "https://en.wikipedia.org/wiki/Rounding",
+       "MATH_ROUND_TOOLTIP": "تقريب Ø§Ù„Ù‰ Ø§ÙƒØ¨Ø± Ø¹Ø¯Ø¯ ØµØ­ÙŠØ­ Ø£Ùˆ Ø§Ù„Ù‰ Ø§ØµØºØ± Ø¹Ø¯Ø¯ ØµØ­ÙŠØ­.",
+       "MATH_ROUND_OPERATOR_ROUND": "تقريب",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "تقريب Ø§Ù„Ù‰ Ø§ÙƒØ¨Ø± Ø¹Ø¯Ø¯ ØµØ­ÙŠØ­",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "تقريب Ø¥Ù„Ù‰ Ø§ØµØºØ± Ø¹Ø¯Ø¯ ØµØ­ÙŠØ­",
+       "MATH_ONLIST_OPERATOR_SUM": "مجموع Ø§Ù„قائمة",
+       "MATH_ONLIST_TOOLTIP_SUM": "يرجع Ù…جموع ÙƒØ§ÙØ© Ø§Ù„أرقام Ø§Ù„موجودة ÙÙŠ Ø§Ù„قائمة.",
+       "MATH_ONLIST_OPERATOR_MIN": "الحد Ø§Ù„أدنى Ù…Ù† Ù‚ائمة",
+       "MATH_ONLIST_TOOLTIP_MIN": "يرجع Ø£ØµØºØ± Ø±Ù‚Ù… ÙÙŠ Ø§Ù„قائمة.",
+       "MATH_ONLIST_OPERATOR_MAX": "الحد Ø§Ù„أقصى Ù„قائمة",
+       "MATH_ONLIST_TOOLTIP_MAX": "يرجع Ø£ÙƒØ¨Ø± Ø¹Ø¯Ø¯ ÙÙŠ Ø§Ù„قائمة.",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "متوسط Ø§Ù„قائمة",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "يرجع Ø§Ù„معدل (الوسط Ø§Ù„حسابي) Ù„لقيم Ø§Ù„رقمية ÙÙŠ Ø§Ù„قائمة.",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "متوسط Ø§Ù„قائمة",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "يرجع ÙˆØ³ÙŠØ· Ø§Ù„عدد ÙÙŠ Ø§Ù„قائمة.",
+       "MATH_ONLIST_OPERATOR_MODE": "منوال Ø§Ù„قائمة",
+       "MATH_ONLIST_TOOLTIP_MODE": "يرجع Ù‚ائمة Ù…Ù† Ø§Ù„عنصر Ø£Ùˆ Ø§Ù„عناصر Ø§Ù„أكثر Ø´ÙŠÙˆØ¹Ø§Ù‹ ÙÙŠ Ø§Ù„قائمة.",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "الانحرا٠المعياري Ù„لقائمة",
+       "MATH_ONLIST_TOOLTIP_STD_DEV": "يرجع Ø§Ù„انحرا٠المعياري Ù„لقائمة.",
+       "MATH_ONLIST_OPERATOR_RANDOM": "عنصر Ø¹Ø´ÙˆØ§Ø¦ÙŠ Ù…Ù† Ø§Ù„قائمة",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "يرجع Ø¹Ù†ØµØ± Ø¹Ø´ÙˆØ§Ø¦ÙŠ Ù…Ù† Ø§Ù„قائمة.",
+       "MATH_MODULO_HELPURL": "https://en.wikipedia.org/wiki/Modulo_operation",
+       "MATH_MODULO_TITLE": "باقي %1 Ã· %2",
+       "MATH_MODULO_TOOLTIP": "يرجع Ø§Ù„باقي Ù…Ù† Ù‚سمة Ø§Ù„رقمين.",
+       "MATH_CONSTRAIN_TITLE": "تقيد %1 Ù…نخÙض %2 Ù…رتÙع %3",
+       "MATH_CONSTRAIN_TOOLTIP": "تقييد Ø§Ù„عددليكون Ø¨ÙŠÙ† Ø§Ù„حدود Ø§Ù„محددة (ضمناً).",
+       "MATH_RANDOM_INT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_INT_TITLE": " Ø¹Ø¯Ø¯ ØµØ­ÙŠØ­ Ø¹Ø´ÙˆØ§Ø¦ÙŠ Ù…Ù† %1 Ø¥Ù„Ù‰ %2",
+       "MATH_RANDOM_INT_TOOLTIP": "يرجع Ø¹Ø¯Ø¯ ØµØ­ÙŠØ­ Ø¹Ø´ÙˆØ§Ø¦ÙŠ Ø¨ÙŠÙ† Ø­Ø¯ÙŠÙ† Ù…حددين, Ø¶Ù…نيا.",
+       "MATH_RANDOM_FLOAT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "كسر Ø¹Ø´ÙˆØ§Ø¦ÙŠ",
+       "MATH_RANDOM_FLOAT_TOOLTIP": "يرجع Ø¬Ø²Ø¡ Ø¹Ø´ÙˆØ§Ø¦ÙŠ Ø¨ÙŠÙ† 0.0 (ضمنياً) Ùˆ 1.0 (خارجيا).",
+       "TEXT_TEXT_HELPURL": "https://en.wikipedia.org/wiki/String_(computer_science)",
+       "TEXT_TEXT_TOOLTIP": "حر٠أو ÙƒÙ„مة Ø£Ùˆ Ø³Ø·Ø± Ù…Ù† Ø§Ù„نص.",
+       "TEXT_JOIN_TITLE_CREATEWITH": "انشئ Ù†Øµ Ù…ع",
+       "TEXT_JOIN_TOOLTIP": "أنشئ Ø¬Ø²Ø¡ Ù…Ù† Ø§Ù„نص Ø¨Ø§Ù„صاق Ø£ÙŠ Ø¹Ø¯Ø¯ Ù…Ù† Ø§Ù„عناصر Ø¨Ø¨Ø¹Ø¶Ù‡Ø§ Ø§Ù„بعض.",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "الانضمام Ø¥Ù„Ù‰",
+       "TEXT_CREATE_JOIN_TOOLTIP": "أضÙ, Ø¥Ø­Ø°Ù, Ø£Ùˆ Ø£Ø¹Ø¯ ØªØ±ØªÙŠØ¨ Ø§Ù„مقاطع Ù„إعادة ØªÙƒÙˆÙŠÙ† Ø§Ù„نص Ù…Ù† Ø§Ù„قطع Ø§Ù„تالية.",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "إض٠عنصر Ø¥Ù„Ù‰ Ø§Ù„نص.",
+       "TEXT_APPEND_TITLE": "إلى %1 Ø¥Ù„صق Ù†Øµ %2",
+       "TEXT_APPEND_TOOLTIP": "إلصق Ø¬Ø²Ø¡Ø§ Ù…Ù† Ø§Ù„نص Ø¥Ù„Ù‰ Ù…تغير '%1'.",
+       "TEXT_LENGTH_TITLE": "طول %1",
+       "TEXT_LENGTH_TOOLTIP": "تقوم Ø¨Ø¥Ø±Ø¬Ø§Ø¹ Ø¹Ø¯Ø¯ Ø§Ù„احر٠(بما ÙÙŠ Ø°Ù„Ùƒ Ø§Ù„Ùراغات) ÙÙŠ Ø§Ù„نص Ø§Ù„مقدم.",
+       "TEXT_ISEMPTY_TITLE": "%1 Ùارغ",
+       "TEXT_ISEMPTY_TOOLTIP": "يرجع \"صحيح\" Ø¥Ø°Ø§ ÙƒØ§Ù† Ø§Ù„نص Ø§Ù„مقدم Ùارغ.",
+       "TEXT_INDEXOF_TOOLTIP": "تقوم Ø¨Ø¥Ø±Ø¬Ø§Ø¹ Ù…ؤشر Ø§Ù„تواجد Ø§Ù„أول/الأخير Ù„لنص Ø§Ù„أول ÙÙŠ Ø§Ù„نص Ø§Ù„ثاني.  ØªÙ‚وم Ø¨Ø¥Ø±Ø¬Ø§Ø¹ %1 Ø¥Ø°Ø§ Ù„Ù… ÙŠØªÙ… Ø§Ù„عثور Ø¹Ù„Ù‰ Ø§Ù„نص.",
+       "TEXT_INDEXOF_TITLE": "ÙÙŠ Ø§Ù„نص %1 %2 %3",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "ابحث Ø¹Ù† Ø§Ù„تواجد Ø§Ù„أول Ù„لنص",
+       "TEXT_INDEXOF_OPERATOR_LAST": "ابحث Ø¹Ù† Ø§Ù„تواجد Ø§Ù„أخير Ù„لنص",
+       "TEXT_CHARAT_TITLE": "ÙÙŠ Ø§Ù„نص %1 %2",
+       "TEXT_CHARAT_FROM_START": "الحصول Ø¹Ù„Ù‰ Ø§Ù„حر٠#",
+       "TEXT_CHARAT_FROM_END": "الحصول Ø¹Ù„Ù‰ Ø§Ù„حر٠# Ù…Ù† Ù†Ù‡Ø§ÙŠØ©",
+       "TEXT_CHARAT_FIRST": "احصل Ø¹Ù„Ù‰ Ø§Ù„حر٠الأول",
+       "TEXT_CHARAT_LAST": "احصل Ø¹Ù„Ù‰ Ø¢Ø®Ø± Ø­Ø±Ù",
+       "TEXT_CHARAT_RANDOM": "الحصول Ø¹Ù„Ù‰ Ø­Ø±Ù Ø¹Ø´ÙˆØ§Ø¦ÙŠ",
+       "TEXT_CHARAT_TOOLTIP": "يرجع Ø­Ø±Ù Ù…ا ÙÙŠ Ø§Ù„موضع Ø§Ù„محدد.",
+       "TEXT_GET_SUBSTRING_TOOLTIP": "يرجع Ø¬Ø²Ø¡ Ù…عين Ù…Ù† Ø§Ù„نص.",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "ÙÙŠ Ø§Ù„نص",
+       "TEXT_GET_SUBSTRING_START_FROM_START": "الحصول Ø¹Ù„Ù‰ Ø³Ù„سلة Ø­Ø±ÙˆÙ Ùرعية Ù…Ù† Ø§Ù„حر٠#",
+       "TEXT_GET_SUBSTRING_START_FROM_END": "الحصول Ø¹Ù„Ù‰ Ø³Ù„سلة Ø­Ø±ÙˆÙ Ùرعية Ù…Ù† Ø§Ù„حر٠# Ù…Ù† Ù†Ù‡Ø§ÙŠØ©",
+       "TEXT_GET_SUBSTRING_START_FIRST": "الحصول Ø¹Ù„Ù‰ Ø³Ù„سلة Ùرعية Ù…Ù† Ø§Ù„حر٠الأول",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "إلى Ø­Ø±Ù #",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "إلى Ø­Ø±Ù # Ù…Ù† Ù†Ù‡Ø§ÙŠØ©",
+       "TEXT_GET_SUBSTRING_END_LAST": "إلى Ø¢Ø®Ø± Ø­Ø±Ù",
+       "TEXT_CHANGECASE_TOOLTIP": "يرجع Ù†Ø³Ø®Ø© Ù…Ù† Ø§Ù„نص ÙÙŠ Ø­Ø§Ù„Ø© Ù…ختلÙØ©.",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "الى Ø­Ø±ÙˆÙ ÙƒØ¨ÙŠØ±Ø©",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "الى Ø­Ø±ÙˆÙ ØµØºÙŠØ±Ø©",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": "الى Ø­Ø±ÙˆÙ Ø§Ù„عنوان",
+       "TEXT_TRIM_TOOLTIP": "يرجع Ù†Ø³Ø®Ø© Ù…Ù† Ø§Ù„نص Ù…ع Ø­Ø°Ù Ù…Ù† Ø£Ø­Ø¯ Ø£Ùˆ ÙƒÙ„ا Ø§Ù„Ùراغات Ù…Ù† Ø£Ø·Ø±Ø§ÙÙ‡.",
+       "TEXT_TRIM_OPERATOR_BOTH": "إزالة Ø§Ù„Ùراغات Ù…Ù† ÙƒÙ„ا Ø§Ù„جانبين",
+       "TEXT_TRIM_OPERATOR_LEFT": "إزالة Ø§Ù„Ùراغات Ù…Ù† Ø§Ù„جانب Ø§Ù„أيسر Ù…Ù†",
+       "TEXT_TRIM_OPERATOR_RIGHT": "إزالة Ø§Ù„Ùراغات Ù…Ù† Ø§Ù„جانب Ø§Ù„أيمن Ù…Ù†",
+       "TEXT_PRINT_TITLE": "اطبع %1",
+       "TEXT_PRINT_TOOLTIP": "اطبع Ø§Ù„نص Ø§Ù„محدد Ø£Ùˆ Ø§Ù„عدد Ø£Ùˆ Ù‚يمة Ø£Ø®Ø±Ù‰.",
+       "TEXT_PROMPT_TYPE_TEXT": "انتظر Ø§Ø¯Ø®Ø§Ù„ Ø§Ù„مستخدم Ù„نص Ù…ا Ù…ع Ø§Ø¸Ù‡Ø§Ø± Ø±Ø³Ø§Ù„Ø©",
+       "TEXT_PROMPT_TYPE_NUMBER": "انتظر Ø§Ø¯Ø®Ø§Ù„ Ø§Ù„مستخدم Ù„رقم Ù…ا Ù…ع Ø§Ø¸Ù‡Ø§Ø± Ø±Ø³Ø§Ù„Ø©",
+       "TEXT_PROMPT_TOOLTIP_NUMBER": "انتظر Ø§Ø¯Ø®Ø§Ù„ Ø§Ù„مستخذم Ù„رقم Ù…ا.",
+       "TEXT_PROMPT_TOOLTIP_TEXT": "انتظر Ø§Ø¯Ø®Ø§Ù„ Ø§Ù„مستخدم Ù„نص Ù…ا.",
+       "TEXT_COUNT_MESSAGE0": "العدد %1 ÙÙŠ %2",
+       "TEXT_COUNT_TOOLTIP": "احسب ÙƒÙ… Ø¹Ø¯Ø¯ Ø¨Ø¹Ø¶ Ø§Ù„نصوص ØªØªÙƒØ±Ø± Ø¶Ù…Ù† Ù†Øµ Ø§Ø®Ø±.",
+       "TEXT_REPLACE_MESSAGE0": "بدل %1 Ø¨ %2 ÙÙŠ %3",
+       "TEXT_REPLACE_TOOLTIP": "استبدل Ø¬Ù…يع Ø­Ø§Ù„ات Ø­Ø¯ÙˆØ« Ø¨Ø¹Ø¶ Ø§Ù„نصوص Ø¯Ø§Ø®Ù„ Ù†Øµ Ø¢Ø®Ø±.",
+       "TEXT_REVERSE_MESSAGE0": "عكس %1",
+       "TEXT_REVERSE_TOOLTIP": "يعكس ØªØ±ØªÙŠØ¨ Ø­Ø±ÙˆÙ Ø§Ù„نص",
+       "LISTS_CREATE_EMPTY_HELPURL": "https://github.com/google/blockly/wiki/Lists#create-empty-list",
+       "LISTS_CREATE_EMPTY_TITLE": "إنشئ Ù‚ائمة Ùارغة",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "تقوم Ø¨Ø¥Ø±Ø¬Ø§Ø¹ Ù‚ائمة، Ø·ÙˆÙ„ها 0, Ù„ا ØªØ­ØªÙˆÙŠ Ø¹Ù„Ù‰ Ø£ÙŠØ© Ø³Ø¬Ù„ات Ø§Ù„بيانات",
+       "LISTS_CREATE_WITH_TOOLTIP": "أنشيء Ù‚ائمة Ù…Ù† Ø£ÙŠ Ø¹Ø¯Ø¯ Ù…Ù† Ø§Ù„عناصر.",
+       "LISTS_CREATE_WITH_INPUT_WITH": "أتشئ Ù‚ائمة Ù…ع",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "قائمة",
+       "LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "أضÙ, Ø¥Ø²Ù„, Ø£Ùˆ Ø£Ø¹Ø¯ ØªØ±ØªÙŠØ¨ Ø§Ù„مقاطع Ù„إعادة ØªÙƒÙˆÙŠÙ† Ø§Ù„قطعة Ù‚ائمة Ø§Ù„قطع Ø§Ù„تالية.",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "أض٠عنصرا Ø¥Ù„Ù‰ Ø§Ù„قائمة.",
+       "LISTS_REPEAT_TOOLTIP": "انشئ Ù‚ائمة ØªØªØ£Ù„٠من Ø§Ù„قيمة Ø§Ù„معطاة Ù…تكررة Ù„عدد Ù…حدد Ù…Ù† Ø§Ù„مرات.",
+       "LISTS_REPEAT_TITLE": "إنشئ Ù‚ائمة Ù…ع Ø§Ù„عنصر  %1 %2 Ù…رات",
+       "LISTS_LENGTH_TITLE": "الطول Ù…Ù† %1",
+       "LISTS_LENGTH_TOOLTIP": "تقوم Ø¨Ø¥Ø±Ø¬Ø§Ø¹ Ø·ÙˆÙ„ Ù‚ائمة.",
+       "LISTS_ISEMPTY_TITLE": "%1 Ùارغ",
+       "LISTS_ISEMPTY_TOOLTIP": "يرجع \"صحيح\" Ø¥Ø°Ø§ ÙƒØ§Ù†Øª Ø§Ù„قائمة Ùارغة.",
+       "LISTS_INLIST": "ÙÙŠ Ù‚ائمة",
+       "LISTS_INDEX_OF_FIRST": "ابحث Ø¹Ù„Ù‰ Ø¹Ù„Ù‰ Ø§Ù„تواجد Ø§Ù„أول Ù„لعنصر",
+       "LISTS_INDEX_OF_LAST": "ابحث Ø¹Ù„Ù‰ Ø§Ù„تواجد Ø§Ù„أخير Ù„لعنصر",
+       "LISTS_INDEX_OF_TOOLTIP": "تقوم Ø¨Ø¥Ø±Ø¬Ø§Ø¹ Ù…ؤشر Ø§Ù„تواجد  Ø§Ù„أول/الأخير ÙÙŠ Ø§Ù„قائمة.  ØªÙ‚وم Ø¨Ø¥Ø±Ø¬Ø§Ø¹ %1 Ø¥Ø°Ø§ Ù„Ù… ÙŠØªÙ… Ø§Ù„عثور Ø¹Ù„Ù‰ Ø§Ù„نص.",
+       "LISTS_GET_INDEX_GET": "احصل Ø¹Ù„Ù‰",
+       "LISTS_GET_INDEX_GET_REMOVE": "احصل Ø¹Ù„Ù‰ Ùˆ Ø§Ø²Ù„",
+       "LISTS_GET_INDEX_REMOVE": "ازل",
+       "LISTS_GET_INDEX_FROM_START": "#",
+       "LISTS_GET_INDEX_FROM_END": "# Ù…Ù† Ù†Ù‡Ø§ÙŠØ©",
+       "LISTS_GET_INDEX_FIRST": "أول",
+       "LISTS_GET_INDEX_LAST": "أخير",
+       "LISTS_GET_INDEX_RANDOM": "عشوائي",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "%1 Ù‡Ùˆ Ø§Ù„عنصر Ø§Ù„أول.",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "%1 Ù‡Ùˆ Ø§Ù„عنصر Ø§Ù„أخير.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "يقوم Ø¨Ø¥Ø±Ø¬Ø§Ø¹ Ø§Ù„عنصر ÙÙŠ Ø§Ù„موضع Ø§Ù„محدد ÙÙŠ Ù‚ائمة Ù…ا.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "يرجع Ø§Ù„عنصر Ø§Ù„أول ÙÙŠ Ù‚ائمة Ù…ا.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "يرجع Ø§Ù„عنصر Ø§Ù„أخير ÙÙŠ Ù‚ائمة Ù…ا.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "يرجع Ø¹Ù†ØµØ±Ø§ Ø¹Ø´ÙˆØ§Ø¦ÙŠØ§ ÙÙŠ Ù‚ائمة.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "يزيل ÙˆÙŠÙ‚وم Ø¨Ø¥Ø±Ø¬Ø§Ø¹ Ø§Ù„عنصر ÙÙŠ Ø§Ù„موضع Ø§Ù„محدد ÙÙŠ Ù‚ائمة Ù…ا.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "يزيل ÙˆÙŠØ±Ø¬Ø¹ Ø§Ù„عنصر Ø§Ù„أول ÙÙŠ Ù‚ائمة.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "يزيل ÙˆÙŠØ±Ø¬Ø¹ Ø§Ù„عنصر Ø§Ù„أخير ÙÙŠ Ù‚ائمة Ù…ا.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "يزيل Ùˆ ÙŠØ±Ø¬Ø¹ Ø¹Ù†ØµØ±Ø§ Ø¹Ø´ÙˆØ§Ø¦ÙŠØ§ ÙÙŠ Ù‚ائمة Ù…ا.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "يزيل Ø§Ù„عنصر Ø§Ù„موجود ÙÙŠ Ø§Ù„موضع Ø§Ù„محدد ÙÙŠ Ù‚ائمة Ù…ا.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "يزيل Ø§Ù„عنصر Ø§Ù„أول ÙÙŠ Ù‚ائمة Ù…ا.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "يزيل Ø§Ù„عنصر Ø§Ù„أخير ÙÙŠ Ù‚ائمة Ù…ا.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "يزيل Ø¹Ù†ØµØ±Ø§ Ø¹Ø´ÙˆØ§Ø¦ÙŠØ§ ÙÙŠ Ù‚ائمة Ù…ا.",
+       "LISTS_SET_INDEX_SET": "تعيين",
+       "LISTS_SET_INDEX_INSERT": "أدخل ÙÙŠ",
+       "LISTS_SET_INDEX_INPUT_TO": "مثل",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "يحدد Ø§Ù„عنصر ÙÙŠ Ø§Ù„موضع Ø§Ù„محدد ÙÙŠ Ù‚ائمة Ù…ا.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "يحدد Ø§Ù„عنصر Ø§Ù„أول ÙÙŠ Ù‚ائمة.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_LAST": "يحدد Ø§Ù„عنصر Ø§Ù„أخير ÙÙŠ Ù‚ائمة.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "يحدد Ø¹Ù†ØµØ±Ø§ Ø¹Ø´ÙˆØ§Ø¦ÙŠØ§ ÙÙŠ Ù‚ائمة.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "يقوم Ø¨Ø¥Ø¯Ø®Ø§Ù„ Ø§Ù„عنصر ÙÙŠ Ø§Ù„موضع Ø§Ù„محدد ÙÙŠ Ù‚ائمة Ù…ا.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "يقوم Ø¨Ø¥Ø¯Ø±Ø§Ø¬ Ù‡Ø°Ø§ Ø§Ù„عنصر ÙÙŠ Ø¨Ø¯Ø§ÙŠØ© Ù‚ائمة.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "ألصق Ù‡Ø°Ø§ Ø§Ù„عنصر Ø¨Ù†Ù‡Ø§ÙŠØ© Ù‚ائمة.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "ادخل Ø§Ù„عنصر Ø¹Ø´ÙˆØ§Ø¦ÙŠØ§Ù‹ ÙÙŠ Ø§Ù„قائمة.",
+       "LISTS_GET_SUBLIST_START_FROM_START": "احصل Ø¹Ù„Ù‰ Ù‚ائمة Ùرعية Ù…Ù† #",
+       "LISTS_GET_SUBLIST_START_FROM_END": "احصل  Ø¹Ù„Ù‰ Ù‚ائمة Ùرعية Ù…Ù† # Ù…Ù† Ù†Ù‡Ø§ÙŠØ©",
+       "LISTS_GET_SUBLIST_START_FIRST": "احصل Ø¹Ù„Ù‰ Ù‚ائمة Ùرعية Ù…Ù† Ø§Ù„أول",
+       "LISTS_GET_SUBLIST_END_FROM_START": "إلى #",
+       "LISTS_GET_SUBLIST_END_FROM_END": "إلى # Ù…Ù† Ù†Ù‡Ø§ÙŠØ©",
+       "LISTS_GET_SUBLIST_END_LAST": "إلى Ø§Ù„أخير",
+       "LISTS_GET_SUBLIST_TOOLTIP": "يقوم Ø¨Ø¥Ù†Ø´Ø§Ø¡ Ù†Ø³Ø®Ø© Ù…Ù† Ø§Ù„جزء Ø§Ù„محدد Ù…Ù† Ù‚ائمة Ù…ا.",
+       "LISTS_SORT_HELPURL": "https://github.com/google/blockly/wiki/Lists#sorting-a-list",
+       "LISTS_SORT_TITLE": "رتب %1 %2 %3",
+       "LISTS_SORT_TOOLTIP": "Ùرز Ù†Ø³Ø®Ø© Ù…Ù† Ø§Ù„قائمة.",
+       "LISTS_SORT_ORDER_ASCENDING": "تصاعديا",
+       "LISTS_SORT_ORDER_DESCENDING": "تنازليا",
+       "LISTS_SORT_TYPE_NUMERIC": "رقمي",
+       "LISTS_SORT_TYPE_TEXT": "أبجديًا",
+       "LISTS_SORT_TYPE_IGNORECASE": "أبجديا، ÙˆØªØ¬Ø§Ù‡Ù„ Ø§Ù„حالة",
+       "LISTS_SPLIT_LIST_FROM_TEXT": "إعداد Ù‚ائمة Ù…Ù† Ø§Ù„نصوص",
+       "LISTS_SPLIT_TEXT_FROM_LIST": "إعداد Ù†Øµ Ù…Ù† Ø§Ù„قائمة",
+       "LISTS_SPLIT_WITH_DELIMITER": "مع Ù…حدد",
+       "LISTS_SPLIT_TOOLTIP_SPLIT": "تقسيم Ø§Ù„نص Ø¥Ù„Ù‰ Ù‚ائمة Ù…Ù† Ø§Ù„نصوص، ÙˆÙƒØ³Ø± ÙÙŠ ÙƒÙ„ Ù…حدد",
+       "LISTS_SPLIT_TOOLTIP_JOIN": "ضم Ù‚ائمة Ø§Ù„نصوص ÙÙŠ Ù†Øµ ÙˆØ§Ø­Ø¯ØŒ Ù…Ùصولة Ø¨ÙˆØ§Ø³Ø·Ø© Ù…حدد.",
+       "LISTS_REVERSE_MESSAGE0": "عكس %1",
+       "LISTS_REVERSE_TOOLTIP": "عكس Ù†Ø³Ø®Ø© Ù…Ù† Ø§Ù„قائمة.",
+       "VARIABLES_GET_TOOLTIP": "يرجع Ù‚يمة Ù‡Ø°Ø§ Ø§Ù„متغير.",
+       "VARIABLES_GET_CREATE_SET": "انشئ 'التعيين %1'",
+       "VARIABLES_SET": "تعيين %1 Ø¥Ù„Ù‰ %2",
+       "VARIABLES_SET_TOOLTIP": "تعيين Ù‡Ø°Ø§ Ø§Ù„متغير Ù„تكون Ù…ساوية Ù„لقيمة Ø§Ù„مدخلة.",
+       "VARIABLES_SET_CREATE_GET": "انشئ 'احصل Ø¹Ù„Ù‰ %1'",
+       "PROCEDURES_DEFNORETURN_HELPURL": "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29",
+       "PROCEDURES_DEFNORETURN_TITLE": "إلى",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "القيام Ø¨Ø´ÙŠØ¡ Ù…ا",
+       "PROCEDURES_BEFORE_PARAMS": "مع:",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "مع:",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "انشئ Ø¯Ø§Ù„Ø© Ø¨Ø¯ÙˆÙ† Ù…خرجات .",
+       "PROCEDURES_DEFNORETURN_COMMENT": "ص٠هذه Ø§Ù„وظيÙØ©...",
+       "PROCEDURES_DEFRETURN_HELPURL": "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29",
+       "PROCEDURES_DEFRETURN_RETURN": "يرجع",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "انشئ Ø¯Ø§Ù„Ø© Ù…ع Ø§Ù„مخرجات.",
+       "PROCEDURES_ALLOW_STATEMENTS": "اسمح Ø¨Ø§Ù„بيانات",
+       "PROCEDURES_DEF_DUPLICATE_WARNING": "تحذير: Ù‡Ø°Ù‡ Ø§Ù„دالة ØªØ­ØªÙˆÙŠ Ø¹Ù„Ù‰ Ù…علمات Ù…كررة.",
+       "PROCEDURES_CALLNORETURN_HELPURL": "https://en.wikipedia.org/wiki/Subroutine",
+       "PROCEDURES_CALLNORETURN_TOOLTIP": "تشغيل Ø§Ù„دالة Ø§Ù„معرÙØ© Ù…Ù† Ù‚بل Ø§Ù„مستخدم '%1'.",
+       "PROCEDURES_CALLRETURN_HELPURL": "https://en.wikipedia.org/wiki/Subroutine",
+       "PROCEDURES_CALLRETURN_TOOLTIP": "تشغيل Ø§Ù„دالة Ø§Ù„معرÙØ© Ù…Ù† Ù‚بل Ø§Ù„مستخدم %1 ÙˆØ§Ø³ØªØ®Ø¯Ø§Ù…  Ù…خرجاتها.",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "المدخلات",
+       "PROCEDURES_MUTATORCONTAINER_TOOLTIP": "إضاÙØ© Ø£Ùˆ Ø¥Ø²Ø§Ù„Ø© Ø£Ùˆ Ø¥Ø¹Ø§Ø¯Ø© ØªØ±ØªÙŠØ¨ Ø§Ù„مدخلات Ù„هذه Ø§Ù„مهمة.",
+       "PROCEDURES_MUTATORARG_TITLE": "اسم Ø§Ù„إدخال:",
+       "PROCEDURES_MUTATORARG_TOOLTIP": "أض٠مدخلا Ø¥Ù„Ù‰ Ø§Ù„وظيÙØ©.",
+       "PROCEDURES_HIGHLIGHT_DEF": "تسليط Ø§Ù„ضوء Ø¹Ù„Ù‰ ØªØ¹Ø±ÙŠÙ Ø§Ù„دالة",
+       "PROCEDURES_CREATE_DO": "إنشئ '%1'",
+       "PROCEDURES_IFRETURN_TOOLTIP": "إذا ÙƒØ§Ù†Øª Ø§Ù„قيمة ØµØ­ÙŠØ­Ø© ØŒ Ø§Ø°Ø§Ù† Ù‚Ù… Ø¨Ø§Ø±Ø¬Ø§Ø¹ Ø§Ù„قيمة Ø§Ù„ثانية.",
+       "PROCEDURES_IFRETURN_WARNING": "تحذير:هذه Ø§Ù„قطعة ØªØ³ØªØ®Ø¯Ù… Ùقط Ø¯Ø§Ø®Ù„ ØªØ¹Ø±ÙŠÙ Ø¯Ø§Ù„Ø©.",
+       "WORKSPACE_COMMENT_DEFAULT_TEXT": "قل Ø´ÙŠØ¦Ø§..."
+}
diff --git a/js/msg/json/az.json b/js/msg/json/az.json
new file mode 100644 (file)
index 0000000..87e0e25
--- /dev/null
@@ -0,0 +1,355 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Cekli829",
+                       "AZISS",
+                       "Masalli qasimli"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "element",
+       "TODAY": "Bugün",
+       "DUPLICATE_BLOCK": "Dublikat",
+       "ADD_COMMENT": "Şərh É™lavÉ™ et",
+       "REMOVE_COMMENT": "Şərhi sil",
+       "DUPLICATE_COMMENT": "Şərhin nüsxÉ™sini yarat",
+       "EXTERNAL_INPUTS": "Xarici giriÅŸlÉ™r",
+       "INLINE_INPUTS": "SÉ™tiriçi giriÅŸlÉ™r",
+       "DELETE_BLOCK": "Bloku sil",
+       "DELETE_X_BLOCKS": "%1 bloku sil",
+       "DELETE_ALL_BLOCKS": "Bütün %1 blok silinsin?",
+       "CLEAN_UP": "Blokları tÉ™mizlÉ™",
+       "COLLAPSE_BLOCK": "Bloku yığ",
+       "COLLAPSE_ALL": "Blokları yığ",
+       "EXPAND_BLOCK": "Bloku aç",
+       "EXPAND_ALL": "Blokları aç",
+       "DISABLE_BLOCK": "Bloku söndür",
+       "ENABLE_BLOCK": "Bloku aktivləşdir",
+       "HELP": "KömÉ™k",
+       "UNDO": "Geri",
+       "REDO": "Ä°rÉ™li",
+       "CHANGE_VALUE_TITLE": "QiymÉ™ti dÉ™yiÅŸ:",
+       "RENAME_VARIABLE": "DÉ™yiÅŸÉ™nin adını dÉ™yiÅŸ...",
+       "RENAME_VARIABLE_TITLE": "Bütün '%1' dÉ™yiÅŸÉ™nlÉ™rinin adını buna dÉ™yiÅŸ:",
+       "NEW_VARIABLE": "Yeni dÉ™yiÅŸÉ™n...",
+       "NEW_STRING_VARIABLE": "Yeni sÉ™tir dÉ™yiÅŸÉ™ni...",
+       "NEW_NUMBER_VARIABLE": "Yeni rÉ™qÉ™m dÉ™yiÅŸÉ™ni...",
+       "NEW_COLOUR_VARIABLE": "Yeni rÉ™ng dÉ™yiÅŸÉ™ni...",
+       "NEW_VARIABLE_TYPE_TITLE": "Yeni dÉ™yiÅŸÉ™nin tipi:",
+       "NEW_VARIABLE_TITLE": "Yeni dÉ™yiÅŸÉ™nin adı:",
+       "VARIABLE_ALREADY_EXISTS": "'%1' adlı dÉ™yiÅŸÉ™n artıq mövcuddur.",
+       "VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE": "'%1' adlı dÉ™yiÅŸÉ™n artıq '%2': tipindÉ™ istifadÉ™ edilir .",
+       "DELETE_VARIABLE_CONFIRMATION": "'%2' dÉ™yiÅŸÉ™ninin %1 istifadÉ™sini silÉ™k?",
+       "CANNOT_DELETE_VARIABLE_PROCEDURE": "'%1' dÉ™yiÅŸÉ™nini silmÉ™k mümkün deyil, Ã§Ã¼nki o '%2' funksiyasının tÉ™yin hissÉ™sidir",
+       "DELETE_VARIABLE": "'%1' adlı dÉ™yiÅŸÉ™ni sil",
+       "COLOUR_PICKER_HELPURL": "https://az.wikipedia.org/wiki/RÉ™ng",
+       "COLOUR_PICKER_TOOLTIP": "Palitradan bir rÉ™ng seçin.",
+       "COLOUR_RANDOM_TITLE": "tÉ™sadüfi rÉ™ng",
+       "COLOUR_RANDOM_TOOLTIP": "TÉ™sadüfi bir rÉ™ng seçin.",
+       "COLOUR_RGB_HELPURL": "http://www.december.com/html/spec/colorper.html",
+       "COLOUR_RGB_TITLE": "rÉ™nglÉ™",
+       "COLOUR_RGB_RED": "qırmızı",
+       "COLOUR_RGB_GREEN": "yaşıl",
+       "COLOUR_RGB_BLUE": "mavi",
+       "COLOUR_RGB_TOOLTIP": "Qırmızı, yaşıl vÉ™ mavinin göstÉ™rilÉ™n miqdarı ilÉ™ bir rÉ™ng düzÉ™lt. Bütün qiymÉ™tlÉ™r 0 ilÉ™ 100 arasında olmalıdır.",
+       "COLOUR_BLEND_HELPURL": "http://meyerweb.com/eric/tools/color-blend/",
+       "COLOUR_BLEND_TITLE": "qarışdır",
+       "COLOUR_BLEND_COLOUR1": "rÉ™ng 1",
+       "COLOUR_BLEND_COLOUR2": "rÉ™ng 2",
+       "COLOUR_BLEND_RATIO": "nisbÉ™t",
+       "COLOUR_BLEND_TOOLTIP": "Ä°ki rÉ™ngi verilmiÅŸ nisbÉ™tdÉ™ (0,0 - 1,0) qarışdırır.",
+       "CONTROLS_REPEAT_HELPURL": "https://az.wikipedia.org/wiki/For_loop",
+       "CONTROLS_REPEAT_TITLE": "%1 dÉ™fÉ™ tÉ™krar et",
+       "CONTROLS_REPEAT_INPUT_DO": "icra et",
+       "CONTROLS_REPEAT_TOOLTIP": "BÉ™zi É™mrlÉ™ri bir neçə dÉ™fÉ™ yerinÉ™ yetir.",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "tÉ™krar et, hÉ™lÉ™ ki",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "tÉ™krar et, ta ki",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "HÉ™lÉ™ ki, qiymÉ™t \"doÄŸru\"dur, bÉ™zi É™mrlÉ™ri yerinÉ™ yetir.",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "HÉ™lÉ™ ki, qiymÉ™t \"yalan\"dır, bÉ™zi É™mrlÉ™ri yerinÉ™ yetir.",
+       "CONTROLS_FOR_TOOLTIP": "\"%1\" dÉ™yiÅŸÉ™ni baÅŸlanğıc É™dÉ™ddÉ™n son É™dÉ™dÉ™ qÉ™dÉ™r göstÉ™rilÉ™n aralıqla qiymÉ™tlÉ™r aldıqca göstÉ™rilÉ™n blokları yerinÉ™ yetir.",
+       "CONTROLS_FOR_TITLE": "say: %1 %2 ilÉ™ baÅŸlayıb, %3 qiymÉ™tinÉ™ kimi %4 qÉ™dÉ™r dÉ™yiÅŸ",
+       "CONTROLS_FOREACH_TITLE": "hÉ™r element Ã¼Ã§Ã¼n %1 siyahıda %2",
+       "CONTROLS_FOREACH_TOOLTIP": "Siyahıdakı hÉ™r element Ã¼Ã§Ã¼n \"%1\" dÉ™yiÅŸÉ™nini elementÉ™ mÉ™nimsÉ™t vÉ™ bundan sonra bÉ™zi É™mrlÉ™ri yerinÉ™ yetir.",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "dövrdÉ™n Ã§Ä±x",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "dövrün növbÉ™ti addımından davam et",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "Cari dövrdÉ™n Ã§Ä±x.",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "Bu dövrün qalanını Ã¶tür vÉ™ növbÉ™ti addımla davam et.",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "XÉ™bÉ™rdarlıq: Bu blok ancaq dövr daxilindÉ™ istifadÉ™ oluna bilÉ™r.",
+       "CONTROLS_IF_TOOLTIP_1": "ÆgÉ™r qiymÉ™t doÄŸrudursa, onda bÉ™zi É™mrlÉ™ri yerinÉ™ yetir.",
+       "CONTROLS_IF_TOOLTIP_2": "ÆgÉ™r qiymÉ™t doÄŸrudursa, onda birinci É™mrlÉ™r blokunu yerinÉ™ yetir. Æks halda isÉ™ ikinci É™mrlÉ™r blokunu yerinÉ™ yetir.",
+       "CONTROLS_IF_TOOLTIP_3": "ÆgÉ™r birinci qiymÉ™t doÄŸrudursa, onda birinci É™mrlÉ™r blokunu yerinÉ™ yetir. Æks halda É™gÉ™r ikinci qiymÉ™t doÄŸrudursa, onda ikinci É™mrlÉ™r blokunu yerinÉ™ yetir.",
+       "CONTROLS_IF_TOOLTIP_4": "ÆgÉ™r birinci qiymÉ™t doÄŸrudursa, onda birinci É™mrlÉ™r blokunu yerinÉ™ yetir. Æks halda É™gÉ™r ikinci qiymÉ™t doÄŸrudursa, onda ikinci É™mrlÉ™r blokunu yerinÉ™ yetir. ÆgÉ™r qiymÉ™tlÉ™rdÉ™n heç biri doÄŸru deyilsÉ™, onda axırıncı É™mrlÉ™r blokunu yerinÉ™ yetir.",
+       "CONTROLS_IF_MSG_IF": "É™gÉ™r",
+       "CONTROLS_IF_MSG_ELSEIF": "É™ks halda É™gÉ™r",
+       "CONTROLS_IF_MSG_ELSE": "É™ks halda",
+       "CONTROLS_IF_IF_TOOLTIP": "Bu \"É™gÉ™r\" blokunu dÉ™yiÅŸdirmÉ™k Ã¼Ã§Ã¼n bölümlÉ™rin yenisini É™lavÉ™ et, sil vÉ™ ya yerini dÉ™yiÅŸ.",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "\"ÆgÉ™r\" blokuna bir ÅŸÉ™rt É™lavÉ™ et.",
+       "CONTROLS_IF_ELSE_TOOLTIP": "\"ÆgÉ™r\" blokuna qalan bütün halları É™hatÉ™ edÉ™b son bir ÅŸÉ™rt É™lavÉ™ et.",
+       "IOS_OK": "OK",
+       "IOS_CANCEL": "Ləğv et",
+       "IOS_ERROR": "XÉ™ta",
+       "IOS_PROCEDURES_INPUTS": "GÄ°RÄ°Åž",
+       "IOS_PROCEDURES_ADD_INPUT": "+ GiriÅŸ É™lavÉ™ et",
+       "IOS_PROCEDURES_ALLOW_STATEMENTS": "Operatorlara icazÉ™",
+       "IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR": "Bu funksiyada tÉ™krarlanan giriÅŸ dÉ™yiÅŸÉ™nlÉ™ri vardır.",
+       "IOS_VARIABLES_ADD_VARIABLE": "+ DÉ™yiÅŸÉ™n É™lavÉ™ et",
+       "IOS_VARIABLES_ADD_BUTTON": "ÆlavÉ™ et",
+       "IOS_VARIABLES_RENAME_BUTTON": "Adını dÉ™yiÅŸ",
+       "IOS_VARIABLES_DELETE_BUTTON": "Sil",
+       "IOS_VARIABLES_VARIABLE_NAME": "DÉ™yiÅŸÉ™nin adı",
+       "IOS_VARIABLES_EMPTY_NAME_ERROR": "Adsız dÉ™yiÅŸÉ™n istifadÉ™ edÉ™ bilmÉ™zsiniz.",
+       "LOGIC_COMPARE_HELPURL": "https://az.wikipedia.org/wiki/bÉ™rabÉ™rsizlik_(riyazi)",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "GiriÅŸlÉ™r bir birinÉ™ bÉ™rabÉ™rdirsÉ™ \"doÄŸru\" cavabını qaytarır.",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "GiriÅŸlÉ™r bÉ™rabÉ™r deyillÉ™rsÉ™ \"doÄŸru\" cavabını qaytarır.",
+       "LOGIC_COMPARE_TOOLTIP_LT": "Birinci giriÅŸ ikincidÉ™n kiçikdirsÉ™ \"doÄŸru\" cavabını qaytarır.",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "Birinci giriÅŸ ikincidÉ™n kiçik vÉ™ ya bÉ™rarbÉ™rdirsÉ™ \"doÄŸru\" cavabını qaytarır.",
+       "LOGIC_COMPARE_TOOLTIP_GT": "Birinci giriÅŸ ikincidÉ™n böyükdürsÉ™ \"doÄŸru\" cavabını qaytarır.",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "Birinci giriÅŸ ikincidÉ™n böyük vÉ™ ya bÉ™rarbÉ™rdirsÉ™ \"doÄŸru\" cavabını qaytarır.",
+       "LOGIC_OPERATION_TOOLTIP_AND": "HÉ™r iki giriÅŸ \"doÄŸru\"-dursa \"doÄŸru\" cavabını qaytarır.",
+       "LOGIC_OPERATION_AND": "vÉ™",
+       "LOGIC_OPERATION_TOOLTIP_OR": "GiriÅŸlÉ™rdÉ™n heç olmasa biri \"doÄŸru\"-dursa \"doÄŸru\" cavabını qaytarır.",
+       "LOGIC_OPERATION_OR": "vÉ™ ya",
+       "LOGIC_NEGATE_TITLE": "%1 deyil",
+       "LOGIC_NEGATE_TOOLTIP": "GiriÅŸ \"yalan\"-dursa \"doÄŸru\" cavabını qaytarır. GiriÅŸ \"doÄŸru\"-dursa \"sÉ™hf\" cavabını qaytarır.",
+       "LOGIC_BOOLEAN_TRUE": "doÄŸru",
+       "LOGIC_BOOLEAN_FALSE": "sÉ™hf",
+       "LOGIC_BOOLEAN_TOOLTIP": "\"doÄŸru\" vÉ™ ya \"sÉ™hf\" cavanını qaytarır.",
+       "LOGIC_NULL": "boÅŸ",
+       "LOGIC_NULL_TOOLTIP": "BoÅŸ cavab qaytarır.",
+       "LOGIC_TERNARY_CONDITION": "test",
+       "LOGIC_TERNARY_IF_TRUE": "É™gÉ™r doÄŸrudursa",
+       "LOGIC_TERNARY_IF_FALSE": "É™gÉ™r sÉ™hfdirsÉ™",
+       "LOGIC_TERNARY_TOOLTIP": "'Yoxla' É™mrindÉ™ki ÅŸÉ™rtÉ™ nÉ™zÉ™r yetirin. ÆgÉ™r ÅŸÉ™rt \"doÄŸru\"-dursa \"É™gÉ™r doÄŸru\", É™ks halda isÉ™ \"É™gÉ™r yalan\" cavabını qaytarır.",
+       "MATH_NUMBER_HELPURL": "https://az.wikipedia.org/wiki/ÆdÉ™d",
+       "MATH_NUMBER_TOOLTIP": "ÆdÉ™d.",
+       "MATH_ADDITION_SYMBOL": "+",
+       "MATH_SUBTRACTION_SYMBOL": "-",
+       "MATH_DIVISION_SYMBOL": "÷",
+       "MATH_MULTIPLICATION_SYMBOL": "×",
+       "MATH_POWER_SYMBOL": "^",
+       "MATH_TRIG_SIN": "sin",
+       "MATH_TRIG_COS": "cos",
+       "MATH_TRIG_TAN": "tg",
+       "MATH_TRIG_ASIN": "arcsin",
+       "MATH_TRIG_ACOS": "arccos",
+       "MATH_TRIG_ATAN": "arctan",
+       "MATH_ARITHMETIC_HELPURL": "https://az.wikipedia.org/wiki/Hesab",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "Ä°ki É™dÉ™din cÉ™mini qaytarır.",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "Ä°ki É™dÉ™din fÉ™rqini qaytarır.",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "Ä°ki É™dÉ™din hasilini verir.",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "Ä°ki É™dÉ™din nisbÉ™tini qaytarır.",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "Birinci É™dÉ™din ikinci É™dÉ™d dÉ™rÉ™cÉ™sindÉ™n qüvvÉ™tini qaytarır.",
+       "MATH_SINGLE_HELPURL": "https://az.wikipedia.org/wiki/Kvadrat_köklÉ™ri",
+       "MATH_SINGLE_OP_ROOT": "kvadrat kök",
+       "MATH_SINGLE_TOOLTIP_ROOT": "ÆdÉ™din kvadrat kökünü qaytarır.",
+       "MATH_SINGLE_OP_ABSOLUTE": "modul",
+       "MATH_SINGLE_TOOLTIP_ABS": "ÆdÉ™din modulunu qaytarır.",
+       "MATH_SINGLE_TOOLTIP_NEG": "ÆdÉ™din É™ksini qaytarır.",
+       "MATH_SINGLE_TOOLTIP_LN": "ÆdÉ™din natural loqarifmini tapır.",
+       "MATH_SINGLE_TOOLTIP_LOG10": "ÆdÉ™din 10-cu dÉ™rÉ™cÉ™dÉ™n loqarifmini tapır.",
+       "MATH_SINGLE_TOOLTIP_EXP": "e sabitinin verilmiÅŸ É™dÉ™dÉ™ qüvvÉ™tini qaytarır.",
+       "MATH_SINGLE_TOOLTIP_POW10": "10-un verilmiÅŸ É™dÉ™dÉ™ qüvvÉ™tini qaytarır.",
+       "MATH_TRIG_HELPURL": "https://az.wikipedia.org/wiki/Triqonometrik_funksiyalar",
+       "MATH_TRIG_TOOLTIP_SIN": "DÉ™rÉ™cÉ™nin sinusunu qaytar (radianın yox).",
+       "MATH_TRIG_TOOLTIP_COS": "DÉ™rÉ™cÉ™nin kosinusunu qaytarır (radianın yox).",
+       "MATH_TRIG_TOOLTIP_TAN": "DÉ™rÉ™cÉ™nin tangensini qaytar (radianın yox).",
+       "MATH_TRIG_TOOLTIP_ASIN": "ÆdÉ™din arcsinusunu qaytarır.",
+       "MATH_TRIG_TOOLTIP_ACOS": "ÆdÉ™din arccosinusunu qaytarır.",
+       "MATH_TRIG_TOOLTIP_ATAN": "ÆdÉ™din arctanqensini qaytarır.",
+       "MATH_CONSTANT_HELPURL": "https://az.wikipedia.org/wiki/Riyazi_sabitlÉ™r",
+       "MATH_CONSTANT_TOOLTIP": "Ãœmumi sabitlÉ™rdÉ™n birini qaytarır Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), vÉ™ ya âˆž (sonsuzluq).",
+       "MATH_IS_EVEN": "cütdür",
+       "MATH_IS_ODD": "tÉ™kdir",
+       "MATH_IS_PRIME": "sadÉ™dir",
+       "MATH_IS_WHOLE": "tamdır",
+       "MATH_IS_POSITIVE": "müsbÉ™tdir",
+       "MATH_IS_NEGATIVE": "mÉ™nfidir",
+       "MATH_IS_DIVISIBLE_BY": "bölünür",
+       "MATH_IS_TOOLTIP": "Bir É™dÉ™din cüt, tÉ™k, sadÉ™, tam, müsbÉ™t, mÉ™nfi olmasını vÉ™ ya müəyyÉ™n bir É™dÉ™dÉ™ bölünmÉ™sini yoxlayır. \"DoÄŸru\" vÉ™ ya \"yalan\" qiymÉ™tini qaytarır.",
+       "MATH_CHANGE_HELPURL": "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter",
+       "MATH_CHANGE_TITLE": "dÉ™yiÅŸ: %1 buna: %2",
+       "MATH_CHANGE_TOOLTIP": "'%1' dÉ™yiÅŸÉ™ninin Ã¼zÉ™rinÉ™ bir É™dÉ™d artır.",
+       "MATH_ROUND_HELPURL": "https://en.wikipedia.org/wiki/Rounding",
+       "MATH_ROUND_TOOLTIP": "ÆdÉ™di aÅŸağı vÉ™ ya yuxari yuvarlaqÅŸdır.",
+       "MATH_ROUND_OPERATOR_ROUND": "yuvarlaqlaÅŸdır",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "yuxarı yuvarlaqlaÅŸdır",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "aÅŸağı yuvarlaqlaÅŸdır",
+       "MATH_ONLIST_OPERATOR_SUM": "Siyahının cÉ™mi",
+       "MATH_ONLIST_TOOLTIP_SUM": "Siyahıdakı bütün É™dÉ™dlÉ™rin cÉ™mini qaytarır.",
+       "MATH_ONLIST_OPERATOR_MIN": "siyahının minimumu",
+       "MATH_ONLIST_TOOLTIP_MIN": "Siyahıdaki É™n kiçik É™dÉ™di qaytarır.",
+       "MATH_ONLIST_OPERATOR_MAX": "siyahının maksimumu",
+       "MATH_ONLIST_TOOLTIP_MAX": "Siyahıdaki É™n böyük elementi qaytarır.",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "siyahının É™dÉ™di ortası",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "Siyahıdaki É™dÉ™dlÉ™rin É™dÉ™di ortasını qaytarır.",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "siyahının medianı",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "Siyahının median elementini qaytarır.",
+       "MATH_ONLIST_OPERATOR_MODE": "Siyahı modları( Æn Ã§ox rastlaşılan elementlÉ™ri)",
+       "MATH_ONLIST_TOOLTIP_MODE": "Siyahıdaki É™n Ã§ox rastlanan element(lÉ™r)dÉ™n ibarÉ™t siyahı qaytarır.",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "Siyahının standart deviasiyası",
+       "MATH_ONLIST_TOOLTIP_STD_DEV": "Siyahının standart deviasiyasını qaytarır.",
+       "MATH_ONLIST_OPERATOR_RANDOM": "siyahıdan tÉ™sadüfi seçilmiÅŸ bir element",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "Siyahıdan tÉ™sadüfi bir element qaytarır.",
+       "MATH_MODULO_HELPURL": "https://en.wikipedia.org/wiki/Modulo_operation",
+       "MATH_MODULO_TITLE": "%1 Ã· %2 bölmÉ™sinin qalığı",
+       "MATH_MODULO_TOOLTIP": "Ä°ki É™dÉ™din nisbÉ™tindÉ™n alınan qalığı qaytarır.",
+       "MATH_CONSTRAIN_TITLE": "%1 Ã¼Ã§Ã¼n É™n aÅŸağı %2, É™n yuxarı %3 olmağı tÉ™lÉ™b et",
+       "MATH_CONSTRAIN_TOOLTIP": "Bir É™dÉ™din verilmiÅŸ iki É™dÉ™d arasında olmasını tÉ™lÉ™b edir (sÉ™rhÉ™dlÉ™r dÉ™ daxil olmaqla).",
+       "MATH_RANDOM_INT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_INT_TITLE": "%1 ilÉ™ %2 arasından tÉ™sadüfi tam É™dÉ™d",
+       "MATH_RANDOM_INT_TOOLTIP": "VerilmiÅŸ iki É™dÉ™d arasından (É™dÉ™drlÉ™r dÉ™ daxil olmaqla) tÉ™sadüfi bir tam É™dÉ™d qaytarır.",
+       "MATH_RANDOM_FLOAT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "tÉ™sadüfi kÉ™sr",
+       "MATH_RANDOM_FLOAT_TOOLTIP": "0.0 (daxil olmaqla) vÉ™ 1.0 (daxil olmamaqla) É™dÉ™dlÉ™rinin arasından tÉ™sadüfi bir kÉ™sr É™dÉ™d qaytarır.",
+       "TEXT_TEXT_HELPURL": "https://en.wikipedia.org/wiki/String_(computer_science)",
+       "TEXT_TEXT_TOOLTIP": "MÉ™tndÉ™ki hÉ™rf, söz vÉ™ ya sÉ™tir.",
+       "TEXT_JOIN_TITLE_CREATEWITH": "VerilmiÅŸlÉ™rlÉ™ mÉ™tn yarat",
+       "TEXT_JOIN_TOOLTIP": "Ä°xtiyari sayda elementlÉ™rinin birləşmÉ™si ilÉ™ mÉ™tn parçası yarat.",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "birləşdir",
+       "TEXT_CREATE_JOIN_TOOLTIP": "Bu mÉ™tn blokunu yenidÉ™n konfigurasiya etmÉ™k Ã¼Ã§Ã¼n bölmÉ™lÉ™ri É™lavÉ™ edin, silin vÉ™ ya yerlÉ™rini dÉ™yiÅŸin.",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "MÉ™tnÉ™ bir element É™lavÉ™ et.",
+       "TEXT_APPEND_TITLE": "bu mÉ™tnin sonuna: %1 bu mÉ™tni É™lavÉ™ et: %2",
+       "TEXT_APPEND_TOOLTIP": "'%1' dÉ™yiÅŸÉ™ninin sonuna nÉ™sÉ™ É™lavÉ™ et.",
+       "TEXT_LENGTH_TITLE": "%1 - Ä±n uzunluÄŸu",
+       "TEXT_LENGTH_TOOLTIP": "VerilmiÅŸ mÉ™tndÉ™ki hÉ™rflÉ™rin(sözlÉ™r arası boÅŸluqlar sayılmaqla) sayını qaytarır.",
+       "TEXT_ISEMPTY_TITLE": "%1 boÅŸdur",
+       "TEXT_ISEMPTY_TOOLTIP": "VerilmiÅŸ mÉ™tn boÅŸdursa, doÄŸru qiymÉ™tini qaytarır.",
+       "TEXT_INDEXOF_TOOLTIP": "Birinci mÉ™tnin ikinci mÉ™tndÉ™ ilk/son rastlaÅŸma indeksini qaytarır. ÆgÉ™r rastlaÅŸma baÅŸ vermÉ™zsÉ™, %1 qaytarır.",
+       "TEXT_INDEXOF_TITLE": "mÉ™tndÉ™ %1 %2 %3",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "Bu mÉ™tn ilÉ™ ilk rastlaÅŸmanı tap:",
+       "TEXT_INDEXOF_OPERATOR_LAST": "Bu mÉ™tn ilÉ™ son rastlaÅŸmanı tap:",
+       "TEXT_CHARAT_TITLE": "mÉ™tndÉ™ %1 %2",
+       "TEXT_CHARAT_FROM_START": "bu nömrÉ™li hÉ™rfi götür",
+       "TEXT_CHARAT_FROM_END": "axırdan bu nömrÉ™li hÉ™rfi götür",
+       "TEXT_CHARAT_FIRST": "birinci hÉ™rfi götür",
+       "TEXT_CHARAT_LAST": "axırıncı hÉ™rfi götür",
+       "TEXT_CHARAT_RANDOM": "tÉ™sadüfi hÉ™rf götür",
+       "TEXT_CHARAT_TOOLTIP": "GöstÉ™rilÉ™n mövqedÉ™ki hÉ™rfi qaytarır.",
+       "TEXT_GET_SUBSTRING_TOOLTIP": "MÉ™tnin tÉ™yin olunmuÅŸ hissÉ™sini qaytarır.",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "mÉ™tndÉ™",
+       "TEXT_GET_SUBSTRING_START_FROM_START": "MÉ™tnin surÉ™tini bu nömrÉ™li hÉ™rfdÉ™n",
+       "TEXT_GET_SUBSTRING_START_FROM_END": "MÉ™tnin surÉ™tini sondan bu nömrÉ™li # hÉ™rfdÉ™n",
+       "TEXT_GET_SUBSTRING_START_FIRST": "MÉ™tnin surÉ™tini ilk hÉ™rfdÉ™n",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "bu nömrÉ™li hÉ™rfÉ™ qÉ™dÉ™r",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "axırdan bu nömrÉ™li hÉ™rfÉ™ qÉ™dÉ™r",
+       "TEXT_GET_SUBSTRING_END_LAST": "son hÉ™rfÉ™ qÉ™dÉ™r",
+       "TEXT_CHANGECASE_TOOLTIP": "MÉ™tndÉ™ hÉ™rflÉ™rin böyük-kiçikliyini dÉ™yiÅŸ.",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "BÖYÃœK HÆRFLÆRLÆ",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "kiçik hÉ™rflÉ™rlÉ™",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": "BaÅŸ HÉ™rflÉ™rlÉ™",
+       "TEXT_TRIM_TOOLTIP": "MÉ™tnin hÉ™r iki vÉ™ ya yalnız bir tÉ™rÉ™fdÉ™n olan boÅŸluqları pozulmuÅŸ surÉ™tini qaytarın.",
+       "TEXT_TRIM_OPERATOR_BOTH": "boÅŸluqları hÉ™r iki tÉ™rÉ™fdÉ™n pozun",
+       "TEXT_TRIM_OPERATOR_LEFT": "boÅŸluqlari yalnız sol tÉ™rÉ™fdÉ™n pozun",
+       "TEXT_TRIM_OPERATOR_RIGHT": "boÅŸluqları yalnız saÄŸ tÉ™rÉ™fdÉ™n pozun",
+       "TEXT_PRINT_TITLE": "%1 - i Ã§ap elÉ™",
+       "TEXT_PRINT_TOOLTIP": "TÉ™yin olunmuÅŸ mÉ™tn, É™dÉ™d vÉ™ ya hÉ™r hansı bir baÅŸqa elementi Ã§ap elÉ™.",
+       "TEXT_PROMPT_TYPE_TEXT": "Ä°stifadəçiyÉ™ mÉ™tn daxil etmÉ™si Ã¼Ã§Ã¼n sorÄŸunu/tÉ™lÉ™bi ismarıc ilÉ™ göndÉ™rin",
+       "TEXT_PROMPT_TYPE_NUMBER": "Ä°stifadəçiyÉ™ É™dÉ™d daxil etmÉ™si Ã¼Ã§Ã¼n sorÄŸunu/tÉ™lÉ™bi ismarıc kimi göndÉ™rin",
+       "TEXT_PROMPT_TOOLTIP_NUMBER": "Ä°stifadəçiyÉ™ É™dÉ™d daxil etmÉ™si Ã¼Ã§Ã¼n sorÄŸu/tÉ™lÉ™b göndÉ™rin.",
+       "TEXT_PROMPT_TOOLTIP_TEXT": "Ä°stifadəçiyÉ™ mÉ™tn daxil etmÉ™si Ã¼Ã§Ã¼n sorÄŸu/tÉ™lÉ™b göndÉ™rin.",
+       "TEXT_COUNT_MESSAGE0": "%2 içindÉ™n %1 sayını hesabla",
+       "TEXT_COUNT_TOOLTIP": "Hesablayaq, mÉ™tnin bu hissÉ™si baÅŸqa mÉ™tndÉ™ neçə dÉ™fÉ™  rast gÉ™linir.",
+       "TEXT_REPLACE_MESSAGE0": "%3 -dÉ™ %1 É™vÉ™z et %2",
+       "TEXT_REPLACE_TOOLTIP": "Bütün uyÄŸunluqlu bÉ™zi mÉ™tnlÉ™rin digÉ™r bÉ™zi mÉ™tnlÉ™rÉ™ dÉ™yiÅŸdirilmÉ™si.",
+       "TEXT_REVERSE_MESSAGE0": "É™ksinÉ™ dÉ™yiÅŸ %1",
+       "TEXT_REVERSE_TOOLTIP": "MÉ™tndÉ™ki simvolların ardıcıllığını É™ksinÉ™ dÉ™yiÅŸ.",
+       "LISTS_CREATE_EMPTY_TITLE": "boÅŸ siyahı düzÉ™lt",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "Heç bir verilÉ™n qeyd olunmamış, uzunluÄŸu 0 olan bir siyahı verir",
+       "LISTS_CREATE_WITH_TOOLTIP": "Ä°stÉ™nilÉ™n Ã¶lçülü siyahı yaradın.",
+       "LISTS_CREATE_WITH_INPUT_WITH": "bunlardan siyahı düzÉ™lt",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "siyahı",
+       "LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "Bu siyahı blokunu yenidÉ™n konfigurasiya etmÉ™k Ã¼Ã§Ã¼n bölmÉ™lÉ™ri É™lavÉ™ edin, silin vÉ™ ya yerlÉ™rini dÉ™yiÅŸin.",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "Siyahıya element É™lavÉ™ edin.",
+       "LISTS_REPEAT_TOOLTIP": "TÉ™yin olunmuÅŸ elementin/qiymÉ™tin tÉ™yin olunmuÅŸ sayda tÉ™krarlandığı siyahını yaradır.",
+       "LISTS_REPEAT_TITLE": "%1 elementinin %2 dÉ™fÉ™ tÉ™krarlandığı siyahı düzÉ™lt",
+       "LISTS_LENGTH_TITLE": "%1 siyahısının uzunluÄŸu",
+       "LISTS_LENGTH_TOOLTIP": "Siyahının uzunluÄŸunu verir.",
+       "LISTS_ISEMPTY_TITLE": "%1 boÅŸdur",
+       "LISTS_ISEMPTY_TOOLTIP": "Siyahı boÅŸdursa \"doÄŸru\" cavabını qaytarır.",
+       "LISTS_INLIST": "siyahıda",
+       "LISTS_INDEX_OF_FIRST": "Element ilÉ™ ilk rastlaÅŸma indeksini müəyyÉ™n edin",
+       "LISTS_INDEX_OF_LAST": "Element ilÉ™ son rastlaÅŸma indeksini müəyyÉ™n edin",
+       "LISTS_INDEX_OF_TOOLTIP": "Elementin siyahıda ilk/son rastlaÅŸma indeksini qaytarır. ÆgÉ™r siyahıda mÉ™tn tapılmadısa, %1 qaytarılır.",
+       "LISTS_GET_INDEX_GET": "götür",
+       "LISTS_GET_INDEX_GET_REMOVE": "götür vÉ™ sil",
+       "LISTS_GET_INDEX_REMOVE": "yığışdır",
+       "LISTS_GET_INDEX_FROM_START": "#",
+       "LISTS_GET_INDEX_FROM_END": "axırdan # nömrÉ™li",
+       "LISTS_GET_INDEX_FIRST": "birinci",
+       "LISTS_GET_INDEX_LAST": "axırıncı",
+       "LISTS_GET_INDEX_RANDOM": "tÉ™sadüfi",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "%1 ilk elementdir.",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "%1 son elementdir.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "Siyahıdan tÉ™yin olunmuÅŸ indeksli elementi qaytarır.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "Siyahının ilk elementini qaytarır.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "Siyahının son elementini qaytarır.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "Siyahıdan hÉ™r hansı tÉ™sadüfi elementi qaytarır.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "Siyahıdan tÉ™yin olunmuÅŸ indeksli elementi silir vÉ™ qaytarır.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "Siyahıdan ilk elementi silir vÉ™ qaytarır.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "Siyahıdan son elementi silir vÉ™ qaytarır.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "Siyahıdan tÉ™sadufi elementi silir vÉ™ qaytarır.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "Siyahıdan tÉ™yin olunmuÅŸ indeksli elementi silir.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "Siyahıdan ilk elementi silir.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "Siyahıdan son elementi silir.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "Siyahıdan tÉ™sadüfi bir elementi silir.",
+       "LISTS_SET_INDEX_SET": "tÉ™yin et",
+       "LISTS_SET_INDEX_INSERT": "daxil et",
+       "LISTS_SET_INDEX_INPUT_TO": "Kimi",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "Siyahının göstÉ™rilÉ™n yerdÉ™ki elementini tÉ™yin edir.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "Siyahıda birinci elementi tÉ™yin edir.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_LAST": "Siyahının sonuncu elementini tÉ™yin edir.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "Siyahının tÉ™sadüfi seçilmiÅŸ bir elementini tÉ™yin edir.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "Elementi siyahıda göstÉ™rilÉ™n yerÉ™ daxil edir.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "Elementi siyahının É™vvÉ™linÉ™ daxil edir.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "Elementi siyahının sonuna artırır.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "Elementi siyahıda tÉ™sadüfi seçilmiÅŸ bir yerÉ™ atır.",
+       "LISTS_GET_SUBLIST_START_FROM_START": "# - dÉ™n alt-siyahını alın",
+       "LISTS_GET_SUBLIST_START_FROM_END": "# sonuncudan alt-siyahını alın",
+       "LISTS_GET_SUBLIST_START_FIRST": "BirincidÉ™n alt-siyahını alın",
+       "LISTS_GET_SUBLIST_END_FROM_START": "# nömrÉ™liyÉ™",
+       "LISTS_GET_SUBLIST_END_FROM_END": "sondan # nömrÉ™liyÉ™",
+       "LISTS_GET_SUBLIST_END_LAST": "Sonuncuya",
+       "LISTS_GET_SUBLIST_TOOLTIP": "Siyahının tÉ™yin olunmuÅŸ hissÉ™sinin surÉ™tini yaradın.",
+       "LISTS_SORT_HELPURL": "https://github.com/google/blockly/wiki/Lists#sorting-a-list",
+       "LISTS_SORT_TITLE": "%1 %2 %3 sortlaÅŸdır",
+       "LISTS_SORT_TOOLTIP": "Siyahının nüsxÉ™sini sortlaÅŸdır.",
+       "LISTS_SORT_ORDER_ASCENDING": "artan Ã¼zrÉ™",
+       "LISTS_SORT_ORDER_DESCENDING": "azalan Ã¼zrÉ™",
+       "LISTS_SORT_TYPE_NUMERIC": "say Ã¼zrÉ™",
+       "LISTS_SORT_TYPE_TEXT": "É™lifba Ã¼zrÉ™",
+       "LISTS_SORT_TYPE_IGNORECASE": "É™lifba Ã¼zrÉ™, registrı nÉ™zÉ™rÉ™ almadan",
+       "LISTS_SPLIT_LIST_FROM_TEXT": "mÉ™tndÉ™n siyahı düzÉ™lt",
+       "LISTS_SPLIT_TEXT_FROM_LIST": "siyahıdan mÉ™tn düzÉ™lt",
+       "LISTS_SPLIT_WITH_DELIMITER": "ayırıcıyla",
+       "LISTS_SPLIT_TOOLTIP_SPLIT": "MÉ™tni ayırıcılara görÉ™ bölÉ™rÉ™k mÉ™tnlÉ™r siyahısı yaradır.",
+       "LISTS_SPLIT_TOOLTIP_JOIN": "MÉ™tnlÉ™r siyahısından ayırıcılarla birgÉ™ bir mÉ™tn yaradır.",
+       "LISTS_REVERSE_MESSAGE0": "É™ksinÉ™ dÉ™yiÅŸ %1",
+       "LISTS_REVERSE_TOOLTIP": "Siyahının nüsxÉ™sini É™ksinÉ™ dÉ™yiÅŸ.",
+       "VARIABLES_GET_TOOLTIP": "Bu dÉ™yiÅŸÉ™nin qiymÉ™tini qaytarır.",
+       "VARIABLES_GET_CREATE_SET": "'%1 - i tÉ™yin et' - i yarat",
+       "VARIABLES_SET": "%1 - i bu qiymÉ™t ilÉ™ tÉ™yin et: %2",
+       "VARIABLES_SET_TOOLTIP": "Bu dÉ™yiÅŸÉ™ni daxil edilmiÅŸ qiymÉ™tÉ™ bÉ™rabÉ™r edir.",
+       "VARIABLES_SET_CREATE_GET": "'%1 - i götür' - ü yarat",
+       "PROCEDURES_DEFNORETURN_TITLE": "icra et:",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "hansısa É™mÉ™liyyat",
+       "PROCEDURES_BEFORE_PARAMS": "ilÉ™:",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "ilÉ™:",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "NÉ™ticÉ™si olmayan funksiya yaradır.",
+       "PROCEDURES_DEFNORETURN_COMMENT": "Bu funksiyanı tÉ™svir et",
+       "PROCEDURES_DEFRETURN_RETURN": "qaytar",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "NÉ™ticÉ™si olan funksiya yaradır.",
+       "PROCEDURES_ALLOW_STATEMENTS": "operatorlara icazÉ™",
+       "PROCEDURES_DEF_DUPLICATE_WARNING": "XÉ™bÉ™rdarlıq: Bu funksiyanın tÉ™krar olunmuÅŸ parametrlÉ™ri var.",
+       "PROCEDURES_CALLNORETURN_HELPURL": "https://en.wikipedia.org/wiki/Subroutine",
+       "PROCEDURES_CALLNORETURN_TOOLTIP": "Yaradılmış '%1' funksiyasını Ã§alışdır.",
+       "PROCEDURES_CALLRETURN_HELPURL": "https://en.wikipedia.org/wiki/Subroutine",
+       "PROCEDURES_CALLRETURN_TOOLTIP": "Yaradılmış '%1' funksiyasını Ã§alışdır vÉ™ nÉ™ticÉ™ni istifadÉ™ et.",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "giriÅŸlÉ™r",
+       "PROCEDURES_MUTATORCONTAINER_TOOLTIP": "Bu funksiyanın giriÅŸ parametrlÉ™ri Ã¼Ã§Ã¼n É™lavÉ™ et, sil, vÉ™ ya yenilÉ™.",
+       "PROCEDURES_MUTATORARG_TITLE": "GiriÅŸ adı:",
+       "PROCEDURES_MUTATORARG_TOOLTIP": "Funksiyaya giriÅŸ parametrlÉ™ri É™lavÉ™ et.",
+       "PROCEDURES_HIGHLIGHT_DEF": "Funksiyanın tÉ™yinatını vurÄŸula",
+       "PROCEDURES_CREATE_DO": "'%1' yarat",
+       "PROCEDURES_IFRETURN_TOOLTIP": "ÆgÉ™r bir dÉ™yÉ™r \"doÄŸru\"-dursa onda ikinci dÉ™yÉ™ri qaytar.",
+       "PROCEDURES_IFRETURN_WARNING": "XÉ™bÉ™rdarlıq: Bu blok ancaq bir funksiyanın tÉ™yinatı daxilindÉ™ iÅŸlÉ™dilÉ™ bilÉ™r.",
+       "WORKSPACE_COMMENT_DEFAULT_TEXT": "Buraya nÉ™ isÉ™ yaz..."
+}
diff --git a/js/msg/json/ba.json b/js/msg/json/ba.json
new file mode 100644 (file)
index 0000000..7a99558
--- /dev/null
@@ -0,0 +1,208 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Alfiya55",
+                       "ЛәйÑән",
+                       "ÐйÑар",
+                       "Кутлубаева ÐšÑƒÐ½Ñулу Ð—акиевна",
+                       "Ðзат Ð¥Ó™Ð»Ð¸Ð»Ð¾Ð²",
+                       "ТанзилѠКутлугильдина"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "Ñлемент",
+       "TODAY": "Бөгөн",
+       "DUPLICATE_BLOCK": "КүÑереп Ð°Ð»Ñ‹Ñ€Ò“а",
+       "ADD_COMMENT": "Фекер Ó©Ò«Ñ‚әргә",
+       "REMOVE_COMMENT": "Ðңлатмаларҙы ÑŽÐ¹Ñ‹Ñ€Ò“а",
+       "EXTERNAL_INPUTS": "Тышҡы Ó©Ò«Ñ‚әлмә",
+       "INLINE_INPUTS": "ЭÑке Ó©Ò«Ñ‚әлмә",
+       "DELETE_BLOCK": "Блокты ÑŽÐ¹Ò™Ñ‹Ñ€Ñ‹Ñ€Ò“а",
+       "DELETE_X_BLOCKS": " %1 Ð±Ð»Ð¾ÐºÑ‚Ñ‹ ÑŽÐ¹Ò™Ñ‹Ñ€Ñ‹Ñ€Ò“а",
+       "DELETE_ALL_BLOCKS": "Бөтә %1 Ð±Ð»Ð¾ÐºÑ‚арҙы ÑŽÐ¹Ñ‹Ñ€Ò“амы?",
+       "CLEAN_UP": "Блоктарҙы Ñ‚аҙартырға",
+       "COLLAPSE_BLOCK": "Блокты Ñ‚өрөргә",
+       "COLLAPSE_ALL": "Блоктарҙы Ñ‚өрөргә",
+       "EXPAND_BLOCK": "Блокты Ð¹Ó™Ð¹ÐµÑ€Ð³Ó™",
+       "EXPAND_ALL": "Блоктарҙы Ð¹Ó™Ð¹ÐµÑ€Ð³Ó™",
+       "DISABLE_BLOCK": "Блокты Ò»Ò¯Ð½Ð´ÐµÑ€ÐµÑ€Ð³Ó™",
+       "ENABLE_BLOCK": "Блокты Ñ‚оҡандырырға",
+       "HELP": "Ярҙам",
+       "UNDO": "Кире Ð°Ð»Ñ‹Ñ€Ò“а",
+       "REDO": "документтарҙы Ò¯Ò™Ð³Ó™Ñ€Ñ‚ергә",
+       "CHANGE_VALUE_TITLE": "Мәғәнәне Ò¯Ò™Ð³Ó™Ñ€Ñ‚егеҙ:",
+       "RENAME_VARIABLE": "ҮҙгәреүÑәндең Ð¸Ñемен Ð°Ð»Ð¼Ð°ÑˆÑ‚ырырға...",
+       "RENAME_VARIABLE_TITLE": "Бөтә '%1' Ò¯Ò™Ð³Ó™Ñ€ÐµÒ¯Ñәндәрҙең Ð¸Ñемен Ð¾ÑˆÐ¾Ð»Ð°Ð¹ Ð°Ð»Ð¼Ð°ÑˆÑ‚ырырға:",
+       "NEW_VARIABLE": "Яңы Ò¯Ò™Ð³Ó™Ñ€ÐµÒ¯Ñән...",
+       "NEW_VARIABLE_TITLE": "Яңы Ò¯Ò™Ð³Ó™Ñ€ÐµÒ¯Ñәндең Ð¸Ñеме:",
+       "COLOUR_PICKER_HELPURL": "https://en.wikipedia.org/wiki/Төҫ",
+       "COLOUR_PICKER_TOOLTIP": "Палитранан Ñ‚Ó©Ò« Ò»Ð°Ð¹Ð»Ð°Ò“Ñ‹Ò™.",
+       "COLOUR_RANDOM_TITLE": "оÑраҡлы Ñ‚Ó©Ò«",
+       "COLOUR_RANDOM_TOOLTIP": "Төҫтө Ð¾Ñраҡлылыҡ Ð±ÑƒÐ¹Ñ‹Ð½Ñа Ò»Ð°Ð¹Ð»Ð°Ð¹.",
+       "COLOUR_RGB_TITLE": "ошонан Ñ‚Ó©Ò«",
+       "COLOUR_RGB_RED": "ҡыҙылдан",
+       "COLOUR_RGB_GREEN": "йәшелдән",
+       "COLOUR_RGB_BLUE": "зәңгәр",
+       "COLOUR_RGB_TOOLTIP": "Бирелгән Ð½Ð¸Ñбәттәрҙә Ò¡Ñ‹Ò™Ñ‹Ð»Ð´Ð°Ð½, Ð¹Ó™ÑˆÐµÐ»Ð´Ó™Ð½ Ò»Ó™Ð¼ Ð·Ó™Ò£Ð³Ó™Ñ€Ò™Ó™Ð½ Ñ‚Ó©Ò« Ð±Ð°Ñ€Ð»Ñ‹Ò¡Ò¡Ð° ÐºÐ¸Ð»Ó™. Ð‘Ó©Ñ‚Ó™ Ð¼Ó™Ò“әнәләр 0 Ð¼ÐµÐ½Ó™Ð½ 100 Ð°Ñ€Ð°Ò»Ñ‹Ð½Ð´Ð° Ð±ÑƒÐ»Ñ‹Ñ€Ò“а Ñ‚ейеш.",
+       "COLOUR_BLEND_TITLE": "ҡатнаштырырға",
+       "COLOUR_BLEND_COLOUR1": "1-Ñе Ñ‚Ó©Ò«",
+       "COLOUR_BLEND_COLOUR2": "2-Ñе Ñ‚Ó©Ò«",
+       "COLOUR_BLEND_RATIO": "1-Ñе Ñ‚Ó©Ò«Ñ‚Ó©Ò£ Ó©Ð»Ó©ÑˆÓ©",
+       "COLOUR_BLEND_TOOLTIP": "Ике Ñ‚Ó©Ò«Ñ‚Ó© Ð±Ð¸Ñ€ÐµÐ»Ð³Ó™Ð½ Ð½Ð¸Ñбәттә Ð±Ð¾Ð»Ò“ата (0.0 - 1.0).",
+       "CONTROLS_REPEAT_HELPURL": "https://en.wikipedia.org/wiki/Цикл_(программалау)",
+       "CONTROLS_REPEAT_TITLE": " %1 Ñ‚апҡыр Ò¡Ð°Ð±Ð°Ñ‚ларға",
+       "CONTROLS_REPEAT_INPUT_DO": "үтәргә",
+       "CONTROLS_REPEAT_TOOLTIP": "Командаларҙы Ð±ÐµÑ€ Ð½Ð¸ÑÓ™ Ñ‚апҡыр Ò¯Ñ‚әй.",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "ҡабатларға, Ó™Ð»ÐµÐ³Ó™",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "ҡабатларға, Ó™Ð»ÐµÐ³Ó™ ÑŽÒ¡",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "Мәғәнә Ð´Ó©Ñ€Ó©Ò« Ð±ÑƒÐ»Ò“анда, ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ð»Ð°Ñ€Ò™Ñ‹ Ò¡Ð°Ð±Ð°Ñ‚лай.",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "Мәғәнә Ñлған Ð±ÑƒÐ»Ò“анда, ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ð»Ð°Ñ€Ò™Ñ‹ Ò¡Ð°Ð±Ð°Ñ‚лай.",
+       "CONTROLS_FOR_TOOLTIP": "ҮҙгәреүÑәнгә Ð±Ð°ÑˆÑ‹Ð½Ð°Ð½ Ð°Ò™Ð°Ò“ына Ñ‚иклем Ñ‚әғәйен Ð°Ò™Ñ‹Ð¼ Ð¼ÐµÐ½Ó™Ð½ %1 Ð¼Ó™Ò“әнәне Ð±Ð¸Ñ€Ó™ Ò»Ó™Ð¼ ÐºÒ¯Ñ€Ò»Ó™Ñ‚елгән ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ð»Ð°Ñ€Ò™Ñ‹ Ò¯Ñ‚әй.",
+       "CONTROLS_FOREACH_TITLE": "һәр Ñлемент Ó©Ñөн %1 Ð¸Ñемлектә %2",
+       "CONTROLS_FOREACH_TOOLTIP": "ИÑемлектәге Ò»Ó™Ñ€ Ñлемент Ó©Ñөн Ò¯Ò™Ð³Ó™Ñ€ÐµÒ¯Ñәнгә Ñлементтың '%1' Ð¼Ó™Ò“әнәһен Ð±Ð¸Ñ€Ó™ Ò»Ó™Ð¼ ÐºÒ¯Ñ€Ò»Ó™Ñ‚елгән ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ð»Ð°Ñ€Ò™Ñ‹ Ò¯Ñ‚әй.",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "циклдан Ñығырға",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "циклдың ÐºÐ¸Ð»Ó™Ò»Ðµ Ð°Ò™Ñ‹Ð¼Ñ‹Ð½Ð° ÐºÒ¯Ñергә",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "Был Ñ†Ð¸ÐºÐ»Ð´Ñ‹ Ó©Ò™Ó™.",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "Циклдың Ò¡Ð°Ð»Ð´Ñ‹Ò“ын Ñ‚өшөрөп Ò¡Ð°Ð»Ð´Ñ‹Ñ€Ð° Ò»Ó™Ð¼ ÐºÐ¸Ð»Ó™Ò»Ðµ Ð°Ò™Ñ‹Ð¼Ò“а ÐºÒ¯ÑÓ™.",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "Иҫкәртеү: Ð±Ñ‹Ð» Ð±Ð»Ð¾Ðº Ñ†Ð¸ÐºÐ» ÑÑендә Ð³ÐµÐ½Ó™ Ò¡ÑƒÐ»Ð»Ð°Ð½Ñ‹Ð»Ð° Ð°Ð»Ð°.",
+       "CONTROLS_IF_TOOLTIP_1": "Мәғәнә Ð´Ó©Ñ€Ó©Ò« Ð±ÑƒÐ»Ò“анда, ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ð»Ð°Ñ€Ò™Ñ‹ Ò¯Ñ‚әй.",
+       "CONTROLS_IF_TOOLTIP_2": "Шарт Ð´Ó©Ñ€Ó©Ò« Ð±ÑƒÐ»Ò“анда, ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ð»Ð°Ñ€Ò™Ñ‹Ò£ Ð±ÐµÑ€ÐµÐ½Ñе Ð±Ð»Ð¾Ð³Ñ‹Ð½ Ò¯Ñ‚әй. Ð£Ð»Ð°Ð¹ Ð±ÑƒÐ»Ð¼Ð°Ò»Ð°, ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ð»Ð°Ñ€Ò™Ñ‹Ò£ Ð¸ÐºÐµÐ½Ñе Ð±Ð»Ð¾Ð³Ñ‹ Ò¯Ñ‚әлә.",
+       "CONTROLS_IF_TOOLTIP_3": "БеренÑе ÑˆÐ°Ñ€Ñ‚ Ð´Ó©Ñ€Ó©Ò« Ð±ÑƒÐ»Ò»Ð°, ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ð»Ð°Ñ€Ò™Ñ‹Ò£ Ð±ÐµÑ€ÐµÐ½Ñе Ð±Ð»Ð¾Ð³Ñ‹Ð½ Ò¯Ñ‚әй. Ð˜ÐºÐµÐ½Ñе ÑˆÐ°Ñ€Ñ‚ Ð´Ó©Ñ€Ó©Ò« Ð±ÑƒÐ»Ò»Ð°, ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ð»Ð°Ñ€Ò™Ñ‹Ò£ Ð¸ÐºÐµÐ½Ñе Ð±Ð»Ð¾Ð³Ñ‹Ð½ Ò¯Ñ‚әй.",
+       "CONTROLS_IF_TOOLTIP_4": "БеренÑе ÑˆÐ°Ñ€Ñ‚ Ð´Ó©Ñ€Ó©Ò« Ð±ÑƒÐ»Ò»Ð°, ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ð»Ð°Ñ€Ò™Ñ‹Ò£ Ð±ÐµÑ€ÐµÐ½Ñе Ð±Ð»Ð¾Ð³Ñ‹Ð½ Ò¯Ñ‚әй. Ó˜Ð³Ó™Ñ€ Ð¸ÐºÐµÐ½Ñе ÑˆÐ°Ñ€Ñ‚ Ð´Ó©Ñ€Ó©Ò« Ð±ÑƒÐ»Ò»Ð°, ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°Ð»Ð°Ñ€Ò™Ñ‹Ò£ Ð¸ÐºÐµÐ½Ñе Ð±Ð»Ð¾Ð³Ñ‹Ð½ Ò¯Ñ‚әй. Ð‘ер ÑˆÐ°Ñ€Ñ‚ Ñ‚а Ð´Ó©Ñ€Ó©Ò« Ð±ÑƒÐ»Ð¼Ð°Ò»Ð°, ÐºÐ¾Ð¼Ð°Ð½Ð´Ð° Ð±Ð»Ð¾ÐºÑ‚арының Ò»ÑƒÒ£Ò“ыһын Ò¯Ñ‚әй.",
+       "CONTROLS_IF_MSG_IF": "әгәр",
+       "CONTROLS_IF_MSG_ELSEIF": "юғиһә, Ó™Ð³Ó™Ñ€",
+       "CONTROLS_IF_MSG_ELSE": "юғиһә",
+       "CONTROLS_IF_IF_TOOLTIP": "\"Әгәр\" Ð±Ð»Ð¾Ð³Ñ‹Ð½ Ò¡Ð°Ð±Ð°Ñ‚тан Ñ‚Ó©Ò™Ó©Ò¯ Ó©Ñөн ÐºÐ¸Ò«Ó™ÐºÑ‚әрҙе Ó©Ò«Ñ‚әгеҙ, ÑŽÐ¹Ò™Ñ‹Ñ€Ñ‹Ò“Ñ‹Ò™, ÑƒÑ€Ñ‹Ð½Ð´Ð°Ñ€Ñ‹Ð½ Ð°Ð»Ð¼Ð°ÑˆÑ‚ырығыҙ.",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "\"Әгәр\" Ð±Ð»Ð¾Ð³Ñ‹Ð½Ð° ÑˆÐ°Ñ€Ñ‚ Ó©Ò«Ñ‚әй",
+       "CONTROLS_IF_ELSE_TOOLTIP": "Бер ÑˆÐ°Ñ€Ñ‚ Ñ‚а Ð´Ó©Ñ€Ó©Ò« Ð±ÑƒÐ»Ð¼Ð°Ò“ан Ð¾Ñраҡҡа Ð¹Ð¾Ð¼Ò“аҡлау ÑрҙамÑÑ‹ Ð±Ð»Ð¾Ð³Ñ‹Ð½ Ó©Ò«Ñ‚әргә.",
+       "LOGIC_COMPARE_HELPURL": "https://en.wikipedia.org/wiki/Inequality_(математика)",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "Өҫтәмәләр Ñ‚игеҙ Ð±ÑƒÐ»Ò»Ð°, Ð´Ó©Ñ€Ó©Ò« Ð¼Ó™Ò“әнәһен ÐºÐ¸Ñ€Ðµ Ò¡Ð°Ð¹Ñ‚ара.",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "Өҫтәмәләр Ñ‚игеҙ Ð±ÑƒÐ»Ð¼Ð°Ò»Ð°, Ð´Ó©Ñ€Ó©Ò« Ð¼Ó™Ò“әнәһен ÐºÐ¸Ñ€Ðµ Ò¡Ð°Ð¹Ñ‚ара.",
+       "LOGIC_COMPARE_TOOLTIP_LT": "БеренÑе Ó©Ò«Ñ‚әмә Ð¸ÐºÐµÐ½Ñеһенән Ð±Ó™Ð»Ó™ÐºÓ™Ð¹ÐµÑ€Ó™Ðº Ð±ÑƒÐ»Ò»Ð°, Ð´Ó©Ñ€Ó©Ò« Ð¼Ó™Ò“әнәһен ÐºÐ¸Ñ€Ðµ Ò¡Ð°Ð¹Ñ‚ара.",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "БеренÑе Ó©Ò«Ñ‚әмә Ð¸ÐºÐµÐ½Ñеһенән Ð±Ó™Ð»Ó™ÐºÓ™Ð¹ÐµÑ€Ó™Ðº Ð¹Ó™ ÑƒÒ“а Ñ‚иң Ð±ÑƒÐ»Ò»Ð°, Ð´Ó©Ñ€Ó©Ò« Ð¼Ó™Ò“әнәһен ÐºÐ¸Ñ€Ðµ Ò¡Ð°Ð¹Ñ‚ара.",
+       "LOGIC_COMPARE_TOOLTIP_GT": "БеренÑе Ó©Ò«Ñ‚әмә Ð¸ÐºÐµÐ½Ñеһенән Ò™ÑƒÑ€Ñ‹Ñ€Ð°Ò¡ Ð±ÑƒÐ»Ò»Ð°, Ð´Ó©Ñ€Ó©Ò« Ð¼Ó™Ò“әнәһен ÐºÐ¸Ñ€Ðµ Ò¡Ð°Ð¹Ñ‚ара.",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "БеренÑе Ó©Ò«Ñ‚әмә Ð¸ÐºÐµÐ½Ñеһенән Ð±Ó™Ð»Ó™ÐºÓ™Ð¹ÐµÑ€Ó™Ðº Ð¹Ó™ ÑƒÒ“а Ñ‚иң Ð±ÑƒÐ»Ò»Ð°, Ð´Ó©Ñ€Ó©Ò« Ð¼Ó™Ò“әнәһен ÐºÐ¸Ñ€Ðµ Ò¡Ð°Ð¹Ñ‚ара.",
+       "LOGIC_OPERATION_TOOLTIP_AND": "Әгәр Ò™Ó™ Ð¸ÐºÐµ Ó©Ò«Ñ‚әлмә Ð»Ó™ Ñ‚ап ÐºÐ¸Ð»Ò»Ó™, Ð´Ó©Ñ€Ó©Ò« Ð°Ò£Ð»Ð°Ñ‚маны ÐºÐ¸Ñ€Ðµ Ò¡Ð°Ð¹Ñ‚ара.",
+       "LOGIC_OPERATION_AND": "һәм",
+       "LOGIC_OPERATION_TOOLTIP_OR": "Өҫтәлмәләрҙең Ð±ÐµÑ€ÐµÒ»Ðµ Ð³ÐµÐ½Ó™ Ð´Ó©Ñ€Ó©Ò« Ð±ÑƒÐ»Ò»Ð°, Ð´Ó©Ñ€Ó©Ò« Ð°Ò£Ð»Ð°Ñ‚маны Ò¡Ð°Ð¹Ñ‚ара.",
+       "LOGIC_OPERATION_OR": "йәки",
+       "LOGIC_NEGATE_TITLE": "%1 Ñ‚үгел",
+       "LOGIC_NEGATE_TOOLTIP": "Өҫтәлмә Ñлған Ð±ÑƒÐ»Ò»Ð°, Ð´Ó©Ñ€Ó©Ò« Ð°Ò£Ð»Ð°Ñ‚маны Ò¡Ð°Ð¹Ñ‚ара. Ó¨Ò«Ñ‚әлмә Ð´Ó©Ñ€Ó©Ò« Ð±ÑƒÐ»Ò»Ð°, Ñлған Ð°Ò£Ð»Ð°Ñ‚маны Ò¡Ð°Ð¹Ñ‚ара.",
+       "LOGIC_BOOLEAN_TRUE": "дөрөҫ",
+       "LOGIC_BOOLEAN_FALSE": "Ñлған",
+       "LOGIC_BOOLEAN_TOOLTIP": "Дөрөҫ Ð¹Ó™ÐºÐ¸ Ñлғанды Ò¡Ð°Ð¹Ñ‚ара.",
+       "LOGIC_NULL": "нуль",
+       "LOGIC_NULL_TOOLTIP": "Ðулде Ò¡Ð°Ð¹Ñ‚ара.",
+       "LOGIC_TERNARY_CONDITION": "теÑÑ‚",
+       "LOGIC_TERNARY_IF_TRUE": "әгәр Ð´Ó©Ñ€Ó©Ò« Ð±ÑƒÐ»Ò»Ð°",
+       "LOGIC_TERNARY_IF_FALSE": "әгәр Ñлған Ð±ÑƒÐ»Ò»Ð°",
+       "LOGIC_TERNARY_TOOLTIP": "Һайлау ÑˆÐ°Ñ€Ñ‚ын Ñ‚икшерә. Ó˜Ð³Ó™Ñ€ ÑƒÐ» Ð´Ó©Ñ€Ó©Ò« Ð±ÑƒÐ»Ò»Ð°, Ð±ÐµÑ€ÐµÐ½Ñе Ð¼Ó™Ò“әнәне, Ñ…ата Ð±ÑƒÐ»Ò»Ð°, Ð¸ÐºÐµÐ½Ñе Ð¼Ó™Ò“әнәне Ò¡Ð°Ð¹Ñ‚ара.",
+       "MATH_NUMBER_HELPURL": "https://ba.wikipedia.org/wiki/Һан",
+       "MATH_NUMBER_TOOLTIP": "Рәт.",
+       "MATH_ARITHMETIC_HELPURL": "https://ba.wikipedia.org/wiki/Ðрифметика",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "Ике Ò»Ð°Ð½Ð´Ñ‹Ò£ Ñуммаһын Ò¡Ð°Ð¹Ñ‚ара.",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "Ике Ò»Ð°Ð½Ð´Ñ‹Ò£ Ð°Ð¹Ñ‹Ñ€Ð¼Ð°Ò»Ñ‹Ð½ Ò¡Ð°Ð¹Ñ‚ара.",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "Ике Ò»Ð°Ð½Ð´Ñ‹Ò£ Ò¡Ð°Ð±Ð°Ñ‚ландығын Ò¡Ð°Ð¹Ñ‚ара.",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "Ике Ò»Ð°Ð½Ð´Ñ‹Ò£ Ð±Ò¯Ð»ÐµÐ½Ð´ÐµÐ³ÐµÐ½ Ò¡Ð°Ð¹Ñ‚ара.",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "Дәрәжәгә ÐºÒ¯Ñ‚әрелгән Ð¸ÐºÐµÐ½Ñе Ò»Ð°Ð½Ð´Ð°Ð½ Ñ‚әүгеһенә Ò¡Ð°Ð¹Ñ‚ара.",
+       "MATH_SINGLE_HELPURL": "https://ba.wikipedia.org/wiki/Квадрат_тамыр",
+       "MATH_SINGLE_OP_ROOT": "квадрат Ñ‚амыр",
+       "MATH_SINGLE_TOOLTIP_ROOT": "Һандың ÐºÐ²Ð°Ð´Ñ€Ð°Ñ‚ Ñ‚амырын Ò¡Ð°Ð¹Ñ‚ара.",
+       "MATH_SINGLE_OP_ABSOLUTE": "абÑолют",
+       "MATH_SINGLE_TOOLTIP_ABS": "Һандың Ð¼Ð¾Ð´ÑƒÐ»ÐµÐ½ Ò¡Ð°Ð¹Ñ‚ара.",
+       "MATH_SINGLE_TOOLTIP_NEG": "Кире Ò»Ð°Ð½Ð´Ñ‹ Ò¡Ð°Ð¹Ñ‚ара.",
+       "MATH_SINGLE_TOOLTIP_LN": "Һандың Ð½Ð°Ñ‚ураль Ð»Ð¾Ð³Ð°Ñ€Ð¸Ñ‚мын Ò¡Ð°Ð¹Ñ‚ара.",
+       "MATH_SINGLE_TOOLTIP_LOG10": "Һандың ÑƒÐ½Ñ‹Ð½ÑÑ‹ Ð»Ð¾Ð³Ð°Ñ€Ð¸Ñ‚мын Ò¡Ð°Ð¹Ñ‚ара.",
+       "MATH_SINGLE_TOOLTIP_EXP": "Күрһәтелгән Ð´Ó™Ñ€Ó™Ð¶Ó™Ð»Ó™ Ò¡Ð°Ð¹Ñ‚ара.",
+       "MATH_SINGLE_TOOLTIP_POW10": "Күрһәтелгән 10-ÑÑ‹ Ð´Ó™Ñ€Ó™Ð¶Ó™Ð»Ó™ Ò¡Ð°Ð¹Ñ‚ара.",
+       "MATH_TRIG_HELPURL": "https://ba..wikipedia.org/wiki/Тригонометрик_функциÑлар",
+       "MATH_TRIG_TOOLTIP_SIN": "Мөйөштөң ÑинуÑын Ð³Ñ€Ð°Ð´ÑƒÑтарҙа Ò¡Ð°Ð¹Ñ‚ара.",
+       "MATH_TRIG_TOOLTIP_COS": "Мөйөштөң ÐºÐ¾ÑинуÑын Ð³Ñ€Ð°Ð´ÑƒÑтарҙа Ò¡Ð°Ð¹Ñ‚ара.",
+       "MATH_TRIG_TOOLTIP_TAN": "Мөйөштөң Ñ‚ангенÑын Ð³Ñ€Ð°Ð´ÑƒÑтарҙа ÐºÒ¯Ñ€Ò»Ó™Ñ‚Ó™.",
+       "MATH_TRIG_TOOLTIP_ASIN": "ÐркÑинуÑÑ‚Ñ‹ Ð³Ñ€Ð°Ð´ÑƒÑтарҙа ÐºÒ¯Ñ€Ò»Ó™Ñ‚Ó™.",
+       "MATH_TRIG_TOOLTIP_ACOS": "ÐрккоÑинуÑÑ‚Ñ‹ Ð³Ñ€Ð°Ð´ÑƒÑтарҙа ÐºÒ¯Ñ€Ò»Ó™Ñ‚Ó™.",
+       "MATH_TRIG_TOOLTIP_ATAN": "ÐрктангенÑÑ‚Ñ‹ Ð³Ñ€Ð°Ð´ÑƒÑтарҙа ÐºÒ¯Ñ€Ò»Ó™Ñ‚Ó™.",
+       "MATH_CONSTANT_HELPURL": "https://ba.wikipedia.org/wiki/Математик_конÑтанта",
+       "MATH_CONSTANT_TOOLTIP": "Таралған ÐºÐ¾Ð½Ñтантаның Ð±ÐµÑ€ÐµÒ»ÐµÐ½ ÐºÒ¯Ñ€Ò»Ó™Ñ‚Ó™: Ï€ (3.141...), e (2.718...), Ï† (1.618...), sqrt(2) (1.414...), sqrt(½) (0.707...) Ð¹Ó™ÐºÐ¸ âˆž (Ñикһеҙлек).",
+       "MATH_IS_EVEN": "тағы",
+       "MATH_IS_ODD": "Ñәйер",
+       "MATH_IS_PRIME": "Ñбай",
+       "MATH_IS_WHOLE": "бөтөн",
+       "MATH_IS_POSITIVE": "ыңғай",
+       "MATH_IS_NEGATIVE": "тиҫкәре",
+       "MATH_IS_DIVISIBLE_BY": "бүленә",
+       "MATH_IS_TOOLTIP": "Һандың Ð¹Ð¾Ð¿, Ñ‚аҡ, Ñбай, Ð±Ó©Ñ‚өн, Ñ‹Ò£Ò“ай, ÐºÐ¸Ñ€Ðµ Ð¹Ó™ÐºÐ¸ Ð±Ð¸Ð»Ð´Ó™Ð»Ðµ Ò»Ð°Ð½Ò“а Ò¡Ð°Ñ€Ð°Ñ‚а Ð½Ð¸Ð½Ð´Ó™Ð¹ Ð±ÑƒÐ»Ñ‹ÑƒÑ‹Ð½ Ñ‚икшерә. Ð”Ó©Ñ€Ó©Ò« Ð¹Ó™ Ñлған Ð¼Ó™Ò“әнәһен ÐºÒ¯Ñ€Ò»Ó™Ñ‚Ó™.",
+       "MATH_CHANGE_HELPURL": "https://ba.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter",
+       "MATH_CHANGE_TITLE": "%1 Ñ‚ан %2 Ò¡Ð° Ð°Ñ€Ñ‚тырырға",
+       "MATH_CHANGE_TOOLTIP": "ҮҙгәреүÑән Ò»Ð°Ð½Ò“а Ó©Ò«Ñ‚әй '%1'.",
+       "MATH_ROUND_HELPURL": "https://ba.wikipedia.org/wiki/Т=Түңәрәкләү",
+       "MATH_ROUND_TOOLTIP": "Һанды Ò™ÑƒÑ€Ñ‹Ð½Ð° Ð¹Ó™ Ð±Ó™Ð»Ó™ÐºÓ™Ð¹ÐµÐ½Ó™ Ñ‚иклем Ñ‚үңәрәкләргә.",
+       "MATH_ROUND_OPERATOR_ROUND": "түңәрәк",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "ҙурына Ñ‚иклем Ñ‚үңәрәкләргә",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "бәләкәйгә Ñ‚иклем Ñ‚үңәрәкләргә",
+       "MATH_ONLIST_OPERATOR_SUM": "иÑемлек Ñуммаһы",
+       "MATH_ONLIST_TOOLTIP_SUM": "ИÑемлектәрҙәге Ò»Ð°Ð½Ð´Ð°Ñ€ Ñуммаһын ÐºÒ¯Ñ€Ò»Ó™Ñ‚Ó™.",
+       "MATH_ONLIST_OPERATOR_MIN": "ИÑемлектәге Ð¸Ò£ Ð±Ó™Ð»Ó™ÐºÓ™Ð¹Ðµ",
+       "MATH_ONLIST_TOOLTIP_MIN": "ИÑемлектәге Ð¸Ò£ Ð±Ó™Ð»Ó™ÐºÓ™Ð¹ Ò»Ð°Ð½Ð´Ñ‹ ÐºÒ¯Ñ€Ò»Ó™Ñ‚Ó™.",
+       "MATH_ONLIST_OPERATOR_MAX": "иÑемлектәге Ð¸Ò£ Ò™ÑƒÑ€Ñ‹",
+       "MATH_ONLIST_TOOLTIP_MAX": "ИÑемлектең Ð¸Ò£ Ò™ÑƒÑ€ Ò»Ð°Ð½Ñ‹Ð½  ÐºÒ¯Ñ€Ò»Ó™Ñ‚Ó™.",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "иÑемлектең ÑƒÑ€Ñ‚аÑа Ð°Ñ€Ð¸Ñ„метик Ð´Ó™Ò¯Ð¼Ó™Ð»Ðµ",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "ИÑемлектең ÑƒÑ€Ñ‚аÑа Ð°Ñ€Ð¸Ñ„метик Ð´Ó™Ò¯Ð¼Ó™Ð»Ðµ ÐºÒ¯Ñ€Ò»Ó™Ñ‚Ó™.",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "иÑемлек Ð¼ÐµÐ´Ð¸Ð°Ð½Ð°Ò»Ñ‹",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "ИÑемлек Ð¼ÐµÐ´Ð¸Ð°Ð½Ð°Ò»Ñ‹Ð½ ÐºÒ¯Ñ€Ò»Ó™Ñ‚Ó™.",
+       "MATH_ONLIST_OPERATOR_MODE": "иÑемлек Ð¼Ð¾Ð´Ð°Ð»Ð°Ñ€Ñ‹",
+       "MATH_ONLIST_TOOLTIP_MODE": "ИÑемлектең Ð¸Ò£ ÐºÒ¯Ð¿ Ð¾Ñраған Ñлементтарын ÐºÒ¯Ñ€Ò»Ó™Ñ‚Ó™.",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "иÑемлекте Ñтандарт ÐºÐ¸Ñ€Ðµ Ò¡Ð°Ò“ыу",
+       "MATH_ONLIST_TOOLTIP_STD_DEV": "ИÑемлекте Ñтандарт ÐºÐ¸Ñ€Ðµ Ò¡Ð°Ò“ыуҙы ÐºÒ¯Ñ€Ò»Ó™Ñ‚Ó™.",
+       "MATH_ONLIST_OPERATOR_RANDOM": "иÑемлектең Ð¾Ñраҡлы Ñлементы",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "ИÑемлектең Ð¾Ñраҡлы Ñлементын ÐºÒ¯Ñ€Ò»Ó™Ñ‚Ó™.",
+       "MATH_MODULO_HELPURL": "https://ba.wikipedia.org/wiki/Ҡалдыҡ_менән_бүлеү",
+       "MATH_MODULO_TITLE": "ҡалдыҡ %1 : %2 Ð°Ñ€Ð°Ò»Ñ‹Ð½Ð´Ð°",
+       "MATH_MODULO_TOOLTIP": "Ике Ò»Ð°Ð½Ð´Ñ‹ Ð±Ò¯Ð»ÐµÒ¯ Ò¡Ð°Ð»Ð´Ñ‹Ò“ын ÐºÒ¯Ñ€Ò»Ó™Ñ‚Ó™.",
+       "MATH_CONSTRAIN_TITLE": "Ñикләргә %1 Ð°Ò«Ñ‚ан %2 Ó©Ò«Ñ‚ән %3",
+       "MATH_CONSTRAIN_TOOLTIP": "Һанды Ð°Ò«Ñ‚ан Ò»Ó™Ð¼ Ó©Ò«Ñ‚ән Ñикләй (Ñиктәгеләрен Ð¸Ð½Ð´ÐµÑ€ÐµÐ¿).",
+       "MATH_RANDOM_INT_HELPURL": "https://ba.wikipedia.org/wiki/Ялған Ð¾Ñраҡлы_һандар_генераторы",
+       "MATH_RANDOM_INT_TITLE": "%1-ҙән %2-гә Ñ‚иклем Ð¾Ñраҡлы Ð±Ó©Ñ‚өн Ò»Ð°Ð½",
+       "MATH_RANDOM_INT_TOOLTIP": "Ике Ð±Ð¸Ñ€ÐµÐ»Ð³Ó™Ð½ Ò»Ð°Ð½ Ð°Ñ€Ð°Ò»Ñ‹Ð½Ð´Ð°Ò“Ñ‹ (үҙҙәрен Ð´Ó™ Ð¸Ð½Ð´ÐµÑ€ÐµÐ¿) Ð¾Ñраҡлы Ò»Ð°Ð½Ð´Ñ‹ ÐºÒ¯Ñ€Ò»Ó™Ñ‚Ó™.",
+       "MATH_RANDOM_FLOAT_HELPURL": "https://ba.wikipedia.org/wiki/Ялған Ð¾Ñраҡлы_һандар_генераторы",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "0 (үҙен Ð´Ó™ Ð¸Ð½Ð´ÐµÑ€ÐµÐ¿) Ò»Ó™Ð¼ 1 Ð°Ñ€Ð°Ò»Ñ‹Ð½Ð´Ð°Ò“Ñ‹ Ð¾Ñраҡлы Ò»Ð°Ð½",
+       "TEXT_TEXT_TOOLTIP": "ТекÑÑ‚Ñ‹Ò£ Ñ…әрефе, Ò»Ò¯Ò™Ðµ Ð¹Ó™ÐºÐ¸ ÑŽÐ»Ñ‹.",
+       "TEXT_JOIN_TITLE_CREATEWITH": "текÑÑ‚ Ñ‚өҙөргә",
+       "TEXT_JOIN_TOOLTIP": "Элементтарҙың Ñ‚еләһә ÐºÒ¯Ð¿Ð¼Ðµ Ò»Ð°Ð½Ñ‹Ð½ Ð±ÐµÑ€Ð»Ó™ÑˆÑ‚ереп Ñ‚екÑÑ‚ Ñ„рагментын Ð±ÑƒÐ»Ð´Ñ‹Ñ€Ð°.",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "ҡушылығыҙ",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "ТекÑтҡа Ñлемент Ó©Ò«Ñ‚Ó™Ò¯.",
+       "TEXT_APPEND_TOOLTIP": "ҮҙгәреүÑән Â«%1»-гә Ñ‚екÑÑ‚ Ó©Ò«Ñ‚әргә.",
+       "TEXT_LENGTH_TITLE": "оҙонлоғо %1",
+       "TEXT_LENGTH_TOOLTIP": "Бирелгән Ñ‚екÑтағы Ñимволдар Ò»Ð°Ð½Ñ‹Ð½ (буш ÑƒÑ€Ñ‹Ð½Ð´Ð°Ñ€ Ð¼ÐµÐ½Ó™Ð½ Ð±ÐµÑ€Ð³Ó™) ÐºÐ¸Ñ€Ðµ Ò¡Ð°Ð¹Ñ‚ара.",
+       "TEXT_ISEMPTY_TITLE": "%1 Ð±ÑƒÑˆ",
+       "TEXT_INDEXOF_TITLE": "текÑтҡа %1 %2 %3",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "текÑÑ‚Ñ‹Ò£ Ñ‚әүге Ð¸Ð½ÐµÒ¯ÐµÐ½ Ñ‚абырға",
+       "TEXT_INDEXOF_OPERATOR_LAST": "ТекÑÑ‚Ñ‹Ò£ Ò»ÑƒÒ£Ò“Ñ‹ Ð¸Ð½ÐµÒ¯ÐµÐ½ Ñ‚абырға",
+       "TEXT_CHARAT_FROM_START": "хат Ð°Ð»Ñ‹Ñ€Ò“а #",
+       "TEXT_CHARAT_FROM_END": "â„– Ñ…әрефен Ð°Ò™Ð°Ò¡Ñ‚ан Ð°Ð»Ñ‹Ñ€Ò“а",
+       "TEXT_CHARAT_FIRST": "тәүге Ñ…әрефте Ð°Ð»Ñ‹Ñ€Ò“а",
+       "TEXT_CHARAT_LAST": "һуңғы Ñ…әрефте Ð°Ð»Ñ‹Ñ€Ò“а",
+       "TEXT_CHARAT_RANDOM": "оÑраҡлы Ñ…әрефте Ð°Ð»Ñ‹Ñ€Ò“а",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "текÑта",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "# Ñ…атҡа",
+       "TEXT_GET_SUBSTRING_END_LAST": "һуңғы Ñ…әрефкә Ñ‚иклем",
+       "TEXT_PRINT_TITLE": "%1 Ð±Ð°Ò«Ñ‚ырырға",
+       "LISTS_CREATE_WITH_INPUT_WITH": "менән Ð¸Ñемлек Ñ‚өҙөргә",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "иÑемлек",
+       "LISTS_LENGTH_TITLE": "оҙонлоғо %1",
+       "LISTS_ISEMPTY_TITLE": "%1 Ð±ÑƒÑˆ",
+       "LISTS_INLIST": "иÑемлеккә",
+       "LISTS_GET_INDEX_GET": "алырға",
+       "LISTS_GET_INDEX_GET_REMOVE": "алырға Ò»Ó™Ð¼ ÑŽÐ¹Ñ‹Ñ€Ò“а",
+       "LISTS_GET_INDEX_REMOVE": "юйырға",
+       "LISTS_GET_INDEX_FROM_END": "# Ð°Ò™Ð°Ò“ынан",
+       "LISTS_GET_INDEX_FIRST": "беренÑе",
+       "LISTS_GET_INDEX_LAST": "аҙаҡҡы",
+       "LISTS_GET_INDEX_RANDOM": "оÑраҡлы",
+       "LISTS_SET_INDEX_SET": "йыйылма",
+       "LISTS_SET_INDEX_INSERT": "өҫтәп Ò¡ÑƒÐ¹Ñ‹Ñ€Ò“а",
+       "LISTS_SET_INDEX_INPUT_TO": "кеүек",
+       "PROCEDURES_DEFRETURN_RETURN": "кире Ò¡Ð°Ð¹Ñ‚арыу",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "инеү",
+       "PROCEDURES_MUTATORARG_TITLE": "инеү Ð¸Ñеме:",
+       "PROCEDURES_CREATE_DO": "'%1' Ñ‚өҙөргә"
+}
diff --git a/js/msg/json/bcc.json b/js/msg/json/bcc.json
new file mode 100644 (file)
index 0000000..56df823
--- /dev/null
@@ -0,0 +1,287 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Baloch Afghanistan"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "مورد",
+       "DUPLICATE_BLOCK": "تکراری",
+       "ADD_COMMENT": "اÙزودن Ù†Ø¸Ø±",
+       "REMOVE_COMMENT": "حذ٠نظر",
+       "EXTERNAL_INPUTS": "ورودی‌های Ø®Ø§Ø±Ø¬ÛŒ",
+       "INLINE_INPUTS": "ورودی‌های Ø¯Ø±ÙˆÙ† Ø®Ø·ÛŒ",
+       "DELETE_BLOCK": "حذ٠بلوک",
+       "DELETE_X_BLOCKS": "حذ٠بلوک‌های %1",
+       "COLLAPSE_BLOCK": "Ùروپاشی Ø¨Ù„ÙˆÚ©",
+       "COLLAPSE_ALL": "Ùروپاشی Ø¨Ù„وک‌ها",
+       "EXPAND_BLOCK": "گسترش Ø¨Ù„ÙˆÚ©",
+       "EXPAND_ALL": "گسترش Ø¨Ù„وک‌ها",
+       "DISABLE_BLOCK": "غیرÙعال‌سازی Ø¨Ù„ÙˆÚ©",
+       "ENABLE_BLOCK": "Ùعال‌سازی Ø¨Ù„ÙˆÚ©",
+       "HELP": "کومک",
+       "CHANGE_VALUE_TITLE": "تغییر Ù…قدار:",
+       "RENAME_VARIABLE": "تغییر Ù†Ø§Ù… Ù…تغیر...",
+       "RENAME_VARIABLE_TITLE": "تغییر Ù†Ø§Ù… Ù‡Ù…Ù‡Ù” Ù…تغیرهای Â«%1» Ø¨Ù‡:",
+       "NEW_VARIABLE": "متغیر ØªØ§Ø²Ù‡...",
+       "NEW_VARIABLE_TITLE": "نام Ù…تغیر ØªØ§Ø²Ù‡:",
+       "COLOUR_PICKER_HELPURL": "https://fa.wikipedia.org/wiki/%D8%B1%D9%86%DA%AF",
+       "COLOUR_PICKER_TOOLTIP": "انتخاب ÛŒÚ© Ø±Ù†Ú¯ Ø§Ø² ØªØ®ØªÙ‡â€ŒØ±Ù†Ú¯.",
+       "COLOUR_RANDOM_TITLE": "رنگ ØªØµØ§Ø¯ÙÛŒ",
+       "COLOUR_RANDOM_TOOLTIP": "انتخاب ÛŒÚ© Ø±Ù†Ú¯ Ø¨Ù‡ Ø´Ú©Ù„ ØªØµØ§Ø¯ÙÛŒ.",
+       "COLOUR_RGB_TITLE": "رنگ Ø¨Ø§",
+       "COLOUR_RGB_RED": "قرمز",
+       "COLOUR_RGB_GREEN": "سبز",
+       "COLOUR_RGB_BLUE": "آبی",
+       "COLOUR_RGB_TOOLTIP": "ساخت ÛŒÚ© Ø±Ù†Ú¯ Ø¨Ø§ Ù…قدار Ù…شخص‌شده‌ای Ø§Ø² Ù‚رمز، Ø³Ø¨Ø² Ùˆ Ø¢Ø¨ÛŒ. Ù‡Ù…Ù‡Ù” Ù…قادیر Ø¨Ø§ÛŒØ¯ Ø¨ÛŒÙ† Û° ØªØ§ Û±Û°Û° Ø¨Ø§Ø´Ù†Ø¯.",
+       "COLOUR_BLEND_TITLE": "مخلوط",
+       "COLOUR_BLEND_COLOUR1": "رنگ Û±",
+       "COLOUR_BLEND_COLOUR2": "رنگ Û²",
+       "COLOUR_BLEND_RATIO": "نسبت",
+       "COLOUR_BLEND_TOOLTIP": "دو Ø±Ù†Ú¯ Ø±Ø§ Ø¨Ø§ Ù†Ø³Ø¨Øª Ù…شخص‌شده Ù…خلوط Ù…ی‌کند (Û°Ù«Û° - Û±Ù«Û°)",
+       "CONTROLS_REPEAT_HELPURL": "https://fa.wikipedia.org/wiki/%D8%AD%D9%84%D9%82%D9%87_%D9%81%D9%88%D8%B1",
+       "CONTROLS_REPEAT_TITLE": "%1 Ø¨Ø§Ø± ØªÚ©Ø±Ø§Ø±",
+       "CONTROLS_REPEAT_INPUT_DO": "انجام",
+       "CONTROLS_REPEAT_TOOLTIP": "انجام Ú†Ù†Ø¯ Ø¹Ø¨Ø§Ø±Øª Ú†Ù†Ø¯ÛŒÙ† Ø¨Ø§Ø±.",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "تکرار Ø¯Ø± Ø­Ø§Ù„ÛŒ Ú©Ù‡",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "تکرار ØªØ§",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "تا Ø²Ù…انی Ú©Ù‡ ÛŒÚ© Ù…قدار ØµØ­ÛŒØ­ Ø§Ø³ØªØŒ Ú†Ù†Ø¯ Ø¹Ø¨Ø§Ø±Øª Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ø¨Ø¯Ù‡.",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "تا Ø²Ù…انی Ú©Ù‡ ÛŒÚ© Ù…قدار Ù†Ø§ØµØ­ÛŒØ­ Ø§Ø³ØªØŒ Ú†Ù†Ø¯ Ø¹Ø¨Ø§Ø±Øª Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ø¨Ø¯Ù‡.",
+       "CONTROLS_FOR_TOOLTIP": "متغیر %1 Ø±Ø§ Ø¯Ø± Ù…قادیر Ø´Ø±ÙˆØ¹â€ŒØ´Ø¯Ù‡ Ø§Ø² Ø¹Ø¯Ø¯ Ø§Ù†ØªÙ‡Ø§ÛŒ  Ø¨Ù‡ Ø¹Ø¯Ø¯ Ø§Ù†ØªÙ‡Ø§ÛŒÛŒ Ø±Ø§ Ø¯Ø§Ø±Ø¯ØŒ Ø¨Ø§ Ùواصل Ù…شخص‌شده Ù…ی‌شمارد Ùˆ Ø§ÛŒÙ† Ø¨Ù„ÙˆÚ© Ù…شخص‌شده Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ù…ی‌دهد.",
+       "CONTROLS_FOR_TITLE": "با ØªØ¹Ø¯Ø§Ø¯ %1 Ø§Ø² %2 Ø¨Ù‡ %3 Ø¨Ø§ Ú¯Ø§Ù…‌های %4",
+       "CONTROLS_FOREACH_TITLE": "برای Ù‡Ø± Ù…ورد %1 Ø¯Ø± Ùهرست %2",
+       "CONTROLS_FOREACH_TOOLTIP": "برای Ù‡Ø± Ù…ورد Ø¯Ø± Ø§ÛŒÙ† Ùهرست، ØªÙ†Ø¸ÛŒÙ… Ù…تغیر Â«%1» Ø¨Ù‡ Ù…ورد Ùˆ Ø§Ù†Ø¬Ø§Ù… ØªØ¹Ø¯Ø§Ø¯ÛŒ Ø¹Ø¨Ø§Ø±Øª.",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "شکستن Ø­Ù„قه",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "ادامه Ø¨Ø§ ØªÚ©Ø±Ø§Ø± Ø¨Ø¹Ø¯ÛŒ Ø­Ù„قه",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "شکستن Ø­Ù„قهٔ Ø´Ø§Ù…Ù„.",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "پریدن Ø§Ø² Ø¨Ù‚یهٔ Ø­Ù„قه Ùˆ Ø§Ø¯Ø§Ù…Ù‡ Ø¨Ø§ ØªÚ©Ø±Ø§Ø± Ø¨Ø¹Ø¯ÛŒ.",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "اخطار: Ø§ÛŒÙ† Ø¨Ù„ÙˆÚ© Ù…Ù…Ú©Ù† Ø§Ø³Øª Ùقط Ø¯Ø§Ø®Ù„ ÛŒÚ© Ø­Ù„قه Ø§Ø³ØªÙاده Ø´ÙˆØ¯.",
+       "CONTROLS_IF_TOOLTIP_1": "اگر ÛŒÚ© Ù…قدار ØµØ­ÛŒØ­ Ø§Ø³ØªØŒ Ø³Ù¾Ø³ Ú†Ù†Ø¯ Ø¹Ø¨Ø§Ø±Øª Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ø¨Ø¯Ù‡.",
+       "CONTROLS_IF_TOOLTIP_2": "اگر ÛŒÚ© Ù…قدار ØµØ­ÛŒØ­ Ø§Ø³ØªØŒ Ø§ÙˆÙ„ Ø¨Ù„ÙˆÚ© Ø§ÙˆÙ„ Ø¹Ø¨Ø§Ø±Ø§Øª Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ø¨Ø¯Ù‡.  Ø¯Ø± ØºÛŒØ± Ø§ÛŒÙ† ØµÙˆØ±Øª Ø¨Ù„ÙˆÚ© Ø¯ÙˆÙ… Ø¹Ø¨Ø§Ø±Ø§Øª Ø§Ù†Ø¬Ø§Ù… Ø¨Ø¯Ù‡.",
+       "CONTROLS_IF_TOOLTIP_3": "اگر Ù…قدار Ø§ÙˆÙ„ ØµØ­ÛŒØ­ Ø¨ÙˆØ¯ØŒ Ø§Ø² Ø¢Ù† Ø¨Ù„ÙˆÚ© Ø§ÙˆÙ„ Ø¹Ø¨Ø§Ø±Ø§Øª Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ø¨Ø¯Ù‡.  Ø¯Ø± ØºÛŒØ± Ø§ÛŒÙ† ØµÙˆØ±ØªØŒ Ø§Ú¯Ø± Ù…قدار Ø¯ÙˆÙ… ØµØ­ÛŒØ­ Ø§Ø³ØªØŒ Ø¨Ù„ÙˆÚ© Ø¯ÙˆÙ… Ø¹Ø¨Ø§Ø±Ø§Øª Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ø¨Ø¯Ù‡.",
+       "CONTROLS_IF_TOOLTIP_4": "اگر Ù…قدار Ø§ÙˆÙ„ Ø¯Ø±Ø³Øª Ø§Ø³ØªØŒ Ø¨Ù„ÙˆÚ© Ø§ÙˆÙ„ Ø¹Ø¨Ø§Ø±Ø§Øª Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ø¨Ø¯Ù‡.  Ø¯Ø± ØºÛŒØ± Ø§ÛŒÙ† ØµÙˆØ±ØªØŒ Ø§Ú¯Ø± Ù…قدار Ø¯ÙˆÙ… Ø¯Ø±Ø³Øª Ø¨Ø§Ø´Ø¯ Ø¨Ù„ÙˆÚ© Ø¯ÙˆÙ… Ø¹Ø¨Ø§Ø±Ø§Øª Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ø¨Ø¯Ù‡.  Ø§Ú¯Ø± Ù‡ÛŒÚ† Ø§Ø² Ù…قادیر Ø¯Ø±Ø³Øª Ù†Ø¨ÙˆØ¯ØŒ Ø¢Ø®Ø±ÛŒÙ† Ø¨Ù„ÙˆÚ© Ø¹Ø¨Ø§Ø±Ø§Øª Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ø¨Ø¯Ù‡.",
+       "CONTROLS_IF_MSG_IF": "اگر",
+       "CONTROLS_IF_MSG_ELSEIF": "اگر Ø¢Ù†Ú¯Ø§Ù‡",
+       "CONTROLS_IF_MSG_ELSE": "آنگاه",
+       "CONTROLS_IF_IF_TOOLTIP": "اضاÙه، Ø­Ø°Ù ÛŒØ§ ØªØ±ØªÛŒØ¨â€ŒØ³Ø§Ø²ÛŒ Ù‚سمت‌ها Ø¨Ø±Ø§ÛŒ ØªÙ†Ø¸ÛŒÙ… Ù…جدد Ø§ÛŒÙ† Ø¨Ù„ÙˆÚ© Ø§Ú¯Ø± Ù…سدود Ø§Ø³Øª.",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "اÙزودن ÛŒÚ© Ø´Ø±Ø· Ø¨Ù‡ Ø¨Ù„ÙˆÚ© Ø§Ú¯Ø±.",
+       "CONTROLS_IF_ELSE_TOOLTIP": "اضاÙه‌کردن Ù†Ù‡Ø§ÛŒÛŒØŒ Ú¯Ø±Ùتن Ù‡Ù…Ù‡Ù” Ø´Ø±Ø§ÛŒØ· Ø¨Ù‡ Ø¨Ù„ÙˆÚ© Ø§Ú¯Ø±.",
+       "LOGIC_COMPARE_HELPURL": "https://fa.wikipedia.org/wiki/%D9%86%D8%A7%D8%A8%D8%B1%D8%A7%D8%A8%D8%B1%DB%8C",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "بازگشت ØµØ­ÛŒØ­ Ø§Ú¯Ø± Ù‡Ø± Ø¯Ùˆ ÙˆØ±ÙˆØ¯ÛŒ Ø¨Ø§ ÛŒÚ©Ø¯ÛŒÚ¯Ø± Ø¨Ø±Ø§Ø¨Ø± Ø¨Ø§Ø´Ø¯.",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "برگرداندن ØµØ­ÛŒØ­ Ø§Ú¯Ø± Ù‡Ø± Ø¯Ùˆ ÙˆØ±ÙˆØ¯ÛŒ Ø¨Ø§ ÛŒÚ©Ø¯ÛŒÚ¯Ø± Ø¨Ø±Ø§Ø¨Ø± Ù†Ø¨Ø§Ø´Ù†Ø¯.",
+       "LOGIC_COMPARE_TOOLTIP_LT": "بازگرداندن ØµØ­ÛŒØ­ Ø§Ú¯Ø± ÙˆØ±ÙˆØ¯ÛŒ Ø§ÙˆÙ„ Ú©ÙˆÚ†Ú©ØªØ± Ø§Ø² ÙˆØ±ÙˆØ¯ÛŒ Ø¯ÙˆÙ… Ø¨Ø§Ø´Ø¯.",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "بازگرداندن ØµØ­ÛŒØ­ Ø§Ú¯Ø± ÙˆØ±ÙˆØ¯ÛŒ Ø§ÙˆÙ„ Ú©ÙˆÚ†Ú©ØªØ± ÛŒØ§ Ù…ساوی Ø¨Ø§ ÙˆØ±ÙˆØ¯ÛŒ Ø¯ÙˆÙ… Ø¨Ø§Ø´Ø¯.",
+       "LOGIC_COMPARE_TOOLTIP_GT": "بازگرداندن ØµØ­ÛŒØ­ Ø§Ú¯Ø± ÙˆØ±ÙˆØ¯ÛŒ Ø§ÙˆÙ„ Ø¨Ø²Ø±Ú¯ØªØ± Ø§Ø² ÙˆØ±ÙˆØ¯ÛŒ Ø¯ÙˆÙ… Ø¨Ø§Ø´Ø¯.",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "بازگرداندن ØµØ­ÛŒØ­ Ø§Ú¯Ø± ÙˆØ±ÙˆØ¯ÛŒ Ø§ÙˆÙ„ Ø¨Ø²Ø±Ú¯ØªØ± ÛŒØ§ Ù…ساوی ÛŒØ§ ÙˆØ±ÙˆØ¯ÛŒ Ø¯ÙˆÙ… Ø¨Ø§Ø´Ø¯.",
+       "LOGIC_OPERATION_TOOLTIP_AND": "بازگرداندن ØµØ­ÛŒØ­ Ø§Ú¯Ø± Ù‡Ø± Ø¯Ùˆ ÙˆØ±ÙˆØ¯ÛŒ ØµØ­ÛŒØ­ Ø¨Ø§Ø´Ø¯.",
+       "LOGIC_OPERATION_AND": "Ùˆ",
+       "LOGIC_OPERATION_TOOLTIP_OR": "بازگرداندن ØµØ­ÛŒØ­ Ø§Ú¯Ø± ÛŒÚ©ÛŒ Ø§Ø² Ø¯Ùˆ ÙˆØ±ÙˆØ¯ÛŒ ØµØ­ÛŒØ­ Ø¨Ø§Ø´Ø¯.",
+       "LOGIC_OPERATION_OR": "یا",
+       "LOGIC_NEGATE_TITLE": "نه %1",
+       "LOGIC_NEGATE_TOOLTIP": "صجیج Ø¨Ø§Ø² Ù…ی‌گرداند Ø§Ú¯Ø± ÙˆØ±ÙˆØ¯ÛŒ Ù†Ø§ ØµØ­ÛŒØ­ Ø¨Ø§Ø´Ù†Ø¯. Ù†Ø§ØµØ­ÛŒØ­ Ø¨Ø§Ø²Ù…ی‌گرداند Ø§Ú¯Ø± ÙˆØ±ÙˆØ¯ÛŒ ØµØ­ÛŒØ­ Ø¨Ø§Ø´Ø¯.",
+       "LOGIC_BOOLEAN_TRUE": "صحیح",
+       "LOGIC_BOOLEAN_FALSE": "ناصحیح",
+       "LOGIC_BOOLEAN_TOOLTIP": "بازگرداندن ÛŒÚ©ÛŒ Ø§Ø² ØµØ­ÛŒØ­ ÛŒØ§ Ù†Ø§ØµØ­ÛŒØ­.",
+       "LOGIC_NULL": "تهی",
+       "LOGIC_NULL_TOOLTIP": "تهی Ø¨Ø§Ø²Ù…ی‌گرداند.",
+       "LOGIC_TERNARY_CONDITION": "آزمایش",
+       "LOGIC_TERNARY_IF_TRUE": "اگر ØµØ­ÛŒØ­",
+       "LOGIC_TERNARY_IF_FALSE": "اگر Ù†Ø§ØµØ­ÛŒØ­",
+       "LOGIC_TERNARY_TOOLTIP": "بررسی ÙˆØ¶Ø¹ÛŒØª Ø¯Ø± Â«Ø¢Ø²Ù…ایش». Ø§Ú¯Ø± ÙˆØ¶Ø¹ÛŒØª ØµØ­ÛŒØ­ Ø¨Ø§Ø´Ø¯ØŒ Ù…قدار Â«Ø§Ú¯Ø± ØµØ­ÛŒØ­Â» Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند Ø¯Ø± ØºÛŒØ± Ø§ÛŒÙ†ØµÙˆØ±Øª Ù…قدار Â«Ø§Ú¯Ø± Ù†Ø§ØµØ­ÛŒØ­Â» Ø±Ø§.",
+       "MATH_NUMBER_HELPURL": "https://fa.wikipedia.org/wiki/%D8%B9%D8%AF%D8%AF",
+       "MATH_NUMBER_TOOLTIP": "یک Ø¹Ø¯Ø¯.",
+       "MATH_ARITHMETIC_HELPURL": "https://fa.wikipedia.org/wiki/%D8%AD%D8%B3%D8%A7%D8%A8",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "بازگرداندن Ù…قدار Ø¬Ù…ع Ø¯Ùˆ Ø¹Ø¯Ø¯.",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "بازگرداندن ØªÙاوت Ø¯Ùˆ Ø¹Ø¯Ø¯.",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "بازگرداندن Ø­Ø§ØµÙ„ضرب Ø¯Ùˆ Ø¹Ø¯Ø¯.",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "بازگرداندن Ø¨Ø§Ù‚ی‌ماندهٔ Ø¯Ùˆ Ø¹Ø¯Ø¯.",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "بازگرداندن Ø§ÙˆÙ„ین Ø¹Ø¯Ø¯ÛŒ Ú©Ù‡ Ø§Ø² ØªÙˆØ§Ù† Ø¹Ø¯Ø¯ Ø¯ÙˆÙ… Ø­Ø§ØµÙ„ Ø´Ø¯Ù‡ Ø¨Ø§Ø´Ø¯.",
+       "MATH_SINGLE_HELPURL": "https://fa.wikipedia.org/wiki/%D8%B1%DB%8C%D8%B4%D9%87_%D8%AF%D9%88%D9%85",
+       "MATH_SINGLE_OP_ROOT": "ریشهٔ Ø¯ÙˆÙ…",
+       "MATH_SINGLE_TOOLTIP_ROOT": "ریشهٔ Ø¯ÙˆÙ… ÛŒÚ© Ø¹Ø¯Ø¯ Ø±Ø§ Ø¨Ø§Ø² Ù…ی‌گرداند.",
+       "MATH_SINGLE_OP_ABSOLUTE": "مطلق",
+       "MATH_SINGLE_TOOLTIP_ABS": "قدر Ù…طلق ÛŒÚ© Ø¹Ø¯Ø¯ Ø±Ø§ Ø¨Ø§Ø²Ù…ی‌گرداند.",
+       "MATH_SINGLE_TOOLTIP_NEG": "منÙی‌شدهٔ ÛŒÚ© Ø¹Ø¯Ø¯ Ø±Ø§ Ø¨Ø§Ø² Ù…ی‌گرداند.",
+       "MATH_SINGLE_TOOLTIP_LN": "لوگاریتم Ø·Ø¨ÛŒØ¹ÛŒ ÛŒÚ© Ø¹Ø¯Ø¯ Ø±Ø§ Ø¨Ø§Ø² Ù…ی‌گرداند.",
+       "MATH_SINGLE_TOOLTIP_LOG10": "بازگرداندن Ù„گاریتم Ø¨Ø± Ù¾Ø§ÛŒÙ‡Ù” Û±Û° ÛŒÚ© Ø¹Ø¯Ø¯.",
+       "MATH_SINGLE_TOOLTIP_EXP": "بازگرداندن ØªÙˆØ§Ù† e ÛŒÚ© Ø¹Ø¯Ø¯.",
+       "MATH_SINGLE_TOOLTIP_POW10": "بازگرداندن ØªÙˆØ§Ù† Û±Û° ÛŒÚ© Ø¹Ø¯Ø¯.",
+       "MATH_TRIG_HELPURL": "https://fa.wikipedia.org/wiki/%D8%AA%D8%A7%D8%A8%D8%B9%E2%80%8C%D9%87%D8%A7%DB%8C_%D9%85%D8%AB%D9%84%D8%AB%D8%A7%D8%AA%DB%8C",
+       "MATH_TRIG_TOOLTIP_SIN": "بازگرداندن Ø³ÛŒÙ†ÙˆØ³ Ø¯Ø±Ø¬Ù‡ (نه Ø±Ø§Ø¯ÛŒØ§Ù†).",
+       "MATH_TRIG_TOOLTIP_COS": "بازگرداندن Ú©Ø³ÛŒÙ†ÙˆØ³ Ø¯Ø±Ø¬Ù‡ (نه Ø±Ø§Ø¯ÛŒØ§Ù†).",
+       "MATH_TRIG_TOOLTIP_TAN": "بازگرداندن ØªØ§Ù†Ú˜Ø§Ù†Øª ÛŒÚ© Ø¯Ø±Ø¬Ù‡ (نه Ø±Ø§Ø¯ÛŒØ§Ù†).",
+       "MATH_TRIG_TOOLTIP_ASIN": "بازگرداندن Ø¢Ø±Ú©â€ŒØ³ÛŒÙ†ÙˆØ³ Ø¯Ø±Ø¬Ù‡ (نه Ø±Ø§Ø¯ÛŒØ§Ù†).",
+       "MATH_TRIG_TOOLTIP_ACOS": "بازگرداندن Ø¢Ø±Ú©â€ŒÚ©Ø³ÛŒÙ†ÙˆØ³ Ø¯Ø±Ø¬Ù‡ (نه Ø±Ø§Ø¯ÛŒØ§Ù†).",
+       "MATH_TRIG_TOOLTIP_ATAN": "بازگرداندن Ø¢Ø±Ú©â€ŒØªØ§Ù†Ú˜Ø§Ù†Øª Ø¯Ø±Ø¬Ù‡ (نه Ø±Ø§Ø¯ÛŒØ§Ù†).",
+       "MATH_CONSTANT_HELPURL": "https://fa.wikipedia.org/wiki/%D8%AB%D8%A7%D8%A8%D8%AA_%D8%B1%DB%8C%D8%A7%D8%B6%DB%8C",
+       "MATH_CONSTANT_TOOLTIP": "یکی Ø§Ø² Ù…قادیر Ù…شترک Ø±Ø§ Ø¨Ø±Ù…ی‌گرداند: Ï€ (۳٫۱۴۱…)ØŒ e (Û²Ù«Û·Û±Û¸...)ØŒ Ï† (Û±Ù«Û¶Û±Û¸)ØŒ sqrt(Û²) (Û±Ù«Û´Û±Û´)ØŒ sqrt(Û±/Û²) (Û°Ù«Û·Û°Û·...) Ùˆ ÛŒØ§ âˆž (بی‌نهایت).",
+       "MATH_IS_EVEN": "زوج Ø§Ø³Øª",
+       "MATH_IS_ODD": "Ùرد Ø§Ø³Øª",
+       "MATH_IS_PRIME": "عدد Ø§ÙˆÙ„ Ø§Ø³Øª",
+       "MATH_IS_WHOLE": "کامل Ø§Ø³Øª",
+       "MATH_IS_POSITIVE": "مثبت Ø§Ø³Øª",
+       "MATH_IS_NEGATIVE": "منÙÛŒ Ø§Ø³Øª",
+       "MATH_IS_DIVISIBLE_BY": "تقسیم Ø´Ø¯Ù‡ Ø¨Ø±",
+       "MATH_IS_TOOLTIP": "بررسی Ù…ی‌کند Ú©Ù‡ Ø¢ÛŒØ§ ÛŒÚ© Ø¹Ø¯Ø¯ Ø²ÙˆØ¬ØŒ Ùرد، Ø§ÙˆÙ„ØŒ Ú©Ø§Ù…Ù„ØŒ Ù…ثبت، Ù…Ù†ÙÛŒ ÛŒØ§ Ø¨Ø®Ø´â€ŒÙ¾Ø°ÛŒØ± Ø¹Ø¯Ø¯ Ø®Ø§ØµÛŒ Ø¨Ø§Ø´Ø¯ Ø±Ø§ Ø¨Ø±Ø±Ø³ÛŒ Ù…ی‌کند. Ø¯Ø±Ø³Øª ÛŒØ§ Ù†Ø§Ø¯Ø±Ø³Øª Ø¨Ø§Ø² Ù…ی‌گرداند.",
+       "MATH_CHANGE_HELPURL": "https://fa.wikipedia.org/wiki/%D8%A7%D8%B5%D8%B7%D9%84%D8%A7%D8%AD_%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87%E2%80%8C%D9%86%D9%88%DB%8C%D8%B3%DB%8C#.D8.A7.D9.81.D8.B2.D8.A7.DB.8C.D8.B4_.D8.B4.D9.85.D8.A7.D8.B1.D9.86.D8.AF.D9.87",
+       "MATH_CHANGE_TITLE": "تغییر %1 Ø¨Ø§ %2",
+       "MATH_CHANGE_TOOLTIP": "اÙزودن ÛŒÚ© Ø¹Ø¯Ø¯ Ø¨Ù‡ Ù…تغیر '%1'.",
+       "MATH_ROUND_HELPURL": "https://fa.wikipedia.org/wiki/%D8%B1%D9%88%DB%8C%D9%87_%28%D8%B9%D9%84%D9%88%D9%85_%D8%B1%D8%A7%DB%8C%D8%A7%D9%86%D9%87%29",
+       "MATH_ROUND_TOOLTIP": "گردکردن ÛŒÚ© Ø¹Ø¯Ø¯ Ø¨Ù‡ Ø¨Ø§Ù„ا ÛŒØ§ Ù¾Ø§ÛŒÛŒÙ†.",
+       "MATH_ROUND_OPERATOR_ROUND": "گردکردن",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "گرد Ø¨Ù‡ Ø¨Ø§Ù„ا",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "گرد Ø¨Ù‡ Ù¾Ø§ÛŒÛŒÙ†",
+       "MATH_ONLIST_OPERATOR_SUM": "جمع Ùهرست",
+       "MATH_ONLIST_TOOLTIP_SUM": "جمع Ù‡Ù…Ù‡Ù” Ø¹Ø¯Ø¯Ù‡Ø§ÛŒ Ùهرست Ø±Ø§ Ø¨Ø§Ø² Ù…ی‌گرداند.",
+       "MATH_ONLIST_OPERATOR_MIN": "کوچکترین Ùهرست",
+       "MATH_ONLIST_TOOLTIP_MIN": "کوچک‌ترین Ø¹Ø¯Ø¯ Ø¯Ø± Ùهرست Ø±Ø§ Ø¨Ø§Ø² Ù…ی‌گرداند.",
+       "MATH_ONLIST_OPERATOR_MAX": "بزرگ‌ترین Ùهرست",
+       "MATH_ONLIST_TOOLTIP_MAX": "بزرگ‌ترین Ø¹Ø¯Ø¯ Ø¯Ø± Ùهرست Ø±Ø§ Ø¨Ø§Ø² Ù…ی‌گرداند.",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "میانگین Ùهرست",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "میانگین (میانگین Ø±ÛŒØ§Ø¶ÛŒ) Ù…قادیر Ø¹Ø¯Ø¯ÛŒ Ùهرست Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند.",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "میانهٔ Ùهرست",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "میانهٔ Ø¹Ø¯Ø¯ Ø¯Ø± Ùهرست Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند.",
+       "MATH_ONLIST_OPERATOR_MODE": "مد Ùهرست",
+       "MATH_ONLIST_TOOLTIP_MODE": "شایع‌ترین Ù‚لم(های) Ø¯Ø± Ùهرست Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند.",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "انحرا٠معیار Ùهرست",
+       "MATH_ONLIST_TOOLTIP_STD_DEV": "انحرا٠معیار Ùهرست Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند.",
+       "MATH_ONLIST_OPERATOR_RANDOM": "مورد ØªØµØ§Ø¯ÙÛŒ Ø§Ø² Ùهرست",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "موردی ØªØµØ§Ø¯ÙÛŒ Ø§Ø² Ùهرست Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند.",
+       "MATH_MODULO_HELPURL": "https://fa.wikipedia.org/wiki/%D8%B9%D9%85%D9%84%DB%8C%D8%A7%D8%AA_%D9%BE%DB%8C%D9%85%D8%A7%D9%86%D9%87",
+       "MATH_MODULO_TITLE": "باقی‌ماندهٔ %1 + %2",
+       "MATH_MODULO_TOOLTIP": "باقی‌ماندهٔ ØªÙ‚سیم Ø¯Ùˆ Ø¹Ø¯Ø¯ Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند.",
+       "MATH_CONSTRAIN_TITLE": "محدودکردن %1 Ù¾Ø§ÛŒÛŒÙ† %2 Ø¨Ø§Ù„ا %3",
+       "MATH_CONSTRAIN_TOOLTIP": "محدودکردن ÛŒÚ© Ø¹Ø¯Ø¯ Ø¨ÛŒÙ† Ù…حدودیت‌های Ù…شخص‌شده (بسته).",
+       "MATH_RANDOM_INT_HELPURL": "https://fa.wikipedia.org/wiki/%D8%AA%D9%88%D9%84%DB%8C%D8%AF_%D8%A7%D8%B9%D8%AF%D8%A7%D8%AF_%D8%AA%D8%B5%D8%A7%D8%AF%D9%81%DB%8C",
+       "MATH_RANDOM_INT_TITLE": "عدد ØµØ­ÛŒØ­ ØªØµØ§Ø¯ÙÛŒ Ø¨ÛŒÙ† %1 ØªØ§ %2",
+       "MATH_RANDOM_INT_TOOLTIP": "یک Ø¹Ø¯Ø¯ ØªØµØ§Ø¯ÙÛŒ Ø¨ÛŒÙ† Ø¯Ùˆ Ù…قدار Ù…شخص‌شده Ø¨Ù‡ ØµÙˆØ±Øª Ø¨Ø³ØªÙ‡ Ø¨Ø§Ø² Ù…ی‌گرداند.",
+       "MATH_RANDOM_FLOAT_HELPURL": "https://fa.wikipedia.org/wiki/%D8%AA%D9%88%D9%84%DB%8C%D8%AF_%D8%A7%D8%B9%D8%AF%D8%A7%D8%AF_%D8%AA%D8%B5%D8%A7%D8%AF%D9%81%DB%8C",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "کسر ØªØµØ§Ø¯ÙÛŒ",
+       "MATH_RANDOM_FLOAT_TOOLTIP": "بازگرداندن Ú©Ø³Ø±ÛŒ ØªØµØ§Ø¯ÙÛŒ Ø¨ÛŒÙ† Û°Ù«Û° (بسته) ØªØ§ Û±Ù«Û° (باز).",
+       "TEXT_TEXT_HELPURL": "https://fa.wikipedia.org/wiki/%D8%B1%D8%B4%D8%AA%D9%87_%28%D8%B9%D9%84%D9%88%D9%85_%D8%B1%D8%A7%DB%8C%D8%A7%D9%86%D9%87%29",
+       "TEXT_TEXT_TOOLTIP": "یک Ø­Ø±ÙØŒ Ú©Ù„مه ÛŒØ§ Ø®Ø·ÛŒ Ø§Ø² Ù…تن.",
+       "TEXT_JOIN_TITLE_CREATEWITH": "ایجاد Ù…تن Ø¨Ø§",
+       "TEXT_JOIN_TOOLTIP": "یک ØªÚ©Ù‡â€ŒØ§ÛŒ Ø§Ø² Ù…تن Ø±Ø§ Ø¨Ø§ Ú†Ø³Ù¾Ø§Ù†Ø¯Ù† Ù‡Ù…Ù‡Ù” ØªØ¹Ø¯Ø§Ø¯ Ø§Ø² Ù…وارد Ø§ÛŒØ¬Ø§Ø¯ Ù…ی‌کند.",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "عضویت",
+       "TEXT_CREATE_JOIN_TOOLTIP": "اضاÙه، Ø­Ø°Ù ÛŒØ§ ØªØ±ØªÛŒØ¨â€ŒØ³Ø§Ø²ÛŒ Ù‚سمت‌ها Ø¨Ø±Ø§ÛŒ ØªÙ†Ø¸ÛŒÙ… Ù…جدد Ø§ÛŒÙ† Ø¨Ù„ÙˆÚ© Ø§Ú¯Ø± Ù…سدود Ø§Ø³Øª.",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "اÙزودن ÛŒÚ© Ù…ورد Ø¨Ù‡ Ù…تن.",
+       "TEXT_APPEND_TITLE": "به %1 Ø§Ù„حاق Ù…تن %2",
+       "TEXT_APPEND_TOOLTIP": "الحاق Ù…تنی Ø¨Ù‡ Ù…تغیر Â«%1».",
+       "TEXT_LENGTH_TITLE": "طول %1",
+       "TEXT_LENGTH_TOOLTIP": "بازگرداندن Ø¹Ø¯Ø¯ÛŒ Ø§Ø² Ø­Ø±ÙˆÙ (شامل Ùاصله‌ها) Ø¯Ø± Ù…تن Ùراهم‌شده.",
+       "TEXT_ISEMPTY_TITLE": "%1 Ø®Ø§Ù„ÛŒ Ø§Ø³Øª",
+       "TEXT_ISEMPTY_TOOLTIP": "اضاÙه‌کردن ØµØ­ÛŒØ­ Ø§Ú¯Ø± Ù…تن Ùراهم‌شده Ø®Ø§Ù„ÛŒ Ø§Ø³Øª.",
+       "TEXT_INDEXOF_TOOLTIP": "شاخصی Ø§Ø² Ø§ÙˆÙ„ین Ø¢Ø®Ø±ÛŒÙ† Ø±Ø®â€ŒØ¯Ø§Ø¯ Ù…تن Ø§ÙˆÙ„ Ø¯Ø± Ù…تن Ø¯ÙˆÙ… Ø¨Ø± Ù…ی‌گرداند. Ø§Ú¯Ø± Ù…تن ÛŒØ§Ùت Ù†Ø´Ø¯ %1 Ø¨Ø§Ø² Ù…ی‌گرداند.",
+       "TEXT_INDEXOF_TITLE": "در Ù…تن %1 %2 %3",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "اولین Ø±Ø®Ø¯Ø§Ø¯ Ù…تن Ø±Ø§ Ø¨ÛŒØ§Ø¨",
+       "TEXT_INDEXOF_OPERATOR_LAST": "آخرین Ø±Ø®Ø¯Ø§Ø¯ Ù…تن Ø±Ø§ Ø¨ÛŒØ§Ø¨",
+       "TEXT_CHARAT_FROM_START": "گرÙتن Ø­Ø±Ù #",
+       "TEXT_CHARAT_FROM_END": "گرÙتن Ø­Ø±Ù # Ø§Ø² Ø¢Ø®Ø±",
+       "TEXT_CHARAT_FIRST": "گرÙتن Ø§ÙˆÙ„ین Ø­Ø±Ù",
+       "TEXT_CHARAT_LAST": "گرÙتن Ø¢Ø®Ø±ÛŒÙ† Ø­Ø±Ù",
+       "TEXT_CHARAT_RANDOM": "گرÙتن Ø­Ø±Ù ØªØµØ§Ø¯ÙÛŒ",
+       "TEXT_CHARAT_TOOLTIP": "حرÙÛŒ Ø¯Ø± Ù…وقعیت Ù…شخص‌شده Ø¨Ø± Ù…ی‌گرداند.",
+       "TEXT_GET_SUBSTRING_TOOLTIP": "قسمت Ù…شخصی‌شده‌ای Ø§Ø² Ù…تن Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند.",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "در Ù…تن",
+       "TEXT_GET_SUBSTRING_START_FROM_START": "گرÙتن Ø²ÛŒØ±Ù…تن Ø§Ø² Ø­Ø±Ù #",
+       "TEXT_GET_SUBSTRING_START_FROM_END": "گرÙتن Ø²ÛŒØ±Ù…تن Ø§Ø² Ø­Ø±Ù # Ø¨Ù‡ Ø§Ù†ØªÙ‡Ø§",
+       "TEXT_GET_SUBSTRING_START_FIRST": "گرÙتن Ø²ÛŒØ±Ù…تن Ø§Ø² Ø§ÙˆÙ„ین Ø­Ø±Ù",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "به Ø­Ø±Ù #",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "به Ø­Ø±Ù # Ø§Ø² Ø§Ù†ØªÙ‡Ø§",
+       "TEXT_GET_SUBSTRING_END_LAST": "گرÙتن Ø¢Ø®Ø±ÛŒÙ† Ø­Ø±Ù",
+       "TEXT_CHANGECASE_TOOLTIP": "بازگرداندن Ú©Ù¾ÛŒ Ù…تن Ø¯Ø± Ø­Ø§Ù„تی Ù…تÙاوت.",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "به Ø­Ø±ÙˆÙ Ø¨Ø²Ø±Ú¯",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "به Ø­Ø±ÙˆÙ Ú©ÙˆÚ†Ú©",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": "به Ø­Ø±ÙˆÙ Ø¨Ø²Ø±Ú¯ Ø¹Ù†ÙˆØ§Ù†",
+       "TEXT_TRIM_TOOLTIP": "Ú©Ù¾ÛŒ Ø§Ø² Ù…تن Ø¨Ø§ Ùاصله‌های Ø­Ø°Ù‌شده Ø§Ø² ÛŒÚ© ÛŒØ§ Ù‡Ø± Ø¯Ùˆ Ù¾Ø§ÛŒØ§Ù† Ø¨Ø§Ø² Ù…ی‌گرداند.",
+       "TEXT_TRIM_OPERATOR_BOTH": "تراشیدن Ùاصله‌ها Ø§Ø²  Ù‡Ø± Ø¯Ùˆ Ø·Ø±Ù",
+       "TEXT_TRIM_OPERATOR_LEFT": "تراشیدن Ùاصله‌ها Ø§Ø²  Ø·Ø±Ù Ú†Ù¾",
+       "TEXT_TRIM_OPERATOR_RIGHT": "تراشیدن Ùاصله‌ها Ø§Ø²  Ø·Ø±Ù Ú†Ù¾",
+       "TEXT_PRINT_TITLE": "چاپ %1",
+       "TEXT_PRINT_TOOLTIP": "چاپ Ù…تن، Ø¹Ø¯Ø¯ ÛŒØ§ Ù‡Ø± Ù…قدار Ø¯ÛŒÚ¯Ø± Ù…شخص‌شده.",
+       "TEXT_PROMPT_TYPE_TEXT": "اعلان Ø¨Ø±Ø§ÛŒ Ù…تن Ø¨Ø§ Ù¾ÛŒØ§Ù…",
+       "TEXT_PROMPT_TYPE_NUMBER": "اعلان Ø¨Ø±Ø§ÛŒ Ø¹Ø¯Ø¯ Ø¨Ø§ Ù¾ÛŒØ§Ù…",
+       "TEXT_PROMPT_TOOLTIP_NUMBER": "اعلان Ø¨Ø±Ø§ÛŒ Ú©Ø§Ø±Ø¨Ø± Ø¨Ø§ ÛŒÚ© Ø¹Ø¯Ø¯.",
+       "TEXT_PROMPT_TOOLTIP_TEXT": "اعلان Ø¨Ø±Ø§ÛŒ Ú©Ø§Ø±Ø¨Ø± Ø¨Ø±Ø§ÛŒ ÛŒÚ© Ù…تن.",
+       "LISTS_CREATE_EMPTY_TITLE": "ایجاد Ùهرست Ø®Ø§Ù„ÛŒ",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "Ùهرستی Ø¨Ø§ Ø·ÙˆÙ„ ØµÙر Ø´Ø§Ù…Ù„ Ù‡ÛŒÚ† Ø±Ú©ÙˆØ±Ø¯ Ø¯Ø§Ø¯Ù‡â€ŒØ§ÛŒ Ø¨Ø± Ù…ی‌گرداند.",
+       "LISTS_CREATE_WITH_TOOLTIP": "Ùهرستی Ø§Ø² Ù‡Ø± Ø¹Ø¯Ø¯ÛŒ Ø§Ø² Ù…وارد Ù…ی‌سازد.",
+       "LISTS_CREATE_WITH_INPUT_WITH": "ایجاد Ùهرست Ø¨Ø§",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "Ùهرست",
+       "LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "اضاÙه‌کردن، Ø­Ø°Ù‌کردن ÛŒØ§ ØªØ±ØªÛŒØ¨â€ŒØ³Ø§Ø²ÛŒ Ù…جدد Ø¨Ø®Ø´â€ŒÙ‡Ø§ Ø§ÛŒÙ† Ø¨Ù„ÙˆÚ© Ùهرستی.",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "اضاÙه‌کردن ÛŒÚ© Ù…ورد Ø¨Ù‡ Ùهرست.",
+       "LISTS_REPEAT_TOOLTIP": "Ùهرستی Ø´Ø§Ù…Ù„ Ù…قادیر Ø¯Ø§Ø¯Ù‡â€ŒØ´Ø¯Ù‡Ù” ØªÚ©Ø±Ø§Ø± Ø´Ø¯Ù‡ Ø¹Ø¯Ø¯ Ù…شخص‌شده Ù…ی‌سازد.",
+       "LISTS_REPEAT_TITLE": "Ùهرستی Ø¨Ø§ %1 ØªÚ©Ø±Ø§Ø±Ø´Ø¯Ù‡ Ø¨Ù‡ Ø§Ù†Ø¯Ø§Ø²Ù‡Ù” %2 Ù…ی‌سازد",
+       "LISTS_LENGTH_TITLE": "طول %1",
+       "LISTS_LENGTH_TOOLTIP": "طول ÛŒÚ© Ùهرست Ø±Ø§ Ø¨Ø±Ù…ی‌گرداند.",
+       "LISTS_ISEMPTY_TITLE": "%1 Ø®Ø§Ù„ÛŒ Ø§Ø³Øª",
+       "LISTS_ISEMPTY_TOOLTIP": "اگر Ùهرست Ø®Ø§Ù„ÛŒ Ø§Ø³Øª Ù…قدار ØµØ¬ÛŒØ¬ Ø¨Ø± Ù…ی‌گرداند.",
+       "LISTS_INLIST": "در Ùهرست",
+       "LISTS_INDEX_OF_FIRST": "آخرین Ø±Ø®Ø¯Ø§Ø¯ Ù…تن Ø±Ø§ Ø¨ÛŒØ§Ø¨",
+       "LISTS_INDEX_OF_LAST": "یاÙتن Ø¢Ø®Ø±ÛŒÙ† Ø±Ø®â€ŒØ¯Ø§Ø¯ Ù…ورد",
+       "LISTS_INDEX_OF_TOOLTIP": "شاخصی Ø§Ø² Ø§ÙˆÙ„ین/آخرین Ø±Ø®â€ŒØ¯Ø§Ø¯ Ù…ورد Ø¯Ø± Ùهرست Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند. %1 Ø¨Ø± Ù…ی‌گرداند Ø§Ú¯Ø± Ù…تن Ù…وجود Ù†Ø¨ÙˆØ¯.",
+       "LISTS_GET_INDEX_GET": "گرÙتن",
+       "LISTS_GET_INDEX_GET_REMOVE": "گرÙتن Ùˆ Ø­Ø°Ù‌کردن",
+       "LISTS_GET_INDEX_REMOVE": "حذÙ‌کردن",
+       "LISTS_GET_INDEX_FROM_END": "# Ø§Ø² Ø§Ù†ØªÙ‡Ø§",
+       "LISTS_GET_INDEX_FIRST": "اولین",
+       "LISTS_GET_INDEX_LAST": "اهرین",
+       "LISTS_GET_INDEX_RANDOM": "تصادÙÛŒ",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "%1 Ø§ÙˆÙ„ین Ù…ورد Ø§Ø³Øª.",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "%1 Ø¢Ø®Ø±ÛŒÙ† Ù…ورد Ø§Ø³Øª.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "موردی Ø¯Ø± Ù…حل Ù…شخص‌شده Ø¨Ø± Ù…ی‌گرداند.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "اولین Ù…ورد ÛŒÚ© Ùهرست Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "آخرین Ù…ورد Ø¯Ø± ÛŒÚ© Ùهرست Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "یک Ù…ورد ØªØµØ§Ø¯ÙÛŒ Ø¯Ø± ÛŒÚ© Ùهرست Ø¨Ø± Ù…ی‌گرداند.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "مورد Ø¯Ø± Ù…حل Ù…شخص‌شده Ø¯Ø± Ùهرست Ø±Ø§ Ø­Ø°Ù Ùˆ Ø¨Ø± Ù…ی‌گرداند.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "اولین Ù…ورد Ù…شخص‌شده Ø¯Ø± Ùهرست Ø±Ø§ Ø­Ø°Ù Ùˆ Ø¨Ø± Ù…ی‌گرداند.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "آخرین Ù…ورد Ù…شخص‌شده Ø¯Ø± Ùهرست Ø±Ø§ Ø­Ø°Ù Ùˆ Ø¨Ø± Ù…ی‌گرداند.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "مورد ØªØµØ§Ø¯Ùی‌ای Ø±Ø§ Ø¯Ø± Ùهرست Ø­Ø°Ù Ùˆ Ø¨Ø± Ù…ی‌گرداند.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "مورد Ù…شخص‌شده Ø¯Ø± Ù…وقعیت Ù…شخص Ø¯Ø± ÛŒÚ© Ùهرست Ø±Ø§ Ø­Ø°Ù Ùˆ Ø¨Ø± Ù…ی‌گرداند.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "اولین Ù…ورد Ø±Ø§ Ø¯Ø± ÛŒÚ© Ùهرست Ø­Ø°Ù Ù…ی‌کند.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "آخرین Ù…ورد Ø±Ø§ Ø¯Ø± ÛŒÚ© Ùهرست Ø­Ø°Ù Ù…ی‌کند.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "یک Ù…ورد ØªØµØ§Ø¯ÙÛŒ Ø±Ø§ ÛŒÚ© Ùهرست Ø­Ø°Ù Ù…ی‌کند.",
+       "LISTS_SET_INDEX_SET": "مجموعه",
+       "LISTS_SET_INDEX_INSERT": "درج Ø¯Ø±",
+       "LISTS_SET_INDEX_INPUT_TO": "به‌عنوان",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "مورد Ù…شخص‌شده Ø¯Ø± ÛŒÚ© Ùهرست Ø±Ø§ Ù‚رار Ù…ی‌دهد.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "اولین Ù…ورد Ø¯Ø± ÛŒÚ© Ùهرست Ø±Ø§ ØªØ¹ÛŒÛŒÙ† Ù…ی‌کند.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_LAST": "آخرین Ù…ورد Ø¯Ø± ÛŒÚ© Ùهرست Ø±Ø§ ØªØ¹ÛŒÛŒÙ† Ù…ی‌کند.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "یک Ù…ورد ØªØµØ§Ø¯ÙÛŒ Ø¯Ø± ÛŒÚ© Ùهرست Ø±Ø§ ØªØ¹ÛŒÛŒÙ† Ù…ی‌کند.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "موردی Ø¯Ø± Ù…وقعیت Ù…شخص‌شده Ø¯Ø± ÛŒÚ© Ùهرست Ø§Ø¶Ø§ÙÙ‡ Ù…ی‌کند.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "موردی Ø¨Ù‡ ØªÙ‡ Ùهرست Ø§Ø¶Ø§ÙÙ‡ Ù…ی‌کند.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "موردی Ø¨Ù‡ ØªÙ‡ Ùهرست Ø§Ù„حاق Ù…ی‌کند.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "مورد Ø±Ø§ Ø¨Ù‡ ØµÙˆØ±Øª ØªØµØ§Ø¯ÙÛŒ Ø¯Ø± ÛŒÚ© Ùهرست Ù…ی‌اÙزاید.",
+       "LISTS_GET_SUBLIST_START_FROM_START": "گرÙتن Ø²ÛŒØ±Ù…جموعه‌ای Ø§Ø² #",
+       "LISTS_GET_SUBLIST_START_FROM_END": "گرÙتن Ø²ÛŒØ±Ù…جموعه‌ای Ø§Ø² # Ø§Ø² Ø§Ù†ØªÙ‡Ø§",
+       "LISTS_GET_SUBLIST_START_FIRST": "گرÙتن Ø²ÛŒØ±Ù…جموعه‌ای Ø§Ø² Ø§Ø¨ØªØ¯Ø§",
+       "LISTS_GET_SUBLIST_END_FROM_START": "به #",
+       "LISTS_GET_SUBLIST_END_FROM_END": "به # Ø§Ø² Ø§Ù†ØªÙ‡Ø§",
+       "LISTS_GET_SUBLIST_END_LAST": "به Ø¢Ø®Ø±ÛŒÙ†",
+       "LISTS_GET_SUBLIST_TOOLTIP": "Ú©Ù¾ÛŒ Ø§Ø² Ù‚سمت Ù…شخص‌شدهٔ Ù„یست Ø¯Ø±Ø³Øª Ù…ی‌کند.",
+       "VARIABLES_GET_TOOLTIP": "مقدار Ø§ÛŒÙ† Ù…تغیر Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند.",
+       "VARIABLES_GET_CREATE_SET": "درست‌کردن Â«ØªÙ†Ø¸ÛŒÙ… %1»",
+       "VARIABLES_SET": "مجموعه %1 Ø¨Ù‡ %2",
+       "VARIABLES_SET_TOOLTIP": "متغیر Ø¨Ø±Ø§Ø¨Ø± Ø¨Ø§ Ø®Ø±ÙˆØ¬ÛŒ Ø±Ø§ Ù…شخص Ù…ی‌کند.",
+       "VARIABLES_SET_CREATE_GET": "درست‌کردن Â«ØªÙ†Ø¸ÛŒÙ… %1»",
+       "PROCEDURES_DEFNORETURN_TITLE": "به",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "انجام Ú†ÛŒØ²ÛŒ",
+       "PROCEDURES_BEFORE_PARAMS": "با:",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "با:",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "تابعی Ù…ی‌سازد Ø¨Ø¯ÙˆÙ† Ù‡ÛŒÚ† Ø®Ø±ÙˆØ¬ÛŒ.",
+       "PROCEDURES_DEFRETURN_RETURN": "بازگشت",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "تابعی Ø¨Ø§ ÛŒÚ© Ø®Ø±ÙˆØ¬ÛŒ Ù…ی‌سازد.",
+       "PROCEDURES_ALLOW_STATEMENTS": "اجازه Ø§Ø¸Ù‡Ø§Ø±Ø§Øª",
+       "PROCEDURES_DEF_DUPLICATE_WARNING": "اخطار: Ø§ÛŒÙ† ØªØ§Ø¨Ø¹ÛŒ Ù¾Ø§Ø±Ø§Ù…تر ØªÚ©Ø±Ø§Ø±ÛŒ Ø¯Ø§Ø±Ø¯.",
+       "PROCEDURES_CALLNORETURN_HELPURL": "https://fa.wikipedia.org/wiki/%D8%B1%D9%88%DB%8C%D9%87_%28%D8%B9%D9%84%D9%88%D9%85_%D8%B1%D8%A7%DB%8C%D8%A7%D9%86%D9%87%29",
+       "PROCEDURES_CALLNORETURN_TOOLTIP": "اجرای ØªØ§Ø¨Ø¹ ØªØ¹Ø±ÛŒÙ‌شده ØªÙˆØ³Ø· Ú©Ø§Ø±Ø¨Ø± Â«%1».",
+       "PROCEDURES_CALLRETURN_HELPURL": "https://fa.wikipedia.org/wiki/%D8%B1%D9%88%DB%8C%D9%87_%28%D8%B9%D9%84%D9%88%D9%85_%D8%B1%D8%A7%DB%8C%D8%A7%D9%86%D9%87%29",
+       "PROCEDURES_CALLRETURN_TOOLTIP": "اجرای ØªØ§Ø¨Ø¹ ØªØ¹Ø±ÛŒÙ‌شده ØªÙˆØ³Ø· Ú©Ø§Ø±Ø¨Ø± Â«%1» Ùˆ Ø§Ø³ØªÙاده Ø§Ø² Ø®Ø±ÙˆØ¬ÛŒ Ø¢Ù†.",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "ورودی‌ها",
+       "PROCEDURES_MUTATORCONTAINER_TOOLTIP": "اÙزودن، Ø­Ø°Ù ÛŒØ§ Ø¯ÙˆØ¨Ø§Ø±Ù‡ Ù…رتب‌کردن ÙˆØ±ÙˆØ¯ÛŒ Ø§ÛŒÙ† ØªØ§Ø¨Ø¹.",
+       "PROCEDURES_MUTATORARG_TITLE": "نام ÙˆØ±ÙˆØ¯ÛŒ:",
+       "PROCEDURES_MUTATORARG_TOOLTIP": "اضاÙÙ‡ Ú©Ø±Ø¯Ù† ÙˆØ±ÙˆØ¯ÛŒ Ø¨Ù‡ ØªØ§Ø¨Ø¹.",
+       "PROCEDURES_HIGHLIGHT_DEF": "برجسته‌سازی ØªØ¹Ø±ÛŒÙ ØªØ§Ø¨Ø¹",
+       "PROCEDURES_CREATE_DO": "ساختن Â«%1»",
+       "PROCEDURES_IFRETURN_TOOLTIP": "اگر ÛŒÚ© Ù…قدار ØµØ­ÛŒØ­ Ø§Ø³ØªØŒ Ù…قدار Ø¯ÙˆÙ… Ø±Ø§ Ø¨Ø±Ú¯Ø±Ø¯Ø§Ù†.",
+       "PROCEDURES_IFRETURN_WARNING": "اخطار: Ø§ÛŒÙ† Ø¨Ù„ÙˆÚ© Ø§Ø­ØªÙ…الاً Ùقط Ø¯Ø§Ø®Ù„ ÛŒÚ© ØªØ§Ø¨Ø¹ Ø§Ø³ØªÙاده Ù…ی‌شود."
+}
diff --git a/js/msg/json/be-tarask.json b/js/msg/json/be-tarask.json
new file mode 100644 (file)
index 0000000..c4c0aaf
--- /dev/null
@@ -0,0 +1,346 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Renessaince",
+                       "Jim-by",
+                       "Red Winged Duck"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "аб’ект",
+       "TODAY": "СёньнÑ",
+       "DUPLICATE_BLOCK": "КапіÑваць",
+       "ADD_COMMENT": "Дадаць ÐºÐ°Ð¼Ñнтар",
+       "REMOVE_COMMENT": "Выдаліць ÐºÐ°Ð¼Ñнтар",
+       "DUPLICATE_COMMENT": "ПрадублÑваць ÐºÐ°Ð¼Ñнтар",
+       "EXTERNAL_INPUTS": "ЗьнешніѠўваходы",
+       "INLINE_INPUTS": "УнутраныѠўваходы",
+       "DELETE_BLOCK": "Выдаліць Ð±Ð»Ñ‘к",
+       "DELETE_X_BLOCKS": "Выдаліць %1 Ð±Ð»Ñ‘кі",
+       "DELETE_ALL_BLOCKS": "Выдаліць ÑƒÑе Ð±Ð»Ñ‘кі %1?",
+       "CLEAN_UP": "ÐчыÑьціць Ð±Ð»Ñ‘кі",
+       "COLLAPSE_BLOCK": "Згарнуць Ð±Ð»Ñ‘к",
+       "COLLAPSE_ALL": "Згарнуць Ð±Ð»Ñ‘кі",
+       "EXPAND_BLOCK": "Разгарнуць Ð±Ð»Ñ‘к",
+       "EXPAND_ALL": "Разгарнуць Ð±Ð»Ñ‘кі",
+       "DISABLE_BLOCK": "Ðдключыць Ð±Ð»Ñ‘к",
+       "ENABLE_BLOCK": "Уключыць Ð±Ð»Ñ‘к",
+       "HELP": "Дапамога",
+       "UNDO": "СкаÑаваць",
+       "REDO": "Паўтарыць",
+       "CHANGE_VALUE_TITLE": "ЗьмÑніць Ð·Ð½Ð°Ñ‡Ñньне:",
+       "RENAME_VARIABLE": "Перайменаваць Ð·ÑŒÐ¼ÐµÐ½Ð½ÑƒÑŽâ€¦",
+       "RENAME_VARIABLE_TITLE": "Перайменаваць ÑƒÑе Ð½Ð°Ð·Ð²Ñ‹ Ð·ÑŒÐ¼ÐµÐ½Ð½Ñ‹Ñ… '%1' Ð½Ð°:",
+       "NEW_VARIABLE": "Стварыць Ð·ÑŒÐ¼ÐµÐ½Ð½ÑƒÑŽâ€¦",
+       "NEW_STRING_VARIABLE": "Стварыць Ñ€Ð°Ð´ÐºÐ¾Ð²ÑƒÑŽ Ð·ÑŒÐ¼ÐµÐ½Ð½ÑƒÑŽâ€¦",
+       "NEW_NUMBER_VARIABLE": "Стварыць Ð»Ñ–кавую Ð·ÑŒÐ¼ÐµÐ½Ð½ÑƒÑŽâ€¦",
+       "NEW_COLOUR_VARIABLE": "Стварыць Ð·ÑŒÐ¼ÐµÐ½Ð½ÑƒÑŽ ÐºÐ¾Ð»ÐµÑ€Ñƒâ€¦",
+       "NEW_VARIABLE_TYPE_TITLE": "Ðовы Ñ‚ып Ð·ÑŒÐ¼ÐµÐ½Ð½Ð°Ð¹:",
+       "NEW_VARIABLE_TITLE": "ІмѠновай Ð·ÑŒÐ¼ÐµÐ½Ð½Ð°Ð¹:",
+       "VARIABLE_ALREADY_EXISTS": "ЗьменнаѠз Ð½Ð°Ð·Ð²Ð°Ð¹ Â«%1» ÑƒÐ¶Ð¾ Ñ–Ñнуе.",
+       "VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE": "ЗьменнаѠз Ð½Ð°Ð·Ð²Ð°Ð¹ Â«%1» ÑƒÐ¶Ð¾ Ñ–Ñнуе Ð·ÑŒ Ñ–ншым Ñ‚ыпам: Â«%2».",
+       "DELETE_VARIABLE_CONFIRMATION": "Выдаліць %1 Ð²Ñ‹ÐºÐ°Ñ€Ñ‹ÑтаньнÑÑž Ð·ÑŒÐ¼ÐµÐ½Ð½Ð°Ð¹ Â«%2»?",
+       "CANNOT_DELETE_VARIABLE_PROCEDURE": "Ðемагчыма Ð²Ñ‹Ð´Ð°Ð»Ñ–ць Ð·ÑŒÐ¼ÐµÐ½Ð½ÑƒÑŽ Â«%1», Ñ‚аму ÑˆÑ‚о Ñна Ð·ÑŒÑўлÑецца Ñ‡Ð°Ñткай Ð²Ñ‹Ð·Ð½Ð°Ñ‡ÑньнѠфункцыі Â«%2»",
+       "DELETE_VARIABLE": "Выдаліць Ð·ÑŒÐ¼ÐµÐ½Ð½ÑƒÑŽ Â«%1»",
+       "COLOUR_PICKER_HELPURL": "https://be-x-old.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BB%D0%B5%D1%80",
+       "COLOUR_PICKER_TOOLTIP": "ÐбÑрыце ÐºÐ¾Ð»ÐµÑ€ Ð· Ð¿Ð°Ð»Ñ–тры.",
+       "COLOUR_RANDOM_TITLE": "выпадковы ÐºÐ¾Ð»ÐµÑ€",
+       "COLOUR_RANDOM_TOOLTIP": "Ðбраць Ð²Ñ‹Ð¿Ð°Ð´ÐºÐ¾Ð²Ñ‹ ÐºÐ¾Ð»ÐµÑ€.",
+       "COLOUR_RGB_TITLE": "колер Ð·",
+       "COLOUR_RGB_RED": "чырвонага",
+       "COLOUR_RGB_GREEN": "зÑлёнага",
+       "COLOUR_RGB_BLUE": "ÑінÑга",
+       "COLOUR_RGB_TOOLTIP": "Стварыць ÐºÐ¾Ð»ÐµÑ€ Ð· Ð°Ð±Ñ€Ð°Ð½Ñ‹Ð¼Ñ– Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ‹Ñмі Ñ‡Ñ‹Ñ€Ð²Ð¾Ð½Ð°Ð³Ð°, Ð·Ñлёнага Ñ– ÑінÑга. Ð£Ñе Ð·Ð½Ð°Ñ‡Ñньні Ð¿Ð°Ð²Ñ–нны Ð±Ñ‹Ñ†ÑŒ Ð°Ð´ 0 Ð´Ð° 100.",
+       "COLOUR_BLEND_TITLE": "зьмÑшаць",
+       "COLOUR_BLEND_COLOUR1": "колер 1",
+       "COLOUR_BLEND_COLOUR2": "колер 2",
+       "COLOUR_BLEND_RATIO": "дзелÑ",
+       "COLOUR_BLEND_TOOLTIP": "Зьмешвае Ð´Ð²Ð° ÐºÐ¾Ð»ÐµÑ€Ñ‹ Ñž Ð´Ð°Ð´Ð·ÐµÐ½Ð°Ð¹ Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ‹Ñ– (0.0 â€” 1.0)",
+       "CONTROLS_REPEAT_HELPURL": "https://en.wikipedia.org/wiki/For_loop",
+       "CONTROLS_REPEAT_TITLE": "паўтарыць %1 Ñ€Ð°Ð·(Ñ‹)",
+       "CONTROLS_REPEAT_INPUT_DO": "выканаць",
+       "CONTROLS_REPEAT_TOOLTIP": "Выконвае Ð°Ð¿Ñрацыі Ð½ÐµÐºÐ°Ð»ÑŒÐºÑ– Ñ€Ð°Ð·Ð¾Ñž.",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "паўтараць, Ð¿Ð°ÐºÑƒÐ»ÑŒ",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "паўтараць, Ð¿Ð°ÐºÑƒÐ»ÑŒ Ð½Ðµ",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "Пакуль Ð·Ð½Ð°Ñ‡Ñньне Ñ–Ñьціна, Ð²Ñ‹ÐºÐ¾Ð½Ð²Ð°Ñ†ÑŒ Ð¿ÑўныѠапÑрацыі.",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "Пакуль Ð·Ð½Ð°Ñ‡Ñньне Ñ…луÑьнÑ, Ð²Ñ‹ÐºÐ¾Ð½Ð²Ð°Ñ†ÑŒ Ð¿ÑўныѠапÑрацыі.",
+       "CONTROLS_FOR_TOOLTIP": "ПрыÑвойвае Ð·ÑŒÐ¼ÐµÐ½Ð½Ð°Ð¹ \"%1\" Ð·Ð½Ð°Ñ‡Ñньні Ð°Ð´ Ð¿Ð°Ñ‡Ð°Ñ‚ковага Ð´Ð° ÐºÐ°Ð½Ñ‡Ð°Ñ‚ковага Ð·Ð½Ð°Ñ‡ÑньнÑ, ÑƒÐ»Ñ–чваючы Ð·Ð°Ð´Ð°Ð´Ð·ÐµÐ½Ñ‹ ÐºÑ€Ð¾Ðº, Ñ– Ð²Ñ‹ÐºÐ¾Ð½Ð²Ð°Ðµ Ð°Ð±Ñ€Ð°Ð½Ñ‹Ñ Ð±Ð»Ñ‘кі.",
+       "CONTROLS_FOR_TITLE": "лічыць Ð· %1 Ð°Ð´ %2 Ð´Ð° %3 Ð¿Ð° %4",
+       "CONTROLS_FOREACH_TITLE": "длѠкожнага ÑлемÑнта %1 Ñƒ ÑьпіÑе %2",
+       "CONTROLS_FOREACH_TOOLTIP": "ДлѠкожнага ÑлемÑнту ÑьпіÑу Ð¿Ñ€Ñ‹Ñвойвае Ð·ÑŒÐ¼ÐµÐ½Ð½Ð°Ð¹ '%1' Ñгонае Ð·Ð½Ð°Ñ‡Ñньне Ñ– Ð²Ñ‹ÐºÐ¾Ð½Ð²Ð°Ðµ Ð¿ÑўныѠапÑрацыі.",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "перарваць Ñ†Ñ‹ÐºÐ»ÑŒ",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "працÑгнуць Ð· Ð½Ð°Ñтупнага ÐºÑ€Ð¾ÐºÑƒ Ñ†Ñ‹ÐºÐ»ÑŽ",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "Спыніць Ð³ÑÑ‚Ñ‹ Ñ†Ñ‹ÐºÐ»ÑŒ.",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "ПрапуÑьціць Ñ€Ñшту Ñ†Ñ‹ÐºÐ»ÑŽ Ñ– Ð¿ÐµÑ€Ð°Ð¹Ñьці Ð´Ð° Ð½Ð°Ñтупнага ÐºÑ€Ð¾ÐºÑƒ.",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "Увага: Ð³ÑÑ‚Ñ‹ Ð±Ð»Ñ‘к Ð¼Ð¾Ð¶Ð° Ð±Ñ‹Ñ†ÑŒ Ð²Ñ‹ÐºÐ°Ñ€Ñ‹Ñтаны Ñ‚олькі Ñž Ñ†Ñ‹ÐºÐ»Ñ–.",
+       "CONTROLS_IF_TOOLTIP_1": "Калі Ð·Ð½Ð°Ñ‡Ñньне Ñ–Ñьціна, Ð²Ñ‹ÐºÐ°Ð½Ð°Ñ†ÑŒ Ð¿ÑўныѠапÑрацыі.",
+       "CONTROLS_IF_TOOLTIP_2": "Калі Ð·Ð½Ð°Ñ‡Ñньне Ñ–Ñьціна, Ð²Ñ‹ÐºÐ°Ð½Ð°Ñ†ÑŒ Ð¿ÐµÑ€ÑˆÑ‹ Ð±Ð»Ñ‘к Ð°Ð¿ÑрацыÑÑž, Ñ–накш Ð²Ñ‹ÐºÐ°Ð½Ð°Ñ†ÑŒ Ð´Ñ€ÑƒÐ³Ñ– Ð±Ð»Ñ‘к.",
+       "CONTROLS_IF_TOOLTIP_3": "Калі Ð¿ÐµÑ€ÑˆÐ°Ðµ Ð·Ð½Ð°Ñ‡Ñньне Ñ–Ñьціна, Ð²Ñ‹ÐºÐ°Ð½Ð°Ñ†ÑŒ Ð¿ÐµÑ€ÑˆÑ‹ Ð±Ð»Ñ‘к Ð°Ð¿ÑрацыÑÑž. Ð†Ð½Ð°ÐºÑˆ, ÐºÐ°Ð»Ñ– Ð´Ñ€ÑƒÐ³Ð¾Ðµ Ð·Ð½Ð°Ñ‡Ñньне Ñ–Ñьціна, Ð²Ñ‹ÐºÐ°Ð½Ð°Ñ†ÑŒ Ð´Ñ€ÑƒÐ³Ñ– Ð±Ð»Ñ‘к Ð°Ð¿ÑрацыÑÑž.",
+       "CONTROLS_IF_TOOLTIP_4": "Калі Ð¿ÐµÑ€ÑˆÐ°Ðµ Ð·Ð½Ð°Ñ‡Ñньне Ñ–Ñьціна, Ð²Ñ‹ÐºÐ°Ð½Ð°Ñ†ÑŒ Ð¿ÐµÑ€ÑˆÑ‹ Ð±Ð»Ñ‘к Ð°Ð¿ÑрацыÑÑž. Ð†Ð½Ð°ÐºÑˆ, ÐºÐ°Ð»Ñ– Ð´Ñ€ÑƒÐ³Ð¾Ðµ Ð·Ð½Ð°Ñ‡Ñньне Ñ–Ñьціна, Ð²Ñ‹ÐºÐ°Ð½Ð°Ñ†ÑŒ Ð´Ñ€ÑƒÐ³Ñ– Ð±Ð»Ñ‘к Ð°Ð¿ÑрацыÑÑž. ÐšÐ°Ð»Ñ– Ð½Ñ–воднае Ð· Ð·Ð½Ð°Ñ‡ÑньнÑÑž Ð½Ðµ Ñапраўднае, Ð²Ñ‹ÐºÐ°Ð½Ð°Ñ†ÑŒ Ð°Ð¿Ð¾ÑˆÐ½Ñ– Ð±Ð»Ñ‘к Ð°Ð¿ÑрацыÑÑž.",
+       "CONTROLS_IF_MSG_IF": "калі",
+       "CONTROLS_IF_MSG_ELSEIF": "інакш, ÐºÐ°Ð»Ñ–",
+       "CONTROLS_IF_MSG_ELSE": "інакш",
+       "CONTROLS_IF_IF_TOOLTIP": "Дадаць, Ð²Ñ‹Ð´Ð°Ð»Ñ–ць Ñ†Ñ– Ð¿ÐµÑ€Ð°Ñтавіць ÑÑкцыі Ð´Ð»Ñ Ð¿ÐµÑ€Ð°ÐºÐ°Ð½Ñ„ігураваньнѠгÑтага Ð±Ð»Ñ‘ку Â«ÐºÐ°Ð»Ñ–».",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "Дадаць ÑƒÐ¼Ð¾Ð²Ñƒ Ð´Ð° Ð±Ð»Ñ‘ку Â«ÐºÐ°Ð»Ñ–».",
+       "CONTROLS_IF_ELSE_TOOLTIP": "Дадаць Ð·Ð°ÐºÐ»ÑŽÑ‡Ð½ÑƒÑŽ ÑžÐ¼Ð¾Ð²Ñƒ Ð´Ð»Ñ ÑžÑÑ–Ñ… Ð°Ñтатніх Ð²Ð°Ñ€Ñ‹Ñнтаў Ð±Ð»Ñ‘ку Â«ÐºÐ°Ð»Ñ–».",
+       "IOS_OK": "Добра",
+       "IOS_CANCEL": "ÐдмÑніць",
+       "IOS_ERROR": "Памылка",
+       "IOS_PROCEDURES_INPUTS": "УВÐХОДÐЫЯ Ð—ЬВЕСТКІ",
+       "IOS_PROCEDURES_ADD_INPUT": "+ Ð”адаць ÑƒÐ²Ð°Ñ…одныѠзьвеÑткі",
+       "IOS_PROCEDURES_ALLOW_STATEMENTS": "Дазволіць Ñьцьверджаньні",
+       "IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR": "УваходныѠзьвеÑткі Ð³Ñтай Ñ„ункцыі Ð´ÑƒÐ±Ð»ÑŽÑŽÑ†Ñ†Ð°.",
+       "IOS_VARIABLES_ADD_VARIABLE": "+ Ð”адаць Ð·ÑŒÐ¼ÐµÐ½Ð½ÑƒÑŽ",
+       "IOS_VARIABLES_ADD_BUTTON": "Дадаць",
+       "IOS_VARIABLES_RENAME_BUTTON": "Перайменаваць",
+       "IOS_VARIABLES_DELETE_BUTTON": "Выдаліць",
+       "IOS_VARIABLES_VARIABLE_NAME": "Ðазва Ð·ÑŒÐ¼ÐµÐ½Ð½Ð°Ð¹",
+       "IOS_VARIABLES_EMPTY_NAME_ERROR": "Ð’Ñ‹ Ð½Ñ Ð¼Ð¾Ð¶Ð°Ñ†Ðµ Ð²Ñ‹ÐºÐ°Ñ€Ñ‹Ñтоўваць Ð¿ÑƒÑтую Ð½Ð°Ð·Ð²Ñƒ Ð·ÑŒÐ¼ÐµÐ½Ð½Ð°Ð¹.",
+       "LOGIC_COMPARE_HELPURL": "https://be-x-old.wikipedia.org/wiki/%D0%9D%D1%8F%D1%80%D0%BE%D1%9E%D0%BD%D0%B0%D1%81%D1%8C%D1%86%D1%8C",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "Ð’Ñртае Â«Ñ–Ñьціна», ÐºÐ°Ð»Ñ– Ð°Ð±Ð¾Ð´Ð²Ð° ÑžÐ²Ð¾Ð´Ñ‹ Ñ€Ð¾ÑžÐ½Ñ‹Ñ.",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "Ð’Ñртае Â«Ñ–Ñьціна», ÐºÐ°Ð»Ñ– Ð°Ð±Ð¾Ð´Ð²Ð° ÑžÐ²Ð¾Ð´Ñ‹ Ð½Ñ Ñ€Ð¾ÑžÐ½Ñ‹Ñ.",
+       "LOGIC_COMPARE_TOOLTIP_LT": "Ð’Ñртае Â«Ñ–Ñьціна», ÐºÐ°Ð»Ñ– Ð¿ÐµÑ€ÑˆÑ‹ ÑžÐ²Ð¾Ð´ Ð¼ÐµÐ½ÑˆÑ‹ Ð·Ð° Ð´Ñ€ÑƒÐ³Ñ–.",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "Ð’Ñртае Â«Ñ–Ñьціна», ÐºÐ°Ð»Ñ– Ð¿ÐµÑ€ÑˆÑ‹ ÑžÐ²Ð¾Ð´ Ð¼ÐµÐ½ÑˆÑ‹ Ñ†Ñ– Ñ€Ð¾ÑžÐ½Ñ‹ Ð´Ñ€ÑƒÐ³Ð¾Ð¼Ñƒ.",
+       "LOGIC_COMPARE_TOOLTIP_GT": "Ð’Ñртае Â«Ñ–Ñьціна», ÐºÐ°Ð»Ñ– Ð¿ÐµÑ€ÑˆÑ‹ ÑžÐ²Ð¾Ð´ Ð±Ð¾Ð»ÑŒÑˆÑ‹ Ð·Ð° Ð´Ñ€ÑƒÐ³Ñ–.",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "Ð’Ñртае Â«Ñ–Ñьціна», ÐºÐ°Ð»Ñ– Ð¿ÐµÑ€ÑˆÑ‹ ÑžÐ²Ð¾Ð´ Ð±Ð¾Ð»ÑŒÑˆÑ‹ Ñ†Ñ– Ñ€Ð¾ÑžÐ½Ñ‹ Ð´Ñ€ÑƒÐ³Ð¾Ð¼Ñƒ.",
+       "LOGIC_OPERATION_TOOLTIP_AND": "Ð’Ñртае Â«Ñ–Ñьціна», ÐºÐ°Ð»Ñ– Ð°Ð±Ð¾Ð´Ð²Ð° ÑžÐ²Ð¾Ð´Ñ‹ Ð¿Ñ€Ð°ÑžÐ´Ð·Ñ–выÑ.",
+       "LOGIC_OPERATION_AND": "Ñ–",
+       "LOGIC_OPERATION_TOOLTIP_OR": "Ð’Ñртае Â«Ñ–Ñьціна», ÐºÐ°Ð»Ñ– Ð¿Ñ€Ñ‹Ð½Ð°Ð¼ÑÑ– Ð°Ð´Ð·Ñ–н Ð· ÑƒÐ²Ð¾Ð´Ð°Ñž Ð¿Ñ€Ð°ÑžÐ´Ð·Ñ–вы.",
+       "LOGIC_OPERATION_OR": "ці",
+       "LOGIC_NEGATE_TITLE": "не %1",
+       "LOGIC_NEGATE_TOOLTIP": "Ð’Ñртае Â«Ñ–Ñьціна», ÐºÐ°Ð»Ñ– ÑžÐ²Ð¾Ð´ Ð½ÐµÐ¿Ñ€Ð°ÑžÐ´Ð·Ñ–вы. Ð’Ñртае Â«Ñ…луÑьнÑ», ÐºÐ°Ð»Ñ– ÑžÐ²Ð¾Ð´ Ð¿Ñ€Ð°ÑžÐ´Ð·Ñ–вы.",
+       "LOGIC_BOOLEAN_TRUE": "Ñ–Ñьціна",
+       "LOGIC_BOOLEAN_FALSE": "хлуÑьнÑ",
+       "LOGIC_BOOLEAN_TOOLTIP": "Ð’Ñртае Â«Ñ–Ñьціна» Ñ†Ñ– Â«Ñ…луÑьнÑ».",
+       "LOGIC_NULL": "нічога",
+       "LOGIC_NULL_TOOLTIP": "Ð’Ñртае Ð½Ñ–чога.",
+       "LOGIC_TERNARY_CONDITION": "Ñ‚ÑÑÑ‚",
+       "LOGIC_TERNARY_IF_TRUE": "калі Ñ–Ñьціна",
+       "LOGIC_TERNARY_IF_FALSE": "калі Ñ…луÑьнÑ",
+       "LOGIC_TERNARY_TOOLTIP": "Праверыць ÑƒÐ¼Ð¾Ð²Ñƒ Ñž 'Ñ‚ÑÑÑ‚'. ÐšÐ°Ð»Ñ– ÑžÐ¼Ð¾Ð²Ð° Ð¿Ñ€Ð°ÑžÐ´Ð·Ñ–ваÑ, Ð±ÑƒÐ´Ð·Ðµ Ð²ÐµÑ€Ð½ÑƒÑ‚ае Ð·Ð½Ð°Ñ‡Ñньне Â«ÐºÐ°Ð»Ñ– Ñ–Ñьціна»; Ñ–накш Ð±ÑƒÐ´Ð·Ðµ Ð²ÐµÑ€Ð½ÑƒÑ‚ае Â«ÐºÐ°Ð»Ñ– Ñ…луÑьнÑ».",
+       "MATH_NUMBER_HELPURL": "https://be-x-old.wikipedia.org/wiki/%D0%9B%D1%96%D0%BA",
+       "MATH_NUMBER_TOOLTIP": "Лік.",
+       "MATH_ARITHMETIC_HELPURL": "https://be-x-old.wikipedia.org/wiki/%D0%90%D1%80%D1%8B%D1%82%D0%BC%D1%8D%D1%82%D1%8B%D0%BA%D0%B0",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "Ð’Ñртае Ñуму Ð´Ð²ÑƒÑ… Ð»Ñ–каў.",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "Ð’Ñртае Ñ€Ð¾Ð·Ð½Ð°Ñьць Ð´Ð²ÑƒÑ… Ð»Ñ–каў.",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "Ð’Ñртае Ð·Ð´Ð°Ð±Ñ‹Ñ‚ак Ð´Ð²ÑƒÑ… Ð»Ñ–каў.",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "Ð’Ñртае Ð´Ð·ÐµÐ»ÑŒ Ð´Ð²ÑƒÑ… Ð»Ñ–каў.",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "Ð’Ñртае Ð¿ÐµÑ€ÑˆÑ‹ Ð»Ñ–к Ñƒ Ñтупені Ð´Ñ€ÑƒÐ³Ð¾Ð³Ð° Ð»Ñ–ку.",
+       "MATH_SINGLE_HELPURL": "https://be-x-old.wikipedia.org/wiki/%D0%9A%D0%B2%D0%B0%D0%B4%D1%80%D0%B0%D1%82%D0%BD%D1%8B_%D0%BA%D0%BE%D1%80%D0%B0%D0%BD%D1%8C",
+       "MATH_SINGLE_OP_ROOT": "квадратны ÐºÐ¾Ñ€Ð°Ð½ÑŒ",
+       "MATH_SINGLE_TOOLTIP_ROOT": "Ð’Ñртае ÐºÐ²Ð°Ð´Ñ€Ð°Ñ‚ны ÐºÐ¾Ñ€Ð°Ð½ÑŒ Ð»Ñ–ку.",
+       "MATH_SINGLE_OP_ABSOLUTE": "модуль",
+       "MATH_SINGLE_TOOLTIP_ABS": "Ð’Ñртае Ð¼Ð¾Ð´ÑƒÐ»ÑŒ Ð»Ñ–ку.",
+       "MATH_SINGLE_TOOLTIP_NEG": "Ð’Ñртае Ñупрацьлеглы Ð»Ñ–к.",
+       "MATH_SINGLE_TOOLTIP_LN": "Ð’Ñртае Ð½Ð°Ñ‚уральны Ð»Ñгарытм Ð»Ñ–ку.",
+       "MATH_SINGLE_TOOLTIP_LOG10": "Ð’Ñртае Ð´Ð·ÐµÑÑтковы Ð»Ñгарытм Ð»Ñ–ку.",
+       "MATH_SINGLE_TOOLTIP_EXP": "Ð’Ñртае e Ñž Ñтупені Ð»Ñ–ку.",
+       "MATH_SINGLE_TOOLTIP_POW10": "Ð’Ñртае 10 Ñƒ Ñтупені Ð»Ñ–ку.",
+       "MATH_TRIG_HELPURL": "https://be-x-old.wikipedia.org/wiki/%D0%A2%D1%80%D1%8B%D0%B3%D0%B0%D0%BD%D0%B0%D0%BC%D1%8D%D1%82%D1%80%D1%8B%D1%8F#.D0.A2.D1.80.D1.8B.D0.B3.D0.B0.D0.BD.D0.B0.D0.BC.D1.8D.D1.82.D1.80.D1.8B.D1.87.D0.BD.D1.8B.D1.8F_.D1.84.D1.83.D0.BD.D0.BA.D1.86.D1.8B.D1.96",
+       "MATH_TRIG_TOOLTIP_SIN": "Ð’Ñртае ÑынуѠкута Ñž Ð³Ñ€Ð°Ð´ÑƒÑах.",
+       "MATH_TRIG_TOOLTIP_COS": "Ð’Ñртае ÐºÐ¾ÑынуѠкута Ñž Ð³Ñ€Ð°Ð´ÑƒÑах.",
+       "MATH_TRIG_TOOLTIP_TAN": "Ð’Ñртае Ñ‚ангÑнѠкута Ñž Ð³Ñ€Ð°Ð´ÑƒÑах.",
+       "MATH_TRIG_TOOLTIP_ASIN": "Ð’Ñртае Ð°Ñ€ÐºÑынуѠліку.",
+       "MATH_TRIG_TOOLTIP_ACOS": "Ð’Ñртае Ð°Ñ€ÐºÐºÐ¾ÑынуѠліку.",
+       "MATH_TRIG_TOOLTIP_ATAN": "Ð’Ñртае Ð°Ñ€ÐºÑ‚ангÑнѠліку.",
+       "MATH_CONSTANT_HELPURL": "https://be-x-old.wikipedia.org/wiki/%D0%9C%D0%B0%D1%82%D1%8D%D0%BC%D0%B0%D1%82%D1%8B%D1%87%D0%BD%D0%B0%D1%8F_%D0%BA%D0%B0%D0%BD%D1%81%D1%82%D0%B0%D0%BD%D1%82%D0%B0",
+       "MATH_CONSTANT_TOOLTIP": "Ð’Ñртае Ð°Ð´Ð½Ñƒ Ð· Ð°Ð³ÑƒÐ»ÑŒÐ½Ñ‹Ñ… ÐºÐ°Ð½Ñтантаў: Ï€ (3.141...), e (2.718...), Ï† (1.618...), sqrt(2) (1.414...), sqrt(½) (0,707...) Ð°Ð±Ð¾ âˆž (бÑÑконцаÑьць).",
+       "MATH_IS_EVEN": "парнаÑ",
+       "MATH_IS_ODD": "нÑпарнаÑ",
+       "MATH_IS_PRIME": "проÑтаÑ",
+       "MATH_IS_WHOLE": "цÑлаÑ",
+       "MATH_IS_POSITIVE": "ÑтаноўчаÑ",
+       "MATH_IS_NEGATIVE": "адмоўнаÑ",
+       "MATH_IS_DIVISIBLE_BY": "дзÑліць Ð½Ð°",
+       "MATH_IS_TOOLTIP": "ПравÑрае, Ñ†Ñ– Ð·ÑŒÑўлÑецца Ð»Ñ–к Ð¿Ð°Ñ€Ð½Ñ‹Ð¼, Ð½Ñпарным, Ð¿Ñ€Ð¾Ñтым, Ñтаноўчым, Ð°Ð´Ð¼Ð¾ÑžÐ½Ñ‹Ð¼, Ñ†Ñ– Ñ‘н Ð´Ð·ÐµÐ»Ñ–цца Ð½Ð° Ð¿Ñўны Ð»Ñ–к Ð±ÐµÐ· Ð°Ñтатку. Ð’Ñртае Ð·Ð½Ð°Ñ‡Ñньне Ñ–Ñьціна Ð°Ð±Ð¾ Ð½Ñпраўда.",
+       "MATH_CHANGE_HELPURL": "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter",
+       "MATH_CHANGE_TITLE": "зьмÑніць %1 Ð½Ð° %2",
+       "MATH_CHANGE_TOOLTIP": "Дадае Ð»Ñ–чбу Ð´Ð° Ð·ÑŒÐ¼ÐµÐ½Ð½Ð°Ð¹ '%1'.",
+       "MATH_ROUND_HELPURL": "https://en.wikipedia.org/wiki/Rounding",
+       "MATH_ROUND_TOOLTIP": "Ðкругленьне Ð»Ñ–ку Ð´Ð° Ð±Ð¾Ð»ÑŒÑˆÐ°Ð³Ð° Ñ†Ñ– Ð¼ÐµÐ½ÑˆÐ°Ð³Ð°.",
+       "MATH_ROUND_OPERATOR_ROUND": "акругліць",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "акругліць Ð´Ð° Ð±Ð¾Ð»ÑŒÑˆÐ°Ð³Ð°",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "акругліць Ð´Ð° Ð¼ÐµÐ½ÑˆÐ°Ð³Ð°",
+       "MATH_ONLIST_OPERATOR_SUM": "Сума ÑьпіÑу",
+       "MATH_ONLIST_TOOLTIP_SUM": "Ð’Ñртае Ñуму ÑžÑÑ–Ñ… Ð»Ñ–каў Ñƒ ÑьпіÑе.",
+       "MATH_ONLIST_OPERATOR_MIN": "мінімальнаѠў ÑьпіÑе",
+       "MATH_ONLIST_TOOLTIP_MIN": "Ð’Ñртае Ð½Ð°Ð¹Ð¼ÐµÐ½ÑˆÑ‹ Ð»Ñ–к Ñƒ ÑьпіÑе.",
+       "MATH_ONLIST_OPERATOR_MAX": "мінімальнаѠў ÑьпіÑе",
+       "MATH_ONLIST_TOOLTIP_MAX": "Ð’Ñртае Ð½Ð°Ð¹Ð¼ÐµÐ½ÑˆÑ‹ Ð»Ñ–к Ñƒ ÑьпіÑе.",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "ÑÑÑ€ÑднÑÑ Ñž ÑьпіÑе",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "Ð’Ñртае ÑÑÑ€ÑднеарытмÑтычнае Ð·Ð½Ð°Ñ‡Ñньне Ð»Ñ–кавых Ð·Ð½Ð°Ñ‡ÑньнÑÑž Ñƒ ÑьпіÑе.",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "мÑдыÑна ÑьпіÑу",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "Ð’Ñртае Ð¼ÑдыÑну ÑьпіÑу.",
+       "MATH_ONLIST_OPERATOR_MODE": "Ñ€Ñжымы ÑьпіÑу",
+       "MATH_ONLIST_TOOLTIP_MODE": "Ð’Ñртае ÑьпіѠÑамых Ñ€Ð°ÑпаўÑюджаных ÑлемÑнтаў Ñƒ ÑьпіÑе.",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "Ñтандартнае Ð°Ð´Ñ…іленьне ÑьпіÑу",
+       "MATH_ONLIST_TOOLTIP_STD_DEV": "Ð’Ñртае Ñтандартнае Ð°Ð´Ñ…іленьне ÑьпіÑу.",
+       "MATH_ONLIST_OPERATOR_RANDOM": "выпадковы ÑлемÑнт ÑьпіÑу",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "Ð’Ñртае Ð²Ñ‹Ð¿Ð°Ð´ÐºÐ¾Ð²Ñ‹ ÑлемÑнт ÑьпіÑу.",
+       "MATH_MODULO_HELPURL": "https://en.wikipedia.org/wiki/Modulo_operation",
+       "MATH_MODULO_TITLE": "Ñ€Ñшта Ð´Ð·ÑленьнѠ%1 Ã· %2",
+       "MATH_MODULO_TOOLTIP": "Ð’Ñртае Ñ€Ñшту Ð´Ð·ÑленьнѠдвух Ð»Ñ–каў.",
+       "MATH_CONSTRAIN_TITLE": "абмежаваць %1 Ð·ÑŒÐ½Ñ–зу %2 Ð·ÑŒÐ²ÐµÑ€Ñ…у %3",
+       "MATH_CONSTRAIN_TOOLTIP": "ÐбмÑжоўвае ÐºÐ¾Ð»ÑŒÐºÐ°Ñьць Ð½Ñ–жнÑй Ñ– Ð²ÐµÑ€Ñ…нÑй Ð¼ÐµÐ¶Ð°Ð¼Ñ– (уключна).",
+       "MATH_RANDOM_INT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_INT_TITLE": "выпадковаѠцÑлаѠз %1 Ð´Ð»Ñ %2",
+       "MATH_RANDOM_INT_TOOLTIP": "Ð’Ñртае Ð²Ñ‹Ð¿Ð°Ð´ÐºÐ¾Ð²Ñ‹ Ñ†Ñлы Ð»Ñ–к Ð¿Ð°Ð¼Ñ–ж Ð´Ð²ÑƒÐ¼Ð° Ð·Ð°Ð´Ð°Ð´Ð·ÐµÐ½Ñ‹Ð¼Ñ– Ð°Ð±Ð¼ÐµÐ¶Ð°Ð²Ð°Ð½ÑŒÐ½Ñмі ÑžÐºÐ»ÑŽÑ‡Ð½Ð°.",
+       "MATH_RANDOM_FLOAT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "выпадковаѠдроб",
+       "MATH_RANDOM_FLOAT_TOOLTIP": "Ð’Ñртае Ð²Ñ‹Ð¿Ð°Ð´ÐºÐ¾Ð²ÑƒÑŽ Ð´Ñ€Ð¾Ð± Ñƒ Ð´Ñ‹Ñпазоне Ð°Ð´ 0,0 (уключна) Ð´Ð° 1,0.",
+       "TEXT_TEXT_HELPURL": "https://en.wikipedia.org/wiki/String_(computer_science)",
+       "TEXT_TEXT_TOOLTIP": "Літара, Ñлова Ñ†Ñ– Ñ€Ð°Ð´Ð¾Ðº Ñ‚ÑкÑту.",
+       "TEXT_JOIN_TITLE_CREATEWITH": "Ñтварыць Ñ‚ÑкÑÑ‚ Ð·",
+       "TEXT_JOIN_TOOLTIP": "Стварае Ñ„рагмÑнт Ñ‚ÑкÑту Ð°Ð±â€™Ñднаньнем Ð»ÑŽÐ±Ð¾Ð¹ ÐºÐ¾Ð»ÑŒÐºÐ°Ñьці ÑлемÑнтаў.",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "далучыць",
+       "TEXT_CREATE_JOIN_TOOLTIP": "Дадайце, Ð²Ñ‹Ð´Ð°Ð»Ñ–це Ñ†Ñ– Ð·ÑŒÐ¼Ñніце Ð¿Ð°Ñ€Ð°Ð´Ð°Ðº Ñ€Ð°Ð·ÑŒÐ´Ð·ÐµÐ»Ð°Ñž Ð´Ð»Ñ Ð¿ÐµÑ€Ð°Ð´Ð°Ñ‡Ñ‹ Ñ‚ÑкÑтавага Ð±Ð»Ñ‘ку.",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "Дадаць ÑлемÑнт Ð´Ð° Ñ‚ÑкÑту.",
+       "TEXT_APPEND_TITLE": "да %1 Ð´Ð°Ð´Ð°Ñ†ÑŒ Ñ‚ÑкÑÑ‚ %2",
+       "TEXT_APPEND_TOOLTIP": "Дадаць Ñкі-небудзь Ñ‚ÑкÑÑ‚ Ð´Ð° Ð·ÑŒÐ¼ÐµÐ½Ð½Ð°Ð¹ '%1'.",
+       "TEXT_LENGTH_TITLE": "даўжынѠ%1",
+       "TEXT_LENGTH_TOOLTIP": "Ð’Ñртае ÐºÐ¾Ð»ÑŒÐºÐ°Ñьць Ð»Ñ–тараў (у Ñ‚ым Ð»Ñ–ку Ð¿Ñ€Ð°Ð±ÐµÐ»Ñ‹) Ñƒ Ð¿Ð°Ð´Ð°Ð´Ð·ÐµÐ½Ñ‹Ð¼ Ñ‚ÑкÑьце.",
+       "TEXT_ISEMPTY_TITLE": "%1 Ð¿ÑƒÑÑ‚Ñ‹",
+       "TEXT_ISEMPTY_TOOLTIP": "Ð’Ñртае Ð·Ð½Ð°Ñ‡Ñньне Ñ–Ñьціна, ÐºÐ°Ð»Ñ– Ñ‚ÑкÑÑ‚ Ð¿ÑƒÑÑ‚Ñ‹.",
+       "TEXT_INDEXOF_TOOLTIP": "Ð’Ñртае Ñ–ндÑкѠпершага/апошнÑга ÑžÐ²Ð°Ñ…оджаньнѠпершага Ñ‚ÑкÑту Ñž Ð´Ñ€ÑƒÐ³Ñ– Ñ‚ÑкÑÑ‚. Ð’Ñртае %1, ÐºÐ°Ð»Ñ– Ñ‚ÑкÑÑ‚ Ð½Ñ Ð·Ð½Ð¾Ð¹Ð´Ð·ÐµÐ½Ñ‹.",
+       "TEXT_INDEXOF_TITLE": "у Ñ‚ÑкÑьце %1 %2 %3",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "знайÑьці Ð¿ÐµÑ€ÑˆÐ°Ðµ ÑžÐ²Ð°Ñ…оджаньне Ñ‚ÑкÑту",
+       "TEXT_INDEXOF_OPERATOR_LAST": "знайÑьці Ð°Ð¿Ð¾ÑˆÐ½Ñе ÑžÐ²Ð°Ñ…оджаньне Ñ‚ÑкÑту",
+       "TEXT_CHARAT_TITLE": "у Ñ‚ÑкÑьце %1 %2",
+       "TEXT_CHARAT_FROM_START": "узÑць Ð»Ñ–тару â„–",
+       "TEXT_CHARAT_FROM_END": "узÑць Ð»Ñ–тару â„– Ð· ÐºÐ°Ð½Ñ†Ð°",
+       "TEXT_CHARAT_FIRST": "узÑць Ð¿ÐµÑ€ÑˆÑƒÑŽ Ð»Ñ–тару",
+       "TEXT_CHARAT_LAST": "узÑць Ð°Ð¿Ð¾ÑˆÐ½ÑŽÑŽ Ð»Ñ–тару",
+       "TEXT_CHARAT_RANDOM": "узÑць Ð²Ñ‹Ð¿Ð°Ð´ÐºÐ¾Ð²ÑƒÑŽ Ð»Ñ–тару",
+       "TEXT_CHARAT_TOOLTIP": "Ð’Ñртае Ð»Ñ–тару Ñž Ð¿Ð°Ð·Ð½Ð°Ñ‡Ð°Ð½Ð°Ð¹ Ð¿Ð°Ð·Ñ‹Ñ†Ñ‹Ñ–.",
+       "TEXT_GET_SUBSTRING_TOOLTIP": "Ð’Ñртае Ð¿Ð°Ð·Ð½Ð°Ñ‡Ð°Ð½ÑƒÑŽ Ñ‡Ð°Ñтку Ñ‚ÑкÑту.",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "у Ñ‚ÑкÑьце",
+       "TEXT_GET_SUBSTRING_START_FROM_START": "узÑць Ð¿Ð°Ð´Ñ€Ð°Ð´Ð¾Ðº Ð·ÑŒ Ð»Ñ–тары â„–",
+       "TEXT_GET_SUBSTRING_START_FROM_END": "узÑць Ð¿Ð°Ð´Ñ€Ð°Ð´Ð¾Ðº Ð·ÑŒ Ð»Ñ–тары â„– Ð· ÐºÐ°Ð½Ñ†Ð°",
+       "TEXT_GET_SUBSTRING_START_FIRST": "атрымаць Ð¿Ð°Ð´Ñ€Ð°Ð´Ð¾Ðº Ð·ÑŒ Ð¿ÐµÑ€ÑˆÐ°Ð¹ Ð»Ñ–тары",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "да Ð»Ñ–тары â„–",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "да Ð»Ñ–тары â„– Ð· ÐºÐ°Ð½Ñ†Ð°",
+       "TEXT_GET_SUBSTRING_END_LAST": "да Ð°Ð¿Ð¾ÑˆÐ½Ñй Ð»Ñ–тары",
+       "TEXT_CHANGECASE_TOOLTIP": "Ð’Ñрнуць ÐºÐ¾Ð¿Ñ–ÑŽ Ñ‚ÑкÑту Ð·ÑŒ Ñ–ншай Ð²ÐµÐ»Ñ–чынёй Ð»Ñ–тар.",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "да Ð’ЕРХÐЯГРРЭГІСТРУ",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "да Ð½Ñ–жнÑга Ñ€ÑгіÑтру",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": "Ð’ÑлікіѠПершыѠЛітары",
+       "TEXT_TRIM_TOOLTIP": "Ð’Ñртае ÐºÐ¾Ð¿Ñ–ÑŽ Ñ‚ÑкÑту Ð· Ð¿Ñ€Ð°Ð±ÐµÐ»Ð°Ð¼Ñ–, Ð²Ñ‹Ð´Ð°Ð»ÐµÐ½Ñ‹Ð¼Ñ– Ð°Ð´ Ð°Ð´Ð½Ð°Ð³Ð¾ Ñ†Ñ– Ð°Ð±Ð¾Ð´Ð²ÑƒÑ… Ð±Ð°ÐºÐ¾Ñž.",
+       "TEXT_TRIM_OPERATOR_BOTH": "абрÑзаць Ð¿Ñ€Ð°Ð±ÐµÐ»Ñ‹ Ð· Ð°Ð±Ð¾Ð´Ð²ÑƒÑ… Ð±Ð°ÐºÐ¾Ñž",
+       "TEXT_TRIM_OPERATOR_LEFT": "абрÑзаць Ð¿Ñ€Ð°Ð±ÐµÐ»Ñ‹ Ð·ÑŒ Ð»ÐµÐ²Ð°Ð³Ð° Ð±Ð¾ÐºÑƒ",
+       "TEXT_TRIM_OPERATOR_RIGHT": "абрÑзаць Ð¿Ñ€Ð°Ð±ÐµÐ»Ñ‹ Ð· Ð¿Ñ€Ð°Ð²Ð°Ð³Ð° Ð±Ð¾ÐºÑƒ",
+       "TEXT_PRINT_TITLE": "друкаваць %1",
+       "TEXT_PRINT_TOOLTIP": "Ðадрукаваць Ð¿Ð°Ð·Ð½Ð°Ñ‡Ð°Ð½Ñ‹ Ñ‚ÑкÑÑ‚, Ð»Ñ–чбу Ñ†Ñ– Ñ–ншыѠÑымбалі.",
+       "TEXT_PROMPT_TYPE_TEXT": "запытаць Ñ‚ÑкÑÑ‚ Ð· Ð¿Ð°Ð´ÐºÐ°Ð·ÐºÐ°Ð¹",
+       "TEXT_PROMPT_TYPE_NUMBER": "запытаць Ð»Ñ–чбу Ð· Ð¿Ð°Ð´ÐºÐ°Ð·ÐºÐ°Ð¹",
+       "TEXT_PROMPT_TOOLTIP_NUMBER": "Запытаць Ñƒ ÐºÐ°Ñ€Ñ‹Ñтальніка Ð»Ñ–чбу.",
+       "TEXT_PROMPT_TOOLTIP_TEXT": "Запытаць Ñƒ ÐºÐ°Ñ€Ñ‹Ñтальніка Ñ‚ÑкÑÑ‚.",
+       "TEXT_COUNT_MESSAGE0": "падлічыць %1 ÑÑрод %2",
+       "TEXT_COUNT_HELPURL": "https://github.com/google/blockly/wiki/Text#counting-substrings",
+       "TEXT_COUNT_TOOLTIP": "Падлічвае ÐºÐ¾Ð»ÑŒÐºÑ– Ñ€Ð°Ð·Ð¾Ñž Ð½ÐµÐ¹ÐºÑ– Ñ‚ÑкÑÑ‚ ÑуÑтракаецца ÑžÐ½ÑƒÑ‚ры Ð½ÐµÐ¹ÐºÐ°Ð³Ð° Ñ–ншага Ñ‚ÑкÑту.",
+       "TEXT_REPLACE_MESSAGE0": "замÑніць %1 Ð½Ð° %2 Ñƒ %3",
+       "TEXT_REPLACE_HELPURL": "https://github.com/google/blockly/wiki/Text#replacing-substrings",
+       "TEXT_REPLACE_TOOLTIP": "ЗамÑнÑе ÑžÑе Ð²Ñ‹Ð¿Ð°Ð´ÐºÑ– Ð½ÐµÐ¹ÐºÐ°Ð³Ð° Ñ‚ÑкÑту Ð½Ð° Ñ–ншы Ñ‚ÑкÑÑ‚.",
+       "TEXT_REVERSE_MESSAGE0": "адваротна %1",
+       "TEXT_REVERSE_HELPURL": "https://github.com/google/blockly/wiki/Text#reversing-text",
+       "TEXT_REVERSE_TOOLTIP": "ÐœÑнÑе Ð¿Ð°Ñ€Ð°Ð´Ð°Ðº ÑымбалÑÑž Ñƒ Ñ‚ÑкÑьце Ð½Ð° Ð°Ð´Ð²Ð°Ñ€Ð¾Ñ‚ны.",
+       "LISTS_CREATE_EMPTY_TITLE": "Ñтварыць Ð¿ÑƒÑÑ‚Ñ‹ ÑьпіÑ",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "Ð’Ñртае ÑьпіѠдаўжынёй 0, Ñкі Ð½Ñ ÑžÑ‚рымлівае Ð·Ð°Ð¿Ñ–Ñаў Ð·ÑŒÐ²ÐµÑтак",
+       "LISTS_CREATE_WITH_TOOLTIP": "Ставарае ÑьпіѠзь Ð»ÑŽÐ±Ð¾Ð¹ ÐºÐ¾Ð»ÑŒÐºÐ°Ñьцю ÑлемÑнтаў.",
+       "LISTS_CREATE_WITH_INPUT_WITH": "Ñтварыць ÑьпіѠз",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "ÑьпіÑ",
+       "LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "Дадаць, Ð²Ñ‹Ð´Ð°Ð»Ñ–ць Ñ†Ñ– Ð¿ÐµÑ€Ð°Ñтавіць ÑÑкцыі Ð´Ð»Ñ Ð¿ÐµÑ€Ð°ÐºÐ°Ð½Ñ„ігураваньнѠгÑтага Ð±Ð»Ñ‘ку.",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "Дадаць ÑлемÑнт Ð´Ð° ÑьпіÑу.",
+       "LISTS_REPEAT_TOOLTIP": "Стварае ÑьпіÑ, Ñкі ÑžÑ‚рымлівае Ð¿Ð°Ð´Ð°Ð´Ð·ÐµÐ½ÑƒÑŽ ÐºÐ¾Ð»ÑŒÐºÐ°Ñьць ÐºÐ¾Ð¿Ñ–ÑÑž ÑлемÑнту.",
+       "LISTS_REPEAT_TITLE": "Ñтварыць ÑьпіѠз ÑлемÑнту %1, Ñкі Ð¿Ð°ÑžÑ‚араецца %2 Ñ€Ð°Ð·Ð¾Ñž",
+       "LISTS_LENGTH_TITLE": "даўжынѠ%1",
+       "LISTS_LENGTH_TOOLTIP": "Ð’Ñртае Ð´Ð°ÑžÐ¶Ñ‹Ð½ÑŽ ÑьпіÑу.",
+       "LISTS_ISEMPTY_TITLE": "%1 Ð¿ÑƒÑÑ‚Ñ‹",
+       "LISTS_ISEMPTY_TOOLTIP": "Ð’Ñртае Ð·Ð½Ð°Ñ‡Ñньне Ñ–Ñьціна, ÐºÐ°Ð»Ñ– ÑьпіѠпуÑÑ‚Ñ‹.",
+       "LISTS_INLIST": "у ÑьпіÑе",
+       "LISTS_INDEX_OF_FIRST": "знайÑьці Ð¿ÐµÑ€ÑˆÐ°Ðµ ÑžÐ²Ð°Ñ…оджаньне ÑлемÑнту",
+       "LISTS_INDEX_OF_LAST": "знайÑьці Ð°Ð¿Ð¾ÑˆÐ½Ñе ÑžÐ²Ð°Ñ…оджаньне ÑлемÑнту",
+       "LISTS_INDEX_OF_TOOLTIP": "Ð’Ñртае Ñ–ндÑкѠпершага/апошнÑга ÑžÐ²Ð°Ñ…оджаньнѠÑлемÑнту Ñž ÑьпіÑ. Ð’Ñртае %1, ÐºÐ°Ð»Ñ– ÑлемÑнт Ð½Ñ Ð·Ð½Ð¾Ð¹Ð´Ð·ÐµÐ½Ñ‹.",
+       "LISTS_GET_INDEX_GET": "атрымаць",
+       "LISTS_GET_INDEX_GET_REMOVE": "атрымаць Ñ– Ð²Ñ‹Ð´Ð°Ð»Ñ–ць",
+       "LISTS_GET_INDEX_REMOVE": "выдаліць",
+       "LISTS_GET_INDEX_FROM_END": "â„– Ð· ÐºÐ°Ð½Ñ†Ð°",
+       "LISTS_GET_INDEX_FIRST": "першы",
+       "LISTS_GET_INDEX_LAST": "апошні",
+       "LISTS_GET_INDEX_RANDOM": "выпадковы",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "â„–%1 â€” Ð¿ÐµÑ€ÑˆÑ‹ ÑлемÑнт.",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "â„–%1 â€” Ð°Ð¿Ð¾ÑˆÐ½Ñ– ÑлемÑнт.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "Ð’Ñртае ÑлемÑнт Ñƒ Ð¿Ð°Ð·Ð½Ð°Ñ‡Ð°Ð½Ð°Ð¹ Ð¿Ð°Ð·Ñ‹Ñ†Ñ‹Ñ– Ñž ÑьпіÑе.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "Ð’Ñртае Ð¿ÐµÑ€ÑˆÑ‹ ÑлемÑнт Ñƒ ÑьпіÑе.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "Ð’Ñртае Ð°Ð¿Ð¾ÑˆÐ½Ñ– ÑлемÑнт Ñƒ ÑьпіÑе.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "Ð’Ñртае Ð²Ñ‹Ð¿Ð°Ð´ÐºÐ¾Ð²Ñ‹ ÑлемÑнт Ñƒ ÑьпіÑе.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "ВыдалÑе Ñ– Ð²Ñртае ÑлемÑнт Ñƒ Ð¿Ð°Ð·Ð½Ð°Ñ‡Ð°Ð½Ð°Ð¹ Ð¿Ð°Ð·Ñ‹Ñ†Ñ‹Ñ– Ñž ÑьпіÑе.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "ВыдалÑе Ñ– Ð²Ñртае Ð¿ÐµÑ€ÑˆÑ‹ ÑлемÑнт Ñƒ ÑьпіÑе.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "ВыдалÑе Ñ– Ð²Ñртае Ð°Ð¿Ð¾ÑˆÐ½Ñ– ÑлемÑнт Ñƒ ÑьпіÑе.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "ВыдалÑе Ñ– Ð²Ñртае Ð²Ñ‹Ð¿Ð°Ð´ÐºÐ¾Ð²Ñ‹ ÑлемÑнт Ñƒ ÑьпіÑе.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "ВыдалÑе ÑлемÑнт Ñƒ Ð¿Ð°Ð·Ð½Ð°Ñ‡Ð°Ð½Ð°Ð¹ Ð¿Ð°Ð·Ñ‹Ñ†Ñ‹Ñ– Ñž ÑьпіÑе.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "ВыдалÑе Ð¿ÐµÑ€ÑˆÑ‹ ÑлемÑнт Ñƒ ÑьпіÑе.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "ВыдалÑе Ð°Ð¿Ð¾ÑˆÐ½Ñ– ÑлемÑнт Ñƒ ÑьпіÑе.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "ВыдалÑе Ð²Ñ‹Ð¿Ð°Ð´ÐºÐ¾Ð²Ñ‹ ÑлемÑнт Ñƒ ÑьпіÑе.",
+       "LISTS_SET_INDEX_SET": "уÑталÑваць",
+       "LISTS_SET_INDEX_INSERT": "уÑтавіць Ñƒ",
+       "LISTS_SET_INDEX_INPUT_TO": "Ñк",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "Задае ÑлемÑнт Ñƒ Ð¿Ð°Ð·Ð½Ð°Ñ‡Ð°Ð½Ð°Ð¹ Ð¿Ð°Ð·Ñ‹Ñ†Ñ‹Ñ– Ñž ÑьпіÑе.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "Задае Ð¿ÐµÑ€ÑˆÑ‹ ÑлемÑнт Ñƒ ÑьпіÑе.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_LAST": "Задае Ð°Ð¿Ð¾ÑˆÐ½Ñ– ÑлемÑнт Ñƒ ÑьпіÑе.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "Задае Ð²Ñ‹Ð¿Ð°Ð´ÐºÐ¾Ð²Ñ‹ ÑлемÑнт Ñƒ ÑьпіÑе.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "УÑтаўлÑе ÑлемÑнт Ñƒ Ð¿Ð°Ð·Ð½Ð°Ñ‡Ð°Ð½Ð°Ð¹ Ð¿Ð°Ð·Ñ‹Ñ†Ñ‹Ñ– Ñž ÑьпіÑе.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "УÑтаўлÑе ÑлемÑнт Ñƒ Ð¿Ð°Ñ‡Ð°Ñ‚ак ÑьпіÑу.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "Дадае ÑлемÑнт Ñƒ ÐºÐ°Ð½ÐµÑ† ÑьпіÑу.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "Выпадковым Ñ‡Ñ‹Ð½Ð°Ð¼ ÑƒÑтаўлÑе ÑлемÑнт Ñƒ ÑьпіÑ.",
+       "LISTS_GET_SUBLIST_START_FROM_START": "атрымаць Ð¿Ð°Ð´ÑьпіѠз â„–",
+       "LISTS_GET_SUBLIST_START_FROM_END": "атрымаць Ð¿Ð°Ð´ÑьпіѠз â„– Ð· ÐºÐ°Ð½Ñ†Ð°",
+       "LISTS_GET_SUBLIST_START_FIRST": "атрымаць Ð¿Ð°Ð´ÑьпіѠзь Ð¿ÐµÑ€ÑˆÐ°Ð³Ð°",
+       "LISTS_GET_SUBLIST_END_FROM_START": "да #",
+       "LISTS_GET_SUBLIST_END_FROM_END": "па â„– Ð· ÐºÐ°Ð½Ñ†Ð°",
+       "LISTS_GET_SUBLIST_END_LAST": "да Ð°Ð¿Ð¾ÑˆÐ½Ñга",
+       "LISTS_GET_SUBLIST_TOOLTIP": "Стварае ÐºÐ¾Ð¿Ñ–ÑŽ Ð¿Ð°Ð·Ð½Ð°Ñ‡Ð°Ð½Ð°Ð¹ Ñ‡Ð°Ñткі ÑьпіÑу.",
+       "LISTS_SORT_HELPURL": "https://github.com/google/blockly/wiki/Lists#sorting-a-list",
+       "LISTS_SORT_TITLE": "Ñартаваць %1 %2 %3",
+       "LISTS_SORT_TOOLTIP": "Сартаваць ÐºÐ¾Ð¿Ñ–ÑŽ ÑьпіÑу.",
+       "LISTS_SORT_ORDER_ASCENDING": "па Ð¿Ð°Ð²ÐµÐ»Ñ–чÑньні",
+       "LISTS_SORT_ORDER_DESCENDING": "па Ð·ÑŒÐ¼ÑншÑньні",
+       "LISTS_SORT_TYPE_NUMERIC": "Ñк Ð»Ñ–кі",
+       "LISTS_SORT_TYPE_TEXT": "паводле Ð°Ð»ÑŒÑ„абÑту",
+       "LISTS_SORT_TYPE_IGNORECASE": "паводле Ð°Ð»ÑŒÑ„абÑту, Ñ–гнараваць Ñ€ÑгіÑтар",
+       "LISTS_SPLIT_LIST_FROM_TEXT": "Ñтварыць ÑьпіѠз Ñ‚ÑкÑту",
+       "LISTS_SPLIT_TEXT_FROM_LIST": "Ñтварыць Ñ‚ÑкÑÑ‚ Ñа ÑьпіÑу",
+       "LISTS_SPLIT_WITH_DELIMITER": "з Ð¿Ð°Ð´Ð·ÑлÑльнікам",
+       "LISTS_SPLIT_TOOLTIP_SPLIT": "ПадзÑліць Ñ‚ÑкÑÑ‚ Ñƒ ÑьпіѠтÑкÑтаў, Ð¿Ð° Ð¿Ð°Ð´Ð·ÑлÑльніках.",
+       "LISTS_SPLIT_TOOLTIP_JOIN": "Ðб’Ñдноўвае ÑьпіѠтÑкÑтаў Ñƒ Ð°Ð´Ð·Ñ–н Ñ‚ÑкÑÑ‚ Ð¿Ð° Ð¿Ð°Ð´Ð·ÑлÑльніках.",
+       "LISTS_REVERSE_HELPURL": "https://github.com/google/blockly/wiki/Lists#reversing-a-list",
+       "LISTS_REVERSE_MESSAGE0": "адваротна %1",
+       "LISTS_REVERSE_TOOLTIP": "ЗьмÑнÑе Ð¿Ð°Ñ€Ð°Ð´Ð°Ðº ÐºÐ¾Ð¿Ñ–Ñ– ÑьпіÑу Ð½Ð° Ð°Ð´Ð²Ð°Ñ€Ð¾Ñ‚ны.",
+       "VARIABLES_GET_TOOLTIP": "Ð’Ñртае Ð·Ð½Ð°Ñ‡Ñньне Ð³Ñтай Ð·ÑŒÐ¼ÐµÐ½Ð½Ð°Ð¹.",
+       "VARIABLES_GET_CREATE_SET": "Стварыць Ð±Ð»Ñ‘к Â«ÑƒÑталÑваць %1»",
+       "VARIABLES_SET": "уÑталÑваць %1 Ð´Ð° %2",
+       "VARIABLES_SET_TOOLTIP": "Ðадаць Ð³Ñтай Ð·ÑŒÐ¼ÐµÐ½Ð½Ð°Ð¹ Ð·Ð½Ð°Ñ‡Ñньне ÑžÑтаўкі.",
+       "VARIABLES_SET_CREATE_GET": "Стварыць Ð±Ð»Ñ‘к Â«Ð°Ñ‚рымаць %1»",
+       "PROCEDURES_DEFNORETURN_TITLE": "да",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "зрабіць ÑˆÑ‚о-небудзь",
+       "PROCEDURES_BEFORE_PARAMS": "з:",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "з:",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "Стварае Ñ„ункцыю Ð±Ñз Ð²Ñ‹Ð½Ñ–ку.",
+       "PROCEDURES_DEFNORETURN_COMMENT": "Ðпішыце Ð³Ñтую Ñ„ункцыю…",
+       "PROCEDURES_DEFRETURN_RETURN": "вÑрнуць",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "Стварае Ñ„ункцыю Ð· Ð²Ñ‹Ð½Ñ–кам.",
+       "PROCEDURES_ALLOW_STATEMENTS": "дазволіць Ð·Ð°Ñ†ÑŒÐ²ÑрджÑньне",
+       "PROCEDURES_DEF_DUPLICATE_WARNING": "Увага: Ð³ÑтаѠфункцыѠмае Ð¿Ð°Ñ€Ð°Ð¼Ñтры-дублікаты.",
+       "PROCEDURES_CALLNORETURN_HELPURL": "https://en.wikipedia.org/wiki/Subroutine",
+       "PROCEDURES_CALLNORETURN_TOOLTIP": "ЗапуÑьціць Ñ„ункцыю Ð²Ñ‹Ð·Ð½Ð°Ñ‡Ð°Ð½ÑƒÑŽ ÐºÐ°Ñ€Ñ‹Ñтальнікам '%1'.",
+       "PROCEDURES_CALLRETURN_HELPURL": "https://en.wikipedia.org/wiki/Subroutine",
+       "PROCEDURES_CALLRETURN_TOOLTIP": "ЗапуÑьціць Ñ„ункцыю Ð²Ñ‹Ð·Ð½Ð°Ñ‡Ð°Ð½ÑƒÑŽ ÐºÐ°Ñ€Ñ‹Ñтальнікам '%1' Ñ– Ð²Ñ‹ÐºÐ°Ñ€Ñ‹Ñтаць Ñе Ð²Ñ‹Ð½Ñ–к.",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "парамÑтры",
+       "PROCEDURES_MUTATORCONTAINER_TOOLTIP": "Дадаць, Ð²Ñ‹Ð´Ð°Ð»Ñ–ць Ñ†Ñ– Ð·Ð°Ð¿Ñ–Ñаць Ñ‡Ð°Ñ€Ð³Ñƒ ÑžÐ²Ð°Ñ…одных Ð¿Ð°Ñ€Ð°Ð¼Ñтраў Ð´Ð»Ñ Ð³Ñтай Ñ„ункцыі.",
+       "PROCEDURES_MUTATORARG_TITLE": "назва Ð¿Ð°Ñ€Ð°Ð¼Ñтру:",
+       "PROCEDURES_MUTATORARG_TOOLTIP": "Дадаць ÑƒÐ²Ð°Ñ…одныѠпарамÑтры Ñž Ñ„ункцыю.",
+       "PROCEDURES_HIGHLIGHT_DEF": "ПадÑьвÑціць Ð²Ñ‹Ð·Ð½Ð°Ñ‡Ñньне Ñ„ункцыі",
+       "PROCEDURES_CREATE_DO": "Стварыць '%1'",
+       "PROCEDURES_IFRETURN_TOOLTIP": "Калі Ð·Ð½Ð°Ñ‡Ñньне Ñ–Ñьціна, Ð²Ñрнуць Ð´Ñ€ÑƒÐ³Ð¾Ðµ Ð·Ð½Ð°Ñ‡Ñньне.",
+       "PROCEDURES_IFRETURN_HELPURL": "http://c2.com/cgi/wiki?GuardClause",
+       "PROCEDURES_IFRETURN_WARNING": "ПапÑÑ€Ñджаньне: Ð³ÑÑ‚Ñ‹ Ð±Ð»Ñ‘к Ð¼Ð¾Ð¶Ð° Ð²Ñ‹ÐºÐ°Ñ€Ñ‹Ñтоўвацца Ñ‚олькі Ñž Ð²Ñ‹Ð·Ð½Ð°Ñ‡Ð°Ð½Ð°Ð¹ Ñ„ункцыі.",
+       "WORKSPACE_COMMENT_DEFAULT_TEXT": "Ðапішыце ÑˆÑ‚о-небудзь…"
+}
diff --git a/js/msg/json/be.json b/js/msg/json/be.json
new file mode 100644 (file)
index 0000000..9758945
--- /dev/null
@@ -0,0 +1,333 @@
+{
+       "@metadata": {
+               "authors": [
+                       "SimondR"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "Ñлемент",
+       "TODAY": "СённÑ",
+       "DUPLICATE_BLOCK": "ДублÑваць",
+       "ADD_COMMENT": "Дадаць ÐºÐ°Ð¼ÐµÐ½Ñ‚арый",
+       "REMOVE_COMMENT": "Выдаліць ÐºÐ°Ð¼ÐµÐ½Ñ‚ар",
+       "EXTERNAL_INPUTS": "ЗнешніѠўваходы",
+       "INLINE_INPUTS": "УбудаваныѠўваходы",
+       "DELETE_BLOCK": "Выдаліць Ð±Ð»Ð¾Ðº",
+       "DELETE_X_BLOCKS": "Выдаліць %1 Ð±Ð»Ð¾ÐºÐ°Ñž",
+       "DELETE_ALL_BLOCKS": "Выдаліць ÑƒÑе Ð±Ð»Ð¾ÐºÑ– %1?",
+       "CLEAN_UP": "Выраўнаваць Ð±Ð»Ð¾ÐºÑ–",
+       "COLLAPSE_BLOCK": "Згарнуць Ð±Ð»Ð¾Ðº",
+       "COLLAPSE_ALL": "Згарнуць Ð±Ð»Ð¾ÐºÑ–",
+       "EXPAND_BLOCK": "Разгарнуць Ð±Ð»Ð¾Ðº",
+       "EXPAND_ALL": "Разгарнуць Ð±Ð»Ð¾ÐºÑ–",
+       "DISABLE_BLOCK": "Ðдключыць Ð±Ð»Ð¾Ðº",
+       "ENABLE_BLOCK": "Уключыць Ð±Ð»Ð¾Ðº",
+       "HELP": "Даведка",
+       "UNDO": "Ðдкаціць",
+       "REDO": "Паўтарыць",
+       "CHANGE_VALUE_TITLE": "ЗмÑніць Ð·Ð½Ð°Ñ‡ÑннÑ:",
+       "RENAME_VARIABLE": "Перайменаваць Ð¿ÐµÑ€Ð°Ð¼ÐµÐ½Ð½ÑƒÑŽ...",
+       "RENAME_VARIABLE_TITLE": "Перайменаваць ÑƒÑе Ð¿ÐµÑ€Ð°Ð¼ÐµÐ½Ð½Ñ‹Ñ '%1' Ð´Ð°:",
+       "NEW_VARIABLE": "Стварыць Ð¿ÐµÑ€Ð°Ð¼ÐµÐ½Ð½ÑƒÑŽ...",
+       "NEW_VARIABLE_TITLE": "ÐоваѠназва Ð¿ÐµÑ€Ð°Ð¼ÐµÐ½Ð½Ð°Ð¹:",
+       "VARIABLE_ALREADY_EXISTS": "ПераменнаѠз Ð½Ð°Ð·Ð²Ð°Ð¹ '%1' ÑƒÐ¶Ð¾ Ñ–Ñнуе.",
+       "VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE": "Ðазва Ð¿ÐµÑ€Ð°Ð¼ÐµÐ½Ð½Ð°Ð¹ '%1' ÑƒÐ¶Ð¾ Ð²Ñ‹ÐºÐ°Ñ€Ñ‹Ñтоўваецца Ñ–ншай Ð¿ÐµÑ€Ð°Ð¼ÐµÐ½Ð½Ð°Ð¹ Ñ‚ыпу '%2'.",
+       "DELETE_VARIABLE_CONFIRMATION": "Выдаліць %1 Ð²Ñ‹ÐºÐ°Ñ€Ñ‹ÑтаннѠпераменнай '%2'?",
+       "CANNOT_DELETE_VARIABLE_PROCEDURE": "Ðемагчыма Ð²Ñ‹Ð´Ð°Ð»Ñ–ць Ð¿ÐµÑ€Ð°Ð¼ÐµÐ½Ð½ÑƒÑŽ '%1', Ð¿Ð°ÐºÐ¾Ð»ÑŒÐºÑ– Ñна Ð·'ÑўлÑецца Ñ‡Ð°Ñткай Ð²Ñ‹Ð·Ð½Ð°Ñ‡ÑннѠфункцыі '%2'",
+       "DELETE_VARIABLE": "Выдаліць Ð¿ÐµÑ€Ð°Ð¼ÐµÐ½Ð½ÑƒÑŽ '%1'",
+       "COLOUR_PICKER_HELPURL": "https://be.wikipedia.org/wiki/Колер",
+       "COLOUR_PICKER_TOOLTIP": "Выбраць ÐºÐ¾Ð»ÐµÑ€ Ð· Ð¿Ð°Ð»Ñ–тры.",
+       "COLOUR_RANDOM_TITLE": "выпадковы ÐºÐ¾Ð»ÐµÑ€",
+       "COLOUR_RANDOM_TOOLTIP": "Выбраць ÐºÐ¾Ð»ÐµÑ€ Ð½Ð°ÑžÐ·Ð´Ð°Ð³Ð°Ð´.",
+       "COLOUR_RGB_TITLE": "колер Ð·",
+       "COLOUR_RGB_RED": "чырвоны",
+       "COLOUR_RGB_GREEN": "зÑлёны",
+       "COLOUR_RGB_BLUE": "Ñіні",
+       "COLOUR_RGB_TOOLTIP": "Стварыць ÐºÐ¾Ð»ÐµÑ€ Ð· Ð½Ð°Ð·Ð²Ð°Ð½Ñ‹Ð¼Ñ– ÑžÐ·Ñ€Ð¾ÑžÐ½Ñмі Ñ‡Ñ‹Ñ€Ð²Ð¾Ð½Ð°Ð³Ð°, Ð·Ñлёнага Ñ– ÑінÑга. Ð£Ñе Ð·Ð½Ð°Ñ‡ÑннѠпавінны Ð±Ñ‹Ñ†ÑŒ Ð°Ð´ 0 Ð´Ð° 100.",
+       "COLOUR_BLEND_TITLE": "змÑшаць",
+       "COLOUR_BLEND_COLOUR1": "колер 1",
+       "COLOUR_BLEND_COLOUR2": "колер 2",
+       "COLOUR_BLEND_RATIO": "ÑуадноÑіны",
+       "COLOUR_BLEND_TOOLTIP": "Змешвае Ð´Ð²Ð° ÐºÐ¾Ð»ÐµÑ€Ñ‹ Ñ€Ð°Ð·Ð°Ð¼ Ñƒ Ð¿Ð°ÐºÐ°Ð·Ð°Ð½Ñ‹Ñ… ÑуадноÑінах (0.0 - 1.0).",
+       "CONTROLS_REPEAT_HELPURL": "https://be.wikipedia.org/wiki/Цыкл_(праграмаванне)",
+       "CONTROLS_REPEAT_TITLE": "паўтарыць %1 Ñ€Ð°Ð·Ð¾Ñž",
+       "CONTROLS_REPEAT_INPUT_DO": "выканаць",
+       "CONTROLS_REPEAT_TOOLTIP": "Выканаць Ð¿ÑўныѠдзеÑнні Ð½ÐµÐºÐ°Ð»ÑŒÐºÑ– Ñ€Ð°Ð·Ð¾Ñž.",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "паўтараць, Ð¿Ð°ÐºÑƒÐ»ÑŒ",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "паўтараць, Ð¿Ð°ÐºÑƒÐ»ÑŒ Ð½Ðµ",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "Пакуль Ð·Ð½Ð°Ñ‡Ñнне Ñ–Ñцінае, Ð²Ñ‹ÐºÐ¾Ð½Ð²Ð°Ñ†ÑŒ Ð¿ÑўныѠдзеÑнні.",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "Пакуль Ð·Ð½Ð°Ñ‡Ñнне Ñ–лжывае, Ð²Ñ‹ÐºÐ¾Ð½Ð²Ð°Ñ†ÑŒ Ð¿ÑўныѠдзеÑнні.",
+       "CONTROLS_FOR_TOOLTIP": "ÐаÑўнаѠпераменнаѠ'%1' Ð¿Ñ€Ñ‹Ð¼Ð°Ðµ Ð·Ð½Ð°Ñ‡Ñнні Ð°Ð´ Ð¿Ð°Ñ‡Ð°Ñ‚ковага Ð´Ð° ÐºÐ°Ð½Ñ‡Ð°Ñ‚ковага, ÑƒÐ»Ñ–чваючы Ð·Ð°Ð´Ð°Ð´Ð·ÐµÐ½Ñ‹ Ñ–нтÑрвал, Ñ– Ð²Ñ‹ÐºÐ¾Ð½Ð²Ð°ÑŽÑ†Ñ†Ð° Ð½Ð°Ð·Ð²Ð°Ð½Ñ‹Ñ Ð±Ð»Ð¾ÐºÑ–.",
+       "CONTROLS_FOR_TITLE": "лічыць Ð· %1 Ð°Ð´ %2 Ð´Ð° %3 Ð¿Ñ€Ð°Ð· %4",
+       "CONTROLS_FOREACH_TITLE": "длѠкожнага Ñлемента %1 Ñƒ ÑпіÑе %2",
+       "CONTROLS_FOREACH_TOOLTIP": "ДлѠкожнага Ñлемента Ñž ÑпіÑе Ð¿ÐµÑ€Ð°Ð¼ÐµÐ½Ð½Ð°Ñ '%1' Ð°Ñ‚рымлівае Ð·Ð½Ð°Ñ‡Ñнне Ñлемента, Ð° Ð·Ð°Ñ‚ым Ð²Ñ‹ÐºÐ¾Ð½Ð²Ð°ÑŽÑ†Ñ†Ð° Ð¿ÑўныѠдзеÑнні.",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "перарваць Ñ†Ñ‹ÐºÐ»",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "прадоўжыць Ð· Ð½Ð°Ñтупнай Ñ–Ñ‚Ñрацыі Ñ†Ñ‹ÐºÐ»Ñƒ",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "Перарваць Ð²Ñ‹ÐºÐ°Ð½Ð°Ð½Ð½Ðµ Ñ†Ñ‹ÐºÐ»Ð°.",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "ПрапуÑціць Ñ€Ñшту Ð³Ñтага Ñ†Ñ‹ÐºÐ»Ð° Ñ– Ð¿ÐµÑ€Ð°Ð¹Ñці Ð´Ð° Ð²Ñ‹ÐºÐ°Ð½Ð°Ð½Ð½Ñ Ð½Ð°Ñтупнай Ñ–Ñ‚Ñрацыі.",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "ПапÑÑ€Ñджанне: Ð³ÑÑ‚Ñ‹ Ð±Ð»Ð¾Ðº Ð¼Ð¾Ð¶Ð° Ð±Ñ‹Ñ†ÑŒ Ð²Ñ‹ÐºÐ°Ñ€Ñ‹Ñтаны Ñ‚олькі Ñž Ð¼ÐµÐ¶Ð°Ñ… Ñ†Ñ‹ÐºÐ»Ñƒ.",
+       "CONTROLS_IF_TOOLTIP_1": "Калі Ð·Ð½Ð°Ñ‡Ñнне Ñ–Ñцінае, Ñ‚о Ð²Ñ‹ÐºÐ°Ð½Ð°Ñ†ÑŒ Ð¿ÑўныѠдзеÑнні.",
+       "CONTROLS_IF_TOOLTIP_2": "Калі Ð·Ð½Ð°Ñ‡Ñнне Ñ–Ñцінае, Ñ‚о Ð²Ñ‹ÐºÐ¾Ð½Ð²Ð°ÐµÑ†Ñ†Ð° Ð¿ÐµÑ€ÑˆÑ‹ Ð±Ð»Ð¾Ðº Ð°Ð¿ÐµÑ€Ð°Ñ‚араў. Ð£ Ð°Ð´Ð²Ð°Ñ€Ð¾Ñ‚ным Ð²Ñ‹Ð¿Ð°Ð´ÐºÑƒ Ð²Ñ‹ÐºÐ¾Ð½Ð²Ð°ÐµÑ†Ñ†Ð° Ð´Ñ€ÑƒÐ³Ñ– Ð±Ð»Ð¾Ðº Ð°Ð¿ÐµÑ€Ð°Ñ‚араў.",
+       "CONTROLS_IF_TOOLTIP_3": "Калі Ð¿ÐµÑ€ÑˆÐ°Ðµ Ð·Ð½Ð°Ñ‡Ñнне Ñ–Ñцінае, Ñ‚о Ð²Ñ‹ÐºÐ¾Ð½Ð²Ð°ÐµÑ†Ñ†Ð° Ð¿ÐµÑ€ÑˆÑ‹ Ð±Ð»Ð¾Ðº Ð°Ð¿ÐµÑ€Ð°Ñ‚араў. Ð£ Ð°Ð´Ð²Ð°Ñ€Ð¾Ñ‚ным Ð²Ñ‹Ð¿Ð°Ð´ÐºÑƒ, ÐºÐ°Ð»Ñ– Ð´Ñ€ÑƒÐ³Ð¾Ðµ Ð·Ð½Ð°Ñ‡Ñнне Ñ–Ñцінае, Ñ‚о Ð²Ñ‹ÐºÐ¾Ð½Ð²Ð°ÐµÑ†Ñ†Ð° Ð´Ñ€ÑƒÐ³Ñ– Ð±Ð»Ð¾Ðº Ð°Ð¿ÐµÑ€Ð°Ñ‚араў.",
+       "CONTROLS_IF_TOOLTIP_4": "Калі Ð¿ÐµÑ€ÑˆÐ°Ðµ Ð·Ð½Ð°Ñ‡Ñнне Ñ–Ñцінае, Ñ‚о Ð²Ñ‹ÐºÐ¾Ð½Ð²Ð°ÐµÑ†Ñ†Ð° Ð¿ÐµÑ€ÑˆÑ‹ Ð±Ð»Ð¾Ðº Ð°Ð¿ÐµÑ€Ð°Ñ‚араў. Ð£ Ð°Ð´Ð²Ð°Ñ€Ð¾Ñ‚ным Ð²Ñ‹Ð¿Ð°Ð´ÐºÑƒ, ÐºÐ°Ð»Ñ– Ð´Ñ€ÑƒÐ³Ð¾Ðµ Ð·Ð½Ð°Ñ‡Ñнне Ñ–Ñцінае, Ñ‚о Ð²Ñ‹ÐºÐ¾Ð½Ð²Ð°ÐµÑ†Ñ†Ð° Ð´Ñ€ÑƒÐ³Ñ– Ð±Ð»Ð¾Ðº Ð°Ð¿ÐµÑ€Ð°Ñ‚араў. ÐšÐ°Ð»Ñ– Ð½Ñ– Ð°Ð´Ð½Ð¾ Ð· Ð·Ð½Ð°Ñ‡ÑннÑÑž Ð½Ðµ Ð·'ÑўлÑецца Ñ–Ñціным, Ñ‚о Ð²Ñ‹ÐºÐ¾Ð½Ð²Ð°ÐµÑ†Ñ†Ð° Ð°Ð¿Ð¾ÑˆÐ½Ñ– Ð±Ð»Ð¾Ðº Ð°Ð¿ÐµÑ€Ð°Ñ‚араў.",
+       "CONTROLS_IF_MSG_IF": "калі",
+       "CONTROLS_IF_MSG_ELSEIF": "інакш ÐºÐ°Ð»Ñ–",
+       "CONTROLS_IF_MSG_ELSE": "інакш",
+       "CONTROLS_IF_IF_TOOLTIP": "Дадайце, Ð²Ñ‹Ð´Ð°Ð»Ñ–це Ð°Ð±Ð¾ Ð·Ð¼Ñніце Ð¿Ð°Ñ€Ð°Ð´Ð°Ðº ÑекцыÑÑž, ÐºÐ°Ð± Ð¿ÐµÑ€Ð°Ð½Ð°Ð»Ð°Ð´Ð·Ñ–ць Ð³ÑÑ‚Ñ‹ Ð±Ð»Ð¾Ðº 'калі'.",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "Дадайце ÑžÐ¼Ð¾Ð²Ñƒ Ð´Ð° Ð±Ð»Ð¾ÐºÑƒ 'калі'",
+       "CONTROLS_IF_ELSE_TOOLTIP": "Дадаць ÐºÐ°Ð½Ñ‡Ð°Ñ‚ковую, ÑžÑёабдымную ÑžÐ¼Ð¾Ð²Ñƒ Ñž Ð±Ð»Ð¾Ðº 'калі'.",
+       "IOS_OK": "Добра",
+       "IOS_CANCEL": "ÐдмÑніць",
+       "IOS_ERROR": "Памылка",
+       "IOS_PROCEDURES_INPUTS": "УВÐХОД",
+       "IOS_PROCEDURES_ADD_INPUT": "+ Ð”адаць ÑƒÐ²Ð°Ñ…одную Ð¿ÐµÑ€Ð°Ð¼ÐµÐ½Ð½ÑƒÑŽ",
+       "IOS_PROCEDURES_ALLOW_STATEMENTS": "Дазволіць Ð°Ð¿ÐµÑ€Ð°Ñ‚ары",
+       "IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR": "У Ð³Ñтай Ñ„ункцыі Ñ‘Ñць ÑƒÐ²Ð°Ñ…одныѠпераменныÑ, ÑкіѠдубліруюцца.",
+       "IOS_VARIABLES_ADD_VARIABLE": "+ Ð”адаць Ð¿ÐµÑ€Ð°Ð¼ÐµÐ½Ð½ÑƒÑŽ",
+       "IOS_VARIABLES_ADD_BUTTON": "Дадаць",
+       "IOS_VARIABLES_RENAME_BUTTON": "Перайменаваць",
+       "IOS_VARIABLES_DELETE_BUTTON": "Выдаліць",
+       "IOS_VARIABLES_VARIABLE_NAME": "Ðазва Ð¿ÐµÑ€Ð°Ð¼ÐµÐ½Ð½Ð°Ð¹",
+       "IOS_VARIABLES_EMPTY_NAME_ERROR": "Ð’Ñ‹ Ð½Ðµ Ð¼Ð¾Ð¶Ð°Ñ†Ðµ Ð²Ñ‹ÐºÐ°Ñ€Ñ‹Ñтоўваць Ð¿ÑƒÑтое Ñ–мѠпераменнай.",
+       "LOGIC_COMPARE_HELPURL": "https://be.wikipedia.org/wiki/ÐÑроўнаÑць",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "Ð’Ñртае Ñтаноўчае Ð·Ð½Ð°Ñ‡Ñнне, ÐºÐ°Ð»Ñ– Ð°Ð±Ð¾Ð´Ð²Ð° ÑžÐ²Ð¾Ð´Ñ‹ Ñ€Ð¾ÑžÐ½Ñ‹Ñ Ð°Ð´Ð·Ñ–н Ð°Ð´Ð½Ð°Ð¼Ñƒ.",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "Ð’Ñртае Ñтаноўчае Ð·Ð½Ð°Ñ‡Ñнне, ÐºÐ°Ð»Ñ– ÑžÐ²Ð¾Ð´Ñ‹ Ð½Ðµ Ñ€Ð¾ÑžÐ½Ñ‹Ñ.",
+       "LOGIC_COMPARE_TOOLTIP_LT": "Ð’Ñртае Ñтаноўчае Ð·Ð½Ð°Ñ‡Ñнне, ÐºÐ°Ð»Ñ– Ð¿ÐµÑ€ÑˆÑ‹ ÑžÐ²Ð¾Ð´ Ð¼ÐµÐ½Ñˆ Ð´Ñ€ÑƒÐ³Ð¾Ð³Ð°.",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "Ð’Ñртае Ð·Ð½Ð°Ñ‡Ñнне Ñ–Ñціна, ÐºÐ°Ð»Ñ– Ð¿ÐµÑ€ÑˆÐ°Ñ ÑžÑтаўка Ð¼ÐµÐ½Ñˆ Ð°Ð±Ð¾ Ñ€Ð¾ÑžÐ½Ð°Ñ Ð´Ñ€ÑƒÐ³Ñ–.",
+       "LOGIC_COMPARE_TOOLTIP_GT": "Ð’Ñртае Ð·Ð½Ð°Ñ‡Ñнне Ñ–Ñціна, ÐºÐ°Ð»Ñ– Ð¿ÐµÑ€ÑˆÐ°Ñ ÑžÑтаўка Ð±Ð¾Ð»ÑŒÑˆ Ð´Ñ€ÑƒÐ³Ð¾Ð¹.",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "Ð’Ñртае Ð·Ð½Ð°Ñ‡Ñнне Ñ–Ñціна, ÐºÐ°Ð»Ñ– Ð¿ÐµÑ€ÑˆÐ°Ñ ÑžÑтаўка Ð±Ð¾Ð»ÑŒÑˆ Ð°Ð±Ð¾ Ñ€Ð¾ÑžÐ½Ð°Ñ Ð´Ñ€ÑƒÐ³Ð¾Ð¹.",
+       "LOGIC_OPERATION_TOOLTIP_AND": "Ð’Ñртае Ð·Ð½Ð°Ñ‡Ñнне Ñ–Ñціна, ÐºÐ°Ð»Ñ– Ð°Ð±ÐµÐ´Ð·Ð²Ðµ ÑžÑтаўкі Ñ–ÑцінныÑ.",
+       "LOGIC_OPERATION_AND": "Ñ–",
+       "LOGIC_OPERATION_TOOLTIP_OR": "Ð’Ñртае Ð·Ð½Ð°Ñ‡Ñнне Ñ–Ñціна, ÐºÐ°Ð»Ñ– Ñ…ацѠб Ð°Ð´Ð½Ð° Ð· ÑƒÑтавак Ñ–ÑціннаÑ.",
+       "LOGIC_OPERATION_OR": "ці",
+       "LOGIC_NEGATE_TITLE": "не %1",
+       "LOGIC_NEGATE_TOOLTIP": "Ð’Ñртае Ð·Ð½Ð°Ñ‡Ñнне Ñ–Ñціна, ÐºÐ°Ð»Ñ– ÑƒÑтаўка Ñ–лжываÑ. Ð’Ñртае Ð·Ð½Ð°Ñ‡Ñнне Ñ…луÑнÑ, ÐºÐ°Ð»Ñ– ÑƒÑтаўка Ñ–ÑціннаÑ.",
+       "LOGIC_BOOLEAN_TRUE": "Ñ–Ñціна",
+       "LOGIC_BOOLEAN_FALSE": "хлуÑнÑ",
+       "LOGIC_BOOLEAN_TOOLTIP": "Ð’Ñртае Ð·Ð½Ð°Ñ‡Ñнне Ñ–Ñціна Ð°Ð±Ð¾ Ñ…луÑнÑ.",
+       "LOGIC_NULL": "нішто",
+       "LOGIC_NULL_TOOLTIP": "Ð’Ñртае Ð½Ñ–што.",
+       "LOGIC_TERNARY_CONDITION": "абраць Ð¿Ð°",
+       "LOGIC_TERNARY_IF_TRUE": "калі Ñ–Ñціна",
+       "LOGIC_TERNARY_IF_FALSE": "калі Ñ…луÑнÑ",
+       "LOGIC_TERNARY_TOOLTIP": "ПравÑрае ÑžÐ¼Ð¾Ð²Ñƒ Ð²Ñ‹Ð±Ð°Ñ€Ñƒ. ÐšÐ°Ð»Ñ– ÑžÐ¼Ð¾Ð²Ð° Ñ–ÑціннаÑ, Ð²Ñртае Ð¿ÐµÑ€ÑˆÐ°Ðµ Ð·Ð½Ð°Ñ‡Ñнне, Ñƒ Ð°Ð´Ð²Ð°Ñ€Ð¾Ñ‚ным Ð²Ñ‹Ð¿Ð°Ð´ÐºÑƒ Ð²Ñртае Ð´Ñ€ÑƒÐ³Ð¾Ðµ Ð·Ð½Ð°Ñ‡Ñнне.",
+       "MATH_NUMBER_HELPURL": "https://be.wikipedia.org/wiki/Лік",
+       "MATH_NUMBER_TOOLTIP": "Лік.",
+       "MATH_ARITHMETIC_HELPURL": "https://be.wikipedia.org/wiki/Ðрыфметыка",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "Ð’Ñртае Ñуму Ð´Ð²ÑƒÑ… Ð»Ñ–каў.",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "Ð’Ñртае Ñ€Ð¾Ð·Ð½Ð°Ñць Ð´Ð²ÑƒÑ… Ð»Ñ–каў.",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "Ð’Ñртае Ñ‚вор Ð´Ð²ÑƒÑ… Ð»Ñ–каў.",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "Ð’Ñртае Ð´Ð·ÐµÐ»ÑŒ Ð°Ð´ Ð´Ð·ÑленнѠпершага Ð»Ñ–ку Ð½Ð° Ð´Ñ€ÑƒÐ³Ð¾Ðµ.",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "Ð’Ñртае Ð¿ÐµÑ€ÑˆÑ‹ Ð»Ñ–к, ÑƒÐ·Ð²ÐµÐ´Ð·ÐµÐ½Ñ‹ Ñž Ñтупень Ð´Ñ€ÑƒÐ³Ð¾Ð³Ð° Ð»Ñ–ку.",
+       "MATH_SINGLE_HELPURL": "https://be.wikipedia.org/wiki/Квадратны_корань",
+       "MATH_SINGLE_OP_ROOT": "квадратны ÐºÐ¾Ñ€Ð°Ð½ÑŒ",
+       "MATH_SINGLE_TOOLTIP_ROOT": "Ð’Ñртае ÐºÐ²Ð°Ð´Ñ€Ð°Ñ‚ны ÐºÐ¾Ñ€Ð°Ð½ÑŒ Ð»Ñ–ку.",
+       "MATH_SINGLE_OP_ABSOLUTE": "модуль",
+       "MATH_SINGLE_TOOLTIP_ABS": "Ð’Ñртае Ð¼Ð¾Ð´ÑƒÐ»ÑŒ Ð»Ñ–ку.",
+       "MATH_SINGLE_TOOLTIP_NEG": "Ð’Ñртае Ñупрацьлеглы Ð»Ñ–к.",
+       "MATH_SINGLE_TOOLTIP_LN": "Ð’Ñртае Ð½Ð°Ñ‚уральны Ð»Ð°Ð³Ð°Ñ€Ñ‹Ñ„м Ð»Ñ–ку.",
+       "MATH_SINGLE_TOOLTIP_LOG10": "Ð’Ñртае Ð´Ð·ÐµÑÑтковы Ð»Ð°Ð³Ð°Ñ€Ñ‹Ñ„м Ð»Ñ–ку.",
+       "MATH_SINGLE_TOOLTIP_EXP": "Ð’Ñртае Ðµ Ð²Ð° ÑžÐºÐ°Ð·Ð°Ð½Ð°Ð¹ Ñтупені.",
+       "MATH_SINGLE_TOOLTIP_POW10": "Ð’Ñртае 10 Ð²Ð° ÑžÐºÐ°Ð·Ð°Ð½Ð°Ð¹ Ñтупені.",
+       "MATH_TRIG_HELPURL": "https://be.wikipedia.org/wiki/ТрыганаметрычныÑ_функцыі",
+       "MATH_TRIG_TOOLTIP_SIN": "Ð’Ñртае ÑінуѠрага Ñž Ð³Ñ€Ð°Ð´ÑƒÑах.",
+       "MATH_TRIG_TOOLTIP_COS": "Ð’Ñртае ÐºÐ¾ÑінуѠрага Ñž Ð³Ñ€Ð°Ð´ÑƒÑах.",
+       "MATH_TRIG_TOOLTIP_TAN": "Ð’Ñртае Ñ‚ангенѠрага Ñž Ð³Ñ€Ð°Ð´ÑƒÑах.",
+       "MATH_TRIG_TOOLTIP_ASIN": "Ð’Ñртае Ð°Ñ€ÐºÑінуѠу Ð³Ñ€Ð°Ð´ÑƒÑах.",
+       "MATH_TRIG_TOOLTIP_ACOS": "Ð’Ñртае Ð°Ñ€ÐºÐºÐ¾ÑінуѠу Ð³Ñ€Ð°Ð´ÑƒÑах.",
+       "MATH_TRIG_TOOLTIP_ATAN": "Ð’Ñртае Ð°Ñ€ÐºÑ‚ангенѠу Ð³Ñ€Ð°Ð´ÑƒÑах.",
+       "MATH_CONSTANT_HELPURL": "https://be.wikipedia.org/wiki/МатÑматычнаÑ_канÑтанта",
+       "MATH_CONSTANT_TOOLTIP": "Ð’Ñртае Ð°Ð´Ð½Ñƒ Ð· Ñ€Ð°ÑпаўÑюджаных ÐºÐ°Ð½Ñтант: Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), Ð°Ð±Ð¾ âˆž (бÑÑконцаÑць).",
+       "MATH_IS_EVEN": "цотнае",
+       "MATH_IS_ODD": "нÑцотнае",
+       "MATH_IS_PRIME": "проÑтае",
+       "MATH_IS_WHOLE": "цÑлае",
+       "MATH_IS_POSITIVE": "Ñтаноўчае",
+       "MATH_IS_NEGATIVE": "адмоўнае",
+       "MATH_IS_DIVISIBLE_BY": "дзеліцца Ð½Ð°",
+       "MATH_IS_TOOLTIP": "ПравÑрае, Ñ†Ñ– Ð·'ÑўлÑецца Ð»Ñ–к Ñ†Ð¾Ñ‚ным, Ð½Ñцотным, Ð¿Ñ€Ð¾Ñтым, Ñ†Ñлым, Ñтаноўчым, Ð°Ð´Ð¼Ð¾ÑžÐ½Ñ‹Ð¼ Ñ†Ñ– Ñно ÐºÑ€Ð°Ñ‚нае Ð¿Ñўнаму Ð»Ñ–ку. Ð’Ñртае Ð·Ð½Ð°Ñ‡Ñнне Ñ–Ñціна Ð°Ð±Ð¾ Ñ…луÑнÑ.",
+       "MATH_CHANGE_HELPURL": "https://be.wikipedia.org/wiki/Ідыёма (праграмаванне)",
+       "MATH_CHANGE_TITLE": "павÑлічыць %1 Ð½Ð° %2",
+       "MATH_CHANGE_TOOLTIP": "Дадае Ð»Ñ–к Ð´Ð° Ð¿ÐµÑ€Ð°Ð¼ÐµÐ½Ð½Ð°Ð¹ '%1'.",
+       "MATH_ROUND_HELPURL": "https://be.wikipedia.org/wiki/Ðкругленне",
+       "MATH_ROUND_TOOLTIP": "ÐкруглÑе Ð»Ñ–к Ð´Ð° Ð±Ð¾Ð»ÑŒÑˆÐ°Ð³Ð° Ñ†Ñ– Ð¼ÐµÐ½ÑˆÐ°Ð³Ð°.",
+       "MATH_ROUND_OPERATOR_ROUND": "акругліць",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "акругліць Ð´Ð° Ð±Ð¾Ð»ÑŒÑˆÐ°Ð³Ð°",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "акругліць Ð´Ð° Ð¼ÐµÐ½ÑˆÐ°Ð³Ð°",
+       "MATH_ONLIST_OPERATOR_SUM": "Ñума ÑпіÑа",
+       "MATH_ONLIST_TOOLTIP_SUM": "Ð’Ñртае Ñуму ÑžÑÑ–Ñ… Ð»Ñ–каў Ñƒ ÑпіÑе.",
+       "MATH_ONLIST_OPERATOR_MIN": "найменшы Ñž ÑпіÑе",
+       "MATH_ONLIST_TOOLTIP_MIN": "Ð’Ñртае Ð½Ð°Ð¹Ð¼ÐµÐ½ÑˆÑ‹ Ð»Ñ–к ÑпіÑу.",
+       "MATH_ONLIST_OPERATOR_MAX": "найбольшы Ñž ÑпіÑе",
+       "MATH_ONLIST_TOOLTIP_MAX": "Ð’Ñртае Ð½Ð°Ð¹Ð±Ð¾Ð»ÑŒÑˆÑ‹ Ð»Ñ–к ÑпіÑу.",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "ÑÑÑ€ÑднÑе Ð°Ñ€Ñ‹Ñ„метычнае ÑпіÑу",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "Ð’Ñртае ÑÑÑ€ÑднÑе Ð°Ñ€Ñ‹Ñ„метычнае ÑпіÑу.",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "медыÑна ÑпіÑа",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "Ð’Ñртае Ð¼ÐµÐ´Ñ‹Ñну ÑпіÑуа.",
+       "MATH_ONLIST_OPERATOR_MODE": "моды ÑпіÑа",
+       "MATH_ONLIST_TOOLTIP_MODE": "Ð’Ñртае ÑпіѠнайбольш Ñ‡Ð°Ñта ÑуÑтракаемых Ñлементаў ÑпіÑу.",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "Ñтандартнае Ð°Ð´Ñ…іленне ÑпіÑа",
+       "MATH_ONLIST_TOOLTIP_STD_DEV": "Ð’Ñртае Ñтандартнае Ð°Ð´Ñ…іленне ÑпіÑу.",
+       "MATH_ONLIST_OPERATOR_RANDOM": "выпадковы Ñлемент ÑпіÑа",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "Ð’Ñртае Ð²Ñ‹Ð¿Ð°Ð´ÐºÐ¾Ð²Ñ‹ Ñлемент ÑпіÑа.",
+       "MATH_MODULO_HELPURL": "https://be.wikipedia.org/wiki/ДзÑленне_з_аÑтаткам",
+       "MATH_MODULO_TITLE": "аÑтатак Ð°Ð´ %1 Ã· %2",
+       "MATH_MODULO_TOOLTIP": "Ð’Ñртае Ð°Ñтатак Ð°Ð´ Ð´Ð·ÑленнѠдвух Ð»Ñ–каў.",
+       "MATH_CONSTRAIN_TITLE": "абмежаваць %1 Ð·Ð½Ñ–зу %2 Ð·Ð²ÐµÑ€Ñ…у %3",
+       "MATH_CONSTRAIN_TOOLTIP": "ÐбмÑжоўвае Ð»Ñ–к Ð½Ñ–жнÑй Ñ– Ð²ÐµÑ€Ñ…нÑй Ð¼ÐµÐ¶Ð°Ð¼Ñ– (уключна).",
+       "MATH_RANDOM_INT_HELPURL": "https://be.wikipedia.org/wiki/Генератар_пÑевдоÑлучайных_лікаў",
+       "MATH_RANDOM_INT_TITLE": "выпадковы Ñ†Ñлы Ð»Ñ–к Ð°Ð´ %1 Ð´Ð»Ñ %2",
+       "MATH_RANDOM_INT_TOOLTIP": "Ð’Ñртае Ð²Ñ‹Ð¿Ð°Ð´ÐºÐ¾Ð²Ñ‹ Ð»Ñ–к Ð¿Ð°Ð¼Ñ–ж Ð´Ð²ÑƒÐ¼Ð° Ð·Ð°Ð´Ð°Ð´Ð·ÐµÐ½Ñ‹Ð¼Ñ– Ð¼ÐµÐ¶Ð°Ð¼Ñ– (уключаючы Ñ– Ñ–Ñ…).",
+       "MATH_RANDOM_FLOAT_HELPURL": "https://be.wikipedia.org/wiki/Генератар_пÑевдоÑлучайных_лікаў",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "выпадковы Ð»Ñ–к Ð°Ð´ 0 (уключна) Ð´Ð° 1",
+       "MATH_RANDOM_FLOAT_TOOLTIP": "Ð’Ñртае Ð²Ñ‹Ð¿Ð°Ð´ÐºÐ¾Ð²Ñ‹ Ð»Ñ–к Ð°Ð´ 0.0 (уключна) Ð´Ð° 1.0.",
+       "TEXT_TEXT_HELPURL": "https://be.wikipedia.org/wiki/Радковы_тып",
+       "TEXT_TEXT_TOOLTIP": "Літара, Ñлова Ð°Ð±Ð¾ Ñ€Ð°Ð´Ð¾Ðº Ñ‚ÑкÑту.",
+       "TEXT_JOIN_TITLE_CREATEWITH": "Ñтварыць Ñ‚ÑкÑÑ‚ Ð·",
+       "TEXT_JOIN_TOOLTIP": "Стварае Ñ„рагмент Ñ‚ÑкÑту, Ð°Ð±'Ñдноўваючы Ð»ÑŽÐ±Ñ‹ Ð»Ñ–к Ñлементаў.",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "Ñпалучыць",
+       "TEXT_CREATE_JOIN_TOOLTIP": "Дадайце, Ð²Ñ‹Ð´Ð°Ð»Ñ–це, Ð¿ÐµÑ€Ð°Ñтаўце Ñ„рагменты Ð´Ð»Ñ Ð¿ÐµÑ€Ð°Ñ€Ð¾Ð±ÐºÑ– Ñ‚ÑкÑтавага Ð±Ð»Ð¾ÐºÐ°.",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "Дадаць Ñлемент Ð´Ð° Ñ‚ÑкÑту.",
+       "TEXT_APPEND_TITLE": "да %1 Ð´Ð°Ð´Ð°Ñ†ÑŒ Ñ‚ÑкÑÑ‚ %2",
+       "TEXT_APPEND_TOOLTIP": "Дадаць Ñ‚ÑкÑÑ‚ Ð´Ð° Ð¿ÐµÑ€Ð°Ð¼ÐµÐ½Ð½Ð°Ð¹ '%1'.",
+       "TEXT_LENGTH_TITLE": "даўжынѠ%1",
+       "TEXT_LENGTH_TOOLTIP": "Ð’Ñртае ÐºÐ¾Ð»ÑŒÐºÐ°Ñць Ñімвалаў (уключаючы Ð¿Ñ€Ð°Ð±ÐµÐ»Ñ‹) Ñƒ Ð·Ð°Ð´Ð°Ð´Ð·ÐµÐ½Ñ‹Ð¼ Ñ‚ÑкÑце.",
+       "TEXT_ISEMPTY_TITLE": "%1 Ð¿ÑƒÑÑ‚Ñ‹",
+       "TEXT_ISEMPTY_TOOLTIP": "Ð’Ñртае Ð·Ð½Ð°Ñ‡Ñнне Ñ–Ñціна, ÐºÐ°Ð»Ñ– Ð¿Ð°Ð´Ð°Ð´Ð·ÐµÐ½Ñ‹ Ñ‚ÑкÑÑ‚ Ð¿ÑƒÑÑ‚Ñ‹.",
+       "TEXT_INDEXOF_TOOLTIP": "Ð’Ñртае Ð½ÑƒÐ¼Ð°Ñ€ Ð¿Ð°Ð·Ñ–цыі Ð¿ÐµÑ€ÑˆÐ°Ð³Ð°/апошнÑга ÑžÐ²Ð°Ñ…оджаннѠпершага Ñ‚ÑкÑту Ñž Ð´Ñ€ÑƒÐ³Ñ–м. Ð’Ñртае %1, ÐºÐ°Ð»Ñ– Ñ‚ÑкÑÑ‚ Ð½Ðµ Ð·Ð½Ð¾Ð¹Ð´Ð·ÐµÐ½Ñ‹.",
+       "TEXT_INDEXOF_TITLE": "у Ñ‚ÑкÑце %1 %2 %3",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "знайÑці Ð¿ÐµÑ€ÑˆÐ°Ðµ ÑžÐ²Ð°Ñ…оджанне Ñ‚ÑкÑту",
+       "TEXT_INDEXOF_OPERATOR_LAST": "знайÑці Ð°Ð¿Ð¾ÑˆÐ½Ñе ÑžÐ²Ð°Ñ…оджанне Ñ‚ÑкÑту",
+       "TEXT_CHARAT_TITLE": "у Ñ‚ÑкÑце %1 %2",
+       "TEXT_CHARAT_FROM_START": "узÑць Ð»Ñ–тару #",
+       "TEXT_CHARAT_FROM_END": "узÑць Ð»Ñ–тару # Ð· ÐºÐ°Ð½Ñ†Ð°",
+       "TEXT_CHARAT_FIRST": "узÑць Ð¿ÐµÑ€ÑˆÑƒÑŽ Ð»Ñ–тару",
+       "TEXT_CHARAT_LAST": "узÑць Ð°Ð¿Ð¾ÑˆÐ½ÑŽÑŽ Ð»Ñ–тару",
+       "TEXT_CHARAT_RANDOM": "узÑць Ð²Ñ‹Ð¿Ð°Ð´ÐºÐ¾Ð²ÑƒÑŽ Ð»Ñ–тару",
+       "TEXT_CHARAT_TOOLTIP": "Ð’Ñртае Ð»Ñ–тару Ñž Ð½Ð°Ð·Ð²Ð°Ð½Ð°Ð¹ Ð¿Ð°Ð·Ñ–цыі.",
+       "TEXT_GET_SUBSTRING_TOOLTIP": "Ð’Ñртае ÑƒÐºÐ°Ð·Ð°Ð½ÑƒÑŽ Ñ‡Ð°Ñтку Ñ‚ÑкÑту.",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "у Ñ‚ÑкÑце",
+       "TEXT_GET_SUBSTRING_START_FROM_START": "узÑць Ð¿Ð°Ð´Ñ€Ð°Ð´Ð¾Ðº Ð· Ð»Ñ–тары #",
+       "TEXT_GET_SUBSTRING_START_FROM_END": "узÑць Ð¿Ð°Ð´Ñ€Ð°Ð´Ð¾Ðº Ð· Ð»Ñ–тары # Ð· ÐºÐ°Ð½Ñ†Ð°",
+       "TEXT_GET_SUBSTRING_START_FIRST": "узÑць Ð¿Ð°Ð´Ñ€Ð°Ð´Ð¾Ðº Ð· Ð¿ÐµÑ€ÑˆÐ°Ð¹ Ð»Ñ–тары",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "па Ð»Ñ–тару #",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "па Ð»Ñ–тару # Ð· ÐºÐ°Ð½Ñ†Ð°",
+       "TEXT_GET_SUBSTRING_END_LAST": "па Ð°Ð¿Ð¾ÑˆÐ½ÑŽÑŽ Ð»Ñ–тару",
+       "TEXT_CHANGECASE_TOOLTIP": "Ð’Ñртае ÐºÐ¾Ð¿Ñ–ÑŽ Ñ‚ÑкÑту Ð· Ð’ЯЛІКІМІ Ð°Ð±Ð¾ Ð¼Ð°Ð»Ñ‹Ð¼Ñ– Ð»Ñ–тарамі.",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "у Ð’ЯЛІКІХ Ð›Ð†Ð¢ÐРÐÐŽ",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "у Ð¼Ð°Ð»Ñ‹Ñ Ð»Ñ–тары",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": "у Ð—агалоўныѠПачатковыѠЛітары",
+       "TEXT_TRIM_TOOLTIP": "Ð’Ñртае ÐºÐ¾Ð¿Ñ–ÑŽ Ñ‚ÑкÑту Ð· Ð¿Ñ€Ð°Ð³Ð°Ð»Ð°Ð¼Ñ–, Ð²Ñ‹Ð´Ð°Ð»ÐµÐ½Ñ‹Ð¼Ñ– Ð· Ð°Ð´Ð½Ð°Ð³Ð¾ Ð°Ð±Ð¾ Ð°Ð±Ð¾Ð´Ð²ÑƒÑ… ÐºÐ°Ð½Ñ†Ð¾Ñž.",
+       "TEXT_TRIM_OPERATOR_BOTH": "абрÑзаць Ð¿Ñ€Ð°Ð³Ð°Ð»Ñ‹ Ð· Ð´Ð²ÑƒÑ… Ð±Ð°ÐºÐ¾Ñž",
+       "TEXT_TRIM_OPERATOR_LEFT": "абрÑзаць Ð¿Ñ€Ð°Ð³Ð°Ð»Ñ‹ Ð·Ð»ÐµÐ²Ð°",
+       "TEXT_TRIM_OPERATOR_RIGHT": "абрÑзаць Ð¿Ñ€Ð°Ð³Ð°Ð»Ñ‹ Ñправа",
+       "TEXT_PRINT_TITLE": "надрукаваць %1",
+       "TEXT_PRINT_TOOLTIP": "Друкуе Ñ‚ÑкÑÑ‚, Ð»Ñ–к Ð°Ð±Ð¾ Ñ–ншы Ð°Ð±'ект.",
+       "TEXT_PROMPT_TYPE_TEXT": "запытаць Ñ‚ÑкÑÑ‚ Ð· Ð¿Ð°Ð´ÐºÐ°Ð·ÐºÐ°Ð¹",
+       "TEXT_PROMPT_TYPE_NUMBER": "запытаць Ð»Ñ–к Ð· Ð¿Ð°Ð´ÐºÐ°Ð·ÐºÐ°Ð¹",
+       "TEXT_PROMPT_TOOLTIP_NUMBER": "Запытаць Ñƒ ÐºÐ°Ñ€Ñ‹Ñтальніка Ð»Ñ–к.",
+       "TEXT_PROMPT_TOOLTIP_TEXT": "Запытаць Ñƒ ÐºÐ°Ñ€Ñ‹Ñтальніка Ñ‚ÑкÑÑ‚.",
+       "TEXT_COUNT_MESSAGE0": "падлічыць ÐºÐ¾Ð»ÑŒÐºÐ°Ñць %1 Ñƒ %2",
+       "TEXT_COUNT_TOOLTIP": "Падлічыць ÐºÐ¾Ð»ÑŒÐºÑ– Ñ€Ð°Ð·Ð¾Ñž ÑƒÑ€Ñ‹Ð²Ð°Ðº Ñ‚ÑкÑту Ð·'ÑўлÑецца Ñž Ñ–ншым Ñ‚ÑкÑце.",
+       "TEXT_REPLACE_MESSAGE0": "замÑніць %1 Ð½Ð° %2 Ñƒ %3",
+       "TEXT_REPLACE_TOOLTIP": "ЗамÑніць ÑƒÑе ÑžÐ²Ð°Ñ…оджанні Ð½ÐµÐºÐ°Ñ‚орага Ñ‚ÑкÑту Ñ–ншым Ñ‚ÑкÑтам.",
+       "TEXT_REVERSE_MESSAGE0": "змÑніць Ð¿Ð°Ñ€Ð°Ð´Ð°Ðº Ð½Ð° Ð·Ð²Ð°Ñ€Ð¾Ñ‚ны %1",
+       "TEXT_REVERSE_TOOLTIP": "ÐœÑнÑе Ð¿Ð°Ñ€Ð°Ð´Ð°Ðº Ð·Ð½Ð°ÐºÐ°Ñž Ñƒ Ñ‚ÑкÑце Ð½Ð° Ð°Ð´Ð²Ð°Ñ€Ð¾Ñ‚ны.",
+       "LISTS_CREATE_EMPTY_TITLE": "Ñтварыць Ð¿ÑƒÑÑ‚Ñ‹ ÑпіÑ",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "Ð’Ñртае ÑпіѠдаўжыні 0, Ñкі Ð½Ðµ ÑžÑ‚рымлівае Ð´Ð°Ð´Ð·ÐµÐ½Ñ‹Ñ…",
+       "LISTS_CREATE_WITH_TOOLTIP": "Стварае ÑпіѠз Ð»ÑŽÐ±Ñ‹Ð¼ Ð»Ñ–кам Ñлементаў.",
+       "LISTS_CREATE_WITH_INPUT_WITH": "Ñтварыць ÑпіѠз",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "ÑпіÑ",
+       "LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "Дадайце, Ð²Ñ‹Ð´Ð°Ð»Ñ–це, Ð¿ÐµÑ€Ð°Ñтаўце Ñлементы Ð´Ð»Ñ Ð¿ÐµÑ€Ð°Ñ€Ð¾Ð±ÐºÑ– Ð±Ð»Ð¾ÐºÐ° ÑпіÑу.",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "Дадае Ñлемент Ð´Ð° ÑпіÑу.",
+       "LISTS_REPEAT_TOOLTIP": "Стварае ÑпіÑ, Ñкі Ñкладаецца Ð· Ð·Ð°Ð´Ð°Ð´Ð·ÐµÐ½Ð°Ð³Ð° Ð»Ñ–ку ÐºÐ¾Ð¿Ñ–й Ñлемента.",
+       "LISTS_REPEAT_TITLE": "Ñтварыць ÑпіѠз Ñлемента %1, Ð¿Ð°ÑžÑ‚аральнага %2 Ñ€Ð°Ð·Ð¾Ñž",
+       "LISTS_LENGTH_TITLE": "даўжынѠ%1",
+       "LISTS_LENGTH_TOOLTIP": "Ð’Ñртае Ð´Ð°ÑžÐ¶Ñ‹Ð½ÑŽ ÑпіÑу.",
+       "LISTS_ISEMPTY_TITLE": "%1 Ð¿ÑƒÑÑ‚Ñ‹",
+       "LISTS_ISEMPTY_TOOLTIP": "Ð’Ñртае Ð·Ð½Ð°Ñ‡Ñнне Ñ–Ñціна, ÐºÐ°Ð»Ñ– ÑпіѠпуÑÑ‚Ñ‹.",
+       "LISTS_INLIST": "у ÑпіÑе",
+       "LISTS_INDEX_OF_FIRST": "знайÑці Ð¿ÐµÑ€ÑˆÐ°Ðµ ÑžÐ²Ð°Ñ…оджанне Ñлемента",
+       "LISTS_INDEX_OF_LAST": "знайÑці Ð°Ð¿Ð¾ÑˆÐ½Ñе ÑžÐ²Ð°Ñ…оджанне Ñлемента",
+       "LISTS_INDEX_OF_TOOLTIP": "Ð’Ñртае Ð½ÑƒÐ¼Ð°Ñ€ Ð¿Ð°Ð·Ñ–цыі Ð¿ÐµÑ€ÑˆÐ°Ð³Ð°/апошнÑга ÑžÐ²Ð°Ñ…оджаннѠÑлемента Ñž ÑпіÑе. Ð’Ñртае %1, ÐºÐ°Ð»Ñ– Ñлемент Ð½Ðµ Ð·Ð½Ð¾Ð¹Ð´Ð·ÐµÐ½Ñ‹.",
+       "LISTS_GET_INDEX_GET": "узÑць",
+       "LISTS_GET_INDEX_GET_REMOVE": "узÑць Ñ– Ð²Ñ‹Ð´Ð°Ð»Ñ–ць",
+       "LISTS_GET_INDEX_REMOVE": "выдаліць",
+       "LISTS_GET_INDEX_FROM_END": "# Ð· ÐºÐ°Ð½Ñ†Ð°",
+       "LISTS_GET_INDEX_FIRST": "першы",
+       "LISTS_GET_INDEX_LAST": "апошні",
+       "LISTS_GET_INDEX_RANDOM": "адвольны",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "%1 - Ð¿ÐµÑ€ÑˆÑ‹ Ñлемент.",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "%1 - Ð°Ð¿Ð¾ÑˆÐ½Ñ– Ñлемент.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "Ð’Ñртае Ñлемент Ð²Ð° ÑžÐºÐ°Ð·Ð°Ð½Ð°Ð¹ Ð¿Ð°Ð·Ñ–цыі ÑпіÑа.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "Ð’Ñртае Ð¿ÐµÑ€ÑˆÑ‹ Ñлемент ÑпіÑа.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "Ð’Ñртае Ð°Ð¿Ð¾ÑˆÐ½Ñ– Ñлемент ÑпіÑа.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "Ð’Ñртае Ð²Ñ‹Ð¿Ð°Ð´ÐºÐ¾Ð²Ñ‹ Ñлемент ÑпіÑа.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "ВыдалÑе Ñ– Ð²Ñртае Ñлемент Ð²Ð° ÑžÐºÐ°Ð·Ð°Ð½Ð°Ð¹ Ð¿Ð°Ð·Ñ–цыі ÑпіÑа.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "ВидалÑÑ” Ñ– Ð¿Ð¾Ð²ÐµÑ€Ñ‚ає Ð¿ÐµÑ€ÑˆÐ¸Ð¹ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ ÑпиÑку.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "ВидалÑÑ” Ñ– Ð¿Ð¾Ð²ÐµÑ€Ñ‚ає Ð°Ð¿Ð¾ÑˆÐ½Ñ– Ñлемент ÑпіÑа.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "ВидалÑÑ” Ñ– Ð¿Ð¾Ð²ÐµÑ€Ñ‚ає Ð²Ñ‹Ð¿Ð°Ð´ÐºÐ¾Ð²Ñ‹ Ñлемент ÑпіÑа.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "ВидалÑÑ” Ñлемент Ð²Ð° ÑžÐºÐ°Ð·Ð°Ð½Ð°Ð¹ Ð¿Ð°Ð·Ñ–цыі ÑпіÑа.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "ВидалÑÑ” Ð¿ÐµÑ€ÑˆÑ‹ Ñлемент ÑпіÑа.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "ВидалÑÑ” Ð°Ð¿Ð¾ÑˆÐ½Ñ– Ñлемент ÑпіÑа.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "ВидалÑÑ” Ð²Ñ‹Ð¿Ð°Ð´ÐºÐ¾Ð²Ñ‹ Ñлемент ÑпіÑа.",
+       "LISTS_SET_INDEX_SET": "прыÑабечыць",
+       "LISTS_SET_INDEX_INSERT": "уÑтавіць Ñƒ",
+       "LISTS_SET_INDEX_INPUT_TO": "=",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "ПрыÑабечвае Ð·Ð½Ð°Ñ‡Ñнне Ñлемента Ð²Ð° ÑžÐºÐ°Ð·Ð°Ð½Ð°Ð¹ Ð¿Ð°Ð·Ñ–цыі ÑпіÑа.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "ПрыÑабечвае Ð·Ð½Ð°Ñ‡Ñнне Ñлемента ÑпіÑу.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_LAST": "ПрыÑабечвае Ð·Ð½Ð°Ñ‡Ñнне Ñлемента ÑпіÑу.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "ПрыÑабечвае Ð·Ð½Ð°Ñ‡Ñнне Ñлемента ÑпіÑу.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "УÑтаўлÑе Ñлемент Ð²Ð° ÑžÐºÐ°Ð·Ð°Ð½Ð°Ð¹ Ð¿Ð°Ð·Ñ–цыі ÑпіÑа.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "УÑтаўлÑе Ñлемент Ñƒ Ð¿Ð°Ñ‡Ð°Ñ‚ак ÑпіÑа.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "Дадае Ñлемент Ñƒ ÐºÐ°Ð½ÐµÑ† ÑпіÑу.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "УÑтаўлÑе Ñлемент Ñƒ Ð²Ñ‹Ð¿Ð°Ð´ÐºÐ¾Ð²Ð°Ðµ Ð¼ÐµÑца Ñž ÑпіÑе.",
+       "LISTS_GET_SUBLIST_START_FROM_START": "узÑць Ð¿Ð°Ð´ÑпіѠз #",
+       "LISTS_GET_SUBLIST_START_FROM_END": "узÑць Ð¿Ð°Ð´ÑпіѠз # Ð· ÐºÐ°Ð½Ñ†Ð°",
+       "LISTS_GET_SUBLIST_START_FIRST": "узÑць Ð¿Ð°Ð´ÑпіѠз Ð¿ÐµÑ€ÑˆÐ°Ð³Ð°",
+       "LISTS_GET_SUBLIST_END_FROM_START": "па #",
+       "LISTS_GET_SUBLIST_END_FROM_END": "па # Ð· ÐºÐ°Ð½Ñ†Ð°",
+       "LISTS_GET_SUBLIST_END_LAST": "па Ð°Ð¿Ð¾ÑˆÐ½Ñ–",
+       "LISTS_GET_SUBLIST_TOOLTIP": "Стварае ÐºÐ¾Ð¿Ñ–ÑŽ ÑžÐºÐ°Ð·Ð°Ð½Ð°Ð¹ Ñ‡Ð°Ñтцы ÑпіÑу.",
+       "LISTS_SORT_HELPURL": "https://github.com/google/blockly/wiki/Lists#sorting-a-list",
+       "LISTS_SORT_TITLE": "Ñартаваць %1 %2 %3",
+       "LISTS_SORT_TOOLTIP": "Сартаваць ÐºÐ¾Ð¿Ñ–ÑŽ ÑпіÑу.",
+       "LISTS_SORT_ORDER_ASCENDING": "па ÑžÐ·Ñ€Ð°Ñтанню",
+       "LISTS_SORT_ORDER_DESCENDING": "па Ñпаданню",
+       "LISTS_SORT_TYPE_NUMERIC": "лікаваÑ",
+       "LISTS_SORT_TYPE_TEXT": "па Ð°Ð»Ñ„авіце",
+       "LISTS_SORT_TYPE_IGNORECASE": "па Ð°Ð»Ñ„авіце, Ð±ÐµÐ· ÑƒÐ»Ñ–ку Ñ€ÑгіÑтра",
+       "LISTS_SPLIT_LIST_FROM_TEXT": "зрабіць ÑпіѠз Ñ‚ÑкÑту",
+       "LISTS_SPLIT_TEXT_FROM_LIST": "Ñабраць Ñ‚ÑкÑÑ‚ Ñа ÑпіÑу",
+       "LISTS_SPLIT_WITH_DELIMITER": "з Ð¿Ð°Ð´Ð·ÐµÐ»ÑŒÐ½Ñ–кам",
+       "LISTS_SPLIT_TOOLTIP_SPLIT": "Разбівае Ñ‚ÑкÑÑ‚ Ñƒ ÑпіѠтÑкÑтаў Ð¿Ð° Ð¿Ð°Ð´Ð·ÐµÐ»ÑŒÐ½Ñ–кам.",
+       "LISTS_SPLIT_TOOLTIP_JOIN": "Злучае ÑпіѠтÑкÑтаў Ñƒ Ð°Ð´Ð·Ñ–н Ñ‚ÑкÑÑ‚ Ð· Ð¿Ð°Ð´Ð·ÐµÐ»ÑŒÐ½Ñ–камі.",
+       "LISTS_REVERSE_MESSAGE0": "змÑніць Ð¿Ð°Ñ€Ð°Ð´Ð°Ðº Ð½Ð° Ð·Ð²Ð°Ñ€Ð¾Ñ‚ны %1",
+       "LISTS_REVERSE_TOOLTIP": "ЗмÑніць Ð¿Ð°Ñ€Ð°Ð´Ð°Ðº ÑпіÑу Ð½Ð° Ð°Ð´Ð²Ð°Ñ€Ð¾Ñ‚ны.",
+       "VARIABLES_GET_TOOLTIP": "Ð’Ñртае Ð·Ð½Ð°Ñ‡Ñнне Ð³Ñтай Ð¿ÐµÑ€Ð°Ð¼ÐµÐ½Ð½Ð°Ð¹.",
+       "VARIABLES_GET_CREATE_SET": "Стварыць Ð±Ð»Ð¾Ðº \"прыÑабечыць\" Ð´Ð»Ñ %1",
+       "VARIABLES_SET": "прыÑабечыць %1 = %2",
+       "VARIABLES_SET_TOOLTIP": "ПрыÑабечвае Ð¿ÐµÑ€Ð°Ð¼ÐµÐ½Ð½Ð°Ð¹ Ð·Ð½Ð°Ñ‡Ñнне ÑžÑтаўкі.",
+       "VARIABLES_SET_CREATE_GET": "Стварыць ÑƒÑтаўку %1",
+       "PROCEDURES_DEFNORETURN_TITLE": "каб",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "выканаць Ð½ÐµÑˆÑ‚а",
+       "PROCEDURES_BEFORE_PARAMS": "з:",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "з:",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "Стварыць Ð¿Ñ€Ð°Ñ†Ñдуру, ÑкаѠнѠвÑртае Ð·Ð½Ð°Ñ‡Ñнне.",
+       "PROCEDURES_DEFNORETURN_COMMENT": "Ðпішыце Ð³Ñтую Ñ„ункцыю...",
+       "PROCEDURES_DEFRETURN_RETURN": "вÑрнуць",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "Стварыць Ð¿Ñ€Ð°Ñ†Ñдуру, ÑкаѠвÑртае Ð·Ð½Ð°Ñ‡Ñнне.",
+       "PROCEDURES_ALLOW_STATEMENTS": "дазволіць Ð°Ð¿ÐµÑ€Ð°Ñ‚ары",
+       "PROCEDURES_DEF_DUPLICATE_WARNING": "ПапÑÑ€Ñджанне: Ð³ÑтаѠфункцыѠмае Ð¿Ð°ÑžÑ‚аральныѠпараметры.",
+       "PROCEDURES_CALLNORETURN_HELPURL": "https://be.wikipedia.org/wiki/Падпраграма",
+       "PROCEDURES_CALLNORETURN_TOOLTIP": "Выконвае Ð²Ñ‹Ð·Ð½Ð°Ñ‡Ð°Ð½ÑƒÑŽ ÐºÐ°Ñ€Ñ‹Ñтальнікам Ð¿Ñ€Ð°Ñ†Ñдуру '%1'.",
+       "PROCEDURES_CALLRETURN_HELPURL": "https://be.wikipedia.org/wiki/Падпраграма",
+       "PROCEDURES_CALLRETURN_TOOLTIP": "Выконвае Ð²Ñ‹Ð·Ð½Ð°Ñ‡Ð°Ð½ÑƒÑŽ ÐºÐ°Ñ€Ñ‹Ñтальнікам Ð¿Ñ€Ð°Ñ†Ñдуру '%1' Ñ– Ð²Ñртае Ð²Ñ‹Ð»Ñ–чанае Ð·Ð½Ð°Ñ‡Ñнне.",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "параметры",
+       "PROCEDURES_MUTATORCONTAINER_TOOLTIP": "Дадаць, Ð²Ñ‹Ð´Ð°Ð»Ñ–ць Ð°Ð±Ð¾ Ð·Ð¼Ñніць Ð¿Ð°Ñ€Ð°Ð´Ð°Ðº ÑƒÐ²Ð°Ñ…одных Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚раў Ð´Ð»Ñ Ð³Ñтай Ñ„ункцыі.",
+       "PROCEDURES_MUTATORARG_TITLE": "імѠпараметра:",
+       "PROCEDURES_MUTATORARG_TOOLTIP": "Дадаць ÑƒÐ²Ð°Ñ…одны Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€ Ñž Ñ„ункцыю.",
+       "PROCEDURES_HIGHLIGHT_DEF": "Вылучыць Ð²Ñ‹Ð·Ð½Ð°Ñ‡Ñнне Ð¿Ñ€Ð°Ñ†Ñдуры",
+       "PROCEDURES_CREATE_DO": "Стварыць Ð²Ñ‹ÐºÐ»Ñ–к '%1'",
+       "PROCEDURES_IFRETURN_TOOLTIP": "Калі Ð¿ÐµÑ€ÑˆÐ°Ðµ Ð·Ð½Ð°Ñ‡Ñнне Ñ–Ñцінае, Ð²Ñртае Ð´Ñ€ÑƒÐ³Ð¾Ðµ Ð·Ð½Ð°Ñ‡Ñнне.",
+       "PROCEDURES_IFRETURN_WARNING": "ПапÑÑ€Ñджанне: Ð³ÑÑ‚Ñ‹ Ð±Ð»Ð¾Ðº Ð¼Ð¾Ð¶Ð° Ð²Ñ‹ÐºÐ°Ñ€Ñ‹Ñтоўвацца Ñ‚олькі ÑžÐ½ÑƒÑ‚ры Ð²Ñ‹Ð·Ð½Ð°Ñ‡ÑннѠфункцыі."
+}
diff --git a/js/msg/json/bg.json b/js/msg/json/bg.json
new file mode 100644 (file)
index 0000000..6fdd25d
--- /dev/null
@@ -0,0 +1,350 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Gkostov",
+                       "Vodnokon4e",
+                       "Alpinistbg",
+                       "Miroslav35232",
+                       "StanProg",
+                       "ShockD",
+                       "InsomniHat"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "елемент",
+       "TODAY": "ДнеÑ",
+       "DUPLICATE_BLOCK": "Копирай",
+       "ADD_COMMENT": "Добави ÐºÐ¾Ð¼ÐµÐ½Ñ‚ар",
+       "REMOVE_COMMENT": "Премахни ÐºÐ¾Ð¼ÐµÐ½Ñ‚ар",
+       "DUPLICATE_COMMENT": "Ðаправете Ð´ÑƒÐ±Ð»Ð¸ÐºÐ°Ñ‚ Ð½Ð° ÐºÐ¾Ð¼ÐµÐ½Ñ‚ара",
+       "EXTERNAL_INPUTS": "Външни Ð²Ñ…одове",
+       "INLINE_INPUTS": "Вътрешни Ð²Ñ…одове",
+       "DELETE_BLOCK": "Изтрий Ð±Ð»Ð¾Ðº",
+       "DELETE_X_BLOCKS": "Изтрий %1 Ð±Ð»Ð¾ÐºÐ°",
+       "DELETE_ALL_BLOCKS": "Изтриване Ð½Ð° Ð²Ñички 1% Ð±Ð»Ð¾ÐºÐ¾Ð²Ðµ?",
+       "CLEAN_UP": "Премахни Ð±Ð»Ð¾ÐºÐ¾Ð²Ðµ",
+       "COLLAPSE_BLOCK": "Скрий Ð±Ð»Ð¾Ðº",
+       "COLLAPSE_ALL": "Скрий Ð±Ð»Ð¾ÐºÐ¾Ð²Ðµ",
+       "EXPAND_BLOCK": "Покажи Ð±Ð»Ð¾Ðº",
+       "EXPAND_ALL": "Покажи Ð±Ð»Ð¾ÐºÐ¾Ð²Ðµ",
+       "DISABLE_BLOCK": "Деактивирай Ð±Ð»Ð¾Ðº",
+       "ENABLE_BLOCK": "Ðктивирай Ð±Ð»Ð¾Ðº",
+       "HELP": "Помощ",
+       "UNDO": "ОтмÑна",
+       "REDO": "Повторение",
+       "CHANGE_VALUE_TITLE": "Промени ÑтойноÑтта:",
+       "RENAME_VARIABLE": "Преименувай Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð»Ð¸Ð²Ð°Ñ‚а...",
+       "RENAME_VARIABLE_TITLE": "Преименувай Ð²Ñички '%1' Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð»Ð¸Ð²Ð¸ Ð½Ð°:",
+       "NEW_VARIABLE": "Създаване Ð½Ð° Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð»Ð¸Ð²Ð°...",
+       "NEW_STRING_VARIABLE": "Създайте Ð½Ð¸Ð·Ð¾Ð²Ð° Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð»Ð¸Ð²Ð°...",
+       "NEW_NUMBER_VARIABLE": "Създайте Ñ‡Ð¸Ñлова Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð»Ð¸Ð²Ð°...",
+       "NEW_COLOUR_VARIABLE": "Създайте Ñ†Ð²ÐµÑ‚ова Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð»Ð¸Ð²Ð°...",
+       "NEW_VARIABLE_TYPE_TITLE": "Тип Ð½Ð° Ð½Ð¾Ð²Ð°Ñ‚а Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð»Ð¸Ð²Ð°:",
+       "NEW_VARIABLE_TITLE": "Ðово Ð¸Ð¼Ðµ Ð½Ð° Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð»Ð¸Ð²Ð°Ñ‚а:",
+       "VARIABLE_ALREADY_EXISTS": "Променлива Ñ Ð¸Ð¼Ðµ '%1' Ð²ÐµÑ‡Ðµ ÑъщеÑтвува.",
+       "VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE": "Променлива Ñ Ð¸Ð¼Ðµ '%1' Ð²ÐµÑ‡Ðµ ÑъщеÑтвува Ð·Ð° Ð´Ñ€ÑƒÐ³ Ñ‚ип: '%2'.",
+       "DELETE_VARIABLE_CONFIRMATION": "Изтриване Ð½Ð° %1 Ð¸Ð·Ð¿Ð¾Ð»Ð·Ð²Ð°Ð½Ðµ Ð½Ð° Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð»Ð¸Ð²Ð° '%2'?",
+       "CANNOT_DELETE_VARIABLE_PROCEDURE": "Променливата '%1' Ð½Ðµ Ð¼Ð¾Ð¶Ðµ Ð´Ð° Ð±ÑŠÐ´Ðµ Ð¸Ð·Ñ‚рита, Ð·Ð°Ñ‰Ð¾Ñ‚о Ðµ Ñ‡Ð°ÑÑ‚ Ð¾Ñ‚ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸ÐµÑ‚о Ð½Ð° Ñ„ункциÑта '%2'",
+       "DELETE_VARIABLE": "Изтриване Ð½Ð° Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð»Ð¸Ð²Ð°Ñ‚а \"%1\"",
+       "COLOUR_PICKER_HELPURL": "https://bg.wikipedia.org/wiki/ЦвÑÑ‚_(оптика)",
+       "COLOUR_PICKER_TOOLTIP": "Избери Ñ†Ð²ÑÑ‚ Ð¾Ñ‚ Ð¿Ð°Ð»Ð¸Ñ‚рата.",
+       "COLOUR_RANDOM_TITLE": "Ñлучаен Ñ†Ð²ÑÑ‚",
+       "COLOUR_RANDOM_TOOLTIP": "Избери Ñ†Ð²ÑÑ‚ Ð½Ð° Ñлучаен Ð¿Ñ€Ð¸Ð½Ñ†Ð¸Ð¿.",
+       "COLOUR_RGB_TITLE": "оцвети Ñ",
+       "COLOUR_RGB_RED": "червен",
+       "COLOUR_RGB_GREEN": "зелен",
+       "COLOUR_RGB_BLUE": "Ñин",
+       "COLOUR_RGB_TOOLTIP": "Създай Ñ†Ð²ÑÑ‚ Ñ Ð¸Ð·Ð±Ñ€Ð°Ð½Ð¸Ñ‚е Ð¿Ñ€Ð¾Ð¿Ð¾Ñ€Ñ†Ð¸Ð¸, Ñ‡ÐµÑ€Ð²ÐµÐ½Ð¾, Ð·ÐµÐ»ÐµÐ½Ð¾ Ð¸ Ñиньо. Ð’Ñички ÑтойноÑти Ñ‚Ñ€Ñбва Ð´Ð° Ð±ÑŠÐ´Ð°Ñ‚ Ð¾Ñ‚ 0 Ð´Ð¾ 100.",
+       "COLOUR_BLEND_TITLE": "ÑмеÑи",
+       "COLOUR_BLEND_COLOUR1": "цвÑÑ‚ 1",
+       "COLOUR_BLEND_COLOUR2": "цвÑÑ‚ 2",
+       "COLOUR_BLEND_RATIO": "Ñъотношение",
+       "COLOUR_BLEND_TOOLTIP": "СмеÑва Ð´Ð²Ð° Ñ†Ð²ÑÑ‚ Ð² Ð´Ð°Ð´ÐµÐ½Ð¾ Ñъотношение (0.0 - 1.0).",
+       "CONTROLS_REPEAT_HELPURL": "https://bg.wikipedia.org/wiki/Цикъл_(програмиране)#For_.D1.86.D0.B8.D0.BA.D1.8A.D0.BB.D1.8A.D1.82",
+       "CONTROLS_REPEAT_TITLE": "Повтори %1 Ð¿ÑŠÑ‚и",
+       "CONTROLS_REPEAT_INPUT_DO": "изпълни",
+       "CONTROLS_REPEAT_TOOLTIP": "ИзпълнÑва ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸ Ð½Ñколко Ð¿ÑŠÑ‚и.",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "повтарÑй Ð´Ð¾ÐºÐ°Ñ‚о Ðµ Ð²Ñрно, Ñ‡Ðµ",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "повтарÑй Ð´Ð¾ÐºÐ°Ñ‚о",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "Изпълни ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸Ñ‚е, Ð°ÐºÐ¾ ÑтойноÑтта Ðµ Ð²Ñрна.",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "Изпълни ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸Ñ‚е, Ð°ÐºÐ¾ ÑтойноÑтта Ð½Ðµ Ðµ Ð²Ñрна.",
+       "CONTROLS_FOR_TOOLTIP": "Ðека Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð»Ð¸Ð²Ð° '%1' Ð¿Ñ€ÐµÐ¼Ð¸Ð½Ðµ Ð¿Ñ€ÐµÐ· ÑтойноÑтите Ð¾Ñ‚ Ð½Ð°Ñ‡Ð°Ð»Ð½Ð¾Ñ‚о Ð´Ð¾ ÐºÑ€Ð°Ð¹Ð½Ð¾Ñ‚о Ñ‡Ð¸Ñло Ð¿Ñ€ÐµÐ· Ð·Ð°Ð´Ð°Ð´ÐµÐ½Ð°Ñ‚а Ñтъпка Ð¸ Ð¸Ð·Ð¿ÑŠÐ»Ð½Ð¸ Ð¸Ð·Ð±Ñ€Ð°Ð½Ð¸Ñ‚е Ð±Ð»Ð¾ÐºÐ¾Ð²Ðµ.",
+       "CONTROLS_FOR_TITLE": "преброй Ñ‡Ñ€ÐµÐ· %1 Ð¾Ñ‚ %2 Ð´Ð¾ %3 Ð¿Ñ€ÐµÐ· %4",
+       "CONTROLS_FOREACH_TITLE": "за Ð²Ñеки ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ %1 Ð² ÑпиÑъка %2",
+       "CONTROLS_FOREACH_TOOLTIP": "За Ð²Ñеки ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ð² ÑпиÑък Ð¿Ñ€Ð¸Ñвои ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚а Ð½Ð° Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð»Ð¸Ð²Ð°Ñ‚а '%1' Ð¸ Ñлед Ñ‚ова Ð¸Ð·Ð¿ÑŠÐ»Ð½Ð¸ ÐºÐ¾Ð¼Ð°Ð½Ð´Ð¸Ñ‚е.",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "прекъÑни Ñ†Ð¸ÐºÑŠÐ»Ð°",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "премини ÐºÑŠÐ¼ Ñледващата Ñтъпка Ð¾Ñ‚ Ñ†Ð¸ÐºÑŠÐ»Ð°",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "ПрекъÑни Ñ†Ð¸ÐºÑŠÐ»Ð°, Ð² ÐºÐ¾Ð¹Ñ‚о Ñе Ñъдържа Ñ‚ази ÐºÐ¾Ð¼Ð°Ð½Ð´Ð°.",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "Премини ÐºÑŠÐ¼ Ñледващата Ñтъпка Ð¾Ñ‚ Ñ†Ð¸ÐºÑŠÐ»Ð°",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "Предупреждение: Ð¢Ð¾Ð·Ð¸ Ð±Ð»Ð¾Ðº Ð¼Ð¾Ð¶Ðµ Ð´Ð° Ñе Ð¸Ð·Ð¿Ð¾Ð»Ð·Ð²Ð° Ñамо Ð² Ñ†Ð¸ÐºÑŠÐ».",
+       "CONTROLS_IF_TOOLTIP_1": "Ðко ÑтойноÑтта Ðµ Ð²Ñрна, Ð¸Ð·Ð¿ÑŠÐ»Ð½Ð¸ Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ð¸Ñ‚е.",
+       "CONTROLS_IF_TOOLTIP_2": "Ðко ÑтойноÑтта Ðµ Ð²Ñрна, Ð¸Ð·Ð¿ÑŠÐ»Ð½Ð¸ Ð¿ÑŠÑ€Ð²Ð¸ÑÑ‚ Ð±Ð»Ð¾Ðº. Ð˜Ð½Ð°Ñ‡Ðµ, Ð¸Ð·Ð¿ÑŠÐ»Ð½Ð¸ Ð²Ñ‚ориÑÑ‚ Ð±Ð»Ð¾Ðº.",
+       "CONTROLS_IF_TOOLTIP_3": "Ðко Ð¿ÑŠÑ€Ð²Ð°Ñ‚а ÑтойноÑÑ‚ Ðµ Ð²Ñрна, Ð¸Ð·Ð¿ÑŠÐ»Ð½Ð¸ Ð¿ÑŠÑ€Ð²Ð¸Ñ Ð±Ð»Ð¾Ðº. Ð˜Ð½Ð°Ñ‡Ðµ, Ð°ÐºÐ¾ Ð²Ñ‚ората ÑтойноÑÑ‚ Ðµ Ð²Ñрна, Ð¸Ð·Ð¿ÑŠÐ»Ð½Ð¸ Ð²Ñ‚ориѠблок.",
+       "CONTROLS_IF_TOOLTIP_4": "Ðко Ð¿ÑŠÑ€Ð²Ð°Ñ‚а ÑтойноÑÑ‚ Ðµ Ð²Ñрна, Ð¸Ð·Ð¿ÑŠÐ»Ð½Ð¸ Ð¿ÑŠÑ€Ð²Ð¸Ñ Ð±Ð»Ð¾Ðº. Ð’ Ð¿Ñ€Ð¾Ñ‚ивен Ñлучай, Ð°ÐºÐ¾ Ð²Ñ‚ората ÑтойноÑÑ‚ Ðµ Ð²Ñрна, Ð¸Ð·Ð¿ÑŠÐ»Ð½Ð¸ Ð²Ñ‚ориѠблок. Ðко Ð½Ð¸Ñ‚о ÐµÐ´Ð½Ð° Ð¾Ñ‚ ÑтойноÑтите Ð½Ðµ Ðµ Ð²Ñрна, Ð¸Ð·Ð¿ÑŠÐ»Ð½Ð¸ Ð¿Ð¾ÑледниѠблок.",
+       "CONTROLS_IF_MSG_IF": "ако",
+       "CONTROLS_IF_MSG_ELSEIF": "иначе Ð°ÐºÐ¾",
+       "CONTROLS_IF_MSG_ELSE": "иначе",
+       "CONTROLS_IF_IF_TOOLTIP": "Добави, Ð¿Ñ€ÐµÐ¼Ð°Ñ…ни Ð¸Ð»Ð¸ Ð¿Ñ€ÐµÐ½Ð°Ñ€ÐµÐ´Ð¸ Ñ‡Ð°Ñтите, Ð·Ð° Ð´Ð° Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð¸Ñˆ Ñ‚ози â€žÐ°ÐºÐ¾â€œ Ð±Ð»Ð¾Ðº.",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "Добави ÑƒÑловие ÐºÑŠÐ¼ â€žÐ°ÐºÐ¾â€œ Ð±Ð»Ð¾ÐºÐ°.",
+       "CONTROLS_IF_ELSE_TOOLTIP": "Добави Ð¾ÐºÐ¾Ð½Ñ‡Ð°Ñ‚елно, Ð¿Ñ€Ð¸Ñ…ващащо Ð²Ñички Ð¾Ñтанали Ñлучаи ÑƒÑловие ÐºÑŠÐ¼ Ð±Ð»Ð¾Ðº â€žÐ°ÐºÐ¾â€œ.",
+       "IOS_OK": "Добре",
+       "IOS_CANCEL": "Отказ",
+       "IOS_ERROR": "Грешка",
+       "IOS_PROCEDURES_INPUTS": "Входни Ð´Ð°Ð½Ð½Ð¸",
+       "IOS_PROCEDURES_ADD_INPUT": "+ Ð”обавÑне Ð½Ð° Ð´Ð°Ð½Ð½Ð¸",
+       "IOS_PROCEDURES_ALLOW_STATEMENTS": "Позволи Ñ‚върдениÑта",
+       "IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR": "Тази Ñ„ункциѠима Ð´ÑƒÐ±Ð»Ð¸Ñ€Ð°Ð½Ð¸ Ð²Ñ…одни Ð´Ð°Ð½Ð½Ð¸.",
+       "IOS_VARIABLES_ADD_VARIABLE": "+ Ð”обавÑне Ð½Ð° Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð»Ð¸Ð²Ð°",
+       "IOS_VARIABLES_ADD_BUTTON": "ДобавÑне",
+       "IOS_VARIABLES_RENAME_BUTTON": "Преименуване",
+       "IOS_VARIABLES_DELETE_BUTTON": "Изтриване",
+       "IOS_VARIABLES_VARIABLE_NAME": "Име Ð½Ð° Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð»Ð¸Ð²Ð°Ñ‚а",
+       "IOS_VARIABLES_EMPTY_NAME_ERROR": "Ðе Ð¼Ð¾Ð¶Ðµ Ð´Ð° Ð¸Ð·Ð¿Ð¾Ð»Ð·Ð²Ð°Ñ‚е Ð¿Ñ€Ð°Ð·Ð½Ð¾ Ð¸Ð¼Ðµ Ð·Ð° Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð»Ð¸Ð²Ð°",
+       "LOGIC_COMPARE_HELPURL": "https://en.wikipedia.org/wiki/Inequality_(mathematics)",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "Върни Ð²Ñрно, Ð°ÐºÐ¾ Ð´Ð²Ð°Ñ‚а Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚ъра Ñа ÐµÐ´Ð½Ð°ÐºÐ²Ð¸.",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "Върни Ð²Ñрно, Ð°ÐºÐ¾ Ð´Ð²Ð°Ñ‚а Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚ъра Ñа Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð½Ð¸.",
+       "LOGIC_COMPARE_TOOLTIP_LT": "Върни Ð²Ñрно, Ð°ÐºÐ¾ Ð¿ÑŠÑ€Ð²Ð¸ÑÑ‚ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚ÑŠÑ€ Ðµ Ð¿Ð¾-малък Ð¾Ñ‚ Ð²Ñ‚ориÑ.",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "Върни Ð¸Ñтина, Ð°ÐºÐ¾ Ð¿ÑŠÑ€Ð²Ð¸Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚ÑŠÑ€ Ðµ Ð¿Ð¾-малък Ð¸Ð»Ð¸ Ñ€Ð°Ð²ÐµÐ½ Ð½Ð° Ð²Ñ‚ориÑ.",
+       "LOGIC_COMPARE_TOOLTIP_GT": "Върни Ð¸Ñтина, Ð°ÐºÐ¾ Ð¿ÑŠÑ€Ð²Ð¸Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚ÑŠÑ€ Ðµ Ð¿Ð¾-голÑм Ð¾Ñ‚ Ð²Ñ‚ориÑ.",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "Върни Ð¸Ñтина, Ð°ÐºÐ¾ Ð¿ÑŠÑ€Ð²Ð¸Ñ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚ÑŠÑ€ Ðµ Ð¿Ð¾-голÑм Ð¸Ð»Ð¸ Ñ€Ð°Ð²ÐµÐ½ Ð½Ð° Ð²Ñ‚ориÑ.",
+       "LOGIC_OPERATION_TOOLTIP_AND": "Върни Ð²Ñрно, Ð°ÐºÐ¾ Ð¸ Ð´Ð²Ð°Ñ‚а Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚ъра Ñа Ð²ÐµÑ€Ð½Ð¸.",
+       "LOGIC_OPERATION_AND": "и",
+       "LOGIC_OPERATION_TOOLTIP_OR": "Върни â€žÐ²Ñрно“, Ð°ÐºÐ¾ Ð¿Ð¾Ð½Ðµ ÐµÐ´Ð¸Ð½ Ð¾Ñ‚ Ð²Ñ…одовете Ðµ Ð²ÐµÑ€ÐµÐ½.",
+       "LOGIC_OPERATION_OR": "или",
+       "LOGIC_NEGATE_TITLE": "не %1",
+       "LOGIC_NEGATE_TOOLTIP": "Върни Ð²Ñрно, Ð°ÐºÐ¾ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚ърът Ðµ Ð½ÐµÐ²ÐµÑ€ÐµÐ½. Ð’ърни Ð½ÐµÐ²Ñрно, Ð°ÐºÐ¾ Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚ърът Ðµ Ð²ÐµÑ€ÐµÐ½.",
+       "LOGIC_BOOLEAN_TRUE": "вÑрно",
+       "LOGIC_BOOLEAN_FALSE": "невÑрно",
+       "LOGIC_BOOLEAN_TOOLTIP": "Връща Ð²Ñрно Ð¸Ð»Ð¸ Ð½ÐµÐ²Ñрно.",
+       "LOGIC_NULL": "нула",
+       "LOGIC_NULL_TOOLTIP": "Връща Ð½ÑƒÐ»Ð°.",
+       "LOGIC_TERNARY_CONDITION": "теÑÑ‚",
+       "LOGIC_TERNARY_IF_TRUE": "Ðко Ðµ Ð²Ñрно",
+       "LOGIC_TERNARY_IF_FALSE": "Ðко Ðµ Ð½ÐµÐ²Ñрно",
+       "LOGIC_TERNARY_TOOLTIP": "Провери ÑƒÑловието Ð² â€žÑ‚еÑт“. Ðко ÑƒÑловието Ðµ Ð¸Ñтина, Ð²ÑŠÑ€Ð½Ð¸ ÑтойноÑтта â€žÐ°ÐºÐ¾ Ðµ Ð²Ñрно“, Ð¸Ð½Ð°Ñ‡Ðµ Ð²ÑŠÑ€Ð½Ð¸ ÑтойноÑтта â€žÐ°ÐºÐ¾ Ðµ Ð½ÐµÐ²Ñрно“.",
+       "MATH_NUMBER_HELPURL": "https://bg.wikipedia.org/wiki/ЧиÑло",
+       "MATH_NUMBER_TOOLTIP": "ЧиÑло.",
+       "MATH_ARITHMETIC_HELPURL": "https://bg.wikipedia.org/wiki/Ðритметика",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "Върни Ñумата Ð½Ð° Ð´Ð²ÐµÑ‚е Ñ‡Ð¸Ñла.",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "Върни Ñ€Ð°Ð·Ð»Ð¸ÐºÐ°Ñ‚а Ð½Ð° Ð´Ð²ÐµÑ‚е Ñ‡Ð¸Ñла.",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "Върни Ð¿Ñ€Ð¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¸ÐµÑ‚о Ð½Ð° Ð´Ð²ÐµÑ‚е Ñ‡Ð¸Ñла.",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "Върни Ñ‡Ð°Ñтното Ð½Ð° Ð´Ð²ÐµÑ‚е Ñ‡Ð¸Ñла.",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "Върни Ð¿ÑŠÑ€Ð²Ð¾Ñ‚о Ñ‡Ð¸Ñло, Ð¿Ð¾Ð²Ð´Ð¸Ð³Ð½Ð°Ñ‚о Ð½Ð° Ñтепен Ð½Ð° Ð²Ñ‚орото Ñ‡Ð¸Ñло.",
+       "MATH_SINGLE_HELPURL": "https://en.wikipedia.org/wiki/Square_root",
+       "MATH_SINGLE_OP_ROOT": "корен ÐºÐ²Ð°Ð´Ñ€Ð°Ñ‚ен",
+       "MATH_SINGLE_TOOLTIP_ROOT": "Връща ÐºÐ¾Ñ€ÐµÐ½ ÐºÐ²Ð°Ð´Ñ€Ð°Ñ‚ен Ð¾Ñ‚ Ñ‡Ð¸Ñло.",
+       "MATH_SINGLE_OP_ABSOLUTE": "абÑолютна",
+       "MATH_SINGLE_TOOLTIP_ABS": "Връща Ð°Ð±Ñолютната ÑтойноÑÑ‚ Ð½Ð° Ñ‡Ð¸Ñло.",
+       "MATH_SINGLE_TOOLTIP_NEG": "Върни Ñ‡Ð¸Ñлото Ñ Ð¾Ð±ÑŠÑ€Ð½Ð°Ñ‚ Ð·Ð½Ð°Ðº.",
+       "MATH_SINGLE_TOOLTIP_LN": "Върни Ð½Ð°Ñ‚уралниѠлогаритъм Ð¾Ñ‚ Ñ‡Ð¸Ñло.",
+       "MATH_SINGLE_TOOLTIP_LOG10": "Върни Ð´ÐµÑетичниѠлогаритъм Ð½Ð° Ñ‡Ð¸Ñло.",
+       "MATH_SINGLE_TOOLTIP_EXP": "Върни Ðµ (неперовото Ñ‡Ð¸Ñло) Ð½Ð° Ñтепен Ð·Ð°Ð´Ð°Ð´ÐµÐ½Ð¾Ñ‚о Ñ‡Ð¸Ñло.",
+       "MATH_SINGLE_TOOLTIP_POW10": "Върни 10 Ð½Ð° Ñтепен Ð·Ð°Ð´Ð°Ð´ÐµÐ½Ð¾Ñ‚о Ñ‡Ð¸Ñло.",
+       "MATH_TRIG_HELPURL": "https://bg.wikipedia.org/wiki/Тригонометрична_функциÑ",
+       "MATH_TRIG_TOOLTIP_SIN": "Върни ÑинуѠот ÑŠÐ³ÑŠÐ» Ð² Ð³Ñ€Ð°Ð´ÑƒÑи (не Ð² Ñ€Ð°Ð´Ð¸Ð°Ð½Ð¸)",
+       "MATH_TRIG_TOOLTIP_COS": "Върни ÐºÐ¾ÑинуѠот ÑŠÐ³ÑŠÐ» Ð² Ð³Ñ€Ð°Ð´ÑƒÑи (не Ð² Ñ€Ð°Ð´Ð¸Ð°Ð½Ð¸)",
+       "MATH_TRIG_TOOLTIP_TAN": "Върни Ñ‚ангенѠот ÑŠÐ³ÑŠÐ» Ð² Ð³Ñ€Ð°Ð´ÑƒÑи (не Ð² Ñ€Ð°Ð´Ð¸Ð°Ð½Ð¸)",
+       "MATH_TRIG_TOOLTIP_ASIN": "Върни Ð°Ñ€ÐºÑƒÑÑинуѠот Ñ‡Ð¸Ñло.",
+       "MATH_TRIG_TOOLTIP_ACOS": "Върни Ð°Ñ€ÐºÑƒÑкоÑинуѠот Ñ‡Ð¸Ñло.",
+       "MATH_TRIG_TOOLTIP_ATAN": "Върни Ð°Ñ€ÐºÑƒÑтангенѠот Ñ‡Ð¸Ñло.",
+       "MATH_CONSTANT_HELPURL": "http://bg.wikipedia.org/wiki/КонÑтанта",
+       "MATH_CONSTANT_TOOLTIP": "Връща ÐµÐ´Ð½Ð° Ð¾Ñ‚ Ñ‡ÐµÑто Ñрещаните ÐºÐ¾Ð½Ñтанти: Ï€ (3.141...), e (2.718...), Ï† (1.618...), sqrt(2) (1.414...), sqrt(½) (0.707...) Ð¸Ð»Ð¸ âˆž (безкрайноÑÑ‚).",
+       "MATH_IS_EVEN": "е Ñ‡ÐµÑ‚но",
+       "MATH_IS_ODD": "е Ð½ÐµÑ‡ÐµÑ‚но",
+       "MATH_IS_PRIME": "е Ð¿Ñ€Ð¾Ñто",
+       "MATH_IS_WHOLE": "е Ñ†Ñло",
+       "MATH_IS_POSITIVE": "е Ð¿Ð¾Ð»Ð¾Ð¶Ð¸Ñ‚елно",
+       "MATH_IS_NEGATIVE": "е Ð¾Ñ‚рицателно",
+       "MATH_IS_DIVISIBLE_BY": "Ñе Ð´ÐµÐ»Ð¸ Ð½Ð°",
+       "MATH_IS_TOOLTIP": "Проверете Ð´Ð°Ð»Ð¸ Ð´Ð°Ð´ÐµÐ½Ð¾ Ñ‡Ð¸Ñло Ðµ Ñ‡ÐµÑ‚но, Ð½ÐµÑ‡ÐµÑ‚но, Ð¿Ñ€Ð¾Ñто, Ñ†Ñло, Ð¿Ð¾Ð»Ð¾Ð¶Ð¸Ñ‚елно, Ð¾Ñ‚рицателно Ð¸Ð»Ð¸ Ð´Ð°Ð»Ð¸ Ñе Ð´ÐµÐ»Ð¸ Ð½Ð° Ð´Ñ€ÑƒÐ³Ð¾ Ñ‡Ð¸Ñло. Ð’ръща Ð²Ñрно Ð¸Ð»Ð¸ Ð½ÐµÐ²Ñрно.",
+       "MATH_CHANGE_HELPURL": "https://bg.wikipedia.org/wiki/Събиране",
+       "MATH_CHANGE_TITLE": "промени %1 Ð½Ð° %2",
+       "MATH_CHANGE_TOOLTIP": "Добави Ñ‡Ð¸Ñло ÐºÑŠÐ¼ Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð»Ð¸Ð²Ð° '%1'.",
+       "MATH_ROUND_HELPURL": "https://en.wikipedia.org/wiki/Rounding",
+       "MATH_ROUND_TOOLTIP": "Закръгли Ñ‡Ð¸Ñло Ð½Ð°Ð³Ð¾Ñ€Ðµ Ð¸Ð»Ð¸ Ð½Ð°Ð´Ð¾Ð»Ñƒ.",
+       "MATH_ROUND_OPERATOR_ROUND": "закръгли",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "закръгли Ð½Ð°Ð³Ð¾Ñ€Ðµ",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "закръгли Ð½Ð°Ð´Ð¾Ð»Ñƒ",
+       "MATH_ONLIST_OPERATOR_SUM": "Ñума Ð½Ð° ÑпиÑъка",
+       "MATH_ONLIST_TOOLTIP_SUM": "Върни Ñумата Ð½Ð° Ð²Ñички Ñ‡Ð¸Ñла Ð² ÑпиÑъка.",
+       "MATH_ONLIST_OPERATOR_MIN": "най-малката ÑтойноÑÑ‚ Ð² ÑпиÑъка",
+       "MATH_ONLIST_TOOLTIP_MIN": "Върни Ð½Ð°Ð¹-малкото Ñ‡Ð¸Ñло Ð² ÑпиÑъка.",
+       "MATH_ONLIST_OPERATOR_MAX": "най-голÑмата ÑтойноÑÑ‚ Ð² ÑпиÑъка",
+       "MATH_ONLIST_TOOLTIP_MAX": "Върни Ð½Ð°Ð¹-голÑмото Ñ‡Ð¸Ñло Ð² ÑпиÑъка.",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "Ñредната ÑтойноÑÑ‚ Ð½Ð° Ñ‡Ð¸Ñлата Ð² ÑпиÑъка",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "Върни Ñредната ÑтойноÑÑ‚ (аритметичното Ñредно) Ð½Ð° Ñ‡Ð¸Ñлата Ð² ÑпиÑъка.",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "медианата Ð½Ð° ÑпиÑък",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "Върни Ð¼ÐµÐ´Ð¸Ð°Ð½Ð°Ñ‚а Ð² ÑпиÑъка.",
+       "MATH_ONLIST_OPERATOR_MODE": "режими Ð½Ð° ÑпиÑъка",
+       "MATH_ONLIST_TOOLTIP_MODE": "Върни ÑпиÑък Ð½Ð° Ð½Ð°Ð¹-чеÑто Ñрещаните ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚и Ð² ÑпиÑъка.",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "Ñтандартно Ð¾Ñ‚клонение Ð½Ð° ÑпиÑък",
+       "MATH_ONLIST_TOOLTIP_STD_DEV": "Връща Ñтандартното Ð¾Ñ‚клонение Ð½Ð° ÑпиÑъка.",
+       "MATH_ONLIST_OPERATOR_RANDOM": "Ñлучаен ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ð¾Ñ‚ ÑпиÑъка",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "Върни Ñлучаен ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ð¾Ñ‚ ÑпиÑъка.",
+       "MATH_MODULO_HELPURL": "http://bg.wikipedia.org/wiki/ОÑтатък",
+       "MATH_MODULO_TITLE": "оÑтатъка Ð¾Ñ‚ Ð´ÐµÐ»ÐµÐ½Ð¸ÐµÑ‚о Ð½Ð° %1 Ð½Ð° %2",
+       "MATH_MODULO_TOOLTIP": "Върни Ð¾Ñтатъка Ð¾Ñ‚ Ð´ÐµÐ»ÐµÐ½Ð¸Ðµ Ð½Ð° Ð´Ð²Ðµ Ñ‡Ð¸Ñла.",
+       "MATH_CONSTRAIN_TITLE": "ограничи %1 Ð¼ÐµÐ¶Ð´Ñƒ %2 Ð¸ %3",
+       "MATH_CONSTRAIN_TOOLTIP": "Ограничи Ñ‡Ð¸Ñло Ð´Ð° Ð±ÑŠÐ´Ðµ Ð² Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ‚е Ð³Ñ€Ð°Ð½Ð¸Ñ†Ð¸ (включително).",
+       "MATH_RANDOM_INT_HELPURL": "https://bg.wikipedia.org/wiki/Генератор_на_Ñлучайни_чиÑла",
+       "MATH_RANDOM_INT_TITLE": "Ñлучайно Ñ†Ñло Ñ‡Ð¸Ñло Ð¼ÐµÐ¶Ð´Ñƒ %1 Ð¸ %2",
+       "MATH_RANDOM_INT_TOOLTIP": "Върни Ñлучайно Ñ‡Ð¸Ñло Ð² Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ‚е Ð³Ñ€Ð°Ð½Ð¸Ñ†Ð¸ (включително).",
+       "MATH_RANDOM_FLOAT_HELPURL": "https://bg.wikipedia.org/wiki/Генератор_на_Ñлучайни_чиÑла",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "Ñлучайно Ð´Ñ€Ð¾Ð±Ð½Ð¾ Ñ‡Ð¸Ñло",
+       "MATH_RANDOM_FLOAT_TOOLTIP": "Върни Ñлучайно Ð´Ñ€Ð¾Ð±Ð½Ð¾ Ñ‡Ð¸Ñло Ð¼ÐµÐ¶Ð´Ñƒ 0.0 (включително) Ð¸ 1.0 (без Ð´Ð° Ð³Ð¾ Ð²ÐºÐ»ÑŽÑ‡Ð²Ð°)",
+       "TEXT_TEXT_HELPURL": "https://bg.wikipedia.org/wiki/Ðиз",
+       "TEXT_TEXT_TOOLTIP": "Буква, Ð´ÑƒÐ¼Ð° Ð¸Ð»Ð¸ Ñ€ÐµÐ´",
+       "TEXT_JOIN_TITLE_CREATEWITH": "Ñъздай Ñ‚екÑÑ‚ Ñ",
+       "TEXT_JOIN_TOOLTIP": "Създай Ñ‚екÑÑ‚ ÐºÐ°Ñ‚о Ñъчетаеш Ð½Ñколко ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚а.",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "Ñвържи",
+       "TEXT_CREATE_JOIN_TOOLTIP": "Добави, Ð¿Ñ€ÐµÐ¼Ð°Ñ…ни Ð¸Ð»Ð¸ Ð¿Ñ€ÐµÐ½Ð°Ñ€ÐµÐ´Ð¸ Ñ‡Ð°Ñтите, Ð·Ð° Ð´Ð° Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð¸Ñˆ Ñ‚ози Ñ‚екÑтов Ð±Ð»Ð¾Ðº.",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "Добави ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ ÐºÑŠÐ¼ Ñ‚екÑта.",
+       "TEXT_APPEND_TITLE": "добавете Ñ‚екÑÑ‚ %2 ÐºÑŠÐ¼ %1",
+       "TEXT_APPEND_TOOLTIP": "Добави Ñ‚екÑÑ‚ ÐºÑŠÐ¼ Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð»Ð¸Ð²Ð°Ñ‚а â€ž%1“.",
+       "TEXT_LENGTH_TITLE": "дължината Ð½Ð° %1",
+       "TEXT_LENGTH_TOOLTIP": "Връща Ð±Ñ€Ð¾Ñ Ð½Ð° Ñимволите (включително Ð¸ Ð¸Ð½Ñ‚ервалите) Ð² Ñ‚екÑта.",
+       "TEXT_ISEMPTY_TITLE": "%1 Ðµ Ð¿Ñ€Ð°Ð·ÐµÐ½",
+       "TEXT_ISEMPTY_TOOLTIP": "Връща Ð²Ñрно, Ð°ÐºÐ¾ Ñ‚екÑта Ðµ Ð¿Ñ€Ð°Ð·ÐµÐ½.",
+       "TEXT_INDEXOF_TOOLTIP": "Връща Ð¸Ð½Ð´ÐµÐºÑа Ð½Ð° Ð¿ÑŠÑ€Ð²Ð¾Ñ‚о/поÑледното Ñрещане Ð½Ð° Ð¿ÑŠÑ€Ð²Ð¸Ñ Ñ‚екÑÑ‚ Ð²ÑŠÐ² Ð²Ñ‚ориѠтекÑÑ‚. Ð’ръща %1, Ð°ÐºÐ¾ Ñ‚екÑÑ‚ÑŠÑ‚ Ð½Ðµ Ðµ Ð½Ð°Ð¼ÐµÑ€ÐµÐ½.",
+       "TEXT_INDEXOF_TITLE": "в Ñ‚екÑÑ‚ %1 %2 %3",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "намери Ð¿ÑŠÑ€Ð²Ð°Ñ‚а Ð¿Ð¾Ñва Ð½Ð° Ñ‚екÑта",
+       "TEXT_INDEXOF_OPERATOR_LAST": "намери Ð¿Ð¾Ñледната Ð¿Ð¾Ñва Ð½Ð° Ñ‚екÑта",
+       "TEXT_CHARAT_TITLE": "в Ñ‚екÑÑ‚ %1 %2",
+       "TEXT_CHARAT_FROM_START": "вземи Ð±ÑƒÐºÐ²Ð° â„–",
+       "TEXT_CHARAT_FROM_END": "вземи Ð±ÑƒÐºÐ²Ð° â„– Ð¾Ñ‚ ÐºÑ€Ð°Ñ",
+       "TEXT_CHARAT_FIRST": "вземи Ð¿ÑŠÑ€Ð²Ð°Ñ‚а Ð±ÑƒÐºÐ²Ð°",
+       "TEXT_CHARAT_LAST": "вземи Ð¿Ð¾Ñледната Ð±ÑƒÐºÐ²Ð°",
+       "TEXT_CHARAT_RANDOM": "вземи Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð»Ð½Ð° Ð±ÑƒÐºÐ²Ð°",
+       "TEXT_CHARAT_TOOLTIP": "Връща Ð±ÑƒÐºÐ²Ð°Ñ‚а Ð² Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð° Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ñ.",
+       "TEXT_GET_SUBSTRING_TOOLTIP": "Връща Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð° Ñ‡Ð°ÑÑ‚ Ð¾Ñ‚ Ñ‚екÑта.",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "в Ñ‚екÑта",
+       "TEXT_GET_SUBSTRING_START_FROM_START": "вземи Ñ‚екÑта Ð¾Ñ‚ Ð±ÑƒÐºÐ²Ð° â„–",
+       "TEXT_GET_SUBSTRING_START_FROM_END": "вземи Ñ‚екÑта Ð¾Ñ‚ Ð±ÑƒÐºÐ²Ð° â„– (броено Ð¾Ñ‚зад-напред)",
+       "TEXT_GET_SUBSTRING_START_FIRST": "вземи Ñ‚екÑта Ð¾Ñ‚ Ð¿ÑŠÑ€Ð²Ð°Ñ‚а Ð±ÑƒÐºÐ²Ð°",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "до Ð±ÑƒÐºÐ²Ð° â„–",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "до Ð±ÑƒÐºÐ²Ð° â„– Ð¾Ñ‚ ÐºÑ€Ð°Ñ",
+       "TEXT_GET_SUBSTRING_END_LAST": "до Ð¿Ð¾Ñледната Ð±ÑƒÐºÐ²Ð°.",
+       "TEXT_CHANGECASE_TOOLTIP": "Връща ÐºÐ¾Ð¿Ð¸Ðµ Ð½Ð° Ñ‚екÑта ÑÑŠÑ Ñменени Ð¼Ð°Ð»ÐºÐ¸ Ð¸ Ð³Ð»Ð°Ð²Ð½Ð¸ Ð±ÑƒÐºÐ²Ð¸.",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "ѠГЛÐÐ’ÐИ Ð‘УКВИ",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "Ѡмалки Ð±ÑƒÐºÐ²Ð¸",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": "ѠГлавна Ð‘уква Ðа Ð’ÑÑка Ð”ума",
+       "TEXT_TRIM_TOOLTIP": "Връща ÐºÐ¾Ð¿Ð¸Ðµ Ð½Ð° Ñ‚екÑта Ñ Ð¿Ñ€ÐµÐ¼Ð°Ñ…нати Ð¸Ð½Ñ‚ервали Ð¾Ñ‚ ÐµÐ´Ð¸Ð½Ð¸Ñ Ð¸Ð»Ð¸ Ð´Ð²Ð°Ñ‚а ÐºÑ€Ð°Ñ.",
+       "TEXT_TRIM_OPERATOR_BOTH": "премахни Ð¸Ð½Ñ‚ервалите Ð¾Ñ‚ Ð´Ð²ÐµÑ‚е Ñтрани",
+       "TEXT_TRIM_OPERATOR_LEFT": "премахни Ð¸Ð½Ñ‚ервалите Ð¾Ñ‚лÑво",
+       "TEXT_TRIM_OPERATOR_RIGHT": "премахни Ð¸Ð½Ñ‚ервалите Ð¾Ñ‚дÑÑно",
+       "TEXT_PRINT_TITLE": "отпечатай %1",
+       "TEXT_PRINT_TOOLTIP": "Отпечатай Ñ‚екÑта, Ñ‡Ð¸Ñлото Ð¸Ð»Ð¸ Ð´Ñ€ÑƒÐ³Ð° ÑтойноÑÑ‚.",
+       "TEXT_PROMPT_TYPE_TEXT": "питай Ð·Ð° Ñ‚екÑÑ‚ ÑÑŠÑ Ñъобщение",
+       "TEXT_PROMPT_TYPE_NUMBER": "питай Ð·Ð° Ñ‡Ð¸Ñло ÑÑŠÑ Ñъобщение",
+       "TEXT_PROMPT_TOOLTIP_NUMBER": "Питай Ð¿Ð¾Ñ‚ребителѠза Ñ‡Ð¸Ñло.",
+       "TEXT_PROMPT_TOOLTIP_TEXT": "Питай Ð¿Ð¾Ñ‚ребителѠза Ñ‚екÑÑ‚.",
+       "TEXT_COUNT_MESSAGE0": "преÑмÑта Ð±Ñ€Ð¾Ñ Ð½Ð° %1 Ð² %2",
+       "TEXT_COUNT_HELPURL": "https://github.com/google/blockly/wiki/Text#counting-substrings",
+       "TEXT_COUNT_TOOLTIP": "Преброй ÐºÐ¾Ð»ÐºÐ¾ Ð¿ÑŠÑ‚и Ð´Ð°Ð´ÐµÐ½ Ñ‚екÑÑ‚ Ñе Ñреща Ð² Ð´Ñ€ÑƒÐ³ Ñ‚екÑÑ‚.",
+       "TEXT_REPLACE_MESSAGE0": "замÑна Ð½Ð° %1 Ñ %2 Ð² %3",
+       "TEXT_REPLACE_HELPURL": "https://github.com/google/blockly/wiki/Text#replacing-substrings",
+       "TEXT_REPLACE_TOOLTIP": "Замени Ð²Ñички Ð¿Ð¾Ñви Ð½Ð° Ð´Ð°Ð´ÐµÐ½ Ñ‚екÑÑ‚ Ð² Ð´Ñ€ÑƒÐ³ Ñ‚екÑÑ‚.",
+       "TEXT_REVERSE_MESSAGE0": "промени Ñ€ÐµÐ´Ð° Ð½Ð° Ð¾Ð±Ñ€Ð°Ñ‚но %1",
+       "TEXT_REVERSE_HELPURL": "https://github.com/google/blockly/wiki/Text#reversing-text",
+       "TEXT_REVERSE_TOOLTIP": "Промени Ñ€ÐµÐ´Ð° Ð½Ð° Ð·Ð½Ð°Ñ†Ð¸Ñ‚е Ð² Ñ‚екÑта Ð½Ð° Ð¾Ð±Ñ€Ð°Ñ‚но.",
+       "LISTS_CREATE_EMPTY_TITLE": "Ñъздай Ð¿Ñ€Ð°Ð·ÐµÐ½ ÑпиÑък",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "Връща ÑпиÑък Ñ Ð´ÑŠÐ»Ð¶Ð¸Ð½Ð° 0, Ð½Ðµ Ñъдържащ Ð´Ð°Ð½Ð½Ð¸",
+       "LISTS_CREATE_WITH_TOOLTIP": "Създай ÑпиÑък Ñ Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð»ÐµÐ½ Ð±Ñ€Ð¾Ð¹ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚и.",
+       "LISTS_CREATE_WITH_INPUT_WITH": "Ñъздай ÑпиÑък Ñ",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "ÑпиÑък",
+       "LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "Добави, Ð¿Ñ€ÐµÐ¼Ð°Ñ…ни Ð¸Ð»Ð¸ Ð¿Ñ€ÐµÐ½Ð°Ñ€ÐµÐ´Ð¸ Ñ‡Ð°Ñтите, Ð·Ð° Ð´Ð° Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð¸Ñˆ Ñ‚ози ÑпиÑъчен Ð±Ð»Ð¾Ðº.",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "Добави ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ ÐºÑŠÐ¼ Ñ‚екÑта.",
+       "LISTS_REPEAT_TOOLTIP": "Създава ÑпиÑък, ÑÑŠÑтоÑщ Ñе Ð¾Ñ‚ Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½ Ð±Ñ€Ð¾Ð¹ ÐºÐ¾Ð¿Ð¸Ñ Ð½Ð° ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚а.",
+       "LISTS_REPEAT_TITLE": "Ñъздай ÑпиÑък Ð¾Ñ‚ %1 Ð¿Ð¾Ð²Ñ‚орен %2 Ð¿ÑŠÑ‚и",
+       "LISTS_LENGTH_TITLE": "дължината Ð½Ð° %1",
+       "LISTS_LENGTH_TOOLTIP": "Връща Ð´ÑŠÐ»Ð¶Ð¸Ð½Ð°Ñ‚а Ð½Ð° ÑпиÑък.",
+       "LISTS_ISEMPTY_TITLE": "%1 Ðµ Ð¿Ñ€Ð°Ð·ÐµÐ½",
+       "LISTS_ISEMPTY_TOOLTIP": "Връща ÑтойноÑÑ‚ Ð²Ñрно, Ð°ÐºÐ¾ ÑпиÑъкът Ðµ Ð¿Ñ€Ð°Ð·ÐµÐ½.",
+       "LISTS_INLIST": "в ÑпиÑъка",
+       "LISTS_INDEX_OF_FIRST": "намери Ð¿ÑŠÑ€Ð²Ð°Ñ‚а Ð¿Ð¾Ñва Ð½Ð° ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚а",
+       "LISTS_INDEX_OF_LAST": "намери Ð¿Ð¾Ñледната Ð¿Ð¾Ñва Ð½Ð° ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚а",
+       "LISTS_INDEX_OF_TOOLTIP": "Връща Ð¸Ð½Ð´ÐµÐºÑа Ð½Ð° Ð¿ÑŠÑ€Ð²Ð¾Ñ‚о/поÑледното Ð¿Ð¾ÑвÑване Ð½Ð° ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚а Ð² ÑпиÑъка. Ð’ръща %1, Ð°ÐºÐ¾ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ÑŠÑ‚ Ð½Ðµ Ðµ Ð½Ð°Ð¼ÐµÑ€ÐµÐ½.",
+       "LISTS_GET_INDEX_GET": "вземи",
+       "LISTS_GET_INDEX_GET_REMOVE": "вземи Ð¸ Ð¿Ñ€ÐµÐ¼Ð°Ñ…ни",
+       "LISTS_GET_INDEX_REMOVE": "премахни",
+       "LISTS_GET_INDEX_FROM_END": "â„– Ð¾Ñ‚ ÐºÑ€Ð°Ñ",
+       "LISTS_GET_INDEX_FIRST": "първиÑ",
+       "LISTS_GET_INDEX_LAST": "поÑледниÑ",
+       "LISTS_GET_INDEX_RANDOM": "произволен",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "%1 Ðµ Ð¿ÑŠÑ€Ð²Ð¸ÑÑ‚ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚.",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "%1 Ðµ Ð¿Ð¾ÑледниÑÑ‚ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "Връща ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚а Ð½Ð° Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð°Ñ‚а Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ñ Ð² ÑпиÑък.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "Връща Ð¿ÑŠÑ€Ð²Ð¸Ñ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ð² ÑпиÑък.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "Връща Ð¿Ð¾ÑледниѠелемент Ð² ÑпиÑък.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "Връща Ñлучаен ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ð¾Ñ‚ ÑпиÑъка.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "Премахва Ð¸ Ð²Ñ€ÑŠÑ‰Ð° ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚а Ð½Ð° Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð° Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ñ Ð² ÑпиÑък.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "Премахва Ð¸ Ð²Ñ€ÑŠÑ‰Ð° Ð¿ÑŠÑ€Ð²Ð¸Ñ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ð² ÑпиÑък.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "Премахва Ð¸ Ð²Ñ€ÑŠÑ‰Ð° Ð¿Ð¾ÑледниѠелемент Ð² ÑпиÑък.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "Премахва Ð¸ Ð²Ñ€ÑŠÑ‰Ð° Ñлучаен ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ð¾Ñ‚ ÑпиÑък.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "Премахва ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ð½Ð° Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð° Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ñ Ð¾Ñ‚ ÑпиÑък.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "Премахва Ð¿ÑŠÑ€Ð²Ð¸Ñ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ð¾Ñ‚ ÑпиÑък.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "Премахва Ð¿Ð¾ÑледниѠелемент Ð¾Ñ‚ ÑпиÑък.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "Премахва Ñлучаен ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ð¾Ñ‚ ÑпиÑък.",
+       "LISTS_SET_INDEX_SET": "промени",
+       "LISTS_SET_INDEX_INSERT": "вмъкни Ð½Ð° Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ñ",
+       "LISTS_SET_INDEX_INPUT_TO": "Ñледното",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "ПроменѠелемента Ð½Ð° Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð° Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ñ Ð² ÑпиÑък.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "ПроменѠпървиѠелемент Ð² ÑпиÑък.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_LAST": "ПроменѠпоÑледниѠелемент Ð² ÑпиÑък.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "ПроменѠÑлучаен ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ð¾Ñ‚ ÑпиÑък.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "Вмъква ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ð½Ð° Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð° Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ñ Ð² ÑпиÑък.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "Вмъква ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ð² Ð½Ð°Ñ‡Ð°Ð»Ð¾Ñ‚о Ð½Ð° ÑпиÑъка.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "Добави ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ð² ÐºÑ€Ð°Ñ Ð½Ð° ÑпиÑък.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "Вмъква ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ð½Ð° Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð»Ð½Ð¾ Ð¼ÑÑто Ð² ÑпиÑък.",
+       "LISTS_GET_SUBLIST_START_FROM_START": "вземи Ð¿Ð¾Ð´ÑпиÑък Ð¾Ñ‚ â„–",
+       "LISTS_GET_SUBLIST_START_FROM_END": "вземи Ð¿Ð¾Ð´ÑпиÑък Ð¾Ñ‚ â„– Ð¾Ñ‚ ÐºÑ€Ð°Ñ",
+       "LISTS_GET_SUBLIST_START_FIRST": "вземи Ð¿Ð¾Ð´ÑпиÑък Ð¾Ñ‚ Ð¿ÑŠÑ€Ð²Ð¸Ñ",
+       "LISTS_GET_SUBLIST_END_FROM_START": "до â„–",
+       "LISTS_GET_SUBLIST_END_FROM_END": "до â„– Ð¾Ñ‚краÑ",
+       "LISTS_GET_SUBLIST_END_LAST": "до ÐºÑ€Ð°Ñ",
+       "LISTS_GET_SUBLIST_TOOLTIP": "Копира Ñ‡Ð°ÑÑ‚ Ð¾Ñ‚ ÑпиÑък.",
+       "LISTS_SORT_HELPURL": "https://github.com/google/blockly/wiki/Lists#sorting-a-list",
+       "LISTS_SORT_TITLE": "Ñортиране Ð¿Ð¾ %1 %2 %3",
+       "LISTS_SORT_TOOLTIP": "Подреди ÐºÐ¾Ð¿Ð¸Ðµ Ð½Ð° ÑпиÑъка.",
+       "LISTS_SORT_ORDER_ASCENDING": "възходÑщо",
+       "LISTS_SORT_ORDER_DESCENDING": "низходÑщо",
+       "LISTS_SORT_TYPE_NUMERIC": "в Ñ‡Ð¸Ñлов Ñ€ÐµÐ´",
+       "LISTS_SORT_TYPE_TEXT": "по Ð°Ð·Ð±ÑƒÑ‡ÐµÐ½ Ñ€ÐµÐ´",
+       "LISTS_SORT_TYPE_IGNORECASE": "по Ð°Ð·Ð±ÑƒÑ‡ÐµÐ½ Ñ€ÐµÐ´, Ð±ÐµÐ· Ð¾Ñ‚читане Ð½Ð° Ð¼Ð°Ð»ÐºÐ¸ Ð¸ Ð³Ð»Ð°Ð²Ð½Ð¸ Ð±ÑƒÐºÐ²Ð¸",
+       "LISTS_SPLIT_LIST_FROM_TEXT": "Ðаправи ÑпиÑък Ð¾Ñ‚ Ñ‚екÑÑ‚",
+       "LISTS_SPLIT_TEXT_FROM_LIST": "направи Ñ‚екÑÑ‚ Ð¾Ñ‚ ÑпиÑък",
+       "LISTS_SPLIT_WITH_DELIMITER": "Ѡразделител",
+       "LISTS_SPLIT_TOOLTIP_SPLIT": "РазделѠтекÑÑ‚ Ð² ÑпиÑък Ð½Ð° Ñ‚екÑтове, Ð¿Ð¾ Ð²Ñеки Ñ€Ð°Ð·Ð´ÐµÐ»Ð¸Ñ‚ел.",
+       "LISTS_SPLIT_TOOLTIP_JOIN": "Събира ÑпиÑък Ð¾Ñ‚ Ñ‚екÑтове Ð² ÐµÐ´Ð¸Ð½ Ñ‚екÑÑ‚, Ñ€Ð°Ð´ÐµÐ»ÐµÐ½Ð¸ Ñ Ñ€Ð°Ð·Ð´ÐµÐ»Ð¸Ñ‚ел.",
+       "LISTS_REVERSE_HELPURL": "https://github.com/google/blockly/wiki/Lists#reversing-a-list",
+       "LISTS_REVERSE_MESSAGE0": "промени Ñ€ÐµÐ´Ð° Ð½Ð° Ð¾Ð±Ñ€Ð°Ñ‚но %1",
+       "LISTS_REVERSE_TOOLTIP": "Промени Ñ€ÐµÐ´Ð° Ð½Ð° ÑпиÑъка Ð½Ð° Ð¾Ð±Ñ€Ð°Ñ‚но.",
+       "VARIABLES_GET_TOOLTIP": "Връща ÑтойноÑтта Ð½Ð° Ñ‚ази Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð»Ð¸Ð²Ð°.",
+       "VARIABLES_GET_CREATE_SET": "Създай â€žÐ¿Ñ€Ð¾Ð¼ÐµÐ½Ð¸ ÑтойноÑтта Ð½Ð° %1“",
+       "VARIABLES_SET": "нека %1 Ð±ÑŠÐ´Ðµ %2",
+       "VARIABLES_SET_TOOLTIP": "УÑтановÑва Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð»Ð¸Ð²Ð°Ñ‚а ÑÑŠÑ ÑтойноÑтта Ð½Ð° Ð²Ñ…ода.",
+       "VARIABLES_SET_CREATE_GET": "Създай â€žÐ²Ð·ÐµÐ¼Ð¸ ÑтойноÑтта Ð½Ð° %1“",
+       "PROCEDURES_DEFNORETURN_TITLE": "за Ð´Ð°",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "направиш",
+       "PROCEDURES_BEFORE_PARAMS": "Ñ:",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "Ñ:",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "Създава Ñ„ункциÑ, ÐºÐ¾Ñто Ð½Ðµ Ð²Ñ€ÑŠÑ‰Ð° Ñ€ÐµÐ·ÑƒÐ»Ñ‚ат.",
+       "PROCEDURES_DEFNORETURN_COMMENT": "Опишете Ñ‚ази Ñ„ункциÑ...",
+       "PROCEDURES_DEFRETURN_RETURN": "върни",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "Създава Ñ„ункциÑ, ÐºÐ¾Ñто Ð²Ñ€ÑŠÑ‰Ð° Ñ€ÐµÐ·ÑƒÐ»Ñ‚ат.",
+       "PROCEDURES_ALLOW_STATEMENTS": "позволи Ð¾Ð¿ÐµÑ€Ð°Ñ†Ð¸Ð¸Ñ‚е",
+       "PROCEDURES_DEF_DUPLICATE_WARNING": "Предупреждение: Ð¢Ð°Ð·Ð¸ Ñ„ункциѠима Ð´ÑƒÐ±Ð»Ð¸Ñ€Ð°Ñ‰Ð¸ Ñе Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚ри.",
+       "PROCEDURES_CALLNORETURN_HELPURL": "https://bg.wikipedia.org/wiki/Подпрограма",
+       "PROCEDURES_CALLNORETURN_TOOLTIP": "Изпълни Ð´ÐµÑ„инирана Ð¾Ñ‚ Ð¿Ð¾Ñ‚ребителѠфункциѠ„%1“.",
+       "PROCEDURES_CALLRETURN_HELPURL": "https://bg.wikipedia.org/wiki/Подпрограма",
+       "PROCEDURES_CALLRETURN_TOOLTIP": "Изпълни Ð´ÐµÑ„инирана Ð¾Ñ‚ Ð¿Ð¾Ñ‚ребителѠфункциѠ„%1“ Ð¸ Ð¸Ð·Ð¿Ð¾Ð»Ð·Ð²Ð°Ð¹ Ñ€ÐµÐ·ÑƒÐ»Ñ‚ата.",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "вход",
+       "PROCEDURES_MUTATORCONTAINER_TOOLTIP": "Добави, Ð¿Ñ€ÐµÐ¼Ð°Ñ…ни Ð¸Ð»Ð¸ Ð¿Ñ€ÐµÐ½Ð°Ñ€ÐµÐ´Ð¸ Ð²Ñ…одните Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚ри Ð·Ð° Ñ‚ази Ñ„ункциÑ.",
+       "PROCEDURES_MUTATORARG_TITLE": "име Ð½Ð° Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚ÑŠÑ€:",
+       "PROCEDURES_MUTATORARG_TOOLTIP": "ДобавÑне Ð½Ð° Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚ÑŠÑ€ ÐºÑŠÐ¼ Ñ„ункциÑта.",
+       "PROCEDURES_HIGHLIGHT_DEF": "Покажи Ð´ÐµÑ„инициÑта Ð½Ð° Ñ„ункциÑта",
+       "PROCEDURES_CREATE_DO": "Създай '%1'",
+       "PROCEDURES_IFRETURN_TOOLTIP": "Ðко ÑтойноÑтта Ðµ Ð²Ñрна, Ð²ÑŠÑ€Ð½Ð¸ Ð²Ñ‚ората ÑтойноÑÑ‚.",
+       "PROCEDURES_IFRETURN_HELPURL": "http://c2.com/cgi/wiki?GuardClause",
+       "PROCEDURES_IFRETURN_WARNING": "Предупреждение: Ð¢Ð¾Ð·Ð¸ Ð±Ð»Ð¾Ðº Ð¼Ð¾Ð¶Ðµ Ð´Ð° Ñе Ð¸Ð·Ð¿Ð¾Ð»Ð·Ð²Ð° Ñамо Ð²ÑŠÐ² Ñ„ункциÑ.",
+       "WORKSPACE_COMMENT_DEFAULT_TEXT": "Коментирайте Ð½ÐµÑ‰Ð¾..."
+}
diff --git a/js/msg/json/bn.json b/js/msg/json/bn.json
new file mode 100644 (file)
index 0000000..9148d1a
--- /dev/null
@@ -0,0 +1,194 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Aftabuzzaman",
+                       "Rakibul",
+                       "Tauhid16",
+                       "MasterMinhaz",
+                       "à¦à¦® à¦†à¦¬à§ à¦¸à¦¾à¦ˆà¦¦",
+                       "Rasal Lia",
+                       "আফতাবà§à¦œà§à¦œà¦¾à¦®à¦¾à¦¨"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "পদ",
+       "TODAY": "আজ",
+       "DUPLICATE_BLOCK": "পà§à¦°à¦¤à¦¿à¦²à¦¿à¦ªà¦¿",
+       "ADD_COMMENT": "মনà§à¦¤à¦¬à§à¦¯ à¦¯à§‹à¦— à¦•à¦°à§à¦¨",
+       "REMOVE_COMMENT": "মনà§à¦¤à¦¬à§à¦¯ à¦¸à¦°à¦¾à¦“",
+       "EXTERNAL_INPUTS": "বহি:সà§à¦¥ à¦‡à¦¨à¦ªà§à¦Ÿ",
+       "INLINE_INPUTS": "সারি à¦‡à¦¨à¦ªà§à¦Ÿ",
+       "DELETE_BLOCK": "বà§à¦²à¦•à¦Ÿà¦¿ à¦®à§à¦›à§‡ à¦«à§‡à¦²",
+       "DELETE_X_BLOCKS": "%1 à¦¬à§à¦²à¦• à¦…পসারণ à¦•à¦°",
+       "DELETE_ALL_BLOCKS": "সব %1টি à¦¬à§à¦²à¦• à¦…পসারণ à¦•à¦°à¦¬à§‡à¦¨?",
+       "CLEAN_UP": "বà§à¦²à¦•à¦¸à¦®à§‚হ à¦ªà¦°à¦¿à¦¸à§à¦•à¦¾à¦° à¦•à¦°à§à¦¨",
+       "COLLAPSE_BLOCK": "বà§à¦²à¦• à¦¸à¦™à§à¦•à§à¦šà¦¿à¦¤ à¦•à¦°à§à¦¨",
+       "COLLAPSE_ALL": "বà§à¦²à¦•à¦¸à¦®à§‚হ à¦¸à¦™à§à¦•à§à¦šà¦¿à¦¤ à¦•à¦°à§à¦¨",
+       "EXPAND_BLOCK": "বà§à¦²à¦•à¦Ÿà¦¿ à¦¸à¦®à§à¦ªà§à¦°à¦¸à¦¾à¦°à¦¿à¦¤ à¦•à¦°",
+       "EXPAND_ALL": "বà§à¦²à¦•à¦—à§à¦²à§‹ à¦¸à¦®à§à¦ªà§à¦°à¦¸à¦¾à¦°à¦¿à¦¤ à¦•à¦°",
+       "DISABLE_BLOCK": "বà§à¦²à¦•à¦Ÿà¦¿ à¦¬à¦¿à¦•à¦² à¦•à¦°",
+       "ENABLE_BLOCK": "বà§à¦²à¦•à¦Ÿà¦¿ à¦¸à¦šà¦² à¦•à¦°",
+       "HELP": "সাহাযà§à¦¯",
+       "UNDO": "পূরà§à¦¬à¦¾à¦¬à¦¸à§à¦¥à¦¾",
+       "REDO": "পà§à¦¨à¦°à¦¾à¦¯à¦¼ à¦•à¦°à§à¦¨",
+       "CHANGE_VALUE_TITLE": "মান à¦ªà¦°à¦¿à¦¬à¦°à§à¦¤à¦¨ à¦•à¦°à§à¦¨:",
+       "RENAME_VARIABLE": "চলকের à¦¨à¦¾à¦® à¦ªà¦°à¦¿à¦¬à¦°à§à¦¤à¦¨...",
+       "RENAME_VARIABLE_TITLE": "'%1' à¦šà¦²à¦•à¦—à§à¦²à§‹à¦° à¦¨à¦¤à§à¦¨ à¦¨à¦¾à¦® à¦¦à¦¿à¦¨:",
+       "NEW_VARIABLE": "চলক à¦¤à§ˆà¦°à¦¿ à¦•à¦°à§à¦¨...",
+       "NEW_VARIABLE_TITLE": "নতà§à¦¨ à¦šà¦²à¦•à§‡à¦° à¦¨à¦¾à¦®:",
+       "VARIABLE_ALREADY_EXISTS": "'%1' à¦¨à¦¾à¦®à§‡à¦° à¦šà¦²à¦• à¦ªà§‚রà§à¦¬ à¦¥à§‡à¦•à§‡ à¦…াছে।",
+       "VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE": "'%1' à¦¨à¦¾à¦®à§‡à¦° à¦šà¦²à¦• '%2' à¦§à¦°à¦¨à§‡à¦° à¦šà¦²à¦•à§‡à¦° à¦œà¦¨à§à¦¯ à¦ªà§‚রà§à¦¬ à¦¥à§‡à¦•à§‡à¦‡ à¦…াছে।",
+       "DELETE_VARIABLE_CONFIRMATION": "'%2' à¦šà¦²à¦•à§‡à¦° '%1'টি à¦¬à§à¦¯à¦¬à¦¹à¦¾à¦° à¦…পসারণ à¦•à¦°à¦¬à§‡à¦¨?",
+       "CANNOT_DELETE_VARIABLE_PROCEDURE": "'%1' à¦šà¦²à¦• à¦…পসারণ à¦•à¦°à¦¾ à¦¯à¦¾à¦¬à§‡ à¦¨à¦¾ à¦•à¦¾à¦°à¦£ à¦à¦Ÿà¦¿ '%2' à¦•à¦¾à¦°à§à¦¯à¦ªà§à¦°à¦£à¦¾à¦²à§€à¦° à¦¸à¦‚জà§à¦žà¦¾à¦° à¦…ংশ",
+       "DELETE_VARIABLE": "'%1' à¦šà¦²à¦•à¦Ÿà¦¿ à¦…পসারণ à¦•à¦°à§à¦¨",
+       "COLOUR_PICKER_HELPURL": "https://bn.wikipedia.org/wiki/রং",
+       "COLOUR_PICKER_TOOLTIP": "পà§à¦¯à¦¾à¦²à§‡à¦Ÿ à¦¥à§‡à¦•à§‡ à¦à¦•à¦Ÿà¦¿ à¦°à¦‚ à¦ªà¦›à¦¨à§à¦¦ à¦•à¦°à§à¦¨",
+       "COLOUR_RANDOM_TITLE": "à¦à¦²à§‹à¦®à§‡à¦²à§‹ à¦°à¦‚",
+       "COLOUR_RANDOM_TOOLTIP": "à¦à¦²à§‹à¦®à§‡à¦²à§‹à¦­à¦¾à¦¬à§‡ à¦à¦•à¦Ÿà¦¿ à¦°à¦‚ à¦ªà¦›à¦¨à§à¦¦ à¦•à¦°à§à¦¨à¥¤",
+       "COLOUR_RGB_TITLE": "রং à¦¸à¦¹",
+       "COLOUR_RGB_RED": "লাল",
+       "COLOUR_RGB_GREEN": "সবà§à¦œ",
+       "COLOUR_RGB_BLUE": "নীল",
+       "COLOUR_RGB_TOOLTIP": "à¦à¦•à¦Ÿà¦¿ à¦°à¦‚ à¦¤à§ˆà¦°à¦¿ à¦•à¦°à§à¦¨ à¦¨à¦¿à¦°à§à¦¦à¦¿à¦·à§à¦Ÿ à¦ªà¦°à¦¿à¦®à¦¾à¦£à§‡ à¦²à¦¾à¦², à¦¸à¦¬à§à¦œ à¦à¦¬à¦‚ à¦¨à§€à¦² à¦°à¦‚ à¦®à¦¿à¦¶à§à¦°à¦¿à¦¤ à¦•à¦°à§‡à¥¤ à¦ªà§à¦°à¦¤à§à¦¯à§‡à¦•à¦Ÿà¦¿à¦° à¦®à¦¾à¦¨ à¦…বশà§à¦¯à¦‡ à§¦ à¦¥à§‡à¦•à§‡ à§§à§¦à§¦ à¦à¦° à¦®à¦§à§à¦¯à§‡ à¦¹à¦¤à§‡ à¦¹à¦¬à§‡à¥¤",
+       "COLOUR_BLEND_TITLE": "মিশà§à¦°à¦£",
+       "COLOUR_BLEND_COLOUR1": "রং à§§",
+       "COLOUR_BLEND_COLOUR2": "রং à§¨",
+       "COLOUR_BLEND_RATIO": "অনà§à¦ªà¦¾à¦¤",
+       "COLOUR_BLEND_TOOLTIP": "পà§à¦°à¦¦à¦¤à§à¦¤ à¦…নà§à¦ªà¦¾à¦¤(০.০ - à§§.০) à¦…নà§à¦¸à¦¾à¦°à§‡ à¦¦à§à¦Ÿà¦¿ à¦°à¦‚ à¦à¦•à¦¸à¦¾à¦¥à§‡ à¦®à¦¿à¦¶à§à¦°à¦¿à¦¤ à¦•à¦°à§à¦¨à¥¤",
+       "CONTROLS_REPEAT_HELPURL": "https://bn.wikipedia.org/wiki/পà§à¦°à¦¬à§‡à¦¶_পথ",
+       "CONTROLS_REPEAT_TITLE": "%1 à¦¬à¦¾à¦° à¦ªà§à¦¨à¦°à¦¾à¦¬à§ƒà¦¤à§à¦¤à¦¿ à¦•à¦°à§‹",
+       "CONTROLS_REPEAT_INPUT_DO": "করà§à¦¨",
+       "CONTROLS_REPEAT_TOOLTIP": "কিছৠবিবরণ à¦¬à¦¾à¦°à¦¬à¦¾à¦° à¦¦à¦¿à¦¨à¥¤",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "অাবার à¦•à¦°à§à¦¨ à¦¯à¦–ন",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "অাবার à¦•à¦°à§à¦¨ à¦¯à¦¤à¦•à§à¦·à¦£ à¦¨à¦¾",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "যখন à¦à¦•à¦Ÿà¦¿ à¦®à§‚লà§à¦¯à¦®à¦¾à¦¨ à¦¸à¦ à¦¿à¦•, à¦¤à¦–ন à¦•à¦¿à¦›à§ à¦¬à¦¿à¦¬à¦°à¦£ à¦¦à¦¿à¦¨à¥¤",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "যখন à¦à¦•à¦Ÿà¦¿ à¦®à§‚লà§à¦¯à¦®à¦¾à¦¨ à¦®à¦¿à¦¥à§à¦¯à¦¾, à¦¤à¦–ন à¦•à¦¿à¦›à§ à¦¬à¦¿à¦¬à§ƒà¦¤à¦¿ à¦¦à¦¿à¦¨à¥¤",
+       "CONTROLS_FOR_TOOLTIP": "চলক %1 à¦ªà§à¦°à¦¸à§à¦¤à§à¦¤ à¦•à¦°à§à¦¨, à¦¶à§à¦°à§ à¦¥à§‡à¦•à§‡ à¦¶à§‡à¦· à¦ªà¦°à§à¦¯à¦¨à§à¦¤ à¦¸à¦‚খà§à¦¯à¦¾ à¦—à§à¦°à¦¹à¦¨ à¦•à¦°à¦¤à§‡ à¦¯à¦¾ à¦¨à¦¿à¦°à§à¦¦à§‡à¦¶à¦¿à¦¤ à¦¬à¦¿à¦°à¦¤à¦¿ à¦—ণনা à¦•à¦°à¦›à§‡ à¦à¦¬à¦‚ à¦¨à¦¿à¦°à§à¦¦à§‡à¦¶à¦¿à¦¤ à¦¬à§à¦²à¦• à¦¸à¦®à§‚হ à¦¸à¦®à§à¦ªà¦¨à§à¦¨ à¦•à¦°à¦¤à§‡à¥¤",
+       "CONTROLS_FOR_TITLE": "গণনা à¦•à¦° %1 %4 à¦¦à¦¿à¦¯à¦¼à§‡ %2 à¦¥à§‡à¦•à§‡ %3",
+       "CONTROLS_FOREACH_TITLE": "পà§à¦°à¦¤à§à¦¯à§‡à¦•à¦Ÿà¦¿ à¦ªà¦¦à§‡à¦° à¦œà¦¨à§à¦¯ %1 à¦¤à¦¾à¦²à¦¿à¦•à¦¾à¦° à¦®à¦§à§à¦¯à§‡ %2",
+       "CONTROLS_FOREACH_TOOLTIP": "কোন à¦¤à¦¾à¦²à¦¿à¦•à¦¾à¦¯à¦¼ à¦ªà§à¦°à¦¤à¦¿à¦¬à¦¾à¦°à§‡à¦° à¦œà¦¨à§à¦¯, à¦†à¦‡à¦Ÿà§‡à¦®à§‡à¦° à¦¸à¦¾à¦¥à§‡ à¦šà¦²à¦• '%1' à¦¬à¦¸à¦¾à¦¨ à¦à¦¬à¦‚ à¦•à¦¿à¦›à§ à¦¬à¦¿à¦¬à¦°à¦£ à¦¦à¦¿à¦¨à¥¤",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "পà§à¦°à¦¬à§‡à¦¶à¦ªà¦¥ à¦¥à§‡à¦•à§‡ à¦šà¦²à§‡ à¦…াসà§à¦¨",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "পà§à¦¨à¦°à¦¾à¦¬à§ƒà¦¤à§à¦¤à¦¿ à¦šà¦¾à¦²à¦¿à¦¯à¦¼à§‡ à¦¯à¦¾à¦¨ à¦ªà¦°à¦¬à¦°à§à¦¤à§€ à¦ªà§à¦°à¦¬à§‡à¦¶à¦ªà¦¥à§‡",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "সংশà§à¦²à¦¿à¦·à§à¦Ÿ à¦ªà§à¦°à¦¬à§‡à¦¶à¦ªà¦¥ à¦¥à§‡à¦•à§‡ à¦šà¦²à§‡ à¦…াসà§à¦¨",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "à¦à¦‡ à¦ªà§à¦°à¦¬à§‡à¦¶à¦ªà¦¥à§‡à¦° à¦…বশিষà§à¦Ÿ à¦…ংশ à¦¬à¦¾à¦¦ à¦¦à¦¿à¦¨ à¦à¦¬à¦‚ à¦ªà¦°à¦¬à¦°à§à¦¤à§€ à¦ªà§à¦°à¦šà§‡à¦·à§à¦Ÿà¦¾ à¦šà¦¾à¦²à¦¿à¦¯à¦¼à§‡ à¦¯à¦¾à¦¨à¥¤",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "সরà§à¦¤à¦•à§€à¦¬à¦¾à¦°à§à¦¤à¦¾: à¦à¦‡ à¦¬à§à¦²à¦•à¦Ÿà¦¿ à¦¶à§à¦§à§à¦®à¦¾à¦¤à§à¦° à¦²à§à¦ªà§‡à¦° à¦®à¦§à§à¦¯à§‡ à¦¬à§à¦¯à¦¬à¦¹à¦¾à¦° à¦•à¦°à¦¾ à¦¯à¦¾à¦¬à§‡à¥¤",
+       "CONTROLS_IF_TOOLTIP_1": "যদি à¦à¦•à¦Ÿà¦¿ à¦®à§‚লà§à¦¯à¦®à¦¾à¦¸ à¦¸à¦¤à§à¦¯ à¦¹à¦¯à¦¼, à¦¤à¦¬à§‡ à¦•à¦¿à¦›à§ à¦¬à¦¿à¦¬à¦°à¦£ à¦¦à¦¿à¦¨",
+       "CONTROLS_IF_TOOLTIP_2": "যদি à¦à¦•à¦Ÿà¦¿ à¦®à§‚লà§à¦¯à¦®à¦¾à¦¨ à¦¸à¦¤à§à¦¯ à¦¹à¦¯à¦¼, à¦¤à¦¬à§‡ à¦¬à¦¿à¦¬à§ƒà¦¤à¦¿à¦¸à¦®à§‚হের à¦ªà§à¦°à¦¥à¦® à¦¬à§à¦²à¦•à¦Ÿà¦¾ à¦…নà§à¦¯à¦¥à¦¾à¦¯à¦¼ à¦¬à¦¿à¦¬à§ƒà¦¤à¦¿à¦° à¦¦à§à¦¬à¦¿à¦¤à§€à¦¯à¦¼ à¦¬à§à¦²à¦•à¥¤",
+       "CONTROLS_IF_TOOLTIP_3": "যদি à¦ªà§à¦°à¦¥à¦® à¦®à§‚লà§à¦¯à¦®à¦¾à¦¨ à¦¸à¦ à¦¿à¦• à¦¹à¦¯à¦¼, à¦¤à¦¬à§‡ à¦¬à¦°à§à¦£à¦¿à¦¤ à¦ªà§à¦°à¦¥à¦® à¦¬à§à¦²à¦•à¦Ÿà¦¿ à¦¸à¦®à§à¦ªà¦¨à§à¦¨ à¦•à¦°à§à¦¨à¥¤ à¦…নà§à¦¯à¦¥à¦¾à¦¯à¦¼, à¦¦à§à¦¬à¦¿à¦¤à§€à¦¯à¦¼ à¦®à§‚লà§à¦¯à¦®à¦¾à¦¨ à¦¸à¦ à¦¿à¦• à¦¹à¦¯à¦¼, à¦¦à§à¦¬à¦¿à¦¤à§€à¦¯à¦¼ à¦¬à§à¦²à¦• à¦¸à¦®à§à¦ªà¦¨à§à¦¨ à¦•à¦°à§à¦¨à¥¤",
+       "CONTROLS_IF_MSG_IF": "যদি",
+       "CONTROLS_IF_MSG_ELSEIF": "নতà§à¦¬à¦¾ à¦¯à¦¦à¦¿",
+       "CONTROLS_IF_MSG_ELSE": "নতà§à¦¬à¦¾",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "যদি à¦¨à¦¾à¦®à¦• à¦¬à§à¦²à¦• à¦ à¦à¦•à¦Ÿà¦¿ à¦¶à¦°à§à¦¤ à¦¯à§‹à¦— à¦•à¦°à§à¦¨à¥¤",
+       "IOS_OK": "ঠিক à¦†à¦›à§‡",
+       "IOS_CANCEL": "বাতিল",
+       "IOS_ERROR": "তà§à¦°à§à¦Ÿà¦¿",
+       "IOS_VARIABLES_ADD_BUTTON": "যোগ",
+       "IOS_VARIABLES_RENAME_BUTTON": "পà§à¦¨à¦°à¦¾à¦¯à¦¼ à¦¶à§à¦°à§",
+       "IOS_VARIABLES_DELETE_BUTTON": "অপসারণ",
+       "IOS_VARIABLES_VARIABLE_NAME": "চলকের à¦¨à¦¾à¦®",
+       "IOS_VARIABLES_EMPTY_NAME_ERROR": "অাপনি à¦šà¦²à¦•à§‡à¦° à¦¨à¦¾à¦® à¦–ালি à¦°à¦¾à¦–তে à¦ªà¦¾à¦°à§‡à¦¨à¦¨à¦¾à¥¤",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "পাঠাবে à¦¸à¦¤à§à¦¯ à¦¯à¦¦à¦¿ à¦‰à¦­à¦¯à¦¼ à¦‡à¦¨à¦ªà§à¦Ÿà¦‡ à¦¸à¦®à¦¾à¦¨ à¦¹à¦¯à¦¼à¥¤",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "পাঠাবে à¦¸à¦¤à§à¦¯ à¦¯à¦¦à¦¿ à¦‰à¦­à¦¯à¦¼ à¦‡à¦¨à¦ªà§à¦Ÿà¦‡ à¦¸à¦®à¦¾à¦¨ à¦¨à¦¾ à¦¹à¦¯à¦¼à¥¤",
+       "LOGIC_COMPARE_TOOLTIP_LT": "পাঠাবে à¦¸à¦¤à§à¦¯ à¦¯à¦¦à¦¿ à¦ªà§à¦°à¦¥à¦® à¦‡à¦¨à¦ªà§à¦Ÿ à¦¦à§à¦¬à¦¿à¦¤à§€à¦¯à¦¼ à¦‡à¦¨à¦ªà§à¦Ÿ à¦¥à§‡à¦•à§‡ à¦›à§‹à¦Ÿ à¦¹à¦¯à¦¼à¥¤",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "পাঠাবে à¦¸à¦¤à§à¦¯ à¦¯à¦¦à¦¿ à¦ªà§à¦°à¦¥à¦® à¦‡à¦¨à¦ªà§à¦Ÿ à¦¦à§à¦¬à¦¿à¦¤à§€à¦¯à¦¼ à¦‡à¦¨à¦ªà§à¦Ÿ à¦¥à§‡à¦•à§‡ à¦›à§‹à¦Ÿ à¦…থবা à¦¸à¦®à¦¾à¦¨ à¦¹à¦¯à¦¼à¥¤",
+       "LOGIC_COMPARE_TOOLTIP_GT": "পাঠাবে à¦¸à¦¤à§à¦¯ à¦¯à¦¦à¦¿ à¦ªà§à¦°à¦¥à¦® à¦‡à¦¨à¦ªà§à¦Ÿ à¦¦à§à¦¬à¦¿à¦¤à§€à¦¯à¦¼ à¦‡à¦¨à¦ªà§à¦Ÿ à¦¥à§‡à¦•à§‡ à¦¬à¦¡à¦¼ à¦¹à¦¯à¦¼à¥¤",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "পাঠাবে à¦¸à¦¤à§à¦¯ à¦¯à¦¦à¦¿ à¦ªà§à¦°à¦¥à¦® à¦‡à¦¨à¦ªà§à¦Ÿ à¦¦à§à¦¬à¦¿à¦¤à§€à¦¯à¦¼ à¦‡à¦¨à¦ªà§à¦Ÿ à¦¥à§‡à¦•à§‡ à¦¬à¦¡à¦¼ à¦…থবা à¦¸à¦®à¦¾à¦¨ à¦¹à¦¯à¦¼à¥¤",
+       "LOGIC_OPERATION_TOOLTIP_AND": "পাঠাবে à¦¸à¦¤à§à¦¯ à¦¯à¦¦à¦¿ à¦‰à¦­à¦¯à¦¼ à¦‡à¦¨à¦ªà§à¦Ÿà¦‡ à¦¸à¦¤à§à¦¯ à¦¹à¦¯à¦¼à¥¤",
+       "LOGIC_OPERATION_AND": "à¦à¦¬à¦‚",
+       "LOGIC_OPERATION_TOOLTIP_OR": "পাঠাবে à¦¸à¦¤à§à¦¯ à¦¯à¦¦à¦¿ à¦…নà§à¦¤à¦¤à¦ªà¦•à§à¦·à§‡ à¦¯à§‡à¦•à§‹à¦¨ à¦à¦•à¦Ÿà¦¿ à¦‡à¦¨à¦ªà§à¦Ÿ à¦¸à¦¤à§à¦¯ à¦¹à¦¯à¦¼à¥¤",
+       "LOGIC_OPERATION_OR": "অথবা",
+       "LOGIC_NEGATE_TITLE": "%1 à¦¨à¦¯à¦¼",
+       "LOGIC_NEGATE_TOOLTIP": "পাঠাবে à¦¸à¦¤à§à¦¯ à¦¯à¦¦à¦¿ à¦‡à¦¨à¦ªà§à¦Ÿ à¦®à¦¿à¦¥à§à¦¯à¦¾ à¦¹à¦¯à¦¼à¥¤ à¦ªà¦¾à¦ à¦¾à¦¬à§‡ à¦®à¦¿à¦¥à§à¦¯à¦¾ à¦¯à¦¦à¦¿ à¦‡à¦¨à¦ªà§à¦Ÿ à¦¸à¦¤à§à¦¯ à¦¹à¦¯à¦¼à¥¤",
+       "LOGIC_BOOLEAN_TRUE": "সতà§à¦¯",
+       "LOGIC_BOOLEAN_FALSE": "মিথà§à¦¯à¦¾",
+       "LOGIC_BOOLEAN_TOOLTIP": "পাঠাবে à¦¹à¦¯à¦¼ à¦¸à¦¤à§à¦¯ à¦…থবা à¦®à¦¿à¦¥à§à¦¯à¦¾à¥¤",
+       "LOGIC_NULL": "কিছৠনা",
+       "LOGIC_NULL_TOOLTIP": "কিছৠফেরত à¦¦à¦¿à¦¬à§‡ à¦¨à¦¾à¥¤",
+       "LOGIC_TERNARY_CONDITION": "পরীকà§à¦·à¦¾",
+       "LOGIC_TERNARY_IF_TRUE": "যদি à¦¸à¦¤à§à¦¯ à¦¹à¦¯à¦¼",
+       "LOGIC_TERNARY_IF_FALSE": "যদি à¦®à¦¿à¦¥à§à¦¯à¦¾ à¦¹à¦¯à¦¼",
+       "MATH_NUMBER_HELPURL": "https://bn.wikipedia.org/wiki/সংখà§à¦¯à¦¾",
+       "MATH_NUMBER_TOOLTIP": "à¦à¦•à¦Ÿà¦¿ à¦¸à¦‚খà§à¦¯à¦¾à¥¤",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "পাঠাবে à¦¦à§à¦Ÿà¦¿ à¦¸à¦‚খà§à¦¯à¦¾à¦° à¦¯à§‹à¦—ফল।",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "পাঠাবে à¦¦à§à¦Ÿà¦¿ à¦¸à¦‚খà§à¦¯à¦¾à¦° à¦¬à¦¿à¦¯à¦¼à§‹à¦—ফল।",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "পাঠাবে à¦¦à§à¦Ÿà¦¿ à¦¸à¦‚খà§à¦¯à¦¾à¦° à¦—à§à¦£à¦«à¦²à¥¤",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "পাঠাবে à¦¦à§à¦Ÿà¦¿ à¦¸à¦‚খà§à¦¯à¦¾à¦° à¦­à¦¾à¦—ফল।",
+       "MATH_SINGLE_OP_ROOT": "বরà§à¦—মূল",
+       "MATH_SINGLE_TOOLTIP_ROOT": "পাঠাবে à¦à¦•à¦Ÿà¦¿ à¦¸à¦‚খà§à¦¯à¦¾à¦° à¦¬à¦°à§à¦—মূল।",
+       "MATH_SINGLE_OP_ABSOLUTE": "পরম",
+       "MATH_SINGLE_TOOLTIP_ABS": "পাঠাবে à¦¸à¦‚খà§à¦¯à¦¾à¦° à¦ªà¦°à¦®à¦®à¦¾à¦¨à¥¤",
+       "MATH_IS_EVEN": "জোড় à¦¸à¦‚খà§à¦¯à¦¾",
+       "MATH_IS_ODD": "বিজোড় à¦¸à¦‚খà§à¦¯à¦¾",
+       "MATH_IS_PRIME": "মৌলিক à¦¸à¦‚খà§à¦¯à¦¾",
+       "MATH_IS_POSITIVE": "ইতিবাচক",
+       "MATH_IS_NEGATIVE": "নেতিবাচক",
+       "MATH_IS_DIVISIBLE_BY": "দà§à¦¬à¦¾à¦°à¦¾ à¦¬à¦¿à¦­à¦¾à¦œà§à¦¯",
+       "MATH_CHANGE_TITLE": "%2 à¦¦à§à¦¬à¦¾à¦°à¦¾ %1 à¦ªà¦°à¦¿à¦¬à¦°à§à¦¤à¦¨",
+       "MATH_ONLIST_OPERATOR_SUM": "তালিকার à¦¯à§‹à¦—ফল",
+       "MATH_ONLIST_TOOLTIP_SUM": "পাঠাবে à¦¤à¦¾à¦²à¦¿à¦•à¦¾à¦° à¦¸à¦¬ à¦¸à¦‚খà§à¦¯à¦¾à¦° à¦¯à§‹à¦—ফল।",
+       "MATH_ONLIST_OPERATOR_MIN": "তালিকার à¦®à¦§à§à¦¯à§‡ à¦¸à¦°à§à¦¬à¦¨à¦¿à¦®à§à¦¨",
+       "MATH_ONLIST_TOOLTIP_MIN": "তালিকার à¦®à¦§à§à¦¯à§‡ à¦¸à¦°à§à¦¬à¦¨à¦¿à¦®à§à¦¨ à¦¸à¦‚খà§à¦¯à¦¾à¦Ÿà¦¿ à¦ªà¦¾à¦ à¦¾à¦“",
+       "MATH_ONLIST_OPERATOR_MAX": "তালিকার à¦®à¦§à§à¦¯à§‡ à¦¸à¦°à§à¦¬à§‹à¦šà§à¦š",
+       "MATH_ONLIST_TOOLTIP_MAX": "তালিকার à¦®à¦§à§à¦¯à§‡ à¦¸à¦°à§à¦¬à§‹à¦šà§à¦š à¦¸à¦‚খà§à¦¯à¦¾à¦Ÿà¦¿ à¦ªà¦¾à¦ à¦¾à¦“",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "তালিকার à¦—ড়",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "পাঠাবে à¦¤à¦¾à¦²à¦¿à¦•à¦¾à¦° à¦¸à¦¬ à¦¸à¦‚খà§à¦¯à¦¾à¦° à¦—ড়।",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "তালিকার à¦®à¦§à§à¦¯à¦®à¦¾",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "তালিকার à¦®à¦§à§à¦¯à¦®à¦¾ à¦¸à¦‚খà§à¦¯à¦¾à¦Ÿà¦¿ à¦ªà¦¾à¦ à¦¾à¦¬à§‡à¥¤",
+       "MATH_ONLIST_OPERATOR_RANDOM": "তালিকার à¦à¦²à§‹à¦®à§‡à¦²à§‹ à¦ªà¦¦",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "তালিকা à¦¥à§‡à¦•à§‡ à¦à¦²à§‹à¦®à§‡à¦²à§‹à¦­à¦¾à¦¬à§‡ à¦à¦•à¦Ÿà¦¿ à¦ªà¦¦ à¦ªà¦¾à¦ à¦¾à¦¬à§‡à¥¤",
+       "MATH_MODULO_TITLE": "%1 Ã· %2 à¦à¦° à¦­à¦¾à¦—শেষ",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "à¦à¦²à§‹à¦®à§‡à¦²à§‹ à¦­à¦—à§à¦¨à¦¾à¦‚শ",
+       "TEXT_TEXT_TOOLTIP": "à¦à¦•à¦Ÿà¦¿ à¦…কà§à¦·à¦°, à¦¶à¦¬à§à¦¦ à¦…থবা à¦¬à¦¾à¦•à§à¦¯à¥¤",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "যোগ",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "লেখাটিতে à¦à¦•à¦Ÿà¦¿ à¦ªà¦¦ à¦¯à§‹à¦— à¦•à¦°à§à¦¨à¥¤",
+       "TEXT_LENGTH_TITLE": "%1-à¦à¦° à¦¦à§ˆà¦°à§à¦˜à§à¦¯",
+       "TEXT_ISEMPTY_TITLE": "%1 à¦–ালি",
+       "TEXT_ISEMPTY_TOOLTIP": "পাঠাবে à¦¸à¦¤à§à¦¯ à¦¯à¦¦à¦¿ à¦¸à¦°à¦¬à¦°à¦¾à¦¹à¦•à§ƒà¦¤ à¦²à§‡à¦–াটি à¦–ালি à¦¹à¦¯à¦¼à¥¤",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "বড়হাতের à¦…কà§à¦·à¦°à§‡",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "ছোটহাতের à¦…কà§à¦·à¦°à§‡",
+       "TEXT_TRIM_OPERATOR_BOTH": "উভয় à¦ªà¦¾à¦¶ à¦¥à§‡à¦•à§‡ à¦–ালি à¦…ংশ à¦›à¦¾à¦Ÿà¦¾à¦‡",
+       "TEXT_TRIM_OPERATOR_LEFT": "বামপাশ à¦¥à§‡à¦•à§‡ à¦–ালি à¦…ংশ à¦›à¦¾à¦Ÿà¦¾à¦‡",
+       "TEXT_TRIM_OPERATOR_RIGHT": "ডানপাশ à¦¥à§‡à¦•à§‡ à¦–ালি à¦…ংশ à¦›à¦¾à¦Ÿà¦¾à¦‡",
+       "TEXT_PRINT_TITLE": "%1 à¦®à§à¦¦à§à¦°à¦£ à¦•à¦°à§à¦¨",
+       "TEXT_REVERSE_MESSAGE0": "%1 à¦‰à¦²à§à¦Ÿà¦¾à¦¨",
+       "TEXT_REVERSE_HELPURL": "https://github.com/google/blockly/wiki/Text#reversing-text",
+       "LISTS_CREATE_EMPTY_TITLE": "খালি à¦¤à¦¾à¦²à¦¿à¦•à¦¾ à¦¤à§ˆà¦°à¦¿ à¦•à¦°à§à¦¨",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "পাঠাবে à¦à¦•à¦Ÿà¦¿ à¦¤à¦¾à¦²à¦¿à¦•à¦¾, à¦¦à§‡à¦°à§à¦˜à§à¦¯ à¦¹à¦¬à§‡ à§¦, à¦•à§‹à¦¨ à¦‰à¦ªà¦¾à¦¤à§à¦¤ à¦¥à¦¾à¦•à¦¬à§‡ à¦¨à¦¾",
+       "LISTS_CREATE_WITH_TOOLTIP": "যেকোন à¦¸à¦‚খà§à¦¯à¦• à¦ªà¦¦ à¦¨à¦¿à¦¯à¦¼à§‡ à¦à¦•à¦Ÿà¦¿ à¦¤à¦¾à¦²à¦¿à¦•à¦¾ à¦¤à§ˆà¦°à¦¿ à¦•à¦°à§à¦¨à¥¤",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "তালিকা",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "তালিকায় à¦à¦•à¦Ÿà¦¿ à¦ªà¦¦ à¦¯à§‹à¦— à¦•à¦°à§à¦¨à¥¤",
+       "LISTS_LENGTH_TITLE": "%1-à¦à¦° à¦¦à§ˆà¦°à§à¦˜à§à¦¯",
+       "LISTS_LENGTH_TOOLTIP": "à¦à¦•à¦Ÿà¦¿ à¦¤à¦¾à¦²à¦¿à¦•à¦¾à¦° à¦¦à§ˆà¦°à§à¦˜à§à¦¯ à¦ªà¦¾à¦ à¦¾à¦¬à§‡à¥¤",
+       "LISTS_ISEMPTY_TITLE": "%1 à¦–ালি",
+       "LISTS_ISEMPTY_TOOLTIP": "পাঠাবে à¦¸à¦¤à§à¦¯ à¦¯à¦¦à¦¿ à¦¤à¦¾à¦²à¦¿à¦•à¦¾à¦Ÿà¦¿ à¦–ালি à¦¹à¦¯à¦¼à¥¤",
+       "LISTS_INLIST": "তালিকার à¦®à¦§à§à¦¯à§‡",
+       "LISTS_INDEX_OF_FIRST": "আইটেমের à¦ªà§à¦°à¦¥à¦® à¦¸à¦‚ঘটন à¦–à§à¦à¦œà§à¦¨",
+       "LISTS_INDEX_OF_LAST": "আইটেমের à¦¶à§‡à¦· à¦¸à¦‚ঘটন à¦–à§à¦à¦œà§à¦¨",
+       "LISTS_GET_INDEX_GET": "নিন",
+       "LISTS_GET_INDEX_GET_REMOVE": "নিন à¦“ à¦¸à¦°à¦¾à¦¨",
+       "LISTS_GET_INDEX_REMOVE": "অপসারণ",
+       "LISTS_GET_INDEX_FROM_END": "# à¦¶à§‡à¦· à¦¥à§‡à¦•à§‡",
+       "LISTS_GET_INDEX_FIRST": "পà§à¦°à¦¥à¦®",
+       "LISTS_GET_INDEX_LAST": "শেষ",
+       "LISTS_GET_INDEX_RANDOM": "à¦à¦²à§‹à¦®à§‡à¦²à§‹",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "তালিকার à¦ªà§à¦°à¦¥à¦® à¦ªà¦¦à¦Ÿà¦¿ à¦ªà¦¾à¦ à¦¾à¦¬à§‡à¥¤",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "তালিকার à¦¶à§‡à¦· à¦ªà¦¦à¦Ÿà¦¿ à¦ªà¦¾à¦ à¦¾à¦¬à§‡à¥¤",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "à¦à¦²à§‹à¦®à§‡à¦²à§‹à¦­à¦¾à¦¬à§‡ à¦¤à¦¾à¦²à¦¿à¦•à¦¾à¦° à¦¯à§‡à¦•à§‹à¦¨ à¦à¦•à¦Ÿà¦¿ à¦ªà¦¦ à¦ªà¦¾à¦ à¦¾à¦¬à§‡à¥¤",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "অপসারণ à¦•à¦°à§à¦¨ à¦à¦¬à¦‚ à¦¤à¦¾à¦²à¦¿à¦•à¦¾à¦° à¦ªà§à¦°à¦¥à¦® à¦ªà¦¦à¦Ÿà¦¿ à¦ªà¦¾à¦ à¦¾à¦¨à¥¤",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "অপসারণ à¦•à¦°à§à¦¨ à¦à¦¬à¦‚ à¦¤à¦¾à¦²à¦¿à¦•à¦¾à¦° à¦¶à§‡à¦· à¦ªà¦¦à¦Ÿà¦¿ à¦ªà¦¾à¦ à¦¾à¦¨à¥¤",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "অপসারণ à¦•à¦°à§à¦¨ à¦à¦¬à¦‚ à¦¤à¦¾à¦²à¦¿à¦•à¦¾à¦° à¦à¦²à§‹à¦®à§‡à¦²à§‹ à¦à¦•à¦Ÿà¦¿ à¦ªà¦¦ à¦ªà¦¾à¦ à¦¾à¦¨à¥¤",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "তালিকার à¦ªà§à¦°à¦¥à¦® à¦ªà¦¦à¦Ÿà¦¿ à¦…পসারণ à¦•à¦°à¦¾ à¦¹à¦¯à¦¼à§‡à¦›à§‡à¥¤",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "তালিকার à¦¶à§‡à¦· à¦ªà¦¦à¦Ÿà¦¿ à¦…পসারণ à¦•à¦°à¦¾ à¦¹à¦¯à¦¼à§‡à¦›à§‡à¥¤",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "তালিকা à¦¥à§‡à¦•à§‡ à¦à¦²à§‹à¦®à§‡à¦²à§‹ à¦à¦•à¦Ÿà¦¿ à¦ªà¦¦ à¦…পসারণ à¦•à¦°à¦¾ à¦¹à¦¯à¦¼à§‡à¦›à§‡à¥¤",
+       "LISTS_SPLIT_LIST_FROM_TEXT": "লিখা à¦¥à§‡à¦•à§‡ à¦¤à¦¾à¦²à¦¿à¦•à¦¾ à¦¤à§ˆà¦°à¦¿ à¦•à¦°à§à¦¨",
+       "LISTS_SPLIT_TEXT_FROM_LIST": "তালিকা à¦¥à§‡à¦•à§‡ à¦²à¦¿à¦–া à¦¤à§ˆà¦°à¦¿ à¦•à¦°à§à¦¨",
+       "LISTS_REVERSE_TOOLTIP": "à¦à¦•à¦Ÿà¦¿ à¦¤à¦¾à¦²à¦¿à¦•à¦¾à¦° à¦à¦•à¦Ÿà¦¿ à¦…নà§à¦²à¦¿à¦ªà¦¿ à¦‰à¦²à§à¦Ÿà¦¾à¦¨",
+       "VARIABLES_SET_CREATE_GET": "'%1 à¦¨à¦¿à¦¨' à¦¤à§ˆà¦°à¦¿ à¦•à¦°à§à¦¨",
+       "PROCEDURES_DEFNORETURN_TITLE": "à¦à¦¤à§‡",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "আউটপà§à¦Ÿ à¦›à¦¾à¦¡à¦¼à¦¾ à¦à¦•à¦Ÿà¦¿ à¦•à§à¦°à¦¿à¦¯à¦¼à¦¾ à¦¤à§ˆà¦°à¦¿ à¦•à¦°à§à¦¨à¥¤",
+       "PROCEDURES_DEFRETURN_RETURN": "পাঠাবে",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "আউটপà§à¦Ÿ à¦¸à¦¹ à¦à¦•à¦Ÿà¦¿ à¦•à§à¦°à¦¿à¦¯à¦¼à¦¾ à¦¤à§ˆà¦°à¦¿ à¦•à¦°à§à¦¨à¥¤",
+       "PROCEDURES_MUTATORARG_TITLE": "ইনপà§à¦Ÿà§‡à¦° à¦¨à¦¾à¦®:",
+       "PROCEDURES_MUTATORARG_TOOLTIP": "কà§à¦°à¦¿à¦¯à¦¼à¦¾à¦¤à§‡ à¦à¦•à¦Ÿà¦¿ à¦‡à¦¨à¦ªà§à¦Ÿ à¦¯à§‹à¦— à¦•à¦°à§à¦¨à¥¤",
+       "PROCEDURES_HIGHLIGHT_DEF": "কà§à¦°à¦¿à¦¯à¦¼à¦¾à¦° à¦¸à¦‚জà§à¦žà¦¾ à¦‰à¦œà§à¦œà¦² à¦•à¦°à§à¦¨",
+       "PROCEDURES_IFRETURN_TOOLTIP": "যদি à¦®à¦¾à¦¨ à¦¸à¦¤à§à¦¯ à¦¹à¦¯à¦¼ à¦¤à¦¾à¦¹à¦²à§‡ à¦¦à§à¦¬à¦¿à¦¤à§€à¦¯à¦¼ à¦®à¦¾à¦¨ à¦ªà¦¾à¦ à¦¾à¦¬à§‡à¥¤"
+}
diff --git a/js/msg/json/br.json b/js/msg/json/br.json
new file mode 100644 (file)
index 0000000..f605367
--- /dev/null
@@ -0,0 +1,347 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Fohanno",
+                       "Y-M D",
+                       "Gwenn-Ael",
+                       "Fulup",
+                       "Vicng"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "elfenn",
+       "TODAY": "Hiziv",
+       "DUPLICATE_BLOCK": "Eiladuriñ",
+       "ADD_COMMENT": "Ouzhpennañ un evezhiadenn",
+       "REMOVE_COMMENT": "Lemel an evezhiadenn kuit",
+       "EXTERNAL_INPUTS": "Monedoù diavaez",
+       "INLINE_INPUTS": "Monedoù enlinenn",
+       "DELETE_BLOCK": "Dilemel ar bloc'h",
+       "DELETE_X_BLOCKS": "Dilemel %1 bloc'h",
+       "DELETE_ALL_BLOCKS": "Diverkañ an holl vloc'hoù %1 ?",
+       "CLEAN_UP": "Naetaat ar bloc'hoù",
+       "COLLAPSE_BLOCK": "Bihanaat ar bloc'h",
+       "COLLAPSE_ALL": "Bihanaat ar bloc'hoù",
+       "EXPAND_BLOCK": "Astenn ar bloc'h",
+       "EXPAND_ALL": "Astenn ar bloc'hoù",
+       "DISABLE_BLOCK": "Diweredekaat ar bloc'h",
+       "ENABLE_BLOCK": "Gweredekaat ar bloc'h",
+       "HELP": "Skoazell",
+       "UNDO": "Dizober",
+       "REDO": "Adober",
+       "CHANGE_VALUE_TITLE": "Kemmañ an dalvoudenn :",
+       "RENAME_VARIABLE": "Adenvel an argemmenn...",
+       "RENAME_VARIABLE_TITLE": "Adenvel an holl argemmennoù '%1' e :",
+       "NEW_VARIABLE": "Krouiñ un argemmenn nevez...",
+       "NEW_STRING_VARIABLE": "Krouiñ un argemmenn chadenn...",
+       "NEW_NUMBER_VARIABLE": "Krouiñ un argemm niver...",
+       "NEW_COLOUR_VARIABLE": "Krouiñ un argemmenn liv...",
+       "NEW_VARIABLE_TYPE_TITLE": "Doare nevez a argemm:",
+       "NEW_VARIABLE_TITLE": "Anv an argemmenn nevez :",
+       "VARIABLE_ALREADY_EXISTS": "Un argemmenn anvet '%1' zo anezhi dija.",
+       "VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE": "Un argemenn anvet '%1' zo c'hoazh evit un argemenn all eus ar seurt : '%2'.",
+       "DELETE_VARIABLE_CONFIRMATION": "Lemel %1 implij eus an argemm '%2' ?",
+       "CANNOT_DELETE_VARIABLE_PROCEDURE": "Ne ch'aller ket dilemel an argemmenn \"%1\" dre m'eo lod eus dielfennadur an arc'hwel \"%2\"",
+       "DELETE_VARIABLE": "Lemel an argemm '%1'",
+       "COLOUR_PICKER_HELPURL": "http://br.wikipedia.org/wiki/Liv",
+       "COLOUR_PICKER_TOOLTIP": "Dibab ul liv diwar al livaoueg.",
+       "COLOUR_RANDOM_TITLE": "liv dargouezhek",
+       "COLOUR_RANDOM_TOOLTIP": "Tennañ ul liv d'ar sord",
+       "COLOUR_RGB_TITLE": "liv gant",
+       "COLOUR_RGB_RED": "ruz",
+       "COLOUR_RGB_GREEN": "gwer",
+       "COLOUR_RGB_BLUE": "glas",
+       "COLOUR_RGB_TOOLTIP": "Krouiñ ul liv gant ar c'hementad spisaet a ruz, a wer hag a c'hlas. Etre 0 ha 100 e tle bezañ an holl dalvoudoù.",
+       "COLOUR_BLEND_TITLE": "meskañ",
+       "COLOUR_BLEND_COLOUR1": "liv 1",
+       "COLOUR_BLEND_COLOUR2": "liv 2",
+       "COLOUR_BLEND_RATIO": "feur",
+       "COLOUR_BLEND_TOOLTIP": "a gemmesk daou liv gant ur feur roet(0.0 - 1.0).",
+       "CONTROLS_REPEAT_HELPURL": "https://en.wikipedia.org/wiki/For_loop",
+       "CONTROLS_REPEAT_TITLE": "adober %1 gwech",
+       "CONTROLS_REPEAT_INPUT_DO": "ober",
+       "CONTROLS_REPEAT_TOOLTIP": "Seveniñ urzhioù zo meur a wech",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "adober keit ha ma",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "adober betek",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "Keit ha ma vez gwir un dalvoudenn, seveniñ urzhioù zo neuze.",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "Keit ha ma vez faos un dalvoudenn, seveniñ urzhioù zo neuze.",
+       "CONTROLS_FOR_TOOLTIP": "Ober e doare ma kemero an argemmenn \"%1\" an talvoudennoù adalek niverenn an deroù betek niverenn an dibenn, en ur inkremantiñ an esaouenn, ha seveniñ an urzhioù spisaet.",
+       "CONTROLS_FOR_TITLE": "kontañ gant %1 eus %2 da %3 dre %4",
+       "CONTROLS_FOREACH_TITLE": "evit pep elfenn %1 er roll %2",
+       "CONTROLS_FOREACH_TOOLTIP": "Evit pep elfenn en ur roll, reiñ talvoud an elfenn d'an argemmenn '%1', ha seveniñ urzhioù zo da c'houde.",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "Mont e-maez an adlañsañ",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "Kenderc'hel gant iteradur nevez ar rodell",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "Mont e-maez ar boukl engronnus.",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "Lammat ar rest eus ar rodell, ha kenderc'hel gant an iteradur war-lerc'h.",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "Diwallit : ne c'hall ar bloc'h-mañ bezañ implijet nemet e-barzh ur boukl.",
+       "CONTROLS_IF_TOOLTIP_1": "Ma vez gwir un dalvoudenn, seveniñ urzhioù zo neuze.",
+       "CONTROLS_IF_TOOLTIP_2": "Ma vez gwir un dalvoudenn, seveniñ ar c'henañ bloc'had urzhioù neuze. Anez seveniñ an eil bloc'had urzhioù.",
+       "CONTROLS_IF_TOOLTIP_3": "Ma vez gwir an dalvoudenn gentañ, seveniñ ar c'hentañ bloc'had urzhioù neuze. Anez ma vez gwir an eil talvoudenn, seveniñ an eil bloc'had urzhioù.",
+       "CONTROLS_IF_TOOLTIP_4": "Ma vez gwir an dalvoudenn gentañ, seveniñ ar c'hentañ bloc'had. Anez, ma vez gwir an eil talvoudenn, seveniñ an eil bloc'had urzhioù. Ma ne vez gwir talvoudenn ebet, seveniñ ar bloc'had diwezhañ a urzhioù.",
+       "CONTROLS_IF_MSG_IF": "ma",
+       "CONTROLS_IF_MSG_ELSEIF": "mod all ma",
+       "CONTROLS_IF_MSG_ELSE": "a-hend-all",
+       "CONTROLS_IF_IF_TOOLTIP": "Ouzhpennañ, lemel pe adurzhiañ ar rannoù evit kefluniañ ar bloc'h ma.",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "Ouzhpennañ un amplegad d'ar bloc'h ma.",
+       "CONTROLS_IF_ELSE_TOOLTIP": "Ouzhpennañ un amplegad dibenn lak-pep-tra d'ar bloc'h ma.",
+       "IOS_OK": "Mat eo",
+       "IOS_CANCEL": "Nullañ",
+       "IOS_ERROR": "Fazi",
+       "IOS_PROCEDURES_INPUTS": "MONEDOÙ",
+       "IOS_PROCEDURES_ADD_INPUT": "+ Ouzhpennañ ur moned",
+       "IOS_PROCEDURES_ALLOW_STATEMENTS": "Urzhioù aotreet",
+       "IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR": "An arc'hwel-mañ en deus monedoù eiladet.",
+       "IOS_VARIABLES_ADD_VARIABLE": "+ Ouzhpennañ un argemmenn",
+       "IOS_VARIABLES_ADD_BUTTON": "Ouzhpennañ",
+       "IOS_VARIABLES_RENAME_BUTTON": "Adenvel",
+       "IOS_VARIABLES_DELETE_BUTTON": "Diverkañ",
+       "IOS_VARIABLES_VARIABLE_NAME": "Anv an argemmenn",
+       "IOS_VARIABLES_EMPTY_NAME_ERROR": "Ne c'hallit ket implijout un anv argemmenn c'houllo.",
+       "LOGIC_COMPARE_HELPURL": "https://en.wikipedia.org/wiki/Inequality_(mathematics)",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "Distreiñ gwir m'eo par an daou voned.",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "Distreiñ gwir ma n'eo ket par an daou voned.",
+       "LOGIC_COMPARE_TOOLTIP_LT": "Distreiñ gwir m'eo bihanoc'h ar moned kentañ eget an eil.",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "Distreiñ gwir m'eo bihanoc'h ar moned kentañ eget an eil pe m'eo par dezhañ.",
+       "LOGIC_COMPARE_TOOLTIP_GT": "Distreiñ gwir m'eo brasoc'h ar moned kentañ eget an eil.",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "Distreiñ gwir m'eo brasoc'h ar moned kentañ eget an eil pe par dezhañ.",
+       "LOGIC_OPERATION_TOOLTIP_AND": "Distreiñ gwir m'eo gwir an da daou voned.",
+       "LOGIC_OPERATION_AND": "ha(g)",
+       "LOGIC_OPERATION_TOOLTIP_OR": "Distreiñ gwir m'eo gwir unan eus an daou voned da nebeutañ.",
+       "LOGIC_OPERATION_OR": "pe",
+       "LOGIC_NEGATE_TITLE": "nann %1",
+       "LOGIC_NEGATE_TOOLTIP": "Distreiñ gwir m'eo faos ar moned. Distreiñ faos m'eo gwir ar moned.",
+       "LOGIC_BOOLEAN_TRUE": "gwir",
+       "LOGIC_BOOLEAN_FALSE": "gaou",
+       "LOGIC_BOOLEAN_TOOLTIP": "Distreiñ pe gwir pe faos",
+       "LOGIC_NULL": "Null",
+       "LOGIC_NULL_TOOLTIP": "Distreiñ null.",
+       "LOGIC_TERNARY_CONDITION": "amprouad",
+       "LOGIC_TERNARY_IF_TRUE": "m'eo gwir",
+       "LOGIC_TERNARY_IF_FALSE": "m'eo gaou",
+       "LOGIC_TERNARY_TOOLTIP": "Gwiriañ an amplegad e 'prouad'. M'eo gwir an amplegad, distreiñ an dalvoudenn 'm'eo gwir'; anez distreiñ ar moned 'm'eo faos'.",
+       "MATH_NUMBER_HELPURL": "https://br.wikipedia.org/wiki/Niver",
+       "MATH_NUMBER_TOOLTIP": "Un niver.",
+       "MATH_ARITHMETIC_HELPURL": "https://br.wikipedia.org/wiki/Aritmetik",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "Distreiñ sammad daou niver.",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "Distreiñ diforc'h daou niver",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "Distreiñ liesad daou niver.",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "Distreiñ rannad daou niver.",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "Distreiñ an niver kentañ lakaet dindan gallouter an eil niver.",
+       "MATH_SINGLE_HELPURL": "https://br.wikipedia.org/wiki/Square_root",
+       "MATH_SINGLE_OP_ROOT": "gwrizienn garrez",
+       "MATH_SINGLE_TOOLTIP_ROOT": "Distreiñ gwrizienn garrez un niver",
+       "MATH_SINGLE_OP_ABSOLUTE": "dizave",
+       "MATH_SINGLE_TOOLTIP_ABS": "Distreiñ talvoud dizave un niver.",
+       "MATH_SINGLE_TOOLTIP_NEG": "Distreiñ enebad un niver",
+       "MATH_SINGLE_TOOLTIP_LN": "Distreiñ logaritm naturel un niver",
+       "MATH_SINGLE_TOOLTIP_LOG10": "Distreiñ logaritm diazez 10 un niver",
+       "MATH_SINGLE_TOOLTIP_EXP": "Distreiñ galloudad un niver.",
+       "MATH_SINGLE_TOOLTIP_POW10": "Distreiñ 10 da c'halloudad un niver.",
+       "MATH_TRIG_HELPURL": "https://br.wikipedia.org/wiki/Trigonometric_functions",
+       "MATH_TRIG_TOOLTIP_SIN": "Distreiñ sinuz ur c'horn (ket e radianoù)",
+       "MATH_TRIG_TOOLTIP_COS": "Distreiñ kosinuz ur c'horn (ket e radianoù)",
+       "MATH_TRIG_TOOLTIP_TAN": "Distreiñ tangent ur c'horn (ket e radianoù).",
+       "MATH_TRIG_TOOLTIP_ASIN": "Distreiñ ark sinuz un niver",
+       "MATH_TRIG_TOOLTIP_ACOS": "Distreiñ ark kosinuz un niver",
+       "MATH_TRIG_TOOLTIP_ATAN": "Distreiñ ark tangent un niver",
+       "MATH_CONSTANT_HELPURL": "https://en.wikipedia.org/wiki/Mathematical_constant",
+       "MATH_CONSTANT_TOOLTIP": "Distreiñ unan eus  digemmennoù red : Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), or âˆž (anvevenn).",
+       "MATH_IS_EVEN": "zo par",
+       "MATH_IS_ODD": "zo ampar",
+       "MATH_IS_PRIME": "zo kentañ",
+       "MATH_IS_WHOLE": "zo anterin",
+       "MATH_IS_POSITIVE": "a zo pozitivel",
+       "MATH_IS_NEGATIVE": "a zo negativel",
+       "MATH_IS_DIVISIBLE_BY": "a zo rannadus dre",
+       "MATH_IS_TOOLTIP": "Gwiriañ m'eo par, anpar, kentañ, muiel, leiel un niverenn pe ma c'haller rannañ anezhi dre un niver roet zo. Distreiñ gwir pe faos.",
+       "MATH_CHANGE_HELPURL": "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter",
+       "MATH_CHANGE_TITLE": "kemmañ %1 gant %2",
+       "MATH_CHANGE_TOOLTIP": "Ouzhpennañ un niver d'an argemmenn '%1'.",
+       "MATH_ROUND_HELPURL": "https://en.wikipedia.org/wiki/Rounding",
+       "MATH_ROUND_TOOLTIP": "Rontaat un niver dindan pe a-us",
+       "MATH_ROUND_OPERATOR_ROUND": "Rontaat",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "Rontaat a-us",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "Rontaat dindan",
+       "MATH_ONLIST_OPERATOR_SUM": "Sammad al listenn",
+       "MATH_ONLIST_TOOLTIP_SUM": "Distreiñ sammad an holl niveroù zo el listenn.",
+       "MATH_ONLIST_OPERATOR_MIN": "Izegenn al listenn",
+       "MATH_ONLIST_TOOLTIP_MIN": "Distreiñ an niver bihanañ el listenn",
+       "MATH_ONLIST_OPERATOR_MAX": "Uc'hegenn al listenn",
+       "MATH_ONLIST_TOOLTIP_MAX": "Distreiñ an niver brasañ el listenn.",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "Keitat al listenn",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "Distreiñ keitad (niveroniel) an talvoudennoù niverel el listenn.",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "Kreizad al listenn",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "Distreiñ an niver kreiz el listenn",
+       "MATH_ONLIST_OPERATOR_MODE": "modoù stankañ el listenn",
+       "MATH_ONLIST_TOOLTIP_MODE": "Distreiñ ul listennad elfennoù stankoc'h el listenn.",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "forc'had standart eus al listenn",
+       "MATH_ONLIST_TOOLTIP_STD_DEV": "Distreiñ forc'had standart al listenn.",
+       "MATH_ONLIST_OPERATOR_RANDOM": "Elfennn eus al listenn tennet d'ar sord",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "Distreiñ un elfenn zargouezhek el listenn",
+       "MATH_MODULO_HELPURL": "https://en.wikipedia.org/wiki/Modulo_operation",
+       "MATH_MODULO_TITLE": "rest eus %1 ÷ %2",
+       "MATH_MODULO_TOOLTIP": "Distreiñ dilerc'h rannadur an div niver",
+       "MATH_CONSTRAIN_TITLE": "destrizhañ %1 etre %2 ha %3",
+       "MATH_CONSTRAIN_TOOLTIP": "Destrizhañ un niver da vezañ etre ar bevennoù spisaet (enlakaet)",
+       "MATH_RANDOM_INT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_INT_TITLE": "anterin dargouezhek etre %1 ha %2",
+       "MATH_RANDOM_INT_TOOLTIP": "Distreiñ un anterin dargouezhek etre an div vevenn spisaet, endalc'het.",
+       "MATH_RANDOM_FLOAT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "Rann dargouezhek",
+       "MATH_RANDOM_FLOAT_TOOLTIP": "Distreiñ ur rann dargouezhek etre 0.0 (enkaelat) hag 1.0 (ezkaelat).",
+       "TEXT_TEXT_HELPURL": "https://en.wikipedia.org/wiki/String_(computer_science)",
+       "TEXT_TEXT_TOOLTIP": "Ul lizherenn, ur ger pe ul linennad testenn.",
+       "TEXT_JOIN_TITLE_CREATEWITH": "krouiñ un destenn gant",
+       "TEXT_JOIN_TOOLTIP": "Krouit un tamm testenn en ur gevelstrollañ un niver bennak a elfennoù",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "stagañ",
+       "TEXT_CREATE_JOIN_TOOLTIP": "Ouzhpennañ, lemel pe adurzhiañ ar rannoù evit kefluniañ ar bloc'h testenn-mañ.",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "Ouzhpennañ un elfenn d'an destenn.",
+       "TEXT_APPEND_TITLE": "Ouzhpennañ an destenn %2 da %1",
+       "TEXT_APPEND_TOOLTIP": "Ouzhpennañ testenn d'an argemmenn'%1'.",
+       "TEXT_LENGTH_TITLE": "hirder %1",
+       "TEXT_LENGTH_TOOLTIP": "Distreiñ an niver a lizherennoù(en ur gontañ an esaouennoù e-barzh) en destenn roet.",
+       "TEXT_ISEMPTY_TITLE": "%1 zo goullo",
+       "TEXT_ISEMPTY_TOOLTIP": "Adkas gwir m'eo goullo an destenn roet.",
+       "TEXT_INDEXOF_TOOLTIP": "Distreiñ meneger ar c'hentañ/an eil reveziadenn eus ar chadenn gentañ en eil chadenn. Distreiñ %1 ma n'eo ket kavet ar chadenn.",
+       "TEXT_INDEXOF_TITLE": "en destenn %1 %2 %3",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "kavout reveziadenn gentañ an destenn",
+       "TEXT_INDEXOF_OPERATOR_LAST": "kavout reveziadenn diwezhañ an destenn",
+       "TEXT_CHARAT_TITLE": "en destenn %1 %2",
+       "TEXT_CHARAT_FROM_START": "Kaout al lizherenn #",
+       "TEXT_CHARAT_FROM_END": "Kaout al lizherenn # adalek an dibenn.",
+       "TEXT_CHARAT_FIRST": "tapout al lizherenn gentañ",
+       "TEXT_CHARAT_LAST": "tapout al lizherenn ziwezhañ",
+       "TEXT_CHARAT_RANDOM": "Kaout ul lizherenn dre zegouezh",
+       "TEXT_CHARAT_TOOLTIP": "Distreiñ al lizherenn d'al lec'h spisaet.",
+       "TEXT_GET_SUBSTRING_TOOLTIP": "Distreiñ un tamm spisaet eus an destenn.",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "en destenn",
+       "TEXT_GET_SUBSTRING_START_FROM_START": "Kaout an ischadenn adalek al lizherenn #",
+       "TEXT_GET_SUBSTRING_START_FROM_END": "Kaout an ischadenn adalek al lizherenn # betek an dibenn",
+       "TEXT_GET_SUBSTRING_START_FIRST": "Kaout an ischadenn adalek al lizherenn gentañ",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "betek al lizherenn #",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "Betek al lizherenn # adalek an dibenn.",
+       "TEXT_GET_SUBSTRING_END_LAST": "d'al lizherenn diwezhañ",
+       "TEXT_CHANGECASE_TOOLTIP": "Distreiñ un eilenn eus an eilenn en un direnneg all",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "e PENNLIZHERENNOÙ",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "e lizherennoù bihan",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": "Gant Ur Bennlizherenn E Deroù Pep Ger",
+       "TEXT_TRIM_TOOLTIP": "Distreiñ un eilenn eus an destenn gant an esaouennoù lamet eus un tu pe eus an daou du",
+       "TEXT_TRIM_OPERATOR_BOTH": "Lemel an esaouennoù en daou du",
+       "TEXT_TRIM_OPERATOR_LEFT": "Lemel an esaouennoù eus an tu kleiz",
+       "TEXT_TRIM_OPERATOR_RIGHT": "Lemel an esaouennoù eus an tu dehou",
+       "TEXT_PRINT_TITLE": "moullañ %1",
+       "TEXT_PRINT_TOOLTIP": "Moullañ an destenn, an niverenn pe un dalvoudenn spisaet all",
+       "TEXT_PROMPT_TYPE_TEXT": "pedadenn evit un destenn gant ur c'hemennad",
+       "TEXT_PROMPT_TYPE_NUMBER": "pedadenn evit un niver gant ur c'hemennad",
+       "TEXT_PROMPT_TOOLTIP_NUMBER": "Goulenn un niver gant an implijer.",
+       "TEXT_PROMPT_TOOLTIP_TEXT": "Goulenn un destenn gant an implijer.",
+       "TEXT_COUNT_MESSAGE0": "niver %1 war %2",
+       "TEXT_COUNT_HELPURL": "https://github.com/google/blockly/wiki/Text#counting-substrings",
+       "TEXT_COUNT_TOOLTIP": "Kontañ pet gwech e c'hoarvez un destenn bennak en un destenn bennak all.",
+       "TEXT_REPLACE_MESSAGE0": "erlec'hiañ %1 gant %2 e %3",
+       "TEXT_REPLACE_HELPURL": "https://github.com/google/blockly/wiki/Text#replacing-substrings",
+       "TEXT_REPLACE_TOOLTIP": "Erlec'hiañ holl reveziadennoù un destenn bennak gant un destenn all.",
+       "TEXT_REVERSE_MESSAGE0": "eilpennañ %1",
+       "TEXT_REVERSE_HELPURL": "https://github.com/google/blockly/wiki/Text#reversing-text",
+       "TEXT_REVERSE_TOOLTIP": "Eilpennañ urzh an arouezennoù en destenn.",
+       "LISTS_CREATE_EMPTY_TITLE": "krouiñ ur roll goullo",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "Distreiñ ul listenn, 0 a hirder, n'eus enrolladenn ebet enni",
+       "LISTS_CREATE_WITH_HELPURL": "https://github.com/google/blockly/wiki/Lists#create-list-with",
+       "LISTS_CREATE_WITH_TOOLTIP": "Krouiñ ur roll gant un niver bennak a elfennoù.",
+       "LISTS_CREATE_WITH_INPUT_WITH": "krouiñ ur roll gant",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "roll",
+       "LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "Ouzhpennañ, lemel pe adurzhiañ ar rannoù evit kefluniañ ar bloc'h listenn-mañ.",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "Ouzhpennañ un elfenn d'ar roll",
+       "LISTS_REPEAT_TOOLTIP": "Krouiñ ul listenn a c'hoarvez eus an dalvoudenn roet arreet an niver a wech meneget",
+       "LISTS_REPEAT_TITLE": "Krouiñ ul listenn gant an elfenn %1 arreet %2 div wech",
+       "LISTS_LENGTH_TITLE": "hirder %1",
+       "LISTS_LENGTH_TOOLTIP": "Distreiñ hirder ul listenn.",
+       "LISTS_ISEMPTY_TITLE": "%1 zo goullo",
+       "LISTS_ISEMPTY_TOOLTIP": "Distreiñ gwir m'eo goullo al listenn.",
+       "LISTS_INLIST": "el listenn",
+       "LISTS_INDEX_OF_FIRST": "kavout reveziadenn gentañ un elfenn",
+       "LISTS_INDEX_OF_LAST": "kavout reveziadenn diwezhañ un elfenn",
+       "LISTS_INDEX_OF_TOOLTIP": "Distreiñ meneger ar c'hentañ/an eil reveziadenn eus an elfenn en ul listenn. Distreiñ %1 ma n'eo ket kavet an destenn.",
+       "LISTS_GET_INDEX_GET": "tapout",
+       "LISTS_GET_INDEX_GET_REMOVE": "tapout ha lemel",
+       "LISTS_GET_INDEX_REMOVE": "lemel",
+       "LISTS_GET_INDEX_FROM_END": "# adalek ar fin",
+       "LISTS_GET_INDEX_FIRST": "kentañ",
+       "LISTS_GET_INDEX_LAST": "diwezhañ",
+       "LISTS_GET_INDEX_RANDOM": "dre zegouezh",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "%1 eo an elfenn gentañ.",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "%1 eo an elfenn gentañ.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "Distreiñ an elfenn el lec'h meneget en ul listenn.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "Distreiñ an elfenn gentañ en ul listenn.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "Distreiñ un elfenn diwezhañ en ul listenn.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "Distreiñ un elfenn dre zegouezh en ul listenn.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "Lemel ha distreiñ a ra an elfenn el lec'h meneget en ul listenn.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "Lemel ha distreiñ a ra an elfenn gentañ en ul listenn.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "Lemel ha distreiñ a ra an elfenn diwezhañ en ul listenn.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "Lemel ha distreiñ a ra an elfenn dre zegouezh en ul listenn.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "Lemel a ra an elfenn el lec'h meneget en ul listenn.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "Lemel a ra an elfenn gentañ en ul listenn.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "Lemel a ra an elfenn diwezhañ en ul listenn.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "Lemel a ra un elfenn dre zegouezh en ul listenn.",
+       "LISTS_SET_INDEX_SET": "termenañ",
+       "LISTS_SET_INDEX_INSERT": "ensoc'hañ evel",
+       "LISTS_SET_INDEX_INPUT_TO": "evel",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "Termenañ a ra an elfenn el lec'h meneget en ul listenn.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "Termenañ a ra an elfenn gentañ en ul listenn.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_LAST": "Termenañ a ra an elfenn diwezhañ en ul listenn.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "Termenañ a ra un elfenn dre zegouezh en ul listenn.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "Ensoc'hañ a ra an elfenn el lec'h meneget en ul listenn.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "Ensoc'hañ a ra an elfenn e deroù ul listenn.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "Ouzhpennañ a ra an elfenn e fin al listenn.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "Ensoc'hañ a ra an elfenn dre zegouezh en ul listenn.",
+       "LISTS_GET_SUBLIST_START_FROM_START": "Kaout an islistenn adalek #",
+       "LISTS_GET_SUBLIST_START_FROM_END": "Kaout an islistenn adalek # adalek an dibenn",
+       "LISTS_GET_SUBLIST_START_FIRST": "Kaout an islistenn adalek an deroù",
+       "LISTS_GET_SUBLIST_END_FROM_START": "da #",
+       "LISTS_GET_SUBLIST_END_FROM_END": "betek # adalek an dibenn",
+       "LISTS_GET_SUBLIST_END_LAST": "betek ar fin",
+       "LISTS_GET_SUBLIST_TOOLTIP": "Krouiñ un eilad eus lodenn spisaet ul listenn.",
+       "LISTS_SORT_HELPURL": "https://github.com/google/blockly/wiki/Lists#create-list-with",
+       "LISTS_SORT_TITLE": "Rummañ%1,%2,%3",
+       "LISTS_SORT_TOOLTIP": "Rummañ un eilenn eus ar roll",
+       "LISTS_SORT_ORDER_ASCENDING": "war gresk",
+       "LISTS_SORT_ORDER_DESCENDING": "war zigresk",
+       "LISTS_SORT_TYPE_NUMERIC": "niverel",
+       "LISTS_SORT_TYPE_TEXT": "Dre urzh al lizherenneg",
+       "LISTS_SORT_TYPE_IGNORECASE": "Dre urzh al lizherenneg, hep derc'hel kont eus an direnneg",
+       "LISTS_SPLIT_HELPURL": "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists",
+       "LISTS_SPLIT_LIST_FROM_TEXT": "Krouiñ ul listenn diwar an destenn",
+       "LISTS_SPLIT_TEXT_FROM_LIST": "Krouiñ un destenn diwar al listenn",
+       "LISTS_SPLIT_WITH_DELIMITER": "gant an dispartier",
+       "LISTS_SPLIT_TOOLTIP_SPLIT": "Troc'hañ un destenn en ul listennad testennoù, o troc'hañ e pep dispartier.",
+       "LISTS_SPLIT_TOOLTIP_JOIN": "Bodañ ul listennad testennoù en ul listenn hepken, o tispartiañ anezho gant un dispartier.",
+       "LISTS_REVERSE_HELPURL": "https://github.com/google/blockly/wiki/Lists#reversing-a-list",
+       "LISTS_REVERSE_MESSAGE0": "eilpennañ %1",
+       "LISTS_REVERSE_TOOLTIP": "Eilpennañ un eilskrid eus ur roll.",
+       "VARIABLES_GET_TOOLTIP": "Distreiñ talvoud an argemm-mañ.",
+       "VARIABLES_GET_CREATE_SET": "Krouiñ 'termenañ %1'",
+       "VARIABLES_SET": "termenañ %1 da %2",
+       "VARIABLES_SET_TOOLTIP": "Termenañ a ra argemm-mañ evit ma vo par da dalvoudenn ar moned.",
+       "VARIABLES_SET_CREATE_GET": "Krouiñ 'kaout %1'",
+       "PROCEDURES_DEFNORETURN_TITLE": "da",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "ober un dra bennak",
+       "PROCEDURES_BEFORE_PARAMS": "gant :",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "gant :",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "Krouiñ un arc'hwel hep mont er-maez.",
+       "PROCEDURES_DEFNORETURN_COMMENT": "Deskrivañ an arc'hwel-mañ...",
+       "PROCEDURES_DEFRETURN_RETURN": "distreiñ",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "Kouiñ un arc'hwel gant ur mont er-maez",
+       "PROCEDURES_ALLOW_STATEMENTS": "aotren an disklêriadurioù",
+       "PROCEDURES_DEF_DUPLICATE_WARNING": "Diwallit : an arc'hwel-mañ en deus arventennoù eiladet.",
+       "PROCEDURES_CALLNORETURN_HELPURL": "https://en.wikipedia.org/wiki/Subroutine",
+       "PROCEDURES_CALLNORETURN_TOOLTIP": "Seveniñ an arc'hwel '%1' termenet gant an implijer.",
+       "PROCEDURES_CALLRETURN_HELPURL": "https://en.wikipedia.org/wiki/Subroutine",
+       "PROCEDURES_CALLRETURN_TOOLTIP": "Seveniñ an arc'hwel '%1' termenet gant an implijer hag implijout e zisoc'h.",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "Monedoù",
+       "PROCEDURES_MUTATORCONTAINER_TOOLTIP": "Ouzhpennañ, lemel, pe adkempenn monedoù an arc'hwel-mañ.",
+       "PROCEDURES_MUTATORARG_TITLE": "Anv ar moned",
+       "PROCEDURES_MUTATORARG_TOOLTIP": "Ouzhpennañ ur moned d'an arc'hwel.",
+       "PROCEDURES_HIGHLIGHT_DEF": "Dreislinennañ termenadur an arc'hwel",
+       "PROCEDURES_CREATE_DO": "Krouiñ '%1'",
+       "PROCEDURES_IFRETURN_TOOLTIP": "Ma'z eo gwir un dalvoudenn, distreiñ un eil talvoudenn neuze.",
+       "PROCEDURES_IFRETURN_WARNING": "Diwallit : Gallout a rafe ar bloc'h bezañ implijet e termenadur un arc'hwel hepken."
+}
diff --git a/js/msg/json/ca.json b/js/msg/json/ca.json
new file mode 100644 (file)
index 0000000..18b7cbd
--- /dev/null
@@ -0,0 +1,318 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Alvaro Vidal-Abarca",
+                       "Espertus",
+                       "Hiperpobla",
+                       "Jaumeortola",
+                       "Fitoschido",
+                       "Quel.soler"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "element",
+       "TODAY": "Avui",
+       "DUPLICATE_BLOCK": "Duplica",
+       "ADD_COMMENT": "Afegeix un comentari",
+       "REMOVE_COMMENT": "Elimina el comentari",
+       "DUPLICATE_COMMENT": "Comentari duplicat",
+       "EXTERNAL_INPUTS": "Entrades externes",
+       "INLINE_INPUTS": "Entrades en línia",
+       "DELETE_BLOCK": "Esborra bloc",
+       "DELETE_X_BLOCKS": "Esborra %1 blocs",
+       "DELETE_ALL_BLOCKS": "Esborrar els %1 blocs?",
+       "CLEAN_UP": "Netejar blocs",
+       "COLLAPSE_BLOCK": "Contraure bloc",
+       "COLLAPSE_ALL": "Contraure blocs",
+       "EXPAND_BLOCK": "Expandir bloc",
+       "EXPAND_ALL": "Expandir blocs",
+       "DISABLE_BLOCK": "Desactiva bloc",
+       "ENABLE_BLOCK": "Activa bloc",
+       "HELP": "Ajuda",
+       "UNDO": "Desfer",
+       "REDO": "Refer",
+       "CHANGE_VALUE_TITLE": "Canvia valor:",
+       "RENAME_VARIABLE": "Reanomena variable...",
+       "RENAME_VARIABLE_TITLE": "Reanomena totes les variables '%1' a:",
+       "NEW_VARIABLE": "Crea una variable…",
+       "NEW_STRING_VARIABLE": "Crear variable de cadena…",
+       "NEW_NUMBER_VARIABLE": "Crea variable numèrica...",
+       "NEW_COLOUR_VARIABLE": "Crear variable de color...",
+       "NEW_VARIABLE_TYPE_TITLE": "Nou tipus de variable:",
+       "NEW_VARIABLE_TITLE": "Nou nom de variable:",
+       "VARIABLE_ALREADY_EXISTS": "Ja existeix una variable anomenada '%1'.",
+       "VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE": "Una variable anomenada '%1' ja existeix per al tipus '%2'.",
+       "DELETE_VARIABLE_CONFIRMATION": "Esborrar '%1' crides de la variable '%2'?",
+       "CANNOT_DELETE_VARIABLE_PROCEDURE": "No podem esborrar la variable '%1' perquè forma part de la definició de la funció '%2'",
+       "DELETE_VARIABLE": "Esborrar la variable '%1'",
+       "COLOUR_PICKER_HELPURL": "https://ca.wikipedia.org/wiki/Color",
+       "COLOUR_PICKER_TOOLTIP": "Escolliu un color de la paleta.",
+       "COLOUR_RANDOM_TITLE": "color aleatori",
+       "COLOUR_RANDOM_TOOLTIP": "Escolliu un color a l'atzar.",
+       "COLOUR_RGB_TITLE": "color amb",
+       "COLOUR_RGB_RED": "vermell",
+       "COLOUR_RGB_GREEN": "verd",
+       "COLOUR_RGB_BLUE": "blau",
+       "COLOUR_RGB_TOOLTIP": "Crear un color amb les quantitats especificades de vermell, verd i blau. Tots els valors han de ser entre 0 i 100.",
+       "COLOUR_BLEND_TITLE": "barreja",
+       "COLOUR_BLEND_COLOUR1": "color 1",
+       "COLOUR_BLEND_COLOUR2": "color 2",
+       "COLOUR_BLEND_RATIO": "proporció",
+       "COLOUR_BLEND_TOOLTIP": "Barreja dos colors amb una proporció donada (0,0 - 1,0).",
+       "CONTROLS_REPEAT_HELPURL": "https://ca.wikipedia.org/wiki/Bucle_For",
+       "CONTROLS_REPEAT_TITLE": "repetir %1 vegades",
+       "CONTROLS_REPEAT_INPUT_DO": "fer",
+       "CONTROLS_REPEAT_TOOLTIP": "Executar unes sentències diverses vegades.",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "repetir mentre",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "repetir fins que",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "Mentre un valor sigui cert, llavors executar unes sentències.",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "Mentre un valor sigui fals, llavors executar unes sentències.",
+       "CONTROLS_FOR_TOOLTIP": "Fer que la variable \"%1\" prengui els valors des del nombre inicial fins al nombre final, incrementant a cada pas l'intèrval indicat, i executar els blocs especificats.",
+       "CONTROLS_FOR_TITLE": "comptar amb %1 des de %2 fins a %3 en increments de %4",
+       "CONTROLS_FOREACH_TITLE": "per a cada element %1 en la llista %2",
+       "CONTROLS_FOREACH_TOOLTIP": "Per a cada element en la llista, desar l'element dins la variable '%1', i llavors executar unes sentències.",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "sortir del bucle",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "continuar amb la següent iteració del bucle",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "Sortir del bucle interior.",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "Ometre la resta d'aquest bucle, i continuar amb la següent iteració.",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "Advertència: Aquest bloc només es pot utilitzar dins d'un bucle.",
+       "CONTROLS_IF_TOOLTIP_1": "Si un valor és cert, llavors executar unes sentències.",
+       "CONTROLS_IF_TOOLTIP_2": "Si un valor és cert, llavors executar el primer bloc de sentències. En cas contrari, executar el segon bloc de sentències.",
+       "CONTROLS_IF_TOOLTIP_3": "Si el primer valor és cert, llavors executar el primer bloc de sentències. En cas contrari, si el segon valor és cert, executar el segon bloc de sentències.",
+       "CONTROLS_IF_TOOLTIP_4": "Si el primer valor és cert, llavors executar el primer bloc de sentències. En cas contrari, si el segon valor és cert, executar el segon bloc de sentències. Si cap dels valors és cert, executar l'últim bloc de sentències.",
+       "CONTROLS_IF_MSG_IF": "si",
+       "CONTROLS_IF_MSG_ELSEIF": "si no, si",
+       "CONTROLS_IF_MSG_ELSE": "si no",
+       "CONTROLS_IF_IF_TOOLTIP": "Afegeix, esborra o reordena seccions per reconfigurar aquest bloc 'si'.",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "Afegeix una condició al bloc 'si'.",
+       "CONTROLS_IF_ELSE_TOOLTIP": "Afegeix una condició final, que recull qualsevol altra possibilitat, al bloc 'si'.",
+       "IOS_OK": "D'acord",
+       "IOS_CANCEL": "Cancel·lar",
+       "IOS_ERROR": "Error",
+       "IOS_PROCEDURES_INPUTS": "ENTRADES",
+       "IOS_PROCEDURES_ADD_INPUT": "+ Afegeix Entrada",
+       "IOS_PROCEDURES_ALLOW_STATEMENTS": "Permetre instruccions",
+       "IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR": "Aquesta funció té entrades duplicades.",
+       "IOS_VARIABLES_ADD_VARIABLE": "+ Afegeix Variable",
+       "IOS_VARIABLES_ADD_BUTTON": "Afegir",
+       "IOS_VARIABLES_RENAME_BUTTON": "Reanomena",
+       "IOS_VARIABLES_DELETE_BUTTON": "Esborrar",
+       "LOGIC_COMPARE_HELPURL": "https://ca.wikipedia.org/wiki/Inequaci%C3%B3",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "Retorna cert si totes dues entrades són iguals.",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "Retorna cert si totes dues entrades són diferents.",
+       "LOGIC_COMPARE_TOOLTIP_LT": "Retorna cert si la primera entrada és més petita que la segona entrada.",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "Retorna cert si la primera entra és més petita o igual a la segona entrada.",
+       "LOGIC_COMPARE_TOOLTIP_GT": "Retorna cert si la primera entrada és més gran que la segona entrada.",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "Retorna cert si la primera entrada és més gran o igual a la segona entrada.",
+       "LOGIC_OPERATION_TOOLTIP_AND": "Retorna cer si totes dues entrades són certes.",
+       "LOGIC_OPERATION_AND": "i",
+       "LOGIC_OPERATION_TOOLTIP_OR": "Retorna cert si almenys una de les entrades és certa.",
+       "LOGIC_OPERATION_OR": "o",
+       "LOGIC_NEGATE_TITLE": "no %1",
+       "LOGIC_NEGATE_TOOLTIP": "Retorna cert si l'entrada és falsa. Retorna fals si l'entrada és certa.",
+       "LOGIC_BOOLEAN_TRUE": "cert",
+       "LOGIC_BOOLEAN_FALSE": "fals",
+       "LOGIC_BOOLEAN_TOOLTIP": "Retorna o bé cert o bé fals.",
+       "LOGIC_NULL": "nul",
+       "LOGIC_NULL_TOOLTIP": "Retorna nul.",
+       "LOGIC_TERNARY_CONDITION": "condició",
+       "LOGIC_TERNARY_IF_TRUE": "si és cert",
+       "LOGIC_TERNARY_IF_FALSE": "si és fals",
+       "LOGIC_TERNARY_TOOLTIP": "Comprova la condició de 'condició'. Si la condició és certa, retorna el valor 'si és cert'; en cas contrari, retorna el valor 'si és fals'.",
+       "MATH_NUMBER_HELPURL": "https://ca.wikipedia.org/wiki/Nombre",
+       "MATH_NUMBER_TOOLTIP": "Un nombre.",
+       "MATH_ARITHMETIC_HELPURL": "https://ca.wikipedia.org/wiki/Aritm%C3%A8tica",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "Retorna la suma dels dos nombres.",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "Retorna la diferència entre els dos nombres.",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "Retorna el producte del dos nombres.",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "Retorna el quocient dels dos nombres.",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "Retorna el primer nombre elevat a la potència indicada pel segon nombre.",
+       "MATH_SINGLE_HELPURL": "https://ca.wikipedia.org/wiki/Arrel_quadrada",
+       "MATH_SINGLE_OP_ROOT": "arrel quadrada",
+       "MATH_SINGLE_TOOLTIP_ROOT": "Retorna l'arrel quadrada d'un nombre.",
+       "MATH_SINGLE_OP_ABSOLUTE": "absolut",
+       "MATH_SINGLE_TOOLTIP_ABS": "Retorna el valor absolut d'un nombre.",
+       "MATH_SINGLE_TOOLTIP_NEG": "Retorna l'oposat d'un nombre.",
+       "MATH_SINGLE_TOOLTIP_LN": "Retorna el logaritme natural d'un nombre.",
+       "MATH_SINGLE_TOOLTIP_LOG10": "Retorna el logaritme en base 10 d'un nombre.",
+       "MATH_SINGLE_TOOLTIP_EXP": "Retorna ''e'' elevat a la potència del nombre indicat.",
+       "MATH_SINGLE_TOOLTIP_POW10": "Retorna 10 elevat a la potència del nombre indicat.",
+       "MATH_TRIG_HELPURL": "https://ca.wikipedia.org/wiki/Funci%C3%B3_trigonom%C3%A8trica",
+       "MATH_TRIG_TOOLTIP_SIN": "Retorna el sinus d'un grau (no radiant).",
+       "MATH_TRIG_TOOLTIP_COS": "Retorna el cosinus d'un grau (no radiant).",
+       "MATH_TRIG_TOOLTIP_TAN": "Retorna la tangent d'un grau (no radiant).",
+       "MATH_TRIG_TOOLTIP_ASIN": "Retorna l'arcsinus d'un nombre.",
+       "MATH_TRIG_TOOLTIP_ACOS": "Retorna l'arccosinus d'un nombre.",
+       "MATH_TRIG_TOOLTIP_ATAN": "Retorna l'arctangent d'un nombre.",
+       "MATH_CONSTANT_HELPURL": "https://ca.wikipedia.org/wiki/Constant_matem%C3%A0tica",
+       "MATH_CONSTANT_TOOLTIP": "Retorna una de les constants més habituals: Ï€ (3,141…), e (2,718…), Ï† (1,618…), sqrt(2) (1,414…), sqrt(½) (0,707…), o âˆž (infinit).",
+       "MATH_IS_EVEN": "és parell",
+       "MATH_IS_ODD": "és senar",
+       "MATH_IS_PRIME": "és primer",
+       "MATH_IS_WHOLE": "és enter",
+       "MATH_IS_POSITIVE": "és positiu",
+       "MATH_IS_NEGATIVE": "és negatiu",
+       "MATH_IS_DIVISIBLE_BY": "és divisible per",
+       "MATH_IS_TOOLTIP": "Comprova si un nombre és parell, senar, enter, positium negatiu, o si és divisible per un cert nombre. Retorna cert o fals.",
+       "MATH_CHANGE_HELPURL": "https://ca.wikipedia.org/wiki/Suma",
+       "MATH_CHANGE_TITLE": "canvia %1 per %2",
+       "MATH_CHANGE_TOOLTIP": "Afegeix un nombre a la variable '%1'.",
+       "MATH_ROUND_HELPURL": "https://ca.wikipedia.org/wiki/Arrodoniment",
+       "MATH_ROUND_TOOLTIP": "Arrodonir un nombre cap amunt o cap avall.",
+       "MATH_ROUND_OPERATOR_ROUND": "arrodonir",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "arrodonir cap amunt",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "arrodonir cap avall",
+       "MATH_ONLIST_OPERATOR_SUM": "suma de llista",
+       "MATH_ONLIST_TOOLTIP_SUM": "Retorna la suma de tots els nombres de la llista.",
+       "MATH_ONLIST_OPERATOR_MIN": "mínim de llista",
+       "MATH_ONLIST_TOOLTIP_MIN": "Retorna el nombre més petit de la llista.",
+       "MATH_ONLIST_OPERATOR_MAX": "màxim de llista",
+       "MATH_ONLIST_TOOLTIP_MAX": "Retorna el nombre més gran de la llista.",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "mitjana de llista",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "Retorna la mitjana (mitjana aritmètica) dels valors numèrics de la llista.",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "mediana de llista",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "Retorna la mediana de la llista.",
+       "MATH_ONLIST_OPERATOR_MODE": "moda de llista",
+       "MATH_ONLIST_TOOLTIP_MODE": "Retorna una llista dels elements que apareixen més vegades a la llista.",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "desviació estàndard de llista",
+       "MATH_ONLIST_TOOLTIP_STD_DEV": "Retorna la desviació estàndard de la llista.",
+       "MATH_ONLIST_OPERATOR_RANDOM": "element aleatori de llista",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "Retorna un element aleatori de la lllista.",
+       "MATH_MODULO_HELPURL": "https://ca.wikipedia.org/wiki/Residu_%28aritm%C3%A8tica%29",
+       "MATH_MODULO_TITLE": "residu de %1 ÷ %2",
+       "MATH_MODULO_TOOLTIP": "Retorna el residu de dividir els dos nombres.",
+       "MATH_CONSTRAIN_TITLE": "limitar %1 entre %2 i %3",
+       "MATH_CONSTRAIN_TOOLTIP": "Limita un nombre perquè estigui entre els límits especificats (inclosos).",
+       "MATH_RANDOM_INT_HELPURL": "https://ca.wikipedia.org/wiki/Generaci%C3%B3_de_nombres_aleatoris",
+       "MATH_RANDOM_INT_TITLE": "nombre aleatori entre %1 i %2",
+       "MATH_RANDOM_INT_TOOLTIP": "Retorna un nombre aleatori entre els dos límits especificats, inclosos.",
+       "MATH_RANDOM_FLOAT_HELPURL": "https://ca.wikipedia.org/wiki/Generaci%C3%B3_de_nombres_aleatoris",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "fracció aleatòria",
+       "MATH_RANDOM_FLOAT_TOOLTIP": "Retorna una fracció aleatòria entre 0,0 (inclòs) i 1,0 (exclòs).",
+       "TEXT_TEXT_HELPURL": "https://ca.wikipedia.org/wiki/Cadena_%28inform%C3%A0tica%29",
+       "TEXT_TEXT_TOOLTIP": "Una lletra, paraula o línia de text.",
+       "TEXT_JOIN_TITLE_CREATEWITH": "crear text amb",
+       "TEXT_JOIN_TOOLTIP": "Crea un tros de text per unió de qualsevol nombre d'elements.",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "unir",
+       "TEXT_CREATE_JOIN_TOOLTIP": "Afegeix, esborrar o reordenar seccions per reconfigurar aquest bloc de text.",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "Afegeix un element al text.",
+       "TEXT_APPEND_TITLE": "a %1 afegir text %2",
+       "TEXT_APPEND_TOOLTIP": "Afegir un text a la variable '%1'.",
+       "TEXT_LENGTH_TITLE": "llargària de %1",
+       "TEXT_LENGTH_TOOLTIP": "Retorna el nombre de lletres (espais inclosos) en el text proporcionat.",
+       "TEXT_ISEMPTY_TITLE": "%1 està buit",
+       "TEXT_ISEMPTY_TOOLTIP": "Retorna cert si el text proporcionat està buit.",
+       "TEXT_INDEXOF_TOOLTIP": "Retorna l'índex de la primera/última aparició del primer text dins el segon. Retorna %1 si no es troba el text.",
+       "TEXT_INDEXOF_TITLE": "en el text %1 %2 %3",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "trobar la primera aparició del text",
+       "TEXT_INDEXOF_OPERATOR_LAST": "trobar l'última aparició del text",
+       "TEXT_CHARAT_FROM_START": "recupera la lletra núm.#",
+       "TEXT_CHARAT_FROM_END": "recupera la lletra núm.# des del final",
+       "TEXT_CHARAT_FIRST": "recupera la primera lletra",
+       "TEXT_CHARAT_LAST": "recupera l'última lletra",
+       "TEXT_CHARAT_RANDOM": "recupera una lletra a l'atzar",
+       "TEXT_CHARAT_TOOLTIP": "Recupera la lletra de la posició especificada.",
+       "TEXT_GET_SUBSTRING_TOOLTIP": "Recupera una part especificada del text.",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "en el text",
+       "TEXT_GET_SUBSTRING_START_FROM_START": "recupera subcadena des de la lletra núm.#",
+       "TEXT_GET_SUBSTRING_START_FROM_END": "recupera subcadena des de la lletra núm.# des del final",
+       "TEXT_GET_SUBSTRING_START_FIRST": "recupera subcadena des de la primera lletra",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "fins a la lletra núm.#",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "fins a la lletra núm.# des del final",
+       "TEXT_GET_SUBSTRING_END_LAST": "fins a l'última lletra",
+       "TEXT_CHANGECASE_TOOLTIP": "Retorna una còpia del text amb diferents majúscules/minúscules.",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "a MAJÚSCULES",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "a minúscules",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": "a Text De Títol",
+       "TEXT_TRIM_TOOLTIP": "Retorna una còpia del text on s'han esborrat els espais d'un o dels dos extrems.",
+       "TEXT_TRIM_OPERATOR_BOTH": "retalla espais de tots dos extrems de",
+       "TEXT_TRIM_OPERATOR_LEFT": "retalla espais de l'esquerra de",
+       "TEXT_TRIM_OPERATOR_RIGHT": "retalla espais de la dreta de",
+       "TEXT_PRINT_TITLE": "imprimir %1",
+       "TEXT_PRINT_TOOLTIP": "Imprimir el text, el nombre o altre valor especificat.",
+       "TEXT_PROMPT_TYPE_TEXT": "demanar text amb el missatge",
+       "TEXT_PROMPT_TYPE_NUMBER": "demanar un nombre amb el missatge",
+       "TEXT_PROMPT_TOOLTIP_NUMBER": "Demana que l'usuari introdueixi un nombre.",
+       "TEXT_PROMPT_TOOLTIP_TEXT": "Demana que l'usuari introdueixi un text.",
+       "LISTS_CREATE_EMPTY_TITLE": "crear llista buida",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "Retorna una llista, de longitud 0, que no conté cap dada.",
+       "LISTS_CREATE_WITH_TOOLTIP": "Crea una llista amb qualsevol nombre d'elements.",
+       "LISTS_CREATE_WITH_INPUT_WITH": "crear llista amb",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "llista",
+       "LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "Afegeix, esborra o reordena seccions per reconfigurar aquest bloc de llista.",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "Afegeix un element a la llista.",
+       "LISTS_REPEAT_TOOLTIP": "Crea una llista formada pel valor donat, repetit tantes vegades com s'indiqui.",
+       "LISTS_REPEAT_TITLE": "crea llista amb element %1 repetit %2 vegades",
+       "LISTS_LENGTH_TITLE": "longitud de %1",
+       "LISTS_LENGTH_TOOLTIP": "Retorna la longitud d'una llista.",
+       "LISTS_ISEMPTY_TITLE": "%1 és buida",
+       "LISTS_ISEMPTY_TOOLTIP": "Retorna cert si la llista és buida.",
+       "LISTS_INLIST": "en la llista",
+       "LISTS_INDEX_OF_FIRST": "buscar primera aparició d'un element",
+       "LISTS_INDEX_OF_LAST": "buscar última aparició d'un element",
+       "LISTS_INDEX_OF_TOOLTIP": "Retorna l'índex de la primera/última aparició d'un element a la llista. Retorna %1 si no s'hi troba el text.",
+       "LISTS_GET_INDEX_GET": "recupera",
+       "LISTS_GET_INDEX_GET_REMOVE": "recupera i esborra",
+       "LISTS_GET_INDEX_REMOVE": "esborra",
+       "LISTS_GET_INDEX_FROM_END": "núm.# des del final",
+       "LISTS_GET_INDEX_FIRST": "primer",
+       "LISTS_GET_INDEX_LAST": "últim",
+       "LISTS_GET_INDEX_RANDOM": "a l'atzar",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "%1 és el primer element.",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "%1 és l'últim element.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "Retorna l'element de la posició especificada a la llista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "Retorna el primer element d'una llista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "Retorna l'últim element d'una llista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "Retorna un element a l'atzar d'una llista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "Esborra i retorna l'element de la posició especificada de la llista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "Esborra i retorna el primer element d'una llista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "Esborra i retorna l'últim element d'una llista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "Esborra i retorna un element a l'atzar d'una llista.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "Esborra l'element de la posició especificada de la llista.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "Esborra el primer element d'una llista.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "Esborra l'últim element d'una llista.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "Esborra un element a l'atzar d'una llista.",
+       "LISTS_SET_INDEX_SET": "modifica",
+       "LISTS_SET_INDEX_INSERT": "insereix a",
+       "LISTS_SET_INDEX_INPUT_TO": "com",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "Modifica l'element de la posició especificada d'una llista.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "Modifica el primer element d'una llista.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_LAST": "Modifica l'últim element d'una llista.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "Modifica un element a l'atzar d'una llista.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "Insereix l'element a la posició especificada d'una llista.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "Insereix l'element al principi d'una llista.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "Afegeix l'element al final d'una llista.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "Insereix l'element en una posició a l'atzar d'una llista.",
+       "LISTS_GET_SUBLIST_START_FROM_START": "recupera sub-llista des de #",
+       "LISTS_GET_SUBLIST_START_FROM_END": "recupera sub-llista des de # des del final",
+       "LISTS_GET_SUBLIST_START_FIRST": "recupera sub-llista des del principi",
+       "LISTS_GET_SUBLIST_END_FROM_START": "fins #",
+       "LISTS_GET_SUBLIST_END_FROM_END": "fins # des del final",
+       "LISTS_GET_SUBLIST_END_LAST": "fins l'últim",
+       "LISTS_GET_SUBLIST_TOOLTIP": "Crea una còpia de la part especificada d'una llista.",
+       "VARIABLES_GET_TOOLTIP": "Retorna el valor d'aquesta variable.",
+       "VARIABLES_GET_CREATE_SET": "Crea 'modifica %1'",
+       "VARIABLES_SET": "modifica %1 a %2",
+       "VARIABLES_SET_TOOLTIP": "Modifica aquesta variable al valor introduït.",
+       "VARIABLES_SET_CREATE_GET": "Crear 'recupera %1'",
+       "PROCEDURES_DEFNORETURN_TITLE": "a",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "fes alguna cosa",
+       "PROCEDURES_BEFORE_PARAMS": "amb:",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "amb:",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "Crea una funció sense sortida.",
+       "PROCEDURES_DEFRETURN_RETURN": "retorna",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "Crea una funció amb una sortida.",
+       "PROCEDURES_ALLOW_STATEMENTS": "permetre declaracions",
+       "PROCEDURES_DEF_DUPLICATE_WARNING": "Advertència: Aquesta funció té paràmetres duplicats.",
+       "PROCEDURES_CALLNORETURN_HELPURL": "https://ca.wikipedia.org/wiki/Procediment_%28Programació%29",
+       "PROCEDURES_CALLNORETURN_TOOLTIP": "Executa la funció definida per usuari '%1'.",
+       "PROCEDURES_CALLRETURN_HELPURL": "https://ca.wikipedia.org/wiki/Procediment_%28Programació%29",
+       "PROCEDURES_CALLRETURN_TOOLTIP": "Executa la funció definida per l'usuari '%1' i utilitza la seva sortida.",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "entrades",
+       "PROCEDURES_MUTATORCONTAINER_TOOLTIP": "Afegir, eliminar o canviar l'ordre de les entrades per aquesta funció.",
+       "PROCEDURES_MUTATORARG_TITLE": "nom d'entrada:",
+       "PROCEDURES_MUTATORARG_TOOLTIP": "Afegir una entrada per la funció.",
+       "PROCEDURES_HIGHLIGHT_DEF": "Iluminar la definició de la funció",
+       "PROCEDURES_CREATE_DO": "Crear '%1'",
+       "PROCEDURES_IFRETURN_TOOLTIP": "Si el valor és cert, llavors retorna un segon valor.",
+       "PROCEDURES_IFRETURN_WARNING": "Advertència: Aquest bloc només es pot utilitzar dins de la definició d'una funció."
+}
diff --git a/js/msg/json/constants.json b/js/msg/json/constants.json
new file mode 100644 (file)
index 0000000..f2801d3
--- /dev/null
@@ -0,0 +1 @@
+{"MATH_HUE": "230", "LOOPS_HUE": "120", "LISTS_HUE": "260", "LOGIC_HUE": "210", "VARIABLES_HUE": "330", "TEXTS_HUE": "160", "PROCEDURES_HUE": "290", "COLOUR_HUE": "20", "VARIABLES_DYNAMIC_HUE": "310"}
\ No newline at end of file
diff --git a/js/msg/json/cs.json b/js/msg/json/cs.json
new file mode 100644 (file)
index 0000000..a106a53
--- /dev/null
@@ -0,0 +1,342 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Chmee2",
+                       "Rosnicka.kacka",
+                       "MatÄ›j Grabovský",
+                       "Espertus",
+                       "Utar",
+                       "Clon",
+                       "Koo6",
+                       "Vtmarvin",
+                       "Dvorapa",
+                       "Dita",
+                       "Ilimanaq29",
+                       "Patriccck"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "položka",
+       "TODAY": "Dnes",
+       "DUPLICATE_BLOCK": "Duplikovat",
+       "ADD_COMMENT": "PÅ™idat komentář",
+       "REMOVE_COMMENT": "Odstranit komentář",
+       "EXTERNAL_INPUTS": "vnÄ›jší vstupy",
+       "INLINE_INPUTS": "Vložené vstupy",
+       "DELETE_BLOCK": "Smazat blok",
+       "DELETE_X_BLOCKS": "Smazat %1 bloků",
+       "DELETE_ALL_BLOCKS": "Smazat vÅ¡ech %1 bloků?",
+       "CLEAN_UP": "Uspořádat bloky",
+       "COLLAPSE_BLOCK": "Sbalit blok",
+       "COLLAPSE_ALL": "Sbalit bloky",
+       "EXPAND_BLOCK": "Rozbalit blok",
+       "EXPAND_ALL": "Rozbalit bloky",
+       "DISABLE_BLOCK": "Deaktivovat blok",
+       "ENABLE_BLOCK": "Povolit blok",
+       "HELP": "NápovÄ›da",
+       "UNDO": "ZpÄ›t",
+       "REDO": "Znovu",
+       "CHANGE_VALUE_TITLE": "ZmÄ›nit hodnotu:",
+       "RENAME_VARIABLE": "PÅ™ejmenovat promÄ›nnou...",
+       "RENAME_VARIABLE_TITLE": "PÅ™ejmenuj vÅ¡ech '%1' promÄ›nných na:",
+       "NEW_VARIABLE": "VytvoÅ™te promÄ›nnou...",
+       "NEW_STRING_VARIABLE": "VytvoÅ™it Å™etÄ›zcovou promÄ›nnou...",
+       "NEW_NUMBER_VARIABLE": "VytvoÅ™it Äíselnou promÄ›nnou...",
+       "NEW_COLOUR_VARIABLE": "VytvoÅ™it barvu promÄ›nné...",
+       "NEW_VARIABLE_TYPE_TITLE": "Nový typ promÄ›nné:",
+       "NEW_VARIABLE_TITLE": "Nový název promÄ›nné:",
+       "VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE": "PromÄ›nná pojmenovaná jako '%1' již existuje pro jiný typ: '%2'.",
+       "COLOUR_PICKER_HELPURL": "https://cs.wikipedia.org/wiki/Barva",
+       "COLOUR_PICKER_TOOLTIP": "Vyberte barvu z palety.",
+       "COLOUR_RANDOM_TITLE": "náhodná barva",
+       "COLOUR_RANDOM_TOOLTIP": "Zvolte barvu náhodnÄ›.",
+       "COLOUR_RGB_TITLE": "obarvÄ›te barvou",
+       "COLOUR_RGB_RED": "Äervená",
+       "COLOUR_RGB_GREEN": "zelená",
+       "COLOUR_RGB_BLUE": "modrá",
+       "COLOUR_RGB_TOOLTIP": "VytvoÅ™ barvu se zadaným množstvím Äervené, zelené a modré.  VÅ¡echny hodnoty musí být mezi 0 a 100.",
+       "COLOUR_BLEND_TITLE": "smíchat",
+       "COLOUR_BLEND_COLOUR1": "barva 1",
+       "COLOUR_BLEND_COLOUR2": "barva 2",
+       "COLOUR_BLEND_RATIO": "pomÄ›r",
+       "COLOUR_BLEND_TOOLTIP": "Smíchá dvÄ› barvy v daném pomÄ›ru (0.0–1.0).",
+       "CONTROLS_REPEAT_HELPURL": "https://cs.wikipedia.org/wiki/Cyklus_pro",
+       "CONTROLS_REPEAT_TITLE": "opakuj %1 krát",
+       "CONTROLS_REPEAT_INPUT_DO": "dÄ›lej",
+       "CONTROLS_REPEAT_TOOLTIP": "ProveÄ urÄité příkazy nÄ›kolikrát.",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "opakovat když",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "opakovat dokud",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "Dokud je hodnota pravdivá, provádÄ›j urÄité příkazy.",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "Dokud je hodnota nepravdivá, provádÄ›j urÄité příkazy.",
+       "CONTROLS_FOR_TOOLTIP": "Nechá promÄ›nnou '%1' nabývat hodnot od poÄáteÄního do koncového Äísla po daném přírůstku a provádí s ní přísluÅ¡né bloky.",
+       "CONTROLS_FOR_TITLE": "poÄítat s %1 od %2 do %3 po %4",
+       "CONTROLS_FOREACH_TITLE": "pro každou položku %1 v seznamu %2",
+       "CONTROLS_FOREACH_TOOLTIP": "Pro každou položku v seznamu nastavte do promÄ›nné '%1' danou položku a proveÄte nÄ›jaké operace.",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "vyskoÄit ze smyÄky",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "pokraÄuj dalším opakováním smyÄky",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "VyskoÄ z vnitÅ™ní smyÄky.",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "PÅ™eskoÄ zbytek této smyÄky a pokraÄuj dalším opakováním.",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "UpozornÄ›ní: Tento blok může být použit pouze uvnitÅ™ smyÄky.",
+       "CONTROLS_IF_TOOLTIP_1": "Je-li hodnota pravda, proveÄ urÄité příkazy.",
+       "CONTROLS_IF_TOOLTIP_2": "Je-li hodnota pravda, proveÄ první blok příkazů.  V opaÄném případÄ› proveÄ druhý blok příkazů.",
+       "CONTROLS_IF_TOOLTIP_3": "Je-li první hodnota pravdivá, proveÄ první blok příkazů. V opaÄném případÄ›, je-li pravdivá druhá hodnota, proveÄ druhý blok příkazů.",
+       "CONTROLS_IF_TOOLTIP_4": "Je-li první hodnota pravda, proveÄ první blok příkazů.  Je-li druhá hodnota pravda, proveÄ druhý blok příkazů.  Pokud Å¾Ã¡dná hodnota není pravda, proveÄ poslední blok příkazů.",
+       "CONTROLS_IF_MSG_IF": "pokud",
+       "CONTROLS_IF_MSG_ELSEIF": "nebo pokud",
+       "CONTROLS_IF_MSG_ELSE": "jinak",
+       "CONTROLS_IF_IF_TOOLTIP": "PÅ™idej, odstraň Äi uspořádej sekce k pÅ™enastavení tohoto bloku \"pokud\".",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "PÅ™idat podmínku do \"pokud\" bloku.",
+       "CONTROLS_IF_ELSE_TOOLTIP": "PÅ™idej koneÄnou podmínku zahrnující ostatní případy do bloku \"pokud\".",
+       "IOS_ERROR": "Chyba",
+       "IOS_PROCEDURES_INPUTS": "vstupy",
+       "IOS_VARIABLES_ADD_BUTTON": "PÅ™idat",
+       "IOS_VARIABLES_RENAME_BUTTON": "PÅ™ejmenovat",
+       "IOS_VARIABLES_DELETE_BUTTON": "Smazat",
+       "LOGIC_COMPARE_HELPURL": "https://cs.wikipedia.org/wiki/Nerovnost_(matematika)",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "Vrátí hodnotu pravda, pokud se oba vstupy rovnají jeden druhému.",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "Vrátí hodnotu pravda, pokud se oba vstupy nerovnají sobÄ› navzájem.",
+       "LOGIC_COMPARE_TOOLTIP_LT": "Navrátí hodnotu pravda, pokud je první vstup menší než druhý vstup.",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "Navrátí hodnotu pravda, pokud je první vstup menší a nebo rovný druhému vstupu.",
+       "LOGIC_COMPARE_TOOLTIP_GT": "Navrátí hodnotu pravda, pokud první vstup je vÄ›tší než druhý vstup.",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "Navrátí hodnotu pravda, pokud je první vstup vÄ›tší a nebo rovný druhému vstupu.",
+       "LOGIC_OPERATION_TOOLTIP_AND": "Vrátí hodnotu pravda, pokud oba dva vstupy jsou pravdivé.",
+       "LOGIC_OPERATION_AND": "a",
+       "LOGIC_OPERATION_TOOLTIP_OR": "Vrátí hodnotu pravda, pokud alespoň jeden ze vstupů má hodnotu pravda.",
+       "LOGIC_OPERATION_OR": "nebo",
+       "LOGIC_NEGATE_TITLE": "ne %1",
+       "LOGIC_NEGATE_TOOLTIP": "Navrátí hodnotu pravda, pokud je vstup nepravda. Navrátí hodnotu nepravda, pokud je vstup pravda.",
+       "LOGIC_BOOLEAN_TRUE": "pravda",
+       "LOGIC_BOOLEAN_FALSE": "nepravda",
+       "LOGIC_BOOLEAN_TOOLTIP": "Vrací pravda nebo nepravda.",
+       "LOGIC_NULL": "prázdný",
+       "LOGIC_NULL_TOOLTIP": "Vrátí prázdnou hodnotu",
+       "LOGIC_TERNARY_HELPURL": "https://cs.wikipedia.org/wiki/Ternární operátor (programování)",
+       "LOGIC_TERNARY_CONDITION": "test",
+       "LOGIC_TERNARY_IF_TRUE": "pokud pravda",
+       "LOGIC_TERNARY_IF_FALSE": "pokud nepravda",
+       "LOGIC_TERNARY_TOOLTIP": "Zkontroluje podmínku v \"testu\". Když je podmínka pravda, vrátí hodnotu \"pokud pravda\"; v opaÄném případÄ› vrátí hodnotu \"pokud nepravda\".",
+       "MATH_NUMBER_HELPURL": "https://cs.wikipedia.org/wiki/Číslo",
+       "MATH_NUMBER_TOOLTIP": "Číslo.",
+       "MATH_SUBTRACTION_SYMBOL": "-",
+       "MATH_DIVISION_SYMBOL": "÷",
+       "MATH_MULTIPLICATION_SYMBOL": "×",
+       "MATH_POWER_SYMBOL": "^",
+       "MATH_TRIG_SIN": "sin",
+       "MATH_TRIG_COS": "cos",
+       "MATH_TRIG_TAN": "tan",
+       "MATH_TRIG_ASIN": "arcsin",
+       "MATH_TRIG_ACOS": "acos",
+       "MATH_TRIG_ATAN": "arctan",
+       "MATH_ARITHMETIC_HELPURL": "https://cs.wikipedia.org/wiki/Aritmetika",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "Vrátí souÄet dvou Äísel.",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "Vrátí rozdíl dvou Äísel.",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "Vrátí souÄin dvou Äísel.",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "Vrátí podíl dvou Äísel.",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "Vrátí první Äíslo umocnÄ›né na druhé Äíslo.",
+       "MATH_SINGLE_HELPURL": "https://cs.wikipedia.org/wiki/Druhá_odmocnina",
+       "MATH_SINGLE_OP_ROOT": "druhá odmocnina",
+       "MATH_SINGLE_TOOLTIP_ROOT": "Vrátí druhou odmocninu Äísla.",
+       "MATH_SINGLE_OP_ABSOLUTE": "absolutní hodnota",
+       "MATH_SINGLE_TOOLTIP_ABS": "Vrátí absolutní hodnotu Äísla.",
+       "MATH_SINGLE_TOOLTIP_NEG": "Vrátí zápornou hodnotu Äísla.",
+       "MATH_SINGLE_TOOLTIP_LN": "Vrátí pÅ™irozený logaritmus Äísla.",
+       "MATH_SINGLE_TOOLTIP_LOG10": "Vrátí desítkový logaritmus Äísla.",
+       "MATH_SINGLE_TOOLTIP_EXP": "Vrátí mocninu Äísla e.",
+       "MATH_SINGLE_TOOLTIP_POW10": "Vrátí mocninu Äísla 10.",
+       "MATH_TRIG_HELPURL": "https://en.wikipedia.org/wiki/Trigonometric_functions",
+       "MATH_TRIG_TOOLTIP_SIN": "Vrátí sinus úhlu ve stupních.",
+       "MATH_TRIG_TOOLTIP_COS": "Vrátí kosinus úhlu ve stupních.",
+       "MATH_TRIG_TOOLTIP_TAN": "Vrátí tangens úhlu ve stupních.",
+       "MATH_TRIG_TOOLTIP_ASIN": "Vrátí arkus sinus Äísla.",
+       "MATH_TRIG_TOOLTIP_ACOS": "Vrátí arkus kosinus Äísla.",
+       "MATH_TRIG_TOOLTIP_ATAN": "Vrátí arkus tangens Äísla.",
+       "MATH_CONSTANT_HELPURL": "https://en.wikipedia.org/wiki/Mathematical_constant",
+       "MATH_CONSTANT_TOOLTIP": "VraÅ¥te jednu z následujících konstant: Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), or âˆž (nekoneÄno).",
+       "MATH_IS_EVEN": "je sudé",
+       "MATH_IS_ODD": "je liché",
+       "MATH_IS_PRIME": "je prvoÄíslo",
+       "MATH_IS_WHOLE": "je celé",
+       "MATH_IS_POSITIVE": "je kladné",
+       "MATH_IS_NEGATIVE": "je záporné",
+       "MATH_IS_DIVISIBLE_BY": "je dÄ›litelné Äíslem",
+       "MATH_IS_TOOLTIP": "Kontrola, zda je Äíslo sudé, liché, prvoÄíslo, celé, kladné, záporné nebo zda je dÄ›litelné daným Äíslem. Vrací pravdu nebo nepravdu.",
+       "MATH_CHANGE_HELPURL": "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter",
+       "MATH_CHANGE_TITLE": "zaměň %1 za %2",
+       "MATH_CHANGE_TOOLTIP": "PÅ™iÄti Äíslo k promÄ›nné '%1'.",
+       "MATH_ROUND_HELPURL": "https://en.wikipedia.org/wiki/Rounding",
+       "MATH_ROUND_TOOLTIP": "Zaokrouhlit Äíslo nahoru nebo dolů.",
+       "MATH_ROUND_OPERATOR_ROUND": "zaokrouhlit",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "zaokrouhlit nahoru",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "zaokrouhlit dolů",
+       "MATH_ONLIST_OPERATOR_SUM": "suma seznamu",
+       "MATH_ONLIST_TOOLTIP_SUM": "Vrátí souÄet vÅ¡ech Äísel v seznamu.",
+       "MATH_ONLIST_OPERATOR_MIN": "nejmenší v seznamu",
+       "MATH_ONLIST_TOOLTIP_MIN": "Vrátí nejmenší Äíslo v seznamu.",
+       "MATH_ONLIST_OPERATOR_MAX": "nejvÄ›tší v seznamu",
+       "MATH_ONLIST_TOOLTIP_MAX": "Vrátí nejvÄ›tší Äíslo v seznamu.",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "průmÄ›r v seznamu",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "Vrátí průmÄ›r (aritmetický průmÄ›r) Äíselných hodnot v seznamu.",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "medián v seznamu",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "Vrátí medián seznamu.",
+       "MATH_ONLIST_OPERATOR_MODE": "nejÄastÄ›jší ze seznamu",
+       "MATH_ONLIST_TOOLTIP_MODE": "Vrátí seznam nejÄastÄ›jších položek seznamu.",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "smÄ›rodatná odchylka ze seznamu",
+       "MATH_ONLIST_TOOLTIP_STD_DEV": "Vrátí smÄ›rodatnou odchylku seznamu.",
+       "MATH_ONLIST_OPERATOR_RANDOM": "náhodná položka seznamu",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "Vrátí náhodnou položku ze seznamu.",
+       "MATH_MODULO_HELPURL": "https://cs.wikipedia.org/wiki/Modul%C3%A1rn%C3%AD_aritmetika",
+       "MATH_MODULO_TITLE": "zbytek po dÄ›lení %1 Ã· %2",
+       "MATH_MODULO_TOOLTIP": "Vrátí zbytek po dÄ›lení dvou Äísel.",
+       "MATH_CONSTRAIN_TITLE": "omez %1 na rozmezí od %2 do %3",
+       "MATH_CONSTRAIN_TOOLTIP": "Omezí Äíslo tak, aby bylo ve stanovených mezích (vÄetnÄ›).",
+       "MATH_RANDOM_INT_HELPURL": "https://cs.wikipedia.org/wiki/Gener%C3%A1tor_n%C3%A1hodn%C3%BDch_%C4%8D%C3%ADsel",
+       "MATH_RANDOM_INT_TITLE": "náhodné celé Äíslo od %1 do %2",
+       "MATH_RANDOM_INT_TOOLTIP": "Vrací náhodné celé Äíslo mezi dvÄ›ma urÄenými mezemi, vÄetnÄ› mezních hodnot.",
+       "MATH_RANDOM_FLOAT_HELPURL": "https://cs.wikipedia.org/wiki/Gener%C3%A1tor_n%C3%A1hodn%C3%BDch_%C4%8D%C3%ADsel",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "náhodné Äíslo mezi 0 (vÄetnÄ›) do 1",
+       "MATH_RANDOM_FLOAT_TOOLTIP": "Vrátí náhodné Äíslo mezi 0,0 (vÄetnÄ›) až 1,0",
+       "TEXT_TEXT_HELPURL": "https://cs.wikipedia.org/wiki/Textov%C3%BD_%C5%99et%C4%9Bzec",
+       "TEXT_TEXT_TOOLTIP": "Písmeno, slovo nebo Å™Ã¡dek textu.",
+       "TEXT_JOIN_TITLE_CREATEWITH": "vytvoÅ™it text s",
+       "TEXT_JOIN_TOOLTIP": "Vytvoří kousek textu spojením libovolného poÄtu položek.",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "spojit",
+       "TEXT_CREATE_JOIN_TOOLTIP": "PÅ™idat, odebrat nebo zmÄ›nit poÅ™adí oddílů tohoto textového bloku.",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "PÅ™idat položku do textu.",
+       "TEXT_APPEND_TITLE": "do %1 pÅ™idat text %2",
+       "TEXT_APPEND_TOOLTIP": "PÅ™idá urÄitý text k promÄ›nné '%1'.",
+       "TEXT_LENGTH_TITLE": "délka %1",
+       "TEXT_LENGTH_TOOLTIP": "Vrátí poÄet písmen (vÄetnÄ› mezer) v zadaném textu.",
+       "TEXT_ISEMPTY_TITLE": "%1 je prázdný",
+       "TEXT_ISEMPTY_TOOLTIP": "Vrátí pravda pokud je zadaný text prázdný.",
+       "TEXT_INDEXOF_TOOLTIP": "Vrátí index prvního/posledního výskytu prvního textu v druhém textu.  Pokud text není nalezen, vypíše %1.",
+       "TEXT_INDEXOF_TITLE": "v textu %1 %2 %3",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "najít první výskyt textu",
+       "TEXT_INDEXOF_OPERATOR_LAST": "najít poslední výskyt textu",
+       "TEXT_CHARAT_FROM_START": "získat písmeno #",
+       "TEXT_CHARAT_FROM_END": "získat # písmeno od konce",
+       "TEXT_CHARAT_FIRST": "získat první písmeno",
+       "TEXT_CHARAT_LAST": "získat poslední písmeno",
+       "TEXT_CHARAT_RANDOM": "získat náhodné písmeno",
+       "TEXT_CHARAT_TOOLTIP": "Získat písmeno na konkrétní pozici.",
+       "TEXT_GET_SUBSTRING_TOOLTIP": "Získat zadanou Äást textu.",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "v textu",
+       "TEXT_GET_SUBSTRING_START_FROM_START": "získat podÅ™etÄ›zec od písmene #",
+       "TEXT_GET_SUBSTRING_START_FROM_END": "získat podÅ™etÄ›zec od písmene # od konce",
+       "TEXT_GET_SUBSTRING_START_FIRST": "získat podÅ™etÄ›zec od prvního písmene",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "do písmene #",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "do # písmene od konce",
+       "TEXT_GET_SUBSTRING_END_LAST": "do posledního písmene",
+       "TEXT_CHANGECASE_TOOLTIP": "Vrátí kopii textu s jinou velikostí písmen.",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "na VELKÁ PÍSMENA",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "na malá písmena",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": "na PoÄáteÄní Velká Písmena",
+       "TEXT_TRIM_TOOLTIP": "Vrátí kopii textu s odstranÄ›nými mezerami z jednoho nebo obou konců.",
+       "TEXT_TRIM_OPERATOR_BOTH": "odstranit mezery z obou stran",
+       "TEXT_TRIM_OPERATOR_LEFT": "odstranit mezery z levé strany",
+       "TEXT_TRIM_OPERATOR_RIGHT": "odstranit mezery z pravé strany",
+       "TEXT_PRINT_TITLE": "tisk %1",
+       "TEXT_PRINT_TOOLTIP": "Tisk zadaného textu, Äísla nebo jiné hodnoty.",
+       "TEXT_PROMPT_TYPE_TEXT": "výzva k zadání textu se zprávou",
+       "TEXT_PROMPT_TYPE_NUMBER": "výzva k zadání Äísla se zprávou",
+       "TEXT_PROMPT_TOOLTIP_NUMBER": "Výzva pro uživatele k zadání Äísla.",
+       "TEXT_PROMPT_TOOLTIP_TEXT": "Výzva pro uživatele k zadání nÄ›jakého textu.",
+       "LISTS_CREATE_EMPTY_TITLE": "vytvoÅ™it prázdný seznam",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "Vrátí seznam nulové délky, který neobsahuje Å¾Ã¡dné datové záznamy",
+       "LISTS_CREATE_WITH_TOOLTIP": "VytvoÅ™ seznam s libovolným poÄtem položek.",
+       "LISTS_CREATE_WITH_INPUT_WITH": "vytvoÅ™it seznam s",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "seznam",
+       "LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "PÅ™idat, odebrat nebo zmÄ›nit poÅ™adí oddílů tohoto seznamu bloku.",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "PÅ™idat položku do seznamu.",
+       "LISTS_REPEAT_TOOLTIP": "Vytváří seznam obsahující danou hodnotu n-krát.",
+       "LISTS_REPEAT_TITLE": "vytvoÅ™ seznam s položkou %1 opakovanou %2 krát",
+       "LISTS_LENGTH_TITLE": "délka %1",
+       "LISTS_LENGTH_TOOLTIP": "Vrací poÄet položek v seznamu.",
+       "LISTS_ISEMPTY_TITLE": "%1 je prázdné",
+       "LISTS_ISEMPTY_TOOLTIP": "Vrátí hodnotu pravda, pokud je seznam prázdný.",
+       "LISTS_INLIST": "v seznamu",
+       "LISTS_INDEX_OF_FIRST": "najít první výskyt položky",
+       "LISTS_INDEX_OF_LAST": "najít poslední výskyt položky",
+       "LISTS_INDEX_OF_TOOLTIP": "Vrací index prvního/posledního výskytu položky v seznamu. Vrací %1, pokud položka nebyla nalezena.",
+       "LISTS_GET_INDEX_GET": "získat",
+       "LISTS_GET_INDEX_GET_REMOVE": "získat a odstranit",
+       "LISTS_GET_INDEX_REMOVE": "odstranit",
+       "LISTS_GET_INDEX_FROM_START": "#",
+       "LISTS_GET_INDEX_FROM_END": "# od konce",
+       "LISTS_GET_INDEX_FIRST": "první",
+       "LISTS_GET_INDEX_LAST": "poslední",
+       "LISTS_GET_INDEX_RANDOM": "náhodné",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "%1 je první položka.",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "%1 je poslední položka.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "Získá položku z urÄené pozice v seznamu.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "Vrátí první položku v seznamu.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "Vrátí poslední položku v seznamu.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "Vrátí náhodnou položku ze seznamu.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "Odstraní a získá položku z urÄené pozice v seznamu.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "Odstraní a vrátí první položku v seznamu.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "Odstraní a vrátí poslední položku v seznamu.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "Odstraní a vrátí náhodnou položku v seznamu.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "Odebere položku na konkrétním místÄ› v seznamu.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "Odstraní první položku v seznamu.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "Odstraní poslední položku v seznamu.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "Odstraní náhodou položku v seznamu.",
+       "LISTS_SET_INDEX_SET": "nastavit",
+       "LISTS_SET_INDEX_INSERT": "vložit na",
+       "LISTS_SET_INDEX_INPUT_TO": "jako",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "Nastaví položku na konkrétní místo v seznamu.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "Nastaví první položku v seznamu.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_LAST": "Nastaví poslední položku v seznamu.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "Nastaví náhodnou položku v seznamu.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "Vloží položku na urÄenou pozici v seznamu.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "Vložit položku na zaÄátek seznamu.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "PÅ™ipojí položku na konec seznamu.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "PÅ™ipojí položku náhodnÄ› do seznamu.",
+       "LISTS_GET_SUBLIST_START_FROM_START": "získat podseznam od #",
+       "LISTS_GET_SUBLIST_START_FROM_END": "získat podseznam od # od konce",
+       "LISTS_GET_SUBLIST_START_FIRST": "získat podseznam od první položky",
+       "LISTS_GET_SUBLIST_END_FROM_START": "do #",
+       "LISTS_GET_SUBLIST_END_FROM_END": "do # od konce",
+       "LISTS_GET_SUBLIST_END_LAST": "jako poslední",
+       "LISTS_GET_SUBLIST_TOOLTIP": "Vytvoří kopii urÄené Äásti seznamu.",
+       "LISTS_SORT_HELPURL": "https://github.com/google/blockly/wiki/Lists#sorting-a-list",
+       "LISTS_SORT_TITLE": "seÅ™adit %1 %2 %3",
+       "LISTS_SORT_TOOLTIP": "SeÅ™adit kopii seznamu.",
+       "LISTS_SORT_ORDER_ASCENDING": "vzestupnÄ›",
+       "LISTS_SORT_ORDER_DESCENDING": "sestupnÄ›",
+       "LISTS_SORT_TYPE_NUMERIC": "Äíselné",
+       "LISTS_SORT_TYPE_TEXT": "abecednÄ›",
+       "LISTS_SORT_TYPE_IGNORECASE": "abecednÄ›, na velikosti písmen nezáleží",
+       "LISTS_SPLIT_LIST_FROM_TEXT": "udÄ›lat z textu seznam",
+       "LISTS_SPLIT_TEXT_FROM_LIST": "udÄ›lat ze seznamu text",
+       "LISTS_SPLIT_WITH_DELIMITER": "s oddÄ›lovaÄem",
+       "LISTS_SPLIT_TOOLTIP_SPLIT": "RozdÄ›lit text do seznamu textů, lámání na oddÄ›lovaÄích.",
+       "LISTS_SPLIT_TOOLTIP_JOIN": "Spojit seznam textů do jednoho textu, rozdÄ›laného oddÄ›lovaÄi.",
+       "VARIABLES_GET_TOOLTIP": "Vrátí hodnotu této promÄ›nné.",
+       "VARIABLES_GET_CREATE_SET": "VytvoÅ™it \"nastavit %1\"",
+       "VARIABLES_SET": "nastavit %1 na %2",
+       "VARIABLES_SET_TOOLTIP": "Nastaví tuto promÄ›nnou, aby se rovnala vstupu.",
+       "VARIABLES_SET_CREATE_GET": "VytvoÅ™it \"získat %1\"",
+       "PROCEDURES_DEFNORETURN_HELPURL": "https://cs.wikipedia.org/w/index.php?title=Funkce_(programování)",
+       "PROCEDURES_DEFNORETURN_TITLE": "k provedení",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "proveÄ nÄ›co",
+       "PROCEDURES_BEFORE_PARAMS": "s:",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "s:",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "VytvoÅ™it funkci bez výstupu.",
+       "PROCEDURES_DEFNORETURN_COMMENT": "PopiÅ¡te tuto funkci...",
+       "PROCEDURES_DEFRETURN_HELPURL": "https://cs.wikipedia.org/w/index.php?title=Funkce_(programování)",
+       "PROCEDURES_DEFRETURN_RETURN": "navrátit",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "VytvoÅ™it funkci s výstupem.",
+       "PROCEDURES_ALLOW_STATEMENTS": "povolit příkazy",
+       "PROCEDURES_DEF_DUPLICATE_WARNING": "UpozornÄ›ní: Tato funkce má duplicitní parametry.",
+       "PROCEDURES_CALLNORETURN_HELPURL": "https://cs.wikipedia.org/wiki/Podprogram",
+       "PROCEDURES_CALLNORETURN_TOOLTIP": "Spustí uživatelem definovanou funkci '%1'.",
+       "PROCEDURES_CALLRETURN_HELPURL": "https://cs.wikipedia.org/wiki/Podprogram",
+       "PROCEDURES_CALLRETURN_TOOLTIP": "Spustí uživatelem definovanou funkci '%1' a použije její výstup.",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "vstupy",
+       "PROCEDURES_MUTATORCONTAINER_TOOLTIP": "PÅ™idat, odebrat nebo zmÄ›nit poÅ™adí vstupů této funkce.",
+       "PROCEDURES_MUTATORARG_TITLE": "vstupní jméno:",
+       "PROCEDURES_MUTATORARG_TOOLTIP": "PÅ™idat vstupy do funkce.",
+       "PROCEDURES_HIGHLIGHT_DEF": "Zvýraznit definici funkce",
+       "PROCEDURES_CREATE_DO": "VytvoÅ™it '%1'",
+       "PROCEDURES_IFRETURN_TOOLTIP": "Je-li hodnota pravda, pak vrátí druhou hodnotu.",
+       "PROCEDURES_IFRETURN_HELPURL": "http://c2.com/cgi/wiki?GuardClause",
+       "PROCEDURES_IFRETURN_WARNING": "Varování: Tento blok může být použit pouze uvnitÅ™ definici funkce."
+}
diff --git a/js/msg/json/da.json b/js/msg/json/da.json
new file mode 100644 (file)
index 0000000..b8e38b8
--- /dev/null
@@ -0,0 +1,346 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Christian List",
+                       "RickiRunge",
+                       "MGA73",
+                       "Mads Haupt",
+                       "Tjernobyl",
+                       "Joedalton"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "element",
+       "TODAY": "I dag",
+       "DUPLICATE_BLOCK": "Duplikér",
+       "ADD_COMMENT": "Tilføj kommentar",
+       "REMOVE_COMMENT": "Fjern kommentar",
+       "DUPLICATE_COMMENT": "Dupliker kommentar",
+       "EXTERNAL_INPUTS": "Udvendige inputs",
+       "INLINE_INPUTS": "Indlejrede inputs",
+       "DELETE_BLOCK": "Slet blok",
+       "DELETE_X_BLOCKS": "Slet %1 blokke",
+       "DELETE_ALL_BLOCKS": "Slet alle %1 blokke?",
+       "CLEAN_UP": "Ryd op i blokke",
+       "COLLAPSE_BLOCK": "Fold blokken sammen",
+       "COLLAPSE_ALL": "Fold blokkene sammen",
+       "EXPAND_BLOCK": "Fold blokken ud",
+       "EXPAND_ALL": "Fold blokkene ud",
+       "DISABLE_BLOCK": "Deaktivér blok",
+       "ENABLE_BLOCK": "Aktivér blok",
+       "HELP": "Hjælp",
+       "UNDO": "Fortryd",
+       "REDO": "Omgør",
+       "CHANGE_VALUE_TITLE": "Skift værdi:",
+       "RENAME_VARIABLE": "Omdøb variabel...",
+       "RENAME_VARIABLE_TITLE": "Omdøb alle '%1' variabler til:",
+       "NEW_VARIABLE": "Opret variabel ...",
+       "NEW_STRING_VARIABLE": "Opret strengvariabel ...",
+       "NEW_NUMBER_VARIABLE": "Opret nummervariabel ...",
+       "NEW_COLOUR_VARIABLE": "Opret farvevariabel ...",
+       "NEW_VARIABLE_TYPE_TITLE": "Ny variabeltype:",
+       "NEW_VARIABLE_TITLE": "Navn til den nye variabel:",
+       "VARIABLE_ALREADY_EXISTS": "En variabel med navnet »%1« findes allerede.",
+       "VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE": "En variabel med navnet »%1« findes allerede for en anden type: »%2«.",
+       "DELETE_VARIABLE_CONFIRMATION": "Slet %1's brug af variablen »%2«?",
+       "CANNOT_DELETE_VARIABLE_PROCEDURE": "Kan ikke slette variablen »%1« da den er en del af definitionen af funktionen »%2«",
+       "DELETE_VARIABLE": "Slet variablen »%1«",
+       "COLOUR_PICKER_HELPURL": "https://da.wikipedia.org/wiki/Farve",
+       "COLOUR_PICKER_TOOLTIP": "Vælg en farve fra paletten.",
+       "COLOUR_RANDOM_TITLE": "tilfældig farve",
+       "COLOUR_RANDOM_TOOLTIP": "Vælg en tilfældig farve.",
+       "COLOUR_RGB_TITLE": "farve med",
+       "COLOUR_RGB_RED": "rød",
+       "COLOUR_RGB_GREEN": "grøn",
+       "COLOUR_RGB_BLUE": "blå",
+       "COLOUR_RGB_TOOLTIP": "Lav en farve med den angivne mængde af rød, grøn og blå. Alle værdier skal være mellem 0 og 100.",
+       "COLOUR_BLEND_TITLE": "bland",
+       "COLOUR_BLEND_COLOUR1": "farve 1",
+       "COLOUR_BLEND_COLOUR2": "farve 2",
+       "COLOUR_BLEND_RATIO": "i forholdet",
+       "COLOUR_BLEND_TOOLTIP": "Blander to farver sammen i et bestemt forhold (0.0 - 1.0).",
+       "CONTROLS_REPEAT_HELPURL": "https://da.wikipedia.org/wiki/For-l%C3%B8kke",
+       "CONTROLS_REPEAT_TITLE": "gentag %1 gange",
+       "CONTROLS_REPEAT_INPUT_DO": "udfør",
+       "CONTROLS_REPEAT_TOOLTIP": "Udfør nogle kommandoer flere gange.",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "gentag sålænge",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "gentag indtil",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "Udfør nogle kommandoer, sålænge en værdi er sand.",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "Udfør nogle kommandoer, sålænge en værdi er falsk.",
+       "CONTROLS_FOR_TOOLTIP": "Få variablen \"%1\" til at have værdierne fra startværdien til slutværdien, mens der tælles med det angivne interval, og udfør de angivne blokke.",
+       "CONTROLS_FOR_TITLE": "tæl med %1 fra %2 til %3 med %4",
+       "CONTROLS_FOREACH_TITLE": "for hvert element %1 i listen %2",
+       "CONTROLS_FOREACH_TOOLTIP": "For hvert element i en liste, sæt variablen '%1' til elementet, og udfør derefter nogle kommandoer.",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "bryd ud af løkken",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "fortsæt med den næste gentagelse i løkken",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "Bryd ud af den omgivende løkke.",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "Spring resten af denne løkke over, og fortsæt med den næste gentagelse.",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "Advarsel: Denne blok kan kun bruges i en løkke.",
+       "CONTROLS_IF_TOOLTIP_1": "Hvis en værdi er sand, så udfør nogle kommandoer.",
+       "CONTROLS_IF_TOOLTIP_2": "Hvis en værdi er sand, så udfør den første blok af kommandoer. Ellers udfør den anden blok af kommandoer.",
+       "CONTROLS_IF_TOOLTIP_3": "Hvis den første værdi er sand, så udfør den første blok af kommandoer.  Ellers, hvis den anden værdi er sand, så udfør den anden blok af kommandoer.",
+       "CONTROLS_IF_TOOLTIP_4": "Hvis den første værdi er sand, så udfør den første blok af kommandoer. Ellers, hvis den anden værdi er sand, så udfør den anden blok af kommandoer. Hvis ingen af værdierne er sande, så udfør den sidste blok af kommandoer.",
+       "CONTROLS_IF_MSG_IF": "hvis",
+       "CONTROLS_IF_MSG_ELSEIF": "ellers hvis",
+       "CONTROLS_IF_MSG_ELSE": "ellers",
+       "CONTROLS_IF_IF_TOOLTIP": "Tilføj, fjern eller byt om på rækkefølgen af delene for at konfigurere denne \"hvis\" blok.",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "Tilføj en betingelse til denne \"hvis\" blok.",
+       "CONTROLS_IF_ELSE_TOOLTIP": "Tilføj en sidste fang-alt betingelse, til denne \"hvis\" blok.",
+       "IOS_OK": "O.k.",
+       "IOS_CANCEL": "Annuller",
+       "IOS_ERROR": "Fejl",
+       "IOS_PROCEDURES_INPUTS": "INDDATA",
+       "IOS_PROCEDURES_ADD_INPUT": "+ Tilføj inddata",
+       "IOS_PROCEDURES_ALLOW_STATEMENTS": "Tillad udsagn",
+       "IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR": "Denne funktion har duplikerede inddata.",
+       "IOS_VARIABLES_ADD_VARIABLE": "+ Tilføj variabel",
+       "IOS_VARIABLES_ADD_BUTTON": "Tilføj",
+       "IOS_VARIABLES_RENAME_BUTTON": "Omdøb",
+       "IOS_VARIABLES_DELETE_BUTTON": "Slet",
+       "IOS_VARIABLES_VARIABLE_NAME": "Variabelnavn",
+       "IOS_VARIABLES_EMPTY_NAME_ERROR": "Du kan ikke bruge et tomt variabelnavn.",
+       "LOGIC_COMPARE_HELPURL": "https://da.wikipedia.org/wiki/Ulighed_(matematik)",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "Returnere sand, hvis begge inputs er lig med hinanden.",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "Returnere sand, hvis begge inputs ikke er lig med hinanden.",
+       "LOGIC_COMPARE_TOOLTIP_LT": "Returnere sand, hvis det første input er mindre end det andet input.",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "Returnere sand, hvis det første input er mindre end eller lig med det andet input.",
+       "LOGIC_COMPARE_TOOLTIP_GT": "Returnere sand, hvis det første input er større end det andet input.",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "Returnere sand, hvis det første input er større end eller lig med det andet input.",
+       "LOGIC_OPERATION_TOOLTIP_AND": "Returnere sand, hvis begge inputs er sande.",
+       "LOGIC_OPERATION_AND": "og",
+       "LOGIC_OPERATION_TOOLTIP_OR": "Returnere sand, hvis mindst et af inputtene er sande.",
+       "LOGIC_OPERATION_OR": "eller",
+       "LOGIC_NEGATE_TITLE": "ikke %1",
+       "LOGIC_NEGATE_TOOLTIP": "Returnerer sand, hvis input er falsk. Returnerer falsk, hvis input er sandt.",
+       "LOGIC_BOOLEAN_TRUE": "sand",
+       "LOGIC_BOOLEAN_FALSE": "falsk",
+       "LOGIC_BOOLEAN_TOOLTIP": "Returnerer enten sand eller falsk.",
+       "LOGIC_NULL": "null",
+       "LOGIC_NULL_TOOLTIP": "Returnerer null.",
+       "LOGIC_TERNARY_CONDITION": "test",
+       "LOGIC_TERNARY_IF_TRUE": "hvis sand",
+       "LOGIC_TERNARY_IF_FALSE": "hvis falsk",
+       "LOGIC_TERNARY_TOOLTIP": "Kontrollér betingelsen i 'test'. Hvis betingelsen er sand, returnér \"hvis sand\" værdien; ellers returnér \"hvis falsk\" værdien.",
+       "MATH_NUMBER_HELPURL": "https://da.wikipedia.org/wiki/Tal",
+       "MATH_NUMBER_TOOLTIP": "Et tal.",
+       "MATH_DIVISION_SYMBOL": ":",
+       "MATH_ARITHMETIC_HELPURL": "https://da.wikipedia.org/wiki/Aritmetik",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "Returnere summen af de to tal.",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "Returnere forskellen mellem de to tal.",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "Returnere produktet af de to tal.",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "Returnere kvotienten af de to tal.",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "Returnere det første tal opløftet til potensen af det andet tal.",
+       "MATH_SINGLE_HELPURL": "https://da.wikipedia.org/wiki/Kvadratrod",
+       "MATH_SINGLE_OP_ROOT": "kvadratrod",
+       "MATH_SINGLE_TOOLTIP_ROOT": "Returnere kvadratroden af et tal.",
+       "MATH_SINGLE_OP_ABSOLUTE": "absolut",
+       "MATH_SINGLE_TOOLTIP_ABS": "Returnere den absolutte værdi af et tal.",
+       "MATH_SINGLE_TOOLTIP_NEG": "Returnere negationen af et tal.",
+       "MATH_SINGLE_TOOLTIP_LN": "Returnere den naturlige logaritme af et tal.",
+       "MATH_SINGLE_TOOLTIP_LOG10": "Returnere 10-talslogaritmen af et tal.",
+       "MATH_SINGLE_TOOLTIP_EXP": "Returnere e til potensen af et tal.",
+       "MATH_SINGLE_TOOLTIP_POW10": "Returnere 10 til potensen af et tal.",
+       "MATH_TRIG_HELPURL": "https://da.wikipedia.org/wiki/Trigonometrisk_funktion",
+       "MATH_TRIG_TOOLTIP_SIN": "Returnere sinus af en vinkel (i grader).",
+       "MATH_TRIG_TOOLTIP_COS": "Returnere cosinus af en vinkel (i grader).",
+       "MATH_TRIG_TOOLTIP_TAN": "Returnere tangens af en vinkel (i grader).",
+       "MATH_TRIG_TOOLTIP_ASIN": "Returnere arcus sinus af et tal.",
+       "MATH_TRIG_TOOLTIP_ACOS": "Returnere arcus cosinus af et tal.",
+       "MATH_TRIG_TOOLTIP_ATAN": "Returnere arcus tangens af et tal.",
+       "MATH_CONSTANT_HELPURL": "https://da.wikipedia.org/wiki/Matematisk_konstant",
+       "MATH_CONSTANT_TOOLTIP": "Returnere en af de ofte brugte konstanter: Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(2) (1.414…), sqrt(½) (0.707…) eller âˆž (uendeligt).",
+       "MATH_IS_EVEN": "er lige",
+       "MATH_IS_ODD": "er ulige",
+       "MATH_IS_PRIME": "er et primtal",
+       "MATH_IS_WHOLE": "er helt",
+       "MATH_IS_POSITIVE": "er positivt",
+       "MATH_IS_NEGATIVE": "er negativt",
+       "MATH_IS_DIVISIBLE_BY": "er deleligt med",
+       "MATH_IS_TOOLTIP": "Kontrollere, om et tal er lige, ulige, primtal, helt, positivt, negativt, eller om det er deleligt med bestemt tal. Returnere sandt eller falskt.",
+       "MATH_CHANGE_HELPURL": "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter",
+       "MATH_CHANGE_TITLE": "skift %1 med %2",
+       "MATH_CHANGE_TOOLTIP": "Læg et tal til variablen '%1'.",
+       "MATH_ROUND_HELPURL": "https://da.wikipedia.org/wiki/Afrunding",
+       "MATH_ROUND_TOOLTIP": "Runde et tal op eller ned.",
+       "MATH_ROUND_OPERATOR_ROUND": "afrund",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "rund op",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "rund ned",
+       "MATH_ONLIST_OPERATOR_SUM": "summen af listen",
+       "MATH_ONLIST_TOOLTIP_SUM": "Returner summen af alle tal i listen.",
+       "MATH_ONLIST_OPERATOR_MIN": "mindste tal i listen",
+       "MATH_ONLIST_TOOLTIP_MIN": "Returner det mindste tal i listen.",
+       "MATH_ONLIST_OPERATOR_MAX": "største tal i listen",
+       "MATH_ONLIST_TOOLTIP_MAX": "Returner det største tal i listen.",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "gennemsnit af listen",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "Returner gennemsnittet (middelværdien) af de numeriske værdier i listen.",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "listens median",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "Returner listens median.",
+       "MATH_ONLIST_OPERATOR_MODE": "listens typetal",
+       "MATH_ONLIST_TOOLTIP_MODE": "Returner en liste over de mest almindelige elementer på listen.",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "standardafvigelsen for listen",
+       "MATH_ONLIST_TOOLTIP_STD_DEV": "Returner standardafvigelsen for listen.",
+       "MATH_ONLIST_OPERATOR_RANDOM": "tilfældigt element fra listen",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "Returner et tilfældigt element fra listen.",
+       "MATH_MODULO_HELPURL": "https://da.wikipedia.org/wiki/Modulo",
+       "MATH_MODULO_TITLE": "resten af %1 ÷ %2",
+       "MATH_MODULO_TOOLTIP": "Returner resten fra at dividere de to tal.",
+       "MATH_CONSTRAIN_TITLE": "begræns %1 til mellem %2 og %3",
+       "MATH_CONSTRAIN_TOOLTIP": "Begræns et tal til at være mellem de angivne grænser (inklusiv).",
+       "MATH_RANDOM_INT_HELPURL": "https://da.wikipedia.org/wiki/Tilfældighedsgenerator",
+       "MATH_RANDOM_INT_TITLE": "tilfældigt heltal mellem %1 og %2",
+       "MATH_RANDOM_INT_TOOLTIP": "Returner et tilfældigt heltal mellem de to angivne grænser (inklusiv).",
+       "MATH_RANDOM_FLOAT_HELPURL": "https://da.wikipedia.org/wiki/Tilfældighedsgenerator",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "tilfældigt decimaltal (mellem 0 og 1)",
+       "MATH_RANDOM_FLOAT_TOOLTIP": "Returner et tilfældigt decimaltal mellem 0,0 (inklusiv) og 1,0 (eksklusiv).",
+       "TEXT_TEXT_HELPURL": "https://da.wikipedia.org/wiki/Tekststreng",
+       "TEXT_TEXT_TOOLTIP": "En bogstav, et ord eller en linje med tekst.",
+       "TEXT_JOIN_TITLE_CREATEWITH": "lav en tekst med",
+       "TEXT_JOIN_TOOLTIP": "Lav et stykke tekst ved at sætte et antal elementer sammen.",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "sammenføj",
+       "TEXT_CREATE_JOIN_TOOLTIP": "Tilføj, fjern eller byt om på rækkefølgen af delene for at konfigurere denne tekstblok.",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "Føj et element til teksten.",
+       "TEXT_APPEND_TITLE": "til %1 tilføj tekst %2",
+       "TEXT_APPEND_TOOLTIP": "Tilføj noget tekst til variablen '%1'.",
+       "TEXT_LENGTH_TITLE": "længden af %1",
+       "TEXT_LENGTH_TOOLTIP": "Returnerer antallet af bogstaver (herunder mellemrum) i den angivne tekst.",
+       "TEXT_ISEMPTY_TITLE": "%1 er tom",
+       "TEXT_ISEMPTY_TOOLTIP": "Returnerer sand, hvis den angivne tekst er tom.",
+       "TEXT_INDEXOF_TOOLTIP": "Returnerer indeks for første/sidste forekomst af første tekst i den anden tekst.  Returnerer %1, hvis teksten ikke kan findes.",
+       "TEXT_INDEXOF_TITLE": "i tekst %1 %2 %3",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "find første forekomst af teksten",
+       "TEXT_INDEXOF_OPERATOR_LAST": "find sidste forekomst af teksten",
+       "TEXT_CHARAT_TITLE": "i tekst %1 %2",
+       "TEXT_CHARAT_FROM_START": "hent bogstav #",
+       "TEXT_CHARAT_FROM_END": "hent bogstav # fra slutningen",
+       "TEXT_CHARAT_FIRST": "hent første bogstav",
+       "TEXT_CHARAT_LAST": "hent sidste bogstav",
+       "TEXT_CHARAT_RANDOM": "hent tilfældigt bogstav",
+       "TEXT_CHARAT_TOOLTIP": "Returnerer bogstavet på den angivne placering.",
+       "TEXT_GET_SUBSTRING_TOOLTIP": "Returnerer den angivne del af teksten.",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "i teksten",
+       "TEXT_GET_SUBSTRING_START_FROM_START": "hent delstreng fra bogstav #",
+       "TEXT_GET_SUBSTRING_START_FROM_END": "hent delstreng fra bogstav # fra slutningen",
+       "TEXT_GET_SUBSTRING_START_FIRST": "hent delstreng fra første bogstav",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "til bogstav #",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "til bogstav # fra slutningen",
+       "TEXT_GET_SUBSTRING_END_LAST": "til sidste bogstav",
+       "TEXT_CHANGECASE_TOOLTIP": "Returner en kopi af teksten hvor bogstaverne enten er udelukkende store eller små, eller hvor første bogstav i hvert ord er stort.",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "til STORE BOGSTAVER",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "til små bogstaver",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": "til Stort Begyndelsesbogstav",
+       "TEXT_TRIM_TOOLTIP": "Returner en kopi af teksten med mellemrum fjernet fra den ene eller begge sider.",
+       "TEXT_TRIM_OPERATOR_BOTH": "fjern mellemrum fra begge sider af",
+       "TEXT_TRIM_OPERATOR_LEFT": "fjern mellemrum fra venstre side af",
+       "TEXT_TRIM_OPERATOR_RIGHT": "fjern mellemrum fra højre side af",
+       "TEXT_PRINT_TITLE": "skriv %1",
+       "TEXT_PRINT_TOOLTIP": "Skriv den angivne tekst, tal eller anden værdi.",
+       "TEXT_PROMPT_TYPE_TEXT": "spørg efter tekst med meddelelsen",
+       "TEXT_PROMPT_TYPE_NUMBER": "spørg efter et tal med meddelelsen",
+       "TEXT_PROMPT_TOOLTIP_NUMBER": "Spørg brugeren efter et tal",
+       "TEXT_PROMPT_TOOLTIP_TEXT": "Spørg brugeren efter en tekst",
+       "TEXT_COUNT_MESSAGE0": "tæl %1 i %2",
+       "TEXT_COUNT_TOOLTIP": "Tæl hvor mange gange noget tekst fremgår i en anden tekst.",
+       "TEXT_REPLACE_MESSAGE0": "erstat %1 med %2 i %3",
+       "TEXT_REPLACE_TOOLTIP": "Erstat alle forekomster af noget tekst i en anden tekst.",
+       "TEXT_REVERSE_MESSAGE0": "vend %1 om",
+       "TEXT_REVERSE_TOOLTIP": "Vender rækkefølgen om for tegnene i teksten.",
+       "LISTS_CREATE_EMPTY_TITLE": "opret en tom liste",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "Returnerer en liste af længde 0, som ikke indeholder nogen data",
+       "LISTS_CREATE_WITH_TOOLTIP": "Opret en liste med et vilkårligt antal elementer.",
+       "LISTS_CREATE_WITH_INPUT_WITH": "opret liste med",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "liste",
+       "LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "Tilføj, fjern eller byt om på rækkefølgen af delene for at konfigurere denne blok.",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "Føj et element til listen.",
+       "LISTS_REPEAT_TOOLTIP": "Opretter en liste bestående af den givne værdi gentaget et bestemt antal gange.",
+       "LISTS_REPEAT_TITLE": "opret liste med elementet %1 gentaget %2 gange",
+       "LISTS_LENGTH_TITLE": "længden af %1",
+       "LISTS_LENGTH_TOOLTIP": "Returnerer længden af en liste.",
+       "LISTS_ISEMPTY_TITLE": "%1 er tom",
+       "LISTS_ISEMPTY_TOOLTIP": "Returnerer sand, hvis listen er tom.",
+       "LISTS_INLIST": "i listen",
+       "LISTS_INDEX_OF_FIRST": "find første forekomst af elementet",
+       "LISTS_INDEX_OF_LAST": "find sidste forekomst af elementet",
+       "LISTS_INDEX_OF_TOOLTIP": "Returnerer indeks for første/sidste forekomst af elementet i listen. Returnerer %1, hvis elementet ikke kan findes.",
+       "LISTS_GET_INDEX_GET": "hent",
+       "LISTS_GET_INDEX_GET_REMOVE": "hent og fjern",
+       "LISTS_GET_INDEX_REMOVE": "fjern",
+       "LISTS_GET_INDEX_FROM_END": "# fra slutningen",
+       "LISTS_GET_INDEX_FIRST": "første",
+       "LISTS_GET_INDEX_LAST": "sidste",
+       "LISTS_GET_INDEX_RANDOM": "tilfældig",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "%1 er det første element.",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "%1 er det sidste element.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "Returnerer elementet på den angivne position på en liste.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "Returnerer det første element i en liste.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "Returnerer den sidste element i en liste.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "Returnerer et tilfældigt element i en liste.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "Fjerner og returnerer elementet på den angivne position på en liste.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "Fjerner og returnerer det første element i en liste.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "Fjerner og returnerer det sidste element i en liste.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "Fjerner og returnerer et tilfældigt element i en liste.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "Fjerner elementet på den angivne position på en liste.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "Fjerner det første element i en liste.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "Fjerner sidste element i en liste.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "Fjerner et tilfældigt element i en liste.",
+       "LISTS_SET_INDEX_SET": "sæt",
+       "LISTS_SET_INDEX_INSERT": "indsæt ved",
+       "LISTS_SET_INDEX_INPUT_TO": "som",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "Sætter elementet på den angivne position i en liste.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "Sætter det første element i en liste.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_LAST": "Sætter det sidste element i en liste.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "Sætter et tilfældigt element i en liste.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "Indsætter elementet på den angivne position i en liste.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "Indsætter elementet i starten af en liste.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "Føj elementet til slutningen af en liste.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "Indsætter elementet tilfældigt i en liste.",
+       "LISTS_GET_SUBLIST_START_FROM_START": "hent underliste fra #",
+       "LISTS_GET_SUBLIST_START_FROM_END": "hent underliste fra # fra slutningen",
+       "LISTS_GET_SUBLIST_START_FIRST": "hent underliste fra første",
+       "LISTS_GET_SUBLIST_END_FROM_START": "til #",
+       "LISTS_GET_SUBLIST_END_FROM_END": "til # fra slutningen",
+       "LISTS_GET_SUBLIST_END_LAST": "til sidste",
+       "LISTS_GET_SUBLIST_TOOLTIP": "Opretter en kopi af den angivne del af en liste.",
+       "LISTS_SORT_HELPURL": "https://github.com/google/blockly/wiki/Lists#sorting-a-list",
+       "LISTS_SORT_TITLE": "sorter %1 %2 %3",
+       "LISTS_SORT_TOOLTIP": "Sorter en kopi af en liste.",
+       "LISTS_SORT_ORDER_ASCENDING": "stigende",
+       "LISTS_SORT_ORDER_DESCENDING": "faldende",
+       "LISTS_SORT_TYPE_NUMERIC": "nummerorden",
+       "LISTS_SORT_TYPE_TEXT": "alfabetisk",
+       "LISTS_SORT_TYPE_IGNORECASE": "alfabetisk, ignorer store/små bogstaver",
+       "LISTS_SPLIT_LIST_FROM_TEXT": "lav tekst til liste",
+       "LISTS_SPLIT_TEXT_FROM_LIST": "lav liste til tekst",
+       "LISTS_SPLIT_WITH_DELIMITER": "med skilletegn",
+       "LISTS_SPLIT_TOOLTIP_SPLIT": "Bryd tekst op i en liste af tekster med brud ved hvert skilletegn.",
+       "LISTS_SPLIT_TOOLTIP_JOIN": "Saml en liste af tekster til én tekst, der er adskilt af et skilletegn.",
+       "LISTS_REVERSE_MESSAGE0": "vend %1 om",
+       "LISTS_REVERSE_TOOLTIP": "Vend en kopi af en liste om.",
+       "VARIABLES_GET_TOOLTIP": "Returnerer værdien af denne variabel.",
+       "VARIABLES_GET_CREATE_SET": "Opret 'sæt %1'",
+       "VARIABLES_SET": "sæt %1 til %2",
+       "VARIABLES_SET_TOOLTIP": "Sætter denne variabel til at være lig med input.",
+       "VARIABLES_SET_CREATE_GET": "Opret 'hent %1'",
+       "PROCEDURES_DEFNORETURN_TITLE": "for at",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "gøre noget",
+       "PROCEDURES_BEFORE_PARAMS": "med:",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "med:",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "Opretter en funktion der ikke har nogen returværdi.",
+       "PROCEDURES_DEFNORETURN_COMMENT": "Beskriv denne funktion...",
+       "PROCEDURES_DEFRETURN_RETURN": "returnér",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "Opretter en funktion der har en returværdi.",
+       "PROCEDURES_ALLOW_STATEMENTS": "tillad erklæringer",
+       "PROCEDURES_DEF_DUPLICATE_WARNING": "Advarsel: Denne funktion har dublerede parametre.",
+       "PROCEDURES_CALLNORETURN_HELPURL": "https://en.wikipedia.org/wiki/Subroutine",
+       "PROCEDURES_CALLNORETURN_TOOLTIP": "Kør den brugerdefinerede funktion '%1'.",
+       "PROCEDURES_CALLRETURN_HELPURL": "https://en.wikipedia.org/wiki/Subroutine",
+       "PROCEDURES_CALLRETURN_TOOLTIP": "Kør den brugerdefinerede funktion '%1' og brug dens returværdi.",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "parametre",
+       "PROCEDURES_MUTATORCONTAINER_TOOLTIP": "Tilføje, fjerne eller ændre rækkefølgen af parametre til denne funktion.",
+       "PROCEDURES_MUTATORARG_TITLE": "parameternavn:",
+       "PROCEDURES_MUTATORARG_TOOLTIP": "Tilføj en parameter til funktionen.",
+       "PROCEDURES_HIGHLIGHT_DEF": "Markér funktionsdefinitionen",
+       "PROCEDURES_CREATE_DO": "Opret '%1'",
+       "PROCEDURES_IFRETURN_TOOLTIP": "Hvis en værdi er sand, så returnér en anden værdi.",
+       "PROCEDURES_IFRETURN_HELPURL": "http://c2.com/cgi/wiki?GuardClause",
+       "PROCEDURES_IFRETURN_WARNING": "Advarsel: Denne blok kan kun anvendes inden for en funktionsdefinition.",
+       "WORKSPACE_COMMENT_DEFAULT_TEXT": "Sig noget ..."
+}
diff --git a/js/msg/json/de.json b/js/msg/json/de.json
new file mode 100644 (file)
index 0000000..02d01fc
--- /dev/null
@@ -0,0 +1,382 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Metalhead64",
+                       "M165437",
+                       "Dan-yell",
+                       "ì•„ë¼",
+                       "Octycs",
+                       "Cvanca",
+                       "THINK",
+                       "Zgtm"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "etwas",
+       "TODAY": "Heute",
+       "DUPLICATE_BLOCK": "Kopieren",
+       "ADD_COMMENT": "Kommentar hinzufügen",
+       "REMOVE_COMMENT": "Kommentar entfernen",
+       "DUPLICATE_COMMENT": "Kommentar kopieren",
+       "EXTERNAL_INPUTS": "externe Eingänge",
+       "INLINE_INPUTS": "interne Eingänge",
+       "DELETE_BLOCK": "Baustein löschen",
+       "DELETE_X_BLOCKS": "%1 Bausteine löschen",
+       "DELETE_ALL_BLOCKS": "Alle %1 Bausteine löschen?",
+       "CLEAN_UP": "Bausteine aufräumen",
+       "COLLAPSE_BLOCK": "Baustein zusammenfalten",
+       "COLLAPSE_ALL": "Alle Bausteine zusammenfalten",
+       "EXPAND_BLOCK": "Baustein entfalten",
+       "EXPAND_ALL": "Alle Bausteine entfalten",
+       "DISABLE_BLOCK": "Baustein deaktivieren",
+       "ENABLE_BLOCK": "Baustein aktivieren",
+       "HELP": "Hilfe",
+       "UNDO": "Rückgängig",
+       "REDO": "Wiederholen",
+       "CHANGE_VALUE_TITLE": "Wert ändern:",
+       "RENAME_VARIABLE": "Variable umbenennen â€¦",
+       "RENAME_VARIABLE_TITLE": "Alle \"%1\" Variablen umbenennen in:",
+       "NEW_VARIABLE": "Variable erstellen â€¦",
+       "NEW_STRING_VARIABLE": "Zeichenfolgenvariable erstellen â€¦",
+       "NEW_NUMBER_VARIABLE": "Zahlenvariable erstellen â€¦",
+       "NEW_COLOUR_VARIABLE": "Farbvariable erstellen â€¦",
+       "NEW_VARIABLE_TYPE_TITLE": "Neuer Variablentyp:",
+       "NEW_VARIABLE_TITLE": "Name der neuen Variable:",
+       "VARIABLE_ALREADY_EXISTS": "Eine Variable namens â€ž%1“ ist bereits vorhanden.",
+       "VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE": "Eine Variable namens â€ž%1“ ist bereits für einen anderen Typ vorhanden: â€ž%2“.",
+       "DELETE_VARIABLE_CONFIRMATION": "%1 Verwendungen der Variable â€ž%2“ löschen?",
+       "CANNOT_DELETE_VARIABLE_PROCEDURE": "Die Variable â€ž%1“ kann nicht gelöscht werden, da sie Teil der Definition der Funktion â€ž%2“ ist.",
+       "DELETE_VARIABLE": "Die Variable â€ž%1“ löschen",
+       "COLOUR_PICKER_HELPURL": "https://de.wikipedia.org/wiki/Farbe",
+       "COLOUR_PICKER_TOOLTIP": "Erzeugt eine Farbe aus der Palette.",
+       "COLOUR_RANDOM_TITLE": "zufällige Farbe",
+       "COLOUR_RANDOM_TOOLTIP": "Erzeugt eine Farbe nach dem Zufallsprinzip.",
+       "COLOUR_RGB_HELPURL": "https://de.wikipedia.org/wiki/RGB-Farbraum",
+       "COLOUR_RGB_TITLE": "Farbe aus",
+       "COLOUR_RGB_RED": "rot",
+       "COLOUR_RGB_GREEN": "grün",
+       "COLOUR_RGB_BLUE": "blau",
+       "COLOUR_RGB_TOOLTIP": "Erzeugt eine Farbe mit selbst definierten Rot-, Grün- und Blauwerten. Alle Werte müssen zwischen 0 und 100 liegen.",
+       "COLOUR_BLEND_HELPURL": "http://meyerweb.com/eric/tools/color-blend/",
+       "COLOUR_BLEND_TITLE": "mische",
+       "COLOUR_BLEND_COLOUR1": "Farbe 1",
+       "COLOUR_BLEND_COLOUR2": "und Farbe 2",
+       "COLOUR_BLEND_RATIO": "im Verhältnis",
+       "COLOUR_BLEND_TOOLTIP": "Vermischt 2 Farben mit konfigurierbarem Farbverhältnis (0.0 - 1.0).",
+       "CONTROLS_REPEAT_HELPURL": "https://de.wikipedia.org/wiki/For-Schleife",
+       "CONTROLS_REPEAT_TITLE": "wiederhole %1 mal:",
+       "CONTROLS_REPEAT_INPUT_DO": "mache",
+       "CONTROLS_REPEAT_TOOLTIP": "Eine Anweisung mehrfach ausführen.",
+       "CONTROLS_WHILEUNTIL_HELPURL": "https://de.wikipedia.org/wiki/Schleife_%28Programmierung%29",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "wiederhole solange",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "wiederhole bis",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "Führt Anweisungen aus solange die Bedingung wahr ist.",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "Führt Anweisungen aus solange die Bedingung unwahr ist.",
+       "CONTROLS_FOR_HELPURL": "https://de.wikipedia.org/wiki/For-Schleife",
+       "CONTROLS_FOR_TOOLTIP": "Zählt die Variable \"%1\" von einem Startwert bis zu einem Endwert und führt für jeden Wert eine Anweisung aus.",
+       "CONTROLS_FOR_TITLE": "zähle %1 von %2 bis %3 in Schritten von %4",
+       "CONTROLS_FOREACH_HELPURL": "https://de.wikipedia.org/wiki/For-Schleife",
+       "CONTROLS_FOREACH_TITLE": "für jeden Wert %1 aus der Liste %2",
+       "CONTROLS_FOREACH_TOOLTIP": "Führt eine Anweisung für jeden Wert in der Liste aus und setzt dabei die Variable \"%1\" auf den aktuellen Listenwert.",
+       "CONTROLS_FLOW_STATEMENTS_HELPURL": "https://de.wikipedia.org/wiki/Kontrollstruktur",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "die Schleife abbrechen",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "sofort mit nächstem Schleifendurchlauf fortfahren",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "Die umgebende Schleife beenden.",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "Diese Anweisung abbrechen und mit dem nächsten Schleifendurchlauf fortfahren.",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "Warnung: Dieser Baustein kann nur in einer Schleife verwendet werden.",
+       "CONTROLS_IF_TOOLTIP_1": "Führt eine Anweisung aus, falls eine Bedingung wahr ist.",
+       "CONTROLS_IF_TOOLTIP_2": "Führt die erste Anweisung aus, falls eine Bedingung wahr ist.  Führt ansonsten die zweite Anweisung aus.",
+       "CONTROLS_IF_TOOLTIP_3": "Führt die erste Anweisung aus, falls die erste Bedingung wahr ist.  Führt ansonsten die zweite Anweisung aus, falls die zweite Bedingung wahr ist.",
+       "CONTROLS_IF_TOOLTIP_4": "Führe die erste Anweisung aus, falls die erste Bedingung wahr ist.  Führt ansonsten die zweite Anweisung aus, falls die zweite Bedingung wahr ist.  Führt die dritte Anweisung aus, falls keine der beiden Bedingungen wahr ist",
+       "CONTROLS_IF_MSG_IF": "falls",
+       "CONTROLS_IF_MSG_ELSEIF": "sonst falls",
+       "CONTROLS_IF_MSG_ELSE": "sonst",
+       "CONTROLS_IF_IF_TOOLTIP": "Hinzufügen, entfernen oder sortieren von Sektionen",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "Eine weitere Bedingung hinzufügen.",
+       "CONTROLS_IF_ELSE_TOOLTIP": "Eine sonst-Bedingung hinzufügen. Führt eine Anweisung aus, falls keine Bedingung zutrifft.",
+       "IOS_OK": "OKAY",
+       "IOS_CANCEL": "Abbrechen",
+       "IOS_ERROR": "Fehler",
+       "IOS_PROCEDURES_INPUTS": "PARAMETER",
+       "IOS_PROCEDURES_ADD_INPUT": "+ Parameter hinzufügen",
+       "IOS_PROCEDURES_ALLOW_STATEMENTS": "Anweisungen erlauben",
+       "IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR": "Diese Funktion hat doppelte Parameter.",
+       "IOS_VARIABLES_ADD_VARIABLE": "+ Variable hinzufügen",
+       "IOS_VARIABLES_ADD_BUTTON": "Hinzufügen",
+       "IOS_VARIABLES_RENAME_BUTTON": "Umbenennen",
+       "IOS_VARIABLES_DELETE_BUTTON": "Löschen",
+       "IOS_VARIABLES_VARIABLE_NAME": "Name der Variable",
+       "IOS_VARIABLES_EMPTY_NAME_ERROR": "Du kannst keinen leeren Variablennamen verwenden.",
+       "LOGIC_COMPARE_HELPURL": "https://de.wikipedia.org/wiki/Vergleich_%28Zahlen%29",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "Ist wahr, falls beide Werte gleich sind.",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "Ist wahr, falls beide Werte unterschiedlich sind.",
+       "LOGIC_COMPARE_TOOLTIP_LT": "Ist wahr, falls der erste Wert kleiner als der zweite Wert ist.",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "Ist wahr, falls der erste Wert kleiner als oder gleich groß wie der zweite Wert ist.",
+       "LOGIC_COMPARE_TOOLTIP_GT": "Ist wahr, falls der erste Wert größer als der zweite Wert ist.",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "Ist wahr, falls der erste Wert größer als oder gleich groß wie der zweite Wert ist.",
+       "LOGIC_OPERATION_TOOLTIP_AND": "Ist wahr, falls beide Werte wahr sind.",
+       "LOGIC_OPERATION_AND": "und",
+       "LOGIC_OPERATION_TOOLTIP_OR": "Ist wahr, falls einer der beiden Werte wahr ist.",
+       "LOGIC_OPERATION_OR": "oder",
+       "LOGIC_NEGATE_TITLE": "nicht %1",
+       "LOGIC_NEGATE_TOOLTIP": "Ist wahr, falls der Eingabewert unwahr ist.  Ist unwahr, falls der Eingabewert wahr ist.",
+       "LOGIC_BOOLEAN_TRUE": "wahr",
+       "LOGIC_BOOLEAN_FALSE": "unwahr",
+       "LOGIC_BOOLEAN_TOOLTIP": "Ist entweder wahr oder unwahr",
+       "LOGIC_NULL_HELPURL": "https://de.wikipedia.org/wiki/Nullwert",
+       "LOGIC_NULL": "null",
+       "LOGIC_NULL_TOOLTIP": "Ist \"null\".",
+       "LOGIC_TERNARY_HELPURL": "https://de.wikipedia.org/wiki/%3F:#Auswahloperator",
+       "LOGIC_TERNARY_CONDITION": "prüfe",
+       "LOGIC_TERNARY_IF_TRUE": "falls wahr",
+       "LOGIC_TERNARY_IF_FALSE": "falls unwahr",
+       "LOGIC_TERNARY_TOOLTIP": "Überprüft eine Bedingung \"prüfe\". Falls die Bedingung wahr ist, wird der \"falls wahr\" Wert zurückgegeben, andernfalls der \"falls unwahr\" Wert",
+       "MATH_NUMBER_HELPURL": "https://de.wikipedia.org/wiki/Zahl",
+       "MATH_NUMBER_TOOLTIP": "Eine Zahl.",
+       "MATH_ARITHMETIC_HELPURL": "https://de.wikipedia.org/wiki/Grundrechenart",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "Ist die Summe zweier Zahlen.",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "Ist die Differenz zweier Zahlen.",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "Ist das Produkt zweier Zahlen.",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "Ist der Quotient zweier Zahlen.",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "Ist die erste Zahl potenziert mit der zweiten Zahl.",
+       "MATH_SINGLE_HELPURL": "https://de.wikipedia.org/wiki/Quadratwurzel",
+       "MATH_SINGLE_OP_ROOT": "Quadratwurzel",
+       "MATH_SINGLE_TOOLTIP_ROOT": "Ist die Quadratwurzel einer Zahl.",
+       "MATH_SINGLE_OP_ABSOLUTE": "Betrag",
+       "MATH_SINGLE_TOOLTIP_ABS": "Ist der Betrag einer Zahl.",
+       "MATH_SINGLE_TOOLTIP_NEG": "Negiert eine Zahl.",
+       "MATH_SINGLE_TOOLTIP_LN": "Ist der natürliche Logarithmus einer Zahl.",
+       "MATH_SINGLE_TOOLTIP_LOG10": "Ist der dekadische Logarithmus einer Zahl.",
+       "MATH_SINGLE_TOOLTIP_EXP": "Ist Wert der Exponentialfunktion einer Zahl.",
+       "MATH_SINGLE_TOOLTIP_POW10": "Rechnet 10 hoch eine Zahl.",
+       "MATH_TRIG_HELPURL": "https://de.wikipedia.org/wiki/Trigonometrie",
+       "MATH_TRIG_TOOLTIP_SIN": "Ist der Sinus des Winkels.",
+       "MATH_TRIG_TOOLTIP_COS": "Ist der Kosinus des Winkels.",
+       "MATH_TRIG_TOOLTIP_TAN": "Ist der Tangens des Winkels.",
+       "MATH_TRIG_TOOLTIP_ASIN": "Ist der Arkussinus des Eingabewertes.",
+       "MATH_TRIG_TOOLTIP_ACOS": "Ist der Arkuskosinus des Eingabewertes.",
+       "MATH_TRIG_TOOLTIP_ATAN": "Ist der Arkustangens des Eingabewertes.",
+       "MATH_CONSTANT_HELPURL": "https://de.wikipedia.org/wiki/Mathematische_Konstante",
+       "MATH_CONSTANT_TOOLTIP": "Mathematische Konstanten wie: Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…) oder âˆž (unendlich).",
+       "MATH_IS_EVEN": "ist gerade",
+       "MATH_IS_ODD": "ist ungerade",
+       "MATH_IS_PRIME": "ist eine Primzahl",
+       "MATH_IS_WHOLE": "ist eine ganze Zahl",
+       "MATH_IS_POSITIVE": "ist positiv",
+       "MATH_IS_NEGATIVE": "ist negativ",
+       "MATH_IS_DIVISIBLE_BY": "ist teilbar durch",
+       "MATH_IS_TOOLTIP": "Überprüft ob eine Zahl gerade, ungerade, eine Primzahl, ganzzahlig, positiv, negativ oder durch eine zweite Zahl teilbar ist.  Gibt wahr oder unwahr zurück.",
+       "MATH_CHANGE_HELPURL": "https://de.wikipedia.org/wiki/Inkrement_und_Dekrement",
+       "MATH_CHANGE_TITLE": "erhöhe %1 um %2",
+       "MATH_CHANGE_TOOLTIP": "Addiert eine Zahl zu \"%1\".",
+       "MATH_ROUND_HELPURL": "https://de.wikipedia.org/wiki/Runden",
+       "MATH_ROUND_TOOLTIP": "Eine Zahl auf- oder abrunden.",
+       "MATH_ROUND_OPERATOR_ROUND": "runde",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "runde auf",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "runde ab",
+       "MATH_ONLIST_HELPURL": "http://www.sysplus.ch/einstieg.php?links=menu&seite=4125&grad=Crash&prog=Excel",
+       "MATH_ONLIST_OPERATOR_SUM": "Summe über die Liste",
+       "MATH_ONLIST_TOOLTIP_SUM": "Ist die Summe aller Zahlen in einer Liste.",
+       "MATH_ONLIST_OPERATOR_MIN": "Minimalwert der Liste",
+       "MATH_ONLIST_TOOLTIP_MIN": "Ist die kleinste Zahl in einer Liste.",
+       "MATH_ONLIST_OPERATOR_MAX": "Maximalwert der Liste",
+       "MATH_ONLIST_TOOLTIP_MAX": "Ist die größte Zahl in einer Liste.",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "Mittelwert der Liste",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "Ist der Durchschnittswert aller Zahlen in einer Liste.",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "Median der Liste",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "Ist der Median aller Zahlen in einer Liste.",
+       "MATH_ONLIST_OPERATOR_MODE": "am häufigsten in der Liste",
+       "MATH_ONLIST_TOOLTIP_MODE": "Findet die Werte mit dem häufigstem Vorkommen in der Liste.",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "Standardabweichung der Liste",
+       "MATH_ONLIST_TOOLTIP_STD_DEV": "Ist die Standardabweichung aller Werte in der Liste.",
+       "MATH_ONLIST_OPERATOR_RANDOM": "Zufallswert aus der Liste",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "Gibt einen zufälligen Wert aus der Liste zurück.",
+       "MATH_MODULO_HELPURL": "https://de.wikipedia.org/wiki/Modulo",
+       "MATH_MODULO_TITLE": "Rest von %1 ÷ %2",
+       "MATH_MODULO_TOOLTIP": "Der Rest nach einer Division.",
+       "MATH_CONSTRAIN_TITLE": "begrenze %1 zwischen %2 und %3",
+       "MATH_CONSTRAIN_TOOLTIP": "Begrenzt eine Zahl auf den Wertebereich zwischen zwei anderen Zahlen (inklusiv).",
+       "MATH_RANDOM_INT_HELPURL": "https://de.wikipedia.org/wiki/Zufallszahlen",
+       "MATH_RANDOM_INT_TITLE": "ganzzahlige Zufallszahl zwischen %1 und %2",
+       "MATH_RANDOM_INT_TOOLTIP": "Erzeugt eine ganzzahlige Zufallszahl zwischen zwei Zahlen (inklusiv).",
+       "MATH_RANDOM_FLOAT_HELPURL": "https://de.wikipedia.org/wiki/Zufallszahlen",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "Zufallszahl (0.0 - 1.0)",
+       "MATH_RANDOM_FLOAT_TOOLTIP": "Erzeugt eine Zufallszahl zwischen 0.0 (inklusiv) und 1.0 (exklusiv).",
+       "TEXT_TEXT_HELPURL": "https://de.wikipedia.org/wiki/Zeichenkette",
+       "TEXT_TEXT_TOOLTIP": "Ein Buchstabe, Text oder Satz.",
+       "TEXT_JOIN_HELPURL": "",
+       "TEXT_JOIN_TITLE_CREATEWITH": "erstelle Text aus",
+       "TEXT_JOIN_TOOLTIP": "Erstellt einen Text durch das Verbinden von mehreren Textelementen.",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "verbinden",
+       "TEXT_CREATE_JOIN_TOOLTIP": "Hinzufügen, entfernen und sortieren von Elementen.",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "Ein Element zum Text hinzufügen.",
+       "TEXT_APPEND_TITLE": "zu %1 Text %2 anhängen",
+       "TEXT_APPEND_TOOLTIP": "Text an die Variable \"%1\" anhängen.",
+       "TEXT_LENGTH_TITLE": "Länge von %1",
+       "TEXT_LENGTH_TOOLTIP": "Die Anzahl von Zeichen in einem Text (inkl. Leerzeichen).",
+       "TEXT_ISEMPTY_TITLE": "%1 ist leer",
+       "TEXT_ISEMPTY_TOOLTIP": "Ist wahr, falls der Text keine Zeichen enthält ist.",
+       "TEXT_INDEXOF_HELPURL": "http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic=%2Fcom.ibm.xlcpp8l.doc%2Flanguage%2Fref%2Farsubex.htm",
+       "TEXT_INDEXOF_TOOLTIP": "Findet das erste / letzte Auftreten eines Suchbegriffs in einem Text.  Gibt die Position des Begriffs zurück oder %1 falls der Suchbegriff nicht gefunden wurde.",
+       "TEXT_INDEXOF_TITLE": "im Text %1 %2 %3",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "suche erstes Auftreten des Begriffs",
+       "TEXT_INDEXOF_OPERATOR_LAST": "suche letztes Auftreten des Begriffs",
+       "TEXT_CHARAT_HELPURL": "http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic=%2Fcom.ibm.xlcpp8l.doc%2Flanguage%2Fref%2Farsubex.htm",
+       "TEXT_CHARAT_TITLE": "im Text %1 %2",
+       "TEXT_CHARAT_FROM_START": "nimm",
+       "TEXT_CHARAT_FROM_END": "nimm von hinten",
+       "TEXT_CHARAT_FIRST": "nimm ersten",
+       "TEXT_CHARAT_LAST": "nimm letzten",
+       "TEXT_CHARAT_RANDOM": "nimm zufälligen",
+       "TEXT_CHARAT_TAIL": "Buchstaben",
+       "TEXT_CHARAT_TOOLTIP": "Extrahiert einen Buchstaben von einer bestimmten Position.",
+       "TEXT_GET_SUBSTRING_TOOLTIP": "Gibt den angegebenen Textabschnitt zurück.",
+       "TEXT_GET_SUBSTRING_HELPURL": "http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic=%2Fcom.ibm.xlcpp8l.doc%2Flanguage%2Fref%2Farsubex.htm",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "im Text",
+       "TEXT_GET_SUBSTRING_START_FROM_START": "nimm Teil ab",
+       "TEXT_GET_SUBSTRING_START_FROM_END": "nimm Teil ab von hinten",
+       "TEXT_GET_SUBSTRING_START_FIRST": "nimm Teil ab erster",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "bis",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "bis von hinten",
+       "TEXT_GET_SUBSTRING_END_LAST": "bis letzter",
+       "TEXT_GET_SUBSTRING_TAIL": "Buchstabe",
+       "TEXT_CHANGECASE_TOOLTIP": "Wandelt Schreibweise von Texten um, in Großbuchstaben, Kleinbuchstaben oder den ersten Buchstaben jedes Wortes groß und die anderen klein.",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "wandel um in GROSSBUCHSTABEN",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "wandel um in kleinbuchstaben",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": "wandel um in Substantive",
+       "TEXT_TRIM_TOOLTIP": "Entfernt Leerzeichen vom Anfang und / oder Ende eines Textes.",
+       "TEXT_TRIM_OPERATOR_BOTH": "entferne Leerzeichen vom Anfang und vom Ende (links und rechts)",
+       "TEXT_TRIM_OPERATOR_LEFT": "entferne Leerzeichen vom Anfang (links)",
+       "TEXT_TRIM_OPERATOR_RIGHT": "entferne Leerzeichen vom Ende (rechts)",
+       "TEXT_PRINT_TITLE": "gib aus %1",
+       "TEXT_PRINT_TOOLTIP": "Gibt den Text aus.",
+       "TEXT_PROMPT_TYPE_TEXT": "frage nach Text mit Hinweis",
+       "TEXT_PROMPT_TYPE_NUMBER": "frage nach Zahl mit Hinweis",
+       "TEXT_PROMPT_TOOLTIP_NUMBER": "Fragt den Benutzer nach einer Zahl.",
+       "TEXT_PROMPT_TOOLTIP_TEXT": "Fragt den Benutzer nach einem Text.",
+       "TEXT_COUNT_MESSAGE0": "zähle %1 in %2",
+       "TEXT_COUNT_HELPURL": "https://github.com/google/blockly/wiki/Text#counting-substrings",
+       "TEXT_COUNT_TOOLTIP": "Zähle, wie oft ein Text innerhalb eines anderen Textes vorkommt.",
+       "TEXT_REPLACE_MESSAGE0": "ersetze %1 durch %2 in %3",
+       "TEXT_REPLACE_HELPURL": "https://github.com/google/blockly/wiki/Text#replacing-substrings",
+       "TEXT_REPLACE_TOOLTIP": "Ersetze alle Vorkommen eines Textes innerhalb eines anderen Textes.",
+       "TEXT_REVERSE_MESSAGE0": "kehre %1 um",
+       "TEXT_REVERSE_HELPURL": "https://github.com/google/blockly/wiki/Text#reversing-text",
+       "TEXT_REVERSE_TOOLTIP": "Kehre die Reihenfolge der Zeichen im Text um.",
+       "LISTS_CREATE_EMPTY_HELPURL": "https://github.com/google/blockly/wiki/Lists#create-empty-list",
+       "LISTS_CREATE_EMPTY_TITLE": "erzeuge eine leere Liste",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "Erzeugt eine leere Liste ohne Inhalt.",
+       "LISTS_CREATE_WITH_HELPURL": "https://github.com/google/blockly/wiki/Lists#create-list-with",
+       "LISTS_CREATE_WITH_TOOLTIP": "Erzeugt eine Liste aus den angegebenen Elementen.",
+       "LISTS_CREATE_WITH_INPUT_WITH": "erzeuge Liste mit",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "Liste",
+       "LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "Hinzufügen, entfernen und sortieren von Elementen.",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "Ein Element zur Liste hinzufügen.",
+       "LISTS_REPEAT_HELPURL": "http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic=%2Fcom.ibm.xlcpp8l.doc%2Flanguage%2Fref%2Farsubex.htm",
+       "LISTS_REPEAT_TOOLTIP": "Erzeugt eine Liste mit einer variablen Anzahl von Elementen",
+       "LISTS_REPEAT_TITLE": "erzeuge Liste mit %2 mal dem Element %1​",
+       "LISTS_LENGTH_TITLE": "Länge von %1",
+       "LISTS_LENGTH_TOOLTIP": "Die Anzahl von Elementen in der Liste.",
+       "LISTS_ISEMPTY_TITLE": "%1 ist leer",
+       "LISTS_ISEMPTY_TOOLTIP": "Ist wahr, falls die Liste leer ist.",
+       "LISTS_INLIST": "in der Liste",
+       "LISTS_INDEX_OF_HELPURL": "http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic=%2Fcom.ibm.xlcpp8l.doc%2Flanguage%2Fref%2Farsubex.htm",
+       "LISTS_INDEX_OF_FIRST": "suche erstes Auftreten von",
+       "LISTS_INDEX_OF_LAST": "suche letztes Auftreten von",
+       "LISTS_INDEX_OF_TOOLTIP": "Sucht die Position (Index) eines Elementes in der Liste. Gibt %1 zurück, falls kein Element gefunden wurde.",
+       "LISTS_GET_INDEX_GET": "nimm",
+       "LISTS_GET_INDEX_GET_REMOVE": "nimm und entferne",
+       "LISTS_GET_INDEX_REMOVE": "entferne",
+       "LISTS_GET_INDEX_FROM_START": "das",
+       "LISTS_GET_INDEX_FROM_END": "von hinten das",
+       "LISTS_GET_INDEX_FIRST": "das erste",
+       "LISTS_GET_INDEX_LAST": "das letzte",
+       "LISTS_GET_INDEX_RANDOM": "ein zufälliges",
+       "LISTS_GET_INDEX_TAIL": "Element",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "%1 ist das erste Element.",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "%1 ist das letzte Element.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "Extrahiert das Element an der angegebenen Position in der Liste.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "Extrahiert das erste Element aus der Liste.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "Extrahiert das letzte Element aus der Liste.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "Extrahiert ein zufälliges Element aus der Liste.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "Extrahiert und entfernt das Element an der angegebenen Position aus der Liste.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "Extrahiert und entfernt das erste Element aus der Liste.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "Extrahiert und entfernt das letzte Element aus der Liste.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "Extrahiert und entfernt ein zufälliges Element aus der Liste.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "Entfernt das Element an der angegebenen Position aus der Liste.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "Entfernt das erste Element aus der Liste.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "Entfernt das letzte Element aus der Liste.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "Entfernt ein zufälliges Element aus der Liste.",
+       "LISTS_SET_INDEX_HELPURL": "http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic=%2Fcom.ibm.xlcpp8l.doc%2Flanguage%2Fref%2Farsubex.htm",
+       "LISTS_SET_INDEX_SET": "setze für",
+       "LISTS_SET_INDEX_INSERT": "füge als",
+       "LISTS_SET_INDEX_INPUT_TO": "ein",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "Setzt das Element an der angegebenen Position in der Liste.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "Setzt das erste Element in der Liste.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_LAST": "Setzt das letzte Element in die Liste.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "Setzt ein zufälliges Element in der Liste.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "Fügt das Element an der angegebenen Position in die Liste ein.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "Fügt das Element an den Anfang der Liste an.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "Fügt das Element ans Ende der Liste an.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "Fügt das Element zufällig in die Liste ein.",
+       "LISTS_GET_SUBLIST_HELPURL": "http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic=%2Fcom.ibm.xlcpp8l.doc%2Flanguage%2Fref%2Farsubex.htm",
+       "LISTS_GET_SUBLIST_START_FROM_START": "nimm Teilliste ab",
+       "LISTS_GET_SUBLIST_START_FROM_END": "nimm Teilliste ab von hinten",
+       "LISTS_GET_SUBLIST_START_FIRST": "nimm Teilliste ab erstes",
+       "LISTS_GET_SUBLIST_END_FROM_START": "bis",
+       "LISTS_GET_SUBLIST_END_FROM_END": "bis von hinten",
+       "LISTS_GET_SUBLIST_END_LAST": "bis letztes",
+       "LISTS_GET_SUBLIST_TAIL": "Element",
+       "LISTS_GET_SUBLIST_TOOLTIP": "Erstellt eine Kopie mit dem angegebenen Abschnitt der Liste.",
+       "LISTS_SORT_HELPURL": "https://github.com/google/blockly/wiki/Lists#sorting-a-list",
+       "LISTS_SORT_TITLE": "%1 %2 %3 sortieren",
+       "LISTS_SORT_TOOLTIP": "Eine Kopie einer Liste sortieren.",
+       "LISTS_SORT_ORDER_ASCENDING": "aufsteigend",
+       "LISTS_SORT_ORDER_DESCENDING": "absteigend",
+       "LISTS_SORT_TYPE_NUMERIC": "numerisch",
+       "LISTS_SORT_TYPE_TEXT": "alphabetisch",
+       "LISTS_SORT_TYPE_IGNORECASE": "alphabetisch, Großschreibung ignorieren",
+       "LISTS_SPLIT_HELPURL": "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists",
+       "LISTS_SPLIT_LIST_FROM_TEXT": "Liste aus Text erstellen",
+       "LISTS_SPLIT_TEXT_FROM_LIST": "Text aus Liste erstellen",
+       "LISTS_SPLIT_WITH_DELIMITER": "mit Trennzeichen",
+       "LISTS_SPLIT_TOOLTIP_SPLIT": "Text in eine Liste mit Texten aufteilen, unterbrochen bei jedem Trennzeichen.",
+       "LISTS_SPLIT_TOOLTIP_JOIN": "Liste mit Texten in einen Text vereinen, getrennt durch ein Trennzeichen.",
+       "LISTS_REVERSE_HELPURL": "https://github.com/google/blockly/wiki/Lists#reversing-a-list",
+       "LISTS_REVERSE_MESSAGE0": "kehre %1 um",
+       "LISTS_REVERSE_TOOLTIP": "Kehre eine Kopie einer Liste um.",
+       "ORDINAL_NUMBER_SUFFIX": ".",
+       "VARIABLES_GET_HELPURL": "https://de.wikipedia.org/wiki/Variable_%28Programmierung%29",
+       "VARIABLES_GET_TOOLTIP": "Gibt den Wert der Variable zurück.",
+       "VARIABLES_GET_CREATE_SET": "Erzeuge \"Schreibe %1\"",
+       "VARIABLES_SET_HELPURL": "https://de.wikipedia.org/wiki/Variable_%28Programmierung%29",
+       "VARIABLES_SET": "setze %1 auf %2",
+       "VARIABLES_SET_TOOLTIP": "Setzt den Wert einer Variable.",
+       "VARIABLES_SET_CREATE_GET": "Erzeuge \"Lese %1\"",
+       "PROCEDURES_DEFNORETURN_HELPURL": "https://de.wikipedia.org/wiki/Prozedur_%28Programmierung%29",
+       "PROCEDURES_DEFNORETURN_TITLE": "",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "etwas tun",
+       "PROCEDURES_BEFORE_PARAMS": "mit:",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "mit:",
+       "PROCEDURES_DEFNORETURN_DO": "",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "Ein Funktionsblock ohne Rückgabewert.",
+       "PROCEDURES_DEFNORETURN_COMMENT": "Beschreibe diese Funktion â€¦",
+       "PROCEDURES_DEFRETURN_HELPURL": "https://de.wikipedia.org/wiki/Prozedur_%28Programmierung%29",
+       "PROCEDURES_DEFRETURN_RETURN": "gib zurück",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "Ein Funktionsblock mit Rückgabewert.",
+       "PROCEDURES_ALLOW_STATEMENTS": "Anweisungen erlauben",
+       "PROCEDURES_DEF_DUPLICATE_WARNING": "Warnung: Dieser Funktionsblock hat zwei gleich benannte Parameter.",
+       "PROCEDURES_CALLNORETURN_HELPURL": "https://de.wikipedia.org/wiki/Unterprogramm",
+       "PROCEDURES_CALLNORETURN_TOOLTIP": "Rufe einen Funktionsblock ohne Rückgabewert auf.",
+       "PROCEDURES_CALLRETURN_HELPURL": "https://de.wikipedia.org/wiki/Unterprogramm",
+       "PROCEDURES_CALLRETURN_TOOLTIP": "Rufe einen Funktionsblock mit Rückgabewert auf.",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "Parameter",
+       "PROCEDURES_MUTATORCONTAINER_TOOLTIP": "Die Eingaben zu dieser Funktion hinzufügen, entfernen oder neu anordnen.",
+       "PROCEDURES_MUTATORARG_TITLE": "Variable:",
+       "PROCEDURES_MUTATORARG_TOOLTIP": "Eine Eingabe zur Funktion hinzufügen.",
+       "PROCEDURES_HIGHLIGHT_DEF": "Markiere Funktionsblock",
+       "PROCEDURES_CREATE_DO": "Erzeuge \"Aufruf %1\"",
+       "PROCEDURES_IFRETURN_TOOLTIP": "Gibt den zweiten Wert zurück und verlässt die Funktion, falls der erste Wert wahr ist.",
+       "PROCEDURES_IFRETURN_HELPURL": "http://c2.com/cgi/wiki?GuardClause",
+       "PROCEDURES_IFRETURN_WARNING": "Warnung: Dieser Block darf nur innerhalb eines Funktionsblocks genutzt werden.",
+       "WORKSPACE_COMMENT_DEFAULT_TEXT": "Teile etwas mit â€¦"
+}
diff --git a/js/msg/json/diq.json b/js/msg/json/diq.json
new file mode 100644 (file)
index 0000000..72ae13c
--- /dev/null
@@ -0,0 +1,192 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Kumkumuk",
+                       "Marmase",
+                       "Mirzali",
+                       "Gırd"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "unsur",
+       "TODAY": "Ewro",
+       "DUPLICATE_BLOCK": "Zewnc",
+       "ADD_COMMENT": "Tefsir cı ke",
+       "REMOVE_COMMENT": "Tefsiri Wedare",
+       "EXTERNAL_INPUTS": "Cıkewtışê xarıciy",
+       "INLINE_INPUTS": "Cıkerdışê xomiyani",
+       "DELETE_BLOCK": "Bloki bestere",
+       "DELETE_X_BLOCKS": "%1 blokan bestere",
+       "DELETE_ALL_BLOCKS": "Pêro %1 bloki besteriyê?",
+       "CLEAN_UP": "Blokan pak ke",
+       "COLLAPSE_BLOCK": "Bloki teng ke",
+       "COLLAPSE_ALL": "Blokan teng ke",
+       "EXPAND_BLOCK": "Bloki hera ke",
+       "EXPAND_ALL": "Blokan hera ke",
+       "DISABLE_BLOCK": "Çengi devre ra vec",
+       "ENABLE_BLOCK": "Bloki feal ke",
+       "HELP": "PeÅŸti",
+       "UNDO": "Peyser biya",
+       "REDO": "Newe ke",
+       "CHANGE_VALUE_TITLE": "Erci bıvurne:",
+       "RENAME_VARIABLE": "Vuriyayey fına name ke...",
+       "RENAME_VARIABLE_TITLE": "Pêro vırnayışê '%1' reyna name ke:",
+       "NEW_VARIABLE": "Vuriyayeyo bıvıraz...",
+       "NEW_VARIABLE_TITLE": "Namey vuriyayeyê newi:",
+       "VARIABLE_ALREADY_EXISTS": "Yew vırnayış be namey '%1' xora est.",
+       "DELETE_VARIABLE_CONFIRMATION": "%1 ke vırnayışê '%2'i gırweneno, besteriyo?",
+       "DELETE_VARIABLE": "Şıma vırnaoğê '%1'i besterê",
+       "COLOUR_PICKER_HELPURL": "https://diq.wikipedia.org/wiki/Reng",
+       "COLOUR_PICKER_TOOLTIP": "Şıma palet ra yew reng weçinê.",
+       "COLOUR_RANDOM_TITLE": "rengo rastameye",
+       "COLOUR_RANDOM_TOOLTIP": "Tesadufi yu ren bıweçin",
+       "COLOUR_RGB_TITLE": "komponentên rengan",
+       "COLOUR_RGB_RED": "sur",
+       "COLOUR_RGB_GREEN": "kıho",
+       "COLOUR_RGB_BLUE": "kewe",
+       "COLOUR_RGB_TOOLTIP": "Şıma renganê sûr, aşıl u kohoy ra rengê do spesifik vırazê. Gani Ãª pêro 0 u 100 miyan de bıbê.",
+       "COLOUR_BLEND_TITLE": "tewde",
+       "COLOUR_BLEND_COLOUR1": "reng 1",
+       "COLOUR_BLEND_COLOUR2": "reng 2",
+       "COLOUR_BLEND_RATIO": "nısbet",
+       "CONTROLS_REPEAT_HELPURL": "https://en.wikipedia.org/wiki/For_loop",
+       "CONTROLS_REPEAT_TITLE": "%1 fıni tekrar ke",
+       "CONTROLS_REPEAT_INPUT_DO": "bıke",
+       "CONTROLS_REPEAT_TOOLTIP": "Şıma tayêna reyi akerdışi kerê.",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "Tekrar kerdış de",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "hend tekrar ke",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "Yew erc raÅŸto se yu beyanat bıd.",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "Yew erc xırabo se tay beyanati bıd",
+       "CONTROLS_FOREACH_TITLE": "Lista %2 de her item %1 rê",
+       "CONTROLS_FOREACH_TOOLTIP": "Yew lista de her item rê, varyansê '%1' itemi rê vırazê, u dıma tayê akerdışi (beyani) bıdê",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "Çerxen ra vec",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "Gama bin da çerxeni ra dewam ke",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "Öujtewada Ã§erxeni ra bıvıci",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "Diqat: No bloke ÅŸeno teyna yew Ã§erxiyayış miyan de bıgırweyo.",
+       "CONTROLS_IF_TOOLTIP_1": "Eger yew vaye raÅŸto, o taw ÅŸÄ±ma tayê akerdışi kerê.",
+       "CONTROLS_IF_MSG_IF": "se",
+       "CONTROLS_IF_MSG_ELSEIF": "niyose",
+       "CONTROLS_IF_MSG_ELSE": "çıniyose",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "Bloq da if'i rê yu ÅŸert dekerê de.",
+       "IOS_OK": "TEMAM",
+       "IOS_CANCEL": "Bıtexelne",
+       "IOS_ERROR": "Xeta",
+       "IOS_PROCEDURES_INPUTS": "BEYANÄ°",
+       "IOS_PROCEDURES_ADD_INPUT": "+ Beyan cı ke",
+       "IOS_PROCEDURES_ALLOW_STATEMENTS": "Ä°fade rê mısade bıde",
+       "IOS_VARIABLES_ADD_BUTTON": "Cı ke",
+       "IOS_VARIABLES_RENAME_BUTTON": "Reyna name ke",
+       "IOS_VARIABLES_DELETE_BUTTON": "Bestere",
+       "LOGIC_OPERATION_TOOLTIP_AND": "Eger her dı cıkewtışi zi raÅŸtê, ÅŸÄ±ma ageyrê.",
+       "LOGIC_OPERATION_AND": "û",
+       "LOGIC_OPERATION_OR": "ya zi",
+       "LOGIC_NEGATE_TITLE": "%1 niyo",
+       "LOGIC_BOOLEAN_TRUE": "raÅŸt",
+       "LOGIC_BOOLEAN_FALSE": "ÄŸelet",
+       "LOGIC_BOOLEAN_TOOLTIP": "RaÅŸt yana Ã§ep erc dano",
+       "LOGIC_NULL": "veng",
+       "LOGIC_NULL_TOOLTIP": "Veng çarneno ra.",
+       "LOGIC_TERNARY_CONDITION": "test",
+       "LOGIC_TERNARY_IF_TRUE": "eke raÅŸto",
+       "LOGIC_TERNARY_IF_FALSE": "eke ÄŸeleto",
+       "LOGIC_TERNARY_TOOLTIP": "Åžerta'test'i test keno.  Eger ke ÅŸert raÅŸta se erca 'raÅŸt'i Ã§arneno, Ã§epo se erca 'çep'  Ã§arneno.",
+       "MATH_NUMBER_HELPURL": "https://diq.wikipedia.org/wiki/Numre",
+       "MATH_NUMBER_TOOLTIP": "Yew numre.",
+       "MATH_ARITHMETIC_HELPURL": "https://en.wikipedia.org/wiki/Aritmetik",
+       "MATH_SINGLE_HELPURL": "https://en.wikipedia.org/wiki/Square_root",
+       "MATH_SINGLE_OP_ROOT": "karekok",
+       "MATH_SINGLE_OP_ABSOLUTE": "mutlaq",
+       "MATH_SINGLE_TOOLTIP_NEG": "Ena amorer nêravêrde deyne çerx ke.",
+       "MATH_CONSTANT_HELPURL": "https://en.wikipedia.org/wiki/Mathematical_constant",
+       "MATH_CONSTANT_TOOLTIP": "Heryen sabitan ra yewi Ã§erx ke:Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), or âˆž (bêsonp).",
+       "MATH_IS_EVEN": "zewnco",
+       "MATH_IS_ODD": "kıto",
+       "MATH_IS_PRIME": "bıngehên",
+       "MATH_IS_WHOLE": "tamo",
+       "MATH_IS_POSITIVE": "pozitifo",
+       "MATH_IS_NEGATIVE": "negatifo",
+       "MATH_IS_DIVISIBLE_BY": "Leteyêno",
+       "MATH_CHANGE_HELPURL": "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter",
+       "MATH_CHANGE_TITLE": "%2, keno %1 vurneno",
+       "MATH_ROUND_HELPURL": "https://en.wikipedia.org/wiki/Rounding",
+       "MATH_ROUND_TOOLTIP": "Yu amorer loğê cêri yana cori ke",
+       "MATH_ROUND_OPERATOR_ROUND": "gılor ke",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "Loğê cori ke",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "Loğê cêri ke",
+       "MATH_ONLIST_OPERATOR_SUM": "koma liste",
+       "MATH_ONLIST_OPERATOR_MIN": "Tewr qıcê lista",
+       "MATH_ONLIST_OPERATOR_MAX": "Tewr gırdê lista",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "Averacê lista",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "Wertey lista",
+       "MATH_ONLIST_OPERATOR_MODE": "listey modi",
+       "MATH_ONLIST_OPERATOR_RANDOM": "RaÅŸtamaye objeya lista",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "Liste ra raÅŸtamaye yew elementi Ã§erx ke",
+       "MATH_MODULO_HELPURL": "https://en.wikipedia.org/wiki/Modulo_operation",
+       "MATH_MODULO_TITLE": "%1 ÷ %2 ra menden",
+       "MATH_MODULO_TOOLTIP": "Dı amoran ra amora menden Ã§erx ke",
+       "MATH_RANDOM_INT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_FLOAT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "RaÅŸtamaye nimande amor",
+       "TEXT_TEXT_HELPURL": "https://en.wikipedia.org/wiki/String_(computer_science)",
+       "TEXT_TEXT_TOOLTIP": "Yu herfa,  satır yana Ã§ekuya metini",
+       "TEXT_JOIN_TITLE_CREATEWITH": "ya metin vıraz",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "gıre de",
+       "TEXT_APPEND_TITLE": "rê %1 Metin dek %2",
+       "TEXT_ISEMPTY_TITLE": "%1 vengo",
+       "TEXT_INDEXOF_TITLE": "metın de %1 %2 %3",
+       "TEXT_CHARAT_FROM_START": "Herfa # bıgi",
+       "TEXT_CHARAT_FROM_END": "# ra tepya herfan bıgi",
+       "TEXT_CHARAT_FIRST": "Herfa sıfti bıgi",
+       "TEXT_CHARAT_LAST": "Herfa peyên bıgi",
+       "TEXT_CHARAT_RANDOM": "RaÅŸtamaye yu herf bıgi",
+       "TEXT_CHARAT_TOOLTIP": "Şınasnaye pozisyon de yu herfer Ã§erÄŸ keno",
+       "TEXT_GET_SUBSTRING_TOOLTIP": "Tay letey metini Ã§erÄŸ keno",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "metın de",
+       "TEXT_GET_SUBSTRING_START_FROM_START": "# ra substring gêno",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "HERFANÊ GIRDANA",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "Herfanê werdiyana",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": "Ser herf gırd",
+       "LISTS_CREATE_EMPTY_TITLE": "lista venge vıraze",
+       "LISTS_CREATE_WITH_INPUT_WITH": "Liste ya vıraz",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "liste",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "Yew nesne dekerê lista miyan",
+       "LISTS_LENGTH_TOOLTIP": "Derganiya yu lister dano.",
+       "LISTS_ISEMPTY_TITLE": "%1 vengo",
+       "LISTS_ISEMPTY_TOOLTIP": "Eger kı lista venga se raÅŸt keno Ã§erÄŸ",
+       "LISTS_INLIST": "lista de",
+       "LISTS_INDEX_OF_FIRST": "Sıfte bıyayena cay obcey bıvin",
+       "LISTS_GET_INDEX_GET": "bıgê",
+       "LISTS_GET_INDEX_GET_REMOVE": "Bıgi u wedarne",
+       "LISTS_GET_INDEX_REMOVE": "wedare",
+       "LISTS_GET_INDEX_FROM_END": "# peyniye ra",
+       "LISTS_GET_INDEX_FIRST": "verên",
+       "LISTS_GET_INDEX_LAST": "peyên",
+       "LISTS_GET_INDEX_RANDOM": "raÅŸtameye",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "%1 objeyo sıfteyên o",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "%1 objeyo peyên o",
+       "LISTS_SET_INDEX_SET": "ca ke",
+       "LISTS_SET_INDEX_INSERT": "De fi",
+       "LISTS_SET_INDEX_INPUT_TO": "zey",
+       "LISTS_GET_SUBLIST_END_FROM_START": "#'ya",
+       "LISTS_GET_SUBLIST_END_FROM_END": "Peyni # ra hetana",
+       "LISTS_GET_SUBLIST_END_LAST": "Hetana pey",
+       "LISTS_SORT_HELPURL": "https://github.com/google/blockly/wiki/Lists#sorting-a-list",
+       "LISTS_SORT_TITLE": "Kılm %1 %2 %3",
+       "LISTS_SORT_ORDER_ASCENDING": "zeydıyen",
+       "LISTS_SORT_ORDER_DESCENDING": "Kemeyen",
+       "LISTS_SORT_TYPE_NUMERIC": "Amoriyal",
+       "LISTS_SORT_TYPE_TEXT": "Alfabetik",
+       "LISTS_SPLIT_WITH_DELIMITER": "Hududoxi ya",
+       "VARIABLES_SET_CREATE_GET": "'get %1' vıraz",
+       "PROCEDURES_DEFNORETURN_TITLE": "rê",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "Çıyê bık",
+       "PROCEDURES_BEFORE_PARAMS": "ebe:",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "ebe:",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "Yew fonksiyono Ã§ap nêdate vırazeno",
+       "PROCEDURES_DEFNORETURN_COMMENT": "Nê fonksiyoni beyan ke...",
+       "PROCEDURES_DEFRETURN_RETURN": "peyser biya",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "Yew fonksiyono Ã§ap daye vırazeno",
+       "PROCEDURES_ALLOW_STATEMENTS": "ifade rê mısade bıde",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "cıkewtışi",
+       "PROCEDURES_MUTATORARG_TITLE": "namey cıkewtışi:",
+       "PROCEDURES_CREATE_DO": "'%1' vıraze"
+}
diff --git a/js/msg/json/dty.json b/js/msg/json/dty.json
new file mode 100644 (file)
index 0000000..75ff112
--- /dev/null
@@ -0,0 +1,107 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Nirajan pant",
+                       "जनक à¤°à¤¾à¤œ à¤­à¤Ÿà¥à¤Ÿ",
+                       "राम à¤ªà¥à¤°à¤¸à¤¾à¤¦ à¤œà¥‹à¤¶à¥€"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "वसà¥à¤¤à¥",
+       "TODAY": "आज",
+       "DUPLICATE_BLOCK": "कपी à¤—र",
+       "ADD_COMMENT": "टिपà¥à¤ªà¤£à¥€ à¤¥à¤ªà¥à¤¦à¥‡",
+       "REMOVE_COMMENT": "टिपà¥à¤ªà¤£à¥€ à¤¹à¤Ÿà¤¾à¤‰à¤¨à¥à¤¯à¤¾",
+       "DUPLICATE_COMMENT": "हूबहू à¤Ÿà¤¿à¤ªà¥à¤ªà¤£à¥€",
+       "EXTERNAL_INPUTS": "भाइरका à¤‡à¤¨à¥à¤ªà¥à¤Ÿà¤¹à¤°à¥‚",
+       "INLINE_INPUTS": "इनलाइन à¤‡à¤¨à¥à¤ªà¥à¤Ÿà¤¹à¤°à¥‚",
+       "DELETE_BLOCK": "बà¥à¤²à¤• à¤¹à¤Ÿà¤¾à¤‰à¤¨à¥à¤¯à¤¾",
+       "DELETE_X_BLOCKS": " %1 à¤¬à¥à¤²à¤•à¤¹à¤°à¥‚ à¤¹à¤Ÿà¤¾à¤‰à¤¨à¥à¤¯à¤¾",
+       "DELETE_ALL_BLOCKS": "सबै %1 à¤¬à¥à¤²à¤•à¤¨à¤²à¤¾à¤ˆ à¤¹à¤Ÿà¤¾à¤‰à¤¨à¥à¤¯à¤¾ ?",
+       "CLEAN_UP": "बà¥à¤²à¤•à¤¨à¤²à¤¾à¤ˆ à¤¹à¤Ÿà¤¾à¤“",
+       "COLLAPSE_BLOCK": "बà¥à¤²à¤• à¤­à¤¤à¥à¤•à¤¾",
+       "COLLAPSE_ALL": "बà¥à¤²à¤• à¤­à¤¤à¥à¤•à¤¾à¤“",
+       "EXPAND_BLOCK": "बà¥à¤²à¤•à¤¨à¤²à¤¾à¤ˆ à¤«à¥ˆà¤²à¤¾à¤“",
+       "EXPAND_ALL": "बà¥à¤²à¤•à¤¨à¤²à¤¾à¤ˆ à¤«à¥ˆà¤²à¤¾à¤“",
+       "DISABLE_BLOCK": "बà¥à¤²à¤•à¤²à¤¾à¤ˆ à¤¨à¤¿à¤¶à¥à¤•à¥à¤°à¤¿à¤¯ à¤ªà¤¾à¤¡à¥à¤¡à¥‡",
+       "ENABLE_BLOCK": "बà¥à¤²à¤•à¤²à¤¾à¤ˆ à¤¸à¤•à¥à¤°à¤¿à¤¯ à¤ªà¤¾à¤¡à¥à¤¡à¥‡",
+       "HELP": "सहायता",
+       "UNDO": "रदà¥à¤¦ à¤—रà¥à¤¨à¥à¤¯à¤¾",
+       "REDO": "पà¥à¤¨: à¤•à¤¾à¤¯à¤® à¤—दà¥à¤¦à¥‡",
+       "CHANGE_VALUE_TITLE": "मान à¤¬à¤¦à¤²",
+       "RENAME_VARIABLE": "भेरिबललाई à¤ªà¥à¤¨à¤ƒ à¤¨à¤¾à¤®à¤¾à¤‚कन à¤—र...",
+       "RENAME_VARIABLE_TITLE": "सबै à¤­à¥‡à¤°à¤¿à¤¬à¤²à¤¨à¤•à¤¾ %1 à¤¨à¤¾à¤® à¤¬à¤¦à¤²à¥à¤¨à¥à¤¯à¤¾:",
+       "NEW_VARIABLE": "भेरिà¤à¤µà¤² à¤¬à¤¨à¤¾:",
+       "NEW_VARIABLE_TITLE": "नयाठभेरिबलको à¤¨à¤¾à¤®:",
+       "VARIABLE_ALREADY_EXISTS": "'%1' à¤¨à¤¾à¤‰à¤ à¤…रियाऽ à¤­à¥‡à¤°à¤¿à¤à¤¬à¤² à¤ªà¥ˆà¤²à¥€ à¤¬à¤ à¥‡à¤‡ à¤›à¥¤",
+       "DELETE_VARIABLE_CONFIRMATION": "'%2' à¤­à¥‡à¤°à¤¿à¤à¤¬à¤²à¤¾ %1 à¤ªà¥à¤°à¤¯à¥‹à¤— à¤®à¥‡à¤Ÿà¥à¤Ÿà¥à¤¯à¤¾?",
+       "DELETE_VARIABLE": "'%1' à¤­à¥‡à¤°à¤¿à¤à¤¬à¤² à¤®à¥‡à¤Ÿ:",
+       "COLOUR_PICKER_HELPURL": "https://en.wikipedia.org/wiki/Color",
+       "COLOUR_PICKER_TOOLTIP": "पैलेट à¤¬à¤¾à¤Ÿ à¤à¤• à¤°à¤‚ग à¤šà¥à¤¨ à¥¤",
+       "COLOUR_RANDOM_TITLE": "जà¥à¤¨à¤¸à¥à¤•à¥ˆ à¤°à¤™à¥à¤—",
+       "COLOUR_RANDOM_TOOLTIP": "रैनà¥à¤¡à¤®à¥à¤²à¥€ à¤à¤• à¤°à¤‚ग à¤šà¤¯à¤¨ à¤—र à¥¤",
+       "COLOUR_RGB_TITLE": "यै à¤°à¤™à¥à¤—को",
+       "COLOUR_RGB_RED": "रातो",
+       "COLOUR_RGB_GREEN": "हरियो",
+       "COLOUR_RGB_BLUE": "निलो",
+       "COLOUR_RGB_TOOLTIP": "रातो, à¤¹à¤°à¤¿à¤¯à¥‹ à¤”र à¤¨à¥€à¤²à¥‹à¤•à¥‹ à¤¨à¤¿à¤°à¥à¤¦à¤¿à¤·à¥à¤Ÿ à¤®à¤¾à¤¤à¥à¤°à¤¾à¤•à¥€ à¤¸à¤¾à¤¥ à¤à¤• à¤°à¤‚ग à¤¬à¤¨à¤¾à¤“ à¥¤ à¤¸à¤¬à¥ˆ à¤®à¤¾à¤¨ à¥¦ à¤¦à¥‡à¤–ि à¥§à¥¦à¥¦ à¤•à¤¾ à¤¬à¥€à¤š à¤¹à¥à¤¨à¥ à¤ªà¤¡à¤¨à¥à¤› à¥¤",
+       "COLOUR_BLEND_TITLE": "मिशà¥à¤°à¤£ à¤—र",
+       "COLOUR_BLEND_COLOUR1": "रंग 1",
+       "COLOUR_BLEND_COLOUR2": "रंग 2",
+       "COLOUR_BLEND_RATIO": "अनà¥à¤ªà¤¾à¤¤",
+       "COLOUR_BLEND_TOOLTIP": "दियाका à¤…नà¥à¤ªà¤¾à¤¤ (0.0 - 1.0) à¤•à¤¾ à¤¸à¤¾à¤¥ à¤¦à¥à¤ˆ à¤°à¤‚गहरूको à¤®à¤¿à¤¶à¥à¤°à¤£ à¤—रनà¥à¤› à¥¤",
+       "CONTROLS_REPEAT_HELPURL": "https://en.wikipedia.org/wiki/Color",
+       "CONTROLS_REPEAT_TITLE": "%1 à¤ªà¤²à¥à¤Ÿ à¤¦à¥‹à¤¸à¤°à¤¾à¤“",
+       "CONTROLS_REPEAT_INPUT_DO": "डू",
+       "CONTROLS_REPEAT_TOOLTIP": "कà¥à¤¯à¥ˆ à¤¸à¥à¤Ÿà¥‡à¤Ÿà¥à¤®à¤¨à¥à¤Ÿ à¤•à¥ˆà¤¯à¥‹à¤‚ à¤ªà¤²à¥à¤Ÿ à¤šà¤²à¤¾à¤“ à¥¤",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "दोहराओ à¤œà¤¬ à¤•à¥€",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "दोहराओ à¤œà¤¬ à¤¤à¤²à¤•",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "जब à¤¤à¤²à¤• à¤®à¤¾à¤¨ à¤¸à¤¤à¥à¤¯ à¤›, à¤¤à¤¬ à¤¤à¤²à¤• à¤•à¥à¤¯à¥ˆ à¤¸à¥à¤Ÿà¥‡à¤Ÿà¥à¤®à¥‡à¤‚ट à¤šà¤²à¤¾à¤“ à¥¤",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "जब à¤¤à¤• à¤®à¤¾à¤¨ à¤«à¥‰à¤²à¥à¤¸ à¤›, à¤¤à¤¬ à¤¤à¤• à¤•à¥à¤¯à¥ˆ à¤¸à¥à¤Ÿà¥‡à¤Ÿà¥à¤®à¥‡à¤‚टà¥à¤¸ à¤šà¤²à¤¾à¤“ à¥¤",
+       "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.",
+       "CONTROLS_FOR_TITLE": "गनà¥à¤¤à¥€ à¤—र %1 à¤¦à¥‡à¤–ी %2 %3 %4 à¤¸à¤®à¥à¤®",
+       "CONTROLS_FOREACH_TITLE": "%2 à¤¸à¥‚चीमी à¤­à¤¯à¤¾à¤ƒ à¤ªà¥à¤°à¤¤à¥à¤¯à¥‡à¤• à¤†à¤‡à¤Ÿà¤® %1 à¤–िलाइ",
+       "CONTROLS_FOREACH_TOOLTIP": "सूचीको à¤ªà¥à¤°à¤¤à¥à¤¯à¥‡à¤• à¤†à¤‡à¤Ÿà¤®à¤•à¥‹ à¤²à¤¾à¤—ी, à¤†à¤‡à¤Ÿà¤®à¤®à¥€ à¤šà¤°à¤•à¥‹ à¤®à¤¾à¤¨ '%1' à¤°à¤¾à¤–ौं à¤”र à¤ªà¤¾à¤›à¤¾ à¤•à¥à¤¯à¥ˆ à¤•à¤¥à¤¨ à¤²à¥‡à¤– à¥¤",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "लूप à¤¬à¤¾à¤Ÿ à¤­à¤¾à¤‡à¤° à¤¨à¤¿à¤•à¤²à¥Œà¤‚",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "लूपको à¤…रà¥à¤•à¥‹ à¤†à¤ˆà¤Ÿà¤°à¥‡à¤¶à¤¨ à¤œà¤¾à¤°à¥€ à¤°à¤¾à¤–",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "भीतà¥à¤°à¥€ à¤²à¥‚प à¤¬à¤¾à¤Ÿ à¤¬à¤¾à¤¹à¤¿à¤° à¤¨à¤¿à¤¸à¥à¤•à¤¨à¥‡",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "बचेका à¤²à¥‚पलाई à¤›à¥‹à¤¡, à¤”र à¤…रà¥à¤•à¥‹ à¤†à¤ˆà¤Ÿà¤°à¥‡à¤¶à¤¨ à¤œà¤¾à¤°à¥€ à¤°à¤¾à¤– à¥¤",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "सावधान: à¤¯à¥‹ à¤¬à¥à¤²à¤• à¤•à¥‡à¤µà¤² à¤²à¥‚प à¤­à¤¿à¤¤à¥à¤°à¤®à¤¾à¤¤à¥à¤° à¤ªà¥à¤°à¤¯à¥‹à¤— à¤—दà¥à¤¦ à¤¸à¤•à¤¿à¤¨à¥à¤› à¥¤",
+       "CONTROLS_IF_TOOLTIP_1": "जब à¤¤à¤²à¤• à¤®à¤¾à¤¨ à¤¸à¤¤à¥à¤¯ à¤›, à¤¤à¤¬ à¤¤à¤²à¤• à¤•à¥à¤¯à¥ˆ à¤¸à¥à¤Ÿà¥‡à¤Ÿà¥à¤®à¥‡à¤‚ट à¤šà¤²à¤¾à¤“ à¥¤",
+       "CONTROLS_IF_TOOLTIP_2": "यदि à¤à¤• à¤®à¤¾à¤¨ à¤¸à¤¤à¥à¤¯ à¤› à¤­à¤£à¥à¤¯à¤¾ à¤•à¤¥à¤¨à¤¹à¤°à¥‚को à¤ªà¥à¤°à¤¥à¤® à¤–णà¥à¤¡ à¤¬à¤£à¤¾à¤“ à¥¤ à¤…नà¥à¤¯à¤¥à¤¾ à¤•à¤¥à¤¨à¤¹à¤°à¥‚को à¤…रà¥à¤•à¥‹ à¤­à¤¾à¤— à¤¨à¤¿à¤°à¥à¤®à¤¿à¤¤ à¤—र à¥¤",
+       "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.",
+       "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.",
+       "CONTROLS_IF_MSG_IF": "इफ",
+       "CONTROLS_IF_MSG_ELSEIF": "à¤à¤²à¥à¤¸ à¤‡à¤«",
+       "CONTROLS_IF_MSG_ELSE": "à¤à¤²à¥à¤¸",
+       "CONTROLS_IF_IF_TOOLTIP": "Add, remove, or reorder sections to reconfigure this if block.",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "यदि à¤¬à¥à¤²à¤•à¤®à¤¾ à¤à¤• à¤¶à¤°à¥à¤¤ à¤œà¥‹à¤¡à¥Œà¤‚ à¥¤",
+       "CONTROLS_IF_ELSE_TOOLTIP": "Add a final, catch-all condition to the if block.",
+       "IOS_OK": "हà¥à¤¨à¥à¤›",
+       "IOS_CANCEL": "खारेजी",
+       "IOS_ERROR": "गलà¥à¤¤à¥€",
+       "IOS_PROCEDURES_INPUTS": "इनपà¥à¤Ÿà¤¨",
+       "IOS_PROCEDURES_ADD_INPUT": "+ à¤‡à¤¨à¤ªà¥à¤Ÿ à¤¥à¤ªà¤ƒ",
+       "IOS_VARIABLES_ADD_BUTTON": "जोड़ऽ",
+       "IOS_VARIABLES_RENAME_BUTTON": "पà¥à¤¨à¤°à¥à¤¨à¤¾à¤®à¤•à¤°à¤£",
+       "IOS_VARIABLES_DELETE_BUTTON": "मेटः",
+       "IOS_VARIABLES_VARIABLE_NAME": "चल(भेरिà¤à¤¬à¤²) à¤¨à¤¾à¤‰à¤",
+       "IOS_VARIABLES_EMPTY_NAME_ERROR": "तम à¤–ाली à¤šà¤² à¤¨à¤¾à¤‰à¤ à¤ªà¥à¤°à¤¯à¥‹à¤— à¤…रीनाइसकà¥à¤¦à¤¾à¤ƒà¥¤",
+       "LOGIC_COMPARE_HELPURL": "https://en.wikipedia.org/wiki/Inequality_(mathematics)",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "यदी à¤¦à¥à¤µà¥ˆ à¤‡à¤¨à¤ªà¥à¤Ÿ à¤à¤• à¤…रà¥à¤•à¤¾à¤•à¤¾ à¤¬à¤°à¤¾à¤¬à¤° à¤›à¤¨à¥ à¤­à¤£à¥à¤¯à¤¾ à¤Ÿà¥ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤—र à¥¤",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "यदी à¤¦à¥à¤µà¥ˆ à¤‡à¤¨à¤ªà¥à¤Ÿ à¤à¤• à¤…रà¥à¤•à¤¾à¤•à¥‹ à¤¬à¤°à¤¾à¤¬à¤° à¤¨à¤¾à¤‡à¤¥à¤¿à¤¨à¥ à¤­à¤£à¤¯à¤¾ à¤Ÿà¥ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤—र à¥¤",
+       "LOGIC_COMPARE_TOOLTIP_LT": "पैलà¥à¤²à¥‹ à¤‡à¤¨à¤ªà¥à¤Ÿ à¤¦à¥‹à¤¸à¤°à¤¾ à¤‡à¤¨à¤ªà¥à¤Ÿ à¤¹à¥ˆ à¤¨à¤¾à¤¨à¥‹ à¤­à¤¯à¤¾ à¤Ÿà¥à¤°à¥‚ à¤«à¤¿à¤°à¥à¤¤à¤¾ à¤…र:।",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "पैलà¥à¤²à¥‹ à¤‡à¤¨à¤ªà¥à¤Ÿ à¤¦à¥‹à¤¸à¤°à¤¾ à¤‡à¤¨à¤ªà¥à¤Ÿ à¤¹à¥ˆ à¤¨à¤¾à¤¨à¥‹ à¤¯à¤¾ à¤‰à¤‡ à¤¸à¤¿à¤¤ à¤¬à¤°à¤¾à¤¬à¤° à¤­à¤¯à¤¾ à¤Ÿà¥à¤°à¥‚ à¤«à¤¿à¤°à¥à¤¤à¤¾ à¤…र:।",
+       "LOGIC_COMPARE_TOOLTIP_GT": "पैलà¥à¤²à¥‹ à¤‡à¤¨à¤ªà¥à¤Ÿ à¤¦à¥‹à¤¸à¤°à¤¾ à¤‡à¤¨à¤ªà¥à¤Ÿ à¤¹à¥ˆ à¤ à¥à¤²à¥‹ à¤­à¤¯à¤¾ à¤Ÿà¥à¤°à¥‚ à¤«à¤¿à¤°à¥à¤¤à¤¾ à¤…र:।",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "पैलà¥à¤²à¥‹ à¤‡à¤¨à¤ªà¥à¤Ÿ à¤¦à¥‹à¤¸à¤°à¤¾ à¤‡à¤¨à¤ªà¥à¤Ÿ à¤¹à¥ˆ à¤ à¥à¤²à¥‹ à¤¯à¤¾ à¤‰à¤‡ à¤¸à¤¿à¤¤ à¤¬à¤°à¤¾à¤¬à¤° à¤­à¤¯à¤¾ à¤Ÿà¥à¤°à¥‚ à¤«à¤¿à¤°à¥à¤¤à¤¾ à¤…र:।",
+       "LOGIC_OPERATION_TOOLTIP_AND": "दà¥à¤à¤‡ à¤‡à¤¨à¤ªà¥à¤Ÿ à¤Ÿà¥à¤°à¥‚ à¤­à¤¯à¤¾ à¤Ÿà¥à¤°à¥‚ à¤«à¤¿à¤°à¥à¤¤à¤¾ à¤…र:।",
+       "LOGIC_OPERATION_AND": "रे",
+       "LOGIC_OPERATION_TOOLTIP_OR": "कमà¥à¤¤à¥€à¤®à¥€ à¤²à¥ˆ à¥§ à¤‡à¤¨à¤ªà¥à¤Ÿ à¤¸à¤¤à¥à¤¯ à¤­à¤¯à¤¾à¤²à¥‡ à¤¸à¤¤à¥à¤¯ à¤«à¤¿à¤°à¥à¤¤à¤¾ à¤…र।",
+       "LOGIC_OPERATION_OR": "या",
+       "LOGIC_NEGATE_TOOLTIP": "इनपà¥à¤Ÿ à¤…सतà¥à¤¯ à¤­à¤¯à¤¾à¤²à¥‡ à¤¸à¤¨à¥à¤¯ à¤«à¤¿à¤°à¥à¤¤à¤¾ à¤…रनà¥à¤›à¥¤ à¤‡à¤¨à¤ªà¥à¤Ÿ à¤¸à¤¤à¥à¤¯ à¤­à¤¯à¤¾à¤²à¥‡ à¤…सतà¥à¤¯ à¤«à¤¿à¤°à¥à¤¤à¤¾ à¤…रनà¥à¤›à¥¤",
+       "LOGIC_BOOLEAN_TRUE": "सतà¥à¤¯",
+       "LOGIC_BOOLEAN_FALSE": "असतà¥à¤¯",
+       "LOGIC_BOOLEAN_TOOLTIP": "सतà¥à¤¯ à¤¯à¤¾ à¤…सतà¥à¤¯ à¤«à¤¿à¤°à¥à¤¤à¤¾ à¤…रनà¥à¤›à¥¤",
+       "LOGIC_NULL": "शूà¥à¤¯",
+       "LOGIC_NULL_TOOLTIP": "शूनà¥à¤¯ à¤«à¤¿à¤°à¥à¤¤à¤¾ à¤…रनà¥à¤›à¥¤",
+       "WORKSPACE_COMMENT_DEFAULT_TEXT": "केयि à¤­à¤à¤£..."
+}
diff --git a/js/msg/json/el.json b/js/msg/json/el.json
new file mode 100644 (file)
index 0000000..5efe581
--- /dev/null
@@ -0,0 +1,378 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Azountas",
+                       "Espertus",
+                       "Evropi",
+                       "Namatreasure",
+                       "Sfyrakis",
+                       "Glavkos",
+                       "Gchr",
+                       "ì•„ë¼",
+                       "Geraki",
+                       "Ανώνυμος Î’ικιπαιδιστής",
+                       "GR",
+                       "Stam.nikos",
+                       "Themelis",
+                       "KATRINE1992",
+                       "Vicng",
+                       "Nikosgranturismogt"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "αντικείμενο",
+       "TODAY": "ΣήμεÏα",
+       "DUPLICATE_BLOCK": "Διπλότυπο",
+       "ADD_COMMENT": "ΠÏόσθεσε Î¤Î¿ Î£Ï‡ÏŒÎ»Î¹Î¿",
+       "REMOVE_COMMENT": "ΑφαίÏεσε Î¤Î¿ Î£Ï‡ÏŒÎ»Î¹Î¿",
+       "DUPLICATE_COMMENT": "Διπλότυπο ÏƒÏ‡ÏŒÎ»Î¹Î¿",
+       "EXTERNAL_INPUTS": "ΕξωτεÏικές Î•Î¯ÏƒÎ¿Î´Î¿Î¹",
+       "INLINE_INPUTS": "ΕσωτεÏικές Î•Î¯ÏƒÎ¿Î´Î¿Î¹",
+       "DELETE_BLOCK": "ΔιάγÏαψε Î¤Î¿ ÎœÏ€Î»Î¿Îº",
+       "DELETE_X_BLOCKS": "ΔιάγÏαψε %1 ÎœÏ€Î»Î¿Îº",
+       "DELETE_ALL_BLOCKS": "Îα Î´Î¹Î±Î³ÏαφοÏν ÎºÎ±Î¹ Ï„α %1 Î¼Ï€Î»Î¿Îº;",
+       "CLEAN_UP": "Ταξινομείστε Ï„α ÎœÏ€Î»Î¿Îº",
+       "COLLAPSE_BLOCK": "ΣÏμπτυξε Î¤Î¿ ÎœÏ€Î»Î¿Îº",
+       "COLLAPSE_ALL": "ΣÏμπτυξε ÎŒÎ»Î± Î¤Î± ÎœÏ€Î»Î¿Îº",
+       "EXPAND_BLOCK": "Επέκτεινε Î¤Î¿ ÎœÏ€Î»Î¿Îº",
+       "EXPAND_ALL": "Επέκτεινε ÎŒÎ»Î± Î¤Î± ÎœÏ€Î»Î¿Îº",
+       "DISABLE_BLOCK": "ΑπενεÏγοποίησε Î¤Î¿ ÎœÏ€Î»Î¿Îº",
+       "ENABLE_BLOCK": "ΕνεÏγοποίησε Î¤Î¿ ÎœÏ€Î»Î¿Îº",
+       "HELP": "Βοήθεια",
+       "UNDO": "ΑναίÏεση",
+       "REDO": "ΑκÏÏωση Î±Î½Î±Î¯Ïεσης",
+       "CHANGE_VALUE_TITLE": "Άλλαξε Ï„ην Ï„ιμή:",
+       "RENAME_VARIABLE": "Μετονόμασε Ï„η Î¼ÎµÏ„αβλητή...",
+       "RENAME_VARIABLE_TITLE": "Μετονόμασε ÏŒÎ»ÎµÏ‚ Ï„ις Î¼ÎµÏ„αβλητές Â«%1» ÏƒÎµ:",
+       "NEW_VARIABLE": "ΔημιουÏγείστε Î¼ÎµÏ„αβλητή",
+       "NEW_STRING_VARIABLE": "ΔημιουÏγία Î¼ÎµÏ„αβλητή ÏƒÏ…μβολοσειÏάς...",
+       "NEW_NUMBER_VARIABLE": "ΔημιουÏγία Î¼ÎµÏ„αβλητής Î±ÏιθμοÏ...",
+       "NEW_COLOUR_VARIABLE": "ΔημιουÏγία Î¼ÎµÏ„αβλητής Ï‡Ïώματος...",
+       "NEW_VARIABLE_TYPE_TITLE": "Îέος Ï„Ïπος Î¼ÎµÏ„αβλητής:",
+       "NEW_VARIABLE_TITLE": "Îέο ÏŒÎ½Î¿Î¼Î± Î¼ÎµÏ„αβλητής:",
+       "VARIABLE_ALREADY_EXISTS": "Η Î¼ÎµÏ„αβλητή Î¼Îµ Ï„ο ÏŒÎ½Î¿Î¼Î± \"%1\" Ï…πάÏχει Î®Î´Î·",
+       "VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE": "Μια Î¼ÎµÏ„αβλητή Î¼Îµ ÏŒÎ½Î¿Î¼Î± '%1' Ï…πάÏχει Ï€Î¬Î½Ï„α Î³Î¹Î± Î­Î½Î±Î½ Î¬Î»Î»Î¿ Ï„Ïπο: '%2'.",
+       "DELETE_VARIABLE_CONFIRMATION": "Θέλετε Î½Î± Î´Î¹Î±Î³Ïάψετε Ï„ο %1 Ï€Î¿Ï… Ï‡Ïησιμοποιείτε Ï„ης Î¼ÎµÏ„αβλητής '%2'?",
+       "CANNOT_DELETE_VARIABLE_PROCEDURE": "Δεν Î¼Ï€Î¿ÏÏŽ Î½Î± Î´Î¹Î±Î³Ïάψω Ï„ην Î¼ÎµÏ„αβλητή '%1' Î´Î¹ÏŒÏ„ι ÎµÎ¯Î½Î±Î¹ Î¼Î­Ïος Ï„ου Î¿ÏισμοϠτης Î»ÎµÎ¹Ï„ουÏγίας '%2'",
+       "DELETE_VARIABLE": "ΔιαγÏάψετε Ï„ην Î¼ÎµÏ„αβλητή '%1'",
+       "COLOUR_PICKER_HELPURL": "https://el.wikipedia.org/wiki/%CE%A7%CF%81%CF%8E%CE%BC%CE%B1",
+       "COLOUR_PICKER_TOOLTIP": "ΕπιτÏέπει ÎµÏ€Î¹Î»Î¿Î³Î® Ï‡Ïώματος Î±Ï€ÏŒ Ï„ην Ï€Î±Î»Î­Ï„α.",
+       "COLOUR_RANDOM_TITLE": "τυχαίο Ï‡Ïώμα",
+       "COLOUR_RANDOM_TOOLTIP": "Επιλέγει Ï‡Ïώμα Ï„υχαία.",
+       "COLOUR_RGB_HELPURL": "http://www.december.com/html/spec/colorper.html",
+       "COLOUR_RGB_TITLE": "χÏώμα Î¼Îµ",
+       "COLOUR_RGB_RED": "κόκκινο",
+       "COLOUR_RGB_GREEN": "Ï€Ïάσινο",
+       "COLOUR_RGB_BLUE": "μπλε",
+       "COLOUR_RGB_TOOLTIP": "ΔημιουÏγεί Ï‡Ïώμα Î¼Îµ Ï„ο ÏƒÏ…γκεκÏιμένο Ï€Î¿ÏƒÏŒ Ï„ου ÎºÏŒÎºÎºÎ¹Î½Î¿Ï…, Ï€Ïάσινου ÎºÎ±Î¹ Î¼Ï€Î»Îµ Ï€Î¿Ï… Î¿Ïίζεις. ÎŒÎ»ÎµÏ‚ Î¿Î¹ Ï„ιμές Ï€Ïέπει Î½Î± ÎµÎ¯Î½Î±Î¹ Î¼ÎµÏ„αξϠ0 ÎºÎ±Î¹ 100.",
+       "COLOUR_BLEND_HELPURL": "http://meyerweb.com/eric/tools/color-blend/",
+       "COLOUR_BLEND_TITLE": "μείγμα",
+       "COLOUR_BLEND_COLOUR1": "χÏώμα 1",
+       "COLOUR_BLEND_COLOUR2": "χÏώμα 2",
+       "COLOUR_BLEND_RATIO": "αναλογία",
+       "COLOUR_BLEND_TOOLTIP": "Συνδυάζει Î´Ïο Ï‡Ïώματα Î¼Î±Î¶Î¯ Î¼Îµ Î¼Î¹Î± Î´ÎµÎ´Î¿Î¼Î­Î½Î· Î±Î½Î±Î»Î¿Î³Î¯Î± (0.0 - 1,0).",
+       "CONTROLS_REPEAT_HELPURL": "https://en.wikipedia.org/wiki/For_loop",
+       "CONTROLS_REPEAT_TITLE": "επανάλαβε %1 Ï†Î¿Ïές",
+       "CONTROLS_REPEAT_INPUT_DO": "κάνε",
+       "CONTROLS_REPEAT_TOOLTIP": "Εκτελεί ÎºÎ¬Ï€Î¿Î¹ÎµÏ‚ ÎµÎ½Ï„ολές Î±Ïκετές Ï†Î¿Ïές.",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "επανάλαβε ÎµÎ½ÏŽ",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "επανάλαβε Î¼Î­Ï‡Ïι",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "Ενόσω Î¼Î¹Î± Ï„ιμή ÎµÎ¯Î½Î±Î¹ Î±Î»Î·Î¸Î®Ï‚, Ï„ότε ÎµÎºÏ„ελεί ÎºÎ¬Ï€Î¿Î¹ÎµÏ‚ ÎµÎ½Ï„ολές.",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "Ενόσω Î¼Î¹Î± Ï„ιμή ÎµÎ¯Î½Î±Î¹ ÏˆÎµÏ…δής, Ï„ότε ÎµÎºÏ„ελεί ÎºÎ¬Ï€Î¿Î¹ÎµÏ‚ ÎµÎ½Ï„ολές.",
+       "CONTROLS_FOR_HELPURL": "Blockly",
+       "CONTROLS_FOR_TOOLTIP": "Η Î¼ÎµÏ„αβλητή Â«%1» Ï€Î±Î¯Ïνει Ï„ιμές Î¾ÎµÎºÎ¹Î½ÏŽÎ½Ï„ας Î±Ï€ÏŒ Ï„ον Î±Ïιθμό Î­Î½Î±Ïξης Î¼Î­Ï‡Ïι Ï„ον Î±Ïιθμό Ï„έλους Î±Ï…ξάνοντας ÎºÎ¬Î¸Îµ Ï†Î¿Ïά Î¼Îµ Ï„ο ÎºÎ±Î¸Î¿Ïισμένο Î²Î®Î¼Î± ÎºÎ±Î¹ ÎµÎºÏ„ελώντας Ï„ο ÎºÎ±Î¸Î¿Ïισμένο Î¼Ï€Î»Î¿Îº.",
+       "CONTROLS_FOR_TITLE": "μέτÏησε Î¼Îµ %1 Î±Ï€ÏŒ Ï„ο %2 Î­Ï‰Ï‚ Ï„ο %3 Î±Î½Î¬ %4",
+       "CONTROLS_FOREACH_TITLE": "για ÎºÎ¬Î¸Îµ ÏƒÏ„οιχείο %1 ÏƒÏ„η Î»Î¯ÏƒÏ„α %2",
+       "CONTROLS_FOREACH_TOOLTIP": "Για ÎºÎ¬Î¸Îµ ÏƒÏ„οιχείο ÏƒÎµ Î¼Î¹Î± Î»Î¯ÏƒÏ„α, Î¿Ïίζει Ï„η Î¼ÎµÏ„αβλητή Â«%1» ÏƒÏ„ο ÏƒÏ„οιχείο ÎºÎ±Î¹, ÏƒÏ„η ÏƒÏ…νέχεια, ÎµÎºÏ„ελεί ÎºÎ¬Ï€Î¿Î¹ÎµÏ‚ ÎµÎ½Ï„ολές.",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "φεÏγει Î±Ï€ÏŒ Ï„ο Î¼Ï€Î»Î¿Îº ÎµÏ€Î±Î½Î±Î»Î®ÏˆÎµÏ‰Ï‚",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "συνέχισε Î¼Îµ Ï„ην ÎµÏ€ÏŒÎ¼ÎµÎ½Î· ÎµÏ€Î±Î½Î¬Î»Î·ÏˆÎ· Ï„ου Î¼Ï€Î»Î¿Îº ÎµÏ€Î±Î½Î±Î»Î®ÏˆÎµÏ‰Ï‚",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "ΞεφεÏγει (βγαίνει Î­Î¾Ï‰) Î±Ï€ÏŒ Ï„ην ÎµÏ€Î±Î½Î¬Î»Î·ÏˆÎ·.",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "ΠαÏαλείπει Ï„ο Ï…πόλοιπο Ï„μήμα Î±Ï…τοϠτου Î¼Ï€Î»Î¿Îº ÎµÏ€Î±Î½Î±Î»Î®ÏˆÎµÏ‰Ï‚, ÎºÎ±Î¹ ÏƒÏ…νεχίζει Î¼Îµ Ï„ην ÎµÏ€ÏŒÎ¼ÎµÎ½Î· ÎµÏ€Î±Î½Î¬Î»Î·ÏˆÎ·.",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "ΠÏοειδοποίηση: Î‘Ï…Ï„ÏŒ Ï„ο Î¼Ï€Î»Î¿Îº Î¼Ï€Î¿Ïεί Î½Î± Ï‡Ïησιμοποιηθεί Î¼ÏŒÎ½Î¿ Î¼Î­ÏƒÎ± ÏƒÎµ Î¼Î¹Î± ÎµÏ€Î±Î½Î¬Î»Î·ÏˆÎ·.",
+       "CONTROLS_IF_TOOLTIP_1": "Αν Î¼Î¹Î± Ï„ιμή ÎµÎ¯Î½Î±Î¹ Î±Î»Î·Î¸Î®Ï‚, Ï„ότε ÎµÎºÏ„ελεί ÎºÎ¬Ï€Î¿Î¹ÎµÏ‚ ÎµÎ½Ï„ολές.",
+       "CONTROLS_IF_TOOLTIP_2": "Αν Î¼Î¹Î± Ï„ιμή ÎµÎ¯Î½Î±Î¹ Î±Î»Î·Î¸Î®Ï‚, Ï„ότε ÎµÎºÏ„ελεί Ï„ο Ï€Ïώτο Ï„μήμα ÎµÎ½Ï„ολών. Î”ιαφοÏετικά, ÎµÎºÏ„ελεί Ï„ο Î´ÎµÏτεÏο Ï„μήμα ÎµÎ½Ï„ολών.",
+       "CONTROLS_IF_TOOLTIP_3": "Αν Î· Ï€Ïώτη Ï„ιμή ÎµÎ¯Î½Î±Î¹ Î±Î»Î·Î¸Î®Ï‚, Ï„ότε ÎµÎºÏ„ελεί Ï„ο Ï€Ïώτο Ï„μήμα ÎµÎ½Ï„ολών. Î”ιαφοÏετικά, Î±Î½ Î· Î´ÎµÏτεÏη Ï„ιμή ÎµÎ¯Î½Î±Î¹ Î±Î»Î·Î¸Î®Ï‚, ÎµÎºÏ„ελεί Ï„ο Î´ÎµÏτεÏο Î¼Ï€Î»Î¿Îº ÎµÎ½Ï„ολών.",
+       "CONTROLS_IF_TOOLTIP_4": "Αν Î· Ï€Ïώτη Ï„ιμή ÎµÎ¯Î½Î±Î¹ Î±Î»Î·Î¸Î®Ï‚, Ï„ότε ÎµÎºÏ„ελεί Ï„ο Ï€Ïώτο Ï„μήμα ÎµÎ½Ï„ολών.  Î”ιαφοÏετικά, Î±Î½ Î· Î´ÎµÏτεÏη Ï„ιμή ÎµÎ¯Î½Î±Î¹ Î±Î»Î·Î¸Î®Ï‚, ÎµÎºÏ„ελεί Ï„ο Î´ÎµÏτεÏο Ï„μήμα ÎµÎ½Ï„ολών. Î‘ν ÎºÎ±Î¼Î¯Î± Î±Ï€ÏŒ Ï„ις Ï„ιμές Î´ÎµÎ½ ÎµÎ¯Î½Î±Î¹ Î±Î»Î·Î¸Î®Ï‚, ÎµÎºÏ„ελεί Ï„ο Ï„ελευταίο Ï„μήμα ÎµÎ½Ï„ολών.",
+       "CONTROLS_IF_MSG_IF": "εάν",
+       "CONTROLS_IF_MSG_ELSEIF": "εναλλακτικά ÎµÎ¬Î½",
+       "CONTROLS_IF_MSG_ELSE": "αλλιώς",
+       "CONTROLS_IF_IF_TOOLTIP": "ΠÏοσθέτει, Î±Ï†Î±Î¹Ïεί Î® Î±Î½Î±Î´Î¹Î±Ï„άσσει Ï„α Ï„μήματα Î³Î¹Î± Î½Î± Î±Î½Î±Î´Î¹Î±Î¼Î¿Ïφώσει Î±Ï…Ï„ÏŒ Ï„ο Î¼Ï€Î»Î¿Îº Â«ÎµÎ¬Î½Â».",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "ΠÏόσθετει Î¼Î¹Î± ÎºÎ±Ï„άσταση/συνθήκη ÏƒÏ„ο Î¼Ï€Î»Î¿Îº Â«ÎµÎ¬Î½Â».",
+       "CONTROLS_IF_ELSE_TOOLTIP": "ΠÏοσθέτει Î¼Î¹Î± Ï„ελική ÎºÎ±Ï„άσταση/συνθήκη, Ï€Î¿Ï… Ï€Î¹Î¬Î½ÎµÎ¹ ÏŒÎ»ÎµÏ‚ Ï„ις Î¬Î»Î»ÎµÏ‚ Ï€ÎµÏιπτώσεις, ÏƒÏ„ο Î¼Ï€Î»Î¿Îº Â«ÎµÎ¬Î½Â».",
+       "IOS_OK": "ΟΚ",
+       "IOS_CANCEL": "ΑκυÏώστε",
+       "IOS_ERROR": "Σφάλμα",
+       "IOS_PROCEDURES_INPUTS": "ΕΙΣΑΓΟΜΕÎΑ Î£Î¤ÎŸÎ™Î§Î•Î™Î‘",
+       "IOS_PROCEDURES_ADD_INPUT": "Εισάγετε ÏƒÏ„οιχείο",
+       "IOS_PROCEDURES_ALLOW_STATEMENTS": "Îα ÎµÏ€Î¹Ï„Ïέπονται Î¿Î¹ Î´Î·Î»ÏŽÏƒÎµÎ¹Ï‚",
+       "IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR": "Αυτή Î· Ï€Î±ÏάμετÏος Î±Ï€Î±Î¹Ï„εί Î´Î¹Ï€Î»Î® ÎµÎ¹ÏƒÎ±Î³Ï‰Î³Î® ÏƒÏ„οιχείων",
+       "IOS_VARIABLES_ADD_VARIABLE": "ΠÏοσθέσατε ÎœÎµÏ„αβλητή",
+       "IOS_VARIABLES_ADD_BUTTON": "ΠÏοσθήκη",
+       "IOS_VARIABLES_RENAME_BUTTON": "Αλλάξετε Ï„ο ÏŒÎ½Î¿Î¼Î± Ï„ου Î±Ïχείου",
+       "IOS_VARIABLES_DELETE_BUTTON": "ΔιαγÏαφή",
+       "IOS_VARIABLES_VARIABLE_NAME": "Όνομα Î¼ÎµÏ„αβλητής",
+       "IOS_VARIABLES_EMPTY_NAME_ERROR": "Δεν Î¼Ï€Î¿Ïείτε Î½Î± Ï‡Ïησιμοποιήσετε Î¼Î¹Î± Î¼ÎµÏ„αβλητή Î´Î¯Ï‡Ï‰Ï‚ ÏŒÎ½Î¿Î¼Î±",
+       "LOGIC_COMPARE_HELPURL": "https://en.wikipedia.org/wiki/Inequality_(mathematics)",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "ΕπιστÏέφει Î±Î»Î·Î¸Î®Ï‚ Î±Î½ ÎºÎ±Î¹ Î¿Î¹ Î´Ïο ÎµÎ¯ÏƒÎ¿Î´Î¿Î¹ ÎµÎ¯Î½Î±Î¹ Î¯ÏƒÎµÏ‚ Î¼ÎµÏ„αξϠτους.",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "ΕπιστÏέφει Î±Î»Î·Î¸Î®Ï‚ Î±Î½ ÎºÎ±Î¹ Î¿Î¹ Î´Ïο ÎµÎ¯ÏƒÎ¿Î´Î¿Î¹ Î´ÎµÎ½ ÎµÎ¯Î½Î±Î¹ Î¯ÏƒÎµÏ‚ Î¼ÎµÏ„αξϠτους.",
+       "LOGIC_COMPARE_TOOLTIP_LT": "ΕπιστÏέφει Î±Î»Î·Î¸Î®Ï‚ Î±Î½ Î· Ï€Ïώτη ÎµÎ¯ÏƒÎ¿Î´Î¿Ï‚ ÎµÎ¯Î½Î±Î¹ Î¼Î¹ÎºÏότεÏη Î±Ï€ÏŒ Ï„η Î´ÎµÏτεÏη ÎµÎ¯ÏƒÎ¿Î´Î¿.",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "ΕπιστÏέφει Î±Î»Î·Î¸Î®Ï‚ Î±Î½ Î· Ï€Ïώτη ÎµÎ¯ÏƒÎ¿Î´Î¿Ï‚ ÎµÎ¯Î½Î±Î¹ Î¼Î¹ÎºÏότεÏη Î±Ï€ÏŒ Î® Î¯ÏƒÎ· Î¼Îµ Ï„η Î´ÎµÏτεÏη ÎµÎ¯ÏƒÎ¿Î´Î¿.",
+       "LOGIC_COMPARE_TOOLTIP_GT": "ΕπιστÏέφει Î±Î»Î·Î¸Î®Ï‚ Î±Î½ Î· Ï€Ïώτη ÎµÎ¯ÏƒÎ¿Î´Î¿Ï‚ ÎµÎ¯Î½Î±Î¹ Î¼ÎµÎ³Î±Î»ÏτεÏη Î±Ï€ÏŒ Ï„η Î´ÎµÏτεÏη ÎµÎ¯ÏƒÎ¿Î´Î¿.",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "ΕπιστÏέφει Î±Î»Î·Î¸Î®Ï‚ Î±Î½ Î· Ï€Ïώτη ÎµÎ¯ÏƒÎ¿Î´Î¿Ï‚ ÎµÎ¯Î½Î±Î¹ Î¼Î¹ÎºÏότεÏη Î® Î¯ÏƒÎ· Î¼Îµ Ï„η Î´ÎµÏτεÏη ÎµÎ¯ÏƒÎ¿Î´Î¿.",
+       "LOGIC_OPERATION_TOOLTIP_AND": "ΕπιστÏέφει Î±Î»Î·Î¸Î®Ï‚ Î±Î½ ÎºÎ±Î¹ Î¿Î¹ Î´Ïο ÎµÎ¯ÏƒÎ¿Î´Î¿Î¹ ÎµÎ¯Î½Î±Î¹ Î±Î»Î·Î¸Î®Ï‚.",
+       "LOGIC_OPERATION_AND": "και",
+       "LOGIC_OPERATION_TOOLTIP_OR": "ΕπιστÏέφει Î±Î»Î·Î¸Î®Ï‚ Î±Î½ Ï„ουλάχιστον Î¼Î¹Î± Î±Ï€ÏŒ Ï„ις ÎµÎ¹ÏƒÏŒÎ´Î¿Ï…Ï‚ ÎµÎ¯Î½Î±Î¹ Î±Î»Î·Î¸Î®Ï‚.",
+       "LOGIC_OPERATION_OR": "ή",
+       "LOGIC_NEGATE_TITLE": "όχι %1",
+       "LOGIC_NEGATE_TOOLTIP": "ΕπιστÏέφει Î±Î»Î·Î¸Î®Ï‚ Î±Î½ Î· ÎµÎ¯ÏƒÎ¿Î´Î¿Ï‚ ÎµÎ¯Î½Î±Î¹ ÏˆÎµÏ…δής. Î•Ï€Î¹ÏƒÏ„Ïέφει ÏˆÎµÏ…δής Î±Î½ Î· ÎµÎ¯ÏƒÎ¿Î´Î¿Ï‚ ÎµÎ¯Î½Î±Î¹ Î±Î»Î·Î¸Î®Ï‚.",
+       "LOGIC_BOOLEAN_TRUE": "αληθής",
+       "LOGIC_BOOLEAN_FALSE": "ψευδής",
+       "LOGIC_BOOLEAN_TOOLTIP": "ΕπιστÏέφει ÎµÎ¯Ï„ε Î±Î»Î·Î¸Î®Ï‚ ÎµÎ¯Ï„ε ÏˆÎµÏ…δής.",
+       "LOGIC_NULL_HELPURL": "https://en.wikipedia.org/wiki/Nullable_type",
+       "LOGIC_NULL": "κενό",
+       "LOGIC_NULL_TOOLTIP": "ΕπιστÏέφει ÎºÎµÎ½ÏŒ.",
+       "LOGIC_TERNARY_HELPURL": "https://en.wikipedia.org/wiki/%3F:",
+       "LOGIC_TERNARY_CONDITION": "έλεγχος",
+       "LOGIC_TERNARY_IF_TRUE": "εάν ÎµÎ¯Î½Î±Î¹ Î±Î»Î·Î¸Î®Ï‚",
+       "LOGIC_TERNARY_IF_FALSE": "εάν ÎµÎ¯Î½Î±Î¹ ÏˆÎµÏ…δής",
+       "LOGIC_TERNARY_TOOLTIP": "Ελέγχει Ï„ην ÎºÎ±Ï„άσταση/συνθήκη ÏƒÏ„ον Â«Î­Î»ÎµÎ³Ï‡Î¿Â». Î‘ν Î· ÎºÎ±Ï„άσταση/συνθήκη ÎµÎ¯Î½Î±Î¹ Î±Î»Î·Î¸Î®Ï‚, ÎµÏ€Î¹ÏƒÏ„Ïέφει Ï„ην Ï„ιμή Â«ÎµÎ¬Î½ Î±Î»Î·Î¸Î®Ï‚», Î´Î¹Î±Ï†Î¿Ïετικά ÎµÏ€Î¹ÏƒÏ„Ïέφει Ï„ην Ï„ιμή Â«ÎµÎ¬Î½ ÏˆÎµÏ…δής».",
+       "MATH_NUMBER_HELPURL": "https://el.wikipedia.org/wiki/%CE%91%CF%81%CE%B9%CE%B8%CE%BC%CF%8C%CF%82",
+       "MATH_NUMBER_TOOLTIP": "Ένας Î±Ïιθμός.",
+       "MATH_ADDITION_SYMBOL": "+",
+       "MATH_SUBTRACTION_SYMBOL": "-",
+       "MATH_DIVISION_SYMBOL": "÷",
+       "MATH_MULTIPLICATION_SYMBOL": "×",
+       "MATH_POWER_SYMBOL": "^ Ïψωση ÏƒÎµ Î´Ïναμη",
+       "MATH_TRIG_SIN": "ημ",
+       "MATH_TRIG_COS": "συν",
+       "MATH_TRIG_TAN": "εφ",
+       "MATH_TRIG_ASIN": "asin",
+       "MATH_TRIG_ACOS": "acos",
+       "MATH_TRIG_ATAN": "atan",
+       "MATH_ARITHMETIC_HELPURL": "https://el.wikipedia.org/wiki/%CE%91%CF%81%CE%B9%CE%B8%CE%BC%CE%B7%CF%84%CE%B9%CE%BA%CE%AE",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "ΕπιστÏέφει Ï„ο Î¬Î¸Ïοισμα Ï„ων Î´Ïο Î±Ïιθμών.",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "ΕπιστÏέφει Ï„η Î´Î¹Î±Ï†Î¿Ïά Ï„ων Î´Ïο Î±Ïιθμών.",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "ΕπιστÏέφει Ï„ο Î³Î¹Î½ÏŒÎ¼ÎµÎ½Î¿ Ï„ων Î´Ïο Î±Ïιθμών.",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "ΕπιστÏέφει Ï„ο Ï€Î·Î»Î¯ÎºÎ¿ Ï„ων Î´Ïο Î±Ïιθμών.",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "ΕπιστÏέφει Ï„ον Ï€Ïώτο Î±Ïιθμό Ï…ψωμένο ÏƒÏ„η Î´Ïναμη Ï„ου Î´ÎµÏτεÏου Î±ÏιθμοÏ.",
+       "MATH_SINGLE_HELPURL": "https://el.wikipedia.org/wiki/%CE%A4%CE%B5%CF%84%CF%81%CE%B1%CE%B3%CF%89%CE%BD%CE%B9%CE%BA%CE%AE_%CF%81%CE%AF%CE%B6%CE%B1",
+       "MATH_SINGLE_OP_ROOT": "τετÏαγωνική Ïίζα",
+       "MATH_SINGLE_TOOLTIP_ROOT": "ΕπιστÏέφει Ï„ην Ï„ετÏαγωνική Ïίζα ÎµÎ½ÏŒÏ‚ Î±ÏιθμοÏ.",
+       "MATH_SINGLE_OP_ABSOLUTE": "απόλυτη",
+       "MATH_SINGLE_TOOLTIP_ABS": "ΕπιστÏέφει Ï„ην Î±Ï€ÏŒÎ»Ï…τη Ï„ιμή ÎµÎ½ÏŒÏ‚ Î±ÏιθμοÏ.",
+       "MATH_SINGLE_TOOLTIP_NEG": "ΕπιστÏέφει Ï„ην Î±Ïνητική ÎµÎ½ÏŒÏ‚ Î±ÏιθμοÏ.",
+       "MATH_SINGLE_TOOLTIP_LN": "ΕπιστÏέφει Ï„ον Î½ÎµÏ€Î­Ïειο Î»Î¿Î³Î¬Ïιθμο ÎµÎ½ÏŒÏ‚ Î±ÏιθμοÏ.",
+       "MATH_SINGLE_TOOLTIP_LOG10": "ΕπιστÏέφει Ï„ον Î»Î¿Î³Î¬Ïιθμο Î¼Îµ Î²Î¬ÏƒÎ· Ï„ο 10 ÎµÎ½ÏŒÏ‚ Î±ÏιθμοÏ.",
+       "MATH_SINGLE_TOOLTIP_EXP": "ΕπιστÏέφει Ï„ο e Ï…ψωμένο ÏƒÏ„η Î´Ïναμη ÎµÎ½ÏŒÏ‚ Î±ÏιθμοÏ.",
+       "MATH_SINGLE_TOOLTIP_POW10": "ΕπιστÏέφει Ï„ο 10 Ï…ψωμένο ÏƒÏ„η Î´Ïναμη ÎµÎ½ÏŒÏ‚ Î±ÏιθμοÏ.",
+       "MATH_TRIG_HELPURL": "https://el.wikipedia.org/wiki/%CE%A4%CF%81%CE%B9%CE%B3%CF%89%CE%BD%CE%BF%CE%BC%CE%B5%CF%84%CF%81%CE%B9%CE%BA%CE%AE_%CF%83%CF%85%CE%BD%CE%AC%CF%81%CF%84%CE%B7%CF%83%CE%B7",
+       "MATH_TRIG_TOOLTIP_SIN": "ΕπιστÏέφει Ï„ο Î·Î¼Î¯Ï„ονο ÎµÎ½ÏŒÏ‚ Î²Î±Î¸Î¼Î¿Ï (όχι Î±ÎºÏ„ινίου).",
+       "MATH_TRIG_TOOLTIP_COS": "ΕπιστÏέφει Ï„ο ÏƒÏ…νημίτονο ÎµÎ½ÏŒÏ‚ Î²Î±Î¸Î¼Î¿Ï (όχι Î±ÎºÏ„ινίου).",
+       "MATH_TRIG_TOOLTIP_TAN": "ΕπιστÏέφει Ï„ην ÎµÏ†Î±Ï€Ï„ομένη ÎµÎ½ÏŒÏ‚ Î²Î±Î¸Î¼Î¿Ï (όχι Î±ÎºÏ„ινίου).",
+       "MATH_TRIG_TOOLTIP_ASIN": "ΕπιστÏέφει Ï„ο Ï„όξο Î·Î¼Î¯Ï„ονου ÎµÎ½ÏŒÏ‚ Î±ÏιθμοÏ.",
+       "MATH_TRIG_TOOLTIP_ACOS": "ΕπιστÏέφει Ï„ο Ï„όξο ÏƒÏ…νημίτονου ÎµÎ½ÏŒÏ‚ Î±ÏιθμοÏ.",
+       "MATH_TRIG_TOOLTIP_ATAN": "ΕπιστÏέφει Ï„ο Ï„όξο ÎµÏ†Î±Ï€Ï„ομένης ÎµÎ½ÏŒÏ‚ Î±ÏιθμοÏ.",
+       "MATH_CONSTANT_HELPURL": "https://en.wikipedia.org/wiki/Mathematical_constant",
+       "MATH_CONSTANT_TOOLTIP": "ΕπιστÏέφει Î¼Î¯Î± Î±Ï€ÏŒ Ï„ις ÎºÎ¿Î¹Î½Î­Ï‚ ÏƒÏ„αθεÏές: Ï€ (3.141...), e (2.718...), Ï† (1.618...), sqrt(2) (1.414...), sqrt(½) (0.707...), Î® âˆž (άπειÏο).",
+       "MATH_IS_EVEN": "είναι Î¬Ïτιος",
+       "MATH_IS_ODD": "είναι Ï€ÎµÏιττός",
+       "MATH_IS_PRIME": "είναι Ï€Ïώτος",
+       "MATH_IS_WHOLE": "είναι Î±ÎºÎ­Ïαιος",
+       "MATH_IS_POSITIVE": "είναι Î¸ÎµÏ„ικός",
+       "MATH_IS_NEGATIVE": "είναι Î±Ïνητικός",
+       "MATH_IS_DIVISIBLE_BY": "είναι Î´Î¹Î±Î¹Ïετός Î±Ï€ÏŒ Ï„ο",
+       "MATH_IS_TOOLTIP": "Ελέγχει Î±Î½ Î­Î½Î±Ï‚ Î±Ïιθμός ÎµÎ¯Î½Î±Î¹ Î¬Ïτιος, Ï€ÎµÏιττός, Ï€Ïώτος, Î±ÎºÎ­Ïαιος, Î¸ÎµÏ„ικός, Î±Ïνητικός, Î® Î±Î½ ÎµÎ¯Î½Î±Î¹ Î´Î¹Î±Î¹Ïετός Î±Ï€ÏŒ Î­Î½Î±Î½ Î¿Ïισμένο Î±Ïιθμό. Î•Ï€Î¹ÏƒÏ„Ïέφει Î±Î»Î·Î¸Î®Ï‚ Î® ÏˆÎµÏ…δής.",
+       "MATH_CHANGE_HELPURL": "https://el.wikipedia.org/wiki/%CE%A0%CF%81%CF%8C%CF%83%CE%B8%CE%B5%CF%83%CE%B7",
+       "MATH_CHANGE_TITLE": "άλλαξε %1 Î±Ï€ÏŒ %2",
+       "MATH_CHANGE_TOOLTIP": "ΠÏοσθέτει Î­Î½Î±Î½ Î±Ïιθμό ÏƒÏ„η Î¼ÎµÏ„αβλητή Â«%1».",
+       "MATH_ROUND_HELPURL": "https://en.wikipedia.org/wiki/Rounding",
+       "MATH_ROUND_TOOLTIP": "ΣτÏογγυλοποιεί Î­Î½Î±Î½ Î±Ïιθμό Ï€Ïος Ï„α Ï€Î¬Î½Ï‰ Î® Ï€Ïος Ï„α ÎºÎ¬Ï„ω.",
+       "MATH_ROUND_OPERATOR_ROUND": "στÏογγυλοποίησε",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "στÏογγυλοποίησε Ï€Ïος Ï„α Ï€Î¬Î½Ï‰",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "στÏογγυλοποίησε Ï€Ïος Ï„α ÎºÎ¬Ï„ω",
+       "MATH_ONLIST_OPERATOR_SUM": "άθÏοισμα Î»Î¯ÏƒÏ„ας",
+       "MATH_ONLIST_TOOLTIP_SUM": "ΕπιστÏέφει Ï„ο Î¬Î¸Ïοισμα ÏŒÎ»Ï‰Î½ Ï„ων Î±Ïιθμών ÏƒÏ„η Î»Î¯ÏƒÏ„α.",
+       "MATH_ONLIST_OPERATOR_MIN": "μικÏότεÏος Î»Î¯ÏƒÏ„ας",
+       "MATH_ONLIST_TOOLTIP_MIN": "ΕπιστÏέφει Ï„ον Î¼Î¹ÎºÏότεÏο Î±Ïιθμό ÏƒÏ„η Î»Î¯ÏƒÏ„α.",
+       "MATH_ONLIST_OPERATOR_MAX": "μεγαλÏτεÏος Î»Î¯ÏƒÏ„ας",
+       "MATH_ONLIST_TOOLTIP_MAX": "ΕπιστÏέφει Ï„ον Î¼ÎµÎ³Î±Î»ÏτεÏο Î±Ïιθμό ÏƒÏ„η Î»Î¯ÏƒÏ„α.",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "μέσος ÏŒÏος Î»Î¯ÏƒÏ„ας",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "ΕπιστÏέφει Ï„ον Î±Ïιθμητικό Î¼Î­ÏƒÎ¿ ÏŒÏο Î±Ï€ÏŒ Ï„ις Î±Ïιθμητικές Ï„ιμές ÏƒÏ„η Î»Î¯ÏƒÏ„α.",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "διάμεσος Î»Î¯ÏƒÏ„ας",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "ΕπιστÏέφει Ï„ον Î´Î¹Î¬Î¼ÎµÏƒÎ¿ Ï„ης Î»Î¯ÏƒÏ„ας.",
+       "MATH_ONLIST_OPERATOR_MODE": "μοÏφές Î»Î¯ÏƒÏ„ας",
+       "MATH_ONLIST_TOOLTIP_MODE": "ΕπιστÏέφει Î¼Î¹Î± Î»Î¯ÏƒÏ„α Î¼Îµ Ï„α Ï€Î¹Î¿ ÎºÎ¿Î¹Î½Î¬ ÏƒÏ„οιχεία ÏƒÏ„η Î»Î¯ÏƒÏ„α.",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "τυπική Î±Ï€ÏŒÎºÎ»Î¹ÏƒÎ· Î»Î¯ÏƒÏ„ας",
+       "MATH_ONLIST_TOOLTIP_STD_DEV": "ΕπιστÏέφει Ï„ην Ï„υπική Î±Ï€ÏŒÎºÎ»Î¹ÏƒÎ· Ï„ης Î»Î¯ÏƒÏ„ας.",
+       "MATH_ONLIST_OPERATOR_RANDOM": "τυχαίο ÏƒÏ„οιχείο Î»Î¯ÏƒÏ„ας",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "ΕπιστÏέφει Î­Î½Î± Ï„υχαίο ÏƒÏ„οιχείο Î±Ï€ÏŒ Ï„η Î»Î¯ÏƒÏ„α.",
+       "MATH_MODULO_HELPURL": "https://en.wikipedia.org/wiki/Modulo_operation",
+       "MATH_MODULO_TITLE": "υπόλοιπο Ï„ης %1 Ã· %2",
+       "MATH_MODULO_TOOLTIP": "ΕπιστÏέφει Ï„ο Ï…πόλοιπο Ï„ης Î´Î¹Î±Î¯Ïεσης Ï„ων Î´Ïο Î±Ïιθμών.",
+       "MATH_CONSTRAIN_TITLE": "πεÏιόÏισε %1 Ï‡Î±Î¼Î·Î»Î® %2 Ï…ψηλή %3",
+       "MATH_CONSTRAIN_TOOLTIP": "ΠεÏιοÏίζει Î­Î½Î±Î½ Î±Ïιθμό Î¼ÎµÏ„αξϠτων Ï€Ïοβλεπόμενων Î¿Ïίων (χωÏίς Î±Ï€Î¿ÎºÎ»ÎµÎ¹ÏƒÎ¼Î¿ÏÏ‚).",
+       "MATH_RANDOM_INT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_INT_TITLE": "τυχαίος Î±ÎºÎ­Ïαιος Î±Ï€ÏŒ Ï„ο %1 Î­Ï‰Ï‚ Ï„ο %2",
+       "MATH_RANDOM_INT_TOOLTIP": "ΕπιστÏέφει Î­Î½Î±Î½ Ï„υχαίο Î±ÎºÎ­Ïαιο Î±Ïιθμό Î¼ÎµÏ„αξϠδÏο ÏƒÏ…γκεκÏιμένων Î¿Ïίων (εντός - ÏƒÏ…μπεÏιλαμβανομένων ÎºÎ±Î¹ Ï„ων Î±ÎºÏαίων Ï„ιμών).",
+       "MATH_RANDOM_FLOAT_HELPURL": "https://el.wikipedia.org/wiki/%CE%93%CE%B5%CE%BD%CE%BD%CE%AE%CF%84%CF%81%CE%B9%CE%B1_%CE%A4%CF%85%CF%87%CE%B1%CE%AF%CF%89%CE%BD_%CE%91%CF%81%CE%B9%CE%B8%CE%BC%CF%8E%CE%BD",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "τυχαίο ÎºÎ»Î¬ÏƒÎ¼Î±",
+       "MATH_RANDOM_FLOAT_TOOLTIP": "ΕπιστÏέψει Î­Î½Î± Ï„υχαία ÎºÎ»Î¬ÏƒÎ¼Î± Î¼ÎµÏ„αξϠ0,0 (κλειστό) ÎºÎ±Î¹ 1,0 (ανοικτό).",
+       "TEXT_TEXT_HELPURL": "https://el.wikipedia.org/wiki/%CE%A3%CF%85%CE%BC%CE%B2%CE%BF%CE%BB%CE%BF%CF%83%CE%B5%CE%B9%CF%81%CE%AC",
+       "TEXT_TEXT_TOOLTIP": "Ένα Î³Ïάμμα, Î¼Î¹Î± Î»Î­Î¾Î· Î® Î¼Î¹Î± Î³Ïαμμή ÎºÎµÎ¹Î¼Î­Î½Î¿Ï….",
+       "TEXT_JOIN_TITLE_CREATEWITH": "δημιοÏÏγησε ÎºÎµÎ¯Î¼ÎµÎ½Î¿ Î¼Îµ",
+       "TEXT_JOIN_TOOLTIP": "ΔημιουÏγεί Î­Î½Î± ÎºÎ¿Î¼Î¼Î¬Ï„ι ÎºÎµÎ¹Î¼Î­Î½Î¿Ï… ÎµÎ½ÏŽÎ½Î¿Î½Ï„ας Î­Î½Î±Î½  Î±Ï€ÎµÏιόÏιστο Î±Ïιθμό Î±Î½Ï„ικειμένων.",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "ένωσε",
+       "TEXT_CREATE_JOIN_TOOLTIP": "ΠÏοσθέτει, Î±Ï†Î±Î¹Ïεί Î® Î±Î½Î±Î´Î¹Î±Ï„άσσει Ï„ους Ï„ομείς Î³Î¹Î± Î½Î± Î±Î½Î±Î´Î¹Î±Î¼Î¿Ïφώσει Î±Ï…Ï„ÏŒ Ï„ο Î¼Ï€Î»Î¿Îº ÎºÎµÎ¹Î¼Î­Î½Î¿Ï….",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "ΠÏοσθέτει Î­Î½Î± ÏƒÏ„οιχείο ÏƒÏ„ο ÎºÎµÎ¯Î¼ÎµÎ½Î¿.",
+       "TEXT_APPEND_TITLE": "έως %1 Î±Î½Î¬Î¸ÎµÏƒÎµ ÎºÎµÎ¯Î¼ÎµÎ½Î¿ %2",
+       "TEXT_APPEND_TOOLTIP": "Αναθέτει ÎºÎµÎ¯Î¼ÎµÎ½Î¿ ÏƒÏ„η Î¼ÎµÏ„αβλητή Â«%1».",
+       "TEXT_LENGTH_TITLE": "το Î¼Î®ÎºÎ¿Ï‚ Ï„ου %1",
+       "TEXT_LENGTH_TOOLTIP": "ΕπιστÏέφει Ï„ο Ï€Î»Î®Î¸Î¿Ï‚ Ï„ων Î³Ïαμμάτων (συμπεÏιλαμβανομένων ÎºÎ±Î¹ Ï„ων ÎºÎµÎ½ÏŽÎ½ Î´Î¹Î±ÏƒÏ„ημάτων) ÏƒÏ„ο Ï€Î±Ïεχόμενο ÎºÎµÎ¯Î¼ÎµÎ½Î¿.",
+       "TEXT_ISEMPTY_TITLE": "το %1 ÎµÎ¯Î½Î±Î¹ ÎºÎµÎ½ÏŒ",
+       "TEXT_ISEMPTY_TOOLTIP": "ΕπιστÏέφει Î±Î»Î·Î¸Î®Ï‚ Î±Î½ Ï„ο Ï€Î±Ïεχόμενο ÎºÎµÎ¯Î¼ÎµÎ½Î¿ ÎµÎ¯Î½Î±Î¹ ÎºÎµÎ½ÏŒ.",
+       "TEXT_INDEXOF_TOOLTIP": "ΕπιστÏέφει Ï„ον Î´ÎµÎ¯ÎºÏ„η Ï„ης Ï€Ïώτης/τελευταίας ÎµÎ¼Ï†Î¬Î½Î¹ÏƒÎ·Ï‚ Ï„ου Ï€Ïώτου ÎºÎµÎ¹Î¼Î­Î½Î¿Ï… ÏƒÏ„ο Î´ÎµÏτεÏο ÎºÎµÎ¯Î¼ÎµÎ½Î¿.  Î•Ï€Î¹ÏƒÏ„Ïέφει Ï„ιμή %1, Î±Î½ Î´Îµ Î²Ïει Ï„ο ÎºÎµÎ¯Î¼ÎµÎ½Î¿.",
+       "TEXT_INDEXOF_TITLE": "στο ÎºÎµÎ¯Î¼ÎµÎ½Î¿ %1 %2 %3",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "βÏες Ï„ην Ï€Ïώτη ÎµÎ¼Ï†Î¬Î½Î¹ÏƒÎ· Ï„ου ÎºÎµÎ¹Î¼Î­Î½Î¿Ï…",
+       "TEXT_INDEXOF_OPERATOR_LAST": "βÏες Ï„ην Ï„ελευταία ÎµÎ¼Ï†Î¬Î½Î¹ÏƒÎ· Ï„ου ÎºÎµÎ¹Î¼Î­Î½Î¿Ï…",
+       "TEXT_CHARAT_TITLE": "στο ÎºÎµÎ¯Î¼ÎµÎ½Î¿ %1 %2",
+       "TEXT_CHARAT_FROM_START": "πάÏε Ï„ο Î³Ïάμμα #",
+       "TEXT_CHARAT_FROM_END": "πάÏε Ï„ο Î³Ïάμμα # Î±Ï€ÏŒ Ï„ο Ï„έλος",
+       "TEXT_CHARAT_FIRST": "πάÏε Ï„ο Ï€Ïώτο Î³Ïάμμα",
+       "TEXT_CHARAT_LAST": "πάÏε Ï„ο Ï„ελευταίο Î³Ïάμμα",
+       "TEXT_CHARAT_RANDOM": "πάÏε Ï„υχαίο Î³Ïάμμα",
+       "TEXT_CHARAT_TOOLTIP": "ΕπιστÏέφει Ï„ο Î³Ïάμμα ÏƒÏ„ην ÎºÎ±Î¸Î¿Ïισμένη Î¸Î­ÏƒÎ·.",
+       "TEXT_GET_SUBSTRING_TOOLTIP": "ΕπιστÏέφει Î­Î½Î± ÏƒÏ…γκεκÏιμένο Ï„μήμα Ï„ου ÎºÎµÎ¹Î¼Î­Î½Î¿Ï….",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "στο ÎºÎµÎ¯Î¼ÎµÎ½Î¿",
+       "TEXT_GET_SUBSTRING_START_FROM_START": "πάÏε Ï„η Î´ÎµÏ…τεÏεÏουσα ÏƒÏ…μβολοσειÏά Î±Ï€ÏŒ Ï„ο # Î³Ïάμμα",
+       "TEXT_GET_SUBSTRING_START_FROM_END": "πάÏε Ï„η Î´ÎµÏ…τεÏεÏουσα ÏƒÏ…μβολοσειÏά Î±Ï€ÏŒ Ï„ο # Î³Ïάμμα Î±Ï€ÏŒ Ï„ο Ï„έλος",
+       "TEXT_GET_SUBSTRING_START_FIRST": "πάÏε Ï„η Î´ÎµÏ…τεÏεÏουσα ÏƒÏ…μβολοσειÏά Î±Ï€ÏŒ Ï„ο Ï€Ïώτο Î³Ïάμμα",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "μέχÏι Ï„ο # Î³Ïάμμα",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "μέχÏι Ï„ο # Î³Ïάμμα Î±Ï€ÏŒ Ï„ο Ï„έλος",
+       "TEXT_GET_SUBSTRING_END_LAST": "μέχÏι Ï„ο Ï„ελευταίο Î³Ïάμμα",
+       "TEXT_CHANGECASE_TOOLTIP": "ΕπιστÏέφει Î­Î½Î± Î±Î½Ï„ίγÏαφο Ï„ου ÎºÎµÎ¹Î¼Î­Î½Î¿Ï… ÏƒÎµ Î´Î¹Î±Ï†Î¿Ïετική Î¼Î¿Ïφή Î³Ïαμμάτων.",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "σε ÎšÎ•Î¦Î‘ΛΑΙΑ",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "σε Ï€ÎµÎ¶Î¬",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": "σε Î›Î­Î¾ÎµÎ¹Ï‚ ÎœÎµ Î Ïώτα ÎšÎµÏ†Î±Î»Î±Î¯Î±",
+       "TEXT_TRIM_TOOLTIP": "ΕπιστÏέφει Î­Î½Î± Î±Î½Ï„ίγÏαφο Ï„ου ÎºÎµÎ¹Î¼Î­Î½Î¿Ï… Î¼Îµ Î±Ï†Î±Î¹Ïεμένα Ï„α ÎºÎµÎ½Î¬ Î±Ï€ÏŒ Ï„ο Î­Î½Î± Î® ÎºÎ±Î¹ Ï„α Î´Ïο Î¬ÎºÏα.",
+       "TEXT_TRIM_OPERATOR_BOTH": "πεÏίκοψε Ï„α ÎºÎµÎ½Î¬ ÎºÎ±Î¹ Î±Ï€ÏŒ Ï„ις Î´Ï…ο Ï€Î»ÎµÏ…Ïές Ï„ου",
+       "TEXT_TRIM_OPERATOR_LEFT": "πεÏίκοψε Ï„α ÎºÎµÎ½Î¬ Î±Ï€ÏŒ Ï„ην Î±ÏιστεÏή Ï€Î»ÎµÏ…Ïά Ï„ου",
+       "TEXT_TRIM_OPERATOR_RIGHT": "πεÏίκοψε Ï„α ÎºÎµÎ½Î¬ Î±Ï€ÏŒ Ï„ην Î´ÎµÎ¾Î¹Î¬ Ï€Î»ÎµÏ…Ïά Ï„ου",
+       "TEXT_PRINT_TITLE": "εκτÏπωσε %1",
+       "TEXT_PRINT_TOOLTIP": "Εκτυπώνει Ï„ο ÎºÎ±Î¸Î¿Ïισμένο ÎºÎµÎ¯Î¼ÎµÎ½Î¿, Î±Ïιθμό Î® Î¬Î»Î»Î· Ï„ιμή.",
+       "TEXT_PROMPT_TYPE_TEXT": "Ï€ÏότÏεψε Î¼Îµ Î¼Î®Î½Ï…μα Î³Î¹Î± Î½Î± Î´Î¿Î¸ÎµÎ¯ ÎºÎµÎ¯Î¼ÎµÎ½Î¿",
+       "TEXT_PROMPT_TYPE_NUMBER": "Ï€ÏότÏεψε Î¼Îµ Î¼Î®Î½Ï…μα Î³Î¹Î± Î½Î± Î´Î¿Î¸ÎµÎ¯ Î±Ïιθμός",
+       "TEXT_PROMPT_TOOLTIP_NUMBER": "ΔημιουÏγεί Ï€ÏοτÏοπή Î³Î¹Î± Ï„ον Ï‡Ïήστη Î³Î¹Î± Î½Î± Î´ÏŽÏƒÎµÎ¹ Î­Î½Î± Î±Ïιθμό.",
+       "TEXT_PROMPT_TOOLTIP_TEXT": "ΔημιουÏγεί Ï€ÏοτÏοπή Î³Î¹Î± Ï„ο Ï‡Ïήστη Î³Î¹Î± Î½Î± Î´ÏŽÏƒÎµÎ¹ ÎºÎ¬Ï€Î¿Î¹Î¿ ÎºÎµÎ¯Î¼ÎµÎ½Î¿.",
+       "TEXT_COUNT_MESSAGE0": "αÏιθμός %1 ÏƒÎµ %2",
+       "TEXT_COUNT_TOOLTIP": "ΜετÏά Ï€ÏŒÏƒÎµÏ‚ Ï†Î¿Ïές ÎºÎ¬Ï€Î¿Î¹Î¿ ÎºÎµÎ¯Î¼ÎµÎ½Î¿ ÎµÎ¼Ï†Î±Î½Î¯Î¶ÎµÏ„αι Î¼Î­ÏƒÎ± ÏƒÎµ Î­Î½Î± Î¬Î»Î»Î¿ ÎºÎµÎ¯Î¼ÎµÎ½Î¿.",
+       "TEXT_REPLACE_MESSAGE0": "αντικαταστήσετε Ï„ο %1 Î¼Îµ %2 ÏƒÎµ %3",
+       "TEXT_REPLACE_TOOLTIP": "Αντικαταστήστε ÏŒÎ»Î± Ï„α Î®Î´Î· Ï…πάÏχοντα ÏƒÏ„οιχεία Î¼Î­Ïους Ï„ου ÎºÎµÎ¹Î¼Î­Î½Î¿Ï… Î¼Îµ ÎºÎ¬Ï€Î¿Î¹Î¿ Î¬Î»Î»Î¿ ÎºÎµÎ¯Î¼ÎµÎ½Î¿",
+       "TEXT_REVERSE_MESSAGE0": "ανάκληση %1",
+       "TEXT_REVERSE_TOOLTIP": "ΑναγÏαμματισμός Ï„ων Ï‡Î±ÏακτήÏων Ï„ου ÎºÎµÎ¹Î¼Î­Î½Î¿Ï…",
+       "LISTS_CREATE_EMPTY_HELPURL": "https://github.com/google/blockly/wiki/Lists#create-empty-list",
+       "LISTS_CREATE_EMPTY_TITLE": "δημιοÏÏγησε ÎºÎµÎ½Î® Î»Î¯ÏƒÏ„α",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "ΕπιστÏέφει Î¼Î¹Î± Î»Î¯ÏƒÏ„α, Î¼Îµ Î¼Î®ÎºÎ¿Ï‚ 0, Î· Î¿Ï€Î¿Î¯Î± Î´ÎµÎ½ Ï€ÎµÏιέχει ÎµÎ³Î³Ïαφές Î´ÎµÎ´Î¿Î¼Î­Î½Ï‰Î½",
+       "LISTS_CREATE_WITH_TOOLTIP": "ΔημιουÏγεί Î»Î¯ÏƒÏ„α Î¼Îµ Î¿Ï€Î¿Î¹Î¿Î½Î´Î®Ï€Î¿Ï„ε Î±Ïιθμό Î±Î½Ï„ικειμένων.",
+       "LISTS_CREATE_WITH_INPUT_WITH": "δημιοÏÏγησε Î»Î¯ÏƒÏ„α Î¼Îµ",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "λίστα",
+       "LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "ΠÏοσθέτει, Î±Ï†Î±Î¹Ïεί Î® Î±Î½Î±Î´Î¹Î±Ï„άσσει Ï„α Ï„μήματα Î³Î¹Î± Î½Î± Î±Î½Î±Î´Î¹Î±Î¼Î¿Ïφώσει Î±Ï…Ï„ÏŒ Ï„ο Î¼Ï€Î»Î¿Îº Î»Î¯ÏƒÏ„ας.",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "ΠÏοσθέτει Î±Î½Ï„ικείμενο ÏƒÏ„η Î»Î¯ÏƒÏ„α.",
+       "LISTS_REPEAT_HELPURL": "Blockly",
+       "LISTS_REPEAT_TOOLTIP": "ΔημιουÏγεί Î¼Î¹Î± Î»Î¯ÏƒÏ„α Ï€Î¿Ï… Î±Ï€Î¿Ï„ελείται Î±Ï€ÏŒ Ï„ην Î´ÎµÎ´Î¿Î¼Î­Î½Î· Ï„ιμή Ï€Î¿Ï… ÎµÏ€Î±Î½Î±Î»Î±Î¼Î²Î¬Î½ÎµÏ„αι Î³Î¹Î± ÏƒÏ…γκεκÏιμένο Î±Ïιθμό ÎµÏ€Î±Î½Î±Î»Î®ÏˆÎµÏ‰Î½.",
+       "LISTS_REPEAT_TITLE": "δημιοÏÏγησε Î»Î¯ÏƒÏ„α Î¼Îµ Ï„ο ÏƒÏ„οιχείο %1 Î½Î± ÎµÏ€Î±Î½Î±Î»Î±Î¼Î²Î¬Î½ÎµÏ„αι %2 Ï†Î¿Ïές",
+       "LISTS_LENGTH_HELPURL": "Blockly",
+       "LISTS_LENGTH_TITLE": "το Î¼Î®ÎºÎ¿Ï‚ Ï„ου %1",
+       "LISTS_LENGTH_TOOLTIP": "ΕπιστÏέφει Ï„ο Î¼Î®ÎºÎ¿Ï‚ Î¼Î¹Î±Ï‚ Î»Î¯ÏƒÏ„ας.",
+       "LISTS_ISEMPTY_TITLE": "το %1 ÎµÎ¯Î½Î±Î¹ ÎºÎµÎ½ÏŒ",
+       "LISTS_ISEMPTY_TOOLTIP": "ΕπιστÏέφει Î±Î»Î·Î¸Î®Ï‚ Î±Î½ Î· Î»Î¯ÏƒÏ„α ÎµÎ¯Î½Î±Î¹ ÎºÎµÎ½Î®.",
+       "LISTS_INLIST": "στη Î»Î¯ÏƒÏ„α",
+       "LISTS_INDEX_OF_HELPURL": "Blockly",
+       "LISTS_INDEX_OF_FIRST": "βÏες Ï„ην Ï€Ïώτη ÎµÎ¼Ï†Î¬Î½Î¹ÏƒÎ· Ï„ου ÏƒÏ„οιχείου",
+       "LISTS_INDEX_OF_LAST": "βÏες Ï„ην Ï„ελευταία ÎµÎ¼Ï†Î¬Î½Î¹ÏƒÎ· Ï„ου ÏƒÏ„οιχείου",
+       "LISTS_INDEX_OF_TOOLTIP": "ΕπιστÏέφει Ï„ον Î´ÎµÎ¯ÎºÏ„η Ï„ης Ï€Ïώτης/τελευταίας ÎµÎ¼Ï†Î¬Î½Î¹ÏƒÎ·Ï‚ Ï„ου ÏƒÏ„οιχείου ÏƒÏ„η Î»Î¯ÏƒÏ„α.  Î•Ï€Î¹ÏƒÏ„Ïέφει Ï„ιμή %1, Î±Î½ Ï„ο ÏƒÏ„οιχείο Î´ÎµÎ½ Î²Ïεθεί.",
+       "LISTS_GET_INDEX_GET": "πάÏε",
+       "LISTS_GET_INDEX_GET_REMOVE": "πάÏε ÎºÎ±Î¹ Î±Ï†Î±Î¯Ïεσε",
+       "LISTS_GET_INDEX_REMOVE": "αφαίÏεσε",
+       "LISTS_GET_INDEX_FROM_START": "#",
+       "LISTS_GET_INDEX_FROM_END": "# Î±Ï€ÏŒ Ï„ο Ï„έλος",
+       "LISTS_GET_INDEX_FIRST": "Ï€Ïώτο",
+       "LISTS_GET_INDEX_LAST": "τελευταίο",
+       "LISTS_GET_INDEX_RANDOM": "τυχαίο",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "Το %1 ÎµÎ¯Î½Î±Î¹ Ï„ο Ï€Ïώτο ÏƒÏ„οιχείο.",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "Το %1 ÎµÎ¯Î½Î±Î¹ Ï„ο Ï„ελευταίο ÏƒÏ„οιχείο.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "ΕπιστÏέφει Ï„ο ÏƒÏ„οιχείο ÏƒÏ„ην ÎºÎ±Î¸Î¿Ïισμένη Î¸Î­ÏƒÎ· ÏƒÎµ Î¼Î¹Î± Î»Î¯ÏƒÏ„α.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "ΕπιστÏέφει Ï„ο Ï€Ïώτο ÏƒÏ„οιχείο ÏƒÎµ Î¼Î¹Î± Î»Î¯ÏƒÏ„α.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "ΕπιστÏέφει Ï„ο Ï„ελευταίο ÏƒÏ„οιχείο ÏƒÎµ Î¼Î¹Î± Î»Î¯ÏƒÏ„α.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "ΕπιστÏέφει Î­Î½Î± Ï„υχαίο ÏƒÏ„οιχείο ÏƒÎµ Î¼Î¹Î± Î»Î¯ÏƒÏ„α.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "ΚαταÏγεί ÎºÎ±Î¹ ÎµÏ€Î¹ÏƒÏ„Ïέφει Ï„ο ÏƒÏ„οιχείο ÏƒÏ„ην ÎºÎ±Î¸Î¿Ïισμένη Î¸Î­ÏƒÎ· ÏƒÎµ Î¼Î¹Î± Î»Î¯ÏƒÏ„α.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "ΚαταÏγεί ÎºÎ±Î¹ ÎµÏ€Î¹ÏƒÏ„Ïέφει Ï„ο Ï€Ïώτο ÏƒÏ„οιχείο ÏƒÎµ Î¼Î¹Î± Î»Î¯ÏƒÏ„α.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "ΚαταÏγεί ÎºÎ±Î¹ ÎµÏ€Î¹ÏƒÏ„Ïέφει Ï„ο Ï„ελευταίο ÏƒÏ„οιχείο ÏƒÎµ Î¼Î¹Î± Î»Î¯ÏƒÏ„α.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "ΚαταÏγεί ÎºÎ±Î¹ ÎµÏ€Î¹ÏƒÏ„Ïέφει Î­Î½Î± Ï„υχαίο ÏƒÏ„οιχείο ÏƒÎµ Î¼Î¹Î± Î»Î¯ÏƒÏ„α.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "ΚαταÏγεί Ï„ο ÏƒÏ„οιχείο ÏƒÏ„ην ÎºÎ±Î¸Î¿Ïισμένη Î¸Î­ÏƒÎ· ÏƒÎµ Î¼Î¹Î± Î»Î¯ÏƒÏ„α.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "ΚαταÏγεί Ï„ο Ï€Ïώτο ÏƒÏ„οιχείο ÏƒÎµ Î¼Î¹Î± Î»Î¯ÏƒÏ„α.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "ΚαταÏγεί Ï„ο Ï„ελευταίο ÏƒÏ„οιχείο ÏƒÎµ Î¼Î¹Î± Î»Î¯ÏƒÏ„α.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "ΚαταÏγεί Î­Î½Î± Ï„υχαίο ÏƒÏ„οιχείο ÏƒÎµ Î¼Î¹Î± Î»Î¯ÏƒÏ„α.",
+       "LISTS_SET_INDEX_SET": "ÏŒÏισε",
+       "LISTS_SET_INDEX_INSERT": "είσαγε ÏƒÏ„ο",
+       "LISTS_SET_INDEX_INPUT_TO": "σε",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "ΟÏίζει Ï„ο ÏƒÏ„οιχείο ÏƒÏ„ην ÎºÎ±Î¸Î¿Ïισμένη Î¸Î­ÏƒÎ· ÏƒÎµ Î¼Î¹Î± Î»Î¯ÏƒÏ„α.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "ΟÏίζει Ï„ο Ï€Ïώτο ÏƒÏ„οιχείο ÏƒÎµ Î¼Î¹Î± Î»Î¯ÏƒÏ„α.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_LAST": "ΟÏίζει Ï„ο Ï„ελευταίο ÏƒÏ„οιχείο ÏƒÎµ Î¼Î¹Î± Î»Î¯ÏƒÏ„α.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "ΟÏίζει Î­Î½Î± Ï„υχαίο ÏƒÏ„οιχείο ÏƒÎµ Î¼Î¹Î± Î»Î¯ÏƒÏ„α.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "Εισάγει Ï„ο ÏƒÏ„οιχείο ÏƒÏ„ην ÎºÎ±Î¸Î¿Ïισμένη Î¸Î­ÏƒÎ· ÏƒÎµ Î¼Î¹Î± Î»Î¯ÏƒÏ„α.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "Εισάγει Ï„ο ÏƒÏ„οιχείο ÏƒÏ„ην Î±Ïχή Î¼Î¹Î±Ï‚ Î»Î¯ÏƒÏ„ας.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "Αναθέτει Ï„ο ÏƒÏ„οιχείο ÏƒÏ„ο Ï„έλος Î¼Î¹Î±Ï‚ Î»Î¯ÏƒÏ„ας.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "Εισάγει Ï„ο ÏƒÏ„οιχείο Ï„υχαία ÏƒÎµ Î¼Î¹Î± Î»Î¯ÏƒÏ„α.",
+       "LISTS_GET_SUBLIST_HELPURL": "Blockly",
+       "LISTS_GET_SUBLIST_START_FROM_START": "πάÏε Ï…πολίστα Î±Ï€ÏŒ #",
+       "LISTS_GET_SUBLIST_START_FROM_END": "πάÏε Ï…πολίστα Î±Ï€ÏŒ # Î±Ï€ÏŒ Ï„ο Ï„έλος",
+       "LISTS_GET_SUBLIST_START_FIRST": "πάÏε Ï…πολίστα Î±Ï€ÏŒ Ï„ην Î±Ïχή",
+       "LISTS_GET_SUBLIST_END_FROM_START": "έως #",
+       "LISTS_GET_SUBLIST_END_FROM_END": "έως # Î±Ï€ÏŒ Ï„ο Ï„έλος",
+       "LISTS_GET_SUBLIST_END_LAST": "έως Ï„ο Ï„ελευταίο",
+       "LISTS_GET_SUBLIST_TOOLTIP": "ΔημιουÏγεί Î­Î½Î± Î±Î½Ï„ίγÏαφο Ï„ου ÎºÎ±Î¸Î¿Ïισμένου Ï„μήματος Î¼Î¹Î±Ï‚ Î»Î¯ÏƒÏ„ας.",
+       "LISTS_SORT_HELPURL": "https://github.com/google/blockly/wiki/Lists#sorting-a-list",
+       "LISTS_SORT_TITLE": "επιλογή %1 %2 %3",
+       "LISTS_SORT_TOOLTIP": "Επιλέξετε Î­Î½Î± Î±Î½Ï„ίγÏαφο Ï„ης Î»Î¯ÏƒÏ„ας.",
+       "LISTS_SORT_ORDER_ASCENDING": "ΑÏξουσα",
+       "LISTS_SORT_ORDER_DESCENDING": "Φθίνουσα",
+       "LISTS_SORT_TYPE_NUMERIC": "αÏιθμητικό",
+       "LISTS_SORT_TYPE_TEXT": "Αλφαβητικά",
+       "LISTS_SORT_TYPE_IGNORECASE": "αλφαβητικά, Î±Î³Î½Î¿Î®ÏƒÏ„ε Ï„ο ÏƒÏ„οιχείο",
+       "LISTS_SPLIT_LIST_FROM_TEXT": "κάνετε Î»Î¯ÏƒÏ„α Î±Ï€ÏŒ Ï„ο ÎºÎµÎ¯Î¼ÎµÎ½Î¿",
+       "LISTS_SPLIT_TEXT_FROM_LIST": "κάνετε ÎºÎµÎ¯Î¼ÎµÎ½Î¿ Î±Ï€ÏŒ Ï„η Î»Î¯ÏƒÏ„α",
+       "LISTS_SPLIT_WITH_DELIMITER": "με Î´Î¹Î±Ï‡Ï‰Ïιστικό",
+       "LISTS_SPLIT_TOOLTIP_SPLIT": "ΔιαίÏεση Ï„ου ÎºÎµÎ¹Î¼Î­Î½Î¿Ï… ÏƒÎµ Î¼Î¹Î± Î»Î¯ÏƒÏ„α ÎºÎµÎ¹Î¼Î­Î½Ï‰Î½, Î¼Îµ ÏƒÏ€Î¬ÏƒÎ¹Î¼Î¿ ÏƒÎµ ÎºÎ¬Î¸Îµ Î´Î¹Î±Ï‡Ï‰Ïιστικό.",
+       "LISTS_SPLIT_TOOLTIP_JOIN": "Ενώστε Î¼Î¹Î± Î»Î¯ÏƒÏ„α ÎºÎµÎ¹Î¼Î­Î½Ï‰Î½ ÏƒÎµ Î­Î½Î± ÎºÎµÎ¯Î¼ÎµÎ½Î¿, Ï€Î¿Ï… Ï‡Ï‰Ïίζονται Î±Ï€ÏŒ Î­Î½Î± Î´Î¹Î±Ï‡Ï‰Ïιστικό.",
+       "LISTS_REVERSE_MESSAGE0": "ανάκληση %1",
+       "LISTS_REVERSE_TOOLTIP": "Α",
+       "VARIABLES_GET_TOOLTIP": "ΕπιστÏέφει Ï„ην Ï„ιμή Î±Ï…τής Ï„ης Î¼ÎµÏ„αβλητής.",
+       "VARIABLES_GET_CREATE_SET": "ΔημιοÏÏγησε Â«ÏŒÏισε %1»",
+       "VARIABLES_SET": "ÏŒÏισε %1 Î¼Î­Ï‡Ïι Ï„ο %2",
+       "VARIABLES_SET_TOOLTIP": "ΟÏίζει Î±Ï…τή Ï„η Î¼ÎµÏ„αβλητή Î½Î± ÎµÎ¯Î½Î±Î¹ Î¯ÏƒÎ· Î¼Îµ Ï„ην ÎµÎ¯ÏƒÎ¿Î´Î¿.",
+       "VARIABLES_SET_CREATE_GET": "ΔημιοÏÏγησε Â«Ï€Î¬Ïε %1»",
+       "PROCEDURES_DEFNORETURN_HELPURL": "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29",
+       "PROCEDURES_DEFNORETURN_TITLE": "στο",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "κάνε ÎºÎ¬Ï„ι",
+       "PROCEDURES_BEFORE_PARAMS": "με:",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "με:",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "ΔημιουÏγεί Î¼Î¹Î± ÏƒÏ…νάÏτηση Ï‡Ï‰Ïίς Î­Î¾Î¿Î´Î¿.",
+       "PROCEDURES_DEFNORETURN_COMMENT": "ΠεÏιγÏάψετε Î±Ï…τήν Ï„ην Î¹Î´Î¹ÏŒÏ„ητα..",
+       "PROCEDURES_DEFRETURN_HELPURL": "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29",
+       "PROCEDURES_DEFRETURN_RETURN": "επέστÏεψε",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "ΔημιουÏγεί Î¼Î¹Î± ÏƒÏ…νάÏτηση Î¼Îµ Î¼Î¹Î± Î­Î¾Î¿Î´Î¿.",
+       "PROCEDURES_ALLOW_STATEMENTS": "να ÎµÏ€Î¹Ï„Ïέπονται Î¿Î¹ Î´Î·Î»ÏŽÏƒÎµÎ¹Ï‚",
+       "PROCEDURES_DEF_DUPLICATE_WARNING": "ΠÏοειδοποίηση: Î‘υτή Î· ÏƒÏ…νάÏτηση Î­Ï‡ÎµÎ¹ Î´Î¹Ï€Î»ÏŒÏ„υπες Ï€Î±ÏαμέτÏους.",
+       "PROCEDURES_CALLNORETURN_HELPURL": "https://el.wikipedia.org/wiki/%CE%94%CE%B9%CE%B1%CE%B4%CE%B9%CE%BA%CE%B1%CF%83%CE%AF%CE%B1_%28%CF%85%CF%80%CE%BF%CE%BB%CE%BF%CE%B3%CE%B9%CF%83%CF%84%CE%AD%CF%82%29",
+       "PROCEDURES_CALLNORETURN_TOOLTIP": "Εκτελεί Ï„ην Î¿Ïισμένη Î±Ï€ÏŒ Ï„ον Ï‡Ïήστη ÏƒÏ…νάÏτηση Â«%1».",
+       "PROCEDURES_CALLRETURN_HELPURL": "https://el.wikipedia.org/wiki/%CE%94%CE%B9%CE%B1%CE%B4%CE%B9%CE%BA%CE%B1%CF%83%CE%AF%CE%B1_%28%CF%85%CF%80%CE%BF%CE%BB%CE%BF%CE%B3%CE%B9%CF%83%CF%84%CE%AD%CF%82%29",
+       "PROCEDURES_CALLRETURN_TOOLTIP": "Εκτελεί Ï„ην Î¿Ïισμένη Î±Ï€ÏŒ Ï„ον Ï‡Ïήστη ÏƒÏ…νάÏτηση Â«%1» ÎºÎ±Î¹ Ï‡Ïησιμοποίησε Ï„ην Î­Î¾Î¿Î´ÏŒ Ï„ης.",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "είσοδοι",
+       "PROCEDURES_MUTATORCONTAINER_TOOLTIP": "ΠÏοσθέτει, Î±Ï†Î±Î¹Ïεί Î® Î±Î½Î±Î´Î¹Î±Ï„άσσει ÎµÎ¹ÏƒÏŒÎ´Î¿Ï…Ï‚ ÏƒÎµ Î±Ï…τήν Ï„η Î»ÎµÎ¹Ï„ουÏγία",
+       "PROCEDURES_MUTATORARG_TITLE": "όνομα ÎµÎ¹ÏƒÏŒÎ´Î¿Ï…:",
+       "PROCEDURES_MUTATORARG_TOOLTIP": "ΠÏόσθεσε Î¼Î¹Î± ÎµÎ¯ÏƒÎ¿Î´Î¿Ï‚ ÏƒÏ„η ÏƒÏ…νάÏτηση",
+       "PROCEDURES_HIGHLIGHT_DEF": "Επισημάνετε Ï„ον Î¿Ïισμό ÏƒÏ…νάÏτησης",
+       "PROCEDURES_CREATE_DO": "ΔημιοÏÏγησε Â«%1»",
+       "PROCEDURES_IFRETURN_TOOLTIP": "Αν Î¼Î¹Î± Ï„ιμή ÎµÎ¯Î½Î±Î¹ Î±Î»Î·Î¸Î®Ï‚, Ï„ότε ÎµÏ€Î¹ÏƒÏ„Ïέφει Ï„η Î´ÎµÏτεÏη Ï„ιμή.",
+       "PROCEDURES_IFRETURN_WARNING": "ΠÏοειδοποίηση: Î‘Ï…Ï„ÏŒ Ï„ο Î¼Ï€Î»Î¿Îº Î¼Ï€Î¿Ïεί Î½Î± Ï‡Ïησιμοποιηθεί Î¼ÏŒÎ½Î¿ ÏƒÏ„ον Î¿Ïισμό Î¼Î¹Î±Ï‚ ÏƒÏ…νάÏτησης.",
+       "WORKSPACE_COMMENT_DEFAULT_TEXT": "Πείτε ÎºÎ¬Ï„ι..."
+}
diff --git a/js/msg/json/en-gb.json b/js/msg/json/en-gb.json
new file mode 100644 (file)
index 0000000..42ca12b
--- /dev/null
@@ -0,0 +1,224 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Andibing",
+                       "Codynguyen1116",
+                       "Shirayuki",
+                       "Aefgh39622"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "item",
+       "TODAY": "Today",
+       "DUPLICATE_BLOCK": "Duplicate",
+       "ADD_COMMENT": "Add Comment",
+       "REMOVE_COMMENT": "Remove Comment",
+       "EXTERNAL_INPUTS": "External Inputs",
+       "INLINE_INPUTS": "Inline Inputs",
+       "DELETE_BLOCK": "Delete Block",
+       "DELETE_X_BLOCKS": "Delete %1 Blocks",
+       "DELETE_ALL_BLOCKS": "Delete all %1 blocks?",
+       "CLEAN_UP": "Clean up Blocks",
+       "COLLAPSE_BLOCK": "Collapse Block",
+       "COLLAPSE_ALL": "Collapse Blocks",
+       "EXPAND_BLOCK": "Expand Block",
+       "EXPAND_ALL": "Expand Blocks",
+       "DISABLE_BLOCK": "Disable Block",
+       "ENABLE_BLOCK": "Enable Block",
+       "HELP": "Help",
+       "UNDO": "Undo",
+       "REDO": "Redo",
+       "CHANGE_VALUE_TITLE": "Change value:",
+       "RENAME_VARIABLE": "Rename variable...",
+       "RENAME_VARIABLE_TITLE": "Rename all '%1' variables to:",
+       "NEW_VARIABLE": "Create variable...",
+       "NEW_VARIABLE_TITLE": "New variable name:",
+       "VARIABLE_ALREADY_EXISTS": "A variable named '%1' already exists.",
+       "VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE": "A variable named '%1' already exists for another variable of type '%2'.",
+       "DELETE_VARIABLE_CONFIRMATION": "Delete %1 uses of the '%2' variable?",
+       "CANNOT_DELETE_VARIABLE_PROCEDURE": "Can't delete the variable '%1' because it's part of the definition of the function '%2'",
+       "DELETE_VARIABLE": "Delete the '%1' variable",
+       "COLOUR_PICKER_HELPURL": "https://en.wikipedia.org/wiki/Colour",
+       "COLOUR_PICKER_TOOLTIP": "Choose a colour from the palette.",
+       "COLOUR_RANDOM_TITLE": "random colour",
+       "COLOUR_RANDOM_TOOLTIP": "Choose a colour at random.",
+       "COLOUR_RGB_TITLE": "colour with",
+       "COLOUR_RGB_RED": "red",
+       "COLOUR_RGB_GREEN": "green",
+       "COLOUR_RGB_BLUE": "blue",
+       "COLOUR_RGB_TOOLTIP": "Create a colour with the specified amount of red, green, and blue.  All values must be between 0 and 100.",
+       "COLOUR_BLEND_TITLE": "blend",
+       "COLOUR_BLEND_COLOUR1": "colour 1",
+       "COLOUR_BLEND_COLOUR2": "colour 2",
+       "COLOUR_BLEND_RATIO": "ratio",
+       "COLOUR_BLEND_TOOLTIP": "Blends two colours together with a given ratio (0.0 - 1.0).",
+       "CONTROLS_REPEAT_HELPURL": "https://en.wikipedia.org/wiki/For_loop",
+       "CONTROLS_REPEAT_TITLE": "repeat %1 times",
+       "CONTROLS_REPEAT_INPUT_DO": "do",
+       "CONTROLS_REPEAT_TOOLTIP": "Do some statements several times.",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "repeat while",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "repeat until",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "While a value is true, then do some statements.",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "While a value is false, then do some statements.",
+       "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.",
+       "CONTROLS_FOR_TITLE": "count with %1 from %2 to %3 by %4",
+       "CONTROLS_FOREACH_TITLE": "for each item %1 in list %2",
+       "CONTROLS_FOREACH_TOOLTIP": "For each item in a list, set the variable '%1' to the item, and then do some statements.",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "break out of loop",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "continue with next iteration of loop",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "Break out of the containing loop.",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "Skip the rest of this loop, and continue with the next iteration.",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "Warning: This block may only be used within a loop.",
+       "CONTROLS_IF_TOOLTIP_1": "If a value is true, then do some statements.",
+       "CONTROLS_IF_TOOLTIP_2": "If a value is true, then do the first block of statements. Otherwise, do the second block of statements.",
+       "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.",
+       "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.",
+       "CONTROLS_IF_MSG_IF": "if",
+       "CONTROLS_IF_MSG_ELSEIF": "else if",
+       "CONTROLS_IF_MSG_ELSE": "else",
+       "CONTROLS_IF_IF_TOOLTIP": "Add, remove, or reorder sections to reconfigure this if block.",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "Add a condition to the if block.",
+       "CONTROLS_IF_ELSE_TOOLTIP": "Add a final, catch-all condition to the if block.",
+       "IOS_OK": "OK",
+       "IOS_CANCEL": "Cancel",
+       "IOS_ERROR": "Error",
+       "IOS_PROCEDURES_INPUTS": "INPUTS",
+       "IOS_PROCEDURES_ADD_INPUT": "+ Add Input",
+       "IOS_PROCEDURES_ALLOW_STATEMENTS": "Allow statements",
+       "IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR": "This function has duplicate inputs.",
+       "IOS_VARIABLES_ADD_VARIABLE": "+ Add Variable",
+       "IOS_VARIABLES_ADD_BUTTON": "Add",
+       "IOS_VARIABLES_RENAME_BUTTON": "Rename",
+       "IOS_VARIABLES_DELETE_BUTTON": "Delete",
+       "IOS_VARIABLES_VARIABLE_NAME": "Variable name",
+       "IOS_VARIABLES_EMPTY_NAME_ERROR": "You can't use an empty variable name.",
+       "LOGIC_COMPARE_HELPURL": "https://en.wikipedia.org/wiki/Inequality_(mathematics)",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "Return true if both inputs equal each other.",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "Return true if both inputs are not equal to each other.",
+       "LOGIC_COMPARE_TOOLTIP_LT": "Return true if the first input is smaller than the second input.",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "Return true if the first input is smaller than or equal to the second input.",
+       "LOGIC_COMPARE_TOOLTIP_GT": "Return true if the first input is greater than the second input.",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "Return true if the first input is greater than or equal to the second input.",
+       "LOGIC_OPERATION_TOOLTIP_AND": "Return true if both inputs are true.",
+       "LOGIC_OPERATION_AND": "and",
+       "LOGIC_OPERATION_TOOLTIP_OR": "Return true if at least one of the inputs is true.",
+       "LOGIC_OPERATION_OR": "or",
+       "LOGIC_NEGATE_TITLE": "not %1",
+       "LOGIC_NEGATE_TOOLTIP": "Returns true if the input is false. Returns false if the input is true.",
+       "LOGIC_BOOLEAN_TRUE": "true",
+       "LOGIC_BOOLEAN_FALSE": "false",
+       "LOGIC_BOOLEAN_TOOLTIP": "Returns either true or false.",
+       "LOGIC_NULL": "null",
+       "LOGIC_NULL_TOOLTIP": "Returns null.",
+       "LOGIC_TERNARY_CONDITION": "test",
+       "LOGIC_TERNARY_IF_TRUE": "if true",
+       "LOGIC_TERNARY_IF_FALSE": "if false",
+       "LOGIC_TERNARY_TOOLTIP": "Check the condition in 'test'. If the condition is true, returns the 'if true' value; otherwise returns the 'if false' value.",
+       "MATH_NUMBER_HELPURL": "https://en.wikipedia.org/wiki/Number",
+       "MATH_NUMBER_TOOLTIP": "A number.",
+       "MATH_ARITHMETIC_HELPURL": "https://en.wikipedia.org/wiki/Arithmetic",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "Return the sum of the two numbers.",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "Return the difference of the two numbers.",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "Return the product of the two numbers.",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "Return the quotient of the two numbers.",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "Return the first number raised to the power of the second number.",
+       "MATH_SINGLE_HELPURL": "https://en.wikipedia.org/wiki/Square_root",
+       "MATH_SINGLE_OP_ROOT": "square root",
+       "MATH_SINGLE_TOOLTIP_ROOT": "Return the square root of a number.",
+       "MATH_SINGLE_OP_ABSOLUTE": "absolute",
+       "MATH_SINGLE_TOOLTIP_ABS": "Return the absolute value of a number.",
+       "MATH_SINGLE_TOOLTIP_NEG": "Return the negation of a number.",
+       "MATH_SINGLE_TOOLTIP_LN": "Return the natural logarithm of a number.",
+       "MATH_SINGLE_TOOLTIP_LOG10": "Return the base 10 logarithm of a number.",
+       "MATH_SINGLE_TOOLTIP_EXP": "Return e to the power of a number.",
+       "MATH_SINGLE_TOOLTIP_POW10": "Return 10 to the power of a number.",
+       "MATH_TRIG_HELPURL": "https://en.wikipedia.org/wiki/Trigonometric_functions",
+       "MATH_TRIG_TOOLTIP_SIN": "Return the sine of a degree (not radian).",
+       "MATH_TRIG_TOOLTIP_COS": "Return the cosine of a degree (not radian).",
+       "MATH_TRIG_TOOLTIP_TAN": "Return the tangent of a degree (not radian).",
+       "MATH_TRIG_TOOLTIP_ASIN": "Return the arcsine of a number.",
+       "MATH_TRIG_TOOLTIP_ACOS": "Return the arccosine of a number.",
+       "MATH_TRIG_TOOLTIP_ATAN": "Return the arctangent of a number.",
+       "MATH_CONSTANT_HELPURL": "https://en.wikipedia.org/wiki/Mathematical_constant",
+       "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).",
+       "MATH_IS_EVEN": "is even",
+       "MATH_IS_ODD": "is odd",
+       "MATH_IS_PRIME": "is prime",
+       "MATH_IS_WHOLE": "is whole",
+       "MATH_IS_POSITIVE": "is positive",
+       "MATH_IS_NEGATIVE": "is negative",
+       "MATH_IS_DIVISIBLE_BY": "is divisible by",
+       "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.",
+       "MATH_CHANGE_HELPURL": "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter",
+       "MATH_CHANGE_TITLE": "change %1 by %2",
+       "MATH_CHANGE_TOOLTIP": "Add a number to variable '%1'.",
+       "MATH_ROUND_HELPURL": "https://en.wikipedia.org/wiki/Rounding",
+       "MATH_ROUND_TOOLTIP": "Round a number up or down.",
+       "MATH_ROUND_OPERATOR_ROUND": "round",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "round up",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "round down",
+       "MATH_ONLIST_OPERATOR_SUM": "sum of list",
+       "MATH_ONLIST_TOOLTIP_SUM": "Return the sum of all the numbers in the list.",
+       "MATH_ONLIST_OPERATOR_MIN": "min of list",
+       "MATH_ONLIST_TOOLTIP_MIN": "Return the smallest number in the list.",
+       "MATH_ONLIST_OPERATOR_MAX": "max of list",
+       "MATH_ONLIST_TOOLTIP_MAX": "Return the largest number in the list.",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "average of list",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "Return the average (arithmetic mean) of the numeric values in the list.",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "median of list",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "Return the median number in the list.",
+       "MATH_ONLIST_OPERATOR_MODE": "modes of list",
+       "MATH_ONLIST_TOOLTIP_MODE": "Return a list of the most common item(s) in the list.",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "standard deviation of list",
+       "MATH_ONLIST_TOOLTIP_STD_DEV": "Return the standard deviation of the list.",
+       "MATH_ONLIST_OPERATOR_RANDOM": "random item of list",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "Return a random element from the list.",
+       "MATH_MODULO_HELPURL": "https://en.wikipedia.org/wiki/Modulo_operation",
+       "MATH_MODULO_TITLE": "remainder of %1 ÷ %2",
+       "MATH_MODULO_TOOLTIP": "Return the remainder from dividing the two numbers.",
+       "MATH_CONSTRAIN_TITLE": "constrain %1 low %2 high %3",
+       "MATH_CONSTRAIN_TOOLTIP": "Constrain a number to be between the specified limits (inclusive).",
+       "MATH_RANDOM_INT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_INT_TITLE": "random integer from %1 to %2",
+       "MATH_RANDOM_INT_TOOLTIP": "Return a random integer between the two specified limits, inclusive.",
+       "MATH_RANDOM_FLOAT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "random fraction",
+       "MATH_RANDOM_FLOAT_TOOLTIP": "Return a random fraction between 0.0 (inclusive) and 1.0 (exclusive).",
+       "TEXT_TEXT_HELPURL": "https://en.wikipedia.org/wiki/String_(computer_science)",
+       "TEXT_TEXT_TOOLTIP": "A letter, word, or line of text.",
+       "TEXT_JOIN_TITLE_CREATEWITH": "create text with",
+       "TEXT_JOIN_TOOLTIP": "Create a piece of text by joining together any number of items.",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "join",
+       "TEXT_CREATE_JOIN_TOOLTIP": "Add, remove, or reorder sections to reconfigure this text block.",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "Add an item to the text.",
+       "TEXT_APPEND_TITLE": "to %1 append text %2",
+       "TEXT_APPEND_TOOLTIP": "Append some text to variable '%1'.",
+       "TEXT_LENGTH_TITLE": "length of %1",
+       "TEXT_LENGTH_TOOLTIP": "Returns the number of letters (including spaces) in the provided text.",
+       "TEXT_ISEMPTY_TITLE": "%1 is empty",
+       "TEXT_ISEMPTY_TOOLTIP": "Returns true if the provided text is empty.",
+       "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.",
+       "TEXT_INDEXOF_TITLE": "in text %1 %2 %3",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "find first occurrence of text",
+       "TEXT_INDEXOF_OPERATOR_LAST": "find last occurrence of text",
+       "TEXT_CHARAT_TITLE": "in text %1 %2",
+       "TEXT_CHARAT_FROM_START": "get letter #",
+       "TEXT_CHARAT_FROM_END": "get letter # from end",
+       "TEXT_CHARAT_FIRST": "get first letter",
+       "TEXT_CHARAT_LAST": "get last letter",
+       "TEXT_CHARAT_RANDOM": "get random letter",
+       "TEXT_CHARAT_TOOLTIP": "Returns the letter at the specified position.",
+       "TEXT_GET_SUBSTRING_TOOLTIP": "Returns a specified portion of the text.",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "in text",
+       "TEXT_GET_SUBSTRING_START_FROM_START": "get substring from letter #",
+       "TEXT_GET_SUBSTRING_START_FROM_END": "get substring from letter # from end",
+       "TEXT_GET_SUBSTRING_START_FIRST": "get substring from first letter",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "to letter #",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "to letter # from end",
+       "TEXT_GET_SUBSTRING_END_LAST": "to last letter",
+       "TEXT_CHANGECASE_TOOLTIP": "Return a copy of the text in a different case.",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "to UPPER CASE",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "to lower case",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": "to Title Case",
+       "TEXT_TRIM_TOOLTIP": "Return a copy of the text with spaces removed from one or both ends.",
+       "LISTS_SORT_ORDER_DESCENDING": "descendente"
+}
diff --git a/js/msg/json/en.json b/js/msg/json/en.json
new file mode 100644 (file)
index 0000000..a486483
--- /dev/null
@@ -0,0 +1,402 @@
+{
+       "@metadata": {
+               "author": "Ellen Spertus <ellen.spertus@gmail.com>",
+               "lastupdated": "2018-04-20 16:47:32.097975",
+               "locale": "en",
+               "messagedocumentation" : "qqq"
+       },
+       "VARIABLES_DEFAULT_NAME": "item",
+       "TODAY": "Today",
+       "DUPLICATE_BLOCK": "Duplicate",
+       "ADD_COMMENT": "Add Comment",
+       "REMOVE_COMMENT": "Remove Comment",
+       "DUPLICATE_COMMENT": "Duplicate Comment",
+       "EXTERNAL_INPUTS": "External Inputs",
+       "INLINE_INPUTS": "Inline Inputs",
+       "DELETE_BLOCK": "Delete Block",
+       "DELETE_X_BLOCKS": "Delete %1 Blocks",
+       "DELETE_ALL_BLOCKS": "Delete all %1 blocks?",
+       "CLEAN_UP": "Clean up Blocks",
+       "COLLAPSE_BLOCK": "Collapse Block",
+       "COLLAPSE_ALL": "Collapse Blocks",
+       "EXPAND_BLOCK": "Expand Block",
+       "EXPAND_ALL": "Expand Blocks",
+       "DISABLE_BLOCK": "Disable Block",
+       "ENABLE_BLOCK": "Enable Block",
+       "HELP": "Help",
+       "UNDO": "Undo",
+       "REDO": "Redo",
+       "CHANGE_VALUE_TITLE": "Change value:",
+       "RENAME_VARIABLE": "Rename variable...",
+       "RENAME_VARIABLE_TITLE": "Rename all '%1' variables to:",
+       "NEW_VARIABLE": "Create variable...",
+       "NEW_STRING_VARIABLE": "Create string variable...",
+       "NEW_NUMBER_VARIABLE": "Create number variable...",
+       "NEW_COLOUR_VARIABLE": "Create colour variable...",
+       "NEW_VARIABLE_TYPE_TITLE": "New variable type:",
+       "NEW_VARIABLE_TITLE": "New variable name:",
+       "VARIABLE_ALREADY_EXISTS": "A variable named '%1' already exists.",
+       "VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE": "A variable named '%1' already exists for another type: '%2'.",
+       "DELETE_VARIABLE_CONFIRMATION": "Delete %1 uses of the '%2' variable?",
+       "CANNOT_DELETE_VARIABLE_PROCEDURE": "Can't delete the variable '%1' because it's part of the definition of the function '%2'",
+       "DELETE_VARIABLE": "Delete the '%1' variable",
+       "COLOUR_PICKER_HELPURL": "https://en.wikipedia.org/wiki/Color",
+       "COLOUR_PICKER_TOOLTIP": "Choose a colour from the palette.",
+       "COLOUR_RANDOM_HELPURL": "http://randomcolour.com",
+       "COLOUR_RANDOM_TITLE": "random colour",
+       "COLOUR_RANDOM_TOOLTIP": "Choose a colour at random.",
+       "COLOUR_RGB_HELPURL": "http://www.december.com/html/spec/colorper.html",
+       "COLOUR_RGB_TITLE": "colour with",
+       "COLOUR_RGB_RED": "red",
+       "COLOUR_RGB_GREEN": "green",
+       "COLOUR_RGB_BLUE": "blue",
+       "COLOUR_RGB_TOOLTIP": "Create a colour with the specified amount of red, green, and blue. All values must be between 0 and 100.",
+       "COLOUR_BLEND_HELPURL": "http://meyerweb.com/eric/tools/color-blend/",
+       "COLOUR_BLEND_TITLE": "blend",
+       "COLOUR_BLEND_COLOUR1": "colour 1",
+       "COLOUR_BLEND_COLOUR2": "colour 2",
+       "COLOUR_BLEND_RATIO": "ratio",
+       "COLOUR_BLEND_TOOLTIP": "Blends two colours together with a given ratio (0.0 - 1.0).",
+       "CONTROLS_REPEAT_HELPURL": "https://en.wikipedia.org/wiki/For_loop",
+       "CONTROLS_REPEAT_TITLE": "repeat %1 times",
+       "CONTROLS_REPEAT_INPUT_DO": "do",
+       "CONTROLS_REPEAT_TOOLTIP": "Do some statements several times.",
+       "CONTROLS_WHILEUNTIL_HELPURL": "https://github.com/google/blockly/wiki/Loops#repeat",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "repeat while",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "repeat until",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "While a value is true, then do some statements.",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "While a value is false, then do some statements.",
+       "CONTROLS_FOR_HELPURL": "https://github.com/google/blockly/wiki/Loops#count-with",
+       "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.",
+       "CONTROLS_FOR_TITLE": "count with %1 from %2 to %3 by %4",
+       "CONTROLS_FOREACH_HELPURL": "https://github.com/google/blockly/wiki/Loops#for-each",
+       "CONTROLS_FOREACH_TITLE": "for each item %1 in list %2",
+       "CONTROLS_FOREACH_TOOLTIP": "For each item in a list, set the variable '%1' to the item, and then do some statements.",
+       "CONTROLS_FLOW_STATEMENTS_HELPURL": "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "break out of loop",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "continue with next iteration of loop",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "Break out of the containing loop.",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "Skip the rest of this loop, and continue with the next iteration.",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "Warning: This block may only be used within a loop.",
+       "CONTROLS_IF_HELPURL": "https://github.com/google/blockly/wiki/IfElse",
+       "CONTROLS_IF_TOOLTIP_1": "If a value is true, then do some statements.",
+       "CONTROLS_IF_TOOLTIP_2": "If a value is true, then do the first block of statements. Otherwise, do the second block of statements.",
+       "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.",
+       "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.",
+       "CONTROLS_IF_MSG_IF": "if",
+       "CONTROLS_IF_MSG_ELSEIF": "else if",
+       "CONTROLS_IF_MSG_ELSE": "else",
+       "CONTROLS_IF_IF_TOOLTIP": "Add, remove, or reorder sections to reconfigure this if block.",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "Add a condition to the if block.",
+       "CONTROLS_IF_ELSE_TOOLTIP": "Add a final, catch-all condition to the if block.",
+       "IOS_OK": "OK",
+       "IOS_CANCEL": "Cancel",
+       "IOS_ERROR": "Error",
+       "IOS_PROCEDURES_INPUTS": "INPUTS",
+       "IOS_PROCEDURES_ADD_INPUT": "+ Add Input",
+       "IOS_PROCEDURES_ALLOW_STATEMENTS": "Allow statements",
+       "IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR": "This function has duplicate inputs.",
+       "IOS_VARIABLES_ADD_VARIABLE": "+ Add Variable",
+       "IOS_VARIABLES_ADD_BUTTON": "Add",
+       "IOS_VARIABLES_RENAME_BUTTON": "Rename",
+       "IOS_VARIABLES_DELETE_BUTTON": "Delete",
+       "IOS_VARIABLES_VARIABLE_NAME": "Variable name",
+       "IOS_VARIABLES_EMPTY_NAME_ERROR": "You can't use an empty variable name.",
+       "LOGIC_COMPARE_HELPURL": "https://en.wikipedia.org/wiki/Inequality_(mathematics)",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "Return true if both inputs equal each other.",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "Return true if both inputs are not equal to each other.",
+       "LOGIC_COMPARE_TOOLTIP_LT": "Return true if the first input is smaller than the second input.",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "Return true if the first input is smaller than or equal to the second input.",
+       "LOGIC_COMPARE_TOOLTIP_GT": "Return true if the first input is greater than the second input.",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "Return true if the first input is greater than or equal to the second input.",
+       "LOGIC_OPERATION_HELPURL": "https://github.com/google/blockly/wiki/Logic#logical-operations",
+       "LOGIC_OPERATION_TOOLTIP_AND": "Return true if both inputs are true.",
+       "LOGIC_OPERATION_AND": "and",
+       "LOGIC_OPERATION_TOOLTIP_OR": "Return true if at least one of the inputs is true.",
+       "LOGIC_OPERATION_OR": "or",
+       "LOGIC_NEGATE_HELPURL": "https://github.com/google/blockly/wiki/Logic#not",
+       "LOGIC_NEGATE_TITLE": "not %1",
+       "LOGIC_NEGATE_TOOLTIP": "Returns true if the input is false. Returns false if the input is true.",
+       "LOGIC_BOOLEAN_HELPURL": "https://github.com/google/blockly/wiki/Logic#values",
+       "LOGIC_BOOLEAN_TRUE": "true",
+       "LOGIC_BOOLEAN_FALSE": "false",
+       "LOGIC_BOOLEAN_TOOLTIP": "Returns either true or false.",
+       "LOGIC_NULL_HELPURL": "https://en.wikipedia.org/wiki/Nullable_type",
+       "LOGIC_NULL": "null",
+       "LOGIC_NULL_TOOLTIP": "Returns null.",
+       "LOGIC_TERNARY_HELPURL": "https://en.wikipedia.org/wiki/%3F:",
+       "LOGIC_TERNARY_CONDITION": "test",
+       "LOGIC_TERNARY_IF_TRUE": "if true",
+       "LOGIC_TERNARY_IF_FALSE": "if false",
+       "LOGIC_TERNARY_TOOLTIP": "Check the condition in 'test'. If the condition is true, returns the 'if true' value; otherwise returns the 'if false' value.",
+       "MATH_NUMBER_HELPURL": "https://en.wikipedia.org/wiki/Number",
+       "MATH_NUMBER_TOOLTIP": "A number.",
+       "MATH_ADDITION_SYMBOL": "+",
+       "MATH_SUBTRACTION_SYMBOL": "-",
+       "MATH_DIVISION_SYMBOL": "÷",
+       "MATH_MULTIPLICATION_SYMBOL": "×",
+       "MATH_POWER_SYMBOL": "^",
+       "MATH_TRIG_SIN": "sin",
+       "MATH_TRIG_COS": "cos",
+       "MATH_TRIG_TAN": "tan",
+       "MATH_TRIG_ASIN": "asin",
+       "MATH_TRIG_ACOS": "acos",
+       "MATH_TRIG_ATAN": "atan",
+       "MATH_ARITHMETIC_HELPURL": "https://en.wikipedia.org/wiki/Arithmetic",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "Return the sum of the two numbers.",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "Return the difference of the two numbers.",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "Return the product of the two numbers.",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "Return the quotient of the two numbers.",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "Return the first number raised to the power of the second number.",
+       "MATH_SINGLE_HELPURL": "https://en.wikipedia.org/wiki/Square_root",
+       "MATH_SINGLE_OP_ROOT": "square root",
+       "MATH_SINGLE_TOOLTIP_ROOT": "Return the square root of a number.",
+       "MATH_SINGLE_OP_ABSOLUTE": "absolute",
+       "MATH_SINGLE_TOOLTIP_ABS": "Return the absolute value of a number.",
+       "MATH_SINGLE_TOOLTIP_NEG": "Return the negation of a number.",
+       "MATH_SINGLE_TOOLTIP_LN": "Return the natural logarithm of a number.",
+       "MATH_SINGLE_TOOLTIP_LOG10": "Return the base 10 logarithm of a number.",
+       "MATH_SINGLE_TOOLTIP_EXP": "Return e to the power of a number.",
+       "MATH_SINGLE_TOOLTIP_POW10": "Return 10 to the power of a number.",
+       "MATH_TRIG_HELPURL": "https://en.wikipedia.org/wiki/Trigonometric_functions",
+       "MATH_TRIG_TOOLTIP_SIN": "Return the sine of a degree (not radian).",
+       "MATH_TRIG_TOOLTIP_COS": "Return the cosine of a degree (not radian).",
+       "MATH_TRIG_TOOLTIP_TAN": "Return the tangent of a degree (not radian).",
+       "MATH_TRIG_TOOLTIP_ASIN": "Return the arcsine of a number.",
+       "MATH_TRIG_TOOLTIP_ACOS": "Return the arccosine of a number.",
+       "MATH_TRIG_TOOLTIP_ATAN": "Return the arctangent of a number.",
+       "MATH_CONSTANT_HELPURL": "https://en.wikipedia.org/wiki/Mathematical_constant",
+       "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).",
+       "MATH_IS_EVEN": "is even",
+       "MATH_IS_ODD": "is odd",
+       "MATH_IS_PRIME": "is prime",
+       "MATH_IS_WHOLE": "is whole",
+       "MATH_IS_POSITIVE": "is positive",
+       "MATH_IS_NEGATIVE": "is negative",
+       "MATH_IS_DIVISIBLE_BY": "is divisible by",
+       "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.",
+       "MATH_CHANGE_HELPURL": "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter",
+       "MATH_CHANGE_TITLE": "change %1 by %2",
+       "MATH_CHANGE_TOOLTIP": "Add a number to variable '%1'.",
+       "MATH_ROUND_HELPURL": "https://en.wikipedia.org/wiki/Rounding",
+       "MATH_ROUND_TOOLTIP": "Round a number up or down.",
+       "MATH_ROUND_OPERATOR_ROUND": "round",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "round up",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "round down",
+       "MATH_ONLIST_HELPURL": "",
+       "MATH_ONLIST_OPERATOR_SUM": "sum of list",
+       "MATH_ONLIST_TOOLTIP_SUM": "Return the sum of all the numbers in the list.",
+       "MATH_ONLIST_OPERATOR_MIN": "min of list",
+       "MATH_ONLIST_TOOLTIP_MIN": "Return the smallest number in the list.",
+       "MATH_ONLIST_OPERATOR_MAX": "max of list",
+       "MATH_ONLIST_TOOLTIP_MAX": "Return the largest number in the list.",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "average of list",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "Return the average (arithmetic mean) of the numeric values in the list.",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "median of list",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "Return the median number in the list.",
+       "MATH_ONLIST_OPERATOR_MODE": "modes of list",
+       "MATH_ONLIST_TOOLTIP_MODE": "Return a list of the most common item(s) in the list.",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "standard deviation of list",
+       "MATH_ONLIST_TOOLTIP_STD_DEV": "Return the standard deviation of the list.",
+       "MATH_ONLIST_OPERATOR_RANDOM": "random item of list",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "Return a random element from the list.",
+       "MATH_MODULO_HELPURL": "https://en.wikipedia.org/wiki/Modulo_operation",
+       "MATH_MODULO_TITLE": "remainder of %1 ÷ %2",
+       "MATH_MODULO_TOOLTIP": "Return the remainder from dividing the two numbers.",
+       "MATH_CONSTRAIN_HELPURL": "https://en.wikipedia.org/wiki/Clamping_(graphics)",
+       "MATH_CONSTRAIN_TITLE": "constrain %1 low %2 high %3",
+       "MATH_CONSTRAIN_TOOLTIP": "Constrain a number to be between the specified limits (inclusive).",
+       "MATH_RANDOM_INT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_INT_TITLE": "random integer from %1 to %2",
+       "MATH_RANDOM_INT_TOOLTIP": "Return a random integer between the two specified limits, inclusive.",
+       "MATH_RANDOM_FLOAT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "random fraction",
+       "MATH_RANDOM_FLOAT_TOOLTIP": "Return a random fraction between 0.0 (inclusive) and 1.0 (exclusive).",
+       "TEXT_TEXT_HELPURL": "https://en.wikipedia.org/wiki/String_(computer_science)",
+       "TEXT_TEXT_TOOLTIP": "A letter, word, or line of text.",
+       "TEXT_JOIN_HELPURL": "https://github.com/google/blockly/wiki/Text#text-creation",
+       "TEXT_JOIN_TITLE_CREATEWITH": "create text with",
+       "TEXT_JOIN_TOOLTIP": "Create a piece of text by joining together any number of items.",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "join",
+       "TEXT_CREATE_JOIN_TOOLTIP": "Add, remove, or reorder sections to reconfigure this text block.",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "Add an item to the text.",
+       "TEXT_APPEND_HELPURL": "https://github.com/google/blockly/wiki/Text#text-modification",
+       "TEXT_APPEND_TITLE": "to %1 append text %2",
+       "TEXT_APPEND_TOOLTIP": "Append some text to variable '%1'.",
+       "TEXT_LENGTH_HELPURL": "https://github.com/google/blockly/wiki/Text#text-modification",
+       "TEXT_LENGTH_TITLE": "length of %1",
+       "TEXT_LENGTH_TOOLTIP": "Returns the number of letters (including spaces) in the provided text.",
+       "TEXT_ISEMPTY_HELPURL": "https://github.com/google/blockly/wiki/Text#checking-for-empty-text",
+       "TEXT_ISEMPTY_TITLE": "%1 is empty",
+       "TEXT_ISEMPTY_TOOLTIP": "Returns true if the provided text is empty.",
+       "TEXT_INDEXOF_HELPURL": "https://github.com/google/blockly/wiki/Text#finding-text",
+       "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.",
+       "TEXT_INDEXOF_TITLE": "in text %1 %2 %3",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "find first occurrence of text",
+       "TEXT_INDEXOF_OPERATOR_LAST": "find last occurrence of text",
+       "TEXT_CHARAT_HELPURL": "https://github.com/google/blockly/wiki/Text#extracting-text",
+       "TEXT_CHARAT_TITLE": "in text %1 %2",
+       "TEXT_CHARAT_FROM_START": "get letter #",
+       "TEXT_CHARAT_FROM_END": "get letter # from end",
+       "TEXT_CHARAT_FIRST": "get first letter",
+       "TEXT_CHARAT_LAST": "get last letter",
+       "TEXT_CHARAT_RANDOM": "get random letter",
+       "TEXT_CHARAT_TAIL": "",
+       "TEXT_CHARAT_TOOLTIP": "Returns the letter at the specified position.",
+       "TEXT_GET_SUBSTRING_TOOLTIP": "Returns a specified portion of the text.",
+       "TEXT_GET_SUBSTRING_HELPURL": "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "in text",
+       "TEXT_GET_SUBSTRING_START_FROM_START": "get substring from letter #",
+       "TEXT_GET_SUBSTRING_START_FROM_END": "get substring from letter # from end",
+       "TEXT_GET_SUBSTRING_START_FIRST": "get substring from first letter",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "to letter #",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "to letter # from end",
+       "TEXT_GET_SUBSTRING_END_LAST": "to last letter",
+       "TEXT_GET_SUBSTRING_TAIL": "",
+       "TEXT_CHANGECASE_HELPURL": "https://github.com/google/blockly/wiki/Text#adjusting-text-case",
+       "TEXT_CHANGECASE_TOOLTIP": "Return a copy of the text in a different case.",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "to UPPER CASE",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "to lower case",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": "to Title Case",
+       "TEXT_TRIM_HELPURL": "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces",
+       "TEXT_TRIM_TOOLTIP": "Return a copy of the text with spaces removed from one or both ends.",
+       "TEXT_TRIM_OPERATOR_BOTH": "trim spaces from both sides of",
+       "TEXT_TRIM_OPERATOR_LEFT": "trim spaces from left side of",
+       "TEXT_TRIM_OPERATOR_RIGHT": "trim spaces from right side of",
+       "TEXT_PRINT_HELPURL": "https://github.com/google/blockly/wiki/Text#printing-text",
+       "TEXT_PRINT_TITLE": "print %1",
+       "TEXT_PRINT_TOOLTIP": "Print the specified text, number or other value.",
+       "TEXT_PROMPT_HELPURL": "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user",
+       "TEXT_PROMPT_TYPE_TEXT": "prompt for text with message",
+       "TEXT_PROMPT_TYPE_NUMBER": "prompt for number with message",
+       "TEXT_PROMPT_TOOLTIP_NUMBER": "Prompt for user for a number.",
+       "TEXT_PROMPT_TOOLTIP_TEXT": "Prompt for user for some text.",
+       "TEXT_COUNT_MESSAGE0": "count %1 in %2",
+       "TEXT_COUNT_HELPURL": "https://github.com/google/blockly/wiki/Text#counting-substrings",
+       "TEXT_COUNT_TOOLTIP": "Count how many times some text occurs within some other text.",
+       "TEXT_REPLACE_MESSAGE0": "replace %1 with %2 in %3",
+       "TEXT_REPLACE_HELPURL": "https://github.com/google/blockly/wiki/Text#replacing-substrings",
+       "TEXT_REPLACE_TOOLTIP": "Replace all occurances of some text within some other text.",
+       "TEXT_REVERSE_MESSAGE0": "reverse %1",
+       "TEXT_REVERSE_HELPURL": "https://github.com/google/blockly/wiki/Text#reversing-text",
+       "TEXT_REVERSE_TOOLTIP": "Reverses the order of the characters in the text.",
+       "LISTS_CREATE_EMPTY_HELPURL": "https://github.com/google/blockly/wiki/Lists#create-empty-list",
+       "LISTS_CREATE_EMPTY_TITLE": "create empty list",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "Returns a list, of length 0, containing no data records",
+       "LISTS_CREATE_WITH_HELPURL": "https://github.com/google/blockly/wiki/Lists#create-list-with",
+       "LISTS_CREATE_WITH_TOOLTIP": "Create a list with any number of items.",
+       "LISTS_CREATE_WITH_INPUT_WITH": "create list with",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "list",
+       "LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "Add, remove, or reorder sections to reconfigure this list block.",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "Add an item to the list.",
+       "LISTS_REPEAT_HELPURL": "https://github.com/google/blockly/wiki/Lists#create-list-with",
+       "LISTS_REPEAT_TOOLTIP": "Creates a list consisting of the given value repeated the specified number of times.",
+       "LISTS_REPEAT_TITLE": "create list with item %1 repeated %2 times",
+       "LISTS_LENGTH_HELPURL": "https://github.com/google/blockly/wiki/Lists#length-of",
+       "LISTS_LENGTH_TITLE": "length of %1",
+       "LISTS_LENGTH_TOOLTIP": "Returns the length of a list.",
+       "LISTS_ISEMPTY_HELPURL": "https://github.com/google/blockly/wiki/Lists#is-empty",
+       "LISTS_ISEMPTY_TITLE": "%1 is empty",
+       "LISTS_ISEMPTY_TOOLTIP": "Returns true if the list is empty.",
+       "LISTS_INLIST": "in list",
+       "LISTS_INDEX_OF_HELPURL": "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list",
+       "LISTS_INDEX_OF_FIRST": "find first occurrence of item",
+       "LISTS_INDEX_OF_LAST": "find last occurrence of item",
+       "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.",
+       "LISTS_GET_INDEX_GET": "get",
+       "LISTS_GET_INDEX_GET_REMOVE": "get and remove",
+       "LISTS_GET_INDEX_REMOVE": "remove",
+       "LISTS_GET_INDEX_FROM_START": "#",
+       "LISTS_GET_INDEX_FROM_END": "# from end",
+       "LISTS_GET_INDEX_FIRST": "first",
+       "LISTS_GET_INDEX_LAST": "last",
+       "LISTS_GET_INDEX_RANDOM": "random",
+       "LISTS_GET_INDEX_TAIL": "",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "%1 is the first item.",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "%1 is the last item.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "Returns the item at the specified position in a list.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "Returns the first item in a list.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "Returns the last item in a list.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "Returns a random item in a list.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "Removes and returns the item at the specified position in a list.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "Removes and returns the first item in a list.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "Removes and returns the last item in a list.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "Removes and returns a random item in a list.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "Removes the item at the specified position in a list.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "Removes the first item in a list.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "Removes the last item in a list.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "Removes a random item in a list.",
+       "LISTS_SET_INDEX_HELPURL": "https://github.com/google/blockly/wiki/Lists#in-list--set",
+       "LISTS_SET_INDEX_SET": "set",
+       "LISTS_SET_INDEX_INSERT": "insert at",
+       "LISTS_SET_INDEX_INPUT_TO": "as",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "Sets the item at the specified position in a list.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "Sets the first item in a list.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_LAST": "Sets the last item in a list.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "Sets a random item in a list.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "Inserts the item at the specified position in a list.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "Inserts the item at the start of a list.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "Append the item to the end of a list.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "Inserts the item randomly in a list.",
+       "LISTS_GET_SUBLIST_HELPURL": "https://github.com/google/blockly/wiki/Lists#getting-a-sublist",
+       "LISTS_GET_SUBLIST_START_FROM_START": "get sub-list from #",
+       "LISTS_GET_SUBLIST_START_FROM_END": "get sub-list from # from end",
+       "LISTS_GET_SUBLIST_START_FIRST": "get sub-list from first",
+       "LISTS_GET_SUBLIST_END_FROM_START": "to #",
+       "LISTS_GET_SUBLIST_END_FROM_END": "to # from end",
+       "LISTS_GET_SUBLIST_END_LAST": "to last",
+       "LISTS_GET_SUBLIST_TAIL": "",
+       "LISTS_GET_SUBLIST_TOOLTIP": "Creates a copy of the specified portion of a list.",
+       "LISTS_SORT_HELPURL": "https://github.com/google/blockly/wiki/Lists#sorting-a-list",
+       "LISTS_SORT_TITLE": "sort %1 %2 %3",
+       "LISTS_SORT_TOOLTIP": "Sort a copy of a list.",
+       "LISTS_SORT_ORDER_ASCENDING": "ascending",
+       "LISTS_SORT_ORDER_DESCENDING": "descending",
+       "LISTS_SORT_TYPE_NUMERIC": "numeric",
+       "LISTS_SORT_TYPE_TEXT": "alphabetic",
+       "LISTS_SORT_TYPE_IGNORECASE": "alphabetic, ignore case",
+       "LISTS_SPLIT_HELPURL": "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists",
+       "LISTS_SPLIT_LIST_FROM_TEXT": "make list from text",
+       "LISTS_SPLIT_TEXT_FROM_LIST": "make text from list",
+       "LISTS_SPLIT_WITH_DELIMITER": "with delimiter",
+       "LISTS_SPLIT_TOOLTIP_SPLIT": "Split text into a list of texts, breaking at each delimiter.",
+       "LISTS_SPLIT_TOOLTIP_JOIN": "Join a list of texts into one text, separated by a delimiter.",
+       "LISTS_REVERSE_HELPURL": "https://github.com/google/blockly/wiki/Lists#reversing-a-list",
+       "LISTS_REVERSE_MESSAGE0": "reverse %1",
+       "LISTS_REVERSE_TOOLTIP": "Reverse a copy of a list.",
+       "ORDINAL_NUMBER_SUFFIX": "",
+       "VARIABLES_GET_HELPURL": "https://github.com/google/blockly/wiki/Variables#get",
+       "VARIABLES_GET_TOOLTIP": "Returns the value of this variable.",
+       "VARIABLES_GET_CREATE_SET": "Create 'set %1'",
+       "VARIABLES_SET_HELPURL": "https://github.com/google/blockly/wiki/Variables#set",
+       "VARIABLES_SET": "set %1 to %2",
+       "VARIABLES_SET_TOOLTIP": "Sets this variable to be equal to the input.",
+       "VARIABLES_SET_CREATE_GET": "Create 'get %1'",
+       "PROCEDURES_DEFNORETURN_HELPURL": "https://en.wikipedia.org/wiki/Subroutine",
+       "PROCEDURES_DEFNORETURN_TITLE": "to",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "do something",
+       "PROCEDURES_BEFORE_PARAMS": "with:",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "with:",
+       "PROCEDURES_DEFNORETURN_DO": "",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "Creates a function with no output.",
+       "PROCEDURES_DEFNORETURN_COMMENT": "Describe this function...",
+       "PROCEDURES_DEFRETURN_HELPURL": "https://en.wikipedia.org/wiki/Subroutine",
+       "PROCEDURES_DEFRETURN_RETURN": "return",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "Creates a function with an output.",
+       "PROCEDURES_ALLOW_STATEMENTS": "allow statements",
+       "PROCEDURES_DEF_DUPLICATE_WARNING": "Warning: This function has duplicate parameters.",
+       "PROCEDURES_CALLNORETURN_HELPURL": "https://en.wikipedia.org/wiki/Subroutine",
+       "PROCEDURES_CALLNORETURN_TOOLTIP": "Run the user-defined function '%1'.",
+       "PROCEDURES_CALLRETURN_HELPURL": "https://en.wikipedia.org/wiki/Subroutine",
+       "PROCEDURES_CALLRETURN_TOOLTIP": "Run the user-defined function '%1' and use its output.",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "inputs",
+       "PROCEDURES_MUTATORCONTAINER_TOOLTIP": "Add, remove, or reorder inputs to this function.",
+       "PROCEDURES_MUTATORARG_TITLE": "input name:",
+       "PROCEDURES_MUTATORARG_TOOLTIP": "Add an input to the function.",
+       "PROCEDURES_HIGHLIGHT_DEF": "Highlight function definition",
+       "PROCEDURES_CREATE_DO": "Create '%1'",
+       "PROCEDURES_IFRETURN_TOOLTIP": "If a value is true, then return a second value.",
+       "PROCEDURES_IFRETURN_HELPURL": "http://c2.com/cgi/wiki?GuardClause",
+       "PROCEDURES_IFRETURN_WARNING": "Warning: This block may be used only within a function definition.",
+       "WORKSPACE_COMMENT_DEFAULT_TEXT": "Say something..."
+}
diff --git a/js/msg/json/eo.json b/js/msg/json/eo.json
new file mode 100644 (file)
index 0000000..621c910
--- /dev/null
@@ -0,0 +1,197 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Etrapani",
+                       "Ochilov",
+                       "Orikrin1998",
+                       "Robin van der Vliet",
+                       "Cérilew"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "elemento",
+       "TODAY": "HodiaÅ­",
+       "DUPLICATE_BLOCK": "Duobligi",
+       "ADD_COMMENT": "Aldoni komenton",
+       "REMOVE_COMMENT": "Forigi komenton",
+       "EXTERNAL_INPUTS": "Eksteraj eniroj",
+       "INLINE_INPUTS": "Entekstaj eniroj",
+       "DELETE_BLOCK": "Forigi blokon",
+       "DELETE_X_BLOCKS": "Forigi %1 blokojn",
+       "DELETE_ALL_BLOCKS": "Ĉu forigi Ä‰iujn %1 blokojn?",
+       "CLEAN_UP": "Purigi blokojn",
+       "COLLAPSE_BLOCK": "Faldi blokon",
+       "COLLAPSE_ALL": "Faldi blokojn",
+       "EXPAND_BLOCK": "Malfaldi blokon",
+       "EXPAND_ALL": "Malfaldi blokojn",
+       "DISABLE_BLOCK": "MalÅalti blokon",
+       "ENABLE_BLOCK": "Åœalti blokon",
+       "HELP": "Helpo",
+       "UNDO": "Malfari",
+       "REDO": "Refari",
+       "CHANGE_VALUE_TITLE": "Åœangi valoron:",
+       "RENAME_VARIABLE": "Renomi varianton...",
+       "RENAME_VARIABLE_TITLE": "Renomi Ä‰iujn '%1' variantojn kiel:",
+       "NEW_VARIABLE": "Nova varianto...",
+       "NEW_VARIABLE_TITLE": "Nova nomo de varianto:",
+       "VARIABLE_ALREADY_EXISTS": "Jam ekzistas varianto kun la nomo '%1'.",
+       "DELETE_VARIABLE_CONFIRMATION": "Ĉu forigi %1 uzojn de la varianto '%2'?",
+       "DELETE_VARIABLE": "Forigi la varianton '%1'",
+       "COLOUR_PICKER_HELPURL": "https://eo.wikipedia.org/wiki/Koloro",
+       "COLOUR_PICKER_TOOLTIP": "Elekti koloron el la paletro.",
+       "COLOUR_RANDOM_TITLE": "hazarda koloro",
+       "COLOUR_RANDOM_TOOLTIP": "Elekti hazardan koloron.",
+       "COLOUR_RGB_TITLE": "kolorigi per",
+       "COLOUR_RGB_RED": "ruÄa",
+       "COLOUR_RGB_GREEN": "verda",
+       "COLOUR_RGB_BLUE": "blua",
+       "COLOUR_BLEND_COLOUR1": "koloro 1",
+       "COLOUR_BLEND_COLOUR2": "koloro 2",
+       "COLOUR_BLEND_RATIO": "proporcio",
+       "CONTROLS_REPEAT_TITLE": "ripeti %1 fojojn",
+       "CONTROLS_REPEAT_INPUT_DO": "fari",
+       "CONTROLS_REPEAT_TOOLTIP": "Plenumi kelkajn ordonojn plurfoje.",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "ripeti dum",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "ripeti Äis",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "Plenumi ordonojn dum la valoro egalas vero.",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "Plenumi ordonojn dum valoro egalas malvero.",
+       "CONTROLS_FOREACH_TITLE": "por Ä‰iu elemento %1 en la listo %2",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "eliri el la ciklo",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "daÅ­rigi je la venonta ripeto de la ciklo",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "Eliri el la enhava ciklo.",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "Pretersalti la ceteron de tiu Ä‰i ciklo kaj daÅ­rigi je la venonta ripeto.",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "Averto: tiu Ä‰i bloko uzeblas nur ene de ciklo.",
+       "CONTROLS_IF_TOOLTIP_1": "Plenumi ordonojn se la valoro estas vero.",
+       "CONTROLS_IF_TOOLTIP_2": "Plenumi la unuan blokon de ordonoj se la valoro estas vero, se ne, la duan.",
+       "CONTROLS_IF_MSG_IF": "se",
+       "CONTROLS_IF_MSG_ELSEIF": "alie se",
+       "CONTROLS_IF_MSG_ELSE": "alie",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "Aldoni kondiĉon al la bloko 'se'",
+       "CONTROLS_IF_ELSE_TOOLTIP": "Aldoni 'aliokaze' kondiĉon al la 'se' bloko.",
+       "LOGIC_COMPARE_HELPURL": "https://eo.wikipedia.org/wiki/Neegala%C4%B5o_(pli_granda,_malpli_granda)",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "Vero estos liverita, se la du eniroj egalas.",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "Vero estos liverita, se la du eniroj ne egalas.",
+       "LOGIC_COMPARE_TOOLTIP_LT": "Vero estos liverita, se la unua eniro estas pli eta ol la dua.",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "Vero estos liverita, se la unua eniro estas pli eta aÅ­ egala al la dua.",
+       "LOGIC_COMPARE_TOOLTIP_GT": "Vero estos liverita, se la unua eniro estas pli granda ol la dua.",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "Vero estos liverita, se la unua eniro estas pli granda aÅ­ egala al la dua.",
+       "LOGIC_OPERATION_TOOLTIP_AND": "Vero estos liverita, se la du eniroj egalas veron.",
+       "LOGIC_OPERATION_AND": "kaj",
+       "LOGIC_OPERATION_TOOLTIP_OR": "Vero estos liverita, se almenaÅ­ unu el la eniroj egalas veron.",
+       "LOGIC_OPERATION_OR": "aÅ­",
+       "LOGIC_NEGATE_TITLE": "maligi %1",
+       "LOGIC_NEGATE_TOOLTIP": "Se la eniro egalas vero, la rezulto egalas malvero. Se la eniro egalas malvero, la rezulto egalas vero.",
+       "LOGIC_BOOLEAN_TRUE": "vera",
+       "LOGIC_BOOLEAN_FALSE": "falsa",
+       "LOGIC_BOOLEAN_TOOLTIP": "La rezulto egalas Ä‰u vero, Ä‰u malvero.",
+       "LOGIC_TERNARY_CONDITION": "testi",
+       "LOGIC_TERNARY_IF_TRUE": "se estas vero",
+       "LOGIC_TERNARY_IF_FALSE": "se estas malvero",
+       "LOGIC_TERNARY_TOOLTIP": "Kontroli la kondiĉon en 'testo'. Se la kondiĉo egalas veron, liveri la valoron 'se estas vero', aliokaze liveri la valoron 'se estas malvero'.",
+       "MATH_NUMBER_HELPURL": "https://eo.wikipedia.org/wiki/Nombro",
+       "MATH_NUMBER_TOOLTIP": "Nombro.",
+       "MATH_ARITHMETIC_HELPURL": "https://eo.wikipedia.org/wiki/Aritmetiko",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "La sumo de la du nombroj estos liverita.",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "La diferenco inter la du nombroj estos liverita.",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "La produto de la du numeroj estos liverita.",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "La kvociento de la du nombroj estos liverita.",
+       "MATH_SINGLE_HELPURL": "https://eo.wikipedia.org/wiki/Kvadrata_radiko",
+       "MATH_SINGLE_OP_ROOT": "kvadrata radiko",
+       "MATH_SINGLE_TOOLTIP_ROOT": "La kvadrata radiko de nombro estos liverita.",
+       "MATH_SINGLE_OP_ABSOLUTE": "absoluta",
+       "MATH_SINGLE_TOOLTIP_ABS": "La absoluta valoro de nombro estos liverita.",
+       "MATH_SINGLE_TOOLTIP_NEG": "La negativigo de numero estos liverita.",
+       "MATH_SINGLE_TOOLTIP_LN": "La natura logaritmo de nombro estos liverita.",
+       "MATH_SINGLE_TOOLTIP_LOG10": "La dekbaza logaritmo de numero estos liverita.",
+       "MATH_SINGLE_TOOLTIP_EXP": "La rezulto de la potenco de e je la nombro.",
+       "MATH_TRIG_HELPURL": "https://eo.wikipedia.org/wiki/Trigonometria_funkcio",
+       "MATH_TRIG_TOOLTIP_ASIN": "La sinusarko de nombro estos liverita.",
+       "MATH_TRIG_TOOLTIP_ATAN": "La targentarko de nombro estos liverita.",
+       "MATH_CONSTANT_HELPURL": "https://eo.wikipedia.org/wiki/Matematika_konstanto",
+       "MATH_IS_EVEN": "estas para",
+       "MATH_IS_ODD": "estas nepara",
+       "MATH_IS_PRIME": "estas primo",
+       "MATH_IS_WHOLE": "estas entjero",
+       "MATH_IS_POSITIVE": "estas pozitiva",
+       "MATH_IS_NEGATIVE": "estas negativa",
+       "MATH_IS_DIVISIBLE_BY": "estas dividebla de",
+       "MATH_IS_TOOLTIP": "Vero aÅ­ malvero estos liverita, depende de la rezulto de kontrolo, Ä‰u nombro estas para, nepara, pozitiva, negativa, aÅ­ dividebla de iu nombro.",
+       "MATH_CHANGE_TOOLTIP": "Aldoni nombro al varianto '%1'.",
+       "MATH_ROUND_HELPURL": "https://en.wikipedia.org/wiki/Rounding",
+       "MATH_ROUND_TOOLTIP": "Rondigi nombroj, supren aÅ­ malsupren.",
+       "MATH_ROUND_OPERATOR_ROUND": "rondigi",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "Rondigi supren",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "rondigi malsupren",
+       "MATH_ONLIST_OPERATOR_SUM": "sumo de listo",
+       "MATH_ONLIST_TOOLTIP_SUM": "La sumo de Ä‰iuj nombro en la listo estos liverita.",
+       "MATH_ONLIST_OPERATOR_MIN": "listminimumo",
+       "MATH_ONLIST_TOOLTIP_MIN": "La plej eta nombro en la listo estos redonita.",
+       "MATH_ONLIST_OPERATOR_MAX": "listmaksimumo",
+       "MATH_ONLIST_TOOLTIP_MAX": "La plej granda numero en la listo estos redonita.",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "listmezumo",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "La aritmetika meznombro de la numeroj en la listo estos liverita.",
+       "MATH_ONLIST_OPERATOR_MODE": "reÄimoj de listo",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "Norma devio de la listo",
+       "MATH_ONLIST_TOOLTIP_STD_DEV": "La norma devio de la listo estos liverita.",
+       "MATH_ONLIST_OPERATOR_RANDOM": "hazarda elemento el la listo",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "Elemento el la listo estos hazarde liverita.",
+       "MATH_MODULO_HELPURL": "https://eo.wikipedia.org/wiki/Resto",
+       "MATH_MODULO_TITLE": "resto de %1 ÷ %2",
+       "MATH_MODULO_TOOLTIP": "La resto de la divido de du nombroj estos liverita.",
+       "MATH_CONSTRAIN_TITLE": "limigi %1 inter %2 kaj %3",
+       "MATH_CONSTRAIN_TOOLTIP": "La nombro estos limigita tiel ke Äi egalas la limojn aÅ­ troviÄas inter ili.",
+       "MATH_RANDOM_INT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_INT_TITLE": "hazarda entjero inter %1 kaj %2",
+       "MATH_RANDOM_INT_TOOLTIP": "Nombro estos hazarde liverita, tiel ke Äi egalas la limojn aÅ­ troviÄas inter ili.",
+       "TEXT_LENGTH_TITLE": "longo de %1",
+       "TEXT_ISEMPTY_TITLE": "%1 malplenas",
+       "TEXT_INDEXOF_TITLE": "en la teksto %1 %2 %3",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "en la teksto",
+       "TEXT_TRIM_OPERATOR_RIGHT": "forigi spacojn el la dekstra flanko de",
+       "TEXT_PRINT_TITLE": "presi %1",
+       "TEXT_PRINT_TOOLTIP": "Presi la specifitan tekston, nombron aÅ­ alian valoron.",
+       "TEXT_PROMPT_TOOLTIP_NUMBER": "Peti nombron al uzanto.",
+       "TEXT_PROMPT_TOOLTIP_TEXT": "Peti tekston al uzanto.",
+       "LISTS_CREATE_EMPTY_TITLE": "krei malplenan liston",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "Listo, de longo 0, sen datumaj registroj, estos liverita.",
+       "LISTS_CREATE_WITH_TOOLTIP": "Krei liston kun ajna nombro de elementoj.",
+       "LISTS_CREATE_WITH_INPUT_WITH": "krei liston kun",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "listo",
+       "LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "Aldoni, forigi aÅ­ oridigi sekciojn por reagordi tiun Ä‰i blokon de listo.",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "Aldoni elementon al la listo.",
+       "LISTS_REPEAT_TOOLTIP": "Listo kun la specifita nombro de elementoj, kiuj havos la donitan valoron, estos kreita.",
+       "LISTS_REPEAT_TITLE": "krei liston kun elemento %1 ripetita %2 fojojn",
+       "LISTS_LENGTH_TITLE": "longo de %1",
+       "LISTS_LENGTH_TOOLTIP": "La longo de listo estos liverita.",
+       "LISTS_ISEMPTY_TITLE": "%1 malplenas",
+       "LISTS_ISEMPTY_TOOLTIP": "Vero estos liverita, se la listo malplenas.",
+       "LISTS_INLIST": "en la listo",
+       "LISTS_INDEX_OF_FIRST": "trovi la unuan aperon de elemento",
+       "LISTS_INDEX_OF_LAST": "trovi la lastan aperon de elemento",
+       "LISTS_INDEX_OF_TOOLTIP": "La indekso de la unua/lasta apero de la elemento en la listo estos liverita. %1 estos liverita se la elemento ne estas trovita.",
+       "LISTS_GET_INDEX_GET": "akiri",
+       "LISTS_GET_INDEX_GET_REMOVE": "akiri kaj forigi",
+       "LISTS_GET_INDEX_REMOVE": "forigi",
+       "LISTS_GET_INDEX_FROM_END": "#el la fino",
+       "LISTS_GET_INDEX_FIRST": "unuan",
+       "LISTS_GET_INDEX_LAST": "lastan",
+       "LISTS_GET_INDEX_RANDOM": "hazardan",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "%1 estas la unua elemento.",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "%1 estas la lasta elemento.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "La elemento en la specifita pozicio en la listo estos liverita.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "La unua elemento en la listo esto liverita.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "La lasta elemento en la listo estos liverita.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "Hazarda elemento en la listo estos liverita.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "La elemento en la specifita pozicio de la listo estos liverita kaj forigita.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "La unua elemento en la listo estos liverita kaj forigita.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "La lasta elemento en la listo estos liverita kaj forigita.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "Hazarda elemento en la listo estos liverita kaj forigita.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "La elemento en la specifita pozicio en la listo estos forigita.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "La unua elemento en la listo estos forigita.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "La lasta elemento en la listo estos forigita.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "Hazarda elemento en la listo estos forigita.",
+       "LISTS_SET_INDEX_SET": "difini",
+       "LISTS_SET_INDEX_INSERT": "enmeti je",
+       "LISTS_SET_INDEX_INPUT_TO": "kiel",
+       "PROCEDURES_CREATE_DO": "Krei '%1'",
+       "WORKSPACE_COMMENT_DEFAULT_TEXT": "Diru ion…"
+}
diff --git a/js/msg/json/es.json b/js/msg/json/es.json
new file mode 100644 (file)
index 0000000..d544f77
--- /dev/null
@@ -0,0 +1,352 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Fitoschido",
+                       "VegaDark",
+                       "WeSiToS",
+                       "Macofe",
+                       "Codynguyen1116",
+                       "Indiralena",
+                       "Rubentl134",
+                       "Martineduardo",
+                       "Julián L",
+                       "Luisangelrg",
+                       "MarcoAurelio"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "elemento",
+       "TODAY": "Hoy",
+       "DUPLICATE_BLOCK": "Duplicar",
+       "ADD_COMMENT": "Añadir comentario",
+       "REMOVE_COMMENT": "Eliminar comentario",
+       "DUPLICATE_COMMENT": "Duplicar comentario",
+       "EXTERNAL_INPUTS": "Entradas externas",
+       "INLINE_INPUTS": "Entradas en línea",
+       "DELETE_BLOCK": "Eliminar bloque",
+       "DELETE_X_BLOCKS": "Eliminar %1 bloques",
+       "DELETE_ALL_BLOCKS": "¿Eliminar todos los %1 bloques?",
+       "CLEAN_UP": "Limpiar los bloques",
+       "COLLAPSE_BLOCK": "Contraer bloque",
+       "COLLAPSE_ALL": "Contraer bloques",
+       "EXPAND_BLOCK": "Expandir bloque",
+       "EXPAND_ALL": "Expandir bloques",
+       "DISABLE_BLOCK": "Desactivar bloque",
+       "ENABLE_BLOCK": "Activar bloque",
+       "HELP": "Ayuda",
+       "UNDO": "Deshacer",
+       "REDO": "Rehacer",
+       "CHANGE_VALUE_TITLE": "Cambiar el valor:",
+       "RENAME_VARIABLE": "Renombrar la variable…",
+       "RENAME_VARIABLE_TITLE": "Renombrar todas las variables «%1» a:",
+       "NEW_VARIABLE": "Crear variable…",
+       "NEW_VARIABLE_TITLE": "Nombre de variable nueva:",
+       "VARIABLE_ALREADY_EXISTS": "Ya existe una variable llamada \"%1\".",
+       "VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE": "Ya existe una variable nombrada '%1' para otra variable del tipo: '%2'.",
+       "DELETE_VARIABLE_CONFIRMATION": "¿Borrar %1 usos de la variable \"%2\"?",
+       "CANNOT_DELETE_VARIABLE_PROCEDURE": "No se puede eliminar la variable \"%1\" porque es parte de la definición de la función \"%2\"",
+       "DELETE_VARIABLE": "Borrar la variable \"%1\"",
+       "COLOUR_PICKER_HELPURL": "https://es.wikipedia.org/wiki/Color",
+       "COLOUR_PICKER_TOOLTIP": "Elige un color de la paleta.",
+       "COLOUR_RANDOM_TITLE": "color aleatorio",
+       "COLOUR_RANDOM_TOOLTIP": "Elige un color al azar.",
+       "COLOUR_RGB_TITLE": "colorear con",
+       "COLOUR_RGB_RED": "rojo",
+       "COLOUR_RGB_GREEN": "verde",
+       "COLOUR_RGB_BLUE": "azul",
+       "COLOUR_RGB_TOOLTIP": "Crea un color con cantidades específicas de rojo, verde y azul. Todos los valores deben encontrarse entre 0 y 100.",
+       "COLOUR_BLEND_TITLE": "combinar",
+       "COLOUR_BLEND_COLOUR1": "color 1",
+       "COLOUR_BLEND_COLOUR2": "color 2",
+       "COLOUR_BLEND_RATIO": "proporción",
+       "COLOUR_BLEND_TOOLTIP": "Combina dos colores con una proporción determinada (0,0–1,0).",
+       "CONTROLS_REPEAT_HELPURL": "https://es.wikipedia.org/wiki/Bucle_for",
+       "CONTROLS_REPEAT_TITLE": "repetir %1 veces",
+       "CONTROLS_REPEAT_INPUT_DO": "hacer",
+       "CONTROLS_REPEAT_TOOLTIP": "Hacer algunas declaraciones varias veces.",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "repetir mientras",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "repetir hasta",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "Mientras un valor sea verdadero, entonces hacer algunas declaraciones.",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "Mientras un valor sea falso, entonces hacer algunas declaraciones.",
+       "CONTROLS_FOR_TOOLTIP": "Hacer que la variable \"%1\" tome los valores desde el número de inicio hasta el número final, contando con el intervalo especificado, y hacer los bloques especificados.",
+       "CONTROLS_FOR_TITLE": "contar con %1 desde %2 hasta %3 de a %4",
+       "CONTROLS_FOREACH_HELPURL": "https://es.wikipedia.org/wiki/Foreach",
+       "CONTROLS_FOREACH_TITLE": "para cada elemento %1 en la lista %2",
+       "CONTROLS_FOREACH_TOOLTIP": "Para cada elemento en una lista, establecer la variable '%1' al elemento y luego hacer algunas declaraciones.",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "romper el bucle",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "continuar con la siguiente iteración del bucle",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "Romper el bucle que lo contiene.",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "Saltar el resto de este bucle, y continuar con la siguiente iteración.",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "Atención: este bloque puede usarse solamente dentro de un bucle.",
+       "CONTROLS_IF_TOOLTIP_1": "Si un valor es verdadero, entonces hacer algunas declaraciones.",
+       "CONTROLS_IF_TOOLTIP_2": "Si un valor es verdadero, entonces hacer el primer bloque de declaraciones.  De lo contrario, hacer el segundo bloque de declaraciones.",
+       "CONTROLS_IF_TOOLTIP_3": "Si el primer valor es verdadero, entonces hacer el primer bloque de declaraciones. De lo contrario, si el segundo valor es verdadero, hacer el segundo bloque de declaraciones.",
+       "CONTROLS_IF_TOOLTIP_4": "Si el primer valor es verdadero, entonces hacer el primer bloque de declaraciones. De lo contrario, si el segundo valor es verdadero, hacer el segundo bloque de declaraciones. Si ninguno de los valores son verdaderos, hacer el último bloque de declaraciones.",
+       "CONTROLS_IF_MSG_IF": "si",
+       "CONTROLS_IF_MSG_ELSEIF": "sino si",
+       "CONTROLS_IF_MSG_ELSE": "sino",
+       "CONTROLS_IF_IF_TOOLTIP": "Agregar, eliminar o reordenar las secciones para reconfigurar este bloque.",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "Agregar una condición a este bloque.",
+       "CONTROLS_IF_ELSE_TOOLTIP": "Agregar una condición general final a este bloque.",
+       "IOS_OK": "Aceptar",
+       "IOS_CANCEL": "Cancelar",
+       "IOS_ERROR": "Error",
+       "IOS_PROCEDURES_INPUTS": "ENTRADAS",
+       "IOS_PROCEDURES_ADD_INPUT": "+ Añadir entrada",
+       "IOS_PROCEDURES_ALLOW_STATEMENTS": "Permitir declaraciones",
+       "IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR": "Esta función tiene entradas duplicadas.",
+       "IOS_VARIABLES_ADD_VARIABLE": "+ Añadir variable",
+       "IOS_VARIABLES_ADD_BUTTON": "Añadir",
+       "IOS_VARIABLES_RENAME_BUTTON": "Renombrar",
+       "IOS_VARIABLES_DELETE_BUTTON": "Borrar",
+       "IOS_VARIABLES_VARIABLE_NAME": "Nombre de la variable",
+       "IOS_VARIABLES_EMPTY_NAME_ERROR": "No puedes usar un nombre de variable vacío.",
+       "LOGIC_COMPARE_HELPURL": "https://es.wikipedia.org/wiki/Desigualdad_matemática",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "Devuelve verdadero si ambas entradas son iguales.",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "Devuelve verdadero si ambas entradas son distintas.",
+       "LOGIC_COMPARE_TOOLTIP_LT": "Devuelve verdadero si la primera entrada es menor que la segunda entrada.",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "Devuelve verdadero si la primera entrada es menor que o igual a la segunda entrada.",
+       "LOGIC_COMPARE_TOOLTIP_GT": "Devuelve verdadero si la primera entrada es mayor que la segunda entrada.",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "Devuelve verdadero si la primera entrada es mayor o igual a la segunda entrada.",
+       "LOGIC_OPERATION_TOOLTIP_AND": "Devuelve verdadero si ambas entradas son verdaderas.",
+       "LOGIC_OPERATION_AND": "y",
+       "LOGIC_OPERATION_TOOLTIP_OR": "Devuelve verdadero si al menos una de las entradas es verdadera.",
+       "LOGIC_OPERATION_OR": "o",
+       "LOGIC_NEGATE_TITLE": "no %1",
+       "LOGIC_NEGATE_TOOLTIP": "Devuelve verdadero si la entrada es falsa. Devuelve falso si la entrada es verdadera.",
+       "LOGIC_BOOLEAN_TRUE": "verdadero",
+       "LOGIC_BOOLEAN_FALSE": "falso",
+       "LOGIC_BOOLEAN_TOOLTIP": "Devuelve verdadero o falso.",
+       "LOGIC_NULL": "nulo",
+       "LOGIC_NULL_TOOLTIP": "Devuelve nulo.",
+       "LOGIC_TERNARY_CONDITION": "prueba",
+       "LOGIC_TERNARY_IF_TRUE": "si es verdadero",
+       "LOGIC_TERNARY_IF_FALSE": "si es falso",
+       "LOGIC_TERNARY_TOOLTIP": "Comprueba la condición en \"prueba\". Si la condición es verdadera, devuelve el valor \"si es verdadero\"; de lo contrario, devuelve el valor \"si es falso\".",
+       "MATH_NUMBER_HELPURL": "https://es.wikipedia.org/wiki/Número",
+       "MATH_NUMBER_TOOLTIP": "Un número.",
+       "MATH_ARITHMETIC_HELPURL": "https://es.wikipedia.org/wiki/Aritmética",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "Devuelve la suma de ambos números.",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "Devuelve la diferencia de ambos números.",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "Devuelve el producto de ambos números.",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "Devuelve el cociente de ambos números.",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "Devuelve el primer número elevado a la potencia del segundo.",
+       "MATH_SINGLE_HELPURL": "https://es.wikipedia.org/wiki/Ra%C3%ADz_cuadrada",
+       "MATH_SINGLE_OP_ROOT": "raíz cuadrada",
+       "MATH_SINGLE_TOOLTIP_ROOT": "Devuelve la raíz cuadrada de un número.",
+       "MATH_SINGLE_OP_ABSOLUTE": "absoluto",
+       "MATH_SINGLE_TOOLTIP_ABS": "Devuelve el valor absoluto de un número.",
+       "MATH_SINGLE_TOOLTIP_NEG": "Devuelve la negación de un número.",
+       "MATH_SINGLE_TOOLTIP_LN": "Devuelve el logaritmo natural de un número.",
+       "MATH_SINGLE_TOOLTIP_LOG10": "Devuelve el logaritmo base 10 de un número.",
+       "MATH_SINGLE_TOOLTIP_EXP": "Devuelve e a la potencia de un número.",
+       "MATH_SINGLE_TOOLTIP_POW10": "Devuelve 10 a la potencia de un número.",
+       "MATH_TRIG_HELPURL": "https://es.wikipedia.org/wiki/Función_trigonométrica",
+       "MATH_TRIG_TOOLTIP_SIN": "Devuelve el seno de un grado (no radián).",
+       "MATH_TRIG_TOOLTIP_COS": "Devuelve el coseno de un grado (no radián).",
+       "MATH_TRIG_TOOLTIP_TAN": "Devuelve la tangente de un grado (no radián).",
+       "MATH_TRIG_TOOLTIP_ASIN": "Devuelve el arcoseno de un número.",
+       "MATH_TRIG_TOOLTIP_ACOS": "Devuelve el arcocoseno de un número.",
+       "MATH_TRIG_TOOLTIP_ATAN": "Devuelve el arcotangente de un número.",
+       "MATH_CONSTANT_HELPURL": "https://es.wikipedia.org/wiki/Anexo:Constantes_matemáticas",
+       "MATH_CONSTANT_TOOLTIP": "Devuelve una de las constantes comunes: Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…) o âˆž (infinito).",
+       "MATH_IS_EVEN": "es par",
+       "MATH_IS_ODD": "es impar",
+       "MATH_IS_PRIME": "es primo",
+       "MATH_IS_WHOLE": "es entero",
+       "MATH_IS_POSITIVE": "es positivo",
+       "MATH_IS_NEGATIVE": "es negativo",
+       "MATH_IS_DIVISIBLE_BY": "es divisible por",
+       "MATH_IS_TOOLTIP": "Comprueba si un número es par, impar, primo, entero, positivo, negativo, o si es divisible por un número determinado. Devuelve verdadero o falso.",
+       "MATH_CHANGE_HELPURL": "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter",
+       "MATH_CHANGE_TITLE": "añadir %2 a %1",
+       "MATH_CHANGE_TOOLTIP": "Añadir un número a la variable «%1».",
+       "MATH_ROUND_HELPURL": "https://es.wikipedia.org/wiki/Redondeo",
+       "MATH_ROUND_TOOLTIP": "Redondear un número al alza o a la baja.",
+       "MATH_ROUND_OPERATOR_ROUND": "redondear",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "redondear al alza",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "redondear a la baja",
+       "MATH_ONLIST_OPERATOR_SUM": "suma de la lista",
+       "MATH_ONLIST_TOOLTIP_SUM": "Devuelve la suma de todos los números en la lista.",
+       "MATH_ONLIST_OPERATOR_MIN": "mínimo de la lista",
+       "MATH_ONLIST_TOOLTIP_MIN": "Devuelve el número más pequeño en la lista.",
+       "MATH_ONLIST_OPERATOR_MAX": "máximo de la lista",
+       "MATH_ONLIST_TOOLTIP_MAX": "Devuelve el número más grande en la lista.",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "promedio de la lista",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "Devuelve el promedio (media aritmética) de los valores numéricos en la lista.",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "mediana de la lista",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "Devuelve la mediana en la lista.",
+       "MATH_ONLIST_OPERATOR_MODE": "modas de la lista",
+       "MATH_ONLIST_TOOLTIP_MODE": "Devuelve una lista de los elementos más comunes en la lista.",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "desviación estándar de la lista",
+       "MATH_ONLIST_TOOLTIP_STD_DEV": "Devuelve la desviación estándar de la lista.",
+       "MATH_ONLIST_OPERATOR_RANDOM": "elemento aleatorio de la lista",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "Devuelve un elemento aleatorio de la lista.",
+       "MATH_MODULO_HELPURL": "https://en.wikipedia.org/wiki/Modulo_operation",
+       "MATH_MODULO_TITLE": "resto de %1 ÷ %2",
+       "MATH_MODULO_TOOLTIP": "Devuelve el resto al dividir los dos números.",
+       "MATH_CONSTRAIN_TITLE": "limitar %1 entre %2 y %3",
+       "MATH_CONSTRAIN_TOOLTIP": "Limitar un número entre los límites especificados (inclusive).",
+       "MATH_RANDOM_INT_HELPURL": "https://es.wikipedia.org/wiki/Generador_de_números_aleatorios",
+       "MATH_RANDOM_INT_TITLE": "entero aleatorio de %1 a %2",
+       "MATH_RANDOM_INT_TOOLTIP": "Devuelve un entero aleatorio entre los dos límites especificados, inclusive.",
+       "MATH_RANDOM_FLOAT_HELPURL": "https://es.wikipedia.org/wiki/Generador_de_números_aleatorios",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "fracción aleatoria",
+       "MATH_RANDOM_FLOAT_TOOLTIP": "Devuelve una fracción aleatoria entre 0,0 (ambos inclusive) y 1.0 (exclusivo).",
+       "TEXT_TEXT_HELPURL": "https://es.wikipedia.org/wiki/Cadena_de_caracteres",
+       "TEXT_TEXT_TOOLTIP": "Una letra, palabra o línea de texto.",
+       "TEXT_JOIN_TITLE_CREATEWITH": "crear texto con",
+       "TEXT_JOIN_TOOLTIP": "Crear un fragmento de texto al unir cualquier número de elementos.",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "unir",
+       "TEXT_CREATE_JOIN_TOOLTIP": "Agregar, eliminar o reordenar las secciones para reconfigurar este bloque de texto.",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "Agregar un elemento al texto.",
+       "TEXT_APPEND_TITLE": "a %1 añade el texto %2",
+       "TEXT_APPEND_TOOLTIP": "Añadir texto a la variable '%1'.",
+       "TEXT_LENGTH_TITLE": "longitud de %1",
+       "TEXT_LENGTH_TOOLTIP": "Devuelve el número de letras (espacios incluidos) del texto proporcionado.",
+       "TEXT_ISEMPTY_TITLE": "%1 está vacío",
+       "TEXT_ISEMPTY_TOOLTIP": "Devuelve verdadero si el texto proporcionado está vacío.",
+       "TEXT_INDEXOF_TOOLTIP": "Devuelve el índice de la primera/última aparición del primer texto en el segundo texto. Devuelve %1 si el texto no se encuentra.",
+       "TEXT_INDEXOF_TITLE": "en el texto %1 %2 %3",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "encontrar la primera aparición del texto",
+       "TEXT_INDEXOF_OPERATOR_LAST": "encontrar la última aparición del texto",
+       "TEXT_CHARAT_TITLE": "en el texto %1 %2",
+       "TEXT_CHARAT_FROM_START": "obtener la letra #",
+       "TEXT_CHARAT_FROM_END": "obtener la letra # del final",
+       "TEXT_CHARAT_FIRST": "obtener la primera letra",
+       "TEXT_CHARAT_LAST": "obtener la última letra",
+       "TEXT_CHARAT_RANDOM": "obtener letra aleatoria",
+       "TEXT_CHARAT_TOOLTIP": "Devuelve la letra en la posición especificada.",
+       "TEXT_GET_SUBSTRING_TOOLTIP": "Devuelve una porción determinada del texto.",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "en el texto",
+       "TEXT_GET_SUBSTRING_START_FROM_START": "obtener subcadena desde la letra #",
+       "TEXT_GET_SUBSTRING_START_FROM_END": "obtener subcadena desde la letra # del final",
+       "TEXT_GET_SUBSTRING_START_FIRST": "obtener subcadena desde la primera letra",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "hasta la letra #",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "hasta la letra # del final",
+       "TEXT_GET_SUBSTRING_END_LAST": "hasta la última letra",
+       "TEXT_CHANGECASE_TOOLTIP": "Devuelve una copia del texto en un tamaño diferente.",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "a MAYÚSCULAS",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "a minúsculas",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": "a Mayúsculas Cada Palabra",
+       "TEXT_TRIM_TOOLTIP": "Devuelve una copia del texto sin los espacios de uno o ambos extremos.",
+       "TEXT_TRIM_OPERATOR_BOTH": "quitar espacios de ambos lados de",
+       "TEXT_TRIM_OPERATOR_LEFT": "quitar espacios iniciales de",
+       "TEXT_TRIM_OPERATOR_RIGHT": "quitar espacios finales de",
+       "TEXT_PRINT_TITLE": "imprimir %1",
+       "TEXT_PRINT_TOOLTIP": "Imprimir el texto, número u otro valor especificado.",
+       "TEXT_PROMPT_TYPE_TEXT": "solicitar texto con el mensaje",
+       "TEXT_PROMPT_TYPE_NUMBER": "solicitar número con el mensaje",
+       "TEXT_PROMPT_TOOLTIP_NUMBER": "Solicitar al usuario un número.",
+       "TEXT_PROMPT_TOOLTIP_TEXT": "Solicitar al usuario un texto.",
+       "TEXT_COUNT_MESSAGE0": "contar %1 en %2",
+       "TEXT_COUNT_HELPURL": "https://github.com/google/blockly/wiki/Text#counting-substrings",
+       "TEXT_COUNT_TOOLTIP": "Cuantas veces aparece un texto dentro de otro texto.",
+       "TEXT_REPLACE_MESSAGE0": "reemplazar %1 con %2 en %3",
+       "TEXT_REPLACE_HELPURL": "https://github.com/google/blockly/wiki/Text#replacing-substrings",
+       "TEXT_REPLACE_TOOLTIP": "Reemplazar todas las veces que un texto dentro de otro texto.",
+       "TEXT_REVERSE_MESSAGE0": "invertir %1",
+       "TEXT_REVERSE_HELPURL": "https://github.com/google/blockly/wiki/Text#reversing-text",
+       "TEXT_REVERSE_TOOLTIP": "Invierte el orden de los caracteres en el texto.",
+       "LISTS_CREATE_EMPTY_TITLE": "crear lista vacía",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "Devuelve una lista, de longitud 0, sin ningún dato",
+       "LISTS_CREATE_WITH_HELPURL": "https://github.com/google/blockly/wiki/Lists#create-list-with",
+       "LISTS_CREATE_WITH_TOOLTIP": "Crear una lista con cualquier número de elementos.",
+       "LISTS_CREATE_WITH_INPUT_WITH": "crear lista con",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "lista",
+       "LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "Agregar, eliminar o reorganizar las secciones para reconfigurar este bloque de lista.",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "Agregar un elemento a la lista.",
+       "LISTS_REPEAT_TOOLTIP": "Crea una lista que consta de un valor dado repetido el número de veces especificado.",
+       "LISTS_REPEAT_TITLE": "crear lista con el elemento %1 repetido %2 veces",
+       "LISTS_LENGTH_TITLE": "longitud de %1",
+       "LISTS_LENGTH_TOOLTIP": "Devuelve la longitud de una lista.",
+       "LISTS_ISEMPTY_TITLE": "%1 está vacía",
+       "LISTS_ISEMPTY_TOOLTIP": "Devuelve verdadero si la lista está vacía.",
+       "LISTS_INLIST": "en la lista",
+       "LISTS_INDEX_OF_FIRST": "encontrar la primera aparición del elemento",
+       "LISTS_INDEX_OF_LAST": "encontrar la última aparición del elemento",
+       "LISTS_INDEX_OF_TOOLTIP": "Devuelve el índice de la primera/última aparición del elemento en la lista. Devuelve %1 si el elemento no se encuentra.",
+       "LISTS_GET_INDEX_GET": "obtener",
+       "LISTS_GET_INDEX_GET_REMOVE": "obtener y eliminar",
+       "LISTS_GET_INDEX_REMOVE": "eliminar",
+       "LISTS_GET_INDEX_FROM_END": "# del final",
+       "LISTS_GET_INDEX_FIRST": "primero",
+       "LISTS_GET_INDEX_LAST": "último",
+       "LISTS_GET_INDEX_RANDOM": "aleatorio",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "%1 es el primer elemento.",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "%1 es el último elemento.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "Devuelve el elemento en la posición especificada en una lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "Devuelve el primer elemento de una lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "Devuelve el último elemento de una lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "Devuelve un elemento aleatorio en una lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "Elimina y devuelve el elemento en la posición especificada en una lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "Elimina y devuelve el primer elemento de una lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "Elimina y devuelve el último elemento de una lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "Elimina y devuelve un elemento aleatorio en una lista.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "Elimina el elemento en la posición especificada en una lista.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "Elimina el primer elemento de una lista.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "Elimina el último elemento de una lista.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "Elimina un elemento aleatorio en una lista.",
+       "LISTS_SET_INDEX_SET": "establecer",
+       "LISTS_SET_INDEX_INSERT": "insertar en",
+       "LISTS_SET_INDEX_INPUT_TO": "como",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "Establece el elemento en la posición especificada en una lista.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "Establece el primer elemento de una lista.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_LAST": "Establece el último elemento de una lista.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "Establece un elemento aleatorio en una lista.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "Inserta el elemento en la posición especificada en una lista.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "Inserta el elemento al inicio de una lista.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "Añade el elemento al final de una lista.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "Inserta el elemento aleatoriamente en una lista.",
+       "LISTS_GET_SUBLIST_START_FROM_START": "obtener sublista desde #",
+       "LISTS_GET_SUBLIST_START_FROM_END": "obtener sublista desde # del final",
+       "LISTS_GET_SUBLIST_START_FIRST": "obtener sublista desde el primero",
+       "LISTS_GET_SUBLIST_END_FROM_START": "hasta #",
+       "LISTS_GET_SUBLIST_END_FROM_END": "hasta # del final",
+       "LISTS_GET_SUBLIST_END_LAST": "hasta el último",
+       "LISTS_GET_SUBLIST_TOOLTIP": "Crea una copia de la parte especificada de una lista.",
+       "LISTS_SORT_HELPURL": "https://github.com/google/blockly/wiki/Lists#sorting-a-list",
+       "LISTS_SORT_TITLE": "orden %1 %2 %3",
+       "LISTS_SORT_TOOLTIP": "Ordenar una copia de una lista.",
+       "LISTS_SORT_ORDER_ASCENDING": "ascendente",
+       "LISTS_SORT_ORDER_DESCENDING": "descendente",
+       "LISTS_SORT_TYPE_NUMERIC": "numérico",
+       "LISTS_SORT_TYPE_TEXT": "alfabético",
+       "LISTS_SORT_TYPE_IGNORECASE": "alfabético, ignorar mayúscula/minúscula",
+       "LISTS_SPLIT_HELPURL": "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists",
+       "LISTS_SPLIT_LIST_FROM_TEXT": "hacer lista a partir de texto",
+       "LISTS_SPLIT_TEXT_FROM_LIST": "hacer texto a partir de lista",
+       "LISTS_SPLIT_WITH_DELIMITER": "con delimitador",
+       "LISTS_SPLIT_TOOLTIP_SPLIT": "Dividir el texto en una lista de textos, separando en cada delimitador.",
+       "LISTS_SPLIT_TOOLTIP_JOIN": "Unir una lista de textos en un solo texto, separado por un delimitador.",
+       "LISTS_REVERSE_HELPURL": "https://github.com/google/blockly/wiki/Lists#reversing-a-list",
+       "LISTS_REVERSE_MESSAGE0": "invertir %1",
+       "LISTS_REVERSE_TOOLTIP": "Invertir una copia de una lista.",
+       "VARIABLES_GET_TOOLTIP": "Devuelve el valor de esta variable.",
+       "VARIABLES_GET_CREATE_SET": "Crear 'establecer %1'",
+       "VARIABLES_SET": "establecer %1 a %2",
+       "VARIABLES_SET_TOOLTIP": "Establece esta variable para que sea igual a la entrada.",
+       "VARIABLES_SET_CREATE_GET": "Crear 'obtener %1'",
+       "PROCEDURES_DEFNORETURN_TITLE": "para",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "hacer algo",
+       "PROCEDURES_BEFORE_PARAMS": "con:",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "con:",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "Crea una función sin salida.",
+       "PROCEDURES_DEFNORETURN_COMMENT": "Describe esta función...",
+       "PROCEDURES_DEFRETURN_RETURN": "devuelve",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "Crea una función con una salida.",
+       "PROCEDURES_ALLOW_STATEMENTS": "permitir declaraciones",
+       "PROCEDURES_DEF_DUPLICATE_WARNING": "Advertencia: Esta función tiene parámetros duplicados.",
+       "PROCEDURES_CALLNORETURN_HELPURL": "https://es.wikipedia.org/wiki/Subrutina",
+       "PROCEDURES_CALLNORETURN_TOOLTIP": "Ejecuta la función definida por el usuario '%1'.",
+       "PROCEDURES_CALLRETURN_HELPURL": "https://es.wikipedia.org/wiki/Subrutina",
+       "PROCEDURES_CALLRETURN_TOOLTIP": "Ejecuta la función definida por el usuario '%1' y usa su salida.",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "entradas",
+       "PROCEDURES_MUTATORCONTAINER_TOOLTIP": "Añadir, eliminar o reordenar entradas para esta función.",
+       "PROCEDURES_MUTATORARG_TITLE": "nombre de entrada:",
+       "PROCEDURES_MUTATORARG_TOOLTIP": "Añadir una entrada a la función.",
+       "PROCEDURES_HIGHLIGHT_DEF": "Destacar definición de la función",
+       "PROCEDURES_CREATE_DO": "Crear '%1'",
+       "PROCEDURES_IFRETURN_TOOLTIP": "Si un valor es verdadero, entonces devuelve un segundo valor.",
+       "PROCEDURES_IFRETURN_WARNING": "Advertencia: Este bloque solo puede ser utilizado dentro de la definición de una función.",
+       "WORKSPACE_COMMENT_DEFAULT_TEXT": "Di algo…"
+}
diff --git a/js/msg/json/et.json b/js/msg/json/et.json
new file mode 100644 (file)
index 0000000..09d07a2
--- /dev/null
@@ -0,0 +1,317 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Aivarannamaa",
+                       "Hasso",
+                       "Puik",
+                       "Ilmarine"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "objekt",
+       "TODAY": "Täna",
+       "DUPLICATE_BLOCK": "Tekita duplikaat",
+       "ADD_COMMENT": "Lisa kommentaar",
+       "REMOVE_COMMENT": "Eemalda kommentaar",
+       "EXTERNAL_INPUTS": "Sisendid ploki taga",
+       "INLINE_INPUTS": "Sisendid ploki sees",
+       "DELETE_BLOCK": "Kustuta plokk",
+       "DELETE_X_BLOCKS": "Kustuta %1 plokki",
+       "DELETE_ALL_BLOCKS": "Kas kustutada kõik %1 plokki?",
+       "CLEAN_UP": "Korista plokid kokku",
+       "COLLAPSE_BLOCK": "Tõmba plokk kokku",
+       "COLLAPSE_ALL": "Tõmba plokid kokku",
+       "EXPAND_BLOCK": "Laota plokk laiali",
+       "EXPAND_ALL": "Laota plokid laiali",
+       "DISABLE_BLOCK": "Keela ploki kasutamine",
+       "ENABLE_BLOCK": "Luba ploki kasutamine",
+       "HELP": "Abi",
+       "UNDO": "Võta tagasi",
+       "REDO": "Tee uuesti",
+       "CHANGE_VALUE_TITLE": "Muuda väärtust:",
+       "RENAME_VARIABLE": "Nimeta muutuja ümber ...",
+       "RENAME_VARIABLE_TITLE": "Muutuja â€ž%1“ uus nimi:",
+       "NEW_VARIABLE": "Uus muutuja ...",
+       "NEW_VARIABLE_TITLE": "Uue muutuja nimi:",
+       "VARIABLE_ALREADY_EXISTS": "'%1'-nimeline muutuja on juba olemas.",
+       "DELETE_VARIABLE_CONFIRMATION": "Kas kustutada %1 kohas kasutatav muutuja '%2'?",
+       "DELETE_VARIABLE": "Kustuta muutuja '%1'",
+       "COLOUR_PICKER_HELPURL": "https://en.wikipedia.org/wiki/Color",
+       "COLOUR_PICKER_TOOLTIP": "Valitud värv paletist.",
+       "COLOUR_RANDOM_TITLE": "juhuslik värv",
+       "COLOUR_RANDOM_TOOLTIP": "Juhuslikult valitud värv.",
+       "COLOUR_RGB_TITLE": "segu",
+       "COLOUR_RGB_RED": "punasest",
+       "COLOUR_RGB_GREEN": "rohelisest",
+       "COLOUR_RGB_BLUE": "sinisest",
+       "COLOUR_RGB_TOOLTIP": "Tekitab värvi määratud hulgast punasest, rohelisest ja sinisest. Kõik väärtused peavad olema 0 ja 100 vahel.",
+       "COLOUR_BLEND_TITLE": "segu",
+       "COLOUR_BLEND_COLOUR1": "1. värvist",
+       "COLOUR_BLEND_COLOUR2": "2. värvist",
+       "COLOUR_BLEND_RATIO": "suhtega",
+       "COLOUR_BLEND_TOOLTIP": "Segab kaks värvi määratud suhtega (0.0 - 1.0) kokku.",
+       "CONTROLS_REPEAT_HELPURL": "https://en.wikipedia.org/wiki/For_loop",
+       "CONTROLS_REPEAT_TITLE": "%1 korda",
+       "CONTROLS_REPEAT_INPUT_DO": "käivita",
+       "CONTROLS_REPEAT_TOOLTIP": "Plokis olevate käskude käivitamine määratud arv kordi.",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "seni kuni on",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "seni kuni pole",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "Plokis olevaid käske korratakse seni kui avaldis on tõene.",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "Plokis olevaid käske korratakse seni kui avaldis pole tõene.",
+       "CONTROLS_FOR_TOOLTIP": "Annab muutujale '%1' väärtused ühest numbrist teiseni, muutes seda intervalli kaupa ja käivitab igal muudatusel ploki sees oleva koodi.",
+       "CONTROLS_FOR_TITLE": "loendus muutujaga %1 alates %2 kuni %3, %4 kaupa",
+       "CONTROLS_FOREACH_TITLE": "iga elemendiga %1 loendis %2",
+       "CONTROLS_FOREACH_TOOLTIP": "Iga elemendiga loendis anna muutujale '%1' elemendi väärtus ja kõivita plokis olevad käsud.",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "välju kordusest",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "katkesta see kordus ja liigu järgmisele",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "Väljub kordusest ja liigub edasi korduse järel oleva koodi käivitamisele.",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "Katkestab korduses oleva koodi käivitamise ja käivitab järgmise korduse.",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "Hoiatus: Seda plokki saab kasutada ainult korduse sees.",
+       "CONTROLS_IF_TOOLTIP_1": "Kui avaldis on tõene, käivita ploki sees olevad käsud.",
+       "CONTROLS_IF_TOOLTIP_2": "Kui avaldis on tõene, käivita käsud esimesest plokist. Vastasel juhul käivita käsud teisest plokist.",
+       "CONTROLS_IF_TOOLTIP_3": "Kui esimene avaldis on tõene, käivita käsud esimesest plokist. Vastasel juhul, kui teine avaldis on tõene, käivita käsud teisest plokist.",
+       "CONTROLS_IF_TOOLTIP_4": "Kui esimene avaldis on tõene, käivita käsud esimesest plokist. Vastasel juhul, kui teine avaldis on tõene, käivita käsud teisest plokist. Kui ükski avaldistest pole tõene, käivita käsud viimasest plokist.",
+       "CONTROLS_IF_MSG_IF": "kui",
+       "CONTROLS_IF_MSG_ELSEIF": "vastasel juhul, kui",
+       "CONTROLS_IF_MSG_ELSE": "vastasel juhul",
+       "CONTROLS_IF_IF_TOOLTIP": "Selle â€žkui“ ploki muutmine sektsioonide lisamise, eemaldamise ja järjestamisega.",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "Lisab â€žkui“ plokile tingimuse.",
+       "CONTROLS_IF_ELSE_TOOLTIP": "Lisab â€žkui“ plokile lõpliku tingimuseta koodiploki.",
+       "IOS_VARIABLES_DELETE_BUTTON": "Kustuta",
+       "IOS_VARIABLES_VARIABLE_NAME": "Muutuja nimi",
+       "IOS_VARIABLES_EMPTY_NAME_ERROR": "Tühja muutuja nime ei saa kasutada.",
+       "LOGIC_COMPARE_HELPURL": "https://en.wikipedia.org/wiki/Inequality_(mathematics)",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "Tagastab â€žtõene“, kui avaldiste väärtused on võrdsed.",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "Tagastab â€žtõene“, kui avaldiste väärtused pole võrdsed.",
+       "LOGIC_COMPARE_TOOLTIP_LT": "Tagastab â€žtõene“, kui esimese avaldise väärtus on väiksem kui teise väärtus.",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "Tagastab â€žtõene“, kui esimese avaldise väärtus on väiksem või võrdne teise väärtusega.",
+       "LOGIC_COMPARE_TOOLTIP_GT": "Tagastab â€žtõene“, kui esimese avaldise väärtus on suurem kui teise väärtus.",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "Tagastab â€žtõene“, kui esimese avaldise väärtus on suurem või võrdne teise väärtusega.",
+       "LOGIC_OPERATION_TOOLTIP_AND": "Tagastab â€žtõene“, kui mõlemad avaldised on tõesed.",
+       "LOGIC_OPERATION_AND": "ja",
+       "LOGIC_OPERATION_TOOLTIP_OR": "Tagastab â€žtõene“, kui vähemalt Ã¼ks avaldistest on tõene.",
+       "LOGIC_OPERATION_OR": "või",
+       "LOGIC_NEGATE_TITLE": "pole %1",
+       "LOGIC_NEGATE_TOOLTIP": "Tagastab â€žtõene“, kui avaldis on väär. Tagastab â€žväär“, kui avaldis on tõene.",
+       "LOGIC_BOOLEAN_TRUE": "tõene",
+       "LOGIC_BOOLEAN_FALSE": "väär",
+       "LOGIC_BOOLEAN_TOOLTIP": "Tagastab tõeväärtuse â€“ kas â€žtõene“ või â€žväär“.",
+       "LOGIC_NULL": "null",
+       "LOGIC_NULL_TOOLTIP": "Tagastab nulli.",
+       "LOGIC_TERNARY_CONDITION": "tingimus",
+       "LOGIC_TERNARY_IF_TRUE": "kui tõene",
+       "LOGIC_TERNARY_IF_FALSE": "kui väär",
+       "LOGIC_TERNARY_TOOLTIP": "Kui tingimuse väärtus on tõene, tagastab â€žkui tõene“ väärtuse, vastasel juhul â€žkui väär“ väärtuse.",
+       "MATH_NUMBER_HELPURL": "https://et.wikipedia.org/wiki/Arv",
+       "MATH_NUMBER_TOOLTIP": "Arv.",
+       "MATH_ARITHMETIC_HELPURL": "https://et.wikipedia.org/wiki/Aritmeetika",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "Tagastab kahe arvu summa.",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "Tagastab kahe arvu vahe.",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "Tagastab kahe arvu korrutise.",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "Tagastab kahe arvu jagatise.",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "Tagastab esimese arvu teise arvu astmes.",
+       "MATH_SINGLE_HELPURL": "https://et.wikipedia.org/wiki/Ruutjuur",
+       "MATH_SINGLE_OP_ROOT": "ruutjuur",
+       "MATH_SINGLE_TOOLTIP_ROOT": "Tagastab arvu ruutjuure.",
+       "MATH_SINGLE_OP_ABSOLUTE": "absoluutväärtus",
+       "MATH_SINGLE_TOOLTIP_ABS": "Tagastab arvu absoluutväärtuse.",
+       "MATH_SINGLE_TOOLTIP_NEG": "Tagastab arvu vastandväärtuse.",
+       "MATH_SINGLE_TOOLTIP_LN": "Tagastab arvu naturaallogaritmi.",
+       "MATH_SINGLE_TOOLTIP_LOG10": "Tagastab arvu kümnendlogaritm.",
+       "MATH_SINGLE_TOOLTIP_EXP": "Tagasta e arvu astmes.",
+       "MATH_SINGLE_TOOLTIP_POW10": "Tagastab 10 arvu astmes.",
+       "MATH_TRIG_HELPURL": "https://et.wikipedia.org/wiki/Trigonomeetrilised_funktsioonid",
+       "MATH_TRIG_TOOLTIP_SIN": "Tagastab arvu (kraadid) siinuse.",
+       "MATH_TRIG_TOOLTIP_COS": "Tagastab arvu (kraadid) kosiinuse.",
+       "MATH_TRIG_TOOLTIP_TAN": "Tagastab arvu (kraadid) tangensi.",
+       "MATH_TRIG_TOOLTIP_ASIN": "Tagastab arvu arkussiinuse.",
+       "MATH_TRIG_TOOLTIP_ACOS": "Tagastab arvu arkuskoosiinuse.",
+       "MATH_TRIG_TOOLTIP_ATAN": "Tagastab arvu arkustangensi.",
+       "MATH_CONSTANT_HELPURL": "https://en.wikipedia.org/wiki/Mathematical_constant",
+       "MATH_CONSTANT_TOOLTIP": "Tagastab Ã¼he konstantidest: Ï€ (3,141…), e (2,718…), Ï† (1.618…), âˆš2) (1,414…), âˆšÂ½ (0,707…), või âˆž (infinity).",
+       "MATH_IS_EVEN": "on paarisarv",
+       "MATH_IS_ODD": "on paaritu arv",
+       "MATH_IS_PRIME": "on algarv",
+       "MATH_IS_WHOLE": "on täisarv",
+       "MATH_IS_POSITIVE": "on positiivne arv",
+       "MATH_IS_NEGATIVE": "on negatiivne arv",
+       "MATH_IS_DIVISIBLE_BY": "jagub arvuga",
+       "MATH_IS_TOOLTIP": "Kontrollib kas arv on paarisarv, paaritu arv, algarv, täisarv, positiivne, negatiivne või jagub kindla arvuga. Tagastab â€žtõene“ või â€žväär“.",
+       "MATH_CHANGE_HELPURL": "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter",
+       "MATH_CHANGE_TITLE": "muuda %1 %2 võrra",
+       "MATH_CHANGE_TOOLTIP": "Lisab arvu muutujale '%1'.",
+       "MATH_ROUND_HELPURL": "https://en.wikipedia.org/wiki/Rounding",
+       "MATH_ROUND_TOOLTIP": "Ümardab arvu üles või alla.",
+       "MATH_ROUND_OPERATOR_ROUND": "ümarda",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "ümarda üles",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "ümarda alla",
+       "MATH_ONLIST_OPERATOR_SUM": "loendi summa",
+       "MATH_ONLIST_TOOLTIP_SUM": "Tagastab kõigi loendis olevate arvude summa.",
+       "MATH_ONLIST_OPERATOR_MIN": "loendi miinimum",
+       "MATH_ONLIST_TOOLTIP_MIN": "Tagastab väikseima loendis oleva arvu.",
+       "MATH_ONLIST_OPERATOR_MAX": "loendi maksimum",
+       "MATH_ONLIST_TOOLTIP_MAX": "Tagastab suurima loendis oleva arvu.",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "loendi keskmine",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "Tagastab loendis olevate arvväärtuste aritmeetilise keskmise.",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "loendi mediaan",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "Return the median number in the list.",
+       "MATH_ONLIST_OPERATOR_MODE": "loendi moodid",
+       "MATH_ONLIST_TOOLTIP_MODE": "Tagastab loendi kõige sagedamini esinevate loendi liikmetega.",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "loendi standardhälve",
+       "MATH_ONLIST_TOOLTIP_STD_DEV": "Tagastab loendi standardhälbe.",
+       "MATH_ONLIST_OPERATOR_RANDOM": "juhuslik element loendist",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "Tagastab juhusliku elemendi loendist.",
+       "MATH_MODULO_HELPURL": "https://en.wikipedia.org/wiki/Modulo_operation",
+       "MATH_MODULO_TITLE": "%1 ÷ %2 jääk",
+       "MATH_MODULO_TOOLTIP": "Tagastab esimese numbri teisega jagamisel tekkiva jäägi.",
+       "MATH_CONSTRAIN_TITLE": "%1 piirang %2 ja %3 vahele",
+       "MATH_CONSTRAIN_TOOLTIP": "Piirab arvu väärtuse toodud piiridesse (piirarvud kaasa arvatud).",
+       "MATH_RANDOM_INT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_INT_TITLE": "juhuslik täisarv %1 ja %2 vahel",
+       "MATH_RANDOM_INT_TOOLTIP": "Tagastab juhusliku täisarvu toodud piiride vahel (piirarvud kaasa arvatud).",
+       "MATH_RANDOM_FLOAT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "juhuslik murdosa",
+       "MATH_RANDOM_FLOAT_TOOLTIP": "Tagastab juhusliku murdosa 0.0 (kaasa arvatud) and 1.0 (välja arvatud) vahel.",
+       "TEXT_TEXT_HELPURL": "https://en.wikipedia.org/wiki/String_(computer_science)",
+       "TEXT_TEXT_TOOLTIP": "Täht, sõna või rida teksti.",
+       "TEXT_JOIN_TITLE_CREATEWITH": "tekita tekst",
+       "TEXT_JOIN_TOOLTIP": "Tekitab teksti ühendades mistahes arvu elemente.",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "ühenda",
+       "TEXT_CREATE_JOIN_TOOLTIP": "Tekstiploki muutmine sektsioonide lisamise, eemaldamise või järjestuse muutmisega.",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "Objekti lisamine tekstile.",
+       "TEXT_APPEND_TITLE": "lisa muutuja %1 lõppu tekst %2",
+       "TEXT_APPEND_TOOLTIP": "Lisab teksti muutuja â€ž%1“ väärtuse lõppu.",
+       "TEXT_LENGTH_TITLE": "%1 pikkus",
+       "TEXT_LENGTH_TOOLTIP": "Tagastab sümbolite aru (ka tühikud) toodud tekstis.",
+       "TEXT_ISEMPTY_TITLE": "%1 on tühi",
+       "TEXT_ISEMPTY_TOOLTIP": "Tagastab â€žtõene“, kui tekstis pole Ã¼htegi sümbolit.",
+       "TEXT_INDEXOF_TOOLTIP": "Tagastab esimesest tekstist esimese/viimase leitud teise teksti asukoha (indeksi). Kui teksti ei leita, tagastab %1.",
+       "TEXT_INDEXOF_TITLE": "tekstist %1 %2 %3 asukoht",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "esimese leitud tekstitüki",
+       "TEXT_INDEXOF_OPERATOR_LAST": "viimase leitud tekstitüki",
+       "TEXT_CHARAT_FROM_START": "sümbol #",
+       "TEXT_CHARAT_FROM_END": "lõpust sümbol #",
+       "TEXT_CHARAT_FIRST": "esimene sümbol",
+       "TEXT_CHARAT_LAST": "viimane sümbol",
+       "TEXT_CHARAT_RANDOM": "juhuslik sümbol",
+       "TEXT_CHARAT_TOOLTIP": "Tagastab tekstis määratud asukohal oleva sümboli.",
+       "TEXT_GET_SUBSTRING_TOOLTIP": "Tagastab määratud tüki tekstist.",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "tekstist",
+       "TEXT_GET_SUBSTRING_START_FROM_START": "alates sümbolist #",
+       "TEXT_GET_SUBSTRING_START_FROM_END": "alates (lõpust) sümbolist #",
+       "TEXT_GET_SUBSTRING_START_FIRST": "alates esimesest sümbolist",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "kuni sümbolini #",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "kuni (lõpust) sümbolini #",
+       "TEXT_GET_SUBSTRING_END_LAST": "kuni viimase sümbolini",
+       "TEXT_CHANGECASE_TOOLTIP": "Tagastab muudetud tähesuurusega teksti koopia.",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "SUURTE TÄHTEDEGA",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "väikeste tähtedega",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": "Suurte Esitähtedega",
+       "TEXT_TRIM_TOOLTIP": "Tagastab koopia tekstist, millel on tühikud ühelt või mõlemalt poolt eemaldatud.",
+       "TEXT_TRIM_OPERATOR_BOTH": "mõlemalt poolt eemaldatud tühikutega",
+       "TEXT_TRIM_OPERATOR_LEFT": "algusest eemaldatud tühikutega",
+       "TEXT_TRIM_OPERATOR_RIGHT": "lõpust eemaldatud tühikutega",
+       "TEXT_PRINT_TITLE": "trüki %1",
+       "TEXT_PRINT_TOOLTIP": "Trükib määratud teksti, numbri või mõne muu objekti väärtuse.",
+       "TEXT_PROMPT_TYPE_TEXT": "kasutajalt küsitud tekst teatega",
+       "TEXT_PROMPT_TYPE_NUMBER": "kasutajalt küsitud arv teatega",
+       "TEXT_PROMPT_TOOLTIP_NUMBER": "Küsib kasutajalt teadet näidates mingit arvu.",
+       "TEXT_PROMPT_TOOLTIP_TEXT": "Küsib kasutajalt teadet näidates mingit teksti.",
+       "TEXT_COUNT_TOOLTIP": "Loenda, mitu korda mingi tekst esineb teise teksti sees.",
+       "LISTS_CREATE_EMPTY_TITLE": "tühi loend",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "Tagastab loendi, mille pikkus on 0 ja milles pole ühtegi elementi.",
+       "LISTS_CREATE_WITH_TOOLTIP": "Tekitab mistahes arvust elementidest loendi.",
+       "LISTS_CREATE_WITH_INPUT_WITH": "uus loend",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "loend",
+       "LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "Loendiploki elementide lisamine, eemaldamine või järjestuse muutmine.",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "Elemendi lisamine loendisse.",
+       "LISTS_REPEAT_TOOLTIP": "Tekitab uue loendi, millesse lisatakse ühte elementi pikkusega määratud arv kordi.",
+       "LISTS_REPEAT_TITLE": "loend pikkusega %2 elemendist %1",
+       "LISTS_LENGTH_TITLE": "%1 pikkus",
+       "LISTS_LENGTH_TOOLTIP": "Tagastab loendi pikkuse.",
+       "LISTS_ISEMPTY_TITLE": "%1 on tühi",
+       "LISTS_ISEMPTY_TOOLTIP": "Tagastab â€žtõene“ kui loend on tühi.",
+       "LISTS_INLIST": "loendis",
+       "LISTS_INDEX_OF_FIRST": "esimene leitud",
+       "LISTS_INDEX_OF_LAST": "viimase leitud",
+       "LISTS_INDEX_OF_TOOLTIP": "Tagastab esimese/viimase loendist leitud objekti asukoha (objekti järjekorranumbri loendis). Kui objekti ei leita, tagastab %1.",
+       "LISTS_GET_INDEX_GET": "võetud",
+       "LISTS_GET_INDEX_GET_REMOVE": "võetud ja eemaldatud",
+       "LISTS_GET_INDEX_REMOVE": "eemalda",
+       "LISTS_GET_INDEX_FROM_START": "element #",
+       "LISTS_GET_INDEX_FROM_END": "element # (lõpust)",
+       "LISTS_GET_INDEX_FIRST": "esimene element",
+       "LISTS_GET_INDEX_LAST": "viimane element",
+       "LISTS_GET_INDEX_RANDOM": "juhuslik element",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "Esimene element on %1.",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "Viimane element on %1.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "Tagastab loendis määratud asukohal oleva elemendi.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "Tagastab loendi esimese elemendi.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "Tagastab loendi viimase elemendi.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "Tagastab loendi juhusliku elemendi.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "Tagastab ja eemaldab loendist määratud asukohal oleva elemendi.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "Tagastab ja eemaldab loendist esimese elemendi.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "Tagastab ja eemaldab loendist viimase elemendi.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "Tagastab ja eemaldab loendist juhusliku elemendi.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "Eemaldab loendist määratud asukohal oleva elemendi.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "Eemaldab loendist esimese elemendi.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "Eemaldab loendist viimase elemendi.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "Eemaldab loendist juhusliku elemendi.",
+       "LISTS_SET_INDEX_SET": "asenda",
+       "LISTS_SET_INDEX_INSERT": "lisa asukohale",
+       "LISTS_SET_INDEX_INPUT_TO": ", väärtus",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "Asendab loendis määratud kohal oleva elemendi.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "Asendab loendis esimese elemendi.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_LAST": "Asendab loendis viimase elemendi.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "Asendab loendis juhusliku elemendi.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "Lisab määratud asukohale loendis uue elemendi.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "Lisab loendi algusesse uue elemendi.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "Lisab loendi lõppu uue elemendi.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "Lisab juhuslikule kohale loendis uue elemendi.",
+       "LISTS_GET_SUBLIST_START_FROM_START": "alamloend elemendist #",
+       "LISTS_GET_SUBLIST_START_FROM_END": "alamloend elemendist # (lõpust)",
+       "LISTS_GET_SUBLIST_START_FIRST": "alamloend algusest",
+       "LISTS_GET_SUBLIST_END_FROM_START": "elemendini #",
+       "LISTS_GET_SUBLIST_END_FROM_END": "elemendini # (lõpust)",
+       "LISTS_GET_SUBLIST_END_LAST": "lõpuni",
+       "LISTS_GET_SUBLIST_TOOLTIP": "Tekitab loendi määratud osast koopia.",
+       "LISTS_SORT_HELPURL": "https://github.com/google/blockly/wiki/Lists#sorting-a-list",
+       "LISTS_SORT_TITLE": "%1 %2 sorteeritud %3",
+       "LISTS_SORT_TOOLTIP": "Loendi koopia sorteerimine.",
+       "LISTS_SORT_ORDER_ASCENDING": "kasvavalt",
+       "LISTS_SORT_ORDER_DESCENDING": "kahanevalt",
+       "LISTS_SORT_TYPE_NUMERIC": "arvväärtuste järgi",
+       "LISTS_SORT_TYPE_TEXT": "tähestiku järgi",
+       "LISTS_SORT_TYPE_IGNORECASE": "tähestiku järgi (tähesuurust eirates)",
+       "LISTS_SPLIT_LIST_FROM_TEXT": "loend, tekitatud tekstist",
+       "LISTS_SPLIT_TEXT_FROM_LIST": "tekst, tekitatud loendist",
+       "LISTS_SPLIT_WITH_DELIMITER": "eraldajaga",
+       "LISTS_SPLIT_TOOLTIP_SPLIT": "Tükeldab teksti eraldajade kohalt ja asetab tükid tekstide loendisse.",
+       "LISTS_SPLIT_TOOLTIP_JOIN": "Ühendab tekstide loendis olevad tükid üheks tekstiks, asetades tükkide vahele eraldaja.",
+       "VARIABLES_GET_TOOLTIP": "Tagastab selle muutuja väärtuse.",
+       "VARIABLES_GET_CREATE_SET": "Tekita 'määra â€ž%1“ väärtuseks' plokk",
+       "VARIABLES_SET": "määra %1 väärtuseks %2",
+       "VARIABLES_SET_TOOLTIP": "Määrab selle muutuja väärtuse võrdseks sisendi väärtusega.",
+       "VARIABLES_SET_CREATE_GET": "Tekita '„%1“ väärtus' plokk",
+       "PROCEDURES_DEFNORETURN_TITLE": "funktsioon",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "teeme midagi",
+       "PROCEDURES_BEFORE_PARAMS": "sisenditega:",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "sisenditega:",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "Tekitab funktsiooni, mis ei tagasta midagi.",
+       "PROCEDURES_DEFNORETURN_COMMENT": "Funktsiooni kirjeldus ...",
+       "PROCEDURES_DEFRETURN_RETURN": "tagasta",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "Tekitab funktsiooni, mis tagastab midagi.",
+       "PROCEDURES_ALLOW_STATEMENTS": "kood plokis",
+       "PROCEDURES_DEF_DUPLICATE_WARNING": "Hoiatus: Sel funktsioonil on mitu sama nimega sisendit.",
+       "PROCEDURES_CALLNORETURN_HELPURL": "https://et.wikipedia.org/wiki/Alamprogramm",
+       "PROCEDURES_CALLNORETURN_TOOLTIP": "Käivitab kasutaja defineeritud funktsiooni '%1'.",
+       "PROCEDURES_CALLRETURN_HELPURL": "https://et.wikipedia.org/wiki/Alamprogramm",
+       "PROCEDURES_CALLRETURN_TOOLTIP": "Run the user-defined function '%1' and use its output.",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "sisendid",
+       "PROCEDURES_MUTATORCONTAINER_TOOLTIP": "Funktsiooni sisendite lisamine, eemaldamine või järjestuse muutmine.",
+       "PROCEDURES_MUTATORARG_TITLE": "sisend nimega:",
+       "PROCEDURES_MUTATORARG_TOOLTIP": "Lisab funktsioonile sisendi.",
+       "PROCEDURES_HIGHLIGHT_DEF": "Tõsta funktsiooni definitsioon esile",
+       "PROCEDURES_CREATE_DO": "Tekita '%1' plokk",
+       "PROCEDURES_IFRETURN_TOOLTIP": "Kui väärtus on tõene, tagastatakse teine väärtus.",
+       "PROCEDURES_IFRETURN_WARNING": "Hoiatus: Seda plokki saab kasutada ainult funktsiooni definitsioonis."
+}
diff --git a/js/msg/json/eu.json b/js/msg/json/eu.json
new file mode 100644 (file)
index 0000000..9c20983
--- /dev/null
@@ -0,0 +1,230 @@
+{
+       "@metadata": {
+               "authors": [
+                       "An13sa",
+                       "Asieriko",
+                       "Mikel Ibaiba",
+                       "Subi",
+                       "RFenichel",
+                       "Amaia",
+                       "EukeneFL"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "Elementua",
+       "TODAY": "Gaur",
+       "DUPLICATE_BLOCK": "Bikoiztu",
+       "ADD_COMMENT": "Iruzkina gehitu",
+       "REMOVE_COMMENT": "Iruzkina ezabatu",
+       "DUPLICATE_COMMENT": "Iruzkina bikoiztu",
+       "EXTERNAL_INPUTS": "Kanpoko sarrerak",
+       "INLINE_INPUTS": "Inpuntak Linean",
+       "DELETE_BLOCK": "Ezabatu blokea",
+       "DELETE_X_BLOCKS": "Ezabatu %1 bloke",
+       "DELETE_ALL_BLOCKS": "Ezabatu %1 blokeak?",
+       "CLEAN_UP": "Blokeak garbitu",
+       "COLLAPSE_BLOCK": "Blokea kolapsatu",
+       "COLLAPSE_ALL": "Blokeak kolapsatu",
+       "EXPAND_BLOCK": "Blokea Hedatu",
+       "EXPAND_ALL": "Blokeak Hedatu",
+       "DISABLE_BLOCK": "Ezgaitu blokea",
+       "ENABLE_BLOCK": "Gaitu blokea",
+       "HELP": "Laguntza",
+       "UNDO": "Desegin",
+       "REDO": "Berregin",
+       "CHANGE_VALUE_TITLE": "Aldatu balioa:",
+       "RENAME_VARIABLE": "Aldatu aldagaiaren izena...",
+       "RENAME_VARIABLE_TITLE": "Aldatu '%1' aldagai guztien izenak eta izen hau eman:",
+       "NEW_VARIABLE": "Aldagaia sortu...",
+       "NEW_STRING_VARIABLE": "Kate aldakorra sortu...",
+       "NEW_NUMBER_VARIABLE": "Zenbaki aldagaia sortu...",
+       "NEW_COLOUR_VARIABLE": "Kolore aldagaia sortu...",
+       "NEW_VARIABLE_TYPE_TITLE": "Aldagai berriaren izena:",
+       "NEW_VARIABLE_TITLE": "Aldagai berriaren izena:",
+       "VARIABLE_ALREADY_EXISTS": "%1 parametro izena dagoeneko existitzen da",
+       "VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE": "%1 izeneko aldagaia dagoeneko existitzen da %2 motako beste aldagai batekin.",
+       "DELETE_VARIABLE_CONFIRMATION": "Ezabatu %2 aldagaiaren %1 erabilerak?",
+       "CANNOT_DELETE_VARIABLE_PROCEDURE": "Ezin da '%1' aldagaia ezabatu '%2' funtzioaren definizioaren zati delako.",
+       "DELETE_VARIABLE": "%1 parametro izena ezabatu.",
+       "COLOUR_PICKER_HELPURL": "https://eu.wikipedia.org/wiki/Kolore",
+       "COLOUR_PICKER_TOOLTIP": "Hautatu kolore bat paletatik.",
+       "COLOUR_RANDOM_TITLE": "ausazko kolorea",
+       "COLOUR_RANDOM_TOOLTIP": "Aukeratu ausaz kolore bat.",
+       "COLOUR_RGB_TITLE": "colour with",
+       "COLOUR_RGB_RED": "gorria",
+       "COLOUR_RGB_GREEN": "berdea",
+       "COLOUR_RGB_BLUE": "urdina",
+       "COLOUR_RGB_TOOLTIP": "Sortu kolorea zehaztutako gorriz, berdearekin eta urdinekin. Balio guztiak 0 eta 100 artean egon behar dira.",
+       "COLOUR_BLEND_TITLE": "Nahastu",
+       "COLOUR_BLEND_COLOUR1": "1 Kolorea",
+       "COLOUR_BLEND_COLOUR2": "2 Kolorea",
+       "COLOUR_BLEND_RATIO": "Ratioa",
+       "COLOUR_BLEND_TOOLTIP": "Bi koloreko nahasketak erlazio jakin batekin nahasten ditu (0.0-1.0)",
+       "CONTROLS_REPEAT_HELPURL": "https://eu.wikipedia.org/wiki/For_begizta",
+       "CONTROLS_REPEAT_TITLE": "errepikatu %1 aldiz",
+       "CONTROLS_REPEAT_INPUT_DO": "egin",
+       "CONTROLS_REPEAT_TOOLTIP": "Adierazpen batzuk hainbat aldiz egin.",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "bitartean errepikatu",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "arte errepikatu",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "Balorea egia den bitartean, egin adierazpen batzuk.",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "Balorea gezurra den bitartean, egin adierazpen batzuk.",
+       "CONTROLS_FOR_TOOLTIP": "%1 aldagaiak hasierako zenbakiaren eta amaierako zenbakirako balioak hartzen ditu, zehaztutako tartea zenbatzen du eta zehaztutako blokeak egin.",
+       "CONTROLS_FOR_TITLE": "%1 zenbatu %2-tik %3-ra %4-ra",
+       "CONTROLS_FOREACH_TITLE": "%1 elementu bakoitzeko %2 zerrendan",
+       "CONTROLS_FOREACH_TOOLTIP": "Zerrendako elementu bakoitzarentzat, ezarri %1 aldagaia elementura, eta egin adierazpen batzuk.",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "begizta eten",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "jarraitu hurrengo begizta iterazioarekin",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "Agertzen den begiztatik ihes egin.",
+       "CONTROLS_IF_TOOLTIP_1": "Balorea egia den bitartean, egin adierazpen batzuk.",
+       "CONTROLS_IF_TOOLTIP_2": "Balorea egia bada, orduan egin ezazu lehenengo adierazpen blokea. Bestela, egin ezazu bigarren adierazpen blokea.",
+       "CONTROLS_IF_TOOLTIP_3": "Lehenengo balorea egia bada, orduan egin ezazu lehenengo adierazpen blokea. Bestela, bigarren balorea egia bada, egin ezazu bigarren adierazpen blokea.",
+       "CONTROLS_IF_TOOLTIP_4": "Lehenengo balorea egia bada, orduan egin ezazu lehenengo adierazpen blokea. Bestela, bigarren balorea egia bada, egin ezazu bigarren adierazpen blokea. Baloreetako bat ere ez bada egia, egin ezazu adierazpenen azkeneko blokea.",
+       "CONTROLS_IF_MSG_IF": "baldin eta",
+       "CONTROLS_IF_MSG_ELSEIF": "bestela baldin eta",
+       "CONTROLS_IF_MSG_ELSE": "bestela",
+       "CONTROLS_IF_IF_TOOLTIP": "Gehitu, ezabatu, ala berrantolatu aukeraketak \"ba\" bloke hau berrezartzeko.",
+       "IOS_OK": "Ados",
+       "IOS_CANCEL": "Utzi",
+       "IOS_ERROR": "Errorea",
+       "IOS_PROCEDURES_INPUTS": "SARRERAK",
+       "IOS_PROCEDURES_ADD_INPUT": "+ Gehitu sarrera",
+       "IOS_PROCEDURES_ALLOW_STATEMENTS": "Adierazpenak baimendu",
+       "IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR": "Funtzio honek errepikatutako sarrerak ditu.",
+       "IOS_VARIABLES_ADD_VARIABLE": "+ Gehitu aldagaia",
+       "IOS_VARIABLES_ADD_BUTTON": "Gehitu",
+       "IOS_VARIABLES_RENAME_BUTTON": "Izena aldatu",
+       "IOS_VARIABLES_DELETE_BUTTON": "Ezabatu",
+       "IOS_VARIABLES_VARIABLE_NAME": "Aldagaiaren izena",
+       "IOS_VARIABLES_EMPTY_NAME_ERROR": "Ezin duzu aldagaiaren izen huts bat erabili.",
+       "LOGIC_COMPARE_HELPURL": "https://eu.wikipedia.org/wiki/Desberdintza",
+       "LOGIC_OPERATION_AND": "eta",
+       "LOGIC_OPERATION_OR": "edo",
+       "LOGIC_NEGATE_TITLE": "ez %1",
+       "LOGIC_BOOLEAN_TRUE": "egia",
+       "LOGIC_BOOLEAN_FALSE": "gezurra",
+       "LOGIC_NULL": "nulu",
+       "LOGIC_TERNARY_CONDITION": "Froga",
+       "LOGIC_TERNARY_IF_TRUE": "egia bada",
+       "LOGIC_TERNARY_IF_FALSE": "gezurra bada",
+       "MATH_NUMBER_HELPURL": "https://eu.wikipedia.org/wiki/Zenbaki",
+       "MATH_NUMBER_TOOLTIP": "Zenbaki bat.",
+       "MATH_ARITHMETIC_HELPURL": "https://eu.wikipedia.org/wiki/Aritmetika",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "Bi zenbakien batura ematen du.",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "Bi zenbakien kendura ematen du.",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "Bi zenbakien biderkadura ematen du.",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "Bi zenbakien zatidura ematen du.",
+       "MATH_SINGLE_HELPURL": "https://eu.wikipedia.org/wiki/Erro_karratu",
+       "MATH_SINGLE_OP_ROOT": "erro karratua",
+       "MATH_SINGLE_TOOLTIP_ROOT": "Zenbaki baten erro karratua ematen du.",
+       "MATH_SINGLE_OP_ABSOLUTE": "absolutua",
+       "MATH_SINGLE_TOOLTIP_ABS": "Zenbaki baten balio absolutua ematen du.",
+       "MATH_SINGLE_TOOLTIP_LN": "Zenbaki baten logaritmo naturala ematen du.",
+       "MATH_TRIG_HELPURL": "https://eu.wikipedia.org/wiki/Funtzio_trigonometriko",
+       "MATH_TRIG_TOOLTIP_ASIN": "Zenbaki baten arku sinua ematen du.",
+       "MATH_TRIG_TOOLTIP_ACOS": "Zenbaki baten arku kosinua ematen du.",
+       "MATH_TRIG_TOOLTIP_ATAN": "Zenbaki baten arku tangentea ematen du.",
+       "MATH_CONSTANT_TOOLTIP": "Konstante ohikoenetako bat itzultzen du: Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), edo âˆž (infinitua).",
+       "MATH_IS_EVEN": "bikoitia da",
+       "MATH_IS_ODD": "bakoitia da",
+       "MATH_IS_PRIME": "zenbaki lehena da",
+       "MATH_IS_WHOLE": "zenbaki osoa da",
+       "MATH_IS_POSITIVE": "positiboa da",
+       "MATH_IS_NEGATIVE": "negatiboa da",
+       "MATH_IS_DIVISIBLE_BY": "honakoaz zatigarria da",
+       "MATH_CHANGE_TITLE": "aldatu %1 %2(e)ra",
+       "MATH_CHANGE_TOOLTIP": "Gehitu zenbakia '%1' aldagaiari.",
+       "MATH_ROUND_HELPURL": "https://eu.wikipedia.org/wiki/Biribiltze",
+       "MATH_ROUND_TOOLTIP": "Zenbaki bat gehiagoz edo gutxiagoz biribildu.",
+       "MATH_ROUND_OPERATOR_ROUND": "biribildu",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "gehiagoz biribildu",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "gutxiagoz biribildu",
+       "MATH_ONLIST_OPERATOR_SUM": "zerrendaren batura",
+       "MATH_ONLIST_TOOLTIP_SUM": "Eman zerrendako zenbaki guztien batura.",
+       "MATH_ONLIST_OPERATOR_MIN": "zerrendako minimoa",
+       "MATH_ONLIST_TOOLTIP_MIN": "Eman zerrendako zenbakirik txikiena.",
+       "MATH_ONLIST_OPERATOR_MAX": "zerrendako maximoa",
+       "MATH_ONLIST_TOOLTIP_MAX": "Eman zerrendako zenbakirik handiena.",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "zerrendaren batazbestekoa",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "Zerrendako zenbakizko balioen batazbestekoa (aritmetikoa) itzultzen du.",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "zerrendako mediana",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "Eman zerrendako zenbaki media.",
+       "MATH_ONLIST_OPERATOR_MODE": "zerrendako modak",
+       "MATH_ONLIST_TOOLTIP_MODE": "Bueltatu artikulurik ohikoenetarikoen zerrenda.",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "zerrendako deribazio estandarra",
+       "MATH_ONLIST_OPERATOR_RANDOM": "zerrendako artikulu aleatorioa",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "Itzuli zerrendako elementu aleatorioa.",
+       "MATH_MODULO_HELPURL": "https://en.wikipedia.org/wiki/Modulo_operation",
+       "MATH_MODULO_TITLE": "%1 ÷ %2(r)en oroigarria",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "zatiki aleatorioa",
+       "TEXT_TEXT_HELPURL": "https://en.wikipedia.org/wiki/String_(computer_science)",
+       "TEXT_TEXT_TOOLTIP": "Letra bat, hitza edo testuko lerroa.",
+       "TEXT_JOIN_TITLE_CREATEWITH": "Testua sortu hurrengoarekin",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "elkartu",
+       "TEXT_CREATE_JOIN_TOOLTIP": "Gehitu, ezabatu, ala berrantolatu aukeraketak testu bloke hau berrezartzeko.",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "Gehitu artikulu bat testura.",
+       "TEXT_APPEND_TITLE": "%1tik testu atxikita %2",
+       "TEXT_LENGTH_TITLE": "%1(r)en luzeera",
+       "TEXT_ISEMPTY_TITLE": "%1 hutsik dago",
+       "TEXT_INDEXOF_TITLE": "testuan %1 %2 %3",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "bilatu testuaren lehenengo agerpena",
+       "TEXT_INDEXOF_OPERATOR_LAST": "bilatu testuaren azkenengo agerpena",
+       "TEXT_CHARAT_TITLE": "testuan %1 %2",
+       "TEXT_CHARAT_FROM_START": "hartu # letra",
+       "TEXT_CHARAT_FROM_END": "hartu # letra bukaeratik",
+       "TEXT_CHARAT_FIRST": "hartu lehenengo letra",
+       "TEXT_CHARAT_LAST": "hartu azkenengo letra",
+       "TEXT_CHARAT_RANDOM": "letra aleatorioa lortu",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "testuan",
+       "TEXT_PRINT_TITLE": "inprimatu %1",
+       "TEXT_PRINT_TOOLTIP": "zehaztutako testua, zenbakia edo bestelako balioa inprimatzen du.",
+       "TEXT_REVERSE_MESSAGE0": "%1(e)ri buelta eman",
+       "LISTS_CREATE_EMPTY_TITLE": "sortu zerrenda hutsa",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "Zerrenda bat itzultzen du, 0 luzera duena, daturik gabekoa",
+       "LISTS_CREATE_WITH_INPUT_WITH": "Zerrenda sortu hurrengoarekin",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "zerrenda",
+       "LISTS_LENGTH_TITLE": "zerrendaren luzera",
+       "LISTS_LENGTH_TOOLTIP": "zerrendaren luzera itzultzen du",
+       "LISTS_ISEMPTY_TITLE": "%1 hutsik dago",
+       "LISTS_ISEMPTY_TOOLTIP": "egia itzultzen du zerrenda hutsik badago.",
+       "LISTS_INLIST": "zerrendan",
+       "LISTS_GET_INDEX_GET": "lortu",
+       "LISTS_GET_INDEX_GET_REMOVE": "lortu eta kendu",
+       "LISTS_GET_INDEX_REMOVE": "kendu",
+       "LISTS_GET_INDEX_FIRST": "lehena",
+       "LISTS_GET_INDEX_LAST": "azkena",
+       "LISTS_GET_INDEX_RANDOM": "ausazkoa",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "%1 lehenengo artikulua da.",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "%1 azken artikulua da.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "Artikulua zerrendako posizio zehatz batera bueltatzen du.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "Lehenengo artikulua zerrendara bueltatzen du.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "Azken artikulua zerrendara bueltatzen du.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "Artikulu aleatorioa zerrendara bueltatzen du.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "Artikulua zerrendako posizio zehatz batera kentzen eta bueltatzen du.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "Lehenengo artikulua zerrendako posizio zehatz batera kentzen eta bueltatzen du.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "Zerrendako azken artikulua kentzen eta bueltatzen du.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "Artikulu aleatorio bat zerrendatik kentzen eta bueltatzen du.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "Artikulua zerrendako posizio zehatz batetik kentzen du.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "Lehenengo artikulua zerrendatik kentzen du.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "Azken artikulua zerrendatik kentzen du.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "Artikulu aleatorioa zerrendatik kentzen du.",
+       "LISTS_SET_INDEX_SET": "ezarri",
+       "LISTS_SET_INDEX_INPUT_TO": "honela",
+       "LISTS_SORT_ORDER_ASCENDING": "goranzkoa",
+       "LISTS_SORT_ORDER_DESCENDING": "beheranzkoa",
+       "LISTS_SORT_TYPE_NUMERIC": "Zenbakizkoa",
+       "LISTS_SORT_TYPE_TEXT": "Alfabetikoki",
+       "LISTS_SPLIT_LIST_FROM_TEXT": "Testuatik lista sortu",
+       "LISTS_SPLIT_TEXT_FROM_LIST": "listatik testua sortu",
+       "PROCEDURES_DEFNORETURN_TITLE": "honi",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "egin zerbait",
+       "PROCEDURES_BEFORE_PARAMS": "honekin",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "honekin",
+       "PROCEDURES_DEFRETURN_RETURN": "itzuli",
+       "PROCEDURES_DEF_DUPLICATE_WARNING": "Abisua: Funtzio honek parametro bikoiztuak dauzka.",
+       "PROCEDURES_CALLNORETURN_HELPURL": "https://en.wikipedia.org/wiki/Azpierrutina",
+       "PROCEDURES_CALLRETURN_HELPURL": "https://en.wikipedia.org/wiki/Azpierrutina",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "sarrerak",
+       "PROCEDURES_MUTATORARG_TITLE": "sarreraren izena:",
+       "PROCEDURES_CREATE_DO": "'%1' sortu",
+       "PROCEDURES_IFRETURN_TOOLTIP": "Balioa egiazkoa bada, orduan itzuli bigarren baliora.",
+       "WORKSPACE_COMMENT_DEFAULT_TEXT": "Esan zerbait..."
+}
diff --git a/js/msg/json/fa.json b/js/msg/json/fa.json
new file mode 100644 (file)
index 0000000..4417b97
--- /dev/null
@@ -0,0 +1,341 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Ebraminio",
+                       "Reza1615",
+                       "Alirezaaa",
+                       "Mehran",
+                       "MohandesWiki",
+                       "Dalba",
+                       "Hamisun",
+                       "Nhzandi",
+                       "Arash.pt",
+                       "Hossein.safavi"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "مورد",
+       "TODAY": "امروز",
+       "DUPLICATE_BLOCK": "تکراری",
+       "ADD_COMMENT": "اÙزودن Ù†Ø¸Ø±",
+       "REMOVE_COMMENT": "حذ٠نظر",
+       "EXTERNAL_INPUTS": "ورودی‌های Ø®Ø§Ø±Ø¬ÛŒ",
+       "INLINE_INPUTS": "ورودی‌های Ø¯Ø±ÙˆÙ† Ø®Ø·ÛŒ",
+       "DELETE_BLOCK": "حذ٠بلوک",
+       "DELETE_X_BLOCKS": "حذ٠بلوک‌های %1",
+       "DELETE_ALL_BLOCKS": "حذ٠همهٔ Ø¨Ù„اک‌های %1ØŸ",
+       "CLEAN_UP": "تمیز Ú©Ø±Ø¯Ù† Ø¨Ù„وک‌ها",
+       "COLLAPSE_BLOCK": "Ùروپاشی Ø¨Ù„ÙˆÚ©",
+       "COLLAPSE_ALL": "Ùروپاشی Ø¨Ù„وک‌ها",
+       "EXPAND_BLOCK": "گسترش Ø¨Ù„ÙˆÚ©",
+       "EXPAND_ALL": "گسترش Ø¨Ù„وک‌ها",
+       "DISABLE_BLOCK": "غیرÙعال‌سازی Ø¨Ù„ÙˆÚ©",
+       "ENABLE_BLOCK": "Ùعال‌سازی Ø¨Ù„ÙˆÚ©",
+       "HELP": "راهنما",
+       "UNDO": "واگردانی",
+       "REDO": "انجام Ø¯ÙˆØ¨Ø§Ø±Ù‡",
+       "CHANGE_VALUE_TITLE": "تغییر Ù…قدار:",
+       "RENAME_VARIABLE": "تغییر Ù†Ø§Ù… Ù…تغیر...",
+       "RENAME_VARIABLE_TITLE": "تغییر Ù†Ø§Ù… Ù‡Ù…Ù‡Ù” Ù…تغیرهای Â«%1» Ø¨Ù‡:",
+       "NEW_VARIABLE": "ایجاد Ù…تغیر...",
+       "NEW_VARIABLE_TITLE": "نام Ù…تغیر ØªØ§Ø²Ù‡:",
+       "VARIABLE_ALREADY_EXISTS": "متغیری Ø¨Ø§ Ù†Ø§Ù… '%1' Ù‡Ù… Ø§Ú©Ù†ÙˆÙ† ÙˆØ¬ÙˆØ¯ Ø¯Ø§Ø±Ø¯",
+       "VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE": "در Ø­Ø§Ù„ Ø­Ø§Ø¶Ø± ÛŒÚ© Ù…تغیر Ø¨Ø§ Ù†Ø§Ù… '%1' Ø¨Ø±Ø§ÛŒ Ù…تغیر Ø¯ÛŒÚ¯Ø±ÛŒ Ø§Ø² Ù†ÙˆØ¹ '%2' ÙˆØ¬ÙˆØ¯ Ø¯Ø§Ø±Ø¯",
+       "DELETE_VARIABLE_CONFIRMATION": "تعداد %1 Ø§Ø³ØªÙاده Ø§Ø² Ù…تغیر '%2' Ù¾Ø§Ú© Ø´ÙˆØ¯ØŸ",
+       "CANNOT_DELETE_VARIABLE_PROCEDURE": "متغیر '%1' Ø±Ø§ Ù†Ù…ی‌توان Ù¾Ø§Ú© Ú©Ø±Ø¯ØŒ Ø²ÛŒØ±Ø§ Ø¬Ø²ÛŒÛŒ Ø§Ø² ØªØ¹Ø±ÛŒÙ Ù…تغیر '%2' Ù…ی‌باشد",
+       "DELETE_VARIABLE": "متغیر '%1'را Ù¾Ø§Ú© Ú©Ù†ÛŒØ¯",
+       "COLOUR_PICKER_HELPURL": "https://fa.wikipedia.org/wiki/%D8%B1%D9%86%DA%AF",
+       "COLOUR_PICKER_TOOLTIP": "انتخاب ÛŒÚ© Ø±Ù†Ú¯ Ø§Ø² ØªØ®ØªÙ‡â€ŒØ±Ù†Ú¯.",
+       "COLOUR_RANDOM_TITLE": "رنگ ØªØµØ§Ø¯ÙÛŒ",
+       "COLOUR_RANDOM_TOOLTIP": "انتخاب ÛŒÚ© Ø±Ù†Ú¯ Ø¨Ù‡ Ø´Ú©Ù„ ØªØµØ§Ø¯ÙÛŒ.",
+       "COLOUR_RGB_TITLE": "رنگ Ø¨Ø§",
+       "COLOUR_RGB_RED": "قرمز",
+       "COLOUR_RGB_GREEN": "سبز",
+       "COLOUR_RGB_BLUE": "آبی",
+       "COLOUR_RGB_TOOLTIP": "ساخت ÛŒÚ© Ø±Ù†Ú¯ Ø¨Ø§ Ù…قدار Ù…شخص‌شده‌ای Ø§Ø² Ù‚رمز، Ø³Ø¨Ø² Ùˆ Ø¢Ø¨ÛŒ. Ù‡Ù…Ù‡Ù” Ù…قادیر Ø¨Ø§ÛŒØ¯ Ø¨ÛŒÙ† Û° ØªØ§ Û±Û°Û° Ø¨Ø§Ø´Ù†Ø¯.",
+       "COLOUR_BLEND_TITLE": "مخلوط",
+       "COLOUR_BLEND_COLOUR1": "رنگ Û±",
+       "COLOUR_BLEND_COLOUR2": "رنگ Û²",
+       "COLOUR_BLEND_RATIO": "نسبت",
+       "COLOUR_BLEND_TOOLTIP": "دو Ø±Ù†Ú¯ Ø±Ø§ Ø¨Ø§ Ù†Ø³Ø¨Øª Ù…شخص‌شده Ù…خلوط Ù…ی‌کند (Û°Ù«Û° - Û±Ù«Û°)",
+       "CONTROLS_REPEAT_HELPURL": "https://fa.wikipedia.org/wiki/%D8%AD%D9%84%D9%82%D9%87_%D9%81%D9%88%D8%B1",
+       "CONTROLS_REPEAT_TITLE": "%1 Ø¨Ø§Ø± ØªÚ©Ø±Ø§Ø±",
+       "CONTROLS_REPEAT_INPUT_DO": "انجام",
+       "CONTROLS_REPEAT_TOOLTIP": "انجام Ú†Ù†Ø¯ Ø¹Ø¨Ø§Ø±Øª Ú†Ù†Ø¯ÛŒÙ† Ø¨Ø§Ø±.",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "تکرار Ø¯Ø± Ø­Ø§Ù„ÛŒ Ú©Ù‡",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "تکرار ØªØ§ Ø²Ù…انی Ú©Ù‡",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "تا Ø²Ù…انی Ú©Ù‡ ÛŒÚ© Ù…قدار ØµØ­ÛŒØ­ Ø§Ø³ØªØŒ Ú†Ù†Ø¯ Ø¹Ø¨Ø§Ø±Øª Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ø¨Ø¯Ù‡.",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "تا Ø²Ù…انی Ú©Ù‡ ÛŒÚ© Ù…قدار Ù†Ø§ØµØ­ÛŒØ­ Ø§Ø³ØªØŒ Ú†Ù†Ø¯ Ø¹Ø¨Ø§Ø±Øª Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ø¨Ø¯Ù‡.",
+       "CONTROLS_FOR_TOOLTIP": "متغیر %1 Ø±Ø§ Ø¯Ø± Ù…قادیر Ø´Ø±ÙˆØ¹â€ŒØ´Ø¯Ù‡ Ø§Ø² Ø¹Ø¯Ø¯ Ø§Ù†ØªÙ‡Ø§ÛŒ  Ø¨Ù‡ Ø¹Ø¯Ø¯ Ø§Ù†ØªÙ‡Ø§ÛŒÛŒ Ø±Ø§ Ø¯Ø§Ø±Ø¯ØŒ Ø¨Ø§ Ùواصل Ù…شخص‌شده Ù…ی‌شمارد Ùˆ Ø§ÛŒÙ† Ø¨Ù„ÙˆÚ© Ù…شخص‌شده Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ù…ی‌دهد.",
+       "CONTROLS_FOR_TITLE": "با ØªØ¹Ø¯Ø§Ø¯ %1 Ø§Ø² %2 Ø¨Ù‡ %3 Ø¨Ø§ Ú¯Ø§Ù…‌های %4",
+       "CONTROLS_FOREACH_TITLE": "برای Ù‡Ø± Ù…ورد %1 Ø¯Ø± Ùهرست %2",
+       "CONTROLS_FOREACH_TOOLTIP": "برای Ù‡Ø± Ù…ورد Ø¯Ø± Ø§ÛŒÙ† Ùهرست، ØªÙ†Ø¸ÛŒÙ… Ù…تغیر Â«%1» Ø¨Ù‡ Ù…ورد Ùˆ Ø§Ù†Ø¬Ø§Ù… ØªØ¹Ø¯Ø§Ø¯ÛŒ Ø¹Ø¨Ø§Ø±Øª.",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "خروج Ø§Ø² Ø­Ù„قه",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "ادامه Ø¨Ø§ ØªÚ©Ø±Ø§Ø± Ø¨Ø¹Ø¯ÛŒ Ø­Ù„قه",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "شکستن Ø­Ù„قهٔ Ø´Ø§Ù…Ù„.",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "پریدن Ø§Ø² Ø¨Ù‚یهٔ Ø­Ù„قه Ùˆ Ø§Ø¯Ø§Ù…Ù‡ Ø¨Ø§ ØªÚ©Ø±Ø§Ø± Ø¨Ø¹Ø¯ÛŒ.",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "اخطار: Ø§ÛŒÙ† Ø¨Ù„ÙˆÚ© Ù…Ù…Ú©Ù† Ø§Ø³Øª Ùقط Ø¯Ø§Ø®Ù„ ÛŒÚ© Ø­Ù„قه Ø§Ø³ØªÙاده Ø´ÙˆØ¯.",
+       "CONTROLS_IF_TOOLTIP_1": "اگر ÛŒÚ© Ù…قدار ØµØ­ÛŒØ­ Ø§Ø³ØªØŒ Ø³Ù¾Ø³ Ú†Ù†Ø¯ Ø¹Ø¨Ø§Ø±Øª Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ø¨Ø¯Ù‡.",
+       "CONTROLS_IF_TOOLTIP_2": "اگر ÛŒÚ© Ù…قدار ØµØ­ÛŒØ­ Ø§Ø³ØªØŒ Ø§ÙˆÙ„ Ø¨Ù„ÙˆÚ© Ø§ÙˆÙ„ Ø¹Ø¨Ø§Ø±Ø§Øª Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ø¨Ø¯Ù‡.  Ø¯Ø± ØºÛŒØ± Ø§ÛŒÙ† ØµÙˆØ±Øª Ø¨Ù„ÙˆÚ© Ø¯ÙˆÙ… Ø¹Ø¨Ø§Ø±Ø§Øª Ø§Ù†Ø¬Ø§Ù… Ø¨Ø¯Ù‡.",
+       "CONTROLS_IF_TOOLTIP_3": "اگر Ù…قدار Ø§ÙˆÙ„ ØµØ­ÛŒØ­ Ø¨ÙˆØ¯ØŒ Ø§Ø² Ø¢Ù† Ø¨Ù„ÙˆÚ© Ø§ÙˆÙ„ Ø¹Ø¨Ø§Ø±Ø§Øª Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ø¨Ø¯Ù‡.  Ø¯Ø± ØºÛŒØ± Ø§ÛŒÙ† ØµÙˆØ±ØªØŒ Ø§Ú¯Ø± Ù…قدار Ø¯ÙˆÙ… ØµØ­ÛŒØ­ Ø§Ø³ØªØŒ Ø¨Ù„ÙˆÚ© Ø¯ÙˆÙ… Ø¹Ø¨Ø§Ø±Ø§Øª Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ø¨Ø¯Ù‡.",
+       "CONTROLS_IF_TOOLTIP_4": "اگر Ù…قدار Ø§ÙˆÙ„ Ø¯Ø±Ø³Øª Ø§Ø³ØªØŒ Ø¨Ù„ÙˆÚ© Ø§ÙˆÙ„ Ø¹Ø¨Ø§Ø±Ø§Øª Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ø¨Ø¯Ù‡.  Ø¯Ø± ØºÛŒØ± Ø§ÛŒÙ† ØµÙˆØ±ØªØŒ Ø§Ú¯Ø± Ù…قدار Ø¯ÙˆÙ… Ø¯Ø±Ø³Øª Ø¨Ø§Ø´Ø¯ Ø¨Ù„ÙˆÚ© Ø¯ÙˆÙ… Ø¹Ø¨Ø§Ø±Ø§Øª Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ø¨Ø¯Ù‡.  Ø§Ú¯Ø± Ù‡ÛŒÚ† Ø§Ø² Ù…قادیر Ø¯Ø±Ø³Øª Ù†Ø¨ÙˆØ¯ØŒ Ø¢Ø®Ø±ÛŒÙ† Ø¨Ù„ÙˆÚ© Ø¹Ø¨Ø§Ø±Ø§Øª Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ø¨Ø¯Ù‡.",
+       "CONTROLS_IF_MSG_IF": "اگر",
+       "CONTROLS_IF_MSG_ELSEIF": "درغیر Ø§ÛŒÙ†ØµÙˆØ±Øª Ø§Ú¯Ø±",
+       "CONTROLS_IF_MSG_ELSE": "درغیر Ø§ÛŒÙ†ØµÙˆØ±Øª",
+       "CONTROLS_IF_IF_TOOLTIP": "اÙزودن، Ø­Ø°Ù ÛŒØ§ Ø¨Ø§Ø²Ù…رتب‌سازی Ù‚سمت‌ها Ø¨Ø±Ø§ÛŒ Ù¾ÛŒÚ©Ø±Ø¨Ù†Ø¯ÛŒ Ø¯ÙˆØ¨Ø§Ø±Ù‡Ù” Ø§ÛŒÙ† Ø¨Ù„ÙˆÚ© Ø§Ú¯Ø±.",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "اÙزودن ÛŒÚ© Ø´Ø±Ø· Ø¨Ù‡ Ø¨Ù„ÙˆÚ© Ø§Ú¯Ø±.",
+       "CONTROLS_IF_ELSE_TOOLTIP": "اضاÙÙ‡ Ú©Ø±Ø¯Ù† Ù†Ù‡Ø§ÛŒÛŒØŒ Ú¯Ø±Ùتن Ù‡Ù…Ù‡Ù” Ø´Ø±Ø§ÛŒØ· Ø¨Ù‡ Ø¨Ù„ÙˆÚ© Ø§Ú¯Ø±.",
+       "IOS_OK": "تأیید",
+       "IOS_CANCEL": "لغو",
+       "IOS_ERROR": "خطا",
+       "IOS_PROCEDURES_INPUTS": "ورودی‌ها",
+       "IOS_PROCEDURES_ADD_INPUT": "+ Ø§Ùزودن ÙˆØ±ÙˆØ¯ÛŒ",
+       "IOS_PROCEDURES_ALLOW_STATEMENTS": "اجازه Ø§Ø¸Ù‡Ø§Ø±Ø§Øª",
+       "IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR": "این ØªØ§Ø¨Ø¹ Ø¯Ø§Ø±Ø§ÛŒ ÙˆØ±ÙˆØ¯ÛŒâ€ŒÙ‡Ø§ÛŒ ØªÚ©Ø±Ø§Ø±ÛŒ Ø§Ø³Øª.",
+       "IOS_VARIABLES_ADD_VARIABLE": "+ Ø§Ùزودن Ù…تغیر",
+       "IOS_VARIABLES_ADD_BUTTON": "اÙزودن",
+       "IOS_VARIABLES_RENAME_BUTTON": "تغییر Ù†Ø§Ù…",
+       "IOS_VARIABLES_DELETE_BUTTON": "حذÙ",
+       "IOS_VARIABLES_VARIABLE_NAME": "نام Ù…تغیر",
+       "IOS_VARIABLES_EMPTY_NAME_ERROR": "نام Ù…تغیر Ù†Ù…ی‌تواند Ø®Ø§Ù„ÛŒ Ø¨Ø§Ø´Ø¯",
+       "LOGIC_COMPARE_HELPURL": "https://fa.wikipedia.org/wiki/%D9%86%D8%A7%D8%A8%D8%B1%D8%A7%D8%A8%D8%B1%DB%8C",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "بازگشت ØµØ­ÛŒØ­ Ø§Ú¯Ø± Ù‡Ø± Ø¯Ùˆ ÙˆØ±ÙˆØ¯ÛŒ Ø¨Ø§ ÛŒÚ©Ø¯ÛŒÚ¯Ø± Ø¨Ø±Ø§Ø¨Ø± Ø¨Ø§Ø´Ø¯.",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "برگرداندن ØµØ­ÛŒØ­ Ø§Ú¯Ø± Ù‡Ø± Ø¯Ùˆ ÙˆØ±ÙˆØ¯ÛŒ Ø¨Ø§ ÛŒÚ©Ø¯ÛŒÚ¯Ø± Ø¨Ø±Ø§Ø¨Ø± Ù†Ø¨Ø§Ø´Ù†Ø¯.",
+       "LOGIC_COMPARE_TOOLTIP_LT": "بازگرداندن ØµØ­ÛŒØ­ Ø§Ú¯Ø± ÙˆØ±ÙˆØ¯ÛŒ Ø§ÙˆÙ„ Ú©ÙˆÚ†Ú©ØªØ± Ø§Ø² ÙˆØ±ÙˆØ¯ÛŒ Ø¯ÙˆÙ… Ø¨Ø§Ø´Ø¯.",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "بازگرداندن ØµØ­ÛŒØ­ Ø§Ú¯Ø± ÙˆØ±ÙˆØ¯ÛŒ Ø§ÙˆÙ„ Ú©ÙˆÚ†Ú©ØªØ± ÛŒØ§ Ù…ساوی Ø¨Ø§ ÙˆØ±ÙˆØ¯ÛŒ Ø¯ÙˆÙ… Ø¨Ø§Ø´Ø¯.",
+       "LOGIC_COMPARE_TOOLTIP_GT": "بازگرداندن ØµØ­ÛŒØ­ Ø§Ú¯Ø± ÙˆØ±ÙˆØ¯ÛŒ Ø§ÙˆÙ„ Ø¨Ø²Ø±Ú¯ØªØ± Ø§Ø² ÙˆØ±ÙˆØ¯ÛŒ Ø¯ÙˆÙ… Ø¨Ø§Ø´Ø¯.",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "بازگرداندن ØµØ­ÛŒØ­ Ø§Ú¯Ø± ÙˆØ±ÙˆØ¯ÛŒ Ø§ÙˆÙ„ Ø¨Ø²Ø±Ú¯ØªØ± ÛŒØ§ Ù…ساوی ÛŒØ§ ÙˆØ±ÙˆØ¯ÛŒ Ø¯ÙˆÙ… Ø¨Ø§Ø´Ø¯.",
+       "LOGIC_OPERATION_TOOLTIP_AND": "بازگرداندن ØµØ­ÛŒØ­ Ø§Ú¯Ø± Ù‡Ø± Ø¯Ùˆ ÙˆØ±ÙˆØ¯ÛŒ ØµØ­ÛŒØ­ Ø¨Ø§Ø´Ø¯.",
+       "LOGIC_OPERATION_AND": "Ùˆ",
+       "LOGIC_OPERATION_TOOLTIP_OR": "بازگرداندن ØµØ­ÛŒØ­ Ø§Ú¯Ø± ÛŒÚ©ÛŒ Ø§Ø² Ø¯Ùˆ ÙˆØ±ÙˆØ¯ÛŒ ØµØ­ÛŒØ­ Ø¨Ø§Ø´Ø¯.",
+       "LOGIC_OPERATION_OR": "یا",
+       "LOGIC_NEGATE_TITLE": "نه %1",
+       "LOGIC_NEGATE_TOOLTIP": "صجیج Ø¨Ø§Ø² Ù…ی‌گرداند Ø§Ú¯Ø± ÙˆØ±ÙˆØ¯ÛŒ Ù†Ø§ ØµØ­ÛŒØ­ Ø¨Ø§Ø´Ù†Ø¯. Ù†Ø§ØµØ­ÛŒØ­ Ø¨Ø§Ø²Ù…ی‌گرداند Ø§Ú¯Ø± ÙˆØ±ÙˆØ¯ÛŒ ØµØ­ÛŒØ­ Ø¨Ø§Ø´Ø¯.",
+       "LOGIC_BOOLEAN_TRUE": "صحیح",
+       "LOGIC_BOOLEAN_FALSE": "ناصحیح",
+       "LOGIC_BOOLEAN_TOOLTIP": "بازگرداندن ÛŒÚ©ÛŒ Ø§Ø² ØµØ­ÛŒØ­ ÛŒØ§ Ù†Ø§ØµØ­ÛŒØ­.",
+       "LOGIC_NULL": "تهی",
+       "LOGIC_NULL_TOOLTIP": "تهی Ø¨Ø§Ø²Ù…ی‌گرداند.",
+       "LOGIC_TERNARY_CONDITION": "آزمایش",
+       "LOGIC_TERNARY_IF_TRUE": "اگر ØµØ­ÛŒØ­",
+       "LOGIC_TERNARY_IF_FALSE": "اگر Ù†Ø§ØµØ­ÛŒØ­",
+       "LOGIC_TERNARY_TOOLTIP": "بررسی ÙˆØ¶Ø¹ÛŒØª Ø¯Ø± Â«Ø¢Ø²Ù…ایش». Ø§Ú¯Ø± ÙˆØ¶Ø¹ÛŒØª ØµØ­ÛŒØ­ Ø¨Ø§Ø´Ø¯ØŒ Ù…قدار Â«Ø§Ú¯Ø± ØµØ­ÛŒØ­Â» Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند Ø¯Ø± ØºÛŒØ± Ø§ÛŒÙ†ØµÙˆØ±Øª Ù…قدار Â«Ø§Ú¯Ø± Ù†Ø§ØµØ­ÛŒØ­Â» Ø±Ø§.",
+       "MATH_NUMBER_HELPURL": "https://fa.wikipedia.org/wiki/%D8%B9%D8%AF%D8%AF",
+       "MATH_NUMBER_TOOLTIP": "یک Ø¹Ø¯Ø¯.",
+       "MATH_ARITHMETIC_HELPURL": "https://fa.wikipedia.org/wiki/%D8%AD%D8%B3%D8%A7%D8%A8",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "بازگرداندن Ù…قدار Ø¬Ù…ع Ø¯Ùˆ Ø¹Ø¯Ø¯.",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "بازگرداندن ØªÙاوت Ø¯Ùˆ Ø¹Ø¯Ø¯.",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "بازگرداندن Ø­Ø§ØµÙ„ضرب Ø¯Ùˆ Ø¹Ø¯Ø¯.",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "بازگرداندن Ø¨Ø§Ù‚ی‌ماندهٔ Ø¯Ùˆ Ø¹Ø¯Ø¯.",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "بازگرداندن Ø§ÙˆÙ„ین Ø¹Ø¯Ø¯ÛŒ Ú©Ù‡ Ø§Ø² ØªÙˆØ§Ù† Ø¹Ø¯Ø¯ Ø¯ÙˆÙ… Ø­Ø§ØµÙ„ Ø´Ø¯Ù‡ Ø¨Ø§Ø´Ø¯.",
+       "MATH_SINGLE_HELPURL": "https://fa.wikipedia.org/wiki/%D8%B1%DB%8C%D8%B4%D9%87_%D8%AF%D9%88%D9%85",
+       "MATH_SINGLE_OP_ROOT": "ریشهٔ Ø¯ÙˆÙ…",
+       "MATH_SINGLE_TOOLTIP_ROOT": "ریشهٔ Ø¯ÙˆÙ… ÛŒÚ© Ø¹Ø¯Ø¯ Ø±Ø§ Ø¨Ø§Ø² Ù…ی‌گرداند.",
+       "MATH_SINGLE_OP_ABSOLUTE": "مطلق",
+       "MATH_SINGLE_TOOLTIP_ABS": "قدر Ù…طلق ÛŒÚ© Ø¹Ø¯Ø¯ Ø±Ø§ Ø¨Ø§Ø²Ù…ی‌گرداند.",
+       "MATH_SINGLE_TOOLTIP_NEG": "منÙی‌شدهٔ ÛŒÚ© Ø¹Ø¯Ø¯ Ø±Ø§ Ø¨Ø§Ø² Ù…ی‌گرداند.",
+       "MATH_SINGLE_TOOLTIP_LN": "لوگاریتم Ø·Ø¨ÛŒØ¹ÛŒ ÛŒÚ© Ø¹Ø¯Ø¯ Ø±Ø§ Ø¨Ø§Ø² Ù…ی‌گرداند.",
+       "MATH_SINGLE_TOOLTIP_LOG10": "بازگرداندن Ù„گاریتم Ø¨Ø± Ù¾Ø§ÛŒÙ‡Ù” Û±Û° ÛŒÚ© Ø¹Ø¯Ø¯.",
+       "MATH_SINGLE_TOOLTIP_EXP": "بازگرداندن ØªÙˆØ§Ù† e ÛŒÚ© Ø¹Ø¯Ø¯.",
+       "MATH_SINGLE_TOOLTIP_POW10": "بازگرداندن ØªÙˆØ§Ù† Û±Û° ÛŒÚ© Ø¹Ø¯Ø¯.",
+       "MATH_TRIG_HELPURL": "https://fa.wikipedia.org/wiki/%D8%AA%D8%A7%D8%A8%D8%B9%E2%80%8C%D9%87%D8%A7%DB%8C_%D9%85%D8%AB%D9%84%D8%AB%D8%A7%D8%AA%DB%8C",
+       "MATH_TRIG_TOOLTIP_SIN": "بازگرداندن Ø³ÛŒÙ†ÙˆØ³ ÛŒÚ© Ø²Ø§ÙˆÛŒÙ‡ Ø¨Ù‡ Ø¯Ø±Ø¬Ù‡ (نه Ø±Ø§Ø¯ÛŒØ§Ù†).",
+       "MATH_TRIG_TOOLTIP_COS": "بازگرداندن Ú©Ø³ÛŒÙ†ÙˆØ³ ÛŒÚ© Ø²Ø§ÙˆÛŒÙ‡ Ø¯Ø±Ø¬Ù‡ (نه Ø±Ø§Ø¯ÛŒØ§Ù†).",
+       "MATH_TRIG_TOOLTIP_TAN": "بازگرداندن ØªØ§Ù†Ú˜Ø§Ù†Øª ÛŒÚ© Ø²Ø§ÙˆÛŒÙ‡ Ø¨Ù‡ Ø¯Ø±Ø¬Ù‡ (نه Ø±Ø§Ø¯ÛŒØ§Ù†).",
+       "MATH_TRIG_TOOLTIP_ASIN": "بازگرداندن Ø¢Ø±Ú©â€ŒØ³ÛŒÙ†ÙˆØ³ Ø¯Ø±Ø¬Ù‡ (نه Ø±Ø§Ø¯ÛŒØ§Ù†).",
+       "MATH_TRIG_TOOLTIP_ACOS": "بازگرداندن Ø¢Ø±Ú©â€ŒÚ©Ø³ÛŒÙ†ÙˆØ³ Ø¯Ø±Ø¬Ù‡ (نه Ø±Ø§Ø¯ÛŒØ§Ù†).",
+       "MATH_TRIG_TOOLTIP_ATAN": "بازگرداندن Ø¢Ø±Ú©â€ŒØªØ§Ù†Ú˜Ø§Ù†Øª Ø¯Ø±Ø¬Ù‡ (نه Ø±Ø§Ø¯ÛŒØ§Ù†).",
+       "MATH_CONSTANT_HELPURL": "https://fa.wikipedia.org/wiki/%D8%AB%D8%A7%D8%A8%D8%AA_%D8%B1%DB%8C%D8%A7%D8%B6%DB%8C",
+       "MATH_CONSTANT_TOOLTIP": "یکی Ø§Ø² Ù…قادیر Ø«Ø§Ø¨Øª Ø¬Ù‡Ø§Ù†ÛŒ Ø±Ø§ Ø¨Ø±Ù…ی‌گرداند: Ï€ (۳٫۱۴۱…)ØŒ e (Û²Ù«Û·Û±Û¸...)ØŒ Ï† (Û±Ù«Û¶Û±Û¸)ØŒ sqrt(Û²) (Û±Ù«Û´Û±Û´)ØŒ sqrt(Û±/Û²) (Û°Ù«Û·Û°Û·...) Ùˆ ÛŒØ§ âˆž (بی‌نهایت).",
+       "MATH_IS_EVEN": "زوج Ø§Ø³Øª",
+       "MATH_IS_ODD": "Ùرد Ø§Ø³Øª",
+       "MATH_IS_PRIME": "عدد Ø§ÙˆÙ„ Ø§Ø³Øª",
+       "MATH_IS_WHOLE": "کامل Ø§Ø³Øª",
+       "MATH_IS_POSITIVE": "مثبت Ø§Ø³Øª",
+       "MATH_IS_NEGATIVE": "منÙÛŒ Ø§Ø³Øª",
+       "MATH_IS_DIVISIBLE_BY": "تقسیم Ø´Ø¯Ù‡ Ø¨Ø±",
+       "MATH_IS_TOOLTIP": "بررسی Ù…ی‌کند Ú©Ù‡ Ø¢ÛŒØ§ ÛŒÚ© Ø¹Ø¯Ø¯ Ø²ÙˆØ¬ØŒ Ùرد، Ø§ÙˆÙ„ØŒ Ú©Ø§Ù…Ù„ØŒ Ù…ثبت، Ù…Ù†ÙÛŒ ÛŒØ§ Ø¨Ø®Ø´â€ŒÙ¾Ø°ÛŒØ± Ø¹Ø¯Ø¯ Ø®Ø§ØµÛŒ Ø¨Ø§Ø´Ø¯ Ø±Ø§ Ø¨Ø±Ø±Ø³ÛŒ Ù…ی‌کند. Ø¯Ø±Ø³Øª ÛŒØ§ Ù†Ø§Ø¯Ø±Ø³Øª Ø¨Ø§Ø² Ù…ی‌گرداند.",
+       "MATH_CHANGE_HELPURL": "https://fa.wikipedia.org/wiki/%D8%A7%D8%B5%D8%B7%D9%84%D8%A7%D8%AD_%D8%A8%D8%B1%D9%86%D8%A7%D9%85%D9%87%E2%80%8C%D9%86%D9%88%DB%8C%D8%B3%DB%8C#.D8.A7.D9.81.D8.B2.D8.A7.DB.8C.D8.B4_.D8.B4.D9.85.D8.A7.D8.B1.D9.86.D8.AF.D9.87",
+       "MATH_CHANGE_TITLE": "تغییر %1 Ø¨Ø§ %2",
+       "MATH_CHANGE_TOOLTIP": "اÙزودن ÛŒÚ© Ø¹Ø¯Ø¯ Ø¨Ù‡ Ù…تغیر '%1'.",
+       "MATH_ROUND_HELPURL": "https://fa.wikipedia.org/wiki/%D8%B1%D9%88%DB%8C%D9%87_%28%D8%B9%D9%84%D9%88%D9%85_%D8%B1%D8%A7%DB%8C%D8%A7%D9%86%D9%87%29",
+       "MATH_ROUND_TOOLTIP": "گردکردن ÛŒÚ© Ø¹Ø¯Ø¯ Ø¨Ù‡ Ø¨Ø§Ù„ا ÛŒØ§ Ù¾Ø§ÛŒÛŒÙ†.",
+       "MATH_ROUND_OPERATOR_ROUND": "گردکردن",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "گرد Ø¨Ù‡ Ø¨Ø§Ù„ا",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "گرد Ø¨Ù‡ Ù¾Ø§ÛŒÛŒÙ†",
+       "MATH_ONLIST_OPERATOR_SUM": "جمع Ùهرست",
+       "MATH_ONLIST_TOOLTIP_SUM": "جمع Ù‡Ù…Ù‡Ù” Ø¹Ø¯Ø¯Ù‡Ø§ÛŒ Ùهرست Ø±Ø§ Ø¨Ø§Ø² Ù…ی‌گرداند.",
+       "MATH_ONLIST_OPERATOR_MIN": "کوچک‌ترین Ø¹Ø¯Ø¯ Ø¯Ø± Ùهرست",
+       "MATH_ONLIST_TOOLTIP_MIN": "کوچک‌ترین Ø¹Ø¯Ø¯ Ø¯Ø± Ùهرست Ø±Ø§ Ø¨Ø§Ø² Ù…ی‌گرداند.",
+       "MATH_ONLIST_OPERATOR_MAX": "بزرگ‌ترین Ø¹Ø¯Ø¯ Ø¯Ø± Ùهرست",
+       "MATH_ONLIST_TOOLTIP_MAX": "بزرگ‌ترین Ø¹Ø¯Ø¯ Ø¯Ø± Ùهرست Ø±Ø§ Ø¨Ø§Ø² Ù…ی‌گرداند.",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "میانگین Ùهرست",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "میانگین (میانگین Ø±ÛŒØ§Ø¶ÛŒ) Ù…قادیر Ø¹Ø¯Ø¯ÛŒ Ùهرست Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند.",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "میانهٔ Ùهرست",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "میانهٔ Ø¹Ø¯Ø¯ Ø¯Ø± Ùهرست Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند.",
+       "MATH_ONLIST_OPERATOR_MODE": "مد Ùهرست",
+       "MATH_ONLIST_TOOLTIP_MODE": "شایع‌ترین Ù‚لم(های) Ø¯Ø± Ùهرست Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند.",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "انحرا٠معیار Ùهرست",
+       "MATH_ONLIST_TOOLTIP_STD_DEV": "انحرا٠معیار Ùهرست Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند.",
+       "MATH_ONLIST_OPERATOR_RANDOM": "مورد ØªØµØ§Ø¯ÙÛŒ Ø§Ø² Ùهرست",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "موردی ØªØµØ§Ø¯ÙÛŒ Ø§Ø² Ùهرست Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند.",
+       "MATH_MODULO_HELPURL": "https://fa.wikipedia.org/wiki/%D8%B9%D9%85%D9%84%DB%8C%D8%A7%D8%AA_%D9%BE%DB%8C%D9%85%D8%A7%D9%86%D9%87",
+       "MATH_MODULO_TITLE": "باقی‌ماندهٔ %1 Ã· %2",
+       "MATH_MODULO_TOOLTIP": "باقی‌ماندهٔ ØªÙ‚سیم Ø¯Ùˆ Ø¹Ø¯Ø¯ Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند.",
+       "MATH_CONSTRAIN_TITLE": "محدودکردن %1 Ù¾Ø§ÛŒÛŒÙ† %2 Ø¨Ø§Ù„ا %3",
+       "MATH_CONSTRAIN_TOOLTIP": "محدودکردن ÛŒÚ© Ø¹Ø¯Ø¯ Ø¨ÛŒÙ† Ù…حدودیت‌های Ù…شخص‌شده (بسته).",
+       "MATH_RANDOM_INT_HELPURL": "https://fa.wikipedia.org/wiki/%D8%AA%D9%88%D9%84%DB%8C%D8%AF_%D8%A7%D8%B9%D8%AF%D8%A7%D8%AF_%D8%AA%D8%B5%D8%A7%D8%AF%D9%81%DB%8C",
+       "MATH_RANDOM_INT_TITLE": "عدد ØµØ­ÛŒØ­ ØªØµØ§Ø¯ÙÛŒ Ø¨ÛŒÙ† %1 ØªØ§ %2",
+       "MATH_RANDOM_INT_TOOLTIP": "یک Ø¹Ø¯Ø¯ ØªØµØ§Ø¯ÙÛŒ Ø¨ÛŒÙ† Ø¯Ùˆ Ù…قدار Ù…شخص‌شده Ø¨Ù‡ ØµÙˆØ±Øª Ø¨Ø³ØªÙ‡ Ø¨Ø§Ø² Ù…ی‌گرداند.",
+       "MATH_RANDOM_FLOAT_HELPURL": "https://fa.wikipedia.org/wiki/%D8%AA%D9%88%D9%84%DB%8C%D8%AF_%D8%A7%D8%B9%D8%AF%D8%A7%D8%AF_%D8%AA%D8%B5%D8%A7%D8%AF%D9%81%DB%8C",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "کسر ØªØµØ§Ø¯ÙÛŒ",
+       "MATH_RANDOM_FLOAT_TOOLTIP": "بازگرداندن Ú©Ø³Ø±ÛŒ ØªØµØ§Ø¯ÙÛŒ Ø¨ÛŒÙ† Û°Ù«Û° (بسته) ØªØ§ Û±Ù«Û° (باز).",
+       "TEXT_TEXT_HELPURL": "https://fa.wikipedia.org/wiki/%D8%B1%D8%B4%D8%AA%D9%87_%28%D8%B9%D9%84%D9%88%D9%85_%D8%B1%D8%A7%DB%8C%D8%A7%D9%86%D9%87%29",
+       "TEXT_TEXT_TOOLTIP": "یک Ø­Ø±ÙØŒ Ú©Ù„مه ÛŒØ§ Ø®Ø·ÛŒ Ø§Ø² Ù…تن.",
+       "TEXT_JOIN_TITLE_CREATEWITH": "ایجاد Ù…تن Ø¨Ø§",
+       "TEXT_JOIN_TOOLTIP": "یک ØªÚ©Ù‡â€ŒØ§ÛŒ Ø§Ø² Ù…تن Ø±Ø§ Ø¨Ø§ Ú†Ø³Ù¾Ø§Ù†Ø¯Ù† Ù‡Ù…Ù‡Ù” ØªØ¹Ø¯Ø§Ø¯ Ø§Ø² Ù…وارد Ø§ÛŒØ¬Ø§Ø¯ Ù…ی‌کند.",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "عضویت",
+       "TEXT_CREATE_JOIN_TOOLTIP": "اضاÙÙ‡ Ú©Ø±Ø¯Ù†ØŒ Ø­Ø°Ù ÛŒØ§ Ù…رتب‌سازی Ø¨Ø­Ø´â€ŒÙ‡Ø§ Ø¨Ø±Ø§ÛŒ ØªÙ†Ø¸ÛŒÙ… Ù…جدد Ø§ÛŒÙ† Ø¨Ù„ÙˆÚ© Ù…تنی.",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "اÙزودن ÛŒÚ© Ù…ورد Ø¨Ù‡ Ù…تن.",
+       "TEXT_APPEND_TITLE": "به %1 Ø§Ù„حاق Ù…تن %2",
+       "TEXT_APPEND_TOOLTIP": "الحاق Ù…تنی Ø¨Ù‡ Ù…تغیر Â«%1».",
+       "TEXT_LENGTH_TITLE": "طول %1",
+       "TEXT_LENGTH_TOOLTIP": "بازگرداندن Ø¹Ø¯Ø¯ÛŒ Ø§Ø² Ø­Ø±ÙˆÙ (شامل Ùاصله‌ها) Ø¯Ø± Ù…تن Ùراهم‌شده.",
+       "TEXT_ISEMPTY_TITLE": "%1 Ø®Ø§Ù„ÛŒ Ø§Ø³Øª",
+       "TEXT_ISEMPTY_TOOLTIP": "اضاÙÙ‡ Ú©Ø±Ø¯Ù† ØµØ­ÛŒØ­ Ø§Ú¯Ø± Ù…تن Ùراهم‌شده Ø®Ø§Ù„ÛŒ Ø§Ø³Øª.",
+       "TEXT_INDEXOF_TOOLTIP": "شاخصی Ø§Ø² Ø§ÙˆÙ„ین Ø¢Ø®Ø±ÛŒÙ† Ø±Ø®â€ŒØ¯Ø§Ø¯ Ù…تن Ø§ÙˆÙ„ Ø¯Ø± Ù…تن Ø¯ÙˆÙ… Ø¨Ø± Ù…ی‌گرداند. Ø§Ú¯Ø± Ù…تن ÛŒØ§Ùت Ù†Ø´Ø¯ %1 Ø¨Ø§Ø² Ù…ی‌گرداند.",
+       "TEXT_INDEXOF_TITLE": "در Ù…تن %1 %2 %3",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "اولین Ø±Ø®Ø¯Ø§Ø¯ Ù…تن Ø±Ø§ Ø¨ÛŒØ§Ø¨",
+       "TEXT_INDEXOF_OPERATOR_LAST": "آخرین Ø±Ø®Ø¯Ø§Ø¯ Ù…تن Ø±Ø§ Ø¨ÛŒØ§Ø¨",
+       "TEXT_CHARAT_TITLE": "در Ù…تن %1 %2",
+       "TEXT_CHARAT_FROM_START": "گرÙتن Ø­Ø±Ù #",
+       "TEXT_CHARAT_FROM_END": "گرÙتن Ø­Ø±Ù # Ø§Ø² Ø¢Ø®Ø±",
+       "TEXT_CHARAT_FIRST": "گرÙتن Ø§ÙˆÙ„ین Ø­Ø±Ù",
+       "TEXT_CHARAT_LAST": "گرÙتن Ø¢Ø®Ø±ÛŒÙ† Ø­Ø±Ù",
+       "TEXT_CHARAT_RANDOM": "گرÙتن Ø­Ø±Ù ØªØµØ§Ø¯ÙÛŒ",
+       "TEXT_CHARAT_TOOLTIP": "حرÙÛŒ Ø¯Ø± Ù…وقعیت Ù…شخص‌شده Ø¨Ø± Ù…ی‌گرداند.",
+       "TEXT_GET_SUBSTRING_TOOLTIP": "قسمت Ù…شخصی‌شده‌ای Ø§Ø² Ù…تن Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند.",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "در Ù…تن",
+       "TEXT_GET_SUBSTRING_START_FROM_START": "گرÙتن Ø²ÛŒØ±Ù…تن Ø§Ø² Ø­Ø±Ù #",
+       "TEXT_GET_SUBSTRING_START_FROM_END": "گرÙتن Ø²ÛŒØ±Ù…تن Ø§Ø² Ø­Ø±Ù # Ø¨Ù‡ Ø§Ù†ØªÙ‡Ø§",
+       "TEXT_GET_SUBSTRING_START_FIRST": "گرÙتن Ø²ÛŒØ±Ù…تن Ø§Ø² Ø§ÙˆÙ„ین Ø­Ø±Ù",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "به Ø­Ø±Ù #",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "به Ø­Ø±Ù # Ø§Ø² Ø§Ù†ØªÙ‡Ø§",
+       "TEXT_GET_SUBSTRING_END_LAST": "به Ø¢Ø®Ø±ÛŒÙ† Ø­Ø±Ù",
+       "TEXT_CHANGECASE_TOOLTIP": "بازگرداندن Ú©Ù¾ÛŒ Ù…تن Ø¯Ø± Ø­Ø§Ù„تی Ù…تÙاوت.",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "به Ø­Ø±ÙˆÙ Ø¨Ø²Ø±Ú¯",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "به Ø­Ø±ÙˆÙ Ú©ÙˆÚ†Ú©",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": "به Ø­Ø±ÙˆÙ Ø¨Ø²Ø±Ú¯ Ø¹Ù†ÙˆØ§Ù†",
+       "TEXT_TRIM_TOOLTIP": "Ú©Ù¾ÛŒ Ø§Ø² Ù…تن Ø¨Ø§ Ùاصله‌های Ø­Ø°Ù‌شده Ø§Ø² ÛŒÚ© ÛŒØ§ Ù‡Ø± Ø¯Ùˆ Ù¾Ø§ÛŒØ§Ù† Ø¨Ø§Ø² Ù…ی‌گرداند.",
+       "TEXT_TRIM_OPERATOR_BOTH": "تراشیدن Ùاصله‌ها Ø§Ø²  Ù‡Ø± Ø¯Ùˆ Ø·Ø±Ù",
+       "TEXT_TRIM_OPERATOR_LEFT": "تراشیدن Ùاصله‌ها Ø§Ø²  Ø·Ø±Ù Ú†Ù¾",
+       "TEXT_TRIM_OPERATOR_RIGHT": "تراشیدن Ùاصله‌ها Ø§Ø²  Ø·Ø±Ù Ú†Ù¾",
+       "TEXT_PRINT_TITLE": "چاپ %1",
+       "TEXT_PRINT_TOOLTIP": "چاپ Ù…تن، Ø¹Ø¯Ø¯ ÛŒØ§ Ù‡Ø± Ù…قدار Ø¯ÛŒÚ¯Ø± Ù…شخص‌شده.",
+       "TEXT_PROMPT_TYPE_TEXT": "اعلان Ø¨Ø±Ø§ÛŒ Ù…تن Ø¨Ø§ Ù¾ÛŒØ§Ù…",
+       "TEXT_PROMPT_TYPE_NUMBER": "اعلان Ø¨Ø±Ø§ÛŒ Ø¹Ø¯Ø¯ Ø¨Ø§ Ù¾ÛŒØ§Ù…",
+       "TEXT_PROMPT_TOOLTIP_NUMBER": "اعلان Ø¨Ø±Ø§ÛŒ Ú©Ø§Ø±Ø¨Ø± Ø¨Ø§ ÛŒÚ© Ø¹Ø¯Ø¯.",
+       "TEXT_PROMPT_TOOLTIP_TEXT": "اعلان Ø¨Ø±Ø§ÛŒ Ú©Ø§Ø±Ø¨Ø± Ø¨Ø±Ø§ÛŒ ÛŒÚ© Ù…تن.",
+       "TEXT_COUNT_MESSAGE0": "تعداد %1 Ø±Ø§ Ø¯Ø± %2 Ø¨Ø´Ù…ار",
+       "TEXT_COUNT_TOOLTIP": "تعداد Ø¯Ùعاتی Ú©Ù‡ ÛŒÚ© Ù…تن Ø¯Ø±ÙˆÙ† ÛŒÚ© Ù…تن Ø¯ÛŒÚ¯Ø± ØªÚ©Ø±Ø§Ø± Ø´Ø¯Ù‡ Ø§Ø³Øª Ø±Ø§ Ø¨Ø±Ù…ی‌گرداند",
+       "TEXT_REPLACE_MESSAGE0": "درون %3ØŒ Ù…تن %1 Ø±Ø§ Ø¨Ø§ %2 Ø¬Ø§ÛŒÚ¯Ø²ÛŒÙ† Ú©Ù†",
+       "TEXT_REPLACE_TOOLTIP": "جایگزین Ú©Ø±Ø¯Ù† ØªÙ…ام Ù…واردی Ú©Ù‡ Ø§Ø² Ù…تنی Ø¯Ø±ÙˆÙ† Ù…تن Ø¯ÛŒÚ¯Ø± ÙˆØ¬ÙˆØ¯ Ø¯Ø§Ø±Ø¯",
+       "TEXT_REVERSE_MESSAGE0": "معکوس %1",
+       "TEXT_REVERSE_TOOLTIP": "چینش Ú©Ø§Ø±Ø§Ú©ØªØ±Ù‡Ø§ Ø¯Ø±ÙˆÙ† Ù…تن Ø±Ø§ Ø¨Ø±Ø¹Ú©Ø³ Ù…ی‌کند",
+       "LISTS_CREATE_EMPTY_TITLE": "ایجاد Ùهرست Ø®Ø§Ù„ÛŒ",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "Ùهرستی Ø¨Ø§ Ø·ÙˆÙ„ ØµÙر Ø´Ø§Ù…Ù„ Ù‡ÛŒÚ† Ø±Ú©ÙˆØ±Ø¯ Ø¯Ø§Ø¯Ù‡â€ŒØ§ÛŒ Ø¨Ø± Ù…ی‌گرداند.",
+       "LISTS_CREATE_WITH_TOOLTIP": "Ùهرستی Ø§Ø² Ù‡Ø± Ø¹Ø¯Ø¯ÛŒ Ø§Ø² Ù…وارد Ù…ی‌سازد.",
+       "LISTS_CREATE_WITH_INPUT_WITH": "ایجاد Ùهرست Ø¨Ø§",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "Ùهرست",
+       "LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "اضاÙÙ‡ Ú©Ø±Ø¯Ù†ØŒ Ø­Ø°Ù Ú©Ø±Ø¯Ù† ÛŒØ§ ØªØ±ØªÛŒØ¨â€ŒØ³Ø§Ø²ÛŒ Ù…جدد Ø¨Ø®Ø´â€ŒÙ‡Ø§ Ø§ÛŒÙ† Ø¨Ù„ÙˆÚ© Ùهرستی.",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "اضاÙÙ‡ Ú©Ø±Ø¯Ù† ÛŒÚ© Ù…ورد Ø¨Ù‡ Ùهرست.",
+       "LISTS_REPEAT_TOOLTIP": "Ùهرستی Ø´Ø§Ù…Ù„ Ù…قادیر Ø¯Ø§Ø¯Ù‡â€ŒØ´Ø¯Ù‡Ù” ØªÚ©Ø±Ø§Ø± Ø´Ø¯Ù‡ Ø¹Ø¯Ø¯ Ù…شخص‌شده Ù…ی‌سازد.",
+       "LISTS_REPEAT_TITLE": "Ùهرستی Ø¨Ø§ %1 ØªÚ©Ø±Ø§Ø±Ø´Ø¯Ù‡ Ø¨Ù‡ Ø§Ù†Ø¯Ø§Ø²Ù‡Ù” %2 Ù…ی‌سازد",
+       "LISTS_LENGTH_TITLE": "طول %1",
+       "LISTS_LENGTH_TOOLTIP": "طول ÛŒÚ© Ùهرست Ø±Ø§ Ø¨Ø±Ù…ی‌گرداند.",
+       "LISTS_ISEMPTY_TITLE": "%1 Ø®Ø§Ù„ÛŒ Ø§Ø³Øª",
+       "LISTS_ISEMPTY_TOOLTIP": "اگر Ùهرست Ø®Ø§Ù„ÛŒ Ø§Ø³Øª Ù…قدار ØµØ¬ÛŒØ¬ Ø¨Ø± Ù…ی‌گرداند.",
+       "LISTS_INLIST": "در Ùهرست",
+       "LISTS_INDEX_OF_FIRST": "یاÙتن Ø§ÙˆÙ„ین Ø±Ø®â€ŒØ¯Ø§Ø¯ Ù…ورد",
+       "LISTS_INDEX_OF_LAST": "یاÙتن Ø¢Ø®Ø±ÛŒÙ† Ø±Ø®â€ŒØ¯Ø§Ø¯ Ù…ورد",
+       "LISTS_INDEX_OF_TOOLTIP": "شاخصی Ø§Ø² Ø§ÙˆÙ„ین/آخرین Ø±Ø®â€ŒØ¯Ø§Ø¯ Ù…ورد Ø¯Ø± Ùهرست Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند. %1 Ø¨Ø± Ù…ی‌گرداند Ø§Ú¯Ø± Ø¢ÛŒØªÙ… Ù…وجود Ù†Ø¨ÙˆØ¯.",
+       "LISTS_GET_INDEX_GET": "گرÙتن",
+       "LISTS_GET_INDEX_GET_REMOVE": "گرÙتن Ùˆ Ø­Ø°Ù‌کردن",
+       "LISTS_GET_INDEX_REMOVE": "حذÙ‌کردن",
+       "LISTS_GET_INDEX_FROM_END": "# Ø§Ø² Ø§Ù†ØªÙ‡Ø§",
+       "LISTS_GET_INDEX_FIRST": "اولین",
+       "LISTS_GET_INDEX_LAST": "آخرین",
+       "LISTS_GET_INDEX_RANDOM": "تصادÙÛŒ",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "%1 Ø§ÙˆÙ„ین Ù…ورد Ø§Ø³Øª.",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "%1 Ø¢Ø®Ø±ÛŒÙ† Ù…ورد Ø§Ø³Øª.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "موردی Ø¯Ø± Ù…حل Ù…شخص‌شده Ø¨Ø± Ù…ی‌گرداند.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "اولین Ù…ورد ÛŒÚ© Ùهرست Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "آخرین Ù…ورد Ø¯Ø± ÛŒÚ© Ùهرست Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "یک Ù…ورد ØªØµØ§Ø¯ÙÛŒ Ø¯Ø± ÛŒÚ© Ùهرست Ø¨Ø± Ù…ی‌گرداند.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "مورد Ø¯Ø± Ù…حل Ù…شخص‌شده Ø¯Ø± Ùهرست Ø±Ø§ Ø­Ø°Ù Ùˆ Ø¨Ø± Ù…ی‌گرداند.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "اولین Ù…ورد Ù…شخص‌شده Ø¯Ø± Ùهرست Ø±Ø§ Ø­Ø°Ù Ùˆ Ø¨Ø± Ù…ی‌گرداند.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "آخرین Ù…ورد Ù…شخص‌شده Ø¯Ø± Ùهرست Ø±Ø§ Ø­Ø°Ù Ùˆ Ø¨Ø± Ù…ی‌گرداند.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "مورد ØªØµØ§Ø¯Ùی‌ای Ø±Ø§ Ø¯Ø± Ùهرست Ø­Ø°Ù Ùˆ Ø¨Ø± Ù…ی‌گرداند.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "مورد Ù…شخص‌شده Ø¯Ø± Ù…وقعیت Ù…شخص Ø¯Ø± ÛŒÚ© Ùهرست Ø±Ø§ Ø­Ø°Ù Ùˆ Ø¨Ø± Ù…ی‌گرداند.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "اولین Ù…ورد Ø±Ø§ Ø¯Ø± ÛŒÚ© Ùهرست Ø­Ø°Ù Ù…ی‌کند.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "آخرین Ù…ورد Ø±Ø§ Ø¯Ø± ÛŒÚ© Ùهرست Ø­Ø°Ù Ù…ی‌کند.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "یک Ù…ورد ØªØµØ§Ø¯ÙÛŒ Ø±Ø§ ÛŒÚ© Ùهرست Ø­Ø°Ù Ù…ی‌کند.",
+       "LISTS_SET_INDEX_SET": "اعمال",
+       "LISTS_SET_INDEX_INSERT": "درج Ø¯Ø±",
+       "LISTS_SET_INDEX_INPUT_TO": "به Ø¹Ù†ÙˆØ§Ù†",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "مورد Ù…شخص‌شده Ø¯Ø± ÛŒÚ© Ùهرست Ø±Ø§ Ù‚رار Ù…ی‌دهد.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "اولین Ù…ورد Ø¯Ø± ÛŒÚ© Ùهرست Ø±Ø§ ØªØ¹ÛŒÛŒÙ† Ù…ی‌کند.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_LAST": "آخرین Ù…ورد Ø¯Ø± ÛŒÚ© Ùهرست Ø±Ø§ ØªØ¹ÛŒÛŒÙ† Ù…ی‌کند.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "یک Ù…ورد ØªØµØ§Ø¯ÙÛŒ Ø¯Ø± ÛŒÚ© Ùهرست Ø±Ø§ ØªØ¹ÛŒÛŒÙ† Ù…ی‌کند.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "موردی Ø¯Ø± Ù…وقعیت Ù…شخص‌شده Ø¯Ø± ÛŒÚ© Ùهرست Ø§Ø¶Ø§ÙÙ‡ Ù…ی‌کند.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "موردی Ø¨Ù‡ ØªÙ‡ Ùهرست Ø§Ø¶Ø§ÙÙ‡ Ù…ی‌کند.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "موردی Ø¨Ù‡ ØªÙ‡ Ùهرست Ø§Ù„حاق Ù…ی‌کند.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "مورد Ø±Ø§ Ø¨Ù‡ ØµÙˆØ±Øª ØªØµØ§Ø¯ÙÛŒ Ø¯Ø± ÛŒÚ© Ùهرست Ù…ی‌اÙزاید.",
+       "LISTS_GET_SUBLIST_START_FROM_START": "گرÙتن Ø²ÛŒØ±Ù…جموعه‌ای Ø§Ø² #",
+       "LISTS_GET_SUBLIST_START_FROM_END": "گرÙتن Ø²ÛŒØ±Ù…جموعه‌ای Ø§Ø² # Ø§Ø² Ø§Ù†ØªÙ‡Ø§",
+       "LISTS_GET_SUBLIST_START_FIRST": "گرÙتن Ø²ÛŒØ±Ù…جموعه‌ای Ø§Ø² Ø§Ø¨ØªØ¯Ø§",
+       "LISTS_GET_SUBLIST_END_FROM_START": "به #",
+       "LISTS_GET_SUBLIST_END_FROM_END": "به # Ø§Ø² Ø§Ù†ØªÙ‡Ø§",
+       "LISTS_GET_SUBLIST_END_LAST": "به Ø¢Ø®Ø±ÛŒÙ†",
+       "LISTS_GET_SUBLIST_TOOLTIP": "Ú©Ù¾ÛŒ Ø§Ø² Ù‚سمت Ù…شخص‌شدهٔ Ù„یست Ø¯Ø±Ø³Øª Ù…ی‌کند.",
+       "LISTS_SORT_TITLE": "مرتب‌سازی%1 %2 %3",
+       "LISTS_SORT_TOOLTIP": "یک Ú©Ù¾ÛŒ Ø§Ø² Ù„یست Ø±Ø§ Ù…رتب Ú©Ù†ÛŒØ¯.",
+       "LISTS_SORT_ORDER_ASCENDING": "صعودی",
+       "LISTS_SORT_ORDER_DESCENDING": "نزولی",
+       "LISTS_SORT_TYPE_NUMERIC": "عددی",
+       "LISTS_SORT_TYPE_TEXT": "حروÙÛŒ ØŒ Ø§Ù„Ùبایی",
+       "LISTS_SORT_TYPE_IGNORECASE": "حروÙÛŒ ØŒ Ø±Ø¯ Ú©Ø±Ø¯Ù† Ù…ورد",
+       "LISTS_SPLIT_LIST_FROM_TEXT": "ایجاد Ùهرست Ø§Ø² Ù…تن",
+       "LISTS_SPLIT_TEXT_FROM_LIST": "ایجاد Ù…تن Ø§Ø² Ùهرست",
+       "LISTS_SPLIT_WITH_DELIMITER": "همراه Ø¬Ø¯Ø§Ø³Ø§Ø²",
+       "LISTS_SPLIT_TOOLTIP_SPLIT": "شکستن Ù…تن Ø¨Ù‡ Ùهرستی Ø§Ø² Ù…تن‌ها، Ø´Ú©Ø³ØªÙ† Ø¯Ø± Ù…حل Ø¬Ø¯Ø§Ú©Ù†Ù†Ø¯Ù‡",
+       "LISTS_SPLIT_TOOLTIP_JOIN": "چسباندن ÛŒÚ© Ùهرست Ø§Ø² Ù…تن‌ها Ùˆ ØªØ´Ú©ÛŒÙ„ ÛŒÚ© Ù…تن Ú©Ù‡ Ø¨Ø§ ÛŒÚ© Ø¬Ø¯Ø§Ú©Ù†Ù†Ø¯Ù‡ Ø¬Ø¯Ø§ Ø´Ø¯Ù‡â€ŒØ§Ù†Ø¯",
+       "LISTS_REVERSE_MESSAGE0": "معکوس %1",
+       "LISTS_REVERSE_TOOLTIP": "یک Ú©Ù¾ÛŒ Ø§Ø² Ù„یست Ø±Ø§ Ù…عکوس Ú©Ù†ÛŒØ¯.",
+       "VARIABLES_GET_TOOLTIP": "مقدار Ø§ÛŒÙ† Ù…تغیر Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند.",
+       "VARIABLES_GET_CREATE_SET": "درست‌کردن Â«ØªÙ†Ø¸ÛŒÙ… %1»",
+       "VARIABLES_SET": "مجموعه %1 Ø¨Ù‡ %2",
+       "VARIABLES_SET_TOOLTIP": "متغیر Ø¨Ø±Ø§Ø¨Ø± Ø¨Ø§ Ø®Ø±ÙˆØ¬ÛŒ Ø±Ø§ Ù…شخص Ù…ی‌کند.",
+       "VARIABLES_SET_CREATE_GET": "درست‌کردن Â«Ú¯Ø±Ùتن %1»",
+       "PROCEDURES_DEFNORETURN_TITLE": "به",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "انجام Ú†ÛŒØ²ÛŒ",
+       "PROCEDURES_BEFORE_PARAMS": "با:",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "با:",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "تابعی Ù…ی‌سازد Ø¨Ø¯ÙˆÙ† Ù‡ÛŒÚ† Ø®Ø±ÙˆØ¬ÛŒ.",
+       "PROCEDURES_DEFNORETURN_COMMENT": "توصی٠این Ø¹Ù…لکرد...",
+       "PROCEDURES_DEFRETURN_RETURN": "بازگشت",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "تابعی Ø¨Ø§ ÛŒÚ© Ø®Ø±ÙˆØ¬ÛŒ Ù…ی‌سازد.",
+       "PROCEDURES_ALLOW_STATEMENTS": "اجازه Ø§Ø¸Ù‡Ø§Ø±Ø§Øª",
+       "PROCEDURES_DEF_DUPLICATE_WARNING": "اخطار: Ø§ÛŒÙ† ØªØ§Ø¨Ø¹ÛŒ Ù¾Ø§Ø±Ø§Ù…تر ØªÚ©Ø±Ø§Ø±ÛŒ Ø¯Ø§Ø±Ø¯.",
+       "PROCEDURES_CALLNORETURN_HELPURL": "https://fa.wikipedia.org/wiki/%D8%B1%D9%88%DB%8C%D9%87_(%D8%B9%D9%84%D9%88%D9%85_%D8%B1%D8%A7%DB%8C%D8%A7%D9%86%D9%87)",
+       "PROCEDURES_CALLNORETURN_TOOLTIP": "اجرای ØªØ§Ø¨Ø¹ ØªØ¹Ø±ÛŒÙ‌شده ØªÙˆØ³Ø· Ú©Ø§Ø±Ø¨Ø± Â«%1».",
+       "PROCEDURES_CALLRETURN_HELPURL": "https://fa.wikipedia.org/wiki/%D8%B1%D9%88%DB%8C%D9%87_%28%D8%B9%D9%84%D9%88%D9%85_%D8%B1%D8%A7%DB%8C%D8%A7%D9%86%D9%87%29",
+       "PROCEDURES_CALLRETURN_TOOLTIP": "اجرای ØªØ§Ø¨Ø¹ ØªØ¹Ø±ÛŒÙ‌شده ØªÙˆØ³Ø· Ú©Ø§Ø±Ø¨Ø± Â«%1» Ùˆ Ø§Ø³ØªÙاده Ø§Ø² Ø®Ø±ÙˆØ¬ÛŒ Ø¢Ù†.",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "ورودی‌ها",
+       "PROCEDURES_MUTATORCONTAINER_TOOLTIP": "اÙزودن، Ø­Ø°Ù ÛŒØ§ Ø¯ÙˆØ¨Ø§Ø±Ù‡ Ù…رتب‌کردن ÙˆØ±ÙˆØ¯ÛŒ Ø§ÛŒÙ† ØªØ§Ø¨Ø¹.",
+       "PROCEDURES_MUTATORARG_TITLE": "نام ÙˆØ±ÙˆØ¯ÛŒ:",
+       "PROCEDURES_MUTATORARG_TOOLTIP": "اضاÙÙ‡ Ú©Ø±Ø¯Ù† ÙˆØ±ÙˆØ¯ÛŒ Ø¨Ù‡ ØªØ§Ø¨Ø¹.",
+       "PROCEDURES_HIGHLIGHT_DEF": "برجسته‌سازی ØªØ¹Ø±ÛŒÙ ØªØ§Ø¨Ø¹",
+       "PROCEDURES_CREATE_DO": "ساختن Â«%1»",
+       "PROCEDURES_IFRETURN_TOOLTIP": "اگر ÛŒÚ© Ù…قدار ØµØ­ÛŒØ­ Ø§Ø³ØªØŒ Ù…قدار Ø¯ÙˆÙ… Ø±Ø§ Ø¨Ø±Ú¯Ø±Ø¯Ø§Ù†.",
+       "PROCEDURES_IFRETURN_WARNING": "اخطار: Ø§ÛŒÙ† Ø¨Ù„ÙˆÚ© Ø§Ø­ØªÙ…الاً Ùقط Ø¯Ø§Ø®Ù„ ÛŒÚ© ØªØ§Ø¨Ø¹ Ø§Ø³ØªÙاده Ù…ی‌شود."
+}
diff --git a/js/msg/json/fi.json b/js/msg/json/fi.json
new file mode 100644 (file)
index 0000000..dcb5bff
--- /dev/null
@@ -0,0 +1,358 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Nike",
+                       "Silvonen",
+                       "Espertus",
+                       "Pettevi",
+                       "McSalama",
+                       "Espeox",
+                       "SNuutti",
+                       "PStudios",
+                       "Mikahama",
+                       "Pyscowicz",
+                       "Pahkiqaz",
+                       "Hopea"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "kohde",
+       "TODAY": "Tänään",
+       "DUPLICATE_BLOCK": "Kaksoiskappale",
+       "ADD_COMMENT": "Lisää kommentti",
+       "REMOVE_COMMENT": "Poista kommentti",
+       "EXTERNAL_INPUTS": "Ulkoiset syötteet",
+       "INLINE_INPUTS": "Tuo syötteet",
+       "DELETE_BLOCK": "Poista lohko",
+       "DELETE_X_BLOCKS": "Poista %1 lohkoa",
+       "DELETE_ALL_BLOCKS": "Poistetaanko kaikki %1 lohkoa?",
+       "CLEAN_UP": "Siivoa lohkot",
+       "COLLAPSE_BLOCK": "Sulje lohko",
+       "COLLAPSE_ALL": "Sulje lohkot",
+       "EXPAND_BLOCK": "Laajenna lohko",
+       "EXPAND_ALL": "Laajenna lohkot",
+       "DISABLE_BLOCK": "Passivoi lohko",
+       "ENABLE_BLOCK": "Aktivoi lohko",
+       "HELP": "Apua",
+       "UNDO": "Kumoa",
+       "REDO": "Tee uudelleen",
+       "CHANGE_VALUE_TITLE": "Muuta arvoa:",
+       "RENAME_VARIABLE": "Nimeä uudelleen muuttuja...",
+       "RENAME_VARIABLE_TITLE": "Nimeä uudelleen kaikki '%1' muuttujaa:",
+       "NEW_VARIABLE": "Luo muuttuja...",
+       "NEW_STRING_VARIABLE": "Luo merkkijonomuuttuja...",
+       "NEW_NUMBER_VARIABLE": "Luo numeromuuttuja...",
+       "NEW_COLOUR_VARIABLE": "Luo värimuuttuja...",
+       "NEW_VARIABLE_TYPE_TITLE": "Uuden muuttujan tyyppi:",
+       "NEW_VARIABLE_TITLE": "Uuden muuttujan nimi:",
+       "VARIABLE_ALREADY_EXISTS": "Muuttuja nimeltään '%1' jo olemassa.",
+       "VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE": "Muuttuja nimeltä '%1' on jo olemassa toiselle tyypille: '%2'.",
+       "DELETE_VARIABLE_CONFIRMATION": "Poistetaanko %1 käyttöä muuttujalta '%2'?",
+       "CANNOT_DELETE_VARIABLE_PROCEDURE": "Ei voida poistaa muuttujaa '%1' koska se on osa funktion määritelmää '%2'",
+       "DELETE_VARIABLE": "Poista muuttuja '%1'",
+       "COLOUR_PICKER_HELPURL": "https://fi.wikipedia.org/wiki/V%C3%A4ri",
+       "COLOUR_PICKER_TOOLTIP": "Valitse väri paletista.",
+       "COLOUR_RANDOM_TITLE": "satunnainen väri",
+       "COLOUR_RANDOM_TOOLTIP": "Valitse väri sattumanvaraisesti.",
+       "COLOUR_RGB_HELPURL": "http://www.december.com/html/spec/colorper.html",
+       "COLOUR_RGB_TITLE": "väri, jossa on",
+       "COLOUR_RGB_RED": "punainen",
+       "COLOUR_RGB_GREEN": "vihreä",
+       "COLOUR_RGB_BLUE": "sininen",
+       "COLOUR_RGB_TOOLTIP": "Luo väri, jossa on tietty määrä punaista, vihreää ja sinistä. Kaikkien arvojen tulee olla välillä 0 - 100.",
+       "COLOUR_BLEND_TITLE": "sekoitus",
+       "COLOUR_BLEND_COLOUR1": "väri 1",
+       "COLOUR_BLEND_COLOUR2": "väri 2",
+       "COLOUR_BLEND_RATIO": "suhde",
+       "COLOUR_BLEND_TOOLTIP": "Sekoittaa kaksi väriä keskenään annetussa suhteessa (0.0 - 1.0).",
+       "CONTROLS_REPEAT_HELPURL": "https://en.wikipedia.org/wiki/For_loop",
+       "CONTROLS_REPEAT_TITLE": "toista %1 kertaa",
+       "CONTROLS_REPEAT_INPUT_DO": "tee",
+       "CONTROLS_REPEAT_TOOLTIP": "Suorita joukko lausekkeita useampi kertaa.",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "toista niin kauan kuin",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "toista kunnes",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "Niin kauan kuin arvo on tosi, suorita joukko lausekkeita.",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "Niin kauan kuin arvo on epätosi, suorita joukko lausekkeita.",
+       "CONTROLS_FOR_TOOLTIP": "Aseta muuttujaan \"%1\" arvot alkuarvosta loppuarvoon annetun askeleen välein ja suorita joka askeleella annettu koodilohko.",
+       "CONTROLS_FOR_TITLE": "laske %1 Väli %2-%3 %4:n välein",
+       "CONTROLS_FOREACH_TITLE": "kullekin kohteelle %1 listassa %2",
+       "CONTROLS_FOREACH_TOOLTIP": "Aseta muuttujan %1 arvoksi kukin listan kohde vuorollaan ja suorita joukko lausekkeita.",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "poistu silmukasta",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "jatka silmukan seuraavaan toistoon",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "Poistu sisemmästä silmukasta.",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "Ohita loput tästä silmukasta ja siirry seuraavaan toistoon.",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "Varoitus: Tätä lohkoa voi käyttää vain silmukan sisällä.",
+       "CONTROLS_IF_TOOLTIP_1": "Jos arvo on tosi, suorita lauseke.",
+       "CONTROLS_IF_TOOLTIP_2": "Jos arvo on tosi, suorita ensimmäinen lohko lausekkeita. Muuten suorita toinen lohko lausekkeita.",
+       "CONTROLS_IF_TOOLTIP_3": "Jos ensimmäinen arvo on tosi, suorita ensimmäinen lohko lausekkeita. Muuten, jos toinen arvo on tosi, suorita toinen lohko lausekkeita.",
+       "CONTROLS_IF_TOOLTIP_4": "Jos ensimmäinen arvo on tosi, suorita ensimmäinen lohko lausekkeita. Muuten, jos toinen arvo on tosi, suorita toinen lohko lausekkeita. Jos mikään arvoista ei ole tosi, suorita viimeinen lohko lausekkeita.",
+       "CONTROLS_IF_MSG_IF": "jos",
+       "CONTROLS_IF_MSG_ELSEIF": "muuten jos",
+       "CONTROLS_IF_MSG_ELSE": "muuten",
+       "CONTROLS_IF_IF_TOOLTIP": "Lisää, poista tai järjestele osioita tässä \"jos\" lohkossa.",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "Lisää ehto \"jos\" lohkoon.",
+       "CONTROLS_IF_ELSE_TOOLTIP": "Lisää lopullinen \"muuten\" lohko \"jos\" lohkoon.",
+       "IOS_OK": "OK",
+       "IOS_CANCEL": "Peruuta",
+       "IOS_ERROR": "Virhe",
+       "IOS_PROCEDURES_INPUTS": "SYÖTTEET",
+       "IOS_PROCEDURES_ADD_INPUT": "+ Lisää syöte",
+       "IOS_PROCEDURES_ALLOW_STATEMENTS": "Salli selostukset",
+       "IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR": "Tällä toiminnolla on päällekkäisiä syöttöjä.",
+       "IOS_VARIABLES_ADD_VARIABLE": "+ Lisää muuttuja",
+       "IOS_VARIABLES_ADD_BUTTON": "Lisää",
+       "IOS_VARIABLES_RENAME_BUTTON": "Nimeä uudelleen",
+       "IOS_VARIABLES_DELETE_BUTTON": "Poista",
+       "IOS_VARIABLES_VARIABLE_NAME": "Muuttujan nimi",
+       "IOS_VARIABLES_EMPTY_NAME_ERROR": "Et voi käyttää tyhjää muuttujan nimeä.",
+       "LOGIC_COMPARE_HELPURL": "https://fi.wikipedia.org/wiki/Ep%C3%A4yht%C3%A4l%C3%B6",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "Palauta tosi, jos syötteet ovat keskenään samat.",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "Palauttaa tosi, jos syötteet eivät ole keskenään samoja.",
+       "LOGIC_COMPARE_TOOLTIP_LT": "Palauttaa tosi, jos ensimmäinen syöte on pienempi, kuin toinen.",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "Palauttaa tosi, jos ensimmäinen syöte on pienempi tai yhtä suuri, kuin toinen.",
+       "LOGIC_COMPARE_TOOLTIP_GT": "Palauttaa tosi, jos ensimmäinen syöte on suurempi, kuin toinen.",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "Palauttaa tosi, jos ensimmäinen syöte on suurempi tai yhtä suuri, kuin toinen.",
+       "LOGIC_OPERATION_TOOLTIP_AND": "Palauttaa tosi, jos kummatkin syötteet ovat tosia.",
+       "LOGIC_OPERATION_AND": "ja",
+       "LOGIC_OPERATION_TOOLTIP_OR": "Palauttaa tosi, jos ainakin yksi syötteistä on tosi.",
+       "LOGIC_OPERATION_OR": "tai",
+       "LOGIC_NEGATE_TITLE": "ei %1",
+       "LOGIC_NEGATE_TOOLTIP": "Palauttaa tosi, jos syöte on epätosi. Palauttaa epätosi, jos syöte on tosi.",
+       "LOGIC_BOOLEAN_TRUE": "tosi",
+       "LOGIC_BOOLEAN_FALSE": "epätosi",
+       "LOGIC_BOOLEAN_TOOLTIP": "Palauttaa joko tosi tai epätosi.",
+       "LOGIC_NULL": "ei mitään",
+       "LOGIC_NULL_TOOLTIP": "Palauttaa \"ei mitään\"-arvon.",
+       "LOGIC_TERNARY_CONDITION": "testi",
+       "LOGIC_TERNARY_IF_TRUE": "jos tosi",
+       "LOGIC_TERNARY_IF_FALSE": "jos epätosi",
+       "LOGIC_TERNARY_TOOLTIP": "Tarkistaa testin ehdon. Jos ehto on tosi, palauttaa \"jos tosi\" arvon, muuten palauttaa \"jos epätosi\" arvon.",
+       "MATH_NUMBER_HELPURL": "https://fi.wikipedia.org/wiki/Luku",
+       "MATH_NUMBER_TOOLTIP": "Luku.",
+       "MATH_ADDITION_SYMBOL": "+",
+       "MATH_SUBTRACTION_SYMBOL": "-",
+       "MATH_DIVISION_SYMBOL": "÷",
+       "MATH_MULTIPLICATION_SYMBOL": "â‹…",
+       "MATH_POWER_SYMBOL": "^",
+       "MATH_TRIG_SIN": "sin",
+       "MATH_TRIG_COS": "cos",
+       "MATH_TRIG_TAN": "tan",
+       "MATH_TRIG_ASIN": "asin",
+       "MATH_TRIG_ACOS": "acos",
+       "MATH_TRIG_ATAN": "atan",
+       "MATH_ARITHMETIC_HELPURL": "http://fi.wikipedia.org/wiki/Aritmetiikka",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "Palauttaa kahden luvun summan.",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "Palauttaa kahden luvun erotuksen.",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "Palauttaa kertolaskun tulon.",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "Palauttaa jakolaskun osamäärän.",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "Palauttaa ensimmäisen luvun korotettuna toisen luvun potenssiin.",
+       "MATH_SINGLE_HELPURL": "https://fi.wikipedia.org/wiki/Neli%C3%B6juuri",
+       "MATH_SINGLE_OP_ROOT": "neliöjuuri",
+       "MATH_SINGLE_TOOLTIP_ROOT": "Palauttaa luvun neliöjuuren.",
+       "MATH_SINGLE_OP_ABSOLUTE": "itseisarvo",
+       "MATH_SINGLE_TOOLTIP_ABS": "Palauttaa luvun itseisarvon.",
+       "MATH_SINGLE_TOOLTIP_NEG": "Palauttaa numeron vastaluvun.",
+       "MATH_SINGLE_TOOLTIP_LN": "Palauttaa luvun luonnollisen logaritmin.",
+       "MATH_SINGLE_TOOLTIP_LOG10": "Palauttaa luvun kymmenkantaisen logaritmin.",
+       "MATH_SINGLE_TOOLTIP_EXP": "Palauttaa e potenssiin luku.",
+       "MATH_SINGLE_TOOLTIP_POW10": "Palauttaa 10 potenssiin luku.",
+       "MATH_TRIG_HELPURL": "https://fi.wikipedia.org/wiki/Trigonometrinen_funktio",
+       "MATH_TRIG_TOOLTIP_SIN": "Palauttaa asteluvun (ei radiaanin) sinin.",
+       "MATH_TRIG_TOOLTIP_COS": "Palauttaa asteluvun (ei radiaanin) kosinin.",
+       "MATH_TRIG_TOOLTIP_TAN": "Palauttaa asteluvun (ei radiaanin) tangentin.",
+       "MATH_TRIG_TOOLTIP_ASIN": "Palauttaa luvun arkussinin.",
+       "MATH_TRIG_TOOLTIP_ACOS": "Palauttaa luvun arkuskosinin.",
+       "MATH_TRIG_TOOLTIP_ATAN": "Palauttaa luvun arkustangentin.",
+       "MATH_CONSTANT_HELPURL": "https://en.wikipedia.org/wiki/Mathematical_constant",
+       "MATH_CONSTANT_TOOLTIP": "Palauttaa jonkin seuraavista vakioista: Ï€ (3.141…), e (2.718…), Ï† (1.618…), neliöjuuri(2) (1.414…), neliöjuuri(½) (0.707…), or âˆž (ääretön).",
+       "MATH_IS_EVEN": "on parillinen",
+       "MATH_IS_ODD": "on pariton",
+       "MATH_IS_PRIME": "on alkuluku",
+       "MATH_IS_WHOLE": "on kokonaisluku",
+       "MATH_IS_POSITIVE": "on positiivinen",
+       "MATH_IS_NEGATIVE": "on negatiivinen",
+       "MATH_IS_DIVISIBLE_BY": "on jaollinen luvulla",
+       "MATH_IS_TOOLTIP": "Tarkistaa onko numero parillinen, pariton, alkuluku, kokonaisluku, positiivinen, negatiivinen, tai jos se on jaollinen toisella luvulla. Palauttaa tosi tai epätosi.",
+       "MATH_CHANGE_HELPURL": "https://fi.wikipedia.org/wiki/Yhteenlasku",
+       "MATH_CHANGE_TITLE": "muuta %1 arvolla %2",
+       "MATH_CHANGE_TOOLTIP": "Lisää arvo muuttujaan '%1'.",
+       "MATH_ROUND_HELPURL": "https://fi.wikipedia.org/wiki/Py%C3%B6rist%C3%A4minen",
+       "MATH_ROUND_TOOLTIP": "Pyöristää luvun ylös- tai alaspäin.",
+       "MATH_ROUND_OPERATOR_ROUND": "pyöristä",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "pyöristä ylöspäin",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "pyöristä alaspäin",
+       "MATH_ONLIST_OPERATOR_SUM": "summa luvuista",
+       "MATH_ONLIST_TOOLTIP_SUM": "Palauttaa kaikkien annettujen lukujen summan.",
+       "MATH_ONLIST_OPERATOR_MIN": "pienin luvuista",
+       "MATH_ONLIST_TOOLTIP_MIN": "Palauttaa pienimmän annetuista luvuista.",
+       "MATH_ONLIST_OPERATOR_MAX": "suurin luvuista",
+       "MATH_ONLIST_TOOLTIP_MAX": "Palauttaa suurimman annetuista luvuista.",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "keskiarvo luvuista",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "Palauttaa aritmeettisen keskiarvon annetuista luvuista.",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "keskiluku luvuista",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "Palauttaa annettujen lukujen keskiluvun.",
+       "MATH_ONLIST_OPERATOR_MODE": "tyyppiarvo luvuista",
+       "MATH_ONLIST_TOOLTIP_MODE": "Palauttaa luettelon yleisimmistä luvuista annetussa listassa.",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "keskihajonta luvuista",
+       "MATH_ONLIST_TOOLTIP_STD_DEV": "Palauttaa annettujen lukujen keskihajonnan.",
+       "MATH_ONLIST_OPERATOR_RANDOM": "satunnainen valinta luvuista",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "Palauttaa satunnaisesti valitun luvun annetuista luvuista.",
+       "MATH_MODULO_HELPURL": "https://en.wikipedia.org/wiki/Modulo_operation",
+       "MATH_MODULO_TITLE": "%1 ÷ %2 jakojäännös",
+       "MATH_MODULO_TOOLTIP": "Palauttaa jakolaskun jakojäännöksen.",
+       "MATH_CONSTRAIN_TITLE": "rajoita %1 vähintään %2 enintään %3",
+       "MATH_CONSTRAIN_TOOLTIP": "Rajoittaa arvon annetulle suljetulle välille.",
+       "MATH_RANDOM_INT_HELPURL": "https://fi.wikipedia.org/wiki/Satunnaisluku",
+       "MATH_RANDOM_INT_TITLE": "Palauttaa satunnaisen kokonaisluvun väliltä %1-%2",
+       "MATH_RANDOM_INT_TOOLTIP": "Palauttaa satunnaisen kokonaisluvun kahden annetun arvon suljetulta väliltä.",
+       "MATH_RANDOM_FLOAT_HELPURL": "https://fi.wikipedia.org/wiki/Satunnaisluku",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "satunnainen murtoluku",
+       "MATH_RANDOM_FLOAT_TOOLTIP": "Palauttaa satunnaisen luvun oikealta puoliavoimesta välistä [0.0, 1.0).",
+       "TEXT_TEXT_HELPURL": "https://fi.wikipedia.org/wiki/Merkkijono",
+       "TEXT_TEXT_TOOLTIP": "Kirjain, sana tai rivi tekstiä.",
+       "TEXT_JOIN_TITLE_CREATEWITH": "luo teksti",
+       "TEXT_JOIN_TOOLTIP": "Luo merkkijonon liittämällä yhteen minkä tahansa määrän kohteita.",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "liitä",
+       "TEXT_CREATE_JOIN_TOOLTIP": "Lisää, poista tai uudelleen järjestä osioita tässä lohkossa.",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "Lisää kohteen tekstiin.",
+       "TEXT_APPEND_TITLE": "muuttujaan %1 lisää teksti %2",
+       "TEXT_APPEND_TOOLTIP": "Lisää tekstiä muuttujaan '%1'.",
+       "TEXT_LENGTH_TITLE": "%1:n pituus",
+       "TEXT_LENGTH_TOOLTIP": "Palauttaa annetussa tekstissä olevien merkkien määrän (välilyönnit mukaan lukien).",
+       "TEXT_ISEMPTY_TITLE": "%1 on tyhjä",
+       "TEXT_ISEMPTY_TOOLTIP": "Palauttaa tosi, jos annettu teksti on tyhjä.",
+       "TEXT_INDEXOF_TOOLTIP": "Palauttaa ensin annetun tekstin ensimmäisen/viimeisen esiintymän osoitteen toisessa tekstissä. Palauttaa osoitteen %1 jos tekstiä ei löytynyt.",
+       "TEXT_INDEXOF_TITLE": "tekstissä %1 %2 %3",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "etsi ensimmäinen esiintymä merkkijonolle",
+       "TEXT_INDEXOF_OPERATOR_LAST": "etsi viimeinen esiintymä merkkijonolle",
+       "TEXT_CHARAT_TITLE": "tekstissä %1 %2",
+       "TEXT_CHARAT_FROM_START": "Hae kirjain nro",
+       "TEXT_CHARAT_FROM_END": "Hae kirjain nro (lopusta laskien)",
+       "TEXT_CHARAT_FIRST": "hae ensimmäinen kirjain",
+       "TEXT_CHARAT_LAST": "hae viimeinen kirjain",
+       "TEXT_CHARAT_RANDOM": "hae satunnainen kirjain",
+       "TEXT_CHARAT_TOOLTIP": "Palauttaa annetussa kohdassa olevan kirjaimen.",
+       "TEXT_GET_SUBSTRING_TOOLTIP": "Palauttaa määrätyn osan tekstistä.",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "merkkijonosta",
+       "TEXT_GET_SUBSTRING_START_FROM_START": "hae osa alkaen kirjaimesta nro",
+       "TEXT_GET_SUBSTRING_START_FROM_END": "hae osa alkaen kirjaimesta nro (lopusta laskien)",
+       "TEXT_GET_SUBSTRING_START_FIRST": "hae osa alkaen ensimmäisestä kirjaimesta",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "kirjaimeen nro",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "kirjaimeen nro (lopusta laskien)",
+       "TEXT_GET_SUBSTRING_END_LAST": "viimeiseen kirjaimeen",
+       "TEXT_CHANGECASE_TOOLTIP": "Palauttaa kopion tekstistä eri kirjainkoossa.",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "isot kirjaimet",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "pienet kirjaimet",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": "isot alkukirjaimet",
+       "TEXT_TRIM_TOOLTIP": "Palauttaa kopion tekstistä siten, että välilyönnit on poistettu yhdestä tai molemmista päistä.",
+       "TEXT_TRIM_OPERATOR_BOTH": "poistaa välilyönnit kummaltakin puolelta",
+       "TEXT_TRIM_OPERATOR_LEFT": "poistaa välilyönnit vasemmalta puolelta",
+       "TEXT_TRIM_OPERATOR_RIGHT": "poistaa välilyönnit oikealta puolelta",
+       "TEXT_PRINT_TITLE": "tulosta %1",
+       "TEXT_PRINT_TOOLTIP": "Tulostaa annetun tekstin, numeron tai muun arvon.",
+       "TEXT_PROMPT_TYPE_TEXT": "käyttäen annettua viestiä, kehottaa syöttämään tekstiä",
+       "TEXT_PROMPT_TYPE_NUMBER": "käyttäen annettua viestiä, kehottaa syöttämään numeron",
+       "TEXT_PROMPT_TOOLTIP_NUMBER": "Kehottaa käyttäjää syöttämään numeron.",
+       "TEXT_PROMPT_TOOLTIP_TEXT": "Kehottaa käyttäjää syöttämään tekstiä.",
+       "TEXT_COUNT_MESSAGE0": "laske määrä '%1' '%2' sisällä",
+       "TEXT_COUNT_TOOLTIP": "Laske kuiunka monta kertaa jokin teksti esiintyy jossakin toisessa tekstissä.",
+       "TEXT_REVERSE_MESSAGE0": "%1 takaperin",
+       "TEXT_REVERSE_TOOLTIP": "Muuttaa tekstin kirjainten järjestyksen toisin päin.",
+       "LISTS_CREATE_EMPTY_TITLE": "Luo tyhjä lista",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "Palauta tyhjä lista, pituus 0",
+       "LISTS_CREATE_WITH_TOOLTIP": "Luo lista, jossa on mikä tahansa määrä kohteita.",
+       "LISTS_CREATE_WITH_INPUT_WITH": "luo lista",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "lista",
+       "LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "Listää, poista tai järjestele uudestaan osioita tässä lohkossa.",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "Lisää kohde listaan.",
+       "LISTS_REPEAT_TOOLTIP": "Luo listan, jossa annettu arvo toistuu määrätyn monta kertaa.",
+       "LISTS_REPEAT_TITLE": "luo lista, jossa kohde %1 toistuu %2 kertaa",
+       "LISTS_LENGTH_TITLE": "%1:n pituus",
+       "LISTS_LENGTH_TOOLTIP": "Palauttaa listan pituuden.",
+       "LISTS_ISEMPTY_TITLE": "%1 on tyhjä",
+       "LISTS_ISEMPTY_TOOLTIP": "Palauttaa tosi, jos lista on tyhjä.",
+       "LISTS_INLIST": "listassa",
+       "LISTS_INDEX_OF_FIRST": "etsi ensimmäinen esiintymä kohteelle",
+       "LISTS_INDEX_OF_LAST": "etsi viimeinen esiintymä kohteelle",
+       "LISTS_INDEX_OF_TOOLTIP": "Palauttaa kohteen ensimmäisen/viimeisen esiintymän kohdan listassa. Palauttaa %1 jos kohdetta ei löydy.",
+       "LISTS_GET_INDEX_GET": "hae",
+       "LISTS_GET_INDEX_GET_REMOVE": "hae ja poista",
+       "LISTS_GET_INDEX_REMOVE": "poista",
+       "LISTS_GET_INDEX_FROM_START": "nro",
+       "LISTS_GET_INDEX_FROM_END": "nro (lopusta laskien)",
+       "LISTS_GET_INDEX_FIRST": "ensimmäinen",
+       "LISTS_GET_INDEX_LAST": "viimeinen",
+       "LISTS_GET_INDEX_RANDOM": "satunnainen",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "Numero %1 tarkoittaa listan ensimmäistä kohdetta.",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "Numero %1 tarkoittaa listan viimeistä kohdetta.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "Palauta kohde annetusta kohdasta listaa.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "Palauta ensimmäinen kohde listalta.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "Palauttaa listan viimeisen kohteen.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "Palauttaa satunnaisen kohteen listalta.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "Poistaa ja palauttaa kohteen listan annetusta kohdasta.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "Poistaa ja palauttaa ensimmäisen kohteen listalta.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "Poistaa ja palauttaa viimeisen kohteen listalta.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "Poistaa ja palauttaa satunnaisen kohteen listalta.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "Poistaa kohteen listalta annetusta kohtaa.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "Poistaa ensimmäisen kohteen listalta.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "Poistaa viimeisen kohteen listalta.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "Poistaa satunnaisen kohteen listalta.",
+       "LISTS_SET_INDEX_SET": "aseta",
+       "LISTS_SET_INDEX_INSERT": "lisää kohtaan",
+       "LISTS_SET_INDEX_INPUT_TO": "kohteeksi",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "Asettaa kohteen annettuun kohtaan listassa.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "Asettaa listan ensimmäisen kohteen.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_LAST": "Asettaa listan viimeisen kohteen.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "Asettaa satunnaisen kohteen listassa.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "Lisää kohteen annettuun kohtaan listassa.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "Lisää kohteen listan kärkeen.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "Lisää kohteen listan loppuun.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "Lisää kohteen satunnaiseen kohtaan listassa.",
+       "LISTS_GET_SUBLIST_START_FROM_START": "hae osalista alkaen kohdasta",
+       "LISTS_GET_SUBLIST_START_FROM_END": "hae osalista alkaen kohdasta (lopusta laskien)",
+       "LISTS_GET_SUBLIST_START_FIRST": "hae osalista alkaen alusta",
+       "LISTS_GET_SUBLIST_END_FROM_START": "päättyen kohtaan",
+       "LISTS_GET_SUBLIST_END_FROM_END": "päättyen kohtaan (lopusta laskien)",
+       "LISTS_GET_SUBLIST_END_LAST": "viimeinen",
+       "LISTS_GET_SUBLIST_TOOLTIP": "Luo kopio määrätystä kohden listaa.",
+       "LISTS_SORT_HELPURL": "https://github.com/google/blockly/wiki/Lists#sorting-a-list",
+       "LISTS_SORT_TITLE": "lajittele %1 %2 %3",
+       "LISTS_SORT_TOOLTIP": "Lajittele kopio luettelosta.",
+       "LISTS_SORT_ORDER_ASCENDING": "nouseva",
+       "LISTS_SORT_ORDER_DESCENDING": "laskeva",
+       "LISTS_SORT_TYPE_NUMERIC": "numeerinen",
+       "LISTS_SORT_TYPE_TEXT": "aakkosjärjestys",
+       "LISTS_SORT_TYPE_IGNORECASE": "aakkosjärjestyksessä, ohita kapitaalit",
+       "LISTS_SPLIT_LIST_FROM_TEXT": "tee lista tekstistä",
+       "LISTS_SPLIT_TEXT_FROM_LIST": "tee listasta teksti",
+       "LISTS_SPLIT_WITH_DELIMITER": "erottimen kanssa",
+       "LISTS_SPLIT_TOOLTIP_SPLIT": "Jaa teksti osiin erotinmerkin perusteella ja järjestä osat listaksi.",
+       "LISTS_SPLIT_TOOLTIP_JOIN": "Yhdistä luettelon tekstit yhdeksi tekstiksi, erotettuina välimerkillä.",
+       "VARIABLES_GET_TOOLTIP": "Palauttaa muuttujan arvon.",
+       "VARIABLES_GET_CREATE_SET": "Luo 'aseta %1'",
+       "VARIABLES_SET": "aseta %1 arvoksi %2",
+       "VARIABLES_SET_TOOLTIP": "Asettaa muutujan arvoksi annetun syötteen.",
+       "VARIABLES_SET_CREATE_GET": "Luo 'hae %1'",
+       "PROCEDURES_DEFNORETURN_TITLE": "tehdäksesi",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "tee jotain",
+       "PROCEDURES_BEFORE_PARAMS": "parametrit:",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "parametrit:",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "Luo funktio, jolla ei ole tuotosta.",
+       "PROCEDURES_DEFNORETURN_COMMENT": "Kuvaile tämä funktio...",
+       "PROCEDURES_DEFRETURN_RETURN": "palauta",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "Luo funktio, jolla ei ole tuotosta.",
+       "PROCEDURES_ALLOW_STATEMENTS": "salli kommentit",
+       "PROCEDURES_DEF_DUPLICATE_WARNING": "Varoitus: tällä funktiolla on sama parametri useamman kerran.",
+       "PROCEDURES_CALLNORETURN_HELPURL": "https://fi.wikipedia.org/wiki/Aliohjelma",
+       "PROCEDURES_CALLNORETURN_TOOLTIP": "Suorittaa käyttäjän määrittelemä funktio '%1'.",
+       "PROCEDURES_CALLRETURN_HELPURL": "https://fi.wikipedia.org/wiki/Aliohjelma",
+       "PROCEDURES_CALLRETURN_TOOLTIP": "Suorittaa käyttäjän määrittelemän funktion '%1' ja käyttää sen tuotosta.",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "syötteet",
+       "PROCEDURES_MUTATORCONTAINER_TOOLTIP": "Lisää, poista tai järjestele uudelleen tämän toiminnon tulot.",
+       "PROCEDURES_MUTATORARG_TITLE": "syötteen nimi:",
+       "PROCEDURES_MUTATORARG_TOOLTIP": "Lisää sisääntulon funktioon.",
+       "PROCEDURES_HIGHLIGHT_DEF": "Korosta funktion määritelmä",
+       "PROCEDURES_CREATE_DO": "Luo '%1'",
+       "PROCEDURES_IFRETURN_TOOLTIP": "Jos arvo on tosi, palauta toinen arvo.",
+       "PROCEDURES_IFRETURN_HELPURL": "http://c2.com/cgi/wiki?GuardClause",
+       "PROCEDURES_IFRETURN_WARNING": "Varoitus: tätä lohkoa voi käyttää vain funktion määrityksessä."
+}
diff --git a/js/msg/json/fr.json b/js/msg/json/fr.json
new file mode 100644 (file)
index 0000000..8e8cf1c
--- /dev/null
@@ -0,0 +1,361 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Espertus",
+                       "Gomoko",
+                       "ProfGra",
+                       "Wladek92",
+                       "Fredlefred",
+                       "Grimault",
+                       "Rixed",
+                       "Frigory",
+                       "Appr",
+                       "Vexthedorito",
+                       "Urhixidur",
+                       "RoboErikG"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "élément",
+       "TODAY": "Aujourd'hui",
+       "DUPLICATE_BLOCK": "Dupliquer",
+       "ADD_COMMENT": "Ajouter un commentaire",
+       "REMOVE_COMMENT": "Supprimer un commentaire",
+       "DUPLICATE_COMMENT": "Dupliquer le commentaire",
+       "EXTERNAL_INPUTS": "Entrées externes",
+       "INLINE_INPUTS": "Entrées en ligne",
+       "DELETE_BLOCK": "Supprimer le bloc",
+       "DELETE_X_BLOCKS": "Supprimer %1 blocs",
+       "DELETE_ALL_BLOCKS": "Supprimer ces %1 blocs ?",
+       "CLEAN_UP": "Nettoyer les blocs",
+       "COLLAPSE_BLOCK": "Réduire le bloc",
+       "COLLAPSE_ALL": "Réduire les blocs",
+       "EXPAND_BLOCK": "Développer le bloc",
+       "EXPAND_ALL": "Développer les blocs",
+       "DISABLE_BLOCK": "Désactiver le bloc",
+       "ENABLE_BLOCK": "Activer le bloc",
+       "HELP": "Aide",
+       "UNDO": "Annuler",
+       "REDO": "Refaire",
+       "CHANGE_VALUE_TITLE": "Modifier la valeur :",
+       "RENAME_VARIABLE": "Renommer la variable…",
+       "RENAME_VARIABLE_TITLE": "Renommer toutes les variables « %1 » en :",
+       "NEW_VARIABLE": "Créer une variable...",
+       "NEW_STRING_VARIABLE": "Créer une variable chaîne…",
+       "NEW_NUMBER_VARIABLE": "Créer une variable nombre…",
+       "NEW_COLOUR_VARIABLE": "Créer une variable couleur…",
+       "NEW_VARIABLE_TYPE_TITLE": "Nouveau type de variable :",
+       "NEW_VARIABLE_TITLE": "Le nom de la nouvelle variable :",
+       "VARIABLE_ALREADY_EXISTS": "Une variable appelée '%1' existe déjà.",
+       "VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE": "Une variable nommée '%1' existe déjà pour un autre type : '%2'.",
+       "DELETE_VARIABLE_CONFIRMATION": "Supprimer %1 utilisations de la variable '%2' ?",
+       "CANNOT_DELETE_VARIABLE_PROCEDURE": "Impossible de supprimer la variable '%1' parce qu’elle fait partie de la définition de la fonction '%2'",
+       "DELETE_VARIABLE": "Supprimer la variable '%1'",
+       "COLOUR_PICKER_HELPURL": "https://fr.wikipedia.org/wiki/Couleur",
+       "COLOUR_PICKER_TOOLTIP": "Choisir une couleur dans la palette.",
+       "COLOUR_RANDOM_TITLE": "couleur aléatoire",
+       "COLOUR_RANDOM_TOOLTIP": "Choisir une couleur au hasard.",
+       "COLOUR_RGB_HELPURL": "http://www.december.com/html/spec/colorper.html",
+       "COLOUR_RGB_TITLE": "colorier en",
+       "COLOUR_RGB_RED": "rouge",
+       "COLOUR_RGB_GREEN": "vert",
+       "COLOUR_RGB_BLUE": "bleu",
+       "COLOUR_RGB_TOOLTIP": "Créer une couleur avec la quantité spécifiée de rouge, vert et bleu. Les valeurs doivent être comprises entre 0 et 100.",
+       "COLOUR_BLEND_HELPURL": "http://meyerweb.com/eric/tools/color-blend/",
+       "COLOUR_BLEND_TITLE": "mélanger",
+       "COLOUR_BLEND_COLOUR1": "couleur 1",
+       "COLOUR_BLEND_COLOUR2": "couleur 2",
+       "COLOUR_BLEND_RATIO": "taux",
+       "COLOUR_BLEND_TOOLTIP": "Mélange deux couleurs dans une proportion donnée (de 0.0 à 1.0).",
+       "CONTROLS_REPEAT_HELPURL": "http://fr.wikipedia.org/wiki/Boucle_for",
+       "CONTROLS_REPEAT_TITLE": "répéter %1 fois",
+       "CONTROLS_REPEAT_INPUT_DO": "faire",
+       "CONTROLS_REPEAT_TOOLTIP": "Exécuter des instructions plusieurs fois.",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "répéter tant que",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "répéter jusqu’à",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "Tant qu’une valeur est vraie, alors exécuter des instructions.",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "Tant qu’une valeur est fausse, alors exécuter des instructions.",
+       "CONTROLS_FOR_TOOLTIP": "Faire prendre Ã  la variable Â«â€¯%1 » les valeurs depuis le nombre de début jusqu’au nombre de fin, en s’incrémentant du pas spécifié, et exécuter les instructions spécifiées.",
+       "CONTROLS_FOR_TITLE": "compter avec %1 de %2 à %3 par %4",
+       "CONTROLS_FOREACH_TITLE": "pour chaque élément %1 dans la liste %2",
+       "CONTROLS_FOREACH_TOOLTIP": "Pour chaque Ã©lément d’une liste, assigner la valeur de l’élément Ã  la variable '%1', puis exécuter des instructions.",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "quitter la boucle",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "passer Ã  l’itération de boucle suivante",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "Sortir de la boucle englobante.",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "Sauter le reste de cette boucle, et poursuivre avec l’itération suivante.",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "Attention : Ce bloc ne devrait être utilisé que dans une boucle.",
+       "CONTROLS_IF_TOOLTIP_1": "Si une valeur est vraie, alors exécuter certains ordres.",
+       "CONTROLS_IF_TOOLTIP_2": "Si une valeur est vraie, alors exécuter le premier bloc d’ordres. Sinon, exécuter le second bloc d’ordres.",
+       "CONTROLS_IF_TOOLTIP_3": "Si la première valeur est vraie, alors exécuter le premier bloc d’ordres. Sinon, si la seconde valeur est vraie, exécuter le second bloc d’ordres.",
+       "CONTROLS_IF_TOOLTIP_4": "Si la première valeur est vraie, alors exécuter le premier bloc d’ordres. Sinon, si la seconde valeur est vraie, exécuter le second bloc d’ordres. Si aucune des valeurs n’est vraie, exécuter le dernier bloc d’ordres.",
+       "CONTROLS_IF_MSG_IF": "si",
+       "CONTROLS_IF_MSG_ELSEIF": "sinon si",
+       "CONTROLS_IF_MSG_ELSE": "sinon",
+       "CONTROLS_IF_IF_TOOLTIP": "Ajouter, supprimer ou réordonner les sections pour reconfigurer ce bloc si.",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "Ajouter une condition au bloc si.",
+       "CONTROLS_IF_ELSE_TOOLTIP": "Ajouter une condition finale fourre-tout au bloc si.",
+       "IOS_OK": "OK",
+       "IOS_CANCEL": "Annuler",
+       "IOS_ERROR": "Erreur",
+       "IOS_PROCEDURES_INPUTS": "ENTRÉES",
+       "IOS_PROCEDURES_ADD_INPUT": "+ Ajouter une entrée",
+       "IOS_PROCEDURES_ALLOW_STATEMENTS": "Ordres autorisés",
+       "IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR": "Cette fonction a des entrées dupliquées.",
+       "IOS_VARIABLES_ADD_VARIABLE": "+ Ajouter une variable",
+       "IOS_VARIABLES_ADD_BUTTON": "Ajouter",
+       "IOS_VARIABLES_RENAME_BUTTON": "Renommer",
+       "IOS_VARIABLES_DELETE_BUTTON": "Supprimer",
+       "IOS_VARIABLES_VARIABLE_NAME": "Nom de la variable",
+       "IOS_VARIABLES_EMPTY_NAME_ERROR": "Vous ne pouvez pas utiliser un nom de variable vide.",
+       "LOGIC_COMPARE_HELPURL": "https://fr.wikipedia.org/wiki/Inegalite_(mathematiques)",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "Renvoyer vrai si les deux entrées sont égales.",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "Renvoyer vrai si les deux entrées sont différentes.",
+       "LOGIC_COMPARE_TOOLTIP_LT": "Renvoyer vrai si la première entrée est plus petite que la seconde.",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "Renvoyer vrai si la première entrée est plus petite ou égale à la seconde.",
+       "LOGIC_COMPARE_TOOLTIP_GT": "Renvoyer vrai si la première entrée est plus grande que la seconde.",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "Renvoyer vrai si la première entrée est plus grande ou égale à la seconde.",
+       "LOGIC_OPERATION_TOOLTIP_AND": "Renvoyer vrai si les deux entrées sont vraies.",
+       "LOGIC_OPERATION_AND": "et",
+       "LOGIC_OPERATION_TOOLTIP_OR": "Renvoyer vrai si au moins une des entrées est vraie.",
+       "LOGIC_OPERATION_OR": "ou",
+       "LOGIC_NEGATE_TITLE": "pas %1",
+       "LOGIC_NEGATE_TOOLTIP": "Renvoie vrai si l’entrée est fausse. Renvoie faux si l’entrée est vraie.",
+       "LOGIC_BOOLEAN_TRUE": "vrai",
+       "LOGIC_BOOLEAN_FALSE": "faux",
+       "LOGIC_BOOLEAN_TOOLTIP": "Renvoie soit vrai soit faux.",
+       "LOGIC_NULL_HELPURL": "https://en.wikipedia.org/wiki/Nullable_type",
+       "LOGIC_NULL": "nul",
+       "LOGIC_NULL_TOOLTIP": "Renvoie nul.",
+       "LOGIC_TERNARY_HELPURL": "https://en.wikipedia.org/wiki/%3F:",
+       "LOGIC_TERNARY_CONDITION": "test",
+       "LOGIC_TERNARY_IF_TRUE": "si vrai",
+       "LOGIC_TERNARY_IF_FALSE": "si faux",
+       "LOGIC_TERNARY_TOOLTIP": "Vérifier la condition dans 'test'. Si elle est vraie, renvoie la valeur 'si vrai' ; sinon renvoie la valeur 'si faux'.",
+       "MATH_NUMBER_HELPURL": "https://fr.wikipedia.org/wiki/Nombre",
+       "MATH_NUMBER_TOOLTIP": "Un nombre.",
+       "MATH_ARITHMETIC_HELPURL": "https://fr.wikipedia.org/wiki/Arithmetique",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "Renvoie la somme des deux nombres.",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "Renvoie la différence des deux nombres.",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "Renvoie le produit des deux nombres.",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "Renvoie le quotient des deux nombres.",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "Renvoie le premier nombre élevé à la puissance du second.",
+       "MATH_SINGLE_HELPURL": "https://fr.wikipedia.org/wiki/Racine_carree",
+       "MATH_SINGLE_OP_ROOT": "racine carrée",
+       "MATH_SINGLE_TOOLTIP_ROOT": "Renvoie la racine carrée d’un nombre.",
+       "MATH_SINGLE_OP_ABSOLUTE": "valeur absolue",
+       "MATH_SINGLE_TOOLTIP_ABS": "Renvoie la valeur absolue d’un nombre.",
+       "MATH_SINGLE_TOOLTIP_NEG": "Renvoie l’opposé d’un nombre",
+       "MATH_SINGLE_TOOLTIP_LN": "Renvoie le logarithme naturel d’un nombre.",
+       "MATH_SINGLE_TOOLTIP_LOG10": "Renvoie le logarithme décimal d’un nombre.",
+       "MATH_SINGLE_TOOLTIP_EXP": "Renvoie e Ã  la puissance d’un nombre.",
+       "MATH_SINGLE_TOOLTIP_POW10": "Renvoie 10 Ã  la puissance d’un nombre.",
+       "MATH_TRIG_HELPURL": "https://en.wikipedia.org/wiki/Trigonometric_functions",
+       "MATH_TRIG_TOOLTIP_SIN": "Renvoie le sinus d’un angle en degrés (pas en radians).",
+       "MATH_TRIG_TOOLTIP_COS": "Renvoie le cosinus d’un angle en degrés (pas en radians).",
+       "MATH_TRIG_TOOLTIP_TAN": "Renvoie la tangente d’un angle en degrés (pas en radians).",
+       "MATH_TRIG_TOOLTIP_ASIN": "Renvoie l’arcsinus d’un nombre.",
+       "MATH_TRIG_TOOLTIP_ACOS": "Renvoie l’arccosinus d’un nombre.",
+       "MATH_TRIG_TOOLTIP_ATAN": "Renvoie l’arctangente d’un nombre.",
+       "MATH_CONSTANT_HELPURL": "https://en.wikipedia.org/wiki/Mathematical_constant",
+       "MATH_CONSTANT_TOOLTIP": "Renvoie une des constantes courantes : Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), ou âˆž (infini).",
+       "MATH_IS_EVEN": "est pair",
+       "MATH_IS_ODD": "est impair",
+       "MATH_IS_PRIME": "est premier",
+       "MATH_IS_WHOLE": "est entier",
+       "MATH_IS_POSITIVE": "est positif",
+       "MATH_IS_NEGATIVE": "est négatif",
+       "MATH_IS_DIVISIBLE_BY": "est divisible par",
+       "MATH_IS_TOOLTIP": "Vérifier si un nombre est pair, impair, premier, entier, positif, négatif, ou s’il est divisible par un certain nombre. Renvoie vrai ou faux.",
+       "MATH_CHANGE_HELPURL": "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter",
+       "MATH_CHANGE_TITLE": "incrémenter %1 de %2",
+       "MATH_CHANGE_TOOLTIP": "Ajouter un nombre à la variable '%1'.",
+       "MATH_ROUND_HELPURL": "https://en.wikipedia.org/wiki/Rounding",
+       "MATH_ROUND_TOOLTIP": "Arrondir un nombre au-dessus ou au-dessous.",
+       "MATH_ROUND_OPERATOR_ROUND": "arrondir",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "arrondir par excès",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "arrondir par défaut",
+       "MATH_ONLIST_OPERATOR_SUM": "somme de la liste",
+       "MATH_ONLIST_TOOLTIP_SUM": "Renvoyer la somme de tous les nombres dans la liste.",
+       "MATH_ONLIST_OPERATOR_MIN": "minimum de la liste",
+       "MATH_ONLIST_TOOLTIP_MIN": "Renvoyer le plus petit nombre dans la liste.",
+       "MATH_ONLIST_OPERATOR_MAX": "maximum de la liste",
+       "MATH_ONLIST_TOOLTIP_MAX": "Renvoyer le plus grand nombre dans la liste.",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "moyenne de la liste",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "Renvoyer la moyenne (arithmétique) des valeurs numériques dans la liste.",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "médiane de la liste",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "Renvoyer le nombre médian de la liste.",
+       "MATH_ONLIST_OPERATOR_MODE": "majoritaires de la liste",
+       "MATH_ONLIST_TOOLTIP_MODE": "Renvoyer une liste des élément(s) le(s) plus courant(s) dans la liste.",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "écart-type de la liste",
+       "MATH_ONLIST_TOOLTIP_STD_DEV": "Renvoyer l’écart-type de la liste.",
+       "MATH_ONLIST_OPERATOR_RANDOM": "élément aléatoire de la liste",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "Renvoyer un élément dans la liste au hasard.",
+       "MATH_MODULO_HELPURL": "https://en.wikipedia.org/wiki/Modulo_operation",
+       "MATH_MODULO_TITLE": "reste de %1 ÷ %2",
+       "MATH_MODULO_TOOLTIP": "Renvoyer le reste de la division euclidienne des deux nombres.",
+       "MATH_CONSTRAIN_TITLE": "contraindre %1 entre %2 et %3",
+       "MATH_CONSTRAIN_TOOLTIP": "Contraindre un nombre à être entre les limites spécifiées (incluses).",
+       "MATH_RANDOM_INT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_INT_TITLE": "entier aléatoire entre %1 et %2",
+       "MATH_RANDOM_INT_TOOLTIP": "Renvoyer un entier aléatoire entre les deux limites spécifiées, incluses.",
+       "MATH_RANDOM_FLOAT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "fraction aléatoire",
+       "MATH_RANDOM_FLOAT_TOOLTIP": "Renvoyer une fraction aléatoire entre 0.0 (inclus) et 1.0 (exclus).",
+       "TEXT_TEXT_HELPURL": "https://en.wikipedia.org/wiki/String_(computer_science)",
+       "TEXT_TEXT_TOOLTIP": "Une lettre, un mot ou une ligne de texte.",
+       "TEXT_JOIN_TITLE_CREATEWITH": "créer un texte avec",
+       "TEXT_JOIN_TOOLTIP": "Créer un morceau de texte en agrégeant un nombre quelconque d’éléments.",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "joindre",
+       "TEXT_CREATE_JOIN_TOOLTIP": "Ajouter, supprimer, ou réordonner des sections pour reconfigurer ce bloc de texte.",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "Ajouter un élément au texte.",
+       "TEXT_APPEND_TITLE": "ajouter le texte %2 à %1",
+       "TEXT_APPEND_TOOLTIP": "Ajouter du texte à la variable '%1'.",
+       "TEXT_LENGTH_TITLE": "longueur de %1",
+       "TEXT_LENGTH_TOOLTIP": "Renvoie le nombre de lettres (espaces compris) dans le texte fourni.",
+       "TEXT_ISEMPTY_TITLE": "%1 est vide",
+       "TEXT_ISEMPTY_TOOLTIP": "Renvoie vrai si le texte fourni est vide.",
+       "TEXT_INDEXOF_TOOLTIP": "Renvoie l’index de la première/dernière occurrence de la première chaîne dans la seconde. Renvoie %1 si la chaîne n’est pas trouvée.",
+       "TEXT_INDEXOF_TITLE": "dans le texte %1 %2 %3",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "trouver la première occurrence de la chaîne",
+       "TEXT_INDEXOF_OPERATOR_LAST": "trouver la dernière occurrence de la chaîne",
+       "TEXT_CHARAT_TITLE": "dans le texte %1 %2",
+       "TEXT_CHARAT_FROM_START": "obtenir la lettre #",
+       "TEXT_CHARAT_FROM_END": "obtenir la lettre # depuis la fin",
+       "TEXT_CHARAT_FIRST": "obtenir la première lettre",
+       "TEXT_CHARAT_LAST": "obtenir la dernière lettre",
+       "TEXT_CHARAT_RANDOM": "obtenir une lettre au hasard",
+       "TEXT_CHARAT_TOOLTIP": "Renvoie la lettre à la position indiquée.",
+       "TEXT_GET_SUBSTRING_TOOLTIP": "Renvoie une partie indiquée du texte.",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "dans le texte",
+       "TEXT_GET_SUBSTRING_START_FROM_START": "obtenir la sous-chaîne depuis la lettre #",
+       "TEXT_GET_SUBSTRING_START_FROM_END": "obtenir la sous-chaîne depuis la lettre # depuis la fin",
+       "TEXT_GET_SUBSTRING_START_FIRST": "obtenir la sous-chaîne depuis la première lettre",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "jusqu’à la lettre #",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "jusqu’à la lettre # depuis la fin",
+       "TEXT_GET_SUBSTRING_END_LAST": "jusqu’à la dernière lettre",
+       "TEXT_CHANGECASE_TOOLTIP": "Renvoyer une copie du texte dans une autre casse.",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "en MAJUSCULES",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "en minuscules",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": "en Majuscule Au Début De Chaque Mot",
+       "TEXT_TRIM_TOOLTIP": "Renvoyer une copie du texte avec les espaces supprimés d’un bout ou des deux.",
+       "TEXT_TRIM_OPERATOR_BOTH": "supprimer les espaces des deux côtés",
+       "TEXT_TRIM_OPERATOR_LEFT": "supprimer les espaces du côté gauche",
+       "TEXT_TRIM_OPERATOR_RIGHT": "supprimer les espaces du côté droit",
+       "TEXT_PRINT_TITLE": "afficher %1",
+       "TEXT_PRINT_TOOLTIP": "Afficher le texte, le nombre ou une autre valeur spécifié.",
+       "TEXT_PROMPT_TYPE_TEXT": "invite pour un texte avec un message",
+       "TEXT_PROMPT_TYPE_NUMBER": "invite pour un nombre avec un message",
+       "TEXT_PROMPT_TOOLTIP_NUMBER": "Demander un nombre Ã  l’utilisateur.",
+       "TEXT_PROMPT_TOOLTIP_TEXT": "Demander un texte Ã  l’utilisateur.",
+       "TEXT_COUNT_MESSAGE0": "nombre %1 sur %2",
+       "TEXT_COUNT_HELPURL": "https://github.com/google/blockly/wiki/Text#counting-substrings",
+       "TEXT_COUNT_TOOLTIP": "Compter combien de fois un texte donné apparait dans un autre.",
+       "TEXT_REPLACE_MESSAGE0": "remplacer %1 par %2 dans %3",
+       "TEXT_REPLACE_HELPURL": "https://github.com/google/blockly/wiki/Text#replacing-substrings",
+       "TEXT_REPLACE_TOOLTIP": "Remplacer toutes les occurrences d’un texte par un autre.",
+       "TEXT_REVERSE_MESSAGE0": "inverser %1",
+       "TEXT_REVERSE_HELPURL": "https://github.com/google/blockly/wiki/Text#reversing-text",
+       "TEXT_REVERSE_TOOLTIP": "Inverse l’ordre des caractères dans le texte.",
+       "LISTS_CREATE_EMPTY_TITLE": "créer une liste vide",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "Renvoyer une liste, de longueur 0, ne contenant aucun enregistrement",
+       "LISTS_CREATE_WITH_HELPURL": "https://github.com/google/blockly/wiki/Lists#create-list-with",
+       "LISTS_CREATE_WITH_TOOLTIP": "Créer une liste avec un nombre quelconque d’éléments.",
+       "LISTS_CREATE_WITH_INPUT_WITH": "créer une liste avec",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "liste",
+       "LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "Ajouter, supprimer, ou réordonner les sections pour reconfigurer ce bloc de liste.",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "Ajouter un élément à la liste.",
+       "LISTS_REPEAT_TOOLTIP": "Crée une liste consistant en la valeur fournie répétée le nombre de fois indiqué.",
+       "LISTS_REPEAT_TITLE": "créer une liste avec l’élément %1 répété %2 fois",
+       "LISTS_LENGTH_TITLE": "longueur de %1",
+       "LISTS_LENGTH_TOOLTIP": "Renvoie la longueur d’une liste.",
+       "LISTS_ISEMPTY_TITLE": "%1 est vide",
+       "LISTS_ISEMPTY_TOOLTIP": "Renvoie vrai si la liste est vide.",
+       "LISTS_INLIST": "dans la liste",
+       "LISTS_INDEX_OF_FIRST": "trouver la première occurrence de l’élément",
+       "LISTS_INDEX_OF_LAST": "trouver la dernière occurrence de l’élément",
+       "LISTS_INDEX_OF_TOOLTIP": "Renvoie l’index de la première/dernière occurrence de l’élément dans la liste. Renvoie %1 si l'élément n'est pas trouvé.",
+       "LISTS_GET_INDEX_GET": "obtenir",
+       "LISTS_GET_INDEX_GET_REMOVE": "obtenir et supprimer",
+       "LISTS_GET_INDEX_REMOVE": "supprimer",
+       "LISTS_GET_INDEX_FROM_END": "# depuis la fin",
+       "LISTS_GET_INDEX_FIRST": "premier",
+       "LISTS_GET_INDEX_LAST": "dernier",
+       "LISTS_GET_INDEX_RANDOM": "aléatoire",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "%1 est le premier élément.",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "%1 est le dernier élément.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "Renvoie l’élément Ã  la position indiquée dans une liste.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "Renvoie le premier élément dans une liste.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "Renvoie le dernier élément dans une liste.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "Renvoie un élément au hasard dans une liste.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "Supprime et renvoie l’élément Ã  la position indiquée dans une liste.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "Supprime et renvoie le premier élément dans une liste.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "Supprime et renvoie le dernier élément dans une liste.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "Supprime et renvoie un élément au hasard dans une liste.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "Supprime l’élément Ã  la position indiquée dans une liste.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "Supprime le premier élément dans une liste.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "Supprime le dernier élément dans une liste.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "Supprime un élément au hasard dans une liste.",
+       "LISTS_SET_INDEX_SET": "mettre",
+       "LISTS_SET_INDEX_INSERT": "insérer en",
+       "LISTS_SET_INDEX_INPUT_TO": "comme",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "Met Ã  jour l’élément Ã  la position indiquée dans une liste.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "Fixe le premier élément dans une liste.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_LAST": "Fixe le dernier élément dans une liste.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "Fixe un élément au hasard dans une liste.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "Insère l’élément Ã  la position indiquée dans une liste.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "Insère l’élément au début d’une liste.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "Ajouter l’élément Ã  la fin d’une liste.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "Insère l’élément au hasard dans une liste.",
+       "LISTS_GET_SUBLIST_START_FROM_START": "obtenir la sous-liste depuis #",
+       "LISTS_GET_SUBLIST_START_FROM_END": "obtenir la sous-liste depuis # depuis la fin",
+       "LISTS_GET_SUBLIST_START_FIRST": "obtenir la sous-liste depuis le début",
+       "LISTS_GET_SUBLIST_END_FROM_START": "jusqu’à #",
+       "LISTS_GET_SUBLIST_END_FROM_END": "jusqu’à # depuis la fin",
+       "LISTS_GET_SUBLIST_END_LAST": "jusqu’à la fin",
+       "LISTS_GET_SUBLIST_TOOLTIP": "Crée une copie de la partie spécifiée d’une liste.",
+       "LISTS_SORT_HELPURL": "https://github.com/google/blockly/wiki/Lists#sorting-a-list",
+       "LISTS_SORT_TITLE": "trier %1 %2 %3",
+       "LISTS_SORT_TOOLTIP": "Trier une copie d’une liste.",
+       "LISTS_SORT_ORDER_ASCENDING": "croissant",
+       "LISTS_SORT_ORDER_DESCENDING": "décroissant",
+       "LISTS_SORT_TYPE_NUMERIC": "numérique",
+       "LISTS_SORT_TYPE_TEXT": "alphabétique",
+       "LISTS_SORT_TYPE_IGNORECASE": "alphabétique, en ignorant la casse",
+       "LISTS_SPLIT_HELPURL": "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists",
+       "LISTS_SPLIT_LIST_FROM_TEXT": "créer une liste depuis le texte",
+       "LISTS_SPLIT_TEXT_FROM_LIST": "créer un texte depuis la liste",
+       "LISTS_SPLIT_WITH_DELIMITER": "avec le séparateur",
+       "LISTS_SPLIT_TOOLTIP_SPLIT": "Couper un texte en une liste de textes, en coupant à chaque séparateur.",
+       "LISTS_SPLIT_TOOLTIP_JOIN": "Réunir une liste de textes en un seul, en les séparant par un séparateur.",
+       "LISTS_REVERSE_HELPURL": "https://github.com/google/blockly/wiki/Lists#reversing-a-list",
+       "LISTS_REVERSE_MESSAGE0": "inverser %1",
+       "LISTS_REVERSE_TOOLTIP": "Inverser la copie d’une liste.",
+       "VARIABLES_GET_TOOLTIP": "Renvoie la valeur de cette variable.",
+       "VARIABLES_GET_CREATE_SET": "Créer 'fixer %1'",
+       "VARIABLES_SET": "fixer %1 à %2",
+       "VARIABLES_SET_TOOLTIP": "Fixe cette variable pour qu’elle soit Ã©gale Ã  la valeur de l’entrée.",
+       "VARIABLES_SET_CREATE_GET": "Créer 'obtenir %1'",
+       "PROCEDURES_DEFNORETURN_TITLE": "pour",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "faire quelque chose",
+       "PROCEDURES_BEFORE_PARAMS": "avec :",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "avec :",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "Crée une fonction sans sortie.",
+       "PROCEDURES_DEFNORETURN_COMMENT": "Décrire cette fonction…",
+       "PROCEDURES_DEFRETURN_RETURN": "retour",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "Crée une fonction avec une sortie.",
+       "PROCEDURES_ALLOW_STATEMENTS": "autoriser les ordres",
+       "PROCEDURES_DEF_DUPLICATE_WARNING": "Attention : Cette fonction a des paramètres en double.",
+       "PROCEDURES_CALLNORETURN_HELPURL": "https://fr.wikipedia.org/wiki/Sous-programme",
+       "PROCEDURES_CALLNORETURN_TOOLTIP": "Exécuter la fonction '%1' définie par l’utilisateur.",
+       "PROCEDURES_CALLRETURN_HELPURL": "https://fr.wikipedia.org/wiki/Sous-programme",
+       "PROCEDURES_CALLRETURN_TOOLTIP": "Exécuter la fonction '%1' définie par l’utilisateur et utiliser son résultat.",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "entrées",
+       "PROCEDURES_MUTATORCONTAINER_TOOLTIP": "Ajouter, supprimer, ou réarranger les entrées de cette fonction.",
+       "PROCEDURES_MUTATORARG_TITLE": "nom de l’entrée :",
+       "PROCEDURES_MUTATORARG_TOOLTIP": "Ajouter une entrée à la fonction.",
+       "PROCEDURES_HIGHLIGHT_DEF": "Surligner la définition de la fonction",
+       "PROCEDURES_CREATE_DO": "Créer '%1'",
+       "PROCEDURES_IFRETURN_TOOLTIP": "Si une valeur est vraie, alors renvoyer une seconde valeur.",
+       "PROCEDURES_IFRETURN_HELPURL": "http://c2.com/cgi/wiki?GuardClause",
+       "PROCEDURES_IFRETURN_WARNING": "Attention : Ce bloc pourrait n’être utilisé que dans une définition de fonction.",
+       "WORKSPACE_COMMENT_DEFAULT_TEXT": "Dire quelque chose…"
+}
diff --git a/js/msg/json/gl.json b/js/msg/json/gl.json
new file mode 100644 (file)
index 0000000..1d5c435
--- /dev/null
@@ -0,0 +1,153 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Chairego apc",
+                       "Elisardojm",
+                       "Macofe",
+                       "Navhy",
+                       "Toliño"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "elemento",
+       "TODAY": "Hoxe",
+       "DUPLICATE_BLOCK": "Duplicar",
+       "ADD_COMMENT": "Engadir un comentario",
+       "REMOVE_COMMENT": "Eliminar o comentario",
+       "EXTERNAL_INPUTS": "Entradas externas",
+       "INLINE_INPUTS": "Entradas en liña",
+       "DELETE_BLOCK": "Borrar o bloque",
+       "DELETE_X_BLOCKS": "Borrar %1 bloques",
+       "DELETE_ALL_BLOCKS": "Queres eliminar os %1 bloques?",
+       "CLEAN_UP": "Limpar os bloques",
+       "COLLAPSE_BLOCK": "Contraer o bloque",
+       "COLLAPSE_ALL": "Contraer os bloques",
+       "EXPAND_BLOCK": "Expandir o bloque",
+       "EXPAND_ALL": "Expandir os bloques",
+       "DISABLE_BLOCK": "Desactivar o bloque",
+       "ENABLE_BLOCK": "Activar o bloque",
+       "HELP": "Axuda",
+       "UNDO": "Desfacer",
+       "REDO": "Refacer",
+       "CHANGE_VALUE_TITLE": "Cambiar o valor:",
+       "RENAME_VARIABLE": "Renomear a variable...",
+       "RENAME_VARIABLE_TITLE": "Renomear todas as variables \"%1\" a:",
+       "NEW_VARIABLE": "Crear a variable...",
+       "NEW_VARIABLE_TITLE": "Nome da nova variable:",
+       "COLOUR_PICKER_HELPURL": "https://gl.wikipedia.org/wiki/Cor",
+       "COLOUR_PICKER_TOOLTIP": "Escolle unha cor da paleta.",
+       "COLOUR_RANDOM_TITLE": "cor ó chou",
+       "COLOUR_RANDOM_TOOLTIP": "Escolle unha cor ao chou.",
+       "COLOUR_RGB_TITLE": "colorar con",
+       "COLOUR_RGB_RED": "vermello",
+       "COLOUR_RGB_GREEN": "verde",
+       "COLOUR_RGB_BLUE": "azul",
+       "COLOUR_BLEND_TITLE": "mesturar",
+       "COLOUR_BLEND_COLOUR1": "cor 1",
+       "COLOUR_BLEND_COLOUR2": "cor 2",
+       "COLOUR_BLEND_RATIO": "proporción",
+       "COLOUR_BLEND_TOOLTIP": "Mestura dúas cores ca proporción indicada (0.0 - 1.0).",
+       "CONTROLS_REPEAT_INPUT_DO": "facer",
+       "CONTROLS_REPEAT_TOOLTIP": "Faga algunhas instrucións varias veces.",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "repetir mentres",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "repetir ata",
+       "CONTROLS_IF_MSG_IF": "se",
+       "CONTROLS_IF_MSG_ELSEIF": "mais se",
+       "CONTROLS_IF_MSG_ELSE": "senón",
+       "IOS_OK": "Feito",
+       "IOS_CANCEL": "Cancelar",
+       "IOS_ERROR": "Erro",
+       "IOS_PROCEDURES_INPUTS": "ENTRADAS",
+       "IOS_PROCEDURES_ADD_INPUT": "+ Engadir entrada",
+       "IOS_PROCEDURES_ALLOW_STATEMENTS": "Permitir declaracións",
+       "IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR": "Esta función ten entradas duplicadas.",
+       "IOS_VARIABLES_ADD_VARIABLE": "+ Engadir variábel",
+       "IOS_VARIABLES_ADD_BUTTON": "Engadir",
+       "IOS_VARIABLES_RENAME_BUTTON": "Renomear",
+       "IOS_VARIABLES_DELETE_BUTTON": "Eliminar",
+       "IOS_VARIABLES_VARIABLE_NAME": "Nome da variábel",
+       "LOGIC_OPERATION_AND": "e",
+       "LOGIC_OPERATION_OR": "ou",
+       "LOGIC_NEGATE_TITLE": "non %1",
+       "LOGIC_BOOLEAN_TRUE": "verdadeiro",
+       "LOGIC_BOOLEAN_FALSE": "falso",
+       "LOGIC_NULL": "nulo",
+       "LOGIC_NULL_TOOLTIP": "Retornar nulo.",
+       "LOGIC_TERNARY_CONDITION": "proba",
+       "LOGIC_TERNARY_IF_TRUE": "se verdadeiro",
+       "LOGIC_TERNARY_IF_FALSE": "se falso",
+       "MATH_NUMBER_TOOLTIP": "Un número.",
+       "MATH_ARITHMETIC_HELPURL": "https://gl.wikipedia.org/wiki/Aritmética",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "Retorna a suma de dous números.",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "Retorna a diferenza de dous números.",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "Retorna o produto de dous números.",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "Retorna o cociente da división de dous números.",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "Retorna o primeiro número elevado á potencia do segundo número.",
+       "MATH_SINGLE_HELPURL": "https://gl.wikipedia.org/wiki/Raíz_cadrada",
+       "MATH_SINGLE_OP_ROOT": "raíz cadrada",
+       "MATH_SINGLE_TOOLTIP_ROOT": "Retorna a raíz cadrada dun número.",
+       "MATH_SINGLE_OP_ABSOLUTE": "absoluto",
+       "MATH_SINGLE_TOOLTIP_ABS": "Retorna o valor absoluto dun número.",
+       "MATH_SINGLE_TOOLTIP_NEG": "Retorna o oposto dun número.",
+       "MATH_SINGLE_TOOLTIP_LN": "Retorna o logarítmo natural dun número.",
+       "MATH_SINGLE_TOOLTIP_LOG10": "Retorna o logarítmo en base 10 dun número.",
+       "MATH_SINGLE_TOOLTIP_EXP": "Retorna o número e elevado á potencia dun número.",
+       "MATH_SINGLE_TOOLTIP_POW10": "Retorna 10 elevado á potencia dun número.",
+       "MATH_TRIG_HELPURL": "https://gl.m.wikipedia.org/wiki/Función_trigonométrica",
+       "MATH_TRIG_TOOLTIP_SIN": "Retorna o seno dun grao (non radiano).",
+       "MATH_TRIG_TOOLTIP_COS": "Retorna o coseno dun grao (non radiano).",
+       "MATH_TRIG_TOOLTIP_TAN": "Retorna a tanxente dun grao (non radiano).",
+       "MATH_TRIG_TOOLTIP_ASIN": "Retorna o arco seno dum número.",
+       "MATH_TRIG_TOOLTIP_ACOS": "Retorna o arco coseno dun número.",
+       "MATH_TRIG_TOOLTIP_ATAN": "Retorna o arco tanxente dun número.",
+       "MATH_CONSTANT_HELPURL": "https://gl.wikipedia.org/wiki/Constante_matemática",
+       "MATH_CONSTANT_TOOLTIP": "Retorna unha das constantes comúns: Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), ou âˆž (infinito).",
+       "MATH_IS_EVEN": "é par",
+       "MATH_IS_ODD": "é impar",
+       "MATH_IS_PRIME": "é primo",
+       "MATH_IS_WHOLE": "é enteiro",
+       "MATH_IS_POSITIVE": "é positivo",
+       "MATH_IS_NEGATIVE": "é negativo",
+       "MATH_IS_DIVISIBLE_BY": "é divisíbel por",
+       "MATH_IS_TOOLTIP": "Verifica se un número é par, impar, primo, enteiro, positivo, negativo, ou se é divisíbel por outro número.  Retorna verdadeiro ou falso.",
+       "MATH_CHANGE_TITLE": "mudar %1 por %2",
+       "MATH_CHANGE_TOOLTIP": "Suma un número á variábel '%1'.",
+       "MATH_ROUND_HELPURL": "https://gl.wikipedia.org/wiki/Arredondamento",
+       "MATH_ROUND_TOOLTIP": "Arredonda un número cara enriba ou cara abaixo.",
+       "MATH_ROUND_OPERATOR_ROUND": "arredonda",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "arredonda cara arriba",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "arredonda cara abaixo",
+       "MATH_ONLIST_OPERATOR_SUM": "suma da listaxe",
+       "MATH_ONLIST_TOOLTIP_SUM": "Retorna a suma de tódolos números da listaxe.",
+       "MATH_ONLIST_OPERATOR_MIN": "menor dunha listaxe",
+       "MATH_ONLIST_TOOLTIP_MIN": "Retorna o menor número da listaxe.",
+       "MATH_ONLIST_OPERATOR_MAX": "maior dunha listaxe",
+       "MATH_ONLIST_TOOLTIP_MAX": "Retorna o maior número da listaxe",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "media dunha listaxe",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "unir",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "no texto",
+       "TEXT_PRINT_TITLE": "imprime %1",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "listaxe",
+       "LISTS_ISEMPTY_TITLE": "%1 atópase baleira",
+       "LISTS_ISEMPTY_TOOLTIP": "Retona verdadeiro se a listaxe atópase baleira.",
+       "LISTS_INLIST": "na listaxe",
+       "LISTS_GET_INDEX_FIRST": "primeiro",
+       "LISTS_GET_INDEX_LAST": "derradeiro",
+       "LISTS_GET_INDEX_RANDOM": "ó chou",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "%1 é o primeiro elemento.",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "%1 é o derradeiro elemento.",
+       "LISTS_SET_INDEX_SET": "definir",
+       "LISTS_SET_INDEX_INSERT": "inserir en",
+       "LISTS_SET_INDEX_INPUT_TO": "como",
+       "LISTS_SORT_TOOLTIP": "Ordear unha copia dunha listaxe.",
+       "LISTS_SORT_ORDER_ASCENDING": "ascendente",
+       "LISTS_SORT_ORDER_DESCENDING": "descendente",
+       "LISTS_SORT_TYPE_NUMERIC": "numérica",
+       "LISTS_SORT_TYPE_TEXT": "alfabética",
+       "LISTS_SORT_TYPE_IGNORECASE": "alfabética, iñorar maiúsculas/minúsculas",
+       "PROCEDURES_DEFNORETURN_TITLE": "cara",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "facer algo",
+       "PROCEDURES_BEFORE_PARAMS": "con:",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "con:",
+       "PROCEDURES_DEFRETURN_RETURN": "retornar",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "entradas"
+}
diff --git a/js/msg/json/gor.json b/js/msg/json/gor.json
new file mode 100644 (file)
index 0000000..214fdae
--- /dev/null
@@ -0,0 +1,94 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Lukman Tomayahu",
+                       "Marwan Mohamad",
+                       "Zhoelyakin",
+                       "RFenichel"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "item",
+       "TODAY": "Engontiye",
+       "DUPLICATE_BLOCK": "Duplikat",
+       "ADD_COMMENT": "Moduhenga tuladu",
+       "REMOVE_COMMENT": "Mohinggi tuladu",
+       "EXTERNAL_INPUTS": "tuwanga lonto eksternal",
+       "INLINE_INPUTS": "tuwanga lo inline",
+       "DELETE_BLOCK": "Moluluto Blok",
+       "DELETE_X_BLOCKS": "Moluluto %1 Blok",
+       "DELETE_ALL_BLOCKS": "Luluta nga'amila %1 blocks?",
+       "COLLAPSE_BLOCK": "Mohe'uto Blok",
+       "COLLAPSE_ALL": "Mohe'uto Blok",
+       "EXPAND_BLOCK": "Lolade Blok",
+       "EXPAND_ALL": "Lolade Blok",
+       "DISABLE_BLOCK": "Moberenti Blok",
+       "ENABLE_BLOCK": "Momulayi Blok",
+       "HELP": "Tuulungi",
+       "CHANGE_VALUE_TITLE": "Ubawa nilai",
+       "RENAME_VARIABLE": "Tangguli uulangi variabel",
+       "RENAME_VARIABLE_TITLE": "Tangguli uulangi nga'amila % variabel ode:",
+       "NEW_VARIABLE": "Variabel bohu...",
+       "NEW_VARIABLE_TITLE": "Tanggulo Variabel bohu",
+       "COLOUR_PICKER_HELPURL": "https://en.wikipedia.org/wiki/Laku",
+       "COLOUR_PICKER_TOOLTIP": "Piliya laku lonto daputari lo laku",
+       "COLOUR_RANDOM_TITLE": "Laku acak",
+       "COLOUR_RANDOM_TOOLTIP": "Piliya laku acak",
+       "COLOUR_RGB_TITLE": "wolo laku",
+       "COLOUR_RGB_RED": "meela",
+       "COLOUR_RGB_GREEN": "moyidu",
+       "COLOUR_RGB_BLUE": "wahu'ente",
+       "COLOUR_RGB_TOOLTIP": "Pohutuwa laku wolo jumula u tilantu monto u meela, moyidu wawu wahu'ente. Nga'amila musi o woolota 0 wawu 100",
+       "COLOUR_BLEND_TITLE": "Ulawuwa",
+       "COLOUR_BLEND_COLOUR1": "laku 1",
+       "COLOUR_BLEND_COLOUR2": "laku 2",
+       "COLOUR_BLEND_RATIO": "rasio",
+       "COLOUR_BLEND_TOOLTIP": "Mongulawu dulo laku pe'eenta wolo rasio (0.0-1.0)",
+       "CONTROLS_REPEAT_HELPURL": "https://en.wikipedia.org/wiki/For_loop",
+       "CONTROLS_REPEAT_TITLE": "ulangiya %1 kali",
+       "CONTROLS_REPEAT_INPUT_DO": "pohutuwa",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "Ulangiya wonu",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "ulangiya sambe",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "Wonu nilai banari, pohutuwa po'ongoolo",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "Wonu nilai diya banari, pohutuwa parenta",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "Mokaluwari lonto u'uulangiya",
+       "CONTROLS_IF_MSG_IF": "wonu",
+       "CONTROLS_IF_MSG_ELSEIF": "wonu uweewo",
+       "CONTROLS_IF_MSG_ELSE": "uweewo",
+       "LOGIC_COMPARE_HELPURL": "https://en.wikipedia.org/wiki/Inequality_(mathematics)",
+       "LOGIC_OPERATION_AND": "wawu",
+       "LOGIC_OPERATION_OR": "meyalo",
+       "LOGIC_NEGATE_TITLE": "diila %1",
+       "LOGIC_BOOLEAN_TRUE": "banari",
+       "LOGIC_BOOLEAN_FALSE": "tala",
+       "LOGIC_NULL": "noolo",
+       "LOGIC_TERNARY_CONDITION": "yimontalo",
+       "LOGIC_TERNARY_IF_TRUE": "wonu banari",
+       "LOGIC_TERNARY_IF_FALSE": "wonu tala",
+       "MATH_NUMBER_HELPURL": "https://en.wikipedia.org/wiki/Number",
+       "MATH_NUMBER_TOOLTIP": "Noomoro",
+       "MATH_ARITHMETIC_HELPURL": "https://en.wikipedia.org/wiki/Arithmetic",
+       "MATH_SINGLE_HELPURL": "https://en.wikipedia.org/wiki/Square_root",
+       "MATH_SINGLE_OP_ROOT": "akar pangkat dua",
+       "MATH_TRIG_HELPURL": "https://en.wikipedia.org/wiki/Trigonometric_functions",
+       "MATH_CONSTANT_HELPURL": "https://en.wikipedia.org/wiki/Mathematical_constant",
+       "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).",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "wayito",
+       "TEXT_CREATE_JOIN_TOOLTIP": "Duhengi, yinggila, meyalo susungiya ulangi tuladu blok.",
+       "TEXT_LENGTH_TITLE": "haya'o lo %1",
+       "TEXT_ISEMPTY_TITLE": "%1 koosongi",
+       "TEXT_ISEMPTY_TOOLTIP": "Pohalinga banari wonu tuladu u sadi-sadia koosongi.",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "lolohe u yilowali bohuliyo to delomo tuladu",
+       "TEXT_INDEXOF_OPERATOR_LAST": "lolohe u yilowali pulitiyo to delomo tuladu",
+       "TEXT_CHARAT_FROM_START": "hama hurupu #",
+       "TEXT_CHARAT_FROM_END": "hama hurupu # monto wuleya",
+       "TEXT_CHARAT_FIRST": "hama tulade bungaliyo",
+       "TEXT_CHARAT_LAST": "hama tulade pulitiyo",
+       "TEXT_CHARAT_RANDOM": "hama tulade ambulati",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "to delomo tuladu",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "ode hurupu",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "ode tuladu # monto wuleya",
+       "TEXT_GET_SUBSTRING_END_LAST": "to tulade pulitiyo",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "mowali HURUPU DAMANGO",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "mowali hurupu kiki'o",
+       "PROCEDURES_CREATE_DO": "Pohutu '%1'"
+}
diff --git a/js/msg/json/he.json b/js/msg/json/he.json
new file mode 100644 (file)
index 0000000..c7efb62
--- /dev/null
@@ -0,0 +1,298 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Dorongol",
+                       "YaronSh",
+                       "Amire80",
+                       "Inkbug",
+                       "Yona b",
+                       "Noamrotem",
+                       "Dvb",
+                       "LaG roiL",
+                       "ì•„ë¼",
+                       "Elyashiv",
+                       "Guycn2",
+                       "Deborahjay",
+                       "נדב ×¡"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "פריט",
+       "TODAY": "היו×",
+       "DUPLICATE_BLOCK": "שכפל",
+       "ADD_COMMENT": "הוסף ×ª×’ובה",
+       "REMOVE_COMMENT": "הסר ×ª×’ובה",
+       "DUPLICATE_COMMENT": "שכפול ×”הערה",
+       "EXTERNAL_INPUTS": "קלטינחיצוניי×",
+       "INLINE_INPUTS": "קלטינפנימיי×",
+       "DELETE_BLOCK": "מחק ×§×˜×¢ ×§×•×“",
+       "DELETE_X_BLOCKS": "מחק %1 ×§×˜×¢×™ ×§×•×“",
+       "DELETE_ALL_BLOCKS": "×”×נלמחוק ×ת ×›×œ %1 ×§×˜×¢×™ ×”קוד?",
+       "CLEAN_UP": "סידור ×‘לוקי×",
+       "COLLAPSE_BLOCK": "צמצנקטע ×§×•×“",
+       "COLLAPSE_ALL": "צמצנקטעי ×§×•×“",
+       "EXPAND_BLOCK": "הרחב ×§×˜×¢ ×§×•×“",
+       "EXPAND_ALL": "הרחב ×§×˜×¢×™ ×§×•×“",
+       "DISABLE_BLOCK": "נטרל ×§×˜×¢ ×§×•×“",
+       "ENABLE_BLOCK": "הפעל ×§×˜×¢ ×§×•×“",
+       "HELP": "עזרה",
+       "UNDO": "ביטול",
+       "REDO": "ביצוע ×—וזר",
+       "CHANGE_VALUE_TITLE": "שנה ×¢×¨×š:",
+       "RENAME_VARIABLE": "שנה ×ת ×©× ×”משתנה...",
+       "RENAME_VARIABLE_TITLE": "שנה ×ת ×©× ×›×œ '%1' ×”משתנינל:",
+       "NEW_VARIABLE": "משתנה ×—דש...",
+       "NEW_VARIABLE_TYPE_TITLE": "סוג ×”משתנה ×”חדש:",
+       "NEW_VARIABLE_TITLE": "שנהמשתנה ×”חדש:",
+       "VARIABLE_ALREADY_EXISTS": "קיינכבר ×ž×©×ª× ×” ×‘שנ\"%1\".",
+       "VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE": "קיינכבר ×ž×©×ª× ×” ×‘שנ\"%1\" ×ž×¡×•×’ ×חר: \"%2\"",
+       "CANNOT_DELETE_VARIABLE_PROCEDURE": "××™ ×פשר ×œ×ž×—וק ×ת ×”משתנה \"%1\", ×ž×›×™×•×•×Ÿ ×©×”גדרת ×”פונקציה \"%2\" ×ž×©×ª×ž×©×ª ×‘ו.",
+       "COLOUR_PICKER_HELPURL": "http://he.wikipedia.org/wiki/%D7%A6%D7%91%D7%A2",
+       "COLOUR_PICKER_TOOLTIP": "בחר ×¦×‘×¢ ×ž×Ÿ ×”צבעי×.",
+       "COLOUR_RANDOM_TITLE": "צבע ×קר××™",
+       "COLOUR_RANDOM_TOOLTIP": "בחר ×¦×‘× ×קר××™.",
+       "COLOUR_RGB_TITLE": "צבע ×¢×",
+       "COLOUR_RGB_RED": "×דו×",
+       "COLOUR_RGB_GREEN": "ירוק",
+       "COLOUR_RGB_BLUE": "כחול",
+       "COLOUR_RGB_TOOLTIP": "צור ×¦×‘×¢ ×¢× ×”סכונהמצוין ×©×œ ×דו×, ×™×¨×•×§ ×•×›×—ול. ×›×œ ×”ערכינחייבינלהיות ×‘ין 0 ×œ100.",
+       "COLOUR_BLEND_TITLE": "ערבב",
+       "COLOUR_BLEND_COLOUR1": "צבע 1",
+       "COLOUR_BLEND_COLOUR2": "צבע 2",
+       "COLOUR_BLEND_RATIO": "יחס",
+       "COLOUR_BLEND_TOOLTIP": "מערבב ×©× ×™ ×¦×‘עיניחד ×¢× ×™×—ס × ×ª×•×Ÿ(0.0 - 1.0).",
+       "CONTROLS_REPEAT_HELPURL": "http://he.wikipedia.org/wiki/בקרת_זרימה",
+       "CONTROLS_REPEAT_TITLE": "חזור ×¢×œ ×”פעולה %1 ×¤×¢×ž×™×",
+       "CONTROLS_REPEAT_INPUT_DO": "תעשה",
+       "CONTROLS_REPEAT_TOOLTIP": "לעשות ×›×ž×” ×¤×¢×•×œ×•×ª ×ž×¡×¤×¨ ×¤×¢×ž×™×.",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "חזור ×›×œ ×¢×•×“",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "חזור ×¢×“ ×©...",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "כל ×¢×•×“ ×”ערך ×”ונ×מת, ×œ×¢×©×•×ª ×›×ž×” ×¤×¢×•×œ×•×ª.",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "בזמן ×©×”ערך ×©×•×•×” ×œ×©×’וי, ×ª×¢×©×” ×ž×¡×¤×¨ ×—ישובי×.",
+       "CONTROLS_FOR_TITLE": "תספור ×¢× %1 ×ž- %2 ×œ- %3 ×¢×“- %4",
+       "CONTROLS_FOREACH_TITLE": "לכל ×¤×¨×™×˜ %1 ×‘רשימה %2",
+       "CONTROLS_FOREACH_TOOLTIP": "לכל ×¤×¨×™×˜ ×‘רשימה, ×œ×”גדיר ×ת ×”משתנה '%1' ×œ×¤×¨×™×˜ ×”×–×”, ×•×œ×חר ×ž×›×Ÿ ×œ×¢×©×•×ª ×›×ž×” ×¤×¢×•×œ×•×ª.",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "צנמהלול××”",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "המשך ×¢× ×”×יטרציה ×”ב××” ×©×œ ×”לול××”",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "צנ×ל ×ž×—וץ ×œ×œ×•×œ××” ×”כוללת.",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "דלג ×¢×œ ×©×ר ×”לול××” ×•×”משך ×¢× ×”×יטרציה ×”ב××”.",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "×זהרה: ×‘לוק ×–×” ×¢×©×•×™ ×œ×©×ž×© ×¨×§ ×‘תוך ×œ×•×œ××”.",
+       "CONTROLS_IF_TOOLTIP_1": "×נערך × ×›×•×Ÿ, ×œ×‘צע ×›×ž×” ×¤×¢×•×œ×•×ª.",
+       "CONTROLS_IF_TOOLTIP_2": "×נהערך ×”ונ×מת, ×œ×‘צע ×ת ×”בלוק ×”ר×שון ×©×œ ×”פעולות. ×חרת, ×œ×‘צע ×ת ×”בלוק ×”שני ×©×œ ×”פעולות.",
+       "CONTROLS_IF_TOOLTIP_3": "×נהערך ×”ר×שון ×”ונ×מת, ×œ×‘צע ×ת ×”בלוק ×”ר×שון ×©×œ ×”פעולות. ×חרת, ×נהערך ×”שני ×”ונ×מת, ×œ×‘צע ×ת ×”בלוק ×”שני ×©×œ ×”פעולות.",
+       "CONTROLS_IF_TOOLTIP_4": "×נהערך ×”ר×שון ×”ונ×מת, ×œ×‘צע ×ת ×”בלוק ×”ר×שון ×©×œ ×”פעולות. ×חרת, ×נהערך ×”שני ×”ונ×מת, ×œ×‘צע ×ת ×”בלוק ×”שני ×©×œ ×”פעולות. ×× ××£ ×חד ×ž×”× ×ינו × ×›×•×Ÿ, ×œ×‘צע ×ת ×”בלוק ×”×חרון ×©×œ ×”פעולות.",
+       "CONTROLS_IF_MSG_IF": "××",
+       "CONTROLS_IF_MSG_ELSEIF": "×חרת ××",
+       "CONTROLS_IF_MSG_ELSE": "×חרת",
+       "CONTROLS_IF_IF_TOOLTIP": "תוסיף, ×ª×ž×—ק, ×ו ×ª×¡×“ר ×ž×—דש ×›×“×™ ×œ×”גדיר ×ž×—דש ×ת ×”בלוק If.",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "תוסיף ×ª× ××™ ×œ×‘לוק If.",
+       "CONTROLS_IF_ELSE_TOOLTIP": "לסיו×, ×›×œ ×”תנ×ינתקפינלגבי ×‘לוק If.",
+       "IOS_OK": "×ישור",
+       "IOS_CANCEL": "ביטול",
+       "IOS_ERROR": "שגי××”",
+       "IOS_VARIABLES_ADD_VARIABLE": "+ ×”וספת ×ž×©×ª× ×”",
+       "IOS_VARIABLES_ADD_BUTTON": "הוספה",
+       "IOS_VARIABLES_RENAME_BUTTON": "שינוי ×©×",
+       "IOS_VARIABLES_DELETE_BUTTON": "מחיקה",
+       "IOS_VARIABLES_VARIABLE_NAME": "שנהמשתנה",
+       "IOS_VARIABLES_EMPTY_NAME_ERROR": "לנניתן ×œ×”זין ×©× ×¨×™×§ ×œ×ž×©×ª× ×”.",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "תחזיר × ×›×•×Ÿ ×נשני ×”קלטינשווינ×חד ×œ×©× ×™.",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "תחזיר ×מת ×נשני ×”קלטינ×יננשווינזה ×œ×–×”.",
+       "LOGIC_COMPARE_TOOLTIP_LT": "תחזיר ×מת (true) ×נהקלט ×”ר×שון ×”ונקטן ×™×•×ª×¨ ×ž×שר ×”קלט ×”שני.",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "תחזיר ×מת ×נהקלט ×”ר×שון ×”ונקטן ×™×•×ª×¨ ×ו ×©×•×•×” ×œ×§×œ×˜ ×”שני.",
+       "LOGIC_COMPARE_TOOLTIP_GT": "תחזיר × ×›×•×Ÿ ×נהקלט ×”ר×שון ×’דול ×™×•×ª×¨ ×ž×”קלט ×”שני.",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "תחזיר × ×›×•×Ÿ ×נהקלט ×”ר×שון ×’דול ×™×•×ª×¨ ×ו ×©×•×•×” ×œ×›× ×™×¡×” ×”שנייה.",
+       "LOGIC_OPERATION_TOOLTIP_AND": "תחזיר × ×›×•×Ÿ ×נשני ×”קלטיננכוני×.",
+       "LOGIC_OPERATION_AND": "ו",
+       "LOGIC_OPERATION_TOOLTIP_OR": "תחזיר × ×›×•×Ÿ ×נמתקיינלפחות ×חד ×ž×”קלטיננכוני×.",
+       "LOGIC_OPERATION_OR": "×ו",
+       "LOGIC_NEGATE_TITLE": "לנ%1",
+       "LOGIC_NEGATE_TOOLTIP": "החזר ×מת ×נהקלט ×”ונשקר. ×”חזר ×©×§×¨ ×נהקלט ×מת.",
+       "LOGIC_BOOLEAN_TRUE": "נכון",
+       "LOGIC_BOOLEAN_FALSE": "שגוי",
+       "LOGIC_BOOLEAN_TOOLTIP": "מחזיר ×ו ×”×ננכון ×ו ×”×נשגוי.",
+       "LOGIC_NULL": "null",
+       "LOGIC_NULL_TOOLTIP": "תחזיר ×¨×™×§.",
+       "LOGIC_TERNARY_CONDITION": "בדיקה",
+       "LOGIC_TERNARY_IF_TRUE": "×ננכון",
+       "LOGIC_TERNARY_IF_FALSE": "×נשגוי",
+       "LOGIC_TERNARY_TOOLTIP": "בדוק ×ת ×”תנ××™ ×‘'מבחן'. ×נהתנ××™ × ×›×•×Ÿ, ×ª×—זיר ×ת ×”ערך '×ננכון'; ×חרת ×ª×—זיר ×ת ×”ערך '×נשגוי'.",
+       "MATH_NUMBER_HELPURL": "https://he.wikipedia.org/wiki/מספר_ממשי",
+       "MATH_NUMBER_TOOLTIP": "מספר.",
+       "MATH_ADDITION_SYMBOL": "+",
+       "MATH_SUBTRACTION_SYMBOL": "-",
+       "MATH_DIVISION_SYMBOL": "÷",
+       "MATH_MULTIPLICATION_SYMBOL": "×",
+       "MATH_POWER_SYMBOL": "^",
+       "MATH_TRIG_SIN": "sin",
+       "MATH_TRIG_COS": "cos",
+       "MATH_TRIG_TAN": "tan",
+       "MATH_TRIG_ASIN": "asin",
+       "MATH_TRIG_ACOS": "acos",
+       "MATH_TRIG_ATAN": "atan",
+       "MATH_ARITHMETIC_HELPURL": "https://he.wikipedia.org/wiki/×רבע_פעולות_החשבון",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "תחזיר ×ת ×¡×›×•× ×©× ×™ ×”מספרי×.",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "החזרת ×”הפרש ×‘ין ×©× ×™ ×ž×¡×¤×¨×™×.",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "החזרת ×ª×•×¦×ת ×”כפל ×‘ין ×©× ×™ ×ž×¡×¤×¨×™×.",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "החזרת ×”מנה ×©×œ ×©× ×™ ×”מספרי×.",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "החזרת ×”מספר ×”ר×שון ×‘חזקת ×”מספר ×”שני.",
+       "MATH_SINGLE_HELPURL": "https://he.wikipedia.org/wiki/שורש_ריבועי",
+       "MATH_SINGLE_OP_ROOT": "שורש ×¨×™×‘ועי",
+       "MATH_SINGLE_TOOLTIP_ROOT": "החזרת ×”שורש ×”ריבועי ×©×œ ×ž×¡×¤×¨.",
+       "MATH_SINGLE_OP_ABSOLUTE": "ערך ×ž×•×—לט",
+       "MATH_SINGLE_TOOLTIP_ABS": "החזרת ×”ערך ×”מוחלט ×©×œ ×ž×¡×¤×¨.",
+       "MATH_SINGLE_TOOLTIP_NEG": "החזרת ×”ערך ×”נגדי ×©×œ ×ž×¡×¤×¨.",
+       "MATH_SINGLE_TOOLTIP_LN": "החזרת ×”לוגריתנהטבעי ×©×œ ×ž×¡×¤×¨.",
+       "MATH_SINGLE_TOOLTIP_LOG10": "החזרת ×”לוגריתנלפי ×‘סיס ×¢×©×¨ ×©×œ ×ž×¡×¤×¨.",
+       "MATH_SINGLE_TOOLTIP_EXP": "החזרת e ×‘חזקת ×ž×¡×¤×¨.",
+       "MATH_SINGLE_TOOLTIP_POW10": "החזרת 10 ×‘חזקת ×ž×¡×¤×¨.",
+       "MATH_TRIG_HELPURL": "https://he.wikipedia.org/wiki/פונקציות_טריגונומטריות",
+       "MATH_TRIG_TOOLTIP_SIN": "החזרת ×”סינוס ×©×œ ×ž×¢×œ×” (לנרדי×ן).",
+       "MATH_TRIG_TOOLTIP_COS": "החזרת ×”קוסינוס ×©×œ ×ž×¢×œ×” (לנרדי×ן).",
+       "MATH_TRIG_TOOLTIP_TAN": "החזרת ×”טנגס ×©×œ ×ž×¢×œ×” (לנרדי×ן).",
+       "MATH_IS_EVEN": "זוגי",
+       "MATH_IS_ODD": "××™-זוגי",
+       "MATH_IS_PRIME": "ר×שוני",
+       "MATH_IS_WHOLE": "של×",
+       "MATH_IS_POSITIVE": "חיובי",
+       "MATH_IS_NEGATIVE": "שלילי",
+       "MATH_IS_DIVISIBLE_BY": "מתחלק ×‘",
+       "MATH_CHANGE_TITLE": "שינוי %1 ×¢×œÖ¾×™×“×™ %2",
+       "MATH_CHANGE_TOOLTIP": "הוסף ×ž×¡×¤×¨ ×œ×ž×©×ª× ×” '%1'.",
+       "MATH_ROUND_HELPURL": "https://he.wikipedia.org/wiki/עיגול_(×ריתמטיקה)",
+       "MATH_ROUND_TOOLTIP": "עיגול ×ž×¡×¤×¨ ×œ×ž×¢×œ×” ×ו ×œ×ž×˜×”.",
+       "MATH_ROUND_OPERATOR_ROUND": "עיגול",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "עיגול ×œ×ž×¢×œ×”",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "עיגול ×œ×ž×˜×”",
+       "MATH_ONLIST_OPERATOR_SUM": "סכונשל ×¨×©×™×ž×”",
+       "MATH_ONLIST_TOOLTIP_SUM": "החזרת ×”סכונשל ×”מספרינברשימה.",
+       "MATH_ONLIST_OPERATOR_MIN": "מינימונשל ×¨×©×™×ž×”",
+       "MATH_ONLIST_TOOLTIP_MIN": "תחזיר ×ת ×”מספר ×”קטן ×‘יותר ×‘רשימה.",
+       "MATH_ONLIST_OPERATOR_MAX": "מקסימונשל ×¨×©×™×ž×”",
+       "MATH_ONLIST_TOOLTIP_MAX": "תחזיר ×ת ×”מספר ×”גדול ×‘יותר ×‘רשימה.",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "ממוצע ×©×œ ×¨×©×™×ž×”",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "חציון ×©×œ ×¨×©×™×ž×”",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "תחזיר ×ת ×”מספר ×”חיצוני ×‘יותר ×‘רשימה.",
+       "MATH_ONLIST_OPERATOR_MODE": "שכיחי ×”רשימה",
+       "MATH_ONLIST_TOOLTIP_MODE": "החזרת ×¨×©×™×ž×” ×©×œ ×”פריטינהנפוצינביותר ×‘רשימה",
+       "MATH_ONLIST_TOOLTIP_STD_DEV": "מחזיר ×ת ×¡×˜×™×™×ª ×”תקן ×©×œ ×”רשימה.",
+       "MATH_ONLIST_OPERATOR_RANDOM": "פריט ×קר××™ ×ž×¨×©×™×ž×”",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "תחזיר ×¨×›×™×‘ ×קר××™ ×ž×¨×©×™×ž×”.",
+       "MATH_MODULO_TITLE": "ש×רית ×”חילוק %1 Ã· %2",
+       "MATH_MODULO_TOOLTIP": "החזרת ×”ש×רית ×ž×—לוקת ×©× ×™ ×”מספרי×.",
+       "MATH_RANDOM_INT_TITLE": "מספר ×©×œ× ×קר××™ ×‘ין %1 ×œ-%2 (כולל)",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "שבר ×קר××™",
+       "TEXT_TEXT_TOOLTIP": "×ות, ×ž×™×œ×”, ×ו ×©×•×¨×ª ×˜×§×¡×˜.",
+       "TEXT_JOIN_TITLE_CREATEWITH": "יצירת ×˜×§×¡×˜ ×¢×",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "צירוף",
+       "TEXT_APPEND_TITLE": "×ל %1 ×”וספת ×˜×§×¡×˜ %2",
+       "TEXT_LENGTH_TITLE": "×ורכו ×©×œ %1",
+       "TEXT_LENGTH_TOOLTIP": "מחזיר ×ת ×ž×¡×¤×¨ ×”תווינ(×ותיות, ×¨×•×•×—ינוכו') ×‘טקסט ×©×”וזן.",
+       "TEXT_ISEMPTY_TITLE": "%1 ×”ונריק",
+       "TEXT_INDEXOF_TOOLTIP": "מחזירה ×ת ×”×ינדקס ×©×œ ×”מופע ×”ר×שון/×”×חרון ×‘טקסט ×”ר×שון ×œ×ª×•×š ×”טקסט ×”שני. ×ž×—זירה %1 ×נהטקסט ×ינו × ×ž×¦×.",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "ל×ות #",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "ל×ות # ×ž×”סוף",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "ל×ותיות ×’דולות (עבור ×˜×§×¡×˜ ×‘×נגלית)",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "ל×ותיות ×§×˜× ×•×ª (עבור ×˜×§×¡×˜ ×‘×נגלית)",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": "ל×ותיות ×’דולות ×‘תחילת ×›×œ ×ž×™×œ×” (עבור ×˜×§×¡×˜ ×‘×נגלית)",
+       "TEXT_TRIM_TOOLTIP": "להחזיר ×¢×•×ª×§ ×©×œ ×”טקסט ×œ×חר ×ž×—יקת ×¨×•×•×—ינמ×חד ×ו ×ž×©× ×™ ×”קצוות.",
+       "TEXT_TRIM_OPERATOR_BOTH": "למחוק ×¨×•×•×—ינמשני ×”קצוות",
+       "TEXT_TRIM_OPERATOR_LEFT": "למחוק ×¨×•×•×—ינמימין",
+       "TEXT_TRIM_OPERATOR_RIGHT": "למחוק ×¨×•×•×—ינמשמ×ל",
+       "TEXT_PRINT_TITLE": "הדפס %1",
+       "TEXT_PRINT_TOOLTIP": "להדפיס ×˜×§×¡×˜, ×ž×¡×¤×¨ ×ו ×¢×¨×š ×חר ×©×¦×•×™×Ÿ",
+       "TEXT_PROMPT_TYPE_TEXT": "בקשה ×œ×”זנת ×˜×§×¡×˜ ×¢× ×”ודעה",
+       "TEXT_PROMPT_TYPE_NUMBER": "בקשה ×œ×ž×¡×¤×¨ ×¢× ×”ודעה",
+       "TEXT_PROMPT_TOOLTIP_NUMBER": "בקש ×ž×”משתמש ×ž×¡×¤×¨.",
+       "TEXT_PROMPT_TOOLTIP_TEXT": "בקשה ×œ×ž×©×ª×ž×© ×œ×”זין ×˜×§×¡×˜ ×›×œ×©×”ו.",
+       "LISTS_CREATE_EMPTY_TITLE": "צור ×¨×©×™×ž×” ×¨×™×§×”",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "החזר ×¨×©×™×ž×”,ב×ורך 0, ×”מכילה ×¨×©×•×ž×•×ª × ×ª×•× ×™×",
+       "LISTS_CREATE_WITH_TOOLTIP": "צור ×¨×©×™×ž×” ×¢× ×›×œ ×ž×¡×¤×¨ ×©×œ ×¤×¨×™×˜×™×.",
+       "LISTS_CREATE_WITH_INPUT_WITH": "צור ×¨×©×™×ž×” ×¢×",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "רשימה",
+       "LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "תוסיף, ×ª×ž×—ק, ×ו ×ª×¡×“ר ×ž×—דש ×›×“×™ ×œ×”גדיר ×ž×—דש ×ת ×”בלוק If.",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "הוסף ×¤×¨×™×˜ ×œ×¨×©×™×ž×”.",
+       "LISTS_REPEAT_TOOLTIP": "יוצר ×¨×©×™×ž×” ×”מורכבת ×ž×”ערך × ×ª×•×Ÿ ×—וזר ×ž×¡×¤×¨ ×¤×¢×ž×™× ×©×¦×•×™×Ÿ.",
+       "LISTS_REPEAT_TITLE": "ליצור ×¨×©×™×ž×” ×¢× ×”פריט %1 %2 ×¤×¢×ž×™×",
+       "LISTS_LENGTH_TITLE": "×ורכו ×©×œ %1",
+       "LISTS_LENGTH_TOOLTIP": "מחזירה ×ת ×”×ורך ×©×œ ×¨×©×™×ž×”.",
+       "LISTS_ISEMPTY_TITLE": "%1 ×”ונריק",
+       "LISTS_ISEMPTY_TOOLTIP": "מחזיר ×מת ×נהרשימה ×¨×™×§×”.",
+       "LISTS_INLIST": "ברשימה",
+       "LISTS_INDEX_OF_FIRST": "מחזירה ×ת ×”מיקונהר×שון ×©×œ ×¤×¨×™×˜ ×‘רשימה",
+       "LISTS_INDEX_OF_LAST": "מחזירה ×ת ×”מיקונה×חרון ×©×œ ×¤×¨×™×˜ ×‘רשימה",
+       "LISTS_INDEX_OF_TOOLTIP": "מחזירה ×ת ×”×ינדקס ×©×œ ×”מופע ×”ר×שון/×”×חרון ×©×œ ×”פריט ×‘רשימה.  ×ž×—זירה %1 ×נהפריט ×ינו × ×ž×¦×.",
+       "LISTS_GET_INDEX_GET": "לקבל",
+       "LISTS_GET_INDEX_GET_REMOVE": "קבל ×•×ž×—ק",
+       "LISTS_GET_INDEX_REMOVE": "הסרה",
+       "LISTS_GET_INDEX_FROM_START": "#",
+       "LISTS_GET_INDEX_FROM_END": "# ×ž×”סוף",
+       "LISTS_GET_INDEX_FIRST": "ר×שון",
+       "LISTS_GET_INDEX_LAST": "×חרון",
+       "LISTS_GET_INDEX_RANDOM": "×קר××™",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "%1 ×”ונהפריט ×”ר×שון.",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "%1 ×”ונהפריט ×”×חרון.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "מחזיר ×¤×¨×™×˜ ×‘מיקונשצוין ×‘רשימה.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "מחזיר ×ת ×”פריט ×”ר×שון ×‘רשימה.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "מחזיר ×ת ×”פריט ×”×חרון ×‘רשימה.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "מחזיר ×¤×¨×™×˜ ×קר××™ ×ž×”רשימה.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "מסיר ×•×ž×—זיר ×ת ×”פריט ×‘מיקונשצוין ×‘רשימה.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "מסיר ×•×ž×—זיר ×ת ×”פריט ×”ר×שון ×‘רשימה.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "מסיר ×•×ž×—זיר ×ת ×”פריט ×”×חרון ×‘רשימה.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "מחק ×•×”חזר ×¤×¨×™×˜ ×קר××™ ×ž×”רשימה.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "מחזיר ×¤×¨×™×˜ ×‘מיקונשצוין ×‘רשימה.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "הסר ×ת ×”פריט ×”ר×שון ×‘רשימה.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "הסר ×ת ×”פריט ×”ר×שון ×‘רשימה.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "הסר ×¤×¨×™×˜ ×קר××™ ×‘רשימה.",
+       "LISTS_SET_INDEX_SET": "הגדר",
+       "LISTS_SET_INDEX_INSERT": "הכנס ×‘",
+       "LISTS_SET_INDEX_INPUT_TO": "כמו",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "מגדיר ×ת ×”פריט ×‘מיקונשצוין ×‘רשימה.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "מגדיר ×ת ×”פריט ×”ר×שון ×‘רשימה.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_LAST": "מגדיר ×ת ×”פריט ×”×חרון ×‘רשימה.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "מגדיר ×¤×¨×™×˜ ×קר××™ ×‘רשימה.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "מכניס ×ת ×”פריט ×‘מיקונשצוין ×‘רשימה.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "מכניס ×ת ×”פריט ×‘תחילת ×¨×©×™×ž×”.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "מוסיף ×ת ×”פריט ×‘סוף ×¨×©×™×ž×”.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "הוסף ×¤×¨×™×˜ ×‘×ופן ×קר××™ ×‘רשימה.",
+       "LISTS_GET_SUBLIST_START_FROM_START": "לקבל ×—לק ×ž×”רשימה ×”חל ×ž-#",
+       "LISTS_GET_SUBLIST_START_FROM_END": "לקבל ×—לק ×ž×”רשימה ×”חל ×ž-# ×¢×“ ×”סוף",
+       "LISTS_GET_SUBLIST_START_FIRST": "לקבל ×—לק ×ž×”רשימה ×”חל ×ž×”תחלה",
+       "LISTS_GET_SUBLIST_END_FROM_START": "ל #",
+       "LISTS_GET_SUBLIST_END_FROM_END": "ל # ×ž×”סוף",
+       "LISTS_GET_SUBLIST_END_LAST": "ל×חרון",
+       "LISTS_GET_SUBLIST_TOOLTIP": "יוצרת ×¢×•×ª×§ ×©×œ ×—לק ×ž×¡×•×™× ×ž×”רשימה.",
+       "LISTS_SORT_HELPURL": "https://github.com/google/blockly/wiki/Lists#sorting-a-list",
+       "LISTS_SORT_ORDER_ASCENDING": "סדר ×¢×•×œ×”",
+       "LISTS_SORT_ORDER_DESCENDING": "סדר ×™×•×¨×“",
+       "LISTS_SORT_TYPE_TEXT": "סדר ×לפביתי",
+       "LISTS_SORT_TYPE_IGNORECASE": "סדר ×לפביתי, ×œ× ×ª×œ×•×™ ×¨×™×©×™×•×ª",
+       "LISTS_SPLIT_LIST_FROM_TEXT": "יצירת ×¨×©×™×ž×” ×ž×˜×§×¡×˜",
+       "LISTS_SPLIT_TEXT_FROM_LIST": "יצירת ×˜×§×¡×˜ ×ž×¨×©×™×ž×”",
+       "VARIABLES_GET_TOOLTIP": "להחזיר ×ת ×”ערך ×©×œ ×ž×©×ª× ×” ×–×”.",
+       "VARIABLES_GET_CREATE_SET": "ליצור 'הגדר %1'",
+       "VARIABLES_SET": "הגדר %1 ×œ- %2",
+       "VARIABLES_SET_TOOLTIP": "מגדיר ×ž×©×ª× ×” ×–×” ×œ×”יות ×©×•×•×” ×œ×§×œ×˜.",
+       "VARIABLES_SET_CREATE_GET": "ליצור 'קרנ%1'",
+       "PROCEDURES_DEFNORETURN_TITLE": "לביצוע:",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "לעשות ×ž×©×”ו",
+       "PROCEDURES_BEFORE_PARAMS": "×¢×:",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "×¢×:",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "יצירת ×¤×•× ×§×¦×™×” ×œ×œ× ×¤×œ×˜.",
+       "PROCEDURES_DEFRETURN_RETURN": "להחזיר",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "יצירת ×¤×•× ×§×¦×™×” ×¢× ×¤×œ×˜.",
+       "PROCEDURES_ALLOW_STATEMENTS": "ל×פשר ×¤×¢×•×œ×•×ª",
+       "PROCEDURES_DEF_DUPLICATE_WARNING": "×זהרה: ×œ×¤×•× ×§×¦×™×” ×–ו ×™×© ×¤×¨×ž×˜×¨×™× ×›×¤×•×œ×™×.",
+       "PROCEDURES_CALLNORETURN_HELPURL": "https://he.wikipedia.org/wiki/שגרה_(תכנות)",
+       "PROCEDURES_CALLNORETURN_TOOLTIP": "להפעיל ×ת ×”פונקציה ×”מוגדרת ×¢×œ-ידי ×”משתמש '%1'.",
+       "PROCEDURES_CALLRETURN_HELPURL": "https://he.wikipedia.org/wiki/שגרה_(תכנות)",
+       "PROCEDURES_CALLRETURN_TOOLTIP": "להפעיל ×ת ×”פונקציה ×”מוגדרת ×¢×œ-ידי ×”משתמש '%1' ×•×œ×”שתמש ×”פלט ×©×œ×”.",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "מקורות ×§×œ×˜",
+       "PROCEDURES_MUTATORCONTAINER_TOOLTIP": "הוסף, ×”סר ×ו ×¡×“ר ×ž×—דש ×§×œ×˜×™× ×œ×¤×•× ×§×¦×™×” ×–ו",
+       "PROCEDURES_MUTATORARG_TITLE": "שנהקלט:",
+       "PROCEDURES_MUTATORARG_TOOLTIP": "הוסף ×§×œ×˜ ×œ×¤×•× ×§×¦×™×”",
+       "PROCEDURES_HIGHLIGHT_DEF": "הדגש ×”גדרה ×©×œ ×¤×•× ×§×¦×™×”",
+       "PROCEDURES_CREATE_DO": "ליצור '%1'",
+       "PROCEDURES_IFRETURN_TOOLTIP": "×נערך × ×›×•×Ÿ, ××– ×œ×”חזיר ×¢×¨×š ×©× ×™.",
+       "PROCEDURES_IFRETURN_WARNING": "×זהרה: ×‘לוק ×–×” ×¢×©×•×™ ×œ×©×ž×© ×¨×§ ×‘תוך ×”גדרה ×©×œ ×¤×•× ×§×¦×™×”.",
+       "WORKSPACE_COMMENT_DEFAULT_TEXT": "ננלהזין ×”ערה..."
+}
diff --git a/js/msg/json/hi.json b/js/msg/json/hi.json
new file mode 100644 (file)
index 0000000..edb6157
--- /dev/null
@@ -0,0 +1,343 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Bl707",
+                       "संजीव à¤•à¥à¤®à¤¾à¤°",
+                       "Phoenix303",
+                       "Sfic",
+                       "Earlyengineers",
+                       "Sachinkatiyar"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "वसà¥à¤¤à¥",
+       "TODAY": "आज",
+       "DUPLICATE_BLOCK": "कॉपी à¤•à¤°à¥‡à¤‚",
+       "ADD_COMMENT": "टिपà¥à¤ªà¤£à¥€ à¤›à¥‹à¤¡à¤¼à¥‡à¤‚",
+       "REMOVE_COMMENT": "टिपà¥à¤ªà¤£à¥€ à¤¹à¤Ÿà¤¾à¤¯à¥‡à¤‚",
+       "EXTERNAL_INPUTS": "बाहरी à¤‡à¤¨à¤ªà¥à¤Ÿ",
+       "INLINE_INPUTS": "इनलाइन à¤‡à¤¨à¤ªà¥à¤Ÿ",
+       "DELETE_BLOCK": "बà¥à¤²à¥‰à¤• à¤¹à¤Ÿà¤¾à¤à¤",
+       "DELETE_X_BLOCKS": "%1 à¤¬à¥à¤²à¥‰à¤• à¤¹à¤Ÿà¤¾à¤à¤",
+       "DELETE_ALL_BLOCKS": "सभी %1 à¤–ानों à¤•à¥‹ à¤¹à¤Ÿà¤¾ à¤¦à¥‡à¤‚?",
+       "CLEAN_UP": "खानों à¤•à¥‹ à¤¸à¤¾à¤« à¤•à¤°à¥‡à¤‚",
+       "COLLAPSE_BLOCK": "बà¥à¤²à¥‰à¤• à¤•à¥‹ à¤¸à¤‚कà¥à¤·à¤¿à¤ªà¥à¤¤ à¤•à¤°à¥‡à¤‚",
+       "COLLAPSE_ALL": "बà¥à¤²à¥‰à¤• à¤¸à¤‚कà¥à¤·à¤¿à¤ªà¥à¤¤ à¤•à¤°à¥‡à¤‚",
+       "EXPAND_BLOCK": "बà¥à¤²à¥‰à¤• à¤•à¤¾ à¤µà¤¿à¤¸à¥à¤¤à¤¾à¤° à¤•à¤°à¥‡à¤‚",
+       "EXPAND_ALL": "बà¥à¤²à¥‰à¤• à¤µà¤¿à¤¸à¥à¤¤à¤¾à¤° à¤•à¤°à¥‡à¤‚",
+       "DISABLE_BLOCK": "बà¥à¤²à¥‰à¤• à¤•à¥‹ à¤…कà¥à¤·à¤® à¤•à¤°à¥‡à¤‚",
+       "ENABLE_BLOCK": "बà¥à¤²à¥‰à¤• à¤•à¥‹ à¤¸à¤•à¥à¤·à¤® à¤•à¤°à¥‡à¤‚",
+       "HELP": "सहायता",
+       "UNDO": "पूरà¥à¤µà¤µà¤¤ à¤•à¤°à¥‡à¤‚",
+       "REDO": "फिर à¤¸à¥‡ à¤•à¤°à¥‡à¤‚",
+       "CHANGE_VALUE_TITLE": "मान à¤ªà¤°à¤¿à¤µà¤°à¥à¤¤à¤¿à¤¤ à¤•à¤°à¥‡à¤‚:",
+       "RENAME_VARIABLE": "चर à¤•à¤¾ à¤¨à¤¾à¤® à¤¬à¤¦à¤²à¥‡à¤‚...",
+       "RENAME_VARIABLE_TITLE": "सभी '%1' à¤šà¤°à¥‹à¤‚ à¤•à¥‡ à¤¨à¤¾à¤® à¤¬à¤¦à¤²à¥‡à¤‚:",
+       "NEW_VARIABLE": "चर à¤¬à¤¨à¤¾à¤à¤...",
+       "NEW_STRING_VARIABLE": "लड़ी à¤šà¤° à¤¬à¤¨à¤¾à¤¯à¥‡à¤‚...",
+       "NEW_NUMBER_VARIABLE": "संखà¥à¤¯à¤¾ à¤šà¤° à¤¬à¤¨à¤¾à¤¯à¥‡à¤‚...",
+       "NEW_COLOUR_VARIABLE": "रंग à¤šà¤° à¤¬à¤¨à¤¾à¤à¤...",
+       "NEW_VARIABLE_TYPE_TITLE": "नठचर à¤•à¤¾ à¤¨à¤¾à¤®:",
+       "NEW_VARIABLE_TITLE": "नठचर à¤•à¤¾ à¤¨à¤¾à¤®:",
+       "VARIABLE_ALREADY_EXISTS": "पà¥à¤°à¤¾à¤šà¤² à¤¨à¤¾à¤® '%1' à¤ªà¤¹à¤²à¥‡ à¤¸à¥‡ à¤®à¥Œà¤œà¥‚द à¤¹à¥ˆà¥¤",
+       "VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE": "'%1' à¤¨à¤¾à¤® à¤•à¤¾ à¤à¤• à¤šà¤° à¤ªà¤¹à¤²à¥‡ à¤¸à¥‡ '%2' à¤ªà¥à¤°à¤•à¤¾à¤° à¤•à¥‡ à¤…नà¥à¤¯ à¤šà¤° à¤•à¥‡ à¤²à¤¿à¤ à¤®à¥Œà¤œà¥‚द à¤¹à¥ˆà¥¤",
+       "DELETE_VARIABLE_CONFIRMATION": "'%2' à¤šà¤° à¤•à¥‡ %1 à¤‰à¤ªà¤¯à¥‹à¤— à¤•à¥‹ à¤¹à¤Ÿà¤¾à¤à¤?",
+       "CANNOT_DELETE_VARIABLE_PROCEDURE": "चर '%1' à¤•à¥‹ à¤¨à¤¹à¥€à¤‚ à¤¹à¤Ÿà¤¾ à¤¸à¤•à¤¤à¤¾ à¤•à¥à¤¯à¥‹à¤‚कि à¤¯à¤¹ à¤«à¤¼à¤‚कà¥à¤¶à¤¨ '%2' à¤•à¥€ à¤ªà¤°à¤¿à¤­à¤¾à¤·à¤¾ à¤•à¤¾ à¤¹à¤¿à¤¸à¥à¤¸à¤¾ à¤¹à¥ˆ",
+       "DELETE_VARIABLE": "'%1' à¤šà¤° à¤•à¥‹ à¤¹à¤Ÿà¤¾à¤à¤",
+       "COLOUR_PICKER_HELPURL": "https://en.wikipedia.org/wiki/Color",
+       "COLOUR_PICKER_TOOLTIP": "पैलेट à¤¸à¥‡ à¤à¤• à¤°à¤‚ग à¤šà¥à¤¨à¥‡à¤‚।",
+       "COLOUR_RANDOM_TITLE": "कोई à¤­à¥€ à¤°à¤‚ग",
+       "COLOUR_RANDOM_TOOLTIP": "कोई à¤­à¥€ à¤à¤• à¤°à¤‚ग à¤•à¤¾ à¤šà¤¯à¤¨ à¤•à¤°à¥‡à¤‚।",
+       "COLOUR_RGB_TITLE": "इसके à¤¸à¤¾à¤¥ à¤°à¤‚ग à¤•à¤°à¥‡à¤‚",
+       "COLOUR_RGB_RED": "लाल",
+       "COLOUR_RGB_GREEN": "हरा",
+       "COLOUR_RGB_BLUE": "नीला",
+       "COLOUR_RGB_TOOLTIP": "लाल, à¤¹à¤°à¤¾ à¤”र à¤¨à¥€à¤²à¥‡ à¤•à¥€ à¤¨à¤¿à¤°à¥à¤¦à¤¿à¤·à¥à¤Ÿ à¤®à¤¾à¤¤à¥à¤°à¤¾ à¤•à¥‡ à¤¸à¤¾à¤¥ à¤à¤• à¤°à¤‚ग à¤¬à¤¨à¤¾à¤¯à¥‡à¤‚। à¤¸à¤­à¥€ à¤®à¤¾à¤¨ à¥¦ à¤¸à¥‡ à¥§à¥¦à¥¦ à¤•à¥‡ à¤¬à¥€à¤š à¤¹à¥‹à¤¨à¥‡ à¤šà¤¾à¤¹à¤¿à¤à¥¤",
+       "COLOUR_BLEND_TITLE": "मिशà¥à¤°à¤£ à¤•à¤°à¥‡à¤‚",
+       "COLOUR_BLEND_COLOUR1": "रंग 1",
+       "COLOUR_BLEND_COLOUR2": "रंग 2",
+       "COLOUR_BLEND_RATIO": "अनà¥à¤ªà¤¾à¤¤",
+       "COLOUR_BLEND_TOOLTIP": "दिठगठअनà¥à¤ªà¤¾à¤¤ (0.0 - 1.0) à¤•à¥‡ à¤¸à¤¾à¤¥ à¤¦à¥‹ à¤°à¤‚गों à¤•à¤¾ à¤®à¤¿à¤¶à¥à¤°à¤£ à¤•à¤°à¤¤à¤¾ à¤¹à¥ˆà¥¤",
+       "CONTROLS_REPEAT_HELPURL": "https://en.wikipedia.org/wiki/For_loop",
+       "CONTROLS_REPEAT_TITLE": "%1 à¤¬à¤¾à¤° à¤¦à¥‹à¤¹à¤°à¤¾à¤à¤",
+       "CONTROLS_REPEAT_INPUT_DO": "करें",
+       "CONTROLS_REPEAT_TOOLTIP": "कà¥à¤› à¤µà¤¿à¤µà¤°à¤£ à¤•à¤ˆ à¤¬à¤¾à¤° à¤šà¤²à¤¾à¤à¤à¥¤",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "दोहराà¤à¤ à¤œà¤¬ à¤•à¤¿",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "दोहराà¤à¤ à¤œà¤¬ à¤¤à¤•",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "जब à¤¤à¤• à¤®à¤¾à¤¨ à¤¸à¤¹à¥€ à¤¹à¥ˆ, à¤¤à¤¬ à¤¤à¤• à¤•à¥à¤› à¤µà¤¿à¤µà¤°à¤£ à¤šà¤²à¤¾à¤à¤à¥¤",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "जब à¤¤à¤• à¤®à¤¾à¤¨ à¤—लत à¤¹à¥ˆ, à¤¤à¤¬ à¤¤à¤• à¤•à¥à¤› à¤µà¤¿à¤µà¤°à¤£ à¤šà¤²à¤¾à¤à¤à¥¤",
+       "CONTROLS_FOR_TOOLTIP": "कà¥à¤¯à¤¾ à¤šà¤° '%1' à¤ªà¥à¤°à¤¾à¤°à¤‚भ à¤¸à¤‚खà¥à¤¯à¤¾ à¤¸à¥‡ à¤…ंत à¤¸à¤‚खà¥à¤¯à¤¾ à¤¤à¤• à¤®à¤¾à¤¨à¥‹à¤‚ à¤•à¥‹ à¤²à¥‡à¤¤à¤¾ à¤¹à¥ˆ, à¤¨à¤¿à¤°à¥à¤¦à¤¿à¤·à¥à¤Ÿ à¤…ंतराल à¤•à¥‡ à¤…नà¥à¤¸à¤¾à¤° à¤—िनती à¤•à¤°à¤¤à¤¾ à¤¹à¥ˆ, à¤”र à¤¨à¤¿à¤°à¥à¤¦à¤¿à¤·à¥à¤Ÿ à¤°à¥à¤•à¤¾à¤µà¤Ÿà¥‹à¤‚ à¤•à¥‹ à¤•à¤°à¤¤à¤¾ à¤¹à¥ˆà¥¤",
+       "CONTROLS_FOR_TITLE": "%1 à¤¸à¥‡ %2 à¤¸à¥‡ %3 à¤¤à¤• %4 à¤•à¥‡ à¤¸à¤¾à¤¥ à¤—िनती à¤•à¤°à¥‡à¤‚",
+       "CONTROLS_FOREACH_TITLE": "पà¥à¤°à¤¤à¥à¤¯à¥‡à¤• à¤µà¤¸à¥à¤¤à¥ à¤•à¥‡ à¤²à¤¿à¤ %1 à¤¸à¥‚ची à¤®à¥‡à¤‚ %2",
+       "CONTROLS_FOREACH_TOOLTIP": "सूची à¤•à¥‡ à¤ªà¥à¤°à¤¤à¥à¤¯à¥‡à¤• à¤µà¤¸à¥à¤¤à¥ à¤•à¥‡ à¤²à¤¿à¤, à¤µà¤¸à¥à¤¤à¥ à¤®à¥‡à¤‚ à¤šà¤° à¤•à¤¾ à¤®à¤¾à¤¨ '%1' à¤°à¤–ें à¤”र à¤¬à¤¾à¤¦ à¤®à¥‡à¤‚ à¤•à¥à¤› à¤•à¤¥à¤¨ à¤²à¤¿à¤–ें।",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "फंदे à¤¸à¥‡ à¤¬à¤¾à¤¹à¤° à¤¨à¤¿à¤•à¤²à¥‡à¤‚",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "फंदे à¤•à¥€ à¤…गली à¤¯à¤¾à¤¤à¥à¤°à¤¾ à¤•à¥‡ à¤¸à¤¾à¤¥ à¤œà¤¾à¤°à¥€ à¤°à¤–ें",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "भीतरी à¤«à¤‚दे à¤¸à¥‡ à¤¬à¤¾à¤¹à¤° à¤¨à¤¿à¤•à¤²à¥‡à¤‚।",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "बाकी à¤¬à¤šà¥‡ à¤«à¤‚दे à¤•à¥‹ à¤›à¥‹à¤¡à¤¼à¥‡à¤‚, à¤”र à¤…गली à¤¯à¤¾à¤¤à¥à¤°à¤¾ à¤œà¤¾à¤°à¥€ à¤°à¤–ें।",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "सावधान: à¤¯à¥‡ à¤¬à¥à¤²à¥‰à¤• à¤•à¥‡à¤µà¤² à¤²à¥‚प à¤•à¥‡ à¤…ंदर à¤‡à¤¸à¥à¤¤à¥‡à¤®à¤¾à¤² à¤•à¤¿à¤¯à¤¾ à¤œà¤¾ à¤¸à¤•à¤¤à¤¾ à¤¹à¥ˆà¥¤",
+       "CONTROLS_IF_TOOLTIP_1": "यदी à¤®à¤¾à¤¨ à¤¸à¤¹à¥€ à¤¹à¥ˆ, à¤¤à¥‹ à¤•à¥à¤› à¤µà¤¿à¤µà¤°à¤£ à¤šà¤²à¤¾à¤à¤à¥¤",
+       "CONTROLS_IF_TOOLTIP_2": "यदि à¤à¤• à¤®à¤¾à¤¨ à¤¸à¤¤à¥à¤¯ à¤¹à¥ˆ à¤¤à¥‹ à¤•à¤¥à¤¨à¥‹à¤‚ à¤•à¤¾ à¤ªà¥à¤°à¤¥à¤® à¤–णà¥à¤¡ à¤¬à¤¨à¤¾à¤¯à¥‡à¤‚। à¤…नà¥à¤¯à¤¥à¤¾ à¤•à¤¥à¤¨à¥‹à¤‚ à¤•à¤¾ à¤¦à¥‚सरा à¤­à¤¾à¤— à¤¨à¤¿à¤°à¥à¤®à¤¿à¤¤ à¤•à¤°à¥‡à¤‚।",
+       "CONTROLS_IF_TOOLTIP_3": "यदि à¤ªà¤¹à¤²à¥‡ à¤®à¤¾à¤¨ à¤¸à¤¹à¥€ à¤¹à¥ˆ, à¤¤à¥‹ à¤¬à¤¯à¤¾à¤¨à¥‹à¤‚ à¤•à¤¾ à¤ªà¤¹à¤²à¤¾ à¤–ंड à¤•à¤°à¥‡à¤‚। à¤…नà¥à¤¯à¤¥à¤¾, à¤¯à¤¦à¤¿ à¤¦à¥‚सरा à¤®à¤¾à¤¨ à¤¸à¤¤à¥à¤¯ à¤¹à¥ˆ, à¤¤à¥‹ à¤¬à¤¯à¤¾à¤¨à¥‹à¤‚ à¤•à¤¾ à¤¦à¥‚सरा à¤–ंड à¤•à¤°à¥‡à¤‚।",
+       "CONTROLS_IF_TOOLTIP_4": "यदि à¤ªà¤¹à¤²à¤¾ à¤®à¤¾à¤¨ à¤¸à¤¹à¥€ à¤¹à¥ˆ, à¤¤à¥‹ à¤¬à¤¯à¤¾à¤¨à¥‹à¤‚ à¤•à¤¾ à¤ªà¤¹à¤²à¤¾ à¤–ंड à¤•à¤°à¥‡à¤‚। à¤…नà¥à¤¯à¤¥à¤¾, à¤¯à¤¦à¤¿ à¤¦à¥‚सरा à¤®à¤¾à¤¨ à¤¸à¤¤à¥à¤¯ à¤¹à¥ˆ, à¤¤à¥‹ à¤¬à¤¯à¤¾à¤¨à¥‹à¤‚ à¤•à¤¾ à¤¦à¥‚सरा à¤–ंड à¤•à¤°à¥‡à¤‚। à¤¯à¤¦à¤¿ à¤•à¥‹à¤ˆ à¤­à¥€ à¤®à¤¾à¤¨ à¤¸à¤¹à¥€ à¤¨à¤¹à¥€à¤‚ à¤¹à¥ˆ, à¤¤à¥‹ à¤¬à¤¯à¤¾à¤¨à¥‹à¤‚ à¤•à¤¾ à¤…ंतिम à¤–ंड à¤•à¤°à¥‡à¤‚।",
+       "CONTROLS_IF_MSG_IF": "यदि",
+       "CONTROLS_IF_MSG_ELSEIF": "यदि à¤…नà¥à¤¯",
+       "CONTROLS_IF_MSG_ELSE": "अनà¥à¤¯",
+       "CONTROLS_IF_IF_TOOLTIP": "भाग à¤•à¥‹ à¤¸à¤®à¤¨à¤°à¥‚प à¤¬à¤¨à¤¾à¤¨à¥‡ à¤•à¥‡ à¤²à¤¿à¤ à¤œà¥‹à¤™à¥‡à¤‚, à¤¹à¤Ÿà¤¾à¤à¤‚, à¤¯à¤¾ à¤ªà¥à¤¨à¤ƒ à¤µà¥à¤¯à¤µà¤¸à¥à¤¥à¤¿à¤¤ à¤•à¤°à¥‡à¤‚ à¤¯à¤¦à¤¿ à¤¯à¤¹ à¤¬à¤‚द à¤¹à¥ˆà¥¤",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "à¤à¤• à¤¶à¤°à¥à¤¤ à¤œà¥‹à¤¡à¤¼à¥‡à¤‚ à¤¯à¤¦à¤¿ à¤¬à¥à¤²à¥‰à¤• à¤¹à¥ˆà¥¤",
+       "CONTROLS_IF_ELSE_TOOLTIP": "यदि à¤¬à¥à¤²à¥‰à¤• à¤¹à¥ˆ à¤¤à¥‹ à¤‡à¤¸à¤•à¥‡ à¤²à¤¿à¤ à¤à¤• à¤…ंतिम, à¤•à¥ˆà¤š-सभी à¤¸à¥à¤¥à¤¿à¤¤à¤¿ à¤œà¥‹à¤¡à¤¼à¥‡à¤‚।",
+       "IOS_OK": "ठीक à¤¹à¥ˆ",
+       "IOS_CANCEL": "रदà¥à¤¦ à¤•à¤°à¥‡à¤‚",
+       "IOS_ERROR": "तà¥à¤°à¥à¤Ÿà¤¿",
+       "IOS_PROCEDURES_INPUTS": "इनपà¥à¤Ÿ",
+       "IOS_PROCEDURES_ADD_INPUT": "+ à¤‡à¤¨à¤ªà¥à¤Ÿ à¤œà¥‹à¤¡à¤¼à¥‡à¤‚",
+       "IOS_PROCEDURES_ALLOW_STATEMENTS": "बयानों à¤•à¥€ à¤…नà¥à¤®à¤¤à¤¿ à¤¦à¥‡à¤‚",
+       "IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR": "इस à¤«à¤‚कà¥à¤¶à¤¨ à¤®à¥‡à¤‚ à¤¨à¤•à¤²à¥€ à¤¨à¤¿à¤µà¥‡à¤¶ à¤¹à¥ˆà¤‚।",
+       "IOS_VARIABLES_ADD_VARIABLE": "+ à¤šà¤° à¤œà¥‹à¤¡à¤¼à¥‡à¤‚",
+       "IOS_VARIABLES_ADD_BUTTON": "जोड़ें",
+       "IOS_VARIABLES_RENAME_BUTTON": "नाम à¤¬à¤¦à¤²à¥‡à¤‚",
+       "IOS_VARIABLES_DELETE_BUTTON": "हटाà¤à¤",
+       "IOS_VARIABLES_VARIABLE_NAME": "चर à¤•à¤¾ à¤¨à¤¾à¤®",
+       "IOS_VARIABLES_EMPTY_NAME_ERROR": "आप à¤°à¤¿à¤•à¥à¤¤ à¤šà¤° à¤¨à¤¾à¤® à¤‰à¤ªà¤¯à¥‹à¤— à¤¨à¤¹à¥€à¤‚ à¤•à¤° à¤¸à¤•à¤¤à¥‡",
+       "LOGIC_COMPARE_HELPURL": "https://en.wikipedia.org/wiki/Inequality_(mathematics)",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "टà¥à¤°à¥‚ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚ à¤¯à¤¦à¤¿ à¤¦à¥‹à¤¨à¥‹ à¤‡à¤¨à¤ªà¥à¤Ÿ à¤‡à¤• à¤¦à¥‚सरे à¤•à¥‡ à¤¬à¤°à¤¾à¤¬à¤° à¤¹à¥‹à¤‚।",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "टà¥à¤°à¥‚ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚ à¤¯à¤¦à¤¿ à¤¦à¥‹à¤¨à¥‹ à¤‡à¤¨à¤ªà¥à¤Ÿ à¤‡à¤• à¤¦à¥‚सरे à¤•à¥‡ à¤¬à¤°à¤¾à¤¬à¤° à¤¨à¤¹à¥€à¤‚ à¤¹à¥‹à¤‚।",
+       "LOGIC_COMPARE_TOOLTIP_LT": "टà¥à¤°à¥‚ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚ à¤¯à¤¦à¤¿ à¤ªà¤¹à¤²à¤¾ à¤‡à¤¨à¤ªà¥à¤Ÿ à¤¦à¥‚सरे à¤‡à¤¨à¤ªà¥à¤Ÿ à¤¸à¥‡ à¤›à¥‹à¤Ÿà¤¾ à¤¹à¥‹à¥¤",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "टà¥à¤°à¥‚ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚ à¤¯à¤¦à¤¿ à¤ªà¤¹à¤²à¤¾ à¤‡à¤¨à¤ªà¥à¤Ÿ à¤¦à¥‚सरे à¤‡à¤¨à¤ªà¥à¤Ÿ à¤¸à¥‡ à¤›à¥‹à¤Ÿà¤¾ à¤¹à¥‹ à¤¯à¤¾ à¤¬à¤°à¤¾à¤¬à¤° à¤¹à¥‹à¥¤",
+       "LOGIC_COMPARE_TOOLTIP_GT": "टà¥à¤°à¥‚ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚ à¤¯à¤¦à¤¿ à¤ªà¤¹à¤²à¤¾ à¤‡à¤¨à¤ªà¥à¤Ÿ à¤¦à¥‚सरे à¤‡à¤¨à¤ªà¥à¤Ÿ à¤¸à¥‡ à¤¬à¤¡à¤¼à¤¾ à¤¹à¥‹à¥¤",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "टà¥à¤°à¥‚ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚ à¤¯à¤¦à¤¿ à¤ªà¤¹à¤²à¤¾ à¤‡à¤¨à¤ªà¥à¤Ÿ à¤¦à¥‚सरे à¤‡à¤¨à¤ªà¥à¤Ÿ à¤¸à¥‡ à¤¬à¤¡à¤¼à¤¾ à¤¹à¥‹ à¤¯à¤¾ à¤¬à¤°à¤¾à¤¬à¤° à¤¹à¥‹à¥¤",
+       "LOGIC_OPERATION_TOOLTIP_AND": "टà¥à¤°à¥‚ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚ à¤¯à¤¦à¤¿ à¤¦à¥‹à¤¨à¥‹ à¤‡à¤¨à¤ªà¥à¤Ÿ à¤Ÿà¥à¤°à¥‚ à¤¹à¥‹à¤‚।",
+       "LOGIC_OPERATION_AND": "AND (तथा)",
+       "LOGIC_OPERATION_TOOLTIP_OR": "टà¥à¤°à¥‚ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚ à¤¯à¤¦à¤¿ à¤¦à¥‹à¤¨à¥‹ à¤®à¥‡ à¤¸à¥‡ à¤‡à¤• à¤‡à¤¨à¤ªà¥à¤Ÿ à¤Ÿà¥à¤°à¥‚ à¤¹à¥‹à¥¤",
+       "LOGIC_OPERATION_OR": "OR (अथवा)",
+       "LOGIC_NEGATE_TITLE": "NOT (पूरक) %1",
+       "LOGIC_NEGATE_TOOLTIP": "टà¥à¤°à¥‚ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¤¤à¤¾ à¤¹à¥ˆ à¤¯à¤¦à¤¿ à¤‡à¤¨à¤ªà¥à¤Ÿ à¤«à¥‰à¤²à¥à¤¸ à¤¹à¥ˆà¥¤ à¤«à¥‰à¤²à¥à¤¸ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¤¤à¤¾ à¤¹à¥ˆ à¤¯à¤¦à¤¿ à¤‡à¤¨à¤ªà¥à¤Ÿ à¤Ÿà¥à¤°à¥‚ à¤¹à¥ˆà¥¤",
+       "LOGIC_BOOLEAN_TRUE": "सही",
+       "LOGIC_BOOLEAN_FALSE": "गलत",
+       "LOGIC_BOOLEAN_TOOLTIP": "टà¥à¤°à¥‚ à¤¯à¤¾ à¤«à¥‰à¤²à¥à¤¸ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¤¤à¤¾ à¤¹à¥ˆà¥¤",
+       "LOGIC_NULL": "NULL (अमानà¥à¤¯)",
+       "LOGIC_NULL_TOOLTIP": "null (अमानà¥à¤¯) à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¤¤à¤¾ à¤¹à¥ˆà¥¤",
+       "LOGIC_TERNARY_CONDITION": "टेसà¥à¤Ÿ",
+       "LOGIC_TERNARY_IF_TRUE": "यदि à¤¸à¤¹à¥€ à¤¹à¥ˆ",
+       "LOGIC_TERNARY_IF_FALSE": "यदि à¤—लत à¤¹à¥ˆ",
+       "LOGIC_TERNARY_TOOLTIP": "'परीकà¥à¤·à¤£' à¤®à¥‡à¤‚ à¤¹à¤¾à¤²à¤¤ à¤•à¥€ à¤œà¤¾à¤‚च à¤•à¤°à¥‡à¤‚। à¤¯à¤¦à¤¿ à¤¸à¥à¤¥à¤¿à¤¤à¤¿ à¤¸à¤¹à¥€ à¤¹à¥ˆ, à¤¤à¥‹ 'सच' à¤®à¤¾à¤¨ à¤²à¥Œà¤Ÿà¤¾à¤¤à¤¾ à¤¹à¥ˆ; à¤…नà¥à¤¯à¤¥à¤¾ à¤µà¤¾à¤ªà¤¸ à¤²à¥Œà¤Ÿà¤¤à¤¾ 'अगर à¤à¥‚ठा'मान à¤¦à¥‡à¤¤à¤¾ à¤¹à¥ˆà¥¤",
+       "MATH_NUMBER_HELPURL": "https://en.wikipedia.org/wiki/Number",
+       "MATH_NUMBER_TOOLTIP": "à¤à¤• à¤¸à¤‚खà¥à¤¯à¤¾à¥¤",
+       "MATH_ARITHMETIC_HELPURL": "https://en.wikipedia.org/wiki/Arithmetic",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "दो à¤¸à¤‚खà¥à¤¯à¤¾à¤“ं à¤•à¤¾ à¤¯à¥‹à¤— à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚।",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "दो à¤¸à¤‚खà¥à¤¯à¤¾à¤“ं à¤•à¤¾ à¤…ंतर à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚।",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "दो à¤¸à¤‚खà¥à¤¯à¤¾à¤“ं à¤•à¤¾ à¤—à¥à¤£à¤¨ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚।",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "दो à¤¸à¤‚खà¥à¤¯à¤¾à¤“ं à¤•à¤¾ à¤­à¤¾à¤—फल à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚।",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "दूसरे à¤¨à¤‚बर à¤•à¥€ à¤¶à¤•à¥à¤¤à¤¿ à¤•à¥‹ à¤‰à¤ à¤¾à¤ à¤—ठपहले à¤¨à¤‚बर à¤ªà¤° à¤²à¥Œà¤Ÿà¥‡à¤‚",
+       "MATH_SINGLE_HELPURL": "https://en.wikipedia.org/wiki/Square_root",
+       "MATH_SINGLE_OP_ROOT": "वरà¥à¤—मूल",
+       "MATH_SINGLE_TOOLTIP_ROOT": "संखà¥à¤¯à¤¾ à¤•à¤¾ à¤µà¤°à¥à¤—मूल à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚।",
+       "MATH_SINGLE_OP_ABSOLUTE": "परम",
+       "MATH_SINGLE_TOOLTIP_ABS": "संखà¥à¤¯à¤¾ à¤•à¤¾ à¤ªà¤°à¤® à¤®à¤¾à¤¨ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚।",
+       "MATH_SINGLE_TOOLTIP_NEG": "संखà¥à¤¯à¤¾ à¤•à¤¾ à¤¨à¤¿à¤·à¥‡à¤§ à¤®à¤¾à¤¨ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚।",
+       "MATH_SINGLE_TOOLTIP_LN": "संखà¥à¤¯à¤¾ à¤•à¤¾ à¤ªà¥à¤°à¤¾à¤•à¥ƒà¤¤à¤¿à¤• à¤²à¤˜à¥à¤—णक à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚।",
+       "MATH_SINGLE_TOOLTIP_LOG10": "संखà¥à¤¯à¤¾ à¤•à¤¾ à¤®à¥‚ल 10 à¤²à¤˜à¥à¤—णक à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚।",
+       "MATH_SINGLE_TOOLTIP_EXP": "किसी à¤¸à¤‚खà¥à¤¯à¤¾ à¤•à¥€ à¤¶à¤•à¥à¤¤à¤¿ à¤•à¥‹ à¤µà¤¾à¤ªà¤¸ à¤ˆ à¤•à¤°à¥‡à¤‚।",
+       "MATH_SINGLE_TOOLTIP_POW10": "किसी à¤¸à¤‚खà¥à¤¯à¤¾ à¤•à¥€ à¤¶à¤•à¥à¤¤à¤¿ à¤ªà¤° 10 à¤²à¥Œà¤Ÿà¥‡à¤‚।",
+       "MATH_TRIG_HELPURL": "https://en.wikipedia.org/wiki/Trigonometric_functions",
+       "MATH_TRIG_TOOLTIP_SIN": "डिगà¥à¤°à¥€ à¤•à¤¾ à¤¸à¤¾à¤‡à¤¨ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚ (रेडियन à¤¨à¤¹à¥€)",
+       "MATH_TRIG_TOOLTIP_COS": "डिगà¥à¤°à¥€ à¤•à¤¾ à¤•à¥‹à¤¸à¤¾à¤‡à¤¨ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚ (रेडियन à¤¨à¤¹à¥€)",
+       "MATH_TRIG_TOOLTIP_TAN": "डिगà¥à¤°à¥€ à¤•à¤¾ à¤Ÿà¥ˆà¤¨à¥à¤œà¤¨à¥à¤Ÿ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚ (रेडियन à¤¨à¤¹à¥€)",
+       "MATH_TRIG_TOOLTIP_ASIN": "संखà¥à¤¯à¤¾ à¤•à¤¾ à¤†à¤°à¥à¤•à¤¸à¤¾à¤‡à¤¨ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚।",
+       "MATH_TRIG_TOOLTIP_ACOS": "संखà¥à¤¯à¤¾ à¤•à¤¾ à¤†à¤°à¥à¤•à¤•à¥‹à¤¸à¤¾à¤‡à¤¨ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚।",
+       "MATH_TRIG_TOOLTIP_ATAN": "संखà¥à¤¯à¤¾ à¤•à¤¾ à¤†à¤°à¥à¤•à¤Ÿà¥ˆà¤¨à¥à¤œà¤¨à¥à¤Ÿ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚।",
+       "MATH_CONSTANT_HELPURL": "https://en.wikipedia.org/wiki/Mathematical_constant",
+       "MATH_CONSTANT_TOOLTIP": "सामानà¥à¤¯ à¤¸à¥à¤¥à¤¿à¤°à¤¾à¤‚क à¤®à¥‡à¤‚ à¤¸à¥‡ à¤à¤• à¤•à¥‹ à¤µà¤¾à¤ªà¤¸ à¤²à¥Œà¤Ÿà¥‡à¤‚:Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), or âˆž (infinity)।",
+       "MATH_IS_EVEN": "सम à¤¹à¥ˆ",
+       "MATH_IS_ODD": "विषम à¤¹à¥ˆ",
+       "MATH_IS_PRIME": "अभाजà¥à¤¯ à¤¹à¥ˆ",
+       "MATH_IS_WHOLE": "पूरà¥à¤£à¤¾à¤‚क à¤¹à¥ˆ",
+       "MATH_IS_POSITIVE": "धनातà¥à¤®à¤• à¤¹à¥ˆ",
+       "MATH_IS_NEGATIVE": "ऋणातà¥à¤®à¤• à¤¹à¥ˆ",
+       "MATH_IS_DIVISIBLE_BY": "इसके à¤¦à¥à¤µà¤¾à¤°à¤¾ à¤µà¤¿à¤­à¤¾à¤œà¥à¤¯ à¤¹à¥ˆ",
+       "MATH_IS_TOOLTIP": "जांचें à¤•à¤¿ à¤•à¥à¤¯à¤¾ à¤•à¥‹à¤ˆ à¤¸à¤‚खà¥à¤¯à¤¾ à¤à¤• à¤¸à¤®, à¤µà¤¿à¤·à¤®, à¤®à¥à¤–à¥à¤¯, à¤¸à¤‚पूरà¥à¤£, à¤¸à¤•à¤¾à¤°à¤¾à¤¤à¥à¤®à¤•, à¤¨à¤•à¤¾à¤°à¤¾à¤¤à¥à¤®à¤• à¤¹à¥ˆ à¤¯à¤¾ à¤¯à¤¦à¤¿ à¤µà¤¹ à¤¨à¤¿à¤¶à¥à¤šà¤¿à¤¤ à¤¸à¤‚खà¥à¤¯à¤¾ à¤¸à¥‡ à¤µà¤¿à¤­à¤¾à¤œà¤¿à¤¤ à¤¹à¥ˆà¥¤ à¤µà¤¾à¤¸à¥à¤¤à¤µà¤¿à¤• à¤¯à¤¾ à¤—लत à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤¦à¥‡à¤¤à¤¾ à¤¹à¥ˆà¥¤",
+       "MATH_CHANGE_HELPURL": "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter",
+       "MATH_CHANGE_TITLE": "%1 à¤•à¥‹ %2 à¤¸à¥‡ à¤¬à¤¦à¤²à¥‡à¤‚",
+       "MATH_CHANGE_TOOLTIP": "संखà¥à¤¯à¤¾ à¤•à¥‹ à¤šà¤° '%1' à¤¸à¥‡ à¤œà¥‹à¤¡à¤¼à¥‡à¤‚।",
+       "MATH_ROUND_HELPURL": "https://en.wikipedia.org/wiki/Rounding",
+       "MATH_ROUND_TOOLTIP": "संखà¥à¤¯à¤¾ à¤•à¥‹ à¤¬à¤¡à¤¼à¤¾ à¤¯à¤¾ à¤˜à¤Ÿà¤¾ à¤•à¥‡ à¤ªà¥‚रà¥à¤£à¤¾à¤‚क à¤¬à¤¨à¤¾à¤à¤à¥¤",
+       "MATH_ROUND_OPERATOR_ROUND": "पूरà¥à¤£à¤¾à¤‚क à¤¬à¤¨à¤¾à¤à¤",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "बड़ा à¤•à¥‡ à¤ªà¥‚रà¥à¤£à¤¾à¤‚क à¤¬à¤¨à¤¾à¤à¤",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "घटा à¤•à¥‡ à¤ªà¥‚रà¥à¤£à¤¾à¤‚क à¤¬à¤¨à¤¾à¤à¤",
+       "MATH_ONLIST_OPERATOR_SUM": "सूची à¤•à¤¾ à¤¯à¥‹à¤—",
+       "MATH_ONLIST_TOOLTIP_SUM": "सूची à¤•à¥€ à¤¸à¤­à¥€ à¤¸à¤‚खà¥à¤¯à¤¾à¤“ं à¤•à¤¾ à¤¯à¥‹à¤— à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚।",
+       "MATH_ONLIST_OPERATOR_MIN": "सूची à¤®à¥‡ à¤¨à¥à¤¯à¥‚नतम",
+       "MATH_ONLIST_TOOLTIP_MIN": "सूची à¤®à¥‡ à¤¸à¤¬à¤¸à¥‡ à¤›à¥‹à¤Ÿà¥€ à¤¸à¤‚खà¥à¤¯à¤¾ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚।",
+       "MATH_ONLIST_OPERATOR_MAX": "सूची à¤®à¥‡ à¤…धिकतम",
+       "MATH_ONLIST_TOOLTIP_MAX": "सूची à¤®à¥‡à¤‚ à¤¸à¤¬à¤¸à¥‡ à¤¬à¤¡à¤¼à¥€ à¤¸à¤‚खà¥à¤¯à¤¾ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚।",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "सूची à¤•à¤¾ à¤”सत à¤®à¤¾à¤¨",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "सूची à¤®à¥‡à¤‚ à¤¸à¤‚खà¥à¤¯à¤¾à¤¤à¥à¤®à¤• à¤®à¤¾à¤¨à¥‹à¤‚ à¤•à¤¾ à¤”सत (अंकगणित à¤®à¤¾à¤§à¥à¤¯) à¤²à¥Œà¤Ÿà¥‡à¤‚।",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "सूची à¤•à¥€ à¤®à¤¾à¤§à¥à¤¯à¤¿à¤•à¤¾",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "सूची à¤•à¥€ à¤®à¤¾à¤§à¥à¤¯à¤¿à¤•à¤¾ à¤¸à¤‚खà¥à¤¯à¤¾ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚।",
+       "MATH_ONLIST_OPERATOR_MODE": "सूची à¤•à¤¾ à¤®à¥‹à¤¡",
+       "MATH_ONLIST_TOOLTIP_MODE": "सूची à¤®à¥‡ à¤¸à¤¬à¤¸à¥‡ à¤†à¤® à¤†à¤‡à¤Ÿà¤®(s) à¤•à¥€ à¤¸à¥‚ची à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚।",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "सूची à¤•à¤¾ à¤®à¤¾à¤¨à¤• à¤µà¤¿à¤šà¤²à¤¨",
+       "MATH_ONLIST_TOOLTIP_STD_DEV": "सूची à¤•à¤¾ à¤®à¤¾à¤¨à¤• à¤µà¤¿à¤šà¤²à¤¨ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚।",
+       "MATH_ONLIST_OPERATOR_RANDOM": "सूची à¤•à¤¾ à¤°à¥ˆà¤¨à¥à¤¡à¤® à¤†à¤‡à¤Ÿà¤®",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "सूची à¤¸à¥‡ à¤à¤• à¤°à¥ˆà¤¨à¥à¤¡à¤® à¤†à¤‡à¤Ÿà¤® à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚।",
+       "MATH_MODULO_HELPURL": "https://en.wikipedia.org/wiki/Modulo_operation",
+       "MATH_MODULO_TITLE": "%1 Ã· %2 à¤•à¤¾ à¤¶à¥‡à¤·à¤«à¤²",
+       "MATH_MODULO_TOOLTIP": "दो à¤¸à¤‚खà¥à¤¯à¤¾à¤“ं à¤•à¥‡ à¤­à¤¾à¤— à¤•à¤¾ à¤¶à¥‡à¤·à¤«à¤² à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚।",
+       "MATH_CONSTRAIN_TITLE": "%1 à¤•à¤® %2 à¤‰à¤šà¥à¤š %3 à¤¬à¤¾à¤§à¤¿à¤¤ à¤•à¤°à¥‡à¤‚",
+       "MATH_CONSTRAIN_TOOLTIP": "à¤à¤• à¤¸à¤‚खà¥à¤¯à¤¾ à¤•à¥‹ à¤¨à¤¿à¤°à¥à¤¦à¤¿à¤·à¥à¤Ÿ à¤¸à¥€à¤®à¤¾ (समà¥à¤®à¤¿à¤²à¤¿à¤¤) à¤•à¥‡ à¤¬à¥€à¤š à¤¬à¤¾à¤§à¤¿à¤¤ à¤•à¤°à¥‡à¤‚।",
+       "MATH_RANDOM_INT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_INT_TITLE": "%1 à¤¸à¥‡ %2 à¤¤à¤• à¤°à¥ˆà¤¨à¥à¤¡à¤® à¤ªà¥‚रà¥à¤£à¤¾à¤‚क",
+       "MATH_RANDOM_INT_TOOLTIP": "दो à¤¨à¤¿à¤°à¥à¤¦à¤¿à¤·à¥à¤Ÿ à¤¸à¥€à¤®à¤¾à¤“ं, à¤¸à¤®à¤¾à¤µà¥‡à¤¶à¥€ à¤•à¥‡ à¤¬à¥€à¤š à¤à¤• à¤¯à¤¾à¤¦à¥ƒà¤šà¥à¤›à¤¿à¤• à¤ªà¥‚रà¥à¤£à¤¾à¤‚क à¤²à¥Œà¤Ÿà¥‡à¤‚।",
+       "MATH_RANDOM_FLOAT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "रैनà¥à¤¡à¤® à¤…ंश",
+       "MATH_RANDOM_FLOAT_TOOLTIP": "0.0 (समावेशी) à¤”र 1.0 (विशिषà¥à¤Ÿ) à¤•à¥‡ à¤¬à¥€à¤š à¤à¤• à¤¯à¤¾à¤¦à¥ƒà¤šà¥à¤›à¤¿à¤• à¤…ंश à¤ªà¤° à¤²à¥Œà¤Ÿà¥‡à¤‚।",
+       "TEXT_TEXT_HELPURL": "https://en.wikipedia.org/wiki/String_(computer_science)",
+       "TEXT_TEXT_TOOLTIP": "à¤à¤• à¤…कà¥à¤·à¤°, à¤¶à¤¬à¥à¤¦, à¤¯à¤¾ à¤Ÿà¥‡à¤•à¥à¤¸à¥à¤Ÿ à¤•à¥€ à¤ªà¤‚कà¥à¤¤à¤¿à¥¤",
+       "TEXT_JOIN_TITLE_CREATEWITH": "इसके à¤¸à¤¾à¤¥ à¤Ÿà¥‡à¤•à¥à¤¸à¥à¤Ÿ à¤¬à¤¨à¤¾à¤à¤",
+       "TEXT_JOIN_TOOLTIP": "किसी à¤­à¥€ à¤¸à¤‚खà¥à¤¯à¤¾ à¤•à¥‡ à¤®à¤¦à¥‹à¤‚ à¤•à¥‹ à¤à¤• à¤¸à¤¾à¤¥ à¤œà¥‹à¤¡à¤¼ à¤•à¤° à¤ªà¤¾à¤  à¤•à¤¾ à¤à¤• à¤Ÿà¥à¤•à¤¡à¤¼à¤¾ à¤¬à¤¨à¤¾à¤à¤‚।",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "जोड़",
+       "TEXT_CREATE_JOIN_TOOLTIP": "भाग à¤•à¥‹ à¤¸à¤®à¤¨à¤°à¥‚प à¤¬à¤¨à¤¾à¤¨à¥‡ à¤•à¥‡ à¤²à¤¿à¤ à¤œà¥‹à¤™à¥‡à¤‚, à¤¹à¤Ÿà¤¾à¤à¤‚, à¤¯à¤¾ à¤ªà¥à¤¨à¤ƒ à¤µà¥à¤¯à¤µà¤¸à¥à¤¥à¤¿à¤¤ à¤•à¤°à¥‡à¤‚ à¤¯à¤¦à¤¿ à¤¯à¤¹ à¤¬à¤‚द à¤¹à¥ˆà¥¤",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "सूची à¤®à¥‡ à¤à¤• à¤†à¤‡à¤Ÿà¤® à¤œà¥‹à¤¡à¤¼à¥‡à¤‚।",
+       "TEXT_APPEND_TITLE": "%1 à¤®à¥‡à¤‚ à¤ªà¤¾à¤  %2 à¤•à¥‹ à¤œà¥‹à¤¡à¤¼à¥‡à¤‚",
+       "TEXT_APPEND_TOOLTIP": "कà¥à¤› à¤Ÿà¥‡à¤•à¥à¤¸à¥à¤Ÿ à¤‡à¤¸ à¤šà¤° '%1' à¤¸à¥‡ à¤œà¥‹à¤¡à¤¼à¥‡à¤‚।",
+       "TEXT_LENGTH_TITLE": "%1 à¤•à¥€ à¤²à¤‚बाई",
+       "TEXT_LENGTH_TOOLTIP": "दिठगये à¤Ÿà¥‡à¤•à¥à¤¸à¥à¤Ÿ à¤®à¥‡ à¤…कà¥à¤·à¤°à¥‹à¤‚ à¤•à¥€ à¤¸à¤‚खà¥à¤¯à¤¾ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¤¤à¤¾ à¤¹à¥ˆ (खाली à¤¸à¥à¤¥à¤¾à¤¨ à¤®à¤¿à¤²à¤¾ à¤•à¥‡)।",
+       "TEXT_ISEMPTY_TITLE": "%1 à¤–ाली à¤¹à¥ˆ",
+       "TEXT_ISEMPTY_TOOLTIP": "टà¥à¤°à¥‚ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¤¤à¤¾ à¤¹à¥ˆ à¤¯à¤¦à¤¿ à¤¦à¤¿à¤¯à¤¾ à¤—या à¤Ÿà¥‡à¤•à¥à¤¸à¥à¤Ÿ à¤–ाली à¤¹à¥ˆà¥¤",
+       "TEXT_INDEXOF_TOOLTIP": "दूसरे à¤ªà¤¾à¤  à¤®à¥‡à¤‚ à¤ªà¤¹à¤²à¥‡ à¤ªà¤¾à¤  à¤•à¥€ à¤ªà¤¹à¤²à¥€/अंतिम à¤˜à¤Ÿà¤¨à¤¾ à¤•à¤¾ à¤¸à¥‚चक à¤¦à¥‡à¤¤à¤¾ à¤¹à¥ˆà¥¤ à¤¯à¤¦à¤¿ à¤ªà¤¾à¤  à¤¨à¤¹à¥€à¤‚ à¤®à¤¿à¤²à¤¾ à¤¹à¥ˆ à¤¤à¥‹ %1 à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤¹à¥‹à¤¤à¤¾ à¤¹à¥ˆà¥¤",
+       "TEXT_INDEXOF_TITLE": "पाठ %1 %2 %3 à¤®à¥‡à¤‚",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "टेकà¥à¤¸à¥à¤Ÿ à¤ªà¤¹à¤²à¥€ à¤¬à¤¾à¤° à¤œà¤¹à¤¾à¤ à¤†à¤¯à¤¾ à¤¹à¥ˆ à¤‰à¤¸à¥‡ à¤¢à¥‚ढ़े",
+       "TEXT_INDEXOF_OPERATOR_LAST": "टेकà¥à¤¸à¥à¤Ÿ à¤†à¤–री à¤¬à¤¾à¤° à¤œà¤¹à¤¾à¤ à¤†à¤¯à¤¾ à¤¹à¥ˆ à¤‰à¤¸à¥‡ à¤¢à¥‚ढ़े",
+       "TEXT_CHARAT_TITLE": "पाठ %1 %2 à¤®à¥‡à¤‚",
+       "TEXT_CHARAT_FROM_START": "अकà¥à¤·à¤° # à¤ªà¤¾à¤à¤",
+       "TEXT_CHARAT_FROM_END": "आखिर à¤¸à¥‡ à¤…कà¥à¤·à¤° # à¤ªà¤¾à¤à¤",
+       "TEXT_CHARAT_FIRST": "पहला à¤…कà¥à¤·à¤° à¤ªà¤¾à¤à¤",
+       "TEXT_CHARAT_LAST": "आखरी à¤…कà¥à¤·à¤° à¤ªà¤¾à¤à¤",
+       "TEXT_CHARAT_RANDOM": "रैनà¥à¤¡à¤® à¤…कà¥à¤·à¤° à¤ªà¤¾à¤à¤",
+       "TEXT_CHARAT_TOOLTIP": "बताई à¤—यी à¤œà¤—ह à¤¸à¥‡ à¤…कà¥à¤·à¤° à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¤¤à¤¾ à¤¹à¥ˆ",
+       "TEXT_GET_SUBSTRING_TOOLTIP": "टेकà¥à¤¸à¥à¤Ÿ à¤•à¤¾ à¤¬à¤¤à¤¾à¤¯à¤¾ à¤—या à¤…ंश à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¤¤à¤¾ à¤¹à¥ˆ",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "इस à¤Ÿà¥‡à¤•à¥à¤¸à¥à¤Ÿ à¤®à¥‡",
+       "TEXT_GET_SUBSTRING_START_FROM_START": "अकà¥à¤·à¤° # à¤¸à¥‡ à¤¸à¤¬à¤¸à¥à¤Ÿà¥à¤°à¤¿à¤‚ग à¤ªà¤¾à¤à¤",
+       "TEXT_GET_SUBSTRING_START_FROM_END": "आखरी à¤…कà¥à¤·à¤° # à¤¸à¥‡ à¤¸à¤¬à¤¸à¥à¤Ÿà¥à¤°à¤¿à¤‚ग à¤ªà¤¾à¤à¤",
+       "TEXT_GET_SUBSTRING_START_FIRST": "पहले à¤…कà¥à¤·à¤° à¤¸à¥‡ à¤¸à¤¬à¤¸à¥à¤Ÿà¥à¤°à¤¿à¤‚ग à¤ªà¤¾à¤à¤",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "यहाठतक à¤…कà¥à¤·à¤° #",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "आखिर à¤¸à¥‡ à¤¯à¤¹à¤¾à¤ à¤¤à¤• à¤…कà¥à¤·à¤° #",
+       "TEXT_GET_SUBSTRING_END_LAST": "यहाठतक à¤†à¤–री à¤…कà¥à¤·à¤°",
+       "TEXT_CHANGECASE_TOOLTIP": "टेकà¥à¤¸à¥à¤Ÿ à¤•à¥€ à¤•à¥‰à¤ªà¥€ à¤­à¤¿à¤¨à¥à¤¨ à¤•à¥‡à¤¸ (अकà¥à¤·à¤° à¤¸à¥‡ à¤¸à¤‚बंधित) à¤®à¥‡ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚।",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "बड़े à¤…कà¥à¤·à¤° à¤®à¥‡",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "छोटे à¤…कà¥à¤·à¤° à¤®à¥‡",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": "टाइटल à¤•à¥‡à¤¸ à¤®à¥‡",
+       "TEXT_TRIM_TOOLTIP": "à¤à¤• à¤¯à¤¾ à¤¦à¥‹à¤¨à¥‹à¤‚ à¤¸à¤¿à¤°à¥‹à¤‚ à¤¸à¥‡ à¤¹à¤Ÿà¤¾à¤ à¤—ठरिकà¥à¤¤ à¤¸à¥à¤¥à¤¾à¤¨ à¤•à¥‡ à¤¸à¤¾à¤¥ à¤ªà¤¾à¤  à¤•à¥€ à¤à¤• à¤ªà¥à¤°à¤¤à¤¿ à¤²à¥Œà¤Ÿà¤¾à¤à¤‚।",
+       "TEXT_TRIM_OPERATOR_BOTH": "रिकà¥à¤¤ à¤¸à¥à¤¥à¤¾à¤¨ à¤•à¥‹ à¤‡à¤¸ à¤Ÿà¥‡à¤•à¥à¤¸à¥à¤Ÿ à¤•à¥‡ à¤¦à¥‹à¤¨à¥‹à¤‚ à¤¤à¤°à¤« à¤¸à¥‡ à¤¨à¤¿à¤•à¤¾à¤²à¥‡à¤‚",
+       "TEXT_TRIM_OPERATOR_LEFT": "रिकà¥à¤¤ à¤¸à¥à¤¥à¤¾à¤¨ à¤•à¥‹ à¤‡à¤¸ à¤Ÿà¥‡à¤•à¥à¤¸à¥à¤Ÿ à¤•à¥‡ à¤¬à¤¾à¤¯à¥‡à¤‚ à¤¤à¤°à¤« à¤¸à¥‡ à¤¨à¤¿à¤•à¤¾à¤²à¥‡à¤‚",
+       "TEXT_TRIM_OPERATOR_RIGHT": "रिकà¥à¤¤ à¤¸à¥à¤¥à¤¾à¤¨ à¤•à¥‹ à¤‡à¤¸ à¤Ÿà¥‡à¤•à¥à¤¸à¥à¤Ÿ à¤•à¥‡ à¤¦à¤¾à¤ˆà¤‚ à¤¤à¤°à¤« à¤¸à¥‡ à¤¨à¤¿à¤•à¤¾à¤²à¥‡à¤‚",
+       "TEXT_PRINT_TITLE": "पà¥à¤°à¤¿à¤‚ट à¤•à¤°à¥‡à¤‚ %1",
+       "TEXT_PRINT_TOOLTIP": "दिया à¤—या à¤Ÿà¥‡à¤•à¥à¤¸à¥à¤Ÿ à¤ªà¥à¤°à¤¿à¤‚ट à¤•à¤°à¥‡à¤‚, à¤¸à¤‚खà¥à¤¯à¤¾ à¤¯à¤¾ à¤…नà¥à¤¯ à¤®à¤¾à¤¨à¥¤",
+       "TEXT_PROMPT_TYPE_TEXT": "सूचना à¤•à¥‡ à¤¸à¤¾à¤¥ à¤Ÿà¥‡à¤•à¥à¤¸à¥à¤Ÿ à¤•à¥‡ à¤²à¤¿à¤ à¤ªà¥à¤°à¥‰à¤®à¥à¤ªà¥à¤Ÿ à¤•à¤°à¥‡à¤‚",
+       "TEXT_PROMPT_TYPE_NUMBER": "सूचना à¤•à¥‡ à¤¸à¤¾à¤¥ à¤¸à¤‚खà¥à¤¯à¤¾ à¤•à¥‡ à¤²à¤¿à¤ à¤ªà¥à¤°à¥‰à¤®à¥à¤ªà¥à¤Ÿ à¤•à¤°à¥‡à¤‚",
+       "TEXT_PROMPT_TOOLTIP_NUMBER": "यूज़र à¤¸à¥‡ à¤¸à¤‚खà¥à¤¯à¤¾ à¤•à¥‡ à¤²à¤¿à¤ à¤ªà¥à¤°à¥‰à¤®à¥à¤ªà¥à¤Ÿ à¤•à¤°à¥‡à¤‚।",
+       "TEXT_PROMPT_TOOLTIP_TEXT": "यूज़र à¤¸à¥‡ à¤•à¥à¤› à¤Ÿà¥‡à¤•à¥à¤¸à¥à¤Ÿ à¤•à¥‡ à¤²à¤¿à¤ à¤ªà¥à¤°à¥‰à¤®à¥à¤ªà¥à¤Ÿ à¤•à¤°à¥‡à¤‚।",
+       "TEXT_COUNT_MESSAGE0": "%1 à¤•à¥‹ %2 à¤®à¥‡à¤‚ à¤—िने",
+       "TEXT_COUNT_TOOLTIP": "गिने, à¤•à¤¿à¤¤à¤¨à¥€ à¤¬à¤¾à¤° à¤•à¥à¤› à¤ªà¤¾à¤  à¤•à¥à¤› à¤…नà¥à¤¯ à¤ªà¤¾à¤  à¤•à¥‡ à¤…ंदर à¤¸à¤®à¤¾à¤¹à¤¿à¤¤ à¤¹à¥‹à¤¤à¤¾ à¤¹à¥ˆà¥¤",
+       "TEXT_REPLACE_MESSAGE0": "%1 à¤•à¥‹ %2 à¤•à¥‡ à¤¸à¤¾à¤¥ %3 à¤®à¥‡à¤‚ à¤¬à¤¦à¤²à¥‡à¤‚",
+       "TEXT_REPLACE_TOOLTIP": "कà¥à¤› à¤…नà¥à¤¯ à¤ªà¤¾à¤  à¤•à¥‡ à¤…ंदर à¤•à¥à¤› à¤ªà¤¾à¤  à¤•à¥€ à¤¸à¤­à¥€ à¤œà¤—हों à¤•à¥‹ à¤¬à¤¦à¤²à¥‡à¤‚।",
+       "TEXT_REVERSE_MESSAGE0": "%1 à¤•à¥‹ à¤¬à¤¦à¤² à¤¦à¥‡à¤‚",
+       "TEXT_REVERSE_HELPURL": "https://github.com/google/blockly/wiki/Text#reversing-text",
+       "TEXT_REVERSE_TOOLTIP": "पाठ à¤®à¥‡à¤‚ à¤µà¤°à¥à¤£à¥‹à¤‚ à¤•à¥‡ à¤•à¥à¤°à¤® à¤•à¥‹ à¤‰à¤²à¤Ÿ à¤¦à¥‡à¤¤à¤¾ à¤¹à¥ˆà¥¤",
+       "LISTS_CREATE_EMPTY_TITLE": "खाली à¤¸à¥‚ची à¤¬à¤¨à¤¾à¤à¤",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "0 à¤²à¤‚बाई à¤•à¥€, à¤•à¥‹à¤ˆ à¤­à¥€ à¤¡à¥‡à¤Ÿà¤¾ à¤¨à¤¾ à¤°à¤–ने à¤µà¤¾à¤²à¥€ à¤à¤• à¤¸à¥‚ची à¤²à¥Œà¤Ÿà¤¤à¥€ à¤¹à¥ˆ",
+       "LISTS_CREATE_WITH_TOOLTIP": "कितने à¤­à¥€ à¤†à¤‡à¤Ÿà¤® à¤µà¤¾à¤²à¥€ à¤à¤• à¤¸à¥‚ची à¤¬à¤¨à¤¾à¤à¤à¥¤",
+       "LISTS_CREATE_WITH_INPUT_WITH": "इसके à¤¸à¥‚ची à¤¬à¤¨à¤¾à¤à¤",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "सूची",
+       "LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "इस à¤¸à¥‚ची à¤¬à¥à¤²à¥‰à¤• à¤•à¥‹ à¤ªà¥à¤¨: à¤†à¤•à¤¾à¤° à¤¦à¥‡à¤¨à¥‡ à¤•à¥‡ à¤²à¤¿à¤ à¤µà¤°à¥à¤—ों à¤•à¥‹ à¤œà¥‹à¤¡à¤¼à¥‡à¤‚, à¤¨à¤¿à¤•à¤¾à¤²à¥‡à¤‚, à¤¯à¤¾ à¤ªà¥à¤¨: à¤•à¥à¤°à¤®à¤¿à¤¤ à¤•à¤°à¥‡à¤‚।",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "सूची à¤®à¥‡ à¤à¤• à¤†à¤‡à¤Ÿà¤® à¤œà¥‹à¤¡à¤¼à¥‡à¤‚।",
+       "LISTS_REPEAT_TOOLTIP": "निरà¥à¤§à¤¾à¤°à¤¿à¤¤ à¤®à¤¾à¤¨ à¤•à¥€ à¤¬à¤¾à¤°-बार à¤¦à¥‹à¤¹à¤°à¤¾à¤ˆ à¤—ई à¤à¤• à¤¸à¥‚ची à¤¬à¤¨à¤¾à¤¤à¤¾ à¤¹à¥ˆà¥¤",
+       "LISTS_REPEAT_TITLE": "वसà¥à¤¤à¥ %1 à¤•à¥‡ à¤¸à¤¾à¤¥ %2 à¤¬à¤¾à¤° à¤¦à¥‹à¤¹à¤°à¤¾à¤ˆ à¤—यी à¤¸à¥‚ची à¤¬à¤¨à¤¾à¤à¤‚",
+       "LISTS_LENGTH_TITLE": "%1 à¤•à¥€ à¤²à¤‚बाई",
+       "LISTS_LENGTH_TOOLTIP": "सूची à¤•à¥€ à¤²à¤‚बाई à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¤¤à¤¾ à¤¹à¥ˆà¥¤",
+       "LISTS_ISEMPTY_TITLE": "%1 à¤–ाली à¤¹à¥ˆ",
+       "LISTS_ISEMPTY_TOOLTIP": "यदि à¤¸à¥‚ची à¤–ाली à¤¹à¥ˆ à¤¤à¥‹ à¤Ÿà¥à¤°à¥‚ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¤¤à¤¾ à¤¹à¥ˆà¥¤",
+       "LISTS_INLIST": "सूची à¤®à¥‡à¤‚",
+       "LISTS_INDEX_OF_FIRST": "आइटम à¤ªà¤¹à¤²à¥€ à¤¬à¤¾à¤° à¤œà¤¹à¤¾à¤ à¤†à¤¯à¤¾ à¤¹à¥ˆ à¤‰à¤¸à¥‡ à¤¢à¥‚ढ़े",
+       "LISTS_INDEX_OF_LAST": "आइटम à¤†à¤–री à¤¬à¤¾à¤° à¤œà¤¹à¤¾à¤ à¤†à¤¯à¤¾ à¤¹à¥ˆ à¤‰à¤¸à¥‡ à¤¢à¥‚ढ़े",
+       "LISTS_INDEX_OF_TOOLTIP": "सूची à¤®à¥‡à¤‚ à¤†à¤‡à¤Ÿà¤® à¤•à¥€ à¤ªà¤¹à¤²à¥€/अंतिम à¤˜à¤Ÿà¤¨à¤¾ à¤•à¤¾ à¤¸à¥‚चक à¤¦à¥‡à¤¤à¤¾ à¤¹à¥ˆà¥¤ à¤¯à¤¦à¤¿ à¤†à¤‡à¤Ÿà¤® à¤¨à¤¹à¥€à¤‚ à¤®à¤¿à¤²à¤¾ à¤¹à¥ˆ à¤¤à¥‹ %1 à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤¹à¥‹à¤¤à¤¾ à¤¹à¥ˆà¥¤",
+       "LISTS_GET_INDEX_GET": "पà¥à¤°à¤¾à¤ªà¥à¤¤",
+       "LISTS_GET_INDEX_GET_REMOVE": "पà¥à¤°à¤¾à¤ªà¥à¤¤ à¤•à¤°à¥‡ à¤”र à¤¹à¤Ÿà¤¾à¤",
+       "LISTS_GET_INDEX_REMOVE": "निकालें",
+       "LISTS_GET_INDEX_FROM_END": "अंत à¤¸à¥‡ #",
+       "LISTS_GET_INDEX_FIRST": "पहला",
+       "LISTS_GET_INDEX_LAST": "आखिरी",
+       "LISTS_GET_INDEX_RANDOM": "रैनà¥à¤¡à¤®",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "%1 à¤ªà¤¹à¤²à¥€ à¤µà¤¸à¥à¤¤à¥ à¤¹à¥ˆà¥¤",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "%1 à¤†à¤–िरी à¤µà¤¸à¥à¤¤à¥ à¤¹à¥ˆà¥¤",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "à¤à¤• à¤¸à¥‚ची à¤®à¥‡à¤‚ à¤¨à¤¿à¤°à¥à¤¦à¤¿à¤·à¥à¤Ÿ à¤¸à¥à¤¥à¤¾à¤¨ à¤ªà¤° à¤µà¤¸à¥à¤¤à¥ à¤•à¥‹ à¤²à¥Œà¤Ÿà¤¾à¤¤à¤¾ à¤¹à¥ˆà¥¤",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "सूची à¤•à¤¾ à¤ªà¤¹à¤²à¤¾ à¤†à¤‡à¤Ÿà¤® à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¤¤à¤¾ à¤¹à¥ˆà¥¤",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "सूची à¤•à¤¾ à¤†à¤–री à¤†à¤‡à¤Ÿà¤® à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¤¤à¤¾ à¤¹à¥ˆà¥¤",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "सूची à¤¸à¥‡ à¤°à¥ˆà¤¨à¥à¤¡à¤® à¤†à¤‡à¤Ÿà¤® à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¤¤à¤¾ à¤¹à¥ˆà¥¤",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "à¤à¤• à¤¸à¥‚ची à¤®à¥‡à¤‚ à¤¨à¤¿à¤°à¥à¤¦à¤¿à¤·à¥à¤Ÿ à¤¸à¥à¤¥à¤¿à¤¤à¤¿ à¤®à¥‡à¤‚ à¤†à¤‡à¤Ÿà¤® à¤¨à¤¿à¤•à¤¾à¤²à¤¤à¤¾ à¤¹à¥ˆ à¤”र à¤²à¥Œà¤Ÿà¤¾à¤¤à¤¾ à¤¹à¥ˆà¥¤",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "सूची à¤•à¤¾ à¤ªà¤¹à¤²à¤¾ à¤†à¤‡à¤Ÿà¤® à¤¨à¤¿à¤•à¤¾à¤²à¤¤à¤¾ à¤¹à¥ˆ à¤”र à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¤¤à¤¾ à¤¹à¥ˆà¥¤",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "सूची à¤•à¤¾ à¤†à¤–री à¤†à¤‡à¤Ÿà¤® à¤¨à¤¿à¤•à¤¾à¤²à¤¤à¤¾ à¤¹à¥ˆ à¤”र à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¤¤à¤¾ à¤¹à¥ˆà¥¤",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "सूची à¤¸à¥‡ à¤°à¥ˆà¤¨à¥à¤¡à¤® à¤†à¤‡à¤Ÿà¤® à¤¨à¤¿à¤•à¤¾à¤²à¤¤à¤¾ à¤¹à¥ˆ à¤”र à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¤¤à¤¾ à¤¹à¥ˆà¥¤",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "à¤à¤• à¤¸à¥‚ची à¤®à¥‡à¤‚ à¤¨à¤¿à¤°à¥à¤¦à¤¿à¤·à¥à¤Ÿ à¤¸à¥à¤¥à¤¾à¤¨ à¤ªà¤° à¤†à¤‡à¤Ÿà¤® à¤¨à¤¿à¤•à¤¾à¤² à¤¦à¥‡à¤¤à¤¾ à¤¹à¥ˆà¥¤",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "सूची à¤•à¤¾ à¤ªà¤¹à¤²à¤¾ à¤†à¤‡à¤Ÿà¤® à¤¨à¤¿à¤•à¤¾à¤²à¤¤à¤¾ à¤¹à¥ˆà¥¤",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "सूची à¤•à¤¾ à¤†à¤–री à¤†à¤‡à¤Ÿà¤® à¤¨à¤¿à¤•à¤¾à¤²à¤¤à¤¾ à¤¹à¥ˆà¥¤",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "सूची à¤¸à¥‡ à¤°à¥ˆà¤¨à¥à¤¡à¤® à¤†à¤‡à¤Ÿà¤® à¤¨à¤¿à¤•à¤¾à¤²à¤¤à¤¾ à¤¹à¥ˆà¥¤",
+       "LISTS_SET_INDEX_SET": "सैट à¤•à¤°à¥‡à¤‚",
+       "LISTS_SET_INDEX_INSERT": "पर à¤¡à¤¾à¤²à¥‡à¤‚",
+       "LISTS_SET_INDEX_INPUT_TO": "बतौर",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "सूची à¤®à¥‡ à¤¬à¤¤à¤¾à¤ à¤—ये à¤¸à¥à¤¥à¤¾à¤¨ à¤®à¥‡à¤‚ à¤†à¤‡à¤Ÿà¤® à¤¸à¥ˆà¤Ÿ à¤•à¤°à¤¤à¤¾ à¤¹à¥ˆà¥¤",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "सूची à¤®à¥‡à¤‚ à¤ªà¤¹à¤²à¤¾ à¤†à¤‡à¤Ÿà¤® à¤¸à¥ˆà¤Ÿ à¤•à¤°à¤¤à¤¾ à¤¹à¥ˆà¥¤",
+       "LISTS_SET_INDEX_TOOLTIP_SET_LAST": "सूची à¤®à¥‡à¤‚ à¤†à¤–री à¤†à¤‡à¤Ÿà¤® à¤¸à¥ˆà¤Ÿ à¤•à¤°à¤¤à¤¾ à¤¹à¥ˆà¥¤",
+       "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "सूची à¤®à¥‡à¤‚ à¤°à¥ˆà¤¨à¥à¤¡à¤® à¤†à¤‡à¤Ÿà¤® à¤¸à¥ˆà¤Ÿ à¤•à¤°à¤¤à¤¾ à¤¹à¥ˆà¥¤",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "सूची à¤®à¥‡ à¤¬à¤¤à¤¾à¤ à¤—ये à¤¸à¥à¤¥à¤¾à¤¨ à¤®à¥‡à¤‚ à¤†à¤‡à¤Ÿà¤® à¤‡à¤¨à¤¸à¤°à¥à¤Ÿ à¤•à¤°à¤¤à¤¾ à¤¹à¥ˆà¥¤",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "आइटम à¤•à¥‹ à¤¸à¥‚ची à¤•à¥‡ à¤¶à¥à¤°à¥‚ à¤®à¥‡à¤‚ à¤‡à¤¨à¤¸à¤°à¥à¤Ÿ à¤•à¤°à¤¤à¤¾ à¤¹à¥ˆà¥¤",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "आइटम à¤•à¥‹ à¤¸à¥‚ची à¤•à¥‡ à¤…ंत à¤®à¥‡à¤‚ à¤œà¥‹à¤¡à¤¼à¤¤à¤¾ à¤¹à¥ˆà¥¤",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "आइटम à¤•à¥‹ à¤¸à¥‚ची à¤®à¥‡à¤‚ à¤°à¥ˆà¤¨à¥à¤¡à¤®à¥à¤²à¥€ à¤‡à¤¨à¤¸à¤°à¥à¤Ÿ à¤•à¤°à¤¤à¤¾ à¤¹à¥ˆà¥¤",
+       "LISTS_GET_SUBLIST_START_FROM_START": "# à¤¸à¥‡ à¤‰à¤ª-सूची à¤ªà¥à¤°à¤¾à¤ªà¥à¤¤ à¤•à¤°à¥‡à¤‚",
+       "LISTS_GET_SUBLIST_START_FROM_END": "अंत à¤¸à¥‡ # à¤¸à¥‡ à¤‰à¤ª-सूची à¤ªà¥à¤°à¤¾à¤ªà¥à¤¤ à¤•à¤°à¥‡à¤‚",
+       "LISTS_GET_SUBLIST_START_FIRST": "पà¥à¤°à¤¥à¤® à¤¸à¥‡ à¤‰à¤ª-सूची à¤ªà¥à¤°à¤¾à¤ªà¥à¤¤ à¤•à¤°à¥‡à¤‚",
+       "LISTS_GET_SUBLIST_END_FROM_START": "# à¤•à¥‹",
+       "LISTS_GET_SUBLIST_END_FROM_END": "अंतिम à¤¸à¥‡ # à¤•à¥‹",
+       "LISTS_GET_SUBLIST_END_LAST": "अंत à¤¸à¥‡",
+       "LISTS_GET_SUBLIST_TOOLTIP": "सूची à¤•à¥‡ à¤¬à¤¤à¤¾à¤ à¤—ये à¤­à¤¾à¤— à¤•à¥€ à¤•à¥‰à¤ªà¥€ à¤¬à¤¨à¤¤à¤¾ à¤¹à¥ˆà¥¤",
+       "LISTS_SORT_HELPURL": "https://github.com/google/blockly/wiki/Text#reversing-text",
+       "LISTS_SORT_TITLE": "%1 %2 %3 à¤•à¥‹ à¤›à¤¾à¤‚टे",
+       "LISTS_SORT_TOOLTIP": "à¤à¤• à¤¸à¥‚ची à¤•à¥€ à¤à¤• à¤ªà¥à¤°à¤¤à¤¿ à¤•à¥‹ à¤›à¤¾à¤‚टे।",
+       "LISTS_SORT_ORDER_ASCENDING": "बढ़ते à¤•à¥à¤°à¤®",
+       "LISTS_SORT_ORDER_DESCENDING": "बढ़ते à¤•à¥à¤°à¤® à¤®à¥‡à¤‚",
+       "LISTS_SORT_TYPE_NUMERIC": "अंकीय",
+       "LISTS_SORT_TYPE_TEXT": "वरà¥à¤£à¤•à¥à¤°à¤®à¤¾à¤¨à¥à¤¸à¤¾à¤°",
+       "LISTS_SORT_TYPE_IGNORECASE": "वरà¥à¤£à¤•à¥à¤°à¤®à¤¾à¤¨à¥à¤¸à¤¾à¤°, à¤®à¤¾à¤®à¤²à¥‡ à¤•à¥€ à¤…नदेखी à¤•à¤°à¥‡à¤‚",
+       "LISTS_SPLIT_LIST_FROM_TEXT": "पाठ à¤¸à¥‡ à¤à¤• à¤¸à¥‚ची à¤¬à¤¨à¤¾à¤à¤‚",
+       "LISTS_SPLIT_TEXT_FROM_LIST": "सूची à¤¸à¥‡ à¤à¤• à¤ªà¤¾à¤  à¤¬à¤¨à¤¾à¤à¤‚",
+       "LISTS_SPLIT_WITH_DELIMITER": "सीमांकक à¤•à¥‡ à¤¸à¤¾à¤¥",
+       "LISTS_SPLIT_TOOLTIP_SPLIT": "गà¥à¤°à¤‚थों à¤•à¥€ à¤¸à¥‚ची à¤®à¥‡à¤‚ à¤ªà¤¾à¤  à¤•à¥‹ à¤µà¤¿à¤­à¤¾à¤œà¤¿à¤¤ à¤•à¤°à¥‡à¤‚, à¤ªà¥à¤°à¤¤à¥à¤¯à¥‡à¤• à¤¸à¥€à¤®à¤¾à¤‚कक à¤ªà¤° à¤¤à¥‹à¤¡à¤¼à¤•à¤°à¥¤",
+       "LISTS_SPLIT_TOOLTIP_JOIN": "गà¥à¤°à¤‚थों à¤•à¥€ à¤à¤• à¤¸à¥‚ची à¤®à¥‡à¤‚ à¤¶à¤¾à¤®à¤¿à¤² à¤•à¤°à¥‡à¤‚, à¤œà¥‹ à¤à¤• à¤¸à¥€à¤®à¤¾à¤‚कक à¤¸à¥‡ à¤…लग à¤¹à¥‹à¥¤",
+       "LISTS_REVERSE_MESSAGE0": "%1 à¤•à¥‹ à¤¬à¤¦à¤² à¤¦à¥‡à¤‚",
+       "LISTS_REVERSE_TOOLTIP": "à¤à¤• à¤¸à¥‚ची à¤•à¥€ à¤à¤• à¤ªà¥à¤°à¤¤à¤¿ à¤•à¥‹ à¤›à¤¾à¤‚टे।",
+       "VARIABLES_GET_TOOLTIP": "इस à¤šà¤° à¤•à¤¾ à¤®à¤¾à¤¨ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¤¤à¤¾ à¤¹à¥ˆà¥¤",
+       "VARIABLES_GET_CREATE_SET": "सेट '%1' à¤¬à¤¨à¤¾à¤à¤",
+       "VARIABLES_SET": "सेट à¤•à¤°à¥‡à¤‚ %1 à¤•à¥‹ %2",
+       "VARIABLES_SET_TOOLTIP": "इस à¤šà¤° à¤•à¥‹ à¤‡à¤¨à¤ªà¥à¤Ÿ à¤•à¥‡ à¤¬à¤°à¤¾à¤¬à¤° à¤¸à¥‡à¤Ÿ à¤•à¤°à¤¤à¤¾ à¤¹à¥ˆà¥¤",
+       "VARIABLES_SET_CREATE_GET": "'पà¥à¤°à¤¾à¤ªà¥à¤¤ à¤•à¤°à¥‡à¤‚ %1' à¤¬à¤¨à¤¾à¤à¤‚",
+       "PROCEDURES_DEFNORETURN_TITLE": "को",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "कà¥à¤› à¤•à¤°à¥‡à¤‚",
+       "PROCEDURES_BEFORE_PARAMS": ": à¤•à¥‡ à¤¸à¤¾à¤¥",
+       "PROCEDURES_CALL_BEFORE_PARAMS": ": à¤•à¥‡ à¤¸à¤¾à¤¥",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "बिना à¤†à¤‰à¤Ÿà¤ªà¥à¤Ÿ à¤µà¤¾à¤²à¤¾ à¤à¤• à¤«à¤¼à¤‚कà¥à¤¶à¤¨ à¤¬à¤¨à¤¾à¤¤à¤¾ à¤¹à¥ˆà¥¤",
+       "PROCEDURES_DEFNORETURN_COMMENT": "इस à¤«à¤‚कशन à¤•à¥‹ à¤¸à¤®à¤à¤¾à¤à¤...",
+       "PROCEDURES_DEFRETURN_RETURN": "वापस à¤†à¤à¤‚",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "आउटपà¥à¤Ÿ à¤µà¤¾à¤²à¤¾ à¤à¤• à¤«à¤¼à¤‚कà¥à¤¶à¤¨ à¤¬à¤¨à¤¾à¤¤à¤¾ à¤¹à¥ˆà¥¤",
+       "PROCEDURES_ALLOW_STATEMENTS": "बयानों à¤•à¥€ à¤…नà¥à¤®à¤¤à¤¿ à¤¦à¥‡à¤‚",
+       "PROCEDURES_DEF_DUPLICATE_WARNING": "सावधान: à¤‡à¤¸ à¤«à¤¼à¤‚कà¥à¤¶à¤¨ à¤®à¥‡ à¤¡à¥à¤ªà¥à¤²à¤¿à¤•à¥‡à¤Ÿ à¤ªà¥ˆà¤°à¤¾à¤®à¥€à¤Ÿà¤° à¤¹à¥ˆà¤‚।",
+       "PROCEDURES_CALLNORETURN_HELPURL": "https://en.wikipedia.org/wiki/Subroutine",
+       "PROCEDURES_CALLNORETURN_TOOLTIP": "यूज़र à¤¦à¥à¤µà¤¾à¤°à¤¾ à¤µà¤°à¥à¤£à¤¨ à¤•à¤¿à¤¯à¤¾ à¤—या à¤«à¤¼à¤‚कà¥à¤¶à¤¨ '%1' à¤šà¤²à¤¾à¤à¤à¥¤",
+       "PROCEDURES_CALLRETURN_HELPURL": "https://en.wikipedia.org/wiki/Subroutine",
+       "PROCEDURES_CALLRETURN_TOOLTIP": "यूज़र à¤¦à¥à¤µà¤¾à¤°à¤¾ à¤µà¤°à¥à¤£à¤¨ à¤•à¤¿à¤¯à¤¾ à¤—या à¤«à¤¼à¤‚कà¥à¤¶à¤¨ '%1' à¤šà¤²à¤¾à¤à¤ à¤”र à¤‰à¤¸à¤•à¤¾ à¤†à¤‰à¤Ÿà¤ªà¥à¤Ÿ à¤‡à¤¸à¥à¤¤à¥‡à¤®à¤¾à¤² à¤•à¤°à¥‡à¤‚।",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "इनपà¥à¤Ÿ",
+       "PROCEDURES_MUTATORCONTAINER_TOOLTIP": "इस à¤«à¤¼à¤‚कà¥à¤¶à¤¨ à¤®à¥‡à¤‚ à¤‡à¤¨à¤ªà¥à¤Ÿ à¤œà¥‹à¤¡à¤¼à¥‡à¤‚, à¤¨à¤¿à¤•à¤¾à¤²à¥‡à¤‚, à¤¯à¤¾ à¤ªà¥à¤¨: à¤•à¥à¤°à¤®à¤¿à¤¤ à¤•à¤°à¥‡à¤‚।",
+       "PROCEDURES_MUTATORARG_TITLE": "इनपà¥à¤Ÿ à¤•à¤¾ à¤¨à¤¾à¤®:",
+       "PROCEDURES_MUTATORARG_TOOLTIP": "फंगकà¥à¤¶à¤¨ à¤•à¥‹ à¤‡à¤¨à¤ªà¥à¤Ÿ à¤ªà¥à¤°à¤¦à¤¾à¤¨ à¤•à¤°à¥‡à¤‚।",
+       "PROCEDURES_HIGHLIGHT_DEF": "फ़ंकà¥à¤¶à¤¨ à¤ªà¤°à¤¿à¤­à¤¾à¤·à¤¾ à¤•à¥‹ à¤¹à¤¾à¤‡à¤²à¤¾à¤‡à¤Ÿ à¤•à¤°à¥‡à¤‚",
+       "PROCEDURES_CREATE_DO": "'%1' à¤¬à¤¨à¤¾à¤à¤",
+       "PROCEDURES_IFRETURN_TOOLTIP": "यदि à¤à¤• à¤®à¤¾à¤¨ à¤Ÿà¥à¤°à¥‚ à¤¹à¥ˆ à¤¤à¥‹, à¤¦à¥‚सरा à¤®à¤¾à¤¨ à¤°à¤¿à¤Ÿà¤°à¥à¤¨ à¤•à¤°à¥‡à¤‚।",
+       "PROCEDURES_IFRETURN_WARNING": "सावधान: à¤¯à¥‡ à¤¬à¥à¤²à¥‰à¤• à¤«à¤¼à¤‚कà¥à¤¶à¤¨ à¤ªà¤°à¤¿à¤­à¤¾à¤·à¤¾ à¤•à¥‡ à¤…ंदर à¤¹à¥€ à¤‡à¤¸à¥à¤¤à¥‡à¤®à¤¾à¤² à¤•à¤¿à¤¯à¤¾ à¤œà¤¾ à¤¸à¤•à¤¤à¤¾à¥¤"
+}
diff --git a/js/msg/json/hrx.json b/js/msg/json/hrx.json
new file mode 100644 (file)
index 0000000..6380c0e
--- /dev/null
@@ -0,0 +1,287 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Paul Beppler"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "Element",
+       "DUPLICATE_BLOCK": "Kopieren",
+       "ADD_COMMENT": "Kommentar hinzufüche",
+       "REMOVE_COMMENT": "Kommentar entferne",
+       "EXTERNAL_INPUTS": "External Inputsexterne Ingänge",
+       "INLINE_INPUTS": "interne Ingänge",
+       "DELETE_BLOCK": "Block lösche",
+       "DELETE_X_BLOCKS": "Block %1 lösche",
+       "DELETE_ALL_BLOCKS": "All %1 Bausten lösche?",
+       "COLLAPSE_BLOCK": "Block zusammerfalte",
+       "COLLAPSE_ALL": "Blocke zusammerfalte",
+       "EXPAND_BLOCK": "Block entfalte",
+       "EXPAND_ALL": "Blocke expandiere",
+       "DISABLE_BLOCK": "Block deaktivieren",
+       "ENABLE_BLOCK": "Block aktivieren",
+       "HELP": "Hellef",
+       "CHANGE_VALUE_TITLE": "Neie Variable...",
+       "RENAME_VARIABLE": "Die neie Variable sei Noome:",
+       "RENAME_VARIABLE_TITLE": "All \"%1\" Variable umbenenne in:",
+       "NEW_VARIABLE": "Neie Variable...",
+       "NEW_VARIABLE_TITLE": "Die neie Variable sei Noome:",
+       "COLOUR_PICKER_HELPURL": "https://hrx.wikipedia.org/wiki/Farreb",
+       "COLOUR_PICKER_TOOLTIP": "Wähl en Farreb von der Palett.",
+       "COLOUR_RANDOM_TITLE": "zufälliche Farwe",
+       "COLOUR_RANDOM_TOOLTIP": "Wähl en Farreb noh dem Zufallsprinzip.",
+       "COLOUR_RGB_TITLE": "Färreb mit",
+       "COLOUR_RGB_RED": "rot",
+       "COLOUR_RGB_GREEN": "grün",
+       "COLOUR_RGB_BLUE": "blau",
+       "COLOUR_RGB_TOOLTIP": "Kreiere ene Farreb mit sellrbst definierte rot, grün und blau Wearte. All Wearte müsse zwischich 0 und 100 liehe.",
+       "COLOUR_BLEND_TITLE": "misch",
+       "COLOUR_BLEND_COLOUR1": "Farreb 1",
+       "COLOUR_BLEND_COLOUR2": "mit Farreb 2",
+       "COLOUR_BLEND_RATIO": "im Verhältniss",
+       "COLOUR_BLEND_TOOLTIP": "Vermischt 2 Farwe mit konfigurierbare Farrebverhältniss (0.0 - 1.0).",
+       "CONTROLS_REPEAT_HELPURL": "https://hrx.wikipedia.org/wiki/For-Schleif",
+       "CONTROLS_REPEAT_TITLE": "wiederhol %1 mol",
+       "CONTROLS_REPEAT_INPUT_DO": "mach",
+       "CONTROLS_REPEAT_TOOLTIP": "En Oonweisung meahrfach ausführe.",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "Repetier solang",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "Repetiere bis",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "Füahr die Oonweisung solang aus wie die Bedingung woahr (true) ist.",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "Füahr die Oonweisung solang aus wie die Bedingung falsch (false) ist.",
+       "CONTROLS_FOR_TOOLTIP": "Zähl die Variable \"%1\" von enem Startweart bis zu enem Zielweart und füahrefür jede Weart en Oonweisung aus.",
+       "CONTROLS_FOR_TITLE": "Zähl %1 von %2 bis %3 mit %4",
+       "CONTROLS_FOREACH_TITLE": "Für Weart %1 aus der List %2",
+       "CONTROLS_FOREACH_TOOLTIP": "Füahr en Oonweisung für jede Weart in der List aus und setzt dabei die Variable \"%1\" uff den aktuelle List Weart.",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "ausbreche aus der Schleif",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "mit der nächste Iteration fortfoohre aus der Schleifa",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "Die umgebne Schleif beenne.",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "Die Oonweisung abbreche und mit der nächste Schleifiteration fortfoohre.",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "Warnung: Die block sollt nuar in en Schleif verwennet sin.",
+       "CONTROLS_IF_TOOLTIP_1": "Wenn en Bedingung woahr (true) ist, dann füahr en Oonweisung aus.",
+       "CONTROLS_IF_TOOLTIP_2": "Wenn en Bedingung woahr (true) ist, dann füahr die earscht Oonweisung aus.  Ansonscht füahr die zwooite Oonweisung aus.",
+       "CONTROLS_IF_TOOLTIP_3": "Wenn der erschte Bedingung woahr (true) ist, dann füahr die erschte Oonweisung aus.  Orrer wenn die zwooite Bedingung woahr (true) ist, dann füahr die zwooite Oonweisung aus.",
+       "CONTROLS_IF_TOOLTIP_4": "Wenn der erscht Bedingung woahr (true) ist, dann füahr die erschte Oonweisung aus.  Orrer wenn die zwooite Bedingung woahr (true) ist, dann füahr die zwooite Oonweisung aus.  Falls ken der beide Bedingungen woahr (true) ist, dann füahr die dritte Oonweisung aus.",
+       "CONTROLS_IF_MSG_IF": "wenn",
+       "CONTROLS_IF_MSG_ELSEIF": "orrer wenn",
+       "CONTROLS_IF_MSG_ELSE": "orrer",
+       "CONTROLS_IF_IF_TOOLTIP": "Hinzufüche, entferne orrer sortiere von Sektione",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "En weitre Bedingung hinzufüche.",
+       "CONTROLS_IF_ELSE_TOOLTIP": "En orrer Bedingung hinzufüche, füahrt en Oonweisung aus falls ken Bedingung zutrifft.",
+       "LOGIC_COMPARE_HELPURL": "https://hrx.wikipedia.org/wiki/Vergleich_%28Zahlen%29",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "Ist woahr (true) wenn beide Wearte identisch sind.",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "Ist woahr (true) wenn beide Wearte unnerschiedlich sind.",
+       "LOGIC_COMPARE_TOOLTIP_LT": "Ist woahr (true) wenn der earschte Weart klener als der zwooite Weart ist.",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "Ist woahr (true) wenn der earscht Weart klener als orrer gleich gross wie zwooite Weart ist.",
+       "LOGIC_COMPARE_TOOLTIP_GT": "Ist woahr (true) wenn der erschte Weart grösser als der zwooite Weart ist.",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "Ist woahr (true) wenn der erschte Weart grösser als orrer gleich gross wie zwooite Weart ist.",
+       "LOGIC_OPERATION_TOOLTIP_AND": "Ist woahr (true) wenn beide Wearte woahr (true) sind.",
+       "LOGIC_OPERATION_AND": "und",
+       "LOGIC_OPERATION_TOOLTIP_OR": "Ist woahr (true) wenn en von der beide Wearte woahr (true) ist.",
+       "LOGIC_OPERATION_OR": "orrer",
+       "LOGIC_NEGATE_TITLE": "net %1",
+       "LOGIC_NEGATE_TOOLTIP": "Ist woahr (true) wenn der Ingäweweart falsch (false) ist.  Ist falsch (false) wenn der Ingäweweart woahr (true) ist.",
+       "LOGIC_BOOLEAN_TRUE": "woahr",
+       "LOGIC_BOOLEAN_FALSE": "falsch",
+       "LOGIC_BOOLEAN_TOOLTIP": "Ist entweder woahr (true) orrer falsch (false)",
+       "LOGIC_NULL": "null",
+       "LOGIC_NULL_TOOLTIP": "Is NULL.",
+       "LOGIC_TERNARY_CONDITION": "test",
+       "LOGIC_TERNARY_IF_TRUE": "wenn woahr",
+       "LOGIC_TERNARY_IF_FALSE": "wenn falsch",
+       "LOGIC_TERNARY_TOOLTIP": "Üwerprüft en Bedingung \"test\". Wenn die Bedingung woahr ist weerd der \"wenn woahr\" Weart zurückgeb, annerfalls der \"wenn falsch\" Weart",
+       "MATH_NUMBER_HELPURL": "https://hrx.wikipedia.org/wiki/Zoohl",
+       "MATH_NUMBER_TOOLTIP": "En Zoohl.",
+       "MATH_ARITHMETIC_HELPURL": "https://hrx.wikipedia.org/wiki/Grundrechenoort",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "Ist die Summe zwooier Wearte.",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "Ist die Differenz zwooier Wearte.",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "Ist das Produkt zwooier Wearte.",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "Ist der Quotient zwooier Wearte.",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "Ist der earschte Weart potenziert mit dem zoiten Weart.",
+       "MATH_SINGLE_HELPURL": "https://hrx.wikipedia.org/wiki/Quadratwoorzel",
+       "MATH_SINGLE_OP_ROOT": "Quadratwoorzel",
+       "MATH_SINGLE_TOOLTIP_ROOT": "Ist die Qudratwoorzel von en Weart.",
+       "MATH_SINGLE_OP_ABSOLUTE": "Absolutweart",
+       "MATH_SINGLE_TOOLTIP_ABS": "Ist der Absolutweart von en Weart.",
+       "MATH_SINGLE_TOOLTIP_NEG": "Negiert en Weart.",
+       "MATH_SINGLE_TOOLTIP_LN": "Ist der natüarliche Logarithmus von en Weart.",
+       "MATH_SINGLE_TOOLTIP_LOG10": "Ist der dekoodische Logarithmus von en Weart.",
+       "MATH_SINGLE_TOOLTIP_EXP": "Ist Weart von der Exponentialfunktion von en Weart.",
+       "MATH_SINGLE_TOOLTIP_POW10": "Rechnet 10 hoch Ingäbweart.",
+       "MATH_TRIG_HELPURL": "https://hrx.wikipedia.org/wiki/Trigonometrie",
+       "MATH_TRIG_TOOLTIP_SIN": "Ist der Sinus von en Winkel.",
+       "MATH_TRIG_TOOLTIP_COS": "Ist der Cosinus von en Winkel.",
+       "MATH_TRIG_TOOLTIP_TAN": "Ist der Tangens von en Winkel.",
+       "MATH_TRIG_TOOLTIP_ASIN": "Ist der Arcussinus von en Ingäbweart.",
+       "MATH_TRIG_TOOLTIP_ACOS": "Ist der Arcuscosinus von en Ingabweart.",
+       "MATH_TRIG_TOOLTIP_ATAN": "Ist der Arcustangens von en Ingäbweart.",
+       "MATH_CONSTANT_HELPURL": "https://hrx.wikipedia.org/wiki/Mathematische_Konstante",
+       "MATH_CONSTANT_TOOLTIP": "Mathematische Konstante wie: Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…) oder âˆž (unendlich).",
+       "MATH_IS_EVEN": "ist grood",
+       "MATH_IS_ODD": "ist ungrood",
+       "MATH_IS_PRIME": "ist en Primenzoohl",
+       "MATH_IS_WHOLE": "ganze Zoohl",
+       "MATH_IS_POSITIVE": "ist positiv",
+       "MATH_IS_NEGATIVE": "ist negativ",
+       "MATH_IS_DIVISIBLE_BY": "ist telbar/kann getelt sin doorrich",
+       "MATH_IS_TOOLTIP": "Üwerprüft ob en Zoohl grood, ungrood, en Primenzoohl, ganzzoohlich, positiv, negativ orrer doorrich en zwooite Zoohl telbar ist.  Gebt woahr (true) orrer falsch (false) zurück.",
+       "MATH_CHANGE_HELPURL": "https://hrx.wikipedia.org/wiki/Inkrement_und_Dekrement",
+       "MATH_CHANGE_TITLE": "mach höcher / erhöhe %1 um %2",
+       "MATH_CHANGE_TOOLTIP": "Addiert en Weart zur Variable \"%1\" hinzu.",
+       "MATH_ROUND_HELPURL": "https://hrx.wikipedia.org/wiki/Runden",
+       "MATH_ROUND_TOOLTIP": "En Zoohl uff orrer ab runde.",
+       "MATH_ROUND_OPERATOR_ROUND": "runde",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "uff runde",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "ab runde",
+       "MATH_ONLIST_OPERATOR_SUM": "Summe von en List",
+       "MATH_ONLIST_TOOLTIP_SUM": "Ist die Summ aller Wearte in en List.",
+       "MATH_ONLIST_OPERATOR_MIN": "Minimalweart von en List",
+       "MATH_ONLIST_TOOLTIP_MIN": "Ist der klenste Weart in en List.",
+       "MATH_ONLIST_OPERATOR_MAX": "Maximalweart en List",
+       "MATH_ONLIST_TOOLTIP_MAX": "Ist der grösste Weart in en List.",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "Mittelweart en List",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "Ist der Doorrichschnittsweart von aller Wearte in en List.",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "Median von en List",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "Ist der Zentralweart von aller Wearte in en List.",
+       "MATH_ONLIST_OPERATOR_MODE": "Restweart von en List",
+       "MATH_ONLIST_TOOLTIP_MODE": "Findt den am häifichste voarkommend Weart in en List.  Falls ken Weart öftersch voarkomme als all annre, weard die originale List zurückgeche",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "Standart/Padrong Abweichung von en List",
+       "MATH_ONLIST_TOOLTIP_STD_DEV": "Ist die standartiesierte/padronisierte Standartabweichung/Padrongabweichung von aller Wearte in der List",
+       "MATH_ONLIST_OPERATOR_RANDOM": "Zufallsweart von en List",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "Geb en Zufallsweart aus der List zurück.",
+       "MATH_MODULO_HELPURL": "https://hrx.wikipedia.org/wiki/Modulo",
+       "MATH_MODULO_TITLE": "Rest von %1 ÷ %2",
+       "MATH_MODULO_TOOLTIP": "Der Rest noh en Division.",
+       "MATH_CONSTRAIN_TITLE": "begrenze %1 von %2 bis %3",
+       "MATH_CONSTRAIN_TOOLTIP": "Begrenzt den Weartebereich mittels von / bis Wearte. (inklusiv)",
+       "MATH_RANDOM_INT_HELPURL": "https://hrx.wikipedia.org/wiki/Zufallszahlen",
+       "MATH_RANDOM_INT_TITLE": "ganzoohlicher Zufallswearte zwischich %1 bis %2",
+       "MATH_RANDOM_INT_TOOLTIP": "Generier/erzeich en ganzähliche Zufallsweart zwischich zwooi Wearte (inklusiv).",
+       "MATH_RANDOM_FLOAT_HELPURL": "https://hex.wikipedia.org/wiki/Zufallszoohle",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "Zufallszoohl (0.0 -1.0)",
+       "MATH_RANDOM_FLOAT_TOOLTIP": "Generier/erzeich en Zufallszoohl zwischich 0.0 (inklusiv) und 1.0 (exklusiv).",
+       "TEXT_TEXT_HELPURL": "https://en.wikipedia.org/wiki/String_(computer_science)https://hrx.wikipedia.org/wiki/Zeichenkette",
+       "TEXT_TEXT_TOOLTIP": "En Buchstoob, Text orrer Satz.",
+       "TEXT_JOIN_TITLE_CREATEWITH": "Erstell Text aus",
+       "TEXT_JOIN_TOOLTIP": "Erstellt en Text doorrich das verbinne von mehre Textelemente.",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "verbinne",
+       "TEXT_CREATE_JOIN_TOOLTIP": "Hinzufüche, entfernne und sortiere von Elemente.",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "En Element zum Text hinzufüche.",
+       "TEXT_APPEND_TITLE": "An %1 Text oonhänge %2",
+       "TEXT_APPEND_TOOLTIP": "Text an die Variable \"%1\" oonhänge.",
+       "TEXT_LENGTH_TITLE": "läng %1",
+       "TEXT_LENGTH_TOOLTIP": "Die Oonzoohl von Zeiche in enem Text. (inkl. Leerzeiche)",
+       "TEXT_ISEMPTY_TITLE": "%1 ist leer?",
+       "TEXT_ISEMPTY_TOOLTIP": "Ist woahr (true), wenn der Text leer ist.",
+       "TEXT_INDEXOF_TOOLTIP": "Findt das earste / letzte Voarkommniss von en Suchbegriffes in enem Text.  Gebt die Position von dem Begriff orrer %1 zurück.",
+       "TEXT_INDEXOF_TITLE": "im Text %1 %2 %3",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "Such der Begriff sein earstes Voarkommniss",
+       "TEXT_INDEXOF_OPERATOR_LAST": "Suche der Begriff sein letztes Vorkommniss.",
+       "TEXT_CHARAT_FROM_START": "hol Buchstoob #",
+       "TEXT_CHARAT_FROM_END": "hol Buchstoob # von End",
+       "TEXT_CHARAT_FIRST": "hol earschte Buchstoob",
+       "TEXT_CHARAT_LAST": "hol letztes Wort",
+       "TEXT_CHARAT_RANDOM": "hol zufälliches Buchstoob",
+       "TEXT_CHARAT_TOOLTIP": "Extrahiear en Buchstoob von en spezifizierte Position.",
+       "TEXT_GET_SUBSTRING_TOOLTIP": "Schickt en bestimmstes Tel von dem Text retuar.",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "in Text",
+       "TEXT_GET_SUBSTRING_START_FROM_START": "hol substring Buchstoob #te",
+       "TEXT_GET_SUBSTRING_START_FROM_END": "hol #te Buchstoob von hinne",
+       "TEXT_GET_SUBSTRING_START_FIRST": "earschte Buchstoob",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "bis Buchstoob #te",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "bis #te Buchstoob von hinne",
+       "TEXT_GET_SUBSTRING_END_LAST": "bis letzte Buchstoob",
+       "TEXT_CHANGECASE_TOOLTIP": "Wandelt Schreibweise von Texte um, in Grossbuchstoobe, Klenbuchstoobe orrer den earste Buchstoob von jedes Wort gross und die annre klen.",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "umwandle in GROSSBUCHSTOOBE",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "umwandle in klenbuchstoobe",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": "umwandle in Wörter",
+       "TEXT_TRIM_TOOLTIP": "Entfernt Leerzeiche vom Oonfang und / orrer End von en Text.",
+       "TEXT_TRIM_OPERATOR_BOTH": "entfern Leerzeiche von Oonfang und End Seite",
+       "TEXT_TRIM_OPERATOR_LEFT": "entferne Leerzeiche von Oonfang Seite",
+       "TEXT_TRIM_OPERATOR_RIGHT": "entferne Leerzeiche von End Seite von",
+       "TEXT_PRINT_TITLE": "Ausgäb %1",
+       "TEXT_PRINT_TOOLTIP": "Geb den Inhalt von en Variable aus.",
+       "TEXT_PROMPT_TYPE_TEXT": "Frocht noh Text mit Hinweis",
+       "TEXT_PROMPT_TYPE_NUMBER": "Frächt noh Zoohl mit Hinweis",
+       "TEXT_PROMPT_TOOLTIP_NUMBER": "Frocht den Benutzer noh en Zoohl.",
+       "TEXT_PROMPT_TOOLTIP_TEXT": "Frocht den Benutzer noh enem Text.",
+       "LISTS_CREATE_EMPTY_TITLE": "Generier/erzeich en leear List",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "Generier/erzeich en leear List ohne Inhalt.",
+       "LISTS_CREATE_WITH_TOOLTIP": "Generier/erzeich en List mit konfigurierte Elemente.",
+       "LISTS_CREATE_WITH_INPUT_WITH": "Erzeich List mit",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "List",
+       "LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "Hinzufüche, entferne und sortiere von Elemente.",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "En Element zur List hinzufüche.",
+       "LISTS_REPEAT_TOOLTIP": "Erzeicht en List mit en variable Oonzoohl von Elemente",
+       "LISTS_REPEAT_TITLE": "Erzich List mit Element %1 wiederhol das %2 mol",
+       "LISTS_LENGTH_TITLE": "länge %1",
+       "LISTS_LENGTH_TOOLTIP": "Die Oonzoohl von Elemente in der List.",
+       "LISTS_ISEMPTY_TITLE": "%1 ist leear?",
+       "LISTS_ISEMPTY_TOOLTIP": "Ist woahr (true), wenn die List leear ist.",
+       "LISTS_INLIST": "in der List",
+       "LISTS_INDEX_OF_FIRST": "Such earstes Voarkommniss",
+       "LISTS_INDEX_OF_LAST": "Such letztes Voarkommniss",
+       "LISTS_INDEX_OF_TOOLTIP": "Sucht die Position (index) von en Element in der List Gebt %1 zurück wenn nixs gefunn woard.",
+       "LISTS_GET_INDEX_GET": "Nehm",
+       "LISTS_GET_INDEX_GET_REMOVE": "Nehm und entfern",
+       "LISTS_GET_INDEX_REMOVE": "Entfern",
+       "LISTS_GET_INDEX_FROM_END": "#te von hinne",
+       "LISTS_GET_INDEX_FIRST": "earste",
+       "LISTS_GET_INDEX_LAST": "letzte",
+       "LISTS_GET_INDEX_RANDOM": "zufälliches",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "%1 ist das earschte Element.",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "%1 ist das letzte Element.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "Extrahiert das Element zu en definierte Stell von der List.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "Extrahiert das earste Element von der List.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "Extrahiert das letzte Element von der List.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "Extrahiert en zufälliches Element von der List.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "Extrahiert und entfernt das Element zu en definierte Stell von der List.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "Extrahiert und entfernt das earste Element von der List.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "Extrahiert und entfernt das letzte Element von der List.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "Extrahiert und entfernt en zufälliches Element von der List.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "Entfernt das Element zu en definierte Stell von der List.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "Entfernt das earste Element von der List.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "Entfernt das letzte Element von der List.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "Entfernt en zufälliches Element von der List.",
+       "LISTS_SET_INDEX_SET": "setz",
+       "LISTS_SET_INDEX_INSERT": "tue ren setz an",
+       "LISTS_SET_INDEX_INPUT_TO": "uff",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "Setzt das Element zu en definierte Stell in en List.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "Sets the first item in a list.Setzt das earschte Element an en list.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_LAST": "Setzt das letzte Element an en List.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "Setzt en zufälliches Element an en List.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "Tut das Element ren setze an en definierte Stell an en List.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "Tut das Element an en Oonfang von en List ren setze.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "Oonhängt das Element zu en List sei End.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "Tut das Element zufällich an en List ren setze.",
+       "LISTS_GET_SUBLIST_START_FROM_START": "hol Unnerlist von #",
+       "LISTS_GET_SUBLIST_START_FROM_END": "hol Unnerliste von # vom End",
+       "LISTS_GET_SUBLIST_START_FIRST": "hol Unnerliste vom Earste",
+       "LISTS_GET_SUBLIST_END_FROM_START": "zu #",
+       "LISTS_GET_SUBLIST_END_FROM_END": "zu # vom End",
+       "LISTS_GET_SUBLIST_END_LAST": "zum Letzte",
+       "LISTS_GET_SUBLIST_TOOLTIP": "Generiert en Kopie von en definierte Tel von en List.",
+       "VARIABLES_GET_TOOLTIP": "Gebt der Variable sein Weart zurück.",
+       "VARIABLES_GET_CREATE_SET": "Generier/erzeiche \"Schreibe %1\"",
+       "VARIABLES_SET": "Schreib %1 zu %2",
+       "VARIABLES_SET_TOOLTIP": "Setzt en Variable sei Weart.",
+       "VARIABLES_SET_CREATE_GET": "Generier/erzeich \"Lese %1\"",
+       "PROCEDURES_DEFNORETURN_TITLE": "zu",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "Funktionsblock",
+       "PROCEDURES_BEFORE_PARAMS": "mit:",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "mit:",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "En Funktionsblock ohne Rückgäbweart.",
+       "PROCEDURES_DEFRETURN_RETURN": "geb zurück",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "En Funktionsblock mit Rückgäbweart.",
+       "PROCEDURES_DEF_DUPLICATE_WARNING": "Warnung: die Funktionsblock hot doppelt Parameter.",
+       "PROCEDURES_CALLNORETURN_HELPURL": "https://hrx.wikipedia.org/wiki/Prozedur_%28Programmierung%29",
+       "PROCEDURES_CALLNORETURN_TOOLTIP": "Ruf en Funktionsblock ohne Rückgäweart uff.",
+       "PROCEDURES_CALLRETURN_HELPURL": "https://hrx.wikipedia.org/wiki/Prozedur_%28Programmierung%29",
+       "PROCEDURES_CALLRETURN_TOOLTIP": "Ruf en Funktionsblock mit Rückgäbweart uff.",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "Parameter",
+       "PROCEDURES_MUTATORCONTAINER_TOOLTIP": "Variable:",
+       "PROCEDURES_MUTATORARG_TITLE": "Markiear Funktionsblock",
+       "PROCEDURES_MUTATORARG_TOOLTIP": "Generier/erzeich \"Uffruf %1\"",
+       "PROCEDURES_HIGHLIGHT_DEF": "Markiear Funktionsblock",
+       "PROCEDURES_CREATE_DO": "Generier/erzeich \"Uffruf %1\"",
+       "PROCEDURES_IFRETURN_TOOLTIP": "Wenn der earste Weart woahr (true) ist, Geb den zwooite Weart zurück.",
+       "PROCEDURES_IFRETURN_WARNING": "Warnung: Der Block därref nuar innich en Funktionsblock genutzt sin."
+}
diff --git a/js/msg/json/hu.json b/js/msg/json/hu.json
new file mode 100644 (file)
index 0000000..0338772
--- /dev/null
@@ -0,0 +1,355 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Espertus",
+                       "Takács Viktor László",
+                       "Dj",
+                       "Grin",
+                       "ViDam",
+                       "Csega",
+                       "Fitoschido",
+                       "Lajthabalazs",
+                       "Tacsipacsi",
+                       "Rodrigo",
+                       "Máté",
+                       "BanKris",
+                       "Notramo",
+                       "Urbalazs",
+                       "MeskoBalazs"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "változó",
+       "TODAY": "Ma",
+       "DUPLICATE_BLOCK": "Másolat",
+       "ADD_COMMENT": "Megjegyzés hozzáadása",
+       "REMOVE_COMMENT": "Megjegyzés eltávolítása",
+       "EXTERNAL_INPUTS": "KülsÅ‘ kapcsolatok",
+       "INLINE_INPUTS": "BelsÅ‘ kapcsolatok",
+       "DELETE_BLOCK": "Blokk törlése",
+       "DELETE_X_BLOCKS": "%1 blokk törlése",
+       "DELETE_ALL_BLOCKS": "Az összes %1 blokk törlése?",
+       "CLEAN_UP": "Blokkok kiürítése",
+       "COLLAPSE_BLOCK": "Blokk összecsukása",
+       "COLLAPSE_ALL": "Blokkok összecsukása",
+       "EXPAND_BLOCK": "Blokk kinyitása",
+       "EXPAND_ALL": "Blokkok kinyitása",
+       "DISABLE_BLOCK": "Blokk letiltása",
+       "ENABLE_BLOCK": "Blokk engedélyezése",
+       "HELP": "Súgó",
+       "UNDO": "Visszavonás",
+       "REDO": "Újra",
+       "CHANGE_VALUE_TITLE": "Érték módosítása:",
+       "RENAME_VARIABLE": "Változó Ã¡tnevezése…",
+       "RENAME_VARIABLE_TITLE": "Minden â€ž%1†változó Ã¡tnevezése erre:",
+       "NEW_VARIABLE": "Változó létrehozása…",
+       "NEW_VARIABLE_TITLE": "Az új változó neve:",
+       "VARIABLE_ALREADY_EXISTS": "A(z) â€ž%1†nevű változó már létezik.",
+       "VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE": "Egy â€ž%1†nevű változó már létezik egy másik típussal: â€ž%2â€.",
+       "DELETE_VARIABLE_CONFIRMATION": "A(z) â€ž%2†változó %1 használatának törlése?",
+       "CANNOT_DELETE_VARIABLE_PROCEDURE": "A(z) â€ž%1†változó nem törölhetÅ‘, mert része a(z) â€ž%2†függvény definíciójának.",
+       "DELETE_VARIABLE": "A(z) â€ž%1†változó törlése",
+       "COLOUR_PICKER_HELPURL": "https://hu.wikipedia.org/wiki/Szín",
+       "COLOUR_PICKER_TOOLTIP": "Válassz színt a palettáról.",
+       "COLOUR_RANDOM_TITLE": "véletlen szín",
+       "COLOUR_RANDOM_TOOLTIP": "Véletlenszerűen kiválasztott szín.",
+       "COLOUR_RGB_TITLE": "Szín",
+       "COLOUR_RGB_RED": "vörös",
+       "COLOUR_RGB_GREEN": "zöld",
+       "COLOUR_RGB_BLUE": "kék",
+       "COLOUR_RGB_TOOLTIP": "Szín előállítása a megadott vörös, zöld, Ã©s kék Ã©rtékekkel.  Minden Ã©rtéknek 0 Ã©s 100 közé kell esnie.",
+       "COLOUR_BLEND_TITLE": "színkeverés",
+       "COLOUR_BLEND_COLOUR1": "szín 1",
+       "COLOUR_BLEND_COLOUR2": "szín 2",
+       "COLOUR_BLEND_RATIO": "arány",
+       "COLOUR_BLEND_TOOLTIP": "Két színt kever össze a megadott arányban (0.0 - 1.0).",
+       "CONTROLS_REPEAT_HELPURL": "https://hu.wikipedia.org/wiki/Ciklus_(programoz%C3%A1s)#Sz.C3.A1ml.C3.A1l.C3.B3s_.28FOR.29_ciklus",
+       "CONTROLS_REPEAT_TITLE": "ismételd %1 alkalommal",
+       "CONTROLS_REPEAT_INPUT_DO": "",
+       "CONTROLS_REPEAT_TOOLTIP": "Megadott kódrészlet ismételt végrehajtása.",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "ismételd amíg",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "ismételd amíg",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "Amíg a feltétel igaz, végrehajtja az utasításokat.",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "Amíg a feltétel hamis, végrehajtja az utasításokat.",
+       "CONTROLS_FOR_TOOLTIP": "A(z) '%1' változó felveszi a kezdőérték Ã©s a végérték közötti Ã©rtékeket a meghatározott lépésközzel. Eközben a meghatározott blokkokat hajtja végre.",
+       "CONTROLS_FOR_TITLE": "számolj %1 értékével %2 és %3 között %4 lépésközzel",
+       "CONTROLS_FOREACH_TITLE": "minden %1 elemre a %2 listában",
+       "CONTROLS_FOREACH_TOOLTIP": "A '%1' változó minden lépésben megkapja a lista adott elemének értékét, és végrehajt vele néhány utasítást.",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "befejezi az ismétlést",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "folytatja a következÅ‘vel",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "Megszakítja az utasítást tartalmazó ciklust.",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "Kihagyja a ciklus további részét, Ã©s elölrÅ‘l kezdi a következÅ‘ elemmel.",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "Figyelem: Ez a blokk csak cikluson belül használható.",
+       "CONTROLS_IF_TOOLTIP_1": "Ha a kifejezés igaz, akkor végrehajtja az utasításokat.",
+       "CONTROLS_IF_TOOLTIP_2": "Ha a kifejezés igaz, akkor végrehajtja az elsÅ‘ utasításblokkot. Különben a második utasításblokk kerül végrehajtásra.",
+       "CONTROLS_IF_TOOLTIP_3": "Ha az elsÅ‘ kifejezés igaz, akkor végrehajtja az elsÅ‘ utasításblokkot. Különben, ha a második kifejezés igaz, akkor végrehajtja a második utasítás blokkot.",
+       "CONTROLS_IF_TOOLTIP_4": "Ha az elsÅ‘ kifejezés igaz, akkor végrehajtjuk az elsÅ‘ utasítás blokkot.  Ha a második kifejezés igaz, akkor végrehajtjuk a második utasítás blokkot.  Amennyiben egyik kifejezés sem igaz, akkor az utolsó utasítás blokk kerül végrehajtásra.",
+       "CONTROLS_IF_MSG_IF": "ha",
+       "CONTROLS_IF_MSG_ELSEIF": "különben ha",
+       "CONTROLS_IF_MSG_ELSE": "különben",
+       "CONTROLS_IF_IF_TOOLTIP": "A ha blokk testreszabásához bÅ‘vítsd, töröld vagy rendezd Ã¡t a részeit.",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "Feltétel hozzáadása a ha blokkhoz.",
+       "CONTROLS_IF_ELSE_TOOLTIP": "VégsÅ‘ feltétel hozzáadása a ha blokkhoz.",
+       "IOS_OK": "OK",
+       "IOS_CANCEL": "Mégse",
+       "IOS_ERROR": "Hiba",
+       "IOS_PROCEDURES_INPUTS": "BEMENETEK",
+       "IOS_PROCEDURES_ADD_INPUT": "+ Bemenet hozzáadása",
+       "IOS_PROCEDURES_ALLOW_STATEMENTS": "Utasítások engedélyezése",
+       "IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR": "Ennek a függvénynek kettÅ‘zött bemenete van.",
+       "IOS_VARIABLES_ADD_VARIABLE": "+ Változó hozzáadása",
+       "IOS_VARIABLES_ADD_BUTTON": "Hozzáadás",
+       "IOS_VARIABLES_RENAME_BUTTON": "Átnevezés",
+       "IOS_VARIABLES_DELETE_BUTTON": "Törlés",
+       "IOS_VARIABLES_VARIABLE_NAME": "Változó neve",
+       "IOS_VARIABLES_EMPTY_NAME_ERROR": "Nem használhat üres változónevet.",
+       "LOGIC_COMPARE_HELPURL": "https://hu.wikipedia.org/wiki/Egyenl%C5%91tlens%C3%A9g",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "Igaz, ha a kifejezés két oldala egyenlÅ‘.",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "Igaz, ha a kifejezés két oldala nem egyenlÅ‘..",
+       "LOGIC_COMPARE_TOOLTIP_LT": "Igaz, ha a bal oldali kifejezés kisebb, mint a jobb oldali.",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "Igaz, ha a bal oldali kifejezés kisebb vagy egyenlÅ‘, mint a jobb oldali.",
+       "LOGIC_COMPARE_TOOLTIP_GT": "Igaz, ha a bal oldali kifejezés nagyobb, mint a jobb oldali.",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "Igaz, ha a bal oldali kifejezés nagyobb vagy egyenlÅ‘, mint a jobb oldali.",
+       "LOGIC_OPERATION_TOOLTIP_AND": "Igaz, ha mindkét kifejezés igaz.",
+       "LOGIC_OPERATION_AND": "és",
+       "LOGIC_OPERATION_TOOLTIP_OR": "Igaz, ha legalább az egyik kifejezés igaz.",
+       "LOGIC_OPERATION_OR": "vagy",
+       "LOGIC_NEGATE_TITLE": "nem %1",
+       "LOGIC_NEGATE_TOOLTIP": "Igaz, ha a kifejezés hamis.  Hamis, ha a kifejezés igaz.",
+       "LOGIC_BOOLEAN_TRUE": "igaz",
+       "LOGIC_BOOLEAN_FALSE": "hamis",
+       "LOGIC_BOOLEAN_TOOLTIP": "Igaz, vagy hamis érték",
+       "LOGIC_NULL": "null",
+       "LOGIC_NULL_TOOLTIP": "null érték.",
+       "LOGIC_TERNARY_CONDITION": "vizsgáld meg:",
+       "LOGIC_TERNARY_IF_TRUE": "érték, ha igaz:",
+       "LOGIC_TERNARY_IF_FALSE": "érték, ha hamis:",
+       "LOGIC_TERNARY_TOOLTIP": "Kiértékeli a megvizsgálandó kifejezést. Ha a kifejezés igaz, visszatér az \"érték, ha igaz\" értékkel, különben az \"érték, ha hamis\" értékkel.",
+       "MATH_NUMBER_HELPURL": "https://hu.wikipedia.org/wiki/Sz%C3%A1m",
+       "MATH_NUMBER_TOOLTIP": "Egy szám.",
+       "MATH_ARITHMETIC_HELPURL": "https://hu.wikipedia.org/wiki/Matematikai_m%C5%B1velet",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "Két szám összege.",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "Két szám különbsége.",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "Két szám szorzata.",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "Két szám hányadosa.",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "Az elsÅ‘ számnak a második számmal megegyezÅ‘ hatványa.",
+       "MATH_SINGLE_HELPURL": "https://hu.wikipedia.org/wiki/Gy%C3%B6kvon%C3%A1s",
+       "MATH_SINGLE_OP_ROOT": "négyzetgyök",
+       "MATH_SINGLE_TOOLTIP_ROOT": "A szám négyzetgyöke.",
+       "MATH_SINGLE_OP_ABSOLUTE": "abszolútérték",
+       "MATH_SINGLE_TOOLTIP_ABS": "A szám abszolútértéke.",
+       "MATH_SINGLE_TOOLTIP_NEG": "A szám -1 szerese.",
+       "MATH_SINGLE_TOOLTIP_LN": "A szám természetes alapú logaritmusa.",
+       "MATH_SINGLE_TOOLTIP_LOG10": "A szám 10-es alapú logaritmusa.",
+       "MATH_SINGLE_TOOLTIP_EXP": "Az e megadott számú hatványa.",
+       "MATH_SINGLE_TOOLTIP_POW10": "A 10 megadott számú hatványa.",
+       "MATH_TRIG_HELPURL": "https://hu.wikipedia.org/wiki/Sz%C3%B6gf%C3%BCggv%C3%A9nyek",
+       "MATH_TRIG_TOOLTIP_SIN": "A fokban megadott szög szinusz értéke.",
+       "MATH_TRIG_TOOLTIP_COS": "A fokban megadott szög koszinusz értéke.",
+       "MATH_TRIG_TOOLTIP_TAN": "A fokban megadott szög tangens értéke.",
+       "MATH_TRIG_TOOLTIP_ASIN": "A fokban megadott szög arkusz szinusz értéke.",
+       "MATH_TRIG_TOOLTIP_ACOS": "A fokban megadott szög arkusz koszinusz értéke.",
+       "MATH_TRIG_TOOLTIP_ATAN": "A fokban megadott szög arkusz tangens értéke.",
+       "MATH_CONSTANT_HELPURL": "https://hu.wikipedia.org/wiki/Matematikai_konstans",
+       "MATH_CONSTANT_TOOLTIP": "Ismert matematikai konstans: Ï€ (3.141…), e (2.718…), Ï† (1.618…), gyök(2) (1.414…), gyök(½) (0.707…), vagy âˆž (végtelen).",
+       "MATH_IS_EVEN": "páros",
+       "MATH_IS_ODD": "páratlan",
+       "MATH_IS_PRIME": "prím",
+       "MATH_IS_WHOLE": "egész",
+       "MATH_IS_POSITIVE": "pozitív",
+       "MATH_IS_NEGATIVE": "negatív",
+       "MATH_IS_DIVISIBLE_BY": "-nek osztója",
+       "MATH_IS_TOOLTIP": "EllenÅ‘rzi, hogy a szám páros, páratlan, prím, egész, pozitív vagy negatív-e, illetve osztható-e a másodikkal. Igaz, vagy hamis Ã©rtéket ad eredményül.",
+       "MATH_CHANGE_HELPURL": "https://hu.wikipedia.org/wiki/JavaScript#Aritmetikai_oper.C3.A1torok",
+       "MATH_CHANGE_TITLE": "növeld %1 értékét %2 -vel",
+       "MATH_CHANGE_TOOLTIP": "A \"%1\" változó értékének növelése egy számmal.",
+       "MATH_ROUND_HELPURL": "https://hu.wikipedia.org/wiki/Eg%C3%A9szr%C3%A9sz#Kerek.C3.ADt.C3.A9s",
+       "MATH_ROUND_TOOLTIP": "Egy szám kerekítése felfelé vagy lefelé.",
+       "MATH_ROUND_OPERATOR_ROUND": "kerekítsd",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "kerekítsd felfelé",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "kerekítsd lefelé",
+       "MATH_ONLIST_OPERATOR_SUM": "lista elemeinek összege",
+       "MATH_ONLIST_TOOLTIP_SUM": "A lista elemeinek összegét adja eredményül.",
+       "MATH_ONLIST_OPERATOR_MIN": "lista legkisebb eleme",
+       "MATH_ONLIST_TOOLTIP_MIN": "A lista legkisebb elemét adja vissza.",
+       "MATH_ONLIST_OPERATOR_MAX": "lista legnagyobb eleme",
+       "MATH_ONLIST_TOOLTIP_MAX": "A lista legnagyobb elemét adja vissza.",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "lista elemeinek átlaga",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "A lista elemeinek átlagát adja eredményül.",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "lista mediánja",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "A lista elemeinek mediánját adja eredményül.",
+       "MATH_ONLIST_OPERATOR_MODE": "lista módusza",
+       "MATH_ONLIST_TOOLTIP_MODE": "A lista elemeinek móduszát adja eredményül.",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "lista elemeinek szórása",
+       "MATH_ONLIST_TOOLTIP_STD_DEV": "A lista elemeinek szórását adja eredményül.",
+       "MATH_ONLIST_OPERATOR_RANDOM": "lista véletlen eleme",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "A lista egy véletlen elemét adja eredményül.",
+       "MATH_MODULO_HELPURL": "https://hu.wikipedia.org/wiki/Eg%C3%A9szr%C3%A9sz#Als.C3.B3_eg.C3.A9szr.C3.A9sz",
+       "MATH_MODULO_TITLE": "%1 ÷ %2 maradéka",
+       "MATH_MODULO_TOOLTIP": "Az egész osztás maradékát adja eredméynül.",
+       "MATH_CONSTRAIN_TITLE": "korlátozd %1-t %2 és %3 közé",
+       "MATH_CONSTRAIN_TOOLTIP": "Egy változó értékének korlátozása a megadott zárt intervallumra.",
+       "MATH_RANDOM_INT_HELPURL": "https://hu.wikipedia.org/wiki/V%C3%A9letlen",
+       "MATH_RANDOM_INT_TITLE": "véletlen egész szám %1 között %2",
+       "MATH_RANDOM_INT_TOOLTIP": "Véletlen egész szám a megadott zárt intervallumon belül.",
+       "MATH_RANDOM_FLOAT_HELPURL": "https://hu.wikipedia.org/wiki/V%C3%A9letlen",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "véletlen tört",
+       "MATH_RANDOM_FLOAT_TOOLTIP": "Véletlen tört érték 0.0 és 1.0 között.",
+       "TEXT_TEXT_HELPURL": "https://hu.wikipedia.org/wiki/String",
+       "TEXT_TEXT_TOOLTIP": "Egy betű, szó vagy szöveg egy sora.",
+       "TEXT_JOIN_TITLE_CREATEWITH": "fűzd Ã¶ssze",
+       "TEXT_JOIN_TOOLTIP": "TetszÅ‘leges számú szövegrészletet fűz Ã¶ssze egybefüggÅ‘ szöveggé.",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "fűzd Ã¶ssze",
+       "TEXT_CREATE_JOIN_TOOLTIP": "Összefűzéssel, törléssel vagy rendezéssel kapcsolato sblokkok szöveg szerkesztéséhez.",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "Elem hozzáfűzése a szöveghez.",
+       "TEXT_APPEND_TITLE": "A %1 szövegéhez fűzd hozzá %2",
+       "TEXT_APPEND_TOOLTIP": "Szöveget fűz a \"%1\" változó Ã©rtékéhez.",
+       "TEXT_LENGTH_TITLE": "%1 hossza",
+       "TEXT_LENGTH_TOOLTIP": "A megadott szöveg karaktereinek számát adja eredményül (beleértve a szóközöket).",
+       "TEXT_ISEMPTY_TITLE": "%1 üres",
+       "TEXT_ISEMPTY_TOOLTIP": "Igaz, ha a vizsgált szöveg hossza 0.",
+       "TEXT_INDEXOF_TOOLTIP": "A keresett szöveg elsÅ‘ vagy utolsó elÅ‘fordulásával tér vissza.  %1 esetén a szövegrészlet nem található.",
+       "TEXT_INDEXOF_TITLE": "A(z) %1 %2 %3 szövegnek",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "szövegben az elsÅ‘ elÅ‘fordulásának helye",
+       "TEXT_INDEXOF_OPERATOR_LAST": "szövegben az utolsó elÅ‘fordulásának helye",
+       "TEXT_CHARAT_TITLE": "a szövegben: %1 %2",
+       "TEXT_CHARAT_FROM_START": "elölrÅ‘l",
+       "TEXT_CHARAT_FROM_END": "hátulról",
+       "TEXT_CHARAT_FIRST": "elsÅ‘",
+       "TEXT_CHARAT_LAST": "utolsó",
+       "TEXT_CHARAT_RANDOM": "véletlen",
+       "TEXT_CHARAT_TAIL": "karaktere",
+       "TEXT_CHARAT_TOOLTIP": "A szöveg egy megadott karakterét adja eredményül.",
+       "TEXT_GET_SUBSTRING_TOOLTIP": "A megadott szövegrészletet adja eredményül.",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "a",
+       "TEXT_GET_SUBSTRING_START_FROM_START": "szövegben válaszd ki a(z)",
+       "TEXT_GET_SUBSTRING_START_FROM_END": "szövegben válaszd ki a hátulról a(z)",
+       "TEXT_GET_SUBSTRING_START_FIRST": "szövegben válaszd ki az elsÅ‘",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "betűtÅ‘l a(z)",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "betűtÅ‘l a hátulról számított",
+       "TEXT_GET_SUBSTRING_END_LAST": "betűtÅ‘l az utolsó",
+       "TEXT_GET_SUBSTRING_TAIL": "betűig tartó betűsort",
+       "TEXT_CHANGECASE_TOOLTIP": "Return a copy of the text in a different case.",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "NAGYBETÅ°S",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "kisbetűs",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": "Címként Formázott",
+       "TEXT_TRIM_TOOLTIP": "Levágja a megadott szöveg végeirÅ‘l a szóközöket.",
+       "TEXT_TRIM_OPERATOR_BOTH": "szóközök levágása mindkét végérÅ‘l",
+       "TEXT_TRIM_OPERATOR_LEFT": "szóközök levágása az elejérÅ‘l",
+       "TEXT_TRIM_OPERATOR_RIGHT": "szóközök levágása a végérÅ‘l",
+       "TEXT_PRINT_TITLE": "Üzenet %1",
+       "TEXT_PRINT_TOOLTIP": "Megejelníti a megadott kaakterláncot Ã¼zenetként a képernyÅ‘n.",
+       "TEXT_PROMPT_TYPE_TEXT": "Kérj be szöveget",
+       "TEXT_PROMPT_TYPE_NUMBER": "Kérj be számot",
+       "TEXT_PROMPT_TOOLTIP_NUMBER": "Számot kér be a felhasználótól.",
+       "TEXT_PROMPT_TOOLTIP_TEXT": "Szöveget kér be a felhasználótól.",
+       "TEXT_COUNT_MESSAGE0": "%1 száma ebben: %2",
+       "TEXT_COUNT_TOOLTIP": "A szöveg elÅ‘fordulásainak megszámolása egy másik szövegben.",
+       "TEXT_REPLACE_MESSAGE0": "%1 cseréje %2-vel %3-ban",
+       "TEXT_REPLACE_TOOLTIP": "A szöveg Ã¶sszes elÅ‘fordulásának cseréje egy másik szöveggel.",
+       "TEXT_REVERSE_MESSAGE0": "%1 megfordítása",
+       "TEXT_REVERSE_TOOLTIP": "Megfordítja a karakterek sorrendjét a szövegben.",
+       "LISTS_CREATE_EMPTY_TITLE": "üres lista",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "Elemeket nem tartalmazó üres listát ad eredményül",
+       "LISTS_CREATE_WITH_TOOLTIP": "Listát készít a megadott elemekbÅ‘l.",
+       "LISTS_CREATE_WITH_INPUT_WITH": "Lista készítés, elemek:",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "lista",
+       "LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "Add, remove, or reorder sections to reconfigure this list block.",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "Elem hozzáadása listához.",
+       "LISTS_REPEAT_TOOLTIP": "A megadtott elem felhasználásával n elemű listát készít",
+       "LISTS_REPEAT_TITLE": "Lista készítése %1 elemet %2 alkalommal hozzáadva",
+       "LISTS_LENGTH_TITLE": "%1 lista hossza",
+       "LISTS_LENGTH_TOOLTIP": "A lista elemszámát adja eredményül.",
+       "LISTS_ISEMPTY_TITLE": "%1 üres lista?",
+       "LISTS_ISEMPTY_TOOLTIP": "Az eredmény igaz, ha a lista nem tartalmaz elemeket.",
+       "LISTS_INLIST": "A(z)",
+       "LISTS_INDEX_OF_FIRST": "listában elsÅ‘ elÅ‘fordulásaË",
+       "LISTS_INDEX_OF_LAST": "listában utolsó elÅ‘fordulásaË",
+       "LISTS_INDEX_OF_TOOLTIP": "A megadott elem elsÅ‘ vagy utolsó elÅ‘fordulásával tér vissza. Ha nem talál ilyen elemet, akkor %1 a visszatérési Ã©rték.",
+       "LISTS_GET_INDEX_GET": "listából értéke",
+       "LISTS_GET_INDEX_GET_REMOVE": "listából kivétele",
+       "LISTS_GET_INDEX_REMOVE": "listából törlése",
+       "LISTS_GET_INDEX_FROM_START": "az elejétÅ‘l számított",
+       "LISTS_GET_INDEX_FROM_END": "a végétÅ‘l számított",
+       "LISTS_GET_INDEX_FIRST": "az elsÅ‘",
+       "LISTS_GET_INDEX_LAST": "az utolsó",
+       "LISTS_GET_INDEX_RANDOM": "bármely",
+       "LISTS_GET_INDEX_TAIL": "elemnek",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "%1 az elsÅ‘ elemet jelenti.",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "%1 az utolsó elemet jelenti.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "A lista megadott sorszámú elemét adja eredményül.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "A lista elsÅ‘ elemét adja eredményül.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "A lista utolsó elemét adja eredményül.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "A lista véletlenszerűen választott elemét adja eredményül.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "A megadott sorszámú elem kivétele a listából.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "Az elsÅ‘ elem kivétele a listából.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "Az utolsó elem kivétele a listából.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "Véletlenszerűen választott elem kivétele a listából.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "A megadott sorszámú elem törlése a listából.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "Az elsÅ‘ elem törlése a listából.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "Az utolsó elem törlése a listából.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "Véletlenszerűen választott elem törlése a listából.",
+       "LISTS_SET_INDEX_SET": "listába állítsd be",
+       "LISTS_SET_INDEX_INSERT": "listába szúrd be",
+       "LISTS_SET_INDEX_INPUT_TO": "elemkéntË",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "A megadott sorszámú elem cseréje a listában.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "Az elsÅ‘ elem cseréje a listában.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_LAST": "Az utolsó elem cseréje a listában.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "Véletlenszerűen választott elem cseréje a listában.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "Beszúrás a megadott sorszámú elem elé a listában.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "Beszúrás a lista elejére.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "Beszúrás a lista végére.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "Beszúrás véletlenszerűen választott elem elé a listában.",
+       "LISTS_GET_SUBLIST_START_FROM_START": "részlistája az elejétÅ‘l számított",
+       "LISTS_GET_SUBLIST_START_FROM_END": "részlistája a végétÅ‘l számított",
+       "LISTS_GET_SUBLIST_START_FIRST": "részlistája az elsÅ‘",
+       "LISTS_GET_SUBLIST_END_FROM_START": "és az elejétÅ‘l számított",
+       "LISTS_GET_SUBLIST_END_FROM_END": "és a végétÅ‘l számított",
+       "LISTS_GET_SUBLIST_END_LAST": "és az utolsó",
+       "LISTS_GET_SUBLIST_TAIL": "elem között",
+       "LISTS_GET_SUBLIST_TOOLTIP": "A lista adott részérÅ‘l másolat.",
+       "LISTS_SORT_HELPURL": "https://github.com/google/blockly/wiki/Lists#sorting-a-list",
+       "LISTS_SORT_TITLE": "%1 %2 %3 rendezés",
+       "LISTS_SORT_TOOLTIP": "Egy lista egy másolatának rendezése.",
+       "LISTS_SORT_ORDER_ASCENDING": "növekvÅ‘",
+       "LISTS_SORT_ORDER_DESCENDING": "csökkenÅ‘",
+       "LISTS_SORT_TYPE_NUMERIC": "numerikus",
+       "LISTS_SORT_TYPE_TEXT": "betűrendben",
+       "LISTS_SORT_TYPE_IGNORECASE": "betűrendben nagybetű figyelmen kívül hagyásával",
+       "LISTS_SPLIT_LIST_FROM_TEXT": "lista készítése szövegbÅ‘l",
+       "LISTS_SPLIT_TEXT_FROM_LIST": "sztring készítése listából",
+       "LISTS_SPLIT_WITH_DELIMITER": "határoló karakter",
+       "LISTS_SPLIT_TOOLTIP_SPLIT": "Listát készít a határoló karaktereknél törve a szöveget.",
+       "LISTS_SPLIT_TOOLTIP_JOIN": "A lista elemeit Ã¶sszefűzi szöveggé a határoló karaktereket is felhasználva.",
+       "LISTS_REVERSE_MESSAGE0": "%1 megfordítása",
+       "LISTS_REVERSE_TOOLTIP": "Megfordítja a lista másolatát.",
+       "ORDINAL_NUMBER_SUFFIX": ".",
+       "VARIABLES_GET_TOOLTIP": "A változó értékét adja eredményül.",
+       "VARIABLES_GET_CREATE_SET": "Készíts \"%1=\"",
+       "VARIABLES_SET": "%1 %2",
+       "VARIABLES_SET_TOOLTIP": "A változónak adhatunk értéket.",
+       "VARIABLES_SET_CREATE_GET": "Készíts \"%1\"",
+       "PROCEDURES_DEFNORETURN_TITLE": "Eljárás",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "név",
+       "PROCEDURES_BEFORE_PARAMS": "paraméterlistaË",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "paraméterlistaË",
+       "PROCEDURES_DEFNORETURN_DO": "",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "Eljárás (nem ad vissza eredményt).",
+       "PROCEDURES_DEFNORETURN_COMMENT": "Ãrj errÅ‘l a funkcióról...",
+       "PROCEDURES_DEFRETURN_RETURN": "eredménye",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "Függvény eredménnyel.",
+       "PROCEDURES_ALLOW_STATEMENTS": "utasítások engedélyezése",
+       "PROCEDURES_DEF_DUPLICATE_WARNING": "Figyelem: Az eljárásban azonos elnevezésű paramétert adtál meg.",
+       "PROCEDURES_CALLNORETURN_HELPURL": "https://hu.wikipedia.org/wiki/F%C3%BCggv%C3%A9ny_(programoz%C3%A1s)",
+       "PROCEDURES_CALLNORETURN_TOOLTIP": "Végrehajtja az eljárást.",
+       "PROCEDURES_CALLRETURN_HELPURL": "https://hu.wikipedia.org/wiki/F%C3%BCggv%C3%A9ny_(programoz%C3%A1s)",
+       "PROCEDURES_CALLRETURN_TOOLTIP": "Meghívja a függvényt.",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "paraméterek",
+       "PROCEDURES_MUTATORCONTAINER_TOOLTIP": "Bemenetek hozzáadása, eltávolítása vagy átrendezése ehhez a függvényhez.",
+       "PROCEDURES_MUTATORARG_TITLE": "változó:",
+       "PROCEDURES_MUTATORARG_TOOLTIP": "Bemenet hozzáadása a függvényhez.",
+       "PROCEDURES_HIGHLIGHT_DEF": "Függvénydefiníció kiemelése",
+       "PROCEDURES_CREATE_DO": "„%1†létrehozása",
+       "PROCEDURES_IFRETURN_TOOLTIP": "Ha az érték igaz, akkor visszatér a függvény értékével.",
+       "PROCEDURES_IFRETURN_HELPURL": "http://c2.com/cgi/wiki?GuardClause",
+       "PROCEDURES_IFRETURN_WARNING": "Figyelem: Ez a blokk csak függvénydefiníción belül használható."
+}
diff --git a/js/msg/json/ia.json b/js/msg/json/ia.json
new file mode 100644 (file)
index 0000000..0b9cdf8
--- /dev/null
@@ -0,0 +1,332 @@
+{
+       "@metadata": {
+               "authors": [
+                       "McDutchie",
+                       "Karmwiki",
+                       "Fanjiayi"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "cosa",
+       "TODAY": "Hodie",
+       "DUPLICATE_BLOCK": "Duplicar",
+       "ADD_COMMENT": "Adder commento",
+       "REMOVE_COMMENT": "Remover commento",
+       "DUPLICATE_COMMENT": "Duplicar commento",
+       "EXTERNAL_INPUTS": "Entrata externe",
+       "INLINE_INPUTS": "Entrata interne",
+       "DELETE_BLOCK": "Deler bloco",
+       "DELETE_X_BLOCKS": "Deler %1 blocos",
+       "DELETE_ALL_BLOCKS": "Deler tote le %1 blocos?",
+       "CLEAN_UP": "Rangiar le blocos",
+       "COLLAPSE_BLOCK": "Plicar bloco",
+       "COLLAPSE_ALL": "Plicar blocos",
+       "EXPAND_BLOCK": "Displicar bloco",
+       "EXPAND_ALL": "Displicar blocos",
+       "DISABLE_BLOCK": "Disactivar bloco",
+       "ENABLE_BLOCK": "Activar bloco",
+       "HELP": "Adjuta",
+       "UNDO": "Disfacer",
+       "REDO": "Refacer",
+       "CHANGE_VALUE_TITLE": "Cambiar valor:",
+       "RENAME_VARIABLE": "Renominar variabile...",
+       "RENAME_VARIABLE_TITLE": "Renominar tote le variabiles '%1' a:",
+       "NEW_VARIABLE": "Crear variabile...",
+       "NEW_STRING_VARIABLE": "Crear variabile textual...",
+       "NEW_NUMBER_VARIABLE": "Crear variabile numeric...",
+       "NEW_COLOUR_VARIABLE": "Crear variabile de color...",
+       "NEW_VARIABLE_TYPE_TITLE": "Nove typo de variabile:",
+       "NEW_VARIABLE_TITLE": "Nomine del nove variabile:",
+       "VARIABLE_ALREADY_EXISTS": "Un variabile con le nomine '%1' jam existe.",
+       "VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE": "Un variabile con le nomine '%1' jam existe pro un altere typo: '%2'.",
+       "DELETE_VARIABLE_CONFIRMATION": "Deler %1 usos del variabile '%2'?",
+       "CANNOT_DELETE_VARIABLE_PROCEDURE": "Impossibile deler le variabile '%1' perque illo face parte del definition del function '%2'",
+       "DELETE_VARIABLE": "Deler le variabile '%1'",
+       "COLOUR_PICKER_HELPURL": "https://ia.wikipedia.org/wiki/Color",
+       "COLOUR_PICKER_TOOLTIP": "Elige un color del paletta.",
+       "COLOUR_RANDOM_TITLE": "color aleatori",
+       "COLOUR_RANDOM_TOOLTIP": "Eliger un color al hasardo.",
+       "COLOUR_RGB_TITLE": "colorar con",
+       "COLOUR_RGB_RED": "rubie",
+       "COLOUR_RGB_GREEN": "verde",
+       "COLOUR_RGB_BLUE": "blau",
+       "COLOUR_RGB_TOOLTIP": "Crear un color con le quantitate specificate de rubie, verde e blau. Tote le valores debe esser inter 0 e 100.",
+       "COLOUR_BLEND_TITLE": "miscer",
+       "COLOUR_BLEND_COLOUR1": "color 1",
+       "COLOUR_BLEND_COLOUR2": "color 2",
+       "COLOUR_BLEND_RATIO": "ration",
+       "COLOUR_BLEND_TOOLTIP": "Misce duo colores con un ration specificate (0.0 - 1.0).",
+       "CONTROLS_REPEAT_HELPURL": "https://en.wikipedia.org/wiki/For_loop",
+       "CONTROLS_REPEAT_TITLE": "repeter %1 vices",
+       "CONTROLS_REPEAT_INPUT_DO": "face",
+       "CONTROLS_REPEAT_TOOLTIP": "Exequer certe instructiones plure vices.",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "repeter durante que",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "repeter usque a",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "Durante que un valor es ver, exequer certe instructiones.",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "Durante que un valor es false, exequer certe instructiones.",
+       "CONTROLS_FOR_TOOLTIP": "Mitter in le variabile '%1' le valores ab le numero initial usque al numero final, con passos secundo le intervallo specificate, e exequer le blocos specificate.",
+       "CONTROLS_FOR_TITLE": "contar con %1 de %2 a %3 per %4",
+       "CONTROLS_FOREACH_TITLE": "pro cata elemento %1 in lista %2",
+       "CONTROLS_FOREACH_TOOLTIP": "Pro cata elemento in un lista, mitter lo in le variabile '%1' e exequer certe instructiones.",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "escappar del bucla",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "continuar con le proxime iteration del bucla",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "Escappar del bucla continente.",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "Saltar le resto de iste bucla e continuar con le proxime iteration.",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "Attention: Iste bloco pote solmente esser usate in un bucla.",
+       "CONTROLS_IF_TOOLTIP_1": "Si un valor es ver, exequer certe instructiones.",
+       "CONTROLS_IF_TOOLTIP_2": "Si un valor es ver, exequer le prime bloco de instructiones. Si non, exequer le secunde bloco de instructiones.",
+       "CONTROLS_IF_TOOLTIP_3": "Si le prime valor es ver, exequer le prime bloco de instructiones. Si non, si le secunde valor es ver, exequer le secunde bloco de instructiones.",
+       "CONTROLS_IF_TOOLTIP_4": "Si le prime valor es ver, exequer le prime bloco de instructiones. Si non, si le secunde valor es ver, exequer le secunde bloco de instructiones. Si necun del valores es ver, exequer le ultime bloco de instructiones.",
+       "CONTROLS_IF_MSG_IF": "si",
+       "CONTROLS_IF_MSG_ELSEIF": "si non si",
+       "CONTROLS_IF_MSG_ELSE": "si non",
+       "CONTROLS_IF_IF_TOOLTIP": "Adde, remove o reordina sectiones pro reconfigurar iste bloco \"si\".",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "Adder un condition al bloco \"si\".",
+       "CONTROLS_IF_ELSE_TOOLTIP": "Adder un condition final de reserva al bloco \"si\".",
+       "IOS_OK": "OK",
+       "IOS_CANCEL": "Cancellar",
+       "IOS_ERROR": "Error",
+       "IOS_PROCEDURES_INPUTS": "ENTRATAS",
+       "IOS_PROCEDURES_ADD_INPUT": "+ Adder entrata",
+       "IOS_PROCEDURES_ALLOW_STATEMENTS": "Permitter declarationes",
+       "IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR": "Iste function ha entratas duplicate.",
+       "IOS_VARIABLES_ADD_VARIABLE": "+ Adder variabile",
+       "IOS_VARIABLES_ADD_BUTTON": "Adder",
+       "IOS_VARIABLES_RENAME_BUTTON": "Renominar",
+       "IOS_VARIABLES_DELETE_BUTTON": "Deler",
+       "IOS_VARIABLES_VARIABLE_NAME": "Nomine del variabile",
+       "IOS_VARIABLES_EMPTY_NAME_ERROR": "Non es possibile usar un nomine de variabile vacue.",
+       "LOGIC_COMPARE_HELPURL": "https://ia.wikipedia.org/wiki/Inequalitate_(mathematica)",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "Retornar ver si le duo entratas es equal.",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "Retornar ver si le duo entratas non es equal.",
+       "LOGIC_COMPARE_TOOLTIP_LT": "Retornar ver si le prime entrata es minor que le secunde.",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "Retornar ver si le prime entrata es minor que o equal al secunde.",
+       "LOGIC_COMPARE_TOOLTIP_GT": "Retornar ver si le prime entrata es major que le secunde.",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "Retornar ver si le prime entrata es major que o equal al secunde.",
+       "LOGIC_OPERATION_TOOLTIP_AND": "Retornar ver si ambe entratas es ver.",
+       "LOGIC_OPERATION_AND": "e",
+       "LOGIC_OPERATION_TOOLTIP_OR": "Retornar ver si al minus un del entratas es ver.",
+       "LOGIC_OPERATION_OR": "o",
+       "LOGIC_NEGATE_TITLE": "non %1",
+       "LOGIC_NEGATE_TOOLTIP": "Retornar ver si le entrata es false. Retornar false si le entrata es ver.",
+       "LOGIC_BOOLEAN_TRUE": "ver",
+       "LOGIC_BOOLEAN_FALSE": "false",
+       "LOGIC_BOOLEAN_TOOLTIP": "Retorna o ver o false.",
+       "LOGIC_NULL": "nulle",
+       "LOGIC_NULL_TOOLTIP": "Retorna nulle.",
+       "LOGIC_TERNARY_CONDITION": "test",
+       "LOGIC_TERNARY_IF_TRUE": "si ver",
+       "LOGIC_TERNARY_IF_FALSE": "si false",
+       "LOGIC_TERNARY_TOOLTIP": "Verificar le condition in 'test'. Si le condition es ver, retorna le valor de 'si ver'; si non, retorna le valor de 'si false'.",
+       "MATH_NUMBER_HELPURL": "https://ia.wikipedia.org/wiki/Numero",
+       "MATH_NUMBER_TOOLTIP": "Un numero.",
+       "MATH_ARITHMETIC_HELPURL": "https://ia.wikipedia.org/wiki/Arithmetica",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "Retornar le summa del duo numeros.",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "Retornar le differentia del duo numeros.",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "Retornar le producto del duo numeros.",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "Retornar le quotiente del duo numeros.",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "Retornar le prime numero elevate al potentia del secunde numero.",
+       "MATH_SINGLE_HELPURL": "https://ia.wikipedia.org/wiki/Radice_quadrate",
+       "MATH_SINGLE_OP_ROOT": "radice quadrate",
+       "MATH_SINGLE_TOOLTIP_ROOT": "Retornar le radice quadrate de un numero.",
+       "MATH_SINGLE_OP_ABSOLUTE": "absolute",
+       "MATH_SINGLE_TOOLTIP_ABS": "Retornar le valor absolute de un numero.",
+       "MATH_SINGLE_TOOLTIP_NEG": "Retornar le negation de un numero.",
+       "MATH_SINGLE_TOOLTIP_LN": "Retornar le logarithmo natural de un numero.",
+       "MATH_SINGLE_TOOLTIP_LOG10": "Retornar le logarithmo in base 10 del numero.",
+       "MATH_SINGLE_TOOLTIP_EXP": "Retornar e elevate al potentia del numero.",
+       "MATH_SINGLE_TOOLTIP_POW10": "Retornar 10 elevate al potentia de un numero.",
+       "MATH_TRIG_TOOLTIP_SIN": "Retornar le sino de un grado (non radiano).",
+       "MATH_TRIG_TOOLTIP_COS": "Retornar le cosino de un grado (non radiano).",
+       "MATH_TRIG_TOOLTIP_TAN": "Retornar le tangente de un grado (non radiano).",
+       "MATH_TRIG_TOOLTIP_ASIN": "Retornar le arcosino de un numero.",
+       "MATH_TRIG_TOOLTIP_ACOS": "Retornar le arcocosino de un numero.",
+       "MATH_TRIG_TOOLTIP_ATAN": "Retornar le arcotangente de un numero.",
+       "MATH_CONSTANT_HELPURL": "https://ia.wikipedia.org/wiki/Constante_mathematic",
+       "MATH_CONSTANT_TOOLTIP": "Retornar un del constantes commun: Ï€ (3,141…), e (2,718…), Ï† (1,618…), sqrt(2) (1,414…), sqrt(½) (0,707…) o âˆž (infinite).",
+       "MATH_IS_EVEN": "es par",
+       "MATH_IS_ODD": "es impare",
+       "MATH_IS_PRIME": "es prime",
+       "MATH_IS_WHOLE": "es integre",
+       "MATH_IS_POSITIVE": "es positive",
+       "MATH_IS_NEGATIVE": "es negative",
+       "MATH_IS_DIVISIBLE_BY": "es divisibile per",
+       "MATH_IS_TOOLTIP": "Verificar si un numero es par, impare, prime, integre, positive, negative, o divisibile per un certe numero. Retorna ver o false.",
+       "MATH_CHANGE_TITLE": "cambiar %1 per %2",
+       "MATH_CHANGE_TOOLTIP": "Adder un numero al variabile '%1'.",
+       "MATH_ROUND_HELPURL": "https://ia.wikipedia.org/wiki/Rotundamento",
+       "MATH_ROUND_TOOLTIP": "Arrotundar un numero a supra o a infra.",
+       "MATH_ROUND_OPERATOR_ROUND": "arrotundar",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "arrotundar a supra",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "arrotundar a infra",
+       "MATH_ONLIST_OPERATOR_SUM": "summa del lista",
+       "MATH_ONLIST_TOOLTIP_SUM": "Retornar le summa de tote le numeros in le lista.",
+       "MATH_ONLIST_OPERATOR_MIN": "minimo del lista",
+       "MATH_ONLIST_TOOLTIP_MIN": "Retornar le numero le plus parve in le lista.",
+       "MATH_ONLIST_OPERATOR_MAX": "maximo del lista",
+       "MATH_ONLIST_TOOLTIP_MAX": "Retornar le numero le plus grande in le lista.",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "media del lista",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "Retornar le media arithmetic del valores numeric in le lista.",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "mediana del lista",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "Retornar le numero median del lista.",
+       "MATH_ONLIST_OPERATOR_MODE": "modas del lista",
+       "MATH_ONLIST_TOOLTIP_MODE": "Retornar un lista del elemento(s) le plus commun in le lista.",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "deviation standard del lista",
+       "MATH_ONLIST_TOOLTIP_STD_DEV": "Retornar le deviation standard del lista.",
+       "MATH_ONLIST_OPERATOR_RANDOM": "elemento aleatori del lista",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "Retornar un elemento aleatori del lista.",
+       "MATH_MODULO_TITLE": "resto de %1 ÷ %2",
+       "MATH_MODULO_TOOLTIP": "Retornar le resto del division del duo numeros.",
+       "MATH_CONSTRAIN_TITLE": "limitar %1 inter %2 e %3",
+       "MATH_CONSTRAIN_TOOLTIP": "Limitar un numero a esser inter le limites specificate (incluse).",
+       "MATH_RANDOM_INT_TITLE": "numero integre aleatori inter %1 e %2",
+       "MATH_RANDOM_INT_TOOLTIP": "Retornar un numero integre aleatori inter le duo limites specificate, incluse.",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "fraction aleatori",
+       "MATH_RANDOM_FLOAT_TOOLTIP": "Retornar un fraction aleatori inter 0.0 (incluse) e 1.0 (excluse).",
+       "TEXT_TEXT_TOOLTIP": "Un littera, parola o linea de texto.",
+       "TEXT_JOIN_TITLE_CREATEWITH": "crear texto con",
+       "TEXT_JOIN_TOOLTIP": "Crear un pecia de texto uniente un certe numero de elementos.",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "unir",
+       "TEXT_CREATE_JOIN_TOOLTIP": "Adde, remove o reordina sectiones pro reconfigurar iste bloco de texto.",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "Adder un elemento al texto.",
+       "TEXT_APPEND_TITLE": "a %1 adjunger texto %2",
+       "TEXT_APPEND_TOOLTIP": "Adjunger un texto al variabile '%1'.",
+       "TEXT_LENGTH_TITLE": "longitude de %1",
+       "TEXT_LENGTH_TOOLTIP": "Retorna le numero de litteras (incluse spatios) in le texto fornite.",
+       "TEXT_ISEMPTY_TITLE": "%1 es vacue",
+       "TEXT_ISEMPTY_TOOLTIP": "Retorna ver si le texto fornite es vacue.",
+       "TEXT_INDEXOF_TOOLTIP": "Retorna le indice del prime/ultime occurrentia del prime texto in le secunde texto. Retorna %1 si le texto non es trovate.",
+       "TEXT_INDEXOF_TITLE": "in le texto %1 %2 %3",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "cercar le prime occurrentia del texto",
+       "TEXT_INDEXOF_OPERATOR_LAST": "cercar le ultime occurrentia del texto",
+       "TEXT_CHARAT_TITLE": "in le texto %1 %2",
+       "TEXT_CHARAT_FROM_START": "prender le littera â„–",
+       "TEXT_CHARAT_FROM_END": "prender ab le fin le littera â„–",
+       "TEXT_CHARAT_FIRST": "prender le prime littera",
+       "TEXT_CHARAT_LAST": "prender le ultime littera",
+       "TEXT_CHARAT_RANDOM": "prender un littera aleatori",
+       "TEXT_CHARAT_TOOLTIP": "Retorna le littera presente al position specificate.",
+       "TEXT_GET_SUBSTRING_TOOLTIP": "Retorna le parte specificate del texto.",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "in le texto",
+       "TEXT_GET_SUBSTRING_START_FROM_START": "prender subcatena ab le littera â„–",
+       "TEXT_GET_SUBSTRING_START_FROM_END": "prender subcatena ab le fin ab le littera â„–",
+       "TEXT_GET_SUBSTRING_START_FIRST": "prender subcatena ab le prime littera",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "usque al littera â„–",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "ab le fin usque al littera â„–",
+       "TEXT_GET_SUBSTRING_END_LAST": "usque al ultime littera",
+       "TEXT_CHANGECASE_TOOLTIP": "Retornar un copia del texto con differente majusculas/minusculas.",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "in MAJUSCULAS",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "in minusculas",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": "con Initiales Majuscule",
+       "TEXT_TRIM_TOOLTIP": "Retornar un copia del texto con spatios eliminate de un extremitate o ambes.",
+       "TEXT_TRIM_OPERATOR_BOTH": "remover spatios de ambe lateres de",
+       "TEXT_TRIM_OPERATOR_LEFT": "remover spatios del sinistre latere de",
+       "TEXT_TRIM_OPERATOR_RIGHT": "remover spatios del dextre latere de",
+       "TEXT_PRINT_TITLE": "scriber %1",
+       "TEXT_PRINT_TOOLTIP": "Scriber le texto, numero o altere valor specificate.",
+       "TEXT_PROMPT_TYPE_TEXT": "peter un texto con le message",
+       "TEXT_PROMPT_TYPE_NUMBER": "peter un numero con le message",
+       "TEXT_PROMPT_TOOLTIP_NUMBER": "Peter un numero al usator.",
+       "TEXT_PROMPT_TOOLTIP_TEXT": "Peter un texto al usator.",
+       "TEXT_COUNT_MESSAGE0": "contar %1 in %2",
+       "TEXT_COUNT_TOOLTIP": "Contar quante vices un texto occurre intra un altere texto.",
+       "TEXT_REPLACE_MESSAGE0": "reimplaciar %1 per %2 in %3",
+       "TEXT_REPLACE_TOOLTIP": "Reimplaciar tote le occurrentias de un texto intra un altere texto.",
+       "TEXT_REVERSE_MESSAGE0": "inverter %1",
+       "TEXT_REVERSE_TOOLTIP": "Inverte le ordine del characteres in le texto.",
+       "LISTS_CREATE_EMPTY_TITLE": "crear un lista vacue",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "Retorna un lista, de longitude 0, sin datos.",
+       "LISTS_CREATE_WITH_TOOLTIP": "Crear un lista con un numero qualcunque de elementos.",
+       "LISTS_CREATE_WITH_INPUT_WITH": "crear lista con",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "lista",
+       "LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "Adde, remove o reordina sectiones pro reconfigurar iste bloco de listas.",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "Adder un elemento al lista.",
+       "LISTS_REPEAT_TOOLTIP": "Crea un lista que contine le valor fornite, repetite le numero specificate de vices.",
+       "LISTS_REPEAT_TITLE": "crear lista con elemento %1 repetite %2 vices",
+       "LISTS_LENGTH_TITLE": "longitude de %1",
+       "LISTS_LENGTH_TOOLTIP": "Retorna le longitude de un lista.",
+       "LISTS_ISEMPTY_TITLE": "%1 es vacue",
+       "LISTS_ISEMPTY_TOOLTIP": "Retorna ver si le lista es vacue.",
+       "LISTS_INLIST": "in lista",
+       "LISTS_INDEX_OF_FIRST": "cercar le prime occurrentia del elemento",
+       "LISTS_INDEX_OF_LAST": "cercar le ultime occurrentia del elemento",
+       "LISTS_INDEX_OF_TOOLTIP": "Retorna le indice del prime/ultime occurrentia del elemento in le lista. Retorna %1 si le elemento non es trovate.",
+       "LISTS_GET_INDEX_GET": "prender",
+       "LISTS_GET_INDEX_GET_REMOVE": "prender e remover",
+       "LISTS_GET_INDEX_REMOVE": "remover",
+       "LISTS_GET_INDEX_FROM_END": "â„– ab fin",
+       "LISTS_GET_INDEX_FIRST": "prime",
+       "LISTS_GET_INDEX_LAST": "ultime",
+       "LISTS_GET_INDEX_RANDOM": "aleatori",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "№ %1 es le prime elemento.",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "№ %1 es le ultime elemento.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "Retorna le elemento presente al position specificate in un lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "Retorna le prime elemento in un lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "Retorna le ultime elemento in un lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "Retorna un elemento aleatori in un lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "Remove e retorna le elemento presente al position specificate in un lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "Remove e retorna le prime elemento in un lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "Remove e retorna le ultime elemento in un lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "Remove e retorna un elemento aleatori in un lista.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "Remove le elemento presente al position specificate in un lista.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "Remove le prime elemento in un lista.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "Remove le ultime elemento in un lista.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "Remove un elemento aleatori in un lista.",
+       "LISTS_SET_INDEX_SET": "mitter",
+       "LISTS_SET_INDEX_INSERT": "inserer in",
+       "LISTS_SET_INDEX_INPUT_TO": "a",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "Defini le valor del elemento al position specificate in un lista.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "Defini le valor del prime elemento in un lista.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_LAST": "Defini le valor del ultime elemento in un lista.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "Defini le valor de un elemento aleatori in un lista.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "Insere le elemento al position specificate in un lista.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "Insere le elemento al initio de un lista.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "Adjunge le elemento al fin de un lista.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "Insere le elemento a un position aleatori in un lista.",
+       "LISTS_GET_SUBLIST_START_FROM_START": "prender sublista ab â„–",
+       "LISTS_GET_SUBLIST_START_FROM_END": "prender sublista ab le fin ab â„–",
+       "LISTS_GET_SUBLIST_START_FIRST": "prender sublista ab initio",
+       "LISTS_GET_SUBLIST_END_FROM_START": "usque al â„–",
+       "LISTS_GET_SUBLIST_END_FROM_END": "usque al â„– ab fin",
+       "LISTS_GET_SUBLIST_END_LAST": "usque al ultime",
+       "LISTS_GET_SUBLIST_TOOLTIP": "Crea un copia del parte specificate de un lista.",
+       "LISTS_SORT_TITLE": "ordinamento %1 %2 %3",
+       "LISTS_SORT_TOOLTIP": "Ordinar un copia de un lista.",
+       "LISTS_SORT_ORDER_ASCENDING": "ascendente",
+       "LISTS_SORT_ORDER_DESCENDING": "descendente",
+       "LISTS_SORT_TYPE_NUMERIC": "numeric",
+       "LISTS_SORT_TYPE_TEXT": "alphabetic",
+       "LISTS_SORT_TYPE_IGNORECASE": "alphabetic, ignorar majuscula/minuscula",
+       "LISTS_SPLIT_LIST_FROM_TEXT": "crear lista ab texto",
+       "LISTS_SPLIT_TEXT_FROM_LIST": "crear texto ab lista",
+       "LISTS_SPLIT_WITH_DELIMITER": "con delimitator",
+       "LISTS_SPLIT_TOOLTIP_SPLIT": "Divider texto in un lista de textos, separante lo a cata delimitator.",
+       "LISTS_SPLIT_TOOLTIP_JOIN": "Unir un lista de textos, separate per un delimitator, in un sol texto.",
+       "LISTS_REVERSE_MESSAGE0": "inverter %1",
+       "LISTS_REVERSE_TOOLTIP": "Inverter un copia de un lista.",
+       "VARIABLES_GET_TOOLTIP": "Retorna le valor de iste variabile.",
+       "VARIABLES_GET_CREATE_SET": "Crea 'mitter %1'",
+       "VARIABLES_SET": "mitter %1 a %2",
+       "VARIABLES_SET_TOOLTIP": "Mitte iste variabile al valor del entrata.",
+       "VARIABLES_SET_CREATE_GET": "Crear 'prender %1'",
+       "PROCEDURES_DEFNORETURN_TITLE": "pro",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "facer qualcosa",
+       "PROCEDURES_BEFORE_PARAMS": "con:",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "con:",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "Crea un function que non retorna un valor.",
+       "PROCEDURES_DEFNORETURN_COMMENT": "Describe iste function...",
+       "PROCEDURES_DEFRETURN_RETURN": "retornar",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "Crea un function que retorna un valor.",
+       "PROCEDURES_ALLOW_STATEMENTS": "permitter declarationes",
+       "PROCEDURES_DEF_DUPLICATE_WARNING": "Attention: Iste function ha parametros duplicate.",
+       "PROCEDURES_CALLNORETURN_TOOLTIP": "Executar le function '%1' definite per le usator.",
+       "PROCEDURES_CALLRETURN_TOOLTIP": "Executar le function '%1' definite per le usator e usar su resultato.",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "entratas",
+       "PROCEDURES_MUTATORCONTAINER_TOOLTIP": "Adder, remover o reordinar le entratas pro iste function.",
+       "PROCEDURES_MUTATORARG_TITLE": "nomine del entrata:",
+       "PROCEDURES_MUTATORARG_TOOLTIP": "Adder un entrata al function.",
+       "PROCEDURES_HIGHLIGHT_DEF": "Accentuar le definition del function",
+       "PROCEDURES_CREATE_DO": "Crear '%1'",
+       "PROCEDURES_IFRETURN_TOOLTIP": "Si un valor es ver, alora retornar un secunde valor.",
+       "PROCEDURES_IFRETURN_WARNING": "Attention: Iste bloco pote solmente esser usate in le definition de un function.",
+       "WORKSPACE_COMMENT_DEFAULT_TEXT": "Dice qualcosa..."
+}
diff --git a/js/msg/json/id.json b/js/msg/json/id.json
new file mode 100644 (file)
index 0000000..87e28d8
--- /dev/null
@@ -0,0 +1,333 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Kenrick95",
+                       "ì•„ë¼",
+                       "Mirws",
+                       "Marwan Mohamad",
+                       "Kasimtan",
+                       "Arifin.wijaya"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "item",
+       "TODAY": "Hari ini",
+       "DUPLICATE_BLOCK": "Duplikat",
+       "ADD_COMMENT": "Tambahkan Komentar",
+       "REMOVE_COMMENT": "Hapus Komentar",
+       "EXTERNAL_INPUTS": "Input Eksternal",
+       "INLINE_INPUTS": "Input Inline",
+       "DELETE_BLOCK": "Hapus Blok",
+       "DELETE_X_BLOCKS": "Hapus %1 Blok",
+       "DELETE_ALL_BLOCKS": "Hapus semua %1 blok?",
+       "CLEAN_UP": "Bersihkan Blok",
+       "COLLAPSE_BLOCK": "Ciutkan Blok",
+       "COLLAPSE_ALL": "Ciutkan Blok",
+       "EXPAND_BLOCK": "Kembangkan Blok",
+       "EXPAND_ALL": "Kembangkan Blok",
+       "DISABLE_BLOCK": "Nonaktifkan Blok",
+       "ENABLE_BLOCK": "Aktifkan Blok",
+       "HELP": "Bantuan",
+       "UNDO": "Urungkan",
+       "REDO": "Lakukan ulang",
+       "CHANGE_VALUE_TITLE": "Ubah nilai:",
+       "RENAME_VARIABLE": "Ubah nama variabel...",
+       "RENAME_VARIABLE_TITLE": "Ubah nama semua variabel '%1' menjadi:",
+       "NEW_VARIABLE": "Buat variabel...",
+       "NEW_VARIABLE_TITLE": "Nama variabel baru:",
+       "VARIABLE_ALREADY_EXISTS": "Sebuah variabel dengan nama '%1' sudah ada.",
+       "DELETE_VARIABLE_CONFIRMATION": "Hapus %1 yang digunakan pada variabel '%2'?",
+       "DELETE_VARIABLE": "Hapus variabel '%1'",
+       "COLOUR_PICKER_HELPURL": "https://en.wikipedia.org/wiki/Color",
+       "COLOUR_PICKER_TOOLTIP": "Pilih warna dari daftar warna.",
+       "COLOUR_RANDOM_TITLE": "Warna acak",
+       "COLOUR_RANDOM_TOOLTIP": "Pilih warna secara acak.",
+       "COLOUR_RGB_HELPURL": "http://www.december.com/html/spec/colorper.html",
+       "COLOUR_RGB_TITLE": "Dengan warna",
+       "COLOUR_RGB_RED": "merah",
+       "COLOUR_RGB_GREEN": "hijau",
+       "COLOUR_RGB_BLUE": "biru",
+       "COLOUR_RGB_TOOLTIP": "Buatlah warna dengan jumlah yang ditentukan dari merah, hijau dan biru. Semua nilai harus antarai 0 sampai 100.",
+       "COLOUR_BLEND_HELPURL": "http://meyerweb.com/eric/tools/color-blend/",
+       "COLOUR_BLEND_TITLE": "campur",
+       "COLOUR_BLEND_COLOUR1": "warna 1",
+       "COLOUR_BLEND_COLOUR2": "warna 2",
+       "COLOUR_BLEND_RATIO": "rasio",
+       "COLOUR_BLEND_TOOLTIP": "Campur dua warna secara bersamaan dengan perbandingan (0.0 - 1.0).",
+       "CONTROLS_REPEAT_HELPURL": "https://en.wikipedia.org/wiki/For_loop",
+       "CONTROLS_REPEAT_TITLE": "ulangi %1 kali",
+       "CONTROLS_REPEAT_INPUT_DO": "kerjakan",
+       "CONTROLS_REPEAT_TOOLTIP": "Lakukan beberapa perintah beberapa kali.",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "ulangi jika",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "ulangi sampai",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "Selagi nilainya benar, maka lakukan beberapa perintah.",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "Selagi nilainya salah, maka lakukan beberapa perintah.",
+       "CONTROLS_FOR_TOOLTIP": "Menggunakan variabel \"%1\" dengan mengambil nilai dari batas awal hingga ke batas akhir, dengan interval tertentu, dan mengerjakan block tertentu.",
+       "CONTROLS_FOR_TITLE": "Cacah dengan %1 dari %2 ke %3 dengan step / penambahan %4",
+       "CONTROLS_FOREACH_TITLE": "untuk setiap item %1 di dalam list %2",
+       "CONTROLS_FOREACH_TOOLTIP": "Untuk tiap-tiap item di dalam list, tetapkan variabel '%1' ke dalam item, selanjutnya kerjakan beberapa statement.",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "keluar dari perulangan",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "lanjutkan dengan langkah perulangan berikutnya",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "Keluar dari perulangan.",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "Abaikan sisa dari perulangan ini, dan lanjutkan dengan langkah berikutnya.",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "Peringatan: Blok ini hanya dapat digunakan dalam perulangan.",
+       "CONTROLS_IF_TOOLTIP_1": "Jika nilainya benar, maka lakukan beberapa perintah.",
+       "CONTROLS_IF_TOOLTIP_2": "Jika nilainya benar, maka kerjakan perintah blok pertama. Jika tidak, kerjakan perintah blok kedua.",
+       "CONTROLS_IF_TOOLTIP_3": "Jika nilai pertama benar, maka kerjakan perintah blok pertama. Sebaliknya, jika nilai kedua benar, kerjakan perintah blok kedua.",
+       "CONTROLS_IF_TOOLTIP_4": "Jika nilai pertama benar, maka kerjakan perintah blok pertama. Sebaliknya, jika nilai kedua benar, kerjakan perintah blok kedua. Jika dua-duanya tidak benar, kerjakan perintah blok terakhir.",
+       "CONTROLS_IF_MSG_IF": "jika",
+       "CONTROLS_IF_MSG_ELSEIF": "atau jika",
+       "CONTROLS_IF_MSG_ELSE": "lainnya",
+       "CONTROLS_IF_IF_TOOLTIP": "Tambahkan, hapus, atau susun kembali bagian untuk mengkonfigurasi blok IF ini.",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "Tambahkan prasyarat ke dalam blok IF.",
+       "CONTROLS_IF_ELSE_TOOLTIP": "Terakhir, tambahkan kondisi tangkap-semua kedalam blok IF.",
+       "LOGIC_COMPARE_HELPURL": "https://en.wikipedia.org/wiki/Inequality_(mathematics)",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "Kembalikan benar jika kedua input sama satu dengan lainnya.",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "Kembalikan benar jika kedua input tidak sama satu dengan lainnya.",
+       "LOGIC_COMPARE_TOOLTIP_LT": "Kembalikan benar jika input pertama lebih kecil dari input kedua.",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "Kembalikan benar jika input pertama lebih kecil atau sama dengan input kedua .",
+       "LOGIC_COMPARE_TOOLTIP_GT": "Kembalikan benar jika input pertama lebih besar dari input kedua.",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "Kembalikan benar jika input pertama lebih besar dari atau sama dengan input kedua.",
+       "LOGIC_OPERATION_TOOLTIP_AND": "Kembalikan benar jika kedua input adalah benar.",
+       "LOGIC_OPERATION_AND": "dan",
+       "LOGIC_OPERATION_TOOLTIP_OR": "Kembalikan benar jika minimal satu input nilainya benar.",
+       "LOGIC_OPERATION_OR": "atau",
+       "LOGIC_NEGATE_TITLE": "bukan (not) %1",
+       "LOGIC_NEGATE_TOOLTIP": "Kembalikan benar jika input salah. Kembalikan salah jika input benar.",
+       "LOGIC_BOOLEAN_TRUE": "benar",
+       "LOGIC_BOOLEAN_FALSE": "salah",
+       "LOGIC_BOOLEAN_TOOLTIP": "Kembalikan benar atau salah.",
+       "LOGIC_NULL_HELPURL": "https://en.wikipedia.org/wiki/Nullable_type",
+       "LOGIC_NULL": "null",
+       "LOGIC_NULL_TOOLTIP": "Kembalikan null.",
+       "LOGIC_TERNARY_HELPURL": "https://en.wikipedia.org/wiki/%3F:",
+       "LOGIC_TERNARY_CONDITION": "test",
+       "LOGIC_TERNARY_IF_TRUE": "jika benar",
+       "LOGIC_TERNARY_IF_FALSE": "jika salah",
+       "LOGIC_TERNARY_TOOLTIP": "Periksa kondisi di 'test'. Jika kondisi benar, kembalikan nilai 'if true'; jika sebaliknya kembalikan nilai 'if false'.",
+       "MATH_NUMBER_HELPURL": "https://en.wikipedia.org/wiki/Number",
+       "MATH_NUMBER_TOOLTIP": "Suatu angka.",
+       "MATH_ADDITION_SYMBOL": "+",
+       "MATH_SUBTRACTION_SYMBOL": "-",
+       "MATH_DIVISION_SYMBOL": "÷",
+       "MATH_MULTIPLICATION_SYMBOL": "×",
+       "MATH_POWER_SYMBOL": "^",
+       "MATH_TRIG_SIN": "sin",
+       "MATH_TRIG_COS": "cos",
+       "MATH_TRIG_TAN": "tan",
+       "MATH_TRIG_ASIN": "asin",
+       "MATH_TRIG_ACOS": "acos",
+       "MATH_TRIG_ATAN": "atan",
+       "MATH_ARITHMETIC_HELPURL": "https://id.wikipedia.org/wiki/Aritmetika",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "Kembalikan jumlah dari kedua angka.",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "Kembalikan selisih dari kedua angka.",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "Kembalikan perkalian dari kedua angka.",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "Kembalikan hasil bagi dari kedua angka.",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "Kembalikan angka pertama pangkat angka kedua.",
+       "MATH_SINGLE_HELPURL": "https://en.wikipedia.org/wiki/Square_root",
+       "MATH_SINGLE_OP_ROOT": "akar",
+       "MATH_SINGLE_TOOLTIP_ROOT": "Kembalikan akar dari angka.",
+       "MATH_SINGLE_OP_ABSOLUTE": "mutlak",
+       "MATH_SINGLE_TOOLTIP_ABS": "Kembalikan nilai absolut angka.",
+       "MATH_SINGLE_TOOLTIP_NEG": "Kembalikan penyangkalan terhadap angka.",
+       "MATH_SINGLE_TOOLTIP_LN": "Kembalikan logaritma natural dari angka.",
+       "MATH_SINGLE_TOOLTIP_LOG10": "Kembalikan dasar logaritma 10 dari angka.",
+       "MATH_SINGLE_TOOLTIP_EXP": "Kembalikan 10 pangkat angka.",
+       "MATH_SINGLE_TOOLTIP_POW10": "Kembalikan 10 pangkat angka.",
+       "MATH_TRIG_HELPURL": "https://en.wikipedia.org/wiki/Trigonometric_functions",
+       "MATH_TRIG_TOOLTIP_SIN": "Kembalikan sinus dari derajat (bukan radian).",
+       "MATH_TRIG_TOOLTIP_COS": "Kembalikan cosinus dari derajat (bukan radian).",
+       "MATH_TRIG_TOOLTIP_TAN": "Kembalikan tangen dari derajat (bukan radian).",
+       "MATH_TRIG_TOOLTIP_ASIN": "Kembalikan asin dari angka.",
+       "MATH_TRIG_TOOLTIP_ACOS": "Kembalikan acosine dari angka.",
+       "MATH_TRIG_TOOLTIP_ATAN": "Kembalikan atan dari angka.",
+       "MATH_CONSTANT_HELPURL": "https://en.wikipedia.org/wiki/Mathematical_constant",
+       "MATH_CONSTANT_TOOLTIP": "Kembalikan salah satu konstanta: Ï€ (3,141…), e (2,718…), Ï† (1,618…), akar(2) (1,414…), akar(½) (0.707…), atau âˆž (tak terhingga).",
+       "MATH_IS_EVEN": "adalah bilangan genap",
+       "MATH_IS_ODD": "adalah bilangan ganjil",
+       "MATH_IS_PRIME": "adalah bilangan pokok",
+       "MATH_IS_WHOLE": "adalah bilangan bulat",
+       "MATH_IS_POSITIVE": "adalah bilangan positif",
+       "MATH_IS_NEGATIVE": "adalah bilangan negatif",
+       "MATH_IS_DIVISIBLE_BY": "dapat dibagi oleh",
+       "MATH_IS_TOOLTIP": "Periksa apakah angka adalah bilangan genap, bilangan ganjil, bilangan pokok, bilangan bulat, bilangan positif, bilangan negatif, atau apakan bisa dibagi oleh angka tertentu. Kembalikan benar atau salah.",
+       "MATH_CHANGE_HELPURL": "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter",
+       "MATH_CHANGE_TITLE": "ubah %1 oleh %2",
+       "MATH_CHANGE_TOOLTIP": "Tambahkan angka kedalam variabel '%1'.",
+       "MATH_ROUND_HELPURL": "https://en.wikipedia.org/wiki/Rounding",
+       "MATH_ROUND_TOOLTIP": "Bulatkan suatu bilangan naik atau turun.",
+       "MATH_ROUND_OPERATOR_ROUND": "membulatkan",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "membulatkan keatas",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "membulatkan kebawah",
+       "MATH_ONLIST_OPERATOR_SUM": "jumlah dari list",
+       "MATH_ONLIST_TOOLTIP_SUM": "Kembalikan jumlah dari seluruh bilangan dari list.",
+       "MATH_ONLIST_OPERATOR_MIN": "minimum dari list",
+       "MATH_ONLIST_TOOLTIP_MIN": "Kembalikan angka terkecil dari list.",
+       "MATH_ONLIST_OPERATOR_MAX": "maksimum dari list",
+       "MATH_ONLIST_TOOLTIP_MAX": "Kembalikan angka terbesar dari list.",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "rata-rata dari list",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "Kembalikan rata-rata (mean aritmetik) dari nilai numerik dari list.",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "median dari list",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "Kembalikan median dari list.",
+       "MATH_ONLIST_OPERATOR_MODE": "mode-mode dari list",
+       "MATH_ONLIST_TOOLTIP_MODE": "Kembalikan list berisi item yang paling umum dari dalam list.",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "deviasi standar dari list",
+       "MATH_ONLIST_TOOLTIP_STD_DEV": "Kembalikan standard deviasi dari list.",
+       "MATH_ONLIST_OPERATOR_RANDOM": "item acak dari list",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "Kembalikan elemen acak dari list.",
+       "MATH_MODULO_HELPURL": "https://en.wikipedia.org/wiki/Modulo_operation",
+       "MATH_MODULO_TITLE": "sisa dari %1 ÷ %2",
+       "MATH_MODULO_TOOLTIP": "Kembalikan sisa dari pembagian ke dua angka.",
+       "MATH_CONSTRAIN_TITLE": "Batasi %1 rendah %2 tinggi %3",
+       "MATH_CONSTRAIN_TOOLTIP": "Batasi angka antara batas yang ditentukan (inklusif).",
+       "MATH_RANDOM_INT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_INT_TITLE": "acak bulat dari %1 sampai %2",
+       "MATH_RANDOM_INT_TOOLTIP": "Kembalikan bilangan acak antara dua batas yang ditentukan, inklusif.",
+       "MATH_RANDOM_FLOAT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "nilai pecahan acak",
+       "MATH_RANDOM_FLOAT_TOOLTIP": "Kembalikan nilai pecahan acak antara 0.0 (inklusif) dan 1.0 (eksklusif).",
+       "TEXT_TEXT_HELPURL": "https://en.wikipedia.org/wiki/String_(computer_science)",
+       "TEXT_TEXT_TOOLTIP": "Huruf, kata atau baris teks.",
+       "TEXT_JOIN_TITLE_CREATEWITH": "buat teks dengan",
+       "TEXT_JOIN_TOOLTIP": "Buat teks dengan cara gabungkan sejumlah item.",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "join",
+       "TEXT_CREATE_JOIN_TOOLTIP": "Tambah, ambil, atau susun ulang teks blok.",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "Tambahkan suatu item ke dalam teks.",
+       "TEXT_APPEND_TITLE": "untuk %1 tambahkan teks %2",
+       "TEXT_APPEND_TOOLTIP": "Tambahkan beberapa teks ke variabel '%1'.",
+       "TEXT_LENGTH_TITLE": "panjang dari %1",
+       "TEXT_LENGTH_TOOLTIP": "Kembalikan sejumlah huruf (termasuk spasi) dari teks yang disediakan.",
+       "TEXT_ISEMPTY_TITLE": "%1 kosong",
+       "TEXT_ISEMPTY_TOOLTIP": "Kembalikan benar jika teks yang disediakan kosong.",
+       "TEXT_INDEXOF_TOOLTIP": "Kembalikan indeks pertama dan terakhir dari kejadian pertama/terakhir dari teks pertama dalam teks kedua.  Kembalikan %1 jika teks tidak ditemukan.",
+       "TEXT_INDEXOF_TITLE": "dalam teks %1 %2 %3",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "temukan kejadian pertama dalam teks",
+       "TEXT_INDEXOF_OPERATOR_LAST": "temukan kejadian terakhir dalam teks",
+       "TEXT_CHARAT_FROM_START": "ambil huruf ke #",
+       "TEXT_CHARAT_FROM_END": "ambil  huruf nomor # dari belakang",
+       "TEXT_CHARAT_FIRST": "ambil  huruf pertama",
+       "TEXT_CHARAT_LAST": "ambil  huruf terakhir",
+       "TEXT_CHARAT_RANDOM": "ambil huruf secara acak",
+       "TEXT_CHARAT_TOOLTIP": "Kembalikan karakter dari posisi tertentu.",
+       "TEXT_GET_SUBSTRING_TOOLTIP": "Kembalikan spesifik bagian dari teks.",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "in teks",
+       "TEXT_GET_SUBSTRING_START_FROM_START": "ambil bagian teks (substring) dari huruf no #",
+       "TEXT_GET_SUBSTRING_START_FROM_END": "ambil bagian teks (substring) dari huruf ke # dari terakhir",
+       "TEXT_GET_SUBSTRING_START_FIRST": "ambil bagian teks (substring) dari huruf pertama",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "pada huruf #",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "pada huruf nomer # dari terakhir",
+       "TEXT_GET_SUBSTRING_END_LAST": "pada huruf terakhir",
+       "TEXT_CHANGECASE_TOOLTIP": "Kembalikan kopi dari text dengan kapitalisasi yang berbeda.",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "menjadi huruf kapital",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "menjadi huruf kecil",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": "menjadi huruf pertama kapital",
+       "TEXT_TRIM_TOOLTIP": "Kembali salinan teks dengan spasi dihapus dari satu atau kedua ujungnya.",
+       "TEXT_TRIM_OPERATOR_BOTH": "pangkas ruang dari kedua belah sisi",
+       "TEXT_TRIM_OPERATOR_LEFT": "pangkas ruang dari sisi kiri",
+       "TEXT_TRIM_OPERATOR_RIGHT": "pangkas ruang dari sisi kanan",
+       "TEXT_PRINT_TITLE": "cetak %1",
+       "TEXT_PRINT_TOOLTIP": "Cetak teks yant ditentukan, angka atau ninlai lainnya.",
+       "TEXT_PROMPT_TYPE_TEXT": "meminta teks dengan pesan",
+       "TEXT_PROMPT_TYPE_NUMBER": "Meminta angka dengan pesan",
+       "TEXT_PROMPT_TOOLTIP_NUMBER": "Meminta pengguna untuk memberi sebuah angka.",
+       "TEXT_PROMPT_TOOLTIP_TEXT": "Meminta pengguna untuk memberi beberapa teks.",
+       "LISTS_CREATE_EMPTY_HELPURL": "https://github.com/google/blockly/wiki/Lists#create-empty-list",
+       "LISTS_CREATE_EMPTY_TITLE": "buat list kosong",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "Kembalikan list, dengan panjang 0, tidak berisi data",
+       "LISTS_CREATE_WITH_TOOLTIP": "Buat sebuah list dengan sejumlah item.",
+       "LISTS_CREATE_WITH_INPUT_WITH": "buat list dengan",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "list",
+       "LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "Tambahkan, hapus, atau susun ulang bagian untuk mengkonfigurasi blok list ini.",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "Tambahkan sebuah item ke list.",
+       "LISTS_REPEAT_TOOLTIP": "Buat sebuah list yang terdiri dari nilai yang diberikan diulang sebanyak jumlah yang ditentukan.",
+       "LISTS_REPEAT_TITLE": "buat list dengan item %1 diulang %2 kali",
+       "LISTS_LENGTH_TITLE": "panjang dari %1",
+       "LISTS_LENGTH_TOOLTIP": "Kembalikan panjang list.",
+       "LISTS_ISEMPTY_TITLE": "%1 kosong",
+       "LISTS_ISEMPTY_TOOLTIP": "Kembalikan benar jika list kosong.",
+       "LISTS_INLIST": "dalam list",
+       "LISTS_INDEX_OF_FIRST": "cari kejadian pertama item",
+       "LISTS_INDEX_OF_LAST": "cari kejadian terakhir item",
+       "LISTS_INDEX_OF_TOOLTIP": "Kembalikan indeks dari item pertama/terakhir kali muncul dalam list. Kembalikan %1 jika item tidak ditemukan.",
+       "LISTS_GET_INDEX_GET": "dapatkan",
+       "LISTS_GET_INDEX_GET_REMOVE": "dapatkan dan hapus",
+       "LISTS_GET_INDEX_REMOVE": "Hapus",
+       "LISTS_GET_INDEX_FROM_START": "#",
+       "LISTS_GET_INDEX_FROM_END": "# dari akhir",
+       "LISTS_GET_INDEX_FIRST": "pertama",
+       "LISTS_GET_INDEX_LAST": "terakhir",
+       "LISTS_GET_INDEX_RANDOM": "acak",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "%1 adalah item pertama.",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "%1 adalah item terakhir.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "Kembalikan item di posisi tertentu dalam list.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "Kembalikan item pertama dalam list.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "Kembalikan item terakhir dalam list.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "Kembalikan item acak dalam list.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "Hapus dan kembalikan item di posisi tertentu dalam list.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "Hapus dan kembalikan item pertama dalam list.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "Hapus dan kembalikan item terakhir dalam list.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "Hapus dan kembalikan item acak dalam list.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "Hapus item di posisi tertentu dalam list.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "Hapus item pertama dalam list.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "Hapus item terakhir dalam list.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "Hapus sebuah item acak dalam list.",
+       "LISTS_SET_INDEX_SET": "tetapkan",
+       "LISTS_SET_INDEX_INSERT": "sisipkan di",
+       "LISTS_SET_INDEX_INPUT_TO": "sebagai",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "Tetapkan item ke dalam posisi yang telah ditentukan di dalam list.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "Tetapkan item pertama di dalam list.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_LAST": "Menetapkan item terakhir dalam list.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "Tetapkan secara acak sebuah item dalam list.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "Sisipkan item ke dalam posisi yang telah ditentukan di dalam list.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "Sisipkan item di bagian awal dari list.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "Tambahkan item ke bagian akhir list.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "Sisipkan item secara acak ke dalam list.",
+       "LISTS_GET_SUBLIST_START_FROM_START": "dapatkan sub-list dari #",
+       "LISTS_GET_SUBLIST_START_FROM_END": "dapatkan sub-list dari nomor # dari akhir",
+       "LISTS_GET_SUBLIST_START_FIRST": "dapatkan sub-list dari pertama",
+       "LISTS_GET_SUBLIST_END_FROM_START": "ke #",
+       "LISTS_GET_SUBLIST_END_FROM_END": "ke # dari akhir",
+       "LISTS_GET_SUBLIST_END_LAST": "ke yang paling akhir",
+       "LISTS_GET_SUBLIST_TOOLTIP": "Buat salinan bagian tertentu dari list.",
+       "LISTS_SORT_HELPURL": "https://github.com/google/blockly/wiki/Lists#sorting-a-list",
+       "LISTS_SORT_TITLE": "urutkan %1 %2 %3",
+       "LISTS_SORT_TOOLTIP": "Urutkan salinan dari daftar",
+       "LISTS_SORT_ORDER_ASCENDING": "menaik",
+       "LISTS_SORT_ORDER_DESCENDING": "menurun",
+       "LISTS_SORT_TYPE_NUMERIC": "sesuai nomor",
+       "LISTS_SORT_TYPE_TEXT": "sesuai abjad",
+       "LISTS_SORT_TYPE_IGNORECASE": "sesuai abjad, abaikan kasus",
+       "LISTS_SPLIT_LIST_FROM_TEXT": "buat list dari teks",
+       "LISTS_SPLIT_TEXT_FROM_LIST": "buat teks dari list",
+       "LISTS_SPLIT_WITH_DELIMITER": "dengan pembatas",
+       "LISTS_SPLIT_TOOLTIP_SPLIT": "Membagi teks ke dalam daftar teks, pisahkan pada setiap pembatas.",
+       "LISTS_SPLIT_TOOLTIP_JOIN": "Gabung daftar teks menjadi satu teks, yang dipisahkan oleh pembatas.",
+       "VARIABLES_GET_TOOLTIP": "Kembalikan nilai variabel ini.",
+       "VARIABLES_GET_CREATE_SET": "Buat 'set %1'",
+       "VARIABLES_SET": "tetapkan %1 untuk %2",
+       "VARIABLES_SET_TOOLTIP": "tetapkan variabel ini dengan input yang sama.",
+       "VARIABLES_SET_CREATE_GET": "Buat 'get %1'",
+       "PROCEDURES_DEFNORETURN_HELPURL": "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29",
+       "PROCEDURES_DEFNORETURN_TITLE": "untuk",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "buat sesuatu",
+       "PROCEDURES_BEFORE_PARAMS": "dengan:",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "dengan:",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "Buat sebuah fungsi tanpa output.",
+       "PROCEDURES_DEFNORETURN_COMMENT": "Jelaskan fungsi ini...",
+       "PROCEDURES_DEFRETURN_HELPURL": "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29",
+       "PROCEDURES_DEFRETURN_RETURN": "kembali",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "Buat sebuah fungsi dengan satu output.",
+       "PROCEDURES_ALLOW_STATEMENTS": "memungkinkan pernyataan",
+       "PROCEDURES_DEF_DUPLICATE_WARNING": "Peringatan: Fungsi ini memiliki parameter duplikat.",
+       "PROCEDURES_CALLNORETURN_HELPURL": "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29",
+       "PROCEDURES_CALLNORETURN_TOOLTIP": "Menjalankan fungsi '%1' yang ditetapkan pengguna.",
+       "PROCEDURES_CALLRETURN_HELPURL": "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29",
+       "PROCEDURES_CALLRETURN_TOOLTIP": "Menjalankan fungsi  '%1' yang ditetapkan pengguna dan menggunakan outputnya.",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "input",
+       "PROCEDURES_MUTATORCONTAINER_TOOLTIP": "Menambah, menghapus, atau menyusun ulang masukan untuk fungsi ini.",
+       "PROCEDURES_MUTATORARG_TITLE": "masukan Nama:",
+       "PROCEDURES_MUTATORARG_TOOLTIP": "Tambahkan masukan ke fungsi.",
+       "PROCEDURES_HIGHLIGHT_DEF": "Sorot definisi fungsi",
+       "PROCEDURES_CREATE_DO": "Buat '%1'",
+       "PROCEDURES_IFRETURN_TOOLTIP": "Jika nilai yang benar, kemudian kembalikan nilai kedua.",
+       "PROCEDURES_IFRETURN_WARNING": "Peringatan: Blok ini dapat digunakan hanya dalam definisi fungsi."
+}
diff --git a/js/msg/json/is.json b/js/msg/json/is.json
new file mode 100644 (file)
index 0000000..7197c2b
--- /dev/null
@@ -0,0 +1,372 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Jonbg",
+                       "ì•„ë¼",
+                       "Gaddi00",
+                       "Sveinki",
+                       "Sveinn í Felli"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "atriði",
+       "TODAY": "Í dag",
+       "DUPLICATE_BLOCK": "Afrita",
+       "ADD_COMMENT": "Skrifa skýringu",
+       "REMOVE_COMMENT": "Fjarlægja skýringu",
+       "EXTERNAL_INPUTS": "Ytri inntök",
+       "INLINE_INPUTS": "Innri inntök",
+       "DELETE_BLOCK": "Eyða kubbi",
+       "DELETE_X_BLOCKS": "Eyða %1 kubbum",
+       "DELETE_ALL_BLOCKS": "Eyða öllum %1 kubbunum?",
+       "CLEAN_UP": "Hreinsa kubba",
+       "COLLAPSE_BLOCK": "Loka kubbi",
+       "COLLAPSE_ALL": "Loka kubbum",
+       "EXPAND_BLOCK": "Opna kubb",
+       "EXPAND_ALL": "Opna kubba",
+       "DISABLE_BLOCK": "Óvirkja kubb",
+       "ENABLE_BLOCK": "Virkja kubb",
+       "HELP": "Hjálp",
+       "UNDO": "Afturkalla",
+       "REDO": "Endurtaka",
+       "CHANGE_VALUE_TITLE": "Breyta gildi:",
+       "RENAME_VARIABLE": "Endurnefna breytu...",
+       "RENAME_VARIABLE_TITLE": "Endurnefna allar '%1' breyturnar:",
+       "NEW_VARIABLE": "Búa til breytu...",
+       "NEW_VARIABLE_TITLE": "Heiti nýrrar breytu:",
+       "VARIABLE_ALREADY_EXISTS": "Breyta með heitinu '%1' er þegar til staðar.",
+       "DELETE_VARIABLE": "Eyða '%1' breytunni",
+       "COLOUR_PICKER_HELPURL": "https://en.wikipedia.org/wiki/Color",
+       "COLOUR_PICKER_TOOLTIP": "Velja lit úr litakorti.",
+       "COLOUR_RANDOM_TITLE": "einhver litur",
+       "COLOUR_RANDOM_TOOLTIP": "Velja einhvern lit af handahófi.",
+       "COLOUR_RGB_HELPURL": "http://www.december.com/html/spec/colorper.html",
+       "COLOUR_RGB_TITLE": "litur",
+       "COLOUR_RGB_RED": "rauður",
+       "COLOUR_RGB_GREEN": "grænt",
+       "COLOUR_RGB_BLUE": "blátt",
+       "COLOUR_RGB_TOOLTIP": "Búa til lit úr tilteknu magni af rauðu, grænu og bláu. Allar tölurnar verða að vera á bilinu 0 til 100.",
+       "COLOUR_BLEND_HELPURL": "http://meyerweb.com/eric/tools/color-blend/",
+       "COLOUR_BLEND_TITLE": "blöndun",
+       "COLOUR_BLEND_COLOUR1": "litur 1",
+       "COLOUR_BLEND_COLOUR2": "litur 2",
+       "COLOUR_BLEND_RATIO": "hlutfall",
+       "COLOUR_BLEND_TOOLTIP": "Blandar tveimur litum í gefnu hlutfalli (0.0 - 1.0).",
+       "CONTROLS_REPEAT_HELPURL": "https://en.wikipedia.org/wiki/For_loop",
+       "CONTROLS_REPEAT_TITLE": "endurtaka %1 sinnum",
+       "CONTROLS_REPEAT_INPUT_DO": "gera",
+       "CONTROLS_REPEAT_TOOLTIP": "Gera eitthvað aftur og aftur.",
+       "CONTROLS_WHILEUNTIL_HELPURL": "https://github.com/google/blockly/wiki/Loops#repeat",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "endurtaka á meðan",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "endurtaka þar til",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "Endurtaka eitthvað á meðan gildi er satt.",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "Endurtaka eitthvað á meðan gildi er ósatt.",
+       "CONTROLS_FOR_HELPURL": "https://github.com/google/blockly/wiki/Loops#count-with",
+       "CONTROLS_FOR_TOOLTIP": "Láta breytuna '%1' taka inn gildi frá fyrstu tölu til síðustu tölu, hlaupandi á tiltekna bilinu og gera tilteknu kubbana.",
+       "CONTROLS_FOR_TITLE": "telja með %1 frá %2 til %3 um %4",
+       "CONTROLS_FOREACH_TITLE": "fyrir hvert %1 í lista %2",
+       "CONTROLS_FOREACH_TOOLTIP": "Fyrir hvert atriði í lista er breyta '%1' stillt á atriðið og skipanir gerðar.",
+       "CONTROLS_FLOW_STATEMENTS_HELPURL": "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "fara út úr lykkju",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "fara beint í næstu umferð lykkjunnar",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "Fara út úr umlykjandi lykkju.",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "Sleppa afganginum af lykkjunni og fara beint í næstu umferð hennar.",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "Aðvörun: Þennan kubb má aðeins nota innan lykkju.",
+       "CONTROLS_IF_HELPURL": "https://github.com/google/blockly/wiki/IfElse",
+       "CONTROLS_IF_TOOLTIP_1": "Ef gildi er satt skal gera einhverjar skipanir.",
+       "CONTROLS_IF_TOOLTIP_2": "Ef gildi er satt skal gera skipanir í fyrri kubbnum. Annars skal gera skipanir í seinni kubbnum.",
+       "CONTROLS_IF_TOOLTIP_3": "Ef fyrra gildið er satt skal gera skipanir í fyrri kubbnum. Annars, ef seinna gildið er satt, þá skal gera skipanir í seinni kubbnum.",
+       "CONTROLS_IF_TOOLTIP_4": "Ef fyrra gildið er satt skal gera skipanir í fyrri kubbnum. Annars, ef seinna gildið er satt, skal gera skipanir í seinni kubbnum. Ef hvorugt gildið er satt, skal gera skipanir í síðasta kubbnum.",
+       "CONTROLS_IF_MSG_IF": "ef",
+       "CONTROLS_IF_MSG_ELSEIF": "annars ef",
+       "CONTROLS_IF_MSG_ELSE": "annars",
+       "CONTROLS_IF_IF_TOOLTIP": "Bæta við, fjarlægja eða umraða til að breyta skipan þessa EF kubbs.",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "Bæta skilyrði við EF kubbinn.",
+       "CONTROLS_IF_ELSE_TOOLTIP": "Bæta við hluta EF kubbs sem grípur öll tilfelli sem uppfylla ekki hin skilyrðin.",
+       "IOS_OK": "Í lagi",
+       "IOS_CANCEL": "Hætta við",
+       "IOS_ERROR": "Villa",
+       "IOS_VARIABLES_ADD_VARIABLE": "+ Bæta við breytu",
+       "IOS_VARIABLES_ADD_BUTTON": "Bæta við",
+       "IOS_VARIABLES_RENAME_BUTTON": "Endurnefna",
+       "IOS_VARIABLES_DELETE_BUTTON": "Eyða",
+       "IOS_VARIABLES_VARIABLE_NAME": "Nafn breytu",
+       "LOGIC_COMPARE_HELPURL": "https://en.wikipedia.org/wiki/Inequality_(mathematics)",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "Skila sönnu ef inntökin eru jöfn.",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "Skila sönnu ef inntökin eru ekki jöfn.",
+       "LOGIC_COMPARE_TOOLTIP_LT": "Skila sönnu ef fyrra inntakið er minna en seinna inntakið.",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "Skila sönnu ef fyrra inntakið er minna en eða jafnt og seinna inntakið.",
+       "LOGIC_COMPARE_TOOLTIP_GT": "Skila sönnu ef fyrra inntakið er stærra en seinna inntakið.",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "Skila sönnu ef fyrra inntakið er stærra en eða jafnt og seinna inntakið.",
+       "LOGIC_OPERATION_HELPURL": "https://github.com/google/blockly/wiki/Logic#logical-operations",
+       "LOGIC_OPERATION_TOOLTIP_AND": "Skila sönnu ef bæði inntökin eru sönn.",
+       "LOGIC_OPERATION_AND": "og",
+       "LOGIC_OPERATION_TOOLTIP_OR": "Skila sönnu ef að minnsta kosti eitt inntak er satt.",
+       "LOGIC_OPERATION_OR": "eða",
+       "LOGIC_NEGATE_HELPURL": "https://github.com/google/blockly/wiki/Logic#not",
+       "LOGIC_NEGATE_TITLE": "ekki %1",
+       "LOGIC_NEGATE_TOOLTIP": "Skilar sönnu ef inntakið er ósatt. Skilar ósönnu ef inntakið er satt.",
+       "LOGIC_BOOLEAN_HELPURL": "https://github.com/google/blockly/wiki/Logic#values",
+       "LOGIC_BOOLEAN_TRUE": "satt",
+       "LOGIC_BOOLEAN_FALSE": "ósatt",
+       "LOGIC_BOOLEAN_TOOLTIP": "Skilar annað hvort sönnu eða ósönnu.",
+       "LOGIC_NULL_HELPURL": "https://en.wikipedia.org/wiki/Nullable_type",
+       "LOGIC_NULL": "tómagildi",
+       "LOGIC_NULL_TOOLTIP": "Skilar tómagildi.",
+       "LOGIC_TERNARY_HELPURL": "https://en.wikipedia.org/wiki/%3F:",
+       "LOGIC_TERNARY_CONDITION": "prófun",
+       "LOGIC_TERNARY_IF_TRUE": "ef satt",
+       "LOGIC_TERNARY_IF_FALSE": "ef ósatt",
+       "LOGIC_TERNARY_TOOLTIP": "Kanna skilyrðið í 'prófun'. Skilar 'ef satt' gildinu ef skilyrðið er satt, en skilar annars 'ef ósatt' gildinu.",
+       "MATH_NUMBER_HELPURL": "https://en.wikipedia.org/wiki/Number",
+       "MATH_NUMBER_TOOLTIP": "Tala.",
+       "MATH_ADDITION_SYMBOL": "+",
+       "MATH_SUBTRACTION_SYMBOL": "-",
+       "MATH_DIVISION_SYMBOL": "÷",
+       "MATH_MULTIPLICATION_SYMBOL": "×",
+       "MATH_POWER_SYMBOL": "^",
+       "MATH_TRIG_SIN": "sin",
+       "MATH_TRIG_COS": "cos",
+       "MATH_TRIG_TAN": "tan",
+       "MATH_TRIG_ASIN": "asin",
+       "MATH_TRIG_ACOS": "acos",
+       "MATH_TRIG_ATAN": "atan",
+       "MATH_ARITHMETIC_HELPURL": "https://en.wikipedia.org/wiki/Arithmetic",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "Skila summu talnanna tveggja.",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "Skila mismun talnanna.",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "Skila margfeldi talnanna.",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "Skila deilingu talnanna.",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "Skila fyrri tölunni í veldinu seinni talan.",
+       "MATH_SINGLE_HELPURL": "https://en.wikipedia.org/wiki/Square_root",
+       "MATH_SINGLE_OP_ROOT": "kvaðratrót",
+       "MATH_SINGLE_TOOLTIP_ROOT": "Skila kvaðratrót tölu.",
+       "MATH_SINGLE_OP_ABSOLUTE": "algildi",
+       "MATH_SINGLE_TOOLTIP_ABS": "Skila algildi tölu.",
+       "MATH_SINGLE_TOOLTIP_NEG": "Skila neitun tölu (tölunni með öfugu formerki).",
+       "MATH_SINGLE_TOOLTIP_LN": "Skila náttúrlegum lógaritma tölu.",
+       "MATH_SINGLE_TOOLTIP_LOG10": "Skila tugalógaritma tölu.",
+       "MATH_SINGLE_TOOLTIP_EXP": "Skila e í veldi tölu.",
+       "MATH_SINGLE_TOOLTIP_POW10": "Skila 10 í veldi tölu.",
+       "MATH_TRIG_HELPURL": "https://en.wikipedia.org/wiki/Trigonometric_functions",
+       "MATH_TRIG_TOOLTIP_SIN": "Skila sínusi horns gefnu í gráðum.",
+       "MATH_TRIG_TOOLTIP_COS": "Skila kósínusi horns gefnu í gráðum.",
+       "MATH_TRIG_TOOLTIP_TAN": "Skila tangensi horns gefnu í gráðum.",
+       "MATH_TRIG_TOOLTIP_ASIN": "Skila arkarsínusi tölu.",
+       "MATH_TRIG_TOOLTIP_ACOS": "Skila arkarkósínusi tölu.",
+       "MATH_TRIG_TOOLTIP_ATAN": "Skila arkartangensi tölu.",
+       "MATH_CONSTANT_HELPURL": "https://en.wikipedia.org/wiki/Mathematical_constant",
+       "MATH_CONSTANT_TOOLTIP": "Skila algengum fasta: Ï€ (3.141…), e (2.718…), Ï† (1.618…), kvrót(2) (1.414…), kvrót(½) (0.707…) eða âˆž (óendanleika).",
+       "MATH_IS_EVEN": "er\\u00A0jöfn tala",
+       "MATH_IS_ODD": "er oddatala",
+       "MATH_IS_PRIME": "er prímtala",
+       "MATH_IS_WHOLE": "er heiltala",
+       "MATH_IS_POSITIVE": "er jákvæð",
+       "MATH_IS_NEGATIVE": "er neikvæð",
+       "MATH_IS_DIVISIBLE_BY": "er\\u00A0deilanleg með",
+       "MATH_IS_TOOLTIP": "Kanna hvort tala sé jöfn tala, oddatala, jákvæð, neikvæð eða deilanleg með tiltekinni tölu. Skilar sönnu eða ósönnu.",
+       "MATH_CHANGE_HELPURL": "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter",
+       "MATH_CHANGE_TITLE": "breyta %1 um %2",
+       "MATH_CHANGE_TOOLTIP": "Bæta tölu við breytu '%1'.",
+       "MATH_ROUND_HELPURL": "https://en.wikipedia.org/wiki/Rounding",
+       "MATH_ROUND_TOOLTIP": "Námunda tölu upp eða niður.",
+       "MATH_ROUND_OPERATOR_ROUND": "námunda",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "námunda upp",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "námunda niður",
+       "MATH_ONLIST_OPERATOR_SUM": "summa lista",
+       "MATH_ONLIST_TOOLTIP_SUM": "Skila summu allra talna í listanum.",
+       "MATH_ONLIST_OPERATOR_MIN": "minnst í lista",
+       "MATH_ONLIST_TOOLTIP_MIN": "Skila minnstu tölu í listanum.",
+       "MATH_ONLIST_OPERATOR_MAX": "stærst í lista",
+       "MATH_ONLIST_TOOLTIP_MAX": "Skila stærstu tölu í listanum.",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "meðaltal lista",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "Skila meðaltali talna í listanum.",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "miðgildi lista",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "Skila miðgildi listans.",
+       "MATH_ONLIST_OPERATOR_MODE": "tíðast í lista",
+       "MATH_ONLIST_TOOLTIP_MODE": "Skila lista yfir tíðustu gildin í listanum.",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "staðalfrávik lista",
+       "MATH_ONLIST_TOOLTIP_STD_DEV": "Skila staðalfráviki lista.",
+       "MATH_ONLIST_OPERATOR_RANDOM": "eitthvað úr lista",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "Skila einhverju atriði úr listanum.",
+       "MATH_MODULO_HELPURL": "https://en.wikipedia.org/wiki/Modulo_operation",
+       "MATH_MODULO_TITLE": "afgangur af %1 ÷ %2",
+       "MATH_MODULO_TOOLTIP": "Skila afgangi deilingar með tölunum.",
+       "MATH_CONSTRAIN_TITLE": "þröngva %1 lægst %2 hæst %3",
+       "MATH_CONSTRAIN_TOOLTIP": "Þröngva tölu til að vera innan hinna tilgreindu marka (að báðum meðtöldum).",
+       "MATH_RANDOM_INT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_INT_TITLE": "slembitala frá %1 til %2",
+       "MATH_RANDOM_INT_TOOLTIP": "Skila heiltölu sem valin er af handahófi og er innan tilgreindra marka, að báðum meðtöldum.",
+       "MATH_RANDOM_FLOAT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "slembibrot",
+       "MATH_RANDOM_FLOAT_TOOLTIP": "Skila broti sem er valið af handahófi úr tölum á bilinu frá og með 0.0 til (en ekki með) 1.0.",
+       "TEXT_TEXT_HELPURL": "https://en.wikipedia.org/wiki/String_(computer_science)",
+       "TEXT_TEXT_TOOLTIP": "Stafur, orð eða textalína.",
+       "TEXT_JOIN_HELPURL": "https://github.com/google/blockly/wiki/Text#text-creation",
+       "TEXT_JOIN_TITLE_CREATEWITH": "búa til texta með",
+       "TEXT_JOIN_TOOLTIP": "Búa til texta með því að tengja saman einhvern fjölda atriða.",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "tengja",
+       "TEXT_CREATE_JOIN_TOOLTIP": "Bæta við, fjarlægja eða umraða hlutum til að breyta skipan þessa textakubbs.",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "Bæta atriði við textann.",
+       "TEXT_APPEND_HELPURL": "https://github.com/google/blockly/wiki/Text#text-modification",
+       "TEXT_APPEND_TITLE": "við %1 bæta texta %2",
+       "TEXT_APPEND_TOOLTIP": "Bæta texta við breytuna '%1'.",
+       "TEXT_LENGTH_HELPURL": "https://github.com/google/blockly/wiki/Text#text-modification",
+       "TEXT_LENGTH_TITLE": "lengd %1",
+       "TEXT_LENGTH_TOOLTIP": "Skilar fjölda stafa (með bilum) í gefna textanum.",
+       "TEXT_ISEMPTY_HELPURL": "https://github.com/google/blockly/wiki/Text#checking-for-empty-text",
+       "TEXT_ISEMPTY_TITLE": "%1 er tómur",
+       "TEXT_ISEMPTY_TOOLTIP": "Skilar sönnu ef gefni textinn er tómur.",
+       "TEXT_INDEXOF_HELPURL": "https://github.com/google/blockly/wiki/Text#finding-text",
+       "TEXT_INDEXOF_TOOLTIP": "Finnur fyrsta/síðasta tilfelli fyrri textans í seinni textanum og skilar sæti hans. Skilar %1 ef textinn finnst ekki.",
+       "TEXT_INDEXOF_TITLE": "í texta %1 %2 %3",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "finna fyrsta tilfelli texta",
+       "TEXT_INDEXOF_OPERATOR_LAST": "finna síðasta tilfelli texta",
+       "TEXT_CHARAT_HELPURL": "https://github.com/google/blockly/wiki/Text#extracting-text",
+       "TEXT_CHARAT_TITLE": "í texta %1 %2",
+       "TEXT_CHARAT_FROM_START": "sækja staf #",
+       "TEXT_CHARAT_FROM_END": "sækja staf # frá enda",
+       "TEXT_CHARAT_FIRST": "sækja fyrsta staf",
+       "TEXT_CHARAT_LAST": "sækja síðasta staf",
+       "TEXT_CHARAT_RANDOM": "sækja einhvern staf",
+       "TEXT_CHARAT_TOOLTIP": "Skila staf á tilteknum stað.",
+       "TEXT_GET_SUBSTRING_TOOLTIP": "Skilar tilteknum hluta textans.",
+       "TEXT_GET_SUBSTRING_HELPURL": "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "í texta",
+       "TEXT_GET_SUBSTRING_START_FROM_START": "sækja textabút frá staf #",
+       "TEXT_GET_SUBSTRING_START_FROM_END": "sækja textabút frá staf # frá enda",
+       "TEXT_GET_SUBSTRING_START_FIRST": "sækja textabút frá fyrsta staf",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "að staf #",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "að staf # frá enda",
+       "TEXT_GET_SUBSTRING_END_LAST": "að síðasta staf",
+       "TEXT_CHANGECASE_HELPURL": "https://github.com/google/blockly/wiki/Text#adjusting-text-case",
+       "TEXT_CHANGECASE_TOOLTIP": "Skila afriti af textanum með annarri stafastöðu.",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "í HÁSTAFI",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "í lágstafi",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": "í Upphafstafi",
+       "TEXT_TRIM_HELPURL": "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces",
+       "TEXT_TRIM_TOOLTIP": "Skila afriti af textanum þar sem möguleg bil við báða enda hafa verið fjarlægð.",
+       "TEXT_TRIM_OPERATOR_BOTH": "eyða bilum báðum megin við",
+       "TEXT_TRIM_OPERATOR_LEFT": "eyða bilum vinstra megin við",
+       "TEXT_TRIM_OPERATOR_RIGHT": "eyða bilum hægra megin við",
+       "TEXT_PRINT_HELPURL": "https://github.com/google/blockly/wiki/Text#printing-text",
+       "TEXT_PRINT_TITLE": "prenta %1",
+       "TEXT_PRINT_TOOLTIP": "Prenta tiltekinn texta, tölu eða annað gildi.",
+       "TEXT_PROMPT_HELPURL": "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user",
+       "TEXT_PROMPT_TYPE_TEXT": "biðja um texta með skilaboðum",
+       "TEXT_PROMPT_TYPE_NUMBER": "biðja um tölu með skilaboðum",
+       "TEXT_PROMPT_TOOLTIP_NUMBER": "Biðja notandann um tölu.",
+       "TEXT_PROMPT_TOOLTIP_TEXT": "Biðja notandann um texta.",
+       "TEXT_COUNT_MESSAGE0": "fjöldi %1 í %2",
+       "TEXT_REPLACE_MESSAGE0": "skipta %1 út með %2 í %3",
+       "TEXT_REVERSE_MESSAGE0": "snúa við %1",
+       "TEXT_REVERSE_TOOLTIP": "Snýr við röð stafanna í textanum.",
+       "LISTS_CREATE_EMPTY_HELPURL": "https://github.com/google/blockly/wiki/Lists#create-empty-list",
+       "LISTS_CREATE_EMPTY_TITLE": "búa til tóman lista",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "Skilar lista með lengdina 0 án gagna",
+       "LISTS_CREATE_WITH_TOOLTIP": "Búa til lista með einhverjum fjölda atriða.",
+       "LISTS_CREATE_WITH_INPUT_WITH": "búa til lista með",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "listi",
+       "LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "Bæta við, fjarlægja eða umraða hlutum til að breyta skipan þessa listakubbs.",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "Bæta atriði við listann.",
+       "LISTS_REPEAT_HELPURL": "https://github.com/google/blockly/wiki/Lists#create-list-with",
+       "LISTS_REPEAT_TOOLTIP": "Býr til lista sem inniheldur tiltekna gildið endurtekið tiltekið oft.",
+       "LISTS_REPEAT_TITLE": "búa til lista með atriði %1 endurtekið %2 sinnum",
+       "LISTS_LENGTH_HELPURL": "https://github.com/google/blockly/wiki/Lists#length-of",
+       "LISTS_LENGTH_TITLE": "lengd %1",
+       "LISTS_LENGTH_TOOLTIP": "Skilar lengd lista.",
+       "LISTS_ISEMPTY_TITLE": "%1 er tómur",
+       "LISTS_ISEMPTY_TOOLTIP": "Skilar sönnu ef listinn er tómur.",
+       "LISTS_INLIST": "í lista",
+       "LISTS_INDEX_OF_HELPURL": "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list",
+       "LISTS_INDEX_OF_FIRST": "finna fyrsta tilfelli atriðis",
+       "LISTS_INDEX_OF_LAST": "finna síðasta tilfelli atriðis",
+       "LISTS_INDEX_OF_TOOLTIP": "Finnur hvar atriðið kemur fyrir fyrst/síðast í listanum og skilar sæti þess. Skilar %1 ef atriðið finnst ekki.",
+       "LISTS_GET_INDEX_GET": "sækja",
+       "LISTS_GET_INDEX_GET_REMOVE": "sækja og fjarlægja",
+       "LISTS_GET_INDEX_REMOVE": "fjarlægja",
+       "LISTS_GET_INDEX_FROM_START": "#",
+       "LISTS_GET_INDEX_FROM_END": "# frá enda",
+       "LISTS_GET_INDEX_FIRST": "fyrsta",
+       "LISTS_GET_INDEX_LAST": "síðasta",
+       "LISTS_GET_INDEX_RANDOM": "eitthvert",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "%1 er fyrsta atriðið.",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "%1 er síðasta atriðið.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "Skilar atriðinu í hinum tiltekna stað í lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "Skilar fyrsta atriði í lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "Skilar síðasta atriði í lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "Skilar einhverju atriði úr lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "Fjarlægir og skilar atriðinu á hinum tiltekna stað í lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "Fjarlægir og skilar fyrsta atriðinu í lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "Fjarlægir og skilar síðasta atriðinu í lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "Fjarlægir og skilar einhverju atriði úr lista.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "Fjarlægir atriðið á hinum tiltekna stað í lista.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "Fjarlægir fyrsta atriðið í lista.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "Fjarlægir síðasta atriðið í lista.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "Fjarlægir eitthvert atriði úr lista.",
+       "LISTS_SET_INDEX_HELPURL": "https://github.com/google/blockly/wiki/Lists#in-list--set",
+       "LISTS_SET_INDEX_SET": "setja í",
+       "LISTS_SET_INDEX_INSERT": "bæta við",
+       "LISTS_SET_INDEX_INPUT_TO": "sem",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "Setur atriðið í tiltekna sætið í listanum.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "Setur atriðið í fyrsta sæti lista.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_LAST": "Setur atriðið í síðasta sæti lista.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "Setur atriðið í eitthvert sæti lista.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "Bætir atriðinu í listann á tilteknum stað.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "Bætir atriðinu fremst í listann.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "Bætir atriðinu aftan við listann.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "Bætir atriðinu einhversstaðar við listann.",
+       "LISTS_GET_SUBLIST_HELPURL": "https://github.com/google/blockly/wiki/Lists#getting-a-sublist",
+       "LISTS_GET_SUBLIST_START_FROM_START": "sækja undirlista frá #",
+       "LISTS_GET_SUBLIST_START_FROM_END": "sækja undirlista frá # frá enda",
+       "LISTS_GET_SUBLIST_START_FIRST": "sækja undirlista frá fyrsta",
+       "LISTS_GET_SUBLIST_END_FROM_START": "til #",
+       "LISTS_GET_SUBLIST_END_FROM_END": "til # frá enda",
+       "LISTS_GET_SUBLIST_END_LAST": "til síðasta",
+       "LISTS_GET_SUBLIST_TOOLTIP": "Býr til afrit af tilteknum hluta lista.",
+       "LISTS_SORT_HELPURL": "https://github.com/google/blockly/wiki/Lists#sorting-a-list",
+       "LISTS_SORT_TITLE": "raða %1 %2 %3",
+       "LISTS_SORT_TOOLTIP": "Raða afriti lista.",
+       "LISTS_SORT_ORDER_ASCENDING": "hækkandi",
+       "LISTS_SORT_ORDER_DESCENDING": "lækkandi",
+       "LISTS_SORT_TYPE_NUMERIC": "í númeraröð",
+       "LISTS_SORT_TYPE_TEXT": "í stafrófsröð",
+       "LISTS_SORT_TYPE_IGNORECASE": "í stafrófsröð án tillits til stafstöðu",
+       "LISTS_SPLIT_LIST_FROM_TEXT": "gera lista úr texta",
+       "LISTS_SPLIT_TEXT_FROM_LIST": "gera texta úr lista",
+       "LISTS_SPLIT_WITH_DELIMITER": "með skiltákni",
+       "LISTS_SPLIT_TOOLTIP_SPLIT": "Skiptir texta í lista af textum, með skil við hvert skiltákn.",
+       "LISTS_SPLIT_TOOLTIP_JOIN": "Sameinar lista af textum í einn texta, með skiltákn á milli.",
+       "LISTS_REVERSE_MESSAGE0": "snúa við %1",
+       "LISTS_REVERSE_TOOLTIP": "Snúa við afriti lista.",
+       "VARIABLES_GET_HELPURL": "https://github.com/google/blockly/wiki/Variables#get",
+       "VARIABLES_GET_TOOLTIP": "Skilar gildi þessarar breytu.",
+       "VARIABLES_GET_CREATE_SET": "Búa til 'stilla %1'",
+       "VARIABLES_SET_HELPURL": "https://github.com/google/blockly/wiki/Variables#set",
+       "VARIABLES_SET": "stilla %1 á %2",
+       "VARIABLES_SET_TOOLTIP": "Stillir þessa breytu á innihald inntaksins.",
+       "VARIABLES_SET_CREATE_GET": "Búa til 'sækja %1'",
+       "PROCEDURES_DEFNORETURN_HELPURL": "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29",
+       "PROCEDURES_DEFNORETURN_TITLE": "til að",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "gera eitthvað",
+       "PROCEDURES_BEFORE_PARAMS": "með:",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "með:",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "Býr til fall sem skilar engu.",
+       "PROCEDURES_DEFNORETURN_COMMENT": "Lýstu þessari aðgerð/falli...",
+       "PROCEDURES_DEFRETURN_HELPURL": "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29",
+       "PROCEDURES_DEFRETURN_RETURN": "skila",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "Býr til fall sem skilar úttaki.",
+       "PROCEDURES_ALLOW_STATEMENTS": "leyfa setningar",
+       "PROCEDURES_DEF_DUPLICATE_WARNING": "Aðvörun: Þetta fall er með tvítekna stika.",
+       "PROCEDURES_CALLNORETURN_HELPURL": "https://en.wikipedia.org/wiki/Subroutine",
+       "PROCEDURES_CALLNORETURN_TOOLTIP": "Keyra heimatilbúna fallið '%1'.",
+       "PROCEDURES_CALLRETURN_HELPURL": "https://en.wikipedia.org/wiki/Subroutine",
+       "PROCEDURES_CALLRETURN_TOOLTIP": "Keyra heimatilbúna fallið '%1' og nota úttak þess.",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "inntök",
+       "PROCEDURES_MUTATORCONTAINER_TOOLTIP": "Bæta við, fjarlægja eða umraða inntökum fyrir þetta fall.",
+       "PROCEDURES_MUTATORARG_TITLE": "heiti inntaks:",
+       "PROCEDURES_MUTATORARG_TOOLTIP": "Bæta inntaki við fallið.",
+       "PROCEDURES_HIGHLIGHT_DEF": "Sýna skilgreiningu falls",
+       "PROCEDURES_CREATE_DO": "Búa til '%1'",
+       "PROCEDURES_IFRETURN_TOOLTIP": "Ef gildi er satt, skal skila öðru gildi.",
+       "PROCEDURES_IFRETURN_HELPURL": "http://c2.com/cgi/wiki?GuardClause",
+       "PROCEDURES_IFRETURN_WARNING": "Aðvörun: Þennan kubb má aðeins nota í skilgreiningu falls."
+}
diff --git a/js/msg/json/it.json b/js/msg/json/it.json
new file mode 100644 (file)
index 0000000..e674142
--- /dev/null
@@ -0,0 +1,348 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Beta16",
+                       "Espertus",
+                       "Nerimic",
+                       "Gbonanome",
+                       "Gianfranco",
+                       "Federico Mugnaini",
+                       "JackLantern",
+                       "Selven",
+                       "Samuele2002",
+                       "Greis",
+                       "Sarah Bernabei"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "elemento",
+       "TODAY": "Oggi",
+       "DUPLICATE_BLOCK": "Duplica",
+       "ADD_COMMENT": "Aggiungi commento",
+       "REMOVE_COMMENT": "Rimuovi commento",
+       "DUPLICATE_COMMENT": "Duplica commento",
+       "EXTERNAL_INPUTS": "Ingressi esterni",
+       "INLINE_INPUTS": "Ingressi in linea",
+       "DELETE_BLOCK": "Cancella blocco",
+       "DELETE_X_BLOCKS": "Cancella %1 blocchi",
+       "DELETE_ALL_BLOCKS": "Cancellare tutti i %1 blocchi?",
+       "CLEAN_UP": "Pulisci i blocchi",
+       "COLLAPSE_BLOCK": "Comprimi blocco",
+       "COLLAPSE_ALL": "Comprimi blocchi",
+       "EXPAND_BLOCK": "Espandi blocco",
+       "EXPAND_ALL": "Espandi blocchi",
+       "DISABLE_BLOCK": "Disattiva blocco",
+       "ENABLE_BLOCK": "Attiva blocco",
+       "HELP": "Aiuto",
+       "UNDO": "Annulla",
+       "REDO": "Ripeti",
+       "CHANGE_VALUE_TITLE": "Modifica valore:",
+       "RENAME_VARIABLE": "Rinomina variabile...",
+       "RENAME_VARIABLE_TITLE": "Rinomina tutte le variabili '%1' in:",
+       "NEW_VARIABLE": "Crea variabile...",
+       "NEW_VARIABLE_TITLE": "Nome della nuova variabile:",
+       "VARIABLE_ALREADY_EXISTS": "Una variabile denominata '%1' esiste già.",
+       "VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE": "Una variabile nominata '%1' esiste già per un'altro tipo: '%2'.",
+       "DELETE_VARIABLE_CONFIRMATION": "Cancella %1 usi della variabile '%2'?",
+       "CANNOT_DELETE_VARIABLE_PROCEDURE": "Non si può cancellare la variabile '%1' perché è parte della definizione della funzione '%2'",
+       "DELETE_VARIABLE": "Cancella la variabile '%1'",
+       "COLOUR_PICKER_HELPURL": "https://it.wikipedia.org/wiki/Colore",
+       "COLOUR_PICKER_TOOLTIP": "Scegli un colore dalla tavolozza.",
+       "COLOUR_RANDOM_TITLE": "colore casuale",
+       "COLOUR_RANDOM_TOOLTIP": "Scegli un colore a caso.",
+       "COLOUR_RGB_TITLE": "colora con",
+       "COLOUR_RGB_RED": "rosso",
+       "COLOUR_RGB_GREEN": "verde",
+       "COLOUR_RGB_BLUE": "blu",
+       "COLOUR_RGB_TOOLTIP": "Crea un colore con la quantità specificata di rosso, verde e blu. Tutti i valori devono essere compresi tra 0 e 100.",
+       "COLOUR_BLEND_TITLE": "miscela",
+       "COLOUR_BLEND_COLOUR1": "colore 1",
+       "COLOUR_BLEND_COLOUR2": "colore 2",
+       "COLOUR_BLEND_RATIO": "rapporto",
+       "COLOUR_BLEND_TOOLTIP": "Mescola due colori insieme con un determinato rapporto (0.0 - 1.0).",
+       "CONTROLS_REPEAT_HELPURL": "https://it.wikipedia.org/wiki/Ciclo_for",
+       "CONTROLS_REPEAT_TITLE": "ripeti %1 volte",
+       "CONTROLS_REPEAT_INPUT_DO": "fai",
+       "CONTROLS_REPEAT_TOOLTIP": "Esegue alcune istruzione diverse volte.",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "ripeti mentre",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "ripeti fino a che",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "Finché un valore è vero, esegue alcune istruzioni.",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "Finché un valore è falso, esegue alcune istruzioni.",
+       "CONTROLS_FOR_TOOLTIP": "Fa sì che la variabile '%1' prenda tutti i valori a partire dal numero di partenza fino a quello di arrivo, con passo pari all'intervallo specificato, ed esegue il blocco indicato.",
+       "CONTROLS_FOR_TITLE": "conta con %1 da %2 a %3 per %4",
+       "CONTROLS_FOREACH_TITLE": "per ogni elemento %1 nella lista %2",
+       "CONTROLS_FOREACH_TOOLTIP": "Per ogni elemento in una lista, imposta la variabile '%1'  pari all'elemento e quindi esegue alcune istruzioni.",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "esce dal ciclo",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "prosegui con la successiva iterazione del ciclo",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "Esce dal ciclo.",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "Salta il resto di questo ciclo e prosegue con la successiva iterazione.",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "AttenzioneË Questo blocco può essere usato solo in un ciclo.",
+       "CONTROLS_IF_TOOLTIP_1": "Se un valore è vero allora esegue alcune istruzioni.",
+       "CONTROLS_IF_TOOLTIP_2": "Se un valore è vero allora esegue il primo blocco di istruzioni. Altrimenti esegue il secondo blocco di istruzioni.",
+       "CONTROLS_IF_TOOLTIP_3": "Se il primo valore è vero allora esegue un primo blocco di istruzioni. Altrimenti, se il secondo valore è vero, esegue un secondo blocco di istruzioni.",
+       "CONTROLS_IF_TOOLTIP_4": "Se il primo valore è vero allora esegue un primo blocco di istruzioni. Altrimenti, se il secondo valore è vero, esegue un secondo blocco di istruzioni. Se nessuno dei valori è vero esegue l'ultimo blocco di istruzioni.",
+       "CONTROLS_IF_MSG_IF": "se",
+       "CONTROLS_IF_MSG_ELSEIF": "altrimenti se",
+       "CONTROLS_IF_MSG_ELSE": "altrimenti",
+       "CONTROLS_IF_IF_TOOLTIP": "Aggiungi, elimina o riordina le sezioni per riconfigurare questo blocco se.",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "Aggiungi una condizione al blocco se.",
+       "CONTROLS_IF_ELSE_TOOLTIP": "Aggiungi una condizione finale pigliatutto al blocco se.",
+       "IOS_OK": "OK",
+       "IOS_CANCEL": "Annulla",
+       "IOS_ERROR": "Errore",
+       "IOS_PROCEDURES_INPUTS": "INPUTS",
+       "IOS_PROCEDURES_ADD_INPUT": "+ Aggiungi input",
+       "IOS_PROCEDURES_ALLOW_STATEMENTS": "Consenti dichiarazioni",
+       "IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR": "Questa funzione ha entrate duplicate.",
+       "IOS_VARIABLES_ADD_VARIABLE": "+ Aggiungi variabile",
+       "IOS_VARIABLES_ADD_BUTTON": "Aggiungi",
+       "IOS_VARIABLES_RENAME_BUTTON": "Rinomina",
+       "IOS_VARIABLES_DELETE_BUTTON": "Cancella",
+       "IOS_VARIABLES_VARIABLE_NAME": "Nome variabile",
+       "IOS_VARIABLES_EMPTY_NAME_ERROR": "Non puoi utilizzare un nome di variabile vuoto.",
+       "LOGIC_COMPARE_HELPURL": "https://it.wikipedia.org/wiki/Disuguaglianza",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "Restituisce vero se gli input sono uno uguale all'altro.",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "Restituisce vero se gli input non sono uno uguale all'altro.",
+       "LOGIC_COMPARE_TOOLTIP_LT": "Restituisce vero se il primo input è minore del secondo.",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "Restituisce vero se il primo input è minore o uguale al secondo.",
+       "LOGIC_COMPARE_TOOLTIP_GT": "Restituisce vero se il primo input è maggiore o uguale al secondo.",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "Restituisce uguale se il primo input è maggiore o uguale al secondo input.",
+       "LOGIC_OPERATION_TOOLTIP_AND": "Restituisce vero se entrambi gli input sono veri.",
+       "LOGIC_OPERATION_AND": "e",
+       "LOGIC_OPERATION_TOOLTIP_OR": "Restituisce vero se almeno uno degli input è vero.",
+       "LOGIC_OPERATION_OR": "o",
+       "LOGIC_NEGATE_TITLE": "non %1",
+       "LOGIC_NEGATE_TOOLTIP": "Restituisce vero se l'input è falso. Restituisce falso se l'input è vero.",
+       "LOGIC_BOOLEAN_TRUE": "vero",
+       "LOGIC_BOOLEAN_FALSE": "falso",
+       "LOGIC_BOOLEAN_TOOLTIP": "Restituisce vero o falso.",
+       "LOGIC_NULL": "nullo",
+       "LOGIC_NULL_TOOLTIP": "Restituisce valore nullo.",
+       "LOGIC_TERNARY_CONDITION": "test",
+       "LOGIC_TERNARY_IF_TRUE": "se vero",
+       "LOGIC_TERNARY_IF_FALSE": "se falso",
+       "LOGIC_TERNARY_TOOLTIP": "Verifica la condizione in 'test'. Se questa è vera restituisce il valore 'se vero' altrimenti restituisce il valore 'se falso'.",
+       "MATH_NUMBER_HELPURL": "https://it.wikipedia.org/wiki/Numero",
+       "MATH_NUMBER_TOOLTIP": "Un numero.",
+       "MATH_ARITHMETIC_HELPURL": "https://it.wikipedia.org/wiki/Aritmetica",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "Restituisce la somma dei due numeri.",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "Restituisce la differenza dei due numeri.",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "Restituisce il prodotto dei due numeri.",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "Restituisce il quoziente dei due numeri.",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "Restituisce il primo numero elevato alla potenza del secondo numero.",
+       "MATH_SINGLE_HELPURL": "https://it.wikipedia.org/wiki/Radice_quadrata",
+       "MATH_SINGLE_OP_ROOT": "radice quadrata",
+       "MATH_SINGLE_TOOLTIP_ROOT": "Restituisce la radice quadrata del numero.",
+       "MATH_SINGLE_OP_ABSOLUTE": "assoluto",
+       "MATH_SINGLE_TOOLTIP_ABS": "Restituisce il valore assoluto del numero.",
+       "MATH_SINGLE_TOOLTIP_NEG": "Restituisce l'opposto del numero.",
+       "MATH_SINGLE_TOOLTIP_LN": "Restituisce il logaritmo naturale del numero.",
+       "MATH_SINGLE_TOOLTIP_LOG10": "Restituisce il logaritmo in base 10 del numero.",
+       "MATH_SINGLE_TOOLTIP_EXP": "Restituisce e elevato alla potenza del numero.",
+       "MATH_SINGLE_TOOLTIP_POW10": "Restituisce 10 elevato alla potenza del numero.",
+       "MATH_TRIG_HELPURL": "https://it.wikipedia.org/wiki/Funzione_trigonometrica",
+       "MATH_TRIG_TOOLTIP_SIN": "Restituisce il seno di un angolo espresso in gradi (non radianti).",
+       "MATH_TRIG_TOOLTIP_COS": "Restituisce il coseno di un angolo espresso in gradi (non radianti).",
+       "MATH_TRIG_TOOLTIP_TAN": "Restituisce la tangente di un angolo espresso in gradi (non radianti).",
+       "MATH_TRIG_TOOLTIP_ASIN": "Restituisce l'arco-seno di un numero.",
+       "MATH_TRIG_TOOLTIP_ACOS": "Restituisce l'arco-coseno di un numero.",
+       "MATH_TRIG_TOOLTIP_ATAN": "Restituisce l'arco-tangente di un numero.",
+       "MATH_CONSTANT_HELPURL": "https://it.wikipedia.org/wiki/Costante_matematica",
+       "MATH_CONSTANT_TOOLTIP": "Restituisce una delle costanti comuniˠπ (3.141…), e (2.718…), Ï† (1.618…), radq(2) (1.414…), radq(½) (0.707…) o âˆž (infinito).",
+       "MATH_IS_EVEN": "è pari",
+       "MATH_IS_ODD": "è dispari",
+       "MATH_IS_PRIME": "è primo",
+       "MATH_IS_WHOLE": "è intero",
+       "MATH_IS_POSITIVE": "è positivo",
+       "MATH_IS_NEGATIVE": "è negativo",
+       "MATH_IS_DIVISIBLE_BY": "è divisibile per",
+       "MATH_IS_TOOLTIP": "Verifica se un numero è pari, dispari, primo, intero, positivo, negativo o se è divisibile per un certo numero. Restituisce vero o falso.",
+       "MATH_CHANGE_HELPURL": "https://it.wikipedia.org/wiki/Addizione",
+       "MATH_CHANGE_TITLE": "cambia %1 di %2",
+       "MATH_CHANGE_TOOLTIP": "Aggiunge un numero alla variabile '%1'.",
+       "MATH_ROUND_HELPURL": "https://it.wikipedia.org/wiki/Arrotondamento",
+       "MATH_ROUND_TOOLTIP": "Arrotonda un numero verso l'alto o verso il basso.",
+       "MATH_ROUND_OPERATOR_ROUND": "arrotonda",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "arrotonda verso l'alto",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "arrotonda verso il basso",
+       "MATH_ONLIST_OPERATOR_SUM": "somma la lista",
+       "MATH_ONLIST_TOOLTIP_SUM": "Restituisce la somma si tutti i numeri nella lista.",
+       "MATH_ONLIST_OPERATOR_MIN": "minimo della lista",
+       "MATH_ONLIST_TOOLTIP_MIN": "Restituisce il più piccolo numero della lista.",
+       "MATH_ONLIST_OPERATOR_MAX": "massimo della lista",
+       "MATH_ONLIST_TOOLTIP_MAX": "Restituisce il più grande numero della lista.",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "media della lista",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "Restituisce la media (media aritmetica) dei valori numerici nella lista.",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "mediana della lista",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "Restituisce il valore mediano della lista.",
+       "MATH_ONLIST_OPERATOR_MODE": "mode della lista",
+       "MATH_ONLIST_TOOLTIP_MODE": "Restituisce una lista degli elementi più frequenti nella lista.",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "deviazione standard della lista",
+       "MATH_ONLIST_TOOLTIP_STD_DEV": "Restituisce la deviazione standard della lista.",
+       "MATH_ONLIST_OPERATOR_RANDOM": "elemento casuale della lista",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "Restituisce un elemento casuale della lista.",
+       "MATH_MODULO_HELPURL": "https://it.wikipedia.org/wiki/Resto",
+       "MATH_MODULO_TITLE": "resto di %1 ÷ %2",
+       "MATH_MODULO_TOOLTIP": "Restituisce il resto della divisione di due numeri.",
+       "MATH_CONSTRAIN_TITLE": "costringi %1 da %2 a %3",
+       "MATH_CONSTRAIN_TOOLTIP": "Costringe un numero all'interno dei limiti indicati (compresi).",
+       "MATH_RANDOM_INT_HELPURL": "https://it.wikipedia.org/wiki/Numeri_pseudo-casuali",
+       "MATH_RANDOM_INT_TITLE": "intero casuale da %1 a %2",
+       "MATH_RANDOM_INT_TOOLTIP": "Restituisce un numero intero casuale compreso tra i due limiti indicati (inclusi).",
+       "MATH_RANDOM_FLOAT_HELPURL": "https://it.wikipedia.org/wiki/Numeri_pseudo-casuali",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "frazione casuale",
+       "MATH_RANDOM_FLOAT_TOOLTIP": "Restituisce una frazione compresa fra 0.0 (incluso) e 1.0 (escluso).",
+       "TEXT_TEXT_HELPURL": "https://it.wikipedia.org/wiki/Stringa_(informatica)",
+       "TEXT_TEXT_TOOLTIP": "Una lettera, una parola o una linea di testo.",
+       "TEXT_JOIN_TITLE_CREATEWITH": "crea testo con",
+       "TEXT_JOIN_TOOLTIP": "Crea un blocco di testo unendo un certo numero di elementi.",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "unisci",
+       "TEXT_CREATE_JOIN_TOOLTIP": "Aggiungi, rimuovi o riordina le sezioni per riconfigurare questo blocco testo.",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "Aggiungi un elemento al testo.",
+       "TEXT_APPEND_TITLE": "a %1 aggiungi il testo %2",
+       "TEXT_APPEND_TOOLTIP": "Aggiunge del testo alla variabile '%1'.",
+       "TEXT_LENGTH_TITLE": "lunghezza di %1",
+       "TEXT_LENGTH_TOOLTIP": "Restituisce il numero di lettere (inclusi gli spazi) nel testo fornito.",
+       "TEXT_ISEMPTY_TITLE": "%1 è vuoto",
+       "TEXT_ISEMPTY_TOOLTIP": "Restituisce vero se il testo fornito è vuoto.",
+       "TEXT_INDEXOF_TOOLTIP": "Restituisce l'indice della prima occorrenza del primo testo all'interno del secondo testo. Restituisce %1 se il testo non viene trovato.",
+       "TEXT_INDEXOF_TITLE": "nel testo %1 %2 %3",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "trova la prima occorrenza del testo",
+       "TEXT_INDEXOF_OPERATOR_LAST": "trova l'ultima occorrenza del testo",
+       "TEXT_CHARAT_TITLE": "nel testo %1 %2",
+       "TEXT_CHARAT_FROM_START": "prendi la lettera #",
+       "TEXT_CHARAT_FROM_END": "prendi la lettera # dalla fine",
+       "TEXT_CHARAT_FIRST": "prendi la prima lettera",
+       "TEXT_CHARAT_LAST": "prendi l'ultima lettera",
+       "TEXT_CHARAT_RANDOM": "prendi lettera casuale",
+       "TEXT_CHARAT_TOOLTIP": "Restituisce la lettera nella posizione indicata.",
+       "TEXT_GET_SUBSTRING_TOOLTIP": "Restituisce la porzione di testo indicata.",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "nel testo",
+       "TEXT_GET_SUBSTRING_START_FROM_START": "prendi sotto-stringa dalla lettera #",
+       "TEXT_GET_SUBSTRING_START_FROM_END": "prendi sotto-stringa dalla lettera # dalla fine",
+       "TEXT_GET_SUBSTRING_START_FIRST": "prendi sotto-stringa dalla prima lettera",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "alla lettera #",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "alla lettera # dalla fine",
+       "TEXT_GET_SUBSTRING_END_LAST": "all'ultima lettera",
+       "TEXT_CHANGECASE_TOOLTIP": "Restituisce una copia del testo in un diverso formato maiuscole/minuscole.",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "in MAIUSCOLO",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "in minuscolo",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": "con Iniziali Maiuscole",
+       "TEXT_TRIM_TOOLTIP": "Restituisce una copia del testo con gli spazi rimossi ad uno o entrambe le estremità.",
+       "TEXT_TRIM_OPERATOR_BOTH": "rimuovi spazi da entrambi gli estremi",
+       "TEXT_TRIM_OPERATOR_LEFT": "rimuovi spazi a sinistra",
+       "TEXT_TRIM_OPERATOR_RIGHT": "rimuovi spazi a destra",
+       "TEXT_PRINT_TITLE": "scrivi %1",
+       "TEXT_PRINT_TOOLTIP": "Scrive il testo, numero o altro valore indicato.",
+       "TEXT_PROMPT_TYPE_TEXT": "richiedi testo con messaggio",
+       "TEXT_PROMPT_TYPE_NUMBER": "richiedi numero con messaggio",
+       "TEXT_PROMPT_TOOLTIP_NUMBER": "Richiedi un numero all'utente.",
+       "TEXT_PROMPT_TOOLTIP_TEXT": "Richiede del testo da parte dell'utente.",
+       "TEXT_COUNT_MESSAGE0": "conta %1 in %2",
+       "TEXT_COUNT_HELPURL": "https://github.com/google/blockly/wiki/Text#counting-substrings",
+       "TEXT_COUNT_TOOLTIP": "Contare quante volte una parte di testo si ripete all'interno di qualche altro testo.",
+       "TEXT_REPLACE_MESSAGE0": "sostituisci %1 con %2 in %3",
+       "TEXT_REPLACE_HELPURL": "https://github.com/google/blockly/wiki/Text#replacing-substrings",
+       "TEXT_REPLACE_TOOLTIP": "sostituisci tutte le occorrenze di un certo testo con qualche altro testo.",
+       "TEXT_REVERSE_MESSAGE0": "inverti %1",
+       "TEXT_REVERSE_TOOLTIP": "Inverte l'ordine dei caratteri nel testo.",
+       "LISTS_CREATE_EMPTY_TITLE": "crea lista vuota",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "Restituisce una lista, di lunghezza 0, contenente nessun record di dati",
+       "LISTS_CREATE_WITH_TOOLTIP": "Crea una lista con un certo numero di elementi.",
+       "LISTS_CREATE_WITH_INPUT_WITH": "crea lista con",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "lista",
+       "LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "Aggiungi, rimuovi o riordina le sezioni per riconfigurare il blocco lista.",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "Aggiunge un elemento alla lista.",
+       "LISTS_REPEAT_TOOLTIP": "Crea una lista costituita dal valore indicato ripetuto per il numero di volte specificato.",
+       "LISTS_REPEAT_TITLE": "crea una lista con l'elemento %1 ripetuto %2 volte",
+       "LISTS_LENGTH_TITLE": "lunghezza di %1",
+       "LISTS_LENGTH_TOOLTIP": "Restituisce la lunghezza della lista",
+       "LISTS_ISEMPTY_TITLE": "%1 è vuota",
+       "LISTS_ISEMPTY_TOOLTIP": "Restituisce vero se la lista è vuota.",
+       "LISTS_INLIST": "nella lista",
+       "LISTS_INDEX_OF_FIRST": "trova la prima occorrenza dell'elemento",
+       "LISTS_INDEX_OF_LAST": "trova l'ultima occorrenza dell'elemento",
+       "LISTS_INDEX_OF_TOOLTIP": "Restituisce l'indice della prima/ultima occorrenza dell'elemento nella lista. Restituisce %1 se l'elemento non viene trovato.",
+       "LISTS_GET_INDEX_GET": "prendi",
+       "LISTS_GET_INDEX_GET_REMOVE": "prendi e rimuovi",
+       "LISTS_GET_INDEX_REMOVE": "rimuovi",
+       "LISTS_GET_INDEX_FROM_END": "# dalla fine",
+       "LISTS_GET_INDEX_FIRST": "primo",
+       "LISTS_GET_INDEX_LAST": "ultimo",
+       "LISTS_GET_INDEX_RANDOM": "casuale",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "%1 corrisponde al primo elemento.",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "%1 corrisponde all'ultimo elemento.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "Restituisce l'elemento nella posizione indicata della lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "Restituisce il primo elemento in una lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "Restituisce l'ultimo elemento in una lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "Restituisce un elemento casuale in una lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "Rimuove e restituisce l'elemento nella posizione indicata in una lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "Rimuove e restituisce il primo elemento in una lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "Restituisce e rimuove l'ultimo elemento in una lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "Restituisce e rimuove un elemento casuale in una lista.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "Rimuove l'elemento nella posizione indicata in una lista.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "Rimuove il primo elemento in una lista.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "Rimuove l'ultimo elemento in una lista.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "Rimuove un elemento casuale in una lista.",
+       "LISTS_SET_INDEX_SET": "imposta",
+       "LISTS_SET_INDEX_INSERT": "inserisci in",
+       "LISTS_SET_INDEX_INPUT_TO": "come",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "Imposta l'elemento nella posizione indicata di una lista.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "Imposta il primo elemento in una lista.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_LAST": "Imposta l'ultimo elemento in una lista.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "Imposta un elemento casuale in una lista.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "Inserisci un elemento nella posizione indicata in una lista.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "Inserisci l'elemento all'inizio della lista.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "Aggiungi un elemento alla fine di una lista",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "Inserisce l'elemento casualmente in una lista.",
+       "LISTS_GET_SUBLIST_START_FROM_START": "prendi sotto-lista da #",
+       "LISTS_GET_SUBLIST_START_FROM_END": "prendi sotto-lista da # dalla fine",
+       "LISTS_GET_SUBLIST_START_FIRST": "prendi sotto-lista dall'inizio",
+       "LISTS_GET_SUBLIST_END_FROM_START": "fino a #",
+       "LISTS_GET_SUBLIST_END_FROM_END": "da # dalla fine",
+       "LISTS_GET_SUBLIST_END_LAST": "dagli ultimi",
+       "LISTS_GET_SUBLIST_TOOLTIP": "Crea una copia della porzione specificata di una lista.",
+       "LISTS_SORT_HELPURL": "https://github.com/google/blockly/wiki/Lists#sorting-a-list",
+       "LISTS_SORT_TITLE": "ordinamento %1 %2 %3",
+       "LISTS_SORT_TOOLTIP": "Ordina una copia di un elenco.",
+       "LISTS_SORT_ORDER_ASCENDING": "crescente",
+       "LISTS_SORT_ORDER_DESCENDING": "decrescente",
+       "LISTS_SORT_TYPE_NUMERIC": "numerico",
+       "LISTS_SORT_TYPE_TEXT": "alfabetico",
+       "LISTS_SORT_TYPE_IGNORECASE": "alfabetico, ignorare differenze maiuscole e minuscole",
+       "LISTS_SPLIT_LIST_FROM_TEXT": "crea lista da testo",
+       "LISTS_SPLIT_TEXT_FROM_LIST": "crea testo da lista",
+       "LISTS_SPLIT_WITH_DELIMITER": "con delimitatore",
+       "LISTS_SPLIT_TOOLTIP_SPLIT": "Dividi il testo in un elenco di testi, interrompendo ad ogni delimitatore.",
+       "LISTS_SPLIT_TOOLTIP_JOIN": "Unisci una lista di testi in un unico testo, separato da un delimitatore.",
+       "LISTS_REVERSE_MESSAGE0": "inverti %1",
+       "LISTS_REVERSE_TOOLTIP": "Inverti una copia di un elenco.",
+       "VARIABLES_GET_TOOLTIP": "Restituisce il valore di una variabile.",
+       "VARIABLES_GET_CREATE_SET": "Crea 'imposta %1'",
+       "VARIABLES_SET": "imposta %1 a %2",
+       "VARIABLES_SET_TOOLTIP": "Imposta questa variabile ad essere pari all'input.",
+       "VARIABLES_SET_CREATE_GET": "Crea 'prendi %1'",
+       "PROCEDURES_DEFNORETURN_TITLE": "per",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "fai qualcosa",
+       "PROCEDURES_BEFORE_PARAMS": "conË",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "conË",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "Crea una funzione senza output.",
+       "PROCEDURES_DEFNORETURN_COMMENT": "Descrivi questa funzione...",
+       "PROCEDURES_DEFRETURN_RETURN": "ritorna",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "Crea una funzione con un output.",
+       "PROCEDURES_ALLOW_STATEMENTS": "consenti dichiarazioni",
+       "PROCEDURES_DEF_DUPLICATE_WARNING": "AttenzioneË Questa funzione ha parametri duplicati.",
+       "PROCEDURES_CALLNORETURN_HELPURL": "https://it.wikipedia.org/wiki/Funzione (informatica)",
+       "PROCEDURES_CALLNORETURN_TOOLTIP": "Esegue la funzione definita dall'utente '%1'.",
+       "PROCEDURES_CALLRETURN_HELPURL": "https://it.wikipedia.org/wiki/Funzione (informatica)",
+       "PROCEDURES_CALLRETURN_TOOLTIP": "Esegue la funzione definita dall'utente '%1' ed usa il suo output.",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "input",
+       "PROCEDURES_MUTATORCONTAINER_TOOLTIP": "Aggiungi, rimuovi o riordina input alla funzione.",
+       "PROCEDURES_MUTATORARG_TITLE": "nome inputË",
+       "PROCEDURES_MUTATORARG_TOOLTIP": "Aggiungi un input alla funzione.",
+       "PROCEDURES_HIGHLIGHT_DEF": "Evidenzia definizione di funzione",
+       "PROCEDURES_CREATE_DO": "Crea '%1'",
+       "PROCEDURES_IFRETURN_TOOLTIP": "Se un valore è vero allora restituisce un secondo valore.",
+       "PROCEDURES_IFRETURN_HELPURL": "http://c2.com/cgi/wiki?GuardClause",
+       "PROCEDURES_IFRETURN_WARNING": "AttenzioneË Questo blocco può essere usato solo all'interno di una definizione di funzione.",
+       "WORKSPACE_COMMENT_DEFAULT_TEXT": "Scrivi qualcosa..."
+}
diff --git a/js/msg/json/ja.json b/js/msg/json/ja.json
new file mode 100644 (file)
index 0000000..9d86ec0
--- /dev/null
@@ -0,0 +1,380 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Shirayuki",
+                       "Oda",
+                       "ì•„ë¼",
+                       "Otokoume",
+                       "Sujiniku",
+                       "Sgk",
+                       "TAKAHASHI Shuuji",
+                       "Suiato",
+                       "ãƒã‚¤",
+                       "Aefgh39622",
+                       "Omotecho",
+                       "Gimite",
+                       "Gulpin"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "é …ç›®",
+       "TODAY": "今日",
+       "DUPLICATE_BLOCK": "複製",
+       "ADD_COMMENT": "コメントを追加",
+       "REMOVE_COMMENT": "コメントを削除",
+       "DUPLICATE_COMMENT": "コメントを複製",
+       "EXTERNAL_INPUTS": "外部入力",
+       "INLINE_INPUTS": "インライン入力",
+       "DELETE_BLOCK": "ブロックを削除",
+       "DELETE_X_BLOCKS": "%1 å€‹ã®ãƒ–ロックを削除",
+       "DELETE_ALL_BLOCKS": "%1件ã®ã™ã¹ã¦ã®ãƒ–ロックを削除ã—ã¾ã™ã‹ï¼Ÿ",
+       "CLEAN_UP": "ブロックを整ç†ã™ã‚‹",
+       "COLLAPSE_BLOCK": "ブロックを折りãŸãŸã‚€",
+       "COLLAPSE_ALL": "ブロックを折りãŸãŸã‚€",
+       "EXPAND_BLOCK": "ブロックを展開ã™ã‚‹",
+       "EXPAND_ALL": "ブロックを展開ã™ã‚‹",
+       "DISABLE_BLOCK": "ブロックを無効ã«ã™ã‚‹",
+       "ENABLE_BLOCK": "ブロックを有効ã«ã™ã‚‹",
+       "HELP": "ヘルプ",
+       "UNDO": "å–り消ã™",
+       "REDO": "ã‚„ã‚Šç›´ã™",
+       "CHANGE_VALUE_TITLE": "値を変ãˆã‚‹ï¼š",
+       "RENAME_VARIABLE": "変数ã®åå‰ã‚’変ãˆã‚‹â€¦",
+       "RENAME_VARIABLE_TITLE": "é¸æŠžã—ãŸ%1ã®å¤‰æ•°ã™ã¹ã¦ã®åå‰ã‚’変ãˆã‚‹ï¼š",
+       "NEW_VARIABLE": "変数ã®ä½œæˆâ€¦",
+       "NEW_STRING_VARIABLE": "文字列ã®å¤‰æ•°ã‚’作る...",
+       "NEW_NUMBER_VARIABLE": "æ•°ã®å¤‰æ•°ã‚’作る...",
+       "NEW_COLOUR_VARIABLE": "色ã®å¤‰æ•°ã‚’作る...",
+       "NEW_VARIABLE_TYPE_TITLE": "æ–°ã—ã„変数ã®åž‹:",
+       "NEW_VARIABLE_TITLE": "æ–°ã—ã„変数ã®åå‰ï¼š",
+       "VARIABLE_ALREADY_EXISTS": "変数å '%1' ã¯æ—¢ã«å­˜åœ¨ã—ã¦ã„ã¾ã™ã€‚",
+       "VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE": "'%2' åž‹ã® '%1' ã¨ã„ã†åå‰ã®å¤‰æ•°ãŒæ—¢ã«å­˜åœ¨ã—ã¾ã™ã€‚",
+       "DELETE_VARIABLE_CONFIRMATION": "%1ã‹æ‰€ã§ä½¿ã‚ã‚Œã¦ã„る変数 '%2' ã‚’削除ã—ã¾ã™ã‹ï¼Ÿ",
+       "CANNOT_DELETE_VARIABLE_PROCEDURE": "変数 '%1' ã¯é–¢æ•° '%2' ã®å®šç¾©ã®ä¸€éƒ¨ã§ã‚ã‚‹ãŸã‚ã€å‰Šé™¤ã§ãã¾ã›ã‚“",
+       "DELETE_VARIABLE": "変数 '%1' ã‚’削除",
+       "COLOUR_PICKER_HELPURL": "https://ja.wikipedia.org/wiki/色",
+       "COLOUR_PICKER_TOOLTIP": "パレットã‹ã‚‰è‰²ã‚’é¸ã‚“ã§ãã ã•ã„。",
+       "COLOUR_RANDOM_TITLE": "ランダムãªè‰²",
+       "COLOUR_RANDOM_TOOLTIP": "ランダムãªè‰²ã‚’é¸ã¶ã€‚",
+       "COLOUR_RGB_HELPURL": "http://www.december.com/html/spec/colorper.html",
+       "COLOUR_RGB_TITLE": "色:",
+       "COLOUR_RGB_RED": "赤",
+       "COLOUR_RGB_GREEN": "ç·‘",
+       "COLOUR_RGB_BLUE": "é’",
+       "COLOUR_RGB_TOOLTIP": "赤ã€ç·‘ã€ãŠã‚ˆã³é’ã®æŒ‡å®šã•ã‚ŒãŸé‡ã§è‰²ã‚’作æˆã—ã¾ã™ã€‚ã™ã¹ã¦ã®å€¤ã¯ 0 ï½ž 100 ã®é–“ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。",
+       "COLOUR_BLEND_HELPURL": "http://meyerweb.com/eric/tools/color-blend/",
+       "COLOUR_BLEND_TITLE": "ブレンド",
+       "COLOUR_BLEND_COLOUR1": "色 1",
+       "COLOUR_BLEND_COLOUR2": "色 2",
+       "COLOUR_BLEND_RATIO": "比率",
+       "COLOUR_BLEND_TOOLTIP": "2色を与ãˆã‚‰ã‚ŒãŸæ¯”率(0.0~1.0)ã§æ··ãœã¾ã™ã€‚",
+       "CONTROLS_REPEAT_HELPURL": "https://ja.wikipedia.org/wiki/foræ–‡",
+       "CONTROLS_REPEAT_TITLE": "%1 å›žç¹°ã‚Šè¿”ã™",
+       "CONTROLS_REPEAT_INPUT_DO": "実行",
+       "CONTROLS_REPEAT_TOOLTIP": "ã„ãã¤ã‹ã®ã‚¹ãƒ†ãƒ¼ãƒˆãƒ¡ãƒ³ãƒˆã‚’数回実行ã—ã¾ã™ã€‚",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "ç¹°ã‚Šè¿”ã™ï¼šç¶šã‘ã‚‹æ¡ä»¶",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "ç¹°ã‚Šè¿”ã™ï¼šçµ‚ã‚ã‚‹æ¡ä»¶",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "値ãŒtrueã®é–“ã€ã„ãã¤ã‹ã®ã‚¹ãƒ†ãƒ¼ãƒˆãƒ¡ãƒ³ãƒˆã‚’実行ã™ã‚‹ã€‚",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "値ãŒfalseã®é–“ã€ã„ãã¤ã‹ã®ã‚¹ãƒ†ãƒ¼ãƒˆãƒ¡ãƒ³ãƒˆã‚’実行ã™ã‚‹ã€‚",
+       "CONTROLS_FOR_TOOLTIP": "変数 '%1' ãŒé–‹å§‹ç•ªå·ã‹ã‚‰çµ‚了番å·ã¾ã§æŒ‡å®šã—ãŸé–“éš”ã§ã®å€¤ã‚’ã¨ã£ã¦ã€æŒ‡å®šã—ãŸãƒ–ロックを実行ã™ã‚‹ã€‚",
+       "CONTROLS_FOR_TITLE": "%1 ã‚’ %2 ã‹ã‚‰ %3 ã¾ã§ %4 ãšã¤ã‚«ã‚¦ãƒ³ãƒˆã™ã‚‹",
+       "CONTROLS_FOREACH_TITLE": "リスト%2ã®å„é …ç›®%1ã«ã¤ã„ã¦",
+       "CONTROLS_FOREACH_TOOLTIP": "リストã®å„é …ç›®ã«ã¤ã„ã¦ã€ãã®é …目を変数'%1'ã¨ã—ã¦ã€ã„ãã¤ã‹ã®ã‚¹ãƒ†ãƒ¼ãƒˆãƒ¡ãƒ³ãƒˆã‚’実行ã—ã¾ã™ã€‚",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "ループã‹ã‚‰æŠœã‘出ã™",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "ループã®æ¬¡ã®å復処ç†ã‚’続行ã—ã¾ã™",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "å…¥ã£ã¦ã„るループã‹ã‚‰æŠœã‘出ã—ã¾ã™ã€‚",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "ã“ã®ãƒ«ãƒ¼ãƒ—ã®æ®‹ã‚Šã®éƒ¨åˆ†ã‚’スキップã—ã¦ã€ãƒ«ãƒ¼ãƒ—ã®ç¹°ã‚Šè¿”ã—を続ã‘ã¾ã™ã€‚",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "注æ„: ã“ã®ãƒ–ロックã¯ã€ãƒ«ãƒ¼ãƒ—内ã§ã®ã¿ä½¿ç”¨ã§ãã¾ã™ã€‚",
+       "CONTROLS_IF_TOOLTIP_1": "値㌠true ã®å ´åˆã€ã‚¹ãƒ†ãƒ¼ãƒˆãƒ¡ãƒ³ãƒˆã‚’実行ã—ã¾ã™ã€‚",
+       "CONTROLS_IF_TOOLTIP_2": "値㌠true å ´åˆã¯ã€ã‚¹ãƒ†ãƒ¼ãƒˆãƒ¡ãƒ³ãƒˆã®æœ€åˆã®ãƒ–ロックを行ã„ã¾ã™ã€‚ãれ以外ã®å ´åˆã¯ã€ã‚¹ãƒ†ãƒ¼ãƒˆãƒ¡ãƒ³ãƒˆã® 2 ç•ªç›®ã®ãƒ–ロックを行ã„ã¾ã™ã€‚",
+       "CONTROLS_IF_TOOLTIP_3": "最åˆã®å€¤ãŒ true å ´åˆã¯ã€ã‚¹ãƒ†ãƒ¼ãƒˆãƒ¡ãƒ³ãƒˆã®æœ€åˆã®ãƒ–ロックを行ã„ã¾ã™ã€‚ãれ以外ã®å ´åˆã¯ã€2 ç•ªç›®ã®å€¤ãŒ true ã®å ´åˆã€ã‚¹ãƒ†ãƒ¼ãƒˆãƒ¡ãƒ³ãƒˆã® 2 ç•ªç›®ã®ãƒ–ロックをã—ã¾ã™ã€‚",
+       "CONTROLS_IF_TOOLTIP_4": "最åˆã®å€¤ãŒ true å ´åˆã¯ã€ã‚¹ãƒ†ãƒ¼ãƒˆãƒ¡ãƒ³ãƒˆã®æœ€åˆã®ãƒ–ロックを行ã„ã¾ã™ã€‚2 ç•ªç›®ã®å€¤ãŒ true ã®å ´åˆã¯ã€ã‚¹ãƒ†ãƒ¼ãƒˆãƒ¡ãƒ³ãƒˆã® 2 ç•ªç›®ã®ãƒ–ロックを行ã„ã¾ã™ã€‚ãれ以外ã®å ´åˆã¯æœ€å¾Œã®ãƒ–ロックã®ã‚¹ãƒ†ãƒ¼ãƒˆãƒ¡ãƒ³ãƒˆã‚’è¡Œã„ã¾ã™ã€‚",
+       "CONTROLS_IF_MSG_IF": "ã‚‚ã—",
+       "CONTROLS_IF_MSG_ELSEIF": "ãã†ã§ãªãã‚‚ã—",
+       "CONTROLS_IF_MSG_ELSE": "ãã†ã§ãªã‘ã‚Œã°",
+       "CONTROLS_IF_IF_TOOLTIP": "追加ã€å‰Šé™¤ã€ã¾ãŸã¯ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚’é †åºå¤‰æ›´ã—ã¦ã€ãƒ–ロックをã“れをå†æ§‹æˆã—ã¾ã™ã€‚",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "「もã—ã‚‚ã€ã®ãƒ–ロックã«æ¡ä»¶ã‚’追加ã—ã¾ã™ã€‚",
+       "CONTROLS_IF_ELSE_TOOLTIP": "Ifブロックã«ã€ã™ã¹ã¦ã‚’キャッãƒã™ã‚‹æ¡ä»¶ã‚’追加。",
+       "IOS_OK": "OK",
+       "IOS_CANCEL": "キャンセル",
+       "IOS_ERROR": "エラー",
+       "IOS_PROCEDURES_INPUTS": "入力",
+       "IOS_PROCEDURES_ADD_INPUT": "+ 入力を追加",
+       "IOS_PROCEDURES_ALLOW_STATEMENTS": "ステートメントを許å¯",
+       "IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR": "ã“ã®é–¢æ•°ã«ã¯é‡è¤‡ã™ã‚‹å…¥åŠ›ãŒã‚ã‚Šã¾ã™ã€‚",
+       "IOS_VARIABLES_ADD_VARIABLE": "+ å¤‰æ•°ã‚’追加",
+       "IOS_VARIABLES_ADD_BUTTON": "追加",
+       "IOS_VARIABLES_RENAME_BUTTON": "åå‰ã‚’変更",
+       "IOS_VARIABLES_DELETE_BUTTON": "削除",
+       "IOS_VARIABLES_VARIABLE_NAME": "変数å",
+       "IOS_VARIABLES_EMPTY_NAME_ERROR": "空ã®å¤‰æ•°åã¯ä½¿ç”¨ã§ãã¾ã›ã‚“。",
+       "LOGIC_COMPARE_HELPURL": "https://ja.wikipedia.org/wiki/ä¸ç­‰å¼",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "両方ã®å…¥åŠ›ãŒäº’ã„ã«ç­‰ã—ã„å ´åˆã« true ã‚’è¿”ã—ã¾ã™ã€‚",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "両方ã®å…¥åŠ›ãŒäº’ã„ã«ç­‰ã—ããªã„å ´åˆã« true ã‚’è¿”ã—ã¾ã™ã€‚",
+       "LOGIC_COMPARE_TOOLTIP_LT": "最åˆã®å…¥åŠ›ãŒ 2 ç•ªç›®ã®å…¥åŠ›ã‚ˆã‚Šã‚‚å°ã•ã„å ´åˆã¯ true ã‚’è¿”ã—ã¾ã™ã€‚",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "最åˆã®å…¥åŠ›ãŒ 2 ç•ªç›®ã®å…¥åŠ›ä»¥ä¸‹ã®å ´åˆã« true ã‚’è¿”ã—ã¾ã™ã€‚",
+       "LOGIC_COMPARE_TOOLTIP_GT": "最åˆã®å…¥åŠ›ãŒ 2 ç•ªç›®ã®å…¥åŠ›ã‚ˆã‚Šã‚‚大ãã„å ´åˆã¯ true ã‚’è¿”ã—ã¾ã™ã€‚",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "最åˆã®å…¥åŠ›ãŒ 2 ç•ªç›®ã®å…¥åŠ›ä»¥ä¸Šã®å ´åˆã« true ã‚’è¿”ã—ã¾ã™ã€‚",
+       "LOGIC_OPERATION_TOOLTIP_AND": "両方ã®å…¥åŠ›ãŒ true ã®ã¨ãã« true ã‚’è¿”ã—ã¾ã™ã€‚",
+       "LOGIC_OPERATION_AND": "ã‹ã¤",
+       "LOGIC_OPERATION_TOOLTIP_OR": "å°‘ãªãã¨ã‚‚ 1 ã¤ã®å…¥åŠ›ãŒ true ã®ã¨ãã« true ã‚’è¿”ã—ã¾ã™ã€‚",
+       "LOGIC_OPERATION_OR": "ã¾ãŸã¯",
+       "LOGIC_NEGATE_HELPURL": "https://ja.wikipedia.org/wiki/å¦å®š",
+       "LOGIC_NEGATE_TITLE": "%1ã§ã¯ãªã„",
+       "LOGIC_NEGATE_TOOLTIP": "入力㌠false ã®å ´åˆã¯ã€true ã‚’è¿”ã—ã¾ã™ã€‚入力㌠true ã®å ´åˆã¯ false ã‚’è¿”ã—ã¾ã™ã€‚",
+       "LOGIC_BOOLEAN_TRUE": "true",
+       "LOGIC_BOOLEAN_FALSE": "false",
+       "LOGIC_BOOLEAN_TOOLTIP": "true ã¾ãŸã¯ false ã‚’è¿”ã—ã¾ã™ã€‚",
+       "LOGIC_NULL_HELPURL": "https://en.wikipedia.org/wiki/Nullable_type",
+       "LOGIC_NULL": "null",
+       "LOGIC_NULL_TOOLTIP": "null ã‚’è¿”ã—ã¾ã™ã€‚",
+       "LOGIC_TERNARY_HELPURL": "https://ja.wikipedia.org/wiki/%3F:",
+       "LOGIC_TERNARY_CONDITION": "テスト",
+       "LOGIC_TERNARY_IF_TRUE": "true ã®å ´åˆ",
+       "LOGIC_TERNARY_IF_FALSE": "false ã®å ´åˆ",
+       "LOGIC_TERNARY_TOOLTIP": "'テスト' ã®æ¡ä»¶ã‚’ãƒã‚§ãƒƒã‚¯ã—ã¾ã™ã€‚æ¡ä»¶ãŒ true ã®å ´åˆã€'true' ã®å€¤ã‚’è¿”ã—ã¾ã™ã€‚ãれ以外ã®å ´åˆ 'false' ã®ã‚’è¿”ã—ã¾ã™ã€‚",
+       "MATH_NUMBER_HELPURL": "https://ja.wikipedia.org/wiki/æ•°",
+       "MATH_NUMBER_TOOLTIP": "æ•°ã§ã™ã€‚",
+       "MATH_ADDITION_SYMBOL": "+",
+       "MATH_SUBTRACTION_SYMBOL": "-",
+       "MATH_DIVISION_SYMBOL": "÷",
+       "MATH_MULTIPLICATION_SYMBOL": "×",
+       "MATH_POWER_SYMBOL": "^",
+       "MATH_TRIG_SIN": "sin",
+       "MATH_TRIG_COS": "cos",
+       "MATH_TRIG_TAN": "tan",
+       "MATH_TRIG_ASIN": "asin",
+       "MATH_TRIG_ACOS": "acos",
+       "MATH_TRIG_ATAN": "atan",
+       "MATH_ARITHMETIC_HELPURL": "https://ja.wikipedia.org/wiki/ç®—è¡“",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "2 ã¤ã®æ•°ã®åˆè¨ˆã‚’è¿”ã—ã¾ã™ã€‚",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "2 ã¤ã®æ•°ã®å·®ã‚’è¿”ã—ã¾ã™ã€‚",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "2 ã¤ã®æ•°ã®ç©ã‚’è¿”ã—ã¾ã™ã€‚",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "2 ã¤ã®æ•°ã®å•†ã‚’è¿”ã—ã¾ã™ã€‚",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "最åˆã®æ•°ã‚’2 ç•ªç›®ã®å€¤ã§ç´¯ä¹—ã—ãŸçµæžœã‚’è¿”ã—ã¾ã™ã€‚",
+       "MATH_SINGLE_HELPURL": "https://ja.wikipedia.org/wiki/平方根",
+       "MATH_SINGLE_OP_ROOT": "平方根",
+       "MATH_SINGLE_TOOLTIP_ROOT": "平方根を返ã™ã€‚",
+       "MATH_SINGLE_OP_ABSOLUTE": "絶対値",
+       "MATH_SINGLE_TOOLTIP_ABS": "絶対値を返ã™ã€‚",
+       "MATH_SINGLE_TOOLTIP_NEG": "è² ã®æ•°ã‚’è¿”ã™ã€‚",
+       "MATH_SINGLE_TOOLTIP_LN": "数値ã®è‡ªç„¶å¯¾æ•°ã‚’è¿”ã™ã€‚",
+       "MATH_SINGLE_TOOLTIP_LOG10": "底ãŒ10ã®å¯¾æ•°ã‚’è¿”ã™ã€‚",
+       "MATH_SINGLE_TOOLTIP_EXP": "ãƒã‚¤ãƒ”ア数eã®æ•°å€¤ä¹—ã‚’è¿”ã™ã€‚",
+       "MATH_SINGLE_TOOLTIP_POW10": "1ï¼ã®æ•°å€¤ä¹—ã‚’è¿”ã™ã€‚",
+       "MATH_TRIG_HELPURL": "https://ja.wikipedia.org/wiki/三角関数",
+       "MATH_TRIG_TOOLTIP_SIN": "(ラジアンã§ã¯ãªã)度数ã®æ­£å¼¦ï¼ˆsin)を返ã™ã€‚",
+       "MATH_TRIG_TOOLTIP_COS": "(ラジアンã§ã¯ãªã)度数ã®ä½™å¼¦ï¼ˆcosin)を返ã™ã€‚",
+       "MATH_TRIG_TOOLTIP_TAN": "(ラジアンã§ã¯ãªã)度数ã®æ­£æŽ¥ï¼ˆtan)を返ã™ã€‚",
+       "MATH_TRIG_TOOLTIP_ASIN": "アークサイン(arcsin)を返ã™ã€‚",
+       "MATH_TRIG_TOOLTIP_ACOS": "アークコサイン(arccosin)を返ã™ã€‚",
+       "MATH_TRIG_TOOLTIP_ATAN": "アークタンジェント(arctan)を返ã™ã€‚",
+       "MATH_CONSTANT_HELPURL": "https://ja.wikipedia.org/wiki/数学定数",
+       "MATH_CONSTANT_TOOLTIP": "ã„ãšã‚Œã‹ã®å…±é€šã®å®šæ•°ã®ã‚’è¿”ã™: Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), or âˆž (ç„¡é™).",
+       "MATH_IS_EVEN": "ã¯å¶æ•°",
+       "MATH_IS_ODD": "ã¯å¥‡æ•°",
+       "MATH_IS_PRIME": "ã¯ç´ æ•°",
+       "MATH_IS_WHOLE": "ã¯æ•´æ•°",
+       "MATH_IS_POSITIVE": "ã¯æ­£",
+       "MATH_IS_NEGATIVE": "ã¯è² ",
+       "MATH_IS_DIVISIBLE_BY": "ã¯ä»¥ä¸‹ã§å‰²ã‚Šãれる:",
+       "MATH_IS_TOOLTIP": "æ•°å­—ãŒã€å¶æ•°ã€å¥‡æ•°ã€ç´ æ•°ã€æ•´æ•°ã€æ­£æ•°ã€è² æ•°ã€ã¾ãŸã¯ç‰¹å®šã®æ•°ã§å‰²ã‚Šåˆ‡ã‚Œã‚‹ã‹ã©ã†ã‹ã‚’判定ã—ã€true ã‹ false ã‚’è¿”ã—ã¾ã™ã€‚",
+       "MATH_CHANGE_HELPURL": "https://ja.wikipedia.org/wiki/加法",
+       "MATH_CHANGE_TITLE": "%1 ã‚’ %2 å¢—ã‚„ã™",
+       "MATH_CHANGE_TOOLTIP": "変数'%1'ã«æ•°ã‚’ãŸã™ã€‚",
+       "MATH_ROUND_HELPURL": "https://ja.wikipedia.org/wiki/端数処ç†",
+       "MATH_ROUND_TOOLTIP": "数値を切り上ã’ã‚‹ã‹åˆ‡ã‚Šæ¨ã¦ã‚‹",
+       "MATH_ROUND_OPERATOR_ROUND": "å››æ¨äº”å…¥",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "切り上ã’",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "切りæ¨ã¦",
+       "MATH_ONLIST_OPERATOR_SUM": "リストã®åˆè¨ˆ",
+       "MATH_ONLIST_TOOLTIP_SUM": "リストã®æ•°å€¤ã‚’足ã—ã¦è¿”ã™ã€‚",
+       "MATH_ONLIST_OPERATOR_MIN": "リストã®æœ€å°å€¤",
+       "MATH_ONLIST_TOOLTIP_MIN": "リストã®æœ€å°å€¤ã‚’è¿”ã™ã€‚",
+       "MATH_ONLIST_OPERATOR_MAX": "リストã®æœ€å¤§å€¤",
+       "MATH_ONLIST_TOOLTIP_MAX": "リストã®æœ€å¤§å€¤ã‚’è¿”ã™ã€‚",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "リストã®å¹³å‡",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "リストã®æ•°å€¤ã®å¹³å‡ (ç®—è¡“å¹³å‡) ã‚’è¿”ã™ã€‚",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "リストã®ä¸­å¤®å€¤",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "リストã®ä¸­å¤®å€¤ã‚’è¿”ã™ã€‚",
+       "MATH_ONLIST_OPERATOR_MODE": "リストã®æœ€é »å€¤",
+       "MATH_ONLIST_TOOLTIP_MODE": "リスト中ã®æœ€é »é …ç›®ã®ãƒªã‚¹ãƒˆã‚’è¿”ã™ã€‚",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "リストã®æ¨™æº–åå·®",
+       "MATH_ONLIST_TOOLTIP_STD_DEV": "リストã®æ¨™æº–å差を返ã™ã€‚",
+       "MATH_ONLIST_OPERATOR_RANDOM": "リストã‹ã‚‰ãƒ©ãƒ³ãƒ€ãƒ ã«é¸ã°ã‚ŒãŸé …ç›®",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "リストã‹ã‚‰ãƒ©ãƒ³ãƒ€ãƒ ã«é¸ã°ã‚ŒãŸè¦ç´ ã‚’è¿”ã™ã€‚",
+       "MATH_MODULO_HELPURL": "https://en.wikipedia.org/wiki/Modulo_operation",
+       "MATH_MODULO_TITLE": "%1÷%2ã®ä½™ã‚Š",
+       "MATH_MODULO_TOOLTIP": "2ã¤ã®æ•°å€¤ã®å‰²ã‚Šç®—ã®ä½™ã‚Šã‚’è¿”ã™ã€‚",
+       "MATH_CONSTRAIN_TITLE": "%1 ã‚’ %2 ä»¥ä¸Š %3 ä»¥ä¸‹ã®ç¯„囲ã«åˆ¶é™",
+       "MATH_CONSTRAIN_TOOLTIP": "指定ã—ãŸä¸Šé™ã¨ä¸‹é™ã®é–“ã«å€¤ã‚’制é™ã™ã‚‹ï¼ˆä¸Šé™ã¨ä¸‹é™ã®å€¤ã‚’å«ã‚€ï¼‰ã€‚",
+       "MATH_RANDOM_INT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_INT_TITLE": "%1ã‹ã‚‰%2ã¾ã§ã®ãƒ©ãƒ³ãƒ€ãƒ ãªæ•´æ•°",
+       "MATH_RANDOM_INT_TOOLTIP": "指定ã•ã‚ŒãŸï¼ˆä¸Šä¸‹é™ã‚’å«ã‚€ï¼‰ç¯„囲ã®ãƒ©ãƒ³ãƒ€ãƒ ãªæ•´æ•°ã‚’è¿”ã—ã¾ã™ã€‚",
+       "MATH_RANDOM_FLOAT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "1未満ã®æ­£ã®ä¹±æ•°",
+       "MATH_RANDOM_FLOAT_TOOLTIP": "0.0以上ã§1.0未満ã®ç¯„囲ã®ä¹±æ•°ã‚’è¿”ã—ã¾ã™ã€‚",
+       "TEXT_TEXT_HELPURL": "https://ja.wikipedia.org/wiki/文字列",
+       "TEXT_TEXT_TOOLTIP": "文字ã€å˜èªžã€ã¾ãŸã¯è¡Œã®ãƒ†ã‚­ã‚¹ãƒˆã€‚",
+       "TEXT_JOIN_TITLE_CREATEWITH": "テキストã®ä½œæˆï¼š",
+       "TEXT_JOIN_TOOLTIP": "ä»»æ„ã®æ•°ã®é …目一部を一緒ã«æŽ¥åˆã—ã¦ãƒ†ã‚­ã‚¹ãƒˆã‚’作æˆã€‚",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "çµåˆ",
+       "TEXT_CREATE_JOIN_TOOLTIP": "セクションを追加ã€å‰Šé™¤ã€ã¾ãŸã¯é †åºå¤‰æ›´ã—ã¦ã€ãƒ–ロックをå†æ§‹æˆã€‚",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "テキストã¸é …目を追加。",
+       "TEXT_APPEND_TITLE": "é …ç›® %1 ã¸ãƒ†ã‚­ã‚¹ãƒˆã‚’追加 %2",
+       "TEXT_APPEND_TOOLTIP": "変数 '%1' ã«ãƒ†ã‚­ã‚¹ãƒˆã‚’追加。",
+       "TEXT_LENGTH_TITLE": "%1ã®é•·ã•",
+       "TEXT_LENGTH_TOOLTIP": "与ãˆã‚‰ã‚ŒãŸãƒ†ã‚­ã‚¹ãƒˆã®(スペースをå«ã‚€)文字数を返ã™ã€‚",
+       "TEXT_ISEMPTY_TITLE": "%1ãŒç©º",
+       "TEXT_ISEMPTY_TOOLTIP": "与ãˆã‚‰ã‚ŒãŸãƒ†ã‚­ã‚¹ãƒˆãŒç©ºã®å ´åˆã¯ true ã‚’è¿”ã™ã€‚",
+       "TEXT_INDEXOF_TOOLTIP": "二番目ã®ãƒ†ã‚­ã‚¹ãƒˆã®ä¸­ã§ä¸€ç•ªç›®ã®ãƒ†ã‚­ã‚¹ãƒˆãŒæœ€åˆï¼æœ€å¾Œã«å‡ºç¾ã—ãŸã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã‚’è¿”ã™ã€‚テキストãŒè¦‹ã¤ã‹ã‚‰ãªã„å ´åˆã¯%1ã‚’è¿”ã™ã€‚",
+       "TEXT_INDEXOF_TITLE": "テキスト %1 %2 %3",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "ã§ä»¥ä¸‹ã®ãƒ†ã‚­ã‚¹ãƒˆã®æœ€åˆã®å‡ºç¾ç®‡æ‰€ã‚’検索:",
+       "TEXT_INDEXOF_OPERATOR_LAST": "ã§ä»¥ä¸‹ã®ãƒ†ã‚­ã‚¹ãƒˆã®æœ€å¾Œã®å‡ºç¾ç®‡æ‰€ã‚’検索:",
+       "TEXT_CHARAT_TITLE": "テキスト %1 %2",
+       "TEXT_CHARAT_FROM_START": "ã®ã€ä»¥ä¸‹ã®æ•°å­—番目ã®æ–‡å­—:",
+       "TEXT_CHARAT_FROM_END": "ã®ã€å¾Œã‚ã‹ã‚‰ä»¥ä¸‹ã®æ•°å­—番目ã®æ–‡å­—:",
+       "TEXT_CHARAT_FIRST": "最åˆã®æ–‡å­—ã‚’å¾—ã‚‹",
+       "TEXT_CHARAT_LAST": "最後ã®æ–‡å­—ã‚’å¾—ã‚‹",
+       "TEXT_CHARAT_RANDOM": "ランダムãªæ–‡å­—ã‚’å¾—ã‚‹",
+       "TEXT_CHARAT_TAIL": "",
+       "TEXT_CHARAT_TOOLTIP": "指定ã•ã‚ŒãŸä½ç½®ã«æ–‡å­—ã‚’è¿”ã—ã¾ã™ã€‚",
+       "TEXT_GET_SUBSTRING_TOOLTIP": "テキストã®æŒ‡å®šéƒ¨åˆ†ã‚’è¿”ã—ã¾ã™ã€‚",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "テキスト",
+       "TEXT_GET_SUBSTRING_START_FROM_START": "ã®éƒ¨åˆ†æ–‡å­—列をå–得;開始ä½ç½®ï¼š",
+       "TEXT_GET_SUBSTRING_START_FROM_END": "ã®éƒ¨åˆ†æ–‡å­—列をå–得;開始ä½ç½®ï¼šå¾Œã‚ã‹ã‚‰",
+       "TEXT_GET_SUBSTRING_START_FIRST": "ã®éƒ¨åˆ†æ–‡å­—列をå–得;最åˆã‹ã‚‰",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "終了ä½ç½®ï¼š",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "終了ä½ç½®ï¼šå¾Œã‚ã‹ã‚‰",
+       "TEXT_GET_SUBSTRING_END_LAST": "最後ã®ã®æ–‡å­—",
+       "TEXT_GET_SUBSTRING_TAIL": "",
+       "TEXT_CHANGECASE_TOOLTIP": "別ã®ã‚±ãƒ¼ã‚¹ã«ã€ãƒ†ã‚­ã‚¹ãƒˆã®ã‚³ãƒ”ーを返ã—ã¾ã™ã€‚",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "大文字ã«",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "å°æ–‡å­—ã«",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": "タイトル ã‚±ãƒ¼ã‚¹ã«",
+       "TEXT_TRIM_TOOLTIP": "スペースを 1 ã¤ã¾ãŸã¯ä¸¡æ–¹ã®ç«¯ã‹ã‚‰å‰Šé™¤ã—ãŸã®ã¡ã€ãƒ†ã‚­ã‚¹ãƒˆã®ã‚³ãƒ”ーを返ã—ã¾ã™ã€‚",
+       "TEXT_TRIM_OPERATOR_BOTH": "両端ã®ã‚¹ãƒšãƒ¼ã‚¹ã‚’å–り除ã",
+       "TEXT_TRIM_OPERATOR_LEFT": "左端ã®ã‚¹ãƒšãƒ¼ã‚¹ã‚’å–り除ã",
+       "TEXT_TRIM_OPERATOR_RIGHT": "å³ç«¯ã®ã‚¹ãƒšãƒ¼ã‚¹ã‚’å–り除ã",
+       "TEXT_PRINT_TITLE": "%1 ã‚’表示",
+       "TEXT_PRINT_TOOLTIP": "指定ã—ãŸãƒ†ã‚­ã‚¹ãƒˆã€ç•ªå·ã¾ãŸã¯ä»–ã®å€¤ã‚’å°åˆ·ã—ã¾ã™ã€‚",
+       "TEXT_PROMPT_TYPE_TEXT": "メッセージã§ãƒ†ã‚­ã‚¹ãƒˆå…¥åŠ›ã‚’求ã‚ã‚‹",
+       "TEXT_PROMPT_TYPE_NUMBER": "メッセージã§ç•ªå·ã®å…¥åŠ›ã‚’求ã‚ã‚‹",
+       "TEXT_PROMPT_TOOLTIP_NUMBER": "ユーザーã«æ•°å€¤ã®ã‚¤ãƒ³ãƒ—ットを求ã‚る。",
+       "TEXT_PROMPT_TOOLTIP_TEXT": "ユーザーã«ãƒ†ã‚­ã‚¹ãƒˆå…¥åŠ›ã‚’求ã‚る。",
+       "TEXT_COUNT_MESSAGE0": "%2ã«å«ã¾ã‚Œã‚‹%1ã®æ•°ã‚’æ•°ãˆã‚‹",
+       "TEXT_COUNT_HELPURL": "https://github.com/google/blockly/wiki/Text#counting-substrings",
+       "TEXT_COUNT_TOOLTIP": "ã¨ã‚ã‚‹æ–‡ãŒåˆ¥ã®æ–‡ã®ãªã‹ã«ä½¿ã‚ã‚ŒãŸå›žæ•°ã‚’æ•°ãˆã‚‹ã€‚",
+       "TEXT_REPLACE_MESSAGE0": "%3ã«å«ã¾ã‚Œã‚‹%1ã‚’%2ã«ç½®æ›",
+       "TEXT_REPLACE_HELPURL": "https://github.com/google/blockly/wiki/Text#replacing-substrings",
+       "TEXT_REPLACE_TOOLTIP": "æ–‡ã«å«ã¾ã‚Œã‚‹ã‚­ãƒ¼ãƒ¯ãƒ¼ãƒ‰ã‚’ç½®æ›ã™ã‚‹ã€‚",
+       "TEXT_REVERSE_MESSAGE0": "%1を逆順ã«",
+       "TEXT_REVERSE_HELPURL": "https://github.com/google/blockly/wiki/Text#reversing-text",
+       "TEXT_REVERSE_TOOLTIP": "æ–‡ã®æ–‡å­—を逆順ã«ã™ã‚‹ã€‚",
+       "LISTS_CREATE_EMPTY_HELPURL": "https://github.com/google/blockly/wiki/Lists#create-empty-list",
+       "LISTS_CREATE_EMPTY_TITLE": "空ã®ãƒªã‚¹ãƒˆã‚’作æˆ",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "é•·ã•ï¼ã§ãƒ‡ãƒ¼ã‚¿ãƒ»ãƒ¬ã‚³ãƒ¼ãƒ‰ã‚’å«ã¾ãªã„空ã®ãƒªã‚¹ãƒˆã‚’è¿”ã™",
+       "LISTS_CREATE_WITH_TOOLTIP": "項目数ãŒä¸å®šã®ãƒªã‚¹ãƒˆã‚’作æˆã€‚",
+       "LISTS_CREATE_WITH_INPUT_WITH": "以下を使ã£ã¦ãƒªã‚¹ãƒˆã‚’作æˆï¼š",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "リスト",
+       "LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "追加ã€å‰Šé™¤ã€ã¾ãŸã¯ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã®é †åºå¤‰æ›´ã‚’ã—ã¦ã€ã“ã®ãƒªã‚¹ãƒˆãƒ»ãƒ–ロックをå†æ§‹æˆã™ã‚‹ã€‚",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "リストã«é …目を追加。",
+       "LISTS_REPEAT_TOOLTIP": "与ãˆã‚‰ã‚ŒãŸå€¤ã‚’指定ã•ã‚ŒãŸå›žæ•°ç¹°ã‚Šè¿”ã—ã¦ãƒªã‚¹ãƒˆã‚’作æˆã€‚",
+       "LISTS_REPEAT_TITLE": "é …ç›®%1ã‚’%2回繰り返ã—ãŸãƒªã‚¹ãƒˆã‚’作æˆ",
+       "LISTS_LENGTH_TITLE": "%1ã®é•·ã•",
+       "LISTS_LENGTH_TOOLTIP": "リストã®é•·ã•ã‚’è¿”ã—ã¾ã™ã€‚",
+       "LISTS_ISEMPTY_TITLE": "%1ãŒç©º",
+       "LISTS_ISEMPTY_TOOLTIP": "リストãŒç©ºã®å ´åˆã¯ã€true ã‚’è¿”ã—ã¾ã™ã€‚",
+       "LISTS_INLIST": "リスト",
+       "LISTS_INDEX_OF_FIRST": "ã§ä»¥ä¸‹ã®ã‚¢ã‚¤ãƒ†ãƒ ã®æœ€åˆã®å‡ºç¾ç®‡æ‰€ã‚’検索:",
+       "LISTS_INDEX_OF_LAST": "ã§ä»¥ä¸‹ã®ãƒ†ã‚­ã‚¹ãƒˆã®æœ€å¾Œã®å‡ºç¾ç®‡æ‰€ã‚’検索:",
+       "LISTS_INDEX_OF_TOOLTIP": "リスト項目ã®æœ€åˆ/最後ã«å‡ºç¾ã™ã‚‹ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ä½ç½®ã‚’è¿”ã—ã¾ã™ã€‚é …ç›®ãŒè¦‹ã¤ã‹ã‚‰ãªã„å ´åˆã¯ %1 ã‚’è¿”ã—ã¾ã™ã€‚",
+       "LISTS_GET_INDEX_GET": "å–å¾—",
+       "LISTS_GET_INDEX_GET_REMOVE": "å–å¾—ã—ã¦å‰Šé™¤",
+       "LISTS_GET_INDEX_REMOVE": "削除",
+       "LISTS_GET_INDEX_FROM_START": "#",
+       "LISTS_GET_INDEX_FROM_END": "ä½ç½®ï¼šå¾Œã‚ã‹ã‚‰",
+       "LISTS_GET_INDEX_FIRST": "最åˆ",
+       "LISTS_GET_INDEX_LAST": "最後",
+       "LISTS_GET_INDEX_RANDOM": "ランダム",
+       "LISTS_GET_INDEX_TAIL": "",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "%1 ã¯ã€æœ€åˆã®é …ç›®ã§ã™ã€‚",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "%1 ã¯ã€æœ€å¾Œã®é …ç›®ã§ã™ã€‚",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "リスト内ã®æŒ‡å®šä½ç½®ã«ã‚る項目を返ã—ã¾ã™ã€‚",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "リストã®æœ€åˆã®é …目を返ã—ã¾ã™ã€‚",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "リストã®æœ€å¾Œã®é …目を返ã—ã¾ã™ã€‚",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "ランダム ã‚¢ã‚¤ãƒ†ãƒ  ãƒªã‚¹ãƒˆã‚’è¿”ã—ã¾ã™ã€‚",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "リスト内ã®æŒ‡å®šä½ç½®ã«ã‚る項目を削除ã—ã€è¿”ã—ã¾ã™ã€‚",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "リスト内ã®æœ€åˆã®é …目を削除ã—è¿”ã—ã¾ã™ã€‚",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "リスト内ã®æœ€å¾Œã®é …目を削除ã—ãŸã‚ã¨è¿”ã—ã¾ã™ã€‚",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "リストã®ãƒ©ãƒ³ãƒ€ãƒ ãªã‚¢ã‚¤ãƒ†ãƒ ã‚’削除ã—è¿”ã—ã¾ã™ã€‚",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "リスト内ã®æŒ‡å®šã•ã‚ŒãŸé …目を削除ã—ã¾ã™ã€‚",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "リスト内ã®æœ€åˆã®é …目を削除ã—ã¾ã™ã€‚",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "リスト内ã®æœ€å¾Œã®é …目を削除ã—ã¾ã™ã€‚",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "リスト内ã«ã‚るアイテムをランダムã«å‰Šé™¤ã—ã¾ã™ã€‚",
+       "LISTS_SET_INDEX_SET": "セット",
+       "LISTS_SET_INDEX_INSERT": "挿入ä½ç½®ï¼š",
+       "LISTS_SET_INDEX_INPUT_TO": "値:",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "リスト内ã®æŒ‡å®šã•ã‚ŒãŸä½ç½®ã«é …目を設定ã—ã¾ã™ã€‚",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "リスト内ã«æœ€åˆã®é …目を設定ã—ã¾ã™ã€‚",
+       "LISTS_SET_INDEX_TOOLTIP_SET_LAST": "リスト内ã®æœ€å¾Œã®é …目を設定ã—ã¾ã™ã€‚",
+       "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "リスト内ã«ãƒ©ãƒ³ãƒ€ãƒ ãªã‚¢ã‚¤ãƒ†ãƒ ã‚’設定ã—ã¾ã™ã€‚",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "リスト内ã®æŒ‡å®šä½ç½®ã«é …目を挿入ã—ã¾ã™ã€‚",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "リストã®å…ˆé ­ã«é …目を挿入ã—ã¾ã™ã€‚",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "リストã®æœ«å°¾ã«é …目を追加ã—ã¾ã™ã€‚",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "リストã«é …目をランダムã«æŒ¿å…¥ã—ã¾ã™ã€‚",
+       "LISTS_GET_SUBLIST_START_FROM_START": "# ã‹ã‚‰ã‚µãƒ–ディレクトリã®ãƒªã‚¹ãƒˆã‚’å–å¾—ã—ã¾ã™ã€‚",
+       "LISTS_GET_SUBLIST_START_FROM_END": "端ã‹ã‚‰ #ã®ã‚µãƒ–リストをå–å¾—ã—ã¾ã™ã€‚",
+       "LISTS_GET_SUBLIST_START_FIRST": "最åˆã‹ã‚‰ã‚µãƒ–リストをå–å¾—ã™ã‚‹ã€‚",
+       "LISTS_GET_SUBLIST_END_FROM_START": "終了ä½ç½®ï¼š",
+       "LISTS_GET_SUBLIST_END_FROM_END": "終了ä½ç½®ï¼šå¾Œã‚ã‹ã‚‰",
+       "LISTS_GET_SUBLIST_END_LAST": "最後ã¾ã§",
+       "LISTS_GET_SUBLIST_TAIL": "",
+       "LISTS_GET_SUBLIST_TOOLTIP": "リストã®æŒ‡å®šã•ã‚ŒãŸéƒ¨åˆ†ã®ã‚³ãƒ”ーを作æˆã—ã¦ãã ã•ã€‚",
+       "LISTS_SORT_HELPURL": "https://github.com/google/blockly/wiki/Lists#sorting-a-list",
+       "LISTS_SORT_TITLE": "%1 ( %2 ) ã« %3 ã‚’並ã³æ›¿ãˆã‚‹",
+       "LISTS_SORT_TOOLTIP": "リストã®ã‚³ãƒ”ーを並ã¹æ›¿ãˆ",
+       "LISTS_SORT_ORDER_ASCENDING": "昇順",
+       "LISTS_SORT_ORDER_DESCENDING": "é™é †",
+       "LISTS_SORT_TYPE_NUMERIC": "数値順",
+       "LISTS_SORT_TYPE_TEXT": "アルファベット順",
+       "LISTS_SORT_TYPE_IGNORECASE": "アルファベット順(大文字・å°æ–‡å­—ã®åŒºåˆ¥ç„¡ã—)",
+       "LISTS_SPLIT_LIST_FROM_TEXT": "テキストã‹ã‚‰ãƒªã‚¹ãƒˆã‚’作る",
+       "LISTS_SPLIT_TEXT_FROM_LIST": "リストã‹ã‚‰ãƒ†ã‚­ã‚¹ãƒˆã‚’作る",
+       "LISTS_SPLIT_WITH_DELIMITER": "区切り記å·",
+       "LISTS_SPLIT_TOOLTIP_SPLIT": "テキストを区切り記å·ã§åˆ†å‰²ã—ãŸãƒªã‚¹ãƒˆã«ã™ã‚‹",
+       "LISTS_SPLIT_TOOLTIP_JOIN": "テキストã®ãƒªã‚¹ãƒˆã‚’区切り記å·ã§åŒºåˆ‡ã‚‰ã‚ŒãŸä¸€ã¤ã®ãƒ†ã‚­ã‚¹ãƒˆã«ã™ã‚‹",
+       "LISTS_REVERSE_HELPURL": "https://github.com/google/blockly/wiki/Lists#reversing-a-list",
+       "LISTS_REVERSE_MESSAGE0": "%1を逆順ã«",
+       "LISTS_REVERSE_TOOLTIP": "リストã®ã‚³ãƒ”ーを逆順ã«ã™ã‚‹ã€‚",
+       "VARIABLES_GET_TOOLTIP": "ã“ã®å¤‰æ•°ã®å€¤ã‚’è¿”ã—ã¾ã™ã€‚",
+       "VARIABLES_GET_CREATE_SET": "'セット%1を作æˆã—ã¾ã™ã€‚",
+       "VARIABLES_SET": "%1 ã« %2 ã‚’セット",
+       "VARIABLES_SET_TOOLTIP": "ã“ã®å…¥åŠ›ã‚’変数ã¨ç­‰ã—ããªã‚‹ã‚ˆã†ã«è¨­å®šã—ã¾ã™ã€‚",
+       "VARIABLES_SET_CREATE_GET": "'%1 ã‚’å–å¾—' ã‚’作æˆã—ã¾ã™ã€‚",
+       "PROCEDURES_DEFNORETURN_HELPURL": "https://ja.wikipedia.org/wiki/サブルーãƒãƒ³",
+       "PROCEDURES_DEFNORETURN_TITLE": "関数",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "何ã‹ã™ã‚‹",
+       "PROCEDURES_BEFORE_PARAMS": "引数:",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "引数:",
+       "PROCEDURES_DEFNORETURN_DO": "",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "出力ãªã—ã®é–¢æ•°ã‚’作æˆã—ã¾ã™ã€‚",
+       "PROCEDURES_DEFNORETURN_COMMENT": "ã“ã®é–¢æ•°ã®èª¬æ˜Žâ€¦",
+       "PROCEDURES_DEFRETURN_HELPURL": "https://ja.wikipedia.org/wiki/サブルーãƒãƒ³",
+       "PROCEDURES_DEFRETURN_RETURN": "è¿”ã™",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "一ã¤ã®å‡ºåŠ›ã‚’æŒã¤é–¢æ•°ã‚’作æˆã—ã¾ã™ã€‚",
+       "PROCEDURES_ALLOW_STATEMENTS": "ステートメントを許å¯",
+       "PROCEDURES_DEF_DUPLICATE_WARNING": "警告: ã“ã®é–¢æ•°ã«ã¯é‡è¤‡ã™ã‚‹ãƒ‘ラメーターãŒã‚ã‚Šã¾ã™ã€‚",
+       "PROCEDURES_CALLNORETURN_HELPURL": "https://ja.wikipedia.org/wiki/サブルーãƒãƒ³",
+       "PROCEDURES_CALLNORETURN_TOOLTIP": "ユーザー定義関数 '%1' ã‚’実行ã—ã¾ã™ã€‚",
+       "PROCEDURES_CALLRETURN_HELPURL": "https://ja.wikipedia.org/wiki/サブルーãƒãƒ³",
+       "PROCEDURES_CALLRETURN_TOOLTIP": "ユーザー定義関数 '%1' ã‚’実行ã—ã€ãã®å‡ºåŠ›ã‚’使用ã—ã¾ã™ã€‚",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "入力",
+       "PROCEDURES_MUTATORCONTAINER_TOOLTIP": "ã“ã®é–¢æ•°ã¸ã®å…¥åŠ›ã®è¿½åŠ ã€å‰Šé™¤ã€é †ç•ªå¤‰æ›´ã€‚",
+       "PROCEDURES_MUTATORARG_TITLE": "入力å:",
+       "PROCEDURES_MUTATORARG_TOOLTIP": "関数ã¸ã®å…¥åŠ›ã®è¿½åŠ ã€‚",
+       "PROCEDURES_HIGHLIGHT_DEF": "関数ã®å†…容を強調表示ã—ã¾ã™ã€‚",
+       "PROCEDURES_CREATE_DO": "'%1' ã‚’作æˆ",
+       "PROCEDURES_IFRETURN_TOOLTIP": "1番目ã®å€¤ãŒ true ã®å ´åˆã€2番目ã®å€¤ã‚’è¿”ã—ã¾ã™ã€‚",
+       "PROCEDURES_IFRETURN_WARNING": "警告: ã“ã®ãƒ–ロックã¯ã€é–¢æ•°å®šç¾©å†…ã§ã®ã¿ä½¿ç”¨ã§ãã¾ã™ã€‚",
+       "WORKSPACE_COMMENT_DEFAULT_TEXT": "ã“ã“ã¸å…¥åŠ›"
+}
diff --git a/js/msg/json/kab.json b/js/msg/json/kab.json
new file mode 100644 (file)
index 0000000..e003866
--- /dev/null
@@ -0,0 +1,341 @@
+{
+       "@metadata": {
+               "authors": [
+                       "AmaziÉ£ maziÉ£",
+                       "Belkacem77",
+                       "Alem"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "aferdis",
+       "TODAY": "Ass-a",
+       "DUPLICATE_BLOCK": "Sleg",
+       "ADD_COMMENT": "Rnu awennit",
+       "REMOVE_COMMENT": "Kkes awennit",
+       "DUPLICATE_COMMENT": "Sleg awennit",
+       "EXTERNAL_INPUTS": "Inekcam izÉ£arayen",
+       "INLINE_INPUTS": "Inekcam srid",
+       "DELETE_BLOCK": "Kkes iḥder",
+       "DELETE_X_BLOCKS": "Kkes %1 n yiḥderan",
+       "DELETE_ALL_BLOCKS": "Kkes akk %1 n yiḥedran?",
+       "CLEAN_UP": "SfeḠiḥedran",
+       "COLLAPSE_BLOCK": "Fneẓ iḥder",
+       "COLLAPSE_ALL": "Fneẓ iḥedran",
+       "EXPAND_BLOCK": "Snefli iḥder",
+       "EXPAND_ALL": "Snefli iḥedran",
+       "DISABLE_BLOCK": "Sens iḥder",
+       "ENABLE_BLOCK": "Sens iḥedran",
+       "HELP": "Tallelt",
+       "UNDO": "Err-d",
+       "REDO": "UÉ£al",
+       "CHANGE_VALUE_TITLE": "Beddel azal:",
+       "RENAME_VARIABLE": "Beddel isem n umutti...",
+       "RENAME_VARIABLE_TITLE": "Beddel akk isem n yimuttiyen '%1' ar:",
+       "NEW_VARIABLE": "Rnu amutti...",
+       "NEW_STRING_VARIABLE": "Rnu amutti azrir n yisekkilen...",
+       "NEW_NUMBER_VARIABLE": "Rnu amutti amá¸an...",
+       "NEW_COLOUR_VARIABLE": "Rnu amutti ini...",
+       "NEW_VARIABLE_TYPE_TITLE": "Anaw amaynut n umutti:",
+       "NEW_VARIABLE_TITLE": "Isem amaynut n wazal:",
+       "VARIABLE_ALREADY_EXISTS": "Amutti s yisem '%1' yella yakan.",
+       "VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE": "Amutti s yisem '%1' yella yakan i wanaw-nniá¸en: '%2'.",
+       "DELETE_VARIABLE_CONFIRMATION": "Kkes %1 n useqdec n umutti '%2'?",
+       "CANNOT_DELETE_VARIABLE_PROCEDURE": "Ur izmir ara ad yekkes amutti '%1' acku yedda di tbadut n twuri '%2'",
+       "DELETE_VARIABLE": "Kkes amutti '%1'",
+       "COLOUR_PICKER_HELPURL": "https://kab.wikipedia.org/wiki/Ini",
+       "COLOUR_PICKER_TOOLTIP": "Fren ini seg ugalis.",
+       "COLOUR_RANDOM_TITLE": "ini agacuran",
+       "COLOUR_RANDOM_TOOLTIP": "Fren ini s wudem agacuran.",
+       "COLOUR_RGB_TITLE": "ini s",
+       "COLOUR_RGB_RED": "azeggwaÉ£",
+       "COLOUR_RGB_GREEN": "azegzaw",
+       "COLOUR_RGB_BLUE": "anili",
+       "COLOUR_RGB_TOOLTIP": "Rnu ini s tnecta yettunefk s tesmekta n uzeggaÉ£, azegzaw, akked unili. Yessefk akk azalen ad ilin gar 0 akked 100.",
+       "COLOUR_BLEND_TITLE": "rkwec",
+       "COLOUR_BLEND_COLOUR1": "ini 1",
+       "COLOUR_BLEND_COLOUR2": "ini 2",
+       "COLOUR_BLEND_RATIO": "afmiá¸i",
+       "COLOUR_BLEND_TOOLTIP": "SexleḠsin n yiniten d tesmekta (gar 0.0 ar 1.0).",
+       "CONTROLS_REPEAT_HELPURL": "https://en.wikipedia.org/wiki/For_loop",
+       "CONTROLS_REPEAT_TITLE": "Ales %1 n tikal",
+       "CONTROLS_REPEAT_INPUT_DO": "eg",
+       "CONTROLS_REPEAT_TOOLTIP": "Selkem ddeqs n tinaá¸in ddeqs n tikal.",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "ales skud",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "ales arama",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "Skud azal d idetti, selkem ihi tinadin.",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "Skud azal d ucciá¸, selkem ihi tinadin.",
+       "CONTROLS_FOR_TOOLTIP": "Mudd i umutti '%1' azalen seg umá¸an n tazwara arama d umá¸an n tagara, stmerna n usurif yettunefken, sakin selkem tiaá¸in yettunefken.",
+       "CONTROLS_FOR_TITLE": "siá¸en akked %1 seg %2 ar %3 s %4",
+       "CONTROLS_FOREACH_TITLE": "i yal aferdis  %1 di tebdart %2",
+       "CONTROLS_FOREACH_TOOLTIP": "I yal aferdis n tebdart, mudd azal n uferdis i umutti '%1', sakin selkem tinaá¸in.",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "ffeÉ£ seg tneddict",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "kemmel s wallus d tneddict d-iteddun",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "FfeÉ£ si tneddict tamagbart.",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "Zgel ayen i d-yeqqimen di tneddict-agi, sakin kemmel allus d-iteddun.",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "Æ”ur-k: Iḥder-agi yessefk ad yettwaseqdec di tneddict.",
+       "CONTROLS_IF_TOOLTIP_1": "ma yella azal d idetti, ihi selkem kra n tinaá¸in.",
+       "CONTROLS_IF_TOOLTIP_2": "Ma yella zal d idetti, selkem iḥder amezwaru. NeÉ£ ma ulac, selkem iḥder wis sin.",
+       "CONTROLS_IF_TOOLTIP_3": "Ma yella azal amezwaru d idetti, selkem iḥder amezwaru. NeÉ£ ma azal wis sin d ucciá¸, selkem iḥ€der wis sin.",
+       "CONTROLS_IF_TOOLTIP_4": "Ma yella azal amezwaru d idetti, selkem iḥeder amezwaru. NeÉ£, ma yella azal wis sin d idetti, selkem iḥder wis sin. Ma yella ula d yisen seg-sen maÄÄi d idetti, selkem iḥder aneggaru.",
+       "CONTROLS_IF_MSG_IF": "ma",
+       "CONTROLS_IF_MSG_ELSEIF": "neÉ£ ma",
+       "CONTROLS_IF_MSG_ELSE": "neÉ£",
+       "CONTROLS_IF_IF_TOOLTIP": "Rnu, kkes, neq ales ales asmizzwer n tgezmiyin akken ad talseḠtawila n iḥder-agi ma.",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "Rni tawtilt i yiḥder ma.",
+       "CONTROLS_IF_ELSE_TOOLTIP": "Rnu tawtilt taneggarut i yiḥder ma igebren akk tinaá¸in.",
+       "IOS_OK": "IH",
+       "IOS_CANCEL": "Sefsex",
+       "IOS_ERROR": "Tuccá¸a",
+       "IOS_PROCEDURES_INPUTS": "INEKCAM",
+       "IOS_PROCEDURES_ADD_INPUT": "+ Rnu anekcum",
+       "IOS_PROCEDURES_ALLOW_STATEMENTS": "Sireg asmizzwer",
+       "IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR": "Tawuri-a É£ur-s inekcam imsinen.",
+       "IOS_VARIABLES_ADD_VARIABLE": "+ Rnu amutti",
+       "IOS_VARIABLES_ADD_BUTTON": "Rnu",
+       "IOS_VARIABLES_RENAME_BUTTON": "Snifel isem",
+       "IOS_VARIABLES_DELETE_BUTTON": "Kkes",
+       "IOS_VARIABLES_VARIABLE_NAME": "Isem n umutti",
+       "IOS_VARIABLES_EMPTY_NAME_ERROR": "Ur tezmireḠara ad tesqedceḠisem n umutti amaynut.",
+       "LOGIC_COMPARE_HELPURL": "https://en.wikipedia.org/wiki/Inequality_(mathematics)",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "Ad yerr idetti ma yella i sin n inekcam d imegduya.",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "Ad d-yerr idetti ma yella i sin n inekcam maÄÄi d imegduya.",
+       "LOGIC_COMPARE_TOOLTIP_LT": "Ad d-yerr idetti ma yella anekcam amezwaru meẓẓi É£ef wis sin.",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "Ad d-yerr idetti ma yella anekcam amezwaru meẓẓi neÉ£ yegda wis sin.",
+       "LOGIC_COMPARE_TOOLTIP_GT": "Ad d-yerr idetti ma yella anekcam amezwaru meqqeá¹› É£ef wis sin.",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "Ad d-yerr idetti ma yella anekcam amezwaru meqqeá¹› neÉ£ yegda wis sin.",
+       "LOGIC_OPERATION_TOOLTIP_AND": "Ad d-yerr idetti ma yella inekcam d idettiyen.",
+       "LOGIC_OPERATION_AND": "akked",
+       "LOGIC_OPERATION_TOOLTIP_OR": "Ad d-yerr idetti ma yella É£arsum yiwen seg inekcam d idetti.",
+       "LOGIC_OPERATION_OR": "neÉ£",
+       "LOGIC_NEGATE_TITLE": "maÄÄi %1",
+       "LOGIC_NEGATE_TOOLTIP": "Ad d-yerr idetti ma yella anekcam d ucciá¸. Ad d-yerr ucciḠma yella anekcam d idetti.",
+       "LOGIC_BOOLEAN_TRUE": "idetti",
+       "LOGIC_BOOLEAN_FALSE": "ucciá¸",
+       "LOGIC_BOOLEAN_TOOLTIP": "Ad d-yerr idetti neÉ£ ucciá¸",
+       "LOGIC_NULL": "Ilem",
+       "LOGIC_NULL_TOOLTIP": "Ad d-yerr ilem",
+       "LOGIC_TERNARY_CONDITION": "sekyed",
+       "LOGIC_TERNARY_IF_TRUE": "ma d idetti",
+       "LOGIC_TERNARY_IF_FALSE": "ma ucciá¸",
+       "LOGIC_TERNARY_TOOLTIP": "Senqed tawtilt deg 'sekyed'. Ma yella d idetti, ad d-yerr azal 'ma idetti', ma ulac ad d-yerr azam 'ma ucciá¸'.",
+       "MATH_NUMBER_HELPURL": "https://en.wikipedia.org/wiki/Number",
+       "MATH_NUMBER_TOOLTIP": "Amá¸an.",
+       "MATH_ARITHMETIC_HELPURL": "https://en.wikipedia.org/wiki/Arithmetic",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "Ad d-yerr tmerni n sin n imiá¸anen.",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "Ad d-yerr tmernit n sin n imiá¸anen.",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "Ad d-yerr tukksa gar sin n imiá¸anen.",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "Ad d-yerr aful n sin n imá¸anen.",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "Ad d-yerr amá¸an amezwaru uzmir wis sin.",
+       "MATH_SINGLE_HELPURL": "https://en.wikipedia.org/wiki/Square_root",
+       "MATH_SINGLE_OP_ROOT": "aẓar uzmir 2",
+       "MATH_SINGLE_TOOLTIP_ROOT": "Ad d-yerr aẓaá¹› uzmir sin n umiá¸an.",
+       "MATH_SINGLE_OP_ABSOLUTE": "azal amagdez",
+       "MATH_SINGLE_TOOLTIP_ABS": "Ad d-yerr azal amagdez n umiá¸an.",
+       "MATH_SINGLE_TOOLTIP_NEG": "Ad d-yerr ugmiḠn umá¸an.",
+       "MATH_SINGLE_TOOLTIP_LN": "Ad d-yerr alugaritm agamawan n umiá¸an.",
+       "MATH_SINGLE_TOOLTIP_LOG10": "Ad d-yerr alugaritm 10 n umiá¸an.",
+       "MATH_SINGLE_TOOLTIP_EXP": "Ad d-yerr e uzmir amiá¸an.",
+       "MATH_SINGLE_TOOLTIP_POW10": "Ad d-yerr 10 uzmir amiá¸an.",
+       "MATH_TRIG_HELPURL": "https://en.wikipedia.org/wiki/Trigonometric_functions",
+       "MATH_TRIG_TOOLTIP_SIN": "Ad d-yerr asinus n teÉ£mert s tfesna (maÄÄi aá¹›adyan).",
+       "MATH_TRIG_TOOLTIP_COS": "Ad d-yerr akusinus n teÉ£mert s tfesna (maÄÄi aá¹›adyan).",
+       "MATH_TRIG_TOOLTIP_TAN": "Ad d-yerr taslayt n teÉ£mert s tfesna (maÄÄi aá¹›adyan).",
+       "MATH_TRIG_TOOLTIP_ASIN": "Ad d-yerr taganzi n usinus n umá¸an.",
+       "MATH_TRIG_TOOLTIP_ACOS": "Ad d-yerr taganzi n ukusinus n umá¸an.",
+       "MATH_TRIG_TOOLTIP_ATAN": "Ad d-yerr taganzi n teslayt n umiá¸an.",
+       "MATH_CONSTANT_HELPURL": "https://en.wikipedia.org/wiki/Mathematical_constant",
+       "MATH_CONSTANT_TOOLTIP": "Ad d-yerr yiwet seg tmezgiyin yettwasnen : Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), neÉ£ âˆž (ifeá¸).",
+       "MATH_IS_EVEN": "d ayugan",
+       "MATH_IS_ODD": "d aryugan",
+       "MATH_IS_PRIME": "d amenzu",
+       "MATH_IS_WHOLE": "d ummid",
+       "MATH_IS_POSITIVE": "d ufrar",
+       "MATH_IS_NEGATIVE": "d uzdir",
+       "MATH_IS_DIVISIBLE_BY": "d ubá¹­ay É£ef",
+       "MATH_IS_TOOLTIP": "Senqed ma yella amá¸an d ayugan, d aryugan, d amenzu, d ummid, d ufrar, d uzdir, neÉ£ d ybá¹­ay É£ef kra n umá¸an. Ad d-yerr idettu neÉ£ ucciá¸.",
+       "MATH_CHANGE_HELPURL": "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter",
+       "MATH_CHANGE_TITLE": "snifel %1 s %2",
+       "MATH_CHANGE_TOOLTIP": "Rnu amá¸an i umutti '%1'.",
+       "MATH_ROUND_HELPURL": "https://en.wikipedia.org/wiki/Rounding",
+       "MATH_ROUND_TOOLTIP": "Saẓ amiá¸an d asawen neÉ£ d akesser.",
+       "MATH_ROUND_OPERATOR_ROUND": "Saẓ",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "Saẓ d asawen",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "Saẓ d akesser",
+       "MATH_ONLIST_OPERATOR_SUM": "Timernit n tebdart",
+       "MATH_ONLIST_TOOLTIP_SUM": "Ad d-yerr timernit n imá¸anen meṛṛa deg tebdart.",
+       "MATH_ONLIST_OPERATOR_MIN": "adday n tebdart",
+       "MATH_ONLIST_TOOLTIP_MIN": "Ad d-yerr amá¸an  ameẓẓyan di tebdart.",
+       "MATH_ONLIST_OPERATOR_MAX": "afellay n tebdart",
+       "MATH_ONLIST_TOOLTIP_MAX": "Ad d-yerr amá¸an  ameqqran di tebdart.",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "talemmast n tebdart",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "Ad d-yerr talemmas( tasnamá¸ant) n wazalen umá¸inen di tebdart.",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "tanammast n tebdart",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "Ad d-yerr amá¸an n anammas n tebdart.",
+       "MATH_ONLIST_OPERATOR_MODE": "Tigwtiwin n tebdart",
+       "MATH_ONLIST_TOOLTIP_MODE": "Ad d-yerr tabdart n iferdisen i d-yettuÉ£alen s waá¹­as di tebdart.",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "azza n tebdart",
+       "MATH_ONLIST_TOOLTIP_STD_DEV": "Ad d-yerr azza n tebdart.",
+       "MATH_ONLIST_OPERATOR_RANDOM": "aferdis agacuran n tebdart",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "Ad d-yerr aferdis seg tebdart s wudem agacuran.",
+       "MATH_MODULO_HELPURL": "https://en.wikipedia.org/wiki/Modulo_operation",
+       "MATH_MODULO_TITLE": "tasagert n %1 ÷ %2",
+       "MATH_MODULO_TOOLTIP": "Ad d-yerr tasagert n beá¹­á¹­u n sin n imá¸anen.",
+       "MATH_CONSTRAIN_TITLE": "Err tamara i %1 gar %2 akked %3",
+       "MATH_CONSTRAIN_TOOLTIP": "Err tamara n umiá¸an akken ad yili gar snat n tlisa (ddant).",
+       "MATH_RANDOM_INT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_INT_TITLE": "ummid agacuran gar %1 akked %2",
+       "MATH_RANDOM_INT_TOOLTIP": "Ad d-yerr ummid agacuran gar snat n tlisa, ddant.",
+       "MATH_RANDOM_FLOAT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "tirẓi tagacurant",
+       "MATH_RANDOM_FLOAT_TOOLTIP": "Ad d-yerr tirẓi tagacurant gar 0.0 (yedda) akked 1.0 (ur yeddi ara).",
+       "TEXT_TEXT_HELPURL": "https://en.wikipedia.org/wiki/String_(computer_science)",
+       "TEXT_TEXT_TOOLTIP": "Asekkil, awal neÉ£ izirig n uá¸ris.",
+       "TEXT_JOIN_TITLE_CREATEWITH": "rnu aá¸á¹›is s",
+       "TEXT_JOIN_TOOLTIP": "Ad yernu taceqquft n uá¸ris s usdukel gar yal amá¸an n iferdisen.",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "sdukkel",
+       "TEXT_CREATE_JOIN_TOOLTIP": "Rnu, kkes, neÉ£ ales asmizzwer n tgezmiyin akken ad talseḠtawila n iḥder-agi.",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "Rnu aferdis ar uá¸ris.",
+       "TEXT_APPEND_TITLE": "Rnu aá¸ris %2 ar %1",
+       "TEXT_APPEND_TOOLTIP": "Rnu aá¸ris ar umutti '%1'.",
+       "TEXT_LENGTH_TITLE": "teÉ£zi n %1",
+       "TEXT_LENGTH_TOOLTIP": "Ad d-yerr amá¸an n isekkilen (ddab ula d imellalen) deg uá¸ris d-ittunefken.",
+       "TEXT_ISEMPTY_TITLE": "%1 d ilem",
+       "TEXT_ISEMPTY_TOOLTIP": "Add d-yerr idetti ma yella aá¸ris d ilem.",
+       "TEXT_INDEXOF_TOOLTIP": "Ad d-yerr amatar n tmeá¸riwt tamezwarut/taneggarut n uá¸ris amewaru deg uá¸ris wis sin. Ad d-yerr %1 ma yella ulac adris.",
+       "TEXT_INDEXOF_TITLE": "deg uá¸ris %1 %2 %3",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "af-d timeá¸riwt tamezwarut n uá¸ris",
+       "TEXT_INDEXOF_OPERATOR_LAST": "af-d timeá¸riwt taneggarut deg uá¸ris",
+       "TEXT_CHARAT_TITLE": "deg uá¸ris %1 %2",
+       "TEXT_CHARAT_FROM_START": "awi asekkel #",
+       "TEXT_CHARAT_FROM_END": "awi-d asekkil # si tagara",
+       "TEXT_CHARAT_FIRST": "awi-d asekkil amezwaru",
+       "TEXT_CHARAT_LAST": "awi-d asekkil aneggaru",
+       "TEXT_CHARAT_RANDOM": "awi-d asekkil s wudem agacuran",
+       "TEXT_CHARAT_TOOLTIP": "Ad d-yerr asekkil deg wuá¹­á¹­un yettwammlen.",
+       "TEXT_GET_SUBSTRING_TOOLTIP": "Ad d-yerr aḥric yettwammlen deg uá¸ris.",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "deg uá¸ris",
+       "TEXT_GET_SUBSTRING_START_FROM_START": "awi-d azrir asnawan seg usekkil #",
+       "TEXT_GET_SUBSTRING_START_FROM_END": "awi-d azrir asnawan seg usekkil # si tagara",
+       "TEXT_GET_SUBSTRING_START_FIRST": "awi-d azrir asnawan seg usekkil amezwaru",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "arama d asekkil #",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "arama d asekkil # si tagara",
+       "TEXT_GET_SUBSTRING_END_LAST": "arama d asekkil aneggaru",
+       "TEXT_CHANGECASE_TOOLTIP": "Ad d-yerr anÉ£el n uá¸ris s truẓi-nniá¸en.",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "s USEKKIL AMEQQRAN",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "s usekkil ameẓẓyan",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": "s Umeqqran Di Tazwara n Yal Awal.",
+       "TEXT_TRIM_TOOLTIP": "Ad d-yerr anÉ£el n uá¸ris s isekkilen ilmawen yettwakksen seg ixf neÉ£ i sin.",
+       "TEXT_TRIM_OPERATOR_BOTH": "Tukksa n isekkilen imellalen seg sin n idisan",
+       "TEXT_TRIM_OPERATOR_LEFT": "tukksa n isekkilen seg uzelmaá¸",
+       "TEXT_TRIM_OPERATOR_RIGHT": "tukksa n isekkilen seg uyeffus",
+       "TEXT_PRINT_TITLE": "ad d-yesken %1",
+       "TEXT_PRINT_TOOLTIP": "Sken aá¸ris, amá¸an neÉ£ azal-nniá¸en d-ittunefken.",
+       "TEXT_PROMPT_TYPE_TEXT": "aneftaÉ£ i uá¸ris s yizen",
+       "TEXT_PROMPT_TYPE_NUMBER": "aneftaÉ£ i umá¸an s yizen",
+       "TEXT_PROMPT_TOOLTIP_NUMBER": "Suter amá¸an i useqdac.",
+       "TEXT_PROMPT_TOOLTIP_TEXT": "Suter aá¸ris i useqdac.",
+       "TEXT_COUNT_MESSAGE0": "amá¸an %1 É£ef %2",
+       "TEXT_COUNT_TOOLTIP": "Ad isiá¸en amá¸an n tmeá¸riwt n uá¸ris deg ayeá¸.",
+       "TEXT_REPLACE_MESSAGE0": "semselsi %1 s %2 di %3",
+       "TEXT_REPLACE_TOOLTIP": "As isemselsi akk timeá¸riwin n uá¸ris s wayeá¸.",
+       "TEXT_REVERSE_MESSAGE0": "tti %1",
+       "TEXT_REVERSE_TOOLTIP": "Ad yetti asmizzwer n isekkilen deg uá¸ris.",
+       "LISTS_CREATE_EMPTY_TITLE": "rnu tabdart tilemt",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "Ad d-yerr tabdart n teÉ£zi 0 ur yegbiren ara ikalasen",
+       "LISTS_CREATE_WITH_TOOLTIP": "Ad yernu tabdart s umá¸an n iferdisen.",
+       "LISTS_CREATE_WITH_INPUT_WITH": "rnu tabdart s",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "tabdart",
+       "LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "Rnu, kkes, neÉ£ ales asmizzwer n tgezmiyin akken ad talseḠtawila n iḥder-agi n tebdart.",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "Ad yernu aferdis ar tebdart.",
+       "LISTS_REPEAT_TOOLTIP": "Ad yernu tabdart inetmen n wazal yettunefken ddeqs n tikal s umá¸an yettwammlen.",
+       "LISTS_REPEAT_TITLE": "ad yernu tabdart s uferdis %1 s tmeá¸riwt %2",
+       "LISTS_LENGTH_TITLE": "teÉ£zi n %1",
+       "LISTS_LENGTH_TOOLTIP": "Ad d-yerr teÉ£zi n tebdart.",
+       "LISTS_ISEMPTY_TITLE": "%1 d ilem",
+       "LISTS_ISEMPTY_TOOLTIP": "Ad d-yerr idetti ma yella tabdart d tilemt.",
+       "LISTS_INLIST": "di tebdart",
+       "LISTS_INDEX_OF_FIRST": "aff-d timeá¸riwt tamezwarut n uferdis",
+       "LISTS_INDEX_OF_LAST": "af-d timeá¸riwt taneggarut n uferdis",
+       "LISTS_INDEX_OF_TOOLTIP": "Ad d-yerr amatar n tmeá¸riwt tamezwarut/taneggarut n uferdis amewaru deg tebdart. Ad d-yerr %1 ma yella ulac aferdis.",
+       "LISTS_GET_INDEX_GET": "awi",
+       "LISTS_GET_INDEX_GET_REMOVE": "awi u kkes",
+       "LISTS_GET_INDEX_REMOVE": "kkes",
+       "LISTS_GET_INDEX_FROM_END": "# si tagara",
+       "LISTS_GET_INDEX_FIRST": "amezwaru",
+       "LISTS_GET_INDEX_LAST": "aneggaru",
+       "LISTS_GET_INDEX_RANDOM": "agacuran",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "%1 d aferdis amezwaru.",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "%1 d aferdis aneggaru.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "Ad d-yerr aferdis n wadig yettwammlen deg tabdart.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "Ad d-yerr aferdis amezwaru n tebdart..",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "Ad d-yerr aferdis aneggaru di tebdart.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "Ad yerr aferdis agacuran di tebdart.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "Ad yekkes sakin ad d-yerr aferdis n wadig yettwammlen deg tabdart.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "Ad yekkes sakin ad -yerr aferdis amezwaru di tebdart.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "Ad yekkes sakin ad -yerr aferdis aneggaru di tebdart.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "Ad yekkes sakin ad d-yerr aferdis agacuran di tebdart.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "Ad yekkes aferdis n wadig yettwammlen deg tabdart.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "Ad yekkes aferdis amezwaru n tebdart..",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "Ad yekkes aferdis aneggaru di tebdart.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "Ad yekkes aferdis agacuran di tebdart.",
+       "LISTS_SET_INDEX_SET": "sbadu",
+       "LISTS_SET_INDEX_INSERT": "ger s",
+       "LISTS_SET_INDEX_INPUT_TO": "am",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "Ad yesbadu aferdis n wadig yettwammlen deg tabdart.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "Ad d-yerr aferdis amezwaru di tebdart.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_LAST": "Ad d-yerr aferdis aneggaru di tebdart.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "Ad yesbadu aferdis agacuran di tebdart.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "Ad iger aferdis n wadig yettwammlen deg tabdart.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "Ad iger aferdis di tazwara n tebdart.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "Ad yernu aferdis ar tagara n  tebdart.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "Ad iger aferdis s wudem agacuran deg tebdart.",
+       "LISTS_GET_SUBLIST_START_FROM_START": "awi-d tabdart tasnawant seg #",
+       "LISTS_GET_SUBLIST_START_FROM_END": "awi-d tabdart tasnawant seg # si tagara",
+       "LISTS_GET_SUBLIST_START_FIRST": "awi-d tabdart tasnawant si tazwara",
+       "LISTS_GET_SUBLIST_END_FROM_START": "ar #",
+       "LISTS_GET_SUBLIST_END_FROM_END": "ar # si tagara",
+       "LISTS_GET_SUBLIST_END_LAST": "ar tagara",
+       "LISTS_GET_SUBLIST_TOOLTIP": "Ad yernu anÉ£el n uḥric yettwammlen n tebdart.",
+       "LISTS_SORT_HELPURL": "https://github.com/google/blockly/wiki/Lists#sorting-a-list",
+       "LISTS_SORT_TITLE": "smizzwer %1 %2 %3",
+       "LISTS_SORT_TOOLTIP": "Smizzwer anÉ£el n tebdart.",
+       "LISTS_SORT_ORDER_ASCENDING": "igemmen",
+       "LISTS_SORT_ORDER_DESCENDING": "amnusruy",
+       "LISTS_SORT_TYPE_NUMERIC": "umá¸in",
+       "LISTS_SORT_TYPE_TEXT": "agemmayan",
+       "LISTS_SORT_TYPE_IGNORECASE": "agemmayan, anef i truẓi n usekkil",
+       "LISTS_SPLIT_LIST_FROM_TEXT": "rnu tabdart seg uá¸ris",
+       "LISTS_SPLIT_TEXT_FROM_LIST": "rnu aá¸ris si tebdart",
+       "LISTS_SPLIT_WITH_DELIMITER": "s unabraz",
+       "LISTS_SPLIT_TOOLTIP_SPLIT": "Ad yegzem aá¸ris É£ef ddeqs n tebdarin n yoiá¸risen, s unegzum yal anabraz.",
+       "LISTS_SPLIT_TOOLTIP_JOIN": "ad yesdukel tabdart n yiá¸risen deg iwen s usnabraz.",
+       "LISTS_REVERSE_MESSAGE0": "tti %1",
+       "LISTS_REVERSE_TOOLTIP": "Tti anÉ£el n tebdart.",
+       "VARIABLES_GET_TOOLTIP": "Ad d-yerr azal n umutti-agi.",
+       "VARIABLES_GET_CREATE_SET": "Rnu 'sbadu %1'",
+       "VARIABLES_SET": "sbadu %1 ar %2",
+       "VARIABLES_SET_TOOLTIP": "Ad yesbadu amutti-agi akken ad yegdu azal n unekcam.",
+       "VARIABLES_SET_CREATE_GET": "Rnu 'awi-d %1'",
+       "PROCEDURES_DEFNORETURN_TITLE": "i",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "eg kra",
+       "PROCEDURES_BEFORE_PARAMS": "s:",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "s:",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "Rnu tawuri s war anekcam.",
+       "PROCEDURES_DEFNORETURN_COMMENT": "Seglem tawuri-agi...",
+       "PROCEDURES_DEFRETURN_RETURN": "tuÉ£alin",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "ad yernu tawuri s tuffÉ£a.",
+       "PROCEDURES_ALLOW_STATEMENTS": "Sireg asmizzwer",
+       "PROCEDURES_DEF_DUPLICATE_WARNING": "Æ”ur-k: Tawuri-agi É£ur-s iÉ£ewwaá¹›en usligen.",
+       "PROCEDURES_CALLNORETURN_HELPURL": "https://en.wikipedia.org/wiki/Subroutine",
+       "PROCEDURES_CALLNORETURN_TOOLTIP": "Selkem tawuri '%1' yesbadu u seqdac.",
+       "PROCEDURES_CALLRETURN_HELPURL": "https://en.wikipedia.org/wiki/Subroutine",
+       "PROCEDURES_CALLRETURN_TOOLTIP": "Selkem tawuri '%1' yesbadu useqdace sakin seqdec agmuá¸-is.",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "inekcam",
+       "PROCEDURES_MUTATORCONTAINER_TOOLTIP": "Rnu, kkes neÉ£ ales asmizzwer n inekcam i twuri-agi.",
+       "PROCEDURES_MUTATORARG_TITLE": "isem n unekcum:",
+       "PROCEDURES_MUTATORARG_TOOLTIP": "rnu anekcam ar twuri-agi.",
+       "PROCEDURES_HIGHLIGHT_DEF": "Sebruá¹›eq tabadut n twuri",
+       "PROCEDURES_CREATE_DO": "rnu '%1'",
+       "PROCEDURES_IFRETURN_TOOLTIP": "ma yella azal d idetti, ad d-yerr azal-nniá¸en wis sin.",
+       "PROCEDURES_IFRETURN_WARNING": "Æ”ur-k: Iḥder-agi yezmer ur yettwaseqdac ara ala di tebadut n twuri-agi.",
+       "WORKSPACE_COMMENT_DEFAULT_TEXT": "Ini kra..."
+}
diff --git a/js/msg/json/ko.json b/js/msg/json/ko.json
new file mode 100644 (file)
index 0000000..12f082c
--- /dev/null
@@ -0,0 +1,401 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Hym411",
+                       "ì•„ë¼",
+                       "Priviet",
+                       "Revi",
+                       "SeoJeongHo",
+                       "Alex00728",
+                       "Kurousagi",
+                       "Lemondoge",
+                       "Ykhwong",
+                       "Jerrykim306",
+                       "Onebone",
+                       "JeonHK",
+                       "Liuxinyu970226"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "항목",
+       "TODAY": "오늘",
+       "DUPLICATE_BLOCK": "복제",
+       "ADD_COMMENT": "주선추가",
+       "REMOVE_COMMENT": "주선제거",
+       "EXTERNAL_INPUTS": "외부 ìž…ë ¥",
+       "INLINE_INPUTS": "내부 ìž…ë ¥",
+       "DELETE_BLOCK": "블론삭제",
+       "DELETE_X_BLOCKS": "블론%1ê°œ ì‚­ì œ",
+       "DELETE_ALL_BLOCKS": "모든 ë¸”ë¡ %1개를 ì‚­ì œí•˜ê² ìŠµë‹ˆê¹Œ?",
+       "CLEAN_UP": "블론정리",
+       "COLLAPSE_BLOCK": "블론축소",
+       "COLLAPSE_ALL": "블론축소",
+       "EXPAND_BLOCK": "블론확장",
+       "EXPAND_ALL": "블론확장",
+       "DISABLE_BLOCK": "블론비활성화",
+       "ENABLE_BLOCK": "블론활성화",
+       "HELP": "ë„움ë§",
+       "UNDO": "실행 ì·¨ì†Œ",
+       "REDO": "다시 ì‹¤í–‰",
+       "CHANGE_VALUE_TITLE": "ê°’ ë°”꾸기:",
+       "RENAME_VARIABLE": "변수 ì´ë¦„ ë°”꾸기:",
+       "RENAME_VARIABLE_TITLE": "'%1' ë³€ìˆ˜ ì´ë¦„선바꾸기:",
+       "NEW_VARIABLE": "변수 ë§Œë“¤ê¸°...",
+       "NEW_STRING_VARIABLE": "문ìžì—´ ë³€ìˆ˜ ë§Œë“¤ê¸°...",
+       "NEW_NUMBER_VARIABLE": "숫잠변수 ë§Œë“¤ê¸°....",
+       "NEW_COLOUR_VARIABLE": "색 ë³€ìˆ˜ ë§Œë“¤ê¸°...",
+       "NEW_VARIABLE_TYPE_TITLE": "새 ë³€ìˆ˜ ìœ í˜•:",
+       "NEW_VARIABLE_TITLE": "새 ë³€ìˆ˜ ì´ë¦„:",
+       "VARIABLE_ALREADY_EXISTS": "'%1' ë³€ìˆ˜ëŠ” ì´ë¯¸ ì¡´ìž¬í•©ë‹ˆë‹¤.",
+       "VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE": "'%1' ë³€ìˆ˜ëŠ” ë‹¤ë¥¸ ìœ í˜•ì— ëŒ€í•´ ì´ë¯¸ ì¡´ìž¬í•©ë‹ˆë‹¤: '%2'.",
+       "DELETE_VARIABLE_CONFIRMATION": "'%2' ë³€ìˆ˜ì—ì„œ %1ì„(를) ì‚­ì œí•˜ì‹œê² ìŠµë‹ˆê¹Œ?",
+       "CANNOT_DELETE_VARIABLE_PROCEDURE": "'%2' í•¨ìˆ˜ ì •ì˜ì˜ ì¼ë¶€ì´ê¸° ë•Œë¬¸ì— '%1' ë³€ìˆ˜ë¥¼ ì‚­ì œí•  ìˆ˜ ì—†ìŠµë‹ˆë‹¤",
+       "DELETE_VARIABLE": "'%1' ë³€ìˆ˜ë¥¼ ì‚­ì œí•©ë‹ˆë‹¤",
+       "COLOUR_PICKER_HELPURL": "https://ko.wikipedia.org/wiki/색",
+       "COLOUR_PICKER_TOOLTIP": "팔레트ì—ì„œ ìƒ‰ì„ ê³ ë¦…니다",
+       "COLOUR_RANDOM_TITLE": "임옠색ìƒ",
+       "COLOUR_RANDOM_TOOLTIP": "무작위로 ìƒ‰ì„ ê³ ë¦…니다.",
+       "COLOUR_RGB_HELPURL": "http://www.december.com/html/spec/colorper.html",
+       "COLOUR_RGB_TITLE": "색",
+       "COLOUR_RGB_RED": "빨강",
+       "COLOUR_RGB_GREEN": "ì´ˆë¡",
+       "COLOUR_RGB_BLUE": "파랑",
+       "COLOUR_RGB_TOOLTIP": "빨강,파랑,ì´ˆë¡ì˜ ê°’ì„ ì´ìš©í•˜ì—¬ ìƒ‰ì„ ë§Œë“œì‹­ì‹œì˜¤. ëª¨ë“  ê°’쀠0ê³¼ 100 ì‚¬ì´ì— ìžˆì–´ì•¼ í•©ë‹ˆë‹¤.",
+       "COLOUR_BLEND_HELPURL": "http://meyerweb.com/eric/tools/color-blend/",
+       "COLOUR_BLEND_TITLE": "혼합",
+       "COLOUR_BLEND_COLOUR1": "색 1",
+       "COLOUR_BLEND_COLOUR2": "색 2",
+       "COLOUR_BLEND_RATIO": "비율",
+       "COLOUR_BLEND_TOOLTIP": "둠색선주어진 ë¹„율로 í˜¼í•© (0.0 - 1.0)",
+       "CONTROLS_REPEAT_HELPURL": "https://ko.wikipedia.org/wiki/For_루프",
+       "CONTROLS_REPEAT_TITLE": "%1회 ë°˜ë³µ",
+       "CONTROLS_REPEAT_INPUT_DO": "하기",
+       "CONTROLS_REPEAT_TOOLTIP": "여러 ë²ˆ ë°˜ë³µí•´ ëª…령들선실행합니다.",
+       "CONTROLS_WHILEUNTIL_HELPURL": "https://ko.wikipedia.org/wiki/While_%EB%A3%A8%ED%94%84",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "ë™ì•ˆ ë°˜ë³µ",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "다ìŒê¹Œì§€ ë°˜ë³µ",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "값촠참켠때, ëª‡ ê°€ì§€ ì„ ì–¸ì„ í•©ë‹ˆë‹¤.",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "값촠거짓켠때, ëª‡ ê°€ì§€ ì„ ì–¸ì„ í•©ë‹ˆë‹¤.",
+       "CONTROLS_FOR_HELPURL": "https://ko.wikipedia.org/wiki/For_%EB%A3%A8%ED%94%84",
+       "CONTROLS_FOR_TOOLTIP": "변수 \"%1\"쀠지정뜠간격으로 ì‹œìž‘ ìˆ˜ì—ì„œ ë ìˆ˜ê¹Œì§€ë¥¼ ì„¸ì–´ ì§€ì •ëœ ë¸”ë¡ì„ ìˆ˜í–‰í•´ì•¼ í•©ë‹ˆë‹¤.",
+       "CONTROLS_FOR_TITLE": "으로 ê³„ì‚° %1 %2ì—ì„œ %4ì„ ì´ìš©í•˜ì—¬ %3ë¡œ",
+       "CONTROLS_FOREACH_HELPURL": "https://ko.wikipedia.org/wiki/For_%EB%A3%A8%ED%94%84#.EC.9E.84.EC.9D.98.EC.9D.98_.EC.A7.91.ED.95.A9",
+       "CONTROLS_FOREACH_TITLE": "갠항목엠대해 %1 ëª©ë¡ìœ¼ë¡œ %2",
+       "CONTROLS_FOREACH_TOOLTIP": "리스트 ì•ˆì— ë“¤ì–´ìžˆëŠ” ê° ì•„ì´í…œë“¤ì„, ìˆœì„œëŒ€ë¡œ ë³€ìˆ˜ '%1' ì— í•œ ë²ˆì”© ì €ìž¥ì‹œí‚¤ê³ , ê·¸ ë•Œ ë§ˆë‹¤ ëª…령선실행합니다.",
+       "CONTROLS_FLOW_STATEMENTS_HELPURL": "https://ko.wikipedia.org/wiki/%EC%A0%9C%EC%96%B4_%ED%9D%90%EB%A6%84",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "반복 ì¤‘단",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "다쌠반복",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "현재 ë°˜ë³µ ì‹¤í–‰ ë¸”럭선빠져나갑니다.",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "나머지 ë°˜ë³µ ë¶€ë¶„ì„ ë” ì´ìƒ ì‹¤í–‰í•˜ì§€ ì•Šê³ , ë‹¤ìŒ ë°˜ë³µì„ ìˆ˜í–‰í•©ë‹ˆë‹¤.",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "경고 : ì´ ë¸”ë¡ì€ ë°˜ë³µ ì‹¤í–‰ ë¸”럭 ì•ˆì—서만 ì‚¬ìš©ë©ë‹ˆë‹¤.",
+       "CONTROLS_IF_HELPURL": "https://ko.wikipedia.org/wiki/%EC%A1%B0%EA%B1%B4%EB%AC%B8",
+       "CONTROLS_IF_TOOLTIP_1": "ì¡°ê±´ì‹ì˜ ê³„ì‚° ê²°ê³¼ê°€ ì°¸ì´ë©´, ëª…령선실행합니다.",
+       "CONTROLS_IF_TOOLTIP_2": "ì¡°ê±´ì‹ì˜ ê³„ì‚° ê²°ê³¼ê°€ ì°¸ì´ë©´, ì²« ë²ˆì§¸ ë¸”럭옠명령선실행하고, ê·¸ë ‡ì§€ ì•Šìœ¼ë©´ ë‘ ë²ˆì§¸ ë¸”럭옠명령선실행합니다.",
+       "CONTROLS_IF_TOOLTIP_3": "첫 ë²ˆì§¸ ì¡°ê±´ì‹ì˜ ê³„ì‚° ê²°ê³¼ê°€ ì°¸ì´ë©´, ì²« ë²ˆì§¸ ë¸”럭옠명령선실행하고, ë‘ ë²ˆì§¸ ì¡°ê±´ì‹ì˜ ê³„ì‚° ê²°ê³¼ê°€ ì°¸ì´ë©´, ë‘ ë²ˆì§¸ ë¸”럭옠명령선실행합니다.",
+       "CONTROLS_IF_TOOLTIP_4": "첫 ë²ˆì§¸ ì¡°ê±´ì‹ì˜ ê³„ì‚° ê²°ê³¼ê°€ ì°¸ì´ë©´, ì²« ë²ˆì§¸ ë¸”럭옠명령선실행하고, ë‘ ë²ˆì§¸ ì¡°ê±´ì‹ì˜ ê³„ì‚° ê²°ê³¼ê°€ ì°¸ì´ë©´, ë‘ ë²ˆì§¸ ë¸”럭옠명령선실행하고, ... , ì–´ë–¤ ì¡°ê±´ì‹ì˜ ê³„ì‚° ê²°ê³¼ë„ ì°¸ì´ ì•„니면, ë§ˆì§€ë§‰ ë¸”럭옠명령선실행합니다.",
+       "CONTROLS_IF_MSG_IF": "만약",
+       "CONTROLS_IF_MSG_ELSEIF": "다른 ê²½ìš°",
+       "CONTROLS_IF_MSG_ELSE": "아니ë¼ë©´",
+       "CONTROLS_IF_IF_TOOLTIP": "섹션선추가, ì œê±°í•˜ê±°ë‚˜ ìˆœì„œë¥¼ ë³€ê²½í•˜ì—¬ ì´ if ë¸”럭선재구성합니다.",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "\"만약\" ë¸”럭엠조건 ê²€ì‚¬ë¥¼ ì¶”가합니다.",
+       "CONTROLS_IF_ELSE_TOOLTIP": "\"만약\" ë¸”럭옠마지막ì—, ëª¨ë“  ê²€ì‚¬ ê²°ê³¼ê°€ ê±°ì§“츠경우 ì‹¤í–‰í•  ë¶€ë¶„선추가합니다.",
+       "IOS_OK": "확ì¸",
+       "IOS_CANCEL": "취소",
+       "IOS_ERROR": "오류",
+       "IOS_PROCEDURES_ADD_INPUT": "+ ìž…ë ¥ ì¶”ê°€",
+       "IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR": "촠기능쀠중복뜠입력촠있습니다.",
+       "IOS_VARIABLES_ADD_VARIABLE": "+ ë³€ìˆ˜ ì¶”ê°€",
+       "IOS_VARIABLES_ADD_BUTTON": "추가",
+       "IOS_VARIABLES_RENAME_BUTTON": "ì´ë¦„ ë°”꾸기",
+       "IOS_VARIABLES_DELETE_BUTTON": "ì‚­ì œ",
+       "IOS_VARIABLES_VARIABLE_NAME": "변수 ì´ë¦„",
+       "IOS_VARIABLES_EMPTY_NAME_ERROR": "비어있는 ë³€ìˆ˜ ì´ë¦„선사용할 ìˆ˜ ì—†ìŠµë‹ˆë‹¤.",
+       "LOGIC_COMPARE_HELPURL": "https://ko.wikipedia.org/wiki/부등ì‹",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "둠값촠같으면, ì°¸(true) ê°’ì„ ëŒë ¤ì¤ë‹ˆë‹¤.",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "둠값촠서로 ë‹¤ë¥´ë©´, ì°¸(true) ê°’ì„ ëŒë ¤ì¤ë‹ˆë‹¤.",
+       "LOGIC_COMPARE_TOOLTIP_LT": "첫 ë²ˆì§¸ ê°’촠둠번째 ê°’보다 ìž‘으면, ì°¸(true) ê°’ì„ ëŒë ¤ì¤ë‹ˆë‹¤.",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "첫 ë²ˆì§¸ ê°’촠둠번째 ê°’보다 ìž‘거나 ê°™ìœ¼ë©´, ì°¸(true) ê°’ì„ ëŒë ¤ì¤ë‹ˆë‹¤.",
+       "LOGIC_COMPARE_TOOLTIP_GT": "첫 ë²ˆì§¸ ê°’촠둠번째 ê°’보다 í¬ë©´, ì°¸(true) ê°’ì„ ëŒë ¤ì¤ë‹ˆë‹¤.",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "첫 ë²ˆì§¸ ê°’촠둠번째 ê°’보다 í¬ê±°ë‚˜ ê°™ìœ¼ë©´, ì°¸(true) ê°’ì„ ëŒë ¤ì¤ë‹ˆë‹¤.",
+       "LOGIC_OPERATION_HELPURL": "https://ko.wikipedia.org/wiki/%EB%B6%88_%EB%85%BC%EB%A6%AC",
+       "LOGIC_OPERATION_TOOLTIP_AND": "둠값촠모둠참(true) ê°’ì´ë©´, ì°¸ ê°’ì„ ëŒë ¤ì¤ë‹ˆë‹¤.",
+       "LOGIC_OPERATION_AND": "그리고",
+       "LOGIC_OPERATION_TOOLTIP_OR": "ì ì–´ë„ í•˜ë‚˜ì˜ ê°’촠참켠경우 ì°¸ì„ ë°˜í™˜í•©ë‹ˆë‹¤.",
+       "LOGIC_OPERATION_OR": "ë˜ëŠ”",
+       "LOGIC_NEGATE_HELPURL": "https://ko.wikipedia.org/wiki/%EB%B6%80%EC%A0%95",
+       "LOGIC_NEGATE_TITLE": "%1ê°€ ì•„닙니다",
+       "LOGIC_NEGATE_TOOLTIP": "입력값촠거짓ì´ë¼ë©´ ì°¸ì„ ë°˜í™˜í•©ë‹ˆë‹¤. ì°¸ì´ë¼ë©´ ê±°ì§“선반환합니다.",
+       "LOGIC_BOOLEAN_HELPURL": "https://ko.wikipedia.org/wiki/%EC%A7%84%EB%A6%BF%EA%B0%92",
+       "LOGIC_BOOLEAN_TRUE": "ì°¸",
+       "LOGIC_BOOLEAN_FALSE": "거짓",
+       "LOGIC_BOOLEAN_TOOLTIP": "ì°¸ í˜¹ì€ ê±°ì§“ ëª¨ë‘ ë°˜í™˜í•©ë‹ˆë‹¤.",
+       "LOGIC_NULL_HELPURL": "https://en.wikipedia.org/wiki/Nullable_type",
+       "LOGIC_NULL": "빈 ê°’",
+       "LOGIC_NULL_TOOLTIP": "빈 ê°’선반환합니다.",
+       "LOGIC_TERNARY_HELPURL": "https://ko.wikipedia.org/wiki/물ìŒí‘œ",
+       "LOGIC_TERNARY_CONDITION": "테스트",
+       "LOGIC_TERNARY_IF_TRUE": "만약 ì°¸ì´ë¼ë©´",
+       "LOGIC_TERNARY_IF_FALSE": "만약 ê±°ì§“ì´ë¼ë©´",
+       "LOGIC_TERNARY_TOOLTIP": "'test'옠조건선검사합니다. ì¡°ê±´ì´ ì°¸ì´ë©´ 'if true' ê°’선반환합니다. ê±°ì§“ì´ë©´ 'if false' ê°’선반환합니다.",
+       "MATH_NUMBER_HELPURL": "https://ko.wikipedia.org/wiki/수_(수학)",
+       "MATH_NUMBER_TOOLTIP": "수",
+       "MATH_ADDITION_SYMBOL": "+",
+       "MATH_SUBTRACTION_SYMBOL": "-",
+       "MATH_DIVISION_SYMBOL": "÷",
+       "MATH_MULTIPLICATION_SYMBOL": "x",
+       "MATH_POWER_SYMBOL": "^",
+       "MATH_TRIG_SIN": "sin",
+       "MATH_TRIG_COS": "cos",
+       "MATH_TRIG_TAN": "tan",
+       "MATH_TRIG_ASIN": "asin",
+       "MATH_TRIG_ACOS": "acos",
+       "MATH_TRIG_ATAN": "atan",
+       "MATH_ARITHMETIC_HELPURL": "https://ko.wikipedia.org/wiki/산술",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "둠수옠합선반환합니다.",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "둠수간옠차ì´ë¥¼ ë°˜í™˜í•©ë‹ˆë‹¤.",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "둠수옠곱선반환합니다.",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "둠수옠나눈 ê²°ê³¼ë¥¼ ë°˜í™˜í•©ë‹ˆë‹¤.",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "첫 ë²ˆì§¸ ìˆ˜ë¥¼ ë‘ ë²ˆì§¸ ìˆ˜ ë§Œí¼, ê±°ë“­ì œê³± í•œ ê²°ê³¼ê°’ì„ ëŒë ¤ì¤ë‹ˆë‹¤.",
+       "MATH_SINGLE_HELPURL": "https://ko.wikipedia.org/wiki/제곱근",
+       "MATH_SINGLE_OP_ROOT": "제곱근",
+       "MATH_SINGLE_TOOLTIP_ROOT": "숫ìžì˜ ì œê³±ê·¼ì„ ë°˜í™˜í•©ë‹ˆë‹¤.",
+       "MATH_SINGLE_OP_ABSOLUTE": "절대값",
+       "MATH_SINGLE_TOOLTIP_ABS": "ì–´ë–¤ ìˆ˜ì˜ ì ˆëŒ€ê°’(absolute)선계산한 ê²°ê³¼ë¥¼, ì •ìˆ˜ê°’으로 ëŒë ¤ì¤ë‹ˆë‹¤.",
+       "MATH_SINGLE_TOOLTIP_NEG": "ìŒ(-)/ì–‘(+), ë¶€í˜¸ë¥¼ ë°˜ëŒ€ë¡œ í•˜ì—¬ ê°’ì„ ëŒë ¤ì¤ë‹ˆë‹¤.",
+       "MATH_SINGLE_TOOLTIP_LN": "ì–´ë–¤ ìˆ˜ì˜, ìžì—°ë¡œê·¸(natural logarithm) ê°’ì„ ëŒë ¤ì¤ë‹ˆë‹¤.(ë°‘ e, ì˜ˆì‹œ log e x)",
+       "MATH_SINGLE_TOOLTIP_LOG10": "ì–´ë–¤ ìˆ˜ì˜, ê¸°ë³¸ë¡œê·¸(logarithm) ê°’ì„ ëŒë ¤ì¤ë‹ˆë‹¤.(ë°‘ 10, ì˜ˆì‹œ log 10 x)",
+       "MATH_SINGLE_TOOLTIP_EXP": "e옠거듭제곱 ê°’선반환합니다.",
+       "MATH_SINGLE_TOOLTIP_POW10": "10옠거듭제곱 ê°’선반환합니다.",
+       "MATH_TRIG_HELPURL": "https://ko.wikipedia.org/wiki/삼ê°í•¨ìˆ˜",
+       "MATH_TRIG_TOOLTIP_SIN": "ê°ë„옠사ì¸ì„ ë°˜í™˜í•©ë‹ˆë‹¤. (ë¼ë””안 ì•„님)",
+       "MATH_TRIG_TOOLTIP_COS": "ê°ë„옠코사ì¸ì„ ë°˜í™˜í•©ë‹ˆë‹¤. (ë¼ë””안 ì•„님)",
+       "MATH_TRIG_TOOLTIP_TAN": "ê°ë„옠탄젠트를 ë°˜í™˜í•©ë‹ˆë‹¤. (ë¼ë””안 ì•„님)",
+       "MATH_TRIG_TOOLTIP_ASIN": "ì–´ë–¤ ìˆ˜ì— ëŒ€í•œ, asin(arcsine) ê°’ì„ ëŒë ¤ì¤ë‹ˆë‹¤.",
+       "MATH_TRIG_TOOLTIP_ACOS": "ì–´ë–¤ ìˆ˜ì— ëŒ€í•œ, acos(arccosine) ê°’ì„ ëŒë ¤ì¤ë‹ˆë‹¤.",
+       "MATH_TRIG_TOOLTIP_ATAN": "ì–´ë–¤ ìˆ˜ì— ëŒ€í•œ, atan(arctangent) ê°’ì„ ëŒë ¤ì¤ë‹ˆë‹¤.",
+       "MATH_CONSTANT_HELPURL": "https://ko.wikipedia.org/wiki/수학_ìƒìˆ˜",
+       "MATH_CONSTANT_TOOLTIP": "ì¼ë°˜ì ì¸ ìƒìˆ˜ ê°’들 ì¤‘ í•˜ë‚˜ë¥¼ ëŒë ¤ì¤ë‹ˆë‹¤. : Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), or âˆž (infinity).",
+       "MATH_IS_EVEN": "ê°€ ì§ìˆ˜(even) ì´ë©´",
+       "MATH_IS_ODD": "ê°€ í™€ìˆ˜(odd) ì´ë©´",
+       "MATH_IS_PRIME": "ê°€ ì†Œìˆ˜(prime) ì´ë©´",
+       "MATH_IS_WHOLE": "ê°€ ì •ìˆ˜ì´ë©´",
+       "MATH_IS_POSITIVE": "ê°€ ì–‘(+)수 ì´ë©´",
+       "MATH_IS_NEGATIVE": "ê°€ ìŒ(-)수 ì´ë©´",
+       "MATH_IS_DIVISIBLE_BY": "ê°€ ë‹¤ìŒ ìˆ˜ë¡œ ë‚˜ëˆ„ì–´ ë–¨ì–´ì§€ë©´ :",
+       "MATH_IS_TOOLTIP": "ì–´ë–¤ ìˆ˜ê°€ ì§ ìˆ˜, í™€ ìˆ˜, ì†Œ ìˆ˜, ì • ìˆ˜, ì–‘ ìˆ˜, ìŒ ìˆ˜, ë‚˜ëˆ„ì–´ ë–¨ì–´ì§€ëŠ” ìˆ˜ ì¸ì§€ ê²€ì‚¬í•´ ê²°ê³¼ê°’ì„ ëŒë ¤ì¤ë‹ˆë‹¤. ì°¸(true) ë˜ëŠ” ê±°ì§“(false) ê°’ì„ ëŒë ¤ì¤Œ.",
+       "MATH_CHANGE_HELPURL": "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter",
+       "MATH_CHANGE_TITLE": "바꾸기 %1 ë§Œí¼ %2",
+       "MATH_CHANGE_TOOLTIP": "변수 '%1' ì— ì €ìž¥ë˜ì–´ìžˆëŠ” ê°’ì—, ì–´ë–¤ ìˆ˜ë¥¼ ë”í•´, ë³€ìˆ˜ì— ë‹¤ì‹œ ì €ìž¥í•©ë‹ˆë‹¤.",
+       "MATH_ROUND_HELPURL": "https://ko.wikipedia.org/wiki/반올림",
+       "MATH_ROUND_TOOLTIP": "ì–´ë–¤ ìˆ˜ë¥¼ ë°˜ì˜¬ë¦¼/올림/버림한 ê²°ê³¼ë¥¼, ì •ìˆ˜ê°’으로 ëŒë ¤ì¤ë‹ˆë‹¤.",
+       "MATH_ROUND_OPERATOR_ROUND": "반올림",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "올림",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "버림",
+       "MATH_ONLIST_HELPURL": "",
+       "MATH_ONLIST_OPERATOR_SUM": "í•©",
+       "MATH_ONLIST_TOOLTIP_SUM": "리스트엠들어있는 ìˆ˜(ê°’)들ì„, ëª¨ë‘ í•©(sum) í•œ, ì´í•©(sum)ì„ ëŒë ¤ì¤ë‹ˆë‹¤.",
+       "MATH_ONLIST_OPERATOR_MIN": "최소값",
+       "MATH_ONLIST_TOOLTIP_MIN": "리스트엠들어있는 ìˆ˜(ê°’) ë“¤ ì¤‘, ê°€ìž¥ ìž‘ì€(min) ìˆ˜(ê°’)를 ëŒë ¤ì¤ë‹ˆë‹¤.",
+       "MATH_ONLIST_OPERATOR_MAX": "최대값",
+       "MATH_ONLIST_TOOLTIP_MAX": "리스트엠들어있는 ìˆ˜(ê°’) ë“¤ ì¤‘, ê°€ìž¥ í°(max) ìˆ˜(ê°’)를 ëŒë ¤ì¤ë‹ˆë‹¤.",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "í‰ê· ê°’",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "리스트엠들어있는 ìˆ˜(ê°’)들엠대해, ì‚°ìˆ  í‰ê· (arithmetic mean) í•œ ê°’ì„ ëŒë ¤ì¤ë‹ˆë‹¤.",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "중간값",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "리스트엠들어있는 ìˆ˜(ê°’) ë“¤ ì¤‘, ì¤‘ê°„(median) ìˆ˜(ê°’)를 ëŒë ¤ì¤ë‹ˆë‹¤.",
+       "MATH_ONLIST_OPERATOR_MODE": "가장 ì—¬ëŸ¬ ê°œ ìžˆëŠ” ê°’",
+       "MATH_ONLIST_TOOLTIP_MODE": "리스트엠들어있는 ì•„ì´í…œë“¤ ì¤‘ì—ì„œ, ê°€ìž¥ ì—¬ëŸ¬ ë²ˆ ë“¤ì–´ìžˆëŠ” ì•„ì´í…œë“¤ì„ ë¦¬ìŠ¤íŠ¸ë¡œ ë§Œë“¤ì–´ ëŒë ¤ì¤ë‹ˆë‹¤. (최빈값, modes)",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "표준 íŽ¸ì°¨",
+       "MATH_ONLIST_TOOLTIP_STD_DEV": "촠리스트옠표준 íŽ¸ì°¨ë¥¼ ë°˜í™˜í•©ë‹ˆë‹¤.",
+       "MATH_ONLIST_OPERATOR_RANDOM": "목ë¡ì˜ ìž„옠항목",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "목ë¡ì—ì„œ ìž„ì˜ì˜ ì•„ì´í…œì„ ëŒë ¤ì¤ë‹ˆë‹¤.",
+       "MATH_MODULO_HELPURL": "https://en.wikipedia.org/wiki/Modulo_operation",
+       "MATH_MODULO_TITLE": "%1 Ã· %2옠나머지",
+       "MATH_MODULO_TOOLTIP": "첫 ë²ˆì§¸ ìˆ˜ë¥¼ ë‘ ë²ˆì§¸ ìˆ˜ë¡œ ë‚˜ëˆˆ, ë‚˜ë¨¸ì§€ ê°’ì„ ëŒë ¤ì¤ë‹ˆë‹¤.",
+       "MATH_CONSTRAIN_HELPURL": "https://ko.wikipedia.org/wiki/í´ëž¨í•‘_(그래픽)",
+       "MATH_CONSTRAIN_TITLE": "%1옠값ì„, ìµœì†Œ %2 ìµœëŒ€ %3으로 ì¡°ì •",
+       "MATH_CONSTRAIN_TOOLTIP": "ì–´ë–¤ ìˆ˜ë¥¼, íŠ¹ì • ë²”위옠값촠ë˜ë„론강제로 ì¡°ì •í•©ë‹ˆë‹¤.",
+       "MATH_RANDOM_INT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_INT_TITLE": "ëžœë¤ì •ìˆ˜(%1<= n <=%2)",
+       "MATH_RANDOM_INT_TOOLTIP": "둠주어진 ì œí•œëœ ë²”위 ì‚¬ì´ì˜ ìž„옠정수값선ëŒë ¤ì¤ë‹ˆë‹¤.",
+       "MATH_RANDOM_FLOAT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "임옠분수",
+       "MATH_RANDOM_FLOAT_TOOLTIP": "0.0 (í¬í•¨)ê³¼ 1.0 (배타ì ) ì‚¬ì´ì˜ ìž„옠분수 ê°’ì„ ëŒë ¤ì¤ë‹ˆë‹¤.",
+       "TEXT_TEXT_HELPURL": "https://ko.wikipedia.org/wiki/문ìžì—´",
+       "TEXT_TEXT_TOOLTIP": "문ìž, ë‹¨ì–´, ë¬¸ìž¥.",
+       "TEXT_JOIN_HELPURL": "https://github.com/google/blockly/wiki/Text#text-creation",
+       "TEXT_JOIN_TITLE_CREATEWITH": "í…스트 ë§Œë“¤ê¸°",
+       "TEXT_JOIN_TOOLTIP": "여러 ê°œì˜ ì•„ì´í…œë“¤ì„ ì—°ê²°í•´(묶어), ìƒˆë¡œìš´ ë¬¸ìž¥ì„ ë§Œë“­ë‹ˆë‹¤.",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "가입",
+       "TEXT_CREATE_JOIN_TOOLTIP": "섹션선추가, ì œê±°í•˜ê±°ë‚˜ ìˆœì„œë¥¼ ë³€ê²½í•˜ì—¬ ì´ í…스트 ë¸”럭선재구성합니다.",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "í…스트엠항목선추가합니다.",
+       "TEXT_APPEND_HELPURL": "https://github.com/google/blockly/wiki/Text#text-modification",
+       "TEXT_APPEND_TITLE": "다쌠%1 ë‚´ìš© ë§ë¶™ì´ê¸° %2",
+       "TEXT_APPEND_TOOLTIP": "'%1' ë³€ìˆ˜ì˜ ëì— ì¼ë¶€ í…스트를 ë§ë¶™ìž…니다.",
+       "TEXT_LENGTH_HELPURL": "https://github.com/google/blockly/wiki/Text#text-modification",
+       "TEXT_LENGTH_TITLE": "다쌠문장옠문잠개수 %1",
+       "TEXT_LENGTH_TOOLTIP": "입력뜠문장ì˜, ë¬¸ìž ê°œìˆ˜ë¥¼ ëŒë ¤ì¤ë‹ˆë‹¤.(공백문잠í¬í•¨)",
+       "TEXT_ISEMPTY_HELPURL": "https://github.com/google/blockly/wiki/Text#checking-for-empty-text",
+       "TEXT_ISEMPTY_TITLE": "%1촠비어 ìžˆìŠµë‹ˆë‹¤",
+       "TEXT_ISEMPTY_TOOLTIP": "입력뜠문장ì´, ë¹ˆ ë¬¸ìž¥(\"\")ì´ë©´ ì°¸(true) ê°’ì„ ëŒë ¤ì¤ë‹ˆë‹¤.",
+       "TEXT_INDEXOF_HELPURL": "https://github.com/google/blockly/wiki/Text#finding-text",
+       "TEXT_INDEXOF_TOOLTIP": "둠번째 í…스트ì—ì„œ ì²« ë²ˆì§¸ í…스트가 ì²˜ìŒ ë˜ëŠ” ë§ˆì§€ë§‰ìœ¼ë¡œ ë°œìƒí•œ ìƒ‰ì¸ ìœ„치를 ë°˜í™˜í•©ë‹ˆë‹¤. í…스트가 ì—†ìœ¼ë©´ %1선반환합니다.",
+       "TEXT_INDEXOF_TITLE": "문장 %1 %2 %3",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "ì—ì„œ ë‹¤ìŒ ë¬¸ìž¥ì´ ì²˜ìŒìœ¼ë¡œ ë‚˜íƒ€ë‚œ ìœ„치 ì°¾ê¸° :",
+       "TEXT_INDEXOF_OPERATOR_LAST": "ì—ì„œ ë‹¤ìŒ ë¬¸ìž¥ì´ ë§ˆì§€ë§‰ìœ¼ë¡œ ë‚˜íƒ€ë‚œ ìœ„치 ì°¾ê¸° :",
+       "TEXT_CHARAT_HELPURL": "https://github.com/google/blockly/wiki/Text#extracting-text",
+       "TEXT_CHARAT_TITLE": "í…스트 %1 %2ì—ì„œ",
+       "TEXT_CHARAT_FROM_START": "ì—ì„œ, ì•žì—서부터 # ë²ˆì§¸ ìœ„치옠문잠얻기",
+       "TEXT_CHARAT_FROM_END": "ì—ì„œ, ë§ˆì§€ë§‰ë¶€í„° # ë²ˆì§¸ ìœ„치옠문잠얻기",
+       "TEXT_CHARAT_FIRST": "ì—ì„œ, ì²« ë²ˆì§¸ ë¬¸ìž ì–»ê¸°",
+       "TEXT_CHARAT_LAST": "ì—ì„œ, ë§ˆì§€ë§‰ ë¬¸ìž ì–»ê¸°",
+       "TEXT_CHARAT_RANDOM": "ì—ì„œ, ëžœë¤í•˜ê²Œ í•œ ë¬¸ìž ì–»ê¸°",
+       "TEXT_CHARAT_TAIL": "",
+       "TEXT_CHARAT_TOOLTIP": "특정 ë²ˆì§¸ ìœ„치ì—ì„œ, ë¬¸ìžë¥¼ ì–»ì–´ë‚´ ëŒë ¤ì¤ë‹ˆë‹¤.",
+       "TEXT_GET_SUBSTRING_TOOLTIP": "문장 ì¤‘ ì¼ë¶€ë¥¼ ì–»ì–´ë‚´ ëŒë ¤ì¤ë‹ˆë‹¤.",
+       "TEXT_GET_SUBSTRING_HELPURL": "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "문장",
+       "TEXT_GET_SUBSTRING_START_FROM_START": "ì—ì„œ, ì²˜ìŒë¶€í„° # ë²ˆì§¸ ë¬¸ìžë¶€í„° ì–»ì–´ëƒ„",
+       "TEXT_GET_SUBSTRING_START_FROM_END": "ì—ì„œ, ë§ˆì§€ë§‰ì—ì„œ # ë²ˆì§¸ë¶€í„° ì–»ì–´ëƒ„",
+       "TEXT_GET_SUBSTRING_START_FIRST": "ì—ì„œ, ì²˜ìŒë¶€í„° ì–»ì–´ëƒ„",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "# ë²ˆì§¸ ë¬¸ìžê¹Œì§€",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "ëì—서부터 # ë²ˆì§¸ ë¬¸ìžê¹Œì§€",
+       "TEXT_GET_SUBSTRING_END_LAST": "마지막 ë¬¸ìžê¹Œì§€",
+       "TEXT_GET_SUBSTRING_TAIL": "",
+       "TEXT_CHANGECASE_HELPURL": "https://github.com/google/blockly/wiki/Text#adjusting-text-case",
+       "TEXT_CHANGECASE_TOOLTIP": "ì˜ë¬¸ ëŒ€ì†Œë¬¸ìž í˜•íƒœë¥¼ ë³€ê²½í•´ ëŒë ¤ì¤ë‹ˆë‹¤.",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "대문ìžë¡œ",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "소문ìžë¡œ",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": "첫 ë¬¸ìžë§Œ ëŒ€ë¬¸ìžë¡œ",
+       "TEXT_TRIM_HELPURL": "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces",
+       "TEXT_TRIM_TOOLTIP": "문장옠왼쪽/오른쪽/양쪽ì—ì„œ ìŠ¤íŽ˜ì´ìŠ¤ ë¬¸ìžë¥¼ ì œê±°í•´ ëŒë ¤ì¤ë‹ˆë‹¤.",
+       "TEXT_TRIM_OPERATOR_BOTH": "양쪽옠공백 ë¬¸ìž ì œê±°",
+       "TEXT_TRIM_OPERATOR_LEFT": "왼쪽옠공백 ë¬¸ìž ì œê±°",
+       "TEXT_TRIM_OPERATOR_RIGHT": "오른쪽옠공백 ë¬¸ìž ì œê±°",
+       "TEXT_PRINT_HELPURL": "https://github.com/google/blockly/wiki/Text#printing-text",
+       "TEXT_PRINT_TITLE": "다쌠내용 ì¶œë ¥ %1",
+       "TEXT_PRINT_TOOLTIP": "ì›í•˜ëŠ” ë¬¸ìž¥, ìˆ˜, ê°’ ë“±ì„ ì¶œë ¥í•©ë‹ˆë‹¤.",
+       "TEXT_PROMPT_HELPURL": "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user",
+       "TEXT_PROMPT_TYPE_TEXT": "메시지를 í™œìš©í•´ ë¬¸ìž¥ ìž…ë ¥",
+       "TEXT_PROMPT_TYPE_NUMBER": "메시지를 í™œìš©í•´ ìˆ˜ ìž…ë ¥",
+       "TEXT_PROMPT_TOOLTIP_NUMBER": "수엠대해 ì‚¬ìš©ìžì˜ ìž…력선받습니다.",
+       "TEXT_PROMPT_TOOLTIP_TEXT": "문장엠대해 ì‚¬ìš©ìžì˜ ìž…력선받습니다.",
+       "TEXT_COUNT_HELPURL": "https://github.com/google/blockly/wiki/Text#counting-substrings",
+       "TEXT_REPLACE_HELPURL": "https://github.com/google/blockly/wiki/Text#replacing-substrings",
+       "TEXT_REVERSE_HELPURL": "https://github.com/google/blockly/wiki/Text#reversing-text",
+       "LISTS_CREATE_EMPTY_HELPURL": "https://github.com/google/blockly/wiki/Lists#create-empty-list",
+       "LISTS_CREATE_EMPTY_TITLE": "빈 ë¦¬ìŠ¤íŠ¸ ìƒì„±",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "ë°ì´í„° ë ˆì½”드가 ì—†ëŠ”, ê¸¸ì´ê°€ 0츠목ë¡ì„ ë°˜í™˜í•©ë‹ˆë‹¤.",
+       "LISTS_CREATE_WITH_HELPURL": "https://github.com/google/blockly/wiki/Lists#create-list-with",
+       "LISTS_CREATE_WITH_TOOLTIP": "ì›í•˜ëŠ” ìˆ˜ì˜ í•­ëª©ë“¤ë¡œ ëª©ë¡ì„ ìƒì„±í•©ë‹ˆë‹¤.",
+       "LISTS_CREATE_WITH_INPUT_WITH": "리스트 ë§Œë“¤ê¸°",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "리스트",
+       "LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "섹션선추가, ì œê±°í•˜ê±°ë‚˜ ìˆœì„œë¥¼ ë³€ê²½í•˜ì—¬ ì´ ë¦¬ìŠ¤íŠ¸ ë¸”럭선재구성합니다.",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "ì•„ì´í…œì„ ë¦¬ìŠ¤íŠ¸ì— ì¶”가합니다.",
+       "LISTS_REPEAT_HELPURL": "https://github.com/google/blockly/wiki/Lists#create-list-with",
+       "LISTS_REPEAT_TOOLTIP": "지정뜠값ì„, ì§€ì •ëœ ê°œìˆ˜ ë§Œí¼ ë„£ì–´, ëª©ë¡ì„ ìƒì„±í•©ë‹ˆë‹¤.",
+       "LISTS_REPEAT_TITLE": "%1ì„ %2번 ë„£ì–´, ë¦¬ìŠ¤íŠ¸ ìƒì„±",
+       "LISTS_LENGTH_HELPURL": "https://github.com/google/blockly/wiki/Lists#length-of",
+       "LISTS_LENGTH_TITLE": "%1옠길ì´",
+       "LISTS_LENGTH_TOOLTIP": "목ë¡ì˜ ê¸¸ì´ë¥¼ ë°˜í™˜í•©ë‹ˆë‹¤.",
+       "LISTS_ISEMPTY_HELPURL": "https://github.com/google/blockly/wiki/Lists#is-empty",
+       "LISTS_ISEMPTY_TITLE": "%1촠비어 ìžˆìŠµë‹ˆë‹¤",
+       "LISTS_ISEMPTY_TOOLTIP": "목ë¡ì´ ë¹„었선때 ì°¸ì„ ë°˜í™˜í•©ë‹ˆë‹¤.",
+       "LISTS_INLIST": "리스트",
+       "LISTS_INDEX_OF_HELPURL": "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list",
+       "LISTS_INDEX_OF_FIRST": "처ìŒìœ¼ë¡œ ë‚˜íƒ€ë‚œ ìœ„치",
+       "LISTS_INDEX_OF_LAST": "마지막으로 ë‚˜íƒ€ë‚œ ìœ„치",
+       "LISTS_INDEX_OF_TOOLTIP": "목ë¡ì—ì„œ í•­ëª©ì´ ì²˜ìŒ ë˜ëŠ” ë§ˆì§€ë§‰ìœ¼ë¡œ ë°œìƒí•œ ìƒ‰ì¸ ìœ„치를 ë°˜í™˜í•©ë‹ˆë‹¤. í•­ëª©ì´ ì—†ìœ¼ë©´ %1선반환합니다.",
+       "LISTS_GET_INDEX_GET": "가져오기",
+       "LISTS_GET_INDEX_GET_REMOVE": "잘뼠내기",
+       "LISTS_GET_INDEX_REMOVE": "ì‚­ì œ",
+       "LISTS_GET_INDEX_FROM_START": "#",
+       "LISTS_GET_INDEX_FROM_END": "마지막 ë²ˆì§¸ ìœ„치부터, # ë²ˆì§¸",
+       "LISTS_GET_INDEX_FIRST": "첫 ë²ˆì§¸",
+       "LISTS_GET_INDEX_LAST": "마지막",
+       "LISTS_GET_INDEX_RANDOM": "ìž„ì˜ë¡œ",
+       "LISTS_GET_INDEX_TAIL": "",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "%1쀠첫 ë²ˆì§¸ í•­ëª©ìž…니다.",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "%1ì€(는) ë§ˆì§€ë§‰ í•­ëª©ìž…니다.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "목ë¡ì—ì„œ íŠ¹ì • ìœ„치옠항목선반환합니다.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "첫 ë²ˆì§¸ ì•„ì´í…œì„ ì°¾ì•„ ëŒë ¤ì¤ë‹ˆë‹¤.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "마지막 ì•„ì´í…œì„ ì°¾ì•„ ëŒë ¤ì¤ë‹ˆë‹¤.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "리스트옠아ì´í…œë“¤ ì¤‘, ëžœë¤ìœ¼ë¡œ ì„ íƒí•´ ëŒë ¤ì¤ë‹ˆë‹¤.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "목ë¡ì˜ íŠ¹ì • ìœ„치엠있는 í•­ëª©ì„ ì œê±°í•˜ê³  ë°˜í™˜í•©ë‹ˆë‹¤.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "첫 ë²ˆì§¸ ì•„ì´í…œì„ ì°¾ì•„ë‚´ ëŒë ¤ì£¼ê³ , ê·¸ ì•„ì´í…œì„ ë¦¬ìŠ¤íŠ¸ì—ì„œ ì‚­ì œí•©ë‹ˆë‹¤.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "마지막 ì•„ì´í…œì„ ì°¾ì•„ë‚´ ëŒë ¤ì£¼ê³ , ê·¸ ì•„ì´í…œì„ ë¦¬ìŠ¤íŠ¸ì—ì„œ ì‚­ì œí•©ë‹ˆë‹¤.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "목ë¡ì—ì„œ ìž„옠위치옠아ì´í…œì„ ì°¾ì•„ë‚´ ì‚­ì œí•˜ê³  ëŒë ¤ì¤ë‹ˆë‹¤.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "목ë¡ì—ì„œ íŠ¹ì • ìœ„치옠항목선삭제합니다.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "리스트ì—ì„œ ì²« ë²ˆì§¸ ì•„ì´í…œì„ ì‚­ì œí•©ë‹ˆë‹¤.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "리스트ì—ì„œ ë§ˆì§€ë§‰ ì•„ì´í…œì„ ì°¾ì•„ ì‚­ì œí•©ë‹ˆë‹¤.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "리스트ì—ì„œ ëžœë¤í•˜ê²Œ ì•„ì´í…œì„ ì‚­ì œí•©ë‹ˆë‹¤.",
+       "LISTS_SET_INDEX_HELPURL": "https://github.com/google/blockly/wiki/Lists#in-list--set",
+       "LISTS_SET_INDEX_SET": "ì—ì„œ ì„¤ì •",
+       "LISTS_SET_INDEX_INSERT": "ì—ì„œ ì›í•˜ëŠ” ìœ„치엠삽입",
+       "LISTS_SET_INDEX_INPUT_TO": "ì—",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "목ë¡ì˜ íŠ¹ì • ìœ„치엠있는 í•­ëª©ìœ¼ë¡œ ì„¤ì •í•©ë‹ˆë‹¤.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "첫 ë²ˆì§¸ ìœ„치옠아ì´í…œìœ¼ë¡œ ì„¤ì •í•©ë‹ˆë‹¤.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_LAST": "마지막 ì•„ì´í…œìœ¼ë¡œ ì„¤ì •í•©ë‹ˆë‹¤.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "목ë¡ì—ì„œ ìž„옠위치옠아ì´í…œì„ ì„¤ì •í•©ë‹ˆë‹¤.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "목ë¡ì˜ íŠ¹ì • ìœ„치엠항목선삽입합니다.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "항목선목ë¡ì˜ ì²˜ìŒ ìœ„치엠삽입합니다.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "리스트옠마지막엠아ì´í…œì„ ì¶”가합니다.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "목ë¡ì—ì„œ ìž„옠위치엠아ì´í…œì„ ì‚½ìž…합니다.",
+       "LISTS_GET_SUBLIST_HELPURL": "https://github.com/google/blockly/wiki/Lists#getting-a-sublist",
+       "LISTS_GET_SUBLIST_START_FROM_START": "처쌠# ë²ˆì§¸ ìœ„치부터, ì„œë¸Œ ë¦¬ìŠ¤íŠ¸ ì¶”출",
+       "LISTS_GET_SUBLIST_START_FROM_END": "마지막부터 # ë²ˆì§¸ ìœ„치부터, ì„œë¸Œ ë¦¬ìŠ¤íŠ¸ ì¶”출",
+       "LISTS_GET_SUBLIST_START_FIRST": "첫 ë²ˆì§¸ ìœ„치부터, ì„œë¸Œ ë¦¬ìŠ¤íŠ¸ ì¶”출",
+       "LISTS_GET_SUBLIST_END_FROM_START": "ì•žì—서부터 # ë²ˆì§¸ë¡œ",
+       "LISTS_GET_SUBLIST_END_FROM_END": "ëì—서부터 # ë²ˆì§¸ë¡œ",
+       "LISTS_GET_SUBLIST_END_LAST": "마지막으로",
+       "LISTS_GET_SUBLIST_TAIL": "",
+       "LISTS_GET_SUBLIST_TOOLTIP": "목ë¡ì˜ íŠ¹ì • ë¶€ë¶„엠대한 ë³µì‚¬ë³¸ì„ ë§Œë“­ë‹ˆë‹¤.",
+       "LISTS_SORT_HELPURL": "https://github.com/google/blockly/wiki/Lists#sorting-a-list",
+       "LISTS_SORT_TITLE": "ì •ë ¬ %1 %2 %3",
+       "LISTS_SORT_TOOLTIP": "목ë¡ì˜ ì‚¬ë³¸ì„ ì •ë ¬í•©ë‹ˆë‹¤.",
+       "LISTS_SORT_ORDER_ASCENDING": "오름차순",
+       "LISTS_SORT_ORDER_DESCENDING": "내림차순",
+       "LISTS_SORT_TYPE_NUMERIC": "숫ìžìˆœ",
+       "LISTS_SORT_TYPE_TEXT": "알파벳순",
+       "LISTS_SORT_TYPE_IGNORECASE": "알파벳순 (대소문잠구분 ì•ˆ í•¨)",
+       "LISTS_SPLIT_HELPURL": "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists",
+       "LISTS_SPLIT_LIST_FROM_TEXT": "í…스트ì—ì„œ ëª©ë¡ ë§Œë“¤ê¸°",
+       "LISTS_SPLIT_TEXT_FROM_LIST": "목ë¡ì—ì„œ í…스트 ë§Œë“¤ê¸°",
+       "LISTS_SPLIT_WITH_DELIMITER": "분리와",
+       "LISTS_SPLIT_TOOLTIP_SPLIT": "ê° ì†ë³´, í…스트옠목ë¡ë“¤ì—ì„œ í…스트를 ë¶„할합니다.",
+       "LISTS_SPLIT_TOOLTIP_JOIN": "구분 ê¸°í˜¸ë¡œ êµ¬ë¶„하여 í…스트 ëª©ë¡ì„ í•˜ë‚˜ì˜ í…스트엠병합합니다.",
+       "LISTS_REVERSE_HELPURL": "https://github.com/google/blockly/wiki/Lists#reversing-a-list",
+       "ORDINAL_NUMBER_SUFFIX": "",
+       "VARIABLES_GET_HELPURL": "https://ko.wikipedia.org/wiki/%EB%B3%80%EC%88%98_(%EC%BB%B4%ED%93%A8%ED%84%B0_%EA%B3%BC%ED%95%99)",
+       "VARIABLES_GET_TOOLTIP": "변수엠저장 ë˜ì–´ìžˆëŠ” ê°’ì„ ëŒë ¤ì¤ë‹ˆë‹¤.",
+       "VARIABLES_GET_CREATE_SET": "'집합 %1' ìƒì„±",
+       "VARIABLES_SET_HELPURL": "https://ko.wikipedia.org/wiki/%EB%B3%80%EC%88%98_(%EC%BB%B4%ED%93%A8%ED%84%B0_%EA%B3%BC%ED%95%99)",
+       "VARIABLES_SET": "%1를 %2ë¡œ ì„¤ì •",
+       "VARIABLES_SET_TOOLTIP": "변수옠값선입력한 ê°’으로 ë³€ê²½í•´ ì¤ë‹ˆë‹¤.",
+       "VARIABLES_SET_CREATE_GET": "'%1 ê°’ ì½ê¸°' ë¸”럭 ìƒì„±",
+       "PROCEDURES_DEFNORETURN_HELPURL": "https://ko.wikipedia.org/wiki/%ED%95%A8%EC%88%98_%28%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D%29",
+       "PROCEDURES_DEFNORETURN_TITLE": "함수",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "함수 ì´ë¦„",
+       "PROCEDURES_BEFORE_PARAMS": "사용:",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "사용:",
+       "PROCEDURES_DEFNORETURN_DO": "",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "실행 í›„, ê²°ê³¼ ê°’ì„ ëŒë ¤ì£¼ì§€ ì•ŠëŠ” í•¨ìˆ˜ë¥¼ ë§Œë“­ë‹ˆë‹¤.",
+       "PROCEDURES_DEFNORETURN_COMMENT": "촠함수를 ì„¤ëª…하세요...",
+       "PROCEDURES_DEFRETURN_HELPURL": "https://ko.wikipedia.org/wiki/%ED%95%A8%EC%88%98_%28%ED%94%84%EB%A1%9C%EA%B7%B8%EB%9E%98%EB%B0%8D%29",
+       "PROCEDURES_DEFRETURN_RETURN": "다ìŒì„ ëŒë ¤ì¤Œ",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "실행 í›„, ê²°ê³¼ ê°’ì„ ëŒë ¤ì£¼ëŠ” í•¨ìˆ˜ë¥¼ ë§Œë“­ë‹ˆë‹¤.",
+       "PROCEDURES_ALLOW_STATEMENTS": "서술 í—ˆê°€",
+       "PROCEDURES_DEF_DUPLICATE_WARNING": "경고: ì´ í•¨ìˆ˜ì—는, ê°™ì€ ì´ë¦„선사용하는 ë§¤ê°œ ë³€ìˆ˜ë“¤ì´ ìžˆìŠµë‹ˆë‹¤.",
+       "PROCEDURES_CALLNORETURN_HELPURL": "https://ko.wikipedia.org/wiki/함수_(프로그래ë°)",
+       "PROCEDURES_CALLNORETURN_TOOLTIP": "미리 ì •ì˜í•´ ë‘” '%1' í•¨ìˆ˜ë¥¼ ì‹¤í–‰í•©ë‹ˆë‹¤.",
+       "PROCEDURES_CALLRETURN_HELPURL": "https://ko.wikipedia.org/wiki/함수_(프로그래ë°)",
+       "PROCEDURES_CALLRETURN_TOOLTIP": "미리 ì •ì˜í•´ ë‘” '%1' í•¨ìˆ˜ë¥¼ ì‹¤í–‰í•˜ê³ , í•¨ìˆ˜ë¥¼ ì‹¤í–‰í•œ ê²°ê³¼ ê°’ì„ ëŒë ¤ì¤ë‹ˆë‹¤.",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "매개 ë³€ìˆ˜ë“¤",
+       "PROCEDURES_MUTATORCONTAINER_TOOLTIP": "촠함수를 ì¶”ê°€, ì‚­ì œ, í˜¹ì€ ìž¬ì •ë ¬í•©ë‹ˆë‹¤.",
+       "PROCEDURES_MUTATORARG_TITLE": "매개 ë³€ìˆ˜:",
+       "PROCEDURES_MUTATORARG_TOOLTIP": "함수엠값선ë”합니다.",
+       "PROCEDURES_HIGHLIGHT_DEF": "함수 ì •ì˜ ì°¾ê¸°",
+       "PROCEDURES_CREATE_DO": "'%1' ìƒì„±",
+       "PROCEDURES_IFRETURN_TOOLTIP": "ê°’ì´ ì°¸ì´ë¼ë©´, ë‘ ë²ˆì§¸ ê°’선반환합니다.",
+       "PROCEDURES_IFRETURN_HELPURL": "http://c2.com/cgi/wiki?GuardClause",
+       "PROCEDURES_IFRETURN_WARNING": "경고: ì´ ë¸”럭ì€, í•¨ìˆ˜ ì •ì˜ ë¸”럭 ì•ˆì—서만 ì‚¬ìš©í•  ìˆ˜ ìžˆìŠµë‹ˆë‹¤.",
+       "WORKSPACE_COMMENT_DEFAULT_TEXT": "ë§í•´ ë³´ì„¸ìš”..."
+}
diff --git a/js/msg/json/lb.json b/js/msg/json/lb.json
new file mode 100644 (file)
index 0000000..2ff5adb
--- /dev/null
@@ -0,0 +1,144 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Robby",
+                       "Soued031",
+                       "Les Meloures"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "Element",
+       "TODAY": "Haut",
+       "DUPLICATE_BLOCK": "Eng Kopie maachen",
+       "ADD_COMMENT": "Bemierkung derbäisetzen",
+       "REMOVE_COMMENT": "Bemierkung ewechhuelen",
+       "DUPLICATE_COMMENT": "Bemierkung kopéieren",
+       "DELETE_BLOCK": "Block läschen",
+       "DELETE_X_BLOCKS": "%1 Bléck läschen",
+       "CLEAN_UP": "Bléck opraumen",
+       "COLLAPSE_BLOCK": "Block zesummeklappen",
+       "COLLAPSE_ALL": "Bléck zesummeklappen",
+       "EXPAND_BLOCK": "Block opklappen",
+       "EXPAND_ALL": "Bléck opklappen",
+       "DISABLE_BLOCK": "Block desaktivéieren",
+       "ENABLE_BLOCK": "Block aktivéieren",
+       "HELP": "Hëllef",
+       "UNDO": "Réckgängeg maachen",
+       "REDO": "Widderhuelen",
+       "CHANGE_VALUE_TITLE": "Wäert änneren:",
+       "RENAME_VARIABLE": "Variabel ëmbenennen...",
+       "RENAME_VARIABLE_TITLE": "All '%1' Variabelen ëmbenennen op:",
+       "NEW_VARIABLE": "Variabel uleeën...",
+       "NEW_VARIABLE_TITLE": "Neie variabelen Numm:",
+       "COLOUR_PICKER_TOOLTIP": "Sicht eng Faarf an der Palette eraus.",
+       "COLOUR_RANDOM_TITLE": "zoufälleg Faarf",
+       "COLOUR_RANDOM_TOOLTIP": "Eng zoufälleg Faarf eraussichen.",
+       "COLOUR_RGB_TITLE": "fierwe mat",
+       "COLOUR_RGB_RED": "rout",
+       "COLOUR_RGB_GREEN": "gréng",
+       "COLOUR_RGB_BLUE": "blo",
+       "COLOUR_BLEND_TITLE": "mëschen",
+       "COLOUR_BLEND_COLOUR1": "Faarf 1",
+       "COLOUR_BLEND_COLOUR2": "Faarf 2",
+       "COLOUR_BLEND_RATIO": "ratio",
+       "CONTROLS_REPEAT_TITLE": "%1-mol widderhuelen",
+       "CONTROLS_REPEAT_INPUT_DO": "maach",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "Widderhuel soulaang",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "widderhuele bis",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "Féiert d'Uweisungen aus, soulaang wéi de Wäert richteg ass",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "Féiert d'Uweisungen aus, soulaang wéi de Wäert falsch ass.",
+       "CONTROLS_FOR_TITLE": "zielt mat %1 vun %2 bis %3 mat %4",
+       "CONTROLS_FOREACH_TITLE": "fir all Element %1 an der Lëscht %2",
+       "CONTROLS_IF_MSG_IF": "wann",
+       "CONTROLS_IF_MSG_ELSE": "soss",
+       "IOS_OK": "OK",
+       "IOS_CANCEL": "Ofbriechen",
+       "IOS_ERROR": "Feeler",
+       "IOS_VARIABLES_ADD_VARIABLE": "+ Variabel derbäisetzen",
+       "IOS_VARIABLES_ADD_BUTTON": "Derbäisetzen",
+       "IOS_VARIABLES_RENAME_BUTTON": "Ëmbenennen",
+       "IOS_VARIABLES_DELETE_BUTTON": "Läschen",
+       "IOS_VARIABLES_VARIABLE_NAME": "Numm vun der Variabel",
+       "IOS_VARIABLES_EMPTY_NAME_ERROR": "Dir kënnt keen eidelen Numm fir eng Variabel benotzen.",
+       "LOGIC_OPERATION_AND": "an",
+       "LOGIC_OPERATION_OR": "oder",
+       "LOGIC_NEGATE_TITLE": "net %1",
+       "LOGIC_BOOLEAN_TRUE": "wouer",
+       "LOGIC_BOOLEAN_FALSE": "falsch",
+       "LOGIC_BOOLEAN_TOOLTIP": "Schéckt entweder richteg oder falsch zréck.",
+       "LOGIC_NULL": "null",
+       "LOGIC_TERNARY_HELPURL": "https://en.wikipedia.org/wiki/%3F:",
+       "LOGIC_TERNARY_CONDITION": "Test",
+       "LOGIC_TERNARY_IF_TRUE": "wa wouer",
+       "LOGIC_TERNARY_IF_FALSE": "wa falsch",
+       "MATH_NUMBER_TOOLTIP": "Eng Zuel.",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "Den Total vun den zwou Zuelen zréckginn.",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "D'Produkt vun den zwou Zuelen zréckginn.",
+       "MATH_SINGLE_HELPURL": "https://lb.wikipedia.org/wiki/Racine carrée",
+       "MATH_SINGLE_OP_ROOT": "Quadratwuerzel",
+       "MATH_SINGLE_OP_ABSOLUTE": "absolut",
+       "MATH_IS_EVEN": "ass gerued",
+       "MATH_IS_ODD": "ass ongerued",
+       "MATH_IS_PRIME": "ass eng Primzuel",
+       "MATH_IS_WHOLE": "ass eng ganz Zuel",
+       "MATH_IS_POSITIVE": "ass positiv",
+       "MATH_IS_NEGATIVE": "ass negativ",
+       "MATH_CHANGE_TITLE": "änneren %1 ëm %2",
+       "MATH_ROUND_TOOLTIP": "Eng Zuel op- oder ofrënnen.",
+       "MATH_ROUND_OPERATOR_ROUND": "opronnen",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "oprënnen",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "ofrënnen",
+       "MATH_ONLIST_OPERATOR_MAX": "Maximum aus der Lëscht",
+       "MATH_ONLIST_TOOLTIP_MAX": "Schéckt de gréisste Wäert aus enger Lëscht zréck.",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "Moyenne vun der Lëscht",
+       "MATH_ONLIST_OPERATOR_RANDOM": "zoufällegt Element vun enger Lëscht",
+       "MATH_MODULO_TITLE": "Rescht vu(n) %1 ÷ %2",
+       "MATH_RANDOM_INT_TITLE": "zoufälleg ganz Zuel tëscht %1 a(n) %2",
+       "TEXT_TEXT_TOOLTIP": "E Buschtaf, e Wuert oder eng Textzeil.",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "En Element bei den Text derbäisetzen.",
+       "TEXT_LENGTH_TITLE": "Längt vu(n) %1",
+       "TEXT_ISEMPTY_TITLE": "%1 ass eidel",
+       "TEXT_INDEXOF_TITLE": "am Text %1 %2 %3",
+       "TEXT_CHARAT_TITLE": "am Text %1 %2",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "am Text",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "bis bei de Buschtaf #",
+       "TEXT_GET_SUBSTRING_END_LAST": "bis bei de leschte Buschtaw",
+       "TEXT_PRINT_TITLE": "%1 drécken",
+       "TEXT_PROMPT_TOOLTIP_TEXT": "Frot de Benotzer no engem Text.",
+       "TEXT_COUNT_HELPURL": "https://github.com/google/blockly/wiki/Text#counting-substrings",
+       "TEXT_REPLACE_MESSAGE0": "%1 duerch %2 a(n) %3 ersetzen",
+       "TEXT_REPLACE_TOOLTIP": "All Kéiers wou e bestëmmten Text do ass duerch en aneren Text ersetzen.",
+       "TEXT_REVERSE_TOOLTIP": "Dréint d'Reiefolleg vun den Zeechen am Text ëm.",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "Lëscht",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "En Element op d'Lëscht derbäisetzen.",
+       "LISTS_LENGTH_TITLE": "Längt vu(n) %1",
+       "LISTS_ISEMPTY_TITLE": "%1 ass eidel",
+       "LISTS_INLIST": "an der Lëscht",
+       "LISTS_GET_INDEX_REMOVE": "ewechhuelen",
+       "LISTS_GET_INDEX_FROM_START": "#",
+       "LISTS_GET_INDEX_FROM_END": "# vun hannen",
+       "LISTS_GET_INDEX_FIRST": "éischt",
+       "LISTS_GET_INDEX_LAST": "lescht",
+       "LISTS_GET_INDEX_RANDOM": "Zoufall",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "%1 ass dat éischt Element.",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "%1 ass dat éischt Element.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "Schéckt en zoufällegt Element aus enger Lëscht zréck.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "Hëlt dat lescht Element aus enger Lëscht eraus.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "Hëlt en zoufällegt Element aus enger Lëscht eraus.",
+       "LISTS_SET_INDEX_INSERT": "asetzen op",
+       "LISTS_SET_INDEX_INPUT_TO": "als",
+       "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "Setzt en zoufällegt Element an eng Lëscht.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "Setzt d'Element um Enn vun enger Lëscht derbäi.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "Setzt d'Element op eng zoufälleg Plaz an d'Lëscht derbäi.",
+       "LISTS_SORT_TITLE": "%1 %2 %3 zortéieren",
+       "LISTS_SORT_TYPE_NUMERIC": "numeresch",
+       "LISTS_SORT_TYPE_TEXT": "alphabetesch",
+       "LISTS_REVERSE_HELPURL": "https://github.com/google/blockly/wiki/Lists#reversing-a-list",
+       "LISTS_REVERSE_MESSAGE0": "%1 ëmdréinen",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "eppes maachen",
+       "PROCEDURES_BEFORE_PARAMS": "mat:",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "mat:",
+       "PROCEDURES_DEFNORETURN_COMMENT": "Dës Funktioun beschreiwen...",
+       "PROCEDURES_DEFRETURN_RETURN": "zréck",
+       "PROCEDURES_CREATE_DO": "'%1' uleeën",
+       "WORKSPACE_COMMENT_DEFAULT_TEXT": "Sot eppes..."
+}
diff --git a/js/msg/json/lki.json b/js/msg/json/lki.json
new file mode 100644 (file)
index 0000000..e27c575
--- /dev/null
@@ -0,0 +1,294 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Hosseinblue",
+                       "Lakzon"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "آیتم",
+       "TODAY": "ایمڕۆ",
+       "DUPLICATE_BLOCK": "کؤپی Ú©Ø±Ø¯Ù†",
+       "ADD_COMMENT": "گةپ Ø¯Ø§Ø¦Ù†",
+       "REMOVE_COMMENT": "پاک Ú©Ø±Ø¯Ù† Ú¯Ø©Ù¾Ø©Ù„/Ù‚Ùسةل",
+       "EXTERNAL_INPUTS": "ورودیةل Ø®Ø±ÙˆØ¬ÛŒ",
+       "INLINE_INPUTS": "ورودیةل Ù†ÙˆÙ… Ø¬Ø§",
+       "DELETE_BLOCK": "پاک Ú©Ø±Ø¯Ù† Ø¨Ù„اک",
+       "DELETE_X_BLOCKS": "حةذ٠%1 Ø¨Ù„اکةل",
+       "DELETE_ALL_BLOCKS": "حةذ٠کؤل %1 Ø¨Ù„اکةل?",
+       "CLEAN_UP": "تمیزکردن Ø¨Ù„اکةل",
+       "COLLAPSE_BLOCK": "چؤیچانن/پشکانن Ø¨Ù„اک",
+       "COLLAPSE_ALL": "چؤیچانن/پشکانن Ø¨Ù„اکةل",
+       "EXPAND_BLOCK": "کةلنگآ Ú©Ø±Ø¯ÙÙ† Ø¨Ù„اک",
+       "EXPAND_ALL": "کةلنگآ Ú©Ø±Ø¯ÙÙ† Ø¨Ù„اکةل",
+       "DISABLE_BLOCK": "Ø¥ Ú©Ø§Ø± Ú©Ø©ØªÙ†(غیرÙعال‌سازی) Ø¨Ù„اک",
+       "ENABLE_BLOCK": "Ø¥ Ú©Ø§Ø±Ø¢Ø´ØªÙ†(Ùعال)بلاک",
+       "HELP": "کؤمةک",
+       "CHANGE_VALUE_TITLE": "تةغییر Ù…قدار:",
+       "RENAME_VARIABLE": "تغییر Ù†Ø§Ù… Ù…تغیر...",
+       "RENAME_VARIABLE_TITLE": "تغییر Ù†Ø§Ù… Ù‡Ù…Ù‡Ù” Ù…تغیرهای Â«%1» Ø¨Ù‡:",
+       "NEW_VARIABLE": "متغیر ØªØ§Ø²Ù‡...",
+       "NEW_VARIABLE_TITLE": "نام Ù…تغیر ØªØ§Ø²Ù‡:",
+       "COLOUR_PICKER_HELPURL": "https://lki.wikipedia.org/wiki/Ú•Û•Ù†Ú¯",
+       "COLOUR_PICKER_TOOLTIP": "رةنگێ Ø¥Ú˜ ØªØ©Ø®ØªØ© Ø±Ø©Ù†Ú¯ Ø§Ù†ØªØ®Ø§Ø¨ Ú©Ø©Ù†",
+       "COLOUR_RANDOM_TITLE": "رةنگ Ø¨Ø©Ø®ØªØ©Ú©ÛŒ",
+       "COLOUR_RANDOM_TOOLTIP": ".رةنگئ Ø¨Ø©Ø®ØªØ©Ú©ÛŒ Ø§Ù†ØªØ®Ø§Ø¨ Ú©Ø©Ù†",
+       "COLOUR_RGB_TITLE": "رةنگ ÙˆØ©",
+       "COLOUR_RGB_RED": "سۆر",
+       "COLOUR_RGB_GREEN": "سؤز",
+       "COLOUR_RGB_BLUE": "کاوو",
+       "COLOUR_RGB_TOOLTIP": "ساخت ÛŒÚ© Ø±Ù†Ú¯ Ø¨Ø§ Ù…قدار Ù…شخص‌شده‌ای Ø§Ø² Ø³Û†Ø±ØŒ Ø³Ø¤Ø² Ùˆ Ú©Ø§ÙˆÙˆ. Ù‡Ù…Ù‡Ù” Ù…قادیر Ø¨Ø§ÛŒØ¯ Ø¨ÛŒÙ† Û° ØªØ§ Û±Û°Û° Ø¨Ø§Ø´Ù†Ø¯.",
+       "COLOUR_BLEND_TITLE": "قاتی Ù¾Ø§ØªÛŒ",
+       "COLOUR_BLEND_COLOUR1": "رةنگ 1",
+       "COLOUR_BLEND_COLOUR2": "رةنگ 2",
+       "COLOUR_BLEND_RATIO": "نسبت",
+       "COLOUR_BLEND_TOOLTIP": "دو Ø±Ù†Ú¯ Ø±Ø§ Ø¨Ø§ Ù†Ø³Ø¨Øª Ù…شخص‌شده Ù…خلوط Ù…ی‌کند (Û°Ù«Û° - Û±Ù«Û°)",
+       "CONTROLS_REPEAT_HELPURL": "https://lki.wikipedia.org/wiki/حلقه_Ùور",
+       "CONTROLS_REPEAT_TITLE": "%بار ØªÚ©Ø±Ø§Ø± 1",
+       "CONTROLS_REPEAT_INPUT_DO": "انجوم Ø¨ÛŒ",
+       "CONTROLS_REPEAT_TOOLTIP": "انجام Ú†Ø©Ù† Ø¹Ø¨Ø§Ø±Øª Ú†Ù†Ø¯ÛŒÙ† Ú¯ÙÙ„.",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "تکرار Ø¯Ø± Ø­Ø§Ù„ÛŒ Ú©Ù‡",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "تکرار ØªØ§ ÙˆØ©Ø®ØªÛŽ Ú¯Ø¥",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "تا Ø²Ù…انی Ú©Ù‡ ÛŒÚ© Ù…قدار ØµØ­ÛŒØ­ Ø§Ø³ØªØŒ Ú†Ù†Ø¯ Ø¹Ø¨Ø§Ø±Øª Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ø¨Ø¯Ù‡.",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "تا Ø²Ù…انی Ú©Ù‡ ÛŒÚ© Ù…قدار Ù†Ø§ØµØ­ÛŒØ­ Ø§Ø³ØªØŒ Ú†Ù†Ø¯ Ø¹Ø¨Ø§Ø±Øª Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ø¨Ø¯Ù‡.",
+       "CONTROLS_FOR_TOOLTIP": "متغیر %1 Ø±Ø§ Ø¯Ø± Ù…قادیر Ø´Ø±ÙˆØ¹â€ŒØ´Ø¯Ù‡ Ø§Ø² Ø¹Ø¯Ø¯ Ø§Ù†ØªÙ‡Ø§ÛŒ  Ø¨Ù‡ Ø¹Ø¯Ø¯ Ø§Ù†ØªÙ‡Ø§ÛŒÛŒ Ø±Ø§ Ø¯Ø§Ø±Ø¯ØŒ Ø¨Ø§ Ùواصل Ù…شخص‌شده Ù…ی‌شمارد Ùˆ Ø§ÛŒÙ† Ø¨Ù„ÙˆÚ© Ù…شخص‌شده Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ù…ی‌دهد.",
+       "CONTROLS_FOR_TITLE": "با ØªØ¹Ø¯Ø§Ø¯ %1 Ø§Ø² %2 Ø¨Ù‡ %3 Ø¨Ø§ Ú¯Ø§Ù…‌های %4",
+       "CONTROLS_FOREACH_TITLE": "ئةرا Ù‡Ø± Ù…ورد %1 ÙˆÛ€ Ù†Ø§Ù… Ù„یست%2",
+       "CONTROLS_FOREACH_TOOLTIP": "برای Ù‡Ø± Ù…ورد Ø¯Ø± Ø§ÛŒÙ† Ùهرست، ØªÙ†Ø¸ÛŒÙ… Ù…تغیر Â«%1» Ø¨Ù‡ Ù…ورد Ùˆ Ø§Ù†Ø¬Ø§Ù… ØªØ¹Ø¯Ø§Ø¯ÛŒ Ø¹Ø¨Ø§Ø±Øª.",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "شکانÙÙ† Ø­Ù„قه",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "ادامه Ø¨Ø§ ØªÚ©Ø±Ø§Ø± Ø¨Ø¹Ø¯ÛŒ Ø­Ù„قه",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "شکستن Ø­Ù„قهٔ Ø´Ø§Ù…Ù„.",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "پریدن Ø§Ø² Ø¨Ù‚یهٔ Ø­Ù„قه Ùˆ Ø§Ø¯Ø§Ù…Ù‡ Ø¨Ø§ ØªÚ©Ø±Ø§Ø± Ø¨Ø¹Ø¯ÛŒ.",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "اخطار: Ø§ÛŒÙ† Ø¨Ù„ÙˆÚ© Ù…Ù…Ú©Ù† Ø§Ø³Øª Ùقط Ø¯Ø§Ø®Ù„ ÛŒÚ© Ø­Ù„قه Ø§Ø³ØªÙاده Ø´ÙˆØ¯.",
+       "CONTROLS_IF_TOOLTIP_1": "اگر ÛŒÚ© Ù…قدار ØµØ­ÛŒØ­ Ø§Ø³ØªØŒ Ø³Ù¾Ø³ Ú†Ù†Ø¯ Ø¹Ø¨Ø§Ø±Øª Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ø¨Ø¯Ù‡.",
+       "CONTROLS_IF_TOOLTIP_2": "اگر ÛŒÚ© Ù…قدار ØµØ­ÛŒØ­ Ø§Ø³ØªØŒ Ø§ÙˆÙ„ Ø¨Ù„ÙˆÚ© Ø§ÙˆÙ„ Ø¹Ø¨Ø§Ø±Ø§Øª Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ø¨Ø¯Ù‡.  Ø¯Ø± ØºÛŒØ± Ø§ÛŒÙ† ØµÙˆØ±Øª Ø¨Ù„ÙˆÚ© Ø¯ÙˆÙ… Ø¹Ø¨Ø§Ø±Ø§Øª Ø§Ù†Ø¬Ø§Ù… Ø¨Ø¯Ù‡.",
+       "CONTROLS_IF_TOOLTIP_3": "اگر Ù…قدار Ø§ÙˆÙ„ ØµØ­ÛŒØ­ Ø¨ÙˆØ¯ØŒ Ø§Ø² Ø¢Ù† Ø¨Ù„ÙˆÚ© Ø§ÙˆÙ„ Ø¹Ø¨Ø§Ø±Ø§Øª Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ø¨Ø¯Ù‡.  Ø¯Ø± ØºÛŒØ± Ø§ÛŒÙ† ØµÙˆØ±ØªØŒ Ø§Ú¯Ø± Ù…قدار Ø¯ÙˆÙ… ØµØ­ÛŒØ­ Ø§Ø³ØªØŒ Ø¨Ù„ÙˆÚ© Ø¯ÙˆÙ… Ø¹Ø¨Ø§Ø±Ø§Øª Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ø¨Ø¯Ù‡.",
+       "CONTROLS_IF_TOOLTIP_4": "اگر Ù…قدار Ø§ÙˆÙ„ Ø¯Ø±Ø³Øª Ø§Ø³ØªØŒ Ø¨Ù„ÙˆÚ© Ø§ÙˆÙ„ Ø¹Ø¨Ø§Ø±Ø§Øª Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ø¨Ø¯Ù‡.  Ø¯Ø± ØºÛŒØ± Ø§ÛŒÙ† ØµÙˆØ±ØªØŒ Ø§Ú¯Ø± Ù…قدار Ø¯ÙˆÙ… Ø¯Ø±Ø³Øª Ø¨Ø§Ø´Ø¯ Ø¨Ù„ÙˆÚ© Ø¯ÙˆÙ… Ø¹Ø¨Ø§Ø±Ø§Øª Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ø¨Ø¯Ù‡.  Ø§Ú¯Ø± Ù‡ÛŒÚ† Ø§Ø² Ù…قادیر Ø¯Ø±Ø³Øª Ù†Ø¨ÙˆØ¯ØŒ Ø¢Ø®Ø±ÛŒÙ† Ø¨Ù„ÙˆÚ© Ø¹Ø¨Ø§Ø±Ø§Øª Ø±Ø§ Ø§Ù†Ø¬Ø§Ù… Ø¨Ø¯Ù‡.",
+       "CONTROLS_IF_MSG_IF": "اگر",
+       "CONTROLS_IF_MSG_ELSEIF": "اگر Ø¢Ù†Ú¯Ø§Ù‡",
+       "CONTROLS_IF_MSG_ELSE": "آنگاه",
+       "CONTROLS_IF_IF_TOOLTIP": "اÙزودن، Ø­Ø°Ù ÛŒØ§ Ø¨Ø§Ø²Ù…رتب‌سازی Ù‚سمت‌ها Ø¨Ø±Ø§ÛŒ Ù¾ÛŒÚ©Ø±Ø¨Ù†Ø¯ÛŒ Ø¯ÙˆØ¨Ø§Ø±Ù‡Ù” Ø§ÛŒÙ† Ø¨Ù„ÙˆÚ© Ø§Ú¯Ø±.",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "اÙزودن ÛŒÚ© Ø´Ø±Ø· Ø¨Ù‡ Ø¨Ù„ÙˆÚ© Ø§Ú¯Ø±.",
+       "CONTROLS_IF_ELSE_TOOLTIP": "اضاÙه‌کردن Ù†Ù‡Ø§ÛŒÛŒØŒ Ú¯Ø±Ùتن Ù‡Ù…Ù‡Ù” Ø´Ø±Ø§ÛŒØ· Ø¨Ù‡ Ø¨Ù„ÙˆÚ© Ø§Ú¯Ø±.",
+       "LOGIC_COMPARE_HELPURL": "https://en.wikipedia.org/wiki/Inequality_(mathematics)",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "بازگشت ØµØ­ÛŒØ­ Ø§Ú¯Ø± Ù‡Ø± Ø¯Ùˆ ÙˆØ±ÙˆØ¯ÛŒ Ø¨Ø§ ÛŒÚ©Ø¯ÛŒÚ¯Ø± Ø¨Ø±Ø§Ø¨Ø± Ø¨Ø§Ø´Ø¯.",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "برگرداندن ØµØ­ÛŒØ­ Ø§Ú¯Ø± Ù‡Ø± Ø¯Ùˆ ÙˆØ±ÙˆØ¯ÛŒ Ø¨Ø§ ÛŒÚ©Ø¯ÛŒÚ¯Ø± Ø¨Ø±Ø§Ø¨Ø± Ù†Ø¨Ø§Ø´Ù†Ø¯.",
+       "LOGIC_COMPARE_TOOLTIP_LT": "بازگرداندن ØµØ­ÛŒØ­ Ø§Ú¯Ø± ÙˆØ±ÙˆØ¯ÛŒ Ø§ÙˆÙ„ Ú©ÙˆÚ†Ú©ØªØ± Ø§Ø² ÙˆØ±ÙˆØ¯ÛŒ Ø¯ÙˆÙ… Ø¨Ø§Ø´Ø¯.",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "بازگرداندن ØµØ­ÛŒØ­ Ø§Ú¯Ø± ÙˆØ±ÙˆØ¯ÛŒ Ø§ÙˆÙ„ Ú©ÙˆÚ†Ú©ØªØ± ÛŒØ§ Ù…ساوی Ø¨Ø§ ÙˆØ±ÙˆØ¯ÛŒ Ø¯ÙˆÙ… Ø¨Ø§Ø´Ø¯.",
+       "LOGIC_COMPARE_TOOLTIP_GT": "بازگرداندن ØµØ­ÛŒØ­ Ø§Ú¯Ø± ÙˆØ±ÙˆØ¯ÛŒ Ø§ÙˆÙ„ Ø¨Ø²Ø±Ú¯ØªØ± Ø§Ø² ÙˆØ±ÙˆØ¯ÛŒ Ø¯ÙˆÙ… Ø¨Ø§Ø´Ø¯.",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "بازگرداندن ØµØ­ÛŒØ­ Ø§Ú¯Ø± ÙˆØ±ÙˆØ¯ÛŒ Ø§ÙˆÙ„ Ø¨Ø²Ø±Ú¯ØªØ± ÛŒØ§ Ù…ساوی ÛŒØ§ ÙˆØ±ÙˆØ¯ÛŒ Ø¯ÙˆÙ… Ø¨Ø§Ø´Ø¯.",
+       "LOGIC_OPERATION_TOOLTIP_AND": "بازگرداندن ØµØ­ÛŒØ­ Ø§Ú¯Ø± Ù‡Ø± Ø¯Ùˆ ÙˆØ±ÙˆØ¯ÛŒ ØµØ­ÛŒØ­ Ø¨Ø§Ø´Ø¯.",
+       "LOGIC_OPERATION_AND": "Ùˆ",
+       "LOGIC_OPERATION_TOOLTIP_OR": "بازگرداندن ØµØ­ÛŒØ­ Ø§Ú¯Ø± ÛŒÚ©ÛŒ Ø§Ø² Ø¯Ùˆ ÙˆØ±ÙˆØ¯ÛŒ ØµØ­ÛŒØ­ Ø¨Ø§Ø´Ø¯.",
+       "LOGIC_OPERATION_OR": "یا",
+       "LOGIC_NEGATE_TITLE": "نه %1",
+       "LOGIC_NEGATE_TOOLTIP": "صجیج Ø¨Ø§Ø² Ù…ی‌گرداند Ø§Ú¯Ø± ÙˆØ±ÙˆØ¯ÛŒ Ù†Ø§ ØµØ­ÛŒØ­ Ø¨Ø§Ø´Ù†Ø¯. Ù†Ø§ØµØ­ÛŒØ­ Ø¨Ø§Ø²Ù…ی‌گرداند Ø§Ú¯Ø± ÙˆØ±ÙˆØ¯ÛŒ ØµØ­ÛŒØ­ Ø¨Ø§Ø´Ø¯.",
+       "LOGIC_BOOLEAN_TRUE": "درست",
+       "LOGIC_BOOLEAN_FALSE": "نادرست",
+       "LOGIC_BOOLEAN_TOOLTIP": "بازگرداندن ÛŒÚ©ÛŒ Ø§Ø² ØµØ­ÛŒØ­ ÛŒØ§ Ù†Ø§ØµØ­ÛŒØ­.",
+       "LOGIC_NULL": "پةتی/خالی",
+       "LOGIC_NULL_TOOLTIP": "تهی Ø¨Ø§Ø² Ù…ÛŒ Ú¯Ø±Ø¯Ø§Ù†Ø¯",
+       "LOGIC_TERNARY_CONDITION": "آزمائشت",
+       "LOGIC_TERNARY_IF_TRUE": "اگر Ø¯Ø±Ø³Øª",
+       "LOGIC_TERNARY_IF_FALSE": "اگر Ù†Ø§Ø¯Ø±Ø³Øª",
+       "LOGIC_TERNARY_TOOLTIP": "بررسی ÙˆØ¶Ø¹ÛŒØª Ø¯Ø± Â«Ø¢Ø²Ù…ایش». Ø§Ú¯Ø± ÙˆØ¶Ø¹ÛŒØª ØµØ­ÛŒØ­ Ø¨Ø§Ø´Ø¯ØŒ Ù…قدار Â«Ø§Ú¯Ø± ØµØ­ÛŒØ­Â» Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند Ø¯Ø± ØºÛŒØ± Ø§ÛŒÙ†ØµÙˆØ±Øª Ù…قدار Â«Ø§Ú¯Ø± Ù†Ø§ØµØ­ÛŒØ­Â» Ø±Ø§.",
+       "MATH_NUMBER_HELPURL": "https://en.wikipedia.org/wiki/Number",
+       "MATH_NUMBER_TOOLTIP": "شؤمارە ÛŒÛ•Ú©",
+       "MATH_ARITHMETIC_HELPURL": "https://en.wikipedia.org/wiki/Arithmetic",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "بازگرداندن Ù…قدار Ø¬Ù…ع Ø¯Ùˆ Ø¹Ø¯Ø¯.",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "بازگرداندن ØªÙاوت Ø¯Ùˆ Ø¹Ø¯Ø¯.",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "بازگرداندن Ø­Ø§ØµÙ„ضرب Ø¯Ùˆ Ø¹Ø¯Ø¯.",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "بازگرداندن Ø¨Ø§Ù‚ی‌ماندهٔ Ø¯Ùˆ Ø¹Ø¯Ø¯.",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "بازگرداندن Ø§ÙˆÙ„ین Ø¹Ø¯Ø¯ÛŒ Ú©Ù‡ Ø§Ø² ØªÙˆØ§Ù† Ø¹Ø¯Ø¯ Ø¯ÙˆÙ… Ø­Ø§ØµÙ„ Ø´Ø¯Ù‡ Ø¨Ø§Ø´Ø¯.",
+       "MATH_SINGLE_HELPURL": "https://en.wikipedia.org/wiki/Square_root",
+       "MATH_SINGLE_OP_ROOT": "ریشهٔ Ø¯ÙˆÙ…",
+       "MATH_SINGLE_TOOLTIP_ROOT": "ریشهٔ Ø¯ÙˆÙ… ÛŒÚ© Ø¹Ø¯Ø¯ Ø±Ø§ Ø¨Ø§Ø² Ù…ی‌گرداند.",
+       "MATH_SINGLE_OP_ABSOLUTE": "مطلق",
+       "MATH_SINGLE_TOOLTIP_ABS": "قدر Ù…طلق ÛŒÚ© Ø¹Ø¯Ø¯ Ø±Ø§ Ø¨Ø§Ø²Ù…ی‌گرداند.",
+       "MATH_SINGLE_TOOLTIP_NEG": "منÙی‌شدهٔ ÛŒÚ© Ø¹Ø¯Ø¯ Ø±Ø§ Ø¨Ø§Ø² Ù…ی‌گرداند.",
+       "MATH_SINGLE_TOOLTIP_LN": "لوگاریتم Ø·Ø¨ÛŒØ¹ÛŒ ÛŒÚ© Ø¹Ø¯Ø¯ Ø±Ø§ Ø¨Ø§Ø² Ù…ی‌گرداند.",
+       "MATH_SINGLE_TOOLTIP_LOG10": "بازگرداندن Ù„گاریتم Ø¨Ø± Ù¾Ø§ÛŒÙ‡Ù” Û±Û° ÛŒÚ© Ø¹Ø¯Ø¯.",
+       "MATH_SINGLE_TOOLTIP_EXP": "بازگرداندن ØªÙˆØ§Ù† e ÛŒÚ© Ø¹Ø¯Ø¯.",
+       "MATH_SINGLE_TOOLTIP_POW10": "بازگرداندن ØªÙˆØ§Ù† Û±Û° ÛŒÚ© Ø¹Ø¯Ø¯.",
+       "MATH_TRIG_HELPURL": "https://en.wikipedia.org/wiki/Trigonometric_functions",
+       "MATH_TRIG_TOOLTIP_SIN": "بازگرداندن Ø³ÛŒÙ†ÙˆØ³ Ø¯Ø±Ø¬Ù‡ (نه Ø±Ø§Ø¯ÛŒØ§Ù†).",
+       "MATH_TRIG_TOOLTIP_COS": "بازگرداندن Ú©Ø³ÛŒÙ†ÙˆØ³ Ø¯Ø±Ø¬Ù‡ (نه Ø±Ø§Ø¯ÛŒØ§Ù†).",
+       "MATH_TRIG_TOOLTIP_TAN": "بازگرداندن ØªØ§Ù†Ú˜Ø§Ù†Øª ÛŒÚ© Ø¯Ø±Ø¬Ù‡ (نه Ø±Ø§Ø¯ÛŒØ§Ù†).",
+       "MATH_TRIG_TOOLTIP_ASIN": ".(بازگرداندن Ø¢Ø±Ú©â€ŒØ³ÛŒÙ†ÙˆØ³ Ø¯Ø±Ø¬Ù‡ (نه Ø±Ø§Ø¯ÛŒØ§Ù†",
+       "MATH_TRIG_TOOLTIP_ACOS": "بازگرداندن Ø¢Ø±Ú©â€ŒÚ©Ø³ÛŒÙ†ÙˆØ³ Ø¯Ø±Ø¬Ù‡ (نه Ø±Ø§Ø¯ÛŒØ§Ù†).",
+       "MATH_TRIG_TOOLTIP_ATAN": "بازگرداندن Ø¢Ø±Ú©â€ŒØªØ§Ù†Ú˜Ø§Ù†Øª Ø¯Ø±Ø¬Ù‡ (نه Ø±Ø§Ø¯ÛŒØ§Ù†).",
+       "MATH_CONSTANT_HELPURL": "https://en.wikipedia.org/wiki/Mathematical_constant",
+       "MATH_CONSTANT_TOOLTIP": "یکی Ø§Ø² Ù…قادیر Ù…شترک Ø±Ø§ Ø¨Ø±Ù…ی‌گرداند: Ï€ (۳٫۱۴۱…)ØŒ e (Û²Ù«Û·Û±Û¸...)ØŒ Ï† (Û±Ù«Û¶Û±Û¸)ØŒ sqrt(Û²) (Û±Ù«Û´Û±Û´)ØŒ sqrt(Û±/Û²) (Û°Ù«Û·Û°Û·...) Ùˆ ÛŒØ§ âˆž (بی‌نهایت).",
+       "MATH_IS_EVEN": "زوج Ø§Ø³Øª",
+       "MATH_IS_ODD": "Ùرد Ø§Ø³Øª",
+       "MATH_IS_PRIME": "عدد Ø§ÙˆÙ„ Ø§Ø³Øª",
+       "MATH_IS_WHOLE": "کامل Ø§Ø³Øª",
+       "MATH_IS_POSITIVE": "مثبت Ø§Ø³Øª",
+       "MATH_IS_NEGATIVE": "منÙÛŒ Ø§Ø³Øª",
+       "MATH_IS_DIVISIBLE_BY": "تقسیم Ø´Ø¯Ù‡ Ø¨Ø±",
+       "MATH_IS_TOOLTIP": "بررسی Ù…ی‌کند Ú©Ù‡ Ø¢ÛŒØ§ ÛŒÚ© Ø¹Ø¯Ø¯ Ø²ÙˆØ¬ØŒ Ùرد، Ø§ÙˆÙ„ØŒ Ú©Ø§Ù…Ù„ØŒ Ù…ثبت، Ù…Ù†ÙÛŒ ÛŒØ§ Ø¨Ø®Ø´â€ŒÙ¾Ø°ÛŒØ± Ø¹Ø¯Ø¯ Ø®Ø§ØµÛŒ Ø¨Ø§Ø´Ø¯ Ø±Ø§ Ø¨Ø±Ø±Ø³ÛŒ Ù…ی‌کند. Ø¯Ø±Ø³Øª ÛŒØ§ Ù†Ø§Ø¯Ø±Ø³Øª Ø¨Ø§Ø² Ù…ی‌گرداند.",
+       "MATH_CHANGE_HELPURL": "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter",
+       "MATH_CHANGE_TITLE": "تغییر %1 Ø¨Ø§ %2",
+       "MATH_CHANGE_TOOLTIP": "اÙزودن ÛŒÚ© Ø¹Ø¯Ø¯ Ø¨Ù‡ Ù…تغیر '%1'.",
+       "MATH_ROUND_HELPURL": "https://en.wikipedia.org/wiki/Rounding",
+       "MATH_ROUND_TOOLTIP": "گردکردن ÛŒÚ© Ø¹Ø¯Ø¯ Ø¨Ù‡ Ø¨Ø§Ù„ا ÛŒØ§ Ù¾Ø§ÛŒÛŒÙ†.",
+       "MATH_ROUND_OPERATOR_ROUND": "گردکردن",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "گرد Ø¨Ù‡ Ø¨Ø§Ù„ا",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "گرد Ø¨Ù‡ Ù¾Ø§ÛŒÛŒÙ†",
+       "MATH_ONLIST_OPERATOR_SUM": "جمع Ù„یست",
+       "MATH_ONLIST_TOOLTIP_SUM": "جمع Ù‡Ù…Ù‡Ù” Ø¹Ø¯Ø¯Ù‡Ø§ÛŒ Ùهرست Ø±Ø§ Ø¨Ø§Ø² Ù…ی‌گرداند.",
+       "MATH_ONLIST_OPERATOR_MIN": "گوجةرتةرین Ù„یست",
+       "MATH_ONLIST_TOOLTIP_MIN": "کوچک‌ترین Ø¹Ø¯Ø¯ Ø¯Ø± Ùهرست Ø±Ø§ Ø¨Ø§Ø² Ù…ی‌گرداند.",
+       "MATH_ONLIST_OPERATOR_MAX": "بزرگ‌ترین Ùهرست",
+       "MATH_ONLIST_TOOLTIP_MAX": "بزرگ‌ترین Ø¹Ø¯Ø¯ Ø¯Ø± Ùهرست Ø±Ø§ Ø¨Ø§Ø² Ù…ی‌گرداند.",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "میانگین Ùهرست",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "میانگین (میانگین Ø±ÛŒØ§Ø¶ÛŒ) Ù…قادیر Ø¹Ø¯Ø¯ÛŒ Ùهرست Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند.",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "میانهٔ Ùهرست",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "میانهٔ Ø¹Ø¯Ø¯ Ø¯Ø± Ùهرست Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند.",
+       "MATH_ONLIST_OPERATOR_MODE": "مد Ùهرست",
+       "MATH_ONLIST_TOOLTIP_MODE": "شایع‌ترین Ù‚لم(های) Ø¯Ø± Ùهرست Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند.",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "انحرا٠معیار Ùهرست",
+       "MATH_ONLIST_TOOLTIP_STD_DEV": "انحرا٠معیار Ùهرست Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند.",
+       "MATH_ONLIST_OPERATOR_RANDOM": "مورد ØªØµØ§Ø¯ÙÛŒ Ø§Ø² Ùهرست",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "موردی ØªØµØ§Ø¯ÙÛŒ Ø§Ø² Ùهرست Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند.",
+       "MATH_MODULO_HELPURL": "https://en.wikipedia.org/wiki/Modulo_operation",
+       "MATH_MODULO_TITLE": "باقی‌ماندهٔ %1 + %2",
+       "MATH_MODULO_TOOLTIP": "باقی‌ماندهٔ ØªÙ‚سیم Ø¯Ùˆ Ø¹Ø¯Ø¯ Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند.",
+       "MATH_CONSTRAIN_TITLE": "محدودکردن %1 Ù¾Ø§ÛŒÛŒÙ† %2 Ø¨Ø§Ù„ا %3",
+       "MATH_CONSTRAIN_TOOLTIP": "محدودکردن ÛŒÚ© Ø¹Ø¯Ø¯ Ø¨ÛŒÙ† Ù…حدودیت‌های Ù…شخص‌شده (بسته).",
+       "MATH_RANDOM_INT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_INT_TITLE": "عدد ØµØ­ÛŒØ­ ØªØµØ§Ø¯ÙÛŒ Ø¨ÛŒÙ† %1 ØªØ§ %2",
+       "MATH_RANDOM_INT_TOOLTIP": "یک Ø¹Ø¯Ø¯ ØªØµØ§Ø¯ÙÛŒ Ø¨ÛŒÙ† Ø¯Ùˆ Ù…قدار Ù…شخص‌شده Ø¨Ù‡ ØµÙˆØ±Øª Ø¨Ø³ØªÙ‡ Ø¨Ø§Ø² Ù…ی‌گرداند.",
+       "MATH_RANDOM_FLOAT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "کسر ØªØµØ§Ø¯ÙÛŒ",
+       "MATH_RANDOM_FLOAT_TOOLTIP": "بازگرداندن Ú©Ø³Ø±ÛŒ ØªØµØ§Ø¯ÙÛŒ Ø¨ÛŒÙ† Û°Ù«Û° (بسته) ØªØ§ Û±Ù«Û° (باز).",
+       "TEXT_TEXT_HELPURL": "https://en.wikipedia.org/wiki/String_(computer_science)",
+       "TEXT_TEXT_TOOLTIP": "یک Ø­Ø±ÙØŒ Ú©Ù„مه ÛŒØ§ Ø®Ø·ÛŒ Ø§Ø² Ù…تن.",
+       "TEXT_JOIN_TITLE_CREATEWITH": "ایجاد Ù…تن Ø¨Ø§",
+       "TEXT_JOIN_TOOLTIP": "یک ØªÚ©Ù‡â€ŒØ§ÛŒ Ø§Ø² Ù…تن Ø±Ø§ Ø¨Ø§ Ú†Ø³Ù¾Ø§Ù†Ø¯Ù† Ù‡Ù…Ù‡Ù” ØªØ¹Ø¯Ø§Ø¯ Ø§Ø² Ù…وارد Ø§ÛŒØ¬Ø§Ø¯ Ù…ی‌کند.",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "نام Ù†Ø¤ÛŒØ³ÛŒ",
+       "TEXT_CREATE_JOIN_TOOLTIP": "اضاÙه‌کردن، Ø­Ø°Ù ÛŒØ§ Ù…رتب‌سازی Ø¨Ø­Ø´â€ŒÙ‡Ø§ Ø¨Ø±Ø§ÛŒ ØªÙ†Ø¸ÛŒÙ… Ù…جدد Ø§ÛŒÙ† Ø¨Ù„ÙˆÚ© Ù…تنی.",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "اÙزودن ÛŒÚ© Ù…ورد Ø¨Ù‡ Ù…تن.",
+       "TEXT_APPEND_TITLE": "به %1 Ú†Ø³Ø¨Ø§Ù†Ø¯Ù† Ù…تن %2",
+       "TEXT_APPEND_TOOLTIP": "الحاق Ù…تنی Ø¨Ù‡ Ù…تغیر Â«%1».",
+       "TEXT_LENGTH_TITLE": "طول %1",
+       "TEXT_LENGTH_TOOLTIP": "بازگرداندن Ø¹Ø¯Ø¯ÛŒ Ø§Ø² Ø­Ø±ÙˆÙ (شامل Ùاصله‌ها) Ø¯Ø± Ù…تن Ùراهم‌شده.",
+       "TEXT_ISEMPTY_TITLE": "%1 Ø®Ø§Ù„ÛŒ Ø§Ø³Øª",
+       "TEXT_ISEMPTY_TOOLTIP": "اضاÙه‌کردن ØµØ­ÛŒØ­ Ø§Ú¯Ø± Ù…تن Ùراهم‌شده Ø®Ø§Ù„ÛŒ Ø§Ø³Øª.",
+       "TEXT_INDEXOF_TOOLTIP": "شاخصی Ø§Ø² Ø§ÙˆÙ„ین Ø¢Ø®Ø±ÛŒÙ† Ø±Ø®â€ŒØ¯Ø§Ø¯ Ù…تن Ø§ÙˆÙ„ Ø¯Ø± Ù…تن Ø¯ÙˆÙ… Ø¨Ø± Ù…ی‌گرداند. Ø§Ú¯Ø± Ù…تن ÛŒØ§Ùت Ù†Ø´Ø¯ %1 Ø¨Ø§Ø² Ù…ی‌گرداند.",
+       "TEXT_INDEXOF_TITLE": "در Ù…تن %1 %2 %3",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "اولین Ø±Ø®Ø¯Ø§Ø¯ Ù…تن Ø±Ø§ Ø¨ÛŒØ§Ø¨",
+       "TEXT_INDEXOF_OPERATOR_LAST": "آخرین Ø±Ø®Ø¯Ø§Ø¯ Ù…تن Ø±Ø§ Ø¨ÛŒØ§Ø¨",
+       "TEXT_CHARAT_FROM_START": "گرÙتن Ø­Ø±Ù #",
+       "TEXT_CHARAT_FROM_END": "گرÙتن Ø­Ø±Ù # Ø§Ø² Ø¢Ø®Ø±",
+       "TEXT_CHARAT_FIRST": "گرÙتن Ø§ÙˆÙ„ین Ø­Ø±Ù",
+       "TEXT_CHARAT_LAST": "گرÙتن Ø¢Ø®Ø±ÛŒÙ† Ø­Ø±Ù",
+       "TEXT_CHARAT_RANDOM": "گرÙتن Ø­Ø±Ù ØªØµØ§Ø¯ÙÛŒ",
+       "TEXT_CHARAT_TOOLTIP": "حرÙÛŒ Ø¯Ø± Ù…وقعیت Ù…شخص‌شده Ø¨Ø± Ù…ی‌گرداند.",
+       "TEXT_GET_SUBSTRING_TOOLTIP": "قسمت Ù…شخصی‌شده‌ای Ø§Ø² Ù…تن Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند.",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "در Ù…تن",
+       "TEXT_GET_SUBSTRING_START_FROM_START": "گرÙتن Ø²ÛŒØ±Ù…تن Ø§Ø² Ø­Ø±Ù #",
+       "TEXT_GET_SUBSTRING_START_FROM_END": "گرÙتن Ø²ÛŒØ±Ù…تن Ø§Ø² Ø­Ø±Ù # Ø¨Ù‡ Ø§Ù†ØªÙ‡Ø§",
+       "TEXT_GET_SUBSTRING_START_FIRST": "گرÙتن Ø²ÛŒØ±Ù…تن Ø§Ø² Ø§ÙˆÙ„ین Ø­Ø±Ù",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "به Ø­Ø±Ù #",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "به Ø­Ø±Ù # Ø§Ø² Ø§Ù†ØªÙ‡Ø§",
+       "TEXT_GET_SUBSTRING_END_LAST": "به Ø¢Ø®Ø±ÛŒÙ† Ø­Ø±Ù",
+       "TEXT_CHANGECASE_TOOLTIP": "بازگرداندن Ú©Ù¾ÛŒ Ù…تن Ø¯Ø± Ø­Ø§Ù„تی Ù…تÙاوت.",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "به Ø­Ø±ÙˆÙ Ø¨Ø²Ø±Ú¯",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "به Ø­Ø±ÙˆÙ Ú©ÙˆÚ†Ú©",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": "به Ø­Ø±ÙˆÙ Ø¨Ø²Ø±Ú¯ Ø¹Ù†ÙˆØ§Ù†",
+       "TEXT_TRIM_TOOLTIP": "Ú©Ù¾ÛŒ Ø§Ø² Ù…تن Ø¨Ø§ Ùاصله‌های Ø­Ø°Ù‌شده Ø§Ø² ÛŒÚ© ÛŒØ§ Ù‡Ø± Ø¯Ùˆ Ù¾Ø§ÛŒØ§Ù† Ø¨Ø§Ø² Ù…ی‌گرداند.",
+       "TEXT_TRIM_OPERATOR_BOTH": "تراشیدن Ùاصله‌ها Ø§Ø²  Ù‡Ø± Ø¯Ùˆ Ø·Ø±Ù",
+       "TEXT_TRIM_OPERATOR_LEFT": "تراشیدن Ùاصله‌ها Ø§Ø²  Ø·Ø±Ù Ú†Ù¾",
+       "TEXT_TRIM_OPERATOR_RIGHT": "تراشیدن Ùاصله‌ها Ø§Ø²  Ø·Ø±Ù Ú†Ù¾",
+       "TEXT_PRINT_TITLE": "چاپ %1",
+       "TEXT_PRINT_TOOLTIP": "چاپ Ù…تن، Ø¹Ø¯Ø¯ ÛŒØ§ Ù‡Ø± Ù…قدار Ø¯ÛŒÚ¯Ø± Ù…شخص‌شده.",
+       "TEXT_PROMPT_TYPE_TEXT": "اعلان Ø¨Ø±Ø§ÛŒ Ù…تن Ø¨Ø§ Ù¾ÛŒØ§Ù…",
+       "TEXT_PROMPT_TYPE_NUMBER": "اعلان Ø¨Ø±Ø§ÛŒ Ø¹Ø¯Ø¯ Ø¨Ø§ Ù¾ÛŒØ§Ù…",
+       "TEXT_PROMPT_TOOLTIP_NUMBER": "اعلان Ø¨Ø±Ø§ÛŒ Ú©Ø§Ø±Ø¨Ø± Ø¨Ø§ ÛŒÚ© Ø¹Ø¯Ø¯.",
+       "TEXT_PROMPT_TOOLTIP_TEXT": "اعلان Ø¨Ø±Ø§ÛŒ Ú©Ø§Ø±Ø¨Ø± Ø¨Ø±Ø§ÛŒ ÛŒÚ© Ù…تن.",
+       "LISTS_CREATE_EMPTY_TITLE": "ایجاد Ùهرست Ø®Ø§Ù„ÛŒ",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "Ùهرستی Ø¨Ø§ Ø·ÙˆÙ„ ØµÙر Ø´Ø§Ù…Ù„ Ù‡ÛŒÚ† Ø±Ú©ÙˆØ±Ø¯ Ø¯Ø§Ø¯Ù‡â€ŒØ§ÛŒ Ø¨Ø± Ù…ی‌گرداند.",
+       "LISTS_CREATE_WITH_TOOLTIP": "Ùهرستی Ø§Ø² Ù‡Ø± Ø¹Ø¯Ø¯ÛŒ Ø§Ø² Ù…وارد Ù…ی‌سازد.",
+       "LISTS_CREATE_WITH_INPUT_WITH": "ایجاد Ùهرست Ø¨Ø§",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "لیست",
+       "LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "اضاÙه‌کردن، Ø­Ø°Ù‌کردن ÛŒØ§ ØªØ±ØªÛŒØ¨â€ŒØ³Ø§Ø²ÛŒ Ù…جدد Ø¨Ø®Ø´â€ŒÙ‡Ø§ Ø§ÛŒÙ† Ø¨Ù„ÙˆÚ© Ùهرستی.",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "اضاÙه‌کردن ÛŒÚ© Ù…ورد Ø¨Ù‡ Ùهرست.",
+       "LISTS_REPEAT_TOOLTIP": "Ùهرستی Ø´Ø§Ù…Ù„ Ù…قادیر Ø¯Ø§Ø¯Ù‡â€ŒØ´Ø¯Ù‡Ù” ØªÚ©Ø±Ø§Ø± Ø´Ø¯Ù‡ Ø¹Ø¯Ø¯ Ù…شخص‌شده Ù…ی‌سازد.",
+       "LISTS_REPEAT_TITLE": "Ùهرستی Ø¨Ø§ %1 ØªÚ©Ø±Ø§Ø±Ø´Ø¯Ù‡ Ø¨Ù‡ Ø§Ù†Ø¯Ø§Ø²Ù‡Ù” %2 Ù…ی‌سازد",
+       "LISTS_LENGTH_TITLE": "طول %1",
+       "LISTS_LENGTH_TOOLTIP": "طول ÛŒÚ© Ùهرست Ø±Ø§ Ø¨Ø±Ù…ی‌گرداند.",
+       "LISTS_ISEMPTY_TITLE": "%1 Ø®Ø§Ù„ÛŒ Ø§Ø³Øª",
+       "LISTS_ISEMPTY_TOOLTIP": "اگر Ùهرست Ø®Ø§Ù„ÛŒ Ø§Ø³Øª Ù…قدار ØµØ¬ÛŒØ¬ Ø¨Ø± Ù…ی‌گرداند.",
+       "LISTS_INLIST": "در Ùهرست",
+       "LISTS_INDEX_OF_FIRST": "یاÙتن Ø§ÙˆÙ„ین Ø±Ø®â€ŒØ¯Ø§Ø¯ Ù…ورد",
+       "LISTS_INDEX_OF_LAST": "یاÙتن Ø¢Ø®Ø±ÛŒÙ† Ø±Ø®â€ŒØ¯Ø§Ø¯ Ù…ورد",
+       "LISTS_INDEX_OF_TOOLTIP": "شاخصی Ø§Ø² Ø§ÙˆÙ„ین/آخرین Ø±Ø®â€ŒØ¯Ø§Ø¯ Ù…ورد Ø¯Ø± Ùهرست Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند. %1 Ø¨Ø± Ù…ی‌گرداند Ø§Ú¯Ø± Ø¢ÛŒØªÙ… Ù…وجود Ù†Ø¨ÙˆØ¯.",
+       "LISTS_GET_INDEX_GET": "Ú¯ÙرتÙÙ†",
+       "LISTS_GET_INDEX_GET_REMOVE": "Ú¯ÙرتÙÙ† Ùˆ Ø­Ø©Ø°Ù Ú©Ø±Ø¯Ù†",
+       "LISTS_GET_INDEX_REMOVE": "حةذ٠کردن",
+       "LISTS_GET_INDEX_FROM_END": "# Ø¥Ú˜ Ø¯Ø¤Ù…ا Ø¢Ø®Ø±",
+       "LISTS_GET_INDEX_FIRST": "Ø¥Ú˜ Ø£Ø¤Ø©Ù„",
+       "LISTS_GET_INDEX_LAST": "دؤمائن/آخرین",
+       "LISTS_GET_INDEX_RANDOM": "بةختةکی",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "%1 Ø§ÙˆÙ„ین Ù…ورد Ø§Ø³Øª.",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "%1 Ø¢Ø®Ø±ÛŒÙ† Ù…ورد Ø§Ø³Øª.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "موردی Ø¯Ø± Ù…حل Ù…شخص‌شده Ø¨Ø± Ù…ی‌گرداند.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "اولین Ù…ورد ÛŒÚ© Ùهرست Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "آخرین Ù…ورد Ø¯Ø± ÛŒÚ© Ùهرست Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "یک Ù…ورد ØªØµØ§Ø¯ÙÛŒ Ø¯Ø± ÛŒÚ© Ùهرست Ø¨Ø± Ù…ی‌گرداند.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "مورد Ø¯Ø± Ù…حل Ù…شخص‌شده Ø¯Ø± Ùهرست Ø±Ø§ Ø­Ø°Ù Ùˆ Ø¨Ø± Ù…ی‌گرداند.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "اولین Ù…ورد Ù…شخص‌شده Ø¯Ø± Ùهرست Ø±Ø§ Ø­Ø°Ù Ùˆ Ø¨Ø± Ù…ی‌گرداند.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "آخرین Ù…ورد Ù…شخص‌شده Ø¯Ø± Ùهرست Ø±Ø§ Ø­Ø°Ù Ùˆ Ø¨Ø± Ù…ی‌گرداند.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "مورد ØªØµØ§Ø¯Ùی‌ای Ø±Ø§ Ø¯Ø± Ùهرست Ø­Ø°Ù Ùˆ Ø¨Ø± Ù…ی‌گرداند.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "مورد Ù…شخص‌شده Ø¯Ø± Ù…وقعیت Ù…شخص Ø¯Ø± ÛŒÚ© Ùهرست Ø±Ø§ Ø­Ø°Ù Ùˆ Ø¨Ø± Ù…ی‌گرداند.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "اولین Ù…ورد Ø±Ø§ Ø¯Ø± ÛŒÚ© Ùهرست Ø­Ø°Ù Ù…ی‌کند.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "آخرین Ù…ورد Ø±Ø§ Ø¯Ø± ÛŒÚ© Ùهرست Ø­Ø°Ù Ù…ی‌کند.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "یک Ù…ورد ØªØµØ§Ø¯ÙÛŒ Ø±Ø§ ÛŒÚ© Ùهرست Ø­Ø°Ù Ù…ی‌کند.",
+       "LISTS_SET_INDEX_SET": "مجموعه",
+       "LISTS_SET_INDEX_INSERT": "درج Ø¯Ø±",
+       "LISTS_SET_INDEX_INPUT_TO": "به Ø¹Ù†ÙˆØ§Ù†",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "مورد Ù…شخص‌شده Ø¯Ø± ÛŒÚ© Ùهرست Ø±Ø§ Ù‚رار Ù…ی‌دهد.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "اولین Ù…ورد Ø¯Ø± ÛŒÚ© Ùهرست Ø±Ø§ ØªØ¹ÛŒÛŒÙ† Ù…ی‌کند.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_LAST": "آخرین Ù…ورد Ø¯Ø± ÛŒÚ© Ùهرست Ø±Ø§ ØªØ¹ÛŒÛŒÙ† Ù…ی‌کند.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "یک Ù…ورد ØªØµØ§Ø¯ÙÛŒ Ø¯Ø± ÛŒÚ© Ùهرست Ø±Ø§ ØªØ¹ÛŒÛŒÙ† Ù…ی‌کند.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "موردی Ø¯Ø± Ù…وقعیت Ù…شخص‌شده Ø¯Ø± ÛŒÚ© Ùهرست Ø§Ø¶Ø§ÙÙ‡ Ù…ی‌کند.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "موردی Ø¨Ù‡ ØªÙ‡ Ùهرست Ø§Ø¶Ø§ÙÙ‡ Ù…ی‌کند.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "موردی Ø¨Ù‡ ØªÙ‡ Ùهرست Ø§Ù„حاق Ù…ی‌کند.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "مورد Ø±Ø§ Ø¨Ù‡ ØµÙˆØ±Øª ØªØµØ§Ø¯ÙÛŒ Ø¯Ø± ÛŒÚ© Ùهرست Ù…ی‌اÙزاید.",
+       "LISTS_GET_SUBLIST_START_FROM_START": "گرÙتن Ø²ÛŒØ±Ù…جموعه‌ای Ø§Ø² #",
+       "LISTS_GET_SUBLIST_START_FROM_END": "گرÙتن Ø²ÛŒØ±Ù…جموعه‌ای Ø§Ø² # Ø§Ø² Ø§Ù†ØªÙ‡Ø§",
+       "LISTS_GET_SUBLIST_START_FIRST": "گرÙتن Ø²ÛŒØ±Ù…جموعه‌ای Ø§Ø² Ø§Ø¨ØªØ¯Ø§",
+       "LISTS_GET_SUBLIST_END_FROM_START": "به #",
+       "LISTS_GET_SUBLIST_END_FROM_END": "به # Ø§Ø² Ø§Ù†ØªÙ‡Ø§",
+       "LISTS_GET_SUBLIST_END_LAST": "به Ø¢Ø®Ø±ÛŒÙ†",
+       "LISTS_GET_SUBLIST_TOOLTIP": "Ú©Ù¾ÛŒ Ø§Ø² Ù‚سمت Ù…شخص‌شدهٔ Ù„یست Ø¯Ø±Ø³Øª Ù…ی‌کند.",
+       "LISTS_SPLIT_LIST_FROM_TEXT": "ساخت Ù„یست Ø¥Ú˜ Ù…تن",
+       "LISTS_SPLIT_TEXT_FROM_LIST": "ساخت Ù…تن Ø¥Ú˜ Ù„یست",
+       "LISTS_SPLIT_WITH_DELIMITER": "همراه Ø¬Ø¯Ø§Ø³Ø§Ø²",
+       "VARIABLES_GET_TOOLTIP": "مقدار Ø§ÛŒÙ† Ù…تغیر Ø±Ø§ Ø¨Ø± Ù…ی‌گرداند.",
+       "VARIABLES_GET_CREATE_SET": "درست‌کردن Â«ØªÙ†Ø¸ÛŒÙ… %1»",
+       "VARIABLES_SET": "مجموعه %1 Ø¨Ù‡ %2",
+       "VARIABLES_SET_TOOLTIP": "متغیر Ø¨Ø±Ø§Ø¨Ø± Ø¨Ø§ Ø®Ø±ÙˆØ¬ÛŒ Ø±Ø§ Ù…شخص Ù…ی‌کند.",
+       "VARIABLES_SET_CREATE_GET": "درست‌کردن Â«Ú¯Ø±Ùتن %1»",
+       "PROCEDURES_DEFNORETURN_TITLE": "به",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "انجام Ú†ÛŒØ²ÛŒ",
+       "PROCEDURES_BEFORE_PARAMS": "با:",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "با:",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "تابعی Ù…ی‌سازد Ø¨Ø¯ÙˆÙ† Ù‡ÛŒÚ† Ø®Ø±ÙˆØ¬ÛŒ.",
+       "PROCEDURES_DEFRETURN_RETURN": "بازگشت",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "تابعی Ø¨Ø§ ÛŒÚ© Ø®Ø±ÙˆØ¬ÛŒ Ù…ی‌سازد.",
+       "PROCEDURES_ALLOW_STATEMENTS": "اجازه Ø§Ø¸Ù‡Ø§Ø±Ø§Øª",
+       "PROCEDURES_DEF_DUPLICATE_WARNING": "اخطار: Ø§ÛŒÙ† ØªØ§Ø¨Ø¹ÛŒ Ù¾Ø§Ø±Ø§Ù…تر ØªÚ©Ø±Ø§Ø±ÛŒ Ø¯Ø§Ø±Ø¯.",
+       "PROCEDURES_CALLNORETURN_HELPURL": "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29",
+       "PROCEDURES_CALLNORETURN_TOOLTIP": "اجرای ØªØ§Ø¨Ø¹ ØªØ¹Ø±ÛŒÙ‌شده ØªÙˆØ³Ø· Ú©Ø§Ø±Ø¨Ø± Â«%1».",
+       "PROCEDURES_CALLRETURN_HELPURL": "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29",
+       "PROCEDURES_CALLRETURN_TOOLTIP": "اجرای ØªØ§Ø¨Ø¹ ØªØ¹Ø±ÛŒÙ‌شده ØªÙˆØ³Ø· Ú©Ø§Ø±Ø¨Ø± Â«%1» Ùˆ Ø§Ø³ØªÙاده Ø§Ø² Ø®Ø±ÙˆØ¬ÛŒ Ø¢Ù†.",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "ورودی‌ها",
+       "PROCEDURES_MUTATORCONTAINER_TOOLTIP": "اÙزودن، Ø­Ø°Ù ÛŒØ§ Ø¯ÙˆØ¨Ø§Ø±Ù‡ Ù…رتب‌کردن ÙˆØ±ÙˆØ¯ÛŒ Ø§ÛŒÙ† ØªØ§Ø¨Ø¹.",
+       "PROCEDURES_MUTATORARG_TITLE": "نام ÙˆØ±ÙˆØ¯ÛŒ:",
+       "PROCEDURES_MUTATORARG_TOOLTIP": "اضاÙÙ‡ Ú©Ø±Ø¯Ù† ÙˆØ±ÙˆØ¯ÛŒ Ø¨Ù‡ ØªØ§Ø¨Ø¹.",
+       "PROCEDURES_HIGHLIGHT_DEF": "برجسته‌سازی ØªØ¹Ø±ÛŒÙ ØªØ§Ø¨Ø¹",
+       "PROCEDURES_CREATE_DO": "ساختن Â«%1»",
+       "PROCEDURES_IFRETURN_TOOLTIP": "اگر ÛŒÚ© Ù…قدار ØµØ­ÛŒØ­ Ø§Ø³ØªØŒ Ù…قدار Ø¯ÙˆÙ… Ø±Ø§ Ø¨Ø±Ú¯Ø±Ø¯Ø§Ù†.",
+       "PROCEDURES_IFRETURN_WARNING": "اخطار: Ø§ÛŒÙ† Ø¨Ù„ÙˆÚ© Ø§Ø­ØªÙ…الاً Ùقط Ø¯Ø§Ø®Ù„ ÛŒÚ© ØªØ§Ø¨Ø¹ Ø§Ø³ØªÙاده Ù…ی‌شود."
+}
diff --git a/js/msg/json/lo.json b/js/msg/json/lo.json
new file mode 100644 (file)
index 0000000..ec7aabb
--- /dev/null
@@ -0,0 +1,93 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Aefgh39622"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "ລາàºàºàº²àº™",
+       "TODAY": "ມື້ນີ້",
+       "DUPLICATE_BLOCK": "ເຮັດສຳເນົາ",
+       "ADD_COMMENT": "ເພີ່ມຄຳອະທິບາàº",
+       "REMOVE_COMMENT": "ເອົາຄຳອະທິບາàºàº­àº­àº",
+       "EXTERNAL_INPUTS": "ອິນພຸດພາàºàº™àº­àº",
+       "INLINE_INPUTS": "ອິນພຸດໃນບັນທັດ",
+       "DELETE_BLOCK": "ລຶບບລັອàº",
+       "DELETE_X_BLOCKS": "ລຶບ %1 àºšàº¥àº±àº­àº",
+       "DELETE_ALL_BLOCKS": "ລຶບ %1 àºšàº¥àº±àº­àºàº—ັງà»àº»àº”ຫຼືບà»à»ˆ?",
+       "CLEAN_UP": "ຈັດລຽນບລັອàºà»ƒàº«à»‰à»€àº›àº±àº™à»àº–ວ",
+       "COLLAPSE_BLOCK": "àºàº¸àºšàºšàº¥àº±àº­àº",
+       "COLLAPSE_ALL": "àºàº¸àºšàºšàº¥àº±àº­àº",
+       "EXPAND_BLOCK": "ຂະຫàºàº²àºàºšàº¥àº±àº­àº",
+       "EXPAND_ALL": "ຂະຫàºàº²àºàºšàº¥àº±àº­àº",
+       "DISABLE_BLOCK": "ປິດໃຊ້ງານບລັອàº",
+       "ENABLE_BLOCK": "ເປີດໃຊ້ງານບລັອàº",
+       "HELP": "ຊ່ວàºà»€àº«àº¼àº·àº­",
+       "UNDO": "àºàº±àºšàº„ືນ",
+       "REDO": "ເຮັດຄືນ",
+       "CHANGE_VALUE_TITLE": "ປ່ຽນຄ່າ:",
+       "RENAME_VARIABLE": "ປ່ຽນຊື່ຕົວà»àº›...",
+       "RENAME_VARIABLE_TITLE": "ປ່ຽນຊື່ຕົວà»àº› '%1' àº—ັງà»àº»àº”ເປັນ:",
+       "NEW_VARIABLE_TITLE": "ຊື່ຕົວà»àº›à»ƒà»à»ˆ:",
+       "COLOUR_PICKER_HELPURL": "https://lo.wikipedia.org/wiki/ສີ",
+       "COLOUR_PICKER_TOOLTIP": "ເລືອàºàºªàºµàºˆàº²àºàºˆàº²àº™àºªàºµ.",
+       "COLOUR_RANDOM_TITLE": "ສຸ່ມສີ",
+       "COLOUR_RANDOM_TOOLTIP": "ເລືອàºàºªàºµà»àºšàºšàºªàº¸à»ˆàº¡.",
+       "COLOUR_RGB_TITLE": "ສີທີ່ປະàºàº­àºšàº”້ວàº",
+       "COLOUR_RGB_RED": "ຄ່າສີà»àº”ງ",
+       "COLOUR_RGB_GREEN": "ຄ່າສີຂຽວ",
+       "COLOUR_RGB_BLUE": "ຄ່າສີນ້ຳເງິນ",
+       "COLOUR_RGB_TOOLTIP": "ສ້າງສີດ້ວàºàºàº²àº™àºàº³àº™àº»àº”ຄ່າສີà»àº”ງ, àºªàºµàº‚ຽວ, à»àº¥àº°àºªàºµàº™à»‰àº³à»€àº‡àº´àº™. àº„່າທັງà»àº»àº”ຕ້ອງຢູ່ລະຫວ່າງ 0 à»€àº–ິງ 100.",
+       "COLOUR_BLEND_TITLE": "ປະສົມ",
+       "COLOUR_BLEND_COLOUR1": "ສີ 1",
+       "COLOUR_BLEND_COLOUR2": "ສີ 2",
+       "COLOUR_BLEND_RATIO": "ອັດຕາສ່ວນ",
+       "COLOUR_BLEND_TOOLTIP": "ປະສົມສອງສີເຂົ້າàºàº±àº™àº”້ວàºàº­àº±àº”ຕາສ່ວນ (0.0 - 1.0).",
+       "CONTROLS_REPEAT_HELPURL": "https://en.wikipedia.org/wiki/For_loop",
+       "CONTROLS_REPEAT_TITLE": "ເຮັດຄືນ %1 àº„ັ້ງ",
+       "CONTROLS_REPEAT_INPUT_DO": "ເຮັດ",
+       "CONTROLS_REPEAT_TOOLTIP": "ເຮັດຄຳສັ່ງບາງຄຳສັ່ງຄືນຫຼາàºà»†àº„ັ້ງ.",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "ເຮັດຄືນຂະນະທີ່",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "ເຮັດຄືນຈົນàºàº°àº—ັ່ງ",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "ຂະນະທີ່ຄ່າເປັນຈິງ, àºà»àºˆàº°à»€àº®àº±àº”ຄຳສັ່ງບາງຄຳສັ່ງ.",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "ຂະນະທີ່ຄ່າເປັນເທັດ, àºà»àºˆàº°à»€àº®àº±àº”ຄຳສັ່ງບາງຄຳສັ່ງ.",
+       "CONTROLS_FOR_TOOLTIP": "ຕົວà»àº› '%1' àºˆàº°à»€àº¥àºµà»ˆàº¡àºˆàº²àºàºˆàº³àº™àº§àº™à»€àº¥àºµà»ˆàº¡àº•àº»à»‰àº™à»„ປຫາຈຳນວນສຸດທ້າàº, àº™àº±àºšàº•àº²àº¡àºŠà»ˆàº§àº‡à»„ລàºàº°àº—ີ່àºàº³àº™àº»àº”, à»àº¥àº°à»€àº®àº±àº”ຕາມບລັອàºàº—ີ່àºàº³àº™àº»àº”ໄວ້.",
+       "CONTROLS_FOR_TITLE": "ນັບດ້ວຠ%1 àºˆàº²àº %2 à»€àº–ິງ %3 àº›à»ˆàº½àº™àº„່າທີລະ %4",
+       "CONTROLS_FOREACH_TITLE": "ຈາàºàº—ຸàºàº¥àº²àºàºàº²àº™ %1 à»ƒàº™àº¥àº²àºàºŠàº·à»ˆ %2",
+       "CONTROLS_FOREACH_TOOLTIP": "ສຳລັບທຸàºàº¥àº²àºàºàº²àº™à»ƒàº™àº¥àº²àºàºŠàº·à»ˆ, à»ƒàº«à»‰àº•àº±à»‰àº‡àº„່າຕົວà»àº› '%1' à»€àº›àº±àº™àº¥àº²àºàºàº²àº™, à»àº¥àº°à»€àº®àº±àº”ຕາມຄຳສັ່ງທີ່àºàº³àº™àº»àº”ໄວ້.",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "ອອàºàºˆàº²àºàºàº²àº™àº§àº»àº™àºŠà»‰àº³",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "ເລີ່ມàºàº²àº™àº§àº»àº™àºŠà»‰àº³àº®àº­àºšàº•à»à»ˆà»„ປ",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "ອອàºàºˆàº²àºàºàº²àº™àº§àº»àº™àºŠà»‰àº³àº—ີ່ຢູ່.",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "ຂ້າມຜ່ານຄຳສັ່ງທີ່ເຫຼືອຢູ່, à»àº¥àº°à»€àº¥àºµà»ˆàº¡àºàº²àº™àº§àº»àº™àºŠà»‰àº³àº®àº­àºšàº•à»à»ˆà»„ປ.",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "ຄຳເຕືອນ: àºšàº¥àº±àº­àºàº™àºµà»‰à»ƒàºŠà»‰àº‡àº²àº™à»„ດ້ພາàºà»ƒàº™àºàº²àº™àº§àº»àº™àºŠà»‰àº³à»€àº—ົ່ານັ້ນ.",
+       "CONTROLS_IF_TOOLTIP_1": "ຖ້າເງື່ອນໄຂເປັນຈິງ, àºà»àºˆàº°à»€àº®àº±àº”ຕາມທີ່àºàº³àº™àº»àº”.",
+       "CONTROLS_IF_MSG_IF": "ຖ້າ",
+       "CONTROLS_IF_MSG_ELSEIF": "ນອàºàºˆàº²àºàº™àºµà»‰ àº–້າ",
+       "CONTROLS_IF_MSG_ELSE": "ນອàºàºˆàº²àºàº™àºµà»‰",
+       "CONTROLS_IF_IF_TOOLTIP": "ເພີ່ມ, àº¥àº¶àºš, àº«àº¼àº· àºˆàº±àº”ລຽງບລັອຠ\"ຖ້າ\" àº™àºµà»‰à»ƒà»à»ˆ.",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "ເພີ່ມເງື່ອນໄຂລົງໃນບລັອຠ\"ຖ້າ\".",
+       "CONTROLS_IF_ELSE_TOOLTIP": "ເພີ່ມສິ່ງສຸດທ້າàº, àºàº§àº”ຫາຄວາມເປັນໄປໄດ້ທັງà»àº»àº”ຂອງບລັອຠ\"ຖ້າ\".",
+       "LOGIC_COMPARE_HELPURL": "https://​​lo.wikipedia.org/wiki/ອະສົມຜົນ",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "ຄືນຄ່າຈິງຖ້າຄ່າທີ່ີໃສ່ທັງສອງຄ່ານັ້ນເທົ່າàºàº±àº™.",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "ຄືນຄ່າຈິງຖ້າຄ່າທີ່ີໃສ່ທັງສອງຄ່ານັ້ນບà»à»ˆà»€àº—ົ່າàºàº±àº™.",
+       "LOGIC_COMPARE_TOOLTIP_LT": "ຄືນຄ່າເປັນຈິງຖ້າຄ່າທຳອິດນ້ອàºàºàº§à»ˆàº²àº„່າທີ່ສອງ.",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "ຄືນຄ່າເປັນຈິງຖ້າຄ່າທຳອິດນ້ອàºàºàº§à»ˆàº² àº«àº¼àº· à»€àº—ົ່າàºàº±àºšàº„່າທີ່ສອງ.",
+       "LOGIC_COMPARE_TOOLTIP_GT": "ຄືນຄ່າເປັນຈິງຖ້າຄ່າທຳອິດຫຼາàºàºàº§à»ˆàº²àº„່າທີ່ສອງ.",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "ຄືນຄ່າເປັນຈິງຖ້າຄ່າທຳອິດຫຼາàºàºàº§à»ˆàº² àº«àº¼àº· à»€àº—ົ່າàºàº±àºšàº„່າທີ່ສອງ.",
+       "LOGIC_OPERATION_TOOLTIP_AND": "ຄືນຄ່າເປັນຈິງຖ້າຄ່າທັງສອງເປັນຈິງ.",
+       "LOGIC_OPERATION_AND": "à»àº¥àº°",
+       "LOGIC_OPERATION_TOOLTIP_OR": "ຄືນຄ່າເປັນຈິງຖ້າມີຄ່າຢ່າງນ້ອàºà»œàº¶à»ˆàº‡àº„່າທີ່ເປັນຈິງ.",
+       "LOGIC_OPERATION_OR": "ຫຼື",
+       "LOGIC_NEGATE_TITLE": "ບà»à»ˆ %1",
+       "LOGIC_NEGATE_TOOLTIP": "ຄືນຄ່າເປັນຈິງຖ້າຄ່າທີ່ໃສ່ເປັນເທັດ. àº„ືນຄ່າເປັນເທັດຖ້າຄ່າທີ່ໃສ່ເປັນຈິງ.",
+       "LOGIC_BOOLEAN_TRUE": "ຈິງ",
+       "LOGIC_BOOLEAN_FALSE": "ເທັດ",
+       "LOGIC_BOOLEAN_TOOLTIP": "ຄືນຄ່າເປັນຈິງ àº«àº¼àº· à»€àº—ັດ.",
+       "LOGIC_NULL": "ບà»à»ˆàºàº³àº™àº»àº”",
+       "LOGIC_NULL_TOOLTIP": "ຄືນຄ່າບà»à»ˆàºàº³àº™àº»àº”.",
+       "LOGIC_TERNARY_CONDITION": "ທົດສອບ",
+       "LOGIC_TERNARY_IF_TRUE": "ຖ້າ à»€àº›àº±àº™àºˆàº´àº‡",
+       "LOGIC_TERNARY_IF_FALSE": "ຖ້າ à»€àº›àº±àº™à»€àº—ັດ",
+       "LOGIC_TERNARY_TOOLTIP": "àºàº§àº”ສອບເງື່ອນໄຂໃນ 'ທົດສອບ'. àº–້າເງື່ອນໄຂເປັນຈິງ, àº„ືນຄ່າ 'ຖ້າ à»€àº›àº±àº™àºˆàº´àº‡'; àº–້າເງື່ອນໄຂເປັນເທັດ, à»ƒàº«à»‰àº„ືນຄ່າ 'ຖ້າ à»€àº›àº±àº™à»€àº—ັດ'.",
+       "MATH_NUMBER_HELPURL": "https://lo.wikipedia.org/wiki/ຈຳນວນ",
+       "MATH_NUMBER_TOOLTIP": "ຈຳນວນໜຶ່ງ."
+}
diff --git a/js/msg/json/lrc.json b/js/msg/json/lrc.json
new file mode 100644 (file)
index 0000000..f434605
--- /dev/null
@@ -0,0 +1,131 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Mogoeilor"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "قلم",
+       "TODAY": "ئمروٙ",
+       "DUPLICATE_BLOCK": "Ú©Ù¾ÛŒ Ú©Ø±Ø¯Ù†",
+       "ADD_COMMENT": "نظرتونه Ø§Ø¶Ø§Ù Ø¨Ú©ÛŒØ¯",
+       "REMOVE_COMMENT": "نظر Ø¬Ø§ ÙˆÙ‡ Ø¬Ø§ Ú©Ùˆ",
+       "EXTERNAL_INPUTS": "داده ÛŒØ§ ÙˆÙ‡ Ø¯Ø±ÛŒ",
+       "INLINE_INPUTS": "داده ÛŒØ§ Ù…ئنجا",
+       "DELETE_BLOCK": "پاکسا Ú©Ø±Ø¯Ù† Ø¨Ø±Ø´Øª",
+       "DELETE_X_BLOCKS": "پاکسا Ú©Ø±Ø¯Ù†%1 Ø¯ Ø¨Ø±Ø´ØªÛŒØ§",
+       "COLLAPSE_BLOCK": "Ú©ÙˆÚ†Ú© Ú©Ø±Ø¯Ù† Ø¨Ø±Ø´Øª",
+       "COLLAPSE_ALL": "Ú©ÙˆÚ†Ú© Ú©Ø±Ø¯Ù† Ø¨Ø±Ø´ØªÛŒØ§",
+       "EXPAND_BLOCK": "Ú¯Ù¾ Ú©Ø±Ø¯Ù† Ø¨Ø±Ø´Øª",
+       "EXPAND_ALL": "Ú¯Ù¾ Ú©Ø±Ø¯Ù† Ø¨Ø±Ø´ØªÛŒØ§",
+       "DISABLE_BLOCK": "ناکشتگر Ú©Ø±Ø¯Ù† Ø¨Ø±Ø´Øª",
+       "ENABLE_BLOCK": "کنشتگر Ú©Ø±Ø¯Ù† Ø¨Ø±Ø´Øª",
+       "HELP": "هومياری",
+       "CHANGE_VALUE_TITLE": "ارزشت Ø¢Ù„شت Ú©Ùˆ:",
+       "RENAME_VARIABLE": "د Ù†Ùˆ Ù†ÙˆÙ… Ù†ÛŒØ§Ø¦Ù† Ø¢Ù„شتگر...",
+       "RENAME_VARIABLE_TITLE": "د Ù†Ùˆ Ù†ÙˆÙ… Ù†ÛŒØ§Ø¦Ù† %1 Ø¯ ØªÙ…وم Ø¢Ù„شتگریا Ø¯:",
+       "NEW_VARIABLE": "آلشتگر ØªØ§Ø²Ù‡...",
+       "NEW_VARIABLE_TITLE": "نوم Ø¢Ù„شتگر ØªØ§Ø²Ù‡:",
+       "COLOUR_PICKER_HELPURL": "https://en.wikipedia.org/wiki/Color",
+       "COLOUR_PICKER_TOOLTIP": "یه Ø±Ù† Ø¯ Ø±Ù†Ú¯ Ø¯Ùˆ Ø§Ù†ØªØ®Ø§Ùˆ Ø¨Ú©ÛŒØ¯",
+       "COLOUR_RANDOM_TITLE": "رن Ø¨Ø®ØªÚ©ÛŒ",
+       "COLOUR_RANDOM_TOOLTIP": "یه Ø±Ù†Ú¯ Ø¨Ø®ØªÚ©ÛŒ Ø§Ù†ØªØ®Ø§Ùˆ Ø¨Ú©ÛŒØ¯",
+       "COLOUR_RGB_TITLE": "رن ÙˆØ§",
+       "COLOUR_RGB_RED": "سور",
+       "COLOUR_RGB_GREEN": "سوز",
+       "COLOUR_RGB_BLUE": "آوی",
+       "COLOUR_BLEND_TITLE": "شیوسته",
+       "COLOUR_BLEND_COLOUR1": "رن 1",
+       "COLOUR_BLEND_COLOUR2": "رن 2",
+       "COLOUR_BLEND_RATIO": "نسوت",
+       "COLOUR_BLEND_TOOLTIP": "هر Ú©ÙˆÙ… Ø¯ Ø±Ù†Ú¯ÛŒØ§Ù†Ù‡ ÙˆØ§ Ù†Ø³ÙˆØª Ø¯Ø§Ø¦Ù‡ Ø¨ÛŒÙ‡ Ø¨Ù‡ Ø´ÛŒÙˆÙ†(0.0 - 1.0).",
+       "CONTROLS_REPEAT_HELPURL": "https://en.wikipedia.org/wiki/For_loop",
+       "CONTROLS_REPEAT_TITLE": "%1 ØªÚ©Ø±Ø§Ø± Ú©Ùˆ Ú†Ù† Ø¨Ø§Ø±",
+       "CONTROLS_REPEAT_INPUT_DO": "انجوم Ø¨Ø¦Ù‡",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "تا ØªÚ©Ø±Ø§Ø± Ú©Ùˆ",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "تا ØªÚ©Ø±Ø§Ø± Ú©Ùˆ",
+       "CONTROLS_FOR_TITLE": "اشماردن ÙˆØ§ %1 Ø¯ %2 Ø³ÛŒ %3 ÙˆØ§ %4",
+       "CONTROLS_FOREACH_TITLE": "سی Ù‡Ø± Ù‚لم %1 Ø¯ Ù†ÙˆÙ… Ú¯Ù‡ %2",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "حلقه Ù†Ù‡ Ø®Ø±Ø§Ùˆ Ú©Ùˆ",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "حلقه Ø´ÙˆÙ…Ù„ Ø¨ÛŒÙ‡ Ù†Ù‡ Ø®Ø±Ø§Ùˆ Ú©Ùˆ",
+       "CONTROLS_IF_MSG_IF": "ار",
+       "CONTROLS_IF_MSG_ELSEIF": "هنی Ø§Ø±",
+       "CONTROLS_IF_MSG_ELSE": "هنی",
+       "LOGIC_OPERATION_AND": "Ùˆ",
+       "LOGIC_OPERATION_OR": "یا",
+       "LOGIC_NEGATE_TITLE": "نه %1",
+       "LOGIC_BOOLEAN_TRUE": "راست Ùˆ Ø¯ÙˆØ±ÙˆØ³Øª",
+       "LOGIC_BOOLEAN_FALSE": "غلط",
+       "LOGIC_BOOLEAN_TOOLTIP": "هم ØºÙ„Ø· Ùˆ Ù‡Ù… Ø±Ø§Ø³ ÙˆØ±Ú¯Ù†",
+       "LOGIC_NULL": "خمثی",
+       "LOGIC_TERNARY_CONDITION": "آزماشت Ú©Ø±Ø¯Ù†",
+       "LOGIC_TERNARY_IF_TRUE": "ار Ø¯Ø±Ø³ Ø¨ÛŒ",
+       "LOGIC_TERNARY_IF_FALSE": "ار ØºÙ„Ø· Ø¨ÛŒ",
+       "MATH_NUMBER_HELPURL": "https://en.wikipedia.org/wiki/Number",
+       "MATH_NUMBER_TOOLTIP": "یه Ø´Ù…اره.",
+       "MATH_ARITHMETIC_HELPURL": "https://en.wikipedia.org/wiki/Arithmetic",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "وه Ø§Ù†Ø§Ø²Ù‡ Ø¯Ùˆ Ú¯Ù„ Ø´Ù…اره ÙˆØ±Ú¯Ù†.",
+       "MATH_SINGLE_HELPURL": "https://en.wikipedia.org/wiki/Square_root",
+       "MATH_SINGLE_OP_ROOT": "چارسوک Ø±ÛŒØ´Ù‡",
+       "MATH_SINGLE_OP_ABSOLUTE": "تموم Ùˆ Ú©Ù…ال",
+       "MATH_TRIG_HELPURL": "https://en.wikipedia.org/wiki/Trigonometric_functions",
+       "MATH_CONSTANT_HELPURL": "https://en.wikipedia.org/wiki/Mathematical_constant",
+       "MATH_IS_EVEN": "همیشه Ù‡ÛŒØ¦Ø´",
+       "MATH_IS_ODD": "تهنائه",
+       "MATH_IS_PRIME": "وه Ø§ÙˆÙ„Ù‡",
+       "MATH_IS_WHOLE": "همشه",
+       "MATH_IS_POSITIVE": "مثبته",
+       "MATH_IS_NEGATIVE": "منÙیه",
+       "MATH_IS_DIVISIBLE_BY": "یه ÙˆØ§ Ø¨Ù‡Ø± Ø¨ÛŒÙ‡",
+       "MATH_CHANGE_HELPURL": "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter",
+       "MATH_CHANGE_TITLE": "آلشت Ø¨ÙƒÙŠØ¯ %1 ÙˆØ§ %2",
+       "MATH_ROUND_HELPURL": "https://en.wikipedia.org/wiki/Rounding",
+       "MATH_ROUND_OPERATOR_ROUND": "گرد Ú©Ø±Ø¯Ù†",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "وه Ø±Ùˆ Ú¯Ø±Ø¯ Ú©Ø±Ø¯Ù†",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "وه Ù‡Ø§Ø± Ú¯Ø±Ø¯ Ú©Ø±Ø¯Ù†",
+       "MATH_ONLIST_OPERATOR_SUM": "جم Ú©Ø±Ø¯Ù† Ù†ÙˆÙ…Ú¯Ù‡",
+       "MATH_ONLIST_OPERATOR_MIN": "کمترونه Ø¯ Ù†ÙˆÙ…Ú¯Ù‡",
+       "MATH_ONLIST_OPERATOR_MAX": "بیشترونه Ø¯ Ù†ÙˆÙ…Ú¯Ù‡",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "مینجاگه Ù†ÙˆÙ… Ú¯Ù‡",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "مینجا Ù†ÙˆÙ… Ú¯Ù‡",
+       "MATH_ONLIST_OPERATOR_MODE": "بیشری Ø¯ Ù†ÙˆÙ…Ú¯Ù‡",
+       "MATH_MODULO_HELPURL": "https://en.wikipedia.org/wiki/Modulo_operation",
+       "MATH_RANDOM_INT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_FLOAT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "TEXT_TEXT_HELPURL": "https://en.wikipedia.org/wiki/String_(computer_science)",
+       "TEXT_JOIN_TITLE_CREATEWITH": "راس Ú©Ø±Ø¯Ù† Ù…تن ÙˆØ§",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "پیوسن",
+       "TEXT_ISEMPTY_TITLE": "%1 Ø­Ø§Ù„یه",
+       "TEXT_INDEXOF_TITLE": "د Ù…تن %1 %2 %3",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "د Ù…تن",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "سی ÙˆØ§Ø¬#",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "سی ÙˆØ§Ø¬# ØªØ§ Ø¢Ø®Ø±",
+       "TEXT_GET_SUBSTRING_END_LAST": "سی Ø¢Ø®Ø±ÛŒÙ† ÙˆØ§Ø¬",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "سی Ø­Ø±Ù Ú¯Ù¾",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "سی ÙˆØ§Ø¬ Ú©Ø¤Ú†Ú©",
+       "LISTS_CREATE_EMPTY_TITLE": "یه Ú¯Ù„ Ù†ÙˆÙ… Ú¯Ù‡ Ø­Ø§Ù„ÛŒ Ø±Ø§Ø³ Ø¨Ú©ÛŒØª",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "نوم Ú¯Ù‡",
+       "LISTS_ISEMPTY_TITLE": "%1 Ø­Ø§Ù„یه",
+       "LISTS_INLIST": "د Ù†ÙˆÙ… Ú¯Ù‡",
+       "LISTS_GET_INDEX_GET": "گرتن",
+       "LISTS_GET_INDEX_GET_REMOVE": "گرتن Ùˆ Ø¬Ø§ÙˆÙ‡ Ø¬Ø§ Ø¨ÛŒØ¦Ù†",
+       "LISTS_GET_INDEX_REMOVE": "ؤرداشتن",
+       "LISTS_GET_INDEX_FROM_END": "# ØªØ§ Ø¢Ø®Ø±",
+       "LISTS_GET_INDEX_FIRST": "اولی",
+       "LISTS_GET_INDEX_LAST": "آخر",
+       "LISTS_GET_INDEX_RANDOM": "بختكی",
+       "LISTS_SET_INDEX_INSERT": "بنه Ø¯",
+       "LISTS_SET_INDEX_INPUT_TO": "Ú†ÛŒ",
+       "LISTS_GET_SUBLIST_END_FROM_START": "سی#",
+       "LISTS_GET_SUBLIST_END_LAST": "سی Ø¢Ø®Ø±",
+       "VARIABLES_SET": "میزوکاری %1 Ø³ÛŒ %2",
+       "PROCEDURES_DEFNORETURN_TITLE": "سی",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "یه Ú©Ø§Ø± Ø§Ù†Ø¬ÙˆÙ… Ø¨ÛŒØ¦Øª",
+       "PROCEDURES_BEFORE_PARAMS": "وا:",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "وا:",
+       "PROCEDURES_DEFRETURN_RETURN": "ورگنیئن",
+       "PROCEDURES_CALLNORETURN_HELPURL": "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29",
+       "PROCEDURES_CALLRETURN_HELPURL": "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "داده ÛŒØ§",
+       "PROCEDURES_MUTATORARG_TITLE": "نوم Ø¯Ø§Ø¯Ù‡:",
+       "PROCEDURES_CREATE_DO": "راس Ú©Ø±Ø¯Ù†%1"
+}
diff --git a/js/msg/json/lt.json b/js/msg/json/lt.json
new file mode 100644 (file)
index 0000000..649f516
--- /dev/null
@@ -0,0 +1,323 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Eitvys200",
+                       "Jurgis",
+                       "Zygimantus",
+                       "Nuodas"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "elementas",
+       "TODAY": "Å iandien",
+       "DUPLICATE_BLOCK": "Kopijuoti",
+       "ADD_COMMENT": "Palikti komentarÄ…",
+       "REMOVE_COMMENT": "PaÅ¡alinti komentarÄ…",
+       "DUPLICATE_COMMENT": "Dubliuoti KomentarÄ…",
+       "EXTERNAL_INPUTS": "IÅ¡dÄ—styti stulpeliu, kai daug parametrų",
+       "INLINE_INPUTS": "IÅ¡dÄ—styti vienoje eilutÄ—je",
+       "DELETE_BLOCK": "IÅ¡trinti blokÄ…",
+       "DELETE_X_BLOCKS": "IÅ¡trinti %1 blokus",
+       "DELETE_ALL_BLOCKS": "IÅ¡trinti visus %1 blokus?",
+       "CLEAN_UP": "IÅ¡valyti blokus",
+       "COLLAPSE_BLOCK": "Suskleisti blokÄ…",
+       "COLLAPSE_ALL": "Suskleisti blokus",
+       "EXPAND_BLOCK": "IÅ¡skleisti blokÄ…",
+       "EXPAND_ALL": "IÅ¡skleisti blokus",
+       "DISABLE_BLOCK": "IÅ¡jungti blokÄ…",
+       "ENABLE_BLOCK": "Ä®jungti blokÄ…",
+       "HELP": "Pagalba",
+       "UNDO": "Anuliuoti",
+       "REDO": "Atkurti",
+       "CHANGE_VALUE_TITLE": "Keisti reikÅ¡mÄ™:",
+       "RENAME_VARIABLE": "Pervardyti kintamajį...",
+       "RENAME_VARIABLE_TITLE": "Pervadinti visus '%1' kintamuosius Ä¯:",
+       "NEW_VARIABLE": "Sukurti kintamÄ…jį",
+       "NEW_NUMBER_VARIABLE": "Sukurti skaiÄiaus kintamÄ…jį...",
+       "NEW_COLOUR_VARIABLE": "Sukurti spalvos kintamÄ…jį...",
+       "NEW_VARIABLE_TYPE_TITLE": "Naujas kintamojo tipas:",
+       "NEW_VARIABLE_TITLE": "Naujo kintamojo pavadinimas:",
+       "VARIABLE_ALREADY_EXISTS": "Kintamasis, pavadinimu '%1', jau egzistuoja.",
+       "VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE": "Kintamasis, pavadinimu '%1', jau egzistuoja kaip kitas tipas: '%2'.",
+       "DELETE_VARIABLE_CONFIRMATION": "IÅ¡trinti %1 '%2' panaudojimus?",
+       "CANNOT_DELETE_VARIABLE_PROCEDURE": "Negalima iÅ¡trinti kintamojo '%1', nes jis yra dalis funkcijos '%2'",
+       "DELETE_VARIABLE": "IÅ¡trinti â€ž%1“ kintamÄ…jį",
+       "COLOUR_PICKER_HELPURL": "https://lt.wikipedia.org/wiki/Spalva",
+       "COLOUR_PICKER_TOOLTIP": "Pasirinkti spalvÄ… iÅ¡ paletÄ—s.",
+       "COLOUR_RANDOM_TITLE": "atsitiktinÄ— spalva",
+       "COLOUR_RANDOM_TOOLTIP": "Pasirinkti spalvÄ… atsitiktinai.",
+       "COLOUR_RGB_TITLE": "spalva su",
+       "COLOUR_RGB_RED": "raudona",
+       "COLOUR_RGB_GREEN": "žalia",
+       "COLOUR_RGB_BLUE": "mÄ—lyna",
+       "COLOUR_RGB_TOOLTIP": "SpalvÄ… galima sudaryti iÅ¡ raudonos, Å¾alios ir mÄ—lynos dedamųjų. Kiekvienos intensyvumas nuo 0 iki 100.",
+       "COLOUR_BLEND_TITLE": "sumaiÅ¡yk",
+       "COLOUR_BLEND_COLOUR1": "1 spalva",
+       "COLOUR_BLEND_COLOUR2": "2 spalva",
+       "COLOUR_BLEND_RATIO": "santykis",
+       "COLOUR_BLEND_TOOLTIP": "SumaiÅ¡o dvi spalvas su pateiktu santykiu (0.0 - 1.0).",
+       "CONTROLS_REPEAT_HELPURL": "https://en.wikipedia.org/wiki/For_loop",
+       "CONTROLS_REPEAT_TITLE": "pakartokite %1 kartus",
+       "CONTROLS_REPEAT_INPUT_DO": "daryti",
+       "CONTROLS_REPEAT_TOOLTIP": "Leidžia atlikti iÅ¡vardintus veiksmus kelis kartus.",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "kartok kol",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "kartok, kol pasieksi",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "Kartoja veiksmus, kol sÄ…lyga tenkinama.",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "Kartoja veiksmus, kol bus pasiekta nurodyta sÄ…lyga.",
+       "CONTROLS_FOR_TOOLTIP": "Imama kintamoji '%1' reikÅ¡mÄ— nuo pradinio skaiÄiaus iki pabaigos skaiÄiaus, skaiÄiuojant nustatytais intervalais ir atliekant nustatytus blokus.",
+       "CONTROLS_FOR_TITLE": "kartok, kai %1 kinta nuo %2 iki %3 po %4",
+       "CONTROLS_FOREACH_TITLE": "kartok su kiekvienu %1 iÅ¡ sÄ…raÅ¡o %2",
+       "CONTROLS_FOREACH_TOOLTIP": "Kartok veiksmus, kol kintamasis \"%1\" paeiliui gauna kiekvienÄ… sÄ…raÅ¡o reikÅ¡mÄ™.",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "nutraukti kartojimÄ…",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "šį kartÄ… praleisti likusius veiksmus ir tÄ™sti kartojimÄ…",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "Nutraukia (artimiausiÄ…) vykstantį kartojimÄ….",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "Praleidžia Å¾emiau iÅ¡vardintus kartojimo veiksmus (ir tÄ™sia darbÄ… nuo kartojimo pradinio veiksmo).",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "Atsargiai: Å¡is blokas gali bÅ«t naudojamas tik kartojimo bloko viduje.",
+       "CONTROLS_IF_TOOLTIP_1": "Jeigu sÄ…lyga tenkinama, tai atlik veiksmus.",
+       "CONTROLS_IF_TOOLTIP_2": "Jei sÄ…lyga tenkinama, atlikti jai priklausanÄius veiksmus, o jei ne -- atlikti kitus nurodytus veiksmus.",
+       "CONTROLS_IF_TOOLTIP_3": "Jei pirma sÄ…lyga tenkinama, atlikti jai priklausanÄius veiksmus, O jei ne, tikrinti antrÄ… sÄ…lygÄ… -- ir jei Å¡i tenkinama, atlikti jos veiksmus.",
+       "CONTROLS_IF_TOOLTIP_4": "Jei pirma sÄ…lyga tenkinama, atlikti jai priklausanÄius veiksmus, O jei ne, tikrinti antrÄ… sÄ…lygÄ… -- ir jei Å¡i tenkinama, atlikti jos veiksmus. Kitais atvejais -- atlikti paskutinio bloko veiksmus.",
+       "CONTROLS_IF_MSG_IF": "jei",
+       "CONTROLS_IF_MSG_ELSEIF": "arba jei",
+       "CONTROLS_IF_MSG_ELSE": "kitu atveju",
+       "CONTROLS_IF_IF_TOOLTIP": "Galite pridÄ—t/paÅ¡alinti/pertvarkyti  sÄ…lygų \"Å¡akas\".",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "PridÄ—ti sÄ…lygÄ… â€žjei“ blokui.",
+       "CONTROLS_IF_ELSE_TOOLTIP": "PridÄ—ti veiksmų vykdymo variantÄ…/\"Å¡akÄ…\", kai netenkinama nÄ— viena sÄ…lyga.",
+       "IOS_OK": "Gerai",
+       "IOS_CANCEL": "AtÅ¡aukti",
+       "IOS_ERROR": "Klaida",
+       "IOS_PROCEDURES_INPUTS": "Ä®VESTYS",
+       "IOS_PROCEDURES_ADD_INPUT": "+ PridÄ—ti Ä®vestį",
+       "IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR": "Å i funkcija turi pasikartojanÄias Ä¯vestis",
+       "IOS_VARIABLES_ADD_VARIABLE": "+PridÄ—ti KintamÄ…jį",
+       "IOS_VARIABLES_ADD_BUTTON": "PridÄ—ti",
+       "IOS_VARIABLES_RENAME_BUTTON": "Pervadinti",
+       "IOS_VARIABLES_DELETE_BUTTON": "IÅ¡trinti",
+       "IOS_VARIABLES_VARIABLE_NAME": "Kintamojo pavadinimas",
+       "IOS_VARIABLES_EMPTY_NAME_ERROR": "Negalite naudoti tuÅ¡Äio kintamojo pavadinimo.",
+       "LOGIC_COMPARE_HELPURL": "https://en.wikipedia.org/wiki/Inequality_(mathematics)",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "Tenkinama, jei abu reiÅ¡kiniai lygÅ«s.",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "Grįžti tiesa, jeigu abi Ä¯vestys ne lygios tarpusavyje.",
+       "LOGIC_COMPARE_TOOLTIP_LT": "Grįžti tiesa, jei pirma Ä¯vestis mažesnÄ— nei antra Ä¯vestis.",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "Grįžti tiesa, jei pirma Ä¯vestis mažesnÄ— arba lygi antrajai Ä¯vesÄiai.",
+       "LOGIC_COMPARE_TOOLTIP_GT": "Grįžti tiesa, jei pirmoji Ä¯vestis didesnÄ— nei antroji Ä¯vestis.",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "Grįžti tiesa, jei pirma Ä¯vestis didesnÄ— arba lygi antrajai Ä¯vesÄiai.",
+       "LOGIC_OPERATION_TOOLTIP_AND": "Bus teisinga, kai abi sÄ…lygos bus tenkinamos.",
+       "LOGIC_OPERATION_AND": "ir",
+       "LOGIC_OPERATION_TOOLTIP_OR": "Grįžti tiesa, jei bent viena Ä¯vestis teisinga.",
+       "LOGIC_OPERATION_OR": "arba",
+       "LOGIC_NEGATE_TITLE": "ne %1",
+       "LOGIC_NEGATE_TOOLTIP": "Grįžti tiesa, jei Ä¯vestis klaidinga. Grįžti klaidinga, jei Ä¯vestis teisinga.",
+       "LOGIC_BOOLEAN_TRUE": "tiesa",
+       "LOGIC_BOOLEAN_FALSE": "klaidinga",
+       "LOGIC_BOOLEAN_TOOLTIP": "ReikÅ¡mÄ— gali bÅ«ti \"teisinga\"/\"Taip\" arba \"klaidinga\"/\"Ne\".",
+       "LOGIC_NULL": "nieko",
+       "LOGIC_NULL_TOOLTIP": "ReikÅ¡mÄ— nebuvo nurodyta...",
+       "LOGIC_TERNARY_CONDITION": "sÄ…lyga",
+       "LOGIC_TERNARY_IF_TRUE": "jei taip",
+       "LOGIC_TERNARY_IF_FALSE": "jei ne",
+       "LOGIC_TERNARY_TOOLTIP": "Jeigu sÄ…lygÄ… tenkinama, grąžina pirmÄ… reikÅ¡mÄ™, o jei ne - antrÄ…jÄ….",
+       "MATH_NUMBER_HELPURL": "https://lt.wikipedia.org/wiki/SkaiÄius",
+       "MATH_NUMBER_TOOLTIP": "SkaiÄius.",
+       "MATH_ARITHMETIC_HELPURL": "https://en.wikipedia.org/wiki/Arithmetic",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "Grąžina dviejų skaiÄių sumÄ….",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "Grąžina dviejų skaiÄių skirtumÄ….",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "Grąžina dviejų skaiÄių sandaugÄ….",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "Grąžina dviejų skaiÄių dalmenį.",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "Grąžina pirmÄ… skaiÄių pakeltÄ… laipsniu pagal antrÄ… skaiÄių.",
+       "MATH_SINGLE_HELPURL": "https://en.wikipedia.org/wiki/Square_root",
+       "MATH_SINGLE_OP_ROOT": "kvadratinÄ— Å¡aknis",
+       "MATH_SINGLE_TOOLTIP_ROOT": "Grįžti kvadratinÄ™ Å¡aknį iÅ¡ skaiÄiaus.",
+       "MATH_SINGLE_OP_ABSOLUTE": "modulis",
+       "MATH_SINGLE_TOOLTIP_ABS": "SkaiÄiaus modulis - reikÅ¡mÄ— be Å¾enklo (panaikina minusÄ…).",
+       "MATH_SINGLE_TOOLTIP_NEG": "Grąžina skaiÄiui prieÅ¡ingÄ… skaiÄių.",
+       "MATH_SINGLE_TOOLTIP_LN": "Grąžinti skaiÄiaus natÅ«rinį logaritmÄ….",
+       "MATH_SINGLE_TOOLTIP_LOG10": "Grįžti 10 pagrindinių logaritmų iÅ¡ skaiÄiaus.",
+       "MATH_SINGLE_TOOLTIP_EXP": "Grąžinti skaiÄių laipsniu e.",
+       "MATH_SINGLE_TOOLTIP_POW10": "Grąžinti skaiÄių laipsniu 10.",
+       "MATH_TRIG_HELPURL": "https://lt.wikipedia.org/wiki/TrigonometrinÄ—s_funkcijos",
+       "MATH_TRIG_TOOLTIP_SIN": "Grąžinti laipsnio sinusÄ… (ne radiano).",
+       "MATH_TRIG_TOOLTIP_COS": "Grąžinti laipsnio kosinusÄ… (ne radiano).",
+       "MATH_TRIG_TOOLTIP_TAN": "Grąžinti laipsnio tangentÄ… (ne radiano).",
+       "MATH_TRIG_TOOLTIP_ASIN": "Grąžinti skaiÄiaus arksinusÄ….",
+       "MATH_TRIG_TOOLTIP_ACOS": "Grąžinti skaiÄiaus arkkosinusÄ….",
+       "MATH_TRIG_TOOLTIP_ATAN": "Grąžinti skaiÄiaus arktangentÄ….",
+       "MATH_CONSTANT_HELPURL": "https://en.wikipedia.org/wiki/Mathematical_constant",
+       "MATH_CONSTANT_TOOLTIP": "Grįžti viena iÅ¡ pagrindinių konstantų: Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), or âˆž (begalybÄ—).",
+       "MATH_IS_EVEN": "yra lyginis",
+       "MATH_IS_ODD": "yra nelyginis",
+       "MATH_IS_PRIME": "yra pirminis",
+       "MATH_IS_WHOLE": "yra sveikasis",
+       "MATH_IS_POSITIVE": "yra teigiamas",
+       "MATH_IS_NEGATIVE": "yra neigiamas",
+       "MATH_IS_DIVISIBLE_BY": "yra dalus iÅ¡",
+       "MATH_IS_TOOLTIP": "Patikrina skaiÄiaus savybÄ™: (ne)lyginis/pirminis/sveikasis/teigiamas/neigiamas/dalus iÅ¡ x.",
+       "MATH_CHANGE_HELPURL": "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter",
+       "MATH_CHANGE_TITLE": "padidink %1 (emptypage) %2",
+       "MATH_CHANGE_TOOLTIP": "Prideda skaiÄių prie kintamojo '%1'. Kai skaiÄius neigiamas - gaunasi atimtis.",
+       "MATH_ROUND_HELPURL": "https://lt.wikipedia.org/wiki/Apvalinimas",
+       "MATH_ROUND_TOOLTIP": "Suapvalinti skaiÄių Ä¯ Å¾emesnÄ™ ar aukÅ¡tesnÄ™ reikÅ¡mÄ™.",
+       "MATH_ROUND_OPERATOR_ROUND": "apvalink",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "apvalink aukÅ¡tyn",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "apvalink Å¾emyn",
+       "MATH_ONLIST_OPERATOR_SUM": "suma",
+       "MATH_ONLIST_TOOLTIP_SUM": "didžiausia reikÅ¡mÄ—",
+       "MATH_ONLIST_OPERATOR_MIN": "mažiausia reikÅ¡mÄ— sÄ…raÅ¡e",
+       "MATH_ONLIST_TOOLTIP_MIN": "Grįžti mažiausiu skaiÄiumi sÄ…raÅ¡e.",
+       "MATH_ONLIST_OPERATOR_MAX": "didžiausia reikÅ¡mÄ— sÄ…raÅ¡e",
+       "MATH_ONLIST_TOOLTIP_MAX": "Grįžti didžiausiu skaiÄiumi sÄ…raÅ¡e.",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "vidurkis",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "Grįžti vidurkiu (aritmetinis vidurkis) iÅ¡ skaitinių reikÅ¡mių sÄ…raÅ¡e.",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "mediana sÄ…raÅ¡ui",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "Grąžinti sÄ…raÅ¡o medianÄ….",
+       "MATH_ONLIST_OPERATOR_MODE": "statistinÄ— moda sÄ…raÅ¡ui",
+       "MATH_ONLIST_TOOLTIP_MODE": "Grąžinti sÄ…raÅ¡Ä… dažniausių elementų sÄ…raÅ¡e.",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "standartinis nuokrypis sÄ…raÅ¡e",
+       "MATH_ONLIST_TOOLTIP_STD_DEV": "Grįžti standartine pakraipa iÅ¡ sÄ…raÅ¡o.",
+       "MATH_ONLIST_OPERATOR_RANDOM": "atsitiktinis elementas iÅ¡ sÄ…raÅ¡o",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "Grąžinti atsitiktinį elementÄ… iÅ¡ sÄ…raÅ¡o.",
+       "MATH_MODULO_HELPURL": "https://en.wikipedia.org/wiki/Modulo_operation",
+       "MATH_MODULO_TITLE": "dalybos liekana %1 ÷ %2",
+       "MATH_MODULO_TOOLTIP": "Grįžti likuÄiu nuo dviejų skaiÄių dalybos.",
+       "MATH_CONSTRAIN_TITLE": "apribok %1 tarp %2 ir %3",
+       "MATH_CONSTRAIN_TOOLTIP": "Apriboti skaiÄių, kad bÅ«tų tarp nustatytų ribų (imtinai).",
+       "MATH_RANDOM_INT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_INT_TITLE": "atsitiktinis sveikas sk. nuo %1 iki %2",
+       "MATH_RANDOM_INT_TOOLTIP": "Grįžti atsitiktinį sveikÄ…jį skaiÄių tarp dviejų nustatytų ribų, imtinai.",
+       "MATH_RANDOM_FLOAT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "atsitiktinÄ— trupmena",
+       "MATH_RANDOM_FLOAT_TOOLTIP": "AtsitiktinÄ— trupmena nuo 0 (imtinai) iki 1 (neimtinai).",
+       "TEXT_TEXT_HELPURL": "https://en.wikipedia.org/wiki/String_(computer_science)",
+       "TEXT_TEXT_TOOLTIP": "Tekstas (arba Å¾odis, ar raidÄ—)",
+       "TEXT_JOIN_TITLE_CREATEWITH": "sukurti tekstÄ… su",
+       "TEXT_JOIN_TOOLTIP": "Sukurti teksto fragmentÄ… sujungiant bet kokį skaiÄių fragmentų.",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "sujunk",
+       "TEXT_CREATE_JOIN_TOOLTIP": "PridÄ—ti, paÅ¡alinti arba paskirstyti skyrius, kad pertvarkyti Å¡Ä¯ teksto blokÄ….",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "PridÄ—ti teksto elementÄ….",
+       "TEXT_APPEND_TITLE": "prie %1 pridÄ—k tekstÄ… %2",
+       "TEXT_APPEND_TOOLTIP": "PridÄ—ti tekstÄ… prie kintamojo '%1'.",
+       "TEXT_LENGTH_TITLE": "teksto %1 ilgis",
+       "TEXT_LENGTH_TOOLTIP": "Suranda teksto simbolių kiekį (įskaitant ir tarpus)",
+       "TEXT_ISEMPTY_TITLE": "%1 yra tuÅ¡Äias",
+       "TEXT_ISEMPTY_TOOLTIP": "Grįžti tiesa, jei numatytas tekstas tuÅ¡Äias.",
+       "TEXT_INDEXOF_TOOLTIP": "Grąžina pirmÄ…/paskutinÄ™ pirmo teksto reikÅ¡mÄ™ antrame tekste. Grąžina %1, jei tekstas nerastas.",
+       "TEXT_INDEXOF_TITLE": "tekste %1 %2 %3",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "rask,kur pirmÄ… kartÄ… paminÄ—ta",
+       "TEXT_INDEXOF_OPERATOR_LAST": "rask,kur paskutinį kartÄ… paminÄ—ta",
+       "TEXT_CHARAT_FROM_START": "gauti raidÄ™ #",
+       "TEXT_CHARAT_FROM_END": "raidÄ— nuo galo #",
+       "TEXT_CHARAT_FIRST": "gauti pirmÄ… raidÄ™",
+       "TEXT_CHARAT_LAST": "gauti paskutinÄ™ raidÄ™",
+       "TEXT_CHARAT_RANDOM": "gauti atsitiktinÄ™ raidÄ™",
+       "TEXT_CHARAT_TOOLTIP": "Grąžina raidÄ™ Ä¯ tam tikrÄ… pozicijÄ….",
+       "TEXT_GET_SUBSTRING_TOOLTIP": "Grąžina tam tikrÄ… teksto dalį.",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "tekste",
+       "TEXT_GET_SUBSTRING_START_FROM_START": "dalis nuo raidÄ—s #",
+       "TEXT_GET_SUBSTRING_START_FROM_END": "dalis nuo raidÄ—s #",
+       "TEXT_GET_SUBSTRING_START_FIRST": "dalis nuo pradžios",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "iki raidÄ—s #",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "iki raidÄ—s nuo galo #",
+       "TEXT_GET_SUBSTRING_END_LAST": "iki pabaigos",
+       "TEXT_CHANGECASE_TOOLTIP": "Kitu atvÄ—ju, grąžina teksto kopijÄ….",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": " DIDŽIOSIOM RAIDÄ–M",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": " mažosiom raidÄ—m",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": " Pavadinimo RaidÄ—mis",
+       "TEXT_TRIM_TOOLTIP": "Grąžina teksto kopijÄ…, paÅ¡alinus tarpus iÅ¡ vieno ar abiejų kraÅ¡tų.",
+       "TEXT_TRIM_OPERATOR_BOTH": "iÅ¡valyk tarpus Å¡onuose",
+       "TEXT_TRIM_OPERATOR_LEFT": "iÅ¡valyk tarpus pradžioje",
+       "TEXT_TRIM_OPERATOR_RIGHT": "iÅ¡valyk tarpus pabaigoje",
+       "TEXT_PRINT_TITLE": "spausdinti %1",
+       "TEXT_PRINT_TOOLTIP": "Spausdinti nurodytÄ… tekstÄ…, skaiÄių ar kitÄ… reikÅ¡mÄ™.",
+       "TEXT_PROMPT_TYPE_TEXT": "papraÅ¡yk Ä¯vesti tekstÄ… :",
+       "TEXT_PROMPT_TYPE_NUMBER": "papraÅ¡yk Ä¯vesti skaiÄių :",
+       "TEXT_PROMPT_TOOLTIP_NUMBER": "PraÅ¡yti vartotojÄ… Ä¯vesti skaiÄių.",
+       "TEXT_PROMPT_TOOLTIP_TEXT": "PraÅ¡yti vartotojÄ… Ä¯vesti tekstÄ….",
+       "TEXT_COUNT_MESSAGE0": "skaiÄius %1 iÅ¡ %2",
+       "TEXT_COUNT_HELPURL": "https://github.com/google/blockly/wiki/Text#counting-substrings",
+       "TEXT_COUNT_TOOLTIP": "SuskaiÄiuoti, kiek kartų Å¡is tekstas kartojasi kitame tekste.",
+       "TEXT_REPLACE_MESSAGE0": "pakeisti %1 Ä¯ %2 Å¡iame %3",
+       "TEXT_REPLACE_HELPURL": "https://github.com/google/blockly/wiki/Text#replacing-substrings",
+       "TEXT_REPLACE_TOOLTIP": "PaÅ¡alinti visas teksto dalis kitame tekste.",
+       "TEXT_REVERSE_MESSAGE0": "atbulai %1",
+       "TEXT_REVERSE_HELPURL": "https://github.com/google/blockly/wiki/Text#replacing-substrings",
+       "TEXT_REVERSE_TOOLTIP": "Apversti teksto simbolių tvarkÄ….",
+       "LISTS_CREATE_EMPTY_TITLE": "tuÅ¡Äias sÄ…raÅ¡as",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "Grąžina sÄ…raÅ¡Ä…, ilgio 0, neturintį duomenų",
+       "LISTS_CREATE_WITH_TOOLTIP": "Sukurti sÄ…raÅ¡Ä… iÅ¡ bet kokio skaiÄiaus elementų.",
+       "LISTS_CREATE_WITH_INPUT_WITH": "sukurti sÄ…raÅ¡Ä… su",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "sÄ…raÅ¡as",
+       "LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "PridÄ—ti, paÅ¡alinti arba paskirstyti skyrius, kad pertvarkyti Å¡Ä¯ teksto blokÄ….",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "PridÄ—ti elementÄ… Ä¯ sÄ…raÅ¡Ä….",
+       "LISTS_REPEAT_TITLE": "sukurk sÄ…raÅ¡Ä…, kuriame %1 bus %2 kartus",
+       "LISTS_LENGTH_TITLE": "ilgis %1",
+       "LISTS_LENGTH_TOOLTIP": "Grąžina sÄ…raÅ¡o ilgį.",
+       "LISTS_ISEMPTY_TITLE": "%1 yra tuÅ¡Äias",
+       "LISTS_ISEMPTY_TOOLTIP": "Grąžina â€žtrue“, jeigu sÄ…raÅ¡as tuÅ¡Äias.",
+       "LISTS_INLIST": "sÄ…raÅ¡e",
+       "LISTS_INDEX_OF_FIRST": "rask pirmÄ… reikÅ¡mÄ™",
+       "LISTS_INDEX_OF_LAST": "rask paskutinÄ™ reikÅ¡mÄ™",
+       "LISTS_INDEX_OF_TOOLTIP": "Grąžina pirmos/paskutinÄ—s reikÅ¡mÄ—s eilÄ—s nr. sÄ…raÅ¡e. Grąžina %1, jei reikÅ¡mÄ—s neranda.",
+       "LISTS_GET_INDEX_GET": "paimk",
+       "LISTS_GET_INDEX_GET_REMOVE": "paimk ir iÅ¡trink",
+       "LISTS_GET_INDEX_REMOVE": "paÅ¡alinti",
+       "LISTS_GET_INDEX_FROM_END": "# nuo galo",
+       "LISTS_GET_INDEX_FIRST": "pirmas",
+       "LISTS_GET_INDEX_LAST": "paskutinis",
+       "LISTS_GET_INDEX_RANDOM": "atsitiktinis",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "%1 yra pirmasis objektas.",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "%1 yra paskutinis objektas.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "Gražina objektÄ… Ä¯ nurodyta pozicijÄ… sÄ…raÅ¡e.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "Grąžina pirmÄ…jį sÄ…raÅ¡o elementÄ….",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "Grąžina paskutinį elementÄ… iÅ¡ sÄ…raÅ¡o.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "Grąžina atsitiktinį elementÄ… iÅ¡ sÄ…raÅ¡o.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "PaÅ¡alina objektÄ… iÅ¡ nurodytos vietos sÄ…raÅ¡e.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "PaÅ¡alina pirmÄ… objektÄ… sÄ…raÅ¡e.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "PaÅ¡alina paskutinį objektÄ… sÄ…raÅ¡e.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "PaÅ¡alina atsitiktinį objektÄ… sÄ…raÅ¡e.",
+       "LISTS_SET_INDEX_SET": "priskirk elementui",
+       "LISTS_SET_INDEX_INSERT": "įterpk Ä¯ vietÄ…",
+       "LISTS_SET_INDEX_INPUT_TO": "kaip",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "Ä®terpiÄ… objektÄ… Ä¯ nurodytÄ… pozicijÄ… sÄ…raÅ¡e.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "Ä®terpia objektÄ… Ä¯ sÄ…raÅ¡o pradžiÄ….",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "Ä®terpia objektÄ… Ä¯ atsitiktinÄ™ sÄ…raÅ¡o vietÄ….",
+       "LISTS_GET_SUBLIST_START_FROM_START": "sÄ…raÅ¡o dalis nuo #",
+       "LISTS_GET_SUBLIST_START_FROM_END": "sÄ…raÅ¡o dalis nuo # nuo galo",
+       "LISTS_GET_SUBLIST_START_FIRST": "sÄ…raÅ¡o dalis nuo pradžios",
+       "LISTS_GET_SUBLIST_END_FROM_START": "iki #",
+       "LISTS_GET_SUBLIST_END_FROM_END": "iki # nuo galo",
+       "LISTS_GET_SUBLIST_END_LAST": "iki galo",
+       "LISTS_GET_SUBLIST_TOOLTIP": "Sukuria nurodytos sÄ…raÅ¡o dalies kopijÄ….",
+       "LISTS_SORT_HELPURL": "https://github.com/google/blockly/wiki/Lists#sorting-a-list",
+       "LISTS_SORT_TITLE": "rÅ«Å¡iuoti %1 %2 %3",
+       "LISTS_SORT_TOOLTIP": "RÅ«Å¡iuoti sÄ…raÅ¡o kopijÄ….",
+       "LISTS_SORT_ORDER_ASCENDING": "didÄ—janÄia tvarka",
+       "LISTS_SORT_ORDER_DESCENDING": "mažėjanÄia tvarka",
+       "LISTS_SORT_TYPE_NUMERIC": "skaitmeninis",
+       "LISTS_SORT_TYPE_TEXT": "abÄ—cÄ—lÄ—s",
+       "LISTS_SORT_TYPE_IGNORECASE": "abecÄ—lÄ—s, ignoruoti raidžių dydį",
+       "LISTS_SPLIT_WITH_DELIMITER": "su dalikliu",
+       "VARIABLES_GET_CREATE_SET": "Sukurk \"priskirk %1\"",
+       "VARIABLES_SET": "priskirk %1 = %2",
+       "VARIABLES_SET_CREATE_GET": "Sukurti 'kintamasis %1'",
+       "PROCEDURES_DEFNORETURN_TITLE": "komanda:",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "daryk kažkÄ…",
+       "PROCEDURES_BEFORE_PARAMS": "pagal:",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "su:",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "Sukuria procedÅ«rÄ… - komandÄ…, kuri nepateikia jokio rezultato (tik atlieka veiksmus).",
+       "PROCEDURES_DEFNORETURN_COMMENT": "ApibÅ«dinkite Å¡iÄ… funkcijÄ…...",
+       "PROCEDURES_DEFRETURN_RETURN": "duok",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "Sukuria funkcijÄ… - komandÄ…, kuri ne tik atlieka veiksmus bet ir pateikia (grąžina/duoda) rezultatÄ….",
+       "PROCEDURES_ALLOW_STATEMENTS": "leisti vidinius veiksmus",
+       "PROCEDURES_DEF_DUPLICATE_WARNING": "Å i komanda turi du vienodus gaunamų duomenų pavadinimus.",
+       "PROCEDURES_CALLNORETURN_HELPURL": "https://en.wikipedia.org/wiki/Subroutine",
+       "PROCEDURES_CALLNORETURN_TOOLTIP": "Vykdyti sukurtÄ… komandÄ… \"%1\".",
+       "PROCEDURES_CALLRETURN_HELPURL": "https://en.wikipedia.org/wiki/Subroutine",
+       "PROCEDURES_CALLRETURN_TOOLTIP": "Ä®vykdyti komandÄ… \"%1\" ir naudoti jos suskaiÄiuotÄ… (atiduotÄ…) reikÅ¡mÄ™.",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "gaunami duomenys (parametrai)",
+       "PROCEDURES_MUTATORCONTAINER_TOOLTIP": "Tvarkyti komandos gaunamus duomenis (parametrus).",
+       "PROCEDURES_MUTATORARG_TITLE": "parametro pavadinimas:",
+       "PROCEDURES_MUTATORARG_TOOLTIP": "PridÄ—ti funkcijos parametrÄ… (gaunamų duomenų pavadinimÄ…).",
+       "PROCEDURES_CREATE_DO": "Sukurti \"%1\"",
+       "PROCEDURES_IFRETURN_TOOLTIP": "Jeigu pirma reikÅ¡mÄ— yra teisinga (sÄ…lyga tenkinama), grąžina antrÄ… reikÅ¡mÄ™.",
+       "PROCEDURES_IFRETURN_WARNING": "PerspÄ—jimas: Å¡is blokas gali bÅ«ti naudojamas tik apraÅ¡ant funkcijÄ….",
+       "WORKSPACE_COMMENT_DEFAULT_TEXT": "KažkÄ… pasakykite..."
+}
diff --git a/js/msg/json/lv.json b/js/msg/json/lv.json
new file mode 100644 (file)
index 0000000..6585930
--- /dev/null
@@ -0,0 +1,320 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Elomage",
+                       "Janis",
+                       "Papuass",
+                       "Silraks",
+                       "RFenichel"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "vienums",
+       "TODAY": "Å odiena",
+       "DUPLICATE_BLOCK": "DublÄ“t",
+       "ADD_COMMENT": "Pievienot komentÄru",
+       "REMOVE_COMMENT": "Noņemt komentÄru",
+       "EXTERNAL_INPUTS": "Ä€rÄ“jie ievaddati",
+       "INLINE_INPUTS": "IekÅ¡Ä“jie ievaddati",
+       "DELETE_BLOCK": "Izmest bloku",
+       "DELETE_X_BLOCKS": "Izmest %1 blokus",
+       "DELETE_ALL_BLOCKS": "IzdzÄ“st visus %1 blokus?",
+       "CLEAN_UP": "Sakopt blokus",
+       "COLLAPSE_BLOCK": "Sakļaut bloku",
+       "COLLAPSE_ALL": "Sakļaut blokus",
+       "EXPAND_BLOCK": "IzvÄ“rst bloku",
+       "EXPAND_ALL": "IzvÄ“rst blokus",
+       "DISABLE_BLOCK": "AtspÄ“jot bloku",
+       "ENABLE_BLOCK": "IespÄ“jot bloku",
+       "HELP": "PalÄ«dzÄ«ba",
+       "UNDO": "Atsaukt",
+       "REDO": "Atcelt atsaukÅ¡anu",
+       "CHANGE_VALUE_TITLE": "MainÄ«t vÄ“rtÄ«bu:",
+       "RENAME_VARIABLE": "PÄrdÄ“vÄ“t mainÄ«go...",
+       "RENAME_VARIABLE_TITLE": "PÄrdÄ“vÄ“jiet visus '%1' mainÄ«gos:",
+       "NEW_VARIABLE": "Izveidot mainÄ«go...",
+       "NEW_VARIABLE_TITLE": "JaunÄ mainÄ«gÄ vÄrds:",
+       "VARIABLE_ALREADY_EXISTS": "MainÄ«gais '%1' jau eksistÄ“.",
+       "DELETE_VARIABLE_CONFIRMATION": "MainÄ«gais \"%2\" tiek izmantots %1 vietÄs. DzÄ“st?",
+       "DELETE_VARIABLE": "IzdzÄ“st mainÄ«go \"%1\"",
+       "COLOUR_PICKER_HELPURL": "https://lv.wikipedia.org/wiki/KrÄsa",
+       "COLOUR_PICKER_TOOLTIP": "IzvÄ“lÄ“ties krÄsu no paletes.",
+       "COLOUR_RANDOM_TITLE": "nejauÅ¡a krÄsa",
+       "COLOUR_RANDOM_TOOLTIP": "IzvÄ“lÄ“ties krÄsu pÄ“c nejauÅ¡Ä«bas principa.",
+       "COLOUR_RGB_TITLE": "veido krÄsu no",
+       "COLOUR_RGB_RED": "sarkana",
+       "COLOUR_RGB_GREEN": "zaļa",
+       "COLOUR_RGB_BLUE": "zila",
+       "COLOUR_RGB_TOOLTIP": "Izveidot krÄsu ar norÄdÄ«to daudzumu sarkanÄ, zaļĠun zilÄ toņu. Visas vÄ“rtÄ«bas ir starp 0 un 100.",
+       "COLOUR_BLEND_TITLE": "sajaukt",
+       "COLOUR_BLEND_COLOUR1": "1. krÄsa",
+       "COLOUR_BLEND_COLOUR2": "2. krÄsa",
+       "COLOUR_BLEND_RATIO": "attiecÄ«ba",
+       "COLOUR_BLEND_TOOLTIP": "Sajauc kopÄ divas krÄsas ar doto attiecÄ«bu (0.0 - 1.0).",
+       "CONTROLS_REPEAT_HELPURL": "https://lv.wikipedia.org/wiki/Cikls",
+       "CONTROLS_REPEAT_TITLE": "atkÄrtot %1 reizes",
+       "CONTROLS_REPEAT_INPUT_DO": "izpildi",
+       "CONTROLS_REPEAT_TOOLTIP": "IzpildÄ«t komandas vairÄkas reizes.",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "atkÄrtot kamÄ“r",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "atkÄrtot lÄ«dz",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "IzpildÄ«t komandas, kamÄ“r vÄ“rtÄ«ba ir patiesa.",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "IzpildÄ«t komandas, kamÄ“r vÄ“rtÄ«ba ir nepatiesa.",
+       "CONTROLS_FOR_TOOLTIP": "Ä»auj mainÄ«gajam '%1' pieņemt vÄ“rtÄ«bas no sÄkuma lÄ«dz beigu vÄ“rtÄ«bai, un izpildÄ«t iekļautos blokus katrai no Å¡Ä«m pieņemtajÄm vÄ“rtÄ«bÄm.",
+       "CONTROLS_FOR_TITLE": "skaitÄ«t %1 no %2 lÄ«dz %3 ar soli %4",
+       "CONTROLS_FOREACH_TITLE": "visiem %1 no saraksta %2",
+       "CONTROLS_FOREACH_TOOLTIP": "Katram objektam no saraksta pieÅ¡Ä·irt mainÄ«gajam '%1' Å¡o objektu un izpildÄ«t komandas.",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "iet ÄrÄ no cikla",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "turpinÄt ar cikla nÄkamo iterÄciju",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "Iet ÄrÄ no iekļaujoÅ¡Ä cikla",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "NepildÄ«t atlikuÅ¡o cikla daļu bet sÄkt nÄkamo iterÄciju.",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "BrÄ«dinÄjums: Å¡o bloku drÄ«kst izmantot tikai cikla iekÅ¡ienÄ“.",
+       "CONTROLS_IF_TOOLTIP_1": "Ja vÄ“rtÄ«ba ir patiesa, tad izpildÄ«t komandas.",
+       "CONTROLS_IF_TOOLTIP_2": "Ja vÄ“rtÄ«ba ir patiesa, tad izpildÄ«t pirmo bloku ar komandÄm. CitÄdi izpildÄ«t otro bloku ar komandÄm.",
+       "CONTROLS_IF_TOOLTIP_3": "Ja pirmÄ vÄ“rtÄ«ba ir patiesa, tad izpildÄ«t pirmo bloku ar komandÄm. CitÄdi, ja otrÄ vÄ“rtÄ«ba ir patiesa, izpildÄ«t otro bloku ar komandÄm.",
+       "CONTROLS_IF_TOOLTIP_4": "Ja pirmÄ vÄ“rtÄ«ba ir patiesa, tad izpildÄ«t pirmo bloku ar komandÄm. CitÄdi, ja otrÄ vÄ“rtÄ«ba ir patiesa, izpildÄ«t otro bloku ar komandÄm. Ja neviena no vertÄ«bÄm nav patiesa, tad izpildÄ«t pÄ“dÄ“jo bloku ar komandÄm.",
+       "CONTROLS_IF_MSG_IF": "ja",
+       "CONTROLS_IF_MSG_ELSEIF": "citÄdi, ja",
+       "CONTROLS_IF_MSG_ELSE": "citÄdi",
+       "CONTROLS_IF_IF_TOOLTIP": "Pievienot, noņemt vai mainÄ«t sekciju secÄ«bu Å¡im \"ja\" blokam.",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "Pievienot nosacÄ«jumu \"ja\" blokam.",
+       "CONTROLS_IF_ELSE_TOOLTIP": "Pievienot gala nosacÄ«jumu \"ja\" blokam.",
+       "IOS_OK": "Labi",
+       "IOS_CANCEL": "Atcelt",
+       "IOS_ERROR": "Kļūda",
+       "IOS_VARIABLES_ADD_VARIABLE": "+ Pievienot mainÄ«go",
+       "IOS_VARIABLES_ADD_BUTTON": "Pievienot",
+       "IOS_VARIABLES_RENAME_BUTTON": "PÄrsaukt",
+       "IOS_VARIABLES_DELETE_BUTTON": "DzÄ“st",
+       "IOS_VARIABLES_VARIABLE_NAME": "MainÄ«gÄ nosaukums",
+       "LOGIC_COMPARE_HELPURL": "https://lv.wikipedia.org/wiki/Nevien%C4%81d%C4%ABba",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "Patiess, ja abas puses ir vienÄdas.",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "Patiess, ja abas puses nav vienÄdas.",
+       "LOGIC_COMPARE_TOOLTIP_LT": "Patiess, ja kreisÄ puse ir mazÄka par labo pusi.",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "Patiess, ja kreisÄ puse ir mazÄka vai vienÄda ar labo pusi.",
+       "LOGIC_COMPARE_TOOLTIP_GT": "Patiess, ja kreisÄ puse ir lielÄka par labo pusi.",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "Patiess, ja kreisÄ puse ir lielÄka vai vienÄda ar labo pusi.",
+       "LOGIC_OPERATION_TOOLTIP_AND": "Patiess, ja abas puses ir patiesas.",
+       "LOGIC_OPERATION_AND": "un",
+       "LOGIC_OPERATION_TOOLTIP_OR": "Patiess, ja vismaz viena puse ir patiesa.",
+       "LOGIC_OPERATION_OR": "vai",
+       "LOGIC_NEGATE_TITLE": "ne %1",
+       "LOGIC_NEGATE_TOOLTIP": "Patiess, ja arguments ir aplams.",
+       "LOGIC_BOOLEAN_TRUE": "patiess",
+       "LOGIC_BOOLEAN_FALSE": "aplams",
+       "LOGIC_BOOLEAN_TOOLTIP": "Atgriež rezultÄtu \"patiess\" vai \"aplams\".",
+       "LOGIC_NULL": "nekas",
+       "LOGIC_NULL_TOOLTIP": "Atgriež neko.",
+       "LOGIC_TERNARY_CONDITION": "nosacÄ«jums",
+       "LOGIC_TERNARY_IF_TRUE": "ja patiess",
+       "LOGIC_TERNARY_IF_FALSE": "ja aplams",
+       "LOGIC_TERNARY_TOOLTIP": "PÄrbaudÄ«t nosacÄ«jumu. Ja 'nosacÄ«jums' ir patiess, atgriež vÄ“rtÄ«bu 'ja patiess', pretÄ“jÄ gadÄ«jumÄ vÄ“rtÄ«bu 'ja aplams'.",
+       "MATH_NUMBER_HELPURL": "https://lv.wikipedia.org/wiki/Skaitlis",
+       "MATH_NUMBER_TOOLTIP": "Skaitlis.",
+       "MATH_ARITHMETIC_HELPURL": "https://lv.wikipedia.org/wiki/Aritm%C4%93tika",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "Atgriež divu skaitļu summu.",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "Atgriež divu skaitļu starpÄ«bu.",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "Atgriež divu skaitļu reizinÄjumu.",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "Atgriež divu skaitļu dalÄ«jumu.",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "Atgriež pirmo skaitli kÄpinÄtu pakÄpÄ“ otrais skaitlis.",
+       "MATH_SINGLE_HELPURL": "https://lv.wikipedia.org/wiki/Kvadr%C4%81tsakne",
+       "MATH_SINGLE_OP_ROOT": "kvadrÄtsakne",
+       "MATH_SINGLE_TOOLTIP_ROOT": "Atgriež skaitļa kvadrÄtsakni.",
+       "MATH_SINGLE_OP_ABSOLUTE": "absolÅ«tÄ vÄ“rtÄ«ba",
+       "MATH_SINGLE_TOOLTIP_ABS": "Atgriež skaitļa absolÅ«to vÄ“rtÄ«bu.",
+       "MATH_SINGLE_TOOLTIP_NEG": "Atgriež pretÄ“jo skaitli.",
+       "MATH_SINGLE_TOOLTIP_LN": "Atgriež skaitļa naturÄlo logaritmu.",
+       "MATH_SINGLE_TOOLTIP_LOG10": "Atgriež skaitļa logaritmu pie bÄzes 10.",
+       "MATH_SINGLE_TOOLTIP_EXP": "Atgriež e pakÄpÄ“ dotais skaitlis.",
+       "MATH_SINGLE_TOOLTIP_POW10": "Atgriež 10 pakÄpÄ“ dotais skaitlis.",
+       "MATH_TRIG_HELPURL": "https://lv.wikipedia.org/wiki/Trigonometrisk%C4%81s_funkcijas",
+       "MATH_TRIG_TOOLTIP_SIN": "Sinuss no grÄdiem (nevis radiÄniem).",
+       "MATH_TRIG_TOOLTIP_COS": "Kosinuss no grÄdiem (nevis radiÄniem).",
+       "MATH_TRIG_TOOLTIP_TAN": "Tangenss no grÄdiem (nevis radiÄniem).",
+       "MATH_TRIG_TOOLTIP_ASIN": "Arksinuss (grÄdos).",
+       "MATH_TRIG_TOOLTIP_ACOS": "Arkkosinuss (grÄdos).",
+       "MATH_TRIG_TOOLTIP_ATAN": "Arktangenss (grÄdos).",
+       "MATH_CONSTANT_HELPURL": "https://en.wikipedia.org/wiki/Mathematical_constant",
+       "MATH_CONSTANT_TOOLTIP": "Atgriež kÄdu no matemÄtikas konstantÄ“m: Ï€ (3.141…), e (2.718…), Ï† (1.618…), âˆš(2) (1.414…), âˆš(½) (0.707…), âˆž (bezgalÄ«ba).",
+       "MATH_IS_EVEN": "ir pÄra",
+       "MATH_IS_ODD": "ir nepÄra",
+       "MATH_IS_PRIME": "ir pirmskaitlis",
+       "MATH_IS_WHOLE": "ir vesels",
+       "MATH_IS_POSITIVE": "ir pozitÄ«vs",
+       "MATH_IS_NEGATIVE": "ir negatÄ«vs",
+       "MATH_IS_DIVISIBLE_BY": "dalÄs bez atlikuma ar",
+       "MATH_IS_TOOLTIP": "PÄrbauda, vai skaitlis ir pÄra, nepÄra, vesels, pozitÄ«vs, negatÄ«vs vai dalÄs ar noteiktu skaitli. Atgriež \"patiess\" vai \"aplams\".",
+       "MATH_CHANGE_HELPURL": "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter",
+       "MATH_CHANGE_TITLE": "izmainÄ«t %1 par %2",
+       "MATH_CHANGE_TOOLTIP": "PieskaitÄ«t doto skaitli mainÄ«gajam '%1'.",
+       "MATH_ROUND_HELPURL": "https://en.wikipedia.org/wiki/Rounding",
+       "MATH_ROUND_TOOLTIP": "Noapaļot skaitli uz augÅ¡u vai uz leju.",
+       "MATH_ROUND_OPERATOR_ROUND": "noapaļot",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "apaļot uz augÅ¡u",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "apaļot uz leju",
+       "MATH_ONLIST_OPERATOR_SUM": "summa",
+       "MATH_ONLIST_TOOLTIP_SUM": "SaskaitÄ«t visus skaitļus no dotÄ saraksta.",
+       "MATH_ONLIST_OPERATOR_MIN": "mazÄkais",
+       "MATH_ONLIST_TOOLTIP_MIN": "Atgriež mazÄko vÄ“rtÄ«bu no saraksta.",
+       "MATH_ONLIST_OPERATOR_MAX": "lielÄkais",
+       "MATH_ONLIST_TOOLTIP_MAX": "Atgriež lielÄko vÄ“rtÄ«bu no saraksta.",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "vidÄ“jais",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "Atgriež dotÄ saraksta vidÄ“jo aritmÄ“tisko vÄ“rtÄ«bu.",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "mediÄna",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "Atgriež dotÄ saraksta mediÄnas vÄ“rtÄ«bu.",
+       "MATH_ONLIST_OPERATOR_MODE": "moda",
+       "MATH_ONLIST_TOOLTIP_MODE": "Atgriež dotÄ saraksta biežÄk sastopamÄs vÄ“rtÄ«bas (modas).",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "standartnovirze",
+       "MATH_ONLIST_TOOLTIP_STD_DEV": "Atgriež dotÄ saraksta standartnovirzi.",
+       "MATH_ONLIST_OPERATOR_RANDOM": "nejauÅ¡s",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "Atgriež nejauÅ¡i izvÄ“lÄ“tu vÄ“rtÄ«bu no dotÄ saraksta.",
+       "MATH_MODULO_HELPURL": "https://en.wikipedia.org/wiki/Modulo_operation",
+       "MATH_MODULO_TITLE": "atlikums no %1 ÷ %2",
+       "MATH_MODULO_TOOLTIP": "Atlikums no divu skaitļu dalÄ«juma.",
+       "MATH_CONSTRAIN_TITLE": "ierobežot %1 no %2 lÄ«dz %3",
+       "MATH_CONSTRAIN_TOOLTIP": "Ierobežo skaitli no noteiktajÄs robežÄs (ieskaitot galapunktus).",
+       "MATH_RANDOM_INT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_INT_TITLE": "nejauÅ¡s vesels skaitlis no %1 lÄ«dz %2",
+       "MATH_RANDOM_INT_TOOLTIP": "Atgriež nejauÅ¡u veselu skaitli dotajÄs robežÄs (iekļaujot galapunktus)",
+       "MATH_RANDOM_FLOAT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "nejauÅ¡s skaitlis [0..1)",
+       "MATH_RANDOM_FLOAT_TOOLTIP": "Atgriež nejauÅ¡u reÄlo skaitli robežÄs no 0 (iekļaujot) lÄ«dz 1 (neiekļaujot).",
+       "TEXT_TEXT_HELPURL": "https://en.wikipedia.org/wiki/String_(computer_science)",
+       "TEXT_TEXT_TOOLTIP": "Burts, vÄrds vai jebkÄda teksta rinda.",
+       "TEXT_JOIN_TITLE_CREATEWITH": "veidot tekstu no",
+       "TEXT_JOIN_TOOLTIP": "Izveidot tekstu savienojot dotos argumentus.",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "savienot",
+       "TEXT_CREATE_JOIN_TOOLTIP": "Pievienot, noņemt vai mainÄ«t sekciju secÄ«bu Å¡im \"teksta\" blokam.",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "Pievienot tekstam objektu.",
+       "TEXT_APPEND_TITLE": "tekstam %1 pievienot tekstu %2",
+       "TEXT_APPEND_TOOLTIP": "Pievienot tekstu mainÄ«gajam '%1'.",
+       "TEXT_LENGTH_TITLE": "garums tekstam %1",
+       "TEXT_LENGTH_TOOLTIP": "Atgriež burtu skaitu (ieskaitot atstarpes) dotajÄ tekstÄ.",
+       "TEXT_ISEMPTY_TITLE": "%1 ir tukÅ¡s",
+       "TEXT_ISEMPTY_TOOLTIP": "Patiess, ja teksts ir tukÅ¡s.",
+       "TEXT_INDEXOF_TOOLTIP": "MeklÄ“ pirmÄ teksta rindu otrajÄ tekstÄ.  Atgriež pozÄ«ciju otrajÄ tekstÄ, kurÄ sÄkas pirmais teksts. Atgriež %1 ja pirmÄ teksta rinda nav atrasta.",
+       "TEXT_INDEXOF_TITLE": "tekstÄ %1 %2 %3",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "meklÄ“t pirmo vietu, kur sÄkas teksts",
+       "TEXT_INDEXOF_OPERATOR_LAST": "meklÄ“t pÄ“dÄ“jo vietu, kur sÄkas teksts",
+       "TEXT_CHARAT_FROM_START": "paņemt burtu #",
+       "TEXT_CHARAT_FROM_END": "paņemt no beigÄm burtu #",
+       "TEXT_CHARAT_FIRST": "paņemt pirmo burtu",
+       "TEXT_CHARAT_LAST": "paņemt pÄ“dÄ“jo burtu",
+       "TEXT_CHARAT_RANDOM": "paņemt nejauÅ¡u burtu",
+       "TEXT_CHARAT_TOOLTIP": "Atgriež burtu dotajÄ pozÄ«cijÄ.",
+       "TEXT_GET_SUBSTRING_TOOLTIP": "Atgriež norÄdÄ«to teksta daļu.",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "no teksta",
+       "TEXT_GET_SUBSTRING_START_FROM_START": "paņemt apakÅ¡virkni sÄkot no burta nr",
+       "TEXT_GET_SUBSTRING_START_FROM_END": "paņemt apakÅ¡virkni no beigÄm sÄkot ar burta nr",
+       "TEXT_GET_SUBSTRING_START_FIRST": "paņemt apakÅ¡virkni no sÄkuma",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "lÄ«dz burtam nr",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "lÄ«dz burtam nr (no beigÄm)",
+       "TEXT_GET_SUBSTRING_END_LAST": "lÄ«dz pÄ“dÄ“jam burtam",
+       "TEXT_CHANGECASE_TOOLTIP": "Atgriež teksta kopiju ar mainÄ«tiem lielajiem/mazajiem burtiem.",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "kÄ LIELIE BURTI",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "kÄ mazie burti",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": "kÄ Nosaukuma Burti",
+       "TEXT_TRIM_TOOLTIP": "Atgriež teksta kopiju ar noņemtÄm atstarpÄ“m vienÄ vai otrÄ galÄ.",
+       "TEXT_TRIM_OPERATOR_BOTH": "DzÄ“st atstarpes no abÄm pusÄ“m",
+       "TEXT_TRIM_OPERATOR_LEFT": "DzÄ“st atstarpes no sÄkuma",
+       "TEXT_TRIM_OPERATOR_RIGHT": "DzÄ“st atstarpes no beigÄm",
+       "TEXT_PRINT_TITLE": "parÄdÄ«t %1",
+       "TEXT_PRINT_TOOLTIP": "ParÄdÄ«t norÄdÄ«to tekstu vai skaitli.",
+       "TEXT_PROMPT_TYPE_TEXT": "palÅ«gt ievadÄ«t tekstu ar ziņu",
+       "TEXT_PROMPT_TYPE_NUMBER": "palÅ«gt ievadÄ«t skaitli ar ziņu",
+       "TEXT_PROMPT_TOOLTIP_NUMBER": "PalÅ«gt lietotÄju ievadÄ«t skaitli.",
+       "TEXT_PROMPT_TOOLTIP_TEXT": "PalÅ«gt lietotÄju ievadÄ«t tekstu.",
+       "LISTS_CREATE_EMPTY_TITLE": "izveidot tukÅ¡u sarakstu",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "Izveidot sarakstu bez elementiem tajÄ.",
+       "LISTS_CREATE_WITH_TOOLTIP": "Izveidot sarakstu no jebkura skaita vienÄ«bu.",
+       "LISTS_CREATE_WITH_INPUT_WITH": "izveidot sarakstu no",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "saraksts",
+       "LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "Pievienot, noņemt vai mainÄ«t sekciju secÄ«bu Å¡im \"saraksta\" blokam.",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "Pievienot objektu sarakstam.",
+       "LISTS_REPEAT_TOOLTIP": "Izveido sarakstu, kas sastÄv no dotÄs vÄ“rtÄ«bas noteiktu reižu skaita.",
+       "LISTS_REPEAT_TITLE": "saraksts no %1 atkÄrtots %2 reizes",
+       "LISTS_LENGTH_TITLE": "%1 garums",
+       "LISTS_LENGTH_TOOLTIP": "Atgriež elementu skaitu srakstÄ.",
+       "LISTS_ISEMPTY_TITLE": "%1 ir tukÅ¡s",
+       "LISTS_ISEMPTY_TOOLTIP": "Patiess, ja saraksts ir tukÅ¡s.",
+       "LISTS_INLIST": "sarakstÄ",
+       "LISTS_INDEX_OF_FIRST": "atrast pirmo elementu, kas vienÄds ar",
+       "LISTS_INDEX_OF_LAST": "atrast pÄ“dÄ“jo elementu, kas vienÄds ar",
+       "LISTS_INDEX_OF_TOOLTIP": "Atgriež pozÄ«ciju sarakstÄ, kurÄ atrodas dotais objekts.  Atgriež %1 ja objekts neatrodas sarakstÄ.",
+       "LISTS_GET_INDEX_GET": "paņemt",
+       "LISTS_GET_INDEX_GET_REMOVE": "paņemt uz dzÄ“st",
+       "LISTS_GET_INDEX_REMOVE": "dzÄ“st",
+       "LISTS_GET_INDEX_FROM_END": "no beigÄm numur",
+       "LISTS_GET_INDEX_FIRST": "pirmo",
+       "LISTS_GET_INDEX_LAST": "pÄ“dÄ“jo",
+       "LISTS_GET_INDEX_RANDOM": "nejauÅ¡i izvÄ“lÄ“tu",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "Saraksta elementu numerÄcija sÄkas no %1",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "Saraksta elementu numerÄcija no beigÄm sÄkas no %1",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "Atgriež norÄdÄ«to elementu no saraksta.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "Atgriež pirmo saraksta elementu.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "Atgriež pÄ“dÄ“jo saraksta elementu.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "Atgriež nejauÅ¡i izvÄ“lÄ“tu saraksta elementu",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "Atgriež un izdzÄ“Å¡ no saraksta norÄdÄ«to elementu.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "Atgriež un izdzÄ“Å¡ saraksta pirmo elementu.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "Atgriež un izdzÄ“Å¡ saraksta pÄ“dÄ“jo elementu.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "Atgriež un izdzÄ“Å¡ no saraksta nejauÅ¡i izvÄ“lÄ“tu elementu.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "IzdÄ“Å¡ norÄdÄ«to elementu no saraksta.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "IzdÄ“Å¡ pirmo saraksta elementu.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "IzdÄ“Å¡ pÄ“dÄ“jo saraksta elementu.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "IzdzÄ“Å¡ no saraksta nejauÅ¡i izvÄ“lÄ“tu elementu.",
+       "LISTS_SET_INDEX_SET": "aizvieto",
+       "LISTS_SET_INDEX_INSERT": "ievieto",
+       "LISTS_SET_INDEX_INPUT_TO": "kÄ",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "Aizvieto sarakstÄ elementu norÄdÄ«tajÄ pozÄ«cijÄ.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "Aizvieto elementu saraksta sÄkumÄ.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_LAST": "Aizvieto elementu saraksta beigÄs.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "Aizvieto sarakstÄ elementu nejauÅ¡i izvÄ“lÄ“tÄ pozÄ«cijÄ.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "Ievieto sarakstÄ elementu norÄdÄ«tajÄ pozÄ«cijÄ.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "Ievieto elementu saraksta sÄkumÄ.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "Pievieno elementu saraksta beigÄs.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "Ievieto sarakstÄ jaunu elementu nejauÅ¡i izvÄ“lÄ“tÄ pozÄ«cijÄ.",
+       "LISTS_GET_SUBLIST_START_FROM_START": "paņemt apakÅ¡sarakstu no pozÄ«cijas",
+       "LISTS_GET_SUBLIST_START_FROM_END": "paņemt apakÅ¡sarakstu no beigÄm no pozÄ«cijas",
+       "LISTS_GET_SUBLIST_START_FIRST": "paņemt apakÅ¡sarakstu no sÄkuma",
+       "LISTS_GET_SUBLIST_END_FROM_START": "lÄ«dz pozÄ«cijai",
+       "LISTS_GET_SUBLIST_END_FROM_END": "lÄ«dz pozÄ«cijai no beigÄm",
+       "LISTS_GET_SUBLIST_END_LAST": "lÄ«dz beigÄm",
+       "LISTS_GET_SUBLIST_TOOLTIP": "NokopÄ“t daļu no dotÄ saraksta.",
+       "LISTS_SORT_TITLE": "SakÄrtot sarakstu no %3 elementiem %2 secÄ«bÄ %1",
+       "LISTS_SORT_TOOLTIP": "Saraksta sakÄrtota kopija.",
+       "LISTS_SORT_ORDER_ASCENDING": "augoÅ¡Ä",
+       "LISTS_SORT_ORDER_DESCENDING": "dilstoÅ¡Ä",
+       "LISTS_SORT_TYPE_NUMERIC": "skaitliski",
+       "LISTS_SORT_TYPE_TEXT": "pÄ“c alfabÄ“ta",
+       "LISTS_SORT_TYPE_IGNORECASE": "pÄ“c alfabÄ“ta, ignorÄ“t mazos/lielos burtus",
+       "LISTS_SPLIT_LIST_FROM_TEXT": "vÄrdu saraksts no teksta",
+       "LISTS_SPLIT_TEXT_FROM_LIST": "izveidot tekstu no saraksta",
+       "LISTS_SPLIT_WITH_DELIMITER": "ar atdalÄ«tÄju",
+       "LISTS_SPLIT_TOOLTIP_SPLIT": "SadalÄ«t tekstu vÄrdos izmantojot atdalÄ«tÄju.",
+       "LISTS_SPLIT_TOOLTIP_JOIN": "Apvienot tekstu izmantojot atdalÄ«tÄju.",
+       "VARIABLES_GET_TOOLTIP": "Atgriež mainÄ«gÄ vÄ“rtÄ«bu.",
+       "VARIABLES_GET_CREATE_SET": "Izveidot pieÅ¡Ä·irÅ¡anu mainÄ«gajam %1",
+       "VARIABLES_SET": "pieÅ¡Ä·irt mainÄ«gajam %1 vÄ“rtÄ«bu %2",
+       "VARIABLES_SET_TOOLTIP": "PieÅ¡Ä·irt mainÄ«gajam vÄ“rtÄ«bu.",
+       "VARIABLES_SET_CREATE_GET": "Izveidot 'ņem %1'",
+       "PROCEDURES_DEFNORETURN_TITLE": "funkcija",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "darÄ«t kaut ko",
+       "PROCEDURES_BEFORE_PARAMS": "ar:",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "ar:",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "Izveido funkciju, kas neatgriež rezultÄtu.",
+       "PROCEDURES_DEFNORETURN_COMMENT": "Funkcijas apraksts...",
+       "PROCEDURES_DEFRETURN_RETURN": "atgriezt",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "Izveido funkciju, kas atgriež rezultÄtu.",
+       "PROCEDURES_ALLOW_STATEMENTS": "atļaut apakÅ¡komandas",
+       "PROCEDURES_DEF_DUPLICATE_WARNING": "BrÄ«dinÄjums: funkcijai ir vienÄdi argumenti.",
+       "PROCEDURES_CALLNORETURN_HELPURL": "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29",
+       "PROCEDURES_CALLNORETURN_TOOLTIP": "IzpildÄ«t iepriekÅ¡ definÄ“tu funkcju '%1'.",
+       "PROCEDURES_CALLRETURN_HELPURL": "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29",
+       "PROCEDURES_CALLRETURN_TOOLTIP": "IzpildÄ«t iepriekÅ¡ definÄ“tu funkcju '%1' un izmantot tÄs rezultÄtu.",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "argumenti",
+       "PROCEDURES_MUTATORCONTAINER_TOOLTIP": "Pievienot, pÄrkÄrtot vai dzÄ“st funkcijas argumentus.",
+       "PROCEDURES_MUTATORARG_TITLE": "arguments:",
+       "PROCEDURES_MUTATORARG_TOOLTIP": "Pievienot funkcijai argumentu.",
+       "PROCEDURES_HIGHLIGHT_DEF": "Izcelt funkcijas definÄ«ciju",
+       "PROCEDURES_CREATE_DO": "Izveidot '%1' izsaukumu",
+       "PROCEDURES_IFRETURN_TOOLTIP": "Ja pirmÄ vÄ“rtÄ«ba ir \"patiesa\", tad atgriezt otro vÄ“rtÄ«bu.",
+       "PROCEDURES_IFRETURN_WARNING": "BrÄ«dinÄjums: Å o bloku var izmantot tikai funkcijas definÄ«cijÄ."
+}
diff --git a/js/msg/json/mk.json b/js/msg/json/mk.json
new file mode 100644 (file)
index 0000000..1904943
--- /dev/null
@@ -0,0 +1,114 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Bjankuloski06"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "елемент",
+       "TODAY": "ДенеÑ",
+       "DUPLICATE_BLOCK": "ИÑкопирај",
+       "ADD_COMMENT": "Додај ÐºÐ¾Ð¼ÐµÐ½Ñ‚ар:",
+       "REMOVE_COMMENT": "ОтÑтрани ÐºÐ¾Ð¼ÐµÐ½Ñ‚ар",
+       "EXTERNAL_INPUTS": "Ðадворешен Ð²Ð½Ð¾Ñ",
+       "INLINE_INPUTS": "Внатрешен Ð²Ð½Ð¾Ñ",
+       "DELETE_BLOCK": "Избриши Ð±Ð»Ð¾Ðº",
+       "DELETE_X_BLOCKS": "Избриши %1 Ð±Ð»Ð¾ÐºÐ°",
+       "DELETE_ALL_BLOCKS": "Да Ð³Ð¸ Ð¸Ð·Ð±Ñ€Ð¸ÑˆÐ°Ð¼ Ñите %1 Ð±Ð»Ð¾ÐºÑ‡Ð¸ÑšÐ°?",
+       "COLLAPSE_BLOCK": "Собери Ð±Ð»Ð¾Ðº",
+       "COLLAPSE_ALL": "Собери Ð±Ð»Ð¾ÐºÐ¾Ð²Ð¸",
+       "EXPAND_BLOCK": "Рашири Ð³Ð¾ Ð±Ð»Ð¾ÐºÐ¾Ð²Ð¸",
+       "EXPAND_ALL": "Рашири Ð±Ð»Ð¾ÐºÐ¾Ð²Ð¸",
+       "DISABLE_BLOCK": "ИÑклучи Ð±Ð»Ð¾Ðº",
+       "ENABLE_BLOCK": "Вклучи Ð±Ð»Ð¾Ðº",
+       "HELP": "Помош",
+       "CHANGE_VALUE_TITLE": "Смена Ð½Ð° Ð²Ñ€ÐµÐ´Ð½Ð¾ÑÑ‚:",
+       "RENAME_VARIABLE": "Преименувај Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð»Ð¸Ð²Ð°...",
+       "RENAME_VARIABLE_TITLE": "Преименувај Ð³Ð¸ Ñите Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð»Ð¸Ð²Ð¸ â€ž%1“ Ð²Ð¾:",
+       "NEW_VARIABLE": "Ðова Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð»Ð¸Ð²Ð°...",
+       "NEW_VARIABLE_TITLE": "Ðазив Ð½Ð° Ð½Ð¾Ð²Ð°Ñ‚а Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð»Ð¸Ð²Ð°:",
+       "COLOUR_PICKER_HELPURL": "https://mk.wikipedia.org/wiki/Боја",
+       "COLOUR_PICKER_TOOLTIP": "Изберете Ð±Ð¾Ñ˜Ð° Ð¾Ð´ Ð¿Ð°Ð»ÐµÑ‚ата.",
+       "COLOUR_RANDOM_TITLE": "Ñлучајна Ð±Ð¾Ñ˜Ð°",
+       "COLOUR_RANDOM_TOOLTIP": "Избери Ð±Ð¾Ñ˜Ð° Ð½Ð° Ñ‚епка.",
+       "COLOUR_RGB_TITLE": "боја Ñо",
+       "COLOUR_RGB_RED": "црвена",
+       "COLOUR_RGB_GREEN": "зелена",
+       "COLOUR_RGB_BLUE": "Ñина",
+       "COLOUR_RGB_TOOLTIP": "Создајте Ð±Ð¾Ñ˜Ð° Ñо ÑƒÐºÐ°Ð¶Ð°Ð½Ð¸Ñ‚е Ð¸Ð·Ð½Ð¾Ñи Ð½Ð° Ñ†Ñ€Ð²ÐµÐ½Ð°, Ð·ÐµÐ»ÐµÐ½Ð° Ð¸ Ñина. Ð¡Ð¸Ñ‚е Ð²Ñ€ÐµÐ´Ð½Ð¾Ñти Ð¼Ð¾Ñ€Ð° Ð´Ð° Ð±Ð¸Ð´Ð°Ñ‚ Ð¿Ð¾Ð¼ÐµÑ“у 0 Ð¸ 100.",
+       "COLOUR_BLEND_TITLE": "Ñмешај",
+       "COLOUR_BLEND_COLOUR1": "боја 1",
+       "COLOUR_BLEND_COLOUR2": "боја 2",
+       "COLOUR_BLEND_RATIO": "ÑоодноÑ",
+       "COLOUR_BLEND_TOOLTIP": "Меша Ð´Ð²Ðµ Ð±Ð¾Ð¸ Ð²Ð¾ Ð´Ð°Ð´ÐµÐ½ ÑоодноѠ(0.0 - 1.0).",
+       "CONTROLS_REPEAT_HELPURL": "https://mk.wikipedia.org/wiki/For-јамка",
+       "CONTROLS_REPEAT_TITLE": "повтори %1 Ð¿Ð°Ñ‚и",
+       "CONTROLS_REPEAT_INPUT_DO": "иÑполни",
+       "CONTROLS_REPEAT_TOOLTIP": "ИÑполнува Ð½Ð°Ñ€ÐµÐ´Ð±Ð¸ Ð½ÐµÐºÐ¾Ð»ÐºÑƒ Ð¿Ð°Ñ‚и.",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "повторувај Ð´Ð¾Ð´ÐµÐºÐ°",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "повторувај Ñè Ð´Ð¾",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "Додека Ð²Ñ€ÐµÐ´Ð½Ð¾Ñта Ðµ Ð²Ð¸Ñтинита, Ð¸Ñполнува Ð½Ð°Ñ€ÐµÐ´Ð±Ð¸.",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "Додека Ð²Ñ€ÐµÐ´Ð½Ð¾Ñта Ðµ Ð½ÐµÐ²Ð¸Ñтинита, Ð¸Ñполнува Ð½Ð°Ñ€ÐµÐ´Ð±Ð¸.",
+       "CONTROLS_FOR_TOOLTIP": "Променливата â€ž%1“ Ð´Ð° Ð³Ð¸ Ð·ÐµÐ¼Ðµ Ð²Ñ€ÐµÐ´Ð½Ð¾Ñтите Ð¾Ð´ Ð¿Ð¾Ñ‡ÐµÑ‚ниот Ð´Ð¾ Ð·Ð°Ð²Ñ€ÑˆÐ½Ð¸Ð¾Ñ‚ Ð±Ñ€Ð¾Ñ˜, Ð±Ñ€Ð¾ÐµÑ˜ÑœÐ¸ Ñпоред ÑƒÐºÐ°Ð¶Ð°Ð½Ð¸Ð¾Ñ‚ Ð¸Ð½Ñ‚ервал Ð¸ Ð³Ð¸ Ð¸Ñполнува ÑƒÐºÐ°Ð¶Ð°Ð½Ð¸Ñ‚е Ð±Ð»Ð¾ÐºÐ¾Ð²Ð¸.",
+       "CONTROLS_FOR_TITLE": "број Ñо %1 Ð¾Ð´ %2 Ð´Ð¾ %3 Ñо %4",
+       "CONTROLS_FOREACH_TITLE": "за Ñекој ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ %1 Ð½Ð° ÑпиÑокот %2",
+       "CONTROLS_FOREACH_TOOLTIP": "Му Ñ˜Ð° Ð·Ð°Ð´Ð°Ð²Ð° Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð»Ð¸Ð²Ð°Ñ‚а â€ž%1“ Ð½Ð° Ñекој ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ð½Ð° ÑпиÑокот, Ð° Ð¿Ð¾Ñ‚оа Ð¸Ñполнува Ð½Ð°Ñ€ÐµÐ´Ð±Ð¸.",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "излези Ð¾Ð´ Ñ˜Ð°Ð¼ÐºÐ°Ñ‚а",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "продолжи Ñо Ñледното Ð¿Ð¾Ð²Ñ‚орување Ð½Ð° Ñ˜Ð°Ð¼ÐºÐ°Ñ‚а",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "Излези Ð¾Ð´ Ñодржечката Ñ˜Ð°Ð¼ÐºÐ°.",
+       "CONTROLS_IF_MSG_IF": "ако",
+       "CONTROLS_IF_MSG_ELSEIF": "инаку Ð°ÐºÐ¾",
+       "CONTROLS_IF_MSG_ELSE": "инаку",
+       "CONTROLS_IF_IF_TOOLTIP": "Додава, Ð¾Ñ‚Ñтранува Ð¸Ð»Ð¸ Ð¿Ñ€ÐµÑ€ÐµÐ´ÑƒÐ²Ð° Ð´ÐµÐ»Ð¾Ð²Ð¸ Ð·Ð° Ð¿Ñ€ÐµÑ€Ð°Ñпоредување Ð½Ð° Ð¾Ð²Ð¾Ñ˜ Ð±Ð»Ð¾Ðº â€žÐ°ÐºÐ¾â€œ.",
+       "LOGIC_COMPARE_HELPURL": "https://mk.wikipedia.org/wiki/ÐеравенÑтво",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "Дава Ð²Ð¸Ñтина Ð°ÐºÐ¾ Ð¾Ð±Ð°Ñ‚а Ð²Ð½Ð¾Ñа Ñе ÐµÐ´Ð½Ð°ÐºÐ²Ð¸.",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "Дава Ð²Ð¸Ñтина Ð°ÐºÐ¾ Ð¾Ð±Ð°Ñ‚а Ð²Ð½Ð¾Ñа Ð½Ðµ Ñе ÐµÐ´Ð½Ð°ÐºÐ²Ð¸.",
+       "LOGIC_COMPARE_TOOLTIP_LT": "Дава Ð²Ð¸Ñтина Ð°ÐºÐ¾ Ð¿Ñ€Ð²Ð¸Ð¾Ñ‚ Ð²Ð½Ð¾Ñ Ðµ Ð¿Ð¾Ð¼Ð°Ð» Ð¾Ð´ Ð²Ñ‚ориот.",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "Дава Ð²Ð¸Ñтина Ð°ÐºÐ¾ Ð¿Ñ€Ð²Ð¸Ð¾Ñ‚ Ð²Ð½Ð¾Ñ Ðµ Ð¿Ð¾Ð¼Ð°Ð» Ð¸Ð»Ð¸ ÐµÐ´Ð½Ð°ÐºÐ¾Ð² Ð½Ð°  Ð²Ñ‚ориот.",
+       "LOGIC_COMPARE_TOOLTIP_GT": "Дава Ð²Ð¸Ñтина Ð°ÐºÐ¾ Ð¿Ñ€Ð²Ð¸Ð¾Ñ‚ Ð²Ð½Ð¾Ñ Ðµ Ð¿Ð¾Ð³Ð¾Ð»ÐµÐ¼ Ð¾Ð´ Ð²Ñ‚ориот.",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "Дава Ð²Ð¸Ñтина Ð°ÐºÐ¾ Ð¿Ñ€Ð²Ð¸Ð¾Ñ‚ Ð²Ð½Ð¾Ñ Ðµ Ð¿Ð¾Ð³Ð¾Ð»ÐµÐ¼ Ð¸Ð»Ð¸ ÐµÐ´Ð½Ð°ÐºÐ¾Ð² Ð½Ð° Ð²Ñ‚ориот.",
+       "LOGIC_OPERATION_TOOLTIP_AND": "Дава Ð²Ð¸Ñтина Ð°ÐºÐ¾ Ð¾Ð±Ð°Ñ‚а Ð²Ð½Ð¾Ñа Ñе Ð²Ð¸Ñтинити.",
+       "LOGIC_OPERATION_AND": "и",
+       "LOGIC_OPERATION_TOOLTIP_OR": "Дава Ð²Ð¸Ñтина Ð°ÐºÐ¾ Ð±Ð°Ñ€ÐµÐ¼ ÐµÐ´ÐµÐ½ Ð¾Ð´ Ð²Ð½Ð¾Ñовите Ðµ Ð²Ð¸Ñтинит.",
+       "LOGIC_OPERATION_OR": "или",
+       "LOGIC_NEGATE_TITLE": "не %1",
+       "LOGIC_NEGATE_TOOLTIP": "Дава Ð²Ð¸Ñтина Ð°ÐºÐ¾ Ð²Ð½Ð¾Ñот Ðµ Ð½ÐµÐ²Ð¸Ñтинит. Ð”ава Ð½ÐµÐ²Ð¸Ñтина Ð°ÐºÐ¾ Ð²Ð½Ð¾Ñот Ðµ Ð²Ð¸Ñтинит.",
+       "LOGIC_BOOLEAN_TRUE": "виÑтина",
+       "LOGIC_BOOLEAN_FALSE": "невиÑтина",
+       "LOGIC_BOOLEAN_TOOLTIP": "Дава Ð¸Ð»Ð¸ Ð²Ð¸Ñтина Ð¸Ð»Ð¸ Ð½ÐµÐ²Ð¸Ñтина.",
+       "LOGIC_NULL": "ништо",
+       "LOGIC_NULL_TOOLTIP": "Дава Ð½Ð¸ÑˆÑ‚о.",
+       "LOGIC_TERNARY_CONDITION": "иÑпробај",
+       "LOGIC_TERNARY_IF_TRUE": "ако Ðµ Ð²Ð¸Ñтинито",
+       "LOGIC_TERNARY_IF_FALSE": "ако Ðµ Ð½ÐµÐ²Ð¸Ñтинито",
+       "MATH_CONSTANT_HELPURL": "https://mk.wikipedia.org/wiki/Математичка_конÑтанта",
+       "MATH_CONSTANT_TOOLTIP": "Дава ÐµÐ´Ð½Ð° Ð¾Ð´ Ð²Ð¾Ð¾Ð±Ð¸Ñ‡Ð°ÐµÐ½Ð¸Ñ‚е ÐºÐ¾Ð½Ñтанти: Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), Ð¸Ð»Ð¸ âˆž (беÑконечноÑÑ‚).",
+       "MATH_IS_EVEN": "е Ð¿Ð°Ñ€ÐµÐ½",
+       "MATH_IS_ODD": "е Ð½ÐµÐ¿Ð°Ñ€ÐµÐ½",
+       "MATH_IS_PRIME": "е Ð¿Ñ€Ð¾ÑÑ‚",
+       "MATH_IS_WHOLE": "е Ñ†ÐµÐ»",
+       "MATH_IS_POSITIVE": "е Ð¿Ð¾Ð·Ð¸Ñ‚ивен",
+       "MATH_IS_NEGATIVE": "е Ð½ÐµÐ³Ð°Ñ‚ивен",
+       "MATH_IS_DIVISIBLE_BY": "е Ð´ÐµÐ»Ð¸Ð² Ñо",
+       "MATH_IS_TOOLTIP": "Проверува Ð´Ð°Ð»Ð¸ Ð±Ñ€Ð¾Ñ˜Ð¾Ñ‚ Ðµ Ð¿Ð°Ñ€ÐµÐ½, Ð½ÐµÐ¿Ð°Ñ€ÐµÐ½, Ð¿Ñ€Ð¾ÑÑ‚, Ñ†ÐµÐ», Ð¿Ð¾Ð·Ð¸Ñ‚ивен, Ð½ÐµÐ³Ð°Ñ‚ивен Ð¸Ð»Ð¸ Ð´ÐµÐ»Ð¸Ð² Ñо Ð½ÐµÐºÐ¾Ñ˜ Ð±Ñ€Ð¾Ñ˜. Ð”ава Ð²Ð¸Ñтина Ð¸Ð»Ð¸ Ð½ÐµÐ²Ð¸Ñтина.",
+       "MATH_CHANGE_HELPURL": "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter?uselang=mk",
+       "MATH_CHANGE_TITLE": "повиши %1 Ð·Ð° %2",
+       "MATH_CHANGE_TOOLTIP": "Рдодава Ð±Ñ€Ð¾Ñ˜ Ð½Ð° Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ð»Ð¸Ð²Ð°Ñ‚а â€ž%1“.",
+       "MATH_ROUND_HELPURL": "https://mk.wikipedia.org/wiki/Заокружување",
+       "MATH_ROUND_TOOLTIP": "Го Ð·Ð°Ð¾ÐºÑ€ÑƒÐ¶ÑƒÐ²Ð° Ð±Ñ€Ð¾Ñ˜Ð¾Ñ‚ Ð½Ð° Ð¿Ð¾Ð³Ð¾Ð»ÐµÐ¼ Ð¸Ð»Ð¸ Ð¿Ð¾Ð¼Ð°Ð».",
+       "MATH_ROUND_OPERATOR_ROUND": "заокружи",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "заокружи Ð½Ð° Ð¿Ð¾Ð³Ð¾Ð»ÐµÐ¼Ð¾",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "заокружи Ð½Ð° Ð¿Ð¾Ð¼Ð°Ð»Ð¾",
+       "MATH_ONLIST_OPERATOR_SUM": "збир Ð¾Ð´ ÑпиÑокот",
+       "MATH_ONLIST_TOOLTIP_SUM": "Дава Ð·Ð±Ð¸Ñ€ Ð¾Ð´ Ñите Ð±Ñ€Ð¾ÐµÐ²Ð¸ Ð½Ð° ÑпиÑокот.",
+       "MATH_ONLIST_OPERATOR_MIN": "најмал Ð½Ð° ÑпиÑокот",
+       "MATH_ONLIST_TOOLTIP_MIN": "Го Ð´Ð°Ð²Ð° Ð½Ð°Ñ˜Ð¼Ð°Ð»Ð¸Ð¾Ñ‚ Ð±Ñ€Ð¾Ñ˜ Ð½Ð° ÑпиÑокот.",
+       "MATH_ONLIST_OPERATOR_MAX": "најголем Ð½Ð° ÑпиÑокот",
+       "MATH_ONLIST_TOOLTIP_MAX": "Го Ð´Ð°Ð²Ð° Ð½Ð°Ñ˜Ð³Ð¾Ð»ÐµÐ¼Ð¸Ð¾Ñ‚ Ð±Ñ€Ð¾Ñ˜ Ð½Ð° ÑпиÑокот.",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "проÑек Ð½Ð° ÑпиÑокот",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "Дава Ð¿Ñ€Ð¾Ñек (аритметичка Ñредина) Ð¾Ð´ Ð±Ñ€Ð¾ÐµÐ²Ð¸Ñ‚е Ð½Ð° ÑпиÑокот.",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "медијана Ð½Ð° ÑпиÑокот",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "Дава Ð¼ÐµÐ´Ð¸Ñ˜Ð°Ð½Ð° Ð¾Ð´ Ð±Ñ€Ð¾ÐµÐ²Ð¸Ñ‚е Ð½Ð° ÑпиÑокот.",
+       "MATH_ONLIST_OPERATOR_MODE": "модул Ð½Ð° ÑпиÑокот",
+       "MATH_ONLIST_TOOLTIP_MODE": "Дава ÑпиÑок Ð½Ð° Ð½Ð°Ñ˜Ð·Ð°Ñтапен(и) ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚(и) Ð½Ð° ÑпиÑокот.",
+       "PROCEDURES_CALLNORETURN_HELPURL": "https://mk.wikipedia.org/wiki/Потпрограма"
+}
diff --git a/js/msg/json/ms.json b/js/msg/json/ms.json
new file mode 100644 (file)
index 0000000..b10332d
--- /dev/null
@@ -0,0 +1,311 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Anakmalaysia",
+                       "Espertus"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "Perkara",
+       "TODAY": "Hari ini",
+       "DUPLICATE_BLOCK": "Pendua",
+       "ADD_COMMENT": "Berikan Komen",
+       "REMOVE_COMMENT": "Padamkan Komen",
+       "EXTERNAL_INPUTS": "Input Luaran",
+       "INLINE_INPUTS": "Input Sebaris",
+       "DELETE_BLOCK": "Hapuskan Blok",
+       "DELETE_X_BLOCKS": "Hapuskan %1 Blok",
+       "DELETE_ALL_BLOCKS": "Hapuskan kesemua %1 blok?",
+       "CLEAN_UP": "Kemaskan Blok",
+       "COLLAPSE_BLOCK": "Lipat Blok",
+       "COLLAPSE_ALL": "Lipat Blok²",
+       "EXPAND_BLOCK": "Buka Blok",
+       "EXPAND_ALL": "Buka Blok²",
+       "DISABLE_BLOCK": "Matikan Blok",
+       "ENABLE_BLOCK": "Hidupkan Blok",
+       "HELP": "Bantuan",
+       "CHANGE_VALUE_TITLE": "Ubah nilai:",
+       "RENAME_VARIABLE": "Tukar nama pembolehubah...",
+       "RENAME_VARIABLE_TITLE": "Tukar nama semua pembolehubah '%1' kepada:",
+       "NEW_VARIABLE": "Pembolehubah baru...",
+       "NEW_VARIABLE_TITLE": "Nama pembolehubah baru:",
+       "COLOUR_PICKER_HELPURL": "https://ms.wikipedia.org/wiki/Warna",
+       "COLOUR_PICKER_TOOLTIP": "Pilih satu warna daripada palet.",
+       "COLOUR_RANDOM_TITLE": "warna rawak",
+       "COLOUR_RANDOM_TOOLTIP": "Pilih satu warna secara rawak.",
+       "COLOUR_RGB_TITLE": "warnakan",
+       "COLOUR_RGB_RED": "merah",
+       "COLOUR_RGB_GREEN": "hijau",
+       "COLOUR_RGB_BLUE": "biru",
+       "COLOUR_RGB_TOOLTIP": "Peroleh satu warna dengan menentukan amaun campuran merah, hijau dan biru. Kesemua nilai haruslah antara 0 hingga 100.",
+       "COLOUR_BLEND_TITLE": "adun",
+       "COLOUR_BLEND_COLOUR1": "warna 1",
+       "COLOUR_BLEND_COLOUR2": "warna 2",
+       "COLOUR_BLEND_RATIO": "nisbah",
+       "COLOUR_BLEND_TOOLTIP": "Campurkan dua warna sekali pada nisbah yang ditentukan (0.0 - 1.0).",
+       "CONTROLS_REPEAT_HELPURL": "https://en.wikipedia.org/wiki/For_loop",
+       "CONTROLS_REPEAT_TITLE": "ulang %1 kali",
+       "CONTROLS_REPEAT_INPUT_DO": "lakukan",
+       "CONTROLS_REPEAT_TOOLTIP": "Lakukan perintah berulang kali.",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "ulangi apabila",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "ulangi sehingga",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "Lakukan beberapa perintah apabila nilainya benar (true).",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "Lakukan beberapa perintah apabila nilainya palsu (false).",
+       "CONTROLS_FOR_TOOLTIP": "Gunakan pembolehubah '%1' pada nilai-nilai dari nombor pangkal hingga nombor hujung, mengira mengikut selang yang ditentukan, dan lakukan blok-blok yang tertentu.",
+       "CONTROLS_FOR_TITLE": "kira dengan %1 dari %2 hingga %3 selang %4",
+       "CONTROLS_FOREACH_TITLE": "untuk setiap perkara %1 dalam senarai %2",
+       "CONTROLS_FOREACH_TOOLTIP": "Untuk setiap perkara dalam senarai, tetapkan pembolehubah '%1' pada perkara, kemudian lakukan beberapa perintah.",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "hentikan gelung",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "teruskan dengan lelaran gelung seterusnya",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "Keluar dari gelung pengandung.",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "Langkau seluruh gelung yang tinggal dan bersambung dengan lelaran seterusnya.",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "Amaran: Blok ini hanya boleh digunakan dalam satu gelung.",
+       "CONTROLS_IF_TOOLTIP_1": "Jika nilai yang benar, lakukan beberapa penyata.",
+       "CONTROLS_IF_TOOLTIP_2": "Jika suatu nilai benar, lakukan penyata blok pertama.  Jika tidak, bina penyata blok kedua.",
+       "CONTROLS_IF_TOOLTIP_3": "Jika nilai yang pertama adalah benar, lakukan penyata pertama blok.  Sebaliknya, jika nilai kedua adalah benar, lakukan penyata blok kedua.",
+       "CONTROLS_IF_TOOLTIP_4": "Jika nilai yang pertama adalah benar, lakukan penyata blok pertama.  Sebaliknya, jika nilai kedua adalah benar, lakukan penyata blok kedua.  Jika tiada nilai adalah benar, lakukan penyata blok terakhir.",
+       "CONTROLS_IF_MSG_IF": "jika",
+       "CONTROLS_IF_MSG_ELSEIF": "lain jika",
+       "CONTROLS_IF_MSG_ELSE": "lain",
+       "CONTROLS_IF_IF_TOOLTIP": "Tambah, alih keluar, atau susun semula bahagian-bahagian untuk menyusun semula blok jika.",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "Tambah satu syarat kepada blok jika.",
+       "CONTROLS_IF_ELSE_TOOLTIP": "Tambah yang terakhir, alihkan semua keadaan ke blok jika.",
+       "LOGIC_COMPARE_HELPURL": "https://id.wikipedia.org/wiki/Pertidaksamaan",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "Kembali benar jika kedua-dua input benar antara satu sama lain.",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "Taip balik benar jika kedua-dua input tidak sama.",
+       "LOGIC_COMPARE_TOOLTIP_LT": "Kembali benar jika input pertama adalah lebih kecil daripada input kedua.",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "Kembali benar jika input pertama adalah lebih kecil daripada atau sama dengan input kedua.",
+       "LOGIC_COMPARE_TOOLTIP_GT": "Kembali benar jika input pertama adalah lebih besar daripada input kedua.",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "Kembali benar jika input pertama adalah lebih besar daripada atau sama dengan input kedua.",
+       "LOGIC_OPERATION_TOOLTIP_AND": "Return true if both inputs are true.",
+       "LOGIC_OPERATION_AND": "dan",
+       "LOGIC_OPERATION_TOOLTIP_OR": "Return true if at least one of the inputs is true.",
+       "LOGIC_OPERATION_OR": "atau",
+       "LOGIC_NEGATE_TITLE": "bukan %1",
+       "LOGIC_NEGATE_TOOLTIP": "'Benar' akan dibalas jika inputnya salah. 'Salah' akan dibalas jika inputnya benar.",
+       "LOGIC_BOOLEAN_TRUE": "benar",
+       "LOGIC_BOOLEAN_FALSE": "palsu",
+       "LOGIC_BOOLEAN_TOOLTIP": "Kembalikan samada benar atau palsu.",
+       "LOGIC_NULL": "null",
+       "LOGIC_NULL_TOOLTIP": "Returns null.",
+       "LOGIC_TERNARY_CONDITION": "test",
+       "LOGIC_TERNARY_IF_TRUE": "Jika benar",
+       "LOGIC_TERNARY_IF_FALSE": "Jika palsu",
+       "LOGIC_TERNARY_TOOLTIP": "Check the condition in 'test'. If the condition is true, returns the 'if true' value; otherwise returns the 'if false' value.",
+       "MATH_NUMBER_HELPURL": "https://ms.wikipedia.org/wiki/Nombor",
+       "MATH_NUMBER_TOOLTIP": "Suatu nombor.",
+       "MATH_ADDITION_SYMBOL": "+",
+       "MATH_SUBTRACTION_SYMBOL": "-",
+       "MATH_DIVISION_SYMBOL": "÷",
+       "MATH_MULTIPLICATION_SYMBOL": "×",
+       "MATH_POWER_SYMBOL": "^",
+       "MATH_TRIG_SIN": "sin",
+       "MATH_TRIG_COS": "cos",
+       "MATH_TRIG_TAN": "tan",
+       "MATH_TRIG_ASIN": "asin",
+       "MATH_TRIG_ACOS": "acos",
+       "MATH_TRIG_ATAN": "atan",
+       "MATH_ARITHMETIC_HELPURL": "https://ms.wikipedia.org/wiki/Aritmetik",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "Kembalikan jumlah kedua-dua bilangan.",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "Taip balik hasil tolak dua nombor tersebut.",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "Taip balik hasil darab dua nombor tersebut.",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "Taip balik hasil bahagi dua nombor tersebut.",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "Return the first number raised to the power of the second number.",
+       "MATH_SINGLE_HELPURL": "https://ms.wikipedia.org/wiki/Punca_kuasa_dua",
+       "MATH_SINGLE_OP_ROOT": "Punca kuasa dua",
+       "MATH_SINGLE_TOOLTIP_ROOT": "Kembalikan punca kuasa nombor.",
+       "MATH_SINGLE_OP_ABSOLUTE": "mutlak",
+       "MATH_SINGLE_TOOLTIP_ABS": "Kembalikan nilai mutlak suatu nombor.",
+       "MATH_SINGLE_TOOLTIP_NEG": "Kembalikan nombor yang songsang.",
+       "MATH_SINGLE_TOOLTIP_LN": "Kembali dalam logaritma nombor asli.",
+       "MATH_SINGLE_TOOLTIP_LOG10": "Kembali logarithm 10 asas nombor.",
+       "MATH_SINGLE_TOOLTIP_EXP": "Kembalikan e kepada kuasa nombor.",
+       "MATH_SINGLE_TOOLTIP_POW10": "Kembalikan 10 kepada kuasa nombor.",
+       "MATH_TRIG_HELPURL": "https://ms.wikipedia.org/wiki/Fungsi_trigonometri",
+       "MATH_TRIG_TOOLTIP_SIN": "Kembalikan darjah sine (bukan radian).",
+       "MATH_TRIG_TOOLTIP_COS": "Kembalikan darjah kosinus (bukan radian).",
+       "MATH_TRIG_TOOLTIP_TAN": "Kembalikan darjah tangen (bukan radian).",
+       "MATH_TRIG_TOOLTIP_ASIN": "Kembalikan arcsince beberapa nombor.",
+       "MATH_TRIG_TOOLTIP_ACOS": "Kembali arccosine beberapa nombor.",
+       "MATH_TRIG_TOOLTIP_ATAN": "Kembalikan beberapa nombor arctangent.",
+       "MATH_CONSTANT_HELPURL": "https://ms.wikipedia.org/wiki/Pemalar_matematik",
+       "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).",
+       "MATH_IS_EVEN": "Adalah genap",
+       "MATH_IS_ODD": "aneh",
+       "MATH_IS_PRIME": "is prime",
+       "MATH_IS_WHOLE": "is whole",
+       "MATH_IS_POSITIVE": "adalah positif",
+       "MATH_IS_NEGATIVE": "negatif",
+       "MATH_IS_DIVISIBLE_BY": "Boleh dibahagikan dengan",
+       "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.",
+       "MATH_CHANGE_HELPURL": "https://id.wikipedia.org/wiki/Perjumlahan",
+       "MATH_CHANGE_TITLE": "perubahan %1 oleh %2",
+       "MATH_CHANGE_TOOLTIP": "Tambah nombor kepada pembolehubah '%1'.",
+       "MATH_ROUND_HELPURL": "https://en.wikipedia.org/wiki/Rounding",
+       "MATH_ROUND_TOOLTIP": "Bulat nombor yang naik atau turun.",
+       "MATH_ROUND_OPERATOR_ROUND": "pusingan",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "pusingan ke atas",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "Pusingan ke bawah",
+       "MATH_ONLIST_OPERATOR_SUM": "Jumlah senarai",
+       "MATH_ONLIST_TOOLTIP_SUM": "Kembalikan jumlah semua nombor dalam senarai.",
+       "MATH_ONLIST_OPERATOR_MIN": "min dalam senarai",
+       "MATH_ONLIST_TOOLTIP_MIN": "Kembalikan nombor terkecil dalam senarai.",
+       "MATH_ONLIST_OPERATOR_MAX": "Max senarai",
+       "MATH_ONLIST_TOOLTIP_MAX": "Pulangkan jumlah terbesar dalam senarai.",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "purata daripada senarai",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "Kembalikan purata (min aritmetik) nilai-nilai angka di dalam senarai.",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "Median senarai",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "Kembalikan nombor median dalam senarai.",
+       "MATH_ONLIST_OPERATOR_MODE": "jenis senarai",
+       "MATH_ONLIST_TOOLTIP_MODE": "Kembali senarai item yang paling biasa dalam senarai.",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "sisihan piawai bagi senarai",
+       "MATH_ONLIST_TOOLTIP_STD_DEV": "Kembali dengan sisihan piawai daripada senarai.",
+       "MATH_ONLIST_OPERATOR_RANDOM": "Item rawak daripada senarai",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "Kembalikan elemen rawak daripada senarai.",
+       "MATH_MODULO_HELPURL": "https://id.wikipedia.org/wiki/Operasi_modulus",
+       "MATH_MODULO_TITLE": "remainder of %1 ÷ %2",
+       "MATH_MODULO_TOOLTIP": "Taip balik baki yang didapat daripada pembahagian dua nombor tersebut.",
+       "MATH_CONSTRAIN_TITLE": "constrain %1 low %2 high %3",
+       "MATH_CONSTRAIN_TOOLTIP": "Constrain a number to be between the specified limits (inclusive).",
+       "MATH_RANDOM_INT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_INT_TITLE": "integer rawak dari %1ke %2",
+       "MATH_RANDOM_INT_TOOLTIP": "Kembalikan integer rawak diantara dua had yang ditentukan, inklusif.",
+       "MATH_RANDOM_FLOAT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "pecahan rawak",
+       "MATH_RANDOM_FLOAT_TOOLTIP": "Kembali sebahagian kecil rawak antara 0.0 (inklusif) dan 1.0 (eksklusif).",
+       "TEXT_TEXT_HELPURL": "https://ms.wikipedia.org/wiki/Rentetan",
+       "TEXT_TEXT_TOOLTIP": "Huruf, perkataan, atau baris teks.",
+       "TEXT_JOIN_TITLE_CREATEWITH": "hasilkan teks dengan",
+       "TEXT_JOIN_TOOLTIP": "Hasilkan sebahagian teks dengan menghubungkan apa jua nombor item.",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "Sertai",
+       "TEXT_CREATE_JOIN_TOOLTIP": "Add, remove, or reorder sections to reconfigure this text block.",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "Add an item to the text.",
+       "TEXT_APPEND_TOOLTIP": "Append some text to variable '%1'.",
+       "TEXT_LENGTH_TITLE": "panjang %1",
+       "TEXT_LENGTH_TOOLTIP": "Kembalikan jumlah huruf (termasuk ruang) dalam teks yang disediakan.",
+       "TEXT_ISEMPTY_TITLE": "%1 adalah kosong",
+       "TEXT_ISEMPTY_TOOLTIP": "Kembalikan benar jika teks yang disediakan adalah kosong.",
+       "TEXT_INDEXOF_TOOLTIP": "Kembalikan Indeks kejadian pertama/terakhir dari teks pertama ke dalam teks kedua.  Kembalikan %1 Jika teks tidak ditemui.",
+       "TEXT_INDEXOF_TITLE": "dalam teks %1 %2 %3",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "mencari kejadian pertama teks",
+       "TEXT_INDEXOF_OPERATOR_LAST": "mencari kejadian terakhir teks",
+       "TEXT_CHARAT_FROM_START": "get letter #",
+       "TEXT_CHARAT_FROM_END": "get letter # from end",
+       "TEXT_CHARAT_FIRST": "get first letter",
+       "TEXT_CHARAT_LAST": "Dapatkan abjad terakhir",
+       "TEXT_CHARAT_RANDOM": "Dapatkan abjad rawak",
+       "TEXT_CHARAT_TOOLTIP": "Returns the letter at the specified position.",
+       "TEXT_GET_SUBSTRING_TOOLTIP": "Returns a specified portion of the text.",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "dalam teks",
+       "TEXT_GET_SUBSTRING_START_FROM_START": "get substring from letter #",
+       "TEXT_GET_SUBSTRING_START_FROM_END": "get substring from letter # from end",
+       "TEXT_GET_SUBSTRING_START_FIRST": "get substring from first letter",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "to letter #",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "to letter # from end",
+       "TEXT_GET_SUBSTRING_END_LAST": "untuk huruf terakhir",
+       "TEXT_CHANGECASE_TOOLTIP": "Return a copy of the text in a different case.",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "Kepada HURUF BESAR",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "Kepada huruf kecil",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": "to Title Case",
+       "TEXT_TRIM_TOOLTIP": "Kembali salinan teks dengan ruang yang dikeluarkan daripada satu atau hujung kedua belah.",
+       "TEXT_TRIM_OPERATOR_BOTH": "mengurangkan kawasan dari kedua-dua belah",
+       "TEXT_TRIM_OPERATOR_LEFT": "mengurangkan ruang dari sebelah kiri",
+       "TEXT_TRIM_OPERATOR_RIGHT": "mengurangkan kawasan dari sisi kanan",
+       "TEXT_PRINT_TITLE": "cetak %1",
+       "TEXT_PRINT_TOOLTIP": "Cetak teks yang ditentukan, nombor atau nilai lain.",
+       "TEXT_PROMPT_TYPE_TEXT": "Prom untuk teks dengan mesej",
+       "TEXT_PROMPT_TYPE_NUMBER": "Prom untuk nombor dengan mesej",
+       "TEXT_PROMPT_TOOLTIP_NUMBER": "Peringatan kepada pengguna untuk nombor.",
+       "TEXT_PROMPT_TOOLTIP_TEXT": "Peringatkan pengguna untuk sebahagian teks.",
+       "LISTS_CREATE_EMPTY_TITLE": "Wujudkan senarai kosong",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "Kembalikan senarai panjang 0, yang tidak mengandungi rekod data",
+       "LISTS_CREATE_WITH_HELPURL": "https://github.com/google/blockly/wiki/Lists#create-list-with",
+       "LISTS_CREATE_WITH_TOOLTIP": "Wujudkan senarai dengan apa jua nombor item.",
+       "LISTS_CREATE_WITH_INPUT_WITH": "wujudkan senarai dengan",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "senarai",
+       "LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "Tambah, alih keluar, atau susun semula bahagian-bahagian untuk menyusun semula senarai blok.",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "Tambah item ke dalam senarai.",
+       "LISTS_REPEAT_TOOLTIP": "Wujudkan senarai yang terdiri daripada nilai berulang mengikut nombor yang ditentukan.",
+       "LISTS_REPEAT_TITLE": "wujudkan senarai dengan item %1 diulangi %2 kali",
+       "LISTS_LENGTH_TITLE": "panjang %1",
+       "LISTS_LENGTH_TOOLTIP": "Kembalikan panjang senarai",
+       "LISTS_ISEMPTY_TITLE": "%1 adalah kosong",
+       "LISTS_ISEMPTY_TOOLTIP": "Kembalikan benar jika senarai kosong.",
+       "LISTS_INLIST": "dalam senarai",
+       "LISTS_INDEX_OF_FIRST": "cari pertama item kejadian",
+       "LISTS_INDEX_OF_LAST": "cari kejadian akhir item",
+       "LISTS_INDEX_OF_TOOLTIP": "Menyatakan indeks kejadian pertama/terakhir item berkenaan dalam senarai. Menyatakan %1 jika item berkenaan tidak ditemui.",
+       "LISTS_GET_INDEX_GET": "dapatkan",
+       "LISTS_GET_INDEX_GET_REMOVE": "dapat dan alihkan",
+       "LISTS_GET_INDEX_REMOVE": "alihkan",
+       "LISTS_GET_INDEX_FROM_START": "#",
+       "LISTS_GET_INDEX_FROM_END": "# dari akhir",
+       "LISTS_GET_INDEX_FIRST": "pertama",
+       "LISTS_GET_INDEX_LAST": "terakhir",
+       "LISTS_GET_INDEX_RANDOM": "rawak",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "%1 ialah item pertama.",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "%1 ialah item terakhir.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "Kembalikan item dalam kedudukan yang ditetapkan dalam senarai.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "Kembalikan item pertama dalam senarai.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "Kembalikan item pertama dalam senarai.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "Kembalikan item rawak dalam senarai.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "Alihkan dan kembalikan item mengikut spesifikasi posisi dalam senarai.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "Alihkan dan kembalikan item pertama dalam senarai.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "Alihkan dan kembalikan item terakhir dalam senarai.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "Alihkan dan kembalikan item rawak dalam senarai.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "Alihkan item pada posisi mengikut spesifikasi dalam senarai.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "Alihkan item pertama dalam senarai.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "Alihkan item terakhir dalam senarai.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "Alihkan item rawak dalam senarai.",
+       "LISTS_SET_INDEX_SET": "set",
+       "LISTS_SET_INDEX_INSERT": "masukkan pada",
+       "LISTS_SET_INDEX_INPUT_TO": "sebagai",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "Masukkan item pada posisi yang ditentukan dalam senarai.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "Set item pertama dalam senarai.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_LAST": "Set item terakhir dalam senarai.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "Set item rawak dalam senarai.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "Masukkan item pada posisi yand ditentukan dalam senarai.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "Selit item pada permulaan senarai.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "Tambahkan item dalam senarai akhir.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "Selit item secara rawak di dalam senarai.",
+       "LISTS_GET_SUBLIST_START_FROM_START": "dapatkan sub-senarai daripada #",
+       "LISTS_GET_SUBLIST_START_FROM_END": "dapatkan sub-senarai daripada # daripada terakhir",
+       "LISTS_GET_SUBLIST_START_FIRST": "dapatkan sub-senarai daripada pertama",
+       "LISTS_GET_SUBLIST_END_FROM_START": "ke #",
+       "LISTS_GET_SUBLIST_END_FROM_END": "ke  # dari akhir",
+       "LISTS_GET_SUBLIST_END_LAST": "ke akhir",
+       "LISTS_GET_SUBLIST_TOOLTIP": "Wujudkan salinan bahagian yang ditentukan dari senarai.",
+       "LISTS_SPLIT_HELPURL": "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists",
+       "LISTS_SPLIT_LIST_FROM_TEXT": "buat senarai dgn teks",
+       "LISTS_SPLIT_TEXT_FROM_LIST": "buat teks drpd senarai",
+       "LISTS_SPLIT_WITH_DELIMITER": "dengan delimiter",
+       "LISTS_SPLIT_TOOLTIP_SPLIT": "Pecahkan teks kepada senarai teks, berpecah di setiap delimiter.",
+       "LISTS_SPLIT_TOOLTIP_JOIN": "Cantumkan senarai teks menjadi satu teks, dipecahkan oleh delimiter.",
+       "VARIABLES_GET_TOOLTIP": "Kembalikan nilai pemboleh ubah ini.",
+       "VARIABLES_GET_CREATE_SET": "Hasilkan 'set %1'",
+       "VARIABLES_SET": "set %1 ke %2",
+       "VARIABLES_SET_TOOLTIP": "Set pembolehubah ini supaya sama dengan input.",
+       "VARIABLES_SET_CREATE_GET": "Hasilkan 'set %1'",
+       "PROCEDURES_DEFNORETURN_TITLE": "Untuk",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "Buat sesuatu",
+       "PROCEDURES_BEFORE_PARAMS": "dengan:",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "dengan:",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "Menghasilkan suatu fungsi tanpa output.",
+       "PROCEDURES_DEFNORETURN_COMMENT": "Terangkan fungsi ini...",
+       "PROCEDURES_DEFRETURN_RETURN": "kembali",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "Mencipta satu fungsi dengan pengeluaran.",
+       "PROCEDURES_ALLOW_STATEMENTS": "bolehkan kenyataan",
+       "PROCEDURES_DEF_DUPLICATE_WARNING": "Amaran: Fungsi ini mempunyai parameter yang berganda.",
+       "PROCEDURES_CALLNORETURN_HELPURL": "https://ms.wikipedia.org/wiki/Fungsi",
+       "PROCEDURES_CALLNORETURN_TOOLTIP": "Run the user-defined function '%1'.",
+       "PROCEDURES_CALLRETURN_HELPURL": "https://ms.wikipedia.org/wiki/Fungsi",
+       "PROCEDURES_CALLRETURN_TOOLTIP": "Run the user-defined function '%1' and use its output.",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "Input-input",
+       "PROCEDURES_MUTATORCONTAINER_TOOLTIP": "Tambah, alih keluar atau susun semula input pada fungsi ini.",
+       "PROCEDURES_MUTATORARG_TITLE": "Nama input:",
+       "PROCEDURES_MUTATORARG_TOOLTIP": "Tambah satu input pada fungsi.",
+       "PROCEDURES_HIGHLIGHT_DEF": "Serlahkan definisi fungsi",
+       "PROCEDURES_CREATE_DO": "Hasilkan '%1'",
+       "PROCEDURES_IFRETURN_TOOLTIP": "If a value is true, then return a second value.",
+       "PROCEDURES_IFRETURN_HELPURL": "http://c2.com/cgi/wiki?GuardClause",
+       "PROCEDURES_IFRETURN_WARNING": "Amaran: Blok ini hanya boleh digunakan dalam fungsi definisi."
+}
diff --git a/js/msg/json/nb.json b/js/msg/json/nb.json
new file mode 100644 (file)
index 0000000..3c02299
--- /dev/null
@@ -0,0 +1,371 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Cocu",
+                       "Kingu",
+                       "ì•„ë¼",
+                       "SuperPotato",
+                       "Jon Harald Søby"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "element",
+       "TODAY": "I dag",
+       "DUPLICATE_BLOCK": "duplikat",
+       "ADD_COMMENT": "Legg til kommentar",
+       "REMOVE_COMMENT": "Fjern kommentar",
+       "DUPLICATE_COMMENT": "Dupliser kommentar",
+       "EXTERNAL_INPUTS": "Eksterne kilder",
+       "INLINE_INPUTS": "Interne kilder",
+       "DELETE_BLOCK": "Slett blokk",
+       "DELETE_X_BLOCKS": "Slett %1 blokker",
+       "DELETE_ALL_BLOCKS": "Slett alle %1 blokker?",
+       "CLEAN_UP": "Rydd opp Blocks",
+       "COLLAPSE_BLOCK": "Skjul blokk",
+       "COLLAPSE_ALL": "Skjul blokker",
+       "EXPAND_BLOCK": "Utvid blokk",
+       "EXPAND_ALL": "Utvid blokker",
+       "DISABLE_BLOCK": "Deaktiver blokk",
+       "ENABLE_BLOCK": "Aktiver blokk",
+       "HELP": "Hjelp",
+       "UNDO": "Angre",
+       "REDO": "Gjør om",
+       "CHANGE_VALUE_TITLE": "Bytt verdi:",
+       "RENAME_VARIABLE": "Gi nytt navn til variabel…",
+       "RENAME_VARIABLE_TITLE": "Endre navnet til alle '%1' variabler til:",
+       "NEW_VARIABLE": "Opprett variabel…",
+       "NEW_STRING_VARIABLE": "Oppretter strengvariabel â€¦",
+       "NEW_NUMBER_VARIABLE": "Oppretter tallvariabel â€¦",
+       "NEW_COLOUR_VARIABLE": "Oppretter fargevariabel â€¦",
+       "NEW_VARIABLE_TYPE_TITLE": "Ny variabeltype:",
+       "NEW_VARIABLE_TITLE": "Nytt variabelnavn:",
+       "VARIABLE_ALREADY_EXISTS": "En variabel med navn «%1» finnes allerede.",
+       "VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE": "En variabel med navn «%1» finnes allerede for en annen type: «%2».",
+       "DELETE_VARIABLE_CONFIRMATION": "Slett %1 bruk av variabelen «%2»?",
+       "CANNOT_DELETE_VARIABLE_PROCEDURE": "Kan ikke slette variabelen «%1» fordi den er del av definisjonen for funksjonen «%2»",
+       "DELETE_VARIABLE": "Slett variabelen «%1»",
+       "COLOUR_PICKER_HELPURL": "https://en.wikipedia.org/wiki/Color",
+       "COLOUR_PICKER_TOOLTIP": "Velg en farge fra paletten.",
+       "COLOUR_RANDOM_TITLE": "tilfeldig farge",
+       "COLOUR_RANDOM_TOOLTIP": "Velg en tilfeldig farge.",
+       "COLOUR_RGB_HELPURL": "http://www.december.com/html/spec/colorper.html",
+       "COLOUR_RGB_TITLE": "farge med",
+       "COLOUR_RGB_RED": "rød",
+       "COLOUR_RGB_GREEN": "grønn",
+       "COLOUR_RGB_BLUE": "blå",
+       "COLOUR_RGB_TOOLTIP": "Lag en farge med angitt verdi av rød, grønn og blå. Alle verdier må være mellom 0 og 100.",
+       "COLOUR_BLEND_HELPURL": "http://meyerweb.com/eric/tools/color-blend/",
+       "COLOUR_BLEND_TITLE": "blande",
+       "COLOUR_BLEND_COLOUR1": "farge 1",
+       "COLOUR_BLEND_COLOUR2": "farge 2",
+       "COLOUR_BLEND_RATIO": "forhold",
+       "COLOUR_BLEND_TOOLTIP": "Blander to farger sammen med et gitt forhold (0.0 - 1.0).",
+       "CONTROLS_REPEAT_HELPURL": "https://en.wikipedia.org/wiki/For_loop",
+       "CONTROLS_REPEAT_TITLE": "gjenta %1 ganger",
+       "CONTROLS_REPEAT_INPUT_DO": "gjør",
+       "CONTROLS_REPEAT_TOOLTIP": "Gjenta noen instruksjoner flere ganger.",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "gjenta mens",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "gjenta til",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "Så lenge et utsagn stemmer, utfør noen instruksjoner.",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "Så lenge et utsagn ikke stemmer, gjør noen instruksjoner.",
+       "CONTROLS_FOR_TOOLTIP": "Ha variabel \"%1\" ta verdiene fra start nummer til slutt nummer, telle med spesifisert intervall og lag de spesifiserte blokkene.",
+       "CONTROLS_FOR_TITLE": "tell med %1 fra %2 til %3 med %4",
+       "CONTROLS_FOREACH_TITLE": "for hvert element %1 i listen %2",
+       "CONTROLS_FOREACH_TOOLTIP": "For hvert element i en liste, angi variabelen '%1' til elementet, og deretter lag noen setninger.",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "bryt ut av løkken",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "fortsett med neste gjentakelse av løkken",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "Bryt ut av den gjeldende løkken.",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "Hopp over resten av denne løkken og fortsett med neste gjentakelse.",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "Advarsel: Denne blokken kan kun brukes innenfor en løkke.",
+       "CONTROLS_IF_TOOLTIP_1": "Hvis dette er sant, så gjør følgende.",
+       "CONTROLS_IF_TOOLTIP_2": "Hvis dette er sant, så utfør den første blokken av instruksjoner. Hvis ikke, utfør den andre blokken.",
+       "CONTROLS_IF_TOOLTIP_3": "Hvis det første stemmer, så utfør den første blokken av instruksjoner. Ellers, hvis det andre stemmer, utfør den andre blokken av instruksjoner.",
+       "CONTROLS_IF_TOOLTIP_4": "Hvis den første verdien er sann, så utfør den første blokken med setninger. Ellers, hvis den andre verdien er sann, så utfør den andre blokken med setninger. Hvis ingen av verdiene er sanne, så utfør den siste blokken med setninger.",
+       "CONTROLS_IF_MSG_IF": "hvis",
+       "CONTROLS_IF_MSG_ELSEIF": "ellers hvis",
+       "CONTROLS_IF_MSG_ELSE": "ellers",
+       "CONTROLS_IF_IF_TOOLTIP": "Legg til, fjern eller flytt seksjoner i denne hvis-blokken.",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "Legg til en betingelse til hvis blokken.",
+       "CONTROLS_IF_ELSE_TOOLTIP": "Legg til hva som skal skje hvis de andre ikke slår til.",
+       "IOS_OK": "OK",
+       "IOS_CANCEL": "Avbryt",
+       "IOS_ERROR": "Feil",
+       "IOS_PROCEDURES_INPUTS": "PARAMETERE",
+       "IOS_PROCEDURES_ADD_INPUT": "+ Legg til parameter",
+       "IOS_PROCEDURES_ALLOW_STATEMENTS": "Tillat kommandoer",
+       "IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR": "Denne funksjonen har duplikatparametere.",
+       "IOS_VARIABLES_ADD_VARIABLE": "+ Legg til variabel",
+       "IOS_VARIABLES_ADD_BUTTON": "Legg til",
+       "IOS_VARIABLES_RENAME_BUTTON": "Endre navn",
+       "IOS_VARIABLES_DELETE_BUTTON": "Slett",
+       "IOS_VARIABLES_VARIABLE_NAME": "Variabelnavn",
+       "IOS_VARIABLES_EMPTY_NAME_ERROR": "Du kan ikke bruke et tomt variabelnavn.",
+       "LOGIC_COMPARE_HELPURL": "https://en.wikipedia.org/wiki/Inequality_(mathematics)",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "Returnerer sann hvis begge inputene er like hverandre.",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "Returnerer sant hvis begge argumentene er ulike hverandre.",
+       "LOGIC_COMPARE_TOOLTIP_LT": "Returnerer sant hvis det første argumentet er mindre enn det andre argumentet.",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "Returnerer sant hvis det første argumentet er mindre enn eller likt det andre argumentet.",
+       "LOGIC_COMPARE_TOOLTIP_GT": "Returnerer sant hvis det første argumentet er større enn den andre argumentet.",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "Returnerer sant hvis det første argumentet er større enn eller likt det andre argumentet.",
+       "LOGIC_OPERATION_TOOLTIP_AND": "Returnerer sant hvis begge argumentene er sanne.",
+       "LOGIC_OPERATION_AND": "og",
+       "LOGIC_OPERATION_TOOLTIP_OR": "Returnerer sant hvis minst ett av argumentene er sant.",
+       "LOGIC_OPERATION_OR": "eller",
+       "LOGIC_NEGATE_TITLE": "ikke %1",
+       "LOGIC_NEGATE_TOOLTIP": "Returnerer sant hvis argumentet er usant. Returnerer usant hvis argumentet er sant.",
+       "LOGIC_BOOLEAN_TRUE": "sann",
+       "LOGIC_BOOLEAN_FALSE": "usann",
+       "LOGIC_BOOLEAN_TOOLTIP": "Returnerer enten sann eller usann.",
+       "LOGIC_NULL_HELPURL": "https://en.wikipedia.org/wiki/Nullable_type",
+       "LOGIC_NULL": "null",
+       "LOGIC_NULL_TOOLTIP": "Returnerer null.",
+       "LOGIC_TERNARY_HELPURL": "https://en.wikipedia.org/wiki/%3F:",
+       "LOGIC_TERNARY_CONDITION": "test",
+       "LOGIC_TERNARY_IF_TRUE": "hvis sant",
+       "LOGIC_TERNARY_IF_FALSE": "hvis usant",
+       "LOGIC_TERNARY_TOOLTIP": "Sjekk betingelsen i 'test'. Hvis betingelsen er sann, da returneres 'hvis sant' verdien. Hvis ikke returneres 'hvis usant' verdien.",
+       "MATH_NUMBER_HELPURL": "https://en.wikipedia.org/wiki/Number",
+       "MATH_NUMBER_TOOLTIP": "Et tall.",
+       "MATH_ADDITION_SYMBOL": "+",
+       "MATH_SUBTRACTION_SYMBOL": "-",
+       "MATH_DIVISION_SYMBOL": "÷",
+       "MATH_MULTIPLICATION_SYMBOL": "x",
+       "MATH_POWER_SYMBOL": "^",
+       "MATH_TRIG_SIN": "sin",
+       "MATH_TRIG_COS": "cos",
+       "MATH_TRIG_TAN": "tan",
+       "MATH_TRIG_ASIN": "asin",
+       "MATH_TRIG_ACOS": "acos",
+       "MATH_TRIG_ATAN": "atan",
+       "MATH_ARITHMETIC_HELPURL": "https://no.wikipedia.org/wiki/Aritmetikk",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "Returnerer summen av to tall.",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "Returner differansen mellom to tall.",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "Returner produktet av to tall.",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "Returner kvotienten av to tall.",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "Returner det første tallet opphøyd i den andre tallet.",
+       "MATH_SINGLE_HELPURL": "https://en.wikipedia.org/wiki/Square_root",
+       "MATH_SINGLE_OP_ROOT": "kvadratrot",
+       "MATH_SINGLE_TOOLTIP_ROOT": "Returner kvadratroten av et tall.",
+       "MATH_SINGLE_OP_ABSOLUTE": "absoluttverdi",
+       "MATH_SINGLE_TOOLTIP_ABS": "Returner absoluttverdien av et tall.",
+       "MATH_SINGLE_TOOLTIP_NEG": "Returner det negative tallet.",
+       "MATH_SINGLE_TOOLTIP_LN": "Returner den naturlige logaritmen til et tall.",
+       "MATH_SINGLE_TOOLTIP_LOG10": "Returner base-10 logaritmen til et tall.",
+       "MATH_SINGLE_TOOLTIP_EXP": "Returner e opphøyd i et tall.",
+       "MATH_SINGLE_TOOLTIP_POW10": "Returner 10 opphøyd i et tall.",
+       "MATH_TRIG_HELPURL": "https://en.wikipedia.org/wiki/Trigonometric_functions",
+       "MATH_TRIG_TOOLTIP_SIN": "Returner sinus av en vinkel (ikke radian).",
+       "MATH_TRIG_TOOLTIP_COS": "Returner cosinus av en vinkel (ikke radian).",
+       "MATH_TRIG_TOOLTIP_TAN": "Returner tangenten av en vinkel (ikke radian).",
+       "MATH_TRIG_TOOLTIP_ASIN": "Returner arcsinus til et tall.",
+       "MATH_TRIG_TOOLTIP_ACOS": "Returner arccosinus til et tall.",
+       "MATH_TRIG_TOOLTIP_ATAN": "Returner arctangens til et tall.",
+       "MATH_CONSTANT_HELPURL": "https://en.wikipedia.org/wiki/Mathematical_constant",
+       "MATH_CONSTANT_TOOLTIP": "Returner en av felleskonstantene Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), eller âˆž (uendelig).",
+       "MATH_IS_EVEN": "er et partall",
+       "MATH_IS_ODD": "er et oddetall",
+       "MATH_IS_PRIME": "er et primtall",
+       "MATH_IS_WHOLE": "er et heltall",
+       "MATH_IS_POSITIVE": "er positivt",
+       "MATH_IS_NEGATIVE": "er negativer negativt",
+       "MATH_IS_DIVISIBLE_BY": "er delelig med",
+       "MATH_IS_TOOLTIP": "Sjekk om et tall er et partall, oddetall, primtall, heltall, positivt, negativt, eller om det er delelig med et annet tall. Returnerer sant eller usant.",
+       "MATH_CHANGE_HELPURL": "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter",
+       "MATH_CHANGE_TITLE": "endre %1 ved %2",
+       "MATH_CHANGE_TOOLTIP": "Addere et tall til variabelen '%1'.",
+       "MATH_ROUND_HELPURL": "https://en.wikipedia.org/wiki/Rounding",
+       "MATH_ROUND_TOOLTIP": "Avrund et tall ned eller opp.",
+       "MATH_ROUND_OPERATOR_ROUND": "avrunding",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "rund opp",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "rund ned",
+       "MATH_ONLIST_OPERATOR_SUM": "summen av listen",
+       "MATH_ONLIST_TOOLTIP_SUM": "Returner summen av alle tallene i listen.",
+       "MATH_ONLIST_OPERATOR_MIN": "minimum av listen",
+       "MATH_ONLIST_TOOLTIP_MIN": "Returner det minste tallet i listen.",
+       "MATH_ONLIST_OPERATOR_MAX": "maksimum av liste",
+       "MATH_ONLIST_TOOLTIP_MAX": "Returner det største tallet i listen.",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "gjennomsnittet av listen",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "Returner det aritmetiske gjennomsnittet av tallene i listen.",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "medianen til listen",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "Returner listens median.",
+       "MATH_ONLIST_OPERATOR_MODE": "Listens typetall",
+       "MATH_ONLIST_TOOLTIP_MODE": "Returner en liste av de vanligste elementene i listen.",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "standardavviket til listen",
+       "MATH_ONLIST_TOOLTIP_STD_DEV": "Returner listens standardavvik.",
+       "MATH_ONLIST_OPERATOR_RANDOM": "tilfeldig element i listen",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "Returner et tilfeldig element fra listen.",
+       "MATH_MODULO_HELPURL": "https://en.wikipedia.org/wiki/Modulo_operation",
+       "MATH_MODULO_TITLE": "resten av %1 ÷ %2",
+       "MATH_MODULO_TOOLTIP": "Returner resten fra delingen av to tall.",
+       "MATH_CONSTRAIN_TITLE": "begrense %1 lav %2 høy %3",
+       "MATH_CONSTRAIN_TOOLTIP": "Begrens et tall til å være mellom de angitte grenseverdiene (inklusiv).",
+       "MATH_RANDOM_INT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_INT_TITLE": "Et tilfeldig heltall mellom %1 og %2",
+       "MATH_RANDOM_INT_TOOLTIP": "Returner et tilfeldig tall mellom de to spesifiserte grensene, inkludert de to.",
+       "MATH_RANDOM_FLOAT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "tilfeldig flyttall",
+       "MATH_RANDOM_FLOAT_TOOLTIP": "Returner et tilfeldig flyttall mellom 0.0 (inkludert) og 1.0 (ikke inkludert).",
+       "TEXT_TEXT_HELPURL": "https://en.wikipedia.org/wiki/String_(computer_science)",
+       "TEXT_TEXT_TOOLTIP": "En bokstav, ett ord eller en linje med tekst.",
+       "TEXT_JOIN_TITLE_CREATEWITH": "lag tekst med",
+       "TEXT_JOIN_TOOLTIP": "Opprett en tekst ved å sette sammen et antall elementer.",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "føy sammen",
+       "TEXT_CREATE_JOIN_TOOLTIP": "Legg til, fjern eller forandre rekkefølgen for å forandre på denne tekstblokken.",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "Legg til et element til teksten.",
+       "TEXT_APPEND_TITLE": "til %1, legg til teksten %2",
+       "TEXT_APPEND_TOOLTIP": "Tilføy tekst til variabelen '%1'.",
+       "TEXT_LENGTH_TITLE": "lengden av %1",
+       "TEXT_LENGTH_TOOLTIP": "Returnerer antall bokstaver (inkludert mellomrom) i den angitte teksten.",
+       "TEXT_ISEMPTY_TITLE": "%1 er tom",
+       "TEXT_ISEMPTY_TOOLTIP": "Returnerer sann hvis den angitte teksten er tom.",
+       "TEXT_INDEXOF_TOOLTIP": "Returnerer posisjonen for første/siste forekomsten av den første tekst i den andre teksten.  Returnerer %1 hvis teksten ikke blir funnet.",
+       "TEXT_INDEXOF_TITLE": "i teksten %1, %2 %3",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "finn første forekomst av tekst",
+       "TEXT_INDEXOF_OPERATOR_LAST": "finn siste forekomst av tekst",
+       "TEXT_CHARAT_TITLE": "i teksten %1, %2",
+       "TEXT_CHARAT_FROM_START": "hent bokstav #",
+       "TEXT_CHARAT_FROM_END": "hent bokstav # fra slutten",
+       "TEXT_CHARAT_FIRST": "hent første bokstav",
+       "TEXT_CHARAT_LAST": "hent den siste bokstaven",
+       "TEXT_CHARAT_RANDOM": "hent en tilfeldig bokstav",
+       "TEXT_CHARAT_TAIL": "",
+       "TEXT_CHARAT_TOOLTIP": "Returnerer bokstaven på angitt plassering.",
+       "TEXT_GET_SUBSTRING_TOOLTIP": "Returnerer den angitte delen av teksten.",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "i tekst",
+       "TEXT_GET_SUBSTRING_START_FROM_START": "hent delstreng fra bokstav #",
+       "TEXT_GET_SUBSTRING_START_FROM_END": "hent delstreng fra bokstav # fra slutten",
+       "TEXT_GET_SUBSTRING_START_FIRST": "hent delstreng fra første bokstav",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "til bokstav #",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "til bokstav # fra slutten",
+       "TEXT_GET_SUBSTRING_END_LAST": "til siste bokstav",
+       "TEXT_GET_SUBSTRING_TAIL": "",
+       "TEXT_CHANGECASE_TOOLTIP": "Returnerer en kopi av teksten der store og små bokstaver er byttet om.",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "til STORE BOKSTAVER",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "til små bokstaver",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": "til store forbokstaver",
+       "TEXT_TRIM_TOOLTIP": "Returner en kopi av teksten med mellomrom fjernet fra en eller begge sidene.",
+       "TEXT_TRIM_OPERATOR_BOTH": "fjern mellomrom fra begge sider av",
+       "TEXT_TRIM_OPERATOR_LEFT": "fjern mellomrom fra venstre side av",
+       "TEXT_TRIM_OPERATOR_RIGHT": "fjern mellomrom fra høyre side av",
+       "TEXT_PRINT_TITLE": "skriv ut %1",
+       "TEXT_PRINT_TOOLTIP": "Skriv ut angitt tekst, tall eller annet innhold.",
+       "TEXT_PROMPT_TYPE_TEXT": "spør om tekst med en melding",
+       "TEXT_PROMPT_TYPE_NUMBER": "spør om et tall med en melding",
+       "TEXT_PROMPT_TOOLTIP_NUMBER": "Be brukeren om et tall.",
+       "TEXT_PROMPT_TOOLTIP_TEXT": "Spør brukeren om tekst.",
+       "TEXT_COUNT_MESSAGE0": "tell %1 i %2",
+       "TEXT_COUNT_HELPURL": "https://github.com/google/blockly/wiki/Text#counting-substrings",
+       "TEXT_COUNT_TOOLTIP": "Tell hvor mange ganger noe tekst dukker opp i annen tekst.",
+       "TEXT_REPLACE_MESSAGE0": "erstatt %1 med %2 i %3",
+       "TEXT_REPLACE_HELPURL": "https://github.com/google/blockly/wiki/Text#replacing-substrings",
+       "TEXT_REPLACE_TOOLTIP": "Erstatter alle forekomster av noe tekst i en annen tekst.",
+       "TEXT_REVERSE_MESSAGE0": "reverser %1",
+       "TEXT_REVERSE_HELPURL": "https://github.com/google/blockly/wiki/Text#reversing-text",
+       "TEXT_REVERSE_TOOLTIP": "Reverserer rekkefølgen på tegnene i teksten.",
+       "LISTS_CREATE_EMPTY_HELPURL": "https://github.com/google/blockly/wiki/Lists#create-empty-list",
+       "LISTS_CREATE_EMPTY_TITLE": "opprett en tom liste",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "Returnerer en tom liste, altså med lengde 0",
+       "LISTS_CREATE_WITH_TOOLTIP": "Lag en liste med et vilkårlig antall elementer.",
+       "LISTS_CREATE_WITH_INPUT_WITH": "lag en liste med",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "liste",
+       "LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "Legg til, fjern eller endre rekkefølgen for å endre på denne delen av listen.",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "Tilføy et element til listen.",
+       "LISTS_REPEAT_TOOLTIP": "Lager en liste hvor den gitte verdien gjentas et antall ganger.",
+       "LISTS_REPEAT_TITLE": "Lag en liste hvor elementet %1 forekommer %2 ganger",
+       "LISTS_LENGTH_TITLE": "lengden på %1",
+       "LISTS_LENGTH_TOOLTIP": "Returnerer lengden til en liste.",
+       "LISTS_ISEMPTY_TITLE": "%1 er tom",
+       "LISTS_ISEMPTY_TOOLTIP": "Returnerer sann hvis listen er tom.",
+       "LISTS_INLIST": "i listen",
+       "LISTS_INDEX_OF_FIRST": "finn første forekomst av elementet",
+       "LISTS_INDEX_OF_LAST": "finn siste forekomst av elementet",
+       "LISTS_INDEX_OF_TOOLTIP": "Returnerer indeksen av den første/siste forekomsten av elementet i lista. Returnerer %1 hvis ikke funnet.",
+       "LISTS_GET_INDEX_GET": "hent",
+       "LISTS_GET_INDEX_GET_REMOVE": "hent og fjern",
+       "LISTS_GET_INDEX_REMOVE": "fjern",
+       "LISTS_GET_INDEX_FROM_START": "#",
+       "LISTS_GET_INDEX_FROM_END": "# fra slutten",
+       "LISTS_GET_INDEX_FIRST": "først",
+       "LISTS_GET_INDEX_LAST": "siste",
+       "LISTS_GET_INDEX_RANDOM": "tilfeldig",
+       "LISTS_GET_INDEX_TAIL": "",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "%1 er det første elementet.",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "%1 er det siste elementet.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "Returner elementet på den angitte posisjonen i en liste.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "Returnerer det første elementet i en liste.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "Returnerer det siste elementet i en liste.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "Returnerer et tilfeldig element i en liste.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "Fjerner og returnerer elementet ved en gitt posisjon i en liste.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "Fjerner og returnerer det første elementet i en liste.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "Fjerner og returnerer det siste elementet i en liste.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "Fjerner og returnerer et tilfeldig element i en liste.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "Fjerner et element ved en gitt posisjon i en liste.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "Fjerner det første elementet i en liste.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "Fjerner det siste elementet i en liste.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "Fjerner et tilfeldig element i en liste.",
+       "LISTS_SET_INDEX_SET": "sett",
+       "LISTS_SET_INDEX_INSERT": "sett inn ved",
+       "LISTS_SET_INDEX_INPUT_TO": "som",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "Setter inn elementet ved den angitte posisjonen i en liste.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "Angir det første elementet i en liste.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_LAST": "Angir det siste elementet i en liste.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "Angir et tilfeldig element i en liste.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "Setter inn elementet ved den angitte posisjonen i en liste.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "Setter inn elementet i starten av en liste.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "Tilføy elementet til slutten av en liste.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "Setter inn elementet ved en tilfeldig posisjon i en liste.",
+       "LISTS_GET_SUBLIST_START_FROM_START": "Hent del-listen fra #",
+       "LISTS_GET_SUBLIST_START_FROM_END": "Hent de siste # elementene",
+       "LISTS_GET_SUBLIST_START_FIRST": "Hent en del av listen",
+       "LISTS_GET_SUBLIST_END_FROM_START": "til #",
+       "LISTS_GET_SUBLIST_END_FROM_END": "til # fra slutten",
+       "LISTS_GET_SUBLIST_END_LAST": "til siste",
+       "LISTS_GET_SUBLIST_TAIL": "",
+       "LISTS_GET_SUBLIST_TOOLTIP": "Kopiérer en ønsket del av en liste.",
+       "LISTS_SORT_HELPURL": "https://github.com/google/blockly/wiki/Lists#sorting-a-list",
+       "LISTS_SORT_TITLE": "sorter %1 %2 %3",
+       "LISTS_SORT_TOOLTIP": "Sorter en kopi av en liste.",
+       "LISTS_SORT_ORDER_ASCENDING": "stigende",
+       "LISTS_SORT_ORDER_DESCENDING": "synkende",
+       "LISTS_SORT_TYPE_NUMERIC": "numerisk",
+       "LISTS_SORT_TYPE_TEXT": "alfabetisk",
+       "LISTS_SORT_TYPE_IGNORECASE": "alfabetisk, ignorert store/små bokstaver",
+       "LISTS_SPLIT_LIST_FROM_TEXT": "lag liste av tekst",
+       "LISTS_SPLIT_TEXT_FROM_LIST": "lag tekst av liste",
+       "LISTS_SPLIT_WITH_DELIMITER": "med avgrenser",
+       "LISTS_SPLIT_TOOLTIP_SPLIT": "Splitt teksten til en liste med tekster, brutt ved hver avgrenser.",
+       "LISTS_SPLIT_TOOLTIP_JOIN": "Føy sammen en liste tekster til én tekst, avskilt av en avgrenser.",
+       "LISTS_REVERSE_HELPURL": "https://github.com/google/blockly/wiki/Lists#reversing-a-list",
+       "LISTS_REVERSE_MESSAGE0": "reverser %1",
+       "LISTS_REVERSE_TOOLTIP": "Reverser en kopi av ei liste.",
+       "VARIABLES_GET_TOOLTIP": "Returnerer verdien av denne variabelen.",
+       "VARIABLES_GET_CREATE_SET": "Opprett 'sett %1'",
+       "VARIABLES_SET": "sett %1 til %2",
+       "VARIABLES_SET_TOOLTIP": "Setter verdien av denne variablen lik parameteren.",
+       "VARIABLES_SET_CREATE_GET": "Opprett 'hent %1'",
+       "PROCEDURES_DEFNORETURN_HELPURL": "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29",
+       "PROCEDURES_DEFNORETURN_TITLE": "til",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "gjør noe",
+       "PROCEDURES_BEFORE_PARAMS": "med:",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "med:",
+       "PROCEDURES_DEFNORETURN_DO": "",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "Opprett en funksjon som ikke har noe resultat.",
+       "PROCEDURES_DEFNORETURN_COMMENT": "Beskriv denne funksjonen…",
+       "PROCEDURES_DEFRETURN_HELPURL": "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29",
+       "PROCEDURES_DEFRETURN_RETURN": "returner",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "Oppretter en funksjon som har et resultat.",
+       "PROCEDURES_ALLOW_STATEMENTS": "tillat uttalelser",
+       "PROCEDURES_DEF_DUPLICATE_WARNING": "Advarsel: Denne funksjonen har duplikate parametere.",
+       "PROCEDURES_CALLNORETURN_HELPURL": "https://en.wikipedia.org/wiki/Subroutine",
+       "PROCEDURES_CALLNORETURN_TOOLTIP": "Kjør den brukerdefinerte funksjonen '%1'.",
+       "PROCEDURES_CALLRETURN_HELPURL": "https://en.wikipedia.org/wiki/Subroutine",
+       "PROCEDURES_CALLRETURN_TOOLTIP": "Kjør den brukerdefinerte funksjonen'%1' og bruk resultatet av den.",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "parametere",
+       "PROCEDURES_MUTATORCONTAINER_TOOLTIP": "Legg til, fjern eller endre rekkefølgen på input til denne funksjonen.",
+       "PROCEDURES_MUTATORARG_TITLE": "Navn på parameter:",
+       "PROCEDURES_MUTATORARG_TOOLTIP": "Legg til en input til funksjonen.",
+       "PROCEDURES_HIGHLIGHT_DEF": "Marker funksjonsdefinisjonen",
+       "PROCEDURES_CREATE_DO": "Opprett '%1'",
+       "PROCEDURES_IFRETURN_TOOLTIP": "Hvis en verdi er sann, returner da en annen verdi.",
+       "PROCEDURES_IFRETURN_WARNING": "Advarsel: Denne blokken kan bare benyttes innenfor en funksjonsdefinisjon.",
+       "WORKSPACE_COMMENT_DEFAULT_TEXT": "Si noe â€¦"
+}
diff --git a/js/msg/json/nl.json b/js/msg/json/nl.json
new file mode 100644 (file)
index 0000000..a172a87
--- /dev/null
@@ -0,0 +1,396 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Siebrand",
+                       "McDutchie",
+                       "Ribert",
+                       "MedShot",
+                       "ì•„ë¼",
+                       "JaapDeKleine",
+                       "Sjoerddebruin",
+                       "Lemondoge",
+                       "Jeleniccz",
+                       "Festina90",
+                       "Optilete",
+                       "Patio",
+                       "KlaasZ4usV"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "item",
+       "TODAY": "Vandaag",
+       "DUPLICATE_BLOCK": "Duplicaat",
+       "ADD_COMMENT": "Opmerking toevoegen",
+       "REMOVE_COMMENT": "Opmerking verwijderen",
+       "DUPLICATE_COMMENT": "Opmerking dupliceren",
+       "EXTERNAL_INPUTS": "Externe invoer",
+       "INLINE_INPUTS": "Inline invoer",
+       "DELETE_BLOCK": "Blok verwijderen",
+       "DELETE_X_BLOCKS": "%1 blokken verwijderen",
+       "DELETE_ALL_BLOCKS": "Alle %1 blokken verwijderen?",
+       "CLEAN_UP": "Blokken opschonen",
+       "COLLAPSE_BLOCK": "Blok samenvouwen",
+       "COLLAPSE_ALL": "Blokken samenvouwen",
+       "EXPAND_BLOCK": "Blok uitvouwen",
+       "EXPAND_ALL": "Blokken uitvouwen",
+       "DISABLE_BLOCK": "Blok uitschakelen",
+       "ENABLE_BLOCK": "Blok inschakelen",
+       "HELP": "Hulp",
+       "UNDO": "Ongedaan maken",
+       "REDO": "Opnieuw",
+       "CHANGE_VALUE_TITLE": "Waarde wijzigen:",
+       "RENAME_VARIABLE": "Variabele hernoemen...",
+       "RENAME_VARIABLE_TITLE": "Alle variabelen \"%1\" hernoemen naar:",
+       "NEW_VARIABLE": "Variabele maken...",
+       "NEW_STRING_VARIABLE": "Creëer tekstvariabele",
+       "NEW_NUMBER_VARIABLE": "Creëer numeriek variabele",
+       "NEW_COLOUR_VARIABLE": "Creëer kleurvariabele",
+       "NEW_VARIABLE_TYPE_TITLE": "Nieuw soort variabele",
+       "NEW_VARIABLE_TITLE": "Nieuwe variabelenaam:",
+       "VARIABLE_ALREADY_EXISTS": "Er bestaat al een variabele met de naam \"%1\".",
+       "VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE": "Een variabele met de naam '%1' bestaat al voor een ander soort variabele: '%2'.",
+       "DELETE_VARIABLE_CONFIRMATION": "%1 gebruiken van de variabele \"%2\" verwijderen?",
+       "CANNOT_DELETE_VARIABLE_PROCEDURE": "De variabele \"%1\" kan niet verwijderd worden omdat die onderdeel uitmaakt van de definitie van de functie \"%2\"",
+       "DELETE_VARIABLE": "Verwijder de variabele \"%1\"",
+       "COLOUR_PICKER_HELPURL": "https://nl.wikipedia.org/wiki/Kleur",
+       "COLOUR_PICKER_TOOLTIP": "Kies een kleur in het palet.",
+       "COLOUR_RANDOM_TITLE": "willekeurige kleur",
+       "COLOUR_RANDOM_TOOLTIP": "Kies een willekeurige kleur.",
+       "COLOUR_RGB_HELPURL": "http://www.december.com/html/spec/colorper.html",
+       "COLOUR_RGB_TITLE": "kleuren met",
+       "COLOUR_RGB_RED": "rood",
+       "COLOUR_RGB_GREEN": "groen",
+       "COLOUR_RGB_BLUE": "blauw",
+       "COLOUR_RGB_TOOLTIP": "Maak een kleur met de opgegeven hoeveelheid rood, groen en blauw.  Alle waarden moeten tussen 0 en 100 liggen.",
+       "COLOUR_BLEND_HELPURL": "http://meyerweb.com/eric/tools/color-blend/",
+       "COLOUR_BLEND_TITLE": "mengen",
+       "COLOUR_BLEND_COLOUR1": "kleur 1",
+       "COLOUR_BLEND_COLOUR2": "kleur 2",
+       "COLOUR_BLEND_RATIO": "verhouding",
+       "COLOUR_BLEND_TOOLTIP": "Mengt twee kleuren samen met een bepaalde verhouding (0.0 - 1.0).",
+       "CONTROLS_REPEAT_HELPURL": "https://nl.wikipedia.org/wiki/Repetitie_(informatica)#For_en_Foreach",
+       "CONTROLS_REPEAT_TITLE": "%1 keer herhalen",
+       "CONTROLS_REPEAT_INPUT_DO": "voer uit",
+       "CONTROLS_REPEAT_TOOLTIP": "Voer een aantal opdrachten meerdere keren uit.",
+       "CONTROLS_WHILEUNTIL_HELPURL": "https://github.com/google/blockly/wiki/Loops#repeat",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "herhalen zolang",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "herhalen totdat",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "Terwijl een waarde waar is de volgende opdrachten uitvoeren.",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "Terwijl een waarde onwaar is de volgende opdrachten uitvoeren.",
+       "CONTROLS_FOR_HELPURL": "https://github.com/google/blockly/wiki/Loops#count-with",
+       "CONTROLS_FOR_TOOLTIP": "Laat de variabele \"%1\" de waarden aannemen van het beginnummer tot het laatste nummer, tellende met het opgegeven interval, en met uitvoering van de opgegeven blokken.",
+       "CONTROLS_FOR_TITLE": "rekenen met %1 van %2 tot %3 in stappen van %4",
+       "CONTROLS_FOREACH_TITLE": "voor ieder item %1 in lijst %2",
+       "CONTROLS_FOREACH_TOOLTIP": "Voor ieder item in een lijst, stel de variabele \"%1\" in op het item en voer daarna opdrachten uit.",
+       "CONTROLS_FLOW_STATEMENTS_HELPURL": "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "uit lus breken",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "doorgaan met de volgende iteratie van de lus",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "uit de bovenliggende lus breken",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "De rest van deze lus overslaan en doorgaan met de volgende herhaling.",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "Waarschuwing: dit blok mag alleen gebruikt worden in een lus.",
+       "CONTROLS_IF_HELPURL": "https://github.com/google/blockly/wiki/IfElse",
+       "CONTROLS_IF_TOOLTIP_1": "Als een waarde waar is, voer dan opdrachten uit.",
+       "CONTROLS_IF_TOOLTIP_2": "Als een waarde waar is, voert dan het eerste blok met opdrachten uit. Voer andere het tweede blok met opdrachten uit.",
+       "CONTROLS_IF_TOOLTIP_3": "Als de eerste waarde waar is, voer dan het eerste blok met opdrachten uit. Voer anders, als de tweede waarde waar is, het tweede blok met opdrachten uit.",
+       "CONTROLS_IF_TOOLTIP_4": "Als de eerste waarde \"waar\" is, voer dan het eerste blok uit. Voer anders wanneer de tweede waarde \"waar\" is, het tweede blok uit. Als geen van beide waarden waar zijn, voer dan het laatste blok uit.",
+       "CONTROLS_IF_MSG_IF": "als",
+       "CONTROLS_IF_MSG_ELSEIF": "anders als",
+       "CONTROLS_IF_MSG_ELSE": "anders",
+       "CONTROLS_IF_IF_TOOLTIP": "Voeg stukken toe, verwijder of wijzig de volgorde om dit \"als\"-blok te wijzigen.",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "Voeg een voorwaarde toe aan het als-blok.",
+       "CONTROLS_IF_ELSE_TOOLTIP": "Voeg een laatste, vang-alles conditie toe aan het als-statement.",
+       "IOS_OK": "OK",
+       "IOS_CANCEL": "Annuleren",
+       "IOS_ERROR": "Fout",
+       "IOS_PROCEDURES_INPUTS": "INVOER",
+       "IOS_PROCEDURES_ADD_INPUT": "+ Invoer toevoegen",
+       "IOS_PROCEDURES_ALLOW_STATEMENTS": "Statements toestaan",
+       "IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR": "Deze functie heeft dubbele invoeren.",
+       "IOS_VARIABLES_ADD_VARIABLE": "+ Variabele toevoegen",
+       "IOS_VARIABLES_ADD_BUTTON": "Toevoegen",
+       "IOS_VARIABLES_RENAME_BUTTON": "Hernoemen",
+       "IOS_VARIABLES_DELETE_BUTTON": "Verwijderen",
+       "IOS_VARIABLES_VARIABLE_NAME": "Variabelenaam",
+       "IOS_VARIABLES_EMPTY_NAME_ERROR": "U kunt geen lege variabelenaam gebruiken.",
+       "LOGIC_COMPARE_HELPURL": "https://nl.wikipedia.org/wiki/Ongelijkheid_(wiskunde)",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "Geeft \"waar\", als beide waarden gelijk aan elkaar zijn.",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "Geeft \"waar\" terug als de waarden niet gelijk zijn aan elkaar.",
+       "LOGIC_COMPARE_TOOLTIP_LT": "Geeft \"waar\" als de eerste invoer kleiner is dan de tweede invoer.",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "Geeft \"waar\" terug als de eerste invoer kleiner of gelijk is aan de tweede invoer.",
+       "LOGIC_COMPARE_TOOLTIP_GT": "Geeft \"waar\" terug als de eerste invoer meer is dan de tweede invoer.",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "Geeft \"waar\" terug als de eerste invoer groter is of gelijk aan de tweede invoer.",
+       "LOGIC_OPERATION_HELPURL": "https://github.com/google/blockly/wiki/Logic#logical-operations",
+       "LOGIC_OPERATION_TOOLTIP_AND": "Geeft waar als beide waarden waar zijn.",
+       "LOGIC_OPERATION_AND": "en",
+       "LOGIC_OPERATION_TOOLTIP_OR": "Geeft \"waar\" terug als in ieder geval één van de waarden waar is.",
+       "LOGIC_OPERATION_OR": "of",
+       "LOGIC_NEGATE_HELPURL": "https://github.com/google/blockly/wiki/Logic#not",
+       "LOGIC_NEGATE_TITLE": "niet %1",
+       "LOGIC_NEGATE_TOOLTIP": "Geeft \"waar\" terug als de invoer \"onwaar\" is. Geeft \"onwaar\" als de invoer \"waar\" is.",
+       "LOGIC_BOOLEAN_HELPURL": "https://github.com/google/blockly/wiki/Logic#values",
+       "LOGIC_BOOLEAN_TRUE": "waar",
+       "LOGIC_BOOLEAN_FALSE": "onwaar",
+       "LOGIC_BOOLEAN_TOOLTIP": "Geeft \"waar\" of \"onwaar\" terug.",
+       "LOGIC_NULL_HELPURL": "https://en.wikipedia.org/wiki/Nullable_type",
+       "LOGIC_NULL": "niets",
+       "LOGIC_NULL_TOOLTIP": "Geeft niets terug.",
+       "LOGIC_TERNARY_HELPURL": "https://en.wikipedia.org/wiki/%3F:",
+       "LOGIC_TERNARY_CONDITION": "test",
+       "LOGIC_TERNARY_IF_TRUE": "als waar",
+       "LOGIC_TERNARY_IF_FALSE": "als onwaar",
+       "LOGIC_TERNARY_TOOLTIP": "Test de voorwaarde in \"test\". Als de voorwaarde \"waar\" is, geef de waarde van \"als waar\" terug; geef anders de waarde van \"als onwaar\" terug.",
+       "MATH_NUMBER_HELPURL": "https://nl.wikipedia.org/wiki/Getal_%28wiskunde%29",
+       "MATH_NUMBER_TOOLTIP": "Een getal.",
+       "MATH_ADDITION_SYMBOL": "+",
+       "MATH_SUBTRACTION_SYMBOL": "-",
+       "MATH_DIVISION_SYMBOL": "÷",
+       "MATH_MULTIPLICATION_SYMBOL": "×",
+       "MATH_POWER_SYMBOL": "^",
+       "MATH_TRIG_SIN": "sin",
+       "MATH_TRIG_COS": "cos",
+       "MATH_TRIG_TAN": "tan",
+       "MATH_TRIG_ASIN": "asin",
+       "MATH_TRIG_ACOS": "acos",
+       "MATH_TRIG_ATAN": "arctan",
+       "MATH_ARITHMETIC_HELPURL": "https://nl.wikipedia.org/wiki/Rekenen",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "Geeft de som van 2 getallen.",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "Geeft het verschil van de twee getallen.",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "Geeft het product terug van de twee getallen.",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "Geeft de gedeelde waarde van twee getallen.",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "Geeft het eerste getal tot de macht van het tweede getal.",
+       "MATH_SINGLE_HELPURL": "https://nl.wikipedia.org/wiki/Vierkantswortel",
+       "MATH_SINGLE_OP_ROOT": "wortel",
+       "MATH_SINGLE_TOOLTIP_ROOT": "Geeft de wortel van een getal.",
+       "MATH_SINGLE_OP_ABSOLUTE": "absoluut",
+       "MATH_SINGLE_TOOLTIP_ABS": "Geeft de absolute waarde van een getal.",
+       "MATH_SINGLE_TOOLTIP_NEG": "Geeft de negatief van een getal.",
+       "MATH_SINGLE_TOOLTIP_LN": "Geeft het natuurlijk logaritme van een getal.",
+       "MATH_SINGLE_TOOLTIP_LOG10": "Geeft het logaritme basis 10 van een getal.",
+       "MATH_SINGLE_TOOLTIP_EXP": "Geeft e tot de macht van een getal.",
+       "MATH_SINGLE_TOOLTIP_POW10": "Geeft 10 tot de macht van een getal.",
+       "MATH_TRIG_HELPURL": "https://nl.wikipedia.org/wiki/Goniometrische_functie",
+       "MATH_TRIG_TOOLTIP_SIN": "Geeft de sinus van een graad (geen radialen).",
+       "MATH_TRIG_TOOLTIP_COS": "Geeft de cosinus van een graad (geen radialen).",
+       "MATH_TRIG_TOOLTIP_TAN": "Geeft de tangens van een graad (geen radialen).",
+       "MATH_TRIG_TOOLTIP_ASIN": "Geeft de arcsinus van een getal.",
+       "MATH_TRIG_TOOLTIP_ACOS": "Geeft de arccosinus van een getal.",
+       "MATH_TRIG_TOOLTIP_ATAN": "Geeft de arctangens van een getal.",
+       "MATH_CONSTANT_HELPURL": "https://nl.wikipedia.org/wiki/Wiskundige_constante",
+       "MATH_CONSTANT_TOOLTIP": "Geeft een van de vaak voorkomende constante waardes:  Ï€ (3.141…), e (2.718…), Ï† (1.618…), âˆš2 (1.414…), âˆšÂ½ (0.707…), of âˆž (oneindig).",
+       "MATH_IS_EVEN": "is even",
+       "MATH_IS_ODD": "is oneven",
+       "MATH_IS_PRIME": "is priemgetal",
+       "MATH_IS_WHOLE": "is geheel getal",
+       "MATH_IS_POSITIVE": "is positief",
+       "MATH_IS_NEGATIVE": "is negatief",
+       "MATH_IS_DIVISIBLE_BY": "is deelbaar door",
+       "MATH_IS_TOOLTIP": "Test of een getal even, oneven, een priemgetal, geheel, positief of negatief is, of deelbaar is door een bepaald getal. Geeft \"waar\" of \"onwaar\".",
+       "MATH_CHANGE_HELPURL": "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter",
+       "MATH_CHANGE_TITLE": "%1 wijzigen met %2",
+       "MATH_CHANGE_TOOLTIP": "Voegt een getal toe aan variabele \"%1\".",
+       "MATH_ROUND_HELPURL": "https://nl.wikipedia.org/wiki/Afronden",
+       "MATH_ROUND_TOOLTIP": "Rondt een getal af omhoog of naar beneden.",
+       "MATH_ROUND_OPERATOR_ROUND": "afronden",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "omhoog afronden",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "naar beneden afronden",
+       "MATH_ONLIST_OPERATOR_SUM": "som van lijst",
+       "MATH_ONLIST_TOOLTIP_SUM": "Geeft de som van alle getallen in de lijst.",
+       "MATH_ONLIST_OPERATOR_MIN": "laagste uit lijst",
+       "MATH_ONLIST_TOOLTIP_MIN": "Geeft het kleinste getal uit een lijst.",
+       "MATH_ONLIST_OPERATOR_MAX": "hoogste uit lijst",
+       "MATH_ONLIST_TOOLTIP_MAX": "Geeft het grootste getal in een lijst.",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "gemiddelde van lijst",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "Geeft het gemiddelde terug van de numerieke waardes in een lijst.",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "mediaan van lijst",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "Geeft de mediaan in de lijst.",
+       "MATH_ONLIST_OPERATOR_MODE": "modi van lijst",
+       "MATH_ONLIST_TOOLTIP_MODE": "Geeft een lijst van de meest voorkomende onderdelen in de lijst.",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "standaarddeviatie van lijst",
+       "MATH_ONLIST_TOOLTIP_STD_DEV": "Geeft de standaardafwijking van de lijst.",
+       "MATH_ONLIST_OPERATOR_RANDOM": "willekeurige item van lijst",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "Geeft een willekeurig item uit de lijst terug.",
+       "MATH_MODULO_HELPURL": "https://nl.wikipedia.org/wiki/Modulair_rekenen",
+       "MATH_MODULO_TITLE": "restgetal van %1 ÷ %2",
+       "MATH_MODULO_TOOLTIP": "Geeft het restgetal van het resultaat van de deling van de twee getallen.",
+       "MATH_CONSTRAIN_TITLE": "beperk %1 van minimaal %2 tot maximaal %3",
+       "MATH_CONSTRAIN_TOOLTIP": "Beperk een getal tussen de twee opgegeven limieten (inclusief).",
+       "MATH_RANDOM_INT_HELPURL": "https://nl.wikipedia.org/wiki/Toevalsgenerator",
+       "MATH_RANDOM_INT_TITLE": "willekeurig geheel getal van %1 tot %2",
+       "MATH_RANDOM_INT_TOOLTIP": "Geeft een willekeurig getal tussen de 2 opgegeven limieten in, inclusief.",
+       "MATH_RANDOM_FLOAT_HELPURL": "https://nl.wikipedia.org/wiki/Toevalsgenerator",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "willekeurige fractie",
+       "MATH_RANDOM_FLOAT_TOOLTIP": "Geeft een willekeurige fractie tussen 0.0 (inclusief) en 1.0 (exclusief).",
+       "TEXT_TEXT_HELPURL": "https://nl.wikipedia.org/wiki/String_%28informatica%29",
+       "TEXT_TEXT_TOOLTIP": "Een letter, woord of een regel tekst.",
+       "TEXT_JOIN_HELPURL": "https://github.com/google/blockly/wiki/Text#text-creation",
+       "TEXT_JOIN_TITLE_CREATEWITH": "maak tekst met",
+       "TEXT_JOIN_TOOLTIP": "Maakt een stuk tekst door één of meer items samen te voegen.",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "samenvoegen",
+       "TEXT_CREATE_JOIN_TOOLTIP": "Toevoegen, verwijderen of volgorde wijzigen van secties om dit tekstblok opnieuw in te stellen.",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "Voegt een item aan de tekst toe.",
+       "TEXT_APPEND_HELPURL": "https://github.com/google/blockly/wiki/Text#text-modification",
+       "TEXT_APPEND_TITLE": "voor%1 voeg tekst toe van %2",
+       "TEXT_APPEND_TOOLTIP": "Voeg tekst toe aan de variabele \"%1\".",
+       "TEXT_LENGTH_HELPURL": "https://github.com/google/blockly/wiki/Text#text-modification",
+       "TEXT_LENGTH_TITLE": "lengte van %1",
+       "TEXT_LENGTH_TOOLTIP": "Geeft het aantal tekens terug (inclusief spaties) in de opgegeven tekst.",
+       "TEXT_ISEMPTY_HELPURL": "https://github.com/google/blockly/wiki/Text#checking-for-empty-text",
+       "TEXT_ISEMPTY_TITLE": "%1 is leeg",
+       "TEXT_ISEMPTY_TOOLTIP": "Geeft \"waar\" terug, als de opgegeven tekst leeg is.",
+       "TEXT_INDEXOF_HELPURL": "https://github.com/google/blockly/wiki/Text#finding-text",
+       "TEXT_INDEXOF_TOOLTIP": "Geeft de index terug van het eerste of laatste voorkomen van de eerste tekst in de tweede tekst. Geeft %1 terug als de tekst niet gevonden is.",
+       "TEXT_INDEXOF_TITLE": "in tekst %1 %2 %3",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "zoek eerste voorkomen van tekst",
+       "TEXT_INDEXOF_OPERATOR_LAST": "zoek het laatste voorkomen van tekst",
+       "TEXT_CHARAT_HELPURL": "https://github.com/google/blockly/wiki/Text#extracting-text",
+       "TEXT_CHARAT_TITLE": "in tekst %1 %2",
+       "TEXT_CHARAT_FROM_START": "haal letter # op",
+       "TEXT_CHARAT_FROM_END": "haal letter # op vanaf einde",
+       "TEXT_CHARAT_FIRST": "haal eerste letter op",
+       "TEXT_CHARAT_LAST": "haal laatste letter op",
+       "TEXT_CHARAT_RANDOM": "haal willekeurige letter op",
+       "TEXT_CHARAT_TOOLTIP": "Geeft de letter op de opgegeven positie terug.",
+       "TEXT_GET_SUBSTRING_TOOLTIP": "Geeft het opgegeven onderdeel van de tekst terug.",
+       "TEXT_GET_SUBSTRING_HELPURL": "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "in tekst",
+       "TEXT_GET_SUBSTRING_START_FROM_START": "haal subtekst op vanaf letter #",
+       "TEXT_GET_SUBSTRING_START_FROM_END": "haal subtekst op vanaf letter # vanaf einde",
+       "TEXT_GET_SUBSTRING_START_FIRST": "haal subtekst op van eerste letter",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "naar letter #",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "van letter # tot einde",
+       "TEXT_GET_SUBSTRING_END_LAST": "naar laatste letter",
+       "TEXT_CHANGECASE_HELPURL": "https://github.com/google/blockly/wiki/Text#adjusting-text-case",
+       "TEXT_CHANGECASE_TOOLTIP": "Geef een kopie van de tekst met veranderde hoofdletters terug.",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "naar HOOFDLETTERS",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "naar kleine letters",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": "naar Hoofdletter Per Woord",
+       "TEXT_TRIM_HELPURL": "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces",
+       "TEXT_TRIM_TOOLTIP": "Geeft een kopie van de tekst met verwijderde spaties van één of beide kanten.",
+       "TEXT_TRIM_OPERATOR_BOTH": "spaties van beide kanten afhalen van",
+       "TEXT_TRIM_OPERATOR_LEFT": "spaties van de linkerkant verwijderen van",
+       "TEXT_TRIM_OPERATOR_RIGHT": "spaties van de rechterkant verwijderen van",
+       "TEXT_PRINT_HELPURL": "https://github.com/google/blockly/wiki/Text#printing-text",
+       "TEXT_PRINT_TITLE": "tekst weergeven: %1",
+       "TEXT_PRINT_TOOLTIP": "Drukt de opgegeven tekst, getal of een andere waarde af.",
+       "TEXT_PROMPT_HELPURL": "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user",
+       "TEXT_PROMPT_TYPE_TEXT": "vraagt om invoer met bericht",
+       "TEXT_PROMPT_TYPE_NUMBER": "vraagt de gebruiker om een getal met de tekst",
+       "TEXT_PROMPT_TOOLTIP_NUMBER": "Vraagt de gebruiker om een getal in te voeren.",
+       "TEXT_PROMPT_TOOLTIP_TEXT": "Vraagt de gebruiker om invoer.",
+       "TEXT_COUNT_MESSAGE0": "%1 in %2 tellen",
+       "TEXT_COUNT_TOOLTIP": "Tel hoe vaak bepaalde tekst voorkomt in andere tekst.",
+       "TEXT_REPLACE_MESSAGE0": "vervang %1 door %2 in %3",
+       "TEXT_REPLACE_TOOLTIP": "Vervang alle voorkomens van tekst in een andere tekst.",
+       "TEXT_REVERSE_MESSAGE0": "%1 omkeren",
+       "TEXT_REVERSE_TOOLTIP": "Keert de volgorde van de tekens in de tekst om.",
+       "LISTS_CREATE_EMPTY_HELPURL": "https://github.com/google/blockly/wiki/Lists#create-empty-list",
+       "LISTS_CREATE_EMPTY_TITLE": "maak een lege lijst",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "Geeft een lijst terug met lengte 0, zonder items",
+       "LISTS_CREATE_WITH_TOOLTIP": "Maak een lijst met een willekeurig aantal items.",
+       "LISTS_CREATE_WITH_INPUT_WITH": "maak een lijst met",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "lijst",
+       "LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "Voeg stukken toe, verwijder ze of wijzig de volgorde om dit lijstblok aan te passen.",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "Voeg iets toe aan de lijst.",
+       "LISTS_REPEAT_HELPURL": "https://github.com/google/blockly/wiki/Lists#create-list-with",
+       "LISTS_REPEAT_TOOLTIP": "Maakt een lijst die bestaat uit de opgegeven waarde, het opgegeven aantal keer herhaald.",
+       "LISTS_REPEAT_TITLE": "Maak lijst met item %1, %2 keer herhaald",
+       "LISTS_LENGTH_HELPURL": "https://github.com/google/blockly/wiki/Lists#length-of",
+       "LISTS_LENGTH_TITLE": "lengte van %1",
+       "LISTS_LENGTH_TOOLTIP": "Geeft de lengte van een lijst terug.",
+       "LISTS_ISEMPTY_TITLE": "%1 is leeg",
+       "LISTS_ISEMPTY_TOOLTIP": "Geeft waar terug als de lijst leeg is.",
+       "LISTS_INLIST": "in lijst",
+       "LISTS_INDEX_OF_HELPURL": "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list",
+       "LISTS_INDEX_OF_FIRST": "zoek eerste voorkomen van item",
+       "LISTS_INDEX_OF_LAST": "zoek laatste voorkomen van item",
+       "LISTS_INDEX_OF_TOOLTIP": "Geeft de index terug van het eerste of laatste voorkomen van een item in de lijst. Geeft %1 terug als het item niet is gevonden.",
+       "LISTS_GET_INDEX_GET": "haal op",
+       "LISTS_GET_INDEX_GET_REMOVE": "haal op en verwijder",
+       "LISTS_GET_INDEX_REMOVE": "verwijder",
+       "LISTS_GET_INDEX_FROM_START": "#",
+       "LISTS_GET_INDEX_FROM_END": "# van einde",
+       "LISTS_GET_INDEX_FIRST": "eerste",
+       "LISTS_GET_INDEX_LAST": "laatste",
+       "LISTS_GET_INDEX_RANDOM": "willekeurig",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "Item %1 is het eerste item.",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "Item %1 is het laatste item.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "Geeft het item op de opgegeven positie in een lijst.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "Geeft het eerste item in een lijst terug.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "Geeft het laatste item in een lijst terug.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "Geeft een willekeurig item uit een lijst.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "Geeft het item op de opgegeven positie in een lijst terug en verwijdert het.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "Geeft het laatste item in een lijst terug en verwijdert het.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "Geeft het laatste item uit een lijst terug en verwijdert het.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "Geeft een willekeurig item in een lijst terug en verwijdert het.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "Verwijdert het item op de opgegeven positie in een lijst.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "Verwijdert het eerste item in een lijst.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "Verwijdert het laatste item uit een lijst.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "Verwijdert een willekeurig item uit een lijst.",
+       "LISTS_SET_INDEX_HELPURL": "https://github.com/google/blockly/wiki/Lists#in-list--set",
+       "LISTS_SET_INDEX_SET": "stel in",
+       "LISTS_SET_INDEX_INSERT": "tussenvoegen op",
+       "LISTS_SET_INDEX_INPUT_TO": "als",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "Zet het item op de opgegeven positie in de lijst.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "Stelt het eerste item in een lijst in.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_LAST": "Stelt het laatste item van een lijst in.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "Stelt een willekeurig item uit de lijst in.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "Voegt het item op een opgegeven positie in een lijst in.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "Voegt het item toe aan het begin van de lijst.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "Voeg het item aan het einde van een lijst toe.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "Voegt het item op een willekeurige positie in de lijst in.",
+       "LISTS_GET_SUBLIST_HELPURL": "https://github.com/google/blockly/wiki/Lists#getting-a-sublist",
+       "LISTS_GET_SUBLIST_START_FROM_START": "haal sublijst op vanaf positie",
+       "LISTS_GET_SUBLIST_START_FROM_END": "haal sublijst op van positie vanaf einde",
+       "LISTS_GET_SUBLIST_START_FIRST": "haal sublijst op vanaf eerste",
+       "LISTS_GET_SUBLIST_END_FROM_START": "naar item",
+       "LISTS_GET_SUBLIST_END_FROM_END": "naar # vanaf einde",
+       "LISTS_GET_SUBLIST_END_LAST": "naar laatste",
+       "LISTS_GET_SUBLIST_TOOLTIP": "Maakt een kopie van het opgegeven deel van de lijst.",
+       "LISTS_SORT_HELPURL": "https://github.com/google/blockly/wiki/Lists#sorting-a-list",
+       "LISTS_SORT_TITLE": "sorteer %1 %2 %3",
+       "LISTS_SORT_TOOLTIP": "Sorteer een kopie van een lijst.",
+       "LISTS_SORT_ORDER_ASCENDING": "oplopend",
+       "LISTS_SORT_ORDER_DESCENDING": "aflopend",
+       "LISTS_SORT_TYPE_NUMERIC": "numeriek",
+       "LISTS_SORT_TYPE_TEXT": "alfabetisch",
+       "LISTS_SORT_TYPE_IGNORECASE": "alfabetisch, negeer hoofd-/kleine letters",
+       "LISTS_SPLIT_LIST_FROM_TEXT": "lijst maken van tekst",
+       "LISTS_SPLIT_TEXT_FROM_LIST": "tekst maken van lijst",
+       "LISTS_SPLIT_WITH_DELIMITER": "met scheidingsteken",
+       "LISTS_SPLIT_TOOLTIP_SPLIT": "Tekst splitsen in een lijst van teksten op basis van een scheidingsteken.",
+       "LISTS_SPLIT_TOOLTIP_JOIN": "Lijst van tekstdelen samenvoegen in één stuk tekst, waarbij de tekstdelen gescheiden zijn door een scheidingsteken.",
+       "LISTS_REVERSE_MESSAGE0": "%1 omkeren",
+       "LISTS_REVERSE_TOOLTIP": "Keert een kopie van een lijst om.",
+       "VARIABLES_GET_HELPURL": "https://github.com/google/blockly/wiki/Variables#get",
+       "VARIABLES_GET_TOOLTIP": "Geeft de waarde van deze variabele.",
+       "VARIABLES_GET_CREATE_SET": "Maak \"verander %1\"",
+       "VARIABLES_SET_HELPURL": "https://github.com/google/blockly/wiki/Variables#set",
+       "VARIABLES_SET": "stel %1 in op %2",
+       "VARIABLES_SET_TOOLTIP": "Verandert de waarde van de variabele naar de waarde van de invoer.",
+       "VARIABLES_SET_CREATE_GET": "Maak 'opvragen van %1'",
+       "PROCEDURES_DEFNORETURN_HELPURL": "https://nl.wikipedia.org/wiki/Subprogramma",
+       "PROCEDURES_DEFNORETURN_TITLE": "om",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "doe iets",
+       "PROCEDURES_BEFORE_PARAMS": "met:",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "met:",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "Maakt een functie zonder uitvoer.",
+       "PROCEDURES_DEFNORETURN_COMMENT": "Deze functie beschrijven...",
+       "PROCEDURES_DEFRETURN_HELPURL": "https://nl.wikipedia.org/wiki/Subprogramma",
+       "PROCEDURES_DEFRETURN_RETURN": "uitvoeren",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "Maakt een functie met een uitvoer.",
+       "PROCEDURES_ALLOW_STATEMENTS": "statements toestaan",
+       "PROCEDURES_DEF_DUPLICATE_WARNING": "Waarschuwing: deze functie heeft parameters met dezelfde naam.",
+       "PROCEDURES_CALLNORETURN_HELPURL": "https://nl.wikipedia.org/wiki/Subprogramma",
+       "PROCEDURES_CALLNORETURN_TOOLTIP": "Voer de door de gebruiker gedefinieerde functie \"%1\" uit.",
+       "PROCEDURES_CALLRETURN_HELPURL": "https://nl.wikipedia.org/wiki/Subprogramma",
+       "PROCEDURES_CALLRETURN_TOOLTIP": "Voer de door de gebruiker gedefinieerde functie \"%1\" uit en gebruik de uitvoer.",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "ingangen",
+       "PROCEDURES_MUTATORCONTAINER_TOOLTIP": "Invoer van deze functie toevoegen, verwijderen of herordenen.",
+       "PROCEDURES_MUTATORARG_TITLE": "invoernaam:",
+       "PROCEDURES_MUTATORARG_TOOLTIP": "Een invoer aan de functie toevoegen.",
+       "PROCEDURES_HIGHLIGHT_DEF": "Accentueer functiedefinitie",
+       "PROCEDURES_CREATE_DO": "Maak \"%1\"",
+       "PROCEDURES_IFRETURN_TOOLTIP": "Als de eerste waarde \"waar\" is, geef dan de tweede waarde terug.",
+       "PROCEDURES_IFRETURN_HELPURL": "http://c2.com/cgi/wiki?GuardClause",
+       "PROCEDURES_IFRETURN_WARNING": "Waarschuwing: dit blok mag alleen gebruikt worden binnen de definitie van een functie.",
+       "WORKSPACE_COMMENT_DEFAULT_TEXT": "Zeg iets..."
+}
diff --git a/js/msg/json/oc.json b/js/msg/json/oc.json
new file mode 100644 (file)
index 0000000..758ae13
--- /dev/null
@@ -0,0 +1,210 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Cedric31"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "element",
+       "TODAY": "Uèi",
+       "DUPLICATE_BLOCK": "Duplicar",
+       "ADD_COMMENT": "Apondre un comentari",
+       "REMOVE_COMMENT": "Suprimir un comentari",
+       "EXTERNAL_INPUTS": "Entradas extèrnas",
+       "INLINE_INPUTS": "Entradas en linha",
+       "DELETE_BLOCK": "Suprimir lo blòt",
+       "DELETE_X_BLOCKS": "Suprimir %1 blòts",
+       "DELETE_ALL_BLOCKS": "Suprimir totes los %1 blòts ?",
+       "CLEAN_UP": "Netejar los blòts",
+       "COLLAPSE_BLOCK": "Redusir lo blòt",
+       "COLLAPSE_ALL": "Redusir los blòts",
+       "EXPAND_BLOCK": "Desvolopar lo blòt",
+       "EXPAND_ALL": "Desvolopar los blòts",
+       "DISABLE_BLOCK": "Desactivar lo blòt",
+       "ENABLE_BLOCK": "Activar lo blòt",
+       "HELP": "Ajuda",
+       "UNDO": "Anullar",
+       "REDO": "Refar",
+       "CHANGE_VALUE_TITLE": "Modificar la valor :",
+       "RENAME_VARIABLE": "Renomenar la variabla…",
+       "RENAME_VARIABLE_TITLE": "Renomenar totas las variablas « %1 » a :",
+       "NEW_VARIABLE": "Crear una variabla...",
+       "NEW_STRING_VARIABLE": "Crear una variabla cadena…",
+       "NEW_NUMBER_VARIABLE": "Crear una variabla nombre…",
+       "NEW_COLOUR_VARIABLE": "Crear una variabla color…",
+       "NEW_VARIABLE_TYPE_TITLE": "Novèl tipe de variabla :",
+       "NEW_VARIABLE_TITLE": "Nom de la novèla variabla :",
+       "VARIABLE_ALREADY_EXISTS": "Existís ja una variabla nomenada \"%1\".",
+       "DELETE_VARIABLE": "Suprimir la variabla '%1'",
+       "COLOUR_PICKER_HELPURL": "https://oc.wikipedia.org/wiki/Color",
+       "COLOUR_PICKER_TOOLTIP": "Causir una color dins la paleta.",
+       "COLOUR_RANDOM_TITLE": "color aleatòria",
+       "COLOUR_RANDOM_TOOLTIP": "Causir una color a l'azard.",
+       "COLOUR_RGB_TITLE": "coloriar amb",
+       "COLOUR_RGB_RED": "roge",
+       "COLOUR_RGB_GREEN": "verd",
+       "COLOUR_RGB_BLUE": "blau",
+       "COLOUR_BLEND_TITLE": "mesclar",
+       "COLOUR_BLEND_COLOUR1": "color 1",
+       "COLOUR_BLEND_COLOUR2": "color 2",
+       "COLOUR_BLEND_RATIO": "ratio",
+       "CONTROLS_REPEAT_HELPURL": "https://oc.wikipedia.org/wiki/For_loop",
+       "CONTROLS_REPEAT_TITLE": "repetir %1 còps",
+       "CONTROLS_REPEAT_INPUT_DO": "far",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "repetir tant que",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "repetir fins a",
+       "CONTROLS_FOR_TITLE": "comptar amb %1 de %2 a %3 per %4",
+       "CONTROLS_FOREACH_TITLE": "per cada element %1 dins la lista %2",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "quitar la bocla",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "passar a l’iteracion de bocla seguenta",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "Sortir de la bocla englobanta.",
+       "CONTROLS_IF_MSG_IF": "se",
+       "CONTROLS_IF_MSG_ELSEIF": "siquenon se",
+       "CONTROLS_IF_MSG_ELSE": "siquenon",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "Apondre una condicion al blòt 'se'.",
+       "IOS_OK": "D'acòrdi",
+       "IOS_CANCEL": "Anullar",
+       "IOS_ERROR": "Error",
+       "IOS_PROCEDURES_INPUTS": "ENTRADAS",
+       "IOS_PROCEDURES_ADD_INPUT": "+ Apondre una entrada",
+       "IOS_PROCEDURES_ALLOW_STATEMENTS": "Òrdres autorizats",
+       "IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR": "Aquesta foncion a d'entradas duplicadas.",
+       "IOS_VARIABLES_ADD_VARIABLE": "+ Apondre una variabla",
+       "IOS_VARIABLES_ADD_BUTTON": "Apondre",
+       "IOS_VARIABLES_RENAME_BUTTON": "Renomenar",
+       "IOS_VARIABLES_DELETE_BUTTON": "Suprimir",
+       "IOS_VARIABLES_VARIABLE_NAME": "Nom de la variabla",
+       "IOS_VARIABLES_EMPTY_NAME_ERROR": "Podètz pas utilizar un nom de variabla void.",
+       "LOGIC_COMPARE_HELPURL": "https://fr.wikipedia.org/wiki/Inegalite_(mathematiques)",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "Renviar verai se las doas entradas son egalas.",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "Renviar verai se las doas entradas son diferentas.",
+       "LOGIC_OPERATION_TOOLTIP_AND": "Renviar verai se las doas entradas son vertadièras.",
+       "LOGIC_OPERATION_AND": "e",
+       "LOGIC_OPERATION_OR": "o",
+       "LOGIC_NEGATE_TITLE": "pas %1",
+       "LOGIC_BOOLEAN_TRUE": "verai",
+       "LOGIC_BOOLEAN_FALSE": "fals",
+       "LOGIC_BOOLEAN_TOOLTIP": "Renvia siá verai siá fals.",
+       "LOGIC_NULL": "nul",
+       "LOGIC_NULL_TOOLTIP": "Renvia nul.",
+       "LOGIC_TERNARY_CONDITION": "tèst",
+       "LOGIC_TERNARY_IF_TRUE": "se verai",
+       "LOGIC_TERNARY_IF_FALSE": "se fals",
+       "MATH_NUMBER_HELPURL": "https://oc.wikipedia.org/wiki/Nombre",
+       "MATH_NUMBER_TOOLTIP": "Un nombre.",
+       "MATH_ARITHMETIC_HELPURL": "https://oc.wikipedia.org/wiki/Aritmetica",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "Renvia la soma dels dos nombres.",
+       "MATH_SINGLE_HELPURL": "https://fr.wikipedia.org/wiki/Racine_carree",
+       "MATH_SINGLE_OP_ROOT": "raiç carrada",
+       "MATH_SINGLE_TOOLTIP_ROOT": "Renvia la raiç carrada d’un nombre.",
+       "MATH_SINGLE_OP_ABSOLUTE": "absolut",
+       "MATH_SINGLE_TOOLTIP_ABS": "Renvia la valor absoluda d’un nombre.",
+       "MATH_SINGLE_TOOLTIP_NEG": "Renvia l’opausat d’un nombre",
+       "MATH_SINGLE_TOOLTIP_LN": "Renvia lo logaritme natural d’un nombre.",
+       "MATH_SINGLE_TOOLTIP_LOG10": "Renvia lo logaritme decimal d’un nombre.",
+       "MATH_SINGLE_TOOLTIP_EXP": "Renvia a la poténcia d’un nombre.",
+       "MATH_SINGLE_TOOLTIP_POW10": "Renvia 10 a la poténcia d’un nombre.",
+       "MATH_TRIG_HELPURL": "https://en.wikipedia.org/wiki/Trigonometric_functions",
+       "MATH_TRIG_TOOLTIP_SIN": "Renvia lo sinus d’un angle en grases (pas en radians).",
+       "MATH_TRIG_TOOLTIP_COS": "Renvia lo cosinus d’un angle en grases (pas en radians).",
+       "MATH_TRIG_TOOLTIP_TAN": "Renvia la tangenta d’un angle en grases (pas en radians).",
+       "MATH_TRIG_TOOLTIP_ASIN": "Renvia l’arcsinus d’un nombre.",
+       "MATH_TRIG_TOOLTIP_ACOS": "Renvia l’arccosinus d’un nombre.",
+       "MATH_TRIG_TOOLTIP_ATAN": "Renvia l’arctangenta d’un nombre.",
+       "MATH_CONSTANT_HELPURL": "https://en.wikipedia.org/wiki/Mathematical_constant",
+       "MATH_IS_EVEN": "es par",
+       "MATH_IS_ODD": "es impar",
+       "MATH_IS_PRIME": "es primièr",
+       "MATH_IS_WHOLE": "es entièr",
+       "MATH_IS_POSITIVE": "es positiu",
+       "MATH_IS_NEGATIVE": "es negatiu",
+       "MATH_IS_DIVISIBLE_BY": "es devesible per",
+       "MATH_CHANGE_TITLE": "incrementar %1 per %2",
+       "MATH_ROUND_OPERATOR_ROUND": "arredondir",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "arredondir al superior",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "arredondir a l’inferior",
+       "MATH_ONLIST_OPERATOR_SUM": "soma de la lista",
+       "MATH_ONLIST_OPERATOR_MIN": "minimum de la lista",
+       "MATH_ONLIST_OPERATOR_MAX": "maximum de la lista",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "mejana de la lista",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "mediana de la lista",
+       "MATH_ONLIST_OPERATOR_MODE": "majoritaris de la lista",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "escart-tipe de la lista",
+       "MATH_ONLIST_OPERATOR_RANDOM": "element aleatòri de lista",
+       "MATH_MODULO_HELPURL": "https://en.wikipedia.org/wiki/Modulo_operation",
+       "MATH_MODULO_TITLE": "residú de %1 ÷ %2",
+       "MATH_CONSTRAIN_TITLE": "constrénher %1 entre %2 e %3",
+       "MATH_RANDOM_INT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_FLOAT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "fraccion aleatòria",
+       "TEXT_TEXT_HELPURL": "https://en.wikipedia.org/wiki/String_(computer_science)",
+       "TEXT_TEXT_TOOLTIP": "Una letra, un mot o una linha de tèxte.",
+       "TEXT_JOIN_TITLE_CREATEWITH": "crear un tèxte amb",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "jónher",
+       "TEXT_APPEND_TITLE": "a %1 apondre lo tèxte %2",
+       "TEXT_LENGTH_TITLE": "longor de %1",
+       "TEXT_ISEMPTY_TITLE": "%1 es void",
+       "TEXT_INDEXOF_TITLE": "dins lo tèxte %1 %2 %3",
+       "TEXT_CHARAT_TITLE": "dins lo tèxte %1 %2",
+       "TEXT_CHARAT_FROM_START": "obténer la letra #",
+       "TEXT_CHARAT_FROM_END": "obténer la letra # dempuèi la fin",
+       "TEXT_CHARAT_FIRST": "obténer la primièra letra",
+       "TEXT_CHARAT_LAST": "obténer la darrièra letra",
+       "TEXT_CHARAT_RANDOM": "obténer una letra a l'azard",
+       "TEXT_CHARAT_TOOLTIP": "Renvia la letra a la posicion indicada.",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "dins lo tèxte",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "fins a la letra #",
+       "TEXT_GET_SUBSTRING_END_LAST": "fins a la darrièra letra",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "en MAJUSCULAS",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "en minusculas",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": "en Majuscula Al Començament De Cada Mot",
+       "TEXT_TRIM_OPERATOR_BOTH": "suprimir los espacis dels dos costats",
+       "TEXT_PRINT_TITLE": "afichar %1",
+       "TEXT_COUNT_MESSAGE0": "nombre %1 sus %2",
+       "TEXT_REVERSE_MESSAGE0": "inversar %1",
+       "LISTS_CREATE_EMPTY_TITLE": "crear una lista voida",
+       "LISTS_CREATE_WITH_INPUT_WITH": "crear una lista amb",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "lista",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "Apondre un element a la lista.",
+       "LISTS_LENGTH_TITLE": "longitud de %1",
+       "LISTS_ISEMPTY_TITLE": "%1 es voida",
+       "LISTS_INLIST": "dins la lista",
+       "LISTS_GET_INDEX_GET": "obténer",
+       "LISTS_GET_INDEX_GET_REMOVE": "obténer e suprimir",
+       "LISTS_GET_INDEX_REMOVE": "suprimit",
+       "LISTS_GET_INDEX_FROM_END": "# dempuèi la fin",
+       "LISTS_GET_INDEX_FIRST": "primièr",
+       "LISTS_GET_INDEX_LAST": "darrièr",
+       "LISTS_GET_INDEX_RANDOM": "aleatòri",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "%1 es lo primièr element.",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "%1 es lo darrièr element.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "Renvia l'element de la posicion especificada dins la lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "Renvia lo primièr element dins una lista.",
+       "LISTS_SET_INDEX_SET": "metre",
+       "LISTS_SET_INDEX_INSERT": "inserir en",
+       "LISTS_SET_INDEX_INPUT_TO": "coma",
+       "LISTS_GET_SUBLIST_END_FROM_START": "fins a #",
+       "LISTS_GET_SUBLIST_END_FROM_END": "fins a # dempuèi la fin",
+       "LISTS_GET_SUBLIST_END_LAST": "fins a la fin",
+       "LISTS_SORT_TITLE": "triar %1 %2 %3",
+       "LISTS_SORT_ORDER_ASCENDING": "creissent",
+       "LISTS_SORT_ORDER_DESCENDING": "descreissent",
+       "LISTS_SORT_TYPE_NUMERIC": "numeric",
+       "LISTS_SORT_TYPE_TEXT": "alfabetic",
+       "LISTS_SPLIT_WITH_DELIMITER": "amb lo separador",
+       "LISTS_REVERSE_MESSAGE0": "inversar %1",
+       "LISTS_REVERSE_TOOLTIP": "Inversar la còpia d’una lista.",
+       "VARIABLES_GET_CREATE_SET": "Crear 'fixar %1'",
+       "VARIABLES_SET": "fixar %1 a %2",
+       "VARIABLES_SET_CREATE_GET": "Crear 'obténer %1'",
+       "PROCEDURES_DEFNORETURN_TITLE": "a",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "far quicòm",
+       "PROCEDURES_BEFORE_PARAMS": "amb :",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "amb :",
+       "PROCEDURES_DEFRETURN_RETURN": "retorn",
+       "PROCEDURES_ALLOW_STATEMENTS": "autorizar los òrdres",
+       "PROCEDURES_CALLNORETURN_HELPURL": "https://en.wikipedia.org/wiki/Subroutine",
+       "PROCEDURES_CALLRETURN_HELPURL": "https://en.wikipedia.org/wiki/Subroutine",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "entradas",
+       "PROCEDURES_MUTATORARG_TITLE": "nom de l’entrada :",
+       "PROCEDURES_CREATE_DO": "Crear '%1'"
+}
diff --git a/js/msg/json/pl.json b/js/msg/json/pl.json
new file mode 100644 (file)
index 0000000..c503199
--- /dev/null
@@ -0,0 +1,384 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Cotidianis",
+                       "Faren",
+                       "Vengir",
+                       "Pbz",
+                       "Pio387",
+                       "ì•„ë¼",
+                       "Mateon1",
+                       "Expert3222",
+                       "Cirasean",
+                       "Fringoo",
+                       "Chrumps",
+                       "Woytecr",
+                       "Liuxinyu970226",
+                       "Krottyianock",
+                       "Mazab IZW",
+                       "Teeed",
+                       "InternerowyGoÅ‚Ä…b",
+                       "Wojtas",
+                       "Stojex"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "element",
+       "TODAY": "Dzisiaj",
+       "DUPLICATE_BLOCK": "Powiel",
+       "ADD_COMMENT": "Dodaj Komentarz",
+       "REMOVE_COMMENT": "UsuÅ„ komentarz",
+       "DUPLICATE_COMMENT": "Zduplikowany komentarz",
+       "EXTERNAL_INPUTS": "ZewnÄ™trzne WejÅ›cia",
+       "INLINE_INPUTS": "Wbudowane WejÅ›cia",
+       "DELETE_BLOCK": "UsuÅ„ Klocek",
+       "DELETE_X_BLOCKS": "UsuÅ„ %1 Bloki(ów)",
+       "DELETE_ALL_BLOCKS": "Usunąć wszystkie klocki z %1?",
+       "CLEAN_UP": "UporzÄ…dkuj Bloki",
+       "COLLAPSE_BLOCK": "ZwiÅ„ Klocek",
+       "COLLAPSE_ALL": "ZwiÅ„ Bloki",
+       "EXPAND_BLOCK": "RozwiÅ„ Klocek",
+       "EXPAND_ALL": "RozwiÅ„ Bloki",
+       "DISABLE_BLOCK": "WyÅ‚Ä…cz Klocek",
+       "ENABLE_BLOCK": "WÅ‚Ä…cz Blok",
+       "HELP": "Pomoc",
+       "UNDO": "Cofnij",
+       "REDO": "Ponów",
+       "CHANGE_VALUE_TITLE": "ZmieÅ„ wartość:",
+       "RENAME_VARIABLE": "ZmieÅ„ nazwÄ™ zmiennej...",
+       "RENAME_VARIABLE_TITLE": "ZmieÅ„ nazwy wszystkich '%1' zmiennych na:",
+       "NEW_VARIABLE": "Utwórz zmiennÄ…...",
+       "NEW_STRING_VARIABLE": "Utwórz zmiennÄ… typu string",
+       "NEW_NUMBER_VARIABLE": "Utwórz zmiennÄ… typu number",
+       "NEW_COLOUR_VARIABLE": "Utwórz zmiennÄ… colour",
+       "NEW_VARIABLE_TYPE_TITLE": "Nowy typ zmiennej:",
+       "NEW_VARIABLE_TITLE": "Nowa nazwa zmiennej:",
+       "VARIABLE_ALREADY_EXISTS": "Zmienna o nazwie '%1' już istnieje.",
+       "VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE": "Zmienna o nazwie '%1' już istnieje i jest typu '%2'.",
+       "DELETE_VARIABLE_CONFIRMATION": "Usunąć %1 wystÄ…pieÅ„ zmiennej '%2'?",
+       "CANNOT_DELETE_VARIABLE_PROCEDURE": "Nie można usunąć zmiennej '%1', ponieważ jest częściÄ… definicji funkcji '%2'",
+       "DELETE_VARIABLE": "UsuÅ„ zmiennÄ… '%1'",
+       "COLOUR_PICKER_HELPURL": "https://en.wikipedia.org/wiki/Color",
+       "COLOUR_PICKER_TOOLTIP": "Wybierz kolor z palety.",
+       "COLOUR_RANDOM_TITLE": "losowy kolor",
+       "COLOUR_RANDOM_TOOLTIP": "Wybierz kolor w sposób losowy.",
+       "COLOUR_RGB_HELPURL": "http://www.december.com/html/spec/colorper.html",
+       "COLOUR_RGB_TITLE": "kolor z",
+       "COLOUR_RGB_RED": "czerwony",
+       "COLOUR_RGB_GREEN": "zielony",
+       "COLOUR_RGB_BLUE": "niebieski",
+       "COLOUR_RGB_TOOLTIP": "Utwórz kolor skÅ‚adajÄ…cy sie z podanej iloÅ›ci czerwieni, zieleni i bÅ‚Ä™kitu. Zakres wartoÅ›ci: 0 do 100.",
+       "COLOUR_BLEND_HELPURL": "http://meyerweb.com/eric/tools/color-blend/",
+       "COLOUR_BLEND_TITLE": "wymieszaj",
+       "COLOUR_BLEND_COLOUR1": "kolor 1",
+       "COLOUR_BLEND_COLOUR2": "kolor 2",
+       "COLOUR_BLEND_RATIO": "proporcja",
+       "COLOUR_BLEND_TOOLTIP": "Miesza dwa kolory w danej proporcji (0.0 - 1.0).",
+       "CONTROLS_REPEAT_HELPURL": "https://en.wikipedia.org/wiki/For_loop",
+       "CONTROLS_REPEAT_TITLE": "powtórz %1 razy",
+       "CONTROLS_REPEAT_INPUT_DO": "wykonaj",
+       "CONTROLS_REPEAT_TOOLTIP": "Wykonaj niektóre instrukcje kilka razy.",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "powtarzaj dopóki",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "powtarzaj aż do",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "Dopóki wyrażenie jest prawdziwe, wykonaj zadane czynnoÅ›ci.",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "Dopóki wyrażenie jest nieprawdziwe, wykonaj zadane czynnoÅ›ci.",
+       "CONTROLS_FOR_TOOLTIP": "Zmiennej '%1' przypisuje wartoÅ›ci z podanego zakresu z podanym interwaÅ‚em i wykonuje zadane bloki.",
+       "CONTROLS_FOR_TITLE": "licz z %1 od %2 do %3 co %4 (wartość kroku)",
+       "CONTROLS_FOREACH_TITLE": "dla każdego elementu %1 listy %2",
+       "CONTROLS_FOREACH_TOOLTIP": "Przypisz zmiennej '%1' kolejno wartość każdego elementu listy, a nastÄ™pnie wykonaj kilka instrukcji.",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "przerwij pÄ™tlÄ™",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "przejdź do kolejnej iteracji pÄ™tli",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "Przerwij dziaÅ‚anie pÄ™tli.",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "PomiÅ„ resztÄ™ pÄ™tli i kontynuuj w kolejnej iteracji.",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "Uwaga: Ten klocek może być użyty tylko wewnÄ…trz pÄ™tli.",
+       "CONTROLS_IF_TOOLTIP_1": "JeÅ›li warunek jest speÅ‚niony, wykonaj zadane czynnoÅ›ci.",
+       "CONTROLS_IF_TOOLTIP_2": "JeÅ›li warunek jest speÅ‚niony, wykonaj pierwszy blok instrukcji.  W przeciwnym razie, wykonaj drugi blok instrukcji.",
+       "CONTROLS_IF_TOOLTIP_3": "JeÅ›li pierwszy warunek jest speÅ‚niony, wykonaj pierwszy blok instrukcji.  W przeciwnym razie, jeÅ›li drugi warunek jest speÅ‚niony, wykonaj drugi blok instrukcji.",
+       "CONTROLS_IF_TOOLTIP_4": "JeÅ›li pierwszy warunek jest speÅ‚niony, wykonaj pierwszy blok czynnoÅ›ci.  W przeciwnym razie jeÅ›li drugi warunek jest speÅ‚niony, wykonaj drugi blok czynnoÅ›ci.  Jeżeli Å¼aden z warunków nie zostanie speÅ‚niony, wykonaj ostatni blok czynnoÅ›ci.",
+       "CONTROLS_IF_MSG_IF": "jeÅ›li",
+       "CONTROLS_IF_MSG_ELSEIF": "w przeciwnym razie, jeÅ›li",
+       "CONTROLS_IF_MSG_ELSE": "w przeciwnym razie",
+       "CONTROLS_IF_IF_TOOLTIP": "Dodaj, usuÅ„ lub zmieÅ„ kolejność czynnoÅ›ci, Å¼eby zmodyfikować ten klocek â€žjeÅ›liâ€.",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "Dodaj warunek do klocka â€žjeÅ›liâ€.",
+       "CONTROLS_IF_ELSE_TOOLTIP": "Dodaj ostatni zawsze prawdziwy warunek do klocka â€žjeÅ›liâ€.",
+       "IOS_OK": "OK",
+       "IOS_CANCEL": "Anuluj",
+       "IOS_ERROR": "BÅ‚Ä…d",
+       "IOS_PROCEDURES_INPUTS": "WEJÅšCIA",
+       "IOS_PROCEDURES_ADD_INPUT": "+ Dodaj WejÅ›cie",
+       "IOS_PROCEDURES_ALLOW_STATEMENTS": "Zezwalaj na czynnoÅ›ci.",
+       "IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR": "Ta funkcja ma zduplikowane wejÅ›cia.",
+       "IOS_VARIABLES_ADD_VARIABLE": "+ Dodaj ZmiennÄ…",
+       "IOS_VARIABLES_ADD_BUTTON": "Dodaj",
+       "IOS_VARIABLES_RENAME_BUTTON": "ZmieÅ„ nazwÄ™",
+       "IOS_VARIABLES_DELETE_BUTTON": "UsuÅ„",
+       "IOS_VARIABLES_VARIABLE_NAME": "Nazwa zmiennej",
+       "IOS_VARIABLES_EMPTY_NAME_ERROR": "Nie możesz utworzyć funkcji bez nazwy.",
+       "LOGIC_COMPARE_HELPURL": "https://pl.wikipedia.org/wiki/Nierówność",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "Zwraca \"prawda\", jeÅ›li wejÅ›cia sÄ… identyczne.",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "Zwraca \"prawda\", jeÅ›li wejÅ›cia nie sÄ… identyczne.",
+       "LOGIC_COMPARE_TOOLTIP_LT": "Zwraca \"prawda\" jeÅ›li pierwsze wejÅ›cie jest mniejsze od drugiego.",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "Zwraca \"prawda\", jeÅ›li pierwsze wejÅ›cie jest mniejsze lub równe drugiemu.",
+       "LOGIC_COMPARE_TOOLTIP_GT": "Zwraca \"prawda\" jeÅ›li pierwsze wejÅ›cie jest wiÄ™ksze od drugiego.",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "Zwraca \"prawda\", jeÅ›li pierwsze wejÅ›cie jest wiÄ™ksze lub równe drugiemu.",
+       "LOGIC_OPERATION_TOOLTIP_AND": "Zwraca \"prawda\" jeÅ›li na obydwóch wejÅ›ciach jest \"prawda\".",
+       "LOGIC_OPERATION_AND": "i",
+       "LOGIC_OPERATION_TOOLTIP_OR": "Zwraca \"prawda\" jeÅ›li co najmniej na jednyk wejÅ›ciu jest \"prawda\".",
+       "LOGIC_OPERATION_OR": "lub",
+       "LOGIC_NEGATE_TITLE": "nie %1",
+       "LOGIC_NEGATE_TOOLTIP": "Zwraca \"prawda\", jeÅ›li wejÅ›ciu jest \"faÅ‚sz\". Zwraca \"faÅ‚sz\", jeÅ›li na wejÅ›ciu jest \"prawda\".",
+       "LOGIC_BOOLEAN_TRUE": "prawda",
+       "LOGIC_BOOLEAN_FALSE": "faÅ‚sz",
+       "LOGIC_BOOLEAN_TOOLTIP": "Zwraca 'prawda' lub 'faÅ‚sz'.",
+       "LOGIC_NULL_HELPURL": "https://en.wikipedia.org/wiki/Nullable_type",
+       "LOGIC_NULL": "nic",
+       "LOGIC_NULL_TOOLTIP": "Zwraca nic.",
+       "LOGIC_TERNARY_HELPURL": "https://en.wikipedia.org/wiki/%3F:",
+       "LOGIC_TERNARY_CONDITION": "test",
+       "LOGIC_TERNARY_IF_TRUE": "jeÅ›li prawda",
+       "LOGIC_TERNARY_IF_FALSE": "jeÅ›li faÅ‚sz",
+       "LOGIC_TERNARY_TOOLTIP": "Sprawdź warunek w â€žtestâ€. JeÅ›li warunek jest prawdziwy, to zwróci â€žjeÅ›li prawdaâ€; jeÅ›li nie jest prawdziwy to zwróci â€žjeÅ›li faÅ‚szâ€.",
+       "MATH_NUMBER_HELPURL": "https://en.wikipedia.org/wiki/Number",
+       "MATH_NUMBER_TOOLTIP": "Liczba.",
+       "MATH_ADDITION_SYMBOL": "+",
+       "MATH_SUBTRACTION_SYMBOL": "-",
+       "MATH_DIVISION_SYMBOL": "/",
+       "MATH_MULTIPLICATION_SYMBOL": "×",
+       "MATH_POWER_SYMBOL": "^",
+       "MATH_TRIG_SIN": "sin",
+       "MATH_TRIG_COS": "cos",
+       "MATH_TRIG_TAN": "tg",
+       "MATH_TRIG_ASIN": "arcsin",
+       "MATH_TRIG_ACOS": "arccos",
+       "MATH_TRIG_ATAN": "arctg",
+       "MATH_ARITHMETIC_HELPURL": "https://pl.wikipedia.org/wiki/Arytmetyka",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "Zwróć sumÄ™ dwóch liczb.",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "Zwróć różnicÄ™ dwóch liczb.",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "Zwróć iloczyn dwóch liczb.",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "Zwróć iloraz dwóch liczb.",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "Zwróć pierwszÄ… liczbÄ™ podniesionÄ… do potÄ™gi o wykÅ‚adniku drugiej liczby.",
+       "MATH_SINGLE_HELPURL": "https://pl.wikipedia.org/wiki/Pierwiastek_kwadratowy",
+       "MATH_SINGLE_OP_ROOT": "pierwiastek kwadratowy",
+       "MATH_SINGLE_TOOLTIP_ROOT": "Zwróć pierwiastek kwadratowy danej liczby.",
+       "MATH_SINGLE_OP_ABSOLUTE": "wartość bezwzglÄ™dna",
+       "MATH_SINGLE_TOOLTIP_ABS": "Zwróć wartość bezwzglÄ™dnÄ… danej liczby.",
+       "MATH_SINGLE_TOOLTIP_NEG": "Zwróć negacjÄ™ danej liczby.",
+       "MATH_SINGLE_TOOLTIP_LN": "Zwróć logarytm naturalny danej liczby.",
+       "MATH_SINGLE_TOOLTIP_LOG10": "Zwraca logarytm dziesiÄ™tny danej liczby.",
+       "MATH_SINGLE_TOOLTIP_EXP": "Zwróć e do potÄ™gi danej liczby.",
+       "MATH_SINGLE_TOOLTIP_POW10": "Zwróć 10 do potÄ™gi danej liczby.",
+       "MATH_TRIG_HELPURL": "https://pl.wikipedia.org/wiki/Funkcje_trygonometryczne",
+       "MATH_TRIG_TOOLTIP_SIN": "Zwróć wartość sinusa o stopniu (nie w radianach).",
+       "MATH_TRIG_TOOLTIP_COS": "Zwróć wartość cosinusa o stopniu (nie w radianach).",
+       "MATH_TRIG_TOOLTIP_TAN": "Zwróć tangens o stopniu (nie w radianach).",
+       "MATH_TRIG_TOOLTIP_ASIN": "Zwróć arcus sinus danej liczby.",
+       "MATH_TRIG_TOOLTIP_ACOS": "Zwróć arcus cosinus danej liczby.",
+       "MATH_TRIG_TOOLTIP_ATAN": "Zwróć arcus tangens danej liczby.",
+       "MATH_CONSTANT_HELPURL": "https://pl.wikipedia.org/wiki/StaÅ‚a_(matematyka)",
+       "MATH_CONSTANT_TOOLTIP": "Zwróć jednÄ… wspólnÄ… staÅ‚Ä…: Ï€ (3.141), e (2.718...), Ï† (1.618...), sqrt(2) (1.414...), sqrt(½) (0.707...) lub âˆž (nieskoÅ„czoność).",
+       "MATH_IS_EVEN": "jest parzysta",
+       "MATH_IS_ODD": "jest nieparzysta",
+       "MATH_IS_PRIME": "jest liczbÄ… pierwszÄ…",
+       "MATH_IS_WHOLE": "jest liczbÄ… caÅ‚kowitÄ…",
+       "MATH_IS_POSITIVE": "jest dodatnia",
+       "MATH_IS_NEGATIVE": "jest ujemna",
+       "MATH_IS_DIVISIBLE_BY": "jest podzielna przez",
+       "MATH_IS_TOOLTIP": "Sprawdź, czy liczba jest parzysta, nieparzysta, pierwsza, caÅ‚kowita, dodatnia, ujemna, lub czy jest podzielna przez podanÄ… liczbÄ™. Zwraca wartość \"prawda\" lub \"faÅ‚sz\".",
+       "MATH_CHANGE_HELPURL": "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter",
+       "MATH_CHANGE_TITLE": "zmieÅ„ %1 o %2",
+       "MATH_CHANGE_TOOLTIP": "Dodaj liczbÄ™ do zmiennej '%1'.",
+       "MATH_ROUND_HELPURL": "https://pl.wikipedia.org/wiki/ZaokrÄ…glanie",
+       "MATH_ROUND_TOOLTIP": "ZaokrÄ…glij w górÄ™ lub w dół.",
+       "MATH_ROUND_OPERATOR_ROUND": "zaokrÄ…glij",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "zaokrÄ…glij w górÄ™",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "zaokrÄ…glij w dół",
+       "MATH_ONLIST_HELPURL": "",
+       "MATH_ONLIST_OPERATOR_SUM": "suma elementów listy",
+       "MATH_ONLIST_TOOLTIP_SUM": "Zwróć sumÄ™ wszystkich liczb z listy.",
+       "MATH_ONLIST_OPERATOR_MIN": "minimalna wartość z listy",
+       "MATH_ONLIST_TOOLTIP_MIN": "Zwróć najmniejszÄ… liczbÄ™ w liÅ›cie.",
+       "MATH_ONLIST_OPERATOR_MAX": "maksymalna wartość z listy",
+       "MATH_ONLIST_TOOLTIP_MAX": "Zwróć najwiÄ™kszÄ… liczbÄ™ w liÅ›cie.",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "Å›rednia elementów listy",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "Zwróć Å›redniÄ… (Å›redniÄ… arytmetycznÄ…) wartoÅ›ci liczbowych z listy.",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "mediana listy",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "Zwróć medianÄ™ listy.",
+       "MATH_ONLIST_OPERATOR_MODE": "dominanty listy",
+       "MATH_ONLIST_TOOLTIP_MODE": "Zwróć listÄ™ najczęściej wystÄ™pujÄ…cych elementów w liÅ›cie.",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "odchylenie standardowe listy",
+       "MATH_ONLIST_TOOLTIP_STD_DEV": "Zwróć odchylenie standardowe listy.",
+       "MATH_ONLIST_OPERATOR_RANDOM": "losowy element z listy",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "Zwróć losowy element z listy.",
+       "MATH_MODULO_HELPURL": "https://pl.wikipedia.org/wiki/Modulo",
+       "MATH_MODULO_TITLE": "reszta z dzielenia %1 przez %2",
+       "MATH_MODULO_TOOLTIP": "Zwróć resztÄ™ z dzielenia dwóch liczb przez siebie.",
+       "MATH_CONSTRAIN_TITLE": "ogranicz %1 z doÅ‚u %2 z góry %3",
+       "MATH_CONSTRAIN_TOOLTIP": "Ogranicz liczbÄ™, aby byÅ‚a w okreÅ›lonych granicach (wÅ‚Ä…cznie).",
+       "MATH_RANDOM_INT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_INT_TITLE": "losowa liczba caÅ‚kowita od %1 do %2",
+       "MATH_RANDOM_INT_TOOLTIP": "Zwróć losowÄ… liczbÄ™ caÅ‚kowitÄ… w ramach dwóch wyznaczonych granic, wÅ‚Ä…cznie.",
+       "MATH_RANDOM_FLOAT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "losowy uÅ‚amek",
+       "MATH_RANDOM_FLOAT_TOOLTIP": "Zwróć losowy uÅ‚amek miÄ™dzy 0.0 (wÅ‚Ä…cznie), a 1.0 (wyÅ‚Ä…cznie).",
+       "TEXT_TEXT_HELPURL": "https://pl.wikipedia.org/wiki/Tekstowy_typ_danych",
+       "TEXT_TEXT_TOOLTIP": "Litera, wyraz lub linia tekstu.",
+       "TEXT_JOIN_TITLE_CREATEWITH": "utwórz tekst z",
+       "TEXT_JOIN_TOOLTIP": "Tworzy fragment tekstu, Å‚Ä…czÄ…c ze sobÄ… dowolnÄ… liczbÄ™ tekstów.",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "poÅ‚Ä…cz",
+       "TEXT_CREATE_JOIN_TOOLTIP": "Dodaj, usuÅ„ lub zmieÅ„ kolejność sekcji, aby zmodyfikować klocek tekstowy.",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "Dodaj element do tekstu.",
+       "TEXT_APPEND_TITLE": "dodaj tekst %2 do %1",
+       "TEXT_APPEND_TOOLTIP": "DoÅ‚Ä…cz tekst do zmiennej '%1'.",
+       "TEXT_LENGTH_TITLE": "dÅ‚ugość %1",
+       "TEXT_LENGTH_TOOLTIP": "Zwraca liczbÄ™ liter (Å‚Ä…cznie ze spacjami) w podanym tekÅ›cie.",
+       "TEXT_ISEMPTY_TITLE": "%1 jest pusty",
+       "TEXT_ISEMPTY_TOOLTIP": "Zwraca prawda (true), jeÅ›li podany tekst jest pusty.",
+       "TEXT_INDEXOF_TOOLTIP": "Zwraca indeks pierwszego/ostatniego wystÄ…pienia pierwszego tekstu w drugim tekÅ›cie. Zwraca wartość %1, jeÅ›li tekst nie zostaÅ‚ znaleziony.",
+       "TEXT_INDEXOF_TITLE": "w tekÅ›cie %1 %2 %3",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "znajdź pierwsze wystÄ…pienie tekstu",
+       "TEXT_INDEXOF_OPERATOR_LAST": "znajdź ostatnie wystÄ…pienie tekstu",
+       "TEXT_CHARAT_TITLE": "w tekÅ›cie %1 %2",
+       "TEXT_CHARAT_FROM_START": "pobierz literÄ™ #",
+       "TEXT_CHARAT_FROM_END": "pobierz literÄ™ # od koÅ„ca",
+       "TEXT_CHARAT_FIRST": "pobierz pierwszÄ… literÄ™",
+       "TEXT_CHARAT_LAST": "pobierz ostatniÄ… literÄ™",
+       "TEXT_CHARAT_RANDOM": "pobierz losowÄ… literÄ™",
+       "TEXT_CHARAT_TAIL": "",
+       "TEXT_CHARAT_TOOLTIP": "Zwraca literÄ™ z okreÅ›lonej pozycji.",
+       "TEXT_GET_SUBSTRING_TOOLTIP": "Zwraca okreÅ›lonÄ… część tekstu.",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "w tekÅ›cie",
+       "TEXT_GET_SUBSTRING_START_FROM_START": "pobierz podciÄ…g od # litery",
+       "TEXT_GET_SUBSTRING_START_FROM_END": "pobierz podciÄ…g od # litery od koÅ„ca",
+       "TEXT_GET_SUBSTRING_START_FIRST": "pobierz podciÄ…g od pierwszej litery",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "do # litery",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "do # litery od koÅ„ca",
+       "TEXT_GET_SUBSTRING_END_LAST": "do ostatniej litery",
+       "TEXT_GET_SUBSTRING_TAIL": "",
+       "TEXT_CHANGECASE_TOOLTIP": "Zwraca kopiÄ™ tekstu z odwruconÄ… wielkoÅ›ciÄ… liter.",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "na WIELKIE LITERY",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "na maÅ‚e litery",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": "na Pierwsza Duża",
+       "TEXT_TRIM_TOOLTIP": "Zwraca kopiÄ™ tekstu z usuniÄ™tymi spacjami z jednego lub z obu koÅ„ców tekstu.",
+       "TEXT_TRIM_OPERATOR_BOTH": "usuÅ„ spacje po obu stronach",
+       "TEXT_TRIM_OPERATOR_LEFT": "usuÅ„ spacje z lewej strony",
+       "TEXT_TRIM_OPERATOR_RIGHT": "usuÅ„ spacje z prawej strony",
+       "TEXT_PRINT_TITLE": "wydrukuj %1",
+       "TEXT_PRINT_TOOLTIP": "WyÅ›wietl okreÅ›lony tekst, liczbÄ™ lub innÄ… wartość.",
+       "TEXT_PROMPT_TYPE_TEXT": "poproÅ› o tekst z tÄ… wiadomoÅ›ciÄ…",
+       "TEXT_PROMPT_TYPE_NUMBER": "poproÅ› o liczbÄ™ z tÄ… wiadomoÅ›ciÄ…",
+       "TEXT_PROMPT_TOOLTIP_NUMBER": "Zapytaj użytkownika  o liczbÄ™.",
+       "TEXT_PROMPT_TOOLTIP_TEXT": "Zapytaj użytkownika o jakiÅ› tekst.",
+       "TEXT_COUNT_MESSAGE0": "policz %1 w %2",
+       "TEXT_COUNT_HELPURL": "https://github.com/google/blockly/wiki/Text#counting-substrings",
+       "TEXT_COUNT_TOOLTIP": "Liczy ile razy dany tekst wystÄ™puje w innym tekÅ›cie.",
+       "TEXT_REPLACE_MESSAGE0": "zamieÅ„ %1 na %2 w %3",
+       "TEXT_REPLACE_TOOLTIP": "ZastÄ…p wszystkie wystÄ…pienia danego tekstu innym.",
+       "TEXT_REVERSE_MESSAGE0": "odwróć %1",
+       "TEXT_REVERSE_HELPURL": "https://github.com/google/blockly/wiki/Text#reversing-text",
+       "TEXT_REVERSE_TOOLTIP": "Odwraca kolejność znaków w tekÅ›cie.",
+       "LISTS_CREATE_EMPTY_HELPURL": "https://github.com/google/blockly/wiki/Lists#create-empty-list",
+       "LISTS_CREATE_EMPTY_TITLE": "utwórz pustÄ… listÄ™",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "Zwraca listÄ™ o dÅ‚ugoÅ›ci 0, nie zawierajÄ…cÄ… danych",
+       "LISTS_CREATE_WITH_TOOLTIP": "Utwórz listÄ™ z dowolnÄ… iloÅ›ciÄ… elementów.",
+       "LISTS_CREATE_WITH_INPUT_WITH": "utwórz listÄ™ z",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "lista",
+       "LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "Dodaj, usuÅ„ lub zmieÅ„ kolejność sekcji aby przekonfigurować blok tej listy.",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "Dodaj element do listy.",
+       "LISTS_REPEAT_TOOLTIP": "Tworzy listÄ™ zawierajÄ…cÄ… podanÄ… wartość powtórzonÄ… Å¼Ä…danÄ… ilość razy.",
+       "LISTS_REPEAT_TITLE": "utwórz listÄ™ powtarzajÄ…c %1 %2 razy.",
+       "LISTS_LENGTH_TITLE": "dÅ‚ugość %1",
+       "LISTS_LENGTH_TOOLTIP": "Zwraca dÅ‚ugość listy.",
+       "LISTS_ISEMPTY_TITLE": "%1 jest pusta",
+       "LISTS_ISEMPTY_TOOLTIP": "Zwraca \"prawda\" jeÅ›li lista jest pusta.",
+       "LISTS_INLIST": "na liÅ›cie",
+       "LISTS_INDEX_OF_FIRST": "znajdź pierwsze wystÄ…pienie elementu",
+       "LISTS_INDEX_OF_LAST": "znajdź ostatanie wystÄ…pienie elementu",
+       "LISTS_INDEX_OF_TOOLTIP": "Zwraca indeks pierwszego/ostatniego wystÄ…pienia elementu z listy. Zwraca %1, jeÅ›li nie zostanie znaleziony.",
+       "LISTS_GET_INDEX_GET": "pobierz",
+       "LISTS_GET_INDEX_GET_REMOVE": "zabierz",
+       "LISTS_GET_INDEX_REMOVE": "usuÅ„",
+       "LISTS_GET_INDEX_FROM_START": "#",
+       "LISTS_GET_INDEX_FROM_END": "# od koÅ„ca",
+       "LISTS_GET_INDEX_FIRST": "pierwszy",
+       "LISTS_GET_INDEX_LAST": "ostatni",
+       "LISTS_GET_INDEX_RANDOM": "losowy",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "%1 to pierwszy element.",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "%1 to ostatni element.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "Zwraca element z konkretnej pozycji na liÅ›cie.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "Zwraca pierwszy element z listy.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "Zwraca ostatni element z listy.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "Zwraca losowy element z listy.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "Usuwa i zwraca element z okreÅ›lonej pozycji na liÅ›cie.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "Usuwa i zwraca pierwszy element z listy.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "Usuwa i zwraca ostatni element z listy.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "Usuwa i zwraca losowy element z listy.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "Usuwa element z okreÅ›lonej pozycji na liÅ›cie.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "Usuwa pierwszy element z listy.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "Usuwa ostatni element z listy.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "Usuwa losowy element z listy.",
+       "LISTS_SET_INDEX_SET": "ustaw",
+       "LISTS_SET_INDEX_INSERT": "wstaw w",
+       "LISTS_SET_INDEX_INPUT_TO": "jako",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "Ustawia element w okreÅ›lonym miejscu na liÅ›cie.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "Ustawia pierwszy element na liÅ›cie.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_LAST": "Ustawia ostatni element na liÅ›cie.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "Ustawia losowy element na liÅ›cie.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "Wstawia element na Å¼Ä…danej pozycji listy.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "Wstawia element na poczÄ…tku listy.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "Dodaj element na koniec listy.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "Wstawia element w losowym miejscu na liÅ›cie.",
+       "LISTS_GET_SUBLIST_START_FROM_START": "utwórz listÄ™ podrzÄ™dnÄ… z #",
+       "LISTS_GET_SUBLIST_START_FROM_END": "utwórz listÄ™ podrzÄ™dnÄ… z # od koÅ„ca",
+       "LISTS_GET_SUBLIST_START_FIRST": "utwórz listÄ™ podrzÄ™dnÄ… od pierwszego",
+       "LISTS_GET_SUBLIST_END_FROM_START": "do #",
+       "LISTS_GET_SUBLIST_END_FROM_END": "do # od koÅ„ca",
+       "LISTS_GET_SUBLIST_END_LAST": "do ostatniego",
+       "LISTS_GET_SUBLIST_TAIL": "",
+       "LISTS_GET_SUBLIST_TOOLTIP": "Tworzy kopiÄ™ Å¼Ä…danej części listy.",
+       "LISTS_SORT_HELPURL": "https://github.com/google/blockly/wiki/Lists#sorting-a-list",
+       "LISTS_SORT_TITLE": "sortuj %1 %2 %3",
+       "LISTS_SORT_TOOLTIP": "Sortuj kopiÄ™ listy.",
+       "LISTS_SORT_ORDER_ASCENDING": "rosnÄ…co",
+       "LISTS_SORT_ORDER_DESCENDING": "malejÄ…co",
+       "LISTS_SORT_TYPE_NUMERIC": "numerycznie",
+       "LISTS_SORT_TYPE_TEXT": "alfabetycznie",
+       "LISTS_SORT_TYPE_IGNORECASE": "alfabetycznie, ignoruj wielkość liter",
+       "LISTS_SPLIT_LIST_FROM_TEXT": "utwórz listÄ™ z tekstu",
+       "LISTS_SPLIT_TEXT_FROM_LIST": "utwórz tekst z listy",
+       "LISTS_SPLIT_WITH_DELIMITER": "z separatorem",
+       "LISTS_SPLIT_TOOLTIP_SPLIT": "Rozdziela tekst zgodnie z separatorem tworzÄ…c listÄ™ z powstaÅ‚ych elementów.",
+       "LISTS_SPLIT_TOOLTIP_JOIN": "ÅÄ…czy listÄ™ tekstów w jeden tekst, rozdzielany separatorem.",
+       "LISTS_REVERSE_MESSAGE0": "odwróć %1",
+       "LISTS_REVERSE_TOOLTIP": "Odwraca kolejność danych w kopii listy.",
+       "ORDINAL_NUMBER_SUFFIX": "",
+       "VARIABLES_GET_TOOLTIP": "Zwraca wartość tej zmiennej.",
+       "VARIABLES_GET_CREATE_SET": "Utwórz klocek 'ustaw %1'",
+       "VARIABLES_SET": "przypisz %1 wartość %2",
+       "VARIABLES_SET_TOOLTIP": "WartoÅ›ci zmiennej i  wejÅ›cie bÄ™dÄ… identyczne.",
+       "VARIABLES_SET_CREATE_GET": "Utwórz klocek 'pobierz %1'",
+       "PROCEDURES_DEFNORETURN_HELPURL": "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29",
+       "PROCEDURES_DEFNORETURN_TITLE": "do",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "zrób coÅ›",
+       "PROCEDURES_BEFORE_PARAMS": "z:",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "z:",
+       "PROCEDURES_DEFNORETURN_DO": "",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "Tworzy funkcjÄ™ nie posiadajÄ…cÄ… wyjÅ›cia.",
+       "PROCEDURES_DEFNORETURN_COMMENT": "Opisz tÄ™ funkcjÄ™...",
+       "PROCEDURES_DEFRETURN_HELPURL": "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29",
+       "PROCEDURES_DEFRETURN_RETURN": "zwróć",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "Tworzy funkcjÄ™ posiadajÄ…cÄ… wyjÅ›cie.",
+       "PROCEDURES_ALLOW_STATEMENTS": "zezwól na czynnoÅ›ci",
+       "PROCEDURES_DEF_DUPLICATE_WARNING": "Uwaga: Ta funkcja ma powtórzone parametry.",
+       "PROCEDURES_CALLNORETURN_HELPURL": "https://pl.wikipedia.org/wiki/Podprogram",
+       "PROCEDURES_CALLNORETURN_TOOLTIP": "Uruchom zdefiniowanÄ… przez użytkownika funkcjÄ™ '%1'.",
+       "PROCEDURES_CALLRETURN_HELPURL": "https://pl.wikipedia.org/wiki/Podprogram",
+       "PROCEDURES_CALLRETURN_TOOLTIP": "Uruchom zdefiniowanÄ… przez użytkownika funkcjÄ™ '%1' i użyj jej wyjÅ›cia.",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "wejÅ›cia",
+       "PROCEDURES_MUTATORCONTAINER_TOOLTIP": "Dodaj, usuÅ„ lub zmieÅ„ kolejność wejść tej funkcji.",
+       "PROCEDURES_MUTATORARG_TITLE": "nazwa wejÅ›cia:",
+       "PROCEDURES_MUTATORARG_TOOLTIP": "Dodaj wejÅ›cie do funkcji.",
+       "PROCEDURES_HIGHLIGHT_DEF": "PodÅ›wietl definicjÄ™ funkcji",
+       "PROCEDURES_CREATE_DO": "Utwórz '%1'",
+       "PROCEDURES_IFRETURN_TOOLTIP": "JeÅ›li warunek jest speÅ‚niony zwróć drugÄ… wartość.",
+       "PROCEDURES_IFRETURN_WARNING": "Uwaga: Ten klocek może być używany tylko w definicji funkcji.",
+       "WORKSPACE_COMMENT_DEFAULT_TEXT": "Powiedz coÅ›..."
+}
diff --git a/js/msg/json/pms.json b/js/msg/json/pms.json
new file mode 100644 (file)
index 0000000..6bdc32f
--- /dev/null
@@ -0,0 +1,346 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Borichèt"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "element",
+       "TODAY": "Ancheuj",
+       "DUPLICATE_BLOCK": "Dupliché",
+       "ADD_COMMENT": "Gionté un coment",
+       "REMOVE_COMMENT": "Scancelé un coment",
+       "DUPLICATE_COMMENT": "Dupliché ël coment",
+       "EXTERNAL_INPUTS": "Imission esterne",
+       "INLINE_INPUTS": "Imission an linia",
+       "DELETE_BLOCK": "Scancelé ël blòch",
+       "DELETE_X_BLOCKS": "Scancelé %1 blòch",
+       "DELETE_ALL_BLOCKS": "Scancelé tuti ij %1 blòch?",
+       "CLEAN_UP": "Dëscancelé ij blòch",
+       "COLLAPSE_BLOCK": "Arduve ël blòch",
+       "COLLAPSE_ALL": "Arduve ij blòch",
+       "EXPAND_BLOCK": "Dësvlupé ël blòch",
+       "EXPAND_ALL": "Dësvlupé ij blòch",
+       "DISABLE_BLOCK": "Disativé ël blòch",
+       "ENABLE_BLOCK": "Ativé ël blòch",
+       "HELP": "Agiut",
+       "UNDO": "Anulé",
+       "REDO": "Fé torna",
+       "CHANGE_VALUE_TITLE": "Modifiché ël valor:",
+       "RENAME_VARIABLE": "Arnomé la variàbil...",
+       "RENAME_VARIABLE_TITLE": "Arnomé tute le variàbij '%1' 'me:",
+       "NEW_VARIABLE": "Creé na variàbil...",
+       "NEW_STRING_VARIABLE": "Creé na variàbil dë stringa...",
+       "NEW_NUMBER_VARIABLE": "Creé na variàbil numérica...",
+       "NEW_COLOUR_VARIABLE": "Creé na variàbil ëd color...",
+       "NEW_VARIABLE_TYPE_TITLE": "Neuva sòrt ëd variàbil:",
+       "NEW_VARIABLE_TITLE": "Nòm ëd la neuva variàbil:",
+       "VARIABLE_ALREADY_EXISTS": "Na variàbil con ël nòm '%1' a esist già.",
+       "VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE": "Na variàbil ciamà '%1' a esist già për n'àutra sòrt: '%2'.",
+       "DELETE_VARIABLE_CONFIRMATION": "Eliminé %1 utilisassion ëd la variàbil '%2'?",
+       "CANNOT_DELETE_VARIABLE_PROCEDURE": "As peul nen eliminesse la variàbil '%1' përchè a l'é part ëd la definission dla fonsion '%2'",
+       "DELETE_VARIABLE": "Eliminé la variàbil '%1'",
+       "COLOUR_PICKER_HELPURL": "https://en.wikipedia.org/wiki/Color",
+       "COLOUR_PICKER_TOOLTIP": "Serne un color ant la taulòssa.",
+       "COLOUR_RANDOM_TITLE": "color a asar",
+       "COLOUR_RANDOM_TOOLTIP": "Serne un color a asar.",
+       "COLOUR_RGB_TITLE": "coloré con",
+       "COLOUR_RGB_RED": "ross",
+       "COLOUR_RGB_GREEN": "verd",
+       "COLOUR_RGB_BLUE": "bleu",
+       "COLOUR_RGB_TOOLTIP": "Creé un color con la quantità spessificà ëd ross, verd e bleu. Tuti ij valor a devo esse antra 0 e 100.",
+       "COLOUR_BLEND_TITLE": "mës-cé",
+       "COLOUR_BLEND_COLOUR1": "color 1",
+       "COLOUR_BLEND_COLOUR2": "color 2",
+       "COLOUR_BLEND_RATIO": "rapòrt",
+       "COLOUR_BLEND_TOOLTIP": "A mës-cia doi color ansema con un rapòrt dàit (0,0 - 1,0).",
+       "CONTROLS_REPEAT_HELPURL": "https://en.wikipedia.org/wiki/For_loop",
+       "CONTROLS_REPEAT_TITLE": "arpete %1 vire",
+       "CONTROLS_REPEAT_INPUT_DO": "fé",
+       "CONTROLS_REPEAT_TOOLTIP": "Eseguì chèiche anstrussion vàire vire.",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "arpete antramentre che",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "arpete fin-a a",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "Cand un valor a l'é ver, eseguì chèiche anstrussion.",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "Cand un valor a l'é fàuss, eseguì chèiche anstrussion.",
+       "CONTROLS_FOR_TOOLTIP": "Fé an manera che la variàbil \"%1\" a pija ij valor dal nùmer inissial fin-a al nùmer final, an contand për l'antërval ëspessificà, e eseguì ij bloch ëspessificà.",
+       "CONTROLS_FOR_TITLE": "conté con %1 da %2 a %3 për %4",
+       "CONTROLS_FOREACH_TITLE": "për minca n'element %1 ant la lista %2",
+       "CONTROLS_FOREACH_TOOLTIP": "Për minca element an na lista, dé ël valor ëd l'element a la variàbil '%1', peui eseguì chèiche anstrussion.",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "seurte da la liassa",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "continué con l'iterassion sucessiva dla liassa",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "Seurte da la liassa anglobanta.",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "Sauté ël rest ëd sa liassa, e continué con l'iterassion apress.",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "Atension: Ës blòch a peul mach esse dovrà andrinta a na liassa.",
+       "CONTROLS_IF_TOOLTIP_1": "Si un valor a l'é ver, antlora eseguì chèiche anstrussion.",
+       "CONTROLS_IF_TOOLTIP_2": "Si un valor a l'é ver, antlora eseguì ël prim blòch d'anstrussion. Dësnò, eseguì ël second blòch d'anstrussion.",
+       "CONTROLS_IF_TOOLTIP_3": "Si ël prim valor a l'é ver, antlora fé andé ël prim blòch d'anstrussion. Dësnò, si ël second valor a l'é ver, fé andé ël second blòch d'anstrussion.",
+       "CONTROLS_IF_TOOLTIP_4": "Si ël prim valor a l'é ver, antlora fé andé ël prim blòch d'anstrussion. Dësnò, si ël second valor a l'é ver, fé andé ël second blòcj d'anstrussion. Si gnun dij valor a l'é ver, fé andé l'ùltim blòch d'anstrussion.",
+       "CONTROLS_IF_MSG_IF": "si",
+       "CONTROLS_IF_MSG_ELSEIF": "dësnò si",
+       "CONTROLS_IF_MSG_ELSE": "dësnò",
+       "CONTROLS_IF_IF_TOOLTIP": "Gionté, gavé o riordiné le session për cinfiguré torna ës blòch si.",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "Gionté na condission al blòch si.",
+       "CONTROLS_IF_ELSE_TOOLTIP": "Gionté na condission final ch'a cheuj tut al blòch si.",
+       "IOS_OK": "Va bin",
+       "IOS_CANCEL": "Anulé",
+       "IOS_ERROR": "Eror",
+       "IOS_PROCEDURES_INPUTS": "IMISSION",
+       "IOS_PROCEDURES_ADD_INPUT": "+ Gionté n'imission",
+       "IOS_PROCEDURES_ALLOW_STATEMENTS": "Përmëtte le diciairassion",
+       "IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR": "Costa imission a dj'imission duplicà.",
+       "IOS_VARIABLES_ADD_VARIABLE": "+ Gionté na variàbil",
+       "IOS_VARIABLES_ADD_BUTTON": "Gionté",
+       "IOS_VARIABLES_RENAME_BUTTON": "Arnominé",
+       "IOS_VARIABLES_DELETE_BUTTON": "Eliminé",
+       "IOS_VARIABLES_VARIABLE_NAME": "Nòm ëd la variàbil",
+       "IOS_VARIABLES_EMPTY_NAME_ERROR": "A peul nen dovré un nòm ëd variàbil veuid.",
+       "LOGIC_COMPARE_HELPURL": "https://en.wikipedia.org/wiki/Inequality_(mathematics)",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "Rësponde ver si le doe imission a son uguaj.",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "Rësponde ver si le doe imission a son nen uguaj.",
+       "LOGIC_COMPARE_TOOLTIP_LT": "Rësponde ver si la prima imission a l'é pi cita dla sconda.",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "Rësponde ver si la prima imission a l'é pi cita o ugual a la sconda.",
+       "LOGIC_COMPARE_TOOLTIP_GT": "Rësponde ver si la prima imission a l'é pi granda che la sconda.",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "Rësponde ver si la prima imission a l'é pi granda o ugual a la sconda.",
+       "LOGIC_OPERATION_TOOLTIP_AND": "Rësponde ver se tute doe j'imission a son vere.",
+       "LOGIC_OPERATION_AND": "e",
+       "LOGIC_OPERATION_TOOLTIP_OR": "Rësponde ver se almanch un-a d'imission a l'é vera.",
+       "LOGIC_OPERATION_OR": "o",
+       "LOGIC_NEGATE_TITLE": "nen %1",
+       "LOGIC_NEGATE_TOOLTIP": "A rëspond ver se l'imission a l'é fàussa. A rëspond fàuss se l'imission a l'é vera.",
+       "LOGIC_BOOLEAN_TRUE": "ver",
+       "LOGIC_BOOLEAN_FALSE": "fàuss",
+       "LOGIC_BOOLEAN_TOOLTIP": "A rëspond ver o fàuss.",
+       "LOGIC_NULL": "gnente",
+       "LOGIC_NULL_TOOLTIP": "A rëspond gnente.",
+       "LOGIC_TERNARY_CONDITION": "preuva",
+       "LOGIC_TERNARY_IF_TRUE": "se ver",
+       "LOGIC_TERNARY_IF_FALSE": "se fàuss",
+       "LOGIC_TERNARY_TOOLTIP": "Controlé la condission an 'preuva'. Se la condission a l'é vera, a rëspond con ël valor 'se ver'; dësnò a rëspond con ël valor 'se fàuss'.",
+       "MATH_NUMBER_HELPURL": "https://en.wikipedia.org/wiki/Number",
+       "MATH_NUMBER_TOOLTIP": "Un nùmer.",
+       "MATH_ARITHMETIC_HELPURL": "https://en.wikipedia.org/wiki/Arithmetic",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "A smon la soma ëd doi nùmer.",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "A smon la diferensa dij doi nùmer.",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "A smon ël prodot dij doi nùmer.",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "A smon ël cossient dij doi nùmer.",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "A smon ël prim nùmer alvà a la potensa dël second.",
+       "MATH_SINGLE_HELPURL": "https://en.wikipedia.org/wiki/Square_root",
+       "MATH_SINGLE_OP_ROOT": "rèis quadra",
+       "MATH_SINGLE_TOOLTIP_ROOT": "A smon la rèis quadra d'un nùmer.",
+       "MATH_SINGLE_OP_ABSOLUTE": "assolù",
+       "MATH_SINGLE_TOOLTIP_ABS": "A smon ël valor assolù d'un nùmer.",
+       "MATH_SINGLE_TOOLTIP_NEG": "A smon l'opòst d'un nùmer.",
+       "MATH_SINGLE_TOOLTIP_LN": "A smon ël logaritm natural d'un nùmer.",
+       "MATH_SINGLE_TOOLTIP_LOG10": "A smon ël logaritm an base 10 d'un nùmer.",
+       "MATH_SINGLE_TOOLTIP_EXP": "A smon e a la potensa d'un nùmer.",
+       "MATH_SINGLE_TOOLTIP_POW10": "A smon 10 a la potensa d'un nùmer.",
+       "MATH_TRIG_HELPURL": "https://en.wikipedia.org/wiki/Trigonometric_functions",
+       "MATH_TRIG_TOOLTIP_SIN": "A smon ël sen ëd n'àngol an gré (pa an radiant).",
+       "MATH_TRIG_TOOLTIP_COS": "A smon ël cosen ëd n'àngol an gré (pa an radiant).",
+       "MATH_TRIG_TOOLTIP_TAN": "A smon la tangenta ëd n'àngol an gré (pa an radiant).",
+       "MATH_TRIG_TOOLTIP_ASIN": "A smon l'arch-sen d'un nùmer.",
+       "MATH_TRIG_TOOLTIP_ACOS": "A smon l'arch-cosen d'un nùmer.",
+       "MATH_TRIG_TOOLTIP_ATAN": "A smon l'arch-tangenta d'un nùmer.",
+       "MATH_CONSTANT_HELPURL": "https://en.wikipedia.org/wiki/Mathematical_constant",
+       "MATH_CONSTANT_TOOLTIP": "A smon un-a dle costante comun-e Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…) o âˆž (infinì).",
+       "MATH_IS_EVEN": "a l'é cobi",
+       "MATH_IS_ODD": "a l'é dëscobi",
+       "MATH_IS_PRIME": "a l'é prim",
+       "MATH_IS_WHOLE": "a l'é antregh",
+       "MATH_IS_POSITIVE": "a l'é positiv",
+       "MATH_IS_NEGATIVE": "a l'é negativ",
+       "MATH_IS_DIVISIBLE_BY": "a l'é divisìbil për",
+       "MATH_IS_TOOLTIP": "A contròla si un nùmer a l'é cobi, dëscobi, prim, antreghm positiv, negativ, o s'a l'é divisìbil për un nùmer dàit. A rëspond ver o fàuss.",
+       "MATH_CHANGE_HELPURL": "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter",
+       "MATH_CHANGE_TITLE": "ancrementé %1 për %2",
+       "MATH_CHANGE_TOOLTIP": "Gionté un nùmer a la variàbil '%1'.",
+       "MATH_ROUND_HELPURL": "https://en.wikipedia.org/wiki/Rounding",
+       "MATH_ROUND_TOOLTIP": "A arionda un nùmer për difet o ecess.",
+       "MATH_ROUND_OPERATOR_ROUND": "ariondé",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "ariondé për ecess",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "ariondé për difet",
+       "MATH_ONLIST_OPERATOR_SUM": "soma dla lista",
+       "MATH_ONLIST_TOOLTIP_SUM": "A smon la soma ëd tuti ij nùmer ant la lista.",
+       "MATH_ONLIST_OPERATOR_MIN": "mìnim ëd la lista",
+       "MATH_ONLIST_TOOLTIP_MIN": "A smon ël pi cit nùmer ëd la lista.",
+       "MATH_ONLIST_OPERATOR_MAX": "màssim ëd la lista",
+       "MATH_ONLIST_TOOLTIP_MAX": "A smon ël pi gròss nùmer ëd la lista.",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "media dla lista",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "A smon la media (aritmética) dij valor numérich ant la lista.",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "mesan-a dla lista",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "A smon ël nùmer mesan ëd la lista.",
+       "MATH_ONLIST_OPERATOR_MODE": "mòde dla lista",
+       "MATH_ONLIST_TOOLTIP_MODE": "A smon na lista dj'element pi frequent ëd la lista.",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "deviassion ëstàndard ëd la lista",
+       "MATH_ONLIST_TOOLTIP_STD_DEV": "A smon la deviassion ëstàndard ëd la lista.",
+       "MATH_ONLIST_OPERATOR_RANDOM": "element a l'ancàpit ëd la lista",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "A smon n'element a l'ancàpit da la lista.",
+       "MATH_MODULO_HELPURL": "https://en.wikipedia.org/wiki/Modulo_operation",
+       "MATH_MODULO_TITLE": "resta ëd %1:%2",
+       "MATH_MODULO_TOOLTIP": "A smon la resta ëd la division dij doi nùmer.",
+       "MATH_CONSTRAIN_TITLE": "limité %1 antra %2 e %3",
+       "MATH_CONSTRAIN_TOOLTIP": "Limité un nùmer a esse antra le limitassion ëspessificà (comprèise).",
+       "MATH_RANDOM_INT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_INT_TITLE": "antregh aleatòri antra %1 e %2",
+       "MATH_RANDOM_INT_TOOLTIP": "A smon n'antregh aleatòri antra ij doi lìmit ëspessificà, comprèis.",
+       "MATH_RANDOM_FLOAT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "frassion aleatòria",
+       "MATH_RANDOM_FLOAT_TOOLTIP": "A smon na frassion aleatòria antra 0,0 (comprèis) e 1,0 (esclus).",
+       "TEXT_TEXT_HELPURL": "https://en.wikipedia.org/wiki/String_(computer_science)",
+       "TEXT_TEXT_TOOLTIP": "Na litra, na paròla o na linia ëd test.",
+       "TEXT_JOIN_TITLE_CREATEWITH": "creé ël test con",
+       "TEXT_JOIN_TOOLTIP": "Creé un tòch ëd test an gionzend un nùmer qualsëssìa d'element.",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "gionze",
+       "TEXT_CREATE_JOIN_TOOLTIP": "Gionté, gavé o riordiné le session për configuré torna ës blòch ëd test.",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "Gionté n'element al test.",
+       "TEXT_APPEND_TITLE": "a %1 taché ël test %2",
+       "TEXT_APPEND_TOOLTIP": "Taché dël test a la variàbil '%1'.",
+       "TEXT_LENGTH_TITLE": "longheur ëd %1",
+       "TEXT_LENGTH_TOOLTIP": "A smon ël nùmer ëd litre (spassi comprèis) ant ël test fornì.",
+       "TEXT_ISEMPTY_TITLE": "%1 a l'é veuid",
+       "TEXT_ISEMPTY_TOOLTIP": "A smon ver se ël test fornì a l'é veuid.",
+       "TEXT_INDEXOF_TOOLTIP": "A smon l'ìndes dla prima/ùltima ocorensa dël prim test ant ël second test. A smon %1 se ël test a l'é nen trovà.",
+       "TEXT_INDEXOF_TITLE": "ant ël test %1 %2 %3",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "trové la prima ocorensa dël test",
+       "TEXT_INDEXOF_OPERATOR_LAST": "trové l'ùltima ocorensa dël test",
+       "TEXT_CHARAT_TITLE": "ant ël test %1 %2",
+       "TEXT_CHARAT_FROM_START": "oten-e la litra #",
+       "TEXT_CHARAT_FROM_END": "oten-e la litra # da la fin",
+       "TEXT_CHARAT_FIRST": "oten-e la prima litra",
+       "TEXT_CHARAT_LAST": "oten-e l'ùltima litra",
+       "TEXT_CHARAT_RANDOM": "oten-e na litra a l'ancàpit",
+       "TEXT_CHARAT_TOOLTIP": "A smon la litra ant la posission ëspessificà.",
+       "TEXT_GET_SUBSTRING_TOOLTIP": "A smon un tòch ëspessificà dël test.",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "ant ël test",
+       "TEXT_GET_SUBSTRING_START_FROM_START": "oten-e la sota-stringa da la litra #",
+       "TEXT_GET_SUBSTRING_START_FROM_END": "oten-e la sota-stringa da la litra # da la fin",
+       "TEXT_GET_SUBSTRING_START_FIRST": "oten-e la sota-stringa da la prima litra",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "fin-a a la litra #",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "fin-a a la litra # da la fin",
+       "TEXT_GET_SUBSTRING_END_LAST": "fin-a a l'ùltima litra",
+       "TEXT_CHANGECASE_TOOLTIP": "A smon na còpia dël test ant un caràter diferent.",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "an MAJÙSCOL",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "an minùscul",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": "an Majùscol A L'Ancamin Ëd Minca Paròla",
+       "TEXT_TRIM_TOOLTIP": "A smon na còpia dël test con jë spassi gavà da n'estremità o da tute doe.",
+       "TEXT_TRIM_OPERATOR_BOTH": "gavé jë spassi da le doe bande ëd",
+       "TEXT_TRIM_OPERATOR_LEFT": "gavé jë spassi da la banda snistra ëd",
+       "TEXT_TRIM_OPERATOR_RIGHT": "gavé jë spassi da la banda drita ëd",
+       "TEXT_PRINT_TITLE": "smon-e %1",
+       "TEXT_PRINT_TOOLTIP": "Smon-e ël test, ël nùmer o n'àutr valor ëspessificà.",
+       "TEXT_PROMPT_TYPE_TEXT": "anvit për un test con un mëssagi",
+       "TEXT_PROMPT_TYPE_NUMBER": "anvit për un nùmer con un mëssagi",
+       "TEXT_PROMPT_TOOLTIP_NUMBER": "Ciamé un nùmer a l'utent.",
+       "TEXT_PROMPT_TOOLTIP_TEXT": "Ciamé un test a l'utent.",
+       "TEXT_COUNT_MESSAGE0": "nùmer %1 su %2",
+       "TEXT_COUNT_HELPURL": "https://github.com/google/blockly/wiki/Text#counting-substrings",
+       "TEXT_COUNT_TOOLTIP": "Conté vàire vire un test dàit a compariss an n'àutr test.",
+       "TEXT_REPLACE_MESSAGE0": "rampiassé %1 con %2 an %3",
+       "TEXT_REPLACE_HELPURL": "https://github.com/google/blockly/wiki/Text#replacing-substrings",
+       "TEXT_REPLACE_TOOLTIP": "Rampiassé tute j'ocorense d'un test con n'àutr.",
+       "TEXT_REVERSE_MESSAGE0": "Anversé %1",
+       "TEXT_REVERSE_HELPURL": "https://github.com/google/blockly/wiki/Text#reversing-text",
+       "TEXT_REVERSE_TOOLTIP": "Anversé l'òrdin dij caràter ant ël test.",
+       "LISTS_CREATE_EMPTY_TITLE": "creé na lista veuida",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "Smon-e na lista, ëd longheur 0, ch'a conten gnun-a argistrassion",
+       "LISTS_CREATE_WITH_HELPURL": "https://github.com/google/blockly/wiki/Lists#create-list-with",
+       "LISTS_CREATE_WITH_TOOLTIP": "Creé na lista con un nùmer qualsëssìa d'element.",
+       "LISTS_CREATE_WITH_INPUT_WITH": "creé na lista con",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "lista",
+       "LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "Gionté, gavé o riordiné le session për configuré torna cost blòch ëd lista.",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "Gionté n'element a la lista.",
+       "LISTS_REPEAT_TOOLTIP": "A crea na lista ch'a consist dël valor dàit arpetù ël nùmer ëspessificà ëd vire.",
+       "LISTS_REPEAT_TITLE": "creé na lista con l'element %1 arpetù %2 vire",
+       "LISTS_LENGTH_TITLE": "longheur ëd %1",
+       "LISTS_LENGTH_TOOLTIP": "A smon la longheur ¨d na lista.",
+       "LISTS_ISEMPTY_TITLE": "%1 a l'é veuid",
+       "LISTS_ISEMPTY_TOOLTIP": "A smon ver se la lista a l'é veuida.",
+       "LISTS_INLIST": "ant la lista",
+       "LISTS_INDEX_OF_FIRST": "trové la prima ocorensa dl'element",
+       "LISTS_INDEX_OF_LAST": "trové l'ùltima ocorensa dl'element",
+       "LISTS_INDEX_OF_TOOLTIP": "A smon l'ìndes ëd la prima/ùltima ocorensa dl'element ant la lista. A smon %1 se l'element a l'é nen trovà.",
+       "LISTS_GET_INDEX_GET": "oten-e",
+       "LISTS_GET_INDEX_GET_REMOVE": "oten-e e eliminé",
+       "LISTS_GET_INDEX_REMOVE": "eliminé",
+       "LISTS_GET_INDEX_FROM_END": "# da la fin",
+       "LISTS_GET_INDEX_FIRST": "prim",
+       "LISTS_GET_INDEX_LAST": "ùltim",
+       "LISTS_GET_INDEX_RANDOM": "a l'ancàpit",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "%1 a l'é ël prim element.",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "%1 a l'é l'ùltim element.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "A smon l'element a la posission ëspessificà an na lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "A smon ël prim element an na lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "A smon l'ùltim element an na lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "A smon n'element a l'ancàpit an na lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "A gava e a smon l'element a la posission ëspessificà an na lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "A gava e a smon ël prim element an na lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "A gava e a smon l'ùltim element an na lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "A gava e a smon n'element a l'ancàpit an na lista.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "A gava l'element a la posission ëspessificà an na lista.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "A gava ël prim element an na lista.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "A gava l'ùltim element an na lista.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "A gava n'element a l'ancàpit da na lista.",
+       "LISTS_SET_INDEX_SET": "buté",
+       "LISTS_SET_INDEX_INSERT": "anserì an",
+       "LISTS_SET_INDEX_INPUT_TO": "tanme",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "A fissa l'element a la posission ëspessificà an na lista.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "A fissa ël prim element an na lista.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_LAST": "A fissa l'ùltim element an na lista.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "A fissa n'element a l'ancàpit an na lista.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "A anseriss l'element a la posission ëspessificà an na lista.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "A anseriss l'element al prinsipi ëd na lista.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "Gionté l'element a la fin ëd na lista.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "A anseriss l'element a l'ancàpit an na lista.",
+       "LISTS_GET_SUBLIST_START_FROM_START": "oten-e la sot-lista da #",
+       "LISTS_GET_SUBLIST_START_FROM_END": "oten-e la sot-lista da # da la fin",
+       "LISTS_GET_SUBLIST_START_FIRST": "oten-e la sot-lista dal prim",
+       "LISTS_GET_SUBLIST_END_FROM_START": "fin-a a #",
+       "LISTS_GET_SUBLIST_END_FROM_END": "fin-a a # da la fin",
+       "LISTS_GET_SUBLIST_END_LAST": "fin-a a l'ùltim",
+       "LISTS_GET_SUBLIST_TOOLTIP": "A crea na còpia dël tòch ëspessificà ëd na lista.",
+       "LISTS_SORT_HELPURL": "https://github.com/google/blockly/wiki/Lists#sorting-a-list",
+       "LISTS_SORT_TITLE": "ordiné %1 %2 %3",
+       "LISTS_SORT_TOOLTIP": "Ordiné na còpia ëd na lista.",
+       "LISTS_SORT_ORDER_ASCENDING": "chërsent",
+       "LISTS_SORT_ORDER_DESCENDING": "calant",
+       "LISTS_SORT_TYPE_NUMERIC": "numérich",
+       "LISTS_SORT_TYPE_TEXT": "alfabétich",
+       "LISTS_SORT_TYPE_IGNORECASE": "alfabétich, ignorand ël caràter minùscol o majùscol",
+       "LISTS_SPLIT_HELPURL": "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists",
+       "LISTS_SPLIT_LIST_FROM_TEXT": "fé na lista da 'n test",
+       "LISTS_SPLIT_TEXT_FROM_LIST": "fé 'n test da na lista",
+       "LISTS_SPLIT_WITH_DELIMITER": "con ël separator",
+       "LISTS_SPLIT_TOOLTIP_SPLIT": "Divide un test an na lista ëd test, tajand a minca 'n separator.",
+       "LISTS_SPLIT_TOOLTIP_JOIN": "Gionze na lista ëd test ant un test sol, separandje con un separator.",
+       "LISTS_REVERSE_HELPURL": "https://github.com/google/blockly/wiki/Lists#reversing-a-list",
+       "LISTS_REVERSE_MESSAGE0": "anversé %1",
+       "LISTS_REVERSE_TOOLTIP": "Anversé na còpia ëd na lista",
+       "VARIABLES_GET_TOOLTIP": "A smon ël valor ëd sa variàbil.",
+       "VARIABLES_GET_CREATE_SET": "Creé 'fissé %1'",
+       "VARIABLES_SET": "fissé %1 a %2",
+       "VARIABLES_SET_TOOLTIP": "Fissé costa variàbil ugual al valor d'imission.",
+       "VARIABLES_SET_CREATE_GET": "Creé 'oten-e %1'",
+       "PROCEDURES_DEFNORETURN_TITLE": "a",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "fé cheicòs",
+       "PROCEDURES_BEFORE_PARAMS": "con:",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "con:",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "A crea na fonsion sensa surtìa.",
+       "PROCEDURES_DEFNORETURN_COMMENT": "Descrive sa fonsion...",
+       "PROCEDURES_DEFRETURN_RETURN": "artorn",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "A crea na fonsion con na surtìa.",
+       "PROCEDURES_ALLOW_STATEMENTS": "përmëtte le diciairassion",
+       "PROCEDURES_DEF_DUPLICATE_WARNING": "Atension: Costa fonsion a l'ha dij paràmeter duplicà.",
+       "PROCEDURES_CALLNORETURN_HELPURL": "https://en.wikipedia.org/wiki/Subroutine",
+       "PROCEDURES_CALLNORETURN_TOOLTIP": "Eseguì la fonsion '%1' definìa da l'utent.",
+       "PROCEDURES_CALLRETURN_HELPURL": "https://en.wikipedia.org/wiki/Subroutine",
+       "PROCEDURES_CALLRETURN_TOOLTIP": "Eseguì la fonsion '%1' definìa da l'utent e dovré sò arzultà.",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "imission",
+       "PROCEDURES_MUTATORCONTAINER_TOOLTIP": "Gionté, gavé o riordiné j'imission ëd sa fonsion.",
+       "PROCEDURES_MUTATORARG_TITLE": "nòm ëd l'imission:",
+       "PROCEDURES_MUTATORARG_TOOLTIP": "Gionté n'imission a la fonsion.",
+       "PROCEDURES_HIGHLIGHT_DEF": "Sot-ligné la definission dla fonsion",
+       "PROCEDURES_CREATE_DO": "Creé '%1'",
+       "PROCEDURES_IFRETURN_TOOLTIP": "Se un valor a l'é ver, antlora smon-e un second valor.",
+       "PROCEDURES_IFRETURN_HELPURL": "http://c2.com/cgi/wiki?GuardClause",
+       "PROCEDURES_IFRETURN_WARNING": "Atension: Ës blòch a podria esse dovrà mach an na definission ëd fonsion.",
+       "WORKSPACE_COMMENT_DEFAULT_TEXT": "Dì cheicòs..."
+}
diff --git a/js/msg/json/pt-br.json b/js/msg/json/pt-br.json
new file mode 100644 (file)
index 0000000..aff2437
--- /dev/null
@@ -0,0 +1,366 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Espertus",
+                       "Prilopes",
+                       "Mordecaista",
+                       "Amgauna",
+                       "TheGabrielZaum",
+                       "Cainamarques",
+                       "Tuliouel",
+                       "Rodrigo codignoli",
+                       "Webysther",
+                       "Fasouzafreitas",
+                       "Almondega",
+                       "Rogerio Melfi",
+                       "Caçador de Palavras",
+                       "Luk3",
+                       "Cristofer Alves",
+                       "EVinente",
+                       "Lowvy",
+                       "Trigonometria87",
+                       "BarbaraAckles",
+                       "Mauricio",
+                       "Felipe L. Ewald",
+                       "Eduardo Addad de Oliveira"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "item",
+       "TODAY": "Hoje",
+       "DUPLICATE_BLOCK": "Duplicar",
+       "ADD_COMMENT": "Adicionar comentário",
+       "REMOVE_COMMENT": "Remover comentário",
+       "DUPLICATE_COMMENT": "Duplicar comentário",
+       "EXTERNAL_INPUTS": "Entradas externas",
+       "INLINE_INPUTS": "Entradas incorporadas",
+       "DELETE_BLOCK": "Deletar bloco",
+       "DELETE_X_BLOCKS": "Deletar %1 blocos",
+       "DELETE_ALL_BLOCKS": "Deletar todos os blocos %1?",
+       "CLEAN_UP": "Limpar blocos",
+       "COLLAPSE_BLOCK": "Colapsar Bloco",
+       "COLLAPSE_ALL": "Colapsar Blocos",
+       "EXPAND_BLOCK": "Expandir bloco",
+       "EXPAND_ALL": "Expandir blocos",
+       "DISABLE_BLOCK": "Desabilitar bloco",
+       "ENABLE_BLOCK": "Habilitar bloco",
+       "HELP": "Ajuda",
+       "UNDO": "Desfazer",
+       "REDO": "Refazer",
+       "CHANGE_VALUE_TITLE": "Mudar valor:",
+       "RENAME_VARIABLE": "Renomear variável...",
+       "RENAME_VARIABLE_TITLE": "Renomear todas as variáveis '%1' para:",
+       "NEW_VARIABLE": "Criar variável...",
+       "NEW_STRING_VARIABLE": "Criar variável de segmentos de texto...",
+       "NEW_NUMBER_VARIABLE": "Criar variável numérica...",
+       "NEW_COLOUR_VARIABLE": "Criar variável colorida...",
+       "NEW_VARIABLE_TYPE_TITLE": "Tipo da nova variável:",
+       "NEW_VARIABLE_TITLE": "Nome da nova variável:",
+       "VARIABLE_ALREADY_EXISTS": "A variável chamada '%1' já existe.",
+       "VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE": "Já existe uma variável chamada '%1' para outra do tipo: '%2'.",
+       "DELETE_VARIABLE_CONFIRMATION": "Deletar %1 usos da variável '%2'?",
+       "CANNOT_DELETE_VARIABLE_PROCEDURE": "Não se pode deletar a variável '%1' porque é parte da definição da função '%2'",
+       "DELETE_VARIABLE": "Deletar a variável '%1'",
+       "COLOUR_PICKER_HELPURL": "https://pt.wikipedia.org/wiki/Cor",
+       "COLOUR_PICKER_TOOLTIP": "Escolher uma cor da palheta de cores.",
+       "COLOUR_RANDOM_TITLE": "cor aleatória",
+       "COLOUR_RANDOM_TOOLTIP": "Escolher cor de forma aleatória.",
+       "COLOUR_RGB_TITLE": "colorir com",
+       "COLOUR_RGB_RED": "vermelho",
+       "COLOUR_RGB_GREEN": "verde",
+       "COLOUR_RGB_BLUE": "azul",
+       "COLOUR_RGB_TOOLTIP": "Criar uma cor com a quantidade especificada de vermelho, verde e azul. Todos os valores devem estar entre 0 e 100.",
+       "COLOUR_BLEND_TITLE": "misturar",
+       "COLOUR_BLEND_COLOUR1": "cor 1",
+       "COLOUR_BLEND_COLOUR2": "cor 2",
+       "COLOUR_BLEND_RATIO": "proporção",
+       "COLOUR_BLEND_TOOLTIP": "Mistura duas cores em uma dada proporção (0,0 - 1,0).",
+       "CONTROLS_REPEAT_HELPURL": "https://pt.wikipedia.org/wiki/Estrutura_de_repeti%C3%A7%C3%A3o#Repeti.C3.A7.C3.A3o_com_vari.C3.A1vel_de_controle",
+       "CONTROLS_REPEAT_TITLE": "repita %1 vezes",
+       "CONTROLS_REPEAT_INPUT_DO": "faça",
+       "CONTROLS_REPEAT_TOOLTIP": "Faça algumas instruções várias vezes.",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "repita enquanto",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "repita até",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "Enquanto um valor for verdadeiro, então faça algumas instruções.",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "Enquanto um valor for falso, então faça algumas instruções.",
+       "CONTROLS_FOR_TOOLTIP": "Faça com que a variável '%1' assuma os valores do número inicial ao número final, contando de acordo com o intervalo especificado e execute os blocos especificados.",
+       "CONTROLS_FOR_TITLE": "contar com %1 de %2 até %3 por %4",
+       "CONTROLS_FOREACH_TITLE": "para cada item %1 na lista %2",
+       "CONTROLS_FOREACH_TOOLTIP": "Para cada item em uma lista, atribua o item à variável '%1' e então realize algumas instruções.",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "encerra o laço",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "continua com a próxima iteração do laço",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "Encerra o laço.",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "Ignora o resto deste laço, e continua com a próxima iteração.",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "Atenção: Este bloco só pode ser usado dentro de um laço.",
+       "CONTROLS_IF_TOOLTIP_1": "Se um valor for verdadeiro, então realize algumas instruções.",
+       "CONTROLS_IF_TOOLTIP_2": "Se um valor for verdadeiro, então realize o primeiro bloco de instruções. Senão, realize o segundo bloco de instruções.",
+       "CONTROLS_IF_TOOLTIP_3": "Se o primeiro valor é verdadeiro, então realize o primeiro bloco de instruções.  Senão, se o segundo valor é verdadeiro, realize o segundo bloco de instruções.",
+       "CONTROLS_IF_TOOLTIP_4": "Se o primeiro valor for verdadeiro, então realize o primeiro bloco de instruções. Senão, se o segundo valor é verdadeiro, realize o segundo bloco de instruções. Se nenhum dos blocos for verdadeiro, realize o último bloco de instruções.",
+       "CONTROLS_IF_MSG_IF": "se",
+       "CONTROLS_IF_MSG_ELSEIF": "senão se",
+       "CONTROLS_IF_MSG_ELSE": "senão",
+       "CONTROLS_IF_IF_TOOLTIP": "Acrescente, remova ou reordene seções para reconfigurar este bloco.",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "Acrescente uma condição para o bloco se.",
+       "CONTROLS_IF_ELSE_TOOLTIP": "Acrescente uma condição final para o bloco se.",
+       "IOS_OK": "Ok",
+       "IOS_CANCEL": "blockly:IOS Cancelar/pt-br",
+       "IOS_ERROR": "Erro",
+       "IOS_PROCEDURES_INPUTS": "ENTRADAS",
+       "IOS_PROCEDURES_ADD_INPUT": "+ Adicionar Entrada",
+       "IOS_PROCEDURES_ALLOW_STATEMENTS": "Permitir declarações",
+       "IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR": "Essa função tem entradas duplicadas.",
+       "IOS_VARIABLES_ADD_VARIABLE": "+ Adicionar Variável",
+       "IOS_VARIABLES_ADD_BUTTON": "Adicionar",
+       "IOS_VARIABLES_RENAME_BUTTON": "Blockly:Renomear varioas botoens/pt-br",
+       "IOS_VARIABLES_DELETE_BUTTON": "Deletar",
+       "IOS_VARIABLES_VARIABLE_NAME": "Nome variavel",
+       "IOS_VARIABLES_EMPTY_NAME_ERROR": "Você não pode usar um nome de variável vazio.",
+       "LOGIC_COMPARE_HELPURL": "https://pt.wikipedia.org/wiki/Inequa%C3%A7%C3%A3o",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "Retorna verdadeiro se ambas as entradas forem iguais.",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "Retorna verdadeiro se ambas as entradas forem diferentes.",
+       "LOGIC_COMPARE_TOOLTIP_LT": "Retorna verdadeiro se a primeira entrada for menor que a segunda entrada.",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "Retorna verdadeiro se a primeira entrada for menor ou igual à segunda entrada.",
+       "LOGIC_COMPARE_TOOLTIP_GT": "Retorna verdadeiro se a primeira entrada for maior que a segunda entrada.",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "Retorna verdadeiro se a primeira entrada for maior ou igual à segunda entrada.",
+       "LOGIC_OPERATION_TOOLTIP_AND": "Retorna verdadeiro se ambas as entradas forem verdadeiras.",
+       "LOGIC_OPERATION_AND": "e",
+       "LOGIC_OPERATION_TOOLTIP_OR": "Retorna verdadeiro se uma das estradas for verdadeira.",
+       "LOGIC_OPERATION_OR": "ou",
+       "LOGIC_NEGATE_TITLE": "não %1",
+       "LOGIC_NEGATE_TOOLTIP": "Retorna verdadeiro se a entrada for falsa.  Retorna falsa se a entrada for verdadeira.",
+       "LOGIC_BOOLEAN_TRUE": "verdadeiro",
+       "LOGIC_BOOLEAN_FALSE": "falso",
+       "LOGIC_BOOLEAN_TOOLTIP": "Retorna verdadeiro ou falso.",
+       "LOGIC_NULL": "nulo",
+       "LOGIC_NULL_TOOLTIP": "Retorna nulo.",
+       "LOGIC_TERNARY_CONDITION": "teste",
+       "LOGIC_TERNARY_IF_TRUE": "se verdadeiro",
+       "LOGIC_TERNARY_IF_FALSE": "se falso",
+       "LOGIC_TERNARY_TOOLTIP": "Avalia a condição em \"teste\". Se a condição for verdadeira retorna o valor \"se verdadeiro\", senão retorna o valor \"se falso\".",
+       "MATH_NUMBER_HELPURL": "https://pt.wikipedia.org/wiki/N%C3%BAmero",
+       "MATH_NUMBER_TOOLTIP": "Um número.",
+       "MATH_ARITHMETIC_HELPURL": "https://pt.wikipedia.org/wiki/Aritm%C3%A9tica",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "Retorna a soma dos dois números.",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "Retorna a diferença entre os dois números.",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "Retorna o produto dos dois números.",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "Retorna o quociente da divisão dos dois números.",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "Retorna o primeiro número elevado à potência do segundo número.",
+       "MATH_SINGLE_HELPURL": "https://pt.wikipedia.org/wiki/Raiz_quadrada",
+       "MATH_SINGLE_OP_ROOT": "raiz quadrada",
+       "MATH_SINGLE_TOOLTIP_ROOT": "Retorna a raiz quadrada de um número.",
+       "MATH_SINGLE_OP_ABSOLUTE": "absoluto",
+       "MATH_SINGLE_TOOLTIP_ABS": "Retorna o valor absoluto de um número.",
+       "MATH_SINGLE_TOOLTIP_NEG": "Retorna o oposto de um número.",
+       "MATH_SINGLE_TOOLTIP_LN": "Retorna o logaritmo natural de um número.",
+       "MATH_SINGLE_TOOLTIP_LOG10": "Retorna o logaritmo em base 10 de um número.",
+       "MATH_SINGLE_TOOLTIP_EXP": "Retorna o número e elevado à potência de um número.",
+       "MATH_SINGLE_TOOLTIP_POW10": "Retorna 10 elevado à potência de um número.",
+       "MATH_TRIG_HELPURL": "https://pt.wikipedia.org/wiki/Fun%C3%A7%C3%A3o_trigonom%C3%A9trica",
+       "MATH_TRIG_TOOLTIP_SIN": "Retorna o seno de um grau (não radiano).",
+       "MATH_TRIG_TOOLTIP_COS": "Retorna o cosseno de um grau (não radiano).",
+       "MATH_TRIG_TOOLTIP_TAN": "Retorna a tangente de um grau (não radiano).",
+       "MATH_TRIG_TOOLTIP_ASIN": "Retorna o arco seno de um número.",
+       "MATH_TRIG_TOOLTIP_ACOS": "Retorna o arco cosseno de um número.",
+       "MATH_TRIG_TOOLTIP_ATAN": "Retorna o arco tangente de um número.",
+       "MATH_CONSTANT_HELPURL": "https://pt.wikipedia.org/wiki/Anexo:Lista_de_constantes_matem%C3%A1ticas",
+       "MATH_CONSTANT_TOOLTIP": "Retorna uma das constantes comuns: Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), ou âˆž (infinito).",
+       "MATH_IS_EVEN": "é par",
+       "MATH_IS_ODD": "é ímpar",
+       "MATH_IS_PRIME": "é primo",
+       "MATH_IS_WHOLE": "é inteiro",
+       "MATH_IS_POSITIVE": "é positivo",
+       "MATH_IS_NEGATIVE": "é negativo",
+       "MATH_IS_DIVISIBLE_BY": "é divisível por",
+       "MATH_IS_TOOLTIP": "Verifica se um número é par, ímpar, inteiro, positivo, negativo, ou se é divisível por outro número.  Retorna verdadeiro ou falso.",
+       "MATH_CHANGE_HELPURL": "https://pt.wikipedia.org/wiki/Adi%C3%A7%C3%A3o",
+       "MATH_CHANGE_TITLE": "alterar %1 por %2",
+       "MATH_CHANGE_TOOLTIP": "Soma um número à variável \"%1\".",
+       "MATH_ROUND_HELPURL": "https://pt.wikipedia.org/wiki/Arredondamento",
+       "MATH_ROUND_TOOLTIP": "Arredonda um número para cima ou para baixo.",
+       "MATH_ROUND_OPERATOR_ROUND": "arredonda",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "arredonda para cima",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "arredonda para baixo",
+       "MATH_ONLIST_OPERATOR_SUM": "soma de uma lista",
+       "MATH_ONLIST_TOOLTIP_SUM": "Retorna a soma de todos os números na lista.",
+       "MATH_ONLIST_OPERATOR_MIN": "menor da lista",
+       "MATH_ONLIST_TOOLTIP_MIN": "Retorna o menor número da lista.",
+       "MATH_ONLIST_OPERATOR_MAX": "maior da lista",
+       "MATH_ONLIST_TOOLTIP_MAX": "Retorna o maior número da lista.",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "média da lista",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "Retorna a média aritmética dos números da lista.",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "mediana da lista",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "Retorna a mediana dos números da lista.",
+       "MATH_ONLIST_OPERATOR_MODE": "moda da lista",
+       "MATH_ONLIST_TOOLTIP_MODE": "Retorna uma lista do(s) item(ns) mais comum(ns) da lista.",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "desvio padrão da lista",
+       "MATH_ONLIST_TOOLTIP_STD_DEV": "Retorna o desvio padrão dos números da lista.",
+       "MATH_ONLIST_OPERATOR_RANDOM": "item aleatório da lista",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "Retorna um elemento aleatório da lista.",
+       "MATH_MODULO_HELPURL": "https://pt.wikipedia.org/wiki/Opera%C3%A7%C3%A3o_m%C3%B3dulo",
+       "MATH_MODULO_TITLE": "resto da divisão de %1 ÷ %2",
+       "MATH_MODULO_TOOLTIP": "Retorna o resto da divisão de dois números.",
+       "MATH_CONSTRAIN_TITLE": "restringe %1 inferior %2 superior %3",
+       "MATH_CONSTRAIN_TOOLTIP": "Restringe um número entre os limites especificados (inclusivo).",
+       "MATH_RANDOM_INT_HELPURL": "https://pt.wikipedia.org/wiki/Gerador_de_n%C3%BAmeros_pseudoaleat%C3%B3rios",
+       "MATH_RANDOM_INT_TITLE": "inteiro aleatório entre %1 e %2",
+       "MATH_RANDOM_INT_TOOLTIP": "Retorna um número inteiro entre os dois limites informados, inclusivo.",
+       "MATH_RANDOM_FLOAT_HELPURL": "https://pt.wikipedia.org/wiki/Gerador_de_n%C3%BAmeros_pseudoaleat%C3%B3rios",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "fração aleatória",
+       "MATH_RANDOM_FLOAT_TOOLTIP": "Retorna uma fração aleatória entre 0.0 (inclusivo) e 1.0 (exclusivo).",
+       "TEXT_TEXT_HELPURL": "https://pt.wikipedia.org/wiki/Cadeia_de_caracteres",
+       "TEXT_TEXT_TOOLTIP": "Uma letra, palavra ou linha de texto.",
+       "TEXT_JOIN_TITLE_CREATEWITH": "criar texto com",
+       "TEXT_JOIN_TOOLTIP": "Criar um pedaço de texto juntando qualquer número de itens.",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "unir",
+       "TEXT_CREATE_JOIN_TOOLTIP": "Acrescenta, remove ou reordena seções para reconfigurar este bloco de texto.",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "Acrescentar um item ao texto.",
+       "TEXT_APPEND_TITLE": "para %1 anexar texto %2",
+       "TEXT_APPEND_TOOLTIP": "Acrescentar um pedaço de texto à variável \"%1\".",
+       "TEXT_LENGTH_TITLE": "tamanho de %1",
+       "TEXT_LENGTH_TOOLTIP": "Retorna o número de letras (incluindo espaços) no texto fornecido.",
+       "TEXT_ISEMPTY_TITLE": "%1 é vazio",
+       "TEXT_ISEMPTY_TOOLTIP": "Retorna verdadeiro se o texto fornecido for vazio.",
+       "TEXT_INDEXOF_TOOLTIP": "Retorna a posição da primeira/última ocorrência do primeiro texto no segundo texto.  Retorna %1 se o texto não for encontrado.",
+       "TEXT_INDEXOF_TITLE": "no texto %1 %2 %3",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "encontre a primeira ocorrência do item",
+       "TEXT_INDEXOF_OPERATOR_LAST": "encontre a última ocorrência do texto",
+       "TEXT_CHARAT_TITLE": "no texto %1 %2",
+       "TEXT_CHARAT_FROM_START": "obter letra nº",
+       "TEXT_CHARAT_FROM_END": "obter letra # a partir do final",
+       "TEXT_CHARAT_FIRST": "obter primeira letra",
+       "TEXT_CHARAT_LAST": "obter última letra",
+       "TEXT_CHARAT_RANDOM": "obter letra aleatória",
+       "TEXT_CHARAT_TOOLTIP": "Retorna a letra na posição especificada.",
+       "TEXT_GET_SUBSTRING_TOOLTIP": "Retorna o trecho de texto especificado.",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "no texto",
+       "TEXT_GET_SUBSTRING_START_FROM_START": "obter trecho de letra nº",
+       "TEXT_GET_SUBSTRING_START_FROM_END": "obter trecho de letra nº a partir do final",
+       "TEXT_GET_SUBSTRING_START_FIRST": "obter trecho de primeira letra",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "até letra nº",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "até letra nº a partir do final",
+       "TEXT_GET_SUBSTRING_END_LAST": "até última letra",
+       "TEXT_CHANGECASE_TOOLTIP": "Retorna uma cópia do texto em um formato diferente.",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "para MAIÚSCULAS",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "para minúsculas",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": "para Nomes Próprios",
+       "TEXT_TRIM_TOOLTIP": "Retorna uma cópia do texto com os espaços removidos de uma ou ambas extremidades.",
+       "TEXT_TRIM_OPERATOR_BOTH": "remover espaços de ambos os lados de",
+       "TEXT_TRIM_OPERATOR_LEFT": "remover espaços à esquerda de",
+       "TEXT_TRIM_OPERATOR_RIGHT": "remover espaços à direita de",
+       "TEXT_PRINT_TITLE": "imprime %1",
+       "TEXT_PRINT_TOOLTIP": "Imprime o texto, número ou valor especificado.",
+       "TEXT_PROMPT_TYPE_TEXT": "Pede um texto com uma mensagem",
+       "TEXT_PROMPT_TYPE_NUMBER": "Pede um número com uma mensagem",
+       "TEXT_PROMPT_TOOLTIP_NUMBER": "Pede ao usuário um número.",
+       "TEXT_PROMPT_TOOLTIP_TEXT": "Pede ao usuário um texto.",
+       "TEXT_COUNT_MESSAGE0": "Contar %1 em %2",
+       "TEXT_COUNT_HELPURL": "https://github.com/google/blockly/wiki/Text#counting-substrings",
+       "TEXT_COUNT_TOOLTIP": "Calcule quantas vezes algum texto aparece centro de algum outro texto.",
+       "TEXT_REPLACE_MESSAGE0": "substituir %1 por %2 em %3",
+       "TEXT_REPLACE_HELPURL": "https://github.com/google/blockly/wiki/Texto#substituindo-substrings",
+       "TEXT_REPLACE_TOOLTIP": "Substitua todas as ocorrências de algum texto dentro de algum outro texto.",
+       "TEXT_REVERSE_MESSAGE0": "inverter %1",
+       "TEXT_REVERSE_HELPURL": "https://github.com/google/blockly/wiki/Texto#invertendo-texto",
+       "TEXT_REVERSE_TOOLTIP": "Inverter a ordem dos caracteres no texto.",
+       "LISTS_CREATE_EMPTY_TITLE": "criar lista vazia",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "Retorna uma lista, de tamanho 0, contendo nenhum registro",
+       "LISTS_CREATE_WITH_TOOLTIP": "Cria uma lista com a quantidade de itens informada.",
+       "LISTS_CREATE_WITH_INPUT_WITH": "criar lista com",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "lista",
+       "LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "Acrescenta, remove ou reordena seções para reconfigurar este bloco de lista.",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "Acrescenta um item à lista.",
+       "LISTS_REPEAT_TOOLTIP": "Cria uma lista consistindo no valor informado repetido o número de vezes especificado.",
+       "LISTS_REPEAT_TITLE": "criar lista com item %1 repetido %2 vezes",
+       "LISTS_LENGTH_TITLE": "tamanho de %1",
+       "LISTS_LENGTH_TOOLTIP": "Retorna o tamanho de uma lista.",
+       "LISTS_ISEMPTY_TITLE": "%1 é vazia",
+       "LISTS_ISEMPTY_TOOLTIP": "Retorna ao verdadeiro se a lista estiver vazia.",
+       "LISTS_INLIST": "na lista",
+       "LISTS_INDEX_OF_FIRST": "encontre a primeira ocorrência do item",
+       "LISTS_INDEX_OF_LAST": "encontre a última ocorrência do item",
+       "LISTS_INDEX_OF_TOOLTIP": "Retorna o índice da primeira/última ocorrência do item na lista.  Retorna %1 se o item não for encontrado.",
+       "LISTS_GET_INDEX_GET": "obter",
+       "LISTS_GET_INDEX_GET_REMOVE": "obter e remover",
+       "LISTS_GET_INDEX_REMOVE": "remover",
+       "LISTS_GET_INDEX_FROM_START": "nº",
+       "LISTS_GET_INDEX_FROM_END": "nº a partir do final",
+       "LISTS_GET_INDEX_FIRST": "primeiro",
+       "LISTS_GET_INDEX_LAST": "último",
+       "LISTS_GET_INDEX_RANDOM": "aleatório",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "%1 é o primeiro item.",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "%1 é o último item.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "Retorna o item da lista na posição especificada.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "Retorna o primeiro item em uma lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "Retorna o último item em uma lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "Retorna um item aleatório de uma lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "Remove e retorna o item na posição especificada em uma lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "Remove e retorna o primeiro item de uma lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "Remove e retorna o último item de uma lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "Remove e retorna um item aleatório de uma lista.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "Remove o item na posição especificada em uma lista.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "Remove o primeiro item de uma lista.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "Remove o último item de uma lista.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "Remove um item aleatório de uma lista.",
+       "LISTS_SET_INDEX_SET": "definir",
+       "LISTS_SET_INDEX_INSERT": "inserir em",
+       "LISTS_SET_INDEX_INPUT_TO": "como",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "Define o item da posição especificada de uma lista.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "Define o primeiro item de uma lista.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_LAST": "Define o último item de uma lista.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "Define um item aleatório de uma lista.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "Insere o item na posição especificada em uma lista.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "Insere o item no início de uma lista.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "Insere o item no final de uma lista.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "Insere o item em uma posição qualquer de uma lista.",
+       "LISTS_GET_SUBLIST_START_FROM_START": "obtém sublista de nº",
+       "LISTS_GET_SUBLIST_START_FROM_END": "obtém sublista de nº a partir do final",
+       "LISTS_GET_SUBLIST_START_FIRST": "obtém sublista a partir do primeiro",
+       "LISTS_GET_SUBLIST_END_FROM_START": "até nº",
+       "LISTS_GET_SUBLIST_END_FROM_END": "até nº a partir do final",
+       "LISTS_GET_SUBLIST_END_LAST": "até último",
+       "LISTS_GET_SUBLIST_TOOLTIP": "Cria uma cópia da porção especificada de uma lista.",
+       "LISTS_SORT_HELPURL": "https://github.com/google/blockly/wiki/Lists#sorting-a-list",
+       "LISTS_SORT_TITLE": "ordenar %1 %2 %3",
+       "LISTS_SORT_TOOLTIP": "Ordenar uma cópia de uma lista.",
+       "LISTS_SORT_ORDER_ASCENDING": "ascendente",
+       "LISTS_SORT_ORDER_DESCENDING": "descendente",
+       "LISTS_SORT_TYPE_NUMERIC": "numérico",
+       "LISTS_SORT_TYPE_TEXT": "alfabético",
+       "LISTS_SORT_TYPE_IGNORECASE": "alfabético, ignorar maiúscula/minúscula",
+       "LISTS_SPLIT_LIST_FROM_TEXT": "Fazer uma lista a partir do texto",
+       "LISTS_SPLIT_TEXT_FROM_LIST": "fazer um texto a partir da lista",
+       "LISTS_SPLIT_WITH_DELIMITER": "com delimitador",
+       "LISTS_SPLIT_TOOLTIP_SPLIT": "Dividir o texto em uma lista de textos, separando-o em cada delimitador.",
+       "LISTS_SPLIT_TOOLTIP_JOIN": "Juntar uma lista de textos em um único texto, separado por um delimitador.",
+       "LISTS_REVERSE_HELPURL": "https://github.com/google/blockly/wiki/Listas#invertendo-uma-lista",
+       "LISTS_REVERSE_MESSAGE0": "inverter %1",
+       "LISTS_REVERSE_TOOLTIP": "Inverter uma cópia da lista.",
+       "VARIABLES_GET_TOOLTIP": "Retorna o valor desta variável.",
+       "VARIABLES_GET_CREATE_SET": "Criar \"definir %1\"",
+       "VARIABLES_SET": "definir %1 para %2",
+       "VARIABLES_SET_TOOLTIP": "Define esta variável para o valor da entrada.",
+       "VARIABLES_SET_CREATE_GET": "Criar \"obter %1\"",
+       "PROCEDURES_DEFNORETURN_TITLE": "para",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "faça algo",
+       "PROCEDURES_BEFORE_PARAMS": "com:",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "com:",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "Cria uma função que não tem retorno.",
+       "PROCEDURES_DEFNORETURN_COMMENT": "Descreva esta função...",
+       "PROCEDURES_DEFRETURN_RETURN": "retorna",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "Cria uma função que possui um valor de retorno.",
+       "PROCEDURES_ALLOW_STATEMENTS": "permitir declarações",
+       "PROCEDURES_DEF_DUPLICATE_WARNING": "Atenção: Esta função tem parâmetros duplicados.",
+       "PROCEDURES_CALLNORETURN_HELPURL": "https://pt.wikipedia.org/wiki/Sub-rotina",
+       "PROCEDURES_CALLNORETURN_TOOLTIP": "Executa a função definida pelo usuário \"%1\".",
+       "PROCEDURES_CALLRETURN_HELPURL": "https://pt.wikipedia.org/wiki/Sub-rotina",
+       "PROCEDURES_CALLRETURN_TOOLTIP": "Executa a função definida pelo usuário \"%1\" e usa seu retorno.",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "entradas",
+       "PROCEDURES_MUTATORCONTAINER_TOOLTIP": "Adiciona, remove, ou reordena as entradas para esta função.",
+       "PROCEDURES_MUTATORARG_TITLE": "nome da entrada:",
+       "PROCEDURES_MUTATORARG_TOOLTIP": "Adiciona uma entrada para esta função",
+       "PROCEDURES_HIGHLIGHT_DEF": "Destacar definição da função",
+       "PROCEDURES_CREATE_DO": "Criar \"%1\"",
+       "PROCEDURES_IFRETURN_TOOLTIP": "Se um valor é verdadeiro, então retorna um valor.",
+       "PROCEDURES_IFRETURN_HELPURL": "http://c2.com/cgi/wiki?GuardClause",
+       "PROCEDURES_IFRETURN_WARNING": "Atenção: Este bloco só pode ser utilizado dentro da definição de uma função.",
+       "WORKSPACE_COMMENT_DEFAULT_TEXT": "Diz algo..."
+}
diff --git a/js/msg/json/pt.json b/js/msg/json/pt.json
new file mode 100644 (file)
index 0000000..9c6f5af
--- /dev/null
@@ -0,0 +1,375 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Imperadeiro98",
+                       "Waldir",
+                       "Vitorvicentevalente",
+                       "ì•„ë¼",
+                       "Nicola Nascimento",
+                       "Önni",
+                       "Diniscoelho",
+                       "Fúlvio",
+                       "Mansil",
+                       "Mauricio",
+                       "Vicng",
+                       "MokaAkashiyaPT",
+                       "Athena in Wonderland",
+                       "McDutchie"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "item",
+       "TODAY": "Hoje",
+       "DUPLICATE_BLOCK": "Duplicar",
+       "ADD_COMMENT": "Adicionar Comentário",
+       "REMOVE_COMMENT": "Remover Comentário",
+       "DUPLICATE_COMMENT": "Duplicar comentário",
+       "EXTERNAL_INPUTS": "Entradas Externas",
+       "INLINE_INPUTS": "Entradas Em Linhas",
+       "DELETE_BLOCK": "Eliminar Bloco",
+       "DELETE_X_BLOCKS": "Eliminar %1 Blocos",
+       "DELETE_ALL_BLOCKS": "Eliminar todos os %1 blocos?",
+       "CLEAN_UP": "Limpar Blocos",
+       "COLLAPSE_BLOCK": "Ocultar Bloco",
+       "COLLAPSE_ALL": "Ocultar Blocos",
+       "EXPAND_BLOCK": "Expandir Bloco",
+       "EXPAND_ALL": "Expandir Blocos",
+       "DISABLE_BLOCK": "Desativar Bloco",
+       "ENABLE_BLOCK": "Ativar Bloco",
+       "HELP": "Ajuda",
+       "UNDO": "Desfazer",
+       "REDO": "Refazer",
+       "CHANGE_VALUE_TITLE": "Alterar valor:",
+       "RENAME_VARIABLE": "Renomear variável...",
+       "RENAME_VARIABLE_TITLE": "Renomear todas as variáveis '%1' para:",
+       "NEW_VARIABLE": "Criar variável…",
+       "NEW_STRING_VARIABLE": "Criar variável de segmentos de texto...",
+       "NEW_NUMBER_VARIABLE": "Criar variável numérica...",
+       "NEW_COLOUR_VARIABLE": "Criar variável colorida...",
+       "NEW_VARIABLE_TYPE_TITLE": "Tipo da nova variável:",
+       "NEW_VARIABLE_TITLE": "Nome da nova variável:",
+       "VARIABLE_ALREADY_EXISTS": "Já existe uma variável com o nome de '%1'.",
+       "VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE": "Já existe uma variável chamada '%1' para outra do tipo: '%2'.",
+       "DELETE_VARIABLE_CONFIRMATION": "Eliminar %1 utilizações da variável '%2'?",
+       "CANNOT_DELETE_VARIABLE_PROCEDURE": "Não se pode eliminar a variável '%1' porque faz parte da definição da função '%2'",
+       "DELETE_VARIABLE": "Eliminar a variável '%1'",
+       "COLOUR_PICKER_HELPURL": "http://pt.wikipedia.org/wiki/Cor",
+       "COLOUR_PICKER_TOOLTIP": "Escolha uma cor da paleta de cores.",
+       "COLOUR_RANDOM_TITLE": "cor aleatória",
+       "COLOUR_RANDOM_TOOLTIP": "Escolha uma cor aleatoriamente.",
+       "COLOUR_RGB_HELPURL": "http://www.december.com/html/spec/colorper.html",
+       "COLOUR_RGB_TITLE": "pinte com",
+       "COLOUR_RGB_RED": "vermelho",
+       "COLOUR_RGB_GREEN": "verde",
+       "COLOUR_RGB_BLUE": "azul",
+       "COLOUR_RGB_TOOLTIP": "Cria uma cor de acordo com a quantidade especificada de vermelho, verde e azul. Todos os valores devem estar entre 0 e 100.",
+       "COLOUR_BLEND_HELPURL": "http://meyerweb.com/eric/tools/color-blend/",
+       "COLOUR_BLEND_TITLE": "misturar",
+       "COLOUR_BLEND_COLOUR1": "cor 1",
+       "COLOUR_BLEND_COLOUR2": "cor 2",
+       "COLOUR_BLEND_RATIO": "proporção",
+       "COLOUR_BLEND_TOOLTIP": "Mistura duas cores com a proporção indicada (0.0 - 1.0).",
+       "CONTROLS_REPEAT_HELPURL": "http://pt.wikipedia.org/wiki/Estrutura_de_repeti%C3%A7%C3%A3o#Repeti.C3.A7.C3.A3o_com_vari.C3.A1vel_de_controle",
+       "CONTROLS_REPEAT_TITLE": "repetir %1 vez",
+       "CONTROLS_REPEAT_INPUT_DO": "faça",
+       "CONTROLS_REPEAT_TOOLTIP": "Faça algumas instruções várias vezes.",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "repetir enquanto",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "repetir até",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "Enquanto um valor for verdadeiro, então faça algumas instruções.",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "Enquanto um valor for falso, então faça algumas instruções.",
+       "CONTROLS_FOR_TOOLTIP": "Faz com que a variável \"%1\" assuma os valores desde o número inicial até ao número final, contando de acordo com o intervalo especificado e executa os blocos especificados.",
+       "CONTROLS_FOR_TITLE": "contar com %1 de %2 até %3 por %4",
+       "CONTROLS_FOREACH_TITLE": "para cada item %1 na lista %2",
+       "CONTROLS_FOREACH_TOOLTIP": "Para cada item numa lista, define a variável \"%1\" para o item e então faz algumas instruções.",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "sair do ciclo",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "continuar com a próxima iteração do ciclo",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "Sair do ciclo que está contido.",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "Ignorar o resto deste ciclo, e continuar com a próxima iteração.",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "Atenção: Este bloco só pode ser usado dentro de um ciclo.",
+       "CONTROLS_IF_TOOLTIP_1": "Se um valor é verdadeiro, então realize alguns passos.",
+       "CONTROLS_IF_TOOLTIP_2": "Se um valor é verdadeiro, então realize o primeiro bloco de instruções.  Senão, realize o segundo bloco de instruções",
+       "CONTROLS_IF_TOOLTIP_3": "Se o primeiro valor é verdadeiro, então realize o primeiro bloco de instruções.  Senão, se o segundo valor é verdadeiro, realize o segundo bloco de instruções.",
+       "CONTROLS_IF_TOOLTIP_4": "Se o primeiro valor é verdadeiro, então realize o primeiro bloco de instruções.  Senão, se o segundo valor é verdadeiro, realize o segundo bloco de instruções.  Se nenhum dos blocos for verdadeiro, realize o último bloco de instruções.",
+       "CONTROLS_IF_MSG_IF": "se",
+       "CONTROLS_IF_MSG_ELSEIF": "senão se",
+       "CONTROLS_IF_MSG_ELSE": "senão",
+       "CONTROLS_IF_IF_TOOLTIP": "Acrescente, remova ou reordene secções para reconfigurar este bloco se.",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "Acrescente uma condição ao bloco se.",
+       "CONTROLS_IF_ELSE_TOOLTIP": "Acrescente uma condição de excepação final para o bloco se.",
+       "IOS_OK": "Aceitar",
+       "IOS_CANCEL": "Cancelar",
+       "IOS_ERROR": "Erro",
+       "IOS_PROCEDURES_INPUTS": "ENTRADAS",
+       "IOS_PROCEDURES_ADD_INPUT": "+ Adicionar entrada",
+       "IOS_PROCEDURES_ALLOW_STATEMENTS": "Permitir declarações",
+       "IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR": "Essa função tem entradas duplicadas.",
+       "IOS_VARIABLES_ADD_VARIABLE": "+ Adicionar Variável",
+       "IOS_VARIABLES_ADD_BUTTON": "Adicionar",
+       "IOS_VARIABLES_RENAME_BUTTON": "Renomear",
+       "IOS_VARIABLES_DELETE_BUTTON": "Eliminar",
+       "IOS_VARIABLES_VARIABLE_NAME": "Nome da variável",
+       "IOS_VARIABLES_EMPTY_NAME_ERROR": "Você não pode usar um nome de variável vazio.",
+       "LOGIC_COMPARE_HELPURL": "http://pt.wikipedia.org/wiki/Inequa%C3%A7%C3%A3o",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "Retorna verdadeiro se ambas as entradas forem iguais entre si.",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "Retorna verdadeiro se ambas as entradas forem diferentes entre si.",
+       "LOGIC_COMPARE_TOOLTIP_LT": "Retorna verdadeiro se a primeira entrada for menor que a segunda entrada.",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "Retorna verdadeiro se a primeira entrada for menor ou igual à segunda entrada.",
+       "LOGIC_COMPARE_TOOLTIP_GT": "Retorna verdadeiro se a primeira entrada for maior que a segunda entrada.",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "Retorna verdadeiro se a primeira entrada for maior ou igual à segunda entrada.",
+       "LOGIC_OPERATION_TOOLTIP_AND": "Retorna verdadeiro se ambas as entradas forem verdadeiras.",
+       "LOGIC_OPERATION_AND": "e",
+       "LOGIC_OPERATION_TOOLTIP_OR": "Retorna verdadeiro se pelo menos uma das estradas for verdadeira.",
+       "LOGIC_OPERATION_OR": "ou",
+       "LOGIC_NEGATE_TITLE": "não %1",
+       "LOGIC_NEGATE_TOOLTIP": "Retorna verdadeiro se a entrada for falsa.  Retorna falso se a entrada for verdadeira.",
+       "LOGIC_BOOLEAN_TRUE": "verdadeiro",
+       "LOGIC_BOOLEAN_FALSE": "falso",
+       "LOGIC_BOOLEAN_TOOLTIP": "Retorna verdadeiro ou falso.",
+       "LOGIC_NULL_HELPURL": "http://en.wikipedia.org/wiki/Nullable_type",
+       "LOGIC_NULL": "nulo",
+       "LOGIC_NULL_TOOLTIP": "Retorna nulo.",
+       "LOGIC_TERNARY_HELPURL": "http://en.wikipedia.org/wiki/%3F:",
+       "LOGIC_TERNARY_CONDITION": "teste",
+       "LOGIC_TERNARY_IF_TRUE": "se verdadeiro",
+       "LOGIC_TERNARY_IF_FALSE": "se falso",
+       "LOGIC_TERNARY_TOOLTIP": "Avalia a condição em \"teste\". Se a condição for verdadeira retorna o valor \"se verdadeiro\", senão retorna o valor \"se falso\".",
+       "MATH_NUMBER_HELPURL": "http://pt.wikipedia.org/wiki/N%C3%BAmero",
+       "MATH_NUMBER_TOOLTIP": "Um número.",
+       "MATH_ADDITION_SYMBOL": "+",
+       "MATH_SUBTRACTION_SYMBOL": "-",
+       "MATH_DIVISION_SYMBOL": "÷",
+       "MATH_MULTIPLICATION_SYMBOL": "×",
+       "MATH_POWER_SYMBOL": "^",
+       "MATH_TRIG_SIN": "sin",
+       "MATH_TRIG_COS": "cos",
+       "MATH_TRIG_TAN": "tan",
+       "MATH_TRIG_ASIN": "asin",
+       "MATH_TRIG_ACOS": "acos",
+       "MATH_TRIG_ATAN": "atan",
+       "MATH_ARITHMETIC_HELPURL": "http://pt.wikipedia.org/wiki/Aritm%C3%A9tica",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "Retorna a soma de dois números.",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "Retorna a diferença de dois números.",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "Retorna o produto de dois números.",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "Retorna o quociente da divisão de dois números.",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "Retorna o primeiro número elevado à potência do segundo número.",
+       "MATH_SINGLE_HELPURL": "http://pt.wikipedia.org/wiki/Raiz_quadrada",
+       "MATH_SINGLE_OP_ROOT": "raíz quadrada",
+       "MATH_SINGLE_TOOLTIP_ROOT": "Retorna a raiz quadrada de um número.",
+       "MATH_SINGLE_OP_ABSOLUTE": "absoluto",
+       "MATH_SINGLE_TOOLTIP_ABS": "Retorna o valor absoluto de um número.",
+       "MATH_SINGLE_TOOLTIP_NEG": "Retorna o oposto de um número.",
+       "MATH_SINGLE_TOOLTIP_LN": "Retorna o logarítmo natural de um número.",
+       "MATH_SINGLE_TOOLTIP_LOG10": "Retorna o logarítmo em base 10 de um número.",
+       "MATH_SINGLE_TOOLTIP_EXP": "Retorna o número e elevado à potência de um número.",
+       "MATH_SINGLE_TOOLTIP_POW10": "Retorna 10 elevado à potência de um número.",
+       "MATH_TRIG_HELPURL": "http://pt.wikipedia.org/wiki/Fun%C3%A7%C3%A3o_trigonom%C3%A9trica",
+       "MATH_TRIG_TOOLTIP_SIN": "Retorna o seno de um grau (não radiano).",
+       "MATH_TRIG_TOOLTIP_COS": "Retorna o cosseno de um grau (não radiano).",
+       "MATH_TRIG_TOOLTIP_TAN": "Retorna a tangente de um grau (não radiano).",
+       "MATH_TRIG_TOOLTIP_ASIN": "Retorna o arco seno de um número.",
+       "MATH_TRIG_TOOLTIP_ACOS": "Retorna o arco cosseno de um número.",
+       "MATH_TRIG_TOOLTIP_ATAN": "Retorna o arco tangente de um número.",
+       "MATH_CONSTANT_HELPURL": "http://pt.wikipedia.org/wiki/Anexo:Lista_de_constantes_matem%C3%A1ticas",
+       "MATH_CONSTANT_TOOLTIP": "Retorna uma das constantes comuns: Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), ou âˆž (infinito).",
+       "MATH_IS_EVEN": "é par",
+       "MATH_IS_ODD": "é impar",
+       "MATH_IS_PRIME": "é primo",
+       "MATH_IS_WHOLE": "é inteiro",
+       "MATH_IS_POSITIVE": "é positivo",
+       "MATH_IS_NEGATIVE": "é negativo",
+       "MATH_IS_DIVISIBLE_BY": "é divisível por",
+       "MATH_IS_TOOLTIP": "Verifica se um número é par, impar, primo, inteiro, positivo, negativo, ou se é divisível por outro número.  Retorna verdadeiro ou falso.",
+       "MATH_CHANGE_HELPURL": "http://pt.wikipedia.org/wiki/Adi%C3%A7%C3%A3o",
+       "MATH_CHANGE_TITLE": "alterar %1 por %2",
+       "MATH_CHANGE_TOOLTIP": "Soma um número à variável \"%1\".",
+       "MATH_ROUND_HELPURL": "http://pt.wikipedia.org/wiki/Arredondamento",
+       "MATH_ROUND_TOOLTIP": "Arredonda um número para cima ou para baixo.",
+       "MATH_ROUND_OPERATOR_ROUND": "arredonda",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "arredonda para cima",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "arredonda para baixo",
+       "MATH_ONLIST_OPERATOR_SUM": "soma da lista",
+       "MATH_ONLIST_TOOLTIP_SUM": "Retorna a soma de todos os números da lista.",
+       "MATH_ONLIST_OPERATOR_MIN": "menor de uma lista",
+       "MATH_ONLIST_TOOLTIP_MIN": "Retorna o menor número da lista.",
+       "MATH_ONLIST_OPERATOR_MAX": "maior de uma lista",
+       "MATH_ONLIST_TOOLTIP_MAX": "Retorna o maior número da lista.",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "média de uma lista",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "Retorna a média aritmética dos valores números da lista.",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "mediana de uma lista",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "Retorna a mediana da lista.",
+       "MATH_ONLIST_OPERATOR_MODE": "moda de uma lista",
+       "MATH_ONLIST_TOOLTIP_MODE": "Retorna a lista de item(ns) mais comum(ns) da lista.",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "desvio padrão de uma lista",
+       "MATH_ONLIST_TOOLTIP_STD_DEV": "Retorna o desvio padrão dos números da lista.",
+       "MATH_ONLIST_OPERATOR_RANDOM": "item aleatório de uma lista",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "Retorna um elemento aleatório da lista.",
+       "MATH_MODULO_HELPURL": "http://pt.wikipedia.org/wiki/Opera%C3%A7%C3%A3o_m%C3%B3dulo",
+       "MATH_MODULO_TITLE": "resto da divisão de %1 ÷ %2",
+       "MATH_MODULO_TOOLTIP": "Retorna o resto da divisão de dois números.",
+       "MATH_CONSTRAIN_TITLE": "restringe %1 inferior %2 superior %3",
+       "MATH_CONSTRAIN_TOOLTIP": "Restringe um número entre os limites especificados (inclusive).",
+       "MATH_RANDOM_INT_HELPURL": "http://pt.wikipedia.org/wiki/N%C3%BAmero_aleat%C3%B3rio",
+       "MATH_RANDOM_INT_TITLE": "inteiro aleatório entre %1 e %2",
+       "MATH_RANDOM_INT_TOOLTIP": "Retorna um número inteiro entre os dois limites especificados, inclusive.",
+       "MATH_RANDOM_FLOAT_HELPURL": "http://pt.wikipedia.org/wiki/N%C3%BAmero_aleat%C3%B3rio",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "fração aleatória",
+       "MATH_RANDOM_FLOAT_TOOLTIP": "Insere uma fração aleatória entre 0.0 (inclusive) e 1.0 (exclusive).",
+       "TEXT_TEXT_HELPURL": "http://pt.wikipedia.org/wiki/Cadeia_de_caracteres",
+       "TEXT_TEXT_TOOLTIP": "Uma letra, palavra ou linha de texto.",
+       "TEXT_JOIN_TITLE_CREATEWITH": "criar texto com",
+       "TEXT_JOIN_TOOLTIP": "Criar um pedaço de texto juntando qualquer número de itens.",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "unir",
+       "TEXT_CREATE_JOIN_TOOLTIP": "Acrescenta, remove ou reordena seções para reconfigurar este bloco de texto.",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "Acrescentar um item ao texto.",
+       "TEXT_APPEND_TITLE": "para %1 acrescentar texto %2",
+       "TEXT_APPEND_TOOLTIP": "Acrescentar um pedaço de texto à variável \"%1\".",
+       "TEXT_LENGTH_TITLE": "tamanho de %1",
+       "TEXT_LENGTH_TOOLTIP": "Devolve o número de letras (incluindo espaços) do texto fornecido.",
+       "TEXT_ISEMPTY_TITLE": "%1 está vazio",
+       "TEXT_ISEMPTY_TOOLTIP": "Retorna verdadeiro se o texto fornecido estiver vazio.",
+       "TEXT_INDEXOF_TOOLTIP": "Retorna a posição da primeira/última ocorrência do primeiro texto no segundo texto. Retorna %1 se o texto não for encontrado.",
+       "TEXT_INDEXOF_TITLE": "no texto %1 %2 %3",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "primeira ocorrência do texto",
+       "TEXT_INDEXOF_OPERATOR_LAST": "última ocorrência do texto",
+       "TEXT_CHARAT_TITLE": "no texto %1 %2",
+       "TEXT_CHARAT_FROM_START": "obter letra nº",
+       "TEXT_CHARAT_FROM_END": "obter letra nº a partir do final",
+       "TEXT_CHARAT_FIRST": "obter primeira letra",
+       "TEXT_CHARAT_LAST": "obter última letra",
+       "TEXT_CHARAT_RANDOM": "obter letra aleatória",
+       "TEXT_CHARAT_TOOLTIP": "Retorna a letra na posição especificada.",
+       "TEXT_GET_SUBSTRING_TOOLTIP": "Retorna a parte especificada do texto.",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "no texto",
+       "TEXT_GET_SUBSTRING_START_FROM_START": "obter subsequência de tamanho #",
+       "TEXT_GET_SUBSTRING_START_FROM_END": "obter subsequência de tamanho # a partir do final",
+       "TEXT_GET_SUBSTRING_START_FIRST": "obter subsequência a partir da primeira letra",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "até letra nº",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "até letra nº a partir do final",
+       "TEXT_GET_SUBSTRING_END_LAST": "até última letra",
+       "TEXT_CHANGECASE_TOOLTIP": "Retorna uma cópia do texto em formato diferente.",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "para MAIÚSCULAS",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "para minúsculas",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": "para Iniciais Maiúsculas",
+       "TEXT_TRIM_TOOLTIP": "Retorna uma cópia do texto com os espaços removidos de uma ou ambas as extremidades.",
+       "TEXT_TRIM_OPERATOR_BOTH": "remover espaços de ambos os lados",
+       "TEXT_TRIM_OPERATOR_LEFT": "remover espaços à esquerda de",
+       "TEXT_TRIM_OPERATOR_RIGHT": "remover espaços à direita",
+       "TEXT_PRINT_TITLE": "imprime %1",
+       "TEXT_PRINT_TOOLTIP": "Imprime o texto, número ou outro valor especificado.",
+       "TEXT_PROMPT_TYPE_TEXT": "Pede um texto com a mensagem",
+       "TEXT_PROMPT_TYPE_NUMBER": "pede um número com a mensagem",
+       "TEXT_PROMPT_TOOLTIP_NUMBER": "Pede ao utilizador um número.",
+       "TEXT_PROMPT_TOOLTIP_TEXT": "Pede ao utilizador um texto.",
+       "TEXT_COUNT_MESSAGE0": "contar %1 em %2",
+       "TEXT_COUNT_HELPURL": "https://github.com/google/blockly/wiki/Text#counting-substrings",
+       "TEXT_COUNT_TOOLTIP": "Conte quantas vezes um certo texto aparece dentro de algum outro texto.",
+       "TEXT_REPLACE_MESSAGE0": "substituir %1 por %2 em %3",
+       "TEXT_REPLACE_HELPURL": "https://github.com/google/blockly/wiki/Text#replacing-substrings",
+       "TEXT_REPLACE_TOOLTIP": "Substituir todas as ocorrências de um certo texto dentro de algum outro texto.",
+       "TEXT_REVERSE_MESSAGE0": "inverter %1",
+       "TEXT_REVERSE_HELPURL": "https://github.com/google/blockly/wiki/Text#reversing-text",
+       "TEXT_REVERSE_TOOLTIP": "Inverte a ordem dos caracteres no texto.",
+       "LISTS_CREATE_EMPTY_HELPURL": "https://github.com/google/blockly/wiki/Lists#create-empty-list",
+       "LISTS_CREATE_EMPTY_TITLE": "criar lista vazia",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "Retorna uma lista, de tamanho 0, contendo nenhum registo",
+       "LISTS_CREATE_WITH_TOOLTIP": "Cria uma lista com qualquer número de itens.",
+       "LISTS_CREATE_WITH_INPUT_WITH": "criar lista com",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "lista",
+       "LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "Acrescente, remova ou reordene as seções para reconfigurar este bloco lista.",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "Acrescenta um item à lista.",
+       "LISTS_REPEAT_TOOLTIP": "Cria uma lista constituída por um dado valor repetido o número de vezes especificado.",
+       "LISTS_REPEAT_TITLE": "criar lista com o item %1 repetido %2 vezes",
+       "LISTS_LENGTH_TITLE": "tamanho de %1",
+       "LISTS_LENGTH_TOOLTIP": "Retorna o tamanho de uma lista.",
+       "LISTS_ISEMPTY_TITLE": "%1 está vazia",
+       "LISTS_ISEMPTY_TOOLTIP": "Retona verdadeiro se a lista estiver vazia.",
+       "LISTS_INLIST": "na lista",
+       "LISTS_INDEX_OF_FIRST": "encontre a primeira ocorrência do item",
+       "LISTS_INDEX_OF_LAST": "encontre a última ocorrência do item",
+       "LISTS_INDEX_OF_TOOLTIP": "Retorna a posição da primeira/última ocorrência do item na lista.  Retorna %1 se o item não for encontrado.",
+       "LISTS_GET_INDEX_GET": "obter",
+       "LISTS_GET_INDEX_GET_REMOVE": "obter e remover",
+       "LISTS_GET_INDEX_REMOVE": "remover",
+       "LISTS_GET_INDEX_FROM_START": "#",
+       "LISTS_GET_INDEX_FROM_END": "# a partir do final",
+       "LISTS_GET_INDEX_FIRST": "primeiro",
+       "LISTS_GET_INDEX_LAST": "último",
+       "LISTS_GET_INDEX_RANDOM": "aleatório",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "%1 é o primeiro item.",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "%1 é o último item.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "Retorna o item na posição especificada da lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "Retorna o primeiro item de uma lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "Retorna o último item de uma lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "Retorna um item aleatório de uma lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "Remove e retorna o item na posição especificada de uma lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "Remove e retorna o primeiro item de uma lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "Remove e retorna o último item de uma lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "Remove e retorna um item aleatório de uma lista.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "Remove o item de uma posição especifica da lista.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "Remove o primeiro item de uma lista.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "Remove o último item de uma lista.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "Remove um item aleatório de uma lista.",
+       "LISTS_SET_INDEX_SET": "definir",
+       "LISTS_SET_INDEX_INSERT": "inserir em",
+       "LISTS_SET_INDEX_INPUT_TO": "como",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "Define o item na posição especificada de uma lista.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "Define o primeiro item de uma lista.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_LAST": "Define o último item de uma lista.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "Define um item aleatório de uma lista.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "Insere o item numa posição especificada numa lista.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "Insere o item no início da lista.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "Insere o item no final da lista.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "Insere o item numa posição aleatória de uma lista.",
+       "LISTS_GET_SUBLIST_START_FROM_START": "obtem sublista de #",
+       "LISTS_GET_SUBLIST_START_FROM_END": "obtem sublista de # a partir do final",
+       "LISTS_GET_SUBLIST_START_FIRST": "obtem sublista da primeira lista",
+       "LISTS_GET_SUBLIST_END_FROM_START": "até #",
+       "LISTS_GET_SUBLIST_END_FROM_END": "até #, a partir do final",
+       "LISTS_GET_SUBLIST_END_LAST": "para o último",
+       "LISTS_GET_SUBLIST_TOOLTIP": "Cria uma cópia da porção especificada de uma lista.",
+       "LISTS_SORT_HELPURL": "https://github.com/google/blockly/wiki/Lists#sorting-a-list",
+       "LISTS_SORT_TITLE": "ordenar %1 %2 %3",
+       "LISTS_SORT_TOOLTIP": "Ordenar uma cópia de uma lista.",
+       "LISTS_SORT_ORDER_ASCENDING": "ascendente",
+       "LISTS_SORT_ORDER_DESCENDING": "descendente",
+       "LISTS_SORT_TYPE_NUMERIC": "numérica",
+       "LISTS_SORT_TYPE_TEXT": "alfabética",
+       "LISTS_SORT_TYPE_IGNORECASE": "alfabética, ignorar maiúsculas/minúsculas",
+       "LISTS_SPLIT_LIST_FROM_TEXT": "fazer lista a partir de texto",
+       "LISTS_SPLIT_TEXT_FROM_LIST": "fazer texto a partir da lista",
+       "LISTS_SPLIT_WITH_DELIMITER": "com delimitador",
+       "LISTS_SPLIT_TOOLTIP_SPLIT": "Dividir o texto numa lista de textos, separando-o em cada delimitador.",
+       "LISTS_SPLIT_TOOLTIP_JOIN": "Juntar uma lista de textos num único texto, separado por um delimitador.",
+       "LISTS_REVERSE_HELPURL": "https://github.com/google/blockly/wiki/Lists#reversing-a-list",
+       "LISTS_REVERSE_MESSAGE0": "inverter %1",
+       "LISTS_REVERSE_TOOLTIP": "Inverter uma cópia da lista.",
+       "VARIABLES_GET_TOOLTIP": "Retorna o valor desta variável.",
+       "VARIABLES_GET_CREATE_SET": "Criar \"definir %1\"",
+       "VARIABLES_SET": "definir %1 para %2",
+       "VARIABLES_SET_TOOLTIP": "Define esta variável para o valor inserido.",
+       "VARIABLES_SET_CREATE_GET": "Criar \"obter %1\"",
+       "PROCEDURES_DEFNORETURN_HELPURL": "http://en.wikipedia.org/wiki/Procedure_%28computer_science%29",
+       "PROCEDURES_DEFNORETURN_TITLE": "para",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "faz algo",
+       "PROCEDURES_BEFORE_PARAMS": "com:",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "com:",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "Cria uma função que não tem retorno.",
+       "PROCEDURES_DEFNORETURN_COMMENT": "Descreva esta função...",
+       "PROCEDURES_DEFRETURN_HELPURL": "http://en.wikipedia.org/wiki/Procedure_%28computer_science%29",
+       "PROCEDURES_DEFRETURN_RETURN": "retorna",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "Cria uma função que possui um valor de retorno.",
+       "PROCEDURES_ALLOW_STATEMENTS": "permitir declarações",
+       "PROCEDURES_DEF_DUPLICATE_WARNING": "Atenção: Esta função tem parâmetros duplicados.",
+       "PROCEDURES_CALLNORETURN_HELPURL": "https://pt.wikipedia.org/wiki/Sub-rotina",
+       "PROCEDURES_CALLNORETURN_TOOLTIP": "Executa a função \"%1\".",
+       "PROCEDURES_CALLRETURN_HELPURL": "https://pt.wikipedia.org/wiki/Sub-rotina",
+       "PROCEDURES_CALLRETURN_TOOLTIP": "Executa a função \"%1\" e usa o seu retorno.",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "entradas",
+       "PROCEDURES_MUTATORCONTAINER_TOOLTIP": "Adicionar, remover ou reordenar as entradas para esta função.",
+       "PROCEDURES_MUTATORARG_TITLE": "nome da entrada:",
+       "PROCEDURES_MUTATORARG_TOOLTIP": "Adicionar uma entrada para a função.",
+       "PROCEDURES_HIGHLIGHT_DEF": "Destacar definição da função",
+       "PROCEDURES_CREATE_DO": "Criar \"%1\"",
+       "PROCEDURES_IFRETURN_TOOLTIP": "se o valor é verdadeiro, então retorna um segundo valor.",
+       "PROCEDURES_IFRETURN_WARNING": "Atenção: Este bloco só pode ser utilizado dentro da definição de uma função.",
+       "WORKSPACE_COMMENT_DEFAULT_TEXT": "Diz algo..."
+}
diff --git a/js/msg/json/qqq.json b/js/msg/json/qqq.json
new file mode 100644 (file)
index 0000000..ea939dd
--- /dev/null
@@ -0,0 +1,405 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Espertus",
+                       "Liuxinyu970226",
+                       "Metalhead64",
+                       "Robby",
+                       "Shirayuki"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "default name - A simple, general default name for a variable, preferably short. For more context, see [[Translating:Blockly#infrequent_message_types]].\n{{Identical|Item}}",
+       "TODAY": "button text - Button that sets a calendar to today's date.\n{{Identical|Today}}",
+       "DUPLICATE_BLOCK": "context menu - Make a copy of the selected block (and any blocks it contains).\n{{Identical|Duplicate}}",
+       "ADD_COMMENT": "context menu - Add a descriptive comment to the selected block.",
+       "REMOVE_COMMENT": "context menu - Remove the descriptive comment from the selected block.",
+       "DUPLICATE_COMMENT": "context menu - Make a copy of the selected workspace comment.\n{{Identical|Duplicate}}",
+       "EXTERNAL_INPUTS": "context menu - Change from 'external' to 'inline' mode for displaying blocks used as inputs to the selected block.  See [[Translating:Blockly#context_menus]].",
+       "INLINE_INPUTS": "context menu - Change from 'internal' to 'external' mode for displaying blocks used as inputs to the selected block.  See [[Translating:Blockly#context_menus]].",
+       "DELETE_BLOCK": "context menu - Permanently delete the selected block.",
+       "DELETE_X_BLOCKS": "context menu - Permanently delete the %1 selected blocks.\n\nParameters:\n* %1 - an integer greater than 1.",
+       "DELETE_ALL_BLOCKS": "confirmation prompt - Question the user if they really wanted to permanently delete all %1 blocks.\n\nParameters:\n* %1 - an integer greater than 1.",
+       "CLEAN_UP": "context menu - Reposition all the blocks so that they form a neat line.",
+       "COLLAPSE_BLOCK": "context menu - Make the appearance of the selected block smaller by hiding some information about it.",
+       "COLLAPSE_ALL": "context menu - Make the appearance of all blocks smaller by hiding some information about it.  Use the same terminology as in the previous message.",
+       "EXPAND_BLOCK": "context menu - Restore the appearance of the selected block by showing information about it that was hidden (collapsed) earlier.",
+       "EXPAND_ALL": "context menu - Restore the appearance of all blocks by showing information about it that was hidden (collapsed) earlier.  Use the same terminology as in the previous message.",
+       "DISABLE_BLOCK": "context menu - Make the selected block have no effect (unless reenabled).",
+       "ENABLE_BLOCK": "context menu - Make the selected block have effect (after having been disabled earlier).",
+       "HELP": "context menu - Provide helpful information about the selected block.\n{{Identical|Help}}",
+       "UNDO": "context menu - Undo the previous action.\n{{Identical|Undo}}",
+       "REDO": "context menu - Undo the previous undo action.\n{{Identical|Redo}}",
+       "CHANGE_VALUE_TITLE": "prompt - This message is only seen in the Opera browser.  With most browsers, users can edit numeric values in blocks by just clicking and typing.  Opera does not allows this, so we have to open a new window and prompt users with this message to chanage a value.",
+       "RENAME_VARIABLE": "dropdown choice - When the user clicks on a variable block, this is one of the dropdown menu choices.  It is used to rename the current variable.  See [https://github.com/google/blockly/wiki/Variables#dropdown-menu https://github.com/google/blockly/wiki/Variables#dropdown-menu].",
+       "RENAME_VARIABLE_TITLE": "prompt - Prompts the user to enter the new name for the selected variable.  See [https://github.com/google/blockly/wiki/Variables#dropdown-menu https://github.com/google/blockly/wiki/Variables#dropdown-menu].\n\nParameters:\n* %1 - the name of the variable to be renamed.",
+       "NEW_VARIABLE": "button text - Text on the button used to launch the variable creation dialogue.",
+       "NEW_STRING_VARIABLE": "button text - Text on the button used to launch the variable creation dialogue.",
+       "NEW_NUMBER_VARIABLE": "button text - Text on the button used to launch the variable creation dialogue.",
+       "NEW_COLOUR_VARIABLE": "button text - Text on the button used to launch the variable creation dialogue.",
+       "NEW_VARIABLE_TYPE_TITLE": "prompt - Prompts the user to enter the type for a variable.",
+       "NEW_VARIABLE_TITLE": "prompt - Prompts the user to enter the name for a new variable.  See [https://github.com/google/blockly/wiki/Variables#dropdown-menu https://github.com/google/blockly/wiki/Variables#dropdown-menu].",
+       "VARIABLE_ALREADY_EXISTS": "alert - Tells the user that the name they entered is already in use.",
+       "VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE": "alert - Tells the user that the name they entered is already in use for another type.",
+       "DELETE_VARIABLE_CONFIRMATION": "confirm -  Ask the user to confirm their deletion of multiple uses of a variable.",
+       "CANNOT_DELETE_VARIABLE_PROCEDURE": "alert - Tell the user that they can't delete a variable because it's part of the definition of a function.",
+       "DELETE_VARIABLE": "dropdown choice - Delete the currently selected variable.",
+       "COLOUR_PICKER_HELPURL": "{{Optional}} url - Information about colour.",
+       "COLOUR_PICKER_TOOLTIP": "tooltip - See [https://github.com/google/blockly/wiki/Colour#picking-a-colour-from-a-palette https://github.com/google/blockly/wiki/Colour#picking-a-colour-from-a-palette].",
+       "COLOUR_RANDOM_HELPURL": "{{Optional}} url - A link that displays a random colour each time you visit it.",
+       "COLOUR_RANDOM_TITLE": "block text - Title of block that generates a colour at random.",
+       "COLOUR_RANDOM_TOOLTIP": "tooltip - See [https://github.com/google/blockly/wiki/Colour#generating-a-random-colour https://github.com/google/blockly/wiki/Colour#generating-a-random-colour].",
+       "COLOUR_RGB_HELPURL": "{{Optional}} url - A link for color codes with percentages (0-100%) for each component, instead of the more common 0-255, which may be more difficult for beginners.",
+       "COLOUR_RGB_TITLE": "block text - Title of block for [https://github.com/google/blockly/wiki/Colour#creating-a-colour-from-red-green-and-blue-components https://github.com/google/blockly/wiki/Colour#creating-a-colour-from-red-green-and-blue-components].",
+       "COLOUR_RGB_RED": "block input text - The amount of red (from 0 to 100) to use when [https://github.com/google/blockly/wiki/Colour#creating-a-colour-from-red-green-and-blue-components https://github.com/google/blockly/wiki/Colour#creating-a-colour-from-red-green-and-blue-components].\n{{Identical|Red}}",
+       "COLOUR_RGB_GREEN": "block input text - The amount of green (from 0 to 100) to use when [https://github.com/google/blockly/wiki/Colour#creating-a-colour-from-red-green-and-blue-components https://github.com/google/blockly/wiki/Colour#creating-a-colour-from-red-green-and-blue-components].",
+       "COLOUR_RGB_BLUE": "block input text - The amount of blue (from 0 to 100) to use when [https://github.com/google/blockly/wiki/Colour#creating-a-colour-from-red-green-and-blue-components https://github.com/google/blockly/wiki/Colour#creating-a-colour-from-red-green-and-blue-components].\n{{Identical|Blue}}",
+       "COLOUR_RGB_TOOLTIP": "tooltip - See [https://github.com/google/blockly/wiki/Colour#creating-a-colour-from-red-green-and-blue-components https://github.com/google/blockly/wiki/Colour#creating-a-colour-from-red-green-and-blue-components].",
+       "COLOUR_BLEND_HELPURL": "{{Optional}} url - A useful link that displays blending of two colors.",
+       "COLOUR_BLEND_TITLE": "block text - A verb for blending two shades of paint.",
+       "COLOUR_BLEND_COLOUR1": "block input text - The first of two colours to [https://github.com/google/blockly/wiki/Colour#blending-colours blend].",
+       "COLOUR_BLEND_COLOUR2": "block input text - The second of two colours to [https://github.com/google/blockly/wiki/Colour#blending-colours blend].",
+       "COLOUR_BLEND_RATIO": "block input text - The proportion of the [https://github.com/google/blockly/wiki/Colour#blending-colours blend] containing the first color; the remaining proportion is of the second colour.  For example, if the first colour is red and the second color blue, a ratio of 1 would yield pure red, a ratio of .5 would yield purple (equal amounts of red and blue), and a ratio of 0 would yield pure blue.\n{{Identical|Ratio}}",
+       "COLOUR_BLEND_TOOLTIP": "tooltip - See [https://github.com/google/blockly/wiki/Colour#blending-colours https://github.com/google/blockly/wiki/Colour#blending-colours].",
+       "CONTROLS_REPEAT_HELPURL": "{{Optional}} url - Describes 'repeat loops' in computer programs; consider using the translation of the page [https://en.wikipedia.org/wiki/Control_flow https://en.wikipedia.org/wiki/Control_flow].",
+       "CONTROLS_REPEAT_TITLE": "block input text - Title of [https://github.com/google/blockly/wiki/Loops#repeat repeat block].\n\nParameters:\n* %1 - the number of times the body of the loop should be repeated.",
+       "CONTROLS_REPEAT_INPUT_DO": "block text - Preceding the blocks in the body of the loop.  See [https://github.com/google/blockly/wiki/Loops https://github.com/google/blockly/wiki/Loops].\n{{Identical|Do}}",
+       "CONTROLS_REPEAT_TOOLTIP": "tooltip - See [https://github.com/google/blockly/wiki/Loops#repeat https://github.com/google/blockly/wiki/Loops#repeat].",
+       "CONTROLS_WHILEUNTIL_HELPURL": "{{Optional}} url - Describes 'while loops' in computer programs; consider using the translation of [https://en.wikipedia.org/wiki/While_loop https://en.wikipedia.org/wiki/While_loop], if present, or [https://en.wikipedia.org/wiki/Control_flow https://en.wikipedia.org/wiki/Control_flow].",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "dropdown - Specifies that a loop should [https://github.com/google/blockly/wiki/Loops#repeat-while repeat while] the following condition is true.",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "dropdown - Specifies that a loop should [https://github.com/google/blockly/wiki/Loops#repeat-until repeat until] the following condition becomes true.",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "tooltip - See [https://github.com/google/blockly/wiki/Loops#repeat-while Loops#repeat-while https://github.com/google/blockly/wiki/Loops#repeat-while Loops#repeat-while].",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "tooltip - See [https://github.com/google/blockly/wiki/Loops#repeat-until https://github.com/google/blockly/wiki/Loops#repeat-until].",
+       "CONTROLS_FOR_HELPURL": "{{Optional}} url - Describes 'for loops' in computer programs.  Consider using your language's translation of [https://en.wikipedia.org/wiki/For_loop https://en.wikipedia.org/wiki/For_loop], if present.",
+       "CONTROLS_FOR_TOOLTIP": "tooltip - See [https://github.com/google/blockly/wiki/Loops#count-with https://github.com/google/blockly/wiki/Loops#count-with].\n\nParameters:\n* %1 - the name of the loop variable.",
+       "CONTROLS_FOR_TITLE": "block text - Repeatedly counts a variable (%1) starting with a (usually lower) number in a range (%2), ending with a (usually higher) number in a range (%3), and counting the iterations by a number of steps (%4).  As in [https://github.com/google/blockly/wiki/Loops#count-with https://github.com/google/blockly/wiki/Loops#count-with]. [[File:Blockly-count-with.png]]",
+       "CONTROLS_FOREACH_HELPURL": "{{Optional}} url - Describes 'for-each loops' in computer programs.  Consider using your language's translation of [https://en.wikipedia.org/wiki/Foreach https://en.wikipedia.org/wiki/Foreach] if present.",
+       "CONTROLS_FOREACH_TITLE": "block text - Title of [https://github.com/google/blockly/wiki/Loops#for-each for each block]. Sequentially assigns every item in array %2 to the valiable %1.",
+       "CONTROLS_FOREACH_TOOLTIP": "block text - Description of [https://github.com/google/blockly/wiki/Loops#for-each for each blocks].\n\nParameters:\n* %1 - the name of the loop variable.",
+       "CONTROLS_FLOW_STATEMENTS_HELPURL": "{{Optional}} url - Describes control flow in computer programs.  Consider using your language's translation of [https://en.wikipedia.org/wiki/Control_flow https://en.wikipedia.org/wiki/Control_flow], if it exists.",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "dropdown - The current loop should be exited.  See [https://github.com/google/blockly/wiki/Loops#break https://github.com/google/blockly/wiki/Loops#break].",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "dropdown - The current iteration of the loop should be ended and the next should begin.  See [https://github.com/google/blockly/wiki/Loops#continue-with-next-iteration https://github.com/google/blockly/wiki/Loops#continue-with-next-iteration].",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "tooltip - See [https://github.com/google/blockly/wiki/Loops#break-out-of-loop https://github.com/google/blockly/wiki/Loops#break-out-of-loop].",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "tooltip - See [https://github.com/google/blockly/wiki/Loops#continue-with-next-iteration https://github.com/google/blockly/wiki/Loops#continue-with-next-iteration].",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "warning - The user has tried placing a block outside of a loop (for each, while, repeat, etc.), but this type of block may only be used within a loop.  See [https://github.com/google/blockly/wiki/Loops#loop-termination-blocks https://github.com/google/blockly/wiki/Loops#loop-termination-blocks].",
+       "CONTROLS_IF_HELPURL": "{{Optional}} url - Describes conditional statements (if-then-else) in computer programs.  Consider using your language's translation of [https://en.wikipedia.org/wiki/If_else https://en.wikipedia.org/wiki/If_else], if present.",
+       "CONTROLS_IF_TOOLTIP_1": "tooltip - Describes [https://github.com/google/blockly/wiki/IfElse#if-blocks 'if' blocks].  Consider using your language's translation of [https://en.wikipedia.org/wiki/If_statement https://en.wikipedia.org/wiki/If_statement], if present.",
+       "CONTROLS_IF_TOOLTIP_2": "tooltip - Describes [https://github.com/google/blockly/wiki/IfElse#if-else-blocks if-else blocks].  Consider using your language's translation of [https://en.wikipedia.org/wiki/If_statement https://en.wikipedia.org/wiki/If_statement], if present.",
+       "CONTROLS_IF_TOOLTIP_3": "tooltip - Describes [https://github.com/google/blockly/wiki/IfElse#if-else-if-blocks if-else-if blocks].  Consider using your language's translation of [https://en.wikipedia.org/wiki/If_statement https://en.wikipedia.org/wiki/If_statement], if present.",
+       "CONTROLS_IF_TOOLTIP_4": "tooltip - Describes [https://github.com/google/blockly/wiki/IfElse#if-else-if-else-blocks if-else-if-else blocks].  Consider using your language's translation of [https://en.wikipedia.org/wiki/If_statement https://en.wikipedia.org/wiki/If_statement], if present.",
+       "CONTROLS_IF_MSG_IF": "block text - See [https://github.com/google/blockly/wiki/IfElse https://github.com/google/blockly/wiki/IfElse]. It is recommended, but not essential, that this have text in common with the translation of 'else if'\n{{Identical|If}}",
+       "CONTROLS_IF_MSG_ELSEIF": "block text - See [https://github.com/google/blockly/wiki/IfElse https://github.com/google/blockly/wiki/IfElse].  The English words 'otherwise if' would probably be clearer than 'else if', but the latter is used because it is traditional and shorter.",
+       "CONTROLS_IF_MSG_ELSE": "block text - See [https://github.com/google/blockly/wiki/IfElse https://github.com/google/blockly/wiki/IfElse].  The English word 'otherwise' would probably be superior to 'else', but the latter is used because it is traditional and shorter.",
+       "CONTROLS_IF_IF_TOOLTIP": "tooltip - Describes [https://github.com/google/blockly/wiki/IfElse#block-modification if block modification].",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "tooltip - Describes the 'else if' subblock during [https://github.com/google/blockly/wiki/IfElse#block-modification if block modification].",
+       "CONTROLS_IF_ELSE_TOOLTIP": "tooltip - Describes the 'else' subblock during [https://github.com/google/blockly/wiki/IfElse#block-modification if block modification].",
+       "IOS_OK": "button text - Text on a button inside a dialogue window, which will accept or acknowledge the contents of the dialogue when pressed.\n{{Identical|OK}}",
+       "IOS_CANCEL": "button text - Text on a button inside a dialogue window, which will close or cancel the dialogue when pressed.\n{{Identical|Cancel}}",
+       "IOS_ERROR": "alert - Title text for an error dialogue.\n{{Identical|Error}}",
+       "IOS_PROCEDURES_INPUTS": "header text - Title of a section that displays a list of parameters (aka. 'inputs') that have been defined for a procedure. This is used inside a dialogue window to configure a procedure.\n{{Identical|Input}}",
+       "IOS_PROCEDURES_ADD_INPUT": "button text - Text on a button which will add a parameter (aka. 'input') to a procedure. This is used inside a dialogue window to configure a procedure. NOTE: The '+' should be preserved at the beginning of the text.",
+       "IOS_PROCEDURES_ALLOW_STATEMENTS": "option text - Text describing an option to allow statements to be added within a procedure. This is used inside a dialogue window to configure a procedure.",
+       "IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR": "alert - Error message when duplicate parameters (aka. 'inputs') have been defined on a procedure. This is used inside a dialogue window to configure procedure parameters.",
+       "IOS_VARIABLES_ADD_VARIABLE": "button text - Text on a button which will open a variable creation dialogue when pressed. NOTE: The '+' should be preserved at the beginning of the text.",
+       "IOS_VARIABLES_ADD_BUTTON": "button text - Text on a button inside a variable creation dialogue, which will add a variable when pressed.\n{{Identical|Add}}",
+       "IOS_VARIABLES_RENAME_BUTTON": "button text - Text on a button inside a variable rename dialogue, which will rename a variable when pressed.\n{{Identical|Rename}}",
+       "IOS_VARIABLES_DELETE_BUTTON": "button text - Text on a button inside a variable deletion dialogue, which will delete a variable when pressed.\n{{Identical|Delete}}",
+       "IOS_VARIABLES_VARIABLE_NAME": "placeholder text - Placeholder text used inside a text input, where a variable name should be entered.",
+       "IOS_VARIABLES_EMPTY_NAME_ERROR": "alert - Error message that is displayed when the user attempts to create a variable without a name.",
+       "LOGIC_COMPARE_HELPURL": "{{Optional}} url - Information about comparisons.",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "tooltip - Describes the equals (=) block.",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "tooltip - Describes the not equals (≠) block.",
+       "LOGIC_COMPARE_TOOLTIP_LT": "tooltip - Describes the less than (<) block.",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "tooltip - Describes the less than or equals (≤) block.",
+       "LOGIC_COMPARE_TOOLTIP_GT": "tooltip - Describes the greater than (>) block.",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "tooltip - Describes the greater than or equals (≥) block.",
+       "LOGIC_OPERATION_HELPURL": "{{Optional}} url - Information about the Boolean conjunction ('and') and disjunction ('or') operators.  Consider using the translation of [https://en.wikipedia.org/wiki/Boolean_logic https://en.wikipedia.org/wiki/Boolean_logic], if it exists in your language.",
+       "LOGIC_OPERATION_TOOLTIP_AND": "tooltip - See [https://en.wikipedia.org/wiki/Logical_conjunction https://en.wikipedia.org/wiki/Logical_conjunction].",
+       "LOGIC_OPERATION_AND": "block text - See [https://en.wikipedia.org/wiki/Logical_conjunction https://en.wikipedia.org/wiki/Logical_conjunction].\n{{Identical|And}}",
+       "LOGIC_OPERATION_TOOLTIP_OR": "block text - See [https://en.wikipedia.org/wiki/Disjunction https://en.wikipedia.org/wiki/Disjunction].",
+       "LOGIC_OPERATION_OR": "block text - See [https://en.wikipedia.org/wiki/Disjunction https://en.wikipedia.org/wiki/Disjunction].\n{{Identical|Or}}",
+       "LOGIC_NEGATE_HELPURL": "{{Optional}} url - Information about logical negation.  The translation of [https://en.wikipedia.org/wiki/Logical_negation https://en.wikipedia.org/wiki/Logical_negation] is recommended if it exists in the target language.",
+       "LOGIC_NEGATE_TITLE": "block text - This is a unary operator that returns ''false'' when the input is ''true'', and ''true'' when the input is ''false''. \n\nParameters:\n* %1 - the input (which should be either the value 'true' or 'false')",
+       "LOGIC_NEGATE_TOOLTIP": "tooltip - See [https://en.wikipedia.org/wiki/Logical_negation https://en.wikipedia.org/wiki/Logical_negation].",
+       "LOGIC_BOOLEAN_HELPURL": "{{Optional}} url - Information about the logic values ''true'' and ''false''.  Consider using the translation of [https://en.wikipedia.org/wiki/Truth_value https://en.wikipedia.org/wiki/Truth_value] if it exists in your language.",
+       "LOGIC_BOOLEAN_TRUE": "block text - The word for the [https://en.wikipedia.org/wiki/Truth_value logical value] ''true''.\n{{Identical|True}}",
+       "LOGIC_BOOLEAN_FALSE": "block text - The word for the [https://en.wikipedia.org/wiki/Truth_value logical value] ''false''.\n{{Identical|False}}",
+       "LOGIC_BOOLEAN_TOOLTIP": "tooltip - Indicates that the block returns either of the two possible [https://en.wikipedia.org/wiki/Truth_value logical values].",
+       "LOGIC_NULL_HELPURL": "{{Optional}} url - Provide a link to the translation of [https://en.wikipedia.org/wiki/Nullable_type https://en.wikipedia.org/wiki/Nullable_type], if it exists in your language; otherwise, do not worry about translating this advanced concept.",
+       "LOGIC_NULL": "block text - In computer languages, ''null'' is a special value that indicates that no value has been set.  You may use your language's word for 'nothing' or 'invalid'.\n{{Identical|Null}}",
+       "LOGIC_NULL_TOOLTIP": "tooltip - This should use the word from the previous message.",
+       "LOGIC_TERNARY_HELPURL": "{{Optional}} url - Describes the programming language operator known as the ''ternary'' or ''conditional'' operator.  It is recommended that you use the translation of [https://en.wikipedia.org/wiki/%3F: https://en.wikipedia.org/wiki/%3F:] if it exists.",
+       "LOGIC_TERNARY_CONDITION": "block input text - Label for the input whose value determines which of the other two inputs is returned.  In some programming languages, this is called a ''''predicate''''.",
+       "LOGIC_TERNARY_IF_TRUE": "block input text - Indicates that the following input should be returned (used as output) if the test input is true.  Remember to try to keep block text terse (short).",
+       "LOGIC_TERNARY_IF_FALSE": "block input text - Indicates that the following input should be returned (used as output) if the test input is false.",
+       "LOGIC_TERNARY_TOOLTIP": "tooltip - See [https://en.wikipedia.org/wiki/%3F: https://en.wikipedia.org/wiki/%3F:].",
+       "MATH_NUMBER_HELPURL": "{{Optional}} url - Information about (real) numbers.",
+       "MATH_NUMBER_TOOLTIP": "tooltip - Any positive or negative number, not necessarily an integer.",
+       "MATH_ADDITION_SYMBOL": "{{Optional}} math - The symbol for the binary operation addition.",
+       "MATH_SUBTRACTION_SYMBOL": "{{Optional}} math - The symbol for the binary operation indicating that the right operand should be subtracted from the left operand.",
+       "MATH_DIVISION_SYMBOL": "{{Optional}} math - The binary operation indicating that the left operand should be divided by the right operand.",
+       "MATH_MULTIPLICATION_SYMBOL": "{{Optional}} math - The symbol for the binary operation multiplication.",
+       "MATH_POWER_SYMBOL": "{{Optional}} math - The symbol for the binary operation exponentiation.  Specifically, if the value of the left operand is L and the value of the right operand (the exponent) is R, multiply L by itself R times.  (Fractional and negative exponents are also legal.)",
+       "MATH_TRIG_SIN": "math - The short name of the trigonometric function [https://en.wikipedia.org/wiki/Trigonometric_functions#Sine.2C_cosine_and_tangent sine].",
+       "MATH_TRIG_COS": "math - The short name of the trigonometric function [https://en.wikipedia.org/wiki/Trigonometric_functions#Sine.2C_cosine_and_tangent cosine].",
+       "MATH_TRIG_TAN": "math - The short name of the trigonometric function [https://en.wikipedia.org/wiki/Trigonometric_functions#Sine.2C_cosine_and_tangent tangent].",
+       "MATH_TRIG_ASIN": "math - The short name of the ''inverse of'' the trigonometric function [https://en.wikipedia.org/wiki/Trigonometric_functions#Sine.2C_cosine_and_tangent sine].",
+       "MATH_TRIG_ACOS": "math - The short name of the ''inverse of'' the trigonometric function [https://en.wikipedia.org/wiki/Trigonometric_functions#Sine.2C_cosine_and_tangent cosine].",
+       "MATH_TRIG_ATAN": "math - The short name of the ''inverse of'' the trigonometric function [https://en.wikipedia.org/wiki/Trigonometric_functions#Sine.2C_cosine_and_tangent tangent].",
+       "MATH_ARITHMETIC_HELPURL": "{{Optional}} url - Information about addition, subtraction, multiplication, division, and exponentiation.",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "tooltip - See [https://en.wikipedia.org/wiki/Addition https://en.wikipedia.org/wiki/Addition].",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "tooltip - See [https://en.wikipedia.org/wiki/Subtraction https://en.wikipedia.org/wiki/Subtraction].",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "tooltip - See [https://en.wikipedia.org/wiki/Multiplication https://en.wikipedia.org/wiki/Multiplication].",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "tooltip - See [https://en.wikipedia.org/wiki/Division_(mathematics) https://en.wikipedia.org/wiki/Division_(mathematics)].",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "tooltip - See [https://en.wikipedia.org/wiki/Exponentiation https://en.wikipedia.org/wiki/Exponentiation].",
+       "MATH_SINGLE_HELPURL": "{{Optional}} url - Information about the square root operation.",
+       "MATH_SINGLE_OP_ROOT": "dropdown - This computes the positive [https://en.wikipedia.org/wiki/Square_root square root] of its input.  For example, the square root of 16 is 4.",
+       "MATH_SINGLE_TOOLTIP_ROOT": "tooltip - Please use the same term as in the previous message.",
+       "MATH_SINGLE_OP_ABSOLUTE": "dropdown - This leaves positive numeric inputs changed and inverts negative inputs.  For example, the absolute value of 5 is 5; the absolute value of -5 is also 5.  For more information, see [https://en.wikipedia.org/wiki/Absolute_value https://en.wikipedia.org/wiki/Absolute_value].",
+       "MATH_SINGLE_TOOLTIP_ABS": "tooltip - Please use the same term as in the previous message.",
+       "MATH_SINGLE_TOOLTIP_NEG": "tooltip - Calculates '''0-n''', where '''n''' is the single numeric input.",
+       "MATH_SINGLE_TOOLTIP_LN": "tooltip - Calculates the [https://en.wikipedia.org/wiki/Natural_logarithm|natural logarithm] of its single numeric input.",
+       "MATH_SINGLE_TOOLTIP_LOG10": "tooltip - Calculates the [https://en.wikipedia.org/wiki/Common_logarithm common logarithm] of its single numeric input.",
+       "MATH_SINGLE_TOOLTIP_EXP": "tooltip - Multiplies [https://en.wikipedia.org/wiki/E_(mathematical_constant) e] by itself n times, where n is the single numeric input.",
+       "MATH_SINGLE_TOOLTIP_POW10": "tooltip - Multiplies 10 by itself n times, where n is the single numeric input.",
+       "MATH_TRIG_HELPURL": "{{Optional}} url - Information about the trigonometric functions sine, cosine, tangent, and their inverses (ideally using degrees, not radians).",
+       "MATH_TRIG_TOOLTIP_SIN": "tooltip - Return the [https://en.wikipedia.org/wiki/Trigonometric_functions#Sine.2C_cosine_and_tangent sine] of an [https://en.wikipedia.org/wiki/Degree_(angle) angle in degrees], not radians.",
+       "MATH_TRIG_TOOLTIP_COS": "tooltip - Return the [https://en.wikipedia.org/wiki/Trigonometric_functions#Sine.2C_cosine_and_tangent cosine] of an [https://en.wikipedia.org/wiki/Degree_(angle) angle in degrees], not radians.",
+       "MATH_TRIG_TOOLTIP_TAN": "tooltip - Return the [https://en.wikipedia.org/wiki/Trigonometric_functions#Sine.2C_cosine_and_tangent tangent] of an [https://en.wikipedia.org/wiki/Degree_(angle) angle in degrees], not radians.",
+       "MATH_TRIG_TOOLTIP_ASIN": "tooltip - The [https://en.wikipedia.org/wiki/Inverse_trigonometric_functions inverse] of the [https://en.wikipedia.org/wiki/Cosine#Sine.2C_cosine_and_tangent sine function], using [https://en.wikipedia.org/wiki/Degree_(angle) degrees], not radians.",
+       "MATH_TRIG_TOOLTIP_ACOS": "tooltip - The [https://en.wikipedia.org/wiki/Inverse_trigonometric_functions inverse] of the [https://en.wikipedia.org/wiki/Cosine#Sine.2C_cosine_and_tangent cosine] function, using [https://en.wikipedia.org/wiki/Degree_(angle) degrees], not radians.",
+       "MATH_TRIG_TOOLTIP_ATAN": "tooltip - The [https://en.wikipedia.org/wiki/Inverse_trigonometric_functions inverse] of the [https://en.wikipedia.org/wiki/Cosine#Sine.2C_cosine_and_tangent tangent] function, using [https://en.wikipedia.org/wiki/Degree_(angle) degrees], not radians.",
+       "MATH_CONSTANT_HELPURL": "{{Optional}} url - Information about the mathematical constants Pi (Ï€), e, the golden ratio (φ), âˆš 2, âˆš 1/2, and infinity (∞).",
+       "MATH_CONSTANT_TOOLTIP": "tooltip - Provides the specified [https://en.wikipedia.org/wiki/Mathematical_constant mathematical constant].",
+       "MATH_IS_EVEN": "dropdown - A number is '''even''' if it is a multiple of 2.  For example, 4 is even (yielding true), but 3 is not (false).",
+       "MATH_IS_ODD": "dropdown - A number is '''odd''' if it is not a multiple of 2.  For example, 3 is odd (yielding true), but 4 is not (false).  The opposite of 'odd' is 'even'.",
+       "MATH_IS_PRIME": "dropdown - A number is [https://en.wikipedia.org/wiki/Prime prime] if it cannot be evenly divided by any positive integers except for 1 and itself.  For example, 5 is prime, but 6 is not because 2 × 3 = 6.",
+       "MATH_IS_WHOLE": "dropdown - A number is '''whole''' if it is an [https://en.wikipedia.org/wiki/Integer integer].  For example, 5 is whole, but 5.1 is not.",
+       "MATH_IS_POSITIVE": "dropdown - A number is '''positive''' if it is greater than 0.  (0 is neither negative nor positive.)",
+       "MATH_IS_NEGATIVE": "dropdown - A number is '''negative''' if it is less than 0.  (0 is neither negative nor positive.)",
+       "MATH_IS_DIVISIBLE_BY": "dropdown - A number x is divisible by y if y goes into x evenly.  For example, 10 is divisible by 5, but 10 is not divisible by 3.",
+       "MATH_IS_TOOLTIP": "tooltip - This block lets the user specify via a dropdown menu whether to check if the numeric input is even, odd, prime, whole, positive, negative, or divisible by a given value.",
+       "MATH_CHANGE_HELPURL": "{{Optional}} url - Information about incrementing (increasing the value of) a variable. For other languages, just use the translation of the Wikipedia page about addition ([https://en.wikipedia.org/wiki/Addition https://en.wikipedia.org/wiki/Addition]).",
+       "MATH_CHANGE_TITLE": "- As in: ''change'' [the value of variable] ''item'' ''by'' 1 (e.g., if the variable named 'item' had the value 5, change it to 6). %1 is a variable name. %2 is the amount of change.",
+       "MATH_CHANGE_TOOLTIP": "tooltip - This updates the value of the variable by adding to it the following numeric input.\n\nParameters:\n* %1 - the name of the variable whose value should be increased.",
+       "MATH_ROUND_HELPURL": "{{Optional}} url - Information about how numbers are rounded to the nearest integer",
+       "MATH_ROUND_TOOLTIP": "tooltip - See [https://en.wikipedia.org/wiki/Rounding https://en.wikipedia.org/wiki/Rounding].",
+       "MATH_ROUND_OPERATOR_ROUND": "dropdown - This rounds its input to the nearest whole number.  For example, 3.4 is rounded to 3.",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "dropdown - This rounds its input up to the nearest whole number.  For example, if the input was 2.2, the result would be 3.",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "dropdown - This rounds its input down to the nearest whole number.  For example, if the input was 3.8, the result would be 3.",
+       "MATH_ONLIST_HELPURL": "{{Optional}} url - Information about applying a function to a list of numbers.  (We were unable to find such information in English.  Feel free to skip this and any other URLs that are difficult.)",
+       "MATH_ONLIST_OPERATOR_SUM": "dropdown - This computes the sum of the numeric elements in the list.  For example, the sum of the list {1, 4} is 5.",
+       "MATH_ONLIST_TOOLTIP_SUM": "tooltip - Please use the same term for 'sum' as in the previous message.",
+       "MATH_ONLIST_OPERATOR_MIN": "dropdown - This finds the smallest (minimum) number in a list.  For example, the smallest number in the list [-5, 0, 3] is -5.",
+       "MATH_ONLIST_TOOLTIP_MIN": "tooltip - Please use the same term for 'min' or 'minimum' as in the previous message.",
+       "MATH_ONLIST_OPERATOR_MAX": "dropdown - This finds the largest (maximum) number in a list.  For example, the largest number in the list [-5, 0, 3] is 3.",
+       "MATH_ONLIST_TOOLTIP_MAX": "tooltip",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "dropdown - This adds up all of the numbers in a list and divides the sum by the number of elements in the list.  For example, the [https://en.wikipedia.org/wiki/Arithmetic_mean average] of the list [1, 2, 3, 4] is 2.5 (10/4).",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "tooltip - See [https://en.wikipedia.org/wiki/Arithmetic_mean https://en.wikipedia.org/wiki/Arithmetic_mean] for more informatin.",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "dropdown - This finds the [https://en.wikipedia.org/wiki/Median median] of the numeric values in a list.  For example, the median of the list {1, 2, 7, 12, 13} is 7.",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "tooltip - See [https://en.wikipedia.org/wiki/Median median https://en.wikipedia.org/wiki/Median median] for more information.",
+       "MATH_ONLIST_OPERATOR_MODE": "dropdown - This finds the most common numbers ([https://en.wikipedia.org/wiki/Mode_(statistics) modes]) in a list.  For example, the modes of the list {1, 3, 9, 3, 9}  are {3, 9}.",
+       "MATH_ONLIST_TOOLTIP_MODE": "tooltip - See [https://en.wikipedia.org/wiki/Mode_(statistics) https://en.wikipedia.org/wiki/Mode_(statistics)] for more information.",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "dropdown - This finds the [https://en.wikipedia.org/wiki/Standard_deviation standard deviation] of the numeric values in a list.",
+       "MATH_ONLIST_TOOLTIP_STD_DEV": "tooltip - See [https://en.wikipedia.org/wiki/Standard_deviation https://en.wikipedia.org/wiki/Standard_deviation] for more information.",
+       "MATH_ONLIST_OPERATOR_RANDOM": "dropdown - This choose an element at random from a list.  Each element is chosen with equal probability.",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "tooltip - Please use same term for 'random' as in previous entry.",
+       "MATH_MODULO_HELPURL": "{{Optional}} url - information about the modulo (remainder) operation.",
+       "MATH_MODULO_TITLE": "block text - Title of block providing the remainder when dividing the first numerical input by the second.  For example, the remainder of 10 divided by 3 is 1.\n\nParameters:\n* %1 - the dividend (10, in our example)\n* %2 - the divisor (3 in our example).",
+       "MATH_MODULO_TOOLTIP": "tooltip - For example, the remainder of 10 divided by 3 is 1.",
+       "MATH_CONSTRAIN_HELPURL": "{{Optional}} url - Information about constraining a numeric value to be in a specific range.  (The English URL is not ideal.  Recall that translating URLs is the lowest priority.)",
+       "MATH_CONSTRAIN_TITLE": "block text - The title of the block that '''constrain'''s (forces) a number to be in a given range. For example, if the number 150 is constrained to be between 5 and 100, the result will be 100. \n\nParameters:\n* %1 - the value to constrain (e.g., 150)\n* %2 - the minimum value (e.g., 5)\n* %3 - the maximum value (e.g., 100).",
+       "MATH_CONSTRAIN_TOOLTIP": "tooltip - This compares a number ''x'' to a low value ''L'' and a high value ''H''.  If ''x'' is less then ''L'', the result is ''L''.  If ''x'' is greater than ''H'', the result is ''H''.  Otherwise, the result is ''x''.",
+       "MATH_RANDOM_INT_HELPURL": "{{Optional}} url - Information about how computers generate random numbers.",
+       "MATH_RANDOM_INT_TITLE": "block text - The title of the block that generates a random integer (whole number) in the specified range.  For example, if the range is from 5 to 7, this returns 5, 6, or 7 with equal likelihood. %1 is a placeholder for the lower number, %2 is the placeholder for the larger number.",
+       "MATH_RANDOM_INT_TOOLTIP": "tooltip - Return a random integer between two values specified as inputs.  For example, if one input was 7 and another 9, any of the numbers 7, 8, or 9 could be produced.",
+       "MATH_RANDOM_FLOAT_HELPURL": "{{Optional}} url - Information about how computers generate random numbers (specifically, numbers in the range from 0 to just below 1).",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "block text - The title of the block that generates a random number greater than or equal to 0 and less than 1.",
+       "MATH_RANDOM_FLOAT_TOOLTIP": "tooltip - Return a random fraction between 0 and 1.  The value may be equal to 0 but must be less than 1.",
+       "TEXT_TEXT_HELPURL": "{{Optional}} url - Information about how computers represent text (sometimes referred to as ''string''s).",
+       "TEXT_TEXT_TOOLTIP": "tooltip - See [https://github.com/google/blockly/wiki/Text https://github.com/google/blockly/wiki/Text].",
+       "TEXT_JOIN_HELPURL": "{{Optional}} url - Information on concatenating/appending pieces of text.",
+       "TEXT_JOIN_TITLE_CREATEWITH": "block text - See [https://github.com/google/blockly/wiki/Text#text-creation https://github.com/google/blockly/wiki/Text#text-creation].",
+       "TEXT_JOIN_TOOLTIP": "tooltip - See [https://github.com/google/blockly/wiki/Text#text-creation create text with] for more information.",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "block text - This is shown when the programmer wants to change the number of pieces of text being joined together.  See [https://github.com/google/blockly/wiki/Text#text-creation https://github.com/google/blockly/wiki/Text#text-creation], specifically the last picture in the 'Text creation' section.\n{{Identical|Join}}",
+       "TEXT_CREATE_JOIN_TOOLTIP": "tooltip - See [https://github.com/google/blockly/wiki/Text#text-creation https://github.com/google/blockly/wiki/Text#text-creation], specifically the last picture in the 'Text creation' section.",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "block text - See [https://github.com/google/blockly/wiki/Text#text-creation https://github.com/google/blockly/wiki/Text#text-creation], specifically the last picture in the 'Text creation' section.",
+       "TEXT_APPEND_HELPURL": "{{Optional}} url - This and the other text-related URLs are going to be hard to translate.  As always, it is okay to leave untranslated or paste in the English-language URL.  For these URLs, you might also consider a general URL about how computers represent text (such as the translation of [https://en.wikipedia.org/wiki/String_(computer_science) this Wikipedia page]).",
+       "TEXT_APPEND_TITLE": "block input text - Message that the variable name at %1 will have the item at %2 appended to it. [[File:blockly-append-text.png]]",
+       "TEXT_APPEND_TOOLTIP": "tooltip - See [https://github.com/google/blockly/wiki/Text#text-modification https://github.com/google/blockly/wiki/Text#text-modification] for more information.\n\nParameters:\n* %1 - the name of the variable to which text should be appended",
+       "TEXT_LENGTH_HELPURL": "{{Optional}} url - Information about text on computers (usually referred to as 'strings').",
+       "TEXT_LENGTH_TITLE": "block text - See [https://github.com/google/blockly/wiki/Text#text-length https://github.com/google/blockly/wiki/Text#text-length]. \n\nParameters:\n* %1 - the piece of text to take the length of",
+       "TEXT_LENGTH_TOOLTIP": "tooltip - See [https://github.com/google/blockly/wiki/Text#text-length https://github.com/google/blockly/wiki/Text#text-length].",
+       "TEXT_ISEMPTY_HELPURL": "{{Optional}} url - Information about empty pieces of text on computers (usually referred to as 'empty strings').",
+       "TEXT_ISEMPTY_TITLE": "block text - See [https://github.com/google/blockly/wiki/Text#checking-for-empty-text https://github.com/google/blockly/wiki/Text#checking-for-empty-text]. \n\nParameters:\n* %1 - the piece of text to test for emptiness",
+       "TEXT_ISEMPTY_TOOLTIP": "tooltip - See [https://github.com/google/blockly/wiki/Text#checking-for-empty-text https://github.com/google/blockly/wiki/Text#checking-for-empty-text].",
+       "TEXT_INDEXOF_HELPURL": "{{Optional}} url - Information about finding a character in a piece of text.",
+       "TEXT_INDEXOF_TOOLTIP": "tooltip - %1 will be replaced by either the number 0 or -1 depending on the indexing mode. See [https://github.com/google/blockly/wiki/Text#finding-text https://github.com/google/blockly/wiki/Text#finding-text].",
+       "TEXT_INDEXOF_TITLE": "block text - Title of blocks allowing users to find text.  See [https://github.com/google/blockly/wiki/Text#finding-text https://github.com/google/blockly/wiki/Text#finding-text]. [[File:Blockly-find-text.png]]. In English the expanded message is 'in text %1 find (first|last) occurance of text %3' where %1 and %3 are added by the user. See TEXT_INDEXOF_OPERATOR_FIRST and TEXT_INDEXOF_OPERATOR_LAST for the dropdown text that replaces %2.",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "dropdown - See [https://github.com/google/blockly/wiki/Text#finding-text https://github.com/google/blockly/wiki/Text#finding-text]. [[File:Blockly-find-text.png]].",
+       "TEXT_INDEXOF_OPERATOR_LAST": "dropdown - See [https://github.com/google/blockly/wiki/Text#finding-text https://github.com/google/blockly/wiki/Text#finding-text].  This would replace 'find first occurrence of text' below.  (For more information on how common text is factored out of dropdown menus, see [https://translatewiki.net/wiki/Translating:Blockly#Drop-Down_Menus https://translatewiki.net/wiki/Translating:Blockly#Drop-Down_Menus)].) [[File:Blockly-find-text.png]].",
+       "TEXT_CHARAT_HELPURL": "{{Optional}} url - Information about extracting characters (letters, number, symbols, etc.) from text.",
+       "TEXT_CHARAT_TITLE": "block text - Text for a block to extract a letter (or number, punctuation character, etc.) from a string, as shown below. %1 is added by the user and %2 is replaced by a dropdown of options, possibly followed by another user supplied string. TEXT_CHARAT_TAIL is then added to the end.  See [https://github.com/google/blockly/wiki/Text#extracting-a-single-character https://github.com/google/blockly/wiki/Text#extracting-a-single-character]. [[File:Blockly-text-get.png]]",
+       "TEXT_CHARAT_FROM_START": "dropdown - Indicates that the letter (or number, punctuation character, etc.) with the specified index should be obtained from the preceding piece of text.  See [https://github.com/google/blockly/wiki/Text#extracting-a-single-character https://github.com/google/blockly/wiki/Text#extracting-a-single-character]. [[File:Blockly-text-get.png]]",
+       "TEXT_CHARAT_FROM_END": "block text - Indicates that the letter (or number, punctuation character, etc.) with the specified index from the end of a given piece of text should be obtained. See [https://github.com/google/blockly/wiki/Text#extracting-a-single-character https://github.com/google/blockly/wiki/Text#extracting-a-single-character]. [[File:Blockly-text-get.png]]",
+       "TEXT_CHARAT_FIRST": "block text - Indicates that the first letter of the following piece of text should be retrieved.  See [https://github.com/google/blockly/wiki/Text#extracting-a-single-character https://github.com/google/blockly/wiki/Text#extracting-a-single-character]. [[File:Blockly-text-get.png]]",
+       "TEXT_CHARAT_LAST": "block text - Indicates that the last letter (or number, punctuation mark, etc.) of the following piece of text should be retrieved.  See [https://github.com/google/blockly/wiki/Text#extracting-a-single-character https://github.com/google/blockly/wiki/Text#extracting-a-single-character]. [[File:Blockly-text-get.png]]",
+       "TEXT_CHARAT_RANDOM": "block text - Indicates that any letter (or number, punctuation mark, etc.) in the following piece of text should be randomly selected.  See [https://github.com/google/blockly/wiki/Text#extracting-a-single-character https://github.com/google/blockly/wiki/Text#extracting-a-single-character]. [[File:Blockly-text-get.png]]",
+       "TEXT_CHARAT_TAIL": "block text - Text that goes after the rightmost block/dropdown when getting a single letter from a piece of text, as in [https://blockly-demo.appspot.com/static/apps/code/index.html#3m23km these blocks] or shown below.  For most languages, this will be blank. [[File:Blockly-text-get.png]]",
+       "TEXT_CHARAT_TOOLTIP": "tooltip - See [https://github.com/google/blockly/wiki/Text#extracting-a-single-character https://github.com/google/blockly/wiki/Text#extracting-a-single-character]. [[File:Blockly-text-get.png]]",
+       "TEXT_GET_SUBSTRING_TOOLTIP": "See [https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text].",
+       "TEXT_GET_SUBSTRING_HELPURL": "{{Optional}} url - Information about extracting characters from text.  Reminder: urls are the lowest priority translations.  Feel free to skip.",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "block text - Precedes a piece of text from which a portion should be extracted. [[File:Blockly-get-substring.png]]",
+       "TEXT_GET_SUBSTRING_START_FROM_START": "dropdown - Indicates that the following number specifies the position (relative to the start position) of the beginning of the region of text that should be obtained from the preceding piece of text.  See [https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text]. [[File:Blockly-get-substring.png]]",
+       "TEXT_GET_SUBSTRING_START_FROM_END": "dropdown - Indicates that the following number specifies the position (relative to the end position) of the beginning of the region of text that should be obtained from the preceding piece of text.  See [https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text]. Note: If {{msg-blockly|ORDINAL_NUMBER_SUFFIX}} is defined, it will automatically appear ''after'' this and any other [https://translatewiki.net/wiki/Translating:Blockly#Ordinal_numbers ordinal numbers] on this block. [[File:Blockly-get-substring.png]]",
+       "TEXT_GET_SUBSTRING_START_FIRST": "block text - Indicates that a region starting with the first letter of the preceding piece of text should be extracted.  See [https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text]. [[File:Blockly-get-substring.png]]",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "dropdown - Indicates that the following number specifies the position (relative to the start position) of the end of the region of text that should be obtained from the preceding piece of text.  See [https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text]. [[File:Blockly-get-substring.png]]",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "dropdown - Indicates that the following number specifies the position (relative to the end position) of the end of the region of text that should be obtained from the preceding piece of text.  See [https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text]. [[File:Blockly-get-substring.png]]",
+       "TEXT_GET_SUBSTRING_END_LAST": "block text - Indicates that a region ending with the last letter of the preceding piece of text should be extracted.  See [https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text]. [[File:Blockly-get-substring.png]]",
+       "TEXT_GET_SUBSTRING_TAIL": "block text - Text that should go after the rightmost block/dropdown when [https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text extracting a region of text].  In most languages, this will be the empty string. [[File:Blockly-get-substring.png]]",
+       "TEXT_CHANGECASE_HELPURL": "{{Optional}} url - Information about the case of letters (upper-case and lower-case).",
+       "TEXT_CHANGECASE_TOOLTIP": "tooltip - Describes a block to adjust the case of letters.  For more information on this block, see [https://github.com/google/blockly/wiki/Text#adjusting-text-case https://github.com/google/blockly/wiki/Text#adjusting-text-case].",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "block text - Indicates that all of the letters in the following piece of text should be capitalized.  If your language does not use case, you may indicate that this is not applicable to your language.  For more information on this block, see [https://github.com/google/blockly/wiki/Text#adjusting-text-case https://github.com/google/blockly/wiki/Text#adjusting-text-case].",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "block text - Indicates that all of the letters in the following piece of text should be converted to lower-case.  If your language does not use case, you may indicate that this is not applicable to your language.  For more information on this block, see [https://github.com/google/blockly/wiki/Text#adjusting-text-case https://github.com/google/blockly/wiki/Text#adjusting-text-case].",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": "block text - Indicates that the first letter of each of the following words should be capitalized and the rest converted to lower-case.  If your language does not use case, you may indicate that this is not applicable to your language.  For more information on this block, see [https://github.com/google/blockly/wiki/Text#adjusting-text-case https://github.com/google/blockly/wiki/Text#adjusting-text-case].",
+       "TEXT_TRIM_HELPURL": "{{Optional}} url - Information about trimming (removing) text off the beginning and ends of pieces of text.",
+       "TEXT_TRIM_TOOLTIP": "tooltip - See [https://github.com/google/blockly/wiki/Text#trimming-removing-spaces https://github.com/google/blockly/wiki/Text#trimming-removing-spaces].",
+       "TEXT_TRIM_OPERATOR_BOTH": "dropdown - Removes spaces from the beginning and end of a piece of text.  See [https://github.com/google/blockly/wiki/Text#trimming-removing-spaces https://github.com/google/blockly/wiki/Text#trimming-removing-spaces].  Note that neither this nor the other options modify the original piece of text (that follows); the block just returns a version of the text without the specified spaces.",
+       "TEXT_TRIM_OPERATOR_LEFT": "dropdown - Removes spaces from the beginning of a piece of text.  See [https://github.com/google/blockly/wiki/Text#trimming-removing-spaces https://github.com/google/blockly/wiki/Text#trimming-removing-spaces]. Note that in right-to-left scripts, this will remove spaces from the right side.",
+       "TEXT_TRIM_OPERATOR_RIGHT": "dropdown - Removes spaces from the end of a piece of text.  See [https://github.com/google/blockly/wiki/Text#trimming-removing-spaces https://github.com/google/blockly/wiki/Text#trimming-removing-spaces]. Note that in right-to-left scripts, this will remove spaces from the left side.",
+       "TEXT_PRINT_HELPURL": "{{Optional}} url - Information about displaying text on computers.",
+       "TEXT_PRINT_TITLE": "block text - Display the input on the screen.  See [https://github.com/google/blockly/wiki/Text#printing-text https://github.com/google/blockly/wiki/Text#printing-text]. \n\nParameters:\n* %1 - the value to print",
+       "TEXT_PRINT_TOOLTIP": "tooltip - See [https://github.com/google/blockly/wiki/Text#printing-text https://github.com/google/blockly/wiki/Text#printing-text].",
+       "TEXT_PROMPT_HELPURL": "{{Optional}} url - Information about getting text from users.",
+       "TEXT_PROMPT_TYPE_TEXT": "dropdown - Specifies that a piece of text should be requested from the user with the following message.  See [https://github.com/google/blockly/wiki/Text#printing-text https://github.com/google/blockly/wiki/Text#printing-text].",
+       "TEXT_PROMPT_TYPE_NUMBER": "dropdown - Specifies that a number should be requested from the user with the following message.  See [https://github.com/google/blockly/wiki/Text#printing-text https://github.com/google/blockly/wiki/Text#printing-text].",
+       "TEXT_PROMPT_TOOLTIP_NUMBER": "dropdown - Precedes the message with which the user should be prompted for a number.  See [https://github.com/google/blockly/wiki/Text#printing-text https://github.com/google/blockly/wiki/Text#printing-text].",
+       "TEXT_PROMPT_TOOLTIP_TEXT": "dropdown - Precedes the message with which the user should be prompted for some text. See [https://github.com/google/blockly/wiki/Text#printing-text https://github.com/google/blockly/wiki/Text#printing-text].",
+       "TEXT_COUNT_MESSAGE0": "block text - Title of a block that counts the number of instances of a smaller pattern (%1) inside a longer string (%2).",
+       "TEXT_COUNT_HELPURL": "{{Optional}} url - Information about counting how many times a string appears in another string.",
+       "TEXT_COUNT_TOOLTIP": "tooltip - Short description of a block that counts how many times some text occurs within some other text.",
+       "TEXT_REPLACE_MESSAGE0": "block text - Title of a block that returns a copy of text (%3) with all instances of some smaller text (%1) replaced with other text (%2).",
+       "TEXT_REPLACE_HELPURL": "{{Optional}} url - Information about replacing each copy text (or string, in computer lingo) with other text.",
+       "TEXT_REPLACE_TOOLTIP": "tooltip - Short description of a block that replaces copies of text in a large text with other text.",
+       "TEXT_REVERSE_MESSAGE0": "block text - Title of block that returns a copy of text (%1) with the order of letters and characters reversed.",
+       "TEXT_REVERSE_HELPURL": "{{Optional}} url - Information about reversing a letters/characters in text.",
+       "TEXT_REVERSE_TOOLTIP": "tooltip - See [https://github.com/google/blockly/wiki/Text].",
+       "LISTS_CREATE_EMPTY_HELPURL": "{{Optional}} url - Information on empty lists.",
+       "LISTS_CREATE_EMPTY_TITLE": "block text - See [https://github.com/google/blockly/wiki/Lists#create-empty-list https://github.com/google/blockly/wiki/Lists#create-empty-list].",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "block text - See [https://github.com/google/blockly/wiki/Lists#create-empty-list https://github.com/google/blockly/wiki/Lists#create-empty-list].",
+       "LISTS_CREATE_WITH_HELPURL": "{{Optional}} url - Information on building lists.",
+       "LISTS_CREATE_WITH_TOOLTIP": "tooltip - See [https://github.com/google/blockly/wiki/Lists#create-list-with https://github.com/google/blockly/wiki/Lists#create-list-with].",
+       "LISTS_CREATE_WITH_INPUT_WITH": "block text - See [https://github.com/google/blockly/wiki/Lists#create-list-with https://github.com/google/blockly/wiki/Lists#create-list-with].",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "block text - This appears in a sub-block when [https://github.com/google/blockly/wiki/Lists#changing-number-of-inputs changing the number of inputs in a ''''create list with'''' block].\n{{Identical|List}}",
+       "LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "tooltip - See [https://github.com/google/blockly/wiki/Lists#changing-number-of-inputs https://github.com/google/blockly/wiki/Lists#changing-number-of-inputs].",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "tooltip - See [https://github.com/google/blockly/wiki/Lists#changing-number-of-inputs https://github.com/google/blockly/wiki/Lists#changing-number-of-inputs].",
+       "LISTS_REPEAT_HELPURL": "{{Optional}} url - Information about [https://github.com/google/blockly/wiki/Lists#create-list-with creating a list with multiple copies of a single item].",
+       "LISTS_REPEAT_TOOLTIP": " url - See [https://github.com/google/blockly/wiki/Lists#create-list-with creating a list with multiple copies of a single item].",
+       "LISTS_REPEAT_TITLE": "block text - See [https://github.com/google/blockly/wiki/Lists#create-list-with https://github.com/google/blockly/wiki/Lists#create-list-with]. \n\nParameters:\n* %1 - the item (text) to be repeated\n* %2 - the number of times to repeat it",
+       "LISTS_LENGTH_HELPURL": "{{Optional}} url - Information about how the length of a list is computed (i.e., by the total number of elements, not the number of different elements).",
+       "LISTS_LENGTH_TITLE": "block text - See [https://github.com/google/blockly/wiki/Lists#length-of https://github.com/google/blockly/wiki/Lists#length-of]. \n\nParameters:\n* %1 - the list whose length is desired",
+       "LISTS_LENGTH_TOOLTIP": "tooltip - See [https://github.com/google/blockly/wiki/Lists#length-of https://github.com/google/blockly/wiki/Lists#length-of Blockly:Lists:length of].",
+       "LISTS_ISEMPTY_HELPURL": "{{Optional}} url - See [https://github.com/google/blockly/wiki/Lists#is-empty https://github.com/google/blockly/wiki/Lists#is-empty].",
+       "LISTS_ISEMPTY_TITLE": "block text - See [https://github.com/google/blockly/wiki/Lists#is-empty https://github.com/google/blockly/wiki/Lists#is-empty]. \n\nParameters:\n* %1 - the list to test",
+       "LISTS_ISEMPTY_TOOLTIP": "block tooltip - See [https://github.com/google/blockly/wiki/Lists#is-empty https://github.com/google/blockly/wiki/Lists#is-empty].",
+       "LISTS_INLIST": "block text - Title of blocks operating on [https://github.com/google/blockly/wiki/Lists lists].",
+       "LISTS_INDEX_OF_HELPURL": "{{Optional}} url - See [https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list].",
+       "LISTS_INDEX_OF_FIRST": "dropdown - See [https://github.com/google/blockly/wiki/Lists#finding-items-in-a-list Lists#finding-items-in-a-list]. [[File:Blockly-list-find.png]]",
+       "LISTS_INDEX_OF_LAST": "dropdown - See [https://github.com/google/blockly/wiki/Lists#finding-items-in-a-list https://github.com/google/blockly/wiki/Lists#finding-items-in-a-list]. [[File:Blockly-list-find.png]]",
+       "LISTS_INDEX_OF_TOOLTIP": "tooltip - %1 will be replaced by either the number 0 or -1 depending on the indexing mode.  See [https://github.com/google/blockly/wiki/Lists#finding-items-in-a-list https://github.com/google/blockly/wiki/Lists#finding-items-in-a-list]. [[File:Blockly-list-find.png]]",
+       "LISTS_GET_INDEX_GET": "dropdown - Indicates that the user wishes to [https://github.com/google/blockly/wiki/Lists#getting-a-single-item get an item from a list] without removing it from the list.",
+       "LISTS_GET_INDEX_GET_REMOVE": "dropdown - Indicates that the user wishes to [https://github.com/google/blockly/wiki/Lists#getting-a-single-item get and remove an item from a list], as opposed to merely getting it without modifying the list.",
+       "LISTS_GET_INDEX_REMOVE": "dropdown - Indicates that the user wishes to [https://github.com/google/blockly/wiki/Lists#removing-an-item remove an item from a list].\n{{Identical|Remove}}",
+       "LISTS_GET_INDEX_FROM_START": "dropdown - Indicates that an index relative to the front of the list should be used to [https://github.com/google/blockly/wiki/Lists#getting-a-single-item get and/or remove an item from a list].  Note: If {{msg-blockly|ORDINAL_NUMBER_SUFFIX}} is defined, it will automatically appear ''after'' this number (and any other ordinal numbers on this block). See [[Translating:Blockly#Ordinal_numbers]] for more information on ordinal numbers in Blockly. [[File:Blockly-list-get-item.png]]",
+       "LISTS_GET_INDEX_FROM_END": "dropdown - Indicates that an index relative to the end of the list should be used to [https://github.com/google/blockly/wiki/Lists#getting-a-single-item access an item in a list]. [[File:Blockly-list-get-item.png]]",
+       "LISTS_GET_INDEX_FIRST": "dropdown - Indicates that the '''first''' item should be [https://github.com/google/blockly/wiki/Lists#getting-a-single-item accessed in a list]. [[File:Blockly-list-get-item.png]]",
+       "LISTS_GET_INDEX_LAST": "dropdown - Indicates that the '''last''' item should be [https://github.com/google/blockly/wiki/Lists#getting-a-single-item accessed in a list]. [[File:Blockly-list-get-item.png]]",
+       "LISTS_GET_INDEX_RANDOM": "dropdown - Indicates that a '''random''' item should be [https://github.com/google/blockly/wiki/Lists#getting-a-single-item accessed in a list]. [[File:Blockly-list-get-item.png]]",
+       "LISTS_GET_INDEX_TAIL": "block text - Text that should go after the rightmost block/dropdown when [https://github.com/google/blockly/wiki/Lists#getting-a-single-item accessing an item from a list].  In most languages, this will be the empty string. [[File:Blockly-list-get-item.png]]",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "tooltip - Indicates the ordinal number that the first item in a list is referenced by.  %1 will be replaced by either '#0' or '#1' depending on the indexing mode.",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "tooltip - Indicates the ordinal number that the last item in a list is referenced by.  %1 will be replaced by either '#0' or '#1' depending on the indexing mode.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "tooltip - See [https://github.com/google/blockly/wiki/Lists#getting-a-single-item https://github.com/google/blockly/wiki/Lists#getting-a-single-item] for more information.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "tooltip - See [https://github.com/google/blockly/wiki/Lists#getting-a-single-item https://github.com/google/blockly/wiki/Lists#getting-a-single-item] for more information.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "tooltip - See [https://github.com/google/blockly/wiki/Lists#getting-a-single-item https://github.com/google/blockly/wiki/Lists#getting-a-single-item] for more information.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "tooltip - See [https://github.com/google/blockly/wiki/Lists#getting-a-single-item https://github.com/google/blockly/wiki/Lists#getting-a-single-item] for more information.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "tooltip - See [https://github.com/google/blockly/wiki/Lists#getting-and-removing-an-item] (for remove and return) and [https://github.com/google/blockly/wiki/Lists#getting-a-single-item] for '#' or '# from end'.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "tooltip - See [https://github.com/google/blockly/wiki/Lists#getting-and-removing-an-item] (for remove and return) and [https://github.com/google/blockly/wiki/Lists#getting-a-single-item] for 'first'.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "tooltip - See [https://github.com/google/blockly/wiki/Lists#getting-and-removing-an-item] (for remove and return) and [https://github.com/google/blockly/wiki/Lists#getting-a-single-item] for 'last'.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "tooltip - See [https://github.com/google/blockly/wiki/Lists#getting-and-removing-an-item] (for remove and return) and [https://github.com/google/blockly/wiki/Lists#getting-a-single-item] for 'random'.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "tooltip - See [https://github.com/google/blockly/wiki/Lists#getting-and-removing-an-item] (for remove and return) and [https://github.com/google/blockly/wiki/Lists#getting-a-single-item] for '#' or '# from end'.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "tooltip - See [https://github.com/google/blockly/wiki/Lists#getting-and-removing-an-item] (for remove and return) and [https://github.com/google/blockly/wiki/Lists#getting-a-single-item] for 'first'.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "tooltip - See [https://github.com/google/blockly/wiki/Lists#getting-and-removing-an-item] (for remove and return) and [https://github.com/google/blockly/wiki/Lists#getting-a-single-item] for 'last'.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "tooltip - See [https://github.com/google/blockly/wiki/Lists#getting-and-removing-an-item] (for remove and return) and [https://github.com/google/blockly/wiki/Lists#getting-a-single-item] for 'random'.",
+       "LISTS_SET_INDEX_HELPURL": "{{Optional}} url - Information about putting items in lists.",
+       "LISTS_SET_INDEX_SET": "block text - [https://github.com/google/blockly/wiki/Lists#in-list--set Replaces an item in a list]. [[File:Blockly-in-list-set-insert.png]]",
+       "LISTS_SET_INDEX_INSERT": "block text - [https://github.com/google/blockly/wiki/Lists#in-list--insert-at Inserts an item into a list]. [[File:Blockly-in-list-set-insert.png]]",
+       "LISTS_SET_INDEX_INPUT_TO": "block text - The word(s) after the position in the list and before the item to be set/inserted. [[File:Blockly-in-list-set-insert.png]]",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "tooltip - See [https://github.com/google/blockly/wiki/Lists#getting-a-single-item} (even though the page describes the 'get' block, the idea is the same for the 'set' block).",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "tooltip - See [https://github.com/google/blockly/wiki/Lists#getting-a-single-item} (even though the page describes the 'get' block, the idea is the same for the 'set' block).",
+       "LISTS_SET_INDEX_TOOLTIP_SET_LAST": "tooltip - See [https://github.com/google/blockly/wiki/Lists#getting-a-single-item} (even though the page describes the 'get' block, the idea is the same for the 'set' block).",
+       "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "tooltip - See [https://github.com/google/blockly/wiki/Lists#getting-a-single-item} (even though the page describes the 'get' block, the idea is the same for the 'set' block).",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "tooltip - See [https://github.com/google/blockly/wiki/Lists#getting-a-single-item} (even though the page describes the 'get' block, the idea is the same for the 'insert' block).",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "tooltip - See [https://github.com/google/blockly/wiki/Lists#getting-a-single-item} (even though the page describes the 'get' block, the idea is the same for the 'insert' block).",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "tooltip - See [https://github.com/google/blockly/wiki/Lists#getting-a-single-item} (even though the page describes the 'get' block, the idea is the same for the 'insert' block).",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "tooltip - See [https://github.com/google/blockly/wiki/Lists#getting-a-single-item} (even though the page describes the 'get' block, the idea is the same for the 'insert' block).",
+       "LISTS_GET_SUBLIST_HELPURL": "{{Optional}} url - Information describing extracting a sublist from an existing list.",
+       "LISTS_GET_SUBLIST_START_FROM_START": "dropdown - Indicates that an index relative to the front of the list should be used to specify the beginning of the range from which to [https://github.com/google/blockly/wiki/Lists#getting-a-sublist get a sublist]. [[File:Blockly-get-sublist.png]] Note: If {{msg-blockly|ORDINAL_NUMBER_SUFFIX}} is defined, it will automatically appear ''after'' this number (and any other ordinal numbers on this block). See [[Translating:Blockly#Ordinal_numbers]] for more information on ordinal numbers in Blockly.",
+       "LISTS_GET_SUBLIST_START_FROM_END": "dropdown - Indicates that an index relative to the end of the list should be used to specify the beginning of the range from which to [https://github.com/google/blockly/wiki/Lists#getting-a-sublist get a sublist].",
+       "LISTS_GET_SUBLIST_START_FIRST": "dropdown - Indicates that the [https://github.com/google/blockly/wiki/Lists#getting-a-sublist sublist to extract] should begin with the list's first item.",
+       "LISTS_GET_SUBLIST_END_FROM_START": "dropdown - Indicates that an index relative to the front of the list should be used to specify the end of the range from which to [https://github.com/google/blockly/wiki/Lists#getting-a-sublist get a sublist]. [[File:Blockly-get-sublist.png]]",
+       "LISTS_GET_SUBLIST_END_FROM_END": "dropdown - Indicates that an index relative to the end of the list should be used to specify the end of the range from which to [https://github.com/google/blockly/wiki/Lists#getting-a-sublist get a sublist]. [[File:Blockly-get-sublist.png]]",
+       "LISTS_GET_SUBLIST_END_LAST": "dropdown - Indicates that the '''last''' item in the given list should be [https://github.com/google/blockly/wiki/Lists#getting-a-sublist the end of the selected sublist]. [[File:Blockly-get-sublist.png]]",
+       "LISTS_GET_SUBLIST_TAIL": "block text - This appears in the rightmost position ('tail') of the sublist block, as described at [https://github.com/google/blockly/wiki/Lists#getting-a-sublist https://github.com/google/blockly/wiki/Lists#getting-a-sublist]. In English and most other languages, this is the empty string. [[File:Blockly-get-sublist.png]]",
+       "LISTS_GET_SUBLIST_TOOLTIP": "tooltip - See [https://github.com/google/blockly/wiki/Lists#getting-a-sublist https://github.com/google/blockly/wiki/Lists#getting-a-sublist] for more information. [[File:Blockly-get-sublist.png]]",
+       "LISTS_SORT_HELPURL": "{{Optional}} url - Information describing sorting a list.",
+       "LISTS_SORT_TITLE": "Sort as type %1 (numeric or alphabetic) in order %2 (ascending or descending) a list of items %3.\n{{Identical|Sort}}",
+       "LISTS_SORT_TOOLTIP": "tooltip - See [https://github.com/google/blockly/wiki/Lists#sorting-a-list].",
+       "LISTS_SORT_ORDER_ASCENDING": "sorting order or direction from low to high value for numeric, or A-Z for alphabetic.\n{{Identical|Ascending}}",
+       "LISTS_SORT_ORDER_DESCENDING": "sorting order or direction from high to low value for numeric, or Z-A for alphabetic.\n{{Identical|Descending}}",
+       "LISTS_SORT_TYPE_NUMERIC": "sort by treating each item as a number.",
+       "LISTS_SORT_TYPE_TEXT": "sort by treating each item alphabetically, case-sensitive.",
+       "LISTS_SORT_TYPE_IGNORECASE": "sort by treating each item alphabetically, ignoring differences in case.",
+       "LISTS_SPLIT_HELPURL": "{{Optional}} url - Information describing splitting text into a list, or joining a list into text.",
+       "LISTS_SPLIT_LIST_FROM_TEXT": "dropdown - Indicates that text will be split up into a list (e.g. 'a-b-c' -> ['a', 'b', 'c']).",
+       "LISTS_SPLIT_TEXT_FROM_LIST": "dropdown - Indicates that a list will be joined together to form text (e.g. ['a', 'b', 'c'] -> 'a-b-c').",
+       "LISTS_SPLIT_WITH_DELIMITER": "block text - Prompts for a letter to be used as a separator when splitting or joining text.",
+       "LISTS_SPLIT_TOOLTIP_SPLIT": "tooltip - See [https://github.com/google/blockly/wiki/Lists#make-list-from-text https://github.com/google/blockly/wiki/Lists#make-list-from-text] for more information.",
+       "LISTS_SPLIT_TOOLTIP_JOIN": "tooltip - See [https://github.com/google/blockly/wiki/Lists#make-text-from-list https://github.com/google/blockly/wiki/Lists#make-text-from-list] for more information.",
+       "LISTS_REVERSE_HELPURL": "{{Optional}} url - Information describing reversing a list.",
+       "LISTS_REVERSE_MESSAGE0": "block text - Title of block that returns a copy of a list (%1) with the order of items reversed.",
+       "LISTS_REVERSE_TOOLTIP": "tooltip - Short description for a block that reverses a copy of a list.",
+       "ORDINAL_NUMBER_SUFFIX": "grammar - Text that follows an ordinal number (a number that indicates position relative to other numbers).  In most languages, such text appears before the number, so this should be blank.  An exception is Hungarian. See [[Translating:Blockly#Ordinal_numbers]] for more information.",
+       "VARIABLES_GET_HELPURL": "{{Optional}} url - Information about ''variables'' in computer programming.  Consider using your language's translation of [https://en.wikipedia.org/wiki/Variable_(computer_science) https://en.wikipedia.org/wiki/Variable_(computer_science)], if it exists.",
+       "VARIABLES_GET_TOOLTIP": "tooltip - This gets the value of the named variable without modifying it.",
+       "VARIABLES_GET_CREATE_SET": "context menu - Selecting this creates a block to set (change) the value of this variable. \n\nParameters:\n* %1 - the name of the variable.",
+       "VARIABLES_SET_HELPURL": "{{Optional}} url - Information about ''variables'' in computer programming.  Consider using your language's translation of [https://en.wikipedia.org/wiki/Variable_(computer_science) https://en.wikipedia.org/wiki/Variable_(computer_science)], if it exists.",
+       "VARIABLES_SET": "block text - Change the value of a mathematical variable: '''set [the value of] x to 7'''.\n\nParameters:\n* %1 - the name of the variable.\n* %2 - the value to be assigned.",
+       "VARIABLES_SET_TOOLTIP": "tooltip - This initializes or changes the value of the named variable.",
+       "VARIABLES_SET_CREATE_GET": "context menu - Selecting this creates a block to get (change) the value of this variable.\n\nParameters:\n* %1 - the name of the variable.",
+       "PROCEDURES_DEFNORETURN_HELPURL": "{{Optional}} url - Information about defining [https://en.wikipedia.org/wiki/Subroutine functions] that do not have return values.",
+       "PROCEDURES_DEFNORETURN_TITLE": "block text - This precedes the name of the function when defining it.  See [https://blockly-demo.appspot.com/static/apps/code/index.html?lang=en#c84aoc this sample function definition].",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "default name - This acts as a placeholder for the name of a function on a function definition block, as shown on [https://blockly-demo.appspot.com/static/apps/code/index.html?lang=en#w7cfju this block]. The user will replace it with the function's name.",
+       "PROCEDURES_BEFORE_PARAMS": "block text - This precedes the list of parameters on a function's definition block.  See [https://blockly-demo.appspot.com/static/apps/code/index.html?lang=en#voztpd this sample function with parameters].",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "block text - This precedes the list of parameters on a function's caller block.  See [https://blockly-demo.appspot.com/static/apps/code/index.html?lang=en#voztpd this sample function with parameters].",
+       "PROCEDURES_DEFNORETURN_DO": "block text - This appears next to the function's 'body', the blocks that should be run when the function is called, as shown in [https://blockly-demo.appspot.com/static/apps/code/index.html?lang=en#voztpd this sample function definition].",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "tooltip",
+       "PROCEDURES_DEFNORETURN_COMMENT": "Placeholder text that the user is encouraged to replace with a description of what their function does.",
+       "PROCEDURES_DEFRETURN_HELPURL": "{{Optional}} url - Information about defining [https://en.wikipedia.org/wiki/Subroutine functions] that have return values.",
+       "PROCEDURES_DEFRETURN_RETURN": "block text - This imperative or infinite verb precedes the value that is used as the return value (output) of this function.  See [https://blockly-demo.appspot.com/static/apps/code/index.html?lang=en#6ot5y5 this sample function that returns a value].",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "tooltip",
+       "PROCEDURES_ALLOW_STATEMENTS": "Label for a checkbox that controls if statements are allowed in a function.",
+       "PROCEDURES_DEF_DUPLICATE_WARNING": "alert - The user has created a function with two parameters that have the same name.  Every parameter must have a different name.",
+       "PROCEDURES_CALLNORETURN_HELPURL": "{{Optional}} url - Information about calling [https://en.wikipedia.org/wiki/Subroutine functions] that do not return values.",
+       "PROCEDURES_CALLNORETURN_TOOLTIP": "tooltip - This block causes the body (blocks inside) of the named function definition to be run.",
+       "PROCEDURES_CALLRETURN_HELPURL": "{{Optional}} url - Information about calling [https://en.wikipedia.org/wiki/Subroutine functions] that return values.",
+       "PROCEDURES_CALLRETURN_TOOLTIP": "tooltip - This block causes the body (blocks inside) of the named function definition to be run.\n\nParameters:\n* %1 - the name of the function.",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "block text - This text appears on a block in a window that appears when the user clicks on the plus sign or star on a function definition block.  It refers to the set of parameters (referred to by the simpler term 'inputs') to the function.  See [[Translating:Blockly#function_definitions]].\n{{Identical|Input}}",
+       "PROCEDURES_MUTATORCONTAINER_TOOLTIP": "tooltip",
+       "PROCEDURES_MUTATORARG_TITLE": "block text - This text appears on a block in a window that appears when the user clicks on the plus sign or star on a function definition block].  It appears on the block for adding an individual parameter (referred to by the simpler term 'inputs') to the function. See [[Translating:Blockly#function_definitions]].",
+       "PROCEDURES_MUTATORARG_TOOLTIP": "tooltip",
+       "PROCEDURES_HIGHLIGHT_DEF": "context menu - This appears on the context menu for function calls.  Selecting it causes the corresponding function definition to be highlighted (as shown at [[Translating:Blockly#context_menus]].",
+       "PROCEDURES_CREATE_DO": "context menu - This appears on the context menu for function definitions. Selecting it creates a block to call the function.\n\nParameters:\n* %1 - the name of the function.\n{{Identical|Create}}",
+       "PROCEDURES_IFRETURN_TOOLTIP": "tooltip - If the first value is true, this causes the second value to be returned immediately from the enclosing function.",
+       "PROCEDURES_IFRETURN_HELPURL": "{{Optional}} url - Information about guard clauses.",
+       "PROCEDURES_IFRETURN_WARNING": "warning - This appears if the user tries to use this block outside of a function definition.",
+       "WORKSPACE_COMMENT_DEFAULT_TEXT": "comment text - This text appears in a new workspace comment, to hint that the user can type here."
+}
diff --git a/js/msg/json/ro.json b/js/msg/json/ro.json
new file mode 100644 (file)
index 0000000..6715d32
--- /dev/null
@@ -0,0 +1,318 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Minisarm",
+                       "Ely en",
+                       "Hugbear",
+                       "ì•„ë¼",
+                       "Ykhwong",
+                       "Wintereu"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "element",
+       "TODAY": "Astăzi",
+       "DUPLICATE_BLOCK": "Duplicati",
+       "ADD_COMMENT": "Adaugă un comentariu",
+       "REMOVE_COMMENT": "Elimină comentariu",
+       "EXTERNAL_INPUTS": "Intrări externe",
+       "INLINE_INPUTS": "Intrări Ã®n linie",
+       "DELETE_BLOCK": "Șterge Bloc",
+       "DELETE_X_BLOCKS": "ȘtergeÈ›i %1 Blocuri",
+       "DELETE_ALL_BLOCKS": "Ștergi toate cele %1 (de) blocuri?",
+       "COLLAPSE_BLOCK": "Restrange blocul",
+       "COLLAPSE_ALL": "Restrange blocurile",
+       "EXPAND_BLOCK": "Extinde bloc",
+       "EXPAND_ALL": "Extinde blocuri",
+       "DISABLE_BLOCK": "DezactivaÅ£i bloc",
+       "ENABLE_BLOCK": "Permite bloc",
+       "HELP": "Ajutor",
+       "CHANGE_VALUE_TITLE": "SchimbaÅ£i valoarea:",
+       "RENAME_VARIABLE": "Redenumirea variabilei...",
+       "RENAME_VARIABLE_TITLE": "RedenumeÅŸte toate variabilele '%1' Ã®n:",
+       "NEW_VARIABLE": "Variabilă nouă...",
+       "NEW_VARIABLE_TITLE": "Noul nume de variabilă:",
+       "COLOUR_PICKER_HELPURL": "https://ro.wikipedia.org/wiki/Culoare",
+       "COLOUR_PICKER_TOOLTIP": "Alege o culoare din paleta de culori.",
+       "COLOUR_RANDOM_TITLE": "culoare aleatorie",
+       "COLOUR_RANDOM_TOOLTIP": "Alege o culoare la întâmplare.",
+       "COLOUR_RGB_HELPURL": "http://www.december.com/html/spec/colorper.html",
+       "COLOUR_RGB_TITLE": "colorează cu",
+       "COLOUR_RGB_RED": "roÅŸu",
+       "COLOUR_RGB_GREEN": "verde",
+       "COLOUR_RGB_BLUE": "albastru",
+       "COLOUR_RGB_TOOLTIP": "Creează o culoare cu suma specificată de roÅŸu, verde ÅŸi albastru.  Toate valorile trebuie să fie Ã®ntre 0 ÅŸi 100.",
+       "COLOUR_BLEND_HELPURL": "http://meyerweb.com/eric/tools/color-blend/",
+       "COLOUR_BLEND_TITLE": "amestec",
+       "COLOUR_BLEND_COLOUR1": "culoare 1",
+       "COLOUR_BLEND_COLOUR2": "culoare 2",
+       "COLOUR_BLEND_RATIO": "Raport",
+       "COLOUR_BLEND_TOOLTIP": "Amestecă două culori cu un raport dat (0.0 - 1.0).",
+       "CONTROLS_REPEAT_HELPURL": "https://en.wikipedia.org/wiki/For_loop",
+       "CONTROLS_REPEAT_TITLE": "repetă de %1 ori",
+       "CONTROLS_REPEAT_INPUT_DO": "fă",
+       "CONTROLS_REPEAT_TOOLTIP": "Face unele afirmaÅ£ii de mai multe ori.",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "repetă Ã®n timp ce",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "RepetaÅ£i până când",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "ÃŽn timp ce o valoare este adevărat, atunci face unele declaraÅ£ii.",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "ÃŽn timp ce o valoare este adevărat, atunci face unele declaraÅ£ii.",
+       "CONTROLS_FOR_TOOLTIP": "Cu variablia \"%1\" ia o valoare din numărul Ã®nceput la numărul final, numara in intervalul specificat, apoi face blocurile specificate.",
+       "CONTROLS_FOR_TITLE": "numără cu %1 de la %2 la %3 prin %4",
+       "CONTROLS_FOREACH_TITLE": "pentru fiecare element %1 Ã®n listă %2",
+       "CONTROLS_FOREACH_TOOLTIP": "Pentru fiecare element din listă, setaÅ£i variabila '%1' ca valoarea elementului, ÅŸi apoi faceÅ£i unele declaraÅ£ii.",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "ieÅŸi din bucla",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "continuă cu următoarea iteraÈ›ie a buclei",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "IeÈ™i din bucla care conÅ£ine.",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "Sari peste restul aceastei bucle, ÅŸi continuă cu urmatoarea iteratie.",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "Avertisment: Acest bloc pote fi utilizat numai în interiorul unei bucle.",
+       "CONTROLS_IF_TOOLTIP_1": "Dacă o valoare este adevărată, atunci fa unele declaraÅ£ii.",
+       "CONTROLS_IF_TOOLTIP_2": "Dacă o valoare este adevărat, atunci face primul bloc de declaraÅ£ii.  Altfel, face al doilea bloc de declaraÅ£ii.",
+       "CONTROLS_IF_TOOLTIP_3": "Dacă prima valoare este adevărat, atunci face primul bloc de declaraÅ£ii.  Altfel, dacă a doua valoare este adevărat, face al doilea bloc de declaraÅ£ii.",
+       "CONTROLS_IF_TOOLTIP_4": "Dacă prima valoare este adevărat, atunci face primul bloc de declaraÅ£ii.  Altfel, dacă a doua valoare este adevărat, face al doilea bloc de declaraÅ£ii.  ÃŽn cazul Ã®n care niciuna din  valorilor nu este adevărat, face ultimul bloc de declaraÅ£ii.",
+       "CONTROLS_IF_MSG_IF": "dacă",
+       "CONTROLS_IF_MSG_ELSEIF": "altfel dacă",
+       "CONTROLS_IF_MSG_ELSE": "altfel",
+       "CONTROLS_IF_IF_TOOLTIP": "Adaugă, elimină sau reordonează secÅ£iuni pentru a reconfigura acest bloc if.",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "AdăugaÅ£i o condiÅ£ie in blocul if.",
+       "CONTROLS_IF_ELSE_TOOLTIP": "Adauga o stare finala, cuprinde toata conditia din blocul if.",
+       "LOGIC_COMPARE_HELPURL": "https://en.wikipedia.org/wiki/Inequality_(mathematics)",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "Returnează adevărat dacă ambele intrări sunt egale.",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "Returnează adevărat daca cele două intrări nu sunt egale.",
+       "LOGIC_COMPARE_TOOLTIP_LT": "Returnează adevărat dacă prima intrare este mai mică decât a doua intrare.",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "Returnează adevărat dacă prima intrare este mai mică sau egală cu a doua intrare.",
+       "LOGIC_COMPARE_TOOLTIP_GT": "Returnează adevărat dacă prima intrare este mai mare decât a doua intrare.",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "Returnează adevărat dacă prima intrare este mai mare sau egală cu a doua intrare.",
+       "LOGIC_OPERATION_TOOLTIP_AND": "Returnează adevărat daca ambele intrări sunt adevărate.",
+       "LOGIC_OPERATION_AND": "ÅŸi",
+       "LOGIC_OPERATION_TOOLTIP_OR": "Returnează adevărat dacă cel puÅ£in una din intrări este adevărată.",
+       "LOGIC_OPERATION_OR": "sau",
+       "LOGIC_NEGATE_TITLE": "non %1",
+       "LOGIC_NEGATE_TOOLTIP": "Returnează adevărat dacă intrarea este falsă.  Returnează fals dacă intrarea este adevărată.",
+       "LOGIC_BOOLEAN_TRUE": "adevărat",
+       "LOGIC_BOOLEAN_FALSE": "fals",
+       "LOGIC_BOOLEAN_TOOLTIP": "Returnează adevărat sau fals.",
+       "LOGIC_NULL_HELPURL": "https://en.wikipedia.org/wiki/Nullable_type",
+       "LOGIC_NULL": "nul",
+       "LOGIC_NULL_TOOLTIP": "returnează nul.",
+       "LOGIC_TERNARY_HELPURL": "https://en.wikipedia.org/wiki/%3F:",
+       "LOGIC_TERNARY_CONDITION": "test",
+       "LOGIC_TERNARY_IF_TRUE": "dacă este adevărat",
+       "LOGIC_TERNARY_IF_FALSE": "dacă este fals",
+       "LOGIC_TERNARY_TOOLTIP": "Verifică condiÅ£ia din \"test\". Dacă condiÅ£ia este adevărată, returnează valoarea \"în cazul Ã®n care adevărat\"; Ã®n caz contrar Ã®ntoarce valoarea \"în cazul Ã®n care e fals\".",
+       "MATH_NUMBER_HELPURL": "https://en.wikipedia.org/wiki/Number",
+       "MATH_NUMBER_TOOLTIP": "Un număr.",
+       "MATH_ADDITION_SYMBOL": "+",
+       "MATH_SUBTRACTION_SYMBOL": "-",
+       "MATH_DIVISION_SYMBOL": "÷",
+       "MATH_MULTIPLICATION_SYMBOL": "×",
+       "MATH_POWER_SYMBOL": "^",
+       "MATH_TRIG_SIN": "sin",
+       "MATH_TRIG_COS": "cos",
+       "MATH_TRIG_TAN": "tg",
+       "MATH_TRIG_ASIN": "arcsin",
+       "MATH_TRIG_ACOS": "arccos",
+       "MATH_TRIG_ATAN": "arctg",
+       "MATH_ARITHMETIC_HELPURL": "https://ro.wikipedia.org/wiki/Aritmetic%C4%83",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "Returnează suma a două numere.",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "Returneaza diferenÅ£a dintre cele două numere.",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "Returnează produsul celor două numere.",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "Returnează câtul celor două numere.",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "Returneaza numărul rezultat prin ridicarea primului număr la puterea celui de-al doilea.",
+       "MATH_SINGLE_HELPURL": "https://en.wikipedia.org/wiki/Square_root",
+       "MATH_SINGLE_OP_ROOT": "rădăcina pătrată",
+       "MATH_SINGLE_TOOLTIP_ROOT": "Returnează rădăcina pătrată a unui număr.",
+       "MATH_SINGLE_OP_ABSOLUTE": "absolută",
+       "MATH_SINGLE_TOOLTIP_ABS": "Returnează valoarea absolută a unui număr.",
+       "MATH_SINGLE_TOOLTIP_NEG": "Returnează negaÅ£ia unui număr.",
+       "MATH_SINGLE_TOOLTIP_LN": "ÃŽntoarce logaritmul natural al unui număr.",
+       "MATH_SINGLE_TOOLTIP_LOG10": "Returnează logaritmul Ã®n baza 10 a unui număr.",
+       "MATH_SINGLE_TOOLTIP_EXP": "Returnează e la puterea unui număr.",
+       "MATH_SINGLE_TOOLTIP_POW10": "Returnează 10 la puterea unui număr.",
+       "MATH_TRIG_HELPURL": "https://ro.wikipedia.org/wiki/FuncÈ›ii_trigonometrice",
+       "MATH_TRIG_TOOLTIP_SIN": "Întoarce cosinusul unui grad (nu radianul).",
+       "MATH_TRIG_TOOLTIP_COS": "Întoarce cosinusul unui grad (nu radianul).",
+       "MATH_TRIG_TOOLTIP_TAN": "Întoarce tangenta unui grad (nu radianul).",
+       "MATH_TRIG_TOOLTIP_ASIN": "Returnează arcsinusul unui număr.",
+       "MATH_TRIG_TOOLTIP_ACOS": "Returnează arccosinusul unui număr.",
+       "MATH_TRIG_TOOLTIP_ATAN": "Returnează arctangenta unui număr.",
+       "MATH_CONSTANT_HELPURL": "https://ro.wikipedia.org/wiki/Constant%C4%83_matematic%C4%83",
+       "MATH_CONSTANT_TOOLTIP": "ÃŽntoarcă una din constantele comune: Ï€ (3.141...), e (2.718...), Ï† (1,618...), sqrt(2) (1.414...), sqrt(½) (0.707...) sau âˆž (infinitate).",
+       "MATH_IS_EVEN": "este par",
+       "MATH_IS_ODD": "este impar",
+       "MATH_IS_PRIME": "este prim",
+       "MATH_IS_WHOLE": "este întreg",
+       "MATH_IS_POSITIVE": "este pozitiv",
+       "MATH_IS_NEGATIVE": "este negativ",
+       "MATH_IS_DIVISIBLE_BY": "este divizibil cu",
+       "MATH_IS_TOOLTIP": "Verifică dacă un număr este un par, impar, prim, Ã®ntreg, pozitiv, negativ, sau dacă este divizibil cu un anumit număr.  Returnează true sau false.",
+       "MATH_CHANGE_HELPURL": "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter",
+       "MATH_CHANGE_TITLE": "schimbă %1 de %2",
+       "MATH_CHANGE_TOOLTIP": "Adaugă un număr variabilei '%1'.",
+       "MATH_ROUND_HELPURL": "https://en.wikipedia.org/wiki/Rounding",
+       "MATH_ROUND_TOOLTIP": "Rotunjirea unui număr Ã®n sus sau Ã®n jos.",
+       "MATH_ROUND_OPERATOR_ROUND": "rotund",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "rotunjeÈ™te Ã®n sus",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "rotunjit",
+       "MATH_ONLIST_OPERATOR_SUM": "suma listei",
+       "MATH_ONLIST_TOOLTIP_SUM": "Returnează suma tuturor numerelor din lista.",
+       "MATH_ONLIST_OPERATOR_MIN": "minimul listei",
+       "MATH_ONLIST_TOOLTIP_MIN": "Returnează cel mai mic număr din listă.",
+       "MATH_ONLIST_OPERATOR_MAX": "maximul listei",
+       "MATH_ONLIST_TOOLTIP_MAX": "ÃŽntoarce cel mai mare număr din listă.",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "media listei",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "ÃŽntoarce media (aritmetică) a valorilor numerice Ã®n listă.",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "media listei",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "ÃŽntoarce numărul median Ã®n listă.",
+       "MATH_ONLIST_OPERATOR_MODE": "moduri de listă",
+       "MATH_ONLIST_TOOLTIP_MODE": "Returnează o listă cu cel(e) mai frecvent(e) element(e) din listă.",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "deviaÈ›ia standard a listei",
+       "MATH_ONLIST_TOOLTIP_STD_DEV": "ÃŽntoarce deviaÈ›ia standard a listei.",
+       "MATH_ONLIST_OPERATOR_RANDOM": "element aleatoriu din lista",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "Returnează un element aleatoriu din listă.",
+       "MATH_MODULO_HELPURL": "https://en.wikipedia.org/wiki/Modulo_operation",
+       "MATH_MODULO_TITLE": "restul la %1 ÷ %2",
+       "MATH_MODULO_TOOLTIP": "ÃŽntoarce restul din Ã®mpărÅ£irea celor două numere.",
+       "MATH_CONSTRAIN_TITLE": "constrânge %1 redus %2 ridicat %3",
+       "MATH_CONSTRAIN_TOOLTIP": "Constrânge un număr să fie Ã®ntre limitele specificate (inclusiv).",
+       "MATH_RANDOM_INT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_INT_TITLE": "un număr Ã®ntreg aleator de la %1 la %2",
+       "MATH_RANDOM_INT_TOOLTIP": "Returnează un număr Ã®ntreg aleator aflat Ã®ntre cele două limite specificate, inclusiv.",
+       "MATH_RANDOM_FLOAT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "fracÈ›ii aleatorii",
+       "MATH_RANDOM_FLOAT_TOOLTIP": "Returnează o fracÅ£ie aleatoare Ã®ntre 0.0 (inclusiv) si 1.0 (exclusiv).",
+       "TEXT_TEXT_HELPURL": "https://en.wikipedia.org/wiki/String_(computer_science)",
+       "TEXT_TEXT_TOOLTIP": "O literă, cuvânt sau linie de text.",
+       "TEXT_JOIN_TITLE_CREATEWITH": "crează text cu",
+       "TEXT_JOIN_TOOLTIP": "CreaÅ£i o bucată de text prin unirea oricărui număr de elemente.",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "alăturaÅ£i-vă",
+       "TEXT_CREATE_JOIN_TOOLTIP": "Adaugă, elimină sau reordonează secÈ›iuni ca să reconfigureze blocul text.",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "Adaugă un element Ã®n text.",
+       "TEXT_APPEND_TITLE": "la %1 AdăugaÅ£i text %2",
+       "TEXT_APPEND_TOOLTIP": "AdăugaÅ£i text la variabila '%1'.",
+       "TEXT_LENGTH_TITLE": "lungime de %1",
+       "TEXT_LENGTH_TOOLTIP": "Returnează numărul de litere (inclusiv spaÅ£iile) Ã®n textul furnizat.",
+       "TEXT_ISEMPTY_TITLE": "%1 este gol",
+       "TEXT_ISEMPTY_TOOLTIP": "Returnează adevărat dacă textul furnizat este gol.",
+       "TEXT_INDEXOF_TOOLTIP": "Returnează indicele primei/ultimei apariÅ£ii din primul text Ã®n al doilea text.  Returnează %1 dacă textul nu este găsit.",
+       "TEXT_INDEXOF_TITLE": "în text %1 %2 %3",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "găseÅŸte prima apariÅ£ie a textului",
+       "TEXT_INDEXOF_OPERATOR_LAST": "găseÅŸte ultima apariÅ£ie a textului",
+       "TEXT_CHARAT_FROM_START": "obtine litera #",
+       "TEXT_CHARAT_FROM_END": "obÅ£ine litera # de la sfârÈ™it",
+       "TEXT_CHARAT_FIRST": "obÅ£ine prima litera",
+       "TEXT_CHARAT_LAST": "obÅ£ine o litera oarecare",
+       "TEXT_CHARAT_RANDOM": "obtine o litera oarecare",
+       "TEXT_CHARAT_TOOLTIP": "Returnează litera la poziÈ›ia specificată.",
+       "TEXT_GET_SUBSTRING_TOOLTIP": "Returnează o anumită parte din text.",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "în text",
+       "TEXT_GET_SUBSTRING_START_FROM_START": "obÈ›ine subÈ™ir de la litera #",
+       "TEXT_GET_SUBSTRING_START_FROM_END": "obÈ›ine un subÈ™ir de la litera # de la sfârÈ™it",
+       "TEXT_GET_SUBSTRING_START_FIRST": "obÅ£ine un subÈ™ir de la prima literă",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "la litera #",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "la litera # de la sfarsit",
+       "TEXT_GET_SUBSTRING_END_LAST": "la ultima literă",
+       "TEXT_CHANGECASE_TOOLTIP": "Întoarce o copie a textului într-un caz diferit.",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "la MAJUSCULE",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "la litere mici",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": "către Titlul de caz",
+       "TEXT_TRIM_TOOLTIP": "Returnează o copie a textului fără spaÈ›iile de la unul sau ambele capete.",
+       "TEXT_TRIM_OPERATOR_BOTH": "taie spaÈ›iile de pe ambele părÈ›i ale",
+       "TEXT_TRIM_OPERATOR_LEFT": "tăiaÅ£i spaÈ›iile din partea stângă a",
+       "TEXT_TRIM_OPERATOR_RIGHT": "taie spaÈ›iile din partea dreaptă a",
+       "TEXT_PRINT_TITLE": "imprimare %1",
+       "TEXT_PRINT_TOOLTIP": "AfiÈ™ează textul specificat, numărul sau altă valoare.",
+       "TEXT_PROMPT_TYPE_TEXT": "solicită pentru text cu mesaj",
+       "TEXT_PROMPT_TYPE_NUMBER": "solicită pentru număr cu mesaj",
+       "TEXT_PROMPT_TOOLTIP_NUMBER": "Solicită utilizatorul pentru un număr.",
+       "TEXT_PROMPT_TOOLTIP_TEXT": "Solicită utilizatorul pentru text.",
+       "LISTS_CREATE_EMPTY_HELPURL": "https://github.com/google/blockly/wiki/Lists#create-empty-list",
+       "LISTS_CREATE_EMPTY_TITLE": "creează listă goală",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "Returnează o listă, de lungime 0, care nu conÅ£ine Ã®nregistrări de date",
+       "LISTS_CREATE_WITH_TOOLTIP": "CreaÅ£i o listă cu orice număr de elemente.",
+       "LISTS_CREATE_WITH_INPUT_WITH": "creează listă cu",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "listă",
+       "LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "Adaugă, elimină sau reordonează secÅ£iuni ca să reconfiguraÅ£i aceste blocuri de listă.",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "AdăugaÅ£i un element la listă.",
+       "LISTS_REPEAT_TOOLTIP": "Creează o listă alcătuită dintr-o anumită valoare repetată de numărul specificat de ori.",
+       "LISTS_REPEAT_TITLE": "creaza lista cu %1 elemente repetate de %2 ori",
+       "LISTS_LENGTH_TITLE": "lungime de %1",
+       "LISTS_LENGTH_TOOLTIP": "Returnează lungimea unei liste.",
+       "LISTS_ISEMPTY_TITLE": "%1 este gol",
+       "LISTS_ISEMPTY_TOOLTIP": "Returnează adevărat dacă lista este goală.",
+       "LISTS_INLIST": "în listă",
+       "LISTS_INDEX_OF_FIRST": "GăseÅŸte prima apariÅ£ie a elementului",
+       "LISTS_INDEX_OF_LAST": "găseÅŸte ultima apariÅ£ie a elementului",
+       "LISTS_INDEX_OF_TOOLTIP": "Revine la indexul de la prima/ultima apariÈ›ie a elementului din listă. Returnează %1 dacă elementul nu este găsit.",
+       "LISTS_GET_INDEX_GET": "obÅ£ine",
+       "LISTS_GET_INDEX_GET_REMOVE": "obÅ£ine ÅŸi elimină",
+       "LISTS_GET_INDEX_REMOVE": "elimină",
+       "LISTS_GET_INDEX_FROM_START": "#",
+       "LISTS_GET_INDEX_FROM_END": "# de la sfârÈ™it",
+       "LISTS_GET_INDEX_FIRST": "primul",
+       "LISTS_GET_INDEX_LAST": "ultimul",
+       "LISTS_GET_INDEX_RANDOM": "aleator",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "%1 este primul element.",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "%1 este ultimul element.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "Returneaza elementul la poziÅ£ia specificată Ã®ntr-o listă.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "Returnează primul element dintr-o listă.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "Returnează ultimul element Ã®ntr-o listă.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "Returneaza un element aleatoriu Ã®ntr-o listă.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "Elimină ÅŸi returneaza elementul la poziÅ£ia specificată Ã®ntr-o listă.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "Elimină ÅŸi returnează primul element Ã®ntr-o listă.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "Elimină ÅŸi returnează ultimul element Ã®ntr-o listă.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "Elimină ÅŸi returnează un element aleatoriu Ã®ntr-o listă.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "Elimină elementul la poziÅ£ia specificată Ã®ntr-o listă.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "Elimină primul element Ã®ntr-o listă.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "Elimină ultimul element Ã®ntr-o listă.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "Elimină un element aleatoriu Ã®ntr-o listă.",
+       "LISTS_SET_INDEX_SET": "seteaza",
+       "LISTS_SET_INDEX_INSERT": "introduceÅ£i la",
+       "LISTS_SET_INDEX_INPUT_TO": "ca",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "Setează elementul la poziÅ£ia specificată Ã®ntr-o listă.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "Setează primul element Ã®ntr-o listă.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_LAST": "Setează ultimul element Ã®ntr-o listă.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "Setează un element aleator Ã®ntr-o listă.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "Inserează elementul la poziÅ£ia specificată Ã®ntr-o listă.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "Inserează elementul la Ã®nceputul unei liste.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "Adăugă elementul la sfârÅŸitul unei liste.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "Inserează elementul aleatoriu Ã®ntr-o listă.",
+       "LISTS_GET_SUBLIST_START_FROM_START": "obÅ£ine sub-lista de la #",
+       "LISTS_GET_SUBLIST_START_FROM_END": "obÅ£ine sub-lista de la # de la sfârÅŸitul",
+       "LISTS_GET_SUBLIST_START_FIRST": "obÅ£ine sub-lista de la primul",
+       "LISTS_GET_SUBLIST_END_FROM_START": "la #",
+       "LISTS_GET_SUBLIST_END_FROM_END": "la # de la sfarsit",
+       "LISTS_GET_SUBLIST_END_LAST": "la ultima",
+       "LISTS_GET_SUBLIST_TOOLTIP": "Creează o copie a porÅ£iunii specificate dintr-o listă.",
+       "LISTS_SPLIT_LIST_FROM_TEXT": "converteÈ™te textul Ã®n listă",
+       "LISTS_SPLIT_TEXT_FROM_LIST": "converteÈ™te lista Ã®n text",
+       "LISTS_SPLIT_WITH_DELIMITER": "cu separatorul",
+       "LISTS_SPLIT_TOOLTIP_SPLIT": "ÃŽmparte textul Ã®ntr-o listă de texte, despărÈ›ite prin fiecare separator",
+       "LISTS_SPLIT_TOOLTIP_JOIN": "Concatenează o listă de texte (alternate cu separatorul) Ã®ntr-un text unic",
+       "VARIABLES_GET_TOOLTIP": "Returnează valoarea acestei variabile.",
+       "VARIABLES_GET_CREATE_SET": "Crează 'set %1'",
+       "VARIABLES_SET": "seteaza %1 la %2",
+       "VARIABLES_SET_TOOLTIP": "Setează această variabilă sa fie egală la intrare.",
+       "VARIABLES_SET_CREATE_GET": "Crează 'get %1'",
+       "PROCEDURES_DEFNORETURN_HELPURL": "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29",
+       "PROCEDURES_DEFNORETURN_TITLE": "la",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "fă ceva",
+       "PROCEDURES_BEFORE_PARAMS": "cu:",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "cu:",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "Crează o funcÅ£ie cu nici o ieÅŸire.",
+       "PROCEDURES_DEFRETURN_HELPURL": "https://ro.wikipedia.org/wiki/Subrutină",
+       "PROCEDURES_DEFRETURN_RETURN": "returnează",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "Creează o funcÅ£ie cu o ieÅŸire.",
+       "PROCEDURES_ALLOW_STATEMENTS": "permite declaraÈ›iile",
+       "PROCEDURES_DEF_DUPLICATE_WARNING": "AtenÅ£ie: Această funcÅ£ie are parametri duplicaÅ£i.",
+       "PROCEDURES_CALLNORETURN_HELPURL": "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29",
+       "PROCEDURES_CALLNORETURN_TOOLTIP": "ExecutaÈ›i funcÈ›ia '%1 'definită de utilizator.",
+       "PROCEDURES_CALLRETURN_HELPURL": "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29",
+       "PROCEDURES_CALLRETURN_TOOLTIP": "ExecutaÈ›i funcÈ›ia '%1 'definită de utilizator ÅŸi folosiÅ£i producÅ£ia sa.",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "intrări",
+       "PROCEDURES_MUTATORCONTAINER_TOOLTIP": "Adăugă, È™terge sau reordonează parametrii de intrare ai acestei funcÈ›ii.",
+       "PROCEDURES_MUTATORARG_TITLE": "nume de intrare:",
+       "PROCEDURES_MUTATORARG_TOOLTIP": "Adaugă un parametru de intrare pentru funcÈ›ie.",
+       "PROCEDURES_HIGHLIGHT_DEF": "EvidenÅ£iază definiÅ£ia funcÅ£iei",
+       "PROCEDURES_CREATE_DO": "CreaÅ£i '%1'",
+       "PROCEDURES_IFRETURN_TOOLTIP": "Dacă o valoare este adevărată, atunci returnează valoarea a doua.",
+       "PROCEDURES_IFRETURN_WARNING": "Avertisment: Acest bloc poate fi utilizat numai Ã®n definiÅ£ia unei funcÅ£ii."
+}
diff --git a/js/msg/json/ru.json b/js/msg/json/ru.json
new file mode 100644 (file)
index 0000000..dbf057a
--- /dev/null
@@ -0,0 +1,359 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Espertus",
+                       "MS",
+                       "Okras",
+                       "RedFox",
+                       "Mailman",
+                       "Silovan",
+                       "Redredsonia",
+                       "Facenapalm",
+                       "Helpau",
+                       "SimondR",
+                       "Mouse21",
+                       "Movses"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "Ñлемент",
+       "TODAY": "СегоднÑ",
+       "DUPLICATE_BLOCK": "Дублировать",
+       "ADD_COMMENT": "Добавить ÐºÐ¾Ð¼Ð¼ÐµÐ½Ñ‚арий",
+       "REMOVE_COMMENT": "Удалить ÐºÐ¾Ð¼Ð¼ÐµÐ½Ñ‚арий",
+       "DUPLICATE_COMMENT": "Клонировать ÐºÐ¾Ð¼Ð¼ÐµÐ½Ñ‚арий",
+       "EXTERNAL_INPUTS": "Ð’Ñтавки Ñнаружи",
+       "INLINE_INPUTS": "Ð’Ñтавки Ð²Ð½ÑƒÑ‚ри",
+       "DELETE_BLOCK": "Удалить Ð±Ð»Ð¾Ðº",
+       "DELETE_X_BLOCKS": "Удалить %1 Ð±Ð»Ð¾ÐºÐ¾Ð²",
+       "DELETE_ALL_BLOCKS": "Удалить Ð²Ñе Ð±Ð»Ð¾ÐºÐ¸ (%1)?",
+       "CLEAN_UP": "Убрать Ð±Ð»Ð¾ÐºÐ¸",
+       "COLLAPSE_BLOCK": "Свернуть Ð±Ð»Ð¾Ðº",
+       "COLLAPSE_ALL": "Свернуть Ð±Ð»Ð¾ÐºÐ¸",
+       "EXPAND_BLOCK": "Развернуть Ð±Ð»Ð¾Ðº",
+       "EXPAND_ALL": "Развернуть Ð±Ð»Ð¾ÐºÐ¸",
+       "DISABLE_BLOCK": "Отключить Ð±Ð»Ð¾Ðº",
+       "ENABLE_BLOCK": "Включить Ð±Ð»Ð¾Ðº",
+       "HELP": "Справка",
+       "UNDO": "Отменить",
+       "REDO": "Повторить",
+       "CHANGE_VALUE_TITLE": "Измените Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ:",
+       "RENAME_VARIABLE": "Переименовать Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½ÑƒÑŽâ€¦",
+       "RENAME_VARIABLE_TITLE": "Переименовать Ð²Ñе Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ñ‹Ðµ '%1' Ð²:",
+       "NEW_VARIABLE": "Создать Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½ÑƒÑŽâ€¦",
+       "NEW_STRING_VARIABLE": "Создать Ñтроковую Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½ÑƒÑŽ...",
+       "NEW_NUMBER_VARIABLE": "Создать Ñ‡Ð¸Ñловую Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½ÑƒÑŽ...",
+       "NEW_COLOUR_VARIABLE": "Создать Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½ÑƒÑŽ Ñ†Ð²ÐµÑ‚а...",
+       "NEW_VARIABLE_TYPE_TITLE": "Ðовый Ñ‚ип Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹:",
+       "NEW_VARIABLE_TITLE": "ИмѠновой Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹:",
+       "VARIABLE_ALREADY_EXISTS": "ПеременнаѠѠименем '%1' ÑƒÐ¶Ðµ ÑущеÑтвует.",
+       "VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE": "Ðазвание Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹ '%1' ÑƒÐ¶Ðµ Ð¸ÑпользуетÑѠдругой Ñ‚ипа: '%2'.",
+       "DELETE_VARIABLE_CONFIRMATION": "Удалить %1 Ð¸Ñпользований Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹ '%2'?",
+       "CANNOT_DELETE_VARIABLE_PROCEDURE": "Ðевозможно ÑƒÐ´Ð°Ð»Ð¸Ñ‚ÑŒ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½ÑƒÑŽ '%1', Ð¿Ð¾Ñкольку Ð¾Ð½Ð° ÑвлÑетÑѠчаÑтью Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ñ„ункции '%2'",
+       "DELETE_VARIABLE": "Удалить Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½ÑƒÑŽ '%1'",
+       "COLOUR_PICKER_HELPURL": "https://ru.wikipedia.org/wiki/Цвет",
+       "COLOUR_PICKER_TOOLTIP": "Выберите Ñ†Ð²ÐµÑ‚ Ð¸Ð· Ð¿Ð°Ð»Ð¸Ñ‚ры.",
+       "COLOUR_RANDOM_TITLE": "Ñлучайный Ñ†Ð²ÐµÑ‚",
+       "COLOUR_RANDOM_TOOLTIP": "Выбирает Ñ†Ð²ÐµÑ‚ Ñлучайным Ð¾Ð±Ñ€Ð°Ð·Ð¾Ð¼.",
+       "COLOUR_RGB_TITLE": "цвет Ð¸Ð·",
+       "COLOUR_RGB_RED": "краÑного",
+       "COLOUR_RGB_GREEN": "зелёного",
+       "COLOUR_RGB_BLUE": "Ñинего",
+       "COLOUR_RGB_TOOLTIP": "Создаёт Ñ†Ð²ÐµÑ‚ Ñ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð¹ Ð¿Ñ€Ð¾Ð¿Ð¾Ñ€Ñ†Ð¸ÐµÐ¹  ÐºÑ€Ð°Ñного, Ð·ÐµÐ»ÐµÐ½Ð¾Ð³Ð¾ Ð¸ Ñинего.  Ð’Ñе Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð´Ð¾Ð»Ð¶Ð½Ñ‹ Ð±Ñ‹Ñ‚ÑŒ Ð¼ÐµÐ¶Ð´Ñƒ 0 Ð¸ 100.",
+       "COLOUR_BLEND_TITLE": "Ñмешать",
+       "COLOUR_BLEND_COLOUR1": "цвет 1",
+       "COLOUR_BLEND_COLOUR2": "цвет 2",
+       "COLOUR_BLEND_RATIO": "долѠцвета 1",
+       "COLOUR_BLEND_TOOLTIP": "Смешивает Ð´Ð²Ð° Ñ†Ð²ÐµÑ‚а Ð² Ð·Ð°Ð´Ð°Ð½Ð½Ð¾Ð¼ Ñоотношении (0.0 - 1.0).",
+       "CONTROLS_REPEAT_HELPURL": "https://ru.wikipedia.org/wiki/Цикл_(программирование)",
+       "CONTROLS_REPEAT_TITLE": "повторить %1 Ñ€Ð°Ð·",
+       "CONTROLS_REPEAT_INPUT_DO": "выполнить",
+       "CONTROLS_REPEAT_TOOLTIP": "ВыполнÑет Ð½ÐµÐºÐ¾Ñ‚орые ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹ Ð½ÐµÑколько Ñ€Ð°Ð·.",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "повторÑÑ‚ÑŒ, Ð¿Ð¾ÐºÐ°",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "повторÑÑ‚ÑŒ, Ð¿Ð¾ÐºÐ° Ð½Ðµ",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "Пока Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ð¸Ñтинно, Ð²Ñ‹Ð¿Ð¾Ð»Ð½Ñет ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹.",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "Пока Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ð»Ð¾Ð¶Ð½Ð¾, Ð²Ñ‹Ð¿Ð¾Ð»Ð½Ñет ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹",
+       "CONTROLS_FOR_TOOLTIP": "ПриÑваивает Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹ '%1' Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ñ Ð¾Ñ‚ Ð½Ð°Ñ‡Ð°Ð»ÑŒÐ½Ð¾Ð³Ð¾ Ð´Ð¾ ÐºÐ¾Ð½ÐµÑ‡Ð½Ð¾Ð³Ð¾ Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ñ‹Ð¼ ÑˆÐ°Ð³Ð¾Ð¼ Ð¸ Ð²Ñ‹Ð¿Ð¾Ð»Ð½Ñет ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ðµ ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹.",
+       "CONTROLS_FOR_TITLE": "цикл Ð¿Ð¾ %1 Ð¾Ñ‚ %2 Ð´Ð¾ %3 Ñ ÑˆÐ°Ð³Ð¾Ð¼ %4",
+       "CONTROLS_FOREACH_TITLE": "длѠкаждого Ñлемента %1 Ð² ÑпиÑке %2",
+       "CONTROLS_FOREACH_TOOLTIP": "ДлѠкаждого Ñлемента Ð² ÑпиÑке, Ð¿Ñ€Ð¸Ñваивает Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹ '%1' Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ñлемента  Ð¸ Ð²Ñ‹Ð¿Ð¾Ð»Ð½Ñет ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ñ‹Ðµ  ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹.",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "выйти Ð¸Ð· Ñ†Ð¸ÐºÐ»Ð°",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "перейти Ðº Ñледующему ÑˆÐ°Ð³Ñƒ Ñ†Ð¸ÐºÐ»Ð°",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "Прерывает Ñтот Ñ†Ð¸ÐºÐ».",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "ПропуÑкает Ð¾Ñтаток Ñ†Ð¸ÐºÐ»Ð° Ð¸ Ð¿ÐµÑ€ÐµÑ…одит Ðº Ñледующему ÑˆÐ°Ð³Ñƒ.",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "Предупреждение: Ñтот Ð±Ð»Ð¾Ðº Ð¼Ð¾Ð¶ÐµÑ‚ Ð¸ÑпользоватьÑѠтолько Ð²Ð½ÑƒÑ‚ри Ñ†Ð¸ÐºÐ»Ð°.",
+       "CONTROLS_IF_TOOLTIP_1": "ЕÑли ÑƒÑловие Ð¸Ñтинно, Ð²Ñ‹Ð¿Ð¾Ð»Ð½Ñет ÐºÐ¾Ð¼Ð°Ð½Ð´Ñ‹.",
+       "CONTROLS_IF_TOOLTIP_2": "ЕÑли ÑƒÑловие Ð¸Ñтинно, Ð²Ñ‹Ð¿Ð¾Ð»Ð½Ñет Ð¿ÐµÑ€Ð²Ñ‹Ð¹ Ð±Ð»Ð¾Ðº ÐºÐ¾Ð¼Ð°Ð½Ð´. Ð˜Ð½Ð°Ñ‡Ðµ Ð²Ñ‹Ð¿Ð¾Ð»Ð½ÑетÑѠвторой Ð±Ð»Ð¾Ðº ÐºÐ¾Ð¼Ð°Ð½Ð´.",
+       "CONTROLS_IF_TOOLTIP_3": "ЕÑли Ð¿ÐµÑ€Ð²Ð¾Ðµ ÑƒÑловие Ð¸Ñтинно, Ñ‚о Ð²Ñ‹Ð¿Ð¾Ð»Ð½Ñет Ð¿ÐµÑ€Ð²Ñ‹Ð¹ Ð±Ð»Ð¾Ðº ÐºÐ¾Ð¼Ð°Ð½Ð´. Ð˜Ð½Ð°Ñ‡Ðµ, ÐµÑли Ð²Ñ‚орое ÑƒÑловие Ð¸Ñтинно, Ð²Ñ‹Ð¿Ð¾Ð»Ð½Ñет Ð²Ñ‚орой Ð±Ð»Ð¾Ðº ÐºÐ¾Ð¼Ð°Ð½Ð´.",
+       "CONTROLS_IF_TOOLTIP_4": "ЕÑли Ð¿ÐµÑ€Ð²Ð¾Ðµ ÑƒÑловие Ð¸Ñтинно, Ñ‚о Ð²Ñ‹Ð¿Ð¾Ð»Ð½Ñет Ð¿ÐµÑ€Ð²Ñ‹Ð¹ Ð±Ð»Ð¾Ðº ÐºÐ¾Ð¼Ð°Ð½Ð´.  Ð’ Ð¿Ñ€Ð¾Ñ‚ивном Ñлучае, ÐµÑли Ð²Ñ‚орое ÑƒÑловие Ð¸Ñтинно, Ð²Ñ‹Ð¿Ð¾Ð»Ð½Ñет Ð²Ñ‚орой Ð±Ð»Ð¾Ðº ÐºÐ¾Ð¼Ð°Ð½Ð´.  Ð•Ñли Ð½Ð¸ Ð¾Ð´Ð½Ð¾ Ð¸Ð· ÑƒÑловий Ð½Ðµ Ð¸Ñтинно, Ð²Ñ‹Ð¿Ð¾Ð»Ð½Ñет Ð¿Ð¾Ñледний Ð±Ð»Ð¾Ðº ÐºÐ¾Ð¼Ð°Ð½Ð´.",
+       "CONTROLS_IF_MSG_IF": "еÑли",
+       "CONTROLS_IF_MSG_ELSEIF": "иначе ÐµÑли",
+       "CONTROLS_IF_MSG_ELSE": "иначе",
+       "CONTROLS_IF_IF_TOOLTIP": "Добавьте, ÑƒÐ´Ð°Ð»Ð¸Ñ‚е, Ð¿ÐµÑ€ÐµÑтавьте Ñ„рагменты Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ´ÐµÐ»ÐºÐ¸ Ð±Ð»Ð¾ÐºÐ° \"еÑли\".",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "ДобавлÑет ÑƒÑловие Ðº Ð±Ð»Ð¾ÐºÑƒ \"еÑли\"",
+       "CONTROLS_IF_ELSE_TOOLTIP": "Добавить Ð·Ð°ÐºÐ»ÑŽÑ‡Ð¸Ñ‚ельный Ð¿Ð¾Ð´Ð±Ð»Ð¾Ðº Ð´Ð»Ñ ÑлучаÑ, ÐºÐ¾Ð³Ð´Ð° Ð²Ñе ÑƒÑловиѠложны.",
+       "IOS_OK": "ОК",
+       "IOS_CANCEL": "Отмена",
+       "IOS_ERROR": "Ошибка",
+       "IOS_PROCEDURES_INPUTS": "ВХОД",
+       "IOS_PROCEDURES_ADD_INPUT": "+ Ð”обавить Ð²Ñ…одную Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½ÑƒÑŽ",
+       "IOS_PROCEDURES_ALLOW_STATEMENTS": "Разрешить Ð¾Ð¿ÐµÑ€Ð°Ñ‚оры",
+       "IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR": "У Ñтой Ñ„ункции ÐµÑÑ‚ÑŒ Ð´ÑƒÐ±Ð»Ð¸Ñ€ÑƒÑŽÑ‰Ð¸ÐµÑѠвходные Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ñ‹Ðµ.",
+       "IOS_VARIABLES_ADD_VARIABLE": "+ Ð”обавить Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½ÑƒÑŽ",
+       "IOS_VARIABLES_ADD_BUTTON": "Добавить",
+       "IOS_VARIABLES_RENAME_BUTTON": "Переименовать",
+       "IOS_VARIABLES_DELETE_BUTTON": "Удалить",
+       "IOS_VARIABLES_VARIABLE_NAME": "ИмѠпеременной",
+       "IOS_VARIABLES_EMPTY_NAME_ERROR": "Ð’Ñ‹ Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚е Ð¸Ñпользовать Ð¿ÑƒÑтое Ð¸Ð¼Ñ Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹.",
+       "LOGIC_COMPARE_HELPURL": "https://ru.wikipedia.org/wiki/ÐеравенÑтво",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "Возвращает Ð¿Ð¾Ð»Ð¾Ð¶Ð¸Ñ‚ельное Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ, ÐµÑли Ð²Ð²Ð¾Ð´Ñ‹ Ñ€Ð°Ð²Ð½Ñ‹.",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "Возвращает Ð¿Ð¾Ð»Ð¾Ð¶Ð¸Ñ‚ельное Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ, ÐµÑли Ð²Ð²Ð¾Ð´Ñ‹ Ð½Ðµ Ñ€Ð°Ð²Ð½Ñ‹.",
+       "LOGIC_COMPARE_TOOLTIP_LT": "Возвращает Ð¿Ð¾Ð»Ð¾Ð¶Ð¸Ñ‚ельное Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ, ÐµÑли Ð¿ÐµÑ€Ð²Ñ‹Ð¹ Ð²Ð²Ð¾Ð´ Ð¼ÐµÐ½ÑŒÑˆÐµ Ð²Ñ‚орого.",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "Возвращает Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ð¸Ñтина, ÐµÑли Ð¿ÐµÑ€Ð²Ð°Ñ Ð²Ñтавка Ð¼ÐµÐ½ÑŒÑˆÐµ Ð¸Ð»Ð¸ Ñ€Ð°Ð²Ð½Ð°  Ð²Ñ‚орой.",
+       "LOGIC_COMPARE_TOOLTIP_GT": "Возвращает Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ð¸Ñтина, ÐµÑли Ð¿ÐµÑ€Ð²Ð°Ñ Ð²Ñтавка Ð±Ð¾Ð»ÑŒÑˆÐµ Ð²Ñ‚орой.",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "Возвращает Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ð¸Ñтина, ÐµÑли Ð¿ÐµÑ€Ð²Ð°Ñ Ð²Ñтавка Ð±Ð¾Ð»ÑŒÑˆÐµ Ð¸Ð»Ð¸ Ñ€Ð°Ð²Ð½Ð°  Ð²Ñ‚орой.",
+       "LOGIC_OPERATION_TOOLTIP_AND": "Возвращает Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ð¸Ñтина, ÐµÑли Ð¾Ð±Ðµ Ð²Ñтавки Ð¸Ñтинны.",
+       "LOGIC_OPERATION_AND": "и",
+       "LOGIC_OPERATION_TOOLTIP_OR": "Возвращает Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ð¸Ñтина, ÐµÑли Ñ…отѠбы Ð¾Ð´Ð½Ð° Ð¸Ð· Ð²Ñтавок Ð¸Ñтинна.",
+       "LOGIC_OPERATION_OR": "или",
+       "LOGIC_NEGATE_TITLE": "не %1",
+       "LOGIC_NEGATE_TOOLTIP": "Возвращает Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ð¸Ñтина, ÐµÑли Ð²Ñтавка Ð»Ð¾Ð¶Ð½Ð°. Ð’озвращает Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ð»Ð¾Ð¶ÑŒ, ÐµÑли Ð²Ñтавка Ð¸Ñтинна.",
+       "LOGIC_BOOLEAN_TRUE": "иÑтина",
+       "LOGIC_BOOLEAN_FALSE": "ложь",
+       "LOGIC_BOOLEAN_TOOLTIP": "Возвращает Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ð¸Ñтина Ð¸Ð»Ð¸ Ð»Ð¾Ð¶ÑŒ.",
+       "LOGIC_NULL_HELPURL": "https://en.wikipedia.org/wiki/Nullable_type",
+       "LOGIC_NULL": "ничто",
+       "LOGIC_NULL_TOOLTIP": "Возвращает Ð½Ð¸Ñ‡Ñ‚о.",
+       "LOGIC_TERNARY_HELPURL": "https://ru.wikipedia.org/wiki/ТернарнаÑ_уÑловнаÑ_операциÑ",
+       "LOGIC_TERNARY_CONDITION": "выбрать Ð¿Ð¾",
+       "LOGIC_TERNARY_IF_TRUE": "еÑли Ð¸Ñтина",
+       "LOGIC_TERNARY_IF_FALSE": "еÑли Ð»Ð¾Ð¶ÑŒ",
+       "LOGIC_TERNARY_TOOLTIP": "ПроверÑет ÑƒÑловие Ð²Ñ‹Ð±Ð¾Ñ€Ð°. Ð•Ñли ÑƒÑловие Ð¸Ñтинно, Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‰Ð°ÐµÑ‚ Ð¿ÐµÑ€Ð²Ð¾Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ, Ð² Ð¿Ñ€Ð¾Ñ‚ивном Ñлучае Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‰Ð°ÐµÑ‚ Ð²Ñ‚орое Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ.",
+       "MATH_NUMBER_HELPURL": "https://ru.wikipedia.org/wiki/ЧиÑло",
+       "MATH_NUMBER_TOOLTIP": "ЧиÑло.",
+       "MATH_ARITHMETIC_HELPURL": "https://ru.wikipedia.org/wiki/Ðрифметика",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "Возвращает Ñумму Ð´Ð²ÑƒÑ… Ñ‡Ð¸Ñел.",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "Возвращает Ñ€Ð°Ð·Ð½Ð¾ÑÑ‚ÑŒ Ð´Ð²ÑƒÑ… Ñ‡Ð¸Ñел.",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "Возвращает Ð¿Ñ€Ð¾Ð¸Ð·Ð²ÐµÐ´ÐµÐ½Ð¸Ðµ Ð´Ð²ÑƒÑ… Ñ‡Ð¸Ñел.",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "Возвращает Ñ‡Ð°Ñтное Ð¾Ñ‚ Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð¿ÐµÑ€Ð²Ð¾Ð³Ð¾ Ñ‡Ð¸Ñла Ð½Ð° Ð²Ñ‚орое.",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "Возвращает Ð¿ÐµÑ€Ð²Ð¾Ðµ Ñ‡Ð¸Ñло, Ð²Ð¾Ð·Ð²ÐµÐ´Ñ‘нное Ð² Ñтепень Ð²Ñ‚орого Ñ‡Ð¸Ñла.",
+       "MATH_SINGLE_HELPURL": "https://ru.wikipedia.org/wiki/Квадратный_корень",
+       "MATH_SINGLE_OP_ROOT": "квадратный ÐºÐ¾Ñ€ÐµÐ½ÑŒ",
+       "MATH_SINGLE_TOOLTIP_ROOT": "Возвращает ÐºÐ²Ð°Ð´Ñ€Ð°Ñ‚ный ÐºÐ¾Ñ€ÐµÐ½ÑŒ Ñ‡Ð¸Ñла.",
+       "MATH_SINGLE_OP_ABSOLUTE": "модуль",
+       "MATH_SINGLE_TOOLTIP_ABS": "Возвращает Ð¼Ð¾Ð´ÑƒÐ»ÑŒ Ñ‡Ð¸Ñла",
+       "MATH_SINGLE_TOOLTIP_NEG": "Возвращает Ð¿Ñ€Ð¾Ñ‚ивоположное Ñ‡Ð¸Ñло.",
+       "MATH_SINGLE_TOOLTIP_LN": "Возвращает Ð½Ð°Ñ‚уральный Ð»Ð¾Ð³Ð°Ñ€Ð¸Ñ„м Ñ‡Ð¸Ñла.",
+       "MATH_SINGLE_TOOLTIP_LOG10": "Возвращает Ð´ÐµÑÑтичный Ð»Ð¾Ð³Ð°Ñ€Ð¸Ñ„м Ñ‡Ð¸Ñла.",
+       "MATH_SINGLE_TOOLTIP_EXP": "Возвращает Ðµ Ð² ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð¹ Ñтепени.",
+       "MATH_SINGLE_TOOLTIP_POW10": "Возвращает 10 Ð² ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð¹ Ñтепени.",
+       "MATH_TRIG_HELPURL": "https://ru.wikipedia.org/wiki/ТригонометричеÑкие_функции",
+       "MATH_TRIG_TOOLTIP_SIN": "Возвращает ÑинуѠугла Ð² Ð³Ñ€Ð°Ð´ÑƒÑах.",
+       "MATH_TRIG_TOOLTIP_COS": "Возвращает ÐºÐ¾ÑинуѠугла Ð² Ð³Ñ€Ð°Ð´ÑƒÑах.",
+       "MATH_TRIG_TOOLTIP_TAN": "Возвращает Ñ‚ангенѠугла Ð² Ð³Ñ€Ð°Ð´ÑƒÑах.",
+       "MATH_TRIG_TOOLTIP_ASIN": "Возвращает Ð°Ñ€ÐºÑинуѠ(в Ð³Ñ€Ð°Ð´ÑƒÑах).",
+       "MATH_TRIG_TOOLTIP_ACOS": "Возвращает Ð°Ñ€ÐºÐºÐ¾ÑинуѠ(в Ð³Ñ€Ð°Ð´ÑƒÑах).",
+       "MATH_TRIG_TOOLTIP_ATAN": "Возвращает Ð°Ñ€ÐºÑ‚ангенѠ(в Ð³Ñ€Ð°Ð´ÑƒÑах)",
+       "MATH_CONSTANT_HELPURL": "https://ru.wikipedia.org/wiki/МатематичеÑкаÑ_конÑтанта",
+       "MATH_CONSTANT_TOOLTIP": "Возвращает Ð¾Ð´Ð½Ñƒ Ð¸Ð· Ñ€Ð°ÑпроÑтранённых  ÐºÐ¾Ð½Ñтант: Ï€ (3.141...), e (2.718...), Ï† (1.618...), sqrt(2) (1.414...), sqrt(½) (0.707...) Ð¸Ð»Ð¸ âˆž (беÑконечноÑÑ‚ÑŒ).",
+       "MATH_IS_EVEN": "чётное",
+       "MATH_IS_ODD": "нечётное",
+       "MATH_IS_PRIME": "проÑтое",
+       "MATH_IS_WHOLE": "целое",
+       "MATH_IS_POSITIVE": "положительное",
+       "MATH_IS_NEGATIVE": "отрицательное",
+       "MATH_IS_DIVISIBLE_BY": "делитÑѠна",
+       "MATH_IS_TOOLTIP": "ПроверÑет, ÑвлÑетÑѠли Ñ‡Ð¸Ñло Ñ‡Ñ‘тным, Ð½ÐµÑ‡Ñ‘тным, Ð¿Ñ€Ð¾Ñтым, Ñ†ÐµÐ»Ñ‹Ð¼, Ð¿Ð¾Ð»Ð¾Ð¶Ð¸Ñ‚ельным, Ð¾Ñ‚рицательным Ð¸Ð»Ð¸ Ð¾Ð½Ð¾ ÐºÑ€Ð°Ñ‚но Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘нному Ñ‡Ð¸Ñлу.  Ð’озвращает Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ð¸Ñтина Ð¸Ð»Ð¸ Ð»Ð¾Ð¶ÑŒ.",
+       "MATH_CHANGE_HELPURL": "https://ru.wikipedia.org/wiki/%D0%98%D0%B4%D0%B8%D0%BE%D0%BC%D0%B0_%28%D0%BF%D1%80%D0%BE%D0%B3%D1%80%D0%B0%D0%BC%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5%29#.D0.98.D0.BD.D0.BA.D1.80.D0.B5.D0.BC.D0.B5.D0.BD.D1.82",
+       "MATH_CHANGE_TITLE": "увеличить %1 Ð½Ð° %2",
+       "MATH_CHANGE_TOOLTIP": "ДобавлÑет Ñ‡Ð¸Ñло Ðº Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹ '%1'.",
+       "MATH_ROUND_HELPURL": "https://ru.wikipedia.org/wiki/Округление",
+       "MATH_ROUND_TOOLTIP": "ОкруглÑет Ñ‡Ð¸Ñло Ð´Ð¾ Ð±Ð¾Ð»ÑŒÑˆÐµÐ³Ð¾ Ð¸Ð»Ð¸ Ð¼ÐµÐ½ÑŒÑˆÐµÐ³Ð¾.",
+       "MATH_ROUND_OPERATOR_ROUND": "округлить",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "округлить Ðº Ð±Ð¾Ð»ÑŒÑˆÐµÐ¼Ñƒ",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "округлить Ðº Ð¼ÐµÐ½ÑŒÑˆÐµÐ¼Ñƒ",
+       "MATH_ONLIST_OPERATOR_SUM": "Ñумма ÑпиÑка",
+       "MATH_ONLIST_TOOLTIP_SUM": "Возвращает Ñумму Ð²Ñех Ñ‡Ð¸Ñел Ð² ÑпиÑке.",
+       "MATH_ONLIST_OPERATOR_MIN": "наименьшее Ð² ÑпиÑке",
+       "MATH_ONLIST_TOOLTIP_MIN": "Возвращает Ð½Ð°Ð¸Ð¼ÐµÐ½ÑŒÑˆÐµÐµ Ñ‡Ð¸Ñло ÑпиÑка.",
+       "MATH_ONLIST_OPERATOR_MAX": "наибольшее Ð² ÑпиÑке",
+       "MATH_ONLIST_TOOLTIP_MAX": "Возвращает Ð½Ð°Ð¸Ð±Ð¾Ð»ÑŒÑˆÐµÐµ Ñ‡Ð¸Ñло ÑпиÑка.",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "Ñреднее Ð°Ñ€Ð¸Ñ„метичеÑкое ÑпиÑка",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "Возвращает Ñреднее Ð°Ñ€Ð¸Ñ„метичеÑкое ÑпиÑка.",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "медиана ÑпиÑка",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "Возвращает Ð¼ÐµÐ´Ð¸Ð°Ð½Ñƒ ÑпиÑка.",
+       "MATH_ONLIST_OPERATOR_MODE": "моды ÑпиÑка",
+       "MATH_ONLIST_TOOLTIP_MODE": "Возвращает ÑпиÑок Ð½Ð°Ð¸Ð±Ð¾Ð»ÐµÐµ Ñ‡Ð°Ñто Ð²ÑтречающихÑÑ Ñлементов ÑпиÑка.",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "Ñтандартное Ð¾Ñ‚клонение ÑпиÑка",
+       "MATH_ONLIST_TOOLTIP_STD_DEV": "Возвращает Ñтандартное Ð¾Ñ‚клонение ÑпиÑка.",
+       "MATH_ONLIST_OPERATOR_RANDOM": "Ñлучайный Ñлемент ÑпиÑка",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "Возвращает Ñлучайный Ñлемент ÑпиÑка.",
+       "MATH_MODULO_HELPURL": "https://ru.wikipedia.org/wiki/Деление_Ñ_оÑтатком",
+       "MATH_MODULO_TITLE": "оÑтаток Ð¾Ñ‚ %1 : %2",
+       "MATH_MODULO_TOOLTIP": "Возвращает Ð¾Ñтаток Ð¾Ñ‚ Ð´ÐµÐ»ÐµÐ½Ð¸Ñ Ð´Ð²ÑƒÑ… Ñ‡Ð¸Ñел.",
+       "MATH_CONSTRAIN_TITLE": "ограничить %1 Ñнизу %2 Ñверху %3",
+       "MATH_CONSTRAIN_TOOLTIP": "Ограничивает Ñ‡Ð¸Ñло Ð½Ð¸Ð¶Ð½ÐµÐ¹ Ð¸ Ð²ÐµÑ€Ñ…ней Ð³Ñ€Ð°Ð½Ð¸Ñ†Ð°Ð¼Ð¸ (включительно).",
+       "MATH_RANDOM_INT_HELPURL": "https://ru.wikipedia.org/wiki/Генератор_пÑевдоÑлучайных_чиÑел",
+       "MATH_RANDOM_INT_TITLE": "Ñлучайное Ñ†ÐµÐ»Ð¾Ðµ Ñ‡Ð¸Ñло Ð¾Ñ‚ %1 Ð´Ð»Ñ %2",
+       "MATH_RANDOM_INT_TOOLTIP": "Возвращает Ñлучайное Ñ‡Ð¸Ñло Ð¼ÐµÐ¶Ð´Ñƒ Ð´Ð²ÑƒÐ¼Ñ Ð·Ð°Ð´Ð°Ð½Ð½Ñ‹Ð¼Ð¸ Ð¿Ñ€ÐµÐ´ÐµÐ»Ð°Ð¼Ð¸ (включаѠи Ð¸Ñ…).",
+       "MATH_RANDOM_FLOAT_HELPURL": "https://ru.wikipedia.org/wiki/Генератор_пÑевдоÑлучайных_чиÑел",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "Ñлучайное Ñ‡Ð¸Ñло Ð¾Ñ‚ 0 (включительно) Ð´Ð¾ 1",
+       "MATH_RANDOM_FLOAT_TOOLTIP": "Возвращает Ñлучайное Ñ‡Ð¸Ñло Ð¾Ñ‚ 0.0 (включительно) Ð´Ð¾ 1.0.",
+       "TEXT_TEXT_HELPURL": "https://ru.wikipedia.org/wiki/Строковый_тип",
+       "TEXT_TEXT_TOOLTIP": "Буква, Ñлово Ð¸Ð»Ð¸ Ñтрока Ñ‚екÑта.",
+       "TEXT_JOIN_TITLE_CREATEWITH": "Ñоздать Ñ‚екÑÑ‚ Ð¸Ð·",
+       "TEXT_JOIN_TOOLTIP": "Создаёт Ñ„рагмент Ñ‚екÑта, Ð¾Ð±ÑŠÐµÐ´Ð¸Ð½ÑѠлюбое Ñ‡Ð¸Ñло Ñлементов",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "Ñоединить",
+       "TEXT_CREATE_JOIN_TOOLTIP": "Добавьте, ÑƒÐ´Ð°Ð»Ð¸Ñ‚е, Ð¿ÐµÑ€ÐµÑтавьте Ñ„рагменты Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ´ÐµÐ»ÐºÐ¸ Ñ‚екÑтового Ð±Ð»Ð¾ÐºÐ°.",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "Добавить Ñлемент Ðº Ñ‚екÑту.",
+       "TEXT_APPEND_TITLE": "к %1 Ð´Ð¾Ð±Ð°Ð²Ð¸Ñ‚ÑŒ Ñ‚екÑÑ‚ %2",
+       "TEXT_APPEND_TOOLTIP": "Добавить Ñ‚екÑÑ‚ Ðº Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹ Â«%1».",
+       "TEXT_LENGTH_TITLE": "длина %1",
+       "TEXT_LENGTH_TOOLTIP": "Возвращает Ñ‡Ð¸Ñло Ñимволов (включаѠпробелы) Ð² Ð·Ð°Ð´Ð°Ð½Ð½Ð¾Ð¼ Ñ‚екÑте.",
+       "TEXT_ISEMPTY_TITLE": "%1 Ð¿ÑƒÑÑ‚",
+       "TEXT_ISEMPTY_TOOLTIP": "Возвращает Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ð¸Ñтина, ÐµÑли Ð¿Ñ€ÐµÐ´Ð¾Ñтавленный Ñ‚екÑÑ‚ Ð¿ÑƒÑÑ‚.",
+       "TEXT_INDEXOF_TOOLTIP": "Возвращает Ð½Ð¾Ð¼ÐµÑ€ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ð¸ Ð¿ÐµÑ€Ð²Ð¾Ð³Ð¾/поÑледнего Ð²Ñ…ождениѠпервого Ñ‚екÑта Ð²Ð¾  Ð²Ñ‚ором.  Ð’озвращает %1, ÐµÑли Ñ‚екÑÑ‚ Ð½Ðµ Ð½Ð°Ð¹Ð´ÐµÐ½.",
+       "TEXT_INDEXOF_TITLE": "в Ñ‚екÑте %1 %2 %3",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "найти Ð¿ÐµÑ€Ð²Ð¾Ðµ Ð²Ñ…ождение Ñ‚екÑта",
+       "TEXT_INDEXOF_OPERATOR_LAST": "найти Ð¿Ð¾Ñледнее Ð²Ñ…ождение Ñ‚екÑта",
+       "TEXT_CHARAT_TITLE": "в Ñ‚екÑте %1 %2",
+       "TEXT_CHARAT_FROM_START": "взÑÑ‚ÑŒ Ð±ÑƒÐºÐ²Ñƒ â„–",
+       "TEXT_CHARAT_FROM_END": "взÑÑ‚ÑŒ Ð±ÑƒÐºÐ²Ñƒ â„– Ñ ÐºÐ¾Ð½Ñ†Ð°",
+       "TEXT_CHARAT_FIRST": "взÑÑ‚ÑŒ Ð¿ÐµÑ€Ð²ÑƒÑŽ Ð±ÑƒÐºÐ²Ñƒ",
+       "TEXT_CHARAT_LAST": "взÑÑ‚ÑŒ Ð¿Ð¾Ñледнюю Ð±ÑƒÐºÐ²Ñƒ",
+       "TEXT_CHARAT_RANDOM": "взÑÑ‚ÑŒ Ñлучайную Ð±ÑƒÐºÐ²Ñƒ",
+       "TEXT_CHARAT_TOOLTIP": "Возвращает Ð±ÑƒÐºÐ²Ñƒ Ð² ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð¹ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ð¸.",
+       "TEXT_GET_SUBSTRING_TOOLTIP": "Возвращает ÑƒÐºÐ°Ð·Ð°Ð½Ð½ÑƒÑŽ Ñ‡Ð°ÑÑ‚ÑŒ Ñ‚екÑта.",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "в Ñ‚екÑте",
+       "TEXT_GET_SUBSTRING_START_FROM_START": "взÑÑ‚ÑŒ Ð¿Ð¾Ð´Ñтроку Ñ Ð±ÑƒÐºÐ²Ñ‹ â„–",
+       "TEXT_GET_SUBSTRING_START_FROM_END": "взÑÑ‚ÑŒ Ð¿Ð¾Ð´Ñтроку Ñ Ð±ÑƒÐºÐ²Ñ‹ â„– Ñ ÐºÐ¾Ð½Ñ†Ð°",
+       "TEXT_GET_SUBSTRING_START_FIRST": "взÑÑ‚ÑŒ Ð¿Ð¾Ð´Ñтроку Ñ Ð¿ÐµÑ€Ð²Ð¾Ð¹ Ð±ÑƒÐºÐ²Ñ‹",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "по Ð±ÑƒÐºÐ²Ñƒ â„–",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "по Ð±ÑƒÐºÐ²Ñƒ â„– Ñ ÐºÐ¾Ð½Ñ†Ð°",
+       "TEXT_GET_SUBSTRING_END_LAST": "по Ð¿Ð¾Ñледнюю Ð±ÑƒÐºÐ²Ñƒ",
+       "TEXT_CHANGECASE_TOOLTIP": "Возвращает ÐºÐ¾Ð¿Ð¸ÑŽ Ñ‚екÑта Ñ Ð—ÐГЛÐÐ’ÐЫМИ Ð¸Ð»Ð¸ Ñтрочными Ð±ÑƒÐºÐ²Ð°Ð¼Ð¸.",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "в Ð—ÐГЛÐÐ’ÐЫЕ Ð‘УКВЫ",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "в Ñтрочные Ð±ÑƒÐºÐ²Ñ‹",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": "в Ð—аглавные Ðачальные Ð‘уквы",
+       "TEXT_TRIM_TOOLTIP": "Возвращает ÐºÐ¾Ð¿Ð¸ÑŽ Ñ‚екÑта Ñ Ð¿Ñ€Ð¾Ð±ÐµÐ»Ð°Ð¼Ð¸, ÑƒÐ´Ð°Ð»Ñ‘нными Ñ Ð¾Ð´Ð½Ð¾Ð³Ð¾ Ð¸Ð»Ð¸ Ð¾Ð±Ð¾Ð¸Ñ… ÐºÐ¾Ð½Ñ†Ð¾Ð².",
+       "TEXT_TRIM_OPERATOR_BOTH": "обрезать Ð¿Ñ€Ð¾Ð±ÐµÐ»Ñ‹ Ñ Ð´Ð²ÑƒÑ… Ñторон",
+       "TEXT_TRIM_OPERATOR_LEFT": "обрезать Ð¿Ñ€Ð¾Ð±ÐµÐ»Ñ‹ Ñлева",
+       "TEXT_TRIM_OPERATOR_RIGHT": "обрезать Ð¿Ñ€Ð¾Ð±ÐµÐ»Ñ‹ Ñправа",
+       "TEXT_PRINT_TITLE": "напечатать %1",
+       "TEXT_PRINT_TOOLTIP": "Печатает Ñ‚екÑÑ‚, Ñ‡Ð¸Ñло Ð¸Ð»Ð¸ Ð´Ñ€ÑƒÐ³Ð¾Ð¹ Ð¾Ð±ÑŠÐµÐºÑ‚.",
+       "TEXT_PROMPT_TYPE_TEXT": "запроÑить Ñ‚екÑÑ‚ Ñ Ð¿Ð¾Ð´Ñказкой",
+       "TEXT_PROMPT_TYPE_NUMBER": "запроÑить Ñ‡Ð¸Ñло Ñ Ð¿Ð¾Ð´Ñказкой",
+       "TEXT_PROMPT_TOOLTIP_NUMBER": "ЗапроÑить Ñƒ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚елѠчиÑло.",
+       "TEXT_PROMPT_TOOLTIP_TEXT": "ЗапроÑить Ñƒ Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚елѠтекÑÑ‚.",
+       "TEXT_COUNT_MESSAGE0": "подÑчитать ÐºÐ¾Ð»Ð¸Ñ‡ÐµÑтво %1 Ð² %2",
+       "TEXT_COUNT_HELPURL": "https://github.com/google/blockly/wiki/Text#counting-substrings",
+       "TEXT_COUNT_TOOLTIP": "ПодÑчитать, Ñколько Ñ€Ð°Ð· Ð¾Ñ‚рывок Ñ‚екÑта Ð¿Ð¾ÑвлÑетÑѠв Ð´Ñ€ÑƒÐ³Ð¾Ð¼ Ñ‚екÑте.",
+       "TEXT_REPLACE_MESSAGE0": "заменить %1 Ð½Ð° %2 Ð² %3",
+       "TEXT_REPLACE_HELPURL": "https://github.com/google/blockly/wiki/Text#replacing-substrings",
+       "TEXT_REPLACE_TOOLTIP": "Заменить Ð²Ñе Ð²Ñ…ождениѠнекоторого Ñ‚екÑта Ð´Ñ€ÑƒÐ³Ð¸Ð¼ Ñ‚екÑтом.",
+       "TEXT_REVERSE_MESSAGE0": "изменить Ð¿Ð¾Ñ€Ñдок Ð½Ð° Ð¾Ð±Ñ€Ð°Ñ‚ный %1",
+       "TEXT_REVERSE_HELPURL": "https://github.com/google/blockly/wiki/Text#reversing-text",
+       "TEXT_REVERSE_TOOLTIP": "МенÑет Ð¿Ð¾Ñ€Ñдок Ñимволов Ð² Ñ‚екÑте Ð½Ð° Ð¾Ð±Ñ€Ð°Ñ‚ный.",
+       "LISTS_CREATE_EMPTY_TITLE": "Ñоздать Ð¿ÑƒÑтой ÑпиÑок",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "Возвращает ÑпиÑок Ð´Ð»Ð¸Ð½Ñ‹ 0, Ð½Ðµ Ñодержащий Ð´Ð°Ð½Ð½Ñ‹Ñ…",
+       "LISTS_CREATE_WITH_HELPURL": "https://github.com/google/blockly/wiki/Lists#create-list-with",
+       "LISTS_CREATE_WITH_TOOLTIP": "Создаёт ÑпиÑок Ñ Ð»ÑŽÐ±Ñ‹Ð¼ Ñ‡Ð¸Ñлом Ñлементов.",
+       "LISTS_CREATE_WITH_INPUT_WITH": "Ñоздать ÑпиÑок Ð¸Ð·",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "ÑпиÑок",
+       "LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "Добавьте, ÑƒÐ´Ð°Ð»Ð¸Ñ‚е, Ð¿ÐµÑ€ÐµÑтавьте Ñлементы Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ´ÐµÐ»ÐºÐ¸ Ð±Ð»Ð¾ÐºÐ° ÑпиÑка.",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "ДобавлÑет Ñлемент Ðº ÑпиÑку.",
+       "LISTS_REPEAT_TOOLTIP": "Создаёт ÑпиÑок, ÑоÑтоÑщий Ð¸Ð· Ð·Ð°Ð´Ð°Ð½Ð½Ð¾Ð³Ð¾ Ñ‡Ð¸Ñла ÐºÐ¾Ð¿Ð¸Ð¹ Ñлемента.",
+       "LISTS_REPEAT_TITLE": "Ñоздать ÑпиÑок Ð¸Ð· Ñлемента %1, Ð¿Ð¾Ð²Ñ‚орÑющегоÑÑ %2 Ñ€Ð°Ð·",
+       "LISTS_LENGTH_TITLE": "длина %1",
+       "LISTS_LENGTH_TOOLTIP": "Возвращает Ð´Ð»Ð¸Ð½Ñƒ ÑпиÑка.",
+       "LISTS_ISEMPTY_TITLE": "%1 Ð¿ÑƒÑÑ‚",
+       "LISTS_ISEMPTY_TOOLTIP": "Возвращает Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ð¸Ñтина, ÐµÑли ÑпиÑок Ð¿ÑƒÑÑ‚.",
+       "LISTS_INLIST": "в ÑпиÑке",
+       "LISTS_INDEX_OF_FIRST": "найти Ð¿ÐµÑ€Ð²Ð¾Ðµ Ð²Ñ…ождение Ñлемента",
+       "LISTS_INDEX_OF_LAST": "найти Ð¿Ð¾Ñледнее Ð²Ñ…ождение Ñлемента",
+       "LISTS_INDEX_OF_TOOLTIP": "Возвращает Ð½Ð¾Ð¼ÐµÑ€ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ð¸ Ð¿ÐµÑ€Ð²Ð¾Ð³Ð¾/поÑледнего Ð²Ñ…ождениѠÑлемента Ð² ÑпиÑке. Ð’озвращает %1, ÐµÑли Ñлемент Ð½Ðµ Ð½Ð°Ð¹Ð´ÐµÐ½.",
+       "LISTS_GET_INDEX_GET": "взÑÑ‚ÑŒ",
+       "LISTS_GET_INDEX_GET_REMOVE": "взÑÑ‚ÑŒ Ð¸ ÑƒÐ´Ð°Ð»Ð¸Ñ‚ÑŒ",
+       "LISTS_GET_INDEX_REMOVE": "удалить",
+       "LISTS_GET_INDEX_FROM_END": "â„– Ñ ÐºÐ¾Ð½Ñ†Ð°",
+       "LISTS_GET_INDEX_FIRST": "первый",
+       "LISTS_GET_INDEX_LAST": "поÑледний",
+       "LISTS_GET_INDEX_RANDOM": "произвольный",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "%1 - Ð¿ÐµÑ€Ð²Ñ‹Ð¹ Ñлемент.",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "%1 - Ð¿Ð¾Ñледний Ñлемент.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "Возвращает Ñлемент Ð² ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð¹ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ð¸ ÑпиÑка.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "Возвращает Ð¿ÐµÑ€Ð²Ñ‹Ð¹ Ñлемент ÑпиÑка.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "Возвращает Ð¿Ð¾Ñледний Ñлемент ÑпиÑка.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "Возвращает Ñлучайный Ñлемент ÑпиÑка.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "УдалÑет Ð¸ Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‰Ð°ÐµÑ‚ Ñлемент Ð² ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð¹ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ð¸ ÑпиÑка.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "УдалÑет Ð¸ Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‰Ð°ÐµÑ‚ Ð¿ÐµÑ€Ð²Ñ‹Ð¹ Ñлемент ÑпиÑка.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "УдалÑет Ð¸ Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‰Ð°ÐµÑ‚ Ð¿Ð¾Ñледний Ñлемент ÑпиÑка.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "УдалÑет Ð¸ Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‰Ð°ÐµÑ‚ Ñлучайный Ñлемент ÑпиÑка.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "УдалÑет Ñлемент Ð² ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð¹ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ð¸ ÑпиÑка.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "УдалÑет Ð¿ÐµÑ€Ð²Ñ‹Ð¹ Ñлемент ÑпиÑка.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "УдалÑет Ð¿Ð¾Ñледний Ñлемент ÑпиÑка.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "УдалÑет Ñлучайный Ñлемент ÑпиÑка.",
+       "LISTS_SET_INDEX_SET": "приÑвоить",
+       "LISTS_SET_INDEX_INSERT": "вÑтавить Ð²",
+       "LISTS_SET_INDEX_INPUT_TO": "=",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "ПриÑваивает Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ñлементу Ð² ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð¹ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ð¸ ÑпиÑка.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "ПриÑваивает Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ð¿ÐµÑ€Ð²Ð¾Ð¼Ñƒ Ñлементу ÑпиÑка.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_LAST": "ПриÑваивает Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ð¿Ð¾Ñледнему Ñлементу ÑпиÑка.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "ПриÑваивает Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ñлучайному Ñлементу ÑпиÑка.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "Ð’ÑтавлÑет Ñлемент Ð² ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð¹ Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ð¸ ÑпиÑка.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "Ð’ÑтавлÑет Ñлемент Ð² Ð½Ð°Ñ‡Ð°Ð»Ð¾ ÑпиÑка.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "ДобавлÑет Ñлемент Ð² ÐºÐ¾Ð½ÐµÑ† ÑпиÑка.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "Ð’ÑтавлÑет Ñлемент Ð² Ñлучайное Ð¼ÐµÑто Ð² ÑпиÑке.",
+       "LISTS_GET_SUBLIST_START_FROM_START": "взÑÑ‚ÑŒ Ð¿Ð¾Ð´ÑпиÑок Ñ â„–",
+       "LISTS_GET_SUBLIST_START_FROM_END": "взÑÑ‚ÑŒ Ð¿Ð¾Ð´ÑпиÑок Ñ â„– Ñ ÐºÐ¾Ð½Ñ†Ð°",
+       "LISTS_GET_SUBLIST_START_FIRST": "взÑÑ‚ÑŒ Ð¿Ð¾Ð´ÑпиÑок Ñ Ð¿ÐµÑ€Ð²Ð¾Ð³Ð¾",
+       "LISTS_GET_SUBLIST_END_FROM_START": "по â„–",
+       "LISTS_GET_SUBLIST_END_FROM_END": "по â„– Ñ ÐºÐ¾Ð½Ñ†Ð°",
+       "LISTS_GET_SUBLIST_END_LAST": "по Ð¿Ð¾Ñледний",
+       "LISTS_GET_SUBLIST_TOOLTIP": "Создаёт ÐºÐ¾Ð¿Ð¸ÑŽ ÑƒÐºÐ°Ð·Ð°Ð½Ð½Ð¾Ð¹ Ñ‡Ð°Ñти ÑпиÑка.",
+       "LISTS_SORT_HELPURL": "https://github.com/google/blockly/wiki/Lists#sorting-a-list",
+       "LISTS_SORT_TITLE": "Ñортировать %1 %2 %3",
+       "LISTS_SORT_TOOLTIP": "Сортировать ÐºÐ¾Ð¿Ð¸ÑŽ ÑпиÑка.",
+       "LISTS_SORT_ORDER_ASCENDING": "по Ð²Ð¾Ð·Ñ€Ð°Ñтанию",
+       "LISTS_SORT_ORDER_DESCENDING": "по ÑƒÐ±Ñ‹Ð²Ð°Ð½Ð¸ÑŽ",
+       "LISTS_SORT_TYPE_NUMERIC": "чиÑловаÑ",
+       "LISTS_SORT_TYPE_TEXT": "по Ð°Ð»Ñ„авиту",
+       "LISTS_SORT_TYPE_IGNORECASE": "по Ð°Ð»Ñ„авиту, Ð±ÐµÐ· ÑƒÑ‡Ñ‘та Ñ€ÐµÐ³Ð¸Ñтра",
+       "LISTS_SPLIT_HELPURL": "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists",
+       "LISTS_SPLIT_LIST_FROM_TEXT": "Ñделать ÑпиÑок Ð¸Ð· Ñ‚екÑта",
+       "LISTS_SPLIT_TEXT_FROM_LIST": "Ñобрать Ñ‚екÑÑ‚ Ð¸Ð· ÑпиÑка",
+       "LISTS_SPLIT_WITH_DELIMITER": "Ѡразделителем",
+       "LISTS_SPLIT_TOOLTIP_SPLIT": "Разбивает Ñ‚екÑÑ‚ Ð² ÑпиÑок Ñ‚екÑтов, Ð¿Ð¾ Ñ€Ð°Ð·Ð´ÐµÐ»Ð¸Ñ‚елÑм.",
+       "LISTS_SPLIT_TOOLTIP_JOIN": "СоединÑет ÑпиÑок Ñ‚екÑтов Ð² Ð¾Ð´Ð¸Ð½ Ñ‚екÑÑ‚ Ñ Ñ€Ð°Ð·Ð´ÐµÐ»Ð¸Ñ‚елÑми.",
+       "LISTS_REVERSE_HELPURL": "https://github.com/google/blockly/wiki/Lists#reversing-a-list",
+       "LISTS_REVERSE_MESSAGE0": "изменить Ð¿Ð¾Ñ€Ñдок Ð½Ð° Ð¾Ð±Ñ€Ð°Ñ‚ный %1",
+       "LISTS_REVERSE_TOOLTIP": "Изменить Ð¿Ð¾Ñ€Ñдок ÑпиÑка Ð½Ð° Ð¾Ð±Ñ€Ð°Ñ‚ный.",
+       "VARIABLES_GET_TOOLTIP": "Возвращает Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ñтой Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹.",
+       "VARIABLES_GET_CREATE_SET": "Создать Ð±Ð»Ð¾Ðº \"приÑвоить\" Ð´Ð»Ñ %1",
+       "VARIABLES_SET": "приÑвоить %1 = %2",
+       "VARIABLES_SET_TOOLTIP": "ПриÑваивает Ð¿ÐµÑ€ÐµÐ¼ÐµÐ½Ð½Ð¾Ð¹ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ð²Ñтавки.",
+       "VARIABLES_SET_CREATE_GET": "Создать Ð²Ñтавку %1",
+       "PROCEDURES_DEFNORETURN_TITLE": "чтобы",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "выполнить Ñ‡Ñ‚о-то",
+       "PROCEDURES_BEFORE_PARAMS": "Ñ:",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "Ñ:",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "Создаёт Ð¿Ñ€Ð¾Ñ†ÐµÐ´ÑƒÑ€Ñƒ, Ð½Ðµ Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‰Ð°ÑŽÑ‰ÑƒÑŽ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ.",
+       "PROCEDURES_DEFNORETURN_COMMENT": "Опишите Ñту Ñ„ункцию…",
+       "PROCEDURES_DEFRETURN_RETURN": "вернуть",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "Создаёт Ð¿Ñ€Ð¾Ñ†ÐµÐ´ÑƒÑ€Ñƒ, Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‰Ð°ÑŽÑ‰ÑƒÑŽ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ.",
+       "PROCEDURES_ALLOW_STATEMENTS": "разрешить Ð¾Ð¿ÐµÑ€Ð°Ñ‚оры",
+       "PROCEDURES_DEF_DUPLICATE_WARNING": "Предупреждение: Ñта Ñ„ункциѠимеет Ð¿Ð¾Ð²Ñ‚орÑющиеÑѠпараметры.",
+       "PROCEDURES_CALLNORETURN_HELPURL": "https://ru.wikipedia.org/wiki/Подпрограмма",
+       "PROCEDURES_CALLNORETURN_TOOLTIP": "ИÑполнÑет Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘нную Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚елем Ð¿Ñ€Ð¾Ñ†ÐµÐ´ÑƒÑ€Ñƒ '%1'.",
+       "PROCEDURES_CALLRETURN_HELPURL": "https://ru.wikipedia.org/wiki/Подпрограмма",
+       "PROCEDURES_CALLRETURN_TOOLTIP": "ИÑполнÑет Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»Ñ‘нную Ð¿Ð¾Ð»ÑŒÐ·Ð¾Ð²Ð°Ñ‚елем Ð¿Ñ€Ð¾Ñ†ÐµÐ´ÑƒÑ€Ñƒ '%1' Ð¸ Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‰Ð°ÐµÑ‚ Ð²Ñ‹Ñ‡Ð¸Ñленное  Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ.",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "параметры",
+       "PROCEDURES_MUTATORCONTAINER_TOOLTIP": "Добавить, ÑƒÐ´Ð°Ð»Ð¸Ñ‚ÑŒ Ð¸Ð»Ð¸ Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñ‚ÑŒ Ð¿Ð¾Ñ€Ñдок Ð²Ñ…одных Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚ров Ð´Ð»Ñ Ñтой Ñ„ункции.",
+       "PROCEDURES_MUTATORARG_TITLE": "имѠпараметра:",
+       "PROCEDURES_MUTATORARG_TOOLTIP": "Добавить Ð²Ñ…одной Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚Ñ€ Ð² Ñ„ункцию.",
+       "PROCEDURES_HIGHLIGHT_DEF": "Выделить Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ðµ Ð¿Ñ€Ð¾Ñ†ÐµÐ´ÑƒÑ€Ñ‹",
+       "PROCEDURES_CREATE_DO": "Создать Ð²Ñ‹Ð·Ð¾Ð² '%1'",
+       "PROCEDURES_IFRETURN_TOOLTIP": "ЕÑли Ð¿ÐµÑ€Ð²Ð¾Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ Ð¸Ñтинно, Ð²Ð¾Ð·Ð²Ñ€Ð°Ñ‰Ð°ÐµÑ‚ Ð²Ñ‚орое Ð·Ð½Ð°Ñ‡ÐµÐ½Ð¸Ðµ.",
+       "PROCEDURES_IFRETURN_HELPURL": "http://c2.com/cgi/wiki?GuardClause",
+       "PROCEDURES_IFRETURN_WARNING": "Предупреждение: Ð­Ñ‚от Ð±Ð»Ð¾Ðº Ð¼Ð¾Ð¶ÐµÑ‚ Ð¸ÑпользоватьÑѠтолько Ð²Ð½ÑƒÑ‚ри Ð¾Ð¿Ñ€ÐµÐ´ÐµÐ»ÐµÐ½Ð¸Ñ Ñ„ункции.",
+       "WORKSPACE_COMMENT_DEFAULT_TEXT": "Ðапишите Ð·Ð´ÐµÑÑŒ Ñ‡Ñ‚о-нибудь..."
+}
diff --git a/js/msg/json/sc.json b/js/msg/json/sc.json
new file mode 100644 (file)
index 0000000..282d529
--- /dev/null
@@ -0,0 +1,297 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Via maxima",
+                       "Taxandru",
+                       "Uharteko"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "item",
+       "TODAY": "Oe",
+       "DUPLICATE_BLOCK": "Dùplica",
+       "ADD_COMMENT": "Agiunghe unu cumentu",
+       "REMOVE_COMMENT": "Fùlia unu cumentu",
+       "EXTERNAL_INPUTS": "Intradas esternas",
+       "INLINE_INPUTS": "Intradas in lìnia",
+       "DELETE_BLOCK": "Fùlia Blocu",
+       "DELETE_X_BLOCKS": "Fulia %1 Blocus",
+       "DELETE_ALL_BLOCKS": "Scancellu su %1 de is brocus?",
+       "CLEAN_UP": "Lìmpia is brocus",
+       "COLLAPSE_BLOCK": "Serra e stringi Brocu",
+       "COLLAPSE_ALL": "Serra e stringi Brocus",
+       "EXPAND_BLOCK": "Aberi Brocu",
+       "EXPAND_ALL": "Aberi Brocus",
+       "DISABLE_BLOCK": "Disabìlita Blocu",
+       "ENABLE_BLOCK": "Abìlita Blocu",
+       "HELP": "Agiudu",
+       "CHANGE_VALUE_TITLE": "Muda valori:",
+       "RENAME_VARIABLE": "Muda nòmini a variabili...",
+       "RENAME_VARIABLE_TITLE": "A is variabilis '%1' muda nòmini a:",
+       "NEW_VARIABLE": "Variabili noa...",
+       "NEW_VARIABLE_TITLE": "Nòmini de sa variabili noa:",
+       "COLOUR_PICKER_HELPURL": "https://en.wikipedia.org/wiki/Color",
+       "COLOUR_PICKER_TOOLTIP": "Scebera unu colori de sa tauledda.",
+       "COLOUR_RANDOM_TITLE": "Unu colori a brítiu",
+       "COLOUR_RANDOM_TOOLTIP": "Scebera unu colori a brítiu.",
+       "COLOUR_RGB_TITLE": "colora cun",
+       "COLOUR_RGB_RED": "arrùbiu",
+       "COLOUR_RGB_GREEN": "birdi",
+       "COLOUR_RGB_BLUE": "blue",
+       "COLOUR_RGB_TOOLTIP": "Cuncorda unu colori cun su tanti de arrubiu, birdi, e blue. Totu is valoris depint essi intra 0 e 100.",
+       "COLOUR_BLEND_TITLE": "mestura",
+       "COLOUR_BLEND_COLOUR1": "colori 1",
+       "COLOUR_BLEND_COLOUR2": "colori 2",
+       "COLOUR_BLEND_RATIO": "raportu",
+       "COLOUR_BLEND_TOOLTIP": "Amestura duus coloris cun unu raportu (0.0 - 1.0).",
+       "CONTROLS_REPEAT_HELPURL": "https://en.wikipedia.org/wiki/For_loop",
+       "CONTROLS_REPEAT_TITLE": "repiti %1 bortas",
+       "CONTROLS_REPEAT_INPUT_DO": "fai",
+       "CONTROLS_REPEAT_TOOLTIP": "Fait pariga de cumandus prus bortas.",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "repiti interis",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "repiti fintzas",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "Interis su valori est berus, tandu fai pariga de cumandus.",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "Interis su valori est frassu, tandu fai pariga de cumandus.",
+       "CONTROLS_FOR_TOOLTIP": "Fait pigai a sa variàbili \"%1\" i valoris de su primu numeru a s'urtimu, a su passu impostau e fait su brocu.",
+       "CONTROLS_FOR_TITLE": "po %1 de %2 fintzas %3 a passus de %4",
+       "CONTROLS_FOREACH_TITLE": "po dònnia item %1 in lista %2",
+       "CONTROLS_FOREACH_TOOLTIP": "Po dònnia item in sa lista, ponit sa variàbili '%1' pari a s'item, e tandu fait pariga de cumandus.",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "sàrtiat a foras de sa lòriga",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "sighit cun su repicu afatànti",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "Bessit de sa lòriga.",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "Sartiat su chi abarrat de sa loriga, e sighit cun su repicu afatànti.",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "Amonestu: Custu brocu ddu podis ponni sceti aintru de una lòriga.",
+       "CONTROLS_IF_TOOLTIP_1": "Si su valori est berus, tandu fait pariga de cumandus.",
+       "CONTROLS_IF_TOOLTIP_2": "Si su valori est berus, tandu fai su primu brocu de is cumandus. Sinuncas, fai su segundu brocu de is cumandus.",
+       "CONTROLS_IF_TOOLTIP_3": "Si su primu valori est beridadi, tandu fai su primu brocu de is cumandus. Sinuncas, si su segundu valori est beridadi, fai su segundu brocu de is cumandus.",
+       "CONTROLS_IF_TOOLTIP_4": "Si su primu valori est berus, tandu fai su primu brocu de is cumandus. Sinuncas, si su segundu valori est berus, fai su segundu brocu de is cumandus. Si mancu unu valori est berus, tandu fai s'urtimu brocu de is cumandus.",
+       "CONTROLS_IF_MSG_IF": "si",
+       "CONTROLS_IF_MSG_ELSEIF": "sinuncas si",
+       "CONTROLS_IF_MSG_ELSE": "sinuncas",
+       "CONTROLS_IF_IF_TOOLTIP": "Aciungi, fùlia, o assenta is partis po torrai a sètiu custu brocu si.",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "Aciungi una cunditzioni a su brocu si.",
+       "CONTROLS_IF_ELSE_TOOLTIP": "Aciungi una urtima cunditzioni piga-totu a su brocu si.",
+       "LOGIC_COMPARE_HELPURL": "https://en.wikipedia.org/wiki/Inequality_(mathematics)",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "Torrat berus si is inputs funt unu uguali a s'àteru.",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "Torrat berus si is inputs non funt unu uguali a s'àteru.",
+       "LOGIC_COMPARE_TOOLTIP_LT": "Torrat berus si su primu input est prus piticu de s'àteru.",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "Torrat berus si su primu input est prus piticu o uguali a s'àteru.",
+       "LOGIC_COMPARE_TOOLTIP_GT": "Torrat berus si su primu input est prus mannu de s'àteru.",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "Torrat berus si su primu input est prus mannu o uguali a s'àteru.",
+       "LOGIC_OPERATION_TOOLTIP_AND": "Torrat berus si ambos is inputs funt berus.",
+       "LOGIC_OPERATION_AND": "and",
+       "LOGIC_OPERATION_TOOLTIP_OR": "Torrat berus si assumancu unu de is inputs est berus.",
+       "LOGIC_OPERATION_OR": "or",
+       "LOGIC_NEGATE_TITLE": "non %1",
+       "LOGIC_NEGATE_TOOLTIP": "Torrat berus si s'input est frassu. Torrat frassu si s'input est berus.",
+       "LOGIC_BOOLEAN_TRUE": "berus",
+       "LOGIC_BOOLEAN_FALSE": "frassu",
+       "LOGIC_BOOLEAN_TOOLTIP": "Torrat berus o frassu.",
+       "LOGIC_NULL": "null",
+       "LOGIC_NULL_TOOLTIP": "Torrat null.",
+       "LOGIC_TERNARY_CONDITION": "cumpròa",
+       "LOGIC_TERNARY_IF_TRUE": "si berus",
+       "LOGIC_TERNARY_IF_FALSE": "si frassu",
+       "LOGIC_TERNARY_TOOLTIP": "‎Cumproa sa cunditzioni in 'cumproa'. Si sa cunditzioni est berus, torrat su valori 'si berus'; sinuncas torrat su valori 'si frassu'.",
+       "MATH_NUMBER_HELPURL": "https://en.wikipedia.org/wiki/Number",
+       "MATH_NUMBER_TOOLTIP": "Unu numeru",
+       "MATH_ARITHMETIC_HELPURL": "https://en.wikipedia.org/wiki/Arithmetic",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "Torrat sa summa de is duus nùmerus.",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "Torrat sa diferèntzia de is duus nùmerus.",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "Torrat su produtu de is duus nùmerus.",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "Torrat su cuotzienti de is duus nùmerus.",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "Torrat su primu numeru artziau a sa potenza de su segundu nùmeru.",
+       "MATH_SINGLE_HELPURL": "https://en.wikipedia.org/wiki/Square_root",
+       "MATH_SINGLE_OP_ROOT": "arraxina cuadra",
+       "MATH_SINGLE_TOOLTIP_ROOT": "Torrat s'arraxina cuadra de unu numeru.",
+       "MATH_SINGLE_OP_ABSOLUTE": "assolutu",
+       "MATH_SINGLE_TOOLTIP_ABS": "Torrat su valori assolútu de unu numeru.",
+       "MATH_SINGLE_TOOLTIP_NEG": "Torrat su valori negau de unu numeru.",
+       "MATH_SINGLE_TOOLTIP_LN": "Torrat su logaritmu naturali de unu numeru.",
+       "MATH_SINGLE_TOOLTIP_LOG10": "Torrat su logaritmu a basi 10 de unu numeru.",
+       "MATH_SINGLE_TOOLTIP_EXP": "Torrat (e) a sa potèntzia de unu numeru.",
+       "MATH_SINGLE_TOOLTIP_POW10": "Torrat (10) a sa potèntzia de unu numeru.",
+       "MATH_TRIG_HELPURL": "https://en.wikipedia.org/wiki/Trigonometric_functions",
+       "MATH_TRIG_TOOLTIP_SIN": "Torrat su sinu de unu gradu (no radianti).",
+       "MATH_TRIG_TOOLTIP_COS": "Torrat su cosinu de unu gradu (no radianti).",
+       "MATH_TRIG_TOOLTIP_TAN": "Torrat sa tangenti de unu gradu (no radianti).",
+       "MATH_TRIG_TOOLTIP_ASIN": "Torrat su arcsinu de unu numeru.",
+       "MATH_TRIG_TOOLTIP_ACOS": "Torrat su arccosinu de unu numeru.",
+       "MATH_TRIG_TOOLTIP_ATAN": "Torrat su arctangenti de unu numeru.",
+       "MATH_CONSTANT_HELPURL": "https://en.wikipedia.org/wiki/Mathematical_constant",
+       "MATH_CONSTANT_TOOLTIP": "Torrat una de is costantis comunas: Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), o âˆž (infiniu).",
+       "MATH_IS_EVEN": "est paris",
+       "MATH_IS_ODD": "est dísparu",
+       "MATH_IS_PRIME": "est primu",
+       "MATH_IS_WHOLE": "est intreu",
+       "MATH_IS_POSITIVE": "est positivu",
+       "MATH_IS_NEGATIVE": "est negativu",
+       "MATH_IS_DIVISIBLE_BY": "fait a ddu dividi po",
+       "MATH_IS_TOOLTIP": "Cumprova si unu numeru est paris, dìsparis, primu, intreu, positivu, negativu o si fait a ddu dividi po unu numeru giau. Torrat berus o frassu.",
+       "MATH_CHANGE_HELPURL": "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter",
+       "MATH_CHANGE_TITLE": "muda %1 de %2",
+       "MATH_CHANGE_TOOLTIP": "Aciungi unu numeru a sa variabili '%1'.",
+       "MATH_ROUND_HELPURL": "https://en.wikipedia.org/wiki/Rounding",
+       "MATH_ROUND_TOOLTIP": "Arretunda unu numeru faci a susu o faci a bàsciu.",
+       "MATH_ROUND_OPERATOR_ROUND": "arretunda",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "Arretunda faci a susu",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "arretunda faci a bàsciu.",
+       "MATH_ONLIST_OPERATOR_SUM": "suma sa lista",
+       "MATH_ONLIST_TOOLTIP_SUM": "Torrat sa suma de totu is numerus de sa lista.",
+       "MATH_ONLIST_OPERATOR_MIN": "minimu de sa lista",
+       "MATH_ONLIST_TOOLTIP_MIN": "Torrat su numeru prus piticu de sa lista.",
+       "MATH_ONLIST_OPERATOR_MAX": "massimu de sa lista",
+       "MATH_ONLIST_TOOLTIP_MAX": "Torrat su numeru prus mannu de sa lista",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "mèdia de sa lista",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "Torrat sa mèdia (aritimètica) de is valoris de sa lista.",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "medianu de sa lista",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "Torrat su numeru medianu de sa lista.",
+       "MATH_ONLIST_OPERATOR_MODE": "modas de sa lista",
+       "MATH_ONLIST_TOOLTIP_MODE": "Torrat una lista de is itams prus frecuentis de sa lista.",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "deviadura standard de sa lista",
+       "MATH_ONLIST_TOOLTIP_STD_DEV": "Torrat sa deviadura standard de sa lista.",
+       "MATH_ONLIST_OPERATOR_RANDOM": "unu item a brìtiu de sa lista",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "Torrat unu item a brìtiu de sa lista.",
+       "MATH_MODULO_HELPURL": "https://en.wikipedia.org/wiki/Modulo_operation",
+       "MATH_MODULO_TITLE": "arrestu de %1 ÷ %2",
+       "MATH_MODULO_TOOLTIP": "Torrat s'arrestu de sa divisioni de duus numerus.",
+       "MATH_CONSTRAIN_TITLE": "custringi %1 de %2 a %3",
+       "MATH_CONSTRAIN_TOOLTIP": "Custringi unu numeru aintru de is liminaxus giaus (cumprendius).",
+       "MATH_RANDOM_INT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_INT_TITLE": "numeru intreu a brítiu de %1 a %2",
+       "MATH_RANDOM_INT_TOOLTIP": "Torrat unu numeru intreu a brìtiu intra duus nùmerus giaus (cumpresus).",
+       "MATH_RANDOM_FLOAT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "una fratzioni a brìtiu",
+       "MATH_RANDOM_FLOAT_TOOLTIP": "Torrat una fratzioni a brìtiu intra 0.0 (cumpresu) e 1.0 (bogau).",
+       "TEXT_TEXT_HELPURL": "https://en.wikipedia.org/wiki/String_(computer_science)",
+       "TEXT_TEXT_TOOLTIP": "Una lìtera, paràula, o linia de testu.",
+       "TEXT_JOIN_TITLE_CREATEWITH": "scri testu cun",
+       "TEXT_JOIN_TOOLTIP": "Fait unu testu ponendi a pari parigas de items.",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "auni a pari",
+       "TEXT_CREATE_JOIN_TOOLTIP": "Aciungi, fùlia, o assenta is partis po torrai a sètiu custu brocu de testu.",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "Acciungi unu item a su testu.",
+       "TEXT_APPEND_TITLE": "a %1 acciungi su testu %2",
+       "TEXT_APPEND_TOOLTIP": "Aciungit testu a sa variàbili '%1'.",
+       "TEXT_LENGTH_TITLE": "longària de %1",
+       "TEXT_LENGTH_TOOLTIP": "Torrat su numeru de lìteras (cun is spàtzius) in su testu giau.",
+       "TEXT_ISEMPTY_TITLE": "%1 est buidu",
+       "TEXT_ISEMPTY_TOOLTIP": "Torrat berus si su testu giau est buidu.",
+       "TEXT_INDEXOF_TOOLTIP": "Torrat s'indixi de sa primu/urtima ocasioni de su primu testu in su segundu testu. Torrat %1 si su testu no ddu agatat.",
+       "TEXT_INDEXOF_TITLE": "in su testu %1 %2 %3",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "circa prima ocasioni de su testu",
+       "TEXT_INDEXOF_OPERATOR_LAST": "circa urtima ocasioni de su testu",
+       "TEXT_CHARAT_FROM_START": "piga sa lìtera #",
+       "TEXT_CHARAT_FROM_END": "piga sa lìtera # de sa fini",
+       "TEXT_CHARAT_FIRST": "piga sa prima lìtera",
+       "TEXT_CHARAT_LAST": "piga s'urtima lìtera",
+       "TEXT_CHARAT_RANDOM": "piga una lìtera a brìtiu",
+       "TEXT_CHARAT_TOOLTIP": "Torrat sa lìtera de su postu giau.",
+       "TEXT_GET_SUBSTRING_TOOLTIP": "Torrat su testu inditau.",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "in su testu",
+       "TEXT_GET_SUBSTRING_START_FROM_START": "piga suta-stringa de sa lìtera #",
+       "TEXT_GET_SUBSTRING_START_FROM_END": "piga suta-stringa de sa lìtera # fintzas a fini",
+       "TEXT_GET_SUBSTRING_START_FIRST": "piga suta-stringa de sa primu lìtera",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "a sa lìtera #",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "a sa lìtera # de sa fini",
+       "TEXT_GET_SUBSTRING_END_LAST": "a s'urtima lìtera",
+       "TEXT_CHANGECASE_TOOLTIP": "Torrat una copia de su testu inditau mudendi mauschínu/minúdu.",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "a mauschínu",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "a minúdu",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": "cun Primu lìtera a Mauschínu",
+       "TEXT_TRIM_TOOLTIP": "Torrat una copia de su testu bogaus is spàtzius de unu o de ambus is càbudus.",
+       "TEXT_TRIM_OPERATOR_BOTH": "bogat spàtzius de ambus càbudus de",
+       "TEXT_TRIM_OPERATOR_LEFT": "bogat spàtzius de su càbudu de manca de",
+       "TEXT_TRIM_OPERATOR_RIGHT": "bogat spàtzius de su càbudu de dereta de",
+       "TEXT_PRINT_TITLE": "scri %1",
+       "TEXT_PRINT_TOOLTIP": "Scri su testu, numeru o àteru valori.",
+       "TEXT_PROMPT_TYPE_TEXT": "pregonta po su testu",
+       "TEXT_PROMPT_TYPE_NUMBER": "pregonta po unu numeru",
+       "TEXT_PROMPT_TOOLTIP_NUMBER": "Pregonta unu nùmeru a s'impitadore.",
+       "TEXT_PROMPT_TOOLTIP_TEXT": "Pregonta testu a s'impitadore.",
+       "LISTS_CREATE_EMPTY_TITLE": "fait una lista buida",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "Torrat una lista, de longària 0, chena records de datus.",
+       "LISTS_CREATE_WITH_TOOLTIP": "Fait una lista cun calisiollat numeru de items.",
+       "LISTS_CREATE_WITH_INPUT_WITH": "fait una lista cun",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "lista",
+       "LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "Aciungi, fùlia, o assenta is partis po torrai a sètiu custu brocu lista.",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "Acciungi unu item a sa lista.",
+       "LISTS_REPEAT_TOOLTIP": "Fait una lista cun unu numeru giau repitiu su tanti de is bortas inditadas.",
+       "LISTS_REPEAT_TITLE": "fait una lista cun item %1 repitiu %2 bortas",
+       "LISTS_LENGTH_TITLE": "longària de %1",
+       "LISTS_LENGTH_TOOLTIP": "Torrat sa longària de una lista.",
+       "LISTS_ISEMPTY_TITLE": "%1 est buidu",
+       "LISTS_ISEMPTY_TOOLTIP": "Torrat berus si sa lista est buida.",
+       "LISTS_INLIST": "in lista",
+       "LISTS_INDEX_OF_FIRST": "circa prima ocasioni de s'item",
+       "LISTS_INDEX_OF_LAST": "circa urtima ocasioni de s'item",
+       "LISTS_INDEX_OF_TOOLTIP": "Torrat s'indixi de sa primu/urtima ocasioni de s'item in sa lista. Torrat %1 si s'item non s'agatat.",
+       "LISTS_GET_INDEX_GET": "piga",
+       "LISTS_GET_INDEX_GET_REMOVE": "piga e fùlia",
+       "LISTS_GET_INDEX_REMOVE": "fùlia",
+       "LISTS_GET_INDEX_FROM_END": "# de sa fini",
+       "LISTS_GET_INDEX_FIRST": "primu",
+       "LISTS_GET_INDEX_LAST": "urtimu",
+       "LISTS_GET_INDEX_RANDOM": "a brìtiu (random)",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "%1 est po su primu elementu.",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "%1 est po s'urtimu elementu.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "Torrat s'elementu de su postu inditau de una lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "Torrat su primu elementu de una lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "Torrat s'urtimu elementu de una lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "Torrat un'elementu a brìtiu de una lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "Fùliat e torrat s'elementu de su postu inditau de una lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "Fùliat e torrat su primu elementu de una lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "Fùliat e torrat s'urtimu elementu de una lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "Fùliat e torrat un'elementu a brìtiu de una lista.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "Fùliat s'elementu de su postu inditau de una lista.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "Fùliat su primu elementu de una lista.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "Fùliat s'urtimu elementu de una lista.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "Fùliat unu elementu a brìtiu de una lista.",
+       "LISTS_SET_INDEX_SET": "imposta",
+       "LISTS_SET_INDEX_INSERT": "inserta a",
+       "LISTS_SET_INDEX_INPUT_TO": "a",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "Impostat s'elementu in su postu inditau de una lista.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "Impostat su primu elementu in una lista.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_LAST": "Impostat s'urtimu elementu in una lista.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "Impostat unu elementu random in una lista.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "Insertat s'elementu in su postu inditau in una lista.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "Insertat s'elementu a su cumintzu de sa lista.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "Aciungit s'elementu a sa fini de sa lista.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "Aciungit s'elementu a brítiu in sa lista.",
+       "LISTS_GET_SUBLIST_START_FROM_START": "bogandi suta-lista de #",
+       "LISTS_GET_SUBLIST_START_FROM_END": "bogandi suta-lista de # de sa fini.",
+       "LISTS_GET_SUBLIST_START_FIRST": "bogandi suta-lista de su primu",
+       "LISTS_GET_SUBLIST_END_FROM_START": "fintzas a #",
+       "LISTS_GET_SUBLIST_END_FROM_END": "a # de sa fini",
+       "LISTS_GET_SUBLIST_END_LAST": "a s'urtimu",
+       "LISTS_GET_SUBLIST_TOOLTIP": "Fait una copia de sa parti inditada de sa lista.",
+       "LISTS_SPLIT_LIST_FROM_TEXT": "fai una lista de unu testu",
+       "LISTS_SPLIT_TEXT_FROM_LIST": "fai unu testu de una lista",
+       "LISTS_SPLIT_WITH_DELIMITER": "cun  separadori",
+       "LISTS_SPLIT_TOOLTIP_SPLIT": "Dividi su testu in un'elencu de testus, firmendi po dònnia separadori.",
+       "LISTS_SPLIT_TOOLTIP_JOIN": "Auni una lista de testus in d-unu sceti, ponendi separadoris.",
+       "VARIABLES_GET_TOOLTIP": "Torrat su valori de custa variabili.",
+       "VARIABLES_GET_CREATE_SET": "Fait 'imposta %1'",
+       "VARIABLES_SET": "imposta %1 a %2",
+       "VARIABLES_SET_TOOLTIP": "Imposta custa variabili uguali a s'input.",
+       "VARIABLES_SET_CREATE_GET": "Fait 'piga %1'",
+       "PROCEDURES_DEFNORETURN_TITLE": "po",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "fait calincuna cosa",
+       "PROCEDURES_BEFORE_PARAMS": "con:",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "cun",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "Fait una funtzioni chena output.",
+       "PROCEDURES_DEFRETURN_RETURN": "torrat",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "Fait una funtzioni cun output.",
+       "PROCEDURES_ALLOW_STATEMENTS": "permiti decraratzionis",
+       "PROCEDURES_DEF_DUPLICATE_WARNING": "Amonestu: Custa funtzioni tenit parametrus duplicaus.",
+       "PROCEDURES_CALLNORETURN_HELPURL": "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29",
+       "PROCEDURES_CALLNORETURN_TOOLTIP": "Arròllia sa funtzione '%1' cuncordada dae s'impitadore.",
+       "PROCEDURES_CALLRETURN_HELPURL": "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29",
+       "PROCEDURES_CALLRETURN_TOOLTIP": "Arròllia sa funtzione '%1' cuncordada dae s'impitadore e imprea s'output suu.",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "inputs",
+       "PROCEDURES_MUTATORCONTAINER_TOOLTIP": "Aciungi, fùlia, o assenta is inputs a custa funtzioni.",
+       "PROCEDURES_MUTATORARG_TITLE": "nomini input:",
+       "PROCEDURES_MUTATORARG_TOOLTIP": "Aciungi un input a sa funtzioni.",
+       "PROCEDURES_HIGHLIGHT_DEF": "Marca sa definitzioni de funtzioni.",
+       "PROCEDURES_CREATE_DO": "Ingenerau'%1'",
+       "PROCEDURES_IFRETURN_TOOLTIP": "Si unu valori est berus, tandu torrat unu segundu valori.",
+       "PROCEDURES_IFRETURN_WARNING": "Amonestu: Custu brocu ddu podis ponni sceti aintru de una funtzioni."
+}
diff --git a/js/msg/json/sd.json b/js/msg/json/sd.json
new file mode 100644 (file)
index 0000000..09ebe1d
--- /dev/null
@@ -0,0 +1,155 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Aursani",
+                       "Mehtab ahmed",
+                       "Indus Asia"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "اسم",
+       "TODAY": "اڄ",
+       "DUPLICATE_BLOCK": "نقل",
+       "ADD_COMMENT": "راء٠Úيو",
+       "REMOVE_COMMENT": "راء٠ڊاهيو",
+       "EXTERNAL_INPUTS": "ٻاهرين Ú„اڻ",
+       "INLINE_INPUTS": "اÙنلائين Ø§ÙÙ† Ù¾Ù½Ø³",
+       "DELETE_BLOCK": "بلاڪ ÚŠØ§Ù‡ÙŠÙˆ",
+       "DELETE_X_BLOCKS": "1Ùª Ø¨Ù„اڪ ÚŠØ§Ù‡ÙŠÙˆ",
+       "CLEAN_UP": "بندشون Ù‡Ù½Ø§ÙŠÙˆ",
+       "COLLAPSE_BLOCK": "بلاڪ Úڪيو",
+       "COLLAPSE_ALL": "بلاڪَ Úڪيو",
+       "EXPAND_BLOCK": "بلاڪ Ù†Ù…ايو",
+       "EXPAND_ALL": "بلاڪَ Ù†Ù…ايو",
+       "DISABLE_BLOCK": "بلاڪ Ú©ÙŠ ØºÙŠØ±Ùعال Ø¨Ú»Ø§ÙŠÙˆ",
+       "ENABLE_BLOCK": "بلاڪ Ú©ÙŠ Ùعال Ø¨Ú»Ø§ÙŠÙˆ",
+       "HELP": "مدد",
+       "UNDO": "ڊاهيو",
+       "REDO": "ٻيهر ÚªØ±ÙŠÙˆ",
+       "CHANGE_VALUE_TITLE": "قدر Ø¨Ø¯Ù„ايو",
+       "RENAME_VARIABLE": "ڦرڻي Ú©ÙŠ Ù†Ø¦ÙˆÙ† Ù†Ø§Ù„Ùˆ Úيو...",
+       "NEW_VARIABLE": "نئون Ú¦Ø±Ú»Ùˆ...",
+       "NEW_VARIABLE_TITLE": "ڦرڻي Ø¬Ùˆ Ù†Ø¦ÙˆÙ† Ù†Ø§Ù„Ùˆ:",
+       "COLOUR_PICKER_HELPURL": "https://en.wikipedia.org/wiki/Color",
+       "COLOUR_PICKER_TOOLTIP": "رنگ Ø¯Ù»ÙŠØ¡ÙŽ Ù…ان Ø±Ù†Ú¯ Ú†ÙˆÙ†ÚŠÙŠÙˆ.",
+       "COLOUR_RANDOM_TITLE": "بنا ØªØ±ØªÙŠØ¨ Ø±Ù†Ú¯",
+       "COLOUR_RANDOM_TOOLTIP": "ÚªÙˆ Ø¨Û â€ŒØ±Ù†Ú¯ Ú†ÙˆÙ†ÚŠÙŠÙˆ.",
+       "COLOUR_RGB_TITLE": "سان Ø±Ú±ÙŠÙˆ",
+       "COLOUR_RGB_RED": "ڳاڙهو",
+       "COLOUR_RGB_GREEN": "سائو",
+       "COLOUR_RGB_BLUE": "نيرو",
+       "COLOUR_RGB_TOOLTIP": "ڳاڙهي، Ø³Ø§Ø¦ÙŠØŒ Û½ Ù†ÙŠØ±ÙŠ Ø¬Ùˆ Ù…قدار Ú„اڻائي Ú¯Ú¾Ø±Ø¨Ù„ Ø±Ù†Ú¯ ÙºØ§Ù‡ÙŠÙˆ. Ø³Ù…ورا Ù‚در 0 Û½ 100 Ø¬ÙŠ ÙˆÚ† Û¾ Ù‡Ø¬Ù†.",
+       "COLOUR_BLEND_TITLE": "Ú¯Úيل",
+       "COLOUR_BLEND_COLOUR1": "رنگ 1",
+       "COLOUR_BLEND_COLOUR2": "رنگ 2",
+       "COLOUR_BLEND_RATIO": "تناسب",
+       "COLOUR_BLEND_TOOLTIP": "ڄاڻايل ØªÙ†Ø§Ø³Ø¨ Ø³Ø§Ù† Ù»Û Ø±Ù†Ú¯ Ù¾Ø§Ú» Û¾ Ù…لايو (0.0-1.0).",
+       "CONTROLS_REPEAT_HELPURL": "https://en.wikipedia.org/wiki/For_loop",
+       "CONTROLS_REPEAT_TITLE": "1Ùª Ú€ÙŠØ±Ø§ ÙˆØ±Ø¬Ø§ÙŠÙˆ",
+       "CONTROLS_REPEAT_INPUT_DO": "ڪريو",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "ورجايو Ø¬Úهن",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "ورجايو Ø¬ÙŠØ³ØªØ§Ø¦ÙŠÙ†",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "چڪر Ù…ان Ù»Ø§Ù‡Ø± Ù†ÚªØ±Ùˆ",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "چڪر Ø¬Ø§Ø±ÙŠ Ø±Ú©Ù†Ø¯ÙŠ Ù†Ø¦ÙŠÙ† Ú¦ÙŠØ±ÙŠ Ù¾Ø§ÙŠÙˆ",
+       "CONTROLS_IF_MSG_IF": "جيڪÚهن",
+       "CONTROLS_IF_MSG_ELSEIF": "ن۠ت۠جي",
+       "CONTROLS_IF_MSG_ELSE": "ن۠تÛ",
+       "IOS_OK": "ٺيڪ (او ÚªÙŠ) Ø¢Ù‡ÙŠ",
+       "IOS_CANCEL": "رد",
+       "IOS_ERROR": "Ú†ÙÚªÙŽ",
+       "IOS_PROCEDURES_INPUTS": "داخلائون (اÙÙ† Ù¾Ù½Ø³)",
+       "IOS_VARIABLES_ADD_VARIABLE": "تبديل Ù¿ÙŠÙ†Ø¯Ú™ (ويريئيبل) ÙˆØ¬Ù‡Ùˆ",
+       "IOS_VARIABLES_ADD_BUTTON": "شامل ÚªÙŠÙˆ",
+       "IOS_VARIABLES_RENAME_BUTTON": "ٻيهر Ù†Ø§Ù„Ùˆ Úيو",
+       "IOS_VARIABLES_DELETE_BUTTON": "ڊاهيو",
+       "IOS_VARIABLES_VARIABLE_NAME": "تبيديل Ù¿ÙŠÙ†Ø¯Ú™ (ويريئيبل) Ø¬Ùˆ Ù†Ø§Ù„Ùˆ",
+       "LOGIC_COMPARE_HELPURL": "https://en.wikipedia.org/wiki/Inequality_(mathematics)",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "جيڪÚهن Ù»Ø¦ÙŠ Ø§Ù† Ù¾Ùٽس Ø¨Ø±Ø§Ø¨Ø± Ø¢Ù‡Ù† ØªÛ Ø¯Ø±Ø³Øª ÙˆØ±Ø§Ú»ÙŠÙˆ",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "جيڪÚهن Ù»Ø¦ÙŠ Ø§Ù† Ù¾Ùٽس Ø§Ú» Ø¨Ø±Ø§Ø¨Ø± Ø¢Ù‡Ù† ØªÛ Ø¯Ø±Ø³Øª ÙˆØ±Ø§Ú»ÙŠÙˆ",
+       "LOGIC_COMPARE_TOOLTIP_LT": "جيڪÚهن Ù¾Ù‡Ø±ÙŠÙˆÙ† Ø§Ù† Ù¾ÙÙ½ Ù»ÙŠÙ† Ø§Ù† Ù¾ÙÙ½ Ú©Ø§Ù† Ù†Ù†ÚÙˆ Ø¢Ù‡ÙŠ ØªÛ Ø¯Ø±Ø³Øª ÙˆØ±Ø§Ú»ÙŠÙˆ",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "جيڪÚهن Ù¾Ù‡Ø±ÙŠÙˆÙ† Ø§Ù† Ù¾ÙÙ½ Ù»ÙŠÙ† Ø§Ù† Ù¾ÙÙ½ Ú©Ø§Ù† Ù†Ù†ÚÙˆ Ø¢Ù‡ÙŠ ÙŠØ§ Ù»Ø¦ÙŠ Ø¨Ø±Ø§Ø¨Ø± Ø¢Ù‡Ù† ØªÛ Ø¯Ø±Ø³Øª ÙˆØ±Ø§Ú»ÙŠÙˆ",
+       "LOGIC_COMPARE_TOOLTIP_GT": "جيڪÚهن Ù¾Ù‡Ø±ÙŠÙˆÙ† Ø§Ù† Ù¾ÙÙ½ Ù»ÙŠÙ† Ø§Ù† Ù¾ÙÙ½ Ú©Ø§Ù† ÙˆÚÙˆ Ø¢Ù‡ÙŠ ØªÛ Ø¯Ø±Ø³Øª ÙˆØ±Ø§Ú»ÙŠÙˆ.",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "جيڪÚهن Ù¾Ù‡Ø±ÙŠÙˆÙ† Ø§Ù† Ù¾ÙÙ½ Ù»ÙŠÙ† Ø§Ù† Ù¾ÙÙ½ Ú©Ø§Ù† ÙˆÚÙˆ Ø¢Ù‡ÙŠ ÙŠØ§ Ù»Ø¦ÙŠ Ø¨Ø±Ø§Ø¨Ø± Ø¢Ù‡Ù† ØªÛ Ø¯Ø±Ø³Øª ÙˆØ±Ø§Ú»ÙŠÙˆ.",
+       "LOGIC_OPERATION_TOOLTIP_AND": "جيڪÚهن Ù»Ø¦ÙŠ Ø§Ù† Ù¾ÙÙ½ Ø¯Ø±Ø³Øª Ø¢Ù‡Ù† ØªÛ Ø¯Ø±Ø³Øª ÙˆØ±Ø§Ú»ÙŠÙˆ.",
+       "LOGIC_OPERATION_AND": "Û½",
+       "LOGIC_OPERATION_TOOLTIP_OR": "جيڪÚهن Ù»Ù†Ù‡ÙŠ Ø§Ù† Ù¾Ùٽس Ù…ان ÚªÙˆ Ù‡Úª Ø¨Û Ø¯Ø±Ø³Øª Ø¢Ù‡ÙŠ ØªÛ Ø¯Ø±Ø³Øª ÙˆØ±Ø§Ú»ÙŠÙˆ.",
+       "LOGIC_OPERATION_OR": "يا",
+       "LOGIC_NEGATE_TITLE": "Ù†ÚªÙŠ %1",
+       "LOGIC_NEGATE_TOOLTIP": "ان Ù¾ÙÙ½ ØºÙŠØ± Ø¯Ø±Ø³Øª Ø¢Ù‡ÙŠ ØªÛ Ø¯Ø±Ø³Øª ÙˆØ±Ø§Ú»ÙŠÙˆ. Ø§Ù† Ù¾ÙÙ½ Ø¯Ø±Ø³Øª Ø¢Ù‡ÙŠ ØªÛ ØºÙŠØ± Ø¯Ø±Ø³Øª ÙˆØ±Ø§Ú»ÙŠÙˆ.",
+       "LOGIC_BOOLEAN_TRUE": "سچ",
+       "LOGIC_BOOLEAN_FALSE": "ÚªÙÙˆÚ™",
+       "LOGIC_BOOLEAN_TOOLTIP": "درست ÙŠØ§ ØºÙŠØ± Ø¯Ø±Ø³Øª ÙˆØ±Ø§Ú»ÙŠ Ù¿Ùˆ.",
+       "LOGIC_TERNARY_CONDITION": "پرک (ٽيسٽ)",
+       "LOGIC_TERNARY_IF_TRUE": "جيڪÚهن Ø³Ú†Ùˆ",
+       "LOGIC_TERNARY_IF_FALSE": "جيڪÚهن ÚªÙˆÚ™Ùˆ",
+       "MATH_NUMBER_TOOLTIP": "ÚªÙˆ Ø§Ù†Ú¯.",
+       "MATH_ARITHMETIC_HELPURL": "https://en.wikipedia.org/wiki/Arithmetic",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "ٻن Ø§Ù†Ú¯Ù† Ø¬ÙŠ Ø¬ÙˆÚ™ Ø§Ù¾Øª Úيو.",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "ٻنهي Ø§Ù†Ú¯Ù† Ø¬Ùˆ ØªÙاوت Úيو.",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "ٻنهي Ø§Ù†Ú¯Ù† Ø¬ÙŠ Ø¶Ø±Ø¨ Ø§Ùپت Úيو.",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "ٻنهي Ø§Ù†Ú¯Ù† Ø¬ÙŠ ÙˆÙ†ÚŠ Úيو.",
+       "MATH_SINGLE_HELPURL": "https://en.wikipedia.org/wiki/ٻيون Ù…ول",
+       "MATH_SINGLE_OP_ROOT": "ٻيون Ù…ول",
+       "MATH_SINGLE_TOOLTIP_ROOT": "ڪنهن Ø§Ù†Ú¯ Ø¬Ùˆ Ù»ÙŠÙˆÙ† Ù…ول Ú„اڻايو.",
+       "MATH_SINGLE_OP_ABSOLUTE": "ٺپ",
+       "MATH_SINGLE_TOOLTIP_NEG": "ڪنهن Ø§Ù†Ú¯ Ø¬Ùˆ ÚªØ§Ù½Ùˆ Ú„اڻايو.",
+       "MATH_SINGLE_TOOLTIP_LN": "ڪنهن Ø§Ù†Ú¯ Ø¬Ùˆ Ù‚درتي Ù„اگ Ú„اڻايو.",
+       "MATH_SINGLE_TOOLTIP_LOG10": "ڪنهن Ø§Ù†Ú¯ Ø¬Ùˆ 10 Ø¨Ù†ÙŠØ§Ø¯ÙŠ Ù„اگ Ú„اڻايو.",
+       "MATH_TRIG_HELPURL": "https://en.wikipedia.org/wiki/ٽڪنڊور ÚªØ§Ú„",
+       "MATH_CONSTANT_HELPURL": "https://en.wikipedia.org/wiki/رياضياتي Ø§Ø³ØªÙ‚لال",
+       "MATH_IS_EVEN": "ٻڌي Ø¢Ù‡ÙŠ",
+       "MATH_IS_ODD": "اÙÚªÙŠ Ø¢Ù‡ÙŠ",
+       "MATH_IS_PRIME": "Ù…Ùرد Ø¢Ù‡ÙŠ",
+       "MATH_IS_WHOLE": "سڄو Ø¢Ù‡ÙŠ",
+       "MATH_IS_POSITIVE": "واڌو Ø¢Ù‡ÙŠ",
+       "MATH_IS_NEGATIVE": "ڪاٽو Ø¢Ù‡ÙŠ",
+       "MATH_IS_DIVISIBLE_BY": "سان ÙˆÙ†ÚŠØ¬Ù†Ø¯Ú™ Ø¢Ù‡ÙŠ",
+       "MATH_CHANGE_TITLE": "%1 Ú©ÙŠ %2 Ø³Ø§Ù† Ù…َٽايو",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "ويڙهيو (رائونڊ Ø§ÙŽÙ¾)",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "هيٺ Ú¦ÙŠØ±Ø§ÙŠÙˆ (رائونڊ ÚŠØ§Ø¦ÙˆÙ†)",
+       "MATH_ONLIST_OPERATOR_SUM": "Ùهرست Ø¬Ùˆ ÙˆÚ†ÙˆØ±",
+       "MATH_ONLIST_OPERATOR_MIN": "لسٽ Ø¬Ùˆ Ù†Ù†ÚÙŠ Û¾ Ù†Ù†ÚÙˆ Ù‚در",
+       "MATH_ONLIST_TOOLTIP_MIN": "لسٽ Û¾ Ù†Ù†ÚÙŠ Ú©Ø§Ù† Ù†Ù†ÚÙˆ Ù‚در Ú„اڻايو.",
+       "MATH_ONLIST_OPERATOR_MAX": "لسٽ Ø¬Ùˆ ÙˆÚÙŠ Û¾ ÙˆÚÙˆ Ù‚در",
+       "MATH_ONLIST_TOOLTIP_MAX": "لسٽ Û¾ ÙˆÚÙŠ Ú©Ø§Ù† ÙˆÚÙˆ Ù‚در Ú„اڻايو.",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "لسٽ Ø¬ÙŠ Ø³Ø±Ø§Ø³Ø±ÙŠ",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "لسٽ Ø¬Ùˆ Ù…ڌيان",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "لسٽ Ø¬Ùˆ Ù…ڌيان Ø§Ù†Ú¯ Ú„اڻايو.",
+       "MATH_ONLIST_OPERATOR_MODE": "Ùهرست Ø¬Ø§ Ø·Ø±ÙŠÙ‚يڪا (موڊز Ø¢Ù Ù„سٽ)",
+       "MATH_ONLIST_OPERATOR_RANDOM": "بي ØªØ±ØªÙŠØ¨ Ø¬Ø°Ù† Ø¬ÙŠ Ùهرست (رينڊم Ø¢Ø¦ÙŠÙ½Ù… Ø¢Ù Ù„سٽ)",
+       "TEXT_JOIN_TITLE_CREATEWITH": "سان Ù…واد ØªØ®Ù„يق ÚªÙŠÙˆ (ڪريئيٽ Ù½ÙŠÚªØ³Ù½ ÙˆÙد)",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "شامل Ù¿ÙŠÙˆ",
+       "TEXT_INDEXOF_TITLE": "Û¾ Ù…تن %1 %2 %3",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "متن Û¾",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "ÙˆÚÙ† Ø§Ú©Ø±Ù† Úانهن",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "ننÚÙ† Ø§Ú©Ø± Úانهن",
+       "TEXT_PRINT_TITLE": "ڇاپيو %1",
+       "TEXT_PRINT_TOOLTIP": "ڄاڻايل ØªØ­Ø±ÙŠØ±ØŒ Ø§Ù†Ú¯ ÙŠØ§ ÚªÙˆ Ù»ÙŠÙˆ Ù‚در Ú‡Ø§Ù¾ÙŠÙˆ.",
+       "TEXT_COUNT_MESSAGE0": "ڳڻيو %1 Û¾ %2",
+       "LISTS_CREATE_EMPTY_TITLE": "خالي Ùهرست ØªØ®Ù„يق ÚªØ±ÙŠÙˆ",
+       "LISTS_CREATE_WITH_INPUT_WITH": "سان Ùهرست ØªØ®Ù„يق ÚªÙŠÙˆ",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "لسٽ",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "Ùهرست Û¾ ÚªØ§ Ø´ÙŠ Ø´Ø§Ù…Ù„ ÚªØ±ÙŠÙˆ.",
+       "LISTS_ISEMPTY_TITLE": "%1 Ø®Ø§Ù„ÙŠ Ø¢Ù‡ÙŠ",
+       "LISTS_INLIST": "Ùهرست Û¾",
+       "LISTS_GET_INDEX_REMOVE": "هٽايو",
+       "LISTS_GET_INDEX_FROM_END": "# Ø¢Ø®Ø± Ú©Ø§Ù†",
+       "LISTS_GET_INDEX_FIRST": "پهريون",
+       "LISTS_GET_INDEX_LAST": "آخري",
+       "LISTS_GET_INDEX_RANDOM": "بي ØªØ±ØªÙŠØ¨",
+       "LISTS_SET_INDEX_SET": "ميڙ",
+       "LISTS_SET_INDEX_INSERT": "تي Ø¯Ø§Ø®Ù„ ÚªØ±ÙŠÙˆ",
+       "LISTS_SET_INDEX_INPUT_TO": "جيان",
+       "LISTS_GET_SUBLIST_END_FROM_START": "Úانهن #",
+       "LISTS_GET_SUBLIST_END_FROM_END": "Úانهن # Ø¢Ø®Ø± Ú©Ø§Ù†",
+       "LISTS_GET_SUBLIST_END_LAST": "آخري Úانهن",
+       "LISTS_SORT_TITLE": "ترتيب Úيو %1 %2 %3",
+       "LISTS_SORT_ORDER_ASCENDING": "اÙÚ€Ùˆ (اَسينڊنگ)",
+       "LISTS_SORT_TYPE_TEXT": "ال٠ب ÙˆØ§Ø± (الÙابيٽڪ)",
+       "PROCEDURES_DEFNORETURN_TITLE": "Úانهن",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "ڪجھ ÚªØ±ÙŠÙˆ",
+       "PROCEDURES_BEFORE_PARAMS": "سان:",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "سان:",
+       "PROCEDURES_DEFRETURN_RETURN": "واپس ÙˆØ±Ùˆ",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "ان Ù¾Ùٽس",
+       "PROCEDURES_CREATE_DO": "تخليق ÚªØ±ÙŠÙˆ '%1'"
+}
diff --git a/js/msg/json/shn.json b/js/msg/json/shn.json
new file mode 100644 (file)
index 0000000..980b166
--- /dev/null
@@ -0,0 +1,109 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Saosukham",
+                       "Saimawnkham"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "ဢá¼á€º",
+       "TODAY": "မိူá€á€ºá‚ˆá¼á‚†á‚‰",
+       "DUPLICATE_BLOCK": "ထုá€á€ºá‚‡",
+       "ADD_COMMENT": "သႂ်ႇá¶á€±á‚ƒá‚ˆá¶á‚†á‚ˆá¸á‚‚်",
+       "REMOVE_COMMENT": "ထွá¼á€ºá€•á‚…á€á€ºá‚ˆ á¶á€±á‚ƒá‚ˆá¶á‚†á‚ˆá¸á‚‚်",
+       "EXTERNAL_INPUTS": "á¶á€­á€°á€„်ႈဢá¼á€ºá€œá€¯áµá€ºá‚‰á€á¢á€„်းá¼á€½áµá€ºá‚ˆá¶á€á€ºá‚ˆá€™á‚ƒá€¸",
+       "INLINE_INPUTS": "á¶á€­á€°á€„်ႈဢá¼á€ºá¶á€á€ºá‚ˆá€™á‚ƒá€¸á¸á€½á€™á€ºá€¸á€œá‚…င်း",
+       "DELETE_BLOCK": "မွá€á€ºá‚‡á€•á€œá€½áµá€ºá‚‰",
+       "DELETE_X_BLOCKS": "မွá€á€ºá‚‡á€œá€½á€„်ႈá‚ႄႉá€á€á€ºá€¸ %1",
+       "COLLAPSE_BLOCK": "လွင်ႈá‚ႄႉá€á€á€ºá€¸á€œá‚…á€á€º",
+       "COLLAPSE_ALL": "လွင်ႈá‚ႄႉá€á€á€ºá€¸á¸á€­á€°á€á€ºá€¸á€œá‚…á€á€º",
+       "EXPAND_BLOCK": "á¶á‚‚á¢áµá€ºá‚ˆá€œá€½á€„်ႈá‚ႄႉá€á€á€ºá€¸",
+       "EXPAND_ALL": "á¶á‚‚á¢áµá€ºá‚ˆá¸á€­á€°á€á€ºá€¸á‚ႄႉá€á€á€ºá€¸",
+       "DISABLE_BLOCK": "ဢိုá€á€ºá€¸á¸á‚‚်ႉ á€œá€½á€„်ႈá‚ႄႉá€á€á€ºá€¸",
+       "ENABLE_BLOCK": "ပိုá€á€ºá‚‡á¸á‚‚်ႉ á€œá€½á€„်ႈá‚ႄႉá€á€á€ºá€¸",
+       "HELP": "á¸á€½á‚†á‚ˆá€‘ႅမ်",
+       "CHANGE_VALUE_TITLE": "လႅáµá€ºá‚ˆá€œá¢á‚†á‚ˆá¼á€™á€ºá‚‰áµá€á€ºá‚‰",
+       "RENAME_VARIABLE": "လိုမ်ႉá¶á€­á€¯á¼á€ºá€¸ á€¢á¼á€ºá€œá¢á‚†á‚ˆá€™á‚‚်ႇ",
+       "RENAME_VARIABLE_TITLE": "လိုမ်ႉá¶á€­á€¯á¼á€ºá€¸ á€¢á¼á€ºá€œá¢á‚†á‚ˆá€™á‚‚်ႇá¸á€­á€°á€á€ºá€¸á¼á¼á€ºá‚‰ '%1' á€‘ိုင်",
+       "NEW_VARIABLE": "လá¢á‚†á‚ˆá€¢á¼á€ºá€™á‚‚်ႇ",
+       "NEW_VARIABLE_TITLE": "á¸á€­á€¯á€á€ºá‚ˆá€¢á¼á€ºá€œá¢á‚†á‚ˆá€™á‚‚်ႇ",
+       "COLOUR_PICKER_HELPURL": "https://en.wikipedia.org/wiki/Color á€žá€®",
+       "COLOUR_PICKER_TOOLTIP": "လိူáµá€ºá‚ˆá€žá€® á€á€™á€ºá‚ˆá€á€®á‚ˆ á½á‚ƒá€¸á€œá‚…á€á€ºá‚‰",
+       "COLOUR_RANDOM_TITLE": "သီလá¢á€™á€ºá€¸á€œá€­á€™á€ºá€¸",
+       "COLOUR_RANDOM_TOOLTIP": "လိူáµá€ºá‚ˆá€žá€®á€á€™á€ºá‚ˆá€á€®á‚ˆá€œá€½áµá€ºá€¸á€œá¢á€™á€ºá€¸á€œá€­á€™á€ºá€¸",
+       "COLOUR_RGB_TITLE": "á‚ူမ်ႈáµá€­á€¯áµá€ºá€¸á€žá€®",
+       "COLOUR_RGB_RED": "လီင်",
+       "COLOUR_RGB_GREEN": "á¶á€µá€á€º",
+       "COLOUR_RGB_BLUE": "သွမ်ႇ",
+       "COLOUR_RGB_TOOLTIP": "á‚ဵá€á€ºá€¸á€á€°áºá€ºá€¸ á€žá€®á€¢á¼á€ºá¼á€­á€¯á€„်ႈ á¸á€½á€™á€ºá€¸á¼á€„်ႇမáµá€ºá€¸á€™á¼á€ºá‚ˆá€á‚†á‚‰ á¼á‚‚်းá¶á‚‚á¢á€„်ႇ á€žá€®á€œá‚…င်, á¶á€µá€á€º á€œá‚„ႈ á€žá€½á€™á€ºá‚‡á‹ á¼á€™á€ºá‚‰á¼áµá€ºá€¸á€žá€® á€á€±á€œá‚†á‚ˆá€™á€®á€¸á¼á‚‚်းá€á€°á€„်ႈáµá¢á€„် 0 á€á€±á‚ƒá‚‡ 100.",
+       "COLOUR_BLEND_TITLE": "လေႃးလႄး",
+       "COLOUR_BLEND_COLOUR1": "သီ 1",
+       "COLOUR_BLEND_COLOUR2": "သီ 2",
+       "COLOUR_BLEND_RATIO": "သႅá¼á€ºá€¸",
+       "COLOUR_BLEND_TOOLTIP": "ဢá€á€ºá€žá€®á€žá€½á€„်ဢá¼á€ºá€œá€±á‚ƒá€¸áµá¼á€º á¸á€½á€™á€ºá€¸á¼á€™á€º á€žá‚…á¼á€ºá€¸á€¢á¼á€ºá€•á¼á€ºá€á‚†á‚‰ (0.0 - 1.0).",
+       "CONTROLS_REPEAT_HELPURL": "https://en.wikipedia.org/wiki/For_loop á€á‚ƒá‚‡á€á€°á€„်ႇမူá¼á€ºá€¸",
+       "CONTROLS_REPEAT_TITLE": "ပá¼á€ºá‚‡á¶á€­á€¯á¼á€ºá€¸ %1 áµá€™á€ºá€¸",
+       "CONTROLS_REPEAT_INPUT_DO": "á‚ဵá€á€ºá€¸",
+       "CONTROLS_REPEAT_TOOLTIP": "á‚ဵá€á€ºá€¸á¶á€±á‚ƒá‚ˆáµá€µá€•á€ºá€¸á€‘ွá¼á€ºáµá€™á€ºá‚ˆá½á€½á€„်ႈ á€á€„်းá¼á€™á€º",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "á¶á¢á€á€ºá€¸á€á€­á€¯áµá€ºá‚‰á€œá€­á€¯á€™á€ºá‚‰",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "á€á€­á€¯áµá€ºá‚‰á€œá€­á€¯á€™á€ºá‚‰á€‘ိုင်",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "ပေႃးá€á‚ƒá‚ˆ áµá‚ƒá‚ˆá¶á¼á€º (á¼á€™á€ºá‚‰áµá€á€ºá‚‰) á€™á¢á¼á€ºá‚‡á€™á‚…á¼á€ºá‚ˆá€šá€á€ºá‚‰á¸á€­á€¯á€„် á‚ဵá€á€ºá€¸á¶á€±á‚ƒá‚ˆáµá€µá€•á€ºá€¸á€‘ွá¼á€ºáµá€™á€ºá‚ˆá½á€½á€„်ႈ",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "ပေႃးá€á‚ƒá‚ˆ áµá‚ƒá‚ˆá¶á¼á€º (á¼á€™á€ºá‚‰áµá€á€ºá‚‰) á€¢á€™á€ºá‚‡á€™á¢á¼á€ºá‚‡á€™á‚…á¼á€ºá‚ˆá¸á€­á€¯á€„် á‚ဵá€á€ºá€¸á¶á€±á‚ƒá‚ˆáµá€µá€•á€ºá€¸á€‘ွá¼á€º áµá€™á€ºá‚ˆá½á€½á€„်ႈ",
+       "CONTROLS_FOR_TITLE": "á€á‚„ႇဢá¢á¼á€ºá‚‡áµá€­á€¯áµá€ºá€¸ %1 á€á€±á‚ƒá‚‡ %2 á€á€±á‚ƒá‚‡ %3 á€œá€°áºá€ºá‚ˆ %4",
+       "CONTROLS_FOREACH_TITLE": "á€á‚ƒá‚‡áµá€°á‚ˆá€¢á¼á€ºá€¢á¼á€º á¼á‚‚်း %1 á€žá€µá¼á€ºá‚ˆá€™á¢á‚† %2",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "ဢွáµá€ºá‚‡á€á€®á‚ˆá¶á€½á€•á€ºá‚‡á€™á€°á¼á€ºá€¸",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "သိုပ်ႇပá¼á€ºá‚‡á€‘ႅင်ႈ á¶á€½á€•á€ºá‚‡á€™á€°á¼á€ºá€¸á€á¢á€„်ႇဢá¼á€º",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "áµá€­á€¯á€á€ºá€¸á€•á‚…á€á€ºá‚ˆ á¶á€½á€•á€ºá‚‡á€™á€°á¼á€ºá€¸ á€¢á¼á€ºá€™á€®á€¸á€á‚†á‚‰",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "á€á€µá¼á€ºá‚‰á€á‚†á‚‰ á¶á€½á€•á€ºá‚‡á€™á€°á¼á€ºá€¸ á€¢á¼á€ºáµá€­á€¯á€á€ºá€¸á¸á€­á€°á€á€ºá‚ˆá€á‚†á‚‰, á€žá€± á€žá€­á€¯á€•á€ºá‚‡á€‘ႅင်ႈá€á¢á€„်ႇဢá¼á€º",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "á¾á¢á€„်ႉ: á€•á€œá€½áµá€ºá‚‰á€¢á¼á€ºá¼á‚†á‚‰ áµá€°áºá€ºá€¸á¸á‚‚်ႉလူáºá€ºá‚ˆá€á‚ƒá‚‡ á¶á€½á€•á€ºá‚‡á€™á€°á¼á€ºá€¸áµá€°áºá€ºá€¸",
+       "CONTROLS_IF_TOOLTIP_1": "ပေႃးá€á‚ƒá‚ˆ áµá‚ƒá‚ˆá¶á¼á€º (á¼á€™á€ºá‚‰áµá€á€ºá‚‰) á€™á¢á¼á€ºá‚‡á€™á‚…á¼á€ºá‚ˆá€šá€á€ºá‚‰á¸á€­á€¯á€„် á‚ဵá€á€ºá€¸á¶á€±á‚ƒá‚ˆáµá€µá€•á€ºá€¸á€‘ွá¼á€ºáµá€™á€ºá‚ˆá½á€½á€„်ႈ",
+       "CONTROLS_IF_TOOLTIP_2": "သင်á€á‚ƒá‚ˆ áµá‚ƒá‚ˆá¶á¼á€º(á¼á€™á€ºá‚‰áµá€á€ºá‚‰)မá¢á¼á€ºá‚‡á€™á‚…á¼á€ºá‚ˆá¸á€­á€¯á€„် á‚ဵá€á€ºá€¸á€•á€œá€½áµá€ºá‚‰á€¢á€½á¼á€ºá€á¢á€„်းသုá€á€ºá€¸ á€á€®á‚ˆá¼á‚‚်းá¶á€±á‚ƒá‚ˆáµá€µá€•á€ºá€¸á€‘ွá¼á€ºá€á‹ á€œá€­á€°á€á€ºá€žá€±á¼á¼á€ºá‚‰ á‚ဵá€á€ºá€¸á€•á‚…á€á€ºá‚ˆ á€•á€œá€½áµá€ºá‚‰á€žá€½á€„် á€á€®á‚ˆá¼á‚‚်းá¶á€±á‚ƒá‚ˆáµá€µá€•á€ºá€¸á€‘ွá¼á€º",
+       "CONTROLS_IF_TOOLTIP_3": "သင်á€á‚ƒá‚ˆ áµá‚ƒá‚ˆá¶á¼á€º(á¼á€™á€ºá‚‰áµá€á€ºá‚‰)မá¢á‚‰á¼á€­á€¯á€„်ႈ á€™á¢á¼á€ºá‚‡á€™á‚…á¼á€ºá‚ˆá¸á€­á€¯á€„် á‚ဵá€á€ºá€¸á€•á€œá€½áµá€ºá‚‰á€¢á€½á¼á€ºá€á¢á€„်းသုá€á€ºá€¸ á€á€®á‚ˆá¼á‚‚်းá¶á€±á‚ƒá‚ˆáµá€µá€•á€ºá€¸á€‘ွá¼á€ºá€á‹ á€žá€„်á€á‚ƒá‚ˆ áµá‚ƒá‚ˆá¶á¼á€º(á¼á€™á€ºá‚‰áµá€á€ºá‚‰)မá¢á‚†á€žá€½á€„်မá¢á¼á€ºá‚‡á€™á‚…á¼á€ºá‚ˆá¸á€­á€¯á€„်  á‚ဵá€á€ºá€¸á€•á‚…á€á€ºá‚ˆ á€•á€œá€½áµá€ºá‚‰á€žá€½á€„် á€á€®á‚ˆá¼á‚‚်းá¶á€±á‚ƒá‚ˆáµá€µá€•á€ºá€¸á€‘ွá¼á€º",
+       "CONTROLS_IF_TOOLTIP_4": "သင်á€á‚ƒá‚ˆ áµá‚ƒá‚ˆá¶á¼á€º(á¼á€™á€ºá‚‰áµá€á€ºá‚‰)မá¢á‚†á¼á€­á€¯á€„်ႈ á€™á¢á¼á€ºá‚‡á€™á‚…á¼á€ºá‚ˆá¸á€­á€¯á€„် á‚ဵá€á€ºá€¸á€•á€œá€½áµá€ºá‚‰á€¢á€½á¼á€ºá€á¢á€„်းသုá€á€ºá€¸ á€á€®á‚ˆá¼á‚‚်းá¶á€±á‚ƒá‚ˆáµá€µá€•á€ºá€¸á€‘ွá¼á€ºá€á‹ á€œá€­á€°á€á€ºá€žá€±á¼á¼á€ºá‚‰, á€žá€„်á€á‚ƒá‚ˆ áµá‚ƒá‚ˆá¶á¼á€º (á¼á€™á€ºá‚‰áµá€á€ºá‚‰) á€™á¢á‚†á€žá€½á€„် á€™á¢á¼á€ºá‚‡á€™á‚…á¼á€ºá‚ˆá¸á€­á€¯á€„် á‚ဵá€á€ºá€¸á€•á‚…á€á€ºá‚ˆ á€•á€œá€½áµá€ºá‚‰á€žá€½á€„် á€á€®á‚ˆá¼á‚‚်းá¶á€±á‚ƒá‚ˆáµá€µá€•á€ºá€¸á€‘ွá¼á€ºá€á‹ á€žá€„်á€á‚ƒá‚ˆ áµá‚ƒá‚ˆá¶á¼á€º(á¼á€™á€ºá‚‰áµá€á€ºá‚‰) á€¢á€™á€ºá‚‡á€™á€®á€¸á€œá€½á€„်ႈမá¢á¼á€ºá‚‡á€™á‚…á¼á€ºá‚ˆ á€žá€„်á¸á€­á€¯á€„် á‚ဵá€á€ºá€¸á€•á‚…á€á€ºá‚ˆá€•á€œá€½áµá€ºá‚‰ áµá€™á€ºá€¸á€œá€­á€¯á€™á€ºá€¸ á€á€®á‚ˆá¼á‚‚်းá¶á€±á‚ƒá‚ˆáµá€µá€•á€ºá€¸á€‘ွá¼á€ºá€á‹",
+       "CONTROLS_IF_MSG_IF": "သင်á€á‚ƒá‚ˆ",
+       "CONTROLS_IF_MSG_ELSEIF": "သင်á€á‚ƒá‚ˆ á€œá€­á€°á€á€ºá€žá€±á¼á¼á€ºá‚‰",
+       "CONTROLS_IF_MSG_ELSE": "လိူá€á€ºá€žá€±á¼á¼á€ºá‚‰",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "သင်á€á‚ƒá‚ˆ á€•á€œá€½áµá€ºá‚‰á¸á€­á€¯á€„် á€žá‚‚်ႇပá¼á€ºá€œá€½á€„်ႈá€á¢á€„်းမá¼á€ºá€¸ á€á€™á€ºá‚ˆ",
+       "CONTROLS_IF_ELSE_TOOLTIP": "သႂ်ႇáµá€™á€ºá€¸á€œá€­á€¯á¼á€ºá€¸, á€žá€„်á€á‚ƒá‚ˆ á€•á€œá€½áµá€ºá‚‰á¸á€­á€¯á€„် á€¢á€á€ºá€œá€½á€„်ႈá€á¢á€„်းမá¼á€ºá€¸á€á€„်းသဵင်ႈ á€á€™á€ºá‚ˆ",
+       "LOGIC_COMPARE_HELPURL": "https://en.wikipedia.org/wiki/Inequality_(ပá¢á‚†á€¸á¼á€•á€ºá‚‰)",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "သင်á€á‚ƒá‚ˆ á€¢á¼á€ºá½á€­á€°á€™á€ºá‚‰á€žá‚‚်ႇ á€á€„်းသွင် á€™á€­á€°á¼á€ºá€á¢á€„်ႇဢá¼á€ºá¸á€­á€¯á€„် á€™á‚„းá¶á€­á€¯á¼á€ºá€¸ á‚ႂ်ႈမá¢á¼á€ºá‚‡á€™á‚…á¼á€ºá‚ˆ",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "သင်á€á‚ƒá‚ˆ á€¢á¼á€ºá½á€­á€°á€™á€ºá‚‰á€žá‚‚်ႇ á€á€„်းသွင် á€¢á€™á€ºá‚‡á€™á€­á€°á¼á€ºá€á¢á€„်ႇဢá¼á€ºá¸á€­á€¯á€„် á€™á‚„းá¶á€­á€¯á¼á€ºá€¸ á‚ႂ်ႈမá¢á¼á€ºá‚‡á€™á‚…á¼á€ºá‚ˆ",
+       "LOGIC_COMPARE_TOOLTIP_LT": "သင်á€á‚ƒá‚ˆ á€¢á¼á€ºá½á€­á€°á€™á€ºá‚‰á€žá‚‚်ႇ á€¢á€½á¼á€ºá€á¢á€„်း á€™á€­á€°á¼á€º á€¢á¼á€ºá½á€­á€°á€™á€ºá‚‰á€žá‚‚်ႇ á€™á¢á‚†á€žá€½á€„်á¸á€­á€¯á€„် á€™á‚„းá¶á€­á€¯á¼á€ºá€¸ á‚ႂ်ႈမá¢á¼á€ºá‚‡á€™á‚…á¼á€ºá‚ˆ",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "သင်á€á‚ƒá‚ˆ á€¢á¼á€ºá½á€­á€°á€™á€ºá‚‰á€žá‚‚်ႇ á€¢á€½á¼á€ºá€á¢á€„်း á€™á€­á€°á¼á€º á€¢á€™á€ºá‚‡á¼á¼á€º á½á€µá€„်ႇပဵင်း á€¢á¼á€ºá½á€­á€°á€™á€ºá‚‰á€žá‚‚်ႇ á€™á¢á‚†á€žá€½á€„်á¸á€­á€¯á€„် á€™á‚„းá¶á€­á€¯á¼á€ºá€¸ á‚ႂ်ႈမá¢á¼á€ºá‚‡á€™á‚…á¼á€ºá‚ˆ",
+       "LOGIC_COMPARE_TOOLTIP_GT": "သင်á€á‚ƒá‚ˆ á€¢á¼á€ºá½á€­á€°á€™á€ºá‚‰á€žá‚‚်ႇ á€¢á€½á¼á€ºá€á¢á€„်း á€šá‚‚်ႇလိူá€á€º á€¢á¼á€ºá½á€­á€°á€™á€ºá‚‰á€žá‚‚်ႇ á€™á¢á‚†á€žá€½á€„်á¸á€­á€¯á€„် á€™á‚„းá¶á€­á€¯á¼á€ºá€¸ á‚ႂ်ႈမá¢á¼á€ºá‚‡á€™á‚…á¼á€ºá‚ˆ",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "သင်á€á‚ƒá‚ˆ á€¢á¼á€ºá½á€­á€°á€™á€ºá‚‰á€žá‚‚်ႇ á€¢á€½á¼á€ºá€á¢á€„်း á€šá‚‚်ႇလိူá€á€º á€¢á€™á€ºá‚‡á¼á¼á€º á½á€µá€„်ႇပဵင်း á€¢á¼á€ºá½á€­á€°á€™á€ºá‚‰á€žá‚‚်ႇ á€™á¢á‚†á€žá€½á€„်á¸á€­á€¯á€„် á€™á‚„းá¶á€­á€¯á¼á€ºá€¸ á‚ႂ်ႈမá¢á¼á€ºá‚‡á€™á‚…á¼á€ºá‚ˆ",
+       "LOGIC_OPERATION_TOOLTIP_AND": "သင်á€á‚ƒá‚ˆ á€¢á¼á€ºá½á€­á€°á€™á€ºá‚‰á€žá‚‚်ႇ á€á€„်းသွင်ဢá¼á€º á€™á¢á¼á€ºá‚‡á€™á‚…á¼á€ºá‚ˆá¸á€­á€¯á€„်á¸á€­á€¯á€„် á€™á‚„းá¶á€­á€¯á¼á€ºá€¸ á‚ႂ်ႈမá¢á¼á€ºá‚‡á€™á‚…á¼á€ºá‚ˆ",
+       "LOGIC_OPERATION_AND": "လႄႈ",
+       "LOGIC_OPERATION_TOOLTIP_OR": "သင်á€á‚ƒá‚ˆ á€¢á¼á€ºá½á€­á€°á€™á€ºá‚‰á€žá‚‚်ႇ áµá€™á€ºá€¸á€œá€­á€¯á¼á€ºá€¸á€žá€¯á€á€ºá€¸ á€™á¢á¼á€ºá‚‡á€™á‚…á¼á€ºá‚ˆá¸á€­á€¯á€„် á€™á‚„းá¶á€­á€¯á¼á€ºá€¸ á‚ႂ်ႈမá¢á¼á€ºá‚‡á€™á‚…á¼á€ºá‚ˆ",
+       "LOGIC_OPERATION_OR": "ဢမ်ႇá¼á¼á€º",
+       "LOGIC_NEGATE_TITLE": "ဢမ်ႇá¸á‚‚်ႈ %1",
+       "LOGIC_NEGATE_TOOLTIP": "သင်á€á‚ƒá‚ˆ á€¢á¼á€ºá½á€­á€°á€™á€ºá‚‰á€žá‚‚်ႇ á€¢á€™á€ºá‚‡á¼á‚…á¼á€ºá‚ˆá¼á‚ƒá¸á€­á€¯á€„် á€™á‚„းá¶á€­á€¯á¼á€ºá€¸ á‚ႂ်ႈမá¢á¼á€ºá‚‡á€™á‚…á¼á€ºá‚ˆá‹ á€žá€„်á€á‚ƒá‚ˆ á€¢á¼á€ºá½á€­á€°á€™á€ºá‚‰á€žá‚‚်ႇ á€™á¢á¼á€ºá‚‡á€™á‚…á¼á€ºá‚ˆá¸á€­á€¯á€„် á¶á€­á€¯á¼á€ºá€¸á€™á€°á¼á€ºá‚‰á€™á‚„း á‚ႂ်ႈá¼á‚…á¼á€ºá‚ˆá¼á‚ƒ",
+       "LOGIC_BOOLEAN_TRUE": "မá¢á¼á€ºá‚‡á€™á‚…á¼á€ºá‚ˆ",
+       "LOGIC_BOOLEAN_FALSE": "ဢမ်ႇá¼á‚…á¼á€ºá‚ˆá¼á‚ƒ",
+       "LOGIC_BOOLEAN_TOOLTIP": "မá¢á¼á€ºá‚‡á€™á‚…á¼á€ºá‚ˆá€œá‚„ႈသင် á€¢á€™á€ºá‚‡á¼á‚…á¼á€ºá‚ˆá¼á‚ƒá€œá‚„ႈသင် á‚ူá¼á€ºá¶á€­á€¯á¼á€ºá€¸",
+       "LOGIC_NULL": "ဢမ်ႇá¶á€á€ºá‚ˆá¶á‚‚á¢á€„်ႇ",
+       "LOGIC_NULL_TOOLTIP": "လဵá€á€ºá¶á€­á€¯á¼á€ºá€¸ á€¢á€™á€ºá‚‡á¶á€á€ºá‚ˆá¶á‚‚á¢á€„်ႇ",
+       "LOGIC_TERNARY_CONDITION": "á¸á¢á€™á€ºá€¸",
+       "LOGIC_TERNARY_IF_TRUE": "သင်á€á‚ƒá‚ˆ á€™á¢á¼á€ºá‚‡á€™á‚…á¼á€ºá‚ˆ",
+       "LOGIC_TERNARY_IF_FALSE": "သင်á€á‚ƒá‚ˆ á€¢á€™á€ºá‚‡á¼á‚…á¼á€ºá‚ˆá¼á‚ƒ",
+       "LOGIC_TERNARY_TOOLTIP": "á¸á¢á€™á€ºá€¸áµá€°á€á€ºá‚‡á€á€°áºá€ºá€¸ á€žá¢á‚†á€„á¢á‚†á‹ á€žá€„်á€á‚ƒá‚ˆ á€žá¢á‚†á€„á¢á‚†á€™á¢á¼á€ºá‚‡á€™á‚…á¼á€ºá‚ˆ, á€œá€µá€á€ºá¶á€­á€¯á¼á€ºá€¸ áµá‚ƒá‚ˆá¶á¼á€º (á¼á€™á€ºá‚‰áµá€á€ºá‚‰) 'သင်မá¢á¼á€ºá‚‡á€™á‚…á¼á€ºá‚ˆ'; á€œá€­á€°á€á€ºá¼á¼á€ºá‚‰ á€œá€µá€á€ºá¶á€­á€¯á¼á€ºá€¸ áµá‚ƒá‚ˆá¶á¼á€º (á¼á€™á€ºá‚‰áµá€á€ºá‚‰) 'သင်ဢမ်ႇá¼á‚…á¼á€ºá‚ˆá¼á‚ƒ'á‹",
+       "MATH_NUMBER_HELPURL": "https://en.wikipedia.org/wiki/မá¢á‚†á¼á€•á€ºá‚‰",
+       "MATH_NUMBER_TOOLTIP": "မá¢á‚†á¼á€•á€ºá‚‰ á¼á€­á€¯á€„်ႈဢá¼á€º",
+       "MATH_ARITHMETIC_HELPURL": "https://en.wikipedia.org/wiki/ပá¢á‚†á€¸á¼á€•á€ºá‚‰",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "လဵá€á€ºá¶á€­á€¯á¼á€ºá€¸ á€á¢á€„်းá¼á€™á€º á¼á‚‚်းမá¢á‚†á¼á€•á€ºá‚‰ á€žá€½á€„်",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "လဵá€á€ºá¶á€­á€¯á¼á€ºá€¸ á€¢á¼á€ºá€•á‚…áµá€ºá‚‡á€•á€­á€°á€„်ႈ á¼á‚‚်းမá¢á‚†á¼á€•á€ºá‚‰ á€žá€½á€„်",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "လဵá€á€ºá¶á€­á€¯á¼á€ºá€¸ á€¢á¼á€ºá€¢á€á€ºá€¢á€½áµá€ºá‚‡ á¼á‚‚်းမá¢á‚†á¼á€•á€ºá‚‰ á€žá€½á€„်",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "လဵá€á€ºá¶á€­á€¯á¼á€ºá€¸ á€•á€™á‚ƒá‚‡á¼ á¼á‚‚်းမá¢á‚†á¼á€•á€ºá‚‰ á€žá€½á€„်",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "လဵá€á€ºá¶á€­á€¯á¼á€ºá€¸ á€á€°á€á€ºá¼á€•á€ºá‚‰á€™á¢á‚†á¼á€­á€¯á€„်ႈá¼á‚†á‚‰ á¸á€½á‚†á‚ˆá‚ႅင်းပá¼á€º á€á€°á€á€ºá¼á€•á€ºá‚‰á€™á¢á‚†á€žá€½á€„်",
+       "MATH_SINGLE_HELPURL": "https://en.wikipedia.org/wiki/Square_root (မá¢á‚†á€á€°á€•á€ºá‚‰á€™á€­á€°á¼á€º)",
+       "MATH_SINGLE_OP_ROOT": "မá¢á‚†á€á€°á€•á€ºá‚‰á€™á€­á€°á¼á€º",
+       "MATH_SINGLE_TOOLTIP_ROOT": "လဵá€á€ºá¶á€­á€¯á¼á€ºá€¸ á€™á¢á‚†á€á€°á€•á€ºá‚‰á€™á€­á€°á¼á€º á¼á‚‚်းမá¢á‚†á¼á€•á€ºá‚‰",
+       "MATH_SINGLE_OP_ABSOLUTE": "ပáµá€á€­",
+       "MATH_SINGLE_TOOLTIP_ABS": "လဵá€á€ºá¶á€­á€¯á¼á€ºá€¸ áµá‚ƒá‚ˆá¶á¼á€º (á¼á€™á€ºá‚‰áµá€á€ºá‚‰) á€•áµá€á€­ á¼á‚‚်းမá¢á‚†á¼á€•á€ºá‚‰",
+       "MATH_SINGLE_TOOLTIP_NEG": "လဵá€á€ºá¶á€­á€¯á¼á€ºá€¸ á€¢á¼á€ºá€žá¢á¼á€ºá¶á€á€ºá€¸ á¼á‚‚်း á€™á¢á‚†á¼á€•á€ºá‚‰",
+       "MATH_SINGLE_TOOLTIP_LN": "လဵá€á€ºá¶á€­á€¯á¼á€ºá€¸ á€œá€½áµá€ºá€¸á€œá¢á‚†á€¸á¼á€•á€ºá‚‰ á¼á‚‚်းမá¢á‚†á¼á€•á€ºá‚‰",
+       "MATH_SINGLE_TOOLTIP_LOG10": "လဵá€á€ºá¶á€­á€¯á¼á€ºá€¸ á€•á€­á€¯á¼á€ºá‚‰á€‘á¢á¼á€º 10 á€œá€½áµá€ºá€¸á€œá¢á‚†á€¸á¼á€•á€ºá‚‰ á¼á‚‚်းမá¢á‚†á¼á€•á€ºá‚‰",
+       "MATH_SINGLE_TOOLTIP_EXP": "လဵá€á€ºá¶á€­á€¯á¼á€ºá€¸ e áµá‚‚ႃႇá€á€®á‚ˆ á€•á‚ƒá‚‡á€á‚ƒá‚‡ á¼á‚‚်းမá¢á‚†á¼á€•á€ºá‚‰",
+       "MATH_SINGLE_TOOLTIP_POW10": "လဵá€á€ºá¶á€­á€¯á¼á€ºá€¸ 10 áµá‚‚ႃႇá€á€®á‚ˆ á€•á‚ƒá‚‡á€á‚ƒá‚‡ á¼á‚‚်းမá¢á‚†á¼á€•á€ºá‚‰",
+       "MATH_IS_EVEN": "ပဵá¼á€ºáµá€°á€•á€ºá‚‰",
+       "MATH_IS_ODD": "ပဵá¼á€ºáµá€­áµá€ºá‚ˆ"
+}
diff --git a/js/msg/json/sk.json b/js/msg/json/sk.json
new file mode 100644 (file)
index 0000000..0dea601
--- /dev/null
@@ -0,0 +1,345 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Jaroslav.micek",
+                       "Marian.stano",
+                       "Mark",
+                       "Kusavica",
+                       "Genhis",
+                       "Lexected",
+                       "Adams",
+                       "TomášPolonec",
+                       "Pmikolas44"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "prvok",
+       "TODAY": "Dnes",
+       "DUPLICATE_BLOCK": "DuplikovaÅ¥",
+       "ADD_COMMENT": "PridaÅ¥ komentár",
+       "REMOVE_COMMENT": "OdstrániÅ¥ komentár",
+       "EXTERNAL_INPUTS": "VonkajÅ¡ie vstupy",
+       "INLINE_INPUTS": "Riadkové vstupy",
+       "DELETE_BLOCK": "OdstrániÅ¥ blok",
+       "DELETE_X_BLOCKS": "OdstrániÅ¥ %1 blokov",
+       "DELETE_ALL_BLOCKS": "ZmazaÅ¥ vÅ¡etkých %1 dielcov?",
+       "CLEAN_UP": "NarovnaÅ¥ bloky",
+       "COLLAPSE_BLOCK": "Zvinúť blok",
+       "COLLAPSE_ALL": "Zvinúť bloky",
+       "EXPAND_BLOCK": "Rozvinúť blok",
+       "EXPAND_ALL": "Rozvinúť bloky",
+       "DISABLE_BLOCK": "Vypnúť blok",
+       "ENABLE_BLOCK": "PovoliÅ¥ blok",
+       "HELP": "Pomoc",
+       "UNDO": "Späť",
+       "REDO": "Znova",
+       "CHANGE_VALUE_TITLE": "ZmeniÅ¥ hodnotu:",
+       "RENAME_VARIABLE": "PremenovaÅ¥ premennú...",
+       "RENAME_VARIABLE_TITLE": "PremenovaÅ¥ vÅ¡etky premenné '%1' na:",
+       "NEW_VARIABLE": "VytvoriÅ¥ premennú...",
+       "NEW_VARIABLE_TITLE": "Názov novej premennej:",
+       "VARIABLE_ALREADY_EXISTS": "Premenná s názvom %1 už existuje.",
+       "VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE": "Premenná s názvom '%1' už existuje pre inú premennú typu '%2'.",
+       "DELETE_VARIABLE_CONFIRMATION": "OdstrániÅ¥ %1 použití premennej '%2'?",
+       "CANNOT_DELETE_VARIABLE_PROCEDURE": "Nie je možné zmazaÅ¥ premennú â€ž%1“, pretože je súÄasÅ¥ou definície funkcie â€ž%2“",
+       "DELETE_VARIABLE": "OdstrániÅ¥ premennú '%1'",
+       "COLOUR_PICKER_HELPURL": "https://en.wikipedia.org/wiki/Color",
+       "COLOUR_PICKER_TOOLTIP": "Zvoľte farbu z palety.",
+       "COLOUR_RANDOM_TITLE": "náhodná farba",
+       "COLOUR_RANDOM_TOOLTIP": "ZvoliÅ¥ farbu náhodne.",
+       "COLOUR_RGB_TITLE": "ofarbiÅ¥ s",
+       "COLOUR_RGB_RED": "Äervená",
+       "COLOUR_RGB_GREEN": "zelená",
+       "COLOUR_RGB_BLUE": "modrá",
+       "COLOUR_RGB_TOOLTIP": "VytvoriÅ¥ farbu pomocou zadaného množstva Äervenej, zelenej a modrej. Množstvo musí byÅ¥ medzi 0 a 100.",
+       "COLOUR_BLEND_TITLE": "zmieÅ¡aÅ¥",
+       "COLOUR_BLEND_COLOUR1": "farba 1",
+       "COLOUR_BLEND_COLOUR2": "farba 2",
+       "COLOUR_BLEND_RATIO": "pomer",
+       "COLOUR_BLEND_TOOLTIP": "ZmieÅ¡a dve farby v danom pomere (0.0 - 1.0).",
+       "CONTROLS_REPEAT_HELPURL": "https://en.wikipedia.org/wiki/For_loop",
+       "CONTROLS_REPEAT_TITLE": "opakuj %1 krát",
+       "CONTROLS_REPEAT_INPUT_DO": "rob",
+       "CONTROLS_REPEAT_TOOLTIP": "Opakuj urÄité príkazy viackrát.",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "opakuj kým",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "opakuj kým nebude",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "Kým je hodnota pravdivá, vykonávaj príkazy.",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "Kým je hodnota nepravdivá, vykonávaj príkazy.",
+       "CONTROLS_FOR_TOOLTIP": "Nechá premennú '%1' nadobúdaÅ¥ hodnoty od zaÄiatoÄného Äísla po koneÄné s daným medzikrokom a vykoná zadané bloky.",
+       "CONTROLS_FOR_TITLE": "poÄítaÅ¥ s %1 od %2 do %3 o %4",
+       "CONTROLS_FOREACH_TITLE": "pre každý prvok %1 v zozname %2",
+       "CONTROLS_FOREACH_TOOLTIP": "Pre každý prvok v zozname priraÄ jeho hodnotu do premenej '%1' a vykonaj príkazy.",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "opustiÅ¥ sluÄku",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "prejdi na nasledujúce opakovanie sluÄky",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "OpustiÅ¥ túto sluÄku.",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "VynechaÅ¥ zvyÅ¡ok tejto sluÄky a pokraÄovaÅ¥ Äalším opakovaním.",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "Upozornenie: Tento blok sa môže používaÅ¥ len v rámci sluÄky.",
+       "CONTROLS_IF_TOOLTIP_1": "Ak je hodnota pravda, vykonaj príkazy.",
+       "CONTROLS_IF_TOOLTIP_2": "Ak je hodnota pravda, vykonaj príkazy v prvom bloku. Inak vykonaj príkazy v druhom bloku.",
+       "CONTROLS_IF_TOOLTIP_3": "Ak je prvá hodnota pravda, vykonaj príkazy v prvom bloku. Inak, ak je druhá hodnota pravda, vykonaj príkazy v druhom bloku.",
+       "CONTROLS_IF_TOOLTIP_4": "Ak je prvá hodnota pravda, vykonaj príkazy v prvom bloku. Inak, ak je druhá hodnota pravda, vykonaj príkazy v druhom bloku. Ak ani jedna hodnota nie je pravda, vykonaj príkazy v poslednom bloku.",
+       "CONTROLS_IF_MSG_IF": "ak",
+       "CONTROLS_IF_MSG_ELSEIF": "inak ak",
+       "CONTROLS_IF_MSG_ELSE": "inak",
+       "CONTROLS_IF_IF_TOOLTIP": "PridaÅ¥, odstrániÅ¥ alebo zmeniÅ¥ poradie oddielov tohto \"ak\" bloku.",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "PridaÅ¥ podmienku k \"ak\" bloku.",
+       "CONTROLS_IF_ELSE_TOOLTIP": "PridaÅ¥ poslednú záchytnú podmienku k \"ak\" bloku.",
+       "IOS_OK": "OK",
+       "IOS_CANCEL": "ZruÅ¡iÅ¥",
+       "IOS_ERROR": "Chyba",
+       "IOS_PROCEDURES_INPUTS": "Vstupy",
+       "IOS_PROCEDURES_ADD_INPUT": "+ PridaÅ¥ vstup",
+       "IOS_PROCEDURES_ALLOW_STATEMENTS": "Povoľujú príkazy",
+       "IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR": "Táto funkcia obsahuje duplikáty vstupov.",
+       "IOS_VARIABLES_ADD_VARIABLE": "+ PridaÅ¥ premennú",
+       "IOS_VARIABLES_ADD_BUTTON": "PridaÅ¥",
+       "IOS_VARIABLES_RENAME_BUTTON": "PremenovaÅ¥",
+       "IOS_VARIABLES_DELETE_BUTTON": "ZmazaÅ¥",
+       "IOS_VARIABLES_VARIABLE_NAME": "Názov premennej",
+       "IOS_VARIABLES_EMPTY_NAME_ERROR": "Nie je možné použiÅ¥ premennú bez mena.",
+       "LOGIC_COMPARE_HELPURL": "https://en.wikipedia.org/wiki/Inequality_(mathematics)",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "Vráť hodnotu pravda, ak sú vstupy rovnaké.",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "Vráť hodnotu pravda, ak vstupy nie sú rovnaké.",
+       "LOGIC_COMPARE_TOOLTIP_LT": "Vráť hodnotu pravda, ak prvý vstup je menší než druhý.",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "Vráť hodnotu pravda ak prvý vstup je menší alebo rovný druhému.",
+       "LOGIC_COMPARE_TOOLTIP_GT": "Vráť hodnotu pravda ak prvý vstup je väÄší než druhý.",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "Vráť hodnotu pravda ak prvý vstup je väÄší alebo rovný druhému.",
+       "LOGIC_OPERATION_TOOLTIP_AND": "Vráť hodnotu pravda, ak sú vstupy pravdivé.",
+       "LOGIC_OPERATION_AND": "a",
+       "LOGIC_OPERATION_TOOLTIP_OR": "Vráť hodnotu pravda, ak je aspoň jeden vstup pravda.",
+       "LOGIC_OPERATION_OR": "alebo",
+       "LOGIC_NEGATE_TITLE": "nie je %1",
+       "LOGIC_NEGATE_TOOLTIP": "Vráti hodnotu pravda, ak je vstup nepravda. Vráti hodnotu nepravda ak je vstup pravda.",
+       "LOGIC_BOOLEAN_TRUE": "pravda",
+       "LOGIC_BOOLEAN_FALSE": "nepravda",
+       "LOGIC_BOOLEAN_TOOLTIP": "Vráť buÄ hodnotu pravda alebo nepravda.",
+       "LOGIC_NULL": "niÄ",
+       "LOGIC_NULL_TOOLTIP": "Vráti hodnotu nula.",
+       "LOGIC_TERNARY_CONDITION": "test",
+       "LOGIC_TERNARY_IF_TRUE": "ak pravda",
+       "LOGIC_TERNARY_IF_FALSE": "ak nepravda",
+       "LOGIC_TERNARY_TOOLTIP": "Skontroluj podmienku testom. Ak je podmienka pravda, vráť hodnotu \"ak pravda\", inak vráť hodnotu \"ak nepravda\".",
+       "MATH_NUMBER_HELPURL": "https://en.wikipedia.org/wiki/Number",
+       "MATH_NUMBER_TOOLTIP": "Číslo.",
+       "MATH_TRIG_ASIN": "arcsin",
+       "MATH_TRIG_ACOS": "arccos",
+       "MATH_TRIG_ATAN": "arctan",
+       "MATH_ARITHMETIC_HELPURL": "https://en.wikipedia.org/wiki/Arithmetic",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "Vráť súÄet dvoch Äísel.",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "Vráť rozdiel dvoch Äísel.",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "Vráť súÄin dvoch Äísel.",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "Vráť podiel dvoch Äísel.",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "Vráť prvé Äíslo umocnené druhým.",
+       "MATH_SINGLE_HELPURL": "https://en.wikipedia.org/wiki/Square_root",
+       "MATH_SINGLE_OP_ROOT": "druhá odmocnina",
+       "MATH_SINGLE_TOOLTIP_ROOT": "Vráť druhú odmocninu Äísla.",
+       "MATH_SINGLE_OP_ABSOLUTE": "absolútna hodnota",
+       "MATH_SINGLE_TOOLTIP_ABS": "Vráť absolútnu hodnotu Äísla.",
+       "MATH_SINGLE_TOOLTIP_NEG": "Vráť opaÄné Äíslo.",
+       "MATH_SINGLE_TOOLTIP_LN": "Vráť prirodzený logaritmus Äísla.",
+       "MATH_SINGLE_TOOLTIP_LOG10": "Vráť logaritmus Äísla so základom 10.",
+       "MATH_SINGLE_TOOLTIP_EXP": "Vráť e umocnené Äíslom.",
+       "MATH_SINGLE_TOOLTIP_POW10": "Vráť 10 umocnené Äíslom.",
+       "MATH_TRIG_HELPURL": "https://en.wikipedia.org/wiki/Trigonometric_functions",
+       "MATH_TRIG_TOOLTIP_SIN": "Vráť sínus uhla (v stupňoch).",
+       "MATH_TRIG_TOOLTIP_COS": "Vráť kosínus uhla (v stupňoch).",
+       "MATH_TRIG_TOOLTIP_TAN": "Vráť tangens uhla (v stupňoch).",
+       "MATH_TRIG_TOOLTIP_ASIN": "Vráť arkus sínus Äísla.",
+       "MATH_TRIG_TOOLTIP_ACOS": "Vráť arkus kosínus Äísla.",
+       "MATH_TRIG_TOOLTIP_ATAN": "Vráť arkus tangens Äísla.",
+       "MATH_CONSTANT_HELPURL": "https://en.wikipedia.org/wiki/Mathematical_constant‎",
+       "MATH_CONSTANT_TOOLTIP": "Vráť jednu zo zvyÄajných konÅ¡tánt: Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), alebo âˆž (nekoneÄno).",
+       "MATH_IS_EVEN": "je párne",
+       "MATH_IS_ODD": "je nepárne",
+       "MATH_IS_PRIME": "je prvoÄíslo",
+       "MATH_IS_WHOLE": "je celé Äíslo",
+       "MATH_IS_POSITIVE": "je kladné",
+       "MATH_IS_NEGATIVE": "je záporné",
+       "MATH_IS_DIVISIBLE_BY": "je deliteľné",
+       "MATH_IS_TOOLTIP": "Skontroluj Äi je Äíslo párne, nepárne, celé, kladné, záporné alebo deliteľné urÄitým Äíslom. Vráť hodnotu pravda alebo nepravda.",
+       "MATH_CHANGE_HELPURL": "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter",
+       "MATH_CHANGE_TITLE": "zmeniÅ¥ %1 o %2",
+       "MATH_CHANGE_TOOLTIP": "Pridaj Äíslo do premennej \"%1\".",
+       "MATH_ROUND_HELPURL": "https://en.wikipedia.org/wiki/Rounding",
+       "MATH_ROUND_TOOLTIP": "Zaokrúhli Äíslo nahor alebo nadol.",
+       "MATH_ROUND_OPERATOR_ROUND": "zaokrúhli",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "zaokrúhli nahor",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "zaokrúhli nadol",
+       "MATH_ONLIST_OPERATOR_SUM": "súÄet zoznamu",
+       "MATH_ONLIST_TOOLTIP_SUM": "Vráť súÄet vÅ¡etkých Äísel v zozname.",
+       "MATH_ONLIST_OPERATOR_MIN": "najmenÅ¡ie v zozname",
+       "MATH_ONLIST_TOOLTIP_MIN": "VrátiÅ¥ najmenÅ¡ie Äíslo v zozname.",
+       "MATH_ONLIST_OPERATOR_MAX": "najväÄÅ¡ie v zozname",
+       "MATH_ONLIST_TOOLTIP_MAX": "VrátiÅ¥ najväÄÅ¡ie Äíslo v zozname.",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "priemer zoznamu",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "Vráť aritmetický priemer Äísel v zozname.",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "medián zoznamu",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "Vráť medián Äísel v zozname.",
+       "MATH_ONLIST_OPERATOR_MODE": "najÄastejÅ¡ie v zozname",
+       "MATH_ONLIST_TOOLTIP_MODE": "VrátiÅ¥ najÄastejší prvok v zozname.",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "smerodajná odchýlka zoznamu",
+       "MATH_ONLIST_TOOLTIP_STD_DEV": "Vráť smeroddajnú odchýlku zoznamu.",
+       "MATH_ONLIST_OPERATOR_RANDOM": "náhodný prvok zoznamu",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "Vráť náhodne zvolený prvok zoznamu.",
+       "MATH_MODULO_HELPURL": "https://en.wikipedia.org/wiki/Modulo_operation",
+       "MATH_MODULO_TITLE": "zvyÅ¡ok po delení %1 + %2",
+       "MATH_MODULO_TOOLTIP": "Vráť zvyÅ¡ok po delení jedného Äísla druhým.",
+       "MATH_CONSTRAIN_TITLE": "obmedz %1 od %2 do %3",
+       "MATH_CONSTRAIN_TOOLTIP": "Obmedzí Äíslo do zadaných hraníc (vrátane).",
+       "MATH_RANDOM_INT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_INT_TITLE": "náhodné celé Äíslo od %1 do %2",
+       "MATH_RANDOM_INT_TOOLTIP": "Vráť náhodné celé Äíslo z urÄeného intervalu (vrátane).",
+       "MATH_RANDOM_FLOAT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "náhodné Äíslo od 0 do 1",
+       "MATH_RANDOM_FLOAT_TOOLTIP": "Vráť náhodné Äíslo z intervalu 0.0 (vrátane) až 1.0.",
+       "TEXT_TEXT_HELPURL": "https://en.wikipedia.org/wiki/String_(computer_science)",
+       "TEXT_TEXT_TOOLTIP": "Písmeno, slovo alebo riadok textu.",
+       "TEXT_JOIN_TITLE_CREATEWITH": "vytvor text z",
+       "TEXT_JOIN_TOOLTIP": "Vytvor text spojením urÄitého poÄtu prvkov.",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "spoj",
+       "TEXT_CREATE_JOIN_TOOLTIP": "Pridaj, odstráň alebo zmeň poradie oddielov v tomto textovom bloku.",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "Pridaj prvok do textu.",
+       "TEXT_APPEND_TITLE": "do %1 pridaj text %2",
+       "TEXT_APPEND_TOOLTIP": "Pridaj urÄitý text do premennej '%1'.",
+       "TEXT_LENGTH_TITLE": "dĺžka %1",
+       "TEXT_LENGTH_TOOLTIP": "Vráti poÄet písmen (s medzerami) v zadanom texte.",
+       "TEXT_ISEMPTY_TITLE": "%1 je prázdny",
+       "TEXT_ISEMPTY_TOOLTIP": "Vráti hodnotu pravda, ak zadaný text je prázdny.",
+       "TEXT_INDEXOF_TOOLTIP": "Vráti index prvého/posledného výskytu prvého textu v druhom texte. Ak nenájde, vráti %1.",
+       "TEXT_INDEXOF_TITLE": "v texte %1 %2 %3",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "nájdi prvý výskyt textu",
+       "TEXT_INDEXOF_OPERATOR_LAST": "nájdi posledný výskyt textu",
+       "TEXT_CHARAT_TITLE": "v texte %1 %2",
+       "TEXT_CHARAT_FROM_START": "zisti písmeno #",
+       "TEXT_CHARAT_FROM_END": "zisti # písmeno od konca",
+       "TEXT_CHARAT_FIRST": "zisti prvé písmeno",
+       "TEXT_CHARAT_LAST": "zisti posledné písmeno",
+       "TEXT_CHARAT_RANDOM": "vyber náhodné písmeno",
+       "TEXT_CHARAT_TOOLTIP": "Vráti písmeno na urÄenej pozícii.",
+       "TEXT_GET_SUBSTRING_TOOLTIP": "Vráti urÄenú ÄasÅ¥ textu.",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "v texte",
+       "TEXT_GET_SUBSTRING_START_FROM_START": "vyber podreÅ¥azec od písmena #",
+       "TEXT_GET_SUBSTRING_START_FROM_END": "vyber podreÅ¥azec od # písmena od konca",
+       "TEXT_GET_SUBSTRING_START_FIRST": "vyber podreÅ¥azec od zaÄiatku",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "po písmeno #",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "po # písmeno od konca",
+       "TEXT_GET_SUBSTRING_END_LAST": "po koniec",
+       "TEXT_CHANGECASE_TOOLTIP": "Vráť kópiu textu s inou veľkosÅ¥ou písmen.",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "na VEĽKÉ PÃSMENÃ",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "na malé písmená",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": "na Veľké ZaÄiatoÄné Písmená",
+       "TEXT_TRIM_TOOLTIP": "Vráť kópiu textu bez medzier na jednom alebo oboch koncoch.",
+       "TEXT_TRIM_OPERATOR_BOTH": "odstráň medzery z oboch strán",
+       "TEXT_TRIM_OPERATOR_LEFT": "odstráň medzery z Ä¾avej strany",
+       "TEXT_TRIM_OPERATOR_RIGHT": "odstráň medzery z pravej strany",
+       "TEXT_PRINT_TITLE": "píš %1",
+       "TEXT_PRINT_TOOLTIP": "Napíš zadaný text, Äíslo alebo hodnotu.",
+       "TEXT_PROMPT_TYPE_TEXT": "výzva za zadanie textu so správou",
+       "TEXT_PROMPT_TYPE_NUMBER": "výzva na zadanie Äísla so správou",
+       "TEXT_PROMPT_TOOLTIP_NUMBER": "Výzva pre používateľa na zadanie Äísla.",
+       "TEXT_PROMPT_TOOLTIP_TEXT": "Výzva pre používateľa na zadanie textu.",
+       "TEXT_COUNT_MESSAGE0": "poÄet výskytov %1 v %2",
+       "TEXT_COUNT_TOOLTIP": "PoÄet výskytov textu nachádzajúcom sa v inom texte.",
+       "TEXT_REPLACE_MESSAGE0": "zameniÅ¥ %1 za %2 v reÅ¥azci %3",
+       "TEXT_REPLACE_TOOLTIP": "ZameniÅ¥ vÅ¡etky výskyty textu za iný text.",
+       "TEXT_REVERSE_MESSAGE0": "text odzadu %1",
+       "TEXT_REVERSE_TOOLTIP": "ObrátiÅ¥ poradie písmen v texte.",
+       "LISTS_CREATE_EMPTY_TITLE": "prázdny zoznam",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "Vráti zoznam nulovej dĺžky, ktorý neobsahuje Å¾iadne prvky.",
+       "LISTS_CREATE_WITH_HELPURL": "https://github.com/google/blockly/wiki/Lists#create-list-with",
+       "LISTS_CREATE_WITH_TOOLTIP": "Vytvor zoznam s Ä¾ubovoľným poÄtom prvkov.",
+       "LISTS_CREATE_WITH_INPUT_WITH": "vytvor zoznam s",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "zoznam",
+       "LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "Pridaj, odstráň alebo zmeň poradie v tomto zoznamovom bloku.",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "Pridaj prvok do zoznamu.",
+       "LISTS_REPEAT_TOOLTIP": "Vytvorí zoznam s niekoľkými rovnakými prvkami s danou hodnotou.",
+       "LISTS_REPEAT_TITLE": "vytvor zoznam s prvkom %1 opakovaným %2 krát",
+       "LISTS_LENGTH_TITLE": "dĺžka %1",
+       "LISTS_LENGTH_TOOLTIP": "Vráti dĺžku zoznamu",
+       "LISTS_ISEMPTY_TITLE": "%1 je prázdny",
+       "LISTS_ISEMPTY_TOOLTIP": "Vráti pravda, ak je zoznam prázdny.",
+       "LISTS_INLIST": "v zozname",
+       "LISTS_INDEX_OF_FIRST": "nájdi prvý výskyt prvku",
+       "LISTS_INDEX_OF_LAST": "nájdi posledný výskyt prvku",
+       "LISTS_INDEX_OF_TOOLTIP": "Vráti index prvého/posledného výskytu prvku v zozname. Ak sa niÄ nenaÅ¡lo, vráti %1.",
+       "LISTS_GET_INDEX_GET": "zisti",
+       "LISTS_GET_INDEX_GET_REMOVE": "zisti a odstráň",
+       "LISTS_GET_INDEX_REMOVE": "odstráň",
+       "LISTS_GET_INDEX_FROM_END": "# od konca",
+       "LISTS_GET_INDEX_FIRST": "prvý",
+       "LISTS_GET_INDEX_LAST": "posledný",
+       "LISTS_GET_INDEX_RANDOM": "náhodný",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "%1 je poÄiatoÄný prvok.",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "%1 je posledný prvok.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "Vráti prvok na urÄenej pozícii v zozname.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "Vráti poÄiatoÄný prvok zoznamu.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "Vráti posledný prvok zoznamu.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "Vráti náhodný prvok zoznamu.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "Odstráni a vráti prvok z urÄenej pozície v zozname.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "Odstráni a vráti prvý prvok v zozname.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "Odstráni a vráti posledný prvok v zozname.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "Odstráni a vráti náhodný prvok v zozname.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "Odstráni prvok na urÄenej pozícii v zozname.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "Odstráni prvý prvok v zozname.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "Odstráni posledný prvok v zozname.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "Odstráni náhodný prvok v zozname.",
+       "LISTS_SET_INDEX_SET": "nastaviÅ¥",
+       "LISTS_SET_INDEX_INSERT": "vložiÅ¥ na",
+       "LISTS_SET_INDEX_INPUT_TO": "ako",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "Nastaví prvok na urÄenej pozícii v zozname.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "Nastaví prvý prvok v zozname.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_LAST": "Nastaví posledný prvok v zozname.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "Nastaví posledný prvok v zozname.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "Vsunie prvok na urÄenú pozíciu v zozname.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "Vsunie prvok na zaÄiatok zoznamu.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "Pripojí prvok na koniec zoznamu.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "Vsunie prvok na náhodné miesto v zozname.",
+       "LISTS_GET_SUBLIST_START_FROM_START": "získaÅ¥ podzoznam od #",
+       "LISTS_GET_SUBLIST_START_FROM_END": "ZískaÅ¥ podzoznam od # od konca",
+       "LISTS_GET_SUBLIST_START_FIRST": "ZískaÅ¥ podzoznam od zaÄiatku",
+       "LISTS_GET_SUBLIST_END_FROM_START": "po #",
+       "LISTS_GET_SUBLIST_END_FROM_END": "po # od konca",
+       "LISTS_GET_SUBLIST_END_LAST": "po koniec",
+       "LISTS_GET_SUBLIST_TOOLTIP": "Skopíruje urÄený Ãºsek zoznamu.",
+       "LISTS_SORT_HELPURL": "https://github.com/google/blockly/wiki/Lists#sorting-a-list",
+       "LISTS_SORT_TITLE": "zoradiÅ¥ %1 %2 %3",
+       "LISTS_SORT_TOOLTIP": "ZoradiÅ¥ kópiu zoznamu.",
+       "LISTS_SORT_ORDER_ASCENDING": "Vzostupne",
+       "LISTS_SORT_ORDER_DESCENDING": "Zostupne",
+       "LISTS_SORT_TYPE_NUMERIC": "numericky",
+       "LISTS_SORT_TYPE_TEXT": "abecedne",
+       "LISTS_SORT_TYPE_IGNORECASE": "abecedne, ignorovaÅ¥ veľkosÅ¥ písmen",
+       "LISTS_SPLIT_LIST_FROM_TEXT": "vytvoriÅ¥ zoznam z textu",
+       "LISTS_SPLIT_TEXT_FROM_LIST": "vytvoriÅ¥ text zo zoznamu",
+       "LISTS_SPLIT_WITH_DELIMITER": "s oddeľovaÄom",
+       "LISTS_SPLIT_TOOLTIP_SPLIT": "Rozdelenie textu do zoznamu textov, lámanie na oddeľovaÄoch.",
+       "LISTS_SPLIT_TOOLTIP_JOIN": "SpojiÅ¥ zoznam textov do jedného textu s oddeľovaÄmi.",
+       "LISTS_REVERSE_MESSAGE0": "obrátiÅ¥ %1",
+       "LISTS_REVERSE_TOOLTIP": "ObrátiÅ¥ kópiu zoznamu.",
+       "VARIABLES_GET_TOOLTIP": "Vráti hodnotu tejto premennej.",
+       "VARIABLES_GET_CREATE_SET": "VytvoriÅ¥ \"nastaviÅ¥ %1\"",
+       "VARIABLES_SET": "nastaviÅ¥ %1 na %2",
+       "VARIABLES_SET_TOOLTIP": "Nastaví túto premennú, aby sa rovnala vstupu.",
+       "VARIABLES_SET_CREATE_GET": "VytvoriÅ¥ \"získaÅ¥ %1\"",
+       "PROCEDURES_DEFNORETURN_TITLE": "na",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "urob nieÄo",
+       "PROCEDURES_BEFORE_PARAMS": "s:",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "s:",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "Vytvorí funciu bez výstupu.",
+       "PROCEDURES_DEFNORETURN_COMMENT": "Doplň, Äo robí táto funkcia...",
+       "PROCEDURES_DEFRETURN_RETURN": "vrátiÅ¥",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "Vytvorí funkciu s výstupom.",
+       "PROCEDURES_ALLOW_STATEMENTS": "povoliÅ¥ príkazy",
+       "PROCEDURES_DEF_DUPLICATE_WARNING": "Upozornenie: Táto funkcia má duplicitné parametre.",
+       "PROCEDURES_CALLNORETURN_HELPURL": "https://sk.wikipedia.org/wiki/Podprogram",
+       "PROCEDURES_CALLNORETURN_TOOLTIP": "Spustí používateľom definovanú funkciu '%1'.",
+       "PROCEDURES_CALLRETURN_HELPURL": "https://sk.wikipedia.org/wiki/Podprogram",
+       "PROCEDURES_CALLRETURN_TOOLTIP": "Spustí používateľom definovanú funkciu '%1' a použije jej výstup.",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "vstupy",
+       "PROCEDURES_MUTATORCONTAINER_TOOLTIP": "PridaÅ¥, odstrániÅ¥ alebo zmeniÅ¥ poradie vstupov tejto funkcie.",
+       "PROCEDURES_MUTATORARG_TITLE": "názov vstupu:",
+       "PROCEDURES_MUTATORARG_TOOLTIP": "PridaÅ¥ vstup do funkcie.",
+       "PROCEDURES_HIGHLIGHT_DEF": "ZvýrazniÅ¥ definíciu funkcie",
+       "PROCEDURES_CREATE_DO": "VytvoriÅ¥ '%1'",
+       "PROCEDURES_IFRETURN_TOOLTIP": "Ak je hodnota pravda, tak vráti druhú hodnotu.",
+       "PROCEDURES_IFRETURN_WARNING": "Upozornenie: Tento blok môže byÅ¥ len vo vnútri funkcie."
+}
diff --git a/js/msg/json/skr-arab.json b/js/msg/json/skr-arab.json
new file mode 100644 (file)
index 0000000..f115ea8
--- /dev/null
@@ -0,0 +1,109 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Saraiki"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "آئٹم",
+       "TODAY": "اڄ",
+       "DUPLICATE_BLOCK": "ڈپلیکیٹ",
+       "ADD_COMMENT": "تبصر۠کرو",
+       "REMOVE_COMMENT": "رائے Ù…ٹاؤ",
+       "EXTERNAL_INPUTS": "باÛرلے Ø§Ù†Ù¾Ù¹",
+       "INLINE_INPUTS": "ان Ù„ائن Ø§Ù† Ù¾Ù¹",
+       "DELETE_BLOCK": "بلاک Ù…ٹاؤ",
+       "DELETE_X_BLOCKS": "%1 Ø¨Ù„اکاں Ú©ÙˆÚº Ù…ٹاؤ",
+       "DELETE_ALL_BLOCKS": "بھلا %1 Ø¨Ù„اکاں Ú©ÙˆÚº Ù…ٹاؤں؟",
+       "CLEAN_UP": "بلاک ØµØ§Ù Ú©Ø±Ùˆ",
+       "COLLAPSE_BLOCK": "بلا Ú© Ú©Ù¹Ú¾Û’ Ú©Ø±Ùˆ",
+       "COLLAPSE_ALL": "بلاک Ú©Ù¹Ú¾Û’ Ú©Ø±Ùˆ",
+       "EXPAND_BLOCK": "بلاک Ú©Ú¾Ù†ÚˆØ§Ø¤",
+       "EXPAND_ALL": "بلاکوں Ú©ÙˆÚº Ú©Ú¾Ù†ÚˆØ§Ø¤",
+       "DISABLE_BLOCK": "بلاک Ûٹاؤ",
+       "ENABLE_BLOCK": "بلاک Ùعال Ú©Ø±Ùˆ",
+       "HELP": "مدد",
+       "UNDO": "واپس",
+       "REDO": "ولدا Ú©Ø±Ùˆ",
+       "CHANGE_VALUE_TITLE": "ویلیو ØªØ¨Ø¯ÛŒÙ„ Ú©Ø±Ùˆ:",
+       "RENAME_VARIABLE": "متغیر Ø¯Ø§ ÙˆÙ„دا Ù†Ø§Úº Ø±Ú©Ú¾ÙˆÛ”Û”Û”",
+       "NEW_VARIABLE": "متغیر Ø¨Ý¨Ø§Ø¤Û”Û”Û”",
+       "NEW_VARIABLE_TITLE": "نواں Ù…تغیر Ù†Ø§Úº:",
+       "VARIABLE_ALREADY_EXISTS": "'%1' Ù†Ø§Ù…ÛŒ Ù…تغیر Ù¾ÛÙ„Û’ Ù…وجود ÛÛ’Û”",
+       "COLOUR_RANDOM_TITLE": "بنا ØªØ±ØªÙŠØ¨ Ø±Ù†Ú¯",
+       "COLOUR_RGB_TITLE": "نال Ø±Ù†Ù˜Ú¯",
+       "COLOUR_RGB_RED": "رتا",
+       "COLOUR_RGB_GREEN": "ساوا",
+       "COLOUR_RGB_BLUE": "نیلا",
+       "COLOUR_BLEND_TITLE": "مرکب",
+       "COLOUR_BLEND_COLOUR1": "رنگ 1",
+       "COLOUR_BLEND_COLOUR2": "رنگ 2",
+       "COLOUR_BLEND_RATIO": "نسبت",
+       "CONTROLS_REPEAT_INPUT_DO": "کرو",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "تائیں Ø¯Ûرائے",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "گھیرے Ú©Ù†ÙˆÚº Ù»Ø§Ûر Ù†Ú©Ù„ݨ",
+       "CONTROLS_IF_MSG_IF": "جے",
+       "CONTROLS_IF_MSG_ELSEIF": "ٻیا Ø§Ú¯Ø±",
+       "CONTROLS_IF_MSG_ELSE": "وکھرا",
+       "IOS_OK": "ٹھیک ÛÛ’",
+       "IOS_CANCEL": "منسوخ",
+       "IOS_ERROR": "نقص",
+       "IOS_PROCEDURES_INPUTS": "ان Ù¾Ù¹",
+       "IOS_VARIABLES_ADD_VARIABLE": "+ Ù…تغیر Ø´Ø§Ù…Ù„ Ú©Ø±Ùˆ",
+       "IOS_VARIABLES_ADD_BUTTON": "شامل Ú©Ø±Ùˆ",
+       "IOS_VARIABLES_RENAME_BUTTON": "نواں Ù†Ø§Úº Ù„Ú©Ú¾Ùˆ",
+       "IOS_VARIABLES_DELETE_BUTTON": "مٹاؤ",
+       "IOS_VARIABLES_VARIABLE_NAME": "متغیر Ù†Ø§Úº",
+       "LOGIC_OPERATION_AND": "اتے",
+       "LOGIC_OPERATION_OR": "یا",
+       "LOGIC_NEGATE_TITLE": "%1 Ú©Ø§Ø¦Ù†ÛŒ",
+       "LOGIC_BOOLEAN_TRUE": "سچ",
+       "LOGIC_BOOLEAN_FALSE": "غلط",
+       "LOGIC_NULL": "کوئی ÙˆÛŒ Ú©Ø§Ø¦Ù†ÛŒ",
+       "LOGIC_TERNARY_CONDITION": "ٹیسٹ",
+       "LOGIC_TERNARY_IF_TRUE": "اگر Ø³Ú† ÛÛ’",
+       "LOGIC_TERNARY_IF_FALSE": "اگر Ú©ÙˆÚ‘ ÛÛ’",
+       "MATH_NUMBER_TOOLTIP": "ÛÚ© Ø¹Ø¯Ø¯",
+       "MATH_ARITHMETIC_HELPURL": "https://en.wikipedia.org/wiki/Arithmetic",
+       "MATH_SINGLE_OP_ROOT": "مربعی Ø¬Ø°Ø±",
+       "MATH_SINGLE_OP_ABSOLUTE": "مطلق",
+       "MATH_IS_EVEN": "جÙت ÛÛ’",
+       "MATH_IS_ODD": "طاق ÛÛ’",
+       "MATH_IS_PRIME": "Ù…Ùرد ÛÛ’",
+       "MATH_IS_WHOLE": "مکمل ÛÛ’",
+       "MATH_IS_POSITIVE": "مثبت ÛÛ’",
+       "MATH_IS_NEGATIVE": "منÙÛŒ ÛÛ’",
+       "MATH_ONLIST_OPERATOR_SUM": "لسٹ Ø¯Ø§ Ù…جموعÛ",
+       "MATH_ONLIST_OPERATOR_MIN": "لسٹ ÙˆÚ†ÙˆÚº Ø³Ø¨ ØªÙˆÚº Ú¯Ú¾Ù¹",
+       "MATH_ONLIST_OPERATOR_MAX": "لسٹ ÙˆÚ†ÙˆÚº Ø³Ø¨ ØªÙˆÚº ÙˆØ¯Ú¾",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "ÙÛرست Ø¯ÛŒ Ø§ÙˆØ³Ø·",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "شامل ØªÚ¾ÛŒÙˆÙˆ",
+       "TEXT_LENGTH_TITLE": "%1 Ø¯ÛŒ Ù„مباݨ",
+       "TEXT_ISEMPTY_TITLE": "%1 Ø®Ø§Ù„ÛŒ ÛÛ’",
+       "TEXT_CHARAT_FROM_START": "# Ø­Ø±Ù Ú¯Ú¾Ù†Ùˆ",
+       "TEXT_CHARAT_FIRST": "Ù¾Ûلا Ø­Ø±Ù Ú¯Ú¾Ù†Ùˆ",
+       "TEXT_CHARAT_LAST": "چھیکڑی Ø­Ø±Ù Ú¯Ú¾Ù†Ùˆ",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "ٹیکسٹ ÙˆÚ†",
+       "TEXT_PRINT_TITLE": "%1 Ú†Ú¾Ø§Ù¾Ùˆ",
+       "LISTS_CREATE_EMPTY_TITLE": "خالی ØªÙ†Ø¯ÛŒØ± Ø¨Ý¨Ø§Ø¤",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "ÙÛرست",
+       "LISTS_ISEMPTY_TITLE": "%1 Ø®Ø§Ù„ÛŒ ÛÛ’",
+       "LISTS_INLIST": "ÙÛرست ÙˆÚ†",
+       "LISTS_GET_INDEX_GET": "گھنو",
+       "LISTS_GET_INDEX_GET_REMOVE": "گھنو ØªÛ’ Ûٹاؤ",
+       "LISTS_GET_INDEX_REMOVE": "Ûٹاؤ",
+       "LISTS_GET_INDEX_FROM_END": "# Ú†Ú¾ÛŒÚ©Ú‘ Ú©Ù†ÙˆÚº",
+       "LISTS_GET_INDEX_FIRST": "Ù¾Ûلا",
+       "LISTS_GET_INDEX_LAST": "چھیکڑی",
+       "LISTS_GET_INDEX_RANDOM": "Ù¾ÙÙ¹Ú¾Û’ Ø³Ùدھے",
+       "LISTS_SET_INDEX_SET": "سیٹ",
+       "LISTS_SET_INDEX_INPUT_TO": "بطور",
+       "LISTS_SORT_TITLE": "سارٹ Ú©Ø±Ùˆ%1%2%3",
+       "LISTS_SORT_ORDER_ASCENDING": "چڑھدا Ûویا",
+       "LISTS_SORT_ORDER_DESCENDING": "Ù„Ûندا Ûویا",
+       "LISTS_SORT_TYPE_NUMERIC": "عددی",
+       "LISTS_SORT_TYPE_TEXT": "ال٠بے Ø¯ÛŒ",
+       "PROCEDURES_DEFNORETURN_TITLE": "Ú©ÙˆÚº",
+       "PROCEDURES_BEFORE_PARAMS": "نال:",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "نال:",
+       "PROCEDURES_DEFRETURN_RETURN": "واپس Ø¢ ÙˆÙ†Ú„Ùˆ"
+}
diff --git a/js/msg/json/sl.json b/js/msg/json/sl.json
new file mode 100644 (file)
index 0000000..f4ab8a9
--- /dev/null
@@ -0,0 +1,372 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Anzeljg",
+                       "MiloÅ¡ KoÅ¡ir",
+                       "Dbc334",
+                       "HairyFotr",
+                       "Igor.pesek"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "element",
+       "TODAY": "Danes",
+       "DUPLICATE_BLOCK": "Podvoji",
+       "ADD_COMMENT": "Dodaj komentar",
+       "REMOVE_COMMENT": "Odstrani komentar",
+       "EXTERNAL_INPUTS": "Zunanji vnosi",
+       "INLINE_INPUTS": "VrstiÄni vnosi",
+       "DELETE_BLOCK": "IzbriÅ¡i kocko",
+       "DELETE_X_BLOCKS": "IzbriÅ¡i kocke",
+       "DELETE_ALL_BLOCKS": "IzbriÅ¡em vseh %1 kock?",
+       "CLEAN_UP": "Ponastavi kocke",
+       "COLLAPSE_BLOCK": "SkrÄi kocko",
+       "COLLAPSE_ALL": "SkrÄi kocke",
+       "EXPAND_BLOCK": "RazÅ¡iri kocko",
+       "EXPAND_ALL": "RazÅ¡iri kocke",
+       "DISABLE_BLOCK": "OnemogoÄi kocko",
+       "ENABLE_BLOCK": "OmogoÄi kocko",
+       "HELP": "PomoÄ",
+       "UNDO": "Razveljavi",
+       "REDO": "Ponovi",
+       "CHANGE_VALUE_TITLE": "Spremeni vrednost:",
+       "RENAME_VARIABLE": "Preimenuj spremenljivko...",
+       "RENAME_VARIABLE_TITLE": "Preimenuj vse spremenljivke '%1' v:",
+       "NEW_VARIABLE": "Ustvari spremenljivko ...",
+       "NEW_VARIABLE_TITLE": "Ime nove spremenljivke:",
+       "VARIABLE_ALREADY_EXISTS": "Spremenljivka Â»%1« Å¾e obstaja.",
+       "DELETE_VARIABLE_CONFIRMATION": "IzbriÅ¡em %1 uporab spremenljivke Â»%2«?",
+       "DELETE_VARIABLE": "IzbriÅ¡i spremenljivko Â»%1«",
+       "COLOUR_PICKER_HELPURL": "https://en.wikipedia.org/wiki/Color",
+       "COLOUR_PICKER_TOOLTIP": "Izberi barvo s palete.",
+       "COLOUR_RANDOM_TITLE": "nakljuÄna barva",
+       "COLOUR_RANDOM_TOOLTIP": "Izbere nakljuÄno barvo.",
+       "COLOUR_RGB_HELPURL": "http://www.december.com/html/spec/colorper.html",
+       "COLOUR_RGB_TITLE": "doloÄena barva",
+       "COLOUR_RGB_RED": "rdeÄa",
+       "COLOUR_RGB_GREEN": "zelena",
+       "COLOUR_RGB_BLUE": "modra",
+       "COLOUR_RGB_TOOLTIP": "Ustvari barvo z doloÄeno koliÄino rdeÄe, zelene in modre. Vse vrednosti morajo biti med 0 in 100.",
+       "COLOUR_BLEND_HELPURL": "http://meyerweb.com/eric/tools/color-blend/",
+       "COLOUR_BLEND_TITLE": "meÅ¡anica",
+       "COLOUR_BLEND_COLOUR1": "barva 1",
+       "COLOUR_BLEND_COLOUR2": "barva 2",
+       "COLOUR_BLEND_RATIO": "razmerje",
+       "COLOUR_BLEND_TOOLTIP": "ZmeÅ¡a dve barvi v danem razmerju (0.0 - 1.0).",
+       "CONTROLS_REPEAT_HELPURL": "https://en.wikipedia.org/wiki/For_loop",
+       "CONTROLS_REPEAT_TITLE": "ponovi %1 krat",
+       "CONTROLS_REPEAT_INPUT_DO": "izvedi",
+       "CONTROLS_REPEAT_TOOLTIP": "Kocke se izvedejo veÄkrat.",
+       "CONTROLS_WHILEUNTIL_HELPURL": "https://github.com/google/blockly/wiki/Loops#repeat",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "ponavljaj",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "ponavljaj dokler",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "Kocke se izvajajo dokler je vrednost resniÄna.",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "Kocke se izvajajo dokler je vrednost neresniÄna.",
+       "CONTROLS_FOR_HELPURL": "https://github.com/google/blockly/wiki/Loops#count-with",
+       "CONTROLS_FOR_TOOLTIP": "Vrednost spremenljivke '%1' se spreminja od zaÄetnega Å¡tevila do konÄnega Å¡tevila, z doloÄenim korakom. Pri tem se izvedejo doloÄene kocke.",
+       "CONTROLS_FOR_TITLE": "Å¡tej s/z %1 od %2 do %3 s korakom %4",
+       "CONTROLS_FOREACH_HELPURL": "https://github.com/google/blockly/wiki/Loops#for-each",
+       "CONTROLS_FOREACH_TITLE": "za vsak element %1 v seznamu %2",
+       "CONTROLS_FOREACH_TOOLTIP": "Za vsak element v seznamu, nastavi spremenljivko '%1' na ta element. Pri tem se izvedejo doloÄene kocke.",
+       "CONTROLS_FLOW_STATEMENTS_HELPURL": "https://github.com/google/blockly/wiki/Loops#loop-termination-blocks",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "izstopi iz zanke",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "nadaljuj z naslednjo ponovitvijo zanke",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "Izstopi iz trenutne zanke.",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "PreskoÄi preostanek te zanke in nadaljuje z naslednjo ponovitvijo.",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "Pozor: To kocko lahko uporabiÅ¡ samo znotraj zanke.",
+       "CONTROLS_IF_HELPURL": "https://github.com/google/blockly/wiki/IfElse",
+       "CONTROLS_IF_TOOLTIP_1": "ÄŒe je vrednost resniÄna, izvedi doloÄene kocke.",
+       "CONTROLS_IF_TOOLTIP_2": "ÄŒe je vrednost resniÄna, izvedi prvo skupino kock. Sicer izvedi drugo skupino kock.",
+       "CONTROLS_IF_TOOLTIP_3": "ÄŒe je prva vrednost resniÄna, izvedi prvo skupino kock. Sicer, Äe je resniÄna druga vrednost, izvedi drugo skupino kock.",
+       "CONTROLS_IF_TOOLTIP_4": "ÄŒe je prva vrednost resniÄna, izvedi prvo skupino kock. Sicer, Äe je resniÄna druga vrednost, izvedi drugo skupino kock. ÄŒe nobena izmed vrednosti ni resniÄna, izvedi zadnjo skupino kock.",
+       "CONTROLS_IF_MSG_IF": "Äe",
+       "CONTROLS_IF_MSG_ELSEIF": "sicer Äe",
+       "CONTROLS_IF_MSG_ELSE": "sicer",
+       "CONTROLS_IF_IF_TOOLTIP": "Dodaj, odstrani ali spremeni vrstni red odsekov za ponovno nastavitev Â»Äe« kocke.",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "Dodaj pogoj Â»Äe« kocki.",
+       "CONTROLS_IF_ELSE_TOOLTIP": "Dodaj konÄni pogoj Â»Äe« kocki.",
+       "IOS_OK": "V redu",
+       "IOS_CANCEL": "PrekliÄi",
+       "IOS_ERROR": "Napaka",
+       "IOS_PROCEDURES_INPUTS": "VHODI",
+       "IOS_VARIABLES_ADD_VARIABLE": "+ Dodaj spremenljivko",
+       "IOS_VARIABLES_ADD_BUTTON": "Dodaj",
+       "IOS_VARIABLES_RENAME_BUTTON": "Preimenuj",
+       "IOS_VARIABLES_DELETE_BUTTON": "IzbriÅ¡i",
+       "IOS_VARIABLES_VARIABLE_NAME": "Ime spremenljivke",
+       "LOGIC_COMPARE_HELPURL": "https://en.wikipedia.org/wiki/Inequality_(mathematics)",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "Vrne resniÄno, Äe sta vnosa enaka.",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "Vrne resniÄno, Äe vnosa nista enaka.",
+       "LOGIC_COMPARE_TOOLTIP_LT": "Vrne resniÄno, Äe je prvi vnos manjÅ¡i od drugega.",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "Vrne resniÄno, Äe je prvi vnos manjÅ¡i ali enak drugemu.",
+       "LOGIC_COMPARE_TOOLTIP_GT": "Vrne resniÄno, Äe je prvi vnos veÄji od drugega.",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "Vrne resniÄno, Äe je prvi vnos veÄji ali enak drugemu.",
+       "LOGIC_OPERATION_HELPURL": "https://github.com/google/blockly/wiki/Logic#logical-operations",
+       "LOGIC_OPERATION_TOOLTIP_AND": "Vrne resniÄno, Äe sta oba vnosa resniÄna.",
+       "LOGIC_OPERATION_AND": "in",
+       "LOGIC_OPERATION_TOOLTIP_OR": "Vrne resniÄno, Äe je vsaj eden od vnosov resniÄen.",
+       "LOGIC_OPERATION_OR": "ali",
+       "LOGIC_NEGATE_HELPURL": "https://github.com/google/blockly/wiki/Logic#not",
+       "LOGIC_NEGATE_TITLE": "ne %1",
+       "LOGIC_NEGATE_TOOLTIP": "Vrne resniÄno, Äe je vnos neresniÄen. Vrne neresniÄno, Äe je vnos resniÄen.",
+       "LOGIC_BOOLEAN_HELPURL": "https://github.com/google/blockly/wiki/Logic#values",
+       "LOGIC_BOOLEAN_TRUE": "resniÄno",
+       "LOGIC_BOOLEAN_FALSE": "neresniÄno",
+       "LOGIC_BOOLEAN_TOOLTIP": "Vrne resniÄno ali neresniÄno.",
+       "LOGIC_NULL_HELPURL": "https://en.wikipedia.org/wiki/Nullable_type",
+       "LOGIC_NULL": "prazno",
+       "LOGIC_NULL_TOOLTIP": "Vrne prazno.",
+       "LOGIC_TERNARY_HELPURL": "https://en.wikipedia.org/wiki/%3F:",
+       "LOGIC_TERNARY_CONDITION": "test",
+       "LOGIC_TERNARY_IF_TRUE": "Äe resniÄno",
+       "LOGIC_TERNARY_IF_FALSE": "Äe neresniÄno",
+       "LOGIC_TERNARY_TOOLTIP": "Preveri pogoj v Â»testu«. ÄŒe je pogoj resniÄen, potem vrne vrednost Â»Äe resniÄno«; sicer vrne vrednost Â»Äe neresniÄno«.",
+       "MATH_NUMBER_HELPURL": "https://en.wikipedia.org/wiki/Number",
+       "MATH_NUMBER_TOOLTIP": "Å tevilo.",
+       "MATH_ADDITION_SYMBOL": "+",
+       "MATH_SUBTRACTION_SYMBOL": "-",
+       "MATH_DIVISION_SYMBOL": "÷",
+       "MATH_MULTIPLICATION_SYMBOL": "×",
+       "MATH_POWER_SYMBOL": "^",
+       "MATH_TRIG_SIN": "sin",
+       "MATH_TRIG_COS": "cos",
+       "MATH_TRIG_TAN": "tan",
+       "MATH_TRIG_ASIN": "asin",
+       "MATH_TRIG_ACOS": "acos",
+       "MATH_TRIG_ATAN": "atan",
+       "MATH_ARITHMETIC_HELPURL": "https://en.wikipedia.org/wiki/Arithmetic",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "Vrne vsoto dveh Å¡tevil.",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "Vrne razliko dveh Å¡tevil.",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "Vrne zmnožek dveh Å¡tevil.",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "Vrne kvocient dveh Å¡tevil.",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "Vrne prvo Å¡tevilo na potenco drugega Å¡tevila.",
+       "MATH_SINGLE_HELPURL": "https://en.wikipedia.org/wiki/Square_root",
+       "MATH_SINGLE_OP_ROOT": "kvadratni koren",
+       "MATH_SINGLE_TOOLTIP_ROOT": "Vrne kvadratni koren Å¡tevila.",
+       "MATH_SINGLE_OP_ABSOLUTE": "absolutno",
+       "MATH_SINGLE_TOOLTIP_ABS": "Vrne absolutno vrednost Å¡tevila.",
+       "MATH_SINGLE_TOOLTIP_NEG": "Vrne negacijo Å¡tevila.",
+       "MATH_SINGLE_TOOLTIP_LN": "Vrne naravni logaritem Å¡tevila.",
+       "MATH_SINGLE_TOOLTIP_LOG10": "Vrne desetiÅ¡ki logaritem Å¡tevila.",
+       "MATH_SINGLE_TOOLTIP_EXP": "Vrne e na potenco Å¡tevila.",
+       "MATH_SINGLE_TOOLTIP_POW10": "Vrne 10 na potenco Å¡tevila.",
+       "MATH_TRIG_HELPURL": "https://en.wikipedia.org/wiki/Trigonometric_functions",
+       "MATH_TRIG_TOOLTIP_SIN": "Vrne sinus kota v stopinjah (ne radianih).",
+       "MATH_TRIG_TOOLTIP_COS": "Vrne kosinus kota v stopinjah (ne radianih).",
+       "MATH_TRIG_TOOLTIP_TAN": "Vrne tangens kota v stopinjah (ne radianih).",
+       "MATH_TRIG_TOOLTIP_ASIN": "Vrne arkus sinus Å¡tevila.",
+       "MATH_TRIG_TOOLTIP_ACOS": "Vrne arkus kosinus Å¡tevila.",
+       "MATH_TRIG_TOOLTIP_ATAN": "Vrne arkus tangens Å¡tevila.",
+       "MATH_CONSTANT_HELPURL": "https://en.wikipedia.org/wiki/Mathematical_constant",
+       "MATH_CONSTANT_TOOLTIP": "Vrne eno izmed obiÄajnih konstant: Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), ali âˆž (neskonÄno).",
+       "MATH_IS_EVEN": "je sodo",
+       "MATH_IS_ODD": "je liho",
+       "MATH_IS_PRIME": "je praÅ¡tevilo",
+       "MATH_IS_WHOLE": "je celo",
+       "MATH_IS_POSITIVE": "je pozitivno",
+       "MATH_IS_NEGATIVE": "je negativno",
+       "MATH_IS_DIVISIBLE_BY": "je deljivo s/z",
+       "MATH_IS_TOOLTIP": "Preveri, Äe je Å¡tevilo sodo, liho, praÅ¡tevilo, celo, pozitivno, negativno ali, Äe je deljivo z doloÄenim Å¡tevilom. Vrne resniÄno ali neresniÄno.",
+       "MATH_CHANGE_HELPURL": "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter",
+       "MATH_CHANGE_TITLE": "spremeni %1 za %2",
+       "MATH_CHANGE_TOOLTIP": "PriÅ¡teje Å¡tevilo k spremenljivki '%1'.",
+       "MATH_ROUND_HELPURL": "https://en.wikipedia.org/wiki/Rounding",
+       "MATH_ROUND_TOOLTIP": "Zaokroži Å¡tevilo navzgor ali navzdol.",
+       "MATH_ROUND_OPERATOR_ROUND": "zaokroži",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "zaokroži navzgor",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "zaokroži navzdol",
+       "MATH_ONLIST_OPERATOR_SUM": "vsota seznama",
+       "MATH_ONLIST_TOOLTIP_SUM": "Vrne vsoto vseh Å¡tevil na seznamu.",
+       "MATH_ONLIST_OPERATOR_MIN": "minimum seznama",
+       "MATH_ONLIST_TOOLTIP_MIN": "Vrne najmanjÅ¡e Å¡tevilo na seznamu.",
+       "MATH_ONLIST_OPERATOR_MAX": "maksimum seznama",
+       "MATH_ONLIST_TOOLTIP_MAX": "Vrne najveÄje Å¡tevilo na seznamu.",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "povpreÄje seznama",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "Vrne povpreÄje (aritmetiÄno sredino) Å¡tevil na seznamu.",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "mediana seznama",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "Vrne mediano Å¡tevil na seznamu.",
+       "MATH_ONLIST_OPERATOR_MODE": "modus seznama",
+       "MATH_ONLIST_TOOLTIP_MODE": "Vrne seznam najpogostejÅ¡ega elementa(-ov) na seznamu.",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "standardni odklon seznama",
+       "MATH_ONLIST_TOOLTIP_STD_DEV": "Vrne standardni odklon seznama.",
+       "MATH_ONLIST_OPERATOR_RANDOM": "nakljuÄni element seznama",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "Vrne nakljuÄno Å¡tevilo izmed Å¡tevil na seznamu.",
+       "MATH_MODULO_HELPURL": "https://en.wikipedia.org/wiki/Modulo_operation",
+       "MATH_MODULO_TITLE": "ostanek pri %1 ÷ %2",
+       "MATH_MODULO_TOOLTIP": "Vrne ostanek pri deljenju dveh Å¡tevil.",
+       "MATH_CONSTRAIN_HELPURL": "https://en.wikipedia.org/wiki/Clamping_%28graphics%29",
+       "MATH_CONSTRAIN_TITLE": "omeji %1 na najmanj %2 in najveÄ %3",
+       "MATH_CONSTRAIN_TOOLTIP": "Omeji Å¡tevilo, da bo med doloÄenima (vkljuÄenima) mejama.",
+       "MATH_RANDOM_INT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_INT_TITLE": "nakljuÄno Å¡tevilo med %1 in %2",
+       "MATH_RANDOM_INT_TOOLTIP": "Vrne nakljuÄno Å¡tevilo med dvema doloÄenima mejama, vkljuÄno z mejama.",
+       "MATH_RANDOM_FLOAT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "nakljuÄni ulomek",
+       "MATH_RANDOM_FLOAT_TOOLTIP": "Vrne nakljuÄni ulomek med (vkljuÄno) 0.0 in 1.0 (izkljuÄno).",
+       "TEXT_TEXT_HELPURL": "https://en.wikipedia.org/wiki/String_(computer_science)",
+       "TEXT_TEXT_TOOLTIP": "ÄŒrka, beseda ali vrstica besedila.",
+       "TEXT_JOIN_HELPURL": "https://github.com/google/blockly/wiki/Text#text-creation",
+       "TEXT_JOIN_TITLE_CREATEWITH": "ustvari besedilo iz",
+       "TEXT_JOIN_TOOLTIP": "Ustvari besedilo tako, da združi poljubno Å¡tevilo elementov.",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "združi",
+       "TEXT_CREATE_JOIN_TOOLTIP": "Doda, odstrani ali spremeni vrstni red elementov tega besedila.",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "Doda element k besedilu.",
+       "TEXT_APPEND_HELPURL": "https://github.com/google/blockly/wiki/Text#text-modification",
+       "TEXT_APPEND_TITLE": "k %1 dodaj besedilo %2",
+       "TEXT_APPEND_TOOLTIP": "Doda besedilo k spremenljivki '%1'.",
+       "TEXT_LENGTH_HELPURL": "https://github.com/google/blockly/wiki/Text#text-modification",
+       "TEXT_LENGTH_TITLE": "dolžina %1",
+       "TEXT_LENGTH_TOOLTIP": "Vrne Å¡tevilo Ärk oz. znakov (vkljuÄno s presledki) v doloÄenem besedilu.",
+       "TEXT_ISEMPTY_HELPURL": "https://github.com/google/blockly/wiki/Text#checking-for-empty-text",
+       "TEXT_ISEMPTY_TITLE": "%1 je prazno",
+       "TEXT_ISEMPTY_TOOLTIP": "Vrne resniÄno, Äe je doloÄeno besedilo prazno.",
+       "TEXT_INDEXOF_HELPURL": "https://github.com/google/blockly/wiki/Text#finding-text",
+       "TEXT_INDEXOF_TOOLTIP": "Vrne mesto (indeks) prve/zadnje pojavitve drugega besedila v prvem besedilu. ÄŒe besedila ne najde, vrne %1.",
+       "TEXT_INDEXOF_TITLE": "v besedilu %1 %2 %3",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "najdi prvo pojavitev besedila",
+       "TEXT_INDEXOF_OPERATOR_LAST": "najdi zadnjo pojavitev besedila",
+       "TEXT_CHARAT_HELPURL": "https://github.com/google/blockly/wiki/Text#extracting-text",
+       "TEXT_CHARAT_FROM_START": "vrni Ärko Å¡t.",
+       "TEXT_CHARAT_FROM_END": "vrni Ärko Å¡t. od konca",
+       "TEXT_CHARAT_FIRST": "vrni prvo Ärko",
+       "TEXT_CHARAT_LAST": "vrni zadnjo Ärko",
+       "TEXT_CHARAT_RANDOM": "vrni nakljuÄno Ärko",
+       "TEXT_CHARAT_TOOLTIP": "Vrne Ärko na doloÄenem mestu v besedilu.",
+       "TEXT_GET_SUBSTRING_TOOLTIP": "Vrne doloÄen del besedila.",
+       "TEXT_GET_SUBSTRING_HELPURL": "https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "iz besedila",
+       "TEXT_GET_SUBSTRING_START_FROM_START": "vrni del od Ärke Å¡t.",
+       "TEXT_GET_SUBSTRING_START_FROM_END": "vrni del od Ärke Å¡t. od konca",
+       "TEXT_GET_SUBSTRING_START_FIRST": "vrni del od prve Ärke",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "do Ärke Å¡t.",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "do Ärke Å¡t. od konca",
+       "TEXT_GET_SUBSTRING_END_LAST": "do zadnje Ärke",
+       "TEXT_CHANGECASE_HELPURL": "https://github.com/google/blockly/wiki/Text#adjusting-text-case",
+       "TEXT_CHANGECASE_TOOLTIP": "Vrne kopijo besedila v drugi obliki.",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "v VELIKE ÄŒRKE",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "v male Ärke",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": "v Velike ZaÄetnice",
+       "TEXT_TRIM_HELPURL": "https://github.com/google/blockly/wiki/Text#trimming-removing-spaces",
+       "TEXT_TRIM_TOOLTIP": "Vrne kopijo besedila z odstranjenimi presledki z ene ali obeh strani.",
+       "TEXT_TRIM_OPERATOR_BOTH": "odstrani presledke z obeh strani",
+       "TEXT_TRIM_OPERATOR_LEFT": "odstrani presledke z leve strani",
+       "TEXT_TRIM_OPERATOR_RIGHT": "odstrani presledke z desne strani",
+       "TEXT_PRINT_HELPURL": "https://github.com/google/blockly/wiki/Text#printing-text",
+       "TEXT_PRINT_TITLE": "izpiÅ¡i %1",
+       "TEXT_PRINT_TOOLTIP": "IzpiÅ¡e doloÄeno besedilo, Å¡tevilo ali drugo vrednost.",
+       "TEXT_PROMPT_HELPURL": "https://github.com/google/blockly/wiki/Text#getting-input-from-the-user",
+       "TEXT_PROMPT_TYPE_TEXT": "vpraÅ¡aj za besedilo s sporoÄilom",
+       "TEXT_PROMPT_TYPE_NUMBER": "vpraÅ¡aj za Å¡tevilo s sporoÄilom",
+       "TEXT_PROMPT_TOOLTIP_NUMBER": "VpraÅ¡a uporabnika za vnos Å¡tevila.",
+       "TEXT_PROMPT_TOOLTIP_TEXT": "VpraÅ¡a uporabnika za vnos besedila.",
+       "LISTS_CREATE_EMPTY_HELPURL": "https://github.com/google/blockly/wiki/Lists#create-empty-list",
+       "LISTS_CREATE_EMPTY_TITLE": "ustvari prazen seznam",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "Vrne seznam, dolžine 0, ki ne vsebuje nobenih podatkov.",
+       "LISTS_CREATE_WITH_HELPURL": "https://github.com/google/blockly/wiki/Lists#create-list-with",
+       "LISTS_CREATE_WITH_TOOLTIP": "Ustvari seznam s poljubnim Å¡tevilom elementov.",
+       "LISTS_CREATE_WITH_INPUT_WITH": "ustvari seznam s/z",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "seznam",
+       "LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "Doda, odstrani ali spremeni vrstni red elementov tega seznama.",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "Doda element seznamu.",
+       "LISTS_REPEAT_HELPURL": "https://github.com/google/blockly/wiki/Lists#create-list-with",
+       "LISTS_REPEAT_TOOLTIP": "Ustvari seznam z danim elementom, ki se poljubno mnogo krat ponovi.",
+       "LISTS_REPEAT_TITLE": "ustvari seznam z elementom %1, ki se ponovi %2 krat",
+       "LISTS_LENGTH_HELPURL": "https://github.com/google/blockly/wiki/Lists#length-of",
+       "LISTS_LENGTH_TITLE": "dolžina %1",
+       "LISTS_LENGTH_TOOLTIP": "Vrne dolžino seznama.",
+       "LISTS_ISEMPTY_HELPURL": "https://github.com/google/blockly/wiki/Lists#is-empty",
+       "LISTS_ISEMPTY_TITLE": "%1 je prazen",
+       "LISTS_ISEMPTY_TOOLTIP": "Vrne resniÄno, Äe je seznam prazen.",
+       "LISTS_INLIST": "v seznamu",
+       "LISTS_INDEX_OF_HELPURL": "https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list",
+       "LISTS_INDEX_OF_FIRST": "najdi prvo pojavitev elementa",
+       "LISTS_INDEX_OF_LAST": "najdi zadnjo pojavitev elementa",
+       "LISTS_INDEX_OF_TOOLTIP": "Vrne mesto (indeks) prve/zadnje pojavitve elementa v seznamu. ÄŒe elementa ne najde, vrne %1.",
+       "LISTS_GET_INDEX_GET": "vrni",
+       "LISTS_GET_INDEX_GET_REMOVE": "odstrani in vrni",
+       "LISTS_GET_INDEX_REMOVE": "odstrani",
+       "LISTS_GET_INDEX_FROM_START": "Å¡t.",
+       "LISTS_GET_INDEX_FROM_END": "mesto Å¡t. od konca",
+       "LISTS_GET_INDEX_FIRST": "prvo mesto",
+       "LISTS_GET_INDEX_LAST": "zadnje mesto",
+       "LISTS_GET_INDEX_RANDOM": "nakljuÄno mesto",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "Prvi element je Å¡t. %1.",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "Zadnji element je Å¡t. %1.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "Vrne element na doloÄenem mestu v seznamu.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "Vrne prvi element seznama.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "Vrne zadnji element seznama.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "Vrne nakljuÄni element seznama.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "Odstrani in vrne element na doloÄenem mestu v seznamu.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "Odstrani in vrne prvi element seznama.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "Odstrani in vrne zadnji element seznama.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "Odstrani in vrne nakljuÄni element seznama.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "Odstrani element na doloÄenem mestu v seznamu.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "Odstrani prvi element seznama.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "Odstrani zadnji element seznama.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "Odstrani nakljuÄni element seznama.",
+       "LISTS_SET_INDEX_HELPURL": "https://github.com/google/blockly/wiki/Lists#in-list--set",
+       "LISTS_SET_INDEX_SET": "nastavi na",
+       "LISTS_SET_INDEX_INSERT": "vstavi na",
+       "LISTS_SET_INDEX_INPUT_TO": "element",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "Nastavi element na doloÄenem mestu v seznamu.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "Nastavi prvi element seznama.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_LAST": "Nastavi zadnji element seznama.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "Nastavi nakljuÄni element seznama.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "Vstavi element na doloÄeno mesto v seznamu.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "Vstavi element na zaÄetek seznama.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "Doda element na konec seznama.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "Vstavi element na nakljuÄno mesto v seznamu.",
+       "LISTS_GET_SUBLIST_HELPURL": "https://github.com/google/blockly/wiki/Lists#getting-a-sublist",
+       "LISTS_GET_SUBLIST_START_FROM_START": "ustvari podseznam od mesta Å¡t.",
+       "LISTS_GET_SUBLIST_START_FROM_END": "ustvari podseznam od mesta Å¡t. od konca",
+       "LISTS_GET_SUBLIST_START_FIRST": "ustvari podseznam od prvega mesta",
+       "LISTS_GET_SUBLIST_END_FROM_START": "do mesta Å¡t.",
+       "LISTS_GET_SUBLIST_END_FROM_END": "do mesta Å¡t. od konca",
+       "LISTS_GET_SUBLIST_END_LAST": "do zadnjega mesta",
+       "LISTS_GET_SUBLIST_TOOLTIP": "Ustvari nov seznam, kot kopijo doloÄenega dela seznama.",
+       "LISTS_SORT_HELPURL": "https://github.com/google/blockly/wiki/Lists#sorting-a-list",
+       "LISTS_SORT_TITLE": "uredi %1 %2 %3",
+       "LISTS_SORT_TOOLTIP": "Uredi kopijo seznama.",
+       "LISTS_SORT_ORDER_ASCENDING": "naraÅ¡ÄajoÄe",
+       "LISTS_SORT_ORDER_DESCENDING": "padajoÄe",
+       "LISTS_SORT_TYPE_NUMERIC": "Å¡tevilÄno",
+       "LISTS_SORT_TYPE_TEXT": "abecedno",
+       "LISTS_SORT_TYPE_IGNORECASE": "abecedno, brez velikosti Ärk",
+       "LISTS_SPLIT_HELPURL": "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists",
+       "LISTS_SPLIT_LIST_FROM_TEXT": "ustvari seznam iz besedila",
+       "LISTS_SPLIT_TEXT_FROM_LIST": "ustvari besedilo iz seznama",
+       "LISTS_SPLIT_WITH_DELIMITER": "z loÄilom",
+       "LISTS_SPLIT_TOOLTIP_SPLIT": "Razdruži besedilo v seznam besedil. Za razdruževanje besedila uporabi loÄilo.",
+       "LISTS_SPLIT_TOOLTIP_JOIN": "Združi seznam besedil v eno besedilo, loÄeno z loÄilom.",
+       "VARIABLES_GET_HELPURL": "https://github.com/google/blockly/wiki/Variables#get",
+       "VARIABLES_GET_TOOLTIP": "Vrne vrednost spremenljivke.",
+       "VARIABLES_GET_CREATE_SET": "Ustvari 'nastavi %1'",
+       "VARIABLES_SET_HELPURL": "https://github.com/google/blockly/wiki/Variables#set",
+       "VARIABLES_SET": "nastavi %1 na %2",
+       "VARIABLES_SET_TOOLTIP": "Nastavi, da je vrednost spremenljivke enaka vnosu.",
+       "VARIABLES_SET_CREATE_GET": "Ustvari 'vrni %1'",
+       "PROCEDURES_DEFNORETURN_HELPURL": "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29",
+       "PROCEDURES_DEFNORETURN_TITLE": "izvedi",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "nekaj",
+       "PROCEDURES_BEFORE_PARAMS": "s/z:",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "s/z:",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "Ustvari funkcijo brez izhoda.",
+       "PROCEDURES_DEFNORETURN_COMMENT": "OpiÅ¡ite funkcijo ...",
+       "PROCEDURES_DEFRETURN_HELPURL": "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29",
+       "PROCEDURES_DEFRETURN_RETURN": "vrni",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "Ustvari funkcijo z izhodom.",
+       "PROCEDURES_ALLOW_STATEMENTS": "dovoli korake",
+       "PROCEDURES_DEF_DUPLICATE_WARNING": "Pozor: Ta funkcija ima podvojene parametre.",
+       "PROCEDURES_CALLNORETURN_HELPURL": "https://en.wikipedia.org/wiki/Subroutine",
+       "PROCEDURES_CALLNORETURN_TOOLTIP": "Izvede uporabniÅ¡ko funkcijo '%1'.",
+       "PROCEDURES_CALLRETURN_HELPURL": "https://en.wikipedia.org/wiki/Subroutine",
+       "PROCEDURES_CALLRETURN_TOOLTIP": "Izvede uporabniÅ¡ko funkcijo '%1' in uporabi njen izhod.",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "vnosi",
+       "PROCEDURES_MUTATORCONTAINER_TOOLTIP": "Doda, odstrani ali spremeni vrstni red vnosov te funkcije.",
+       "PROCEDURES_MUTATORARG_TITLE": "ime vnosa:",
+       "PROCEDURES_MUTATORARG_TOOLTIP": "Funkciji doda vnos.",
+       "PROCEDURES_HIGHLIGHT_DEF": "OznaÄi definicijo funkcije",
+       "PROCEDURES_CREATE_DO": "Ustvari '%1'",
+       "PROCEDURES_IFRETURN_TOOLTIP": "ÄŒe je vrednost resniÄna, vrne drugo vrednost.",
+       "PROCEDURES_IFRETURN_HELPURL": "http://c2.com/cgi/wiki?GuardClause",
+       "PROCEDURES_IFRETURN_WARNING": "Pozor: To kocko lahko uporabiÅ¡ samo znotraj definicije funkcije."
+}
diff --git a/js/msg/json/sq.json b/js/msg/json/sq.json
new file mode 100644 (file)
index 0000000..187f8e4
--- /dev/null
@@ -0,0 +1,359 @@
+{
+       "@metadata": {
+               "authors": [
+                       "ì•„ë¼",
+                       "Liridon",
+                       "Arianit"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "send",
+       "TODAY": "Sot",
+       "DUPLICATE_BLOCK": "Kopjo",
+       "ADD_COMMENT": "Vendos nje Koment",
+       "REMOVE_COMMENT": "Fshij komentin",
+       "EXTERNAL_INPUTS": "Hyrjet e jashtme",
+       "INLINE_INPUTS": "Hyrjet e brendshme",
+       "DELETE_BLOCK": "Fshij bllokun",
+       "DELETE_X_BLOCKS": "Fshij %1 blloqe",
+       "DELETE_ALL_BLOCKS": "Fshijë të gjitha %1 të blloqeve?",
+       "CLEAN_UP": "Pastro blloqet",
+       "COLLAPSE_BLOCK": "Mbyll bllokun",
+       "COLLAPSE_ALL": "Mbyll blloqet",
+       "EXPAND_BLOCK": "Zmadho bllokun",
+       "EXPAND_ALL": "Zmadho blloqet",
+       "DISABLE_BLOCK": "Çaktivizo bllokun",
+       "ENABLE_BLOCK": "Aktivizo bllokun",
+       "HELP": "Ndihmë",
+       "UNDO": "Zhbëj",
+       "REDO": "Ribëj",
+       "CHANGE_VALUE_TITLE": "Ndrysho Vlerat:",
+       "RENAME_VARIABLE": "Ndrysho emrin variables...",
+       "RENAME_VARIABLE_TITLE": "Ndrysho emrin e te gjitha '%1' variablave ne :",
+       "NEW_VARIABLE": "Krijo variabël...",
+       "NEW_STRING_VARIABLE": "Krijo variabël varg",
+       "NEW_NUMBER_VARIABLE": "Krijo variabël numër",
+       "NEW_COLOUR_VARIABLE": "Krijo variabël ngjyrë...",
+       "NEW_VARIABLE_TYPE_TITLE": "Tip i ri i variablës:",
+       "NEW_VARIABLE_TITLE": "Emri i identifikatorit të ri:",
+       "VARIABLE_ALREADY_EXISTS": "Një variabël e quajtur '%1' tashmë ekziston.",
+       "VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE": "Një variabël me emrin '%1' veç ekziston për një tip tjetër: '%2'.",
+       "DELETE_VARIABLE_CONFIRMATION": "Fshi përdorimin %1 të variablës '%2'?",
+       "CANNOT_DELETE_VARIABLE_PROCEDURE": "Nuk mund të fshihet variabla '%1' sepse është pjesë e definicionit të funksionit '%2'",
+       "DELETE_VARIABLE": "Fshi variablën '%1'",
+       "COLOUR_PICKER_HELPURL": "http://en.wikipedia.org/wiki/Color",
+       "COLOUR_PICKER_TOOLTIP": "Zgjidh nje ngjyre nga nje game ngjyrash.",
+       "COLOUR_RANDOM_TITLE": "ngjyre e rastesishme",
+       "COLOUR_RANDOM_TOOLTIP": "Zgjidhni një ngjyrë në mënyrë të rastësishme.",
+       "COLOUR_RGB_HELPURL": "http://www.december.com/html/spec/colorper.html",
+       "COLOUR_RGB_TITLE": "ngjyre me",
+       "COLOUR_RGB_RED": "e kuqe",
+       "COLOUR_RGB_GREEN": "jeshile",
+       "COLOUR_RGB_BLUE": "blu",
+       "COLOUR_RGB_TOOLTIP": "Krijo një ngjyrë me shumën e specifikuar te te kuqes, te gjelbëres, dhe bluse. Te gjitha vlerat duhet te jene mes 0 dhe 100.",
+       "COLOUR_BLEND_HELPURL": "http://meyerweb.com/eric/tools/color-blend/",
+       "COLOUR_BLEND_TITLE": "Përzierje",
+       "COLOUR_BLEND_COLOUR1": "Ngjyra 1",
+       "COLOUR_BLEND_COLOUR2": "Ngjyra 2",
+       "COLOUR_BLEND_RATIO": "Perpjesetim",
+       "COLOUR_BLEND_TOOLTIP": "Perzien dy ngjyra së bashku me një raport të dhënë (0.0 - 1.0).",
+       "CONTROLS_REPEAT_HELPURL": "http://en.wikipedia.org/wiki/For_loop",
+       "CONTROLS_REPEAT_TITLE": "përsërit %1 herë",
+       "CONTROLS_REPEAT_INPUT_DO": "ekzekuto",
+       "CONTROLS_REPEAT_TOOLTIP": "Ekzekuto disa fjali disa herë.",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "përsërit përderisa",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "përsërit derisa",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "Përderisa një vlerë është e saktë, atëherë ekzekuto disa fjali.",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "Përderisa një vlerë është e pasaktë, atëherë ekzekuto disa fjali.",
+       "CONTROLS_FOR_TOOLTIP": "Bëje identifikuesin \"%1\" që ta ketë vlerat prej numrit të fillimit deri tek numri i fundit, duke numëruar nga intervali i specifikuar, dhe ti bëj blloqet e specifikuara.",
+       "CONTROLS_FOR_TITLE": "numero me %1 nga %2 ne %3 me nga %4",
+       "CONTROLS_FOREACH_TITLE": "per cdo produkt %1 ne liste %2",
+       "CONTROLS_FOREACH_TOOLTIP": "Per cdo produkt ne nje \"liste\" \"vendos\" ndryshoren '%1' produktit, dhe pastaj bej disa deklarata.",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "dil nga nje faze perseritese",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "vazhdo me elementin tjeter te nje faze perseritese",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "Ndahu nga unaza.",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "Kapërce pjesën e mbetur të unazës, dhe vazhdo me ripërsëritjen tjetër.",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "Paralajmërim: Ky bllok mund të përdoret vetëm brenda unazës.",
+       "CONTROLS_IF_TOOLTIP_1": "Nëse një vlerë është e saktë, atëherë ekzekuto disa fjali.",
+       "CONTROLS_IF_TOOLTIP_2": "Nëse një vlerë është e saktë, atëherë ekzekuto bllokun e parë të fjalive. Përndryshe, ekzekuto bllokun e dytë të fjalive.",
+       "CONTROLS_IF_TOOLTIP_3": "Nëse vlera e parë është e saktë, atëherë ekzekuto bllokun e parë të fjalive. Përndryshe, nëse vlera e dytë është e saktë, ekzekuto bllokun e dytë të fjalive.",
+       "CONTROLS_IF_TOOLTIP_4": "Nëse vlera e parë është e saktë, atëherë ekzekuto bllokun e parë të fjalive. Përndryshe, nëse vlera e dytë është e saktë, ekzekuto bllokun e dytë të fjalive. Nëse asnjëra nga vlerat nuk është e saktë, ekzekuto bllokun e fundit të fjalive.",
+       "CONTROLS_IF_MSG_IF": "nëse",
+       "CONTROLS_IF_MSG_ELSEIF": "përndryshe nëse",
+       "CONTROLS_IF_MSG_ELSE": "përndryshe",
+       "CONTROLS_IF_IF_TOOLTIP": "Shto, fshij, ose rirregullo sektoret për ta rikonfiguruar këte bllok nëse.",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "\"Vendos\" \"kushtein\"tek \"pjesa\" \"if\"",
+       "CONTROLS_IF_ELSE_TOOLTIP": "Shto një përfundues, që i mbërrin të gjitha kushtet në bllokun nëse.",
+       "IOS_OK": "Në rregull",
+       "IOS_CANCEL": "Anulo",
+       "IOS_ERROR": "Gabim",
+       "IOS_PROCEDURES_INPUTS": "INPUTET",
+       "IOS_PROCEDURES_ADD_INPUT": "+ Shto Inputet",
+       "IOS_PROCEDURES_ALLOW_STATEMENTS": "Lejo deklaratat",
+       "IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR": "Ky funksion ka inpute të dyfishta.",
+       "IOS_VARIABLES_ADD_VARIABLE": "+ Shto Variabël",
+       "IOS_VARIABLES_ADD_BUTTON": "Shto",
+       "IOS_VARIABLES_RENAME_BUTTON": "Riemro",
+       "IOS_VARIABLES_DELETE_BUTTON": "Grise",
+       "IOS_VARIABLES_VARIABLE_NAME": "Emri i variablës",
+       "IOS_VARIABLES_EMPTY_NAME_ERROR": "Nuk mund të përdorni variabël pa emër.",
+       "LOGIC_COMPARE_HELPURL": "http://en.wikipedia.org/wiki/Inequality_(mathematics)",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "Ktheje të saktë nëse të dy hyrjet janë të barabarta me njëra-tjetrën.",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "Ktheje të saktë nëse të dy hyrjet nuk janë të barabarta me njëra-tjetrën.",
+       "LOGIC_COMPARE_TOOLTIP_LT": "Ktheje të saktë nëse hyrja e parë është më e vogël se hyrja e dytë.",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "Ktheje të saktë nëse hyrja e parë është më e vogël ose e barabartë me hyrjen e dytë.",
+       "LOGIC_COMPARE_TOOLTIP_GT": "Ktheje të saktë nëse hyrja e parë është më e madhe se hyrja e dytë.",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "Ktheje të saktë nëse hyrja e parë është më e madhe ose e barabartë me hyrjen e dytë.",
+       "LOGIC_OPERATION_TOOLTIP_AND": "Kthehet të saktë nëse të dy hyrjet janë të sakta.",
+       "LOGIC_OPERATION_AND": "dhe",
+       "LOGIC_OPERATION_TOOLTIP_OR": "Kthehet e saktë nëse së paku njëra nga hyrjet është e saktë.",
+       "LOGIC_OPERATION_OR": "ose",
+       "LOGIC_NEGATE_TITLE": "jo %1",
+       "LOGIC_NEGATE_TOOLTIP": "Kthehet e saktë nëse hyrja është e pasaktë. Kthehet e pasaktë nëse hyrja është e saktë.",
+       "LOGIC_BOOLEAN_TRUE": "e saktë",
+       "LOGIC_BOOLEAN_FALSE": "e pasaktë",
+       "LOGIC_BOOLEAN_TOOLTIP": "Kthehet ose të saktë ose të pasaktë.",
+       "LOGIC_NULL_HELPURL": "http://en.wikipedia.org/wiki/Nullable_type",
+       "LOGIC_NULL": "pavlerë",
+       "LOGIC_NULL_TOOLTIP": "Kthehet e pavlerë.",
+       "LOGIC_TERNARY_HELPURL": "http://en.wikipedia.org/wiki/%3F:",
+       "LOGIC_TERNARY_CONDITION": "test",
+       "LOGIC_TERNARY_IF_TRUE": "nëse e saktë",
+       "LOGIC_TERNARY_IF_FALSE": "nëse e pasaktë",
+       "LOGIC_TERNARY_TOOLTIP": "Kontrollo kushtin në 'test'. Nëse kushti është i saktë, kthen vlerën 'nëse e saktë'; përndryshe kthen vlerën 'nëse e pasaktë'.",
+       "MATH_NUMBER_HELPURL": "http://en.wikipedia.org/wiki/Number",
+       "MATH_NUMBER_TOOLTIP": "Një numër.",
+       "MATH_ADDITION_SYMBOL": "+",
+       "MATH_SUBTRACTION_SYMBOL": "-",
+       "MATH_DIVISION_SYMBOL": "÷",
+       "MATH_MULTIPLICATION_SYMBOL": "x",
+       "MATH_POWER_SYMBOL": "^",
+       "MATH_TRIG_SIN": "sin",
+       "MATH_TRIG_COS": "cos",
+       "MATH_TRIG_TAN": "tan",
+       "MATH_TRIG_ASIN": "asinus",
+       "MATH_TRIG_ACOS": "acosinus",
+       "MATH_TRIG_ATAN": "atangjentë",
+       "MATH_ARITHMETIC_HELPURL": "http://sq.wikipedia.org/wiki/Aritmetika",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "Kthen shumën e dy numrave.",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "Kthen ndryshimin e dy numrave.",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "Kthen produktin e dy numrave.",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "Kthen herësin e dy numrave.",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "Kthen numrin e parë të ngritur në fuqinë e numrit të dytë.",
+       "MATH_SINGLE_HELPURL": "http://en.wikipedia.org/wiki/Square_root",
+       "MATH_SINGLE_OP_ROOT": "rrënja katrore",
+       "MATH_SINGLE_TOOLTIP_ROOT": "Kthen rrënjën katrore të një numri.",
+       "MATH_SINGLE_OP_ABSOLUTE": "absolut",
+       "MATH_SINGLE_TOOLTIP_ABS": "Kthen vlerën absolute të një numri.",
+       "MATH_SINGLE_TOOLTIP_NEG": "Kthe negacionin e një numri.",
+       "MATH_SINGLE_TOOLTIP_LN": "Kthen logaritmën natyrale të një numri.",
+       "MATH_SINGLE_TOOLTIP_LOG10": "Kthen 10 logaritmet bazë të një numri.",
+       "MATH_SINGLE_TOOLTIP_EXP": "Kthen e në fuqinë e një numri.",
+       "MATH_SINGLE_TOOLTIP_POW10": "Kthen 10 në fuqinë e një numri.",
+       "MATH_TRIG_HELPURL": "http://en.wikipedia.org/wiki/Trigonometric_functions",
+       "MATH_TRIG_TOOLTIP_SIN": "Kthe kosinusin e nje kendi (jo ne radiant).",
+       "MATH_TRIG_TOOLTIP_COS": "Kthe kosinusin e nje grade (jo ne radiant).",
+       "MATH_TRIG_TOOLTIP_TAN": "Kthe tangentin e nje kendi (jo radiant).",
+       "MATH_TRIG_TOOLTIP_ASIN": "Rikthe sin-1 e nje numeri.",
+       "MATH_TRIG_TOOLTIP_ACOS": "Rikthe cos-1 e nje numeri.",
+       "MATH_TRIG_TOOLTIP_ATAN": "Kthe tg-1 e nje numeri.",
+       "MATH_CONSTANT_HELPURL": "http://en.wikipedia.org/wiki/Mathematical_constant",
+       "MATH_CONSTANT_TOOLTIP": "Kthen një nga konstantet e përbashkëta: : Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), or âˆž (infiniti).",
+       "MATH_IS_EVEN": "është çift",
+       "MATH_IS_ODD": "është tek",
+       "MATH_IS_PRIME": "është prim",
+       "MATH_IS_WHOLE": "është i plotë",
+       "MATH_IS_POSITIVE": "është pozitiv",
+       "MATH_IS_NEGATIVE": "është negativ",
+       "MATH_IS_DIVISIBLE_BY": "është i pjestueshme me",
+       "MATH_IS_TOOLTIP": "Kontrollo nëse një numër është çift, tek, prim, i plotë, pozitiv, negativ, ose nëse është i pjestueshëm me një numër të caktuar. Kthehet e saktë ose e pasaktë.",
+       "MATH_CHANGE_HELPURL": "http://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter",
+       "MATH_CHANGE_TITLE": "ndrysho %1 nga %2",
+       "MATH_CHANGE_TOOLTIP": "Shto një numër në ndryshoren '%1'.",
+       "MATH_ROUND_HELPURL": "http://en.wikipedia.org/wiki/Rounding",
+       "MATH_ROUND_TOOLTIP": "Rrumbullakësimi i numrit të lartë ose të ulët.",
+       "MATH_ROUND_OPERATOR_ROUND": "rrumbullakësimi",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "rrumbullakësimi i lartë",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "rrumbullakësimi i ulët",
+       "MATH_ONLIST_OPERATOR_SUM": "mbledhja e listës",
+       "MATH_ONLIST_TOOLTIP_SUM": "Kthe shumën e të gjithë numrave të listës.",
+       "MATH_ONLIST_OPERATOR_MIN": "numri më i ulët i listës",
+       "MATH_ONLIST_TOOLTIP_MIN": "Kthe numrin me të vogël të listës.",
+       "MATH_ONLIST_OPERATOR_MAX": "numri më i madh i listës",
+       "MATH_ONLIST_TOOLTIP_MAX": "Kthe numrin më të madh të listës.",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "mesatarja e listës",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "Kthen mesatarën (kuptimi aritmetik) i vlerave numerike të listës.",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "mediana e listës",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "Kthe numrin median të listës.",
+       "MATH_ONLIST_OPERATOR_MODE": "modat e listës",
+       "MATH_ONLIST_TOOLTIP_MODE": "Kthe listën e sendit(eve) më të zakonshme të listës.",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "devijimi standard i listës",
+       "MATH_ONLIST_TOOLTIP_STD_DEV": "Kthe devijimin standard të listës.",
+       "MATH_ONLIST_OPERATOR_RANDOM": "send i rastësishëm i listës",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "Kthe një element të rastësishëm nga lista.",
+       "MATH_MODULO_HELPURL": "http://en.wikipedia.org/wiki/Modulo_operation",
+       "MATH_MODULO_TITLE": "mbetësi i %1 ÷ %2",
+       "MATH_MODULO_TOOLTIP": "Kthen mbetësin nga pjestimi i dy numrave.",
+       "MATH_CONSTRAIN_TITLE": "detyro %1 e ulët %2 e lartë %3",
+       "MATH_CONSTRAIN_TOOLTIP": "Vëni një numër që të jetë në mes të kufive të specifikuara(përfshirëse).",
+       "MATH_RANDOM_INT_HELPURL": "http://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_INT_TITLE": "numër i plotë i rastësishëm nga %1 deri në %2",
+       "MATH_RANDOM_INT_TOOLTIP": "Kthe një numër të plotë të rastësishëm të dy kufijve të specifikuar, të përfshirë.",
+       "MATH_RANDOM_FLOAT_HELPURL": "http://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "fraksioni i rastësishëm",
+       "MATH_RANDOM_FLOAT_TOOLTIP": "Kthe fraksionin e rastësishëm në mes të 0.0 (përfshirëse) dhe 1.0 (jopërfshirëse).",
+       "TEXT_TEXT_HELPURL": "http://en.wikipedia.org/wiki/String_(computer_science)",
+       "TEXT_TEXT_TOOLTIP": "Nje shkronje, fjale, ose rresht teksti.",
+       "TEXT_JOIN_TITLE_CREATEWITH": "krijo tekst me",
+       "TEXT_JOIN_TOOLTIP": "Krijo nje pjese te tekstit duke bashkuar se bashku disa sende",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "bashkangjit",
+       "TEXT_CREATE_JOIN_TOOLTIP": "Shto, fshij, ose rirregullo sektoret për ta rikonfiguruar këtë bllok teksti.",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "Shto nje gje ne tekst",
+       "TEXT_APPEND_TITLE": "ne %1 shto tekst %2",
+       "TEXT_APPEND_TOOLTIP": "shto tekst tek varibla '%1'.",
+       "TEXT_LENGTH_TITLE": "gjatesi %1",
+       "TEXT_LENGTH_TOOLTIP": "Pergjigjet me nje numer shkronjash (duke perfshire hapesire) ne tekstin e dhene.",
+       "TEXT_ISEMPTY_TITLE": "%1 eshte bosh",
+       "TEXT_ISEMPTY_TOOLTIP": "Kthehet e vertete neqoftese teksti i dhene eshte bosh.",
+       "TEXT_INDEXOF_TOOLTIP": "Pergjigjet me indeksin e pare/fundit te rastisjes se tekstit te pare ne tekstin e dyte. Pergjigjet me %1 ne qofte se teksti nuk u gjet.",
+       "TEXT_INDEXOF_TITLE": "ne tekst %1 %2 %3",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "gjej rastisjen e pare te tekstit",
+       "TEXT_INDEXOF_OPERATOR_LAST": "gjej rastisjen e fundit te tekstit",
+       "TEXT_CHARAT_TITLE": "në tekst %1 %2",
+       "TEXT_CHARAT_FROM_START": "merr shkronjen #",
+       "TEXT_CHARAT_FROM_END": "merr shkronjen # nga fundi",
+       "TEXT_CHARAT_FIRST": "merr shkronjen e pare",
+       "TEXT_CHARAT_LAST": "merr shkronjen e fundit",
+       "TEXT_CHARAT_RANDOM": "merr nje shkronje te rastesishme",
+       "TEXT_CHARAT_TOOLTIP": "Kthe nje shkronje nga nje pozicion i caktuar.",
+       "TEXT_GET_SUBSTRING_TOOLTIP": "Pergjigjet me nje pjese te caktuar teksti.",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "ne tekst",
+       "TEXT_GET_SUBSTRING_START_FROM_START": "Merr nenvargun nga shkronja #",
+       "TEXT_GET_SUBSTRING_START_FROM_END": "merr nenvargun nga shkronja # nga fundi",
+       "TEXT_GET_SUBSTRING_START_FIRST": "merr vlerat qe vazhdojne me shkronjen e pare",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "ne shkronjen #",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "ne shkronjen # nga fundi",
+       "TEXT_GET_SUBSTRING_END_LAST": "tek shkronja e fundit",
+       "TEXT_CHANGECASE_TOOLTIP": "Kthe nje kopje te tekstit ne nje rast te ndryshem.",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "me shkronja te medha shtypi",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "me shkronja te vogla shtypi",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": "Fillimi me shkronje te madhe shtypi",
+       "TEXT_TRIM_TOOLTIP": "Pergjigju me nje kopje te tekstit me hapesira te fshira nga njera ane ose te dyja anet.",
+       "TEXT_TRIM_OPERATOR_BOTH": "prit hapesirat nga te dyja anet",
+       "TEXT_TRIM_OPERATOR_LEFT": "prit hapesirat nga ana e majte",
+       "TEXT_TRIM_OPERATOR_RIGHT": "prit hapesirat nga ana e djathte",
+       "TEXT_PRINT_TITLE": "printo %1",
+       "TEXT_PRINT_TOOLTIP": "Printo tekstin e caktuar, numer ose vlere tjeter.",
+       "TEXT_PROMPT_TYPE_TEXT": "kerko tekst me njoftim",
+       "TEXT_PROMPT_TYPE_NUMBER": "kerko nje numer me njoftim",
+       "TEXT_PROMPT_TOOLTIP_NUMBER": "Kerkoji perdoruesit nje numer.",
+       "TEXT_PROMPT_TOOLTIP_TEXT": "Kerkoji perdoruesit ca tekst.",
+       "TEXT_COUNT_MESSAGE0": "numro %1 në %2",
+       "TEXT_COUNT_HELPURL": "https://github.com/google/blockly/wiki/Text#counting-substrings",
+       "TEXT_COUNT_TOOLTIP": "Numrin sa herë paraqitet një tekst brenda një teksti tjetër.",
+       "TEXT_REPLACE_MESSAGE0": "zëvendëso %1 me %2 në %3",
+       "TEXT_REPLACE_TOOLTIP": "Zëvendëso të gjitha paraqitjet e një teksti brenda një teksti tjetër.",
+       "TEXT_REVERSE_MESSAGE0": "kthe %1",
+       "TEXT_REVERSE_TOOLTIP": "Kthen renditjen e karaktereve në tekst.",
+       "LISTS_CREATE_EMPTY_HELPURL": "https://github.com/google/blockly/wiki/Lists#create-empty-list",
+       "LISTS_CREATE_EMPTY_TITLE": "krijo një listë të zbrazët",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "Kthen një listë, te gjatësisë 0, duke mos përmbajtur asnjë regjistrim të të dhënave",
+       "LISTS_CREATE_WITH_TOOLTIP": "Krijo një listë me ndonjë numbër të sendeve.",
+       "LISTS_CREATE_WITH_INPUT_WITH": "krijo listë me",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "listë",
+       "LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "Shto, fshij, ose rirregullo sektoret për ta rikonfiguruar këtë bllok të listës.",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "Shto një send në listë.",
+       "LISTS_REPEAT_TOOLTIP": "Krijon në listë qe përmban vlerën e dhënë të përsëritur aq herë sa numri i specifikuar.",
+       "LISTS_REPEAT_TITLE": "krijo listën me sendin %1 të përsëritur %2 herë",
+       "LISTS_LENGTH_TITLE": "gjatësia e %1",
+       "LISTS_LENGTH_TOOLTIP": "Kthen gjatësinë e listës.",
+       "LISTS_ISEMPTY_TITLE": "%1 është e zbraztë",
+       "LISTS_ISEMPTY_TOOLTIP": "Kthehet i saktë nëse lista është e zbraztë.",
+       "LISTS_INLIST": "në listë",
+       "LISTS_INDEX_OF_FIRST": "gjen ndodhjen e parë të sendit",
+       "LISTS_INDEX_OF_LAST": "gjen ndodhjen e fundit të sendit",
+       "LISTS_INDEX_OF_TOOLTIP": "Kthen indeksin e ndodhjes së parë/fudit të sendit në listë. Kthen %1 nëse teksti nuk është gjetur.",
+       "LISTS_GET_INDEX_GET": "merr",
+       "LISTS_GET_INDEX_GET_REMOVE": "merr dhe fshij",
+       "LISTS_GET_INDEX_REMOVE": "largo",
+       "LISTS_GET_INDEX_FROM_START": "#",
+       "LISTS_GET_INDEX_FROM_END": "# nga fundi",
+       "LISTS_GET_INDEX_FIRST": "i parë",
+       "LISTS_GET_INDEX_LAST": "i fundit",
+       "LISTS_GET_INDEX_RANDOM": "i rastësishëm",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "%1 është sendi i parë.",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "%1 është sendi i fundit.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "Kthen një send në pozicionin e specifikuar në listë.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "Rikthen tek artikulli i par në list.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "Kthen artikullin e fundit në list.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "Kthen një send të rastësishëm në listë.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "Fshin dhe kthen sendin në pozicionin e specifikuar në listë.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "Fshin dhe kthen sendin e parë në listë.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "Fshin dhe kthen sendin e fundit në listë.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "Fshin dhe kthen një send të rastësishëm në listë.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "Fshin sendin në pozicionin e specifikuar në listë.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "Fshin sendin e parë në listë.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "Fshin sendin e fundit në listë.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "Kthen një send të rastësishëm në listë.",
+       "LISTS_SET_INDEX_SET": "vendos",
+       "LISTS_SET_INDEX_INSERT": "fut në",
+       "LISTS_SET_INDEX_INPUT_TO": "sikurse",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "Vendos sendin në pozicionin e specifikuar në listë.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "Vendos sendin e parë në listë.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_LAST": "Vendos sendin e fundit në listë.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "Vendos një send të rastësishëm në listë.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "Fut sendin në pozicionin e specifikuar të listës.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "Fut sendin në fillim të listës.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "Bashkangjit sendin në fund të listës.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "Fut sendin rastësisht në listë.",
+       "LISTS_GET_SUBLIST_START_FROM_START": "merr nën-listën nga #",
+       "LISTS_GET_SUBLIST_START_FROM_END": "merr nën listën nga # nga fundi",
+       "LISTS_GET_SUBLIST_START_FIRST": "merr nën-listën nga i pari",
+       "LISTS_GET_SUBLIST_END_FROM_START": "tek #",
+       "LISTS_GET_SUBLIST_END_FROM_END": "tek # nga fundi",
+       "LISTS_GET_SUBLIST_END_LAST": "tek i fundit",
+       "LISTS_GET_SUBLIST_TOOLTIP": "Krijon në kopje të pjesës së specifikuar të listës.",
+       "LISTS_SORT_HELPURL": "https://github.com/google/blockly/wiki/Lists#sorting-a-list",
+       "LISTS_SORT_TITLE": "rendit %1 %2 %3",
+       "LISTS_SORT_TOOLTIP": "Rendit një kopje të listës.",
+       "LISTS_SORT_ORDER_ASCENDING": "ngjitje",
+       "LISTS_SORT_ORDER_DESCENDING": "zbritje",
+       "LISTS_SORT_TYPE_NUMERIC": "numerike",
+       "LISTS_SORT_TYPE_TEXT": "alfabetike",
+       "LISTS_SORT_TYPE_IGNORECASE": "alfabetike, injoro madhësinë e shkronjave",
+       "LISTS_SPLIT_LIST_FROM_TEXT": "bëj listë nga teksti",
+       "LISTS_SPLIT_TEXT_FROM_LIST": "bëj tekst nga lista",
+       "LISTS_SPLIT_WITH_DELIMITER": "me ndarës",
+       "LISTS_SPLIT_TOOLTIP_SPLIT": "Ndaj tekstin në një listë tekstesh, duke ndarë në secilin ndarës.",
+       "LISTS_SPLIT_TOOLTIP_JOIN": "Ngjit një listë tekstesh në një, të ndara me ndarës.",
+       "LISTS_REVERSE_MESSAGE0": "kthe %1",
+       "LISTS_REVERSE_TOOLTIP": "Ndërro renditjen e një kopjeje të listës.",
+       "VARIABLES_GET_TOOLTIP": "Pergjigjet me nje vlere te kesaj variable.",
+       "VARIABLES_GET_CREATE_SET": "Krijo 'vendos %1",
+       "VARIABLES_SET": "vendos %1 ne %2",
+       "VARIABLES_SET_TOOLTIP": "Vendos kete variable te jete e barabarte me te dhenat ne hyrje.",
+       "VARIABLES_SET_CREATE_GET": "Krijo 'merr %1",
+       "PROCEDURES_DEFNORETURN_HELPURL": "http://en.wikipedia.org/wiki/Procedure_%28computer_science%29",
+       "PROCEDURES_DEFNORETURN_TITLE": "te",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "bëj diqka",
+       "PROCEDURES_BEFORE_PARAMS": "me:",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "me:",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "Krijon një funksion pa dalje.",
+       "PROCEDURES_DEFNORETURN_COMMENT": "Përshkruaj këtë funksion...",
+       "PROCEDURES_DEFRETURN_HELPURL": "http://en.wikipedia.org/wiki/Procedure_%28computer_science%29",
+       "PROCEDURES_DEFRETURN_RETURN": "rikthe",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "Krijon një funksion me një dalje.",
+       "PROCEDURES_ALLOW_STATEMENTS": "lejo deklaratat",
+       "PROCEDURES_DEF_DUPLICATE_WARNING": "Paralajmërim: Ky funksion ka parametra të dyfishuar.",
+       "PROCEDURES_CALLNORETURN_HELPURL": "https://en.wikipedia.org/wiki/Subroutine",
+       "PROCEDURES_CALLNORETURN_TOOLTIP": "Lësho funksionin e definuar nga përdoruesi '%1'.",
+       "PROCEDURES_CALLRETURN_HELPURL": "https://en.wikipedia.org/wiki/Subroutine",
+       "PROCEDURES_CALLRETURN_TOOLTIP": "Lëho funksionin e definuar nga përdoruesi '%1' dhe përdor daljen e tij.",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "Informacioni i futur",
+       "PROCEDURES_MUTATORCONTAINER_TOOLTIP": "Shto, hiq, ose rirendit inputet e këtij funksioni.",
+       "PROCEDURES_MUTATORARG_TITLE": "Fut emrin:",
+       "PROCEDURES_MUTATORARG_TOOLTIP": "Shto një input në këtë funksion.",
+       "PROCEDURES_HIGHLIGHT_DEF": "Thekso definicionin e funksionit",
+       "PROCEDURES_CREATE_DO": "Krijo '%1'",
+       "PROCEDURES_IFRETURN_TOOLTIP": "Nëse një vlerë është e saktë, atëherë kthe një vlerë të dytë.",
+       "PROCEDURES_IFRETURN_WARNING": "Paralajmërim: Ky bllok mund të përdoret vetëm brenda definicionit të funksionit."
+}
diff --git a/js/msg/json/sr-latn.json b/js/msg/json/sr-latn.json
new file mode 100644 (file)
index 0000000..af03f28
--- /dev/null
@@ -0,0 +1,356 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Zoranzoki21"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "stavka",
+       "TODAY": "Danas",
+       "DUPLICATE_BLOCK": "Dupliraj",
+       "ADD_COMMENT": "Dodaj komentar",
+       "REMOVE_COMMENT": "Ukloni komentar",
+       "EXTERNAL_INPUTS": "Spoljni ulazi",
+       "INLINE_INPUTS": "UnutraÅ¡nji ulazi",
+       "DELETE_BLOCK": "ObriÅ¡i blok",
+       "DELETE_X_BLOCKS": "ObriÅ¡i %1 blokova",
+       "DELETE_ALL_BLOCKS": "Da obriÅ¡em svih %1 blokova?",
+       "CLEAN_UP": "Ukloni blokove",
+       "COLLAPSE_BLOCK": "Skupi blok",
+       "COLLAPSE_ALL": "Skupi blokove",
+       "EXPAND_BLOCK": "ProÅ¡iri blok",
+       "EXPAND_ALL": "ProÅ¡iri blokove",
+       "DISABLE_BLOCK": "Onemogući blok",
+       "ENABLE_BLOCK": "Omogući blok",
+       "HELP": "Pomoć",
+       "UNDO": "Opozovi",
+       "REDO": "Ponovi",
+       "CHANGE_VALUE_TITLE": "Promeni vrednost:",
+       "RENAME_VARIABLE": "Preimenuj promenljivu…",
+       "RENAME_VARIABLE_TITLE": "Preimenuj sve â€ž%1“ promenljive u:",
+       "NEW_VARIABLE": "Napravi promenljivu…",
+       "NEW_VARIABLE_TITLE": "Ime nove promenljive:",
+       "VARIABLE_ALREADY_EXISTS": "Promenljiva pod imenom '%1' već postoji.",
+       "VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE": "Varijabla po imenu '%1' već postoji za drugu varijablu tipa '%2'.",
+       "DELETE_VARIABLE_CONFIRMATION": "Da obriÅ¡em %1 upotreba promenljive '%2'?",
+       "CANNOT_DELETE_VARIABLE_PROCEDURE": "Ne mogu da obriÅ¡em varijablu â€™%1’ jer je deo definicije funkcije â€™%2’",
+       "DELETE_VARIABLE": "ObriÅ¡i promenljivu '%1'",
+       "COLOUR_PICKER_HELPURL": "https://sr.wikipedia.org/wiki/Boja",
+       "COLOUR_PICKER_TOOLTIP": "Izaberite boju sa palete.",
+       "COLOUR_RANDOM_TITLE": "sluÄajna boja",
+       "COLOUR_RANDOM_TOOLTIP": "Izaberite boju nasumice.",
+       "COLOUR_RGB_HELPURL": "http://www.december.com/html/spec/colorper.html",
+       "COLOUR_RGB_TITLE": "boja sa",
+       "COLOUR_RGB_RED": "crvena",
+       "COLOUR_RGB_GREEN": "zelena",
+       "COLOUR_RGB_BLUE": "plava",
+       "COLOUR_RGB_TOOLTIP": "Kreiraj boju sa odreÄ‘enom koliÄinom crvene,zelene, i plave. Sve vrednosti moraju biti izmeÄ‘u 0 i 100.",
+       "COLOUR_BLEND_HELPURL": "http://meyerweb.com/eric/tools/color-blend/",
+       "COLOUR_BLEND_TITLE": "pomeÅ¡aj",
+       "COLOUR_BLEND_COLOUR1": "boja 1",
+       "COLOUR_BLEND_COLOUR2": "boja 2",
+       "COLOUR_BLEND_RATIO": "odnos",
+       "COLOUR_BLEND_TOOLTIP": "PomeÅ¡ati dve boje zajedno sa datim odnosom (0.0 - 1.0).",
+       "CONTROLS_REPEAT_HELPURL": "https://sr.wikipedia.org/wiki/For_petlja",
+       "CONTROLS_REPEAT_TITLE": "ponovi %1 puta",
+       "CONTROLS_REPEAT_INPUT_DO": "izvrÅ¡i",
+       "CONTROLS_REPEAT_TOOLTIP": "Odraditi neke naredbe nekoliko puta.",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "ponavljati dok",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "ponavljati do",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "Dok je vrednost taÄna, onda izvrÅ¡ite neke naredbe.",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "Dok vrednost nije taÄna, onda izvrÅ¡iti neke naredbe.",
+       "CONTROLS_FOR_TOOLTIP": "Imaj promenjivu \"%1\" uzmi vrednosti od poÄetnog broja do zadnjeg broja, brojeći po odreÄ‘enom intervalu, i izvrÅ¡i odreÄ‘ene blokove.",
+       "CONTROLS_FOR_TITLE": "prebroj sa %1 od %2 do %3 od %4",
+       "CONTROLS_FOREACH_TITLE": "za svaku stavku %1 na spisku %2",
+       "CONTROLS_FOREACH_TOOLTIP": "Za svaku stavku unutar liste, podesi promenjivu '%1' po stavci, i onda naÄini neke izjave-naredbe.",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "IzaÄ‘ite iz petlje",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "nastavi sa sledećom iteracijom petlje",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "Napusti sadržaj petlje.",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "PreskoÄi ostatak ove petlje, i nastavi sa sledećom iteracijom(ponavljanjem).",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "Upozorenje: Ovaj blok može da se upotrebi samo unutar petlje.",
+       "CONTROLS_IF_TOOLTIP_1": "ako je vrednost taÄna, onda izvrÅ¡i neke naredbe-izjave.",
+       "CONTROLS_IF_TOOLTIP_2": "ako je vrednost taÄna, onda izvrÅ¡i prvi blok naredbi, U suprotnom, izvrÅ¡i drugi blok naredbi.",
+       "CONTROLS_IF_TOOLTIP_3": "Ako je prva vrednost taÄna, onda izvrÅ¡i prvi blok naredbi, u suprotnom, ako je druga vrednost taÄna , izvrÅ¡i drugi blok naredbi.",
+       "CONTROLS_IF_TOOLTIP_4": "Ako je prva vrednost taÄna, onda izvrÅ¡i prvi blok naredbi, u suprotnom, ako je druga vrednost taÄna , izvrÅ¡i drugi blok naredbi. Ako ni jedna od vrednosti nije taÄna, izvrÅ¡i poslednji blok naredbi.",
+       "CONTROLS_IF_MSG_IF": "ako",
+       "CONTROLS_IF_MSG_ELSEIF": "inaÄe-ako",
+       "CONTROLS_IF_MSG_ELSE": "inaÄe",
+       "CONTROLS_IF_IF_TOOLTIP": "Dodaj, ukloni, ili preuredi delove kako bih rekonfigurisali ovaj if blok.",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "Dodajte uslov bloku â€žako“.",
+       "CONTROLS_IF_ELSE_TOOLTIP": "Dodaj konaÄni, catch-all  (uhvati sve) uslove if bloka.",
+       "IOS_OK": "U redu",
+       "IOS_CANCEL": "Otkaži",
+       "IOS_ERROR": "GreÅ¡ka",
+       "IOS_PROCEDURES_INPUTS": "UNOSI",
+       "IOS_PROCEDURES_ADD_INPUT": "+ Dodaj unos",
+       "IOS_PROCEDURES_ALLOW_STATEMENTS": "Dozvoli izjave",
+       "IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR": "Ova funkcija ima duplicirane unose.",
+       "IOS_VARIABLES_ADD_VARIABLE": "+ Dodaj varijablu",
+       "IOS_VARIABLES_ADD_BUTTON": "Dodaj",
+       "IOS_VARIABLES_RENAME_BUTTON": "Preimenuj",
+       "IOS_VARIABLES_DELETE_BUTTON": "ObriÅ¡i",
+       "IOS_VARIABLES_VARIABLE_NAME": "Ime varijable",
+       "IOS_VARIABLES_EMPTY_NAME_ERROR": "Ne možete da koristite prazno ime varijable.",
+       "LOGIC_COMPARE_HELPURL": "https://sr.wikipedia.org/wiki/Nejednakost",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "Vraća vrednost â€žtaÄno“ ako su oba ulaza jednaka.",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "Vraća vrednost â€žtaÄno“ ako su oba ulaza nejednaka.",
+       "LOGIC_COMPARE_TOOLTIP_LT": "Vraća vrednost â€žtaÄno“ ako je prvi ulaz manji od drugog.",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "Vraća vrednost â€žtaÄno“ ako je prvi ulaz manji ili jednak drugom.",
+       "LOGIC_COMPARE_TOOLTIP_GT": "Vraća vrednost â€žtaÄno“ ako je prvi ulaz veći od drugog.",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "Vraća vrednost â€žtaÄno“ ako je prvi ulaz veći ili jednak drugom.",
+       "LOGIC_OPERATION_TOOLTIP_AND": "Vraća vrednost â€žtaÄno“ ako su oba ulaza taÄna.",
+       "LOGIC_OPERATION_AND": "i",
+       "LOGIC_OPERATION_TOOLTIP_OR": "Vraća vrednost â€žtaÄno“ ako je bar jedan od ulaza taÄan.",
+       "LOGIC_OPERATION_OR": "ili",
+       "LOGIC_NEGATE_TITLE": "nije %1",
+       "LOGIC_NEGATE_TOOLTIP": "Vraća vrednost â€žtaÄno“ ako je ulaz netaÄan. Vraća vrednost â€žnetaÄno“ ako je ulaz taÄan.",
+       "LOGIC_BOOLEAN_TRUE": "taÄno",
+       "LOGIC_BOOLEAN_FALSE": "netaÄno",
+       "LOGIC_BOOLEAN_TOOLTIP": "Vraća ili taÄno ili netaÄno.",
+       "LOGIC_NULL_HELPURL": "https://en.wikipedia.org/wiki/Nullable_type",
+       "LOGIC_NULL": "bez vrednosti",
+       "LOGIC_NULL_TOOLTIP": "Vraća â€žbez vrednosti“.",
+       "LOGIC_TERNARY_HELPURL": "https://en.wikipedia.org/wiki/%3F:",
+       "LOGIC_TERNARY_CONDITION": "proba",
+       "LOGIC_TERNARY_IF_TRUE": "ako je taÄno",
+       "LOGIC_TERNARY_IF_FALSE": "ako je netaÄno",
+       "LOGIC_TERNARY_TOOLTIP": "Proveri uslov u 'test'. Ako je uslov taÄan, tada vraća 'if true' vrednost; u drugom sluÄaju vraća 'if false' vrednost.",
+       "MATH_NUMBER_HELPURL": "https://en.wikipedia.org/wiki/Number",
+       "MATH_NUMBER_TOOLTIP": "Neki broj.",
+       "MATH_ADDITION_SYMBOL": "+",
+       "MATH_SUBTRACTION_SYMBOL": "-",
+       "MATH_DIVISION_SYMBOL": "÷",
+       "MATH_MULTIPLICATION_SYMBOL": "×",
+       "MATH_POWER_SYMBOL": "^",
+       "MATH_TRIG_SIN": "sin",
+       "MATH_TRIG_COS": "cos",
+       "MATH_TRIG_TAN": "tan",
+       "MATH_TRIG_ASIN": "arc sin",
+       "MATH_TRIG_ACOS": "arc cos",
+       "MATH_TRIG_ATAN": "arc tan",
+       "MATH_ARITHMETIC_HELPURL": "https://en.wikipedia.org/wiki/Arithmetic",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "Vratite zbir dva broja.",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "Vraća razliku dva broja.",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "Vraća proizvod dva broja.",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "Vraća koliÄnik dva broja.",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "Vraća prvi broj stepenovan drugim.",
+       "MATH_SINGLE_HELPURL": "https://sr.wikipedia.org/wiki/Kvadratni_koren",
+       "MATH_SINGLE_OP_ROOT": "kvadratni koren",
+       "MATH_SINGLE_TOOLTIP_ROOT": "Vraća kvadratni koren broja.",
+       "MATH_SINGLE_OP_ABSOLUTE": "apsolutan",
+       "MATH_SINGLE_TOOLTIP_ABS": "Vraća apsolutnu vrednost broja.",
+       "MATH_SINGLE_TOOLTIP_NEG": "Vraća negaciju broja.",
+       "MATH_SINGLE_TOOLTIP_LN": "Vraća prirodni logaritam broja.",
+       "MATH_SINGLE_TOOLTIP_LOG10": "Vraća logaritam broja sa osnovom 10.",
+       "MATH_SINGLE_TOOLTIP_EXP": "vratiti e na vlasti broja.",
+       "MATH_SINGLE_TOOLTIP_POW10": "Vraća 10-ti stepen broja.",
+       "MATH_TRIG_HELPURL": "https://sr.wikipedia.org/wiki/Trigonometrijske_funkcije",
+       "MATH_TRIG_TOOLTIP_SIN": "Vraća sinus stepena (ne radijan).",
+       "MATH_TRIG_TOOLTIP_COS": "Vraća kosinus stepena (ne radijan).",
+       "MATH_TRIG_TOOLTIP_TAN": "Vraća tangens stepena (ne radijan).",
+       "MATH_TRIG_TOOLTIP_ASIN": "Vraća arkus broja.",
+       "MATH_TRIG_TOOLTIP_ACOS": "Vraća arkus kosinus broja.",
+       "MATH_TRIG_TOOLTIP_ATAN": "Vraća arkus tangens broja.",
+       "MATH_CONSTANT_HELPURL": "https://sr.wikipedia.org/wiki/MatematiÄka_konstanta",
+       "MATH_CONSTANT_TOOLTIP": "vrati jednu od zajedniÄkih konstanti: Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), ili âˆž (infinity).",
+       "MATH_IS_EVEN": "je paran",
+       "MATH_IS_ODD": "je neparan",
+       "MATH_IS_PRIME": "je prost",
+       "MATH_IS_WHOLE": "je ceo",
+       "MATH_IS_POSITIVE": "je pozitivan",
+       "MATH_IS_NEGATIVE": "je negativan",
+       "MATH_IS_DIVISIBLE_BY": "je deljiv sa",
+       "MATH_IS_TOOLTIP": "Provjerava da li je broj paran, neparan, prost, cio, pozitivan, negativan, ili da li je deljiv sa odreÄ‘enim brojem. Vraća taÄno ili netaÄno.",
+       "MATH_CHANGE_HELPURL": "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter",
+       "MATH_CHANGE_TITLE": "promeni %1 za %2",
+       "MATH_CHANGE_TOOLTIP": "Dodajte broj promenljivoj â€ž%1“.",
+       "MATH_ROUND_HELPURL": "https://sr.wikipedia.org/wiki/Zaokruživanje",
+       "MATH_ROUND_TOOLTIP": "Zaokružite broj na veću ili manju vrednost.",
+       "MATH_ROUND_OPERATOR_ROUND": "zaokruži",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "zaokruži naviÅ¡e",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "zaokruži naniže",
+       "MATH_ONLIST_OPERATOR_SUM": "zbir spiska",
+       "MATH_ONLIST_TOOLTIP_SUM": "Vraća zbir svih brojeva sa spiska.",
+       "MATH_ONLIST_OPERATOR_MIN": "min. spiska",
+       "MATH_ONLIST_TOOLTIP_MIN": "Vraća najmanji broj sa spiska.",
+       "MATH_ONLIST_OPERATOR_MAX": "maks. spiska",
+       "MATH_ONLIST_TOOLTIP_MAX": "Vraća najveći broj sa spiska.",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "prosek spiska",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "Vraća prosek numeriÄkih vrednosti sa spiska.",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "medijana spiska",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "Vraća medijanu sa spiska.",
+       "MATH_ONLIST_OPERATOR_MODE": "modus spiska",
+       "MATH_ONLIST_TOOLTIP_MODE": "Vraća najÄešće stavke sa spiska.",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "standardna devijacija spiska",
+       "MATH_ONLIST_TOOLTIP_STD_DEV": "Vraća standardnu devijaciju spiska.",
+       "MATH_ONLIST_OPERATOR_RANDOM": "sluÄajna stavka spiska",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "Vraća sluÄajni element sa spiska.",
+       "MATH_MODULO_HELPURL": "https://sr.wikipedia.org/wiki/Kongruencija",
+       "MATH_MODULO_TITLE": "podsetnik od %1 ÷ %2",
+       "MATH_MODULO_TOOLTIP": "Vraća podsetnik od deljenja dva broja.",
+       "MATH_CONSTRAIN_TITLE": "ograniÄi %1 nisko %2 visoko %3",
+       "MATH_CONSTRAIN_TOOLTIP": "OgraniÄava broj na donje i gornje granice (ukljuÄivo).",
+       "MATH_RANDOM_INT_HELPURL": "https://sr.wikipedia.org/wiki/Generator_sluÄajnih_brojeva",
+       "MATH_RANDOM_INT_TITLE": "sliÄajno odabrani cijeli broj od %1 do %2",
+       "MATH_RANDOM_INT_TOOLTIP": "Vraća sluÄajno odabrani celi broj izmeÄ‘u dve odreÄ‘ene granice, ukljuÄivo.",
+       "MATH_RANDOM_FLOAT_HELPURL": "https://sr.wikipedia.org/wiki/Generator_sluÄajnih_brojeva",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "sluÄajni razlomak",
+       "MATH_RANDOM_FLOAT_TOOLTIP": "Vraća sluÄajni razlomak izmeÄ‘u 0.0 (ukljuÄivo) i 1.0 (iskljuÄivo).",
+       "TEXT_TEXT_HELPURL": "https://sr.wikipedia.org/wiki/Niska",
+       "TEXT_TEXT_TOOLTIP": "Slovo, reÄ ili red teksta.",
+       "TEXT_JOIN_TITLE_CREATEWITH": "napiÅ¡i tekst sa",
+       "TEXT_JOIN_TOOLTIP": "Napraviti dio teksta spajajući razliÄite stavke.",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "spajanjem",
+       "TEXT_CREATE_JOIN_TOOLTIP": "Dodaj, ukloni, ili drugaÄije poredaj odjelke kako bi iznova postavili ovaj tekst blok.",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "Dodajte stavku u tekst.",
+       "TEXT_APPEND_TITLE": "na %1 dodaj tekst %2",
+       "TEXT_APPEND_TOOLTIP": "Dodajte tekst na promenljivu â€ž%1“.",
+       "TEXT_LENGTH_TITLE": "dužina teksta %1",
+       "TEXT_LENGTH_TOOLTIP": "Vraća broj slova (ukljuÄujući razmake) u datom tekstu.",
+       "TEXT_ISEMPTY_TITLE": "%1 je prazan",
+       "TEXT_ISEMPTY_TOOLTIP": "Vraća taÄno ako je dostavljeni tekst prazan.",
+       "TEXT_INDEXOF_TOOLTIP": "Vraća odnos prvog/zadnjeg pojavljivanja teksta u drugom tekstu. VraÄ‘a %1 ako tekst nije pronaÄ‘en.",
+       "TEXT_INDEXOF_TITLE": "u tekstu %1 %2 %3",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "pronaÄ‘i prvo pojavljivanje teksta",
+       "TEXT_INDEXOF_OPERATOR_LAST": "pronaÄ‘i poslednje pojavljivanje teksta",
+       "TEXT_CHARAT_TITLE": "u tekstu %1 %2",
+       "TEXT_CHARAT_FROM_START": "preuzmi slovo #",
+       "TEXT_CHARAT_FROM_END": "preuzmi slovo # sa kraja",
+       "TEXT_CHARAT_FIRST": "preuzmi prvo slovo",
+       "TEXT_CHARAT_LAST": "preuzmi poslednje slovo",
+       "TEXT_CHARAT_RANDOM": "preuzmi sluÄajno slovo",
+       "TEXT_CHARAT_TOOLTIP": "Vraća slovo na odreÄ‘eni položaj.",
+       "TEXT_GET_SUBSTRING_TOOLTIP": "Vraća odreÄ‘eni deo teksta.",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "u tekstu",
+       "TEXT_GET_SUBSTRING_START_FROM_START": "preuzmi podnisku iz slova #",
+       "TEXT_GET_SUBSTRING_START_FROM_END": "preuzmi podnisku iz slova # sa kraja",
+       "TEXT_GET_SUBSTRING_START_FIRST": "preuzmi podnisku iz prvog slova",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "slovu #",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "slovu # sa kraja",
+       "TEXT_GET_SUBSTRING_END_LAST": "poslednjem slovu",
+       "TEXT_CHANGECASE_TOOLTIP": "Vraća primerak teksta sa drugaÄijom veliÄinom slova.",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "velikim slovima",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "malim slovima",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": "svaka reÄ velikim slovom",
+       "TEXT_TRIM_TOOLTIP": "Vraća kopiju teksta sa uklonjenim prostorom sa jednog od dva kraja.",
+       "TEXT_TRIM_OPERATOR_BOTH": "trim praznine sa obe strane",
+       "TEXT_TRIM_OPERATOR_LEFT": "skratiti prostor sa leve strane",
+       "TEXT_TRIM_OPERATOR_RIGHT": "skratiti prostor sa desne strane",
+       "TEXT_PRINT_TITLE": "prikaži %1",
+       "TEXT_PRINT_TOOLTIP": "Prikažite odreÄ‘eni tekst, broj ili drugu vrednost na ekranu.",
+       "TEXT_PROMPT_TYPE_TEXT": "pitaj za tekst sa porukom",
+       "TEXT_PROMPT_TYPE_NUMBER": "pitaj za broj sa porukom",
+       "TEXT_PROMPT_TOOLTIP_NUMBER": "Pitajte korisnika za broj.",
+       "TEXT_PROMPT_TOOLTIP_TEXT": "Pitajte korisnika za unos teksta.",
+       "TEXT_COUNT_MESSAGE0": "broj %1 u %2",
+       "TEXT_COUNT_HELPURL": "https://github.com/google/blockly/wiki/Text#counting-substrings",
+       "TEXT_COUNT_TOOLTIP": "Broji koliko puta se neki tekst pojavljuje unutar nekog drugog teksta.",
+       "TEXT_REPLACE_MESSAGE0": "zamena %1 sa %2 u %3",
+       "TEXT_REPLACE_HELPURL": "https://github.com/google/blockly/wiki/Text#replacing-substrings",
+       "TEXT_REPLACE_TOOLTIP": "Zamena svih pojava nekog teksta unutar nekog drugog teksta.",
+       "TEXT_REVERSE_MESSAGE0": "obrnuto %1",
+       "TEXT_REVERSE_HELPURL": "https://github.com/google/blockly/wiki/Text#reversing-text",
+       "TEXT_REVERSE_TOOLTIP": "Obrće redosled karaktera u tekstu.",
+       "LISTS_CREATE_EMPTY_HELPURL": "https://github.com/google/blockly/wiki/Lists#create-empty-list",
+       "LISTS_CREATE_EMPTY_TITLE": "napravi prazan spisak",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "vraća listu, dužine 0, ne sadržavajući  evidenciju podataka",
+       "LISTS_CREATE_WITH_TOOLTIP": "Kreiraj listu sa bilo kojim brojem stavki.",
+       "LISTS_CREATE_WITH_INPUT_WITH": "napravi spisak sa",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "spisak",
+       "LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "Dodajte, izbriÅ¡ite, ili preuredite delove kako bi se reorganizovali ovaj blok liste.",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "Dodajte stavku na spisak.",
+       "LISTS_REPEAT_TOOLTIP": "Pravi listu koja se sastoji od zadane vrednosti koju ponavljamo odreÄ‘eni broj Å¡uta.",
+       "LISTS_REPEAT_TITLE": "Napraviti listu sa stavkom %1 koja se ponavlja %2 puta",
+       "LISTS_LENGTH_TITLE": "dužina spiska %1",
+       "LISTS_LENGTH_TOOLTIP": "Vraća dužinu spiska.",
+       "LISTS_ISEMPTY_TITLE": "%1 je prazan",
+       "LISTS_ISEMPTY_TOOLTIP": "Vraća vrednost taÄno ako je lista prazna.",
+       "LISTS_INLIST": "na spisku",
+       "LISTS_INDEX_OF_FIRST": "pronaÄ‘i prvo pojavljivanje stavke",
+       "LISTS_INDEX_OF_LAST": "pronaÄ‘i poslednje pojavljivanje stavke",
+       "LISTS_INDEX_OF_TOOLTIP": "Vraća broj prvog i/poslednjeg ulaska elementa u listu. Vraća %1 Ako element nije pronaÄ‘en.",
+       "LISTS_GET_INDEX_GET": "preuzmi",
+       "LISTS_GET_INDEX_GET_REMOVE": "preuzmi i ukloni",
+       "LISTS_GET_INDEX_REMOVE": "ukloni",
+       "LISTS_GET_INDEX_FROM_START": "#",
+       "LISTS_GET_INDEX_FROM_END": "# sa kraja",
+       "LISTS_GET_INDEX_FIRST": "prva",
+       "LISTS_GET_INDEX_LAST": "poslednja",
+       "LISTS_GET_INDEX_RANDOM": "sluÄajna",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "%1 je prva stavka.",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "%1 je poslednja stavka.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "Vraća stavku na odreÄ‘enu poziciju na listi.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "Vraća prvu stavku na spisku.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "Vraća poslednju stavku na spisku.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "Vraća sluÄajnu stavku sa spiska.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "Uklanja i vraća stavku sa odreÄ‘enog položaja na spisku.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "Uklanja i vraća prvu stavku sa spiska.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "Uklanja i vraća poslednju stavku sa spiska.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "Uklanja i vraća sluÄajnu stavku sa spiska.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "Uklanja stavku sa odreÄ‘enog položaja na spisku.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "Uklanja prvu stavku sa spiska.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "Uklanja poslednju stavku sa spiska.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "Uklanja sluÄajnu stavku sa spiska.",
+       "LISTS_SET_INDEX_SET": "postavi",
+       "LISTS_SET_INDEX_INSERT": "ubaci na",
+       "LISTS_SET_INDEX_INPUT_TO": "kao",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "Postavlja stavku na odreÄ‘eni položaj na spisku.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "Postavlja prvu stavku na spisku.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_LAST": "Postavlja poslednju stavku na spisku.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "Postavlja sluÄajnu stavku na spisku.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "Ubacuje stavku na odreÄ‘eni položaj na spisku.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "Ubacuje stavku na poÄetak spiska.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "Dodajte stavku na kraj spiska.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "Ubacuje stavku na sluÄajno mesto na spisku.",
+       "LISTS_GET_SUBLIST_START_FROM_START": "preuzmi podspisak od #",
+       "LISTS_GET_SUBLIST_START_FROM_END": "preuzmi podspisak iz # sa kraja",
+       "LISTS_GET_SUBLIST_START_FIRST": "preuzmi podspisak od prve",
+       "LISTS_GET_SUBLIST_END_FROM_START": "do #",
+       "LISTS_GET_SUBLIST_END_FROM_END": "do # od kraja",
+       "LISTS_GET_SUBLIST_END_LAST": "do poslednje",
+       "LISTS_GET_SUBLIST_TOOLTIP": "Pravi kopiju odreÄ‘enog dela liste.",
+       "LISTS_SORT_HELPURL": "https://github.com/google/blockly/wiki/Lists#sorting-a-list",
+       "LISTS_SORT_TITLE": "sortiraj %1 %2 %3",
+       "LISTS_SORT_TOOLTIP": "Sortirajte kopiju spiska.",
+       "LISTS_SORT_ORDER_ASCENDING": "rastuće",
+       "LISTS_SORT_ORDER_DESCENDING": "opadajuće",
+       "LISTS_SORT_TYPE_NUMERIC": "kao brojeve",
+       "LISTS_SORT_TYPE_TEXT": "azbuÄno",
+       "LISTS_SORT_TYPE_IGNORECASE": "azbuÄno, ignoriÅ¡i mala i velika slova",
+       "LISTS_SPLIT_LIST_FROM_TEXT": "napravite listu sa teksta",
+       "LISTS_SPLIT_TEXT_FROM_LIST": "da tekst iz liste",
+       "LISTS_SPLIT_WITH_DELIMITER": "sa razdvajanje",
+       "LISTS_SPLIT_TOOLTIP_SPLIT": "Podeliti tekst u listu tekstova, razbijanje na svakom graniÄnik.",
+       "LISTS_SPLIT_TOOLTIP_JOIN": "Da se pridruži listu tekstova u jedan tekst, podeljenih za razdvajanje.",
+       "LISTS_REVERSE_HELPURL": "https://github.com/google/blockly/wiki/Lists#reversing-a-list",
+       "LISTS_REVERSE_MESSAGE0": "obrnuto %1",
+       "LISTS_REVERSE_TOOLTIP": "Obrni kopiju spiska.",
+       "VARIABLES_GET_TOOLTIP": "Vraća vrednost ove promenljive.",
+       "VARIABLES_GET_CREATE_SET": "Napravi â€žpostavi %1“",
+       "VARIABLES_SET": "postavi %1 u %2",
+       "VARIABLES_SET_TOOLTIP": "Postavlja promenljivu tako da bude jednaka ulazu.",
+       "VARIABLES_SET_CREATE_GET": "Napravi â€žpreuzmi %1“",
+       "PROCEDURES_DEFNORETURN_HELPURL": "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29",
+       "PROCEDURES_DEFNORETURN_TITLE": "da",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "uradite neÅ¡to",
+       "PROCEDURES_BEFORE_PARAMS": "sa:",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "sa:",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "Pravi funkciju bez izlaza.",
+       "PROCEDURES_DEFNORETURN_COMMENT": "Opisati ovu funkciju...",
+       "PROCEDURES_DEFRETURN_HELPURL": "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29",
+       "PROCEDURES_DEFRETURN_RETURN": "vrati",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "Pravi funkciju sa izlazom.",
+       "PROCEDURES_ALLOW_STATEMENTS": "dozvoliti izreke",
+       "PROCEDURES_DEF_DUPLICATE_WARNING": "Upozorenje: Ova funkcija ima duplikate parametara.",
+       "PROCEDURES_CALLNORETURN_HELPURL": "https://en.wikipedia.org/wiki/Subroutine",
+       "PROCEDURES_CALLNORETURN_TOOLTIP": "Pokrenite prilagoÄ‘enu funkciju â€ž%1“.",
+       "PROCEDURES_CALLRETURN_HELPURL": "https://en.wikipedia.org/wiki/Subroutine",
+       "PROCEDURES_CALLRETURN_TOOLTIP": "Pokrenite prilagoÄ‘enu funkciju â€ž%1“ i koristi njen izlaz.",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "ulazi",
+       "PROCEDURES_MUTATORCONTAINER_TOOLTIP": "Da dodate, uklonite ili pereuporÑdoÄitÑŒ ulaza za ovu funkciju.",
+       "PROCEDURES_MUTATORARG_TITLE": "naziv ulaza:",
+       "PROCEDURES_MUTATORARG_TOOLTIP": "Dodajte ulazna funkcija.",
+       "PROCEDURES_HIGHLIGHT_DEF": "Istakni definiciju funkcije",
+       "PROCEDURES_CREATE_DO": "Napravi â€ž%1“",
+       "PROCEDURES_IFRETURN_TOOLTIP": "Ukoliko je vrednost taÄna, vrati drugu vrednost.",
+       "PROCEDURES_IFRETURN_WARNING": "Upozorenje: Ovaj blok se može koristiti jedino u definiciji funkcije."
+}
diff --git a/js/msg/json/sr.json b/js/msg/json/sr.json
new file mode 100644 (file)
index 0000000..92f3464
--- /dev/null
@@ -0,0 +1,373 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Rancher",
+                       "ì•„ë¼",
+                       "Perevod16",
+                       "Nikola Smolenski",
+                       "Obsuser",
+                       "Acamicamacaraca",
+                       "BadDog"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "Ñтавка",
+       "TODAY": "ДанаÑ",
+       "DUPLICATE_BLOCK": "Дуплирај",
+       "ADD_COMMENT": "Додај ÐºÐ¾Ð¼ÐµÐ½Ñ‚ар",
+       "REMOVE_COMMENT": "Уклони ÐºÐ¾Ð¼ÐµÐ½Ñ‚ар",
+       "EXTERNAL_INPUTS": "Спољашњи ÑƒÐ»Ð°Ð·Ð¸",
+       "INLINE_INPUTS": "Редни ÑƒÐ»Ð°Ð·Ð¸",
+       "DELETE_BLOCK": "Избриши Ð±Ð»Ð¾Ðº",
+       "DELETE_X_BLOCKS": "Избриши %1 Ð±Ð»Ð¾ÐºÐ¾Ð²Ð°",
+       "DELETE_ALL_BLOCKS": "Да Ð¸Ð·Ð±Ñ€Ð¸ÑˆÐµÐ¼ Ñве Ð±Ð»Ð¾ÐºÐ¾Ð²Ðµ: %1?",
+       "CLEAN_UP": "ОчиÑти Ð±Ð»Ð¾ÐºÐ¾Ð²Ðµ",
+       "COLLAPSE_BLOCK": "Скупи Ð±Ð»Ð¾Ðº",
+       "COLLAPSE_ALL": "Скупи Ð±Ð»Ð¾ÐºÐ¾Ð²Ðµ",
+       "EXPAND_BLOCK": "Прошири Ð±Ð»Ð¾Ðº",
+       "EXPAND_ALL": "Прошири Ð±Ð»Ð¾ÐºÐ¾Ð²Ðµ",
+       "DISABLE_BLOCK": "Онемогући Ð±Ð»Ð¾Ðº",
+       "ENABLE_BLOCK": "Омогући Ð±Ð»Ð¾Ðº",
+       "HELP": "Помоћ",
+       "UNDO": "Опозови",
+       "REDO": "Понови",
+       "CHANGE_VALUE_TITLE": "Промени Ð²Ñ€ÐµÐ´Ð½Ð¾ÑÑ‚:",
+       "RENAME_VARIABLE": "Преименуј Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ™Ð¸Ð²Ñƒâ€¦",
+       "RENAME_VARIABLE_TITLE": "Преименуј Ñве â€™%1’ Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ™Ð¸Ð²Ðµ Ñƒ:",
+       "NEW_VARIABLE": "Ðаправи Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ™Ð¸Ð²Ñƒâ€¦",
+       "NEW_STRING_VARIABLE": "Ðаправи Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ™Ð¸Ð²Ñƒ Ð½Ð¸Ñке...",
+       "NEW_NUMBER_VARIABLE": "Ðаправи Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ™Ð¸Ð²Ñƒ Ð±Ñ€Ð¾Ñ˜Ð°...",
+       "NEW_COLOUR_VARIABLE": "Ðаправи Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ™Ð¸Ð²Ñƒ Ð±Ð¾Ñ˜Ðµ...",
+       "NEW_VARIABLE_TYPE_TITLE": "Ðови Ñ‚ип Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ™Ð¸Ð²Ðµ:",
+       "NEW_VARIABLE_TITLE": "Име Ð½Ð¾Ð²Ðµ Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ™Ð¸Ð²Ðµ:",
+       "VARIABLE_ALREADY_EXISTS": "Променљива Ð¿Ð¾Ð´ Ð¸Ð¼ÐµÐ½Ð¾Ð¼ â€™%1’ Ð²ÐµÑ› Ð¿Ð¾Ñтоји.",
+       "VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE": "Променљива Ð¿Ð¾Ð´ Ð¸Ð¼ÐµÐ½Ð¾Ð¼ â€™%1’ Ð²ÐµÑ› Ð¿Ð¾Ñтоји Ð·Ð° Ð´Ñ€ÑƒÐ³Ð¸ Ñ‚ип: â€™%2’.",
+       "DELETE_VARIABLE_CONFIRMATION": "Да Ð¸Ð·Ð±Ñ€Ð¸ÑˆÐµÐ¼ %1 ÑƒÐ¿Ð¾Ñ‚реба Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ™Ð¸Ð²Ðµ â€™%2’?",
+       "CANNOT_DELETE_VARIABLE_PROCEDURE": "Ðе Ð¼Ð¾Ð³Ñƒ Ð´Ð° Ð¸Ð·Ð±Ñ€Ð¸ÑˆÐµÐ¼ Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ™Ð¸Ð²Ñƒ â€™%1’ Ñ˜ÐµÑ€ Ñ˜Ðµ Ð´ÐµÐ¾ Ð´ÐµÑ„иниције Ñ„ункције â€™%2’",
+       "DELETE_VARIABLE": "Избриши Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ™Ð¸Ð²Ñƒ â€™%1’",
+       "COLOUR_PICKER_HELPURL": "https://sr.wikipedia.org/wiki/Боја",
+       "COLOUR_PICKER_TOOLTIP": "Одаберите Ð±Ð¾Ñ˜Ñƒ Ñа Ð¿Ð°Ð»ÐµÑ‚е.",
+       "COLOUR_RANDOM_TITLE": "Ñлучајна Ð±Ð¾Ñ˜Ð°",
+       "COLOUR_RANDOM_TOOLTIP": "Одаберите Ð±Ð¾Ñ˜Ñƒ Ð½Ð°Ñумично.",
+       "COLOUR_RGB_HELPURL": "http://www.december.com/html/spec/colorper.html",
+       "COLOUR_RGB_TITLE": "боја Ñа",
+       "COLOUR_RGB_RED": "црвена",
+       "COLOUR_RGB_GREEN": "зелена",
+       "COLOUR_RGB_BLUE": "плава",
+       "COLOUR_RGB_TOOLTIP": "Ðаправите Ð±Ð¾Ñ˜Ñƒ Ñа Ð¾Ð´Ñ€ÐµÑ’еном ÐºÐ¾Ð»Ð¸Ñ‡Ð¸Ð½Ð¾Ð¼ Ñ†Ñ€Ð²ÐµÐ½Ðµ, Ð·ÐµÐ»ÐµÐ½Ðµ Ð¸ Ð¿Ð»Ð°Ð²Ðµ. Ð¡Ð²Ðµ Ð²Ñ€ÐµÐ´Ð½Ð¾Ñти Ð¼Ð¾Ñ€Ð°Ñ˜Ñƒ Ð±Ð¸Ñ‚и Ð¸Ð·Ð¼ÐµÑ’у 0 Ð¸ 100.",
+       "COLOUR_BLEND_HELPURL": "http://meyerweb.com/eric/tools/color-blend/",
+       "COLOUR_BLEND_TITLE": "помешај",
+       "COLOUR_BLEND_COLOUR1": "боја 1",
+       "COLOUR_BLEND_COLOUR2": "боја 2",
+       "COLOUR_BLEND_RATIO": "одноÑ",
+       "COLOUR_BLEND_TOOLTIP": "Меша Ð´Ð²Ðµ Ð±Ð¾Ñ˜Ðµ Ð·Ð°Ñ˜ÐµÐ´Ð½Ð¾ Ñа Ð´Ð°Ñ‚им Ð¾Ð´Ð½Ð¾Ñом (0.0 - 1.0).",
+       "CONTROLS_REPEAT_HELPURL": "https://sr.wikipedia.org/wiki/For_петља",
+       "CONTROLS_REPEAT_TITLE": "понови Ð¿ÑƒÑ‚а: %1",
+       "CONTROLS_REPEAT_INPUT_DO": "изврши",
+       "CONTROLS_REPEAT_TOOLTIP": "Изврши Ð½ÐµÐºÐµ Ð½Ð°Ñ€ÐµÐ´Ð±Ðµ Ð½ÐµÐºÐ¾Ð»Ð¸ÐºÐ¾ Ð¿ÑƒÑ‚а.",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "понављати Ð´Ð¾Ðº",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "понављати Ð´Ð¾",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "Док Ñ˜Ðµ Ð²Ñ€ÐµÐ´Ð½Ð¾ÑÑ‚ Ñ‚ачна, Ð¸Ð·Ð²Ñ€ÑˆÐ°Ð²Ð° Ð½ÐµÐºÐµ Ð½Ð°Ñ€ÐµÐ´Ð±Ðµ.",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "Док Ñ˜Ðµ Ð²Ñ€ÐµÐ´Ð½Ð¾ÑÑ‚ Ð½ÐµÑ‚ачна, Ð¸Ð·Ð²Ñ€ÑˆÐ°Ð²Ð° Ð½ÐµÐºÐµ Ð½Ð°Ñ€ÐµÐ´Ð±Ðµ.",
+       "CONTROLS_FOR_TOOLTIP": "Имај Ð¿Ñ€Ð¾Ð¼ÐµÑšÐ¸Ð²Ñƒ \"%1\" ÑƒÐ·Ð¼Ð¸ Ð²Ñ€ÐµÐ´Ð½Ð¾Ñти Ð¾Ð´ Ð¿Ð¾Ñ‡ÐµÑ‚ног Ð±Ñ€Ð¾Ñ˜Ð° Ð´Ð¾ Ð·Ð°Ð´ÑšÐµÐ³ Ð±Ñ€Ð¾Ñ˜Ð°, Ð±Ñ€Ð¾Ñ˜ÐµÑ›Ð¸ Ð¿Ð¾ Ð¾Ð´Ñ€ÐµÑ’еном Ð¸Ð½Ñ‚ервалу, Ð¸ Ð¸Ð·Ð²Ñ€ÑˆÐ¸ Ð¾Ð´Ñ€ÐµÑ’ене Ð±Ð»Ð¾ÐºÐ¾Ð²Ðµ.",
+       "CONTROLS_FOR_TITLE": "преброј Ñа %1 Ð¾Ð´ %2 Ð´Ð¾ %3 Ð¾Ð´ %4",
+       "CONTROLS_FOREACH_TITLE": "за Ñваку Ñтавку %1 Ð½Ð° ÑпиÑку %2",
+       "CONTROLS_FOREACH_TOOLTIP": "За Ñваку Ñтавку ÑƒÐ½ÑƒÑ‚ар Ð»Ð¸Ñте, Ð¿Ð¾Ð´ÐµÑи Ð¿Ñ€Ð¾Ð¼ÐµÑšÐ¸Ð²Ñƒ '%1' Ð¿Ð¾ Ñтавци, Ð¸ Ð¾Ð½Ð´Ð° Ð½Ð°Ñ‡Ð¸Ð½Ð¸ Ð½ÐµÐºÐµ Ð¸Ð·Ñ˜Ð°Ð²Ðµ-наредбе.",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "Изађите Ð¸Ð· Ð¿ÐµÑ‚ље",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "наÑтави Ñа Ñледећом Ð¸Ñ‚ерацијом Ð¿ÐµÑ‚ље",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "ÐапуÑти Ñадржај Ð¿ÐµÑ‚ље.",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "ПреÑкочи Ð¾Ñтатак Ð¾Ð²Ðµ Ð¿ÐµÑ‚ље, Ð¸ Ð½Ð°Ñтави Ñа Ñледећом Ð¸Ñ‚ерацијом(понављанјем).",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "Упозорење: ÐžÐ²Ð°Ñ˜ Ð±Ð»Ð¾Ðº Ð¼Ð¾Ð¶Ðµ Ð´Ð° Ñе ÑƒÐ¿Ð¾Ñ‚реби Ñамо ÑƒÐ½ÑƒÑ‚ар Ð¿ÐµÑ‚ље.",
+       "CONTROLS_IF_TOOLTIP_1": "ако Ñ˜Ðµ Ð²Ñ€ÐµÐ´Ð½Ð¾ÑÑ‚ Ñ‚ачна, Ð¾Ð½Ð´Ð° Ð¸Ð·Ð²Ñ€ÑˆÐ¸ Ð½ÐµÐºÐµ Ð½Ð°Ñ€ÐµÐ´Ð±Ðµ-изјаве.",
+       "CONTROLS_IF_TOOLTIP_2": "ако Ñ˜Ðµ Ð²Ñ€ÐµÐ´Ð½Ð¾ÑÑ‚ Ñ‚ачна, Ð¾Ð½Ð´Ð° Ð¸Ð·Ð²Ñ€ÑˆÐ¸ Ð¿Ñ€Ð²Ð¸ Ð±Ð»Ð¾Ðº Ð½Ð°Ñ€ÐµÐ´Ð±Ð¸, Ð£ Ñупротном, Ð¸Ð·Ð²Ñ€ÑˆÐ¸ Ð´Ñ€ÑƒÐ³Ð¸ Ð±Ð»Ð¾Ðº Ð½Ð°Ñ€ÐµÐ´Ð±Ð¸.",
+       "CONTROLS_IF_TOOLTIP_3": "Ðко Ñ˜Ðµ Ð¿Ñ€Ð²Ð° Ð²Ñ€ÐµÐ´Ð½Ð¾ÑÑ‚ Ñ‚ачна, Ð¾Ð½Ð´Ð° Ð¸Ð·Ð²Ñ€ÑˆÐ¸ Ð¿Ñ€Ð²Ð¸ Ð±Ð»Ð¾Ðº Ð½Ð°Ñ€ÐµÐ´Ð±Ð¸, Ñƒ Ñупротном, Ð°ÐºÐ¾ Ñ˜Ðµ Ð´Ñ€ÑƒÐ³Ð° Ð²Ñ€ÐµÐ´Ð½Ð¾ÑÑ‚ Ñ‚ачна , Ð¸Ð·Ð²Ñ€ÑˆÐ¸ Ð´Ñ€ÑƒÐ³Ð¸ Ð±Ð»Ð¾Ðº Ð½Ð°Ñ€ÐµÐ´Ð±Ð¸.",
+       "CONTROLS_IF_TOOLTIP_4": "Ðко Ñ˜Ðµ Ð¿Ñ€Ð²Ð° Ð²Ñ€ÐµÐ´Ð½Ð¾ÑÑ‚ Ñ‚ачна, Ð¾Ð½Ð´Ð° Ð¸Ð·Ð²Ñ€ÑˆÐ¸ Ð¿Ñ€Ð²Ð¸ Ð±Ð»Ð¾Ðº Ð½Ð°Ñ€ÐµÐ´Ð±Ð¸, Ñƒ Ñупротном, Ð°ÐºÐ¾ Ñ˜Ðµ Ð´Ñ€ÑƒÐ³Ð° Ð²Ñ€ÐµÐ´Ð½Ð¾ÑÑ‚ Ñ‚ачна , Ð¸Ð·Ð²Ñ€ÑˆÐ¸ Ð´Ñ€ÑƒÐ³Ð¸ Ð±Ð»Ð¾Ðº Ð½Ð°Ñ€ÐµÐ´Ð±Ð¸. Ðко Ð½Ð¸ Ñ˜ÐµÐ´Ð½Ð° Ð¾Ð´ Ð²Ñ€ÐµÐ´Ð½Ð¾Ñти Ð½Ð¸Ñ˜Ðµ Ñ‚ачна, Ð¸Ð·Ð²Ñ€ÑˆÐ¸ Ð¿Ð¾Ñледнји Ð±Ð»Ð¾Ðº Ð½Ð°Ñ€ÐµÐ´Ð±Ð¸.",
+       "CONTROLS_IF_MSG_IF": "ако",
+       "CONTROLS_IF_MSG_ELSEIF": "иначе-ако",
+       "CONTROLS_IF_MSG_ELSE": "иначе",
+       "CONTROLS_IF_IF_TOOLTIP": "Додај, ÑƒÐºÐ»Ð¾Ð½Ð¸, Ð¸Ð»Ð¸ Ð¿Ñ€ÐµÑƒÑ€ÐµÐ´Ð¸ Ð´ÐµÐ»Ð¾Ð²Ðµ ÐºÐ°ÐºÐ¾ Ð±Ð¸Ñ… Ñ€ÐµÐºÐ¾Ð½Ñ„игуриÑали Ð¾Ð²Ð°Ñ˜ Ð¸Ñ„ Ð±Ð»Ð¾Ðº.",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "Додајте ÑƒÑлов Ð±Ð»Ð¾ÐºÑƒ â€žÐ°ÐºÐ¾â€œ.",
+       "CONTROLS_IF_ELSE_TOOLTIP": "Додај ÐºÐ¾Ð½Ð°Ñ‡Ð½Ð¸, catch-all  (ухвати Ñве) ÑƒÑлове Ð¸Ñ„ Ð±Ð»Ð¾ÐºÐ°.",
+       "IOS_OK": "У Ñ€ÐµÐ´Ñƒ",
+       "IOS_CANCEL": "Откажи",
+       "IOS_ERROR": "Грешка",
+       "IOS_PROCEDURES_INPUTS": "УÐОСИ",
+       "IOS_PROCEDURES_ADD_INPUT": "+ Ð”одај ÑƒÐ½Ð¾Ñ",
+       "IOS_PROCEDURES_ALLOW_STATEMENTS": "Дозволи Ð¸Ð·Ñ˜Ð°Ð²Ðµ",
+       "IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR": "Ова Ñ„ункција Ð¸Ð¼Ð° Ð´ÑƒÐ¿Ð»Ð¸Ñ€Ð°Ð½Ðµ ÑƒÐ½Ð¾Ñе.",
+       "IOS_VARIABLES_ADD_VARIABLE": "+ Ð”одај Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ™Ð¸Ð²Ñƒ",
+       "IOS_VARIABLES_ADD_BUTTON": "Додај",
+       "IOS_VARIABLES_RENAME_BUTTON": "Преименуј",
+       "IOS_VARIABLES_DELETE_BUTTON": "Избриши",
+       "IOS_VARIABLES_VARIABLE_NAME": "Име Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ™Ð¸Ð²Ðµ",
+       "IOS_VARIABLES_EMPTY_NAME_ERROR": "Ðе Ð¼Ð¾Ð¶ÐµÑ‚е Ð´Ð° ÐºÐ¾Ñ€Ð¸Ñтите Ð¿Ñ€Ð°Ð·Ð½Ð¾ Ð¸Ð¼Ðµ Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ™Ð¸Ð²Ðµ.",
+       "LOGIC_COMPARE_HELPURL": "https://sr.wikipedia.org/wiki/ÐеједнакоÑÑ‚",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "Враћа Ð²Ñ€ÐµÐ´Ð½Ð¾ÑÑ‚ â€žÑ‚ачно“ Ð°ÐºÐ¾ Ñу Ð¾Ð±Ð° ÑƒÐ»Ð°Ð·Ð° Ñ˜ÐµÐ´Ð½Ð°ÐºÐ°.",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "Враћа Ð²Ñ€ÐµÐ´Ð½Ð¾ÑÑ‚ â€žÑ‚ачно“ Ð°ÐºÐ¾ Ñу Ð¾Ð±Ð° ÑƒÐ»Ð°Ð·Ð° Ð½ÐµÑ˜ÐµÐ´Ð½Ð°ÐºÐ°.",
+       "LOGIC_COMPARE_TOOLTIP_LT": "Враћа Ð²Ñ€ÐµÐ´Ð½Ð¾ÑÑ‚ â€žÑ‚ачно“ Ð°ÐºÐ¾ Ñ˜Ðµ Ð¿Ñ€Ð²Ð¸ ÑƒÐ»Ð°Ð· Ð¼Ð°ÑšÐ¸ Ð¾Ð´ Ð´Ñ€ÑƒÐ³Ð¾Ð³.",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "Враћа Ð²Ñ€ÐµÐ´Ð½Ð¾ÑÑ‚ â€žÑ‚ачно“ Ð°ÐºÐ¾ Ñ˜Ðµ Ð¿Ñ€Ð²Ð¸ ÑƒÐ»Ð°Ð· Ð¼Ð°ÑšÐ¸ Ð¸Ð»Ð¸ Ñ˜ÐµÐ´Ð½Ð°Ðº Ð´Ñ€ÑƒÐ³Ð¾Ð¼.",
+       "LOGIC_COMPARE_TOOLTIP_GT": "Враћа Ð²Ñ€ÐµÐ´Ð½Ð¾ÑÑ‚ â€žÑ‚ачно“ Ð°ÐºÐ¾ Ñ˜Ðµ Ð¿Ñ€Ð²Ð¸ ÑƒÐ»Ð°Ð· Ð²ÐµÑ›Ð¸ Ð¾Ð´ Ð´Ñ€ÑƒÐ³Ð¾Ð³.",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "Враћа Ð²Ñ€ÐµÐ´Ð½Ð¾ÑÑ‚ â€žÑ‚ачно“ Ð°ÐºÐ¾ Ñ˜Ðµ Ð¿Ñ€Ð²Ð¸ ÑƒÐ»Ð°Ð· Ð²ÐµÑ›Ð¸ Ð¸Ð»Ð¸ Ñ˜ÐµÐ´Ð½Ð°Ðº Ð´Ñ€ÑƒÐ³Ð¾Ð¼.",
+       "LOGIC_OPERATION_TOOLTIP_AND": "Враћа Ð²Ñ€ÐµÐ´Ð½Ð¾ÑÑ‚ â€žÑ‚ачно“ Ð°ÐºÐ¾ Ñу Ð¾Ð±Ð° ÑƒÐ»Ð°Ð·Ð° Ñ‚ачна.",
+       "LOGIC_OPERATION_AND": "и",
+       "LOGIC_OPERATION_TOOLTIP_OR": "Враћа Ð²Ñ€ÐµÐ´Ð½Ð¾ÑÑ‚ â€žÑ‚ачно“ Ð°ÐºÐ¾ Ñ˜Ðµ Ð±Ð°Ñ€ Ñ˜ÐµÐ´Ð°Ð½ Ð¾Ð´ ÑƒÐ»Ð°Ð·Ð° Ñ‚ачан.",
+       "LOGIC_OPERATION_OR": "или",
+       "LOGIC_NEGATE_TITLE": "није %1",
+       "LOGIC_NEGATE_TOOLTIP": "Враћа Ð²Ñ€ÐµÐ´Ð½Ð¾ÑÑ‚ â€žÑ‚ачно“ Ð°ÐºÐ¾ Ñ˜Ðµ ÑƒÐ»Ð°Ð· Ð½ÐµÑ‚ачан. Ð’раћа Ð²Ñ€ÐµÐ´Ð½Ð¾ÑÑ‚ â€žÐ½ÐµÑ‚ачно“ Ð°ÐºÐ¾ Ñ˜Ðµ ÑƒÐ»Ð°Ð· Ñ‚ачан.",
+       "LOGIC_BOOLEAN_TRUE": "тачно",
+       "LOGIC_BOOLEAN_FALSE": "нетачно",
+       "LOGIC_BOOLEAN_TOOLTIP": "Враћа Ð¸Ð»Ð¸ Ñ‚ачно Ð¸Ð»Ð¸ Ð½ÐµÑ‚ачно.",
+       "LOGIC_NULL_HELPURL": "https://en.wikipedia.org/wiki/Nullable_type",
+       "LOGIC_NULL": "без Ð²Ñ€ÐµÐ´Ð½Ð¾Ñти",
+       "LOGIC_NULL_TOOLTIP": "Враћа â€žÐ±ÐµÐ· Ð²Ñ€ÐµÐ´Ð½Ð¾Ñти“.",
+       "LOGIC_TERNARY_HELPURL": "https://en.wikipedia.org/wiki/%3F:",
+       "LOGIC_TERNARY_CONDITION": "проба",
+       "LOGIC_TERNARY_IF_TRUE": "ако Ñ˜Ðµ Ñ‚ачно",
+       "LOGIC_TERNARY_IF_FALSE": "ако Ñ˜Ðµ Ð½ÐµÑ‚ачно",
+       "LOGIC_TERNARY_TOOLTIP": "Провери ÑƒÑлов Ñƒ 'test'. Ðко Ñ˜Ðµ ÑƒÑлов Ñ‚ачан, Ñ‚ада Ð²Ñ€Ð°Ñ›Ð° 'if true' Ð²Ñ€ÐµÐ´Ð½Ð¾ÑÑ‚; Ñƒ Ð´Ñ€ÑƒÐ³Ð¾Ð¼ Ñлучају Ð²Ñ€Ð°Ñ›Ð° 'if false' Ð²Ñ€ÐµÐ´Ð½Ð¾ÑÑ‚.",
+       "MATH_NUMBER_HELPURL": "https://sr.wikipedia.org/wiki/Број",
+       "MATH_NUMBER_TOOLTIP": "Број.",
+       "MATH_ADDITION_SYMBOL": "+",
+       "MATH_SUBTRACTION_SYMBOL": "-",
+       "MATH_DIVISION_SYMBOL": "÷",
+       "MATH_MULTIPLICATION_SYMBOL": "×",
+       "MATH_POWER_SYMBOL": "^",
+       "MATH_TRIG_SIN": "Ñин",
+       "MATH_TRIG_COS": "цоÑ",
+       "MATH_TRIG_TAN": "тан",
+       "MATH_TRIG_ASIN": "арц Ñин",
+       "MATH_TRIG_ACOS": "арц Ñ†Ð¾Ñ",
+       "MATH_TRIG_ATAN": "арц Ñ‚ан",
+       "MATH_ARITHMETIC_HELPURL": "https://en.wikipedia.org/wiki/Arithmetic",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "Вратите Ð·Ð±Ð¸Ñ€ Ð´Ð²Ð° Ð±Ñ€Ð¾Ñ˜Ð°.",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "Враћа Ñ€Ð°Ð·Ð»Ð¸ÐºÑƒ Ð´Ð²Ð° Ð±Ñ€Ð¾Ñ˜Ð°.",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "Враћа Ð¿Ñ€Ð¾Ð¸Ð·Ð²Ð¾Ð´ Ð´Ð²Ð° Ð±Ñ€Ð¾Ñ˜Ð°.",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "Враћа ÐºÐ¾Ð»Ð¸Ñ‡Ð½Ð¸Ðº Ð´Ð²Ð° Ð±Ñ€Ð¾Ñ˜Ð°.",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "Враћа Ð¿Ñ€Ð²Ð¸ Ð±Ñ€Ð¾Ñ˜ Ñтепенован Ð´Ñ€ÑƒÐ³Ð¸Ð¼.",
+       "MATH_SINGLE_HELPURL": "https://sr.wikipedia.org/wiki/Квадратни_корен",
+       "MATH_SINGLE_OP_ROOT": "квадратни ÐºÐ¾Ñ€ÐµÐ½",
+       "MATH_SINGLE_TOOLTIP_ROOT": "Враћа ÐºÐ²Ð°Ð´Ñ€Ð°Ñ‚ни ÐºÐ¾Ñ€ÐµÐ½ Ð±Ñ€Ð¾Ñ˜Ð°.",
+       "MATH_SINGLE_OP_ABSOLUTE": "апÑолутан",
+       "MATH_SINGLE_TOOLTIP_ABS": "Враћа Ð°Ð¿Ñолутну Ð²Ñ€ÐµÐ´Ð½Ð¾ÑÑ‚ Ð±Ñ€Ð¾Ñ˜Ð°.",
+       "MATH_SINGLE_TOOLTIP_NEG": "Враћа Ð½ÐµÐ³Ð°Ñ†Ð¸Ñ˜Ñƒ Ð±Ñ€Ð¾Ñ˜Ð°.",
+       "MATH_SINGLE_TOOLTIP_LN": "Враћа Ð¿Ñ€Ð¸Ñ€Ð¾Ð´Ð½Ð¸ Ð»Ð¾Ð³Ð°Ñ€Ð¸Ñ‚ам Ð±Ñ€Ð¾Ñ˜Ð°.",
+       "MATH_SINGLE_TOOLTIP_LOG10": "Враћа Ð»Ð¾Ð³Ð°Ñ€Ð¸Ñ‚ам Ð±Ñ€Ð¾Ñ˜Ð° Ñа Ð¾Ñновом 10.",
+       "MATH_SINGLE_TOOLTIP_EXP": "вратити Ðµ Ð½Ð° Ð²Ð»Ð°Ñти Ð±Ñ€Ð¾Ñ˜Ð°.",
+       "MATH_SINGLE_TOOLTIP_POW10": "Враћа 10-ти Ñтепен Ð±Ñ€Ð¾Ñ˜Ð°.",
+       "MATH_TRIG_HELPURL": "https://sr.wikipedia.org/wiki/ТригонометријÑке_функције",
+       "MATH_TRIG_TOOLTIP_SIN": "Враћа ÑинуѠÑтепена (не Ñ€Ð°Ð´Ð¸Ñ˜Ð°Ð½).",
+       "MATH_TRIG_TOOLTIP_COS": "Враћа ÐºÐ¾ÑинуѠÑтепена (не Ñ€Ð°Ð´Ð¸Ñ˜Ð°Ð½).",
+       "MATH_TRIG_TOOLTIP_TAN": "Враћа Ñ‚ангенѠÑтепена (не Ñ€Ð°Ð´Ð¸Ñ˜Ð°Ð½).",
+       "MATH_TRIG_TOOLTIP_ASIN": "Враћа Ð°Ñ€ÐºÑƒÑ Ð±Ñ€Ð¾Ñ˜Ð°.",
+       "MATH_TRIG_TOOLTIP_ACOS": "Враћа Ð°Ñ€ÐºÑƒÑ ÐºÐ¾ÑинуѠброја.",
+       "MATH_TRIG_TOOLTIP_ATAN": "Враћа Ð°Ñ€ÐºÑƒÑ Ñ‚ангенѠброја.",
+       "MATH_CONSTANT_HELPURL": "https://sr.wikipedia.org/wiki/Математичка_конÑтанта",
+       "MATH_CONSTANT_TOOLTIP": "врати Ñ˜ÐµÐ´Ð½Ñƒ Ð¾Ð´ Ð·Ð°Ñ˜ÐµÐ´Ð½Ð¸Ñ‡ÐºÐ¸Ñ… ÐºÐ¾Ð½Ñтанти: Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), Ð¸Ð»Ð¸ âˆž (infinity).",
+       "MATH_IS_EVEN": "је Ð¿Ð°Ñ€Ð°Ð½",
+       "MATH_IS_ODD": "је Ð½ÐµÐ¿Ð°Ñ€Ð°Ð½",
+       "MATH_IS_PRIME": "је Ð¿Ñ€Ð¾ÑÑ‚",
+       "MATH_IS_WHOLE": "је Ñ†ÐµÐ¾",
+       "MATH_IS_POSITIVE": "је Ð¿Ð¾Ð·Ð¸Ñ‚иван",
+       "MATH_IS_NEGATIVE": "је Ð½ÐµÐ³Ð°Ñ‚иван",
+       "MATH_IS_DIVISIBLE_BY": "је Ð´ÐµÑ™Ð¸Ð² Ñа",
+       "MATH_IS_TOOLTIP": "Провјерава Ð´Ð° Ð»Ð¸ Ñ˜Ðµ Ð±Ñ€Ð¾Ñ˜ Ð¿Ð°Ñ€Ð°Ð½, Ð½ÐµÐ¿Ð°Ñ€Ð°Ð½, Ð¿Ñ€Ð¾ÑÑ‚, Ñ†Ð¸Ð¾, Ð¿Ð¾Ð·Ð¸Ñ‚иван, Ð½ÐµÐ³Ð°Ñ‚иван, Ð¸Ð»Ð¸ Ð´Ð° Ð»Ð¸ Ñ˜Ðµ Ð´ÐµÐ»Ñ˜Ð¸Ð² Ñа Ð¾Ð´Ñ€ÐµÑ’еним Ð±Ñ€Ð¾Ñ˜ÐµÐ¼. Ð’раћа Ñ‚ачно Ð¸Ð»Ð¸ Ð½ÐµÑ‚ачно.",
+       "MATH_CHANGE_HELPURL": "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter",
+       "MATH_CHANGE_TITLE": "промени %1 Ð·Ð° %2",
+       "MATH_CHANGE_TOOLTIP": "Додајте Ð±Ñ€Ð¾Ñ˜ Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ™Ð¸Ð²Ð¾Ñ˜ â€ž%1“.",
+       "MATH_ROUND_HELPURL": "https://sr.wikipedia.org/wiki/Заокруживање",
+       "MATH_ROUND_TOOLTIP": "Заокружите Ð±Ñ€Ð¾Ñ˜ Ð½Ð° Ð²ÐµÑ›Ñƒ Ð¸Ð»Ð¸ Ð¼Ð°ÑšÑƒ Ð²Ñ€ÐµÐ´Ð½Ð¾ÑÑ‚.",
+       "MATH_ROUND_OPERATOR_ROUND": "заокружи",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "заокружи Ð½Ð°Ð²Ð¸ÑˆÐµ",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "заокружи Ð½Ð°Ð½Ð¸Ð¶Ðµ",
+       "MATH_ONLIST_HELPURL": "",
+       "MATH_ONLIST_OPERATOR_SUM": "збир ÑпиÑка",
+       "MATH_ONLIST_TOOLTIP_SUM": "Враћа Ð·Ð±Ð¸Ñ€ Ñвих Ð±Ñ€Ð¾Ñ˜ÐµÐ²Ð° Ñа ÑпиÑка.",
+       "MATH_ONLIST_OPERATOR_MIN": "мин. ÑпиÑка",
+       "MATH_ONLIST_TOOLTIP_MIN": "Враћа Ð½Ð°Ñ˜Ð¼Ð°ÑšÐ¸ Ð±Ñ€Ð¾Ñ˜ Ñа ÑпиÑка.",
+       "MATH_ONLIST_OPERATOR_MAX": "макÑ. ÑпиÑка",
+       "MATH_ONLIST_TOOLTIP_MAX": "Враћа Ð½Ð°Ñ˜Ð²ÐµÑ›Ð¸ Ð±Ñ€Ð¾Ñ˜ Ñа ÑпиÑка.",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "проÑек ÑпиÑка",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "Враћа Ð¿Ñ€Ð¾Ñек Ð½ÑƒÐ¼ÐµÑ€Ð¸Ñ‡ÐºÐ¸Ñ… Ð²Ñ€ÐµÐ´Ð½Ð¾Ñти Ñа ÑпиÑка.",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "медијана ÑпиÑка",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "Враћа Ð¼ÐµÐ´Ð¸Ñ˜Ð°Ð½Ñƒ Ñа ÑпиÑка.",
+       "MATH_ONLIST_OPERATOR_MODE": "модуѠÑпиÑка",
+       "MATH_ONLIST_TOOLTIP_MODE": "Враћа Ð½Ð°Ñ˜Ñ‡ÐµÑˆÑ›Ðµ Ñтавке Ñа ÑпиÑка.",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "Ñтандардна Ð´ÐµÐ²Ð¸Ñ˜Ð°Ñ†Ð¸Ñ˜Ð° ÑпиÑка",
+       "MATH_ONLIST_TOOLTIP_STD_DEV": "Враћа Ñтандардну Ð´ÐµÐ²Ð¸Ñ˜Ð°Ñ†Ð¸Ñ˜Ñƒ ÑпиÑка.",
+       "MATH_ONLIST_OPERATOR_RANDOM": "Ñлучајна Ñтавка ÑпиÑка",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "Враћа Ñлучајни ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ñа ÑпиÑка.",
+       "MATH_MODULO_HELPURL": "https://sr.wikipedia.org/wiki/Конгруенција",
+       "MATH_MODULO_TITLE": "подÑетник Ð¾Ð´ %1 Ã· %2",
+       "MATH_MODULO_TOOLTIP": "Враћа Ð¿Ð¾Ð´Ñетник Ð¾Ð´ Ð´ÐµÑ™ÐµÑšÐ° Ð´Ð²Ð° Ð±Ñ€Ð¾Ñ˜Ð°.",
+       "MATH_CONSTRAIN_TITLE": "ограничи %1 Ð½Ð¸Ñко %2 Ð²Ð¸Ñоко %3",
+       "MATH_CONSTRAIN_TOOLTIP": "Ограничава Ð±Ñ€Ð¾Ñ˜ Ð½Ð° Ð´Ð¾ÑšÐµ Ð¸ Ð³Ð¾Ñ€ÑšÐµ Ð³Ñ€Ð°Ð½Ð¸Ñ†Ðµ (укључиво).",
+       "MATH_RANDOM_INT_HELPURL": "https://sr.wikipedia.org/wiki/Генератор_Ñлучајних_бројева",
+       "MATH_RANDOM_INT_TITLE": "Ñличајно Ð¾Ð´Ð°Ð±Ñ€Ð°Ð½Ð¸ Ñ†Ð¸Ñ˜ÐµÐ»Ð¸ Ð±Ñ€Ð¾Ñ˜ Ð¾Ð´ %1 Ð´Ð¾ %2",
+       "MATH_RANDOM_INT_TOOLTIP": "Враћа Ñлучајно Ð¾Ð´Ð°Ð±Ñ€Ð°Ð½Ð¸ Ñ†ÐµÐ»Ð¸ Ð±Ñ€Ð¾Ñ˜ Ð¸Ð·Ð¼ÐµÑ’у Ð´Ð²Ðµ Ð¾Ð´Ñ€ÐµÑ’ене Ð³Ñ€Ð°Ð½Ð¸Ñ†Ðµ, ÑƒÐºÐ»Ñ˜ÑƒÑ‡Ð¸Ð²Ð¾.",
+       "MATH_RANDOM_FLOAT_HELPURL": "https://sr.wikipedia.org/wiki/Генератор_Ñлучајних_бројева",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "Ñлучајни Ñ€Ð°Ð·Ð»Ð¾Ð¼Ð°Ðº",
+       "MATH_RANDOM_FLOAT_TOOLTIP": "Враћа Ñлучајни Ñ€Ð°Ð·Ð»Ð¾Ð¼Ð°Ðº Ð¸Ð·Ð¼ÐµÑ’у 0.0 (укључиво) Ð¸ 1.0 (иÑкључиво).",
+       "TEXT_TEXT_HELPURL": "https://sr.wikipedia.org/wiki/ÐиÑка",
+       "TEXT_TEXT_TOOLTIP": "Слово, Ñ€ÐµÑ‡ Ð¸Ð»Ð¸ Ñ€ÐµÐ´ Ñ‚екÑта.",
+       "TEXT_JOIN_TITLE_CREATEWITH": "напиши Ñ‚екÑÑ‚ Ñа",
+       "TEXT_JOIN_TOOLTIP": "Ðаправити Ð´Ð¸Ð¾ Ñ‚екÑта Ñпајајући Ñ€Ð°Ð·Ð»Ð¸Ñ‡Ð¸Ñ‚е Ñтавке.",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "Ñпајањем",
+       "TEXT_CREATE_JOIN_TOOLTIP": "Додај, ÑƒÐºÐ»Ð¾Ð½Ð¸, Ð¸Ð»Ð¸ Ð´Ñ€ÑƒÐ³Ð°Ñ‡Ð¸Ñ˜Ðµ Ð¿Ð¾Ñ€ÐµÐ´Ð°Ñ˜ Ð¾Ð´Ñ˜ÐµÐ»ÐºÐµ ÐºÐ°ÐºÐ¾ Ð±Ð¸ Ð¸Ð·Ð½Ð¾Ð²Ð° Ð¿Ð¾Ñтавили Ð¾Ð²Ð°Ñ˜ Ñ‚екÑÑ‚ Ð±Ð»Ð¾Ðº.",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "Додајте Ñтавку Ñƒ Ñ‚екÑÑ‚.",
+       "TEXT_APPEND_TITLE": "на %1 Ð´Ð¾Ð´Ð°Ñ˜ Ñ‚екÑÑ‚ %2",
+       "TEXT_APPEND_TOOLTIP": "Додајте Ñ‚екÑÑ‚ Ð½Ð° Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ™Ð¸Ð²Ñƒ â€ž%1“.",
+       "TEXT_LENGTH_TITLE": "дужина Ñ‚екÑта %1",
+       "TEXT_LENGTH_TOOLTIP": "Враћа Ð±Ñ€Ð¾Ñ˜ Ñлова (уклјучујући Ñ€Ð°Ð·Ð¼Ð°ÐºÐµ) Ñƒ Ð´Ð°Ñ‚ом Ñ‚екÑту.",
+       "TEXT_ISEMPTY_TITLE": "%1 Ñ˜Ðµ Ð¿Ñ€Ð°Ð·Ð°Ð½",
+       "TEXT_ISEMPTY_TOOLTIP": "Враћа Ñ‚ачно Ð°ÐºÐ¾ Ñ˜Ðµ Ð´Ð¾Ñтавлјени Ñ‚екÑÑ‚ Ð¿Ñ€Ð°Ð·Ð°Ð½.",
+       "TEXT_INDEXOF_TOOLTIP": "Враћа Ð¾Ð´Ð½Ð¾Ñ Ð¿Ñ€Ð²Ð¾Ð³/заднјег Ð¿Ð¾Ñ˜Ð°Ð²Ð»Ñ˜Ð¸Ð²Ð°Ð½Ñ˜Ð° Ñ‚екÑта Ñƒ Ð´Ñ€ÑƒÐ³Ð¾Ð¼ Ñ‚екÑту. Ð’рађа %1 Ð°ÐºÐ¾ Ñ‚екÑÑ‚ Ð½Ð¸Ñ˜Ðµ Ð¿Ñ€Ð¾Ð½Ð°Ñ’ен.",
+       "TEXT_INDEXOF_TITLE": "у Ñ‚екÑту %1 %2 %3",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "пронађи Ð¿Ñ€Ð²Ð¾ Ð¿Ð¾Ñ˜Ð°Ð²Ñ™Ð¸Ð²Ð°ÑšÐµ Ñ‚екÑта",
+       "TEXT_INDEXOF_OPERATOR_LAST": "пронађи Ð¿Ð¾Ñледње Ð¿Ð¾Ñ˜Ð°Ð²Ñ™Ð¸Ð²Ð°ÑšÐµ Ñ‚екÑта",
+       "TEXT_CHARAT_TITLE": "у Ñ‚екÑту %1 %2",
+       "TEXT_CHARAT_FROM_START": "преузми Ñлово #",
+       "TEXT_CHARAT_FROM_END": "преузми Ñлово # Ñа ÐºÑ€Ð°Ñ˜Ð°",
+       "TEXT_CHARAT_FIRST": "преузми Ð¿Ñ€Ð²Ð¾ Ñлово",
+       "TEXT_CHARAT_LAST": "преузми Ð¿Ð¾Ñледње Ñлово",
+       "TEXT_CHARAT_RANDOM": "преузми Ñлучајно Ñлово",
+       "TEXT_CHARAT_TAIL": "",
+       "TEXT_CHARAT_TOOLTIP": "Враћа Ñлово Ð½Ð° Ð¾Ð´Ñ€ÐµÑ’ени Ð¿Ð¾Ð»Ð¾Ð¶Ð°Ñ˜.",
+       "TEXT_GET_SUBSTRING_TOOLTIP": "Враћа Ð¾Ð´Ñ€ÐµÑ’ени Ð´ÐµÐ¾ Ñ‚екÑта.",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "у Ñ‚екÑту",
+       "TEXT_GET_SUBSTRING_START_FROM_START": "преузми Ð¿Ð¾Ð´Ð½Ð¸Ñку Ð¸Ð· Ñлова #",
+       "TEXT_GET_SUBSTRING_START_FROM_END": "преузми Ð¿Ð¾Ð´Ð½Ð¸Ñку Ð¸Ð· Ñлова # Ñа ÐºÑ€Ð°Ñ˜Ð°",
+       "TEXT_GET_SUBSTRING_START_FIRST": "преузми Ð¿Ð¾Ð´Ð½Ð¸Ñку Ð¸Ð· Ð¿Ñ€Ð²Ð¾Ð³ Ñлова",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "Ñлову #",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "Ñлову # Ñа ÐºÑ€Ð°Ñ˜Ð°",
+       "TEXT_GET_SUBSTRING_END_LAST": "поÑледњем Ñлову",
+       "TEXT_GET_SUBSTRING_TAIL": "",
+       "TEXT_CHANGECASE_TOOLTIP": "Враћа Ð¿Ñ€Ð¸Ð¼ÐµÑ€Ð°Ðº Ñ‚екÑта Ñа Ð´Ñ€ÑƒÐ³Ð°Ñ‡Ð¸Ñ˜Ð¾Ð¼ Ð²ÐµÐ»Ð¸Ñ‡Ð¸Ð½Ð¾Ð¼ Ñлова.",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "великим Ñловима",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "малим Ñловима",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": "Ñвака Ñ€ÐµÑ‡ Ð²ÐµÐ»Ð¸ÐºÐ¸Ð¼ Ñловом",
+       "TEXT_TRIM_TOOLTIP": "Враћа ÐºÐ¾Ð¿Ð¸Ñ˜Ñƒ Ñ‚екÑта Ñа ÑƒÐºÐ»Ð¾Ð½Ñ˜ÐµÐ½Ð¸Ð¼ Ð¿Ñ€Ð¾Ñтором Ñа Ñ˜ÐµÐ´Ð½Ð¾Ð³ Ð¾Ð´ Ð´Ð²Ð° ÐºÑ€Ð°Ñ˜Ð°.",
+       "TEXT_TRIM_OPERATOR_BOTH": "трим Ð¿Ñ€Ð°Ð·Ð½Ð¸Ð½Ðµ Ñа Ð¾Ð±Ðµ Ñтране",
+       "TEXT_TRIM_OPERATOR_LEFT": "Ñкратити Ð¿Ñ€Ð¾Ñтор Ñа Ð»ÐµÐ²Ðµ Ñтране",
+       "TEXT_TRIM_OPERATOR_RIGHT": "Ñкратити Ð¿Ñ€Ð¾Ñтор Ñа Ð´ÐµÑне Ñтране",
+       "TEXT_PRINT_TITLE": "прикажи %1",
+       "TEXT_PRINT_TOOLTIP": "Прикажите Ð¾Ð´Ñ€ÐµÑ’ени Ñ‚екÑÑ‚, Ð±Ñ€Ð¾Ñ˜ Ð¸Ð»Ð¸ Ð´Ñ€ÑƒÐ³Ñƒ Ð²Ñ€ÐµÐ´Ð½Ð¾ÑÑ‚ Ð½Ð° ÐµÐºÑ€Ð°Ð½Ñƒ.",
+       "TEXT_PROMPT_TYPE_TEXT": "питај Ð·Ð° Ñ‚екÑÑ‚ Ñа Ð¿Ð¾Ñ€ÑƒÐºÐ¾Ð¼",
+       "TEXT_PROMPT_TYPE_NUMBER": "питај Ð·Ð° Ð±Ñ€Ð¾Ñ˜ Ñа Ð¿Ð¾Ñ€ÑƒÐºÐ¾Ð¼",
+       "TEXT_PROMPT_TOOLTIP_NUMBER": "Питајте ÐºÐ¾Ñ€Ð¸Ñника Ð·Ð° Ð±Ñ€Ð¾Ñ˜.",
+       "TEXT_PROMPT_TOOLTIP_TEXT": "Питајте ÐºÐ¾Ñ€Ð¸Ñника Ð·Ð° ÑƒÐ½Ð¾Ñ Ñ‚екÑта.",
+       "TEXT_COUNT_MESSAGE0": "број %1 Ñƒ %2",
+       "TEXT_COUNT_HELPURL": "https://github.com/google/blockly/wiki/Text#counting-substrings",
+       "TEXT_COUNT_TOOLTIP": "Броји ÐºÐ¾Ð»Ð¸ÐºÐ¾ Ð¿ÑƒÑ‚а Ñе Ð½ÐµÐºÐ¸ Ñ‚екÑÑ‚ Ð¿Ð¾Ñ˜Ð°Ð²Ñ™ÑƒÑ˜Ðµ ÑƒÐ½ÑƒÑ‚ар Ð½ÐµÐºÐ¾Ð³ Ð´Ñ€ÑƒÐ³Ð¾Ð³ Ñ‚екÑта.",
+       "TEXT_REPLACE_MESSAGE0": "замена %1 Ñа %2 Ñƒ %3",
+       "TEXT_REPLACE_HELPURL": "https://github.com/google/blockly/wiki/Text#replacing-substrings",
+       "TEXT_REPLACE_TOOLTIP": "Замена Ñвих Ð¿Ð¾Ñ˜Ð°Ð²Ð° Ð½ÐµÐºÐ¾Ð³ Ñ‚екÑта ÑƒÐ½ÑƒÑ‚ар Ð½ÐµÐºÐ¾Ð³ Ð´Ñ€ÑƒÐ³Ð¾Ð³ Ñ‚екÑта.",
+       "TEXT_REVERSE_MESSAGE0": "обрнуто %1",
+       "TEXT_REVERSE_HELPURL": "https://github.com/google/blockly/wiki/Text#reversing-text",
+       "TEXT_REVERSE_TOOLTIP": "Обрће Ñ€ÐµÐ´Ð¾Ñлед ÐºÐ°Ñ€Ð°ÐºÑ‚ера Ñƒ Ñ‚екÑту.",
+       "LISTS_CREATE_EMPTY_HELPURL": "https://github.com/google/blockly/wiki/Lists#create-empty-list",
+       "LISTS_CREATE_EMPTY_TITLE": "направи Ð¿Ñ€Ð°Ð·Ð°Ð½ ÑпиÑак",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "враћа Ð»Ð¸Ñту, Ð´ÑƒÐ¶Ð¸Ð½Ðµ 0, Ð½Ðµ Ñадржавајући  ÐµÐ²Ð¸Ð´ÐµÐ½Ñ†Ð¸Ñ˜Ñƒ Ð¿Ð¾Ð´Ð°Ñ‚ака",
+       "LISTS_CREATE_WITH_TOOLTIP": "Ðаправите ÑпиÑак Ñа Ð±Ð¸Ð»Ð¾ ÐºÐ¾Ñ˜Ð¸Ð¼ Ð±Ñ€Ð¾Ñ˜ÐµÐ¼ Ñтавки.",
+       "LISTS_CREATE_WITH_INPUT_WITH": "направи ÑпиÑак Ñа",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "ÑпиÑак",
+       "LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "Додајте, Ð¸Ð·Ð±Ñ€Ð¸ÑˆÐ¸Ñ‚е, Ð¸Ð»Ð¸ Ð¿Ñ€ÐµÑƒÑ€ÐµÐ´Ð¸Ñ‚е Ð´ÐµÐ»Ð¾Ð²Ðµ ÐºÐ°ÐºÐ¾ Ð±Ð¸ Ñе Ñ€ÐµÐ¾Ñ€Ð³Ð°Ð½Ð¸Ð·Ð¾Ð²Ð°Ð»Ð¸ Ð¾Ð²Ð°Ñ˜ Ð±Ð»Ð¾Ðº Ð»Ð¸Ñте.",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "Додајте Ñтавку Ð½Ð° ÑпиÑак.",
+       "LISTS_REPEAT_TOOLTIP": "Прави Ð»Ð¸Ñту ÐºÐ¾Ñ˜Ð° Ñе ÑаÑтоји Ð¾Ð´ Ð·Ð°Ð´Ð°Ð½Ðµ Ð²Ñ€ÐµÐ´Ð½Ð¾Ñти ÐºÐ¾Ñ˜Ñƒ Ð¿Ð¾Ð½Ð°Ð²Ð»Ñ˜Ð°Ð¼Ð¾ Ð¾Ð´Ñ€ÐµÑ’ени Ð±Ñ€Ð¾Ñ˜ ÑˆÑƒÑ‚а.",
+       "LISTS_REPEAT_TITLE": "Ðаправити Ð»Ð¸Ñту Ñа Ñтавком %1 ÐºÐ¾Ñ˜Ð° Ñе Ð¿Ð¾Ð½Ð°Ð²Ð»Ñ˜Ð° %2 Ð¿ÑƒÑ‚а",
+       "LISTS_LENGTH_TITLE": "дужина ÑпиÑка %1",
+       "LISTS_LENGTH_TOOLTIP": "Враћа Ð´ÑƒÐ¶Ð¸Ð½Ñƒ ÑпиÑка.",
+       "LISTS_ISEMPTY_TITLE": "%1 Ñ˜Ðµ Ð¿Ñ€Ð°Ð·Ð°Ð½",
+       "LISTS_ISEMPTY_TOOLTIP": "Враћа Ð²Ñ€ÐµÐ´Ð½Ð¾ÑÑ‚ Ñ‚ачно Ð°ÐºÐ¾ Ñ˜Ðµ Ð»Ð¸Ñта Ð¿Ñ€Ð°Ð·Ð½Ð°.",
+       "LISTS_INLIST": "на ÑпиÑку",
+       "LISTS_INDEX_OF_FIRST": "пронађи Ð¿Ñ€Ð²Ð¾ Ð¿Ð¾Ñ˜Ð°Ð²Ñ™Ð¸Ð²Ð°ÑšÐµ Ñтавке",
+       "LISTS_INDEX_OF_LAST": "пронађи Ð¿Ð¾Ñледње Ð¿Ð¾Ñ˜Ð°Ð²Ñ™Ð¸Ð²Ð°ÑšÐµ Ñтавке",
+       "LISTS_INDEX_OF_TOOLTIP": "Враћа Ð±Ñ€Ð¾Ñ˜ Ð¿Ñ€Ð²Ð¾Ð³ Ð¸/поÑледњег ÑƒÐ»Ð°Ñка ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚а Ñƒ Ð»Ð¸Ñту. Ð’раћа %1 Ðко ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ð½Ð¸Ñ˜Ðµ Ð¿Ñ€Ð¾Ð½Ð°Ñ’ен.",
+       "LISTS_GET_INDEX_GET": "преузми",
+       "LISTS_GET_INDEX_GET_REMOVE": "преузми Ð¸ ÑƒÐºÐ»Ð¾Ð½Ð¸",
+       "LISTS_GET_INDEX_REMOVE": "уклони",
+       "LISTS_GET_INDEX_FROM_START": "#",
+       "LISTS_GET_INDEX_FROM_END": "# Ñа ÐºÑ€Ð°Ñ˜Ð°",
+       "LISTS_GET_INDEX_FIRST": "прва",
+       "LISTS_GET_INDEX_LAST": "поÑледња",
+       "LISTS_GET_INDEX_RANDOM": "Ñлучајна",
+       "LISTS_GET_INDEX_TAIL": "",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "%1 Ñ˜Ðµ Ð¿Ñ€Ð²Ð° Ñтавка.",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "%1 Ñ˜Ðµ Ð¿Ð¾Ñледња Ñтавка.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "Враћа Ñтавку Ð½Ð° Ð¾Ð´Ñ€ÐµÑ’ену Ð¿Ð¾Ð·Ð¸Ñ†Ð¸Ñ˜Ñƒ Ð½Ð° Ð»Ð¸Ñти.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "Враћа Ð¿Ñ€Ð²Ñƒ Ñтавку Ð½Ð° ÑпиÑку.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "Враћа Ð¿Ð¾Ñледњу Ñтавку Ð½Ð° ÑпиÑку.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "Враћа Ñлучајну Ñтавку Ñа ÑпиÑка.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "Уклања Ð¸ Ð²Ñ€Ð°Ñ›Ð° Ñтавку Ñа Ð¾Ð´Ñ€ÐµÑ’еног Ð¿Ð¾Ð»Ð¾Ð¶Ð°Ñ˜Ð° Ð½Ð° ÑпиÑку.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "Уклања Ð¸ Ð²Ñ€Ð°Ñ›Ð° Ð¿Ñ€Ð²Ñƒ Ñтавку Ñа ÑпиÑка.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "Уклања Ð¸ Ð²Ñ€Ð°Ñ›Ð° Ð¿Ð¾Ñледњу Ñтавку Ñа ÑпиÑка.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "Уклања Ð¸ Ð²Ñ€Ð°Ñ›Ð° Ñлучајну Ñтавку Ñа ÑпиÑка.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "Уклања Ñтавку Ñа Ð¾Ð´Ñ€ÐµÑ’еног Ð¿Ð¾Ð»Ð¾Ð¶Ð°Ñ˜Ð° Ð½Ð° ÑпиÑку.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "Уклања Ð¿Ñ€Ð²Ñƒ Ñтавку Ñа ÑпиÑка.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "Уклања Ð¿Ð¾Ñледњу Ñтавку Ñа ÑпиÑка.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "Уклања Ñлучајну Ñтавку Ñа ÑпиÑка.",
+       "LISTS_SET_INDEX_SET": "поÑтави",
+       "LISTS_SET_INDEX_INSERT": "убаци Ð½Ð°",
+       "LISTS_SET_INDEX_INPUT_TO": "као",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "ПоÑтавља Ñтавку Ð½Ð° Ð¾Ð´Ñ€ÐµÑ’ени Ð¿Ð¾Ð»Ð¾Ð¶Ð°Ñ˜ Ð½Ð° ÑпиÑку.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "ПоÑтавља Ð¿Ñ€Ð²Ñƒ Ñтавку Ð½Ð° ÑпиÑку.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_LAST": "ПоÑтавља Ð¿Ð¾Ñледњу Ñтавку Ð½Ð° ÑпиÑку.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "ПоÑтавља Ñлучајну Ñтавку Ð½Ð° ÑпиÑку.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "Убацује Ñтавку Ð½Ð° Ð¾Ð´Ñ€ÐµÑ’ени Ð¿Ð¾Ð»Ð¾Ð¶Ð°Ñ˜ Ð½Ð° ÑпиÑку.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "Убацује Ñтавку Ð½Ð° Ð¿Ð¾Ñ‡ÐµÑ‚ак ÑпиÑка.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "Додајте Ñтавку Ð½Ð° ÐºÑ€Ð°Ñ˜ ÑпиÑка.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "Убацује Ñтавку Ð½Ð° Ñлучајно Ð¼ÐµÑто Ð½Ð° ÑпиÑку.",
+       "LISTS_GET_SUBLIST_START_FROM_START": "преузми Ð¿Ð¾Ð´ÑпиÑак Ð¾Ð´ #",
+       "LISTS_GET_SUBLIST_START_FROM_END": "преузми Ð¿Ð¾Ð´ÑпиÑак Ð¸Ð· # Ñа ÐºÑ€Ð°Ñ˜Ð°",
+       "LISTS_GET_SUBLIST_START_FIRST": "преузми Ð¿Ð¾Ð´ÑпиÑак Ð¾Ð´ Ð¿Ñ€Ð²Ðµ",
+       "LISTS_GET_SUBLIST_END_FROM_START": "до #",
+       "LISTS_GET_SUBLIST_END_FROM_END": "до # Ð¾Ð´ ÐºÑ€Ð°Ñ˜Ð°",
+       "LISTS_GET_SUBLIST_END_LAST": "до Ð¿Ð¾Ñледње",
+       "LISTS_GET_SUBLIST_TAIL": "",
+       "LISTS_GET_SUBLIST_TOOLTIP": "Прави ÐºÐ¾Ð¿Ð¸Ñ˜Ñƒ Ð¾Ð´Ñ€ÐµÑ’еног Ð´ÐµÐ»Ð° Ð»Ð¸Ñте.",
+       "LISTS_SORT_HELPURL": "https://github.com/google/blockly/wiki/Lists#sorting-a-list",
+       "LISTS_SORT_TITLE": "Ñортирај %1 %2 %3",
+       "LISTS_SORT_TOOLTIP": "Сортирајте ÐºÐ¾Ð¿Ð¸Ñ˜Ñƒ ÑпиÑка.",
+       "LISTS_SORT_ORDER_ASCENDING": "раÑтуће",
+       "LISTS_SORT_ORDER_DESCENDING": "опадајуће",
+       "LISTS_SORT_TYPE_NUMERIC": "као Ð±Ñ€Ð¾Ñ˜ÐµÐ²Ðµ",
+       "LISTS_SORT_TYPE_TEXT": "азбучно",
+       "LISTS_SORT_TYPE_IGNORECASE": "азбучно, Ð¸Ð³Ð½Ð¾Ñ€Ð¸ÑˆÐ¸ Ð¼Ð°Ð»Ð° Ð¸ Ð²ÐµÐ»Ð¸ÐºÐ° Ñлова",
+       "LISTS_SPLIT_LIST_FROM_TEXT": "направите Ð»Ð¸Ñту Ñа Ñ‚екÑта",
+       "LISTS_SPLIT_TEXT_FROM_LIST": "да Ñ‚екÑÑ‚ Ð¸Ð· Ð»Ð¸Ñте",
+       "LISTS_SPLIT_WITH_DELIMITER": "Ñа Ñ€Ð°Ð·Ð´Ð²Ð°Ñ˜Ð°ÑšÐµ",
+       "LISTS_SPLIT_TOOLTIP_SPLIT": "Поделити Ñ‚екÑÑ‚ Ñƒ Ð»Ð¸Ñту Ñ‚екÑтова, Ñ€Ð°Ð·Ð±Ð¸Ñ˜Ð°ÑšÐµ Ð½Ð° Ñваком Ð³Ñ€Ð°Ð½Ð¸Ñ‡Ð½Ð¸Ðº.",
+       "LISTS_SPLIT_TOOLTIP_JOIN": "Да Ñе Ð¿Ñ€Ð¸Ð´Ñ€ÑƒÐ¶Ð¸ Ð»Ð¸Ñту Ñ‚екÑтова Ñƒ Ñ˜ÐµÐ´Ð°Ð½ Ñ‚екÑÑ‚, Ð¿Ð¾Ð´ÐµÑ™ÐµÐ½Ð¸Ñ… Ð·Ð° Ñ€Ð°Ð·Ð´Ð²Ð°Ñ˜Ð°ÑšÐµ.",
+       "LISTS_REVERSE_HELPURL": "https://github.com/google/blockly/wiki/Lists#reversing-a-list",
+       "LISTS_REVERSE_MESSAGE0": "обрнуто %1",
+       "LISTS_REVERSE_TOOLTIP": "Обрни ÐºÐ¾Ð¿Ð¸Ñ˜Ñƒ ÑпиÑка.",
+       "ORDINAL_NUMBER_SUFFIX": "",
+       "VARIABLES_GET_TOOLTIP": "Враћа Ð²Ñ€ÐµÐ´Ð½Ð¾ÑÑ‚ Ð¾Ð²Ðµ Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ™Ð¸Ð²Ðµ.",
+       "VARIABLES_GET_CREATE_SET": "Ðаправи â€žÐ¿Ð¾Ñтави %1“",
+       "VARIABLES_SET": "поÑтави %1 Ñƒ %2",
+       "VARIABLES_SET_TOOLTIP": "ПоÑтавља Ð¿Ñ€Ð¾Ð¼ÐµÐ½Ñ™Ð¸Ð²Ñƒ Ñ‚ако Ð´Ð° Ð±ÑƒÐ´Ðµ Ñ˜ÐµÐ´Ð½Ð°ÐºÐ° ÑƒÐ»Ð°Ð·Ñƒ.",
+       "VARIABLES_SET_CREATE_GET": "Ðаправи â€žÐ¿Ñ€ÐµÑƒÐ·Ð¼Ð¸ %1“",
+       "PROCEDURES_DEFNORETURN_HELPURL": "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29",
+       "PROCEDURES_DEFNORETURN_TITLE": "да",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "урадите Ð½ÐµÑˆÑ‚о",
+       "PROCEDURES_BEFORE_PARAMS": "Ñа:",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "Ñа:",
+       "PROCEDURES_DEFNORETURN_DO": "",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "Прави Ñ„ункцију Ð±ÐµÐ· Ð¸Ð·Ð»Ð°Ð·Ð°.",
+       "PROCEDURES_DEFNORETURN_COMMENT": "ОпиÑати Ð¾Ð²Ñƒ Ñ„ункцију...",
+       "PROCEDURES_DEFRETURN_HELPURL": "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29",
+       "PROCEDURES_DEFRETURN_RETURN": "врати",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "Прави Ñ„ункцију Ñа Ð¸Ð·Ð»Ð°Ð·Ð¾Ð¼.",
+       "PROCEDURES_ALLOW_STATEMENTS": "дозволити Ð¸Ð·Ñ€ÐµÐºÐµ",
+       "PROCEDURES_DEF_DUPLICATE_WARNING": "Упозорење: ÐžÐ²Ð° Ñ„ункција Ð¸Ð¼Ð° Ð´ÑƒÐ¿Ð»Ð¸ÐºÐ°Ñ‚е Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚ара.",
+       "PROCEDURES_CALLNORETURN_HELPURL": "https://en.wikipedia.org/wiki/Subroutine",
+       "PROCEDURES_CALLNORETURN_TOOLTIP": "Покрените Ð¿Ñ€Ð¸Ð»Ð°Ð³Ð¾Ñ’ену Ñ„ункцију â€ž%1“.",
+       "PROCEDURES_CALLRETURN_HELPURL": "https://en.wikipedia.org/wiki/Subroutine",
+       "PROCEDURES_CALLRETURN_TOOLTIP": "Покрените Ð¿Ñ€Ð¸Ð»Ð°Ð³Ð¾Ñ’ену Ñ„ункцију â€ž%1“ Ð¸ ÐºÐ¾Ñ€Ð¸Ñти ÑšÐµÐ½ Ð¸Ð·Ð»Ð°Ð·.",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "улази",
+       "PROCEDURES_MUTATORCONTAINER_TOOLTIP": "Да Ð´Ð¾Ð´Ð°Ñ‚е, ÑƒÐºÐ»Ð¾Ð½Ð¸Ñ‚е Ð¸Ð»Ð¸ Ð¿ÐµÑ€ÐµÑƒÐ¿Ð¾Ñ€Ñдочить ÑƒÐ»Ð°Ð·Ð° Ð·Ð° Ð¾Ð²Ñƒ Ñ„ункцију.",
+       "PROCEDURES_MUTATORARG_TITLE": "назив ÑƒÐ»Ð°Ð·Ð°:",
+       "PROCEDURES_MUTATORARG_TOOLTIP": "Додајте ÑƒÐ»Ð°Ð·Ð½Ð° Ñ„ункција.",
+       "PROCEDURES_HIGHLIGHT_DEF": "ИÑтакни Ð´ÐµÑ„иницију Ñ„ункције",
+       "PROCEDURES_CREATE_DO": "Ðаправи â€ž%1“",
+       "PROCEDURES_IFRETURN_TOOLTIP": "Уколико Ñ˜Ðµ Ð²Ñ€ÐµÐ´Ð½Ð¾ÑÑ‚ Ñ‚ачна, Ð²Ñ€Ð°Ñ‚и Ð´Ñ€ÑƒÐ³Ñƒ Ð²Ñ€ÐµÐ´Ð½Ð¾ÑÑ‚.",
+       "PROCEDURES_IFRETURN_WARNING": "Упозорење: ÐžÐ²Ð°Ñ˜ Ð±Ð»Ð¾Ðº Ñе Ð¼Ð¾Ð¶Ðµ ÐºÐ¾Ñ€Ð¸Ñтити Ñ˜ÐµÐ´Ð¸Ð½Ð¾ Ñƒ Ð´ÐµÑ„иницији Ñ„ункције."
+}
diff --git a/js/msg/json/sv.json b/js/msg/json/sv.json
new file mode 100644 (file)
index 0000000..a350616
--- /dev/null
@@ -0,0 +1,369 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Jopparn",
+                       "WikiPhoenix",
+                       "Abbedabb",
+                       "Aaoo",
+                       "ì•„ë¼"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "föremål",
+       "TODAY": "Idag",
+       "DUPLICATE_BLOCK": "Duplicera",
+       "ADD_COMMENT": "Lägg till kommentar",
+       "REMOVE_COMMENT": "Radera kommentar",
+       "DUPLICATE_COMMENT": "Duplicera kommentar",
+       "EXTERNAL_INPUTS": "Externa inmatningar",
+       "INLINE_INPUTS": "Radinmatning",
+       "DELETE_BLOCK": "Radera block",
+       "DELETE_X_BLOCKS": "Radera %1 block",
+       "DELETE_ALL_BLOCKS": "Radera alla %1 block?",
+       "CLEAN_UP": "Rada upp block",
+       "COLLAPSE_BLOCK": "Fäll ihop block",
+       "COLLAPSE_ALL": "Fäll ihop block",
+       "EXPAND_BLOCK": "Fäll ut block",
+       "EXPAND_ALL": "Fäll ut block",
+       "DISABLE_BLOCK": "Inaktivera block",
+       "ENABLE_BLOCK": "Aktivera block",
+       "HELP": "Hjälp",
+       "UNDO": "Ångra",
+       "REDO": "Gör om",
+       "CHANGE_VALUE_TITLE": "Ändra värde:",
+       "RENAME_VARIABLE": "Byt namn på variabel...",
+       "RENAME_VARIABLE_TITLE": "Byt namn på alla'%1'-variabler till:",
+       "NEW_VARIABLE": "Skapa variabel...",
+       "NEW_STRING_VARIABLE": "Skapa strängvariabel...",
+       "NEW_NUMBER_VARIABLE": "Skapa siffervariabel...",
+       "NEW_COLOUR_VARIABLE": "Skapa färgvariabel...",
+       "NEW_VARIABLE_TYPE_TITLE": "Ny variabeltyp:",
+       "NEW_VARIABLE_TITLE": "Nytt variabelnamn:",
+       "VARIABLE_ALREADY_EXISTS": "En variabel som heter \"%1\" finns redan.",
+       "VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE": "En variabel med namnet \"%1\" finns redan för en annan typ: \"%2\".",
+       "DELETE_VARIABLE_CONFIRMATION": "Radera %1 användningar av variabeln \"%2\"?",
+       "CANNOT_DELETE_VARIABLE_PROCEDURE": "Kan inte radera variabeln '%1' eftersom den är en del av definition för funktionen '%2'",
+       "DELETE_VARIABLE": "Radera variabeln \"%1\"",
+       "COLOUR_PICKER_HELPURL": "https://sv.wikipedia.org/wiki/Färg",
+       "COLOUR_PICKER_TOOLTIP": "Välj en färg från paletten.",
+       "COLOUR_RANDOM_TITLE": "slumpfärg",
+       "COLOUR_RANDOM_TOOLTIP": "Slumpa fram en färg.",
+       "COLOUR_RGB_HELPURL": "http://www.december.com/html/spec/colorper.html",
+       "COLOUR_RGB_TITLE": "färg med",
+       "COLOUR_RGB_RED": "röd",
+       "COLOUR_RGB_GREEN": "grön",
+       "COLOUR_RGB_BLUE": "blå",
+       "COLOUR_RGB_TOOLTIP": "Skapa en färg med det angivna mängden röd, grön och blå. Alla värden måste vara mellan 0 och 100.",
+       "COLOUR_BLEND_HELPURL": "http://meyerweb.com/eric/tools/color-blend/",
+       "COLOUR_BLEND_TITLE": "blanda",
+       "COLOUR_BLEND_COLOUR1": "färg 1",
+       "COLOUR_BLEND_COLOUR2": "färg 2",
+       "COLOUR_BLEND_RATIO": "förhållande",
+       "COLOUR_BLEND_TOOLTIP": "Blandar ihop två färger med ett bestämt förhållande (0.0 - 1.0).",
+       "CONTROLS_REPEAT_HELPURL": "https://en.wikipedia.org/wiki/For_loop",
+       "CONTROLS_REPEAT_TITLE": "upprepa %1 gånger",
+       "CONTROLS_REPEAT_INPUT_DO": "utför",
+       "CONTROLS_REPEAT_TOOLTIP": "Utför några kommandon flera gånger.",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "upprepa medan",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "upprepa tills",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "Medan ett värde är sant, utför några kommandon.",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "Medan ett värde är falskt, utför några kommandon.",
+       "CONTROLS_FOR_TOOLTIP": "Låt variabeln \"%1\" ta värden från starttalet till sluttalet, beräknat med det angivna intervallet, och utför de angivna blocken.",
+       "CONTROLS_FOR_TITLE": "räkna med %1 från %2 till %3 med %4",
+       "CONTROLS_FOREACH_TITLE": "för varje föremål %1 i listan %2",
+       "CONTROLS_FOREACH_TOOLTIP": "För varje objekt i en lista, ange variabeln '%1' till objektet, och utför sedan några kommandon.",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "bryt ut ur loop",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "fortsätta med nästa upprepning av loop",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "Bryt ut ur den innehållande upprepningen.",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "Hoppa över resten av denna loop och fortsätt med nästa loop.",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "Varning: Detta block kan endast användas i en loop.",
+       "CONTROLS_IF_TOOLTIP_1": "Om ett värde är sant, utför några kommandon.",
+       "CONTROLS_IF_TOOLTIP_2": "Om värdet är sant, utför det första kommandoblocket. Annars utför det andra kommandoblocket.",
+       "CONTROLS_IF_TOOLTIP_3": "Om det första värdet är sant, utför det första kommandoblocket. Annars, om det andra värdet är sant, utför det andra kommandoblocket.",
+       "CONTROLS_IF_TOOLTIP_4": "Om det första värdet är sant, utför det första kommandoblocket. Annars, om det andra värdet är sant, utför det andra kommandoblocket. Om ingen av värdena är sanna, utför det sista kommandoblocket.",
+       "CONTROLS_IF_MSG_IF": "om",
+       "CONTROLS_IF_MSG_ELSEIF": "annars om",
+       "CONTROLS_IF_MSG_ELSE": "annars",
+       "CONTROLS_IF_IF_TOOLTIP": "Lägg till, ta bort eller ändra ordningen för sektioner för att omkonfigurera blocket \"om\".",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "Lägg till ett villkor blocket \"om\".",
+       "CONTROLS_IF_ELSE_TOOLTIP": "Lägg till ett sista villkor som täcker alla alternativ som är kvar för \"if\"-blocket.",
+       "IOS_OK": "OK",
+       "IOS_CANCEL": "Avbryt",
+       "IOS_ERROR": "Fel",
+       "IOS_PROCEDURES_INPUTS": "INMATNINGAR",
+       "IOS_PROCEDURES_ADD_INPUT": "+ Lägg till inmatning",
+       "IOS_PROCEDURES_ALLOW_STATEMENTS": "Tillåt kommandon",
+       "IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR": "Denna funktion har dubblettinmatningar.",
+       "IOS_VARIABLES_ADD_VARIABLE": "+ Lägg till variabel",
+       "IOS_VARIABLES_ADD_BUTTON": "Lägg till",
+       "IOS_VARIABLES_RENAME_BUTTON": "Döp om",
+       "IOS_VARIABLES_DELETE_BUTTON": "Radera",
+       "IOS_VARIABLES_VARIABLE_NAME": "Variabelnamn",
+       "IOS_VARIABLES_EMPTY_NAME_ERROR": "Du kan inte använda ett tomt variabelnamn.",
+       "LOGIC_COMPARE_HELPURL": "https://sv.wikipedia.org/wiki/Olikhet",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "Ger tillbaka sant om båda värdena är lika med varandra.",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "Ger tillbaka sant om båda värdena inte är lika med varandra.",
+       "LOGIC_COMPARE_TOOLTIP_LT": "Ger tillbaka sant om det första värdet är mindre än det andra.",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "Ger tillbaka sant om det första värdet är mindre än eller lika med det andra.",
+       "LOGIC_COMPARE_TOOLTIP_GT": "Ger tillbaka sant om det första värdet är större än det andra.",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "Ger tillbaka sant om det första värdet är större än eller lika med det andra.",
+       "LOGIC_OPERATION_TOOLTIP_AND": "Ger tillbaka sant om båda värdena är sanna.",
+       "LOGIC_OPERATION_AND": "och",
+       "LOGIC_OPERATION_TOOLTIP_OR": "Ger tillbaka sant om minst ett av värdena är sant.",
+       "LOGIC_OPERATION_OR": "eller",
+       "LOGIC_NEGATE_TITLE": "inte %1",
+       "LOGIC_NEGATE_TOOLTIP": "Ger tillbaka sant om inmatningen är falsk. Ger tillbaka falskt och inmatningen är sann.",
+       "LOGIC_BOOLEAN_TRUE": "sant",
+       "LOGIC_BOOLEAN_FALSE": "falskt",
+       "LOGIC_BOOLEAN_TOOLTIP": "Returnerar antingen sant eller falskt.",
+       "LOGIC_NULL_HELPURL": "https://sv.wikipedia.org/wiki/Null",
+       "LOGIC_NULL": "null",
+       "LOGIC_NULL_TOOLTIP": "Returnerar null.",
+       "LOGIC_TERNARY_HELPURL": "https://en.wikipedia.org/wiki/%3F:",
+       "LOGIC_TERNARY_CONDITION": "test",
+       "LOGIC_TERNARY_IF_TRUE": "om sant",
+       "LOGIC_TERNARY_IF_FALSE": "om falskt",
+       "LOGIC_TERNARY_TOOLTIP": "Kontrollera villkoret i \"test\". Om villkoret är sant, ge tillbaka \"om sant\"-värdet; annars ge tillbaka \"om falskt\"-värdet.",
+       "MATH_NUMBER_HELPURL": "https://sv.wikipedia.org/wiki/Tal",
+       "MATH_NUMBER_TOOLTIP": "Ett tal.",
+       "MATH_ADDITION_SYMBOL": "+",
+       "MATH_SUBTRACTION_SYMBOL": "-",
+       "MATH_DIVISION_SYMBOL": "÷",
+       "MATH_MULTIPLICATION_SYMBOL": "×",
+       "MATH_POWER_SYMBOL": "^",
+       "MATH_TRIG_SIN": "sin",
+       "MATH_TRIG_COS": "cos",
+       "MATH_TRIG_TAN": "tan",
+       "MATH_TRIG_ASIN": "arcsin",
+       "MATH_TRIG_ACOS": "arccos",
+       "MATH_TRIG_ATAN": "arctan",
+       "MATH_ARITHMETIC_HELPURL": "https://sv.wikipedia.org/wiki/Aritmetik",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "Returnerar summan av de två talen.",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "Returnerar differensen mellan de två talen.",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "Returnerar produkten av de två talen.",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "Returnerar kvoten av de två talen.",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "Ger tillbaka det första talet upphöjt till det andra talet.",
+       "MATH_SINGLE_HELPURL": "https://sv.wikipedia.org/wiki/Kvadratrot",
+       "MATH_SINGLE_OP_ROOT": "kvadratrot",
+       "MATH_SINGLE_TOOLTIP_ROOT": "Returnerar kvadratroten av ett tal.",
+       "MATH_SINGLE_OP_ABSOLUTE": "absolut",
+       "MATH_SINGLE_TOOLTIP_ABS": "Returnerar absolutvärdet av ett tal.",
+       "MATH_SINGLE_TOOLTIP_NEG": "Returnerar negationen av ett tal.",
+       "MATH_SINGLE_TOOLTIP_LN": "Returnera den naturliga logaritmen av ett tal.",
+       "MATH_SINGLE_TOOLTIP_LOG10": "Returnerar logaritmen för bas 10 av ett tal.",
+       "MATH_SINGLE_TOOLTIP_EXP": "Ger tillbaka e upphöjt i ett tal.",
+       "MATH_SINGLE_TOOLTIP_POW10": "Ger tillbaka 10 upphöjt i ett tal.",
+       "MATH_TRIG_HELPURL": "https://sv.wikipedia.org/wiki/Trigonometrisk_funktion",
+       "MATH_TRIG_TOOLTIP_SIN": "Ger tillbaka sinus för en grad (inte radian).",
+       "MATH_TRIG_TOOLTIP_COS": "Ger tillbaka cosinus för en grad (inte radian).",
+       "MATH_TRIG_TOOLTIP_TAN": "Ger tillbaka tangens för en grad (inte radian).",
+       "MATH_TRIG_TOOLTIP_ASIN": "Ger tillbaka arcus sinus (arcsin) för ett tal.",
+       "MATH_TRIG_TOOLTIP_ACOS": "Ger tillbaka arcus cosinus (arccos) för ett tal.",
+       "MATH_TRIG_TOOLTIP_ATAN": "Ger tillbaka arcus tangens (arctan) av ett tal.",
+       "MATH_CONSTANT_HELPURL": "https://sv.wikipedia.org/wiki/Matematisk_konstant",
+       "MATH_CONSTANT_TOOLTIP": "Returnerar en av de vanliga konstanterna: Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…) eller âˆž (oändligt).",
+       "MATH_IS_EVEN": "är jämnt",
+       "MATH_IS_ODD": "är ojämnt",
+       "MATH_IS_PRIME": "är ett primtal",
+       "MATH_IS_WHOLE": "är helt",
+       "MATH_IS_POSITIVE": "är positivt",
+       "MATH_IS_NEGATIVE": "är negativt",
+       "MATH_IS_DIVISIBLE_BY": "är delbart med",
+       "MATH_IS_TOOLTIP": "Kontrollera om ett tal är jämnt, ojämnt, helt, positivt, negativt eller det är delbart med ett bestämt tal. Returnerar med sant eller falskt.",
+       "MATH_CHANGE_HELPURL": "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter",
+       "MATH_CHANGE_TITLE": "ändra %1 med %2",
+       "MATH_CHANGE_TOOLTIP": "Lägg till ett tal till variabeln '%1'.",
+       "MATH_ROUND_HELPURL": "https://sv.wikipedia.org/wiki/Avrundning",
+       "MATH_ROUND_TOOLTIP": "Avrunda ett tal uppåt eller nedåt.",
+       "MATH_ROUND_OPERATOR_ROUND": "avrunda",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "avrunda uppåt",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "avrunda nedåt",
+       "MATH_ONLIST_OPERATOR_SUM": "summan av listan",
+       "MATH_ONLIST_TOOLTIP_SUM": "Ger tillbaka summan av alla talen i listan.",
+       "MATH_ONLIST_OPERATOR_MIN": "minsta talet i listan",
+       "MATH_ONLIST_TOOLTIP_MIN": "Ger tillbaka det minsta talet i listan.",
+       "MATH_ONLIST_OPERATOR_MAX": "högsta talet i listan",
+       "MATH_ONLIST_TOOLTIP_MAX": "Ger tillbaka det största talet i listan.",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "medelvärdet av listan",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "Ger tillbaka medelvärdet (aritmetiskt) av de numeriska värdena i listan.",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "medianen av listan",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "Returnerar medianen av talen i listan.",
+       "MATH_ONLIST_OPERATOR_MODE": "typvärdet i listan",
+       "MATH_ONLIST_TOOLTIP_MODE": "Ger tillbaka en lista med de(t) vanligaste objekte(t/n) i listan.",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "standardavvikelsen i listan",
+       "MATH_ONLIST_TOOLTIP_STD_DEV": "Ger tillbaka standardavvikelsen i listan.",
+       "MATH_ONLIST_OPERATOR_RANDOM": "slumpmässigt objekt i listan",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "Returnerar ett slumpmässigt element från listan.",
+       "MATH_MODULO_HELPURL": "https://en.wikipedia.org/wiki/Modulo_operation",
+       "MATH_MODULO_TITLE": "resten av %1 ÷ %2",
+       "MATH_MODULO_TOOLTIP": "Returnerar kvoten från divisionen av de två talen.",
+       "MATH_CONSTRAIN_TITLE": "begränsa %1 till mellan %2 och %3",
+       "MATH_CONSTRAIN_TOOLTIP": "Begränsa ett tal till att mellan de angivna gränsvärden (inkluderande).",
+       "MATH_RANDOM_INT_HELPURL": "https://sv.wikipedia.org/wiki/Slumptalsgenerator",
+       "MATH_RANDOM_INT_TITLE": "slumpartat heltal från %1 till %2",
+       "MATH_RANDOM_INT_TOOLTIP": "Ger tillbaka ett slumpat heltal mellan två värden, inkluderande.",
+       "MATH_RANDOM_FLOAT_HELPURL": "https://sv.wikipedia.org/wiki/Slumptalsgenerator",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "slumpat decimaltal",
+       "MATH_RANDOM_FLOAT_TOOLTIP": "Ger tillbaka ett slumpat decimaltal mellan 0.0 (inkluderat) och 1.0 (exkluderat).",
+       "TEXT_TEXT_HELPURL": "https://sv.wikipedia.org/wiki/Str%C3%A4ng_%28data%29",
+       "TEXT_TEXT_TOOLTIP": "En bokstav, ord eller textrad.",
+       "TEXT_JOIN_TITLE_CREATEWITH": "skapa text med",
+       "TEXT_JOIN_TOOLTIP": "Skapa en textbit genom att sammanfoga ett valfritt antal föremål.",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "sammanfoga",
+       "TEXT_CREATE_JOIN_TOOLTIP": "Lägg till, ta bort eller ändra ordningen för sektioner för att omkonfigurera detta textblock.",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "Lägg till ett föremål till texten.",
+       "TEXT_APPEND_TITLE": "för att %1 lägga till text %2",
+       "TEXT_APPEND_TOOLTIP": "Lägg till lite text till variabeln '%1'.",
+       "TEXT_LENGTH_TITLE": "längden på %1",
+       "TEXT_LENGTH_TOOLTIP": "Ger tillbaka antalet bokstäver (inklusive mellanslag) i den angivna texten.",
+       "TEXT_ISEMPTY_TITLE": "%1 är tom",
+       "TEXT_ISEMPTY_TOOLTIP": "Returnerar sant om den angivna texten är tom.",
+       "TEXT_INDEXOF_TOOLTIP": "Ger tillbaka indexet för den första/sista förekomsten av första texten i den andra texten.  Ger tillbaka %1 om texten inte hittas.",
+       "TEXT_INDEXOF_TITLE": "i texten %1 %2 %3",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "hitta första förekomsten av texten",
+       "TEXT_INDEXOF_OPERATOR_LAST": "hitta sista förekomsten av texten",
+       "TEXT_CHARAT_TITLE": "i texten %1 %2",
+       "TEXT_CHARAT_FROM_START": "hämta bokstaven #",
+       "TEXT_CHARAT_FROM_END": "hämta bokstaven # från slutet",
+       "TEXT_CHARAT_FIRST": "hämta första bokstaven",
+       "TEXT_CHARAT_LAST": "hämta sista bokstaven",
+       "TEXT_CHARAT_RANDOM": "hämta slumpad bokstav",
+       "TEXT_CHARAT_TOOLTIP": "Ger tillbaka bokstaven på den specificerade positionen.",
+       "TEXT_GET_SUBSTRING_TOOLTIP": "Ger tillbaka en viss del av texten.",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "i texten",
+       "TEXT_GET_SUBSTRING_START_FROM_START": "få textdel från bokstav #",
+       "TEXT_GET_SUBSTRING_START_FROM_END": "få textdel från bokstav # från slutet",
+       "TEXT_GET_SUBSTRING_START_FIRST": "få textdel från första bokstaven",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "till bokstav #",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "till bokstav # från slutet",
+       "TEXT_GET_SUBSTRING_END_LAST": "till sista bokstaven",
+       "TEXT_CHANGECASE_TOOLTIP": "Returnerar en kopia av texten i ett annat skiftläge.",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "till VERSALER",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "till gemener",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": "till Versala Initialer",
+       "TEXT_TRIM_TOOLTIP": "Returnerar en kopia av texten med borttagna mellanrum från en eller båda ändar.",
+       "TEXT_TRIM_OPERATOR_BOTH": "ta bort mellanrum från båda sidorna av",
+       "TEXT_TRIM_OPERATOR_LEFT": "ta bort mellanrum från vänstra sidan av",
+       "TEXT_TRIM_OPERATOR_RIGHT": "ta bort mellanrum från högra sidan av",
+       "TEXT_PRINT_TITLE": "skriv %1",
+       "TEXT_PRINT_TOOLTIP": "Skriv den angivna texten, talet eller annat värde.",
+       "TEXT_PROMPT_TYPE_TEXT": "fråga efter text med meddelande",
+       "TEXT_PROMPT_TYPE_NUMBER": "fråga efter ett tal med meddelande",
+       "TEXT_PROMPT_TOOLTIP_NUMBER": "Fråga användaren efter ett tal.",
+       "TEXT_PROMPT_TOOLTIP_TEXT": "Fråga användaren efter lite text.",
+       "TEXT_COUNT_MESSAGE0": "räkna %1 i %2",
+       "TEXT_COUNT_HELPURL": "https://github.com/google/blockly/wiki/Text#counting-substrings",
+       "TEXT_COUNT_TOOLTIP": "Räkna hur många gånger en text förekommer inom en annan text.",
+       "TEXT_REPLACE_MESSAGE0": "ersätt %1 med %2 i %3",
+       "TEXT_REPLACE_HELPURL": "https://github.com/google/blockly/wiki/Text#replacing-substrings",
+       "TEXT_REPLACE_TOOLTIP": "Ersätt alla förekomster av en text inom en annan text.",
+       "TEXT_REVERSE_MESSAGE0": "vänd på %1",
+       "TEXT_REVERSE_HELPURL": "https://github.com/google/blockly/wiki/Text#reversing-text",
+       "TEXT_REVERSE_TOOLTIP": "Vänder på teckenordningen i texten.",
+       "LISTS_CREATE_EMPTY_HELPURL": "https://github.com/google/blockly/wiki/Lists#create-empty-list",
+       "LISTS_CREATE_EMPTY_TITLE": "skapa tom lista",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "Ger tillbaka en lista utan någon data, alltså med längden 0",
+       "LISTS_CREATE_WITH_HELPURL": "https://github.com/google/blockly/wiki/Lists#create-list-with",
+       "LISTS_CREATE_WITH_TOOLTIP": "Skapa en lista med valfritt antal föremål.",
+       "LISTS_CREATE_WITH_INPUT_WITH": "skapa lista med",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "lista",
+       "LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "Lägg till, ta bort eller ändra ordningen på objekten för att göra om det här \"list\"-blocket.",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "Lägg till ett föremål till listan.",
+       "LISTS_REPEAT_TOOLTIP": "Skapar en lista som innehåller ett valt värde upprepat ett bestämt antalet gånger.",
+       "LISTS_REPEAT_TITLE": "skapa lista med föremålet %1 upprepat %2 gånger",
+       "LISTS_LENGTH_TITLE": "längden på %1",
+       "LISTS_LENGTH_TOOLTIP": "Returnerar längden på en lista.",
+       "LISTS_ISEMPTY_TITLE": "%1 är tom",
+       "LISTS_ISEMPTY_TOOLTIP": "Returnerar sant om listan är tom.",
+       "LISTS_INLIST": "i listan",
+       "LISTS_INDEX_OF_FIRST": "hitta första förekomsten av objektet",
+       "LISTS_INDEX_OF_LAST": "hitta sista förekomsten av objektet",
+       "LISTS_INDEX_OF_TOOLTIP": "Ger tillbaka den första/sista förekomsten av objektet i listan. Returnerar %1 om objektet inte hittas.",
+       "LISTS_GET_INDEX_GET": "hämta",
+       "LISTS_GET_INDEX_GET_REMOVE": "hämta och ta bort",
+       "LISTS_GET_INDEX_REMOVE": "ta bort",
+       "LISTS_GET_INDEX_FROM_START": "#",
+       "LISTS_GET_INDEX_FROM_END": "# från slutet",
+       "LISTS_GET_INDEX_FIRST": "första",
+       "LISTS_GET_INDEX_LAST": "sista",
+       "LISTS_GET_INDEX_RANDOM": "slumpad",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "%1 är det första objektet.",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "%1 är det sista objektet.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "Ger tillbaka objektet på den efterfrågade positionen i en lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "Returnerar det första objektet i en lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "Returnerar det sista objektet i en lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "Returnerar ett slumpmässigt objekt i en lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "Tar bort och återställer objektet på den specificerade positionen i en lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "Tar bort och återställer det första objektet i en lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "Tar bort och återställer det sista objektet i en lista.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "Tar bort och återställer ett slumpmässigt objekt i en lista.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "Tar bort objektet på den specificerade positionen i en lista.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "Tar bort det första objektet i en lista.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "Tar bort det sista objektet i en lista.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "Tar bort en slumpmässig post i en lista.",
+       "LISTS_SET_INDEX_SET": "ange",
+       "LISTS_SET_INDEX_INSERT": "Sätt in vid",
+       "LISTS_SET_INDEX_INPUT_TO": "som",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "Sätter in objektet vid en specificerad position i en lista.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "Anger det första objektet i en lista.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_LAST": "Anger det sista elementet i en lista.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "Sätter in ett slumpat objekt i en lista.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "Sätter in objektet vid en specificerad position i en lista.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "sätter in objektet i början av en lista.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "Lägg till objektet i slutet av en lista.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "sätter in objektet på en slumpad position i en lista.",
+       "LISTS_GET_SUBLIST_START_FROM_START": "få underlista från #",
+       "LISTS_GET_SUBLIST_START_FROM_END": "få underlista från # från slutet",
+       "LISTS_GET_SUBLIST_START_FIRST": "få underlista från första",
+       "LISTS_GET_SUBLIST_END_FROM_START": "till #",
+       "LISTS_GET_SUBLIST_END_FROM_END": "till # från slutet",
+       "LISTS_GET_SUBLIST_END_LAST": "till sista",
+       "LISTS_GET_SUBLIST_TOOLTIP": "Skapar en kopia av den specificerade delen av en lista.",
+       "LISTS_SORT_HELPURL": "https://github.com/google/blockly/wiki/Lists#sorting-a-list",
+       "LISTS_SORT_TITLE": "sortera %1 %2 %3",
+       "LISTS_SORT_TOOLTIP": "Sortera en kopia av en lista.",
+       "LISTS_SORT_ORDER_ASCENDING": "stigande",
+       "LISTS_SORT_ORDER_DESCENDING": "fallande",
+       "LISTS_SORT_TYPE_NUMERIC": "numeriskt",
+       "LISTS_SORT_TYPE_TEXT": "alfabetiskt",
+       "LISTS_SORT_TYPE_IGNORECASE": "alfabetiskt, ignorera skiftläge",
+       "LISTS_SPLIT_HELPURL": "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists",
+       "LISTS_SPLIT_LIST_FROM_TEXT": "skapa lista från text",
+       "LISTS_SPLIT_TEXT_FROM_LIST": "skapa text från lista",
+       "LISTS_SPLIT_WITH_DELIMITER": "med avgränsare",
+       "LISTS_SPLIT_TOOLTIP_SPLIT": "Dela upp text till en textlista och bryt vid varje avgränsare.",
+       "LISTS_SPLIT_TOOLTIP_JOIN": "Sammanfoga en textlista till en text, som separeras av en avgränsare.",
+       "LISTS_REVERSE_HELPURL": "https://github.com/google/blockly/wiki/Lists#reversing-a-list",
+       "LISTS_REVERSE_MESSAGE0": "vänd på %1",
+       "LISTS_REVERSE_TOOLTIP": "Vänd på en kopia av en lista.",
+       "VARIABLES_GET_TOOLTIP": "Returnerar värdet av denna variabel.",
+       "VARIABLES_GET_CREATE_SET": "Skapa \"välj %1\"",
+       "VARIABLES_SET": "ange %1 till %2",
+       "VARIABLES_SET_TOOLTIP": "Gör så att den här variabeln blir lika med inputen.",
+       "VARIABLES_SET_CREATE_GET": "Skapa 'hämta %1'",
+       "PROCEDURES_DEFNORETURN_HELPURL": "https://sv.wikipedia.org/wiki/Funktion_%28programmering%29",
+       "PROCEDURES_DEFNORETURN_TITLE": "för att",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "göra något",
+       "PROCEDURES_BEFORE_PARAMS": "med:",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "med:",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "Skapar en funktion utan output.",
+       "PROCEDURES_DEFNORETURN_COMMENT": "Beskriv denna funktion...",
+       "PROCEDURES_DEFRETURN_HELPURL": "https://sv.wikipedia.org/wiki/Funktion_%28programmering%29",
+       "PROCEDURES_DEFRETURN_RETURN": "returnera",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "Skapar en funktion med output.",
+       "PROCEDURES_ALLOW_STATEMENTS": "tillåta uttalanden",
+       "PROCEDURES_DEF_DUPLICATE_WARNING": "Varning: Denna funktion har dubbla parametrar.",
+       "PROCEDURES_CALLNORETURN_HELPURL": "https://en.wikipedia.org/wiki/Subroutine",
+       "PROCEDURES_CALLNORETURN_TOOLTIP": "Kör den användardefinierade funktionen \"%1\".",
+       "PROCEDURES_CALLRETURN_HELPURL": "https://en.wikipedia.org/wiki/Subroutine",
+       "PROCEDURES_CALLRETURN_TOOLTIP": "Kör den användardefinierade funktionen \"%1\" och använd resultatet av den.",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "inmatningar",
+       "PROCEDURES_MUTATORCONTAINER_TOOLTIP": "Lägg till, ta bort och ändra ordningen för inmatningar till denna funktion.",
+       "PROCEDURES_MUTATORARG_TITLE": "inmatningsnamn:",
+       "PROCEDURES_MUTATORARG_TOOLTIP": "Lägg till en inmatning till funktionen.",
+       "PROCEDURES_HIGHLIGHT_DEF": "Markera funktionsdefinition",
+       "PROCEDURES_CREATE_DO": "Skapa '%1'",
+       "PROCEDURES_IFRETURN_TOOLTIP": "Om ett värde är sant returneras ett andra värde.",
+       "PROCEDURES_IFRETURN_HELPURL": "http://c2.com/cgi/wiki?GuardClause",
+       "PROCEDURES_IFRETURN_WARNING": "Varning: Detta block får användas endast i en funktionsdefinition.",
+       "WORKSPACE_COMMENT_DEFAULT_TEXT": "Säg någonting..."
+}
diff --git a/js/msg/json/synonyms.json b/js/msg/json/synonyms.json
new file mode 100644 (file)
index 0000000..944aa9b
--- /dev/null
@@ -0,0 +1 @@
+{"PROCEDURES_DEFRETURN_TITLE": "PROCEDURES_DEFNORETURN_TITLE", "CONTROLS_IF_IF_TITLE_IF": "CONTROLS_IF_MSG_IF", "CONTROLS_WHILEUNTIL_INPUT_DO": "CONTROLS_REPEAT_INPUT_DO", "CONTROLS_IF_MSG_THEN": "CONTROLS_REPEAT_INPUT_DO", "LISTS_GET_SUBLIST_INPUT_IN_LIST": "LISTS_INLIST", "CONTROLS_IF_ELSE_TITLE_ELSE": "CONTROLS_IF_MSG_ELSE", "PROCEDURES_DEFRETURN_PROCEDURE": "PROCEDURES_DEFNORETURN_PROCEDURE", "TEXT_CREATE_JOIN_ITEM_TITLE_ITEM": "VARIABLES_DEFAULT_NAME", "LISTS_GET_INDEX_INPUT_IN_LIST": "LISTS_INLIST", "PROCEDURES_DEFRETURN_COMMENT": "PROCEDURES_DEFNORETURN_COMMENT", "CONTROLS_IF_ELSEIF_TITLE_ELSEIF": "CONTROLS_IF_MSG_ELSEIF", "PROCEDURES_DEFRETURN_DO": "PROCEDURES_DEFNORETURN_DO", "CONTROLS_FOR_INPUT_DO": "CONTROLS_REPEAT_INPUT_DO", "LISTS_GET_INDEX_HELPURL": "LISTS_INDEX_OF_HELPURL", "LISTS_INDEX_OF_INPUT_IN_LIST": "LISTS_INLIST", "CONTROLS_FOREACH_INPUT_DO": "CONTROLS_REPEAT_INPUT_DO", "LISTS_CREATE_WITH_ITEM_TITLE": "VARIABLES_DEFAULT_NAME", "TEXT_APPEND_VARIABLE": "VARIABLES_DEFAULT_NAME", "MATH_CHANGE_TITLE_ITEM": "VARIABLES_DEFAULT_NAME", "LISTS_SET_INDEX_INPUT_IN_LIST": "LISTS_INLIST"}
\ No newline at end of file
diff --git a/js/msg/json/ta.json b/js/msg/json/ta.json
new file mode 100644 (file)
index 0000000..7ed54dc
--- /dev/null
@@ -0,0 +1,296 @@
+{
+       "@metadata": {
+               "authors": [
+                       "ElangoRamanujam",
+                       "Ezhillang",
+                       "Karuthan",
+                       "Thangamani-arun",
+                       "Mahir78"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "உரà¯à®ªà¯à®ªà®Ÿà®¿",
+       "TODAY": "இனà¯à®±à¯",
+       "DUPLICATE_BLOCK": "மறà¯à®¨à®•à®²à¯",
+       "ADD_COMMENT": "கரà¯à®¤à¯à®¤à¯ˆ à®šà¯‡à®°à¯",
+       "REMOVE_COMMENT": "கரà¯à®¤à¯à®¤à¯ˆ à®¨à¯€à®•à¯à®•à¯",
+       "EXTERNAL_INPUTS": "வெளி à®•à®°à¯à®µà®¿à®•à®³à¯à®Ÿà®©à¯ à®‰à®³à¯à®³à¯€à®Ÿà¯",
+       "INLINE_INPUTS": "சூழமைவில௠உளà¯à®³à¯€à®Ÿà¯",
+       "DELETE_BLOCK": "உறà¯à®ªà¯à®ªà¯ˆ à®¨à¯€à®•à¯à®•à¯",
+       "DELETE_X_BLOCKS": "%1 à®‰à®±à¯à®ªà¯à®ªà¯ˆ à®¨à¯€à®•à¯à®•à¯",
+       "DELETE_ALL_BLOCKS": "அனைதà¯à®¤à¯ %1 à®¨à®¿à®°à®²à¯ à®¤à¯à®£à¯à®Ÿà¯à®•à®³à¯ˆà®¯à¯à®®à¯ à®…ழிகà¯à®•à®µà®¾??",
+       "COLLAPSE_BLOCK": "உறà¯à®ªà¯à®ªà¯ˆ à®®à®°à¯ˆ",
+       "COLLAPSE_ALL": "உறà¯à®ªà¯à®ªà¯à®•à®³à¯ˆ à®®à®°à¯ˆ",
+       "EXPAND_BLOCK": "உறà¯à®ªà¯à®ªà¯ˆ à®•à®¾à®Ÿà¯à®Ÿà¯",
+       "EXPAND_ALL": "உறà¯à®ªà¯à®ªà¯à®•à®³à¯ˆ  à®•à®¾à®Ÿà¯à®Ÿà¯",
+       "DISABLE_BLOCK": "உறà¯à®ªà¯à®ªà¯ˆ à®‡à®¯à®™à¯à®•à®¾à®¤à¯ à®šà¯†à®¯à¯",
+       "ENABLE_BLOCK": "உறà¯à®ªà¯à®ªà¯ˆ à®‡à®¯à®™à¯à®•à¯à®®à®¾à®°à¯ à®šà¯†à®¯à¯",
+       "HELP": "உதவி",
+       "CHANGE_VALUE_TITLE": "மதிபà¯à®ªà¯ˆ à®®à®¾à®±à¯à®±à®µà¯à®®à¯:",
+       "RENAME_VARIABLE": "மாறிலியை à®®à®±à¯à®ªà¯†à®¯à®°à®¿à®Ÿà¯à®•...",
+       "RENAME_VARIABLE_TITLE": "அனைதà¯à®¤à¯ '%1' à®®à®¾à®±à®¿à®²à®¿à®•à®³à¯ˆà®¯à¯à®®à¯ à®ªà®¿à®©à¯à®µà®°à¯à®®à®¾à®±à¯ à®®à®±à¯à®ªà¯†à®¯à®°à®¿à®Ÿà¯à®•:",
+       "NEW_VARIABLE": "பà¯à®¤à®¿à®¯ à®®à®¾à®±à®¿à®²à®¿...",
+       "NEW_VARIABLE_TITLE": "பà¯à®¤à®¿à®¯ à®®à®¾à®±à®¿à®²à®¿à®¯à®¿à®©à¯ à®ªà¯†à®¯à®°à¯:",
+       "COLOUR_PICKER_HELPURL": "https://en.wikipedia.org/wiki/Color",
+       "COLOUR_PICKER_TOOLTIP": "வணà¯à®£ à®¤à®Ÿà¯à®Ÿà®¿à®²à®¿à®°à¯à®¨à¯à®¤à¯ à®’ர௠நிறதà¯à®¤à¯ˆà®¤à¯ à®¤à¯‡à®°à¯à®¨à¯à®¤à¯†à®Ÿà¯à®•à¯à®•à®µà¯à®®à¯.",
+       "COLOUR_RANDOM_TITLE": "தறà¯à®ªà¯‹à®•à¯à®•à¯ à®¨à®¿à®±à®®à¯",
+       "COLOUR_RANDOM_TOOLTIP": "தறà¯à®ªà¯‹à®•à¯à®•à®¿à®²à¯ à®’ர௠நிறதà¯à®¤à¯ˆ à®¤à¯‡à®°à¯à®¨à¯à®¤à¯†à®Ÿà¯à®•à¯à®•à®µà¯à®®à¯.",
+       "COLOUR_RGB_TITLE": "நிறதà¯à®¤à¯à®Ÿà®©à¯",
+       "COLOUR_RGB_RED": "சிகபà¯à®ªà¯",
+       "COLOUR_RGB_GREEN": "பசà¯à®šà¯ˆ",
+       "COLOUR_RGB_BLUE": "நீலமà¯",
+       "COLOUR_RGB_TOOLTIP": "கà¯à®±à®¿à®ªà¯à®ªà®¿à®Ÿà¯à®Ÿ à®…ளவ௠சிவபà¯à®ªà¯,பசà¯à®šà¯ˆ à®®à®±à¯à®±à¯à®®à¯ à®¨à¯€à®²à®®à¯ à®šà¯‡à®°à¯à®¤à¯à®¤à¯ à®ªà¯à®¤à¯ à®¨à®¿à®±à®®à¯ à®‰à®°à¯à®µà®¾à®•à¯à®•à¯. à®®à®¤à®¿à®ªà¯à®ªà¯à®•à®³à¯ 0 à®®à¯à®¤à®²à¯ 100 à®µà®°à¯ˆ à®®à®Ÿà¯à®Ÿà¯à®®à¯‡ à®‡à®°à¯à®•à¯à®• à®µà¯‡à®£à¯à®Ÿà¯à®®à¯.",
+       "COLOUR_BLEND_TITLE": "கலபà¯à®ªà¯ (வணà¯à®£à®®à¯)",
+       "COLOUR_BLEND_COLOUR1": "நிறம௠1",
+       "COLOUR_BLEND_COLOUR2": "நிறம௠2",
+       "COLOUR_BLEND_RATIO": "விகிதமà¯",
+       "COLOUR_BLEND_TOOLTIP": "கொடà¯à®•à¯à®•à®ªà¯à®ªà®Ÿà¯à®Ÿ à®µà®¿à®•à®¤à®¤à¯à®¤à®¿à®²à¯ (0.0 - 1.0) à®‡à®°à¯ à®¨à®¿à®±à®™à¯à®•à®³à¯ˆ à®•à®²à®•à¯à®•à¯à®•.",
+       "CONTROLS_REPEAT_HELPURL": "https://en.wikipedia.org/wiki/For_loop",
+       "CONTROLS_REPEAT_TITLE": "'%1' à®®à¯à®°à¯ˆ à®¤à®¿à®°à¯à®®à¯à®ª à®šà¯†à®¯à¯",
+       "CONTROLS_REPEAT_INPUT_DO": "செயà¯à®•",
+       "CONTROLS_REPEAT_TOOLTIP": "கடà¯à®Ÿà®³à¯ˆà®•à®³à¯ˆ à®ªà®² à®®à¯à®°à¯ˆ à®šà¯†à®¯à¯à®¯",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "பலமà¯à®°à¯ˆ à®¤à®¿à®°à¯à®®à¯à®ª à®šà¯†à®¯à¯ (வரை)",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "பலமà¯à®°à¯ˆ à®¤à®¿à®°à¯à®®à¯à®ª à®šà¯†à®¯à¯ (à®®à¯à®Ÿà®¯à¯‡à®©à®¿à®²à¯)",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "மாறி à®‰à®£à¯à®®à¯ˆ à®†à®• à®‰à®³à¯à®³ à®µà®°à¯ˆ, à®•à®Ÿà¯à®Ÿà®³à¯ˆà®•à®³à¯ˆ à®‡à®¯à®•à¯à®•à¯",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "மாறி à®ªà¯Šà®¯à¯ à®†à®• à®‰à®³à¯à®³ à®µà®°à¯ˆ, à®•à®Ÿà¯à®Ÿà®³à¯ˆà®•à®³à¯ˆ à®‡à®¯à®•à¯à®•à¯",
+       "CONTROLS_FOR_TOOLTIP": "à®®à¯à®¤à®²à¯ à®Žà®£à¯à®£à®¿à®²à¯  à®‡à®°à¯à®¨à¯à®¤à¯ à®•à®Ÿà¯ˆ à®Žà®£à¯ à®µà®°à¯ˆ à®Žà®Ÿà¯à®¤à¯à®¤à¯à®•à¯à®•à¯Šà®³à¯à®³  à®’ர௠மாறியை à®µà¯ˆà®¤à¯à®¤à¯à®•à¯à®•à¯Šà®³à¯, à®•à¯à®±à®¿à®¤à¯à®¤ à®‡à®Ÿà¯ˆà®µà¯†à®³à®¿à®¯à¯ˆ  à®šà¯‡à®°à¯à®¤à¯à®¤à®µà®±à¯‡ à®¤à¯Šà®•à¯à®¤à®¿à®•à®³à¯ˆ à®šà¯†à®¯à®²à®¾à®•à¯à®•à¯.",
+       "CONTROLS_FOR_TITLE": "மாறியை à®µà¯ˆà®¤à¯à®¤à¯ à®Žà®£à¯à®£ %1 %2 à®‡à®²à¯ à®‡à®°à¯à®¨à¯à®¤à¯ %3 à®µà®°à¯ˆ %4-இன௠படியாக",
+       "CONTROLS_FOREACH_TITLE": "உரà¯à®ªà¯à®ªà®Ÿà®¿ à®’வà¯à®µà¯Šà®©à¯à®±à®¾à®• %1 à®ªà®Ÿà¯à®Ÿà®¿à®¯à®²à®¿à®²à¯ à®‰à®³à¯à®³ %2",
+       "CONTROLS_FOREACH_TOOLTIP": "படà¯à®Ÿà®¿à®¯à®²à®¿à®²à¯ à®‰à®³à¯à®³ à®‰à®°à¯à®ªà¯à®ªà®Ÿà®¿à®¯à®¿à®²à¯ à®’வà¯à®µà¯Šà®©à¯à®±à®¾à®•, à®®à®¾à®±à®¿à®¯à®¿à®©à¯ à®ªà¯Šà®°à¯à®³à¯ '%1' à®†à®•  à®µà¯ˆà®•à¯à®•.",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "மடகà¯à®•à¯ à®•à®Ÿà¯à®Ÿà®³à¯ˆà®¯à¯ˆ à®¨à®¿à®±à¯à®¤à¯à®¤à¯.",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "மடகà¯à®•à¯ à®•à®Ÿà¯à®Ÿà®³à¯ˆà®¯à®¿à®©à¯ à®…டà¯à®¤à¯à®¤ à®‡à®¯à®•à¯à®•à®¨à®¿à®²à¯ˆà®•à¯à®•à¯ à®šà¯†à®²à¯",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "மடகà¯à®•à¯ à®•à®Ÿà¯à®Ÿà®³à¯ˆà®¯à®¿à®©à¯ à®‡à®¯à®•à¯à®•à®¤à¯à®¤à®¿à®²à¯ à®‡à®°à¯à®¨à¯à®¤à¯ à®¨à®¿à®±à¯à®¤à¯à®¤à¯.",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "மடகà¯à®•à¯ à®•à®Ÿà¯à®Ÿà®³à¯ˆà®¯à®¿à®©à¯ à®®à¯€à®¤à®¿à®¯à¯ˆ à®µà®¿à®Ÿà¯à®Ÿà¯à®µà®¿à®Ÿà¯à®Ÿà¯ à®…டà¯à®¤à¯à®¤ à®‡à®¯à®•à¯à®•à®¨à®¿à®²à¯ˆà®•à¯à®•à¯ à®šà¯†à®²à¯",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "எசà¯à®šà®°à®¿à®•à¯à®•à¯ˆ : à®®à®Ÿà®•à¯à®•à¯ à®•à¯‚à®±à¯à®±à®¿à®²à¯ à®‡à®¨à¯à®¤ à®¤à¯Šà®•à¯à®¤à®¿ à®’ர௠மà¯à®±à¯ˆ à®®à®Ÿà¯à®Ÿà¯à®®à¯‡ à®šà¯†à®¯à®²à¯à®ªà®Ÿà¯à®¤à¯à®¤à®ªà¯ à®ªà®Ÿà®²à®¾à®®à¯.",
+       "CONTROLS_IF_TOOLTIP_1": "மாறி à®‰à®£à¯à®®à¯ˆ à®†à®• à®‰à®³à¯à®³ à®µà®°à¯ˆ, à®•à®Ÿà¯à®Ÿà®³à¯ˆà®•à®³à¯ˆ à®‡à®¯à®•à¯à®•à¯",
+       "CONTROLS_IF_TOOLTIP_2": "மாறி à®‰à®£à¯à®®à¯ˆ à®†à®• à®‰à®³à¯à®³ à®µà®°à¯ˆ, à®•à®Ÿà¯à®Ÿà®³à¯ˆà®•à®³à¯ˆ à®‡à®¯à®•à¯à®•à¯. à®…லà¯à®²à®¤à¯ à®®à®±à¯à®± (அடà¯à®¤à¯à®¤) à®•à®Ÿà¯à®Ÿà®³à¯ˆà®•à®³à¯ˆ à®‡à®¯à®•à¯à®•à¯.",
+       "CONTROLS_IF_TOOLTIP_3": "மாறி à®‰à®£à¯à®®à¯ˆ à®†à®• à®‰à®³à¯à®³ à®µà®°à¯ˆ, à®•à®Ÿà¯à®Ÿà®³à¯ˆà®•à®³à¯ˆ à®¤à¯Šà®•à¯à®ªà¯à®ªà¯ à®‡à®¯à®•à¯à®•à¯. à®…லà¯à®²à®¤à¯ à®®à®±à¯à®± (அடà¯à®¤à¯à®¤) à®•à®Ÿà¯à®Ÿà®³à¯ˆà®•à®³à¯ˆ à®¤à¯Šà®•à¯à®ªà¯à®ªà¯ à®‡à®¯à®•à¯à®•à¯.",
+       "CONTROLS_IF_TOOLTIP_4": "மாறி à®‰à®£à¯à®®à¯ˆ à®†à®• à®‰à®³à¯à®³ à®µà®°à¯ˆ, à®•à®Ÿà¯à®Ÿà®³à¯ˆà®•à®³à¯ˆ à®¤à¯Šà®•à¯à®ªà¯à®ªà¯ à®‡à®¯à®•à¯à®•à¯. à®…லà¯à®²à®¤à¯ à®®à®±à¯à®± (அடà¯à®¤à¯à®¤) à®•à®Ÿà¯à®Ÿà®³à¯ˆà®•à®³à¯ˆ à®¤à¯Šà®•à¯à®ªà¯à®ªà¯ à®‡à®¯à®•à¯à®•à¯. à®‡à®°à®£à¯à®Ÿà¯à®®à¯ à®‡à®²à¯à®²à¯ˆ à®Žà®©à¯à®±à®¾à®²à¯ à®•à®Ÿà¯ˆà®šà®¿ à®¤à¯Šà®•à¯à®ªà¯à®ªà¯ à®‡à®¯à®•à¯à®•à¯.",
+       "CONTROLS_IF_MSG_IF": "எனிலà¯",
+       "CONTROLS_IF_MSG_ELSEIF": "இலà¯à®²à¯ˆà®†à®©à®¾à®²à¯",
+       "CONTROLS_IF_MSG_ELSE": "இலà¯à®²à¯ˆà®¯à¯†à®©à®¿à®²à¯",
+       "CONTROLS_IF_IF_TOOLTIP": "கடà¯à®Ÿà®³à¯ˆà®•à®³à¯ˆ à®¤à¯Šà®•à¯à®ªà¯à®ªà¯ à®¤à®¿à®°à¯à®¤à¯à®¤à¯à®¤à®®à¯ à®šà¯†à®¯à¯",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "ஆனால௠தொகà¯à®ªà¯à®ªà®¿à®±à¯à®•à¯ à®¨à®¿à®ªà®¨à¯à®¤à®©à¯ˆ à®šà¯‡à®°à¯à®•à¯à®•",
+       "CONTROLS_IF_ELSE_TOOLTIP": "ஆனால௠தொகà¯à®ªà¯à®ªà®¿à®±à¯à®•à¯ à®µà®¿à®¤à®¿à®µà®¿à®²à®•à¯à®•à¯ à®•à®¾à®ªà¯à®ªà¯ˆ à®šà¯‡à®°à¯à®•à¯à®•",
+       "LOGIC_COMPARE_HELPURL": "https://en.wikipedia.org/wiki/Inequality_(mathematics)",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "இரணà¯à®Ÿà¯ à®®à®¾à®±à®¿à®¯à¯à®®à¯ à®ˆà®Ÿà®¾à®©à®¾à®²à¯, à®®à¯†à®¯à¯ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯.",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "இரணà¯à®Ÿà¯ à®®à®¾à®±à®¿à®¯à¯à®®à¯ à®ˆà®Ÿà®¾à®•à®¾à®µà®¿à®Ÿà¯à®Ÿà®¾à®²à¯, à®®à¯†à®¯à¯ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯.",
+       "LOGIC_COMPARE_TOOLTIP_LT": "à®®à¯à®¤à®²à¯ à®‰à®³à¯à®³à¯€à®Ÿà¯ à®‡à®°à®£à¯à®Ÿà®¾à®µà®¤à¯ˆà®µà®¿à®Ÿ à®•à¯à®±à¯ˆà®µà®¾à®• à®‡à®°à¯à®¨à¯à®¤à®¾à®²à¯, à®®à¯†à®¯à¯ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯.",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "à®®à¯à®¤à®²à¯ à®‰à®³à¯à®³à¯€à®Ÿà¯ à®‡à®°à®£à¯à®Ÿà®¾à®µà®¤à¯ˆà®µà®¿à®Ÿ à®•à¯à®±à¯ˆà®µà®¾à®• à®…லà¯à®² à®šà®®à®®à®¾à®• à®‡à®°à¯à®¨à¯à®¤à®¾à®²à¯, à®®à¯†à®¯à¯ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯",
+       "LOGIC_COMPARE_TOOLTIP_GT": "à®®à¯à®¤à®²à¯ à®‰à®³à¯à®³à¯€à®Ÿà¯ à®‡à®°à®£à¯à®Ÿà®¾à®µà®¤à¯ˆà®µà®¿à®Ÿ à®…திகமாக à®‡à®°à¯à®¨à¯à®¤à®¾à®²à¯, à®®à¯†à®¯à¯ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯.",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "à®®à¯à®¤à®²à¯ à®‰à®³à¯à®³à¯€à®Ÿà¯ à®‡à®°à®£à¯à®Ÿà®¾à®µà®¤à¯ˆà®µà®¿à®Ÿ à®…திகமாக à®…லà¯à®² à®šà®®à®®à®¾à®• à®‡à®°à¯à®¨à¯à®¤à®¾à®²à¯, à®®à¯†à®¯à¯ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯.",
+       "LOGIC_OPERATION_TOOLTIP_AND": "இரணà¯à®Ÿà¯ à®®à®¾à®±à®¿à®¯à¯à®®à¯ à®®à¯†à®¯à¯ à®†à®©à®¾à®²à¯, à®®à¯†à®¯à¯ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯.",
+       "LOGIC_OPERATION_AND": "மறà¯à®±à¯à®®à¯",
+       "LOGIC_OPERATION_TOOLTIP_OR": "à®à®¤à¯‡à®©à¯à®®à¯ à®’ர௠மதிபà¯à®ªà¯ à®®à¯†à®¯à¯ à®†à®©à®¾à®²à¯, à®®à¯†à®¯à¯ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯",
+       "LOGIC_OPERATION_OR": "அலà¯à®²à®¤à¯",
+       "LOGIC_NEGATE_TITLE": "%1 à®‡à®²à¯à®²à¯ˆ",
+       "LOGIC_NEGATE_TOOLTIP": "மெய௠ஆனாலà¯, à®ªà¯Šà®¯à¯ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯. à®ªà¯Šà®¯à¯ à®†à®©à®¾à®²à¯, à®®à¯†à®¯à¯ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯.",
+       "LOGIC_BOOLEAN_TRUE": "மெயà¯",
+       "LOGIC_BOOLEAN_FALSE": "பொயà¯",
+       "LOGIC_BOOLEAN_TOOLTIP": "மெயà¯, à®…லà¯à®²à®¤à¯ à®ªà¯Šà®¯à¯ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯.",
+       "LOGIC_NULL": "பூஜியமà¯",
+       "LOGIC_NULL_TOOLTIP": "பூஜியம௠பினà¯à®•à¯Šà®Ÿà¯",
+       "LOGIC_TERNARY_CONDITION": "சோதனை",
+       "LOGIC_TERNARY_IF_TRUE": "மெயà¯à®¯à¯†à®©à®¿à®²à¯",
+       "LOGIC_TERNARY_IF_FALSE": "பொயà¯à®¯à¯†à®©à®¿à®²à¯",
+       "LOGIC_TERNARY_TOOLTIP": "'test' à®‰à®³à¯à®³ à®¨à®¿à®ªà®¨à¯à®¤à®©à¯ˆà®¯à¯ˆ à®šà®°à®¿à®ªà®¾à®°à¯à®•à¯à®•à®µà¯à®®à¯, à®¨à®¿à®ªà®¨à¯à®¤à®©à¯ˆ à®®à¯†à®¯à¯à®¯à®¾à®©à®¾à®²à¯,'if true'வை  à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯à®•à¯à®•à¯à®®à¯ à®‡à®²à¯à®²à¯ˆà®¯à¯†à®©à®¿à®²à¯  'if false'வை  à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯à®•à¯à®•à¯à®®à¯.",
+       "MATH_NUMBER_HELPURL": "https://ta.wikipedia.org/wiki/%E0%AE%8E%E0%AE%A3%E0%AF%8D",
+       "MATH_NUMBER_TOOLTIP": "ஒர௠எணà¯.",
+       "MATH_ARITHMETIC_HELPURL": "https://ta.wikipedia.org/wiki/%E0%AE%8E%E0%AE%A3%E0%AF%8D%E0%AE%95%E0%AE%A3%E0%AE%BF%E0%AE%A4%E0%AE%AE%E0%AF%8D",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "இர௠எணà¯à®•à®³à®¿à®©à¯ à®•à¯‚டà¯à®Ÿà¯ˆ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "இர௠எணà¯à®•à®³à®¿à®©à¯ à®•à®´à®¿à®ªà¯à®ªà¯ˆ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "இர௠எணà¯à®•à®³à®¿à®©à¯ à®ªà¯†à®°à¯à®•à¯à®•à®²à¯ˆ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "இர௠எணà¯à®•à®³à®¿à®©à¯ à®µà®•à¯à®¤à¯à®¤à®²à¯ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "à®®à¯à®¤à®²à¯ à®‰à®³à¯à®³à¯€à®Ÿà¯ à®‡à®°à®£à¯à®Ÿà®¾à®µà®¤à¯ à®Žà®£à¯ à®…ளவான à®…டà¯à®•à¯à®•à¯ à®ªà¯†à®°à¯à®•à¯à®•à¯ˆ à®•à®£à®¿à®¤à¯à®¤à¯ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯.",
+       "MATH_SINGLE_HELPURL": "https://ta.wikipedia.org/wiki/%E0%AE%B5%E0%AE%B0%E0%AF%8D%E0%AE%95%E0%AF%8D%E0%AE%95%E0%AE%AE%E0%AF%82%E0%AE%B2%E0%AE%AE%E0%AF%8D",
+       "MATH_SINGLE_OP_ROOT": "வரà¯à®•à¯à®•à®®à¯‚லமà¯",
+       "MATH_SINGLE_TOOLTIP_ROOT": "ஒர௠எணà¯à®£à®¿à®©à¯ à®µà®°à¯à®•à¯à®•à®®à¯‚லதà¯à®¤à¯ˆà®¤à¯ à®¤à®°à¯à®®à¯.",
+       "MATH_SINGLE_OP_ABSOLUTE": "தனிதà¯à®¤",
+       "MATH_SINGLE_TOOLTIP_ABS": "ஒர௠எணà¯à®£à®¿à®©à¯ à®¤à®©à®¿à®¤à¯à®¤ à®®à®¤à®¿à®ªà¯à®ªà¯ˆ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯",
+       "MATH_SINGLE_TOOLTIP_NEG": "ஒர௠எணà¯à®£à®¿à®©à¯ à®Žà®¤à®¿à®°à¯à®®à®±à¯ˆ à®®à®¤à®¿à®ªà¯à®ªà¯ˆ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯",
+       "MATH_SINGLE_TOOLTIP_LN": "ஒர௠எணà¯à®£à®¿à®©à¯ (இயறà¯à®•à¯ˆ) à®®à®Ÿà®•à¯à®•à¯ˆ à®®à®¤à®¿à®ªà¯à®ªà¯ˆ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯.",
+       "MATH_SINGLE_TOOLTIP_LOG10": "ஒர௠எணà¯à®£à®¿à®©à¯ (10) à®®à®Ÿà®•à¯à®•à¯ˆ à®®à®¤à®¿à®ªà¯à®ªà¯ˆ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯.",
+       "MATH_SINGLE_TOOLTIP_EXP": "e-இன௠எண௠அடà¯à®•à¯à®•à¯  à®ªà¯†à®°à¯à®•à¯à®•à¯ˆ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯.",
+       "MATH_SINGLE_TOOLTIP_POW10": "10-இன௠எண௠அடà¯à®•à¯à®•à¯  à®ªà¯†à®°à¯à®•à¯à®•à¯ˆ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯.",
+       "MATH_TRIG_HELPURL": "https://ta.wikipedia.org/wiki/%E0%AE%AE%E0%AF%81%E0%AE%95%E0%AF%8D%E0%AE%95%E0%AF%8B%E0%AE%A3%E0%AE%B5%E0%AE%BF%E0%AE%AF%E0%AE%B2%E0%AF%8D_%E0%AE%9A%E0%AE%BE%E0%AE%B0%E0%AF%8D%E0%AE%AA%E0%AF%81%E0%AE%95%E0%AE%B3%E0%AF%8D",
+       "MATH_TRIG_TOOLTIP_SIN": "டிகிரீ à®šà¯ˆà®©à¯ à®®à®¤à®¿à®ªà¯à®ªà¯ˆ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯.",
+       "MATH_TRIG_TOOLTIP_COS": "டிகிரீ à®•à¯‹à®šà¯ˆà®©à¯ à®®à®¤à®¿à®ªà¯à®ªà¯ˆ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯",
+       "MATH_TRIG_TOOLTIP_TAN": "டிகிரீ à®Ÿà¯‡à®žà¯à®šà®©à¯à®Ÿà¯ à®®à®¤à®¿à®ªà¯à®ªà¯ˆ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯",
+       "MATH_TRIG_TOOLTIP_ASIN": "மதிபà¯à®ªà®¿à®©à¯ à®¨à¯‡à®°à¯à®®à®¾à®±à¯ à®šà¯ˆà®©à¯ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯",
+       "MATH_TRIG_TOOLTIP_ACOS": "மதிபà¯à®ªà®¿à®©à¯ à®¨à¯‡à®°à¯à®®à®¾à®±à¯ à®•à¯‹à®šà¯ˆà®©à¯ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯",
+       "MATH_TRIG_TOOLTIP_ATAN": "மதிபà¯à®ªà®¿à®©à¯ à®¨à¯‡à®°à¯à®®à®¾à®±à¯ à®Ÿà¯‡à®žà¯à®šà®©à¯à®Ÿà¯ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯",
+       "MATH_CONSTANT_HELPURL": "https://ta.wikipedia.org/wiki/%E0%AE%95%E0%AE%A3%E0%AE%BF%E0%AE%A4_%E0%AE%AE%E0%AE%BE%E0%AE%B1%E0%AE%BF%E0%AE%B2%E0%AE%BF",
+       "MATH_CONSTANT_TOOLTIP": "ஒர௠மாறிலியை à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯ Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), or âˆž (à®®à¯à®Ÿà®¿à®µà®¿à®²à®¿).",
+       "MATH_IS_EVEN": "2-ஆல௠பகà¯à®®à¯",
+       "MATH_IS_ODD": "2-ஆல௠பகாத",
+       "MATH_IS_PRIME": "எண௠பகாதà¯à®¤à®©à®¿à®¤à®¾à®©à®¤à®¾?",
+       "MATH_IS_WHOLE": "எண௠மà¯à®´à¯à®¤à®¾à®©à®¤à®¾?",
+       "MATH_IS_POSITIVE": "எண௠நேரà¯à®® à®®à¯à®´à¯à®¤à®¾à®©à®¤à®¾  ?",
+       "MATH_IS_NEGATIVE": "எண௠கà¯à®±à¯ˆà®µà®¾à®©à®¤à®¾  ?",
+       "MATH_IS_DIVISIBLE_BY": "ஆல௠வகà¯à®ªà®Ÿà®•à¯ à®•à¯‚டியதà¯",
+       "MATH_CHANGE_HELPURL": "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter",
+       "MATH_CHANGE_TITLE": "மாறà¯à®±à¯ %1 à®®à¯‚லம௠%2",
+       "MATH_CHANGE_TOOLTIP": "எணà¯à®©à¯ˆ '%1' à®®à®¤à®¿à®ªà¯à®ªà®¾à®²à¯ à®•à¯‚டà¯à®Ÿà¯,",
+       "MATH_ROUND_HELPURL": "https://en.wikipedia.org/wiki/Rounding",
+       "MATH_ROUND_TOOLTIP": "மேலà¯/கீழ௠வழி à®®à¯à®´à¯ à®Žà®£à¯ à®†à®• à®®à®¾à®±à¯à®±à¯.",
+       "MATH_ROUND_OPERATOR_ROUND": "à®®à¯à®´à¯à®®à¯ˆà®¯à®¾à®•à¯à®•à¯",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "மேலà¯à®µà®´à®¿ à®®à¯à®´à¯à®®à¯ˆà®¯à®¾à®•à¯à®•à¯",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "கீழà¯à®µà®´à®¿ à®®à¯à®´à¯à®®à¯ˆà®¯à®¾à®•à¯à®•à¯",
+       "MATH_ONLIST_OPERATOR_SUM": "படà¯à®Ÿà®¿à®¯à®²à®¿à®©à¯ à®•à¯‚டà¯à®Ÿà¯",
+       "MATH_ONLIST_TOOLTIP_SUM": "à®®à¯à®´à¯ à®ªà®Ÿà¯à®Ÿà®¿à®¯à®²à®¿à®©à¯ à®Žà®£à¯ à®šà®®à®®à¯ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯,",
+       "MATH_ONLIST_OPERATOR_MIN": "படà¯à®Ÿà®¿à®¯à®²à®¿à®©à¯ à®•à®±à¯ˆà®µà¯",
+       "MATH_ONLIST_TOOLTIP_MIN": "படà¯à®Ÿà®¿à®¯à®²à®¿à®©à¯ à®•à¯à®±à¯ˆà®µà®¾à®© à®Žà®£à¯ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯",
+       "MATH_ONLIST_OPERATOR_MAX": "படà¯à®Ÿà®¿à®¯à®²à®¿à®©à¯ à®®à®¿à®•à¯à®¤à®¿",
+       "MATH_ONLIST_TOOLTIP_MAX": "படà¯à®Ÿà®¿à®¯à®²à®¿à®©à¯ à®…திகமான à®Žà®£à¯ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "படà¯à®Ÿà®¿à®¯à®²à®¿à®©à¯ à®Žà®£à¯ à®šà®°à®¾à®šà®°à®¿",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "à®®à¯à®´à¯ à®ªà®Ÿà¯à®Ÿà®¿à®¯à®²à®¿à®©à¯ à®Žà®£à¯ à®šà®°à®¾à®šà®°à®¿ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "படà¯à®Ÿà®¿à®¯à®²à®¿à®©à¯ à®¨à®Ÿà¯à®•à¯à®•à¯‹à®Ÿà¯",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "படà¯à®Ÿà®¿à®¯à®²à®¿à®©à¯ à®¨à®Ÿà¯à®•à¯à®•à¯‹à®Ÿà¯ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯",
+       "MATH_ONLIST_OPERATOR_MODE": "படà¯à®Ÿà®¿à®¯à®²à®¿à®©à¯ à®ªà¯Šà®¤à¯à®µà®•à¯ˆà®•à®³à¯",
+       "MATH_ONLIST_TOOLTIP_MODE": "படà¯à®Ÿà®¿à®¯à®²à®¿à®©à¯ à®ªà¯Šà®¤à¯à®µà®•à¯ˆà®•à®³à¯ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "படà¯à®Ÿà®¿à®¯à®²à®¿à®©à¯ à®¨à®¿à®¯à®®à®µà®¿à®²à®•à®²à¯",
+       "MATH_ONLIST_TOOLTIP_STD_DEV": "படà¯à®Ÿà®¿à®¯à®²à®¿à®©à¯ à®¨à®¿à®¯à®®à®µà®¿à®²à®•à®²à¯ˆ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯.",
+       "MATH_ONLIST_OPERATOR_RANDOM": "ஒர௠படà¯à®Ÿà®¿à®¯à®²à®¿à®²à¯ à®‡à®°à¯à®¨à¯à®¤à¯ à®šà¯€à®°à®±à¯à®± à®‰à®°à¯à®ªà¯à®ªà®Ÿà®¿",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "ஒர௠படà¯à®Ÿà®¿à®¯à®²à®¿à®²à¯ à®‡à®°à¯à®¨à¯à®¤à¯ à®šà¯€à®°à®±à¯à®± à®‰à®°à¯à®ªà¯à®ªà®Ÿà®¿ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯",
+       "MATH_MODULO_HELPURL": "https://en.wikipedia.org/wiki/Modulo_operation",
+       "MATH_MODULO_TITLE": "%1 Ã· %2ன௠மீதி",
+       "MATH_MODULO_TOOLTIP": "இரணà¯à®Ÿà¯ à®Žà®£à¯à®•à®³à¯ à®®à¯‚லம௠பிரிவில௠இரà¯à®¨à¯à®¤à¯ à®Žà®žà¯à®šà®¿à®¯à®¤à¯ˆ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯.",
+       "MATH_CONSTRAIN_TITLE": "%1 à®®à®¾à®±à®¿à®¯à¯ˆ %2 à®®à¯‡à®²à¯à®®à¯ %3 à®•à¯€à®´à¯à®®à¯ à®µà®±à¯à®ªà¯à®±à¯à®¤à¯à®¤à¯",
+       "MATH_CONSTRAIN_TOOLTIP": "எண௠மாறி à®µà¯€à®šà¯à®•à®³à®®à¯ à®‰à®³à¯à®³à®Ÿà®™à¯à®•à®¿à®¯ à®µà®¾à®±à¯ à®µà®±à¯à®ªà¯à®±à¯à®¤à¯à®¤à¯",
+       "MATH_RANDOM_INT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_INT_TITLE": "வீசà¯à®•à®³à®®à¯ %1 à®‡à®²à¯ à®‡à®°à¯à®¨à¯à®¤à¯ %2 à®‰à®³à¯à®³à®Ÿà®™à¯à®•à®¿à®¯ à®µà®¾à®±à¯  à®šà¯€à®°à®±à¯à®± à®Žà®£à¯",
+       "MATH_RANDOM_INT_TOOLTIP": "வீசà¯à®•à®³à®®à¯ à®‡à®²à¯ à®‡à®°à¯à®¨à¯à®¤ (உளà¯à®³à®Ÿà®™à¯à®•à®¿à®¯) à®µà®¾à®±à¯  à®šà¯€à®°à®±à¯à®± à®Žà®£à¯ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯.",
+       "MATH_RANDOM_FLOAT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "சீரறà¯à®± à®Žà®£à¯ à®ªà®¿à®©à¯à®©à®®à¯",
+       "MATH_RANDOM_FLOAT_TOOLTIP": "சீரறà¯à®± à®Žà®£à¯ à®ªà®¿à®©à¯à®©à®®à¯, 0.0 à®‡à®²à¯ à®‡à®°à¯à®¨à¯à®¤à¯ 1.0 à®‰à®Ÿà¯à®ªà®Ÿ, à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯.",
+       "TEXT_TEXT_HELPURL": "https://ta.wikipedia.org/wiki/%E0%AE%9A%E0%AE%B0%E0%AE%AE%E0%AF%8D_%28%E0%AE%95%E0%AE%A3%E0%AE%BF%E0%AE%A9%E0%AE%BF%E0%AE%AF%E0%AE%BF%E0%AE%AF%E0%AE%B2%E0%AF%8D%29",
+       "TEXT_TEXT_TOOLTIP": "எழà¯à®¤à¯à®¤à¯, à®šà®°à®®à¯, à®šà¯Šà®²à¯, à®…லà¯à®²à®¤à¯ à®‰à®°à¯ˆ à®šà¯Šà®±à¯à®¤à¯Šà®Ÿà®°à¯.",
+       "TEXT_JOIN_TITLE_CREATEWITH": "வைதà¯à®¤à¯ à®‰à®°à¯ˆ à®‰à®°à¯à®µà®¾à®•à¯à®•",
+       "TEXT_JOIN_TOOLTIP": "பல à®ªà¯Šà®°à¯à®Ÿà¯à®•à®³à¯ˆ à®’னà¯à®±à®¾à®• à®šà¯‡à®°à¯à®µà®¤à®©à¯ à®®à¯‚லம௠உரை à®‰à®°à¯à®µà®¾à®•à¯à®•.",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "சேரà¯à®•à¯à®•",
+       "TEXT_CREATE_JOIN_TOOLTIP": "தொகà¯à®ªà¯à®ªà¯ à®‰à®°à¯ˆ à®¤à®¿à®°à¯à®¤à¯à®¤à¯à®¤à®®à¯ à®šà¯†à®¯à¯",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "உரà¯à®ªà®Ÿà®¿à®¯à¯ˆ à®‰à®°à¯ˆà®¯à®¿à®²à¯ à®šà¯‡à®°à¯à®•à¯à®•.",
+       "TEXT_APPEND_TITLE": "இநà¯à®¤ à®®à®¾à®±à®¿à®¯à®¿à®±à¯à®•à¯ %1 à®‰à®°à¯ˆ à®šà¯‡à®°à¯à®•à¯à®• %2",
+       "TEXT_APPEND_TOOLTIP": "'%1' à®®à®¾à®±à®¿à®¯à®¿à®²à¯ à®‰à®°à¯ˆà®¯à¯ˆ à®šà¯‡à®°à¯",
+       "TEXT_LENGTH_TITLE": "%1ன௠நீளமà¯",
+       "TEXT_LENGTH_TOOLTIP": "தொடரில௠உளà¯à®³ à®Žà®´à¯à®¤à¯à®¤à¯à®•à¯à®•à®³à®¿à®©à¯ (இடைவெளிகளையà¯à®®à¯ à®šà¯‡à®°à¯à®¤à¯à®¤à¯) à®Žà®£à¯à®£à®¿à®•à¯ˆà®¯à¯ˆ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯.",
+       "TEXT_ISEMPTY_TITLE": "%1 à®•à®¾à®²à®¿à®¯à®¾à®©à®¤à¯",
+       "TEXT_ISEMPTY_TOOLTIP": "காலியானத௠எனà¯à®±à®¾à®²à¯ à®®à¯†à®¯à¯ à®®à®¤à®¿à®ªà¯à®ªà¯ˆ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯",
+       "TEXT_INDEXOF_TOOLTIP": "இரணà¯à®Ÿà®¾à®µà®¤à¯ à®‰à®°à¯ˆà®¯à®¿à®²à¯ à®®à¯à®¤à®²à¯ à®‰à®°à¯ˆà®¯à®¿à®©à¯ à®®à¯à®¤à®²à¯/கடை à®‡à®°à¯à®•à¯à®•à¯ˆ à®•à¯à®±à®¿à®Žà®£à¯à®£à¯ˆ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯.",
+       "TEXT_INDEXOF_TITLE": "உரையில௠%1 %2 %3",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "உரையில௠மà¯à®¤à®²à¯ à®¤à¯‹à®±à¯à®± à®‡à®Ÿà®¤à¯à®¤à¯ˆ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯",
+       "TEXT_INDEXOF_OPERATOR_LAST": "உரையில௠கடைசி à®¤à¯‹à®±à¯à®± à®‡à®Ÿà®¤à¯à®¤à¯ˆ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯",
+       "TEXT_CHARAT_FROM_START": "# à®Žà®´à¯à®¤à¯à®¤à¯ˆ à®Žà®Ÿà¯",
+       "TEXT_CHARAT_FROM_END": "à®®à¯à®Ÿà®¿à®µà®¿à®²à¯ à®‡à®°à¯à®¨à¯à®¤à¯ # à®Žà®´à¯à®¤à¯à®¤à¯ˆ à®Žà®Ÿà¯",
+       "TEXT_CHARAT_FIRST": "à®®à¯à®¤à®²à¯ à®Žà®´à¯à®¤à¯à®¤à¯ˆà®ªà¯ à®ªà¯†à®±à¯à®•",
+       "TEXT_CHARAT_LAST": "இறà¯à®¤à®¿ à®Žà®´à¯à®¤à¯à®¤à¯ˆà®ªà¯ à®ªà¯†à®±à¯à®•",
+       "TEXT_CHARAT_RANDOM": "சமவாயà¯à®ªà¯à®ªà¯à®³à¯à®³ à®Žà®´à¯à®¤à¯à®¤à¯ˆ à®Žà®Ÿà¯",
+       "TEXT_CHARAT_TOOLTIP": "கூறிய à®‡à®Ÿà®¤à¯à®¤à®¿à®²à¯ à®‰à®³à¯à®³ à®Žà®´à¯à®¤à¯à®¤à¯ˆ à®Žà®Ÿà¯",
+       "TEXT_GET_SUBSTRING_TOOLTIP": "உரையின௠கà¯à®±à®¿à®¯à®¿à®Ÿà®ªà¯à®ªà®Ÿà¯à®Ÿ à®šà®°à®®à¯ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "உரையிலà¯",
+       "TEXT_GET_SUBSTRING_START_FROM_START": "-இல௠உடà¯à®•à®£à®®à¯ # à®Žà®´à¯à®¤à¯à®¤à®¿à®²à®¿à®°à¯à®¨à¯à®¤à¯",
+       "TEXT_GET_SUBSTRING_START_FROM_END": "-இல௠உடà¯à®•à®£à®®à¯ à®•à®Ÿà¯ˆà®šà®¿ # à®Žà®´à¯à®¤à¯à®¤à®¿à®²à®¿à®°à¯à®¨à¯à®¤à¯",
+       "TEXT_GET_SUBSTRING_START_FIRST": "-இல௠உடà¯à®•à®£à®®à¯ à®®à¯à®¤à®²à¯ à®Žà®´à¯à®¤à¯à®¤à®¿à®²à®¿à®°à¯à®¨à¯à®¤à¯",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "எழà¯à®¤à¯à®¤à¯ # à®µà®°à¯ˆ",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "எழà¯à®¤à¯à®¤à¯ à®•à®Ÿà¯ˆà®šà®¿à®¯à®¿à®²à¯ à®‡à®°à¯à®¨à¯à®¤à¯ # à®µà®°à¯ˆ",
+       "TEXT_GET_SUBSTRING_END_LAST": "கடைசி à®Žà®´à¯à®¤à¯à®¤à¯  à®µà®°à¯ˆ",
+       "TEXT_CHANGECASE_TOOLTIP": "உரை à®¨à®•à®²à¯ à®Žà®Ÿà¯à®¤à¯à®¤à¯ à®ªà¯Šà®°à®¿à®¯/சினà¯à®© à®Žà®´à¯à®¤à¯à®¤à¯ à®®à®¾à®±à¯à®±à®¿ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯.",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "பொரிய à®Žà®´à¯à®¤à¯à®¤à¯à®•à¯à®•à¯ à®®à®¾à®±à¯à®±à¯",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "சினà¯à®© à®Žà®´à¯à®¤à¯à®¤à¯à®•à¯à®•à¯ à®®à®¾à®±à¯à®±à¯",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": "தலைபà¯à®ªà¯ à®Žà®´à¯à®¤à¯à®¤à¯à®•à¯à®•à¯ à®®à®¾à®±à¯à®±à¯",
+       "TEXT_TRIM_TOOLTIP": "உரை à®¨à®•à®²à¯ à®Žà®Ÿà¯à®¤à¯à®¤à¯ à®‡à®Ÿà¯ˆà®µà¯†à®³à®¿ à®Žà®´à¯à®¤à¯à®¤à¯ à®¨à¯€à®•à¯à®•à®¿ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯.",
+       "TEXT_TRIM_OPERATOR_BOTH": "இர௠பகà¯à®•à®¤à¯à®¤à®¿à®²à¯à®®à¯ à®‡à®Ÿà¯ˆà®µà¯†à®³à®¿ à®Žà®´à¯à®¤à¯à®¤à¯ à®¨à¯‡à®°à¯à®¤à¯à®¤à®¿ à®šà¯†à®¯à¯.",
+       "TEXT_TRIM_OPERATOR_LEFT": "இடத௠பகà¯à®•à®¤à¯à®¤à®¿à®²à¯ à®‡à®Ÿà¯ˆà®µà¯†à®³à®¿ à®Žà®´à¯à®¤à¯à®¤à¯ à®¨à¯‡à®°à¯à®¤à¯à®¤à®¿ à®šà¯†à®¯à¯.",
+       "TEXT_TRIM_OPERATOR_RIGHT": "வலத௠பகà¯à®•à®¤à¯à®¤à®¿à®²à¯ à®‡à®Ÿà¯ˆà®µà¯†à®³à®¿ à®Žà®´à¯à®¤à¯à®¤à¯ à®¨à¯‡à®°à¯à®¤à¯à®¤à®¿ à®šà¯†à®¯à¯.",
+       "TEXT_PRINT_TITLE": "%1 à®…சà¯à®šà®¿à®Ÿà¯à®•",
+       "TEXT_PRINT_TOOLTIP": "மதிபà¯à®ªà¯ˆ à®…சà¯à®šà®¿à®Ÿà¯",
+       "TEXT_PROMPT_TYPE_TEXT": "உரை à®•à¯Šà®£à¯à®Ÿà¯ à®‰à®°à¯ˆ-உளà¯à®³à¯€à®Ÿà¯ à®¤à¯‚ணà¯à®Ÿà¯à®¤à®²à¯ˆ à®•à®¾à®Ÿà¯à®Ÿà¯",
+       "TEXT_PROMPT_TYPE_NUMBER": "உரை à®•à¯Šà®£à¯à®Ÿà¯ à®Žà®£à¯-உளà¯à®³à¯€à®Ÿà¯ à®¤à¯‚ணà¯à®Ÿà¯à®¤à®²à¯ˆ à®•à®¾à®Ÿà¯à®Ÿà¯",
+       "TEXT_PROMPT_TOOLTIP_NUMBER": "எணà¯-உளà¯à®³à¯€à®Ÿà¯ à®¤à¯‚ணà¯à®Ÿà¯à®¤à®²à¯ˆ à®•à®¾à®Ÿà¯à®Ÿà¯",
+       "TEXT_PROMPT_TOOLTIP_TEXT": "உரை-உளà¯à®³à¯€à®Ÿà¯ à®¤à¯‚ணà¯à®Ÿà¯à®¤à®²à¯ˆ à®•à®¾à®Ÿà¯à®Ÿà¯",
+       "LISTS_CREATE_EMPTY_TITLE": "காலி à®ªà®Ÿà¯à®Ÿà®¿à®¯à®²à¯ à®‰à®°à¯à®µà®¾à®•à¯à®•",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "காலி à®ªà®Ÿà¯à®Ÿà®¿à®¯à®²à¯ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯.",
+       "LISTS_CREATE_WITH_TOOLTIP": "இவà¯à®µà®³à®µà¯ à®‰à®°à¯à®ªà¯à®ªà®Ÿà®¿à®•à®³à¯ˆ à®•à¯Šà®£à¯à®Ÿà¯ à®µà¯‡à®£à¯à®Ÿà¯à®®à®¾à®²à¯à®®à¯ à®’ர௠படà¯à®Ÿà®¿à®¯à®²à¯ˆ à®‰à®°à¯à®µà®¾à®•à¯à®•à¯.",
+       "LISTS_CREATE_WITH_INPUT_WITH": "வைதà¯à®¤à¯ à®ªà®Ÿà¯à®Ÿà®¿à®¯à®²à¯ à®‰à®°à¯à®µà®¾à®•à¯à®•",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "படà¯à®Ÿà®¿à®¯à®²à¯",
+       "LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "கடà¯à®Ÿà®³à¯ˆà®•à®³à¯ˆ à®¤à¯Šà®•à¯à®ªà¯à®ªà¯ à®¤à®¿à®°à¯à®¤à¯à®¤à¯à®¤à®®à¯ à®šà¯†à®¯à¯",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "படà¯à®Ÿà®¿à®¯à®²à®¿à®²à¯ à®’ர௠பொரà¯à®³à¯ˆ à®šà¯‡à®°à¯à®•à¯à®•.",
+       "LISTS_REPEAT_TOOLTIP": "கொடà¯à®•à¯à®• à®ªà®Ÿà¯à®Ÿ à®®à®¤à®¿à®ªà¯à®ªà¯ˆ, à®•à¯‚றியà¯à®³à¯à®³ à®¤à®Ÿà®µà¯ˆà®•à®³à¯ à®‰à®³à¯à®³à®µà®¾à®±à¯ à®’ர௠படà¯à®Ÿà®¿à®¯à®²à¯ˆ à®‰à®°à¯à®µà®¾à®•à¯à®•à¯",
+       "LISTS_REPEAT_TITLE": "உரà¯à®ªà¯à®ªà®Ÿà®¿ %1-யை, %2 à®¤à®Ÿà®µà¯ˆà®•à®³à¯ à®‰à®³à¯à®³à®µà®¾à®±à¯ à®’ர௠படà¯à®Ÿà®¿à®¯à®²à¯ˆ à®‰à®°à¯à®µà®¾à®•à¯à®•à¯",
+       "LISTS_LENGTH_TITLE": "%1 à®‡à®©à¯ à®¨à¯€à®³à®®à¯",
+       "LISTS_LENGTH_TOOLTIP": "படà¯à®Ÿà®¿à®¯à®²à¯ à®¨à¯€à®³à®®à¯ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯",
+       "LISTS_ISEMPTY_TITLE": "%1 à®•à®¾à®²à®¿à®¯à®¾à®©à®¤à¯",
+       "LISTS_ISEMPTY_TOOLTIP": "படà¯à®Ÿà®¿à®¯à®²à¯ à®•à®¾à®²à®¿à®¯à®¾à®©à®¤à¯ à®®à¯†à®¯à¯ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯,",
+       "LISTS_INLIST": "படà¯à®Ÿà®¿à®¯à®²à®¿à®²à¯ à®‰à®³à¯à®³",
+       "LISTS_INDEX_OF_FIRST": "உரையில௠மà¯à®¤à®²à¯ à®¤à¯‹à®±à¯à®± à®‡à®Ÿà®¤à¯à®¤à¯ˆ à®•à®¾à®Ÿà¯à®Ÿà¯",
+       "LISTS_INDEX_OF_LAST": "உரையில௠கடைசி à®¤à¯‹à®±à¯à®± à®‡à®Ÿà®¤à¯à®¤à¯ˆ à®•à®¾à®Ÿà¯à®Ÿà¯",
+       "LISTS_INDEX_OF_TOOLTIP": "படà¯à®Ÿà®¿à®¯à®²à®¿à®²à¯ à®®à®¤à®¿à®ªà¯à®ªà®¿à®©à¯ à®®à¯à®¤à®²à¯, à®•à®Ÿà¯ˆà®šà®¿ à®¤à¯‹à®±à¯à®± à®‡à®Ÿà®¤à¯à®¤à¯ˆ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯. à®•à®¾à®£à®¾à®µà®¿à®Ÿà¯à®Ÿà®¾à®²à¯ %1 à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯.",
+       "LISTS_GET_INDEX_GET": "எடà¯",
+       "LISTS_GET_INDEX_GET_REMOVE": "பெறà¯à®±à¯ à®¨à¯€à®•à¯à®•à¯à®•",
+       "LISTS_GET_INDEX_REMOVE": "நீகà¯à®•à¯à®•",
+       "LISTS_GET_INDEX_FROM_END": "கடைசியில௠இரà¯à®¨à¯à®¤à¯ #",
+       "LISTS_GET_INDEX_FIRST": "à®®à¯à®¤à®²à¯",
+       "LISTS_GET_INDEX_LAST": "கடைசி",
+       "LISTS_GET_INDEX_RANDOM": "à®à®¤à¯‹ à®’னà¯à®±à¯",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "%1 à®®à¯à®¤à®²à¯ à®‰à®°à¯à®ªà¯à®ªà®Ÿà®¿.",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "%1 à®•à®Ÿà¯ˆà®šà®¿ à®‰à®°à¯à®ªà¯à®ªà®Ÿà®¿.ி",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "படà¯à®Ÿà®¿à®¯à®²à®¿à®²à¯  à®‡à®Ÿà®¤à¯à®¤à®¿à®²à¯ à®‰à®°à¯à®ªà¯à®ªà®Ÿà®¿ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "படà¯à®Ÿà®¿à®¯à®²à¯ à®®à¯à®¤à®²à¯ à®‰à®°à¯à®ªà¯à®ªà®Ÿà®¿à®¯à¯ˆ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯,",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "படà¯à®Ÿà®¿à®¯à®²à¯ à®•à®Ÿà¯ˆà®šà®¿ à®‰à®°à¯à®ªà¯à®ªà®Ÿà®¿à®¯à¯ˆ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯,",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "படà¯à®Ÿà®¿à®¯à®²à¯ à®šà¯€à®°à®±à¯à®± à®‰à®°à¯à®ªà¯à®ªà®Ÿà®¿à®¯à¯ˆ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯,",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "படà¯à®Ÿà®¿à®¯à®²à®¿à®²à¯ à®•à¯‡à®Ÿà¯à®Ÿ à®‡à®Ÿà®¤à¯à®¤à®¿à®©à¯ à®‰à®°à¯à®ªà¯à®ªà®Ÿà®¿ à®¨à¯€à®•à¯à®•à®¿ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "படà¯à®Ÿà®¿à®¯à®²à¯ à®®à¯à®¤à®²à¯ à®‰à®°à¯à®ªà¯à®ªà®Ÿà®¿à®¯à¯ˆ à®¨à¯€à®•à¯à®•à®¿à®¯à®ªà®¿à®©à¯ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯,",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "படà¯à®Ÿà®¿à®¯à®²à¯ à®‡à®±à¯à®¤à®¿ à®‰à®°à¯à®ªà¯à®ªà®Ÿà®¿à®¯à¯ˆ à®¨à¯€à®•à¯à®•à®¿à®¯à®ªà®¿à®©à¯ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯,",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "படà¯à®Ÿà®¿à®¯à®²à¯ à®šà¯€à®°à®±à¯à®± à®‰à®°à¯à®ªà¯à®ªà®Ÿà®¿à®¯à¯ˆ à®¨à¯€à®•à¯à®•à®¿à®¯à®ªà®¿à®©à¯ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯,",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "படà¯à®Ÿà®¿à®¯à®²à®¿à®²à¯ à®•à¯‡à®Ÿà¯à®Ÿ à®‡à®Ÿà®¤à¯à®¤à®¿à®©à¯ à®‰à®°à¯à®ªà¯à®ªà®Ÿà®¿ à®¨à¯€à®•à¯à®•à¯.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "படà¯à®Ÿà®¿à®¯à®²à®¿à®²à¯ à®®à¯à®¤à®²à¯ à®‰à®°à¯à®ªà¯à®ªà®Ÿà®¿à®¯à¯ˆ à®¨à¯€à®•à¯à®•à¯",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "படà¯à®Ÿà®¿à®¯à®²à®¿à®²à¯ à®•à®Ÿà¯ˆà®šà®¿ à®‰à®°à¯à®ªà¯à®ªà®Ÿà®¿à®¯à¯ˆ à®¨à¯€à®•à¯à®•à¯",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "படà¯à®Ÿà®¿à®¯à®²à¯ à®šà¯€à®°à®±à¯à®± à®‰à®°à¯à®ªà¯à®ªà®Ÿà®¿à®¯à¯ˆ à®¨à¯€à®•à¯à®•à¯,",
+       "LISTS_SET_INDEX_SET": "நியமி",
+       "LISTS_SET_INDEX_INSERT": "அவà¯à®µà®¿à®Ÿà®¤à¯à®¤à®¿à®²à¯ à®¨à¯à®´à¯ˆ",
+       "LISTS_SET_INDEX_INPUT_TO": "இதà¯à®ªà¯Šà®²",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "படà¯à®Ÿà®¿à®¯à®²à®¿à®²à¯ à®•à¯‡à®Ÿà¯à®Ÿ à®‡à®Ÿà®¤à¯à®¤à®¿à®²à¯ à®‰à®°à¯à®ªà¯à®ªà®Ÿà®¿à®¯à¯ˆ à®µà¯ˆ.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "மதிபà¯à®ªà¯ˆ à®ªà®Ÿà¯à®Ÿà®¿à®¯à®²à®¿à®²à¯ à®®à¯à®¤à®²à¯ à®‰à®°à¯à®ªà¯à®ªà®Ÿà®¿à®¯à®¿à®²à¯ à®µà¯ˆ",
+       "LISTS_SET_INDEX_TOOLTIP_SET_LAST": "மதிபà¯à®ªà¯ˆ à®ªà®Ÿà¯à®Ÿà®¿à®¯à®²à®¿à®²à¯ à®•à®Ÿà¯ˆà®šà®¿ à®‰à®°à¯à®ªà¯à®ªà®Ÿà®¿à®¯à®¿à®²à¯ à®µà¯ˆ",
+       "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "மதிபà¯à®ªà¯ˆ à®ªà®Ÿà¯à®Ÿà®¿à®¯à®²à®¿à®²à¯ à®šà¯€à®°à®±à¯à®± à®‰à®°à¯à®ªà¯à®ªà®Ÿà®¿à®¯à®¿à®²à¯ à®µà¯ˆ",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "படà¯à®Ÿà®¿à®¯à®²à®¿à®²à¯ à®•à¯‡à®Ÿà¯à®Ÿ à®‡à®Ÿà®¤à¯à®¤à®¿à®²à¯ à®‰à®°à¯à®ªà¯à®ªà®Ÿà®¿à®¯à¯ˆ à®¨à¯à®´à¯ˆ.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "மதிபà¯à®ªà¯ˆ à®ªà®Ÿà¯à®Ÿà®¿à®¯à®²à®¿à®©à¯ à®®à¯à®¤à®²à®¿à®²à¯ à®¨à¯à®´à¯ˆ",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "மதிபà¯à®ªà¯ˆ à®ªà®Ÿà¯à®Ÿà®¿à®¯à®²à®¿à®©à¯ à®®à¯à®Ÿà®¿à®µà®¿à®²à¯ à®¨à¯à®´à¯ˆ",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "மதிபà¯à®ªà¯ˆ à®ªà®Ÿà¯à®Ÿà®¿à®¯à®²à®¿à®©à¯ à®šà¯€à®±à¯à®± à®‡à®Ÿà®¤à¯à®¤à®¿à®²à¯ à®¨à¯à®´à¯ˆ",
+       "LISTS_GET_SUBLIST_START_FROM_START": "பகà¯à®¤à®¿ à®ªà®Ÿà¯à®Ÿà®¿à®¯à®²à¯ˆ # à®‡à®Ÿà®¤à¯à®¤à®¿à®²à¯ à®‡à®°à¯à®¨à¯à®¤à¯ à®•à¯Šà®Ÿà¯",
+       "LISTS_GET_SUBLIST_START_FROM_END": "# à®•à®Ÿà¯ˆà®šà®¿à®¯à®¿à®²à¯ à®‡à®°à¯à®¨à¯à®¤à¯ à®ªà®•à¯à®¤à®¿ à®ªà®Ÿà¯à®Ÿà®¿à®¯à®²à¯ˆ à®•à¯Šà®Ÿà¯",
+       "LISTS_GET_SUBLIST_START_FIRST": "# à®®à¯à®¤à®²à®¿à®²à¯ à®‡à®°à¯à®¨à¯à®¤à¯ à®ªà®•à¯à®¤à®¿ à®ªà®Ÿà¯à®Ÿà®¿à®¯à®²à¯ˆ à®•à¯Šà®Ÿà¯",
+       "LISTS_GET_SUBLIST_END_FROM_START": "# à®µà®°à¯ˆ",
+       "LISTS_GET_SUBLIST_END_FROM_END": "à®®à¯à®Ÿà®¿à®µà®¿à®²à¯ à®‡à®°à¯à®¨à¯à®¤à¯ # à®µà®°à¯ˆ",
+       "LISTS_GET_SUBLIST_END_LAST": "à®®à¯à®Ÿà®¿à®µà¯ à®µà®°à¯ˆ",
+       "LISTS_GET_SUBLIST_TOOLTIP": "கà¯à®±à®¿à®ªà¯à®ªà®Ÿà¯à®Ÿ à®ªà®•à¯à®¤à®¿ à®ªà®Ÿà¯à®Ÿà®¿à®¯à®²à®¿à®©à¯ à®¨à®•à®²à¯ˆ à®•à¯Šà®Ÿà¯",
+       "LISTS_SPLIT_LIST_FROM_TEXT": "உரையில௠இரà¯à®¨à¯à®¤à¯ à®ªà®Ÿà¯à®Ÿà®¿à®¯à®²à¯ à®‰à®°à¯à®µà®¾à®•à¯à®•à¯",
+       "LISTS_SPLIT_TEXT_FROM_LIST": "படà¯à®Ÿà®¿à®¯à®²à®¿à®²à¯ à®‡à®°à¯à®¨à¯à®¤à¯ à®‰à®°à¯ˆ à®‰à®°à¯à®µà®¾à®•à¯à®•à¯",
+       "LISTS_SPLIT_WITH_DELIMITER": "தடை à®Žà®´à¯à®¤à¯à®¤à¯",
+       "LISTS_SPLIT_TOOLTIP_SPLIT": "உரையை à®µà®°à®®à¯à®ªà¯à®šà¯ à®šà¯à®Ÿà¯à®Ÿà®¿ à®•à¯Šà®£à¯à®Ÿà¯ à®¤à¯à®£à¯à®Ÿà®¾à®•à¯à®•à¯.",
+       "LISTS_SPLIT_TOOLTIP_JOIN": "வரமà¯à®ªà¯à®šà¯ à®šà¯à®Ÿà¯à®Ÿà®¿à®¯à¯ˆ à®‡à®Ÿà¯ˆà®¯à®¿à®²à¯ à®‡à®Ÿà¯à®Ÿà¯, à®‰à®°à¯ˆà®¤à¯à®£à¯à®Ÿà¯à®•à®³à¯ˆ à®’னà¯à®±à¯ à®šà¯‡à®°à¯",
+       "VARIABLES_GET_TOOLTIP": "இநà¯à®¤ à®®à®¾à®±à®¿ à®®à®¤à®¿à®ªà¯à®ªà¯ˆ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯",
+       "VARIABLES_GET_CREATE_SET": "'%1 à®¨à®¿à®¯à®®à®¿' à®‰à®°à¯à®µà®¾à®•à¯à®•à¯",
+       "VARIABLES_SET": "நியமி %1 à®‡à®¨à¯à®¤ à®®à®¾à®±à®¿à®¯à®¿à®±à¯à®•à¯ %2",
+       "VARIABLES_SET_TOOLTIP": "மாறியின௠மதிபà¯à®ªà®¾à®¯à¯ à®‰à®³à¯à®³à¯€à®Ÿà¯à®Ÿà¯ à®®à®¤à®¿à®ªà¯à®ªà¯ˆ à®µà¯ˆ.",
+       "VARIABLES_SET_CREATE_GET": "'எட௠%1' à®‰à®°à¯à®µà®¾à®•à¯à®•à¯",
+       "PROCEDURES_DEFNORETURN_TITLE": "இநà¯à®¤ à®®à®¾à®±à®¿à®¯à®¿à®±à¯à®•à¯",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "கடà¯à®Ÿà®³à¯ˆà®•à®³à¯ à®šà¯†à®¯à¯à®¯ (இடமà¯à®•à®¾à®Ÿà¯à®Ÿà®¿)",
+       "PROCEDURES_BEFORE_PARAMS": "இதà¯à®¤à¯à®Ÿà®©à¯",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "இதà¯à®¤à¯à®Ÿà®©à¯:",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "வெளியீட௠இலà¯à®²à®¾à®¤ à®’ர௠செயலà¯à®ªà®¾à®Ÿà¯ à®‰à®°à¯à®µà®¾à®•à¯à®•à¯à®•à®¿à®±à®¤à¯",
+       "PROCEDURES_DEFRETURN_RETURN": "பினà¯à®•à¯Šà®Ÿà¯",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "வெளியீட௠உளà¯à®³ à®’ர௠செயலà¯à®ªà®¾à®Ÿà¯ à®‰à®°à¯à®µà®¾à®•à¯à®•à¯à®•à®¿à®±à®¤à¯",
+       "PROCEDURES_ALLOW_STATEMENTS": "வாகà¯à®•à¯à®®à¯‚லஙà¯à®•à®³à¯ˆ à®…னà¯à®®à®¤à®¿à®•à¯à®•à®µà¯à®®à¯",
+       "PROCEDURES_DEF_DUPLICATE_WARNING": "எசà¯à®šà®°à®¿à®•à¯à®•à¯ˆ: à®‡à®¨à¯à®¤ à®šà¯†à®¯à®±à¯à®•à¯‚றில௠போலியான à®…ளபà¯à®°à¯à®•à¯à®•à®³à¯ à®‰à®£à¯à®Ÿà¯.",
+       "PROCEDURES_CALLNORETURN_HELPURL": "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29",
+       "PROCEDURES_CALLNORETURN_TOOLTIP": "பயனரின௠'%1' à®šà¯†à®¯à®±à¯à®•à¯‚à®±à¯à®±à¯ˆ à®“டà¯à®Ÿà¯.",
+       "PROCEDURES_CALLRETURN_HELPURL": "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29",
+       "PROCEDURES_CALLRETURN_TOOLTIP": "பயனரின௠'%1' à®šà¯†à®¯à®±à¯à®•à¯‚à®±à¯à®±à¯ˆ à®“டà¯à®Ÿà®¿ à®µà®°à¯à®®à¯ à®µà¯†à®³à®¿à®¯à¯€à®Ÿà¯à®Ÿà¯ˆ à®ªà®¯à®©à¯à®ªà®Ÿà¯à®¤à¯à®¤à¯.",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "உளà¯à®³à¯€à®Ÿà¯à®•à®³à¯",
+       "PROCEDURES_MUTATORCONTAINER_TOOLTIP": "செயலà¯à®•à¯‚à®±à¯à®•à®³à®¿à®©à¯ à®‰à®³à¯à®³à¯€à®Ÿà¯à®Ÿà¯ˆ à®šà¯‡à®°à¯, à®¨à¯€à®•à¯à®•à¯, or à®®à¯€à®£à¯à®Ÿà¯à®®à¯ à®µà®°à®¿à®šà¯ˆ à®šà¯†à®¯à¯.",
+       "PROCEDURES_MUTATORARG_TITLE": "பெயரை à®‰à®³à¯à®³à®¿à®Ÿà¯à®•:",
+       "PROCEDURES_MUTATORARG_TOOLTIP": "செயலà¯à®•à¯‚à®±à¯à®•à¯à®•à¯ à®’ர௠உளà¯à®³à¯€à®Ÿà¯à®Ÿà¯ˆ à®šà¯‡à®°à¯.",
+       "PROCEDURES_HIGHLIGHT_DEF": "நிரலà¯à®ªà®¾à®•à®¤à¯à®¤à¯ˆ à®µà®¿à®³à®•à¯à®•à®®à®¾à®• à®•à®¾à®Ÿà¯à®Ÿà¯",
+       "PROCEDURES_CREATE_DO": "'%1' à®‰à®°à¯à®µà®¾à®•à¯à®•à¯à®•",
+       "PROCEDURES_IFRETURN_TOOLTIP": "மதிபà¯à®ªà¯ à®‰à®£à¯à®®à¯ˆà®¯à®¾à®©à®¾à®²à¯, à®‡à®°à®£à¯à®Ÿà®¾à®µà®¤à¯ à®®à®¤à®¿à®ªà¯à®ªà¯ˆ à®ªà®¿à®©à¯à®•à¯Šà®Ÿà¯."
+}
diff --git a/js/msg/json/tcy.json b/js/msg/json/tcy.json
new file mode 100644 (file)
index 0000000..cb71d39
--- /dev/null
@@ -0,0 +1,326 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Vishwanatha Badikana",
+                       "Bharathesha Alasandemajalu",
+                       "Kiranpoojary",
+                       "BHARATHESHA ALASANDEMAJALU"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "ವಸà³à²¤à³",
+       "TODAY": "ಇನಿ",
+       "DUPLICATE_BLOCK": "ನಕಲà³",
+       "ADD_COMMENT": "ಟಿಪà³à²ªà²£à²¿ à²¸à³‡à²°à³à²¸à²²à³†",
+       "REMOVE_COMMENT": "ಟಿಪà³à²ªà²£à²¿à²¨à³ à²¦à³†à²¤à³à²¤à³â€Œà²¦à³ à²¬à³à²¡à³à²²à³†",
+       "EXTERNAL_INPUTS": "ಪಿದಯಿದ à²ªà²°à²¿à²ªà³",
+       "INLINE_INPUTS": "ಉಳಸಾಲà³â€à²¦ à²‰à²³à²ªà²°à²¿à²ªà³",
+       "DELETE_BLOCK": "ಬà³à²²à²¾à²•à³â€à²¨à³ à²®à²¾à²œà²¾à²µà³",
+       "DELETE_X_BLOCKS": "%1 à²¬à³à²²à²¾à²•à³â€à²²à³†à²¨à³ à²®à²¾à²œà²¾à²µà³",
+       "DELETE_ALL_BLOCKS": "ಮಾತ %1 à²¬à³à²²à²¾à²•à³â€à²²à³†à²¨à³ à²¦à³†à²¤à³à²¤à³â€Œà²¦à³ à²¬à³à²¡à³Šà²¡à³†?",
+       "CLEAN_UP": "ಬà³à²²à²¾à²•à³â€à²²à³†à²¨à³ à²¸à³à²µà³Šà²šà³à²šà³Š à²®à²²à³à²ªà³à²²à³†",
+       "COLLAPSE_BLOCK": "ಎಲà³à²¯à³† à²®à²²à³à²¤à³â€Œà²¦à³ à²¤à²¡à³†à²²à³†",
+       "COLLAPSE_ALL": "ಮಾತಾ à²¤à²¡à³†à²•à³à²²à³†à²¨ à²®à²¾à²¹à²¿à²¤à²¿à²¨à³ à²Žà²²à³à²¯ à²®à²²à³à²ªà³",
+       "EXPAND_BLOCK": "ಬà³à²²à²¾à²•à³â€à²¦ à²®à²¾à²¹à²¿à²¤à²¿à²¨à³ à²ªà²°à²¡à²¾à²µà³",
+       "EXPAND_ALL": "ಮಾತಾ à²¤à²¡à³†à²•à³à²²à³†à²¨ à²®à²¾à²¹à²¿à²¤à²¿à²¨à³ à²ªà²°à²¡à²¾à²µà³",
+       "DISABLE_BLOCK": "ಬà³à²²à²¾à²•à³â€à²¨à³ à²¦à³†à²¤à³à²¤à³â€Œà²ªà²¾à²¡à³",
+       "ENABLE_BLOCK": "ತಡೆನೠಸಕà³à²°à²¿à²¯à³Š à²®à²²à³à²ªà³",
+       "HELP": "ಸಕಾಯೊ",
+       "UNDO": "ದà³à²‚ಬà³à²¦à²²à³†à²•à³Š",
+       "REDO": "ಕà³à²¡ à²®à²²à³à²ªà³",
+       "CHANGE_VALUE_TITLE": "ಮೌಲà³à²¯à³Šà²¨à³ à²¬à²¦à²²à³ à²®à²²à³à²ªà³",
+       "RENAME_VARIABLE": "ವà³à²¯à²¤à³à²¯à²¯à³Šà²—ೠಕà³à²¡à³Šà²° à²ªà³à²¦à²°à³ à²¦à³€à²²à³†",
+       "RENAME_VARIABLE_TITLE": "ಮಾತಾ '%1' à²µà³à²¯à²¤à³à²¯à²¯à³Šà²²à³†à²¨ à²ªà³à²¦à²°à³â€Œà²¨à³ à²¨à³†à²•à³à²•à³ à²¬à²¦à²²à³ à²®à²²à³à²ªà³à²²à³†:",
+       "NEW_VARIABLE": "ವà³à²¯à²¤à³à²¯à²¯à³Šà²¨à³ à²‰à²‚ಡೠಮಲà³à²ªà³à²²à³†",
+       "NEW_VARIABLE_TITLE": "ಪೊಸ à²µà³à²¯à²¤à³à²¯à²¯à³Šà²¦ à²ªà³à²¦à²°à³:",
+       "VARIABLE_ALREADY_EXISTS": "'%1' à²ªà²¨à³à²ªà²¿ à²ªà³à²¦à²°à³â€Œà²¦ à²µà³à²¯à²¤à³à²¯à²¯à³Š à²¦à³à²‚ಬೆ à²…ಸà³à²¤à²¿à²¤à³à²µà³Šà²¡à³ à²‰à²‚ಡà³.",
+       "DELETE_VARIABLE_CONFIRMATION": "'%2' à²µà³à²¯à²¤à³à²¯à²¯à³Šà²¦ %1 à²‰à²ªà²¯à³‹à²—ೊಲೆನೠಮಾಜಾವೊಡೆ?",
+       "DELETE_VARIABLE": "'%1' à²µà³à²¯à²¤à³à²¯à²¯à³Šà²¨à³ à²®à²¾à²œà²¾à²²à³†",
+       "COLOUR_PICKER_HELPURL": "https://en.wikipedia.org/wiki/ಬಣà³à²£à³Š",
+       "COLOUR_PICKER_TOOLTIP": "ಬಣà³à²£à³Š à²ªà²Ÿà³Šà²¡à³à²¦à³ à²’ಂಜಿ à²¬à²£à³à²£à³Šà²¨à³ à²†à²¯à³à²•à³† à²®à²²à³à²ªà³à²²à³†.",
+       "COLOUR_RANDOM_TITLE": "ಒವà³à²µà³‡ à²’ಂಜಿ à²¬à²£à³à²£à³Š",
+       "COLOUR_RANDOM_TOOLTIP": "ಒವà³à²µà²¾à²‚ಡಲ à²’ಂಜಿ à²¬à²£à³à²£à³Šà²¨à³ à²†à²¯à³à²•à³† à²®à²²à³à²ªà³à²²à³†",
+       "COLOUR_RGB_TITLE": "ಬಣà³à²£à³Šà²¦",
+       "COLOUR_RGB_RED": "ಕೆಂಪà³",
+       "COLOUR_RGB_GREEN": "ಪಚà³à²šà³†",
+       "COLOUR_RGB_BLUE": "ನೀಲಿ",
+       "COLOUR_RGB_TOOLTIP": "ತೊಜಪಾಯಿನ à²ªà³à²°à²®à²¾à²£à³Šà²¦ à²•à³†à²‚ಪà³, à²ªà²šà³à²šà³† à²¬à³Šà²•à³à²• à²¨à³€à²²à²¿ à²¬à²£à³à²£à³Šà²¡à³à²¦à³ à²’ಂಜಿ à²¬à²£à³à²£à³Šà²¨à³ à²‰à²‚ಡೠಮಲà³à²ªà³à²²à³†. à²®à²¾à²¤à²¾ à²®à³Œà²²à³à²¯à³Šà²²à³ 0 à²¬à³à²•à³à²•à³Š 100 à²¤ à²¨à²¡à³à²Ÿà³† à²‡à²ªà³à²ªà³Šà²¡à³.",
+       "COLOUR_BLEND_TITLE": "ಬೆರಕà³à²•à³† à²®à²²à³à²ªà³",
+       "COLOUR_BLEND_COLOUR1": "ಬಣà³à²£à³Š à³§(ಒಂಜಿ)",
+       "COLOUR_BLEND_COLOUR2": "ಬಣà³à²£à³Š à³¨(ರಡà³à²¡à³)",
+       "COLOUR_BLEND_RATIO": "ಅನà³à²ªà²¾à²¤à³Š",
+       "COLOUR_BLEND_TOOLTIP": "ಕೊರಿನ à²…ನà³à²ªà²¾à²¤à³Šà²¡à³ (0.0- 1.0) à²°à²¡à³à²¡à³ à²¬à²£à³à²£à³Šà²²à³†à²¨à³ à²¬à³†à²°à²•à³† à²®à²²à³à²ªà³à²‚ಡà³.",
+       "CONTROLS_REPEAT_HELPURL": "https://en.wikipedia.org/wiki/For_loop",
+       "CONTROLS_REPEAT_TITLE": " %1 à²¸à²°à³à²¤à²¿ à²•à³‚ಡೊರ à²®à²²à³à²ªà³",
+       "CONTROLS_REPEAT_INPUT_DO": "ಮಲà³à²ªà³à²²à³†",
+       "CONTROLS_REPEAT_TOOLTIP": "ಕೆಲವೠಪಾತೆರೊಲೆನೠಮಸà³à²¤à³ à²¸à²°à³à²¤à²¿ à²®à²²à³à²ªà³",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "ಉಂದೠನಿಜ à²†à²‚ಡ à²•à³à²¡à³Šà²° à²®à²²à³à²ªà³:",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "ಉಂದೠನಿಜ à²†à²ªà²¿à²²à³†à²•à³Š à²•à³à²¡à³Šà²° à²®à²²à³à²ªà³:",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "ಮೌಲà³à²¯ à²¨à²¿à²œ à²†à²¦à²¿à²¤à³à²¤à³à²‚ಡ à²•à³†à²²à²µà³ à²ªà²¾à²¤à³†à²°à³Šà²²à³†à²¨à³ à²®à²²à³à²ªà³",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "ಮೌಲà³à²¯ à²¤à²ªà³à²ªà³ à²†à²¦à²¿à²¤à³à²¤à³à²‚ಡ à²•à³†à²²à²µà³ à²ªà²¾à²¤à³†à²°à³Šà²²à³†à²¨à³ à²®à²²à³à²ªà³",
+       "CONTROLS_FOR_TOOLTIP": "ನಿರà³à²¦à²¿à²¸à³à²Ÿà³Š à²®à²¦à³à²¯à²‚ತರೊದ à²®à³‚ಲಕೊ à²¦à³†à²¤à³Šà²‚ದೠ'%1' à²µà³à²¯à²¤à³à²¯à²¯à³Šà²¡à³ à²¸à³à²°à³à²¤à³à²¤ à²…ಂಕೆಡà³à²¦à³ à²•à²¡à³†à²¤à³à²¤ à²…ಂಕೆ à²®à³à²Ÿà³à²Ÿà²¦ à²®à³Œà²²à³à²¯à³Šà²¨à³ à²¦à³†à²¤à³à²¤à³Šà²¨à²¾à²µà³ à²¬à³Šà²•à³à²• à²¨à²¿à²—ಂಟೠಮಲà³à²¤à²¿à²¨ à²¤à²¡à³†à²•à³à²²à³†à²¨à³ à²®à²²à³à²ªà³",
+       "CONTROLS_FOR_TITLE": "%2 à²¡à³à²¦à³ %3 à²®à³à²Ÿ %4 à²¸à²°à³à²¤à²¿ %1 à²¦ à²’ಟà³à²Ÿà³à²—ೠಗೆನà³à²ªà³",
+       "CONTROLS_FOREACH_TITLE": "%2 à²ªà²Ÿà³à²Ÿà²¿à²¡à³ à²ªà³à²°à²¤à²¿ à²’ಂಜಿ à²µà²¿à²¸à²¯ %1 à²—à³",
+       "CONTROLS_FOREACH_TOOLTIP": "ಒಂಜಿ à²ªà²Ÿà³à²Ÿà²¿à²¡à³ à²ªà³à²°à²¤à²¿ à²µà²¿à²¸à²¯à³Šà²—à³, '%1' à²µà³à²¯à²¤à³à²¯à²¾à²¯à³Šà²¨à³ à²µà²¿à²¸à²¯à³Šà²—ೠಜೋಡಾಲೆ, à²¬à³Šà²•à³à²• à²•à³†à²²à²µà³ à²ªà²¾à²¤à³†à²°à³Šà²²à³†à²¨à³ à²®à²²à³à²ªà³à²²à³†.",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "ಲೂಪೠಕಡಿಯà³à²¨à²¿",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "ಬೊಕà³à²•à²¦ à²²à³‚ಪೠಪà³à²¨à²°à²¾à²µà²°à³à²¤à²¨à³†à²¦à³Šà²Ÿà³à²Ÿà³à²—ೠದà³à²‚ಬರಿಲೆ",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "ಇತà³à²¤à²¿à²¨ à²²à³‚ಪà³â€à²¡à³à²¦à³ à²ªà²¦à²¿à²¯à²¿ à²¬à²²à³†",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "ಈ à²²à³‚ಪà³à²¨à³ à²…ರà³à²¦à³Šà²¡à³† à²¬à³à²¡à³à²¦à³ à²¬à³Šà²•à³à²• à²¨à²¨à²¤à³à²¤ à²ªà³à²¨à²°à²¾à²µà²°à³à²¤à²¨à³†à²—ೠದà³à²‚ಬರಿಲೆ",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "ಎಚà³à²šà²°à³Š: à²ˆ à²¤à²¡à³†à²¨à³ à²•à²¾à²²à²¿ à²’ಂಜಿ à²²à³‚ಪà³à²¦à³à²²à²¯à²¿ à²®à²¾à²¤à³à²° à²—ಳಸೊಲಿ.",
+       "CONTROLS_IF_TOOLTIP_1": "ಮೌಲà³à²¯ à²¨à²¿à²œ à²†à²¦à²¿à²¤à³à²¤à³à²‚ಡ à²•à³†à²²à²µà³ à²ªà²¾à²¤à³†à²°à³Šà²²à³†à²¨à³ à²®à²²à³à²ªà³",
+       "CONTROLS_IF_TOOLTIP_2": "ಮೌಲà³à²¯ à²¨à²¿à²œà²µà²¾à²¦à²¿à²¤à³à²¤à³â€Œà²‚ಡ, à²ªà²¾à²¤à³†à²°à³Šà²²à³†à²¨ à²¸à³à²°à³à²¤à³à²¤ à²¤à²¡à³† à²®à²²à³à²ªà³. à²‡à²œà³à²œà²¿à²‚ಡ à²ªà²¾à²¤à³†à²°à³Šà²²à³†à²¨ à²°à²¡à³à²¡à²¨à³† à²¤à²¡à³† à²®à²²à³à²ªà³.",
+       "CONTROLS_IF_TOOLTIP_3": "ಸà³à²°à³à²¤à³à²¤ à²®à³Œà²²à³à²¯ à²¨à²¿à²œà²µà²¾à²¦à²¿à²¤à³à²¤à³â€Œà²‚ಡ, à²ªà²¾à²¤à³†à²°à³Šà²²à³†à²¨ à²¸à³à²°à³à²¤à³à²¤ à²¤à²¡à³† à²®à²²à³à²ªà³. à²‡à²œà³à²œà²¿à²‚ಡ, à²°à²¡à³à²¡à²¨à³† à²®à³Œà²²à³à²¯ à²¨à²¿à²œà²µà²¾à²¦à²¿à²¤à³à²¤à³à²‚ಡ, à²ªà²¾à²¤à³†à²°à³Šà²²à³†à²¨ à²°à²¡à³à²¡à²¨à³† à²¤à²¡à³† à²®à²²à³à²ªà³.",
+       "CONTROLS_IF_TOOLTIP_4": "ಸà³à²°à³à²¤à³à²¤ à²®à³Œà²²à³à²¯à³Š à²¨à²¿à²œà²µà²¾à²¦à²¿à²¤à³à²¤à³â€Œà²‚ಡ, à²ªà²¾à²¤à³†à²°à³Šà²²à³†à²¨ à²¸à³à²°à³à²¤à³à²¤ à²¤à²¡à³† à²®à²²à³à²ªà³. à²‡à²œà³à²œà²¿à²‚ಡ, à²°à²¡à³à²¡à²¨à³†à²¦ à²®à³Œà²²à³à²¯ à²¨à²¿à²œà²µà²¾à²¦à²¿à²¤à³à²¤à³à²‚ಡ, à²ªà²¾à²¤à³†à²°à³Šà²²à³†à²¨ à²°à²¡à³à²¡à²¨à³† à²¤à²¡à³† à²®à²²à³à²ªà³. à²’ಂಜೇಲೆ à²’ವà³à²µà³‡ à²®à³Œà²²à³à²¯ à²¨à²¿à²œà²µà²¾à²¦à²¿à²¤à³à²¤à²¿à²œà²¿à²‚ಡ, à²ªà²¾à²¤à³†à²°à³Šà²²à³†à²¨ à²•à²¡à³†à²¤à³à²¤ à²¤à²¡à³† à²®à²²à³à²ªà³.",
+       "CONTROLS_IF_MSG_IF": "ಒಂಜಿ à²µà³‡à²²à³†",
+       "CONTROLS_IF_MSG_ELSEIF": "ಅತà³à²¤à²‚ಡ",
+       "CONTROLS_IF_MSG_ELSE": "ಅತà³à²¤à²‚ಡ",
+       "CONTROLS_IF_IF_TOOLTIP": "ಸೇರಾವà³, à²¦à³†à²¤à³à²¤à³â€Œ à²¬à³à²¡à³, à²…ತà³à²¤à²‚ಡ à²ˆ 'ಒಂಜಿ à²µà³‡à²²à³†' à²¤à²¡à³†à²¨à³ à²•à³à²¡ à²¸à²‚ರಚಣೆ à²®à²²à³à²ªà³†à²°à³† à²µà²¿à²­à²¾à²—ೊಲೆನೠಕà³à²¡ à²’ತà³à²¤à²°à³† à²®à²²à³à²ªà³à²²à³†.",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "'ಒಂಜಿ à²µà³‡à²²à³†' à²¤à²¡à³†à²•à³à²•à³ à²’ಂಜಿ à²¶à²°à³à²¤à²¨à³ à²¸à³‡à²°à²¾à²µà³",
+       "CONTROLS_IF_ELSE_TOOLTIP": "'ಒಂಜಿ à²µà³‡à²²à³†' à²¤à²¡à³†à²•à³à²•à³ à²’ಂಜಿ à²•à²¡à³†à²¤à³à²¤ à²®à²¾à²¤à³†à²¨à³à²²à²¾-ಪತà³à²¤à³ (catch-all) à²¶à²°à³à²¤à²¨à³ à²¸à³‡à²°à²¾à²µà³",
+       "IOS_OK": "ಸರಿ",
+       "IOS_CANCEL": "ವಜಾ à²®à²²à³à²ªà³à²²à³†",
+       "IOS_ERROR": "ದೋಷ",
+       "IOS_PROCEDURES_INPUTS": "ಇನà³â€Œà²ªà³à²Ÿà³â€Œà²²à³",
+       "IOS_PROCEDURES_ADD_INPUT": "+ à²‡à²¨à³â€Œà²ªà³à²Ÿà³ à²¸à³‡à²°à²¾à²²à³†",
+       "IOS_PROCEDURES_ALLOW_STATEMENTS": "ಹೇಳಿಕೆಗೠಅವಕಾಸೊ",
+       "IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR": "ಈ à²•à²¾à²°à³à²¯à³Šà²¡à³ à²¡à³à²ªà³à²²à²¿à²•à³‡à²Ÿà³ à²‡à²¨à³â€Œà²ªà³à²Ÿà³ à²‰à²‚ಡà³.",
+       "IOS_VARIABLES_ADD_VARIABLE": "+ à²µà³à²¯à²¤à³à²¯à²¯à³Šà²¨à³ à²¸à³‡à²°à²¾à²²à³†",
+       "IOS_VARIABLES_ADD_BUTTON": "ಸೇರಾಲೆ",
+       "IOS_VARIABLES_RENAME_BUTTON": "ಪೊಸ à²ªà³à²¦à²°à³",
+       "IOS_VARIABLES_DELETE_BUTTON": "ಮಾಜಾಲೆ",
+       "IOS_VARIABLES_VARIABLE_NAME": "ವà³à²¯à²¤à³à²¯à²¯à³Šà²¦ à²ªà³à²¦à²°à³",
+       "IOS_VARIABLES_EMPTY_NAME_ERROR": "ವà³à²¯à²¤à³à²¯à²¯à³Šà²¦ à²ªà³à²¦à²°à³â€Œà²¨à³ à²–ಾಲಿ à²¬à³à²¡à²¿à²¯à³†à²°à³† à²†à²ªà³à²œà²¿",
+       "LOGIC_COMPARE_HELPURL": "https://en.wikipedia.org/wiki/Inequality_(mathematics)",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "ರಡà³à²¦à³ à²‡à²¨à³â€Œà²ªà³à²Ÿà³â€Œà²²à²¾ à²¸à²® à²‡à²¤à³à²¤à³à²‚ಡ 'ನಿಜ'ನೠಪಿರಕೊರà³",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "ರಡà³à²¦à³ à²‡à²¨à³â€Œà²ªà³à²Ÿà³â€Œà²²à²¾ à²¸à²® à²…ತà³à²¤à²¾à²‚ಡ 'ನಿಜ'ನೠಪಿರಕೊರà³",
+       "LOGIC_COMPARE_TOOLTIP_LT": "ಸà³à²°à³à²¤à³à²¤ à²‡à²¨à³â€Œà²ªà³à²Ÿà³ à²°à²¡à³à²¡à²¨à³† à²‡à²¨à³â€Œà²ªà³à²Ÿà³â€Œà²¡à³à²¦à³ à²Žà²²à³à²¯ à²†à²¦à²¿à²¤à³à²¤à³à²‚ಡ, 'ನಿಜ'ನೠಪಿರಕೊರà³",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "ಸà³à²°à³à²¤à³à²¤ à²‡à²¨à³â€Œà²ªà³à²Ÿà³ à²°à²¡à³à²¡à²¨à³† à²‡à²¨à³â€Œà²ªà³à²Ÿà³â€Œà²¡à³à²¦à³ à²Žà²²à³à²¯ à²…ತà³à²¤à²‚ಡ à²…ಯಿಕà³à²•à³ à²¸à²® à²†à²¦à²¿à²¤à³à²¤à³à²‚ಡ, 'ನಿಜ'ನೠಪಿರಕೊರà³",
+       "LOGIC_COMPARE_TOOLTIP_GT": "ಸà³à²°à³à²¤à³à²¤ à²‡à²¨à³â€Œà²ªà³à²Ÿà³ à²°à²¡à³à²¡à²¨à³† à²‡à²¨à³â€Œà²ªà³à²Ÿà³â€Œà²¡à³à²¦à³ à²®à²²à³à²² à²†à²¦à²¿à²¤à³à²¤à³à²‚ಡ, 'ನಿಜ'ನೠಪಿರಕೊರà³",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "ಸà³à²°à³à²¤à³à²¤ à²‡à²¨à³â€Œà²ªà³à²Ÿà³ à²°à²¡à³à²¡à²¨à³† à²‡à²¨à³â€Œà²ªà³à²Ÿà³â€Œà²¡à³à²¦à³ à²®à²²à³à²² à²…ತà³à²¤à²‚ಡ à²…ಯಿಕà³à²•à³ à²¸à²® à²†à²¦à²¿à²¤à³à²¤à³à²‚ಡ, 'ನಿಜ'ನೠಪಿರಕೊರà³",
+       "LOGIC_OPERATION_TOOLTIP_AND": "ರಡà³à²¡à³â€Œà²²à²¾ à²‡à²¨à³â€Œà²ªà³à²Ÿà³ à²¨à²¿à²œ à²†à²¦à²¿à²¤à³à²¤à³à²‚ಡ, 'ನಿಜ'ನೠಪಿರಕೊರà³",
+       "LOGIC_OPERATION_AND": "ಬà³à²•à³à²•à³Š",
+       "LOGIC_OPERATION_TOOLTIP_OR": "ಒವà³à²µà²¾à²‚ಡಲ à²’ಂಜಿ à²‡à²¨à³â€Œà²ªà³à²Ÿà³ à²¨à²¿à²œ à²†à²‚ಡಲಾ, 'ನಿಜ'ನೠಪಿರಕೊರà³.",
+       "LOGIC_OPERATION_OR": "ಅತà³à²¤à²‚ಡ",
+       "LOGIC_NEGATE_TITLE": "%1 à²…ತà³à²¤à³",
+       "LOGIC_NEGATE_TOOLTIP": "ಇನà³â€Œà²ªà³à²Ÿà³ à²¸à³à²²à³à²²à²¾à²¦à²¿à²¤à³à²¤à³à²‚ಡ, 'ನಿಜ'ನೠಪಿರಕೊರà³. à²‡à²¨à³â€Œà²ªà³à²Ÿà³ à²¨à²¿à²œ à²†à²¦à²¿à²¤à³à²¤à³à²‚ಡ, 'ಸà³à²²à³à²²à³'ನೠಪಿರಕೊರà³.",
+       "LOGIC_BOOLEAN_TRUE": "ಸತà³à²¯à³Š",
+       "LOGIC_BOOLEAN_FALSE": "ಸà³à²²à³à²²à³",
+       "LOGIC_BOOLEAN_TOOLTIP": "ಒಂಜೆ à²¨à²¿à²œ à²…ತà³à²¤à²‚ಡ à²¸à³à²²à³à²²à³à²¨à³ à²ªà²¿à²°à²•à³Šà²°à³",
+       "LOGIC_NULL": "ಸೊನà³à²¨à³†",
+       "LOGIC_NULL_TOOLTIP": "ಸೊನà³à²¨à³†à²¨à³ à²ªà²¿à²°à²•à³Šà²°à³à²ªà³à²‚ಡà³",
+       "LOGIC_TERNARY_CONDITION": "ಪರೀಕà³à²·à³†",
+       "LOGIC_TERNARY_IF_TRUE": "ಒಂಜಿ à²µà³‡à²²à³† à²¨à²¿à²œ à²†à²‚ಡ",
+       "LOGIC_TERNARY_IF_FALSE": "ಒಂಜಿ à²µà³‡à²²à³† à²¸à³à²²à³à²²à²¾à²‚ಡ",
+       "LOGIC_TERNARY_TOOLTIP": "'ಪರೀಕà³à²·à³†'ಡೠಶರà³à²¤à²¨à³ à²¸à²°à²¿à²¤à³‚ಲೆ. à²¶à²°à³à²¤ à²¨à²¿à²œà²µà²¾à²¦à²¿à²¤à³à²¤à³à²‚ಡ, 'ಒಂಜಿ à²µà³‡à²²à³† à²¨à²¿à²œ à²†à²‚ಡ' à²®à³Œà²²à³à²¯à³Šà²¨à³ à²ªà²¿à²°à²•à³Šà²°à³à²ªà³à²‚ಡà³; à²‡à²œà³à²œà²¿à²‚ಡ 'ಒಂಜಿ à²µà³‡à²²à³† à²¸à³à²²à³à²²à²¾à²‚ಡ' à²®à³Œà²²à³à²¯à³Šà²¨à³ à²ªà²¿à²°à²•à³Šà²°à³à²ªà³à²‚ಡà³.",
+       "MATH_NUMBER_HELPURL": "https://en.wikipedia.org/wiki/ಸಂಖà³à²¯à³†",
+       "MATH_NUMBER_TOOLTIP": "ಅ à²¨à²‚ಬà³à²°à³Š",
+       "MATH_ARITHMETIC_HELPURL": "https://en.wikipedia.org/wiki/ಅಂಕಗಣಿತ",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "ರಡà³à²¡à³ à²¸à²‚ಖà³à²¯à³†à²¦ à²®à³Šà²¤à³à²¤à²¨à³ à²ªà²¿à²°à²•à³Šà²°à³.",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "ರಡà³à²¡ à²¸à³à²‚ಖà³à²¯à³†à²¦ à²µà³à²¯à²¤à³à²¯à²¾à²¸à³Šà²¨à³ à²ªà²¿à²°à²•à³Šà²°à³.",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "ಸಂಖà³à²¯à³†à²¦ à²—à³à²£à²²à²¬à³à²§à³Šà²¨à³ à²ªà²¿à²°à²•à³Šà²°à³.",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "ಸಂಖà³à²¯à³†à²¦ à²­à²¾à²—ಲಬà³à²¦à³Šà²¨à³ à²ªà²¿à²°à²•à³Šà²°à³.",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "ಸà³à²°à³à²¤à³à²¤ à²¸à²‚ಖà³à²¯à³†à²¦ à²˜à²¾à²¤à³Šà²¨à³ à²°à²¡à³à²¡à²¨à³† à²¸à²‚ಖà³à²¯à³†à²—à³ à²à²°à³à²ªà²¾à²¦à³ à²ªà²¿à²°à²•à³Šà²°à³.",
+       "MATH_SINGLE_HELPURL": "https://en.wikipedia.org/wiki/ವರà³à²—ಮೂಲೊ",
+       "MATH_SINGLE_OP_ROOT": "ವರà³à²—ಮೂಲೊ",
+       "MATH_SINGLE_TOOLTIP_ROOT": "ಸಂಖà³à²¯à³†à²¦ à²µà²°à³à²—ಮೂಲೊನೠಪಿರಕೊರà³.",
+       "MATH_SINGLE_OP_ABSOLUTE": "ಸಂಪೂರà³à²¨à³Š",
+       "MATH_SINGLE_TOOLTIP_ABS": "ಸಂಖà³à²¯à³†à²¦ à²¸à²°à²¿à²¯à²¾à²¯à²¿à²¨ à²®à³Œà²²à³à²¯à³Šà²¨à³ à²•à³Šà²°à³",
+       "MATH_SINGLE_TOOLTIP_NEG": "ಸಂಖà³à²¯à³†à²¦ à²¨à²¿à²·à³‡à²§à³Šà²¨à³ à²ªà²¿à²°à²•à³Šà²°à³",
+       "MATH_SINGLE_TOOLTIP_LN": "ಸಂಖà³à²¯à³†à²¦ à²ªà³à²°à²¾à²•à³ƒà²¤à²¿à²• à²²à²˜à³à²—ಣಕನೠಪಿರಕೊರà³",
+       "MATH_SINGLE_TOOLTIP_LOG10": "ಸಂಖà³à²¯à³†à²¦ à²¦à²¶à²®à²¾à²¨ à²²à²˜à³à²—ಣಕನೠಪಿರಕೊರà³",
+       "MATH_SINGLE_TOOLTIP_EXP": "ಒಂಜಿ à²¸à²‚ಖà³à²¯à³†à²¦ à²˜à²¾à²¤à³Šà²—à³ 'e'ನೠಪಿರಕೊರà³.",
+       "MATH_SINGLE_TOOLTIP_POW10": "ಒಂಜಿ à²¸à²‚ಖà³à²¯à³†à²¦ à²˜à²¾à²¤à³Šà²—ೠ೧೦ನೠಪಿರಕೊರà³",
+       "MATH_TRIG_HELPURL": "https://en.wikipedia.org/wiki/ತà³à²°à²¿à²•à³‹à²¨à²®à²¿à²¤à²¿à²¦_ಕಾರà³à²¯à³Šà²²à³",
+       "MATH_TRIG_TOOLTIP_SIN": "ಒಂಜಿ à²¡à²¿à²—à³à²°à²¿à²¦ à²¸à³ˆà²¨à³ (sine) à²ªà²¿à²°à²•à³Šà²°à³ (ರೇಡಿಯನೠಅತà³à²¤à³).",
+       "MATH_TRIG_TOOLTIP_COS": "ಒಂಜಿ à²¡à²¿à²—à³à²°à²¿à²¦ à²•à³Šà²¸à³ˆà²¨à³ (cosine) à²ªà²¿à²°à²•à³Šà²°à³ (ರೇಡಿಯನೠಅತà³à²¤à³).",
+       "MATH_TRIG_TOOLTIP_TAN": "ಒಂಜಿ à²¡à²¿à²—à³à²°à²¿à²¦ à²Ÿà³à²¯à²¾à²¨à³â€Œà²œà³†à²‚ಟೠ(tangent) à²ªà²¿à²°à²•à³Šà²°à³ (ರೇಡಿಯನೠಅತà³à²¤à³).",
+       "MATH_TRIG_TOOLTIP_ASIN": "ಒಂಜಿ à²¸à²‚ಖà³à²¯à³†à²¦ à²†à²°à³à²•à³â€Œà²¸à³ˆà²¨à³ à²ªà²¿à²°à²•à³Šà²°à³.",
+       "MATH_TRIG_TOOLTIP_ACOS": "ಒಂಜಿ à²¸à²‚ಖà³à²¯à³†à²¦ à²†à²°à³à²•à³â€Œâ€Œà²•à³Šà²¸à³ˆà²¨à³ à²ªà²¿à²°à²•à³Šà²°à³.",
+       "MATH_TRIG_TOOLTIP_ATAN": "ಒಂಜಿ à²¸à²‚ಖà³à²¯à³†à²¦ à²†à²°à³à²•à³â€Œà²Ÿà³à²¯à²¾à²¨à³â€Œà²œà³à²‚ಟೠಪಿರಕೊರà³.",
+       "MATH_CONSTANT_HELPURL": "https://en.wikipedia.org/wiki/ಗಣಿತ_ನಿರಂತರ",
+       "MATH_CONSTANT_TOOLTIP": "ಒಂಜಿ à²¸à²¾à²®à²¾à²¨à³à²¯ à²¸à³à²¥à²¿à²°à²¾à²‚ಕೊನೠಪಿರಕೊರà³: Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), or âˆž (infinity).",
+       "MATH_IS_EVEN": "ಸಮ à²¸à²‚ಖà³à²¯à³†",
+       "MATH_IS_ODD": "ಬೆಸ à²¸à²‚ಖà³à²¯à³†",
+       "MATH_IS_PRIME": "ಅವಿಭಾಜà³à²¯ à²¸à²‚ಖà³à²¯à³†",
+       "MATH_IS_WHOLE": "ಪೂರà³à²£ à²¸à²‚ಖà³à²¯à³†",
+       "MATH_IS_POSITIVE": "ಧನ à²¸à²‚ಖà³à²¯à³†",
+       "MATH_IS_NEGATIVE": "ಋಣ à²¸à²‚ಖà³à²¯à³†",
+       "MATH_IS_DIVISIBLE_BY": "ಭಾಗಿಪೊಲಿ",
+       "MATH_IS_TOOLTIP": "ಒಂಜಿ à²¸à²‚ಖà³à²¯à³† à²¸à²®à²¨à²¾, à²¬à³†à²¸à²¨à²¾, à²…ವಿಭಾಜà³à²¯à²¨à²¾, à²ªà³‚ರà³à²£à²¨à²¾, à²§à²¨à²¨à²¾, à²‹à²£à²¨à²¾, à²…ತà³à²¤à²‚ಡ à²…ವೆನೠಬೇತೆ à²’ಂಜಿ à²¨à²¿à²°à³à²¦à²¿à²·à³à²Ÿ à²¸à²‚ಖà³à²¯à³†à²¡à³à²¦à³ à²­à²¾à²—ಿಪೊಲಿಯಾ à²ªà²‚ದೠಪರೀಕà³à²·à³† à²®à²²à³à²ªà³. à²¨à²¿à²œ à²…ತà³à²¤à²‚ಡ à²¸à³à²²à³à²²à³à²¨à³ à²ªà²¿à²°à²•à³Šà²°à³à²ªà³à²‚ಡà³.",
+       "MATH_CHANGE_HELPURL": "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter",
+       "MATH_CHANGE_TITLE": "%1 à²¨à³ %2 à²Ÿà³ à²¬à²¦à²²à³ à²®à²²à³à²ªà³",
+       "MATH_CHANGE_TOOLTIP": "'%1' à²µà³à²¯à²¤à³à²¯à²¯à³Šà²—ೠಒಂಜಿ à²¸à²‚ಖà³à²¯à³†à²¨à³ à²¸à³‡à²°à²¾à²µà³",
+       "MATH_ROUND_HELPURL": "https://en.wikipedia.org/wiki/ಪೂರà³à²£à²¾à²‚ಕೊ",
+       "MATH_ROUND_TOOLTIP": "ಒಂಜಿ à²¸à²‚ಖà³à²¯à³†à²¨à³ à²®à²¿à²¤à³à²¤à³â€Œà²—ೠಅತà³à²¤à²‚ಡ à²¤à²¿à²°à³à²¤à³â€Œà²—ೠರೌಂಡೠಮಲà³à²ªà³",
+       "MATH_ROUND_OPERATOR_ROUND": "ರೌಂಡà³",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "ಮಿತà³à²¤à³â€Œà²—ೠರೌಂಡà³",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "ತಿರà³à²¤à³â€Œà²—ೠರೌಂಡà³",
+       "MATH_ONLIST_OPERATOR_SUM": "ಪಟà³à²Ÿà²¿à²¦ à²®à³Šà²¤à³à²¤",
+       "MATH_ONLIST_TOOLTIP_SUM": "ಪಟà³à²Ÿà²¿à²¡à³à²ªà³à²ªà³à²¨ à²®à²¾à²¤à²¾ à²¸à²‚ಖà³à²¯à³†à²²à³†à²¨ à²®à³Šà²¤à³à²¤à²¨à³ à²ªà²¿à²°à²•à³Šà²°à³",
+       "MATH_ONLIST_OPERATOR_MIN": "ಪಟà³à²Ÿà²¿à²¡à³ à²•à²¿à²žà³à²žà²µà³",
+       "MATH_ONLIST_TOOLTIP_MIN": "ಪಟà³à²Ÿà²¿à²¡à³à²ªà³à²ªà³à²¨ à²•à²¿à²žà³à²ž à²¸à²‚ಕà³à²¯à³†à²¨à³ à²ªà²¿à²°à²•à³Šà²°à³",
+       "MATH_ONLIST_OPERATOR_MAX": "ಪಟà³à²Ÿà²¿à²¡à³ à²®à²²à³à²²à²µà³",
+       "MATH_ONLIST_TOOLTIP_MAX": "ಪಟà³à²Ÿà²¿à²¡à³à²ªà³à²ªà³à²¨ à²®à²²à³à²² à²¸à²‚ಖà³à²¯à³†à²¨à³ à²ªà²¿à²°à²•à³Šà²°à³",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "ಪಟà³à²Ÿà²¿à²¦ à²¸à²°à²¾à²¸à²°à²¿",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "ಪಟà³à²Ÿà²¿à²¡à³à²ªà³à²ªà³à²¨ à²®à²¾à²¤à²¾ à²¸à²‚ಖà³à²¯à³†à²²à³†à²¨ à²¸à²°à²¾à²¸à²°à²¿à²¨à³ à²ªà²¿à²°à²•à³Šà²°à³",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "ಪಟà³à²Ÿà²¿à²¦ à²¨à²¡à³à²¤à³à²¤à²µà³",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "ಪಟà³à²Ÿà²¿à²¡à³à²ªà³à²ªà³à²¨ à²¨à²¡à³à²¤à³à²¤ à²¸à²‚ಖà³à²¯à³†à²¨à³ à²ªà²¿à²°à²•à³Šà²°à³",
+       "MATH_ONLIST_OPERATOR_MODE": "ಪಟà³à²Ÿà²¿à²¦ à²®à²¸à³à²¤à³ à²¸à²¾à²®à²¾à²¨à³à²¯ à²®à³Œà²²à³à²¯",
+       "MATH_ONLIST_TOOLTIP_MODE": "ಪಟà³à²Ÿà²¿à²¡à³à²ªà³à²ªà³à²¨ à²®à²¸à³à²¤à³ à²¸à²¾à²®à²¾à²¨à³à²¯ à²µà²¿à²·à²¯à³Šà²¨à³ à²ªà²¿à²°à²•à³Šà²°à³",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "ಪಟà³à²Ÿà²¿à²¦ à²ªà³à²°à²®à²¾à²£à²¿à²¤ à²µà²¿à²šà²²à²¨",
+       "MATH_ONLIST_TOOLTIP_STD_DEV": "ಪಟà³à²Ÿà²¿à²¦ à²ªà³à²°à²®à²¾à²£à²¿à²¤ à²µà²¿à²šà²²à²¨à³Šà²¨à³ à²ªà²¿à²°à²•à³Šà²°à³",
+       "MATH_ONLIST_OPERATOR_RANDOM": "ಪಟà³à²Ÿà²¿à²¦ à²’ವà³à²µà²¾à²‚ಡಲ à²’ಂಜಿ à²µà²¿à²·à²¯",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "ಪಟà³à²Ÿà²¿à²¦ à²’ವà³à²µà²¾à²‚ಡಲ à²’ಂಜಿ à²…ಂಶೊನೠಪಿರಕೊರà³.",
+       "MATH_MODULO_HELPURL": "https://en.wikipedia.org/wiki/ಮೋಡà³à²¯à³à²²à³Š_ಒಪರೇಶನà³",
+       "MATH_MODULO_TITLE": " %1 Ã· %2 à²¤ à²¶à³‡à²·",
+       "MATH_MODULO_TOOLTIP": "ರಡà³à²¡à³ à²¸à²‚ಖà³à²¯à³†à²²à³†à²¨à³ à²­à²¾à²— à²®à²²à³à²¤à³â€Œà²¦à³ à²¶à³‡à²·à³Šà²¨à³ à²ªà²¿à²°à²•à³Šà²°à³.",
+       "MATH_CONSTRAIN_TITLE": "%2 à²•à²®à³à²®à²¿ %3 à²œà²¾à²¸à³à²¤à²¿ %1 à²¨à²¿à²°à³à²¬à²‚ಧ à²®à²²à³à²ªà³",
+       "MATH_CONSTRAIN_TOOLTIP": "ನಿಗದಿತ à²®à²¿à²¤à²¿à²¤ à²¨à²¡à³à²Ÿà³ à²’ಂಜಿ à²¸à²‚ಖà³à²¯à³†à²¨à³ à²¨à²¿à²°à³à²¬à²‚ಧ à²®à²²à³à²ªà³",
+       "MATH_RANDOM_INT_HELPURL": "https://en.wikipedia.org/wiki/ರಾಂಡಮà³_ನಂಬರà³_ಜನರೇಶನà³",
+       "MATH_RANDOM_INT_TITLE": " %1 à²¡à³à²¦à³ %2 à²¯à²¾à²¦à³ƒà²šà³à²›à²¿à²• à²ªà³‚ರà³à²£à²¾à²‚ಕೊ",
+       "MATH_RANDOM_INT_TOOLTIP": "ರಡà³à²¡à³ à²¨à²¿à²—ದಿತ à²®à²¿à²¤à²¿à²¤ à²¨à²¡à³à²¤à³à²¤ à²¯à²¾à²¦à³ƒà²šà³à²›à²¿à²• à²ªà³‚ರà³à²£à²¾à²‚ಕೊನೠಪಿರಕೊರà³",
+       "MATH_RANDOM_FLOAT_HELPURL": "https://en.wikipedia.org/wiki/ರಾಂಡಮà³_ನಂಬರà³_ಜನರೇಶನà³",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "ಒವà³à²µà²¾à²‚ಡಲ à²’ಂಜಿ à²­à²¿à²¨à³à²¨à²°à²¾à²¶à²¿",
+       "MATH_RANDOM_FLOAT_TOOLTIP": "0.0 (ಸೇರà³â€Œà²¦à³) à²¬à³Šà²•à³à²• 1.0 (ಸೇರಂದೆ) à²¨à²¡à³à²¤ à²’ವà³à²µà²¾à²‚ಡಲ à²’ಂಜಿ à²­à²¿à²¨à³à²¨à²°à²¾à²¶à²¿à²¨à³ à²ªà²¿à²°à²•à³Šà²°à³.",
+       "TEXT_TEXT_HELPURL": "https://en.wikipedia.org/wiki/ಸà³à²Ÿà³à²°à²¿à²‚ಗà³_(ಕಂಪà³à²¯à³‚ಟರà³_ಸೈನà³à²¸à³)",
+       "TEXT_TEXT_TOOLTIP": "ಒಂಜಿ à²…ಕà³à²·à²°à³Š, à²ªà²¦à³Š à²…ತà³à²¤à²‚ಡ à²ªà²¾à²Ÿà³Šà²¦ à²’ಂಜಿ à²¸à²¾à²²à³",
+       "TEXT_JOIN_TITLE_CREATEWITH": "ನೆಡà³à²¦à³ à²ªà²Ÿà³à²¯à³Šà²¨à³ à²‰à²‚ಡೠಮಲà³à²ªà³",
+       "TEXT_JOIN_TOOLTIP": "à²à²¤à²¾à²‚ಡಲ à²µà²¿à²·à²¯à²²à³†à²¨à³ à²’ಟà³à²Ÿà³à²—ೠಸೇರಾದೠಒಂಜಿ à²ªà²Ÿà³à²¯à³Šà²¦ à²¤à³à²‚ಡà³à²¨à³ à²‰à²‚ಡà³à²®à²²à³à²ªà³.",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "ಸೇರಾವà³",
+       "TEXT_CREATE_JOIN_TOOLTIP": "ಈ à²ªà² à³à²¯ à²¤à²¡à³†à²¨à³ à²•à³à²¡ à²¸à²‚ರಚಣೆ à²®à²²à³à²ªà³†à²°à³†, à²¸à³‡à²°à²¾à²µà³, à²¦à³†à²¤à³à²¤à³ à²¬à³à²¡à³, à²…ತà³à²¤à²‚ಡ à²µà²¿à²­à²¾à²—ೊಲೆನೠಕà³à²¡ à²’ತà³à²¤à²°à³† à²®à²²à³à²ªà³.",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "ಪಟà³à²¯à³Šà²—ೠಒಂಜಿ à²µà²¿à²·à²¯à³Šà²¨à³ à²¸à³‡à²°à²¾à²µà³",
+       "TEXT_APPEND_TITLE": "ಇಂದೆಕೠ%1 à²ªà²Ÿà³à²¯à³Šà²¨à³ à²¸à³‡à²°à²µà³† %2",
+       "TEXT_APPEND_TOOLTIP": "%1 à²µà³à²¯à²¤à³à²¯à²¯à³Šà²—ೠಕೆಲವೠಪಟà³à²¯à³Šà²²à³†à²¨à³ à²¸à³‡à²°à²¾à²µà³",
+       "TEXT_LENGTH_TITLE": "%1 à²‰à²¦à³à²¦à³Š",
+       "TEXT_LENGTH_TOOLTIP": "ಕೊರಿನ à²ªà²Ÿà³à²¯à³Šà²¦ à²…ಕà³à²·à²°à³Šà²²à³†à²¨ (ಅಂತರೊಲೠಸೇರà³â€Œà²¦à³) à²¸à²‚ಖà³à²¯à³†à²¨à³ à²ªà²¿à²°à²•à³Šà²°à³.",
+       "TEXT_ISEMPTY_TITLE": "%1 à²–ಾಲಿ",
+       "TEXT_ISEMPTY_TOOLTIP": "ಕೊರಿನ à²ªà²Ÿà³à²¯à³Š à²–ಾಲಿ à²‡à²¤à³à²¤à³à²‚ಡ 'ನಿಜ'ನೠಪಿರಕೊರà³.",
+       "TEXT_INDEXOF_TOOLTIP": "ರಡà³à²¡à²¨à³† à²ªà²Ÿà³à²¯à³Šà²¡à³ à²‰à²ªà³à²ªà³à²¨ à²¸à³à²°à³à²¤ à²ªà²Ÿà³à²¯à³Š à²¸à³à²°à³à²•à³à²•à³/ಅಕೇರಿಗೠಬತà³à²¤à²¿à²¨à³†à²¤à³à²¤ à²¸à³‚ಚಿನೠಪಿರಕೊರà³. à²ªà²Ÿà³à²¯à³Š à²¤à²¿à²•à³à²•à²¿à²œà³à²œà²¾à²‚ಡ %1 à²¨à³ à²ªà²¿à²°à²•à³Šà²°à³.",
+       "TEXT_INDEXOF_TITLE": "ಪಟà³à²¯à³Šà²¡à³ %1 %2 %3",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "ಪಟà³à²¯à³Š à²¸à³à²°à³à²•à³à²•à³ à²¬à²¤à³à²¤à²¿à²¨à³‡à²¨à³ à²¨à²¾à²¡à³",
+       "TEXT_INDEXOF_OPERATOR_LAST": "ಪಟà³à²¯à³Š à²…ಕೇರಿಗೠಬತà³à²¤à²¿à²¨à³‡à²¨à³ à²¨à²¾à²¡à³",
+       "TEXT_CHARAT_TITLE": "%1 %2 à²ªà²¦à³Šà²Ÿà³à²Ÿà³",
+       "TEXT_CHARAT_FROM_START": "ಅಕà³à²¸à²°à³Š #ನೠದೆತà³à²¤à³Šà²¨à³",
+       "TEXT_CHARAT_FROM_END": "ಅಕೇರಿಡà³à²¦à³ à²…ಕà³à²·à²°à³Š #ನೠದೆತà³à²¤à³Šà²¨à³",
+       "TEXT_CHARAT_FIRST": "ಸà³à²°à³à²¤à³à²¤ à²…ಕà³à²·à²°à³Šà²¨à³ à²¦à³†à²¤à³à²¤à³Šà²¨à³",
+       "TEXT_CHARAT_LAST": "ಅಕೇರಿದ à²…ಕà³à²·à²°à³Šà²¨à³ à²¦à³†à²¤à³à²¤à³Šà²¨à³",
+       "TEXT_CHARAT_RANDOM": "ಒವà³à²µà²¾à²‚ಡಲ à²’ಂಜಿ à²…ಕà³à²·à²°à³Šà²¨à³ à²¦à³†à²¤à³à²¤à³Šà²¨à³",
+       "TEXT_CHARAT_TOOLTIP": "ಅಕà³à²·à²°à³Šà²¨à³ à²¨à²¿à²°à³à²¦à²¿à²·à³à²Ÿ à²¸à³à²¥à²¿à²¤à²¿à²¡à³ à²ªà²¿à²°à²•à³Šà²°à³à²ªà³à²‚ಡà³.",
+       "TEXT_GET_SUBSTRING_TOOLTIP": "ಪಟà³à²¯à³Šà²¦ à²’ಂಜಿ à²¨à²¿à²°à³à²¦à²¿à²·à³à²Ÿ à²¬à²¾à²—ೊನೠಪಿರಕೊರà³à²ªà³à²‚ಡà³.",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "ಪಟà³à²¯à³Šà²¡à³",
+       "TEXT_GET_SUBSTRING_START_FROM_START": "ಅಕà³à²·à²°à³Š #ಡà³à²¦à³ à²‰à²ªà²µà²¾à²•à³à²¯à³Š à²¦à³†à²¤à³à²¤à³Šà²¨à³",
+       "TEXT_GET_SUBSTRING_START_FROM_END": "ಅಕೇರಿಡà³à²¦à³ à²…ಕà³à²·à²°à³Š #ಡà³à²¦à³ à²‰à²ªà²µà²¾à²•à³à²¯à³Šà²¨à³ à²¦à³†à²¤à³à²¤à³Šà²¨à³",
+       "TEXT_GET_SUBSTRING_START_FIRST": "ಸà³à²°à³à²¤à³à²¤ à²…ಕà³à²·à²°à³Š #ಡà³à²¦à³ à²‰à²ªà²µà²¾à²•à³à²¯à³Šà²¨à³ à²¦à³†à²¤à³à²¤à³Šà²¨à³",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "ಅಕà³à²·à²°à³Š #ಗà³",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "ಅಕೇರಿಡà³à²¦à³ à²…ಕà³à²·à²°à³Š #ಗà³",
+       "TEXT_GET_SUBSTRING_END_LAST": "ಅಕೇರಿದ à²…ಕà³à²·à²°à³Šà²—à³",
+       "TEXT_CHANGECASE_TOOLTIP": "ಪಟà³à²¯à³Šà²¦ à²’ಂಜಿ à²¨à²•à²²à³â€à²¨à³ à²¬à³‡à²¤à³† à²¨à²®à³‚ನೆಡೠ(case) à²ªà²¿à²°à²•à³Šà²°à³.",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "ಮಲà³à²² à²…ಕà³à²·à²°à³Šà²—à³",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "ಎಲà³à²¯ à²…ಕà³à²·à²°à³Šà²—à³",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": "ತರೆಬರವà³à²¦ à²…ಕà³à²·à²°à³Šà²—à³",
+       "TEXT_TRIM_TOOLTIP": "ಒಂಜಿ à²…ತà³à²¤à²‚ಡ à²°à²¡à³à²¡à³ à²•à³Šà²¡à²¿à²¡à³à²¦à³ à²…ಂತರೊಲೆನೠ(space) à²¦à³†à²¤à³à²¤à³â€Œà²¦à³ à²ªà²Ÿà³à²¯à³Šà²¦ à²ªà³à²°à²¤à²¿à²¨à³ à²ªà²¿à²°à²•à³Šà²°à³.",
+       "TEXT_TRIM_OPERATOR_BOTH": "ರಡà³à²¡à³ à²®à³†à²¯à²¿à²¤à³à²¤à²² à²…ಂತರೊಲೆನೠ(space) à²•à²¤à³à²¤à³†à²°à³.",
+       "TEXT_TRIM_OPERATOR_LEFT": "ಎಡತà³à²¤ à²®à³†à²¯à²¿à²¤à³à²¤ à²…ಂತರೊಲೆನೠ(space) à²•à²¤à³à²¤à³†à²°à³.",
+       "TEXT_TRIM_OPERATOR_RIGHT": "ಬಲತà³à²¤ à²®à³†à²¯à²¿à²¤à³à²¤ à²…ಂತರೊಲೆನೠ(space) à²•à²¤à³à²¤à³†à²°à³.",
+       "TEXT_PRINT_TITLE": "%1 à²®à³à²¦à³à²°à²£",
+       "TEXT_PRINT_TOOLTIP": "ನಿರà³à²¦à²¿à²·à³à²Ÿ à²ªà²Ÿà³à²¯à³Š, à²¸à²‚ಖà³à²¯à³† à²…ತà³à²¤à²‚ಡ à²¬à³‡à²¤à³† à²®à³Œà²²à³à²¯à³Šà²¨à³ à²®à³à²¦à³à²°à²¿à²ªà³à²²à³†.",
+       "TEXT_PROMPT_TYPE_TEXT": "ಸಂದೇಶೊದೊಟà³à²Ÿà³à²—ೠಪಟà³à²¯à³Šà²—ೠಕೇನà³.",
+       "TEXT_PROMPT_TYPE_NUMBER": "ಸಂದೇಶೊದೊಟà³à²Ÿà³à²—ೠಸಂಕà³à²¯à³†à²¨à³ à²•à³‡à²¨à³",
+       "TEXT_PROMPT_TOOLTIP_NUMBER": "ಒಂಜಿ à²¸à²‚ಖà³à²¯à³†à²—ೠಸದಸà³à²¯à³†à²°à³†à²¨à³ à²•à³‡à²¨à³",
+       "TEXT_PROMPT_TOOLTIP_TEXT": "ಕೆಲವೠಪಟà³à²¯à³Šà²—ೠಸದಸà³à²¯à³†à²°à³†à²¨à³ à²•à³‡à²¨à³.",
+       "LISTS_CREATE_EMPTY_TITLE": "ಕಾಲಿ à²ªà²Ÿà³à²Ÿà²¿à²¨à³ à²‰à²‚ಡà³à²®à²²à³à²ªà³à²²à³†",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "ಒಂಜಿ à²ªà²Ÿà³à²Ÿà²¿, à³¦ à²‰à²¦à³à²¦à³Šà²¦, à²’ವà³à²µà³‡ à²®à²¾à²¹à²¿à²¤à²¿ à²¦à²¾à²‚ತಿನ à²¦à²¾à²–ಲೆ à²ªà²¿à²°à²•à³Šà²°à³.",
+       "LISTS_CREATE_WITH_TOOLTIP": "à²à²¤à³‡ à²µà²¿à²¸à²¯à³Šà²²à³à²ªà³à²ªà³à²¨ à²’ಂಜಿ à²ªà²Ÿà³à²Ÿà²¿à²¨à³ à²‰à²‚ಡà³à²®à²²à³à²ªà³à²²à³†",
+       "LISTS_CREATE_WITH_INPUT_WITH": "ಒಟà³à²Ÿà³à²—ೠಪಟà³à²Ÿà²¿à²¨à³ à²‰à²‚ಡà³à²®à²²à³à²ªà³à²²à³†",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "ಪಟà³à²Ÿà²¿",
+       "LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "ಈ à²ªà²Ÿà³à²Ÿà²¿ à²¤à²¡à³†à²¨à³ à²•à³à²¡ à²¸à²‚ರಚನೆ à²®à²²à³à²ªà³†à²°à³† à²¸à³‡à²°à²¾à²²à³†, à²¦à³†à²¤à³à²¤à³ à²¬à³à²¡à³à²²à³†, à²…ತà³à²¤à²‚ಡ à²µà²¿à²¬à²¾à²—ೊಲೆನೠಕà³à²¡ à²’ತà³à²¤à²°à³† à²®à²²à³à²ªà³à²²à³†.",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "ಪಟà³à²Ÿà²¿à²—ೠಒಂಜಿ à²µà²¿à²¸à²¯à³Šà²¨à³ à²¸à³‡à²°à²¾à²²à³†.",
+       "LISTS_REPEAT_TOOLTIP": "ಕೊರಿನ à²®à³Œà²²à³à²¯à³Š à²’ಂಜಿ à²¨à²¿à²°à³à²¦à²¿à²·à³à²Ÿ à²¸à²‚ಕà³à²¯à³†à²¦à²¾à²¤à³ à²¸à²°à³à²¤à²¿ à²ªà³à²¨à²°à²¾à²µà²°à³à²¤à²¨à³† à²†à²¦à³à²ªà³à²ªà³à²¨ à²’ಂಜಿ à²ªà²Ÿà³à²Ÿà²¿à²¨à³ à²‰à²‚ಡà³à²®à²²à³à²ªà³à²²à³†.",
+       "LISTS_REPEAT_TITLE": "%1 à²µà²¿à²¸à²¯à³Š %2 à²¸à²°à³à²¤à²¿ à²ªà³à²¨à²°à²¾à²µà²°à³à²¤à²¨à³† à²†à²¦à³à²ªà³à²ªà³à²¨ à²ªà²Ÿà³à²Ÿà²¿à²¨à³ à²‰à²‚ಡà³à²®à²²à³à²ªà³à²²à³†.",
+       "LISTS_LENGTH_TITLE": "%1 à²‰à²¦à³à²¦à³Š",
+       "LISTS_LENGTH_TOOLTIP": "ಪಟà³à²Ÿà²¿à²¦ à²‰à²¦à³à²¦à³Šà²¨à³ à²ªà²¿à²°à²•à³Šà²°à³.",
+       "LISTS_ISEMPTY_TITLE": "%1 à²•à²¾à²²à²¿",
+       "LISTS_ISEMPTY_TOOLTIP": "ಪಟà³à²¯à³Š à²–ಾಲಿ à²‡à²¤à³à²¤à³à²‚ಡ 'ನಿಜ'ನೠಪಿರಕೊರà³.",
+       "LISTS_INLIST": "ಪಟà³à²Ÿà²¿à²¡à³",
+       "LISTS_INDEX_OF_FIRST": "ವಿಸಯೊ à²¸à³à²°à³à²•à³à²•à³ à²¬à²¤à³à²¤à²¿à²¨à³‡à²¨à³ à²¨à²¾à²¡à³",
+       "LISTS_INDEX_OF_LAST": "ವಿಸಯೊ à²…ಕೇರಿಗೠಬತà³à²¤à²¿à²¨à³‡à²¨à³ à²¨à²¾à²¡à³",
+       "LISTS_INDEX_OF_TOOLTIP": "ಪಟà³à²Ÿà²¿à²¡à³à²ªà³à²ªà³à²¨ à²µà²¿à²¸à²¯à³Š à²¸à³à²°à³à²•à³à²•à³/ಅಕೇರಿಗೠಬತà³à²¤à²¿à²¨à³†à²¤à³à²¤ à²¸à³‚ಚಿನೠಪಿರಕೊರà³à²ªà³à²‚ಡà³. à²µà²¿à²¸à²¯à³Š à²¤à²¿à²•à³à²•à²¿à²œà³à²œà²¾à²‚ಡ %1 à²¨à³ à²ªà²¿à²°à²•à³Šà²°à³à²ªà³à²‚ಡà³.",
+       "LISTS_GET_INDEX_GET": "ದೆತೊನà³",
+       "LISTS_GET_INDEX_GET_REMOVE": "ದೆತà³à²¤à³Šà²¨à³ à²¬à³Šà²•à³à²• à²¦à³†à²¤à³à²¤à³ à²¬à³à²¡à³",
+       "LISTS_GET_INDEX_REMOVE": "ದೆಪà³à²ªà³à²²à³†",
+       "LISTS_GET_INDEX_FROM_END": "ಅಕೇರಿಡà³à²¦à³ #",
+       "LISTS_GET_INDEX_FIRST": "ಸà³à²°à³à²¤",
+       "LISTS_GET_INDEX_LAST": "ಕಡೆತ",
+       "LISTS_GET_INDEX_RANDOM": "ಗೊತà³à²¤à³ à²—à³à²°à²¿à²¦à²¾à²‚ತಿನ",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "%1 à²¸à³à²°à³à²¤ à²µà²¿à²¸à²¯à³Š",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "%1 à²…ಕೇರಿತ à²µà²¿à²¸à²¯à³Š",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "ಒಂಜಿ à²ªà²Ÿà³à²Ÿà²¿à²¡à³ à²¨à²¿à²°à³à²¦à²¿à²·à³à²Ÿ à²¸à³à²¥à²¿à²¤à²¿à²¡à³ à²µà²¿à²¸à²¯à³Šà²¨à³ à²ªà²¿à²°à²•à³Šà²°à³à²ªà³à²‚ಡà³.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "ಒಂಜಿ à²ªà²Ÿà³à²Ÿà²¿à²¡à³ à²¸à³à²°à³à²¤à³à²¤ à²µà²¿à²¸à²¯à³Šà²¨à³ à²ªà²¿à²°à²•à³Šà²°à³à²ªà³à²‚ಡà³.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "ಒಂಜಿ à²ªà²Ÿà³à²Ÿà²¿à²¡à³ à²…ಕೇರಿದ à²µà²¿à²¸à²¯à³Šà²¨à³ à²ªà²¿à²°à²•à³Šà²°à³à²ªà³à²‚ಡà³.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "ಒಂಜಿ à²ªà²Ÿà³à²Ÿà²¿à²¡à³ à²’ವà³à²µà²¾à²‚ಡಲ à²’ಂಜಿ à²µà²¿à²¸à²¯à³Šà²¨à³ à²ªà²¿à²°à²•à³Šà²°à³à²ªà³à²‚ಡà³.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "ಒಂಜಿ à²ªà²Ÿà³à²Ÿà²¿à²¡à³ à²¨à²¿à²°à³à²¦à²¿à²·à³à²Ÿ à²¸à³à²¥à²¿à²¤à²¿à²¡à³ à²µà²¿à²¸à²¯à³Šà²¨à³ à²ªà²¿à²°à²•à³Šà²°à³à²ªà³à²‚ಡೠಬೊಕà³à²• à²¦à³†à²¤à³à²¤à³ à²¬à³à²¡à³à²ªà³à²‚ಡà³.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "ಒಂಜಿ à²ªà²Ÿà³à²Ÿà²¿à²¡à³ à²¸à³à²°à³à²¤à³à²¤ à²µà²¿à²¸à²¯à³Šà²¨à³ à²ªà²¿à²°à²•à³Šà²°à³à²ªà³à²‚ಡೠಬೊಕà³à²• à²¦à³†à²¤à³à²¤à³ à²¬à³à²¡à³à²ªà³à²‚ಡà³.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "ಒಂಜಿ à²ªà²Ÿà³à²Ÿà²¿à²¡à³ à²…ಕೇರಿದ à²µà²¿à²¸à²¯à³Šà²¨à³ à²ªà²¿à²°à²•à³Šà²°à³à²ªà³à²‚ಡೠಬೊಕà³à²• à²¦à³†à²¤à³à²¤à³ à²¬à³à²¡à³à²ªà³à²‚ಡà³.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "ಒಂಜಿ à²ªà²Ÿà³à²Ÿà²¿à²¡à³ à²’ವà³à²µà²¾à²‚ಡಲ à²’ಂಜಿ à²µà²¿à²¸à²¯à³Šà²¨à³ à²ªà²¿à²°à²•à³Šà²°à³à²ªà³à²‚ಡೠಬೊಕà³à²• à²¦à³†à²¤à³à²¤à³ à²¬à³à²¡à³à²ªà³à²‚ಡà³.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "ಒಂಜಿ à²ªà²Ÿà³à²Ÿà²¿à²¡à³ à²¨à²¿à²°à³à²¦à²¿à²·à³à²Ÿ à²¸à³à²¥à²¿à²¤à²¿à²¡à³ à²µà²¿à²¸à²¯à³Šà²¨à³ à²¦à³†à²¤à³à²¤à³ à²¬à³à²¡à³à²ªà³à²‚ಡà³.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "ಒಂಜಿ à²ªà²Ÿà³à²Ÿà²¿à²¡à³ à²¸à³à²°à³à²¤à³à²¤ à²µà²¿à²¸à²¯à³Šà²¨à³ à²¦à³†à²¤à³à²¤à³ à²¬à³à²¡à³à²ªà³à²‚ಡà³.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "ಒಂಜಿ à²ªà²Ÿà³à²Ÿà²¿à²¡à³ à²…ಕೇರಿದ à²µà²¿à²¸à²¯à³Šà²¨à³ à²¦à³†à²¤à³à²¤à³ à²¬à³à²¡à³à²ªà³à²‚ಡà³.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "ಒಂಜಿ à²ªà²Ÿà³à²Ÿà²¿à²¡à³ à²’ವà³à²µà²¾à²‚ಡಲ à²’ಂಜಿ à²µà²¿à²¸à²¯à³Šà²¨à³ à²¦à³†à²¤à³à²¤à³ à²¬à³à²¡à³à²ªà³à²‚ಡà³.",
+       "LISTS_SET_INDEX_SET": "ಸೆಟೠಮಲà³à²ªà³",
+       "LISTS_SET_INDEX_INSERT": "ಸೇರಾವà³",
+       "LISTS_SET_INDEX_INPUT_TO": "ಲೆಕ",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "ಒಂಜಿ à²ªà²Ÿà³à²Ÿà²¿à²¡à³ à²¨à²¿à²°à³à²¦à²¿à²·à³à²Ÿ à²¸à³à²¥à²¿à²¤à²¿à²¡à³ à²µà²¿à²¸à²¯à³Šà²¨à³ à²¸à³†à²Ÿà³ à²®à²²à³à²ªà³à²‚ಡà³.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "ಒಂಜಿ à²ªà²Ÿà³à²Ÿà²¿à²¡à³ à²¸à³à²°à³à²¤à³à²¤ à²µà²¿à²¸à²¯à³Šà²¨à³ à²¸à³†à²Ÿà³ à²®à²²à³à²ªà³à²‚ಡà³.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_LAST": "ಒಂಜಿ à²ªà²Ÿà³à²Ÿà²¿à²¡à³ à²…ಕೇರಿದ à²µà²¿à²¸à²¯à³Šà²¨à³ à²¸à³†à²Ÿà³ à²®à²²à³à²ªà³à²‚ಡà³.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "ಒಂಜಿ à²ªà²Ÿà³à²Ÿà²¿à²¡à³ à²’ವà³à²µà²¾à²‚ಡಲ à²’ಂಜಿ à²µà²¿à²¸à²¯à³Šà²¨à³ à²¸à³†à²Ÿà³ à²®à²²à³à²ªà³à²‚ಡà³.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "ಒಂಜಿ à²ªà²Ÿà³à²Ÿà²¿à²¡à³ à²¨à²¿à²°à³à²¦à²¿à²·à³à²Ÿ à²¸à³à²¥à²¿à²¤à²¿à²¡à³ à²µà²¿à²¸à²¯à³Šà²¨à³ à²¸à³‡à²°à²¾à²µà³à²‚ಡà³.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "ಒಂಜಿ à²ªà²Ÿà³à²Ÿà²¿à²¦ à²¸à³à²°à³à²•à³à²•à³ à²µà²¿à²¸à²¯à³Šà²¨à³ à²¸à³‡à²°à²¾à²µà³à²‚ಡà³.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "ಒಂಜಿ à²ªà²Ÿà³à²Ÿà²¿à²¦ à²…ಕೇರಿಗೠವಿಸಯೊನೠಸೇರಾವà³à²‚ಡà³.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "ಒಂಜಿ à²ªà²Ÿà³à²Ÿà²¿à²¡à³ à²“ಲಾಂಡಲ à²µà²¿à²¸à²¯à³Šà²¨à³ à²¸à³‡à²°à²¾à²µà³à²‚ಡà³.",
+       "LISTS_GET_SUBLIST_START_FROM_START": "# à²¡à³à²¦à³ à²‰à²ª-ಪಟà³à²Ÿà²¿à²¨à³ à²¦à³†à²¤à³à²¤à³Šà²¨à³",
+       "LISTS_GET_SUBLIST_START_FROM_END": "ಅಕೇರಿಡà³à²¦à³ # à²¡à³à²¦à³ à²‰à²ª-ಪಟà³à²Ÿà²¿à²¨à³ à²¦à³†à²¤à³à²¤à³Šà²¨à³",
+       "LISTS_GET_SUBLIST_START_FIRST": "ಸà³à²°à³à²¡à³à²¦à³ à²‰à²ª-ಪಟà³à²Ÿà²¿à²¨à³ à²¦à³†à²¤à³à²¤à³Šà²¨à³",
+       "LISTS_GET_SUBLIST_END_FROM_START": "# à²—à³",
+       "LISTS_GET_SUBLIST_END_FROM_END": "ಅಕೇರಿಡà³à²¦à³ # à²—à³",
+       "LISTS_GET_SUBLIST_END_LAST": "ಅಕೇರಿಗà³",
+       "LISTS_GET_SUBLIST_TOOLTIP": "ಪಟà³à²¯à³Šà²¦ à²¨à²¿à²°à³à²¦à²¿à²·à³à²Ÿ à²¬à²¾à²—ೊದ à²ªà³à²°à²¤à²¿à²¨à³ à²‰à²‚ಡà³à²®à²²à³à²ªà³à²‚ಡà³.",
+       "LISTS_SORT_HELPURL": "https://github.com/google/blockly/wiki/Lists#sorting-a-list",
+       "LISTS_SORT_TITLE": "%1 %2 %3 à²‡à²‚ಗಡಿಪà³",
+       "LISTS_SORT_TOOLTIP": "ಒಂಜಿ à²ªà²Ÿà³à²Ÿà²¿à²¦ à²’ಂಜಿ à²ªà³à²°à²¤à²¿à²¨à³ à²‡à²‚ಗಡಿಪà³",
+       "LISTS_SORT_ORDER_ASCENDING": "à²à²°à³à²¨à³",
+       "LISTS_SORT_ORDER_DESCENDING": "ಜಪà³à²ªà³à²¨à³",
+       "LISTS_SORT_TYPE_NUMERIC": "ಸಂಖà³à²¯à³†",
+       "LISTS_SORT_TYPE_TEXT": "ಅಕà³à²·à²°à³Š",
+       "LISTS_SORT_TYPE_IGNORECASE": "ಅಕà³à²·à²°à³Š, à²¨à²®à³‚ನೆ (case) à²…ಲಕà³à²·à³à²¯à³Š à²®à²²à³à²ªà³à²²à³†",
+       "LISTS_SPLIT_LIST_FROM_TEXT": "ಪಟà³à²¯à³Šà²²à³† à²ªà²Ÿà³à²Ÿà²¿à²¨à³ à²¤à²¯à²¾à²°à³ à²®à²²à³à²ªà³à²²à³†",
+       "LISTS_SPLIT_TEXT_FROM_LIST": "ಪಟà³à²Ÿà²¿à²¦ à²ªà²Ÿà³à²¯à³Šà²¨à³ à²¤à²¯à²¾à²°à³ à²®à²²à³à²ªà³à²²à³†",
+       "LISTS_SPLIT_WITH_DELIMITER": "ಮಿತಿಸೂಚಕೊದ à²’ಟà³à²Ÿà³à²—à³",
+       "LISTS_SPLIT_TOOLTIP_SPLIT": "ಪಟà³à²¯à³Šà²²à³†à²¨à³ à²ªà³à²°à²¤à²¿ à²®à²¿à²¤à²¿à²¸à³‚ಚಕೊಡೠತà³à²‚ಡೠಮಲà³à²¤à³â€Œà²¦à³ à²ªà²Ÿà³à²¯à³Šà²²à³†à²¨ à²’ಂಜಿ à²ªà²Ÿà³à²Ÿà²¿à²—ೠಬಾಗೊ à²®à²²à³à²ªà³à²²à³†.",
+       "LISTS_SPLIT_TOOLTIP_JOIN": "ಪಟà³à²¯à³Šà²²à³†à²¨ à²’ಂಜಿ à²ªà²Ÿà³à²Ÿà²¿à²¨à³ à²®à²¿à²¤à²¿à²¸à³‚ಚಕೊದ à²®à³‚ಲಕೊ à²¬à³‡à²¤à³† à²®à²²à³à²¤à³â€Œà²¦à³ à²’ಂಜಿ à²ªà²Ÿà³à²¯à³Šà²—ೠಸೇರಾಲೆ.",
+       "VARIABLES_GET_TOOLTIP": "ಈ à²µà³à²¯à²¤à³à²¯à²¯à³Šà²¦ à²®à³Œà²²à³à²¯à³Šà²¨à³ à²ªà²¿à²°à²•à³Šà²°à³.",
+       "VARIABLES_GET_CREATE_SET": "'ಸೆಟೠ%1' à²‰à²‚ಡà³à²®à²²à³à²ªà³à²²à³†",
+       "VARIABLES_SET": "%1 à²¨à³ %2 à²•à³à²•à³ à²¸à³†à²Ÿà³ à²®à²²à³à²ªà³à²²à³†",
+       "VARIABLES_SET_TOOLTIP": "ಈ à²µà³à²¯à²¤à³à²¯à²¯à³Šà²¨à³ à²‡à²¨à³â€Œà²ªà³à²Ÿà³â€Œà²—ೠಸಮ à²†à²ªà²¿à²²à³†à²• à²¸à³†à²Ÿà³ à²®à²²à³à²ªà³à²‚ಡà³.",
+       "VARIABLES_SET_CREATE_GET": "'ದೆತà³à²¤à³Šà²¨à³ %1' à²‰à²‚ಡà³à²®à²²à³à²ªà³à²²à³†",
+       "PROCEDURES_DEFNORETURN_TITLE": "ಇಂದೆಕà³",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "ಎಂಚಿನಾಂಡಲ à²®à²²à³à²ªà³à²²à³†",
+       "PROCEDURES_BEFORE_PARAMS": "ಒಟà³à²Ÿà³à²—à³:",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "ಒಟà³à²Ÿà³à²—à³:",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "ಔಟà³â€Œà²ªà³à²Ÿà³ à²¦à²¾à²‚ತಿನ à²•à²¾à²°à³à²¯à³Šà²¨à³ à²‰à²‚ಡà³à²®à²²à³à²ªà³à²‚ಡà³.",
+       "PROCEDURES_DEFNORETURN_COMMENT": "ಈ à²•à²¾à²°à³à²¯à³Šà²¨à³ à²‡à²µà²°à²¿à²ªà³à²²à³†...",
+       "PROCEDURES_DEFRETURN_RETURN": "ಪಿರಕೊರà³",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "ಔಟà³â€Œà²ªà³à²Ÿà³ à²‡à²¤à³à²¤à²¿à²¨ à²•à²¾à²°à³à²¯à³Šà²¨à³ à²‰à²‚ಡà³à²®à²²à³à²ªà³à²‚ಡà³.",
+       "PROCEDURES_ALLOW_STATEMENTS": "ಹೇಳಿಕೆಗೠಅವಕಾಸೊ",
+       "PROCEDURES_DEF_DUPLICATE_WARNING": "ಎಚà³à²šà²°à²¿à²•à³†: à²ˆ à²•à²¾à²°à³à²¯à³Šà²¡à³ à²¨à²•à²²à²¿ à²®à²¾à²¨à²¦à²‚ಡೊ à²‰à²‚ಡà³.",
+       "PROCEDURES_CALLNORETURN_HELPURL": "https://en.wikipedia.org/wiki/ವರà³à²—ಮೂಲೊ",
+       "PROCEDURES_CALLNORETURN_TOOLTIP": "'%1' à²¬à²³à²•à³†à²¦à²¾à²°à³†à²°à³† à²•à²¾à²°à³à²¯à³Šà²¨à³ à²¨à²¡à²ªà²¾à²²à³†.",
+       "PROCEDURES_CALLRETURN_HELPURL": "https://en.wikipedia.org/wiki/ವರà³à²—ಮೂಲೊ",
+       "PROCEDURES_CALLRETURN_TOOLTIP": " à²¬à²³à²•à³†à²¦à²¾à²°à³†à²°à³† à²•à²¾à²°à³à²¯à³Š '%1' à²¨à³ à²¨à²¡à²ªà²¾à²²à³† à²¬à³à²•à³à²•à³Š à²…ಯಿತ à²‰à²¤à³à²ªà²¾à²¦à²¨à³†à²¨à³ à²—ಲಸà³â€Œà²²à³†.",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "ಉಲಪರಿಪà³",
+       "PROCEDURES_MUTATORCONTAINER_TOOLTIP": "ಸೇರಾಲೆ, à²¦à³†à²¤à³à²¤à³â€Œ à²¬à³à²¡à³à²²à³†, à²…ತà³à²¤à²‚ಡ à²ˆ à²•à²¾à²°à³à²¯à³Šà²—ೠಉಲಪರಿಪà³à²²à³†à²¨à³ à²•à³à²¡ à²’ತà³à²¤à²°à³† à²®à²²à³à²ªà³à²²à³†.",
+       "PROCEDURES_MUTATORARG_TITLE": "ಉಲಪರಿಪà³à²¦ à²ªà³à²¦à²°à³:",
+       "PROCEDURES_MUTATORARG_TOOLTIP": "ಕಾರà³à²¯à³Šà²—ೠಒಂಜಿ à²‰à²²à²ªà²°à²¿à²ªà³à²¨à³ à²¸à³‡à²°à²²à³†.",
+       "PROCEDURES_HIGHLIGHT_DEF": "ದೆರà³à²¤à³ à²¤à³‹à²œà³à²¨ à²•à²¾à²°à³à²¯à³Šà²¦ à²µà³à²¯à²¾à²•à³à²¯à²¾à²¨à³Š",
+       "PROCEDURES_CREATE_DO": " '%1'ನೠಉಂಡà³à²®à²²à³à²ªà³à²²à³†",
+       "PROCEDURES_IFRETURN_TOOLTIP": "ಮೌಲà³à²¯à³Š à²¸à²¤à³à²¯à³Š à²†à²‚ಡ, à²°à²¡à³à²¡à²¨à³† à²®à³Œà²²à³à²¯à³Šà²¨à³ à²ªà²¿à²°à²•à³Šà²°à³.",
+       "PROCEDURES_IFRETURN_WARNING": "ಎಚà³à²šà²°à²¿à²•à³†: à²’ಂಜಿ à²•à²¾à²°à³à²¯ à²µà³à²¯à²¾à²•à³à²¯à²¾à²¨à³Šà²¦à³à²²à²¯à²¿ à²®à²¾à²¤à³à²° à²ˆ à²¤à²¡à³†à²¨à³ à²—ಲಸೊಲಿ."
+}
diff --git a/js/msg/json/te.json b/js/msg/json/te.json
new file mode 100644 (file)
index 0000000..22f77fa
--- /dev/null
@@ -0,0 +1,97 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Naidugari Jayanna",
+                       "WP MANIKHANTA"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "అంశం",
+       "TODAY": "నేడà±",
+       "DUPLICATE_BLOCK": "నకలà±",
+       "ADD_COMMENT": "à°µà±à°¯à°¾à°–à±à°¯ à°šà±‡à°°à±à°šà±",
+       "REMOVE_COMMENT": "à°µà±à°¯à°¾à°–à±à°¯à°¨à± à°¤à±Šà°²à°—à°¿à°‚à°šà±",
+       "DELETE_BLOCK": "నిరోదన à°¤à±Šà°²à°—à°¿à°‚à°šà±",
+       "DELETE_X_BLOCKS": "%1నిరోదనలనౠతోలగించà±",
+       "DELETE_ALL_BLOCKS": "మెà±à°¤à±à°¤à°‚ %1నిరోదనలనౠతొలగించà±?",
+       "CLEAN_UP": "నిరోదనలనౠశà±à°­à±à°°à°ªà°°à±à°šà±",
+       "COLLAPSE_BLOCK": "నరోదన à°•à±‚à°²à±à°šà±",
+       "COLLAPSE_ALL": "నిరోదనలనౠకూలà±à°šà±",
+       "EXPAND_BLOCK": "నిరోదన à°µà°¿à°¸à±à°¤à°°à°¿à°‚à°šà±",
+       "EXPAND_ALL": "నిరోదనలనౠవిసà±à°¤à°°à°¿à°‚à°šà±",
+       "DISABLE_BLOCK": "నిరోదన à°ªà°¨à°¿ à°šà±‡à°¯à°•à±à°‚à°¡à°¾ à°šà±‡à°¯à±",
+       "ENABLE_BLOCK": "నిరోదన à°ªà±à°°à°¾à°°à°‚బించà±",
+       "HELP": "సహాయం",
+       "UNDO": "à°°à°¦à±à°¦à±à°šà±†à°¯à±à°¯à°¿",
+       "REDO": "మళà±à°³à±€ à°šà±†à°¯à±à°¯à°¿",
+       "CHANGE_VALUE_TITLE": "విలà±à°µ à°®à°¾à°°à±à°šà±",
+       "RENAME_VARIABLE": "à°ªà±à°¨à°ƒà°¨à°¾à°®à°•à°°à°£ à°µà±à°¯à°¤à±à°¯à°¾à°¸à°‚...",
+       "RENAME_VARIABLE_TITLE": "మొతà±à°¤à°‚ à°µà±à°¯à°¤à±à°¯à°¾à°¸à°¾à°²à°¨à± '%1' à°¦à±€à°¨à°¿à°•à°¿ à°ªà±à°¨à°ƒà°¨à°¾à°®à°•à°°à°£à°¿à°‚à°šà±:",
+       "NEW_VARIABLE": "కొతà±à°¤ à°µà±à°¯à°¤à±à°¯à°¾à°¸à°‚...",
+       "NEW_VARIABLE_TITLE": "కొతà±à°¤ à°µà±à°¯à°¤à±à°¯à°¾à°¸à°‚ à°ªà±‡à°°à±:",
+       "COLOUR_PICKER_HELPURL": "https://te.wikipedia.org/wiki/à°°à°‚à°—à±",
+       "COLOUR_PICKER_TOOLTIP": "à°šà°¿à°¤à±à°°à°•à°¾à°°à±à°¡à± à°‰à°ªà°¯à±‹à°—ించే à°°à°‚à°—à±à°² à°¨à±à°‚à°¡à°¿ à°’à°• à°¦à°¾à°¨à°¿à°¨à°¿ à°Žà°‚à°šà±à°•à±‹.",
+       "COLOUR_RANDOM_TITLE": "యాదృచà±à°›à°¿à°• à°°à°‚à°—à±",
+       "COLOUR_RANDOM_TOOLTIP": "యాదృచà±à°›à°¿à°•à°‚à°—à°¾ à°’à°• à°°à°‚à°—à±à°¨à± à°Žà°‚à°šà±à°•à±‹.",
+       "COLOUR_RGB_TITLE": "తో à°°à°‚à°—à±",
+       "COLOUR_RGB_RED": "à°Žà°°à±à°ªà±",
+       "COLOUR_RGB_GREEN": "ఆకà±à°ªà°šà±à°š",
+       "COLOUR_RGB_BLUE": "నీలం",
+       "COLOUR_RGB_TOOLTIP": "à°Žà°°à±à°ªà±,పచà±à°š à°®à°°à°¿à°¯à± à°¬à±à°²à±à°—à± à°°à°‚à°—à±à°²à°¨à± à°¸à°®à°‚à°—à°¾ à°‰à°ªà°¯à±‹à°—à°¿à°‚à°šà°¿ à°’à°• à°°à°‚à°—à±à°¨à± à°¸à±ƒà°·à±à° à°¿à°‚à°šà°‚à°¡à°¿.à°…à°¨à±à°¨à°¿ à°µà°¿à°²à±à°µà°²à± 0 à°¨à±à°‚à°¡à°¿ 100 à°®à°§à±à°¯à°²à±‹ à°‰à°‚డాలి.",
+       "COLOUR_BLEND_TITLE": "మిశà±à°°à°®à°‚",
+       "COLOUR_BLEND_COLOUR1": "à°°à°‚à°—à± 1",
+       "COLOUR_BLEND_COLOUR2": "à°°à°‚à°—à± 2",
+       "COLOUR_BLEND_RATIO": "నిషà±à°ªà°¤à±à°¤à°¿",
+       "COLOUR_BLEND_TOOLTIP": "రెండౠరంగà±à°²à°¨à± (0.0 - 1.0) à°¨à°¿à°·à±à°ªà°¤à±à°¤à°¿à°²à±‹ à°®à°¿à°¶à±à°°à°®à°¿à°‚చాలి.",
+       "CONTROLS_REPEAT_HELPURL": "https://te.wikipedia.org/wiki/For_loop",
+       "CONTROLS_REPEAT_TITLE": "%1 à°¸à°¾à°°à±à°²à± à°®à°³à±à°³à±€ à°•à±Šà°¨à°¸à°¾à°—à°¿à°‚à°šà±",
+       "CONTROLS_REPEAT_INPUT_DO": "చేయà±",
+       "CONTROLS_REPEAT_TOOLTIP": "కొనà±à°¨à°¿ à°¨à°¿à°µà±‡à°¦à°¿à°•à°²à± à°²à±‡à°¦à°¾ à°ªà±à°°à°¤à°¿à°ªà°¾à°¦à°¨à°²à± à°…నేక à°®à°¾à°°à±à°²à± à°šà±†à°¯à±à°¯à°‚à°¡à°¿.",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "అంతవరకౠమళà±à°³à±€ à°•à±Šà°¨à°¸à°¾à°—à°¿à°‚à°šà°‚à°¡à°¿",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "à°’à°• à°µà±†à°² à°¨à°¿à°œà°®à±ˆà°¨à°ªà±à°ªà±à°¡à± à°•à±Šà°¨à±à°¨à°¿ à°¨à°¿à°µà±‡à°¦à°¿à°•à°²à± à°²à±‡à°¦à°¾ à°ªà±à°°à°¤à°¿à°ªà°¾à°¦à°¨à°²à± à°šà±†à°¯à±à°¯à°‚à°¡à°¿.",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "à°’à°• à°µà±† à°¤à°ªà±à°ªà±ˆà°¨à°ªà±à°ªà±à°¡à± à°•à±Šà°¨à±à°¨à°¿ à°¨à°¿à°µà±‡à°¦à°¿à°•à°²à± à°²à±‡à°¦à°¾ à°ªà±à°°à°¤à°¿à°ªà°¾à°¦à°¨à°²à± à°šà±†à°¯à±à°¯à°‚à°¡à°¿.",
+       "CONTROLS_FOR_TITLE": "దీనితో à°²à±†à°•à±à°•à°¿à°‚à°šà± %1 à°¨à±à°‚à°¡à°¿ %2 à°µà°°à°•à± %3 à°¤à±‹ %4",
+       "CONTROLS_FOREACH_TITLE": "à°’à°• à°…ంశం à°•à±‹à°¸à°‚ %1 à°œà°¾à°¬à°¿à°¤à°¾ à°²à±‹ %2",
+       "CONTROLS_IF_MSG_IF": "అయితే",
+       "LOGIC_OPERATION_AND": "మరియà±",
+       "LOGIC_OPERATION_OR": "లేదా",
+       "LOGIC_NEGATE_TITLE": "%1 à°•à°¾à°¦à±",
+       "LOGIC_BOOLEAN_TRUE": "సతà±à°¯à°‚",
+       "LOGIC_BOOLEAN_FALSE": "అసతà±à°¯à°‚",
+       "LOGIC_NULL": "చెలà±à°²à°¨à°¿",
+       "LOGIC_TERNARY_CONDITION": "పరీకà±à°·à°¿à°‚à°šà±",
+       "LOGIC_TERNARY_IF_TRUE": "సతà±à°¯à°®à±ˆà°¤à±‡",
+       "LOGIC_TERNARY_IF_FALSE": "అసతà±à°¯à°®à±ˆà°¤à±‡",
+       "MATH_NUMBER_TOOLTIP": "à°’ à°¸à°‚à°–à±à°¯.",
+       "MATH_ARITHMETIC_HELPURL": "https://te.wikipedia.org/wiki/Arithmetic",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "రెండౠసంఖà±à°¯à°² à°®à±Šà°¤à±à°¤à°¾à°¨à°¿à°•à°¿ à°¤à°¿à°°à°¿à°—à°¿ à°µà±†à°³à±à°³à°‚à°¡à°¿.",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "రెండౠసంఖà±à°¯à°² à°¤à±‡à°¡à°¾à°•à°¿ à°¤à°¿à°°à°¿à°—à°¿ à°µà±†à°³à±à°³à°‚à°¡à°¿",
+       "MATH_IS_POSITIVE": "à°…à°¨à±à°•à±‚లంగా à°‰à°‚ది",
+       "MATH_IS_NEGATIVE": "à°ªà±à°°à°¤à°¿à°•à±‚లంగా à°‰à°‚ది",
+       "MATH_IS_DIVISIBLE_BY": "దీనితో à°­à°¾à°—ించబడà±à°¨à±",
+       "MATH_ONLIST_OPERATOR_SUM": "జాబితా à°®à±Šà°¤à±à°¤à°‚",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "జాబితా à°¯à±Šà°•à±à°• à°¸à°—à°Ÿà±",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "చేరà±",
+       "TEXT_LENGTH_TITLE": "%1 à°ªà±Šà°¡à±à°µà±",
+       "TEXT_ISEMPTY_TITLE": "% 1 à°–ాళీ",
+       "TEXT_CHARAT_FIRST": "మొదటి à°µà°°à±à°£à°¾à°¨à±à°¨à°¿ à°ªà±Šà°‚à°¦à±",
+       "TEXT_CHARAT_LAST": "చివరి à°µà°°à±à°£à°¾à°¨à±à°¨à°¿ à°ªà±Šà°‚à°¦à±",
+       "TEXT_CHARAT_RANDOM": "యాదృశà±à°šà°¿à°• à°µà°°à±à°£à°¾à°¨à±à°¨à°¿ à°ªà±Šà°‚à°¦à±",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "జాబితా",
+       "LISTS_INLIST": "జాబితాలో",
+       "LISTS_GET_INDEX_GET": "పొందà±",
+       "LISTS_GET_INDEX_GET_REMOVE": "పొందౠమరియౠతొలగించà±",
+       "LISTS_GET_INDEX_REMOVE": "తొలగించà±",
+       "LISTS_GET_INDEX_FROM_END": "#చివరి à°¨à±à°‚à°¡à°¿",
+       "LISTS_GET_INDEX_FIRST": "మొదటి",
+       "LISTS_GET_INDEX_LAST": "చివరి",
+       "LISTS_GET_INDEX_RANDOM": "యాదృచà±à°šà°¿à°•",
+       "LISTS_SET_INDEX_INPUT_TO": "à°—à°¾",
+       "LISTS_GET_SUBLIST_END_FROM_START": "# à°•à±",
+       "LISTS_GET_SUBLIST_END_FROM_END": "చివరి à°¨à±à°‚à°¡à°¿ # à°µà°°à°•à±",
+       "LISTS_GET_SUBLIST_END_LAST": "à°¤à±à°¦à°•à±",
+       "PROCEDURES_DEFNORETURN_TITLE": "à°•à±",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "à°à°¦à±‹ à°’à°•à°Ÿà°¿ à°šà±‡à°¯à°¿",
+       "PROCEDURES_BEFORE_PARAMS": "తో:",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "తో:",
+       "PROCEDURES_DEFRETURN_RETURN": "తిరిగి à°µà±†à°³à±à°³à±"
+}
diff --git a/js/msg/json/th.json b/js/msg/json/th.json
new file mode 100644 (file)
index 0000000..dabaeb8
--- /dev/null
@@ -0,0 +1,342 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Azpirin",
+                       "Octahedron80",
+                       "Horus",
+                       "Roysheng",
+                       "Aefgh39622",
+                       "Nantapat"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "รายà¸à¸²à¸£",
+       "TODAY": "วันนี้",
+       "DUPLICATE_BLOCK": "ทำสำเนา",
+       "ADD_COMMENT": "ใส่คำอธิบาย",
+       "REMOVE_COMMENT": "เอาคำอธิบายออà¸",
+       "EXTERNAL_INPUTS": "อินพุตภายนอà¸",
+       "INLINE_INPUTS": "อินพุตในบรรทัด",
+       "DELETE_BLOCK": "ลบบล็อà¸",
+       "DELETE_X_BLOCKS": "ลบ %1 à¸šà¸¥à¹‡à¸­à¸",
+       "DELETE_ALL_BLOCKS": "ลบ %1 à¸šà¸¥à¹‡à¸­à¸à¸—ั้งหมด?",
+       "CLEAN_UP": "จัดเรียงบล็อà¸à¹ƒà¸«à¹‰à¹€à¸›à¹‡à¸™à¹à¸–ว",
+       "COLLAPSE_BLOCK": "ย่อบล็อà¸",
+       "COLLAPSE_ALL": "ย่อบล็อà¸",
+       "EXPAND_BLOCK": "ขยายบล็อà¸",
+       "EXPAND_ALL": "ขยายบล็อà¸",
+       "DISABLE_BLOCK": "ปิดใช้งานบล็อà¸",
+       "ENABLE_BLOCK": "เปิดใช้งานบล็อà¸",
+       "HELP": "ช่วยเหลือ",
+       "UNDO": "ย้อนà¸à¸¥à¸±à¸š",
+       "REDO": "ทำซ้ำ",
+       "CHANGE_VALUE_TITLE": "เปลี่ยนค่า:",
+       "RENAME_VARIABLE": "เปลี่ยนชื่อตัวà¹à¸›à¸£...",
+       "RENAME_VARIABLE_TITLE": "เปลี่ยนชื่อตัวà¹à¸›à¸£ '%1' à¸—ั้งหมดเป็น:",
+       "NEW_VARIABLE": "สร้างตัวà¹à¸›à¸£...",
+       "NEW_STRING_VARIABLE": "สร้างตัวà¹à¸›à¸£ string",
+       "NEW_NUMBER_VARIABLE": "สร้างตัวà¹à¸›à¸£à¸ˆà¸³à¸™à¸§à¸™",
+       "NEW_COLOUR_VARIABLE": "สร้างตัวà¹à¸›à¸£à¸ªà¸µ",
+       "NEW_VARIABLE_TYPE_TITLE": "ชนิดตัวà¹à¸›à¸£à¹ƒà¸«à¸¡à¹ˆ",
+       "NEW_VARIABLE_TITLE": "ชื่อตัวà¹à¸›à¸£à¹ƒà¸«à¸¡à¹ˆ:",
+       "VARIABLE_ALREADY_EXISTS": "มีตัวà¹à¸›à¸£à¸Šà¸·à¹ˆà¸­ '%1' à¸­à¸¢à¸¹à¹ˆà¹à¸¥à¹‰à¸§",
+       "VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE": "ตัวà¹à¸›à¸£à¸Šà¸·à¹ˆà¸­ '%1' à¸¡à¸µà¸­à¸¢à¸¹à¹ˆà¹à¸¥à¹‰à¸§à¸ªà¸³à¸«à¸£à¸±à¸šà¸•à¸±à¸§à¹à¸›à¸£à¸­à¸·à¹ˆà¸™à¸‚องชนิด: '%2'",
+       "DELETE_VARIABLE_CONFIRMATION": "ลบà¸à¸²à¸£à¹ƒà¸Šà¹‰à¸•à¸±à¸§à¹à¸›à¸£ %2 %1 à¸„รั้งหรือไม่",
+       "CANNOT_DELETE_VARIABLE_PROCEDURE": "ไม่สามารถลบตัวà¹à¸›à¸£ '%1' à¹„ด้เนื่องจาà¸à¹€à¸›à¹‡à¸™à¸ªà¹ˆà¸§à¸™à¸«à¸™à¸¶à¹ˆà¸‡à¸‚องนิยามของฟังà¸à¹Œà¸Šà¸±à¸™ '%2'",
+       "DELETE_VARIABLE": "ลบตัวà¹à¸›à¸£ '%1'",
+       "COLOUR_PICKER_HELPURL": "https://th.wikipedia.org/wiki/สี",
+       "COLOUR_PICKER_TOOLTIP": "เลือà¸à¸ªà¸µà¸ˆà¸²à¸à¸ˆà¸²à¸™à¸ªà¸µ",
+       "COLOUR_RANDOM_TITLE": "สุ่มสี",
+       "COLOUR_RANDOM_TOOLTIP": "เลือà¸à¸ªà¸µà¹à¸šà¸šà¸ªà¸¸à¹ˆà¸¡",
+       "COLOUR_RGB_TITLE": "สีที่ประà¸à¸­à¸šà¸”้วย",
+       "COLOUR_RGB_RED": "ค่าสีà¹à¸”ง",
+       "COLOUR_RGB_GREEN": "ค่าสีเขียว",
+       "COLOUR_RGB_BLUE": "ค่าสีน้ำเงิน",
+       "COLOUR_RGB_TOOLTIP": "สร้างสีด้วยà¸à¸²à¸£à¸à¸³à¸«à¸™à¸”ค่าสีà¹à¸”ง à¹€à¸‚ียว à¹à¸¥à¸°à¸™à¹‰à¸³à¹€à¸‡à¸´à¸™ à¸„่าทั้งหมดต้องอยู่ระหว่าง 0 à¸–ึง 100",
+       "COLOUR_BLEND_TITLE": "ผสม",
+       "COLOUR_BLEND_COLOUR1": "สีที่ 1",
+       "COLOUR_BLEND_COLOUR2": "สีที่ 2",
+       "COLOUR_BLEND_RATIO": "อัตราส่วน",
+       "COLOUR_BLEND_TOOLTIP": "ผสมสองสีเข้าด้วยà¸à¸±à¸™à¸”้วยอัตราส่วน (0.0 - 1.0)",
+       "CONTROLS_REPEAT_HELPURL": "https://en.wikipedia.org/wiki/For_loop",
+       "CONTROLS_REPEAT_TITLE": "ทำซ้ำ %1 à¸„รั้ง",
+       "CONTROLS_REPEAT_INPUT_DO": "ทำ:",
+       "CONTROLS_REPEAT_TOOLTIP": "ทำซ้ำบางคำสั่งหลายครั้ง",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "ทำซ้ำขณะที่",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "ทำซ้ำจนà¸à¸£à¸°à¸—ั่ง",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "ขณะที่ค่าเป็นจริง à¸à¹‡à¸ˆà¸°à¸—ำบางคำสั่ง",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "ขณะที่ค่าเป็นเท็จ à¸à¹‡à¸ˆà¸°à¸—ำบางคำสั่ง",
+       "CONTROLS_FOR_TOOLTIP": "ตัวà¹à¸›à¸£ '%1' à¸ˆà¸°à¹€à¸£à¸´à¹ˆà¸¡à¸ˆà¸²à¸à¸ˆà¸³à¸™à¸§à¸™à¹€à¸£à¸´à¹ˆà¸¡à¸•à¹‰à¸™ à¹„ปจนถึงจำนวนสุดท้าย à¸•à¸²à¸¡à¸£à¸°à¸¢à¸°à¸—ี่à¸à¸³à¸«à¸™à¸” à¹à¸¥à¸° à¸—ำบล็อà¸à¸—ี่à¸à¸³à¸«à¸™à¸”ไว้",
+       "CONTROLS_FOR_TITLE": "นับด้วย %1 à¸ˆà¸²à¸ %2 à¸ˆà¸™à¸–ึง %3 à¹€à¸›à¸¥à¸µà¹ˆà¸¢à¸™à¸„่าทีละ %4",
+       "CONTROLS_FOREACH_TITLE": "จาà¸à¸—ุà¸à¸£à¸²à¸¢à¸à¸²à¸£ %1 à¹ƒà¸™à¸£à¸²à¸¢à¸Šà¸·à¹ˆà¸­ %2",
+       "CONTROLS_FOREACH_TOOLTIP": "จาà¸à¸—ุà¸à¸£à¸²à¸¢à¸à¸²à¸£à¹ƒà¸™à¸£à¸²à¸¢à¸Šà¸·à¹ˆà¸­ à¸•à¸±à¹‰à¸‡à¸„่าตัวà¹à¸›à¸£ \"%1\" à¹€à¸›à¹‡à¸™à¸£à¸²à¸¢à¸à¸²à¸£ à¹à¸¥à¸°à¸—ำตามคำสั่งที่à¸à¸³à¸«à¸™à¸”ไว้",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "ออà¸à¸ˆà¸²à¸à¸à¸²à¸£à¸§à¸™à¸‹à¹‰à¸³",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "เริ่มà¸à¸²à¸£à¸§à¸™à¸‹à¹‰à¸³à¸£à¸­à¸šà¸•à¹ˆà¸­à¹„ป",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "ออà¸à¸ˆà¸²à¸à¸à¸²à¸£à¸§à¸™à¸‹à¹‰à¸³à¸—ี่อยู่",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "ข้ามคำสั่งที่เหลืออยู่ à¹à¸¥à¸°à¹€à¸£à¸´à¹ˆà¸¡à¸•à¹‰à¸™à¸§à¸™à¸‹à¹‰à¸³à¸£à¸­à¸šà¸•à¹ˆà¸­à¹„ป",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "คำเตือน: à¸šà¸¥à¹‡à¸­à¸à¸™à¸µà¹‰à¹ƒà¸Šà¹‰à¸‡à¸²à¸™à¹„ด้ภายในà¸à¸²à¸£à¸§à¸™à¸‹à¹‰à¸³à¹€à¸—่านั้น",
+       "CONTROLS_IF_TOOLTIP_1": "ถ้าเงื่อนไขเป็นจริง à¸à¹‡à¸ˆà¸° \"ทำ\" à¸•à¸²à¸¡à¸—ี่à¸à¸³à¸«à¸™à¸”",
+       "CONTROLS_IF_TOOLTIP_2": "ถ้าเงื่อนไขเป็นจริง à¸à¹‡à¸ˆà¸° \"ทำ\" à¸•à¸²à¸¡à¸—ี่à¸à¸³à¸«à¸™à¸” à¹à¸•à¹ˆà¸–้าเงื่อนไขเป็นเท็จà¸à¹‡à¸ˆà¸°à¸—ำ \"นอà¸à¹€à¸«à¸™à¸·à¸­à¸ˆà¸²à¸à¸™à¸µà¹‰\"",
+       "CONTROLS_IF_TOOLTIP_3": "ถ้าเงื่อนไขà¹à¸£à¸à¹€à¸›à¹‡à¸™à¸ˆà¸£à¸´à¸‡ à¸à¹‡à¸ˆà¸°à¸—ำตามคำสั่งในบล็อà¸à¹à¸£à¸ à¹à¸•à¹ˆà¸–้าไม่à¸à¹‡à¸ˆà¸°à¹„ปตรวจเงื่อนไขที่สอง à¸–้าเงื่อนไขที่สองเป็นจริง à¸à¹‡à¸ˆà¸°à¸—ำตามเงื่อนไขในบล็อà¸à¸—ี่สองนี้",
+       "CONTROLS_IF_TOOLTIP_4": "ถ้าเงื่อนไขà¹à¸£à¸à¹€à¸›à¹‡à¸™à¸ˆà¸£à¸´à¸‡ à¸à¹‡à¸ˆà¸°à¸—ำคำสั่งในบล็อà¸à¹à¸£à¸ à¸ˆà¸²à¸à¸™à¸±à¹‰à¸™à¸ˆà¸°à¸‚้ามคำสั่งในบล็อà¸à¸—ี่เหลือ à¹à¸•à¹ˆà¸–้าเงื่อนไขà¹à¸£à¸à¹€à¸›à¹‡à¸™à¹€à¸—็จ à¸à¹‡à¸ˆà¸°à¸—ำà¸à¸²à¸£à¸•à¸£à¸§à¸ˆà¹€à¸‡à¸·à¹ˆà¸­à¸™à¹„ขที่สอง à¸–้าเงื่อนไขที่สองเป็นจริง à¸à¹‡à¸ˆà¸°à¸—ำตามคำสั่งในบล็อà¸à¸—ี่สอง à¸ˆà¸²à¸à¸™à¸±à¹‰à¸™à¸ˆà¸°à¸‚้ามคำสั่งในบล็อà¸à¸—ี่เหลือ à¹à¸•à¹ˆà¸–้าทั้งเงื่อนไขà¹à¸£à¸à¹à¸¥à¸°à¹€à¸‡à¸·à¹ˆà¸­à¸™à¹„ขที่สองเป็นเท็จทั้งหมด à¸à¹‡à¸ˆà¸°à¸¡à¸²à¸—ำบล็อà¸à¸—ี่สาม",
+       "CONTROLS_IF_MSG_IF": "ถ้า",
+       "CONTROLS_IF_MSG_ELSEIF": "นอà¸à¹€à¸«à¸™à¸·à¸­à¸ˆà¸²à¸à¸™à¸µà¹‰ à¸–้า",
+       "CONTROLS_IF_MSG_ELSE": "นอà¸à¹€à¸«à¸™à¸·à¸­à¸ˆà¸²à¸à¸™à¸µà¹‰",
+       "CONTROLS_IF_IF_TOOLTIP": "เพิ่ม à¸¥à¸š à¸«à¸£à¸·à¸­à¸ˆà¸±à¸”เรียงบล็อภ\"ถ้า\" à¸™à¸µà¹‰à¹ƒà¸«à¸¡à¹ˆ",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "à¸à¸³à¸«à¸™à¸”เงื่อนไขของบล็อภ\"ถ้า\"",
+       "CONTROLS_IF_ELSE_TOOLTIP": "เพิ่มสิ่งสุดท้าย à¸—ี่จะตรวจจับความเป็นไปได้ทั้งหมดของบล็อภ\"ถ้า\"",
+       "IOS_OK": "ตà¸à¸¥à¸‡",
+       "IOS_CANCEL": "ยà¸à¹€à¸¥à¸´à¸",
+       "IOS_ERROR": "ข้อผิดพลาด",
+       "IOS_PROCEDURES_INPUTS": "อินพุต",
+       "IOS_PROCEDURES_ADD_INPUT": "+ à¹€à¸žà¸´à¹ˆà¸¡à¸­à¸´à¸™à¸žà¸¸à¸•",
+       "IOS_PROCEDURES_ALLOW_STATEMENTS": "อนุà¸à¸²à¸•à¸„ำสั่ง",
+       "IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR": "ฟังà¸à¹Œà¸Šà¸±à¸™à¸™à¸µà¹‰à¸¡à¸µà¸­à¸´à¸™à¸žà¸¸à¸•à¸—ี่ซ้ำà¸à¸±à¸™",
+       "IOS_VARIABLES_ADD_VARIABLE": "+ à¹€à¸žà¸´à¹ˆà¸¡à¸•à¸±à¸§à¹à¸›à¸£",
+       "IOS_VARIABLES_ADD_BUTTON": "เพิ่ม",
+       "IOS_VARIABLES_RENAME_BUTTON": "เปลี่ยนชื่อ",
+       "IOS_VARIABLES_DELETE_BUTTON": "ลบ",
+       "IOS_VARIABLES_VARIABLE_NAME": "ชื่อตัวà¹à¸›à¸£",
+       "IOS_VARIABLES_EMPTY_NAME_ERROR": "คุณไม่สามารถใช้ชื่อตัวà¹à¸›à¸£à¸—ี่ว่างเปล่าได้",
+       "LOGIC_COMPARE_HELPURL": "https://th.wikipedia.org/wiki/อสมà¸à¸²à¸£",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "คืนค่าเป็น \"จริง\" à¸–้าค่าที่ใส่ทั้งสองค่านั้นเท่าà¸à¸±à¸™",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "คืนค่าเป็น \"จริง\" à¸–้าค่าที่ใส่ทั้งสองค่านั้นไม่เท่าà¸à¸±à¸™",
+       "LOGIC_COMPARE_TOOLTIP_LT": "คืนค่าเป็น \"จริง\" à¸–้าค่าà¹à¸£à¸à¸™à¹‰à¸­à¸¢à¸à¸§à¹ˆà¸²à¸„่าที่สอง",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "คืนค่าเป็น \"จริง\" à¸–้าค่าà¹à¸£à¸à¸™à¹‰à¸­à¸¢à¸à¸§à¹ˆà¸²à¸«à¸£à¸·à¸­à¹€à¸—่าà¸à¸±à¸šà¸„่าที่สอง",
+       "LOGIC_COMPARE_TOOLTIP_GT": "คืนค่าเป็น \"จริง\" à¸–้าค่าà¹à¸£à¸à¸¡à¸²à¸à¸à¸§à¹ˆà¸²à¸„่าที่สอง",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "คืนค่าเป็น \"จริง\" à¸–้าค่าà¹à¸£à¸à¸¡à¸²à¸à¸à¸§à¹ˆà¸²à¸«à¸£à¸·à¸­à¹€à¸—่าà¸à¸±à¸šà¸„่าที่สอง",
+       "LOGIC_OPERATION_TOOLTIP_AND": "คืนค่าเป็น \"จริง\" à¸–้าค่าทั้งสองค่าเป็นจริง",
+       "LOGIC_OPERATION_AND": "à¹à¸¥à¸°",
+       "LOGIC_OPERATION_TOOLTIP_OR": "คืนค่าเป็น \"จริง\" à¸–้ามีอย่างน้อยหนึ่งค่าที่เป็นจริง",
+       "LOGIC_OPERATION_OR": "หรือ",
+       "LOGIC_NEGATE_TITLE": "ไม่ %1",
+       "LOGIC_NEGATE_TOOLTIP": "คืนค่าเป็น \"จริง\" à¸–้าค่าที่ใส่เป็นเท็จ à¸„ืนค่าเป็น \"เท็จ\" à¸–้าค่าที่ใส่เป็นจริง",
+       "LOGIC_BOOLEAN_TRUE": "จริง",
+       "LOGIC_BOOLEAN_FALSE": "เท็จ",
+       "LOGIC_BOOLEAN_TOOLTIP": "คืนค่าเป็นจริงหรือเท็จ",
+       "LOGIC_NULL": "ไม่à¸à¸³à¸«à¸™à¸”",
+       "LOGIC_NULL_TOOLTIP": "คืนค่า \"ไม่à¸à¸³à¸«à¸™à¸”\"",
+       "LOGIC_TERNARY_CONDITION": "ทดสอบ",
+       "LOGIC_TERNARY_IF_TRUE": "ถ้า à¹€à¸›à¹‡à¸™à¸ˆà¸£à¸´à¸‡",
+       "LOGIC_TERNARY_IF_FALSE": "ถ้า à¹€à¸›à¹‡à¸™à¹€à¸—็จ",
+       "LOGIC_TERNARY_TOOLTIP": "ตรวจสอบเงื่อนไขใน \"ทดสอบ\" à¸–้าเงื่อนไขเป็นจริง à¸ˆà¸°à¸„ืนค่า \"ถ้า à¹€à¸›à¹‡à¸™à¸ˆà¸£à¸´à¸‡\" à¸–้าเงื่อนไขเป็นเท็จ à¸ˆà¸°à¸„ืนค่า \"ถ้า à¹€à¸›à¹‡à¸™à¹€à¸—็จ\"",
+       "MATH_NUMBER_HELPURL": "https://th.wikipedia.org/wiki/จำนวน",
+       "MATH_NUMBER_TOOLTIP": "จำนวน",
+       "MATH_ARITHMETIC_HELPURL": "https://th.wikipedia.org/wiki/เลขคณิต",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "คืนค่าผลรวมของตัวเลขทั้งสองจำนวน",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "คืนค่าผลต่างของตัวเลขทั้งสองจำนวน",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "คืนค่าผลคูณของตัวเลขทั้งสองจำนวน",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "คืนค่าผลหารของตัวเลขทั้งสองจำนวน",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "คืนค่าผลà¸à¸²à¸£à¸¢à¸à¸à¸³à¸¥à¸±à¸‡ à¹‚ดยตัวเลขà¹à¸£à¸à¹€à¸›à¹‡à¸™à¸à¸²à¸™ à¹à¸¥à¸°à¸•à¸±à¸§à¹€à¸¥à¸‚ที่สองเป็นเลขชี้à¸à¸³à¸¥à¸±à¸‡",
+       "MATH_SINGLE_HELPURL": "https://en.wikipedia.org/wiki/Square_root",
+       "MATH_SINGLE_OP_ROOT": "ราà¸à¸—ี่สอง",
+       "MATH_SINGLE_TOOLTIP_ROOT": "คืนค่าราà¸à¸—ี่สองของตัวเลข",
+       "MATH_SINGLE_OP_ABSOLUTE": "ค่าสัมบูรณ์",
+       "MATH_SINGLE_TOOLTIP_ABS": "คืนค่าค่าสัมบูรณ์ของตัวเลข",
+       "MATH_SINGLE_TOOLTIP_NEG": "คืนค่าติดลบของตัวเลข",
+       "MATH_SINGLE_TOOLTIP_LN": "คืนค่าลอà¸à¸²à¸£à¸´à¸—ึมธรรมชาติของตัวเลข",
+       "MATH_SINGLE_TOOLTIP_LOG10": "คืนค่าลอà¸à¸²à¸£à¸´à¸—ึมà¸à¸²à¸™à¸ªà¸´à¸šà¸‚องตัวเลข",
+       "MATH_SINGLE_TOOLTIP_EXP": "คืนค่า e à¸¢à¸à¸à¸³à¸¥à¸±à¸‡à¸”้วยตัวเลข",
+       "MATH_SINGLE_TOOLTIP_POW10": "คืนค่า 10 à¸¢à¸à¸à¸³à¸¥à¸±à¸‡à¸”้วยตัวเลข",
+       "MATH_TRIG_HELPURL": "https://th.wikipedia.org/wiki/ฟังà¸à¹Œà¸Šà¸±à¸™à¸•à¸£à¸µà¹‚à¸à¸“มิติ",
+       "MATH_TRIG_TOOLTIP_SIN": "คืนค่า sine à¸‚ององศา (ไม่ใช่เรเดียน)",
+       "MATH_TRIG_TOOLTIP_COS": "คืนค่า cosine à¸‚ององศา (ไม่ใช่เรเดียน)",
+       "MATH_TRIG_TOOLTIP_TAN": "คืนค่า tangent à¸‚ององศา (ไม่ใช่เรเดียน)",
+       "MATH_TRIG_TOOLTIP_ASIN": "คืนค่า arcsine à¸‚องตัวเลข",
+       "MATH_TRIG_TOOLTIP_ACOS": "คืนค่า arccosine à¸‚องตัวเลข",
+       "MATH_TRIG_TOOLTIP_ATAN": "คืนค่า arctangent à¸‚องตัวเลข",
+       "MATH_CONSTANT_HELPURL": "https://th.wikipedia.org/wiki/ค่าคงตัวทางคณิตศาสตร์",
+       "MATH_CONSTANT_TOOLTIP": "คืนค่าคงตัวทางคณิตศาสตร์ที่พบบ่อยๆ à¹€à¸Šà¹ˆà¸™ Ï€ (3.141…), e (2.718…), Ï† (1.618…), à¸£à¸²à¸à¸—ี่สอง (1.414…), à¸£à¸²à¸à¸—ี่ Â½ (0.707…), âˆž (อนันต์)",
+       "MATH_IS_EVEN": "เป็นจำนวนคู่",
+       "MATH_IS_ODD": "เป็นจำนวนคี่",
+       "MATH_IS_PRIME": "เป็นจำนวนเฉพาะ",
+       "MATH_IS_WHOLE": "เป็นเลขจำนวนเต็ม",
+       "MATH_IS_POSITIVE": "เป็นเลขบวà¸",
+       "MATH_IS_NEGATIVE": "เป็นเลขติดลบ",
+       "MATH_IS_DIVISIBLE_BY": "หารลงตัว",
+       "MATH_IS_TOOLTIP": "ตรวจว่าตัวเลขเป็นจำนวนคู่ à¸ˆà¸³à¸™à¸§à¸™à¸„ี่ à¸ˆà¸³à¸™à¸§à¸™à¹€à¸‰à¸žà¸²à¸° à¸ˆà¸³à¸™à¸§à¸™à¹€à¸•à¹‡à¸¡ à¹€à¸¥à¸‚บวภเลขติดลบ à¸«à¸£à¸·à¸­à¸«à¸²à¸£à¸”้วยเลขที่à¸à¸³à¸«à¸™à¸”ลงตัวหรือไม่ à¸„ืนค่าเป็นจริงหรือเท็จ",
+       "MATH_CHANGE_HELPURL": "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter",
+       "MATH_CHANGE_TITLE": "เปลี่ยนค่า %1 à¹€à¸›à¹‡à¸™ %2",
+       "MATH_CHANGE_TOOLTIP": "เพิ่มค่าของตัวà¹à¸›à¸£ \"%1\"",
+       "MATH_ROUND_HELPURL": "https://th.wikipedia.org/wiki/à¸à¸²à¸£à¸›à¸±à¸”เศษ",
+       "MATH_ROUND_TOOLTIP": "ปัดเศษของตัวเลขขึ้นหรือลง",
+       "MATH_ROUND_OPERATOR_ROUND": "ปัดเศษ",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "ปัดเศษขึ้น",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "ปัดเศษลง",
+       "MATH_ONLIST_OPERATOR_SUM": "ผลรวมของรายà¸à¸²à¸£",
+       "MATH_ONLIST_TOOLTIP_SUM": "คืนค่าผลรวมของตัวเลขทั้งหมดในรายà¸à¸²à¸£",
+       "MATH_ONLIST_OPERATOR_MIN": "น้อยที่สุดในรายà¸à¸²à¸£",
+       "MATH_ONLIST_TOOLTIP_MIN": "คืนค่าตัวเลขที่น้อยที่สุดในรายà¸à¸²à¸£",
+       "MATH_ONLIST_OPERATOR_MAX": "มาà¸à¸—ี่สุดในรายà¸à¸²à¸£",
+       "MATH_ONLIST_TOOLTIP_MAX": "คืนค่าตัวเลขที่มาà¸à¸—ี่สุดในรายà¸à¸²à¸£",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "ค่าเฉลี่ยของรายà¸à¸²à¸£",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "คืนค่าเฉลี่ยของรายà¸à¸²à¸£",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "ค่ามัธยà¸à¸²à¸™à¸‚องรายà¸à¸²à¸£",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "คืนค่ามัธยà¸à¸²à¸™à¸‚องรายà¸à¸²à¸£",
+       "MATH_ONLIST_OPERATOR_MODE": "à¸à¸²à¸™à¸™à¸´à¸¢à¸¡à¸‚องรายà¸à¸²à¸£",
+       "MATH_ONLIST_TOOLTIP_MODE": "คืนค่าà¸à¸²à¸™à¸™à¸´à¸¢à¸¡à¸‚องรายà¸à¸²à¸£",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "ส่วนเบี่ยงเบนมาตรà¸à¸²à¸™à¸‚องรายà¸à¸²à¸£",
+       "MATH_ONLIST_TOOLTIP_STD_DEV": "คืนค่าส่วนเบี่ยงเบนมาตรà¸à¸²à¸™à¸‚องรายà¸à¸²à¸£",
+       "MATH_ONLIST_OPERATOR_RANDOM": "สุ่มรายà¸à¸²à¸£",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "สุ่มคืนค่าสิ่งที่อยู่ในรายà¸à¸²à¸£",
+       "MATH_MODULO_HELPURL": "https://en.wikipedia.org/wiki/Modulo_operation",
+       "MATH_MODULO_TITLE": "เศษของ %1 Ã· %2",
+       "MATH_MODULO_TOOLTIP": "คืนค่าเศษที่ได้จาà¸à¸à¸²à¸£à¸«à¸²à¸£à¸‚องตัวเลขทั้งสองจำนวน",
+       "MATH_CONSTRAIN_TITLE": "จำà¸à¸±à¸”ค่า %1 à¸•à¹ˆà¸³à¸ªà¸¸à¸” %2 à¸ªà¸¹à¸‡à¸ªà¸¸à¸” %3",
+       "MATH_CONSTRAIN_TOOLTIP": "จำà¸à¸±à¸”ค่าของตัวเลขให้อยู่ในช่วงที่à¸à¸³à¸«à¸™à¸”",
+       "MATH_RANDOM_INT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_INT_TITLE": "สุ่มเลขจำนวนเต็มตั้งà¹à¸•à¹ˆ %1 à¸ˆà¸™à¸–ึง %2",
+       "MATH_RANDOM_INT_TOOLTIP": "สุ่มเลขจำนวนเต็มจาà¸à¸Šà¹ˆà¸§à¸‡à¸—ี่à¸à¸³à¸«à¸™à¸”",
+       "MATH_RANDOM_FLOAT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "สุ่มเลขเศษส่วน",
+       "MATH_RANDOM_FLOAT_TOOLTIP": "สุ่มเลขเศษส่วน à¸•à¸±à¹‰à¸‡à¹à¸•à¹ˆ 0.0 à¹à¸•à¹ˆà¹„ม่เà¸à¸´à¸™ 1.0",
+       "TEXT_TEXT_HELPURL": "https://th.wikipedia.org/wiki/สายอัà¸à¸‚ระ",
+       "TEXT_TEXT_TOOLTIP": "ตัวหนังสือ à¸„ำ à¸«à¸£à¸·à¸­à¸‚้อความ",
+       "TEXT_JOIN_TITLE_CREATEWITH": "สร้างข้อความด้วย",
+       "TEXT_JOIN_TOOLTIP": "สร้างข้อความด้วยà¸à¸²à¸£à¸£à¸§à¸¡à¸ˆà¸³à¸™à¸§à¸™à¸‚องรายà¸à¸²à¸£à¹€à¸‚้าด้วยà¸à¸±à¸™",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "รวม",
+       "TEXT_CREATE_JOIN_TOOLTIP": "เพิ่ม à¸¥à¸š à¸«à¸£à¸·à¸­à¸ˆà¸±à¸”เรียงบล็อà¸à¸‚้อความนี้ใหม่",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "เพิ่มรายà¸à¸²à¸£à¹€à¸‚้าไปในข้อความ",
+       "TEXT_APPEND_TITLE": "นำเอา %1 à¸•à¹ˆà¸­à¸”้วยข้อความ %2",
+       "TEXT_APPEND_TOOLTIP": "ต่อข้อความให้ตัวà¹à¸›à¸£ \"%1\"",
+       "TEXT_LENGTH_TITLE": "ความยาวของ %1",
+       "TEXT_LENGTH_TOOLTIP": "คืนค่าความยาวของข้อความ (รวมช่องว่าง)",
+       "TEXT_ISEMPTY_TITLE": "%1 à¸§à¹ˆà¸²à¸‡",
+       "TEXT_ISEMPTY_TOOLTIP": "คืนค่าจริง à¸–้าข้อความยังว่างเปล่า",
+       "TEXT_INDEXOF_TOOLTIP": "คืนค่าตำà¹à¸«à¸™à¹ˆà¸‡à¸—ี่พบข้อความà¹à¸£à¸à¸­à¸¢à¸¹à¹ˆà¹ƒà¸™à¸‚้อความที่สอง à¸„ืนค่า %1 à¸–้าหาไม่พบ",
+       "TEXT_INDEXOF_TITLE": "ในข้อความ %1 %2 %3",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "หาข้อความà¹à¸£à¸à¸—ี่พบ",
+       "TEXT_INDEXOF_OPERATOR_LAST": "หาข้อความสุดท้ายที่พบ",
+       "TEXT_CHARAT_TITLE": "ในข้อความ %1 %2",
+       "TEXT_CHARAT_FROM_START": "ดึง à¸•à¸±à¸§à¸­à¸±à¸à¸©à¸£à¸•à¸±à¸§à¸—ี่",
+       "TEXT_CHARAT_FROM_END": "ดึง à¸•à¸±à¸§à¸­à¸±à¸à¸©à¸£à¸•à¸±à¸§à¸—ี่ # à¸ˆà¸²à¸à¸—้าย",
+       "TEXT_CHARAT_FIRST": "ดึง à¸•à¸±à¸§à¸­à¸±à¸à¸©à¸£à¸•à¸±à¸§à¹à¸£à¸",
+       "TEXT_CHARAT_LAST": "ดึง à¸•à¸±à¸§à¸­à¸±à¸à¸©à¸£à¸•à¸±à¸§à¸ªà¸¸à¸”ท้าย",
+       "TEXT_CHARAT_RANDOM": "ถึงตัวอัà¸à¸©à¸£à¹à¸šà¸šà¸ªà¸¸à¹ˆà¸¡",
+       "TEXT_CHARAT_TOOLTIP": "คืนค่าตัวอัà¸à¸©à¸£à¸ˆà¸²à¸à¸•à¸³à¹à¸«à¸™à¹ˆà¸‡à¸—ี่ระบุ",
+       "TEXT_GET_SUBSTRING_TOOLTIP": "คืนค่าบางส่วนของข้อความ",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "ในข้อความ",
+       "TEXT_GET_SUBSTRING_START_FROM_START": "à¹à¸¢à¸à¸‚้อความย่อยตั้งà¹à¸•à¹ˆ à¸•à¸±à¸§à¸­à¸±à¸à¸©à¸£à¸—ี่",
+       "TEXT_GET_SUBSTRING_START_FROM_END": "à¹à¸¢à¸à¸‚้อความย่อยตั้งà¹à¸•à¹ˆ à¸•à¸±à¸§à¸­à¸±à¸à¸©à¸£à¸—ี่ # à¸ˆà¸²à¸à¸—้าย",
+       "TEXT_GET_SUBSTRING_START_FIRST": "à¹à¸¢à¸à¸‚้อความย่อยตั้งà¹à¸•à¹ˆ à¸•à¸±à¸§à¸­à¸±à¸à¸©à¸£à¹à¸£à¸",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "จนถึง à¸•à¸±à¸§à¸­à¸±à¸à¸©à¸£à¸—ี่",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "จนถึง à¸•à¸±à¸§à¸­à¸±à¸à¸©à¸£à¸—ี่ # à¸ˆà¸²à¸à¸—้าย",
+       "TEXT_GET_SUBSTRING_END_LAST": "จนถึง à¸•à¸±à¸§à¸­à¸±à¸à¸©à¸£à¸ªà¸¸à¸”ท้าย",
+       "TEXT_CHANGECASE_TOOLTIP": "คืนค่าสำเนาของข้อความในà¸à¸£à¸“ีต่างๆ",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "เปลี่ยนเป็น à¸•à¸±à¸§à¸žà¸´à¸¡à¸žà¹Œà¹ƒà¸«à¸à¹ˆ",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "เปลี่ยนเป็น à¸•à¸±à¸§à¸žà¸´à¸¡à¸žà¹Œà¹€à¸¥à¹‡à¸",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": "เปลี่ยนเป็น à¸•à¸±à¸§à¸­à¸±à¸à¸©à¸£à¹à¸£à¸à¹€à¸›à¹‡à¸™à¸•à¸±à¸§à¸žà¸´à¸¡à¸žà¹Œà¹ƒà¸«à¸à¹ˆ",
+       "TEXT_TRIM_TOOLTIP": "คืนค่าสำเนาของข้อความที่ลบเอาช่องว่างหน้าà¹à¸¥à¸°à¸«à¸¥à¸±à¸‡à¸‚้อความออà¸à¹à¸¥à¹‰à¸§",
+       "TEXT_TRIM_OPERATOR_BOTH": "ลบช่องว่างทั้งสองข้างของ",
+       "TEXT_TRIM_OPERATOR_LEFT": "ลบช่องว่างด้านหน้าของ",
+       "TEXT_TRIM_OPERATOR_RIGHT": "ลบช่องว่างข้างท้ายของ",
+       "TEXT_PRINT_TITLE": "พิมพ์ %1",
+       "TEXT_PRINT_TOOLTIP": "พิมพ์ข้อความ à¸•à¸±à¸§à¹€à¸¥à¸‚ à¸«à¸£à¸·à¸­à¸„่าอื่นๆ",
+       "TEXT_PROMPT_TYPE_TEXT": "à¹à¸ªà¸”งหน้าต่างข้อความ",
+       "TEXT_PROMPT_TYPE_NUMBER": "à¹à¸ªà¸”งหน้าต่างตัวเลข",
+       "TEXT_PROMPT_TOOLTIP_NUMBER": "à¹à¸ªà¸”งหน้าต่างให้ผู้ใช้ใส่ตัวเลข",
+       "TEXT_PROMPT_TOOLTIP_TEXT": "à¹à¸ªà¸”งหน้าต่างให้ผู้ใช้ใส่ข้อความ",
+       "TEXT_COUNT_MESSAGE0": "นับ %1 à¸ à¸²à¸¢à¹ƒà¸™ %2",
+       "TEXT_COUNT_TOOLTIP": "นับจำนวนข้อความà¹à¸£à¸à¸—ี่พบอยู่ในข้อความที่สอง",
+       "TEXT_REPLACE_MESSAGE0": "à¹à¸—นที่ %1 à¸”้วย %2 à¹ƒà¸™ %3",
+       "TEXT_REPLACE_TOOLTIP": "à¹à¸—นที่ข้อความà¹à¸£à¸à¸—ั้งหมดที่พบในข้อความที่สอง",
+       "TEXT_REVERSE_MESSAGE0": "เรียง %1 à¹à¸šà¸šà¸¢à¹‰à¸­à¸™à¸à¸¥à¸±à¸š",
+       "TEXT_REVERSE_TOOLTIP": "เรียงตัวอัà¸à¸©à¸£à¸—ั้งหมดของข้อความà¹à¸šà¸šà¸¢à¹‰à¸­à¸™à¸à¸¥à¸±à¸š",
+       "LISTS_CREATE_EMPTY_TITLE": "สร้างรายà¸à¸²à¸£à¹€à¸›à¸¥à¹ˆà¸²",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "สร้างรายà¸à¸²à¸£à¹€à¸›à¸¥à¹ˆà¸² (ความยาวเป็น 0) à¸¢à¸±à¸‡à¹„ม่มีข้อมูลใดๆ à¸­à¸¢à¸¹à¹ˆ",
+       "LISTS_CREATE_WITH_TOOLTIP": "สร้างรายà¸à¸²à¸£à¸žà¸£à¹‰à¸­à¸¡à¸”้วยไอเท็ม",
+       "LISTS_CREATE_WITH_INPUT_WITH": "สร้างข้อความด้วย",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "รายà¸à¸²à¸£",
+       "LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "เพิ่ม à¸¥à¸š à¸«à¸£à¸·à¸­à¸ˆà¸±à¸”เรียงบล็อà¸à¸£à¸²à¸¢à¸à¸²à¸£à¸™à¸µà¹‰à¹ƒà¸«à¸¡à¹ˆ",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "เพิ่มไอเท็มเข้าไปในรายà¸à¸²à¸£",
+       "LISTS_REPEAT_TOOLTIP": "สร้างรายà¸à¸²à¸£à¸—ี่ประà¸à¸­à¸šà¸”้วยค่าตามที่ระบุในจำนวนตามที่ต้องà¸à¸²à¸£",
+       "LISTS_REPEAT_TITLE": "สร้างรายà¸à¸²à¸£à¸—ี่มีไอเท็ม %1 à¸ˆà¸³à¸™à¸§à¸™ %2",
+       "LISTS_LENGTH_TITLE": "ความยาวของ %1",
+       "LISTS_LENGTH_TOOLTIP": "ส่งคืนค่าความยาวของรายà¸à¸²à¸£",
+       "LISTS_ISEMPTY_TITLE": "%1 à¸§à¹ˆà¸²à¸‡à¹€à¸›à¸¥à¹ˆà¸²",
+       "LISTS_ISEMPTY_TOOLTIP": "คืนค่าเป็นจริง à¸–้ารายà¸à¸²à¸£à¸¢à¸±à¸‡à¸§à¹ˆà¸²à¸‡à¹€à¸›à¸¥à¹ˆà¸²",
+       "LISTS_INLIST": "ในรายà¸à¸²à¸£",
+       "LISTS_INDEX_OF_FIRST": "หาอันà¹à¸£à¸à¸—ี่พบ",
+       "LISTS_INDEX_OF_LAST": "หาอันสุดท้ายที่พบ",
+       "LISTS_INDEX_OF_TOOLTIP": "คืนค่าตำà¹à¸«à¸™à¹ˆà¸‡à¸‚องไอเท็มอันà¹à¸£à¸/สุดท้ายที่พบในรายà¸à¸²à¸£ à¸„ืนค่า %1 à¸–้าหาไม่พบ",
+       "LISTS_GET_INDEX_GET": "เรียà¸à¸”ู",
+       "LISTS_GET_INDEX_GET_REMOVE": "เรียà¸à¸”ูà¹à¸¥à¸°à¹€à¸­à¸²à¸­à¸­à¸",
+       "LISTS_GET_INDEX_REMOVE": "เอาออà¸",
+       "LISTS_GET_INDEX_FROM_END": "# à¸ˆà¸²à¸à¸—้าย",
+       "LISTS_GET_INDEX_FIRST": "à¹à¸£à¸à¸ªà¸¸à¸”",
+       "LISTS_GET_INDEX_LAST": "ท้ายสุด",
+       "LISTS_GET_INDEX_RANDOM": "สุ่ม",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "%1 à¸„ือไอเท็มอันà¹à¸£à¸à¸ªà¸¸à¸”",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "%1 à¸„ือไอเท็มอันท้ายสุด",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "คืนค่าเป็นไอเท็มตามตำà¹à¸«à¸™à¹ˆà¸‡à¸—ี่ระบุ",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "คืนค่าไอเท็มอันà¹à¸£à¸à¹ƒà¸™à¸£à¸²à¸¢à¸à¸²à¸£",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "คืนค่าไอเท็มอันสุดท้ายในรายà¸à¸²à¸£",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "คืนค่าไอเท็มà¹à¸šà¸šà¸ªà¸¸à¹ˆà¸¡à¸ˆà¸²à¸à¸£à¸²à¸¢à¸à¸²à¸£",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "เอาออภà¹à¸¥à¸°à¸„ืนค่าไอเท็มในตำà¹à¸«à¸™à¹ˆà¸‡à¸—ี่ระบุจาà¸à¸£à¸²à¸¢à¸à¸²à¸£",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "เอาออภà¹à¸¥à¸°à¸„ืนค่าไอเท็มอันà¹à¸£à¸à¹ƒà¸™à¸£à¸²à¸¢à¸à¸²à¸£",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "เอาออภà¹à¸¥à¸°à¸„ืนค่าไอเท็มอันสุดท้ายในรายà¸à¸²à¸£",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "เอาออภà¹à¸¥à¸°à¸„ืนค่าไอเท็มà¹à¸šà¸šà¸ªà¸¸à¹ˆà¸¡à¸ˆà¸²à¸à¸£à¸²à¸¢à¸à¸²à¸£",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "คืนค่าเป็นไอเท็มตามตำà¹à¸«à¸™à¹ˆà¸‡à¸—ี่ระบุ",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "เอาไอเท็มà¹à¸£à¸à¸ªà¸¸à¸”ในรายà¸à¸²à¸£à¸­à¸­à¸",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "เอาไอเท็มอันท้ายสุดในรายà¸à¸²à¸£à¸­à¸­à¸",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "เอาไอเท็มà¹à¸šà¸šà¸ªà¸¸à¹ˆà¸¡à¸ˆà¸²à¸à¸£à¸²à¸¢à¸à¸²à¸£à¸­à¸­à¸",
+       "LISTS_SET_INDEX_SET": "à¸à¸³à¸«à¸™à¸”",
+       "LISTS_SET_INDEX_INSERT": "à¹à¸—รà¸à¸—ี่",
+       "LISTS_SET_INDEX_INPUT_TO": "เป็น",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "à¸à¸³à¸«à¸™à¸”ไอเท็มในตำà¹à¸«à¸™à¹ˆà¸‡à¸—ี่ระบุในรายà¸à¸²à¸£",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "à¸à¸³à¸«à¸™à¸”ไอเท็มอันà¹à¸£à¸à¹ƒà¸™à¸£à¸²à¸¢à¸à¸²à¸£",
+       "LISTS_SET_INDEX_TOOLTIP_SET_LAST": "à¸à¸³à¸«à¸™à¸”ไอเท็มอันสุดท้ายในรายà¸à¸²à¸£",
+       "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "à¸à¸³à¸«à¸™à¸”ไอเท็มà¹à¸šà¸šà¸ªà¸¸à¹ˆà¸¡à¹ƒà¸™à¸£à¸²à¸¢à¸à¸²à¸£",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "à¹à¸—รà¸à¹„อเท็มเข้าไปในตำà¹à¸«à¸™à¹ˆà¸‡à¸—ี่à¸à¸³à¸«à¸™à¸”",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "à¹à¸—รà¸à¹„อเท็มเข้าไปเป็นอันà¹à¸£à¸à¸ªà¸¸à¸”ของรายà¸à¸²à¸£",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "เพิ่มไอเท็มเข้าไปท้ายสุดของรายà¸à¸²à¸£",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "เพิ่มไอเท็มเข้าไปในรายà¸à¸²à¸£à¹à¸šà¸šà¸ªà¸¸à¹ˆà¸¡",
+       "LISTS_GET_SUBLIST_START_FROM_START": "ดึงรายà¸à¸²à¸£à¸¢à¹ˆà¸­à¸¢à¸ˆà¸²à¸ #",
+       "LISTS_GET_SUBLIST_START_FROM_END": "ดึงรายà¸à¸²à¸£à¸¢à¹ˆà¸­à¸¢à¸ˆà¸²à¸ # à¸ˆà¸²à¸à¸—้ายสุด",
+       "LISTS_GET_SUBLIST_START_FIRST": "ดึงรายà¸à¸²à¸£à¸¢à¹ˆà¸­à¸¢à¸—ั้งà¹à¸•à¹ˆà¹à¸£à¸à¸ªà¸¸à¸”",
+       "LISTS_GET_SUBLIST_END_FROM_START": "จนถึง #",
+       "LISTS_GET_SUBLIST_END_FROM_END": "ถึง #  à¸ˆà¸²à¸à¸—้ายสุด",
+       "LISTS_GET_SUBLIST_END_LAST": "ถึง à¸—้ายสุด",
+       "LISTS_GET_SUBLIST_TOOLTIP": "สร้างสำเนารายà¸à¸²à¸£à¹ƒà¸™à¸Šà¹ˆà¸§à¸‡à¸—ี่à¸à¸³à¸«à¸™à¸”",
+       "LISTS_SORT_HELPURL": "https://github.com/google/blockly/wiki/Lists#sorting-a-list",
+       "LISTS_SORT_TITLE": "เรียงลำดับ %1 %2 %3",
+       "LISTS_SORT_TOOLTIP": "เรียงลำดับสำเนาของรายชื่อ",
+       "LISTS_SORT_ORDER_ASCENDING": "น้อยไปหามาà¸",
+       "LISTS_SORT_ORDER_DESCENDING": "มาà¸à¹„ปหาน้อย",
+       "LISTS_SORT_TYPE_NUMERIC": "ตัวเลข",
+       "LISTS_SORT_TYPE_TEXT": "ตัวอัà¸à¸©à¸£",
+       "LISTS_SORT_TYPE_IGNORECASE": "ตัวอัà¸à¸©à¸£",
+       "LISTS_SPLIT_LIST_FROM_TEXT": "สร้างรายà¸à¸²à¸£à¸ˆà¸²à¸à¸‚้อความ",
+       "LISTS_SPLIT_TEXT_FROM_LIST": "สร้างข้อความจาà¸à¸£à¸²à¸¢à¸à¸²à¸£",
+       "LISTS_SPLIT_WITH_DELIMITER": "ด้วยตัวคั่น",
+       "LISTS_SPLIT_TOOLTIP_SPLIT": "à¹à¸šà¹ˆà¸‡à¸‚้อความเป็นรายà¸à¸²à¸£à¸‚้อความ à¹à¸¢à¸à¹à¸•à¹ˆà¸¥à¸°à¸£à¸²à¸¢à¸à¸²à¸£à¸”้วยตัวคั่น",
+       "LISTS_SPLIT_TOOLTIP_JOIN": "รวมรายà¸à¸²à¸£à¸‚้อความเป็นข้อความเดียว à¹à¸šà¹ˆà¸‡à¸”้วยตัวคั่น",
+       "LISTS_REVERSE_MESSAGE0": "เรียง %1 à¹à¸šà¸šà¸¢à¹‰à¸­à¸™à¸à¸¥à¸±à¸š",
+       "LISTS_REVERSE_TOOLTIP": "เรียงลำดับสำเนาของรายชื่อà¹à¸šà¸šà¸¢à¹‰à¸­à¸™à¸à¸¥à¸±à¸š",
+       "VARIABLES_GET_TOOLTIP": "คืนค่าของตัวà¹à¸›à¸£à¸™à¸µà¹‰",
+       "VARIABLES_GET_CREATE_SET": "สร้าง \"à¸à¸³à¸«à¸™à¸” %1\"",
+       "VARIABLES_SET": "à¸à¸³à¸«à¸™à¸” %1 à¸ˆà¸™à¸–ึง %2",
+       "VARIABLES_SET_TOOLTIP": "à¸à¸³à¸«à¸™à¸”ให้ตัวà¹à¸›à¸£à¸™à¸µà¹‰à¹€à¸—่าà¸à¸±à¸šà¸à¸²à¸£à¸›à¹‰à¸­à¸™à¸‚้อมูล",
+       "VARIABLES_SET_CREATE_GET": "สร้าง \"get %1\"",
+       "PROCEDURES_DEFNORETURN_TITLE": "ถึง",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "ทำอะไรบางอย่าง",
+       "PROCEDURES_BEFORE_PARAMS": "ด้วย:",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "ด้วย:",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "สร้างฟังà¸à¹Œà¸Šà¸±à¸™à¸—ี่ไม่มีผลลัพธ์",
+       "PROCEDURES_DEFNORETURN_COMMENT": "อธิบายฟังà¸à¹Œà¸Šà¸±à¸™à¸™à¸µà¹‰",
+       "PROCEDURES_DEFRETURN_RETURN": "คืนค่า",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "สร้างฟังà¸à¹Œà¸Šà¸±à¸™à¸—ี่มีผลลัพธ์",
+       "PROCEDURES_ALLOW_STATEMENTS": "ข้อความที่ใช้ได้",
+       "PROCEDURES_DEF_DUPLICATE_WARNING": "ระวัง: à¸Ÿà¸±à¸‡à¸à¹Œà¸Šà¸±à¸™à¸™à¸µà¹‰à¸¡à¸µà¸žà¸²à¸£à¸²à¸¡à¸´à¹€à¸•à¸­à¸£à¹Œà¸—ี่มีชื่อซ้ำà¸à¸±à¸™",
+       "PROCEDURES_CALLNORETURN_HELPURL": "https://th.wikipedia.org/wiki/ซับรู้ทีน",
+       "PROCEDURES_CALLNORETURN_TOOLTIP": "เรียà¸à¹ƒà¸Šà¹‰à¸Ÿà¸±à¸‡à¸à¹Œà¸Šà¸±à¸™à¸—ี่สร้างโดยผู้ใช้ \"%1\"",
+       "PROCEDURES_CALLRETURN_HELPURL": "https://th.wikipedia.org/wiki/ซับรูทีน",
+       "PROCEDURES_CALLRETURN_TOOLTIP": "เรียà¸à¹ƒà¸Šà¹‰à¸Ÿà¸±à¸‡à¸à¹Œà¸Šà¸±à¸™à¸—ี่สร้างโดยผู้ใช้ \"%1\" à¹à¸¥à¸°à¹ƒà¸Šà¹‰à¸œà¸¥à¸¥à¸±à¸žà¸˜à¹Œà¸‚องมัน",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "นำเข้า",
+       "PROCEDURES_MUTATORCONTAINER_TOOLTIP": "เพิ่ม, à¸¥à¸š, à¸«à¸£à¸·à¸­à¸ˆà¸±à¸”เรียง à¸‚้อมูลที่ป้อนเข้าฟังà¸à¹Œà¸Šà¸±à¸™à¸™à¸µà¹‰",
+       "PROCEDURES_MUTATORARG_TITLE": "ชื่อนำเข้า:",
+       "PROCEDURES_MUTATORARG_TOOLTIP": "เพิ่มค่าป้อนเข้าฟังà¸à¹Œà¸Šà¸±à¸™",
+       "PROCEDURES_HIGHLIGHT_DEF": "เน้นฟังà¸à¹Œà¸Šà¸±à¸™à¸™à¸´à¸¢à¸²à¸¡",
+       "PROCEDURES_CREATE_DO": "สร้าง \"%1\"",
+       "PROCEDURES_IFRETURN_TOOLTIP": "ถ้ามีค่าเป็นจริง à¹ƒà¸«à¹‰à¸„ืนค่าที่สอง",
+       "PROCEDURES_IFRETURN_WARNING": "ระวัง: à¸šà¸¥à¹‡à¸­à¸à¸™à¸µà¹‰à¹ƒà¸Šà¹‰à¹€à¸‰à¸žà¸²à¸°à¹ƒà¸™à¸à¸²à¸£à¸ªà¸£à¹‰à¸²à¸‡à¸Ÿà¸±à¸‡à¸à¹Œà¸Šà¸±à¸™à¹€à¸—่านั้น"
+}
diff --git a/js/msg/json/tl.json b/js/msg/json/tl.json
new file mode 100644 (file)
index 0000000..fc643d3
--- /dev/null
@@ -0,0 +1,130 @@
+{
+       "@metadata": {
+               "authors": [
+                       "ì•„ë¼"
+               ]
+       },
+       "DUPLICATE_BLOCK": "Kaparehas",
+       "ADD_COMMENT": "Dagdag komento",
+       "EXTERNAL_INPUTS": "Panlabas na Inputs",
+       "INLINE_INPUTS": "Inline na Inputs",
+       "DELETE_BLOCK": "burahin ang bloke",
+       "DELETE_X_BLOCKS": "burahin %1 ng bloke",
+       "COLLAPSE_BLOCK": "bloke",
+       "COLLAPSE_ALL": "bloke",
+       "EXPAND_BLOCK": "Palawakin ang Block",
+       "EXPAND_ALL": "Palawakin ang Blocks",
+       "DISABLE_BLOCK": "Ipangwalang bisa ang Block",
+       "ENABLE_BLOCK": "Bigyan ng bisa ang Block",
+       "HELP": "Tulong",
+       "CHANGE_VALUE_TITLE": "pagbago ng value:",
+       "COLOUR_PICKER_TOOLTIP": "pagpili ng kulay sa paleta.",
+       "COLOUR_RANDOM_TITLE": "iba ibang kulay",
+       "COLOUR_RANDOM_TOOLTIP": "pagpili ng iba't ibang kulay.",
+       "COLOUR_RGB_TITLE": "kulayan ng",
+       "COLOUR_RGB_RED": "pula",
+       "COLOUR_RGB_GREEN": "berde",
+       "COLOUR_RGB_BLUE": "asul",
+       "COLOUR_RGB_TOOLTIP": "gumawa ng kulay ng may espisipikong dami ng kulay pula, berde, at asul. lahat ng halaga ay dapat sa pagitan ng 0 at 100.",
+       "COLOUR_BLEND_TITLE": "halo",
+       "COLOUR_BLEND_COLOUR1": "kulay 1",
+       "COLOUR_BLEND_COLOUR2": "kulay 2",
+       "COLOUR_BLEND_RATIO": "proporsyon",
+       "COLOUR_BLEND_TOOLTIP": "Paghalo ng dalawang kulay kasama ng ibinigay na proporsyon (0.0 - 1.0).",
+       "CONTROLS_REPEAT_TITLE": "ulitin %1 beses",
+       "CONTROLS_REPEAT_INPUT_DO": "gawin",
+       "CONTROLS_REPEAT_TOOLTIP": "gumawa ng ilang pangungusap ng ilang ulit.",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "ulitin habang",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "ulitin hanggang",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "Habang ang value ay true, gagawin ang ibang statements.",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "Habang ang value ay false, gagawin ang ibang statements.",
+       "CONTROLS_FOR_TOOLTIP": "Magkaroon ng mga variable na \"%1\" na tanggalin ng mga halaga mula sa simulang numero hanggang sa dulong numero, at bilangin sa pamamagitan ng tinukoy na agwat, at gawin ang mga tinukoy na mga blocks.",
+       "CONTROLS_FOR_TITLE": "bilangin %1 mula %2 hanggang %3 ng %4",
+       "CONTROLS_FOREACH_TITLE": "sa bawat bagay %1 sa listahan %2",
+       "CONTROLS_FOREACH_TOOLTIP": "Para sa bawat item sa isang list, i-set ang variable ng '%1' sa mga item, at pagkatapos ay gumawa ng ilang mga statements.",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "putulin ang paulit ulit",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "Magpatuloy sa susunod na pag-ulit ng loop",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "Hatiin ang nilalaman ng loop.",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "Laktawan ang natitirang bahagi ng loop, at magpatuloy sa susunod na pag-ulit.",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "Babala: Ang block ito ay maaari lamang magamit sa loob ng loop.",
+       "CONTROLS_IF_TOOLTIP_1": "kung ang value ay true,  gagawin ang do statements.",
+       "CONTROLS_IF_TOOLTIP_2": "Kung ang value ay true, gagawin ang unang block ng do statements. Kung hindi, gagawin ang pangalawang block ng statement.",
+       "CONTROLS_IF_TOOLTIP_3": "Kung ang unang value ay true, gagawin ang first block ng statement. Kung hindi, kung ang second value ay true, gagawin ang second block ng statement.",
+       "CONTROLS_IF_TOOLTIP_4": "Kung ang first value ay true, gagawin ang first block ng statement. Kung hindi true ang second value, gagawin ang second block ng statement. Kung wala sa mga values ay true, gagawin ang last block ng statements.",
+       "CONTROLS_IF_MSG_IF": "kung",
+       "CONTROLS_IF_IF_TOOLTIP": "Mag Add, remove o kaya mag reorder ng sections para maayos ang if block.",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "Mag dagdag ng condition sa if block.",
+       "CONTROLS_IF_ELSE_TOOLTIP": "Mag Add ng final, kunin lahat ng condition sa if block.",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "Nag babalik ng true kung ang pinasok ay parehong magkatumbas.",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "Return true if both inputs are not equal to each other.",
+       "LOGIC_COMPARE_TOOLTIP_LT": "Nag babalik ng true kung ang unang pinasok ay maliit kaysa sa pangalawang pinasok.",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "Nag babalik ng true kung ang unang pinasok ay maliit sa o katumbas sa pangalawang pinasok.",
+       "LOGIC_COMPARE_TOOLTIP_GT": "Nagbabalik ng true kung ang unang pinasok ay mas malaki kaysa pangalawang pinasok.",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "Nag babalik ng true kung ang unang pinasok ay mas malaki or katumbas ng pangalawang pinasok.",
+       "LOGIC_OPERATION_AND": "at",
+       "LOGIC_OPERATION_OR": "o",
+       "LOGIC_BOOLEAN_TRUE": "tama",
+       "LOGIC_BOOLEAN_FALSE": "mali",
+       "LOGIC_BOOLEAN_TOOLTIP": "Nag babalik ng true or false.",
+       "LOGIC_NULL": "blangko",
+       "LOGIC_TERNARY_IF_TRUE": "kung tama",
+       "LOGIC_TERNARY_IF_FALSE": "kung mali",
+       "MATH_IS_POSITIVE": "ay positibo",
+       "MATH_IS_NEGATIVE": "ay negatibo",
+       "MATH_CHANGE_TITLE": "baguhin %1 by %2",
+       "LISTS_CREATE_EMPTY_TITLE": "Gumawa ng walang laman na list",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "Ibabalik ang list, na may haba na 0, nag lalaman ng walang data records",
+       "LISTS_CREATE_WITH_TOOLTIP": "Gumawa ng list na may kahit anong number ng items.",
+       "LISTS_CREATE_WITH_INPUT_WITH": "gumawa ng list kasama",
+       "LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "Magdagdag, mag tanggal or mag ayos ng sections para muling maayos ang listahan ng block.",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "Mag dagdag ng item sa list.",
+       "LISTS_REPEAT_TOOLTIP": "Pag gawa ng list na binubuo ng binigay na value at inulit na tinuloy na bilang ng beses.",
+       "LISTS_REPEAT_TITLE": "pag gawa ng list kasama ng item %1 inuulit %2 beses",
+       "LISTS_LENGTH_TITLE": "haba ng %1",
+       "LISTS_LENGTH_TOOLTIP": "Pag balik ng haba ng list.",
+       "LISTS_ISEMPTY_TITLE": "%1 ay walang laman",
+       "LISTS_ISEMPTY_TOOLTIP": "Nagbabalik ng true kung ang list ay walang laman.",
+       "LISTS_INLIST": "sa list",
+       "LISTS_INDEX_OF_FIRST": "Hanapin ang unang pangyayari ng item",
+       "LISTS_INDEX_OF_LAST": "hanapin ang huling pangyayari ng item",
+       "LISTS_INDEX_OF_TOOLTIP": "Pagbalik ng index ng una/huli pangyayari ng item sa list. Pagbalik ng %1 kung ang item ay hindi makita.",
+       "LISTS_GET_INDEX_GET": "kunin",
+       "LISTS_GET_INDEX_GET_REMOVE": "kunin at tanggalin",
+       "LISTS_GET_INDEX_REMOVE": "tanggalin",
+       "LISTS_GET_INDEX_FROM_START": "#",
+       "LISTS_GET_INDEX_FROM_END": "# mula katapusan",
+       "LISTS_GET_INDEX_FIRST": "Una",
+       "LISTS_GET_INDEX_LAST": "huli",
+       "LISTS_GET_INDEX_RANDOM": "nang hindi pinipili",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "%1 ay ang unang item.",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "%1 ay ang huling item.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "Ibalik ang item sa itinakdang posisyon sa list.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "Ibalik ang unang item sa list.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "Ibalik ang huling item sa list.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "Nag babalik ng hindi pinipiling item sa list.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "Nag tatanggal at nag babalik ng mga items sa tinukoy na posisyon sa list.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "Nag tatanggal at nag babalik ng mga unang item sa list.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "Nag tatanggal at nag babalik ng huling item sa list.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "Nag tatanggal at nag babalik ng mga hindi pinipiling item sa list.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "Nag tatanggal ng item sa tinukoy na posisyon sa list.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "Nag tatanggal ng unang item sa list.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "Nag tatanggal ng huling item sa list.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "Nag tatanggal ng item mula sa walang pinipiling list.",
+       "LISTS_SET_INDEX_INSERT": "isingit sa",
+       "LISTS_SET_INDEX_INPUT_TO": "gaya ng",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "Pag set ng item sa tinukoy na position sa isang list.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "Pag set ng unang item sa isang list.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_LAST": "Pag set sa huling item sa isang list.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "Pag set ng walang pinipiling item sa isang list.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "Nag singit ng item sa tinukoy na posistion sa list.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "Nag singit ng item sa simula ng list.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "Idagdag ang item sa huli ng isang list.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "Isingit ang item ng walang pinipili sa isang list.",
+       "LISTS_GET_SUBLIST_START_FROM_START": "pag kuha ng sub-list mula #",
+       "LISTS_GET_SUBLIST_START_FROM_END": "pag kuha ng sub-list mula sa # mula huli",
+       "LISTS_GET_SUBLIST_START_FIRST": "pag kuha ng sub-list mula sa una",
+       "LISTS_GET_SUBLIST_END_FROM_START": "mula #",
+       "LISTS_GET_SUBLIST_END_FROM_END": "mula # hanggang huli",
+       "LISTS_GET_SUBLIST_END_LAST": "hanggang huli",
+       "LISTS_GET_SUBLIST_TOOLTIP": "Gumagawa ng kopya ng tinukoy na bahagi ng list."
+}
diff --git a/js/msg/json/tlh.json b/js/msg/json/tlh.json
new file mode 100644 (file)
index 0000000..4306c45
--- /dev/null
@@ -0,0 +1,180 @@
+{
+       "@metadata": {
+               "author": "Neil Fraser <fraser@google.com>",
+               "lastupdated": "2014-03-24 23:00:00.000000",
+               "locale": "tlh",
+               "messagedocumentation" : "qqq"
+       },
+       "VARIABLES_DEFAULT_NAME": "Doch",
+       "TODAY": "DaHjaj",
+       "DUPLICATE_BLOCK": "velqa' chenmoH",
+       "ADD_COMMENT": "QInHom chel",
+       "REMOVE_COMMENT": "QInHom chelHa'",
+       "EXTERNAL_INPUTS": "Hur rar",
+       "INLINE_INPUTS": "qoD rar",
+       "DELETE_BLOCK": "ngogh Qaw'",
+       "DELETE_X_BLOCKS": "%1 ngoghmey Qaw'",
+       "DELETE_ALL_BLOCKS": "Hoch %1 ngoghmey Qaw'?",
+       "CLEAN_UP": "ngoghmeyvaD tlhegh rurmoH",
+       "COLLAPSE_BLOCK": "ngogh DejmoH",
+       "COLLAPSE_ALL": "ngoghmey DejmoH",
+       "EXPAND_BLOCK": "ngogh DejHa'moH",
+       "EXPAND_ALL": "ngoghmey DejHa'moH",
+       "DISABLE_BLOCK": "ngogh Qotlh",
+       "ENABLE_BLOCK": "ngogh QotlhHa'",
+       "HELP": "QaH",
+       "UNDO": "vangHa'",
+       "REDO": "vangqa'",
+       "CHANGE_VALUE_TITLE": "choH:",
+       "NEW_VARIABLE": "lIw chu'...",
+       "NEW_VARIABLE_TITLE": "lIw chu' pong:",
+       "RENAME_VARIABLE": "lIw pong choH...",
+       "RENAME_VARIABLE_TITLE": "Hoch \"%1\" lIwmey pongmey choH:",
+       "COLOUR_RANDOM_TITLE": "rItlh vISaHbe'",
+       "COLOUR_RGB_TITLE": "rItlh wIv",
+       "COLOUR_RGB_RED": "'Iw rItlh",
+       "COLOUR_RGB_GREEN": "tI rItlh",
+       "COLOUR_RGB_BLUE": "chal rItlh",
+       "COLOUR_BLEND_TITLE": "DuD",
+       "COLOUR_BLEND_COLOUR1": "rItlh wa'",
+       "COLOUR_BLEND_COLOUR2": "rItlh cha'",
+       "COLOUR_BLEND_RATIO": "'ar",
+       "CONTROLS_REPEAT_TITLE": "%1-logh qaSmoH",
+       "CONTROLS_REPEAT_INPUT_DO": "ruch",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "teHtaHvIS qaSmoH",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "teHpa' qaSmoH",
+       "CONTROLS_FOR_TITLE": "togh %1 mung %2 ghoch %3 Do %4",
+       "CONTROLS_FOREACH_TITLE": "ngIq Doch %1 ngaSbogh tetlh %2 nuDDI'",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "gho Haw'",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "gho taHqa'",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "yIqIm! ghoDaq neH ngoghvam lo'laH vay'.",
+       "CONTROLS_IF_MSG_IF": "teHchugh",
+       "CONTROLS_IF_MSG_ELSEIF": "pagh teHchugh",
+       "CONTROLS_IF_MSG_ELSE": "pagh",
+       "LOGIC_OPERATION_AND": "'ej",
+       "LOGIC_OPERATION_OR": "qoj",
+       "LOGIC_NEGATE_TITLE": "yoymoH %1",
+       "LOGIC_BOOLEAN_TRUE": "teH",
+       "LOGIC_BOOLEAN_FALSE": "teHbe'",
+       "LOGIC_NULL": "paghna'",
+       "LOGIC_TERNARY_CONDITION": "chov",
+       "LOGIC_TERNARY_IF_TRUE": "teHchugh",
+       "LOGIC_TERNARY_IF_FALSE": "teHbe'chugh",
+       "MATH_ADDITION_SYMBOL": "+",
+       "MATH_SUBTRACTION_SYMBOL": "-",
+       "MATH_DIVISION_SYMBOL": "÷",
+       "MATH_MULTIPLICATION_SYMBOL": "×",
+       "MATH_POWER_SYMBOL": "^",
+       "MATH_TRIG_SIN": "sin",
+       "MATH_TRIG_COS": "cos",
+       "MATH_TRIG_TAN": "tan",
+       "MATH_TRIG_ASIN": "asin",
+       "MATH_TRIG_ACOS": "acos",
+       "MATH_TRIG_ATAN": "atan",
+       "MATH_SINGLE_OP_ROOT": "cha'DIch wav",
+       "MATH_SINGLE_OP_ABSOLUTE": "Dung pagh choH",
+       "MATH_IS_EVEN": "lang'a' mI'",
+       "MATH_IS_ODD": "ror'a' mI'",
+       "MATH_IS_PRIME": "potlh'a' mI'",
+       "MATH_IS_WHOLE": "ngoHlaHbe''a'",
+       "MATH_IS_POSITIVE": "Dung pagh",
+       "MATH_IS_NEGATIVE": "bIng pagh",
+       "MATH_IS_DIVISIBLE_BY": "wav'a'",
+       "MATH_CHANGE_TITLE": "choH %1 chel %2",
+       "MATH_ROUND_OPERATOR_ROUND": "ngoH",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "Dung ngoH",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "bIng ngoH",
+       "MATH_ONLIST_OPERATOR_SUM": "chelwI' SIm tetlh",
+       "MATH_ONLIST_OPERATOR_MIN": "machwI''a' SIm tetlh",
+       "MATH_ONLIST_OPERATOR_MAX": "tInwI''a' SIm tetlh",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "beQwI' SIm tetlh",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "beQwI'botlh SIm tetlh",
+       "MATH_ONLIST_OPERATOR_MODE": "beQwI' motlh SIm tetlh",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "motlhbe'wI' SIm tetlh",
+       "MATH_ONLIST_OPERATOR_RANDOM": "SaHbe' SIm tetlh",
+       "MATH_MODULO_TITLE": "ratlwI' SIm %1 ÷ %2",
+       "MATH_CONSTRAIN_TITLE": "jon %1 bIng %2 Dung %3",
+       "MATH_RANDOM_INT_TITLE": "ngoH mI'SaHbe' bIng %1 Dung %2",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "mI'HomSaHbe'",
+       "TEXT_JOIN_TITLE_CREATEWITH": "ghItlh ghom",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "ghom",
+       "TEXT_APPEND_TITLE": "chel %1 ghItlh %2",
+       "TEXT_LENGTH_TITLE": "chuq %1",
+       "TEXT_ISEMPTY_TITLE": "%1 chIm'a'",
+       "TEXT_INDEXOF_TITLE": "ghItlhDaq %1 %2 %3",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "ghItlh wa'DIch Sam",
+       "TEXT_INDEXOF_OPERATOR_LAST": "ghItlh Qav Sam",
+       "TEXT_CHARAT_INPUT_INTEXT": "ghItlhDaq",
+       "TEXT_CHARAT_FROM_START": "mu'Hom #",
+       "TEXT_CHARAT_FROM_END": "mu'Hom # Qav",
+       "TEXT_CHARAT_FIRST": "mu'Hom wa'DIch",
+       "TEXT_CHARAT_LAST": "mu'Hom Qav",
+       "TEXT_CHARAT_RANDOM": "mu'Hom SaHbe'",
+       "TEXT_CHARAT_TAIL": "Suq",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "ghItlhDaq",
+       "TEXT_GET_SUBSTRING_START_FROM_START": "ghItlhHom moHaq mu'Hom #",
+       "TEXT_GET_SUBSTRING_START_FROM_END": "ghItlhHom moHaq mu'Hom # Qav",
+       "TEXT_GET_SUBSTRING_START_FIRST": "ghItlhHom moHaq mu'Hom wa'DIch",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "mojaq mu'Hom #",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "mojaq mu'Hom # Qav",
+       "TEXT_GET_SUBSTRING_END_LAST": "mojaq mu'Hom Qav",
+       "TEXT_GET_SUBSTRING_TAIL": "Suq",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "tInchoH",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "machchoH",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": "DojchoH",
+       "TEXT_TRIM_OPERATOR_BOTH": "poSnIHlogh pei",
+       "TEXT_TRIM_OPERATOR_LEFT": "poSlogh pei",
+       "TEXT_TRIM_OPERATOR_RIGHT": "nIHlogh pei",
+       "TEXT_PRINT_TITLE": "maq %1",
+       "TEXT_PROMPT_TYPE_TEXT": "ghItln tlhob 'ej maq",
+       "TEXT_PROMPT_TYPE_NUMBER": "mI' tlhob 'ej maq",
+       "LISTS_CREATE_EMPTY_TITLE": "tetlh chIm",
+       "LISTS_CREATE_WITH_INPUT_WITH": "tetlh ghom",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "tetlh",
+       "LISTS_REPEAT_TITLE": "tetlh ghom %2 Dochmey %1 pus",
+       "LISTS_LENGTH_TITLE": "chuq %1",
+       "LISTS_ISEMPTY_TITLE": "%1 chIm'a'",
+       "LISTS_INLIST": "tetlhDaq",
+       "LISTS_INDEX_OF_FIRST": "Doch sam wa'DIch",
+       "LISTS_INDEX_OF_LAST": "Doch sam Qav",
+       "LISTS_GET_INDEX_GET": "Suq",
+       "LISTS_GET_INDEX_GET_REMOVE": "Suq vaj pej",
+       "LISTS_GET_INDEX_REMOVE": "pej",
+       "LISTS_GET_INDEX_FROM_START": "#",
+       "LISTS_GET_INDEX_FROM_END": "# Qav",
+       "LISTS_GET_INDEX_FIRST": "wa'DIch",
+       "LISTS_GET_INDEX_LAST": "Qav",
+       "LISTS_GET_INDEX_RANDOM": "Sahbe'",
+       "LISTS_GET_INDEX_TAIL": "",
+       "LISTS_SET_INDEX_SET": "choH",
+       "LISTS_SET_INDEX_INSERT": "lIH",
+       "LISTS_SET_INDEX_INPUT_TO": "Dos",
+       "LISTS_GET_SUBLIST_START_FROM_START": "tetlhHom moHaq #",
+       "LISTS_GET_SUBLIST_START_FROM_END": "tetlhHom moHaq # Qav",
+       "LISTS_GET_SUBLIST_START_FIRST": "tetlhHom moHaq wa'DIch",
+       "LISTS_GET_SUBLIST_END_FROM_START": "mojaQ #",
+       "LISTS_GET_SUBLIST_END_FROM_END": "mojaQ # Qav",
+       "LISTS_GET_SUBLIST_END_LAST": "mojaQ Qav",
+       "LISTS_GET_SUBLIST_TAIL": "Suq",
+       "LISTS_SPLIT_LIST_FROM_TEXT": "tetlh ghermeH ghItlh wav",
+       "LISTS_SPLIT_TEXT_FROM_LIST": "ghItlh chenmoHmeH tetlh gherHa'",
+       "LISTS_SPLIT_WITH_DELIMITER": "rarwI'Hom lo'",
+       "ORDINAL_NUMBER_SUFFIX": "",
+       "VARIABLES_GET_CREATE_SET": "chel 'choH %1'",
+       "VARIABLES_SET": "choH %1 %2",
+       "VARIABLES_SET_CREATE_GET": "chel 'Suq %1'",
+       "PROCEDURES_DEFNORETURN_TITLE": "ruch",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "mIw",
+       "PROCEDURES_BEFORE_PARAMS": "qel:",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "qel:",
+       "PROCEDURES_DEFNORETURN_DO": "",
+       "PROCEDURES_DEFNORETURN_COMMENT": "mIw yIDel...",
+       "PROCEDURES_DEFRETURN_RETURN": "chegh",
+       "PROCEDURES_ALLOW_STATEMENTS": "mu'tlhegh chaw'",
+       "PROCEDURES_DEF_DUPLICATE_WARNING": "ghuHmoHna': qelwI' cha'logh chen.",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "qelwI'mey",
+       "PROCEDURES_MUTATORARG_TITLE": "pong:",
+       "PROCEDURES_HIGHLIGHT_DEF": "mIwna' wew",
+       "PROCEDURES_CREATE_DO": "chel '%1'",
+       "PROCEDURES_IFRETURN_WARNING": "ghoHmoHna': ngoghvam ngaSbe' mIwDaq."
+}
diff --git a/js/msg/json/tr.json b/js/msg/json/tr.json
new file mode 100644 (file)
index 0000000..6ae71cc
--- /dev/null
@@ -0,0 +1,383 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Meelo",
+                       "Joseph",
+                       "WikiBronze",
+                       "Mavrikant",
+                       "ì•„ë¼",
+                       "Watermelon juice",
+                       "UÄŸurkent",
+                       "McAang",
+                       "Gurkanht",
+                       "HakanIST",
+                       "Imabadplayer",
+                       "Kumkumuk",
+                       "Alpkant",
+                       "Bulgu",
+                       "By erdo can",
+                       "Azerhan Özen",
+                       "Hedda"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "öge",
+       "TODAY": "Bugün",
+       "DUPLICATE_BLOCK": "ÇoÄŸalt",
+       "ADD_COMMENT": "Yorum Ekle",
+       "REMOVE_COMMENT": "Yorumu Sil",
+       "DUPLICATE_COMMENT": "Yinelenen Yorum",
+       "EXTERNAL_INPUTS": "Harici GiriÅŸler",
+       "INLINE_INPUTS": "Satır içi girdiler",
+       "DELETE_BLOCK": "BloÄŸu Sil",
+       "DELETE_X_BLOCKS": "%1 Blokları Sil",
+       "DELETE_ALL_BLOCKS": "Tüm %1 blok silinsin mi?",
+       "CLEAN_UP": "Blokları temizle",
+       "COLLAPSE_BLOCK": "Blok'u Daralt",
+       "COLLAPSE_ALL": "Blokları Daralt",
+       "EXPAND_BLOCK": "BloÄŸu GeniÅŸlet",
+       "EXPAND_ALL": "Blokları GeniÅŸlet",
+       "DISABLE_BLOCK": "BloÄŸu Devre Dışı Bırak",
+       "ENABLE_BLOCK": "BloÄŸu EtkinleÅŸtir",
+       "HELP": "Yardım",
+       "UNDO": "Geri al",
+       "REDO": "Yinele",
+       "CHANGE_VALUE_TITLE": "DeÄŸeri deÄŸiÅŸtir:",
+       "RENAME_VARIABLE": "DeÄŸiÅŸkeni yeniden adlandır...",
+       "RENAME_VARIABLE_TITLE": "Tüm '%1' deÄŸiÅŸkenlerini yeniden isimlendir:",
+       "NEW_VARIABLE": "DeÄŸiÅŸken oluÅŸtur...",
+       "NEW_STRING_VARIABLE": "Dizi deÄŸiÅŸkeni oluÅŸtur...",
+       "NEW_NUMBER_VARIABLE": "Sayı deÄŸiÅŸkeni oluÅŸtur...",
+       "NEW_COLOUR_VARIABLE": "Renk deÄŸiÅŸkeni oluÅŸtur...",
+       "NEW_VARIABLE_TYPE_TITLE": "Yeni deÄŸiÅŸken tipi:",
+       "NEW_VARIABLE_TITLE": "Yeni deÄŸiÅŸken ismi :",
+       "VARIABLE_ALREADY_EXISTS": "'%1' isimli deÄŸiÅŸken adı zaten var.",
+       "VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE": "'%1' isimli deÄŸiÅŸken '%2' tipli baÅŸka bir deÄŸiÅŸkende tanımlı.",
+       "DELETE_VARIABLE_CONFIRMATION": "'%2' deÄŸiÅŸkeninin %1 kullanımını silmek istiyor musunuz?",
+       "CANNOT_DELETE_VARIABLE_PROCEDURE": "'%1' deÄŸiÅŸkeni, '%2' fonksiyonunun tanımının bir parçası olduÄŸu için silinemez",
+       "DELETE_VARIABLE": "'%1' deÄŸiÅŸkenini silmek istiyor musunuz?",
+       "COLOUR_PICKER_HELPURL": "https://tr.wikipedia.org/wiki/Renk",
+       "COLOUR_PICKER_TOOLTIP": "Paletten bir renk seçin.",
+       "COLOUR_RANDOM_TITLE": "rastgele renk",
+       "COLOUR_RANDOM_TOOLTIP": "Rastgele bir renk seçin.",
+       "COLOUR_RGB_HELPURL": "http://www.december.com/html/spec/colorper.html",
+       "COLOUR_RGB_TITLE": "renk deÄŸerleri",
+       "COLOUR_RGB_RED": "kırmızı",
+       "COLOUR_RGB_GREEN": "yeÅŸil",
+       "COLOUR_RGB_BLUE": "mavi",
+       "COLOUR_RGB_TOOLTIP": "Kırmızı, yeÅŸil ve mavinin belirtilen miktarıyla bir renk oluÅŸturun.  Tüm deÄŸerler 0 ile 100 arasında olmalıdır.",
+       "COLOUR_BLEND_HELPURL": "http://meyerweb.com/eric/tools/color-blend/",
+       "COLOUR_BLEND_TITLE": "karıştır",
+       "COLOUR_BLEND_COLOUR1": "renk 1",
+       "COLOUR_BLEND_COLOUR2": "renk 2",
+       "COLOUR_BLEND_RATIO": "oran",
+       "COLOUR_BLEND_TOOLTIP": "Verilen bir orana baÄŸlı olarak iki rengi karıştırır. (0.0 - 1.0).",
+       "CONTROLS_REPEAT_HELPURL": "https://tr.wikipedia.org/wiki/For_d%C3%B6ng%C3%BCs%C3%BC",
+       "CONTROLS_REPEAT_TITLE": "%1 kez tekrarla",
+       "CONTROLS_REPEAT_INPUT_DO": "yap",
+       "CONTROLS_REPEAT_TOOLTIP": "Bazı iÅŸlemleri birkaç kez yap.",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "tekrar ederken",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "kadar tekrarla",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "Bir deÄŸer doÄŸru olduÄŸunda bazı beyanlarda bulun.",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "Bir deÄŸer yanlış olduÄŸunda bazı beyanlarda bulun.",
+       "CONTROLS_FOR_TOOLTIP": "BaÅŸlangıç sayısından bitiÅŸ sayısına kadar belirtilen aralık ve belirtilen engeller ile devam eden deÄŸerler alan '%1' deÄŸiÅŸkeni oluÅŸtur.",
+       "CONTROLS_FOR_TITLE": "ile sayılır %1 %2 den %3 ye, her adımda %4 deÄŸiÅŸim",
+       "CONTROLS_FOREACH_TITLE": "her Ã¶ÄŸe için %1 listede %2",
+       "CONTROLS_FOREACH_TOOLTIP": "Bir listedeki her Ã¶ÄŸe için  '%1' deÄŸiÅŸkenini maddeye atayın  ve bundan sonra bazı açıklamalar yapın.",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "döngüden Ã§Ä±k",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "döngünün sonraki adımından devam et",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "İçeren döngüden Ã§Ä±k.",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "Bu döngünün geri kalanını atlayın ve sonraki adım ile devam edin.",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "Uyarı: Bu blok sadece bir döngü içinde kullanılabilir.",
+       "CONTROLS_IF_TOOLTIP_1": "EÄŸer deÄŸiÅŸken true , yani gerçekleÅŸmiÅŸ ise , ardından gelen iÅŸlemi yerine getir .",
+       "CONTROLS_IF_TOOLTIP_2": "EÄŸer deÄŸiÅŸken true, yani gerçekleÅŸiyor ise ilk blok'taki iÅŸlemleri yerine getir, Aksi halde ikinci blok'taki iÅŸlemleri yerine getir.",
+       "CONTROLS_IF_TOOLTIP_3": "EÄŸer ilk deÄŸiÅŸken true, yani koÅŸul gerçekleÅŸmiÅŸ ise ilk blok içerisindeki iÅŸlem(ler)i gerçekleÅŸtir. EÄŸer ikinci deÄŸiÅŸken true ise, ikinci bloktaki iÅŸlem(ler)i gerçekleÅŸtir .",
+       "CONTROLS_IF_TOOLTIP_4": "EÄŸer ilk deÄŸer true, yani olumlu ise, ilk blok'taki iÅŸlem(ler)i gerçekleÅŸtir. Ä°lk deÄŸer true deÄŸil ama ikinci deÄŸer true ise, ikinci bloktaki iÅŸlem(ler)i gerçekleÅŸtir. EÄŸer deÄŸerlerin hiçbiri true deÄŸil ise son blok'taki iÅŸlem(ler)i gerçekleÅŸtir.",
+       "CONTROLS_IF_MSG_IF": "eÄŸer",
+       "CONTROLS_IF_MSG_ELSEIF": "deÄŸilse eÄŸer",
+       "CONTROLS_IF_MSG_ELSE": "deÄŸilse",
+       "CONTROLS_IF_IF_TOOLTIP": "If bloÄŸuna ekle, kaldır veya yeniden düzenleme yap.",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "If bloÄŸuna bir koÅŸul ekleyin.",
+       "CONTROLS_IF_ELSE_TOOLTIP": "If bloÄŸuna kalan durumları \"yakalayan\" bir son ekle.",
+       "IOS_OK": "OK",
+       "IOS_CANCEL": "Ä°ptal",
+       "IOS_ERROR": "Hata",
+       "IOS_PROCEDURES_INPUTS": "Girdiler",
+       "IOS_PROCEDURES_ADD_INPUT": "+ GiriÅŸ Ekle",
+       "IOS_PROCEDURES_ALLOW_STATEMENTS": "Açıklamalara izin ver",
+       "IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR": "Bu fonksiyonda mükerrer girdi tanımlı.",
+       "IOS_VARIABLES_ADD_VARIABLE": "+ DeÄŸiÅŸkeni ekle",
+       "IOS_VARIABLES_ADD_BUTTON": "Ekle",
+       "IOS_VARIABLES_RENAME_BUTTON": "Yeniden adlandır",
+       "IOS_VARIABLES_DELETE_BUTTON": "Sil",
+       "IOS_VARIABLES_VARIABLE_NAME": "DeÄŸiÅŸken adı",
+       "IOS_VARIABLES_EMPTY_NAME_ERROR": "DeÄŸiÅŸken adı kısmı boÅŸ bırakılamaz.",
+       "LOGIC_COMPARE_HELPURL": "https://tr.wikipedia.org/wiki/E%C5%9Fitsizlikler",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "Girilen iki deÄŸer birbirine eÅŸitse \"True\" deÄŸerini verir.",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "Girilen iki deÄŸerde birbirine eÅŸit deÄŸilse \"True\" deÄŸerini verir.",
+       "LOGIC_COMPARE_TOOLTIP_LT": "Girilen ilk deÄŸer ikinci deÄŸerden küçükse \"True\" deÄŸerini verir.",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "Girilen ilk deÄŸer ikinci deÄŸerden küçük veya eÅŸitse \"True\" deÄŸerini verir.",
+       "LOGIC_COMPARE_TOOLTIP_GT": "Girilen ilk deÄŸer ikinci deÄŸerden daha büyükse \"True\" deÄŸerini verir.",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "Girilen ilk deÄŸer ikinci deÄŸerden büyük veya eÅŸitse \"True\" deÄŸerini verir.",
+       "LOGIC_OPERATION_TOOLTIP_AND": "Girilen iki deÄŸerde doÄŸruysa \"True\" deÄŸerini verir.",
+       "LOGIC_OPERATION_AND": "ve",
+       "LOGIC_OPERATION_TOOLTIP_OR": "Girilen iki deÄŸerden en az biri doÄŸruysa \"True\" deÄŸerini verir.",
+       "LOGIC_OPERATION_OR": "veya",
+       "LOGIC_NEGATE_TITLE": "%1 deÄŸil",
+       "LOGIC_NEGATE_TOOLTIP": "Girilen deÄŸer yanlışsa \"True\" deÄŸerini verir.Girilen deÄŸer doÄŸruysa \"False\" deÄŸerini verir.",
+       "LOGIC_BOOLEAN_TRUE": "Olumlu",
+       "LOGIC_BOOLEAN_FALSE": "false = Olumsuz",
+       "LOGIC_BOOLEAN_TOOLTIP": "Ya 'True' yada 'False' deÄŸerini verir.",
+       "LOGIC_NULL_HELPURL": "https://en.wikipedia.org/wiki/Nullable_type",
+       "LOGIC_NULL": "sıfır",
+       "LOGIC_NULL_TOOLTIP": "sıfır verir.",
+       "LOGIC_TERNARY_HELPURL": "https://en.wikipedia.org/wiki/%3F:",
+       "LOGIC_TERNARY_CONDITION": "test",
+       "LOGIC_TERNARY_IF_TRUE": "doÄŸru ise",
+       "LOGIC_TERNARY_IF_FALSE": "yanlış ise",
+       "LOGIC_TERNARY_TOOLTIP": "'test'deki ÅŸartı test eder. EÄŸer ÅŸart doÄŸru ise 'doÄŸru' deÄŸeri döndürür, aksi halde 'yanlış' deÄŸeri döndürür.",
+       "MATH_NUMBER_HELPURL": "https://en.wikipedia.org/wiki/Number",
+       "MATH_NUMBER_TOOLTIP": "Bir sayı.",
+       "MATH_ADDITION_SYMBOL": "+",
+       "MATH_SUBTRACTION_SYMBOL": "tire",
+       "MATH_DIVISION_SYMBOL": "÷",
+       "MATH_MULTIPLICATION_SYMBOL": "x",
+       "MATH_POWER_SYMBOL": "üst alma",
+       "MATH_TRIG_SIN": "Sinüs",
+       "MATH_TRIG_COS": "kosünüs",
+       "MATH_TRIG_TAN": "tanjant",
+       "MATH_TRIG_ASIN": "asinüs",
+       "MATH_TRIG_ACOS": "akosünüs",
+       "MATH_TRIG_ATAN": "atanjant",
+       "MATH_ARITHMETIC_HELPURL": "https://tr.wikipedia.org/wiki/Aritmetik",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "Ä°ki rakamın toplamını döndür.",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "Ä°ki sayını farkını döndür.",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "Ä°ki sayının Ã§arpımını döndür.",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "Ä°ki sayının bölümünü döndür.",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "Ä°lk sayinin ikincinin kuvvetine yükseltilmiÅŸini döndür.",
+       "MATH_SINGLE_HELPURL": "https://tr.wikipedia.org/wiki/Karek%C3%B6k",
+       "MATH_SINGLE_OP_ROOT": "Kare kök",
+       "MATH_SINGLE_TOOLTIP_ROOT": "Bir sayının karekökü nü döndür .",
+       "MATH_SINGLE_OP_ABSOLUTE": "Kesin",
+       "MATH_SINGLE_TOOLTIP_ABS": "Bir sayının tam deÄŸerini döndür .",
+       "MATH_SINGLE_TOOLTIP_NEG": "Bir sayıyı geçersiz olarak döndür .",
+       "MATH_SINGLE_TOOLTIP_LN": "Bir sayının doÄŸal logaritmasını döndür .",
+       "MATH_SINGLE_TOOLTIP_LOG10": "Bir sayının 10  temelinde logaritmasını döndür .",
+       "MATH_SINGLE_TOOLTIP_EXP": "Bir sayının e ' inci  kuvvetini döndür .",
+       "MATH_SINGLE_TOOLTIP_POW10": "Bir sayının 10. kuvvetini döndür .",
+       "MATH_TRIG_HELPURL": "https://tr.wikipedia.org/wiki/Trigonometrik_fonksiyonlar",
+       "MATH_TRIG_TOOLTIP_SIN": "Bir açının sinüsünü döndür(radyan olarak deÄŸil).",
+       "MATH_TRIG_TOOLTIP_COS": "Bir açının kosinüsünü döndür(radyan olarak deÄŸil).",
+       "MATH_TRIG_TOOLTIP_TAN": "Bir açının tanjantını döndür(radyan olarak deÄŸil).",
+       "MATH_TRIG_TOOLTIP_ASIN": "Bir sayının ters sinüsünü döndür .",
+       "MATH_TRIG_TOOLTIP_ACOS": "Bir sayının ters kosunusunu döndür .",
+       "MATH_TRIG_TOOLTIP_ATAN": "Bir sayının ters tanjantını döndür .",
+       "MATH_CONSTANT_HELPURL": "https://en.wikipedia.org/wiki/Mathematical_constant",
+       "MATH_CONSTANT_TOOLTIP": "Yaygın sabitlerden birini döndür:Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), or âˆž (sonsuz).",
+       "MATH_IS_EVEN": "çift",
+       "MATH_IS_ODD": "tek",
+       "MATH_IS_PRIME": "asal",
+       "MATH_IS_WHOLE": "Bütün olduÄŸunu",
+       "MATH_IS_POSITIVE": "pozitif",
+       "MATH_IS_NEGATIVE": "negatif",
+       "MATH_IS_DIVISIBLE_BY": "bölünebilir",
+       "MATH_IS_TOOLTIP": "Bir sayinin Ã§ift mi tek mi , tam mı, asal mı , pozitif mi, negatif mi, veya tam bir  sayıyla bölünebilirliÄŸini kontrol et.'True' veya 'False' deÄŸerini döndür.",
+       "MATH_CHANGE_HELPURL": "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter",
+       "MATH_CHANGE_TITLE": "%1'i %2 kadar deÄŸiÅŸtir",
+       "MATH_CHANGE_TOOLTIP": "'%1' deÄŸiÅŸkenine bir sayı ekle.",
+       "MATH_ROUND_HELPURL": "https://en.wikipedia.org/wiki/Rounding Yuvarlama fonksiyonu için araÅŸtırma yapınız, sayfanın Türkçe Ã§evirisi henüz mevcut deÄŸil.",
+       "MATH_ROUND_TOOLTIP": "Bir sayı yı yukarı yada aÅŸağı yuvarla .",
+       "MATH_ROUND_OPERATOR_ROUND": "Yuvarla",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "yukarı yuvarla",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "aÅŸağı yuvarla",
+       "MATH_ONLIST_HELPURL": "",
+       "MATH_ONLIST_OPERATOR_SUM": "Listenin toplamı",
+       "MATH_ONLIST_TOOLTIP_SUM": "Listede ki tüm sayıların toplamını döndür.",
+       "MATH_ONLIST_OPERATOR_MIN": "Listenin en küçüğü",
+       "MATH_ONLIST_TOOLTIP_MIN": "Listenin en küçüğünü döndür.",
+       "MATH_ONLIST_OPERATOR_MAX": "en büyük sayı",
+       "MATH_ONLIST_TOOLTIP_MAX": "Listenin en büyüğünü döndür.",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "listenin ortalaması",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "Listedeki sayısal deÄŸerlerin ortalamasını (aritmetik anlamda) döndür.",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "Listenin medyanı",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "Listenin medyanını döndür.",
+       "MATH_ONLIST_OPERATOR_MODE": "Listenin modları",
+       "MATH_ONLIST_TOOLTIP_MODE": "Listede ki en yaygın Ã¶ÄŸe veya Ã¶ÄŸelerinin listesini döndür.",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "Listenin standart sapması",
+       "MATH_ONLIST_TOOLTIP_STD_DEV": "Listenin standart sapmasını döndür.",
+       "MATH_ONLIST_OPERATOR_RANDOM": "Listenin rastgele Ã¶ÄŸesi",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "Listeden rastgele bir element döndür.",
+       "MATH_MODULO_HELPURL": "https://en.wikipedia.org/wiki/Modulo_operation",
+       "MATH_MODULO_TITLE": "%1 Ã· %2 nin kalanı",
+       "MATH_MODULO_TOOLTIP": "Ä°ki sayının bölümünden kalanı döndür.",
+       "MATH_CONSTRAIN_TITLE": "%1 i en düşük %2 en yüksek %3 ile sınırla",
+       "MATH_CONSTRAIN_TOOLTIP": "Bir sayıyı belirli iki sayı arasında sınırlandır(dahil).",
+       "MATH_RANDOM_INT_HELPURL": "https://tr.wikipedia.org/wiki/Rastgele_say%C4%B1_%C3%BCretimi",
+       "MATH_RANDOM_INT_TITLE": "%1 ile %2 arasında rastgele tam sayı Ã¼ret",
+       "MATH_RANDOM_INT_TOOLTIP": "Herhangi iki sayı arasında , sayılar dahil olmak Ã¼zere , rastgele bir tam sayı döndür.",
+       "MATH_RANDOM_FLOAT_HELPURL": "https://tr.wikipedia.org/wiki/Rastgele_say%C4%B1_%C3%BCretimi",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "Rast gele kesirli sayı , yada parça",
+       "MATH_RANDOM_FLOAT_TOOLTIP": "0.0(dahil) ve 1.0 (hariç) sayıları arasında bir sayı döndür .",
+       "TEXT_TEXT_HELPURL": "https://en.wikipedia.org/wiki/String_(computer_science)",
+       "TEXT_TEXT_TOOLTIP": "Metnin bir harfi,kelimesi veya satırı.",
+       "TEXT_JOIN_TITLE_CREATEWITH": "ile metin oluÅŸtur",
+       "TEXT_JOIN_TOOLTIP": "Herhangi bir sayıda ki Ã¶ÄŸeleri bir araya getirerek metnin bir parçasını oluÅŸtur.",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "Katıl",
+       "TEXT_CREATE_JOIN_TOOLTIP": "Bu metin bloÄŸunu düzenlemek için bölüm ekle,sil veya yeniden görevlendir.",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "Metine bir Ã¶ÄŸe ekle.",
+       "TEXT_APPEND_TITLE": "%1 için %2 metnini ekle.",
+       "TEXT_APPEND_TOOLTIP": "DeÄŸiÅŸken '%1' e bazı metinler ekleyin.",
+       "TEXT_LENGTH_TITLE": "%1 in uzunluÄŸu",
+       "TEXT_LENGTH_TOOLTIP": "Yazı içerisinde verilen harflerin ( harf arasındaki boÅŸluklar dahil) sayısını verir .",
+       "TEXT_ISEMPTY_TITLE": "%1 boÅŸ",
+       "TEXT_ISEMPTY_TOOLTIP": "Verilen metin boÅŸsa true(doÄŸru) deÄŸerini verir.",
+       "TEXT_INDEXOF_TOOLTIP": "Ä°lk metnin ikinci metnin içindeki ilk ve son varoluÅŸlarının indeksini döndürür.Metin bulunamadıysa %1 döndürür.",
+       "TEXT_INDEXOF_TITLE": "%1 metni içinde %2.kez %3 metnini bul.",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "Metnin ilk varolduÄŸu yeri bul",
+       "TEXT_INDEXOF_OPERATOR_LAST": "Metnin son varolduÄŸu yeri bul",
+       "TEXT_CHARAT_TITLE": "%1 içinde %2",
+       "TEXT_CHARAT_FROM_START": "# harfini al",
+       "TEXT_CHARAT_FROM_END": "# dan sona harfleri al",
+       "TEXT_CHARAT_FIRST": "Ä°lk harfini al",
+       "TEXT_CHARAT_LAST": "son harfi al",
+       "TEXT_CHARAT_RANDOM": "Rastgele bir harf al",
+       "TEXT_CHARAT_TAIL": "",
+       "TEXT_CHARAT_TOOLTIP": "Belirli pozisyonda ki bir harfi döndürür.",
+       "TEXT_GET_SUBSTRING_TOOLTIP": "Metinin belirli bir kısmını döndürür.",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "metinde",
+       "TEXT_GET_SUBSTRING_START_FROM_START": "n inci harften alt-string alma",
+       "TEXT_GET_SUBSTRING_START_FROM_END": "n inci harften sona kadar alt-string alma",
+       "TEXT_GET_SUBSTRING_START_FIRST": "ilk harften baÅŸlayarak alt-string alma",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "# harfe",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "Sondan # harfe",
+       "TEXT_GET_SUBSTRING_END_LAST": "son harfe",
+       "TEXT_GET_SUBSTRING_TAIL": "",
+       "TEXT_CHANGECASE_TOOLTIP": "Metnin bir kopyasını farklı bir harf durumunda (HEPSÄ° BÃœYÃœK - hepsi küçük) getirir.",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "büyük harf",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "küçük harf",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": "BaÅŸ Harfler Büyük",
+       "TEXT_TRIM_TOOLTIP": "Metnin bir veya her iki sondan da boÅŸlukları silinmiÅŸ ÅŸekilde kopyasını verir.",
+       "TEXT_TRIM_OPERATOR_BOTH": "iki tarafından da boÅŸlukları temizle",
+       "TEXT_TRIM_OPERATOR_LEFT": "solundan boÅŸlukları temizle",
+       "TEXT_TRIM_OPERATOR_RIGHT": "sağından boÅŸlukları temizle",
+       "TEXT_PRINT_TITLE": "%1 ' i Yaz",
+       "TEXT_PRINT_TOOLTIP": "Belirli bir metni,sayıyı veya baÅŸka bir deÄŸeri yaz.",
+       "TEXT_PROMPT_TYPE_TEXT": "Kullanıcıdan yazım al , istek mesajıyla",
+       "TEXT_PROMPT_TYPE_NUMBER": "Kullanıcıdan sayı al , istek mesajı göstererek",
+       "TEXT_PROMPT_TOOLTIP_NUMBER": "Kullanıcıdan sayı al .",
+       "TEXT_PROMPT_TOOLTIP_TEXT": "Kullanıcıdan Yazım al .",
+       "TEXT_COUNT_MESSAGE0": "%1 içinde %2 yi say.",
+       "TEXT_COUNT_HELPURL": "https://github.com/google/blockly/wiki/Text#counting-substrings",
+       "TEXT_COUNT_TOOLTIP": "BaÅŸka bir metnin içinde kaç kez metnin geçtiÄŸini say.",
+       "TEXT_REPLACE_MESSAGE0": "%3 metni içinde %1 metnini %2 metni ile deÄŸiÅŸtir.",
+       "TEXT_REPLACE_TOOLTIP": "Metni baÅŸka bir metnin içindeki tüm yerlerde deÄŸiÅŸtir.",
+       "TEXT_REVERSE_MESSAGE0": "%1 karakterlerini ters çevir.",
+       "TEXT_REVERSE_TOOLTIP": "Metnin içindeki karakterlerin sıralarını ters Ã§evirir.",
+       "LISTS_CREATE_EMPTY_HELPURL": "https://github.com/google/blockly/wiki/Lists#create-empty-list",
+       "LISTS_CREATE_EMPTY_TITLE": "BoÅŸ liste oluÅŸtur",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "Veri kaydı içermeyen uzunluÄŸu 0 olan bir listeyi verir",
+       "LISTS_CREATE_WITH_TOOLTIP": "Herhangi sayıda nesne içeren bir liste oluÅŸtur.",
+       "LISTS_CREATE_WITH_INPUT_WITH": "Ä°le liste oluÅŸturma",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "liste",
+       "LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "Bu liste bloÄŸunu yeniden yapılandırmak için bölüm ekle,kaldır veya yeniden Ã§ağır.",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "Listeye bir nesne ekle.",
+       "LISTS_REPEAT_TOOLTIP": "Verilen bir deÄŸerin , belirli bir sayıda tekrarlanmasından oluÅŸan bir liste yaratır .",
+       "LISTS_REPEAT_TITLE": "%1 nesnenin %2 kez tekrarlandığı bir liste yarat",
+       "LISTS_LENGTH_TITLE": "%1'in uzunluÄŸu",
+       "LISTS_LENGTH_TOOLTIP": "Bir listenin uzunluÄŸunu verir.",
+       "LISTS_ISEMPTY_TITLE": "%1 boÅŸ",
+       "LISTS_ISEMPTY_TOOLTIP": "EÄŸer liste boÅŸ ise true döndürür .",
+       "LISTS_INLIST": "Listede",
+       "LISTS_INDEX_OF_FIRST": "Öğenin ilk varolduÄŸu yeri bul",
+       "LISTS_INDEX_OF_LAST": "Öğenin son varolduÄŸu yeri bul",
+       "LISTS_INDEX_OF_TOOLTIP": "Listedeki Ã¶ÄŸenin ilk/son oluÅŸumunun indeksini döndürür. EÄŸer Ã¶ÄŸe bulunamaz ise %1 döndürür.",
+       "LISTS_GET_INDEX_GET": "Al",
+       "LISTS_GET_INDEX_GET_REMOVE": "al ve kaldır",
+       "LISTS_GET_INDEX_REMOVE": "kaldır",
+       "LISTS_GET_INDEX_FROM_START": "# Kare",
+       "LISTS_GET_INDEX_FROM_END": "# sonundan",
+       "LISTS_GET_INDEX_FIRST": "ilk",
+       "LISTS_GET_INDEX_LAST": "son",
+       "LISTS_GET_INDEX_RANDOM": "rastgele",
+       "LISTS_GET_INDEX_TAIL": "",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "%1 ilk Ã¶ÄŸedir.",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "%1 son Ã¶ÄŸedir.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "Listede belirli pozisyondaki bir Ã¶ÄŸeyi verir.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "Listedeki ilk Ã¶ÄŸeyi verir.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "Listedeki son Ã¶ÄŸeyi verir.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "Listedeki rastgele bir Ã¶ÄŸeyi verir.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "Kaldırır ve listede belirtilen konumdaki bir Ã¶ÄŸeyi döndürür.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "Kaldırır ve listedeki ilk Ã¶ÄŸeyi döndürür.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "Kaldırır ve listedeki son Ã¶ÄŸeyi döndürür.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "Kaldırır ve listedeki rastgele bir Ã¶ÄŸeyi verir.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "Bir liste içerisinde , tanımlanan pozisyonda ki Ã¶ÄŸeyi kaldırır.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "Listedeki ilk nesneyi kaldırır.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "Listedeki son nesneyi kaldırır.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "Listedeki rastgele bir nesneyi kaldırır.",
+       "LISTS_SET_INDEX_SET": "yerleÅŸtir",
+       "LISTS_SET_INDEX_INSERT": "e yerleÅŸtir",
+       "LISTS_SET_INDEX_INPUT_TO": "olarak",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "Bir Ã¶ÄŸeyi belirtilen yere göre listeye yerleÅŸtirir .",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "Bir listenin ilk Ã¶ÄŸesini yerleÅŸtirir .",
+       "LISTS_SET_INDEX_TOOLTIP_SET_LAST": "Bir listedeki son Ã¶ÄŸeyi yerleÅŸtirir .",
+       "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "Listeye rast gele bir Ã¶ÄŸe yerleÅŸtirir .",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "Bir Ã¶ÄŸeyi belirtilen pozisyona göre listeye yerleÅŸtirir .",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "Nesneyi listenin baÅŸlangıcına ekler.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "Öğeyi listenin sonuna ekle .",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "Bir Ã¶ÄŸeyi listeye rast gele ekler .",
+       "LISTS_GET_SUBLIST_START_FROM_START": "# dan alt liste al",
+       "LISTS_GET_SUBLIST_START_FROM_END": "# iÅŸaretinden sonra gelen ifadeye göre  alt liste al , # sondan",
+       "LISTS_GET_SUBLIST_START_FIRST": "ilk Ã¶ÄŸeden alt liste al",
+       "LISTS_GET_SUBLIST_END_FROM_START": "#'a",
+       "LISTS_GET_SUBLIST_END_FROM_END": "Sondan #'a kadar",
+       "LISTS_GET_SUBLIST_END_LAST": "Sona kadar",
+       "LISTS_GET_SUBLIST_TAIL": "",
+       "LISTS_GET_SUBLIST_TOOLTIP": "Listenin belirli bir kısmının kopyasını yaratır.",
+       "LISTS_SORT_HELPURL": "https://github.com/google/blockly/wiki/Lists#sorting-a-list",
+       "LISTS_SORT_TITLE": "kısa %1 %2 %3",
+       "LISTS_SORT_TOOLTIP": "Listenin kısa bir kopyası.",
+       "LISTS_SORT_ORDER_ASCENDING": "artan",
+       "LISTS_SORT_ORDER_DESCENDING": "azalan",
+       "LISTS_SORT_TYPE_NUMERIC": "sayısal",
+       "LISTS_SORT_TYPE_TEXT": "alfabetik",
+       "LISTS_SORT_TYPE_IGNORECASE": "alfabetik, gözardı et",
+       "LISTS_SPLIT_LIST_FROM_TEXT": "metinden liste yap",
+       "LISTS_SPLIT_TEXT_FROM_LIST": "listeden metin yap",
+       "LISTS_SPLIT_WITH_DELIMITER": "sınırlayıcı ile",
+       "LISTS_SPLIT_TOOLTIP_SPLIT": "Her sınırlayıcıda kesen metinleri bir metin listesine ayır.",
+       "LISTS_SPLIT_TOOLTIP_JOIN": "Bir sınırlayıcı tarafından kesilen metinlerin listesini bir metine ekle.",
+       "LISTS_REVERSE_MESSAGE0": "%1 kalemlerini ters çevir.",
+       "LISTS_REVERSE_TOOLTIP": "Bir listenin bir kopyasını tersine Ã§evirin.",
+       "ORDINAL_NUMBER_SUFFIX": "",
+       "VARIABLES_GET_TOOLTIP": "Bu deÄŸiÅŸkenin deÄŸerini verir.",
+       "VARIABLES_GET_CREATE_SET": "'set %1' oluÅŸtur",
+       "VARIABLES_SET": "Atamak %1 e %2",
+       "VARIABLES_SET_TOOLTIP": "Bu deÄŸiÅŸkeni girilen deÄŸere eÅŸitler.",
+       "VARIABLES_SET_CREATE_GET": "'get %1' oluÅŸtur",
+       "PROCEDURES_DEFNORETURN_HELPURL": "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29",
+       "PROCEDURES_DEFNORETURN_TITLE": "e",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "birÅŸey yap",
+       "PROCEDURES_BEFORE_PARAMS": "ile :",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "ile :",
+       "PROCEDURES_DEFNORETURN_DO": "",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "Çıktı vermeyen bir fonksiyon yaratır .",
+       "PROCEDURES_DEFNORETURN_COMMENT": "Bu iÅŸlevi açıkla...",
+       "PROCEDURES_DEFRETURN_HELPURL": "https://en.wikipedia.org/wiki/Procedure_%28computer_science%29",
+       "PROCEDURES_DEFRETURN_RETURN": "Geri dön",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "Çıktı veren bir fonksiyon oluÅŸturur.",
+       "PROCEDURES_ALLOW_STATEMENTS": "EÄŸer ifadelerine izin ver",
+       "PROCEDURES_DEF_DUPLICATE_WARNING": "Uyarı: Bu fonksiyon yinelenen parametreler vardır.",
+       "PROCEDURES_CALLNORETURN_HELPURL": "https://en.wikipedia.org/wiki/Subroutine",
+       "PROCEDURES_CALLNORETURN_TOOLTIP": "Kullanıcı tanımlı fonksiyonu Ã§alıştır '%1' .",
+       "PROCEDURES_CALLRETURN_HELPURL": "https://en.wikipedia.org/wiki/Subroutine",
+       "PROCEDURES_CALLRETURN_TOOLTIP": "Kullanıcı tanımlı fonksiyonu Ã§alıştır '%1' ve Ã§Ä±ktısını kullan .",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "girdiler",
+       "PROCEDURES_MUTATORCONTAINER_TOOLTIP": "Bu iÅŸlevin girdilerini ekleyin, Ã§Ä±karın, ya da yeniden sıralayın.",
+       "PROCEDURES_MUTATORARG_TITLE": "girdi adı:",
+       "PROCEDURES_MUTATORARG_TOOLTIP": "Ä°ÅŸleve bir girdi ekleyin.",
+       "PROCEDURES_HIGHLIGHT_DEF": "Fonksiyon tanımı vurgulamak",
+       "PROCEDURES_CREATE_DO": "'%1' oluÅŸtur",
+       "PROCEDURES_IFRETURN_TOOLTIP": "EÄŸer deÄŸer doÄŸruysa, ikinci deÄŸere geri dön.",
+       "PROCEDURES_IFRETURN_HELPURL": "http://c2.com/cgi/wiki?GuardClause",
+       "PROCEDURES_IFRETURN_WARNING": "Uyarı: Bu blok yalnızca bir fonksiyon tanımı içinde kullanılır.",
+       "WORKSPACE_COMMENT_DEFAULT_TEXT": "Bir ÅŸeyler söyle..."
+}
diff --git a/js/msg/json/ug-arab.json b/js/msg/json/ug-arab.json
new file mode 100644 (file)
index 0000000..9c9aebd
--- /dev/null
@@ -0,0 +1,143 @@
+{
+       "@metadata": {
+               "authors": [
+                       "HushBeg",
+                       "Uzdil",
+                       "چۈشكۈن"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "تۈر",
+       "TODAY": "بۈگۈن",
+       "DUPLICATE_BLOCK": "كۆچۈرۈش",
+       "ADD_COMMENT": "ئىزاھات Ù‚وشۇش",
+       "REMOVE_COMMENT": "ئىزاھاتنى Ø¦Û†Ú†ÛˆØ±ÛˆØ´",
+       "EXTERNAL_INPUTS": "سىرتقى ÙƒÙ‰Ø±Ú¯ÛˆØ²ÛˆØ´",
+       "INLINE_INPUTS": "تاق Ù‚ۇرلۇق ÙƒÙ‰Ø±Ú¯ÛˆØ²ÛˆØ´",
+       "DELETE_BLOCK": "بۆلەك Ø¦Û†Ú†ÛˆØ±ÛˆØ´",
+       "DELETE_X_BLOCKS": "بۆلەك %1 Ù†Ù‰ Ø¦Û†Ú†ÛˆØ±ÛˆØ´",
+       "DELETE_ALL_BLOCKS": "ھەممىنى Ø¦Û†Ú†ÛˆØ±ÛˆØ´ %1 Ù¾Ø§Ø±Ú†Ù‰Ù…ۇ؟",
+       "CLEAN_UP": "بۆلەكنى Ø±Û•ØªÙ„Û•Ø´",
+       "COLLAPSE_BLOCK": "قاتلىنىش Ø¨Û†Ù„ىكى",
+       "COLLAPSE_ALL": "قاتلىنىش Ø¨Û†Ù„ىكى",
+       "EXPAND_BLOCK": "ئÛچىلىش Ø¨Û†Ù„ىكى",
+       "EXPAND_ALL": "ئÛچىلىش Ø¨Û†Ù„ىكى",
+       "DISABLE_BLOCK": "چەكلەنگەن Ø¨Û†Ù„Û•Ùƒ",
+       "ENABLE_BLOCK": "قوزغىتىلغان Ø¨Û†Ù„Û•Ùƒ",
+       "HELP": "ياردەم",
+       "UNDO": "ÙŠÛنىۋال",
+       "REDO": "قايتىلاش",
+       "CHANGE_VALUE_TITLE": "قىممەت Ø¦Û†Ø²Ú¯Û•Ø±ØªÙ‰Ø´:",
+       "RENAME_VARIABLE": "ئۆزگەرگۈچى Ù…ىقدارغا Ù‚ايتا Ù†Ø§Ù… Ù‚ويۇش",
+       "RENAME_VARIABLE_TITLE": "بارلىق Ø¨Û†Ù„Û•Ùƒ â€œ%1\" Ø¦Û†Ø²Ú¯Û•Ø±Ú¯ÛˆÚ†Ù‰ Ù…ىقدار Ù‚ايتا Ù†Ø§Ù…لىنىپ :",
+       "NEW_VARIABLE": "ئۆزگەرگۈچى Ù…ىقدار ... Ù‚ۇرۇش",
+       "NEW_VARIABLE_TITLE": "ÙŠÛÚ­Ù‰ Ø¦Û†Ø²Ú¯Û•Ø±Ú¯ÛˆÚ†Ù‰ Ù…ىقدار Ù†Ø§Ù…Ù‰:",
+       "VARIABLE_ALREADY_EXISTS": "ئىسم Ù…ەۋجۇت â€œ%1†ئۆزگەرگۈچى",
+       "VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE": "ئىسىملىك“%1†ئۆزگەرگۈچى Ù…ىقدار Ù…ەۋجۇت Ø¨ÙˆÙ„Û‡Ù¾ ØªÛ‡Ø±Ù‰Ø¯Û‡ ØŒ Ù„Ûكىن ÙŠÛ•Ù†Û• Ø¨Ù‰Ø± Ø¦Û†Ø²Ú¯Û•Ø±Ú¯ÛˆÚ†Ù‰ Ù…ىقدار ØªÙ‰Ù¾Ù‰ Ø¨ÙˆÙ„ۇش Ø³ÛˆÙ¾Ù‰ØªÙ‰ Ø¨Ù‰Ù„Û•Ù† â€œ%2†مەۋجۇت .",
+       "DELETE_VARIABLE_CONFIRMATION": "ئۆچۈرۈش â€œ%2†ئۆزگەرگۈچى Ù…ىقدار%1 Ø¦Ù‰Ø´Ù„ىتىلىش Ø¦ÙˆØ±Ù†Ù‰ Ø¨Ø§Ø±Ù…ۇ؟",
+       "DELETE_VARIABLE": "“%1†ئۆزگەرگۈچى Ù…ىقدارنى Ø¦Û†Ú†ÛˆØ±ÛˆØ´",
+       "COLOUR_PICKER_HELPURL": "https://zh.wikipedia.org/wiki/رەڭگى",
+       "COLOUR_PICKER_TOOLTIP": " ØªØ§Ø®ØªÙ‰Ø¯Ù‰Ù† Ø±Û•Ú­Ù†Ù‰ ØªØ§Ù„لاڭ",
+       "COLOUR_RANDOM_TITLE": "خالىغان Ø±Û•Ú­",
+       "COLOUR_RANDOM_TOOLTIP": "ئىختىيارىي Ø¨Ù‰Ø± Ø±Û•Ú­Ù†Ù‰ ØªØ§Ù„لاڭ",
+       "COLOUR_RGB_TITLE": "رەڭگى",
+       "COLOUR_RGB_RED": "قىزىل",
+       "COLOUR_RGB_GREEN": "ÙŠÛشىل",
+       "COLOUR_RGB_BLUE": "ÙƒÛ†Ùƒ",
+       "COLOUR_BLEND_TITLE": "ئارىلاش",
+       "COLOUR_BLEND_COLOUR1": "رەڭ 1",
+       "COLOUR_BLEND_COLOUR2": "رەڭ 2",
+       "COLOUR_BLEND_RATIO": "نىسبەت",
+       "CONTROLS_REPEAT_HELPURL": "https://zh.wikipedia.org/wiki/Forئايلىنىش",
+       "CONTROLS_REPEAT_TITLE": "تەكرار %1Ù‚Ûتىم",
+       "CONTROLS_REPEAT_INPUT_DO": "ئىجرا",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "تەكرار Ø¨ÙˆÙ„ۇش",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "تەكرارلىقى",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "ئۈزۈلۈپ Ø¦Ø§ÙŠÙ„ىنىش",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": " ÙƒÙ‰ÙŠÙ‰Ù†ÙƒÙ‰ Ù‚Ûتىم Ø¯Ø§Û‹Ø§Ù…لىق Ø¦Ø§ÙŠÙ„ىنىشن",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "ئۇنىڭ Ø¯Û•Û‹Ø±Ù‰ÙŠ Ø¦ÛˆØ²ÛˆÙ„ۈش Ø¦Û†Ø² Ø¦Ù‰Ú†Ù‰Ú¯Û• Ø¦Ø§Ù„ىدۇ .",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "بۇ Ø¦Ø§ÙŠÙ„ىنىشنىڭ Ù‚الغان Ù‚ىسمى Ø¦Ø§ØªÙ„اپ Ø¦Û†ØªÛˆÙ¾ ÙƒÛتىدۇ ØŒ Ú¾Û•Ù…دە Ø¯Ø§Û‹Ø§Ù…لىق ÙƒÛلەر Ù‚Ûتىملىق Ø¦Ù‰ØªÛراتسىيە .",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "ئاگاھلاندۇرۇش : Ø¨Û‡ Ù¾Û•Ù‚ەت Ø¨Ù‰Ø± Ø¦Ø§ÙŠÙ„ىنىش Ø¯Û•Û‹Ø±Ù‰ Ø¦Ù‰Ú†Ù‰Ø¯Û• Ø¦Ù‰Ø´Ù„ىتىشكە Ø¨ÙˆÙ„ىدۇ .",
+       "CONTROLS_IF_TOOLTIP_1": "ئەگەر Ù‚ىممىتى Ú¾Û•Ù‚ىقەتەن ØŒ Ø¨Û•Ø²Ù‰ Ø¬ÛˆÙ…Ù„Û• .",
+       "CONTROLS_IF_TOOLTIP_2": "ئەگەر Ù‚ىممىتى Ú¾Û•Ù‚ىقەتەن ØŒ Ø¦Û‡Ù†Ø¯Ø§Ù‚تا Ù†Ù‰Ú­ Ø¨Ù‰Ø± Ø¬ÛˆÙ…Ù„Û• . Ø¦Û‡Ù†Ø¯Ø§Ù‚ Ø¨ÙˆÙ„مايدىكەن، Ø¦Ù‰ÙƒÙƒÙ‰Ù†Ú†Ù‰ Ø¬ÛˆÙ…لىسى Ø¦Ù‰Ø¬Ø±Ø§ Ù‚ىلىندى .",
+       "CONTROLS_IF_TOOLTIP_3": "ئەگەر ØªÛ‡Ù†Ø¬Ù‰ Ù‚ىممىتى Ú¾Û•Ù‚ىقەتەن ØŒ Ø¦Û‡Ù†Ø¯Ø§Ù‚تا Ù†Ù‰Ú­ Ø¨Ù‰Ø± Ø¬ÛˆÙ…Ù„Û• . Ø¦Û‡Ù†Ø¯Ø§Ù‚ Ø¨ÙˆÙ„مايدىكەن، Ø¦Û•Ú¯Û•Ø± Ø¦Ù‰ÙƒÙƒÙ‰Ù†Ú†Ù‰ Ù‚ىممىتى ØŒ Ø¦Û‡Ù†Ø¯Ø§Ù‚تا Ø¦Ù‰ÙƒÙƒÙ‰Ù†Ú†Ù‰ Ù¾Ø§Ø±Ú†Ù‰Ù†Ù‰Ú­ Ø¬ÛˆÙ…Ù„Û• .",
+       "CONTROLS_IF_TOOLTIP_4": "ئەگەر ØªÛ‡Ù†Ø¬Ù‰ Ù‚ىممىتى Ú¾Û•Ù‚ىقەتەن ØŒ Ø¦Û‡Ù†Ø¯Ø§Ù‚تا Ù†Ù‰Ú­ Ø¨Ù‰Ø± Ø¬ÛˆÙ…Ù„Û• . Ø¦Û‡Ù†Ø¯Ø§Ù‚ Ø¨ÙˆÙ„مايدىكەن، Ø¦Û•Ú¯Û•Ø± Ø¦Ù‰ÙƒÙƒÙ‰Ù†Ú†Ù‰ Ù‚ىممىتى ØŒ Ø¨ÙˆÙ„سا Ø¦Ù‰Ø¬Ø±Ø§ Ù‚ىلىش Ø¬ÛˆÙ…لىسى Ø¦Ù‰Ø´ÙƒÙƒÙ‰ Ù¾Ø§Ø±Ú†Û• . Ø¦Û•Ú¯Û•Ø± Ù‚ىممىتى ÙŠÙˆÙ‚ ØŒ Ø¦Û‡Ù†Ø¯Ø§Ù‚تا Ø¦Û•Ú­ Ø¦Ø§Ø®Ù‰Ø±Ù‚Ù‰ Ø¨Ù‰Ø± Ø¬ÛˆÙ…لىسى .",
+       "CONTROLS_IF_MSG_IF": "ئەگەر",
+       "CONTROLS_IF_MSG_ELSEIF": "ئۇنداق Ø¨ÙˆÙ„مىسا Ø¦Û•Ú¯Û•Ø±",
+       "CONTROLS_IF_MSG_ELSE": "ئۇنداق Ø¨ÙˆÙ„مىسا",
+       "CONTROLS_IF_IF_TOOLTIP": "ÙƒÛ†Ù¾ÛˆÙŠÛˆÙ¾ ÙƒÙ‰ØªÙ‰Ø¯Û‡ØŒ Ø¦Û†Ú†ÛˆØ±ÛˆØ´ ÙŠØ§ÙƒÙ‰ Ù‚ايتا ØªÙ‰Ø²Ù‰Ù„غان Ø¨Ø§ÙŠØ±Ø§Ù… Â« if ï¼ˆ Ø³Û†Ø²Ù‰Ù†Ù‰Ú­ Ù¾Ø§Ø±Ú†Û• Ù‚ايتىدىن ØªÛ•Ù‚سىملەش .",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "بۇ Ø¨Ù‰Ù„مەيمىز Ø¬ÛˆÙ…Ù„Û• Ø¨Û†Ù„ىكى Ù‚وشۇلۇپ Ø¨Ù‰Ø± if Ø´Û•Ø±ØªÙ‰ .",
+       "CONTROLS_IF_ELSE_TOOLTIP": "ئەڭ Ø¦Ø§Ø®Ù‰Ø±Ù‚Ù‰ Ù‚وشۇش ØŒ Ú¾Û•Ù…Ù…Û• Ø¦Û•Ú¾Û‹Ø§Ù„نى Ø¦Û†Ø² Ø¦Ù‰Ú†Ù‰Ú¯Û• Ø¦Ø§Ù„ىدۇ Ø¨Ø§ÙŠØ±Ù‰Ù…ىدا Ø¨Ù‰Ù„مەيمىز ifپارچىلىرى .",
+       "IOS_OK": "ماقۇل",
+       "IOS_CANCEL": "ۋاز ÙƒÛ•Ú†",
+       "IOS_ERROR": "خاتالىق",
+       "IOS_PROCEDURES_INPUTS": "كىرگۈزۈش",
+       "IOS_PROCEDURES_ADD_INPUT": "+ ÙƒÙ‰Ø±Ú¯ÛˆØ²ÛˆÙ¾ Ù‚وشۇش",
+       "IOS_PROCEDURES_ALLOW_STATEMENTS": "ÙƒÛلىشىمگە Ù‚وشۇلۇش",
+       "IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR": "بۇنىڭدا Ù…ەزمۇننى Ù‚ايتا ÙƒÙ‰Ø±Ú¯ÛˆØ²ÛˆØ´ Ø¦Ù‰Ù‚تىدارى Ø¨Ø§Ø± .",
+       "IOS_VARIABLES_ADD_VARIABLE": "+ Ø¦Û†Ø²Ú¯Û•Ø±Ú¯ÛˆÚ†Ù‰ Ù…ىقدار Ù‚وشۇش",
+       "IOS_VARIABLES_ADD_BUTTON": "قوشۇش",
+       "IOS_VARIABLES_RENAME_BUTTON": "ئىسىم Ø¦Û†Ø²Ú¯Û•Ø±ØªÙ‰Ø´",
+       "IOS_VARIABLES_DELETE_BUTTON": "ئۆچۈرۈش",
+       "IOS_VARIABLES_VARIABLE_NAME": "ئۆزگەرگۈچى Ù…ىقدارنىڭ Ù†Ø§Ù…Ù‰",
+       "IOS_VARIABLES_EMPTY_NAME_ERROR": "سىز Ø¦Û†Ø²Ú¯Û•Ø±Ú¯ÛˆÚ†Ù‰ Ù…ىقدار Ù†Ø§Ù…Ù‰ Ø¦Ù‰Ø´Ù„ىتىشكە Ø¨ÙˆÙ„مايدۇ .",
+       "LOGIC_COMPARE_HELPURL": "https://zh.wikipedia.org/wiki/ ØªÛ•Ú­ Ø¦Û•Ù…ەس",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "ئەگەر Ø¦Ù‰ÙƒÙƒÙ‰ Ø¯Ø§Ù†Û• ÙƒÙ‰Ø±Ú¯ÛˆØ²ÛˆØ´ Ù†Û•ØªÙ‰Ø¬Ù‰Ø³Ù‰ ØªÛ•Ú­ Ø¨ÙˆÙ„سا ØŒ Ø±Ø§Ø³ØªÙ‰Ù†Ù„ا ÙƒÛ•ÙŠÙ†Ù‰Ú¯Û• Ù‚ايتسا.",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "ئەگەر Ø¦Ù‰ÙƒÙƒÙ‰ Ø¯Ø§Ù†Û• ÙƒÙ‰Ø±Ú¯ÛˆØ²ÛˆØ´ Ù†Û•ØªÙ‰Ø¬Ù‰Ø³Ù‰ ØªÛ•Ú­ Ø¨ÙˆÙ„مايدۇ ØŒ Ø¨Û•Ùƒ ÙƒÛ•Ù„دى .",
+       "LOGIC_COMPARE_TOOLTIP_LT": "ئەگەر ØªÛ‡Ù†Ø¬Ù‰ ÙƒÙ‰Ø±Ú¯ÛˆØ²ÛˆØ´ Ù†Û•ØªÙ‰Ø¬Ù‰Ø¯Û• Ø¦Ù‰Ø´ÙƒÙƒÙ‰Ù†Ú†Ù‰ ÙƒÙ‰Ú†Ù‰Ùƒ Ø¨ÙˆÙ„سا Ø±Ø§Ø³ØªÙ‰Ù†Ù„ا ÙƒÛ•ÙŠÙ†Ù‰Ú¯Û• Ù‚ايتسا .",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "ئەگەر ØªÛ‡Ù†Ø¬Ù‰ ÙƒÙ‰Ø±Ú¯ÛˆØ²ÛˆØ´ Ù†Û•ØªÙ‰Ø¬Ù‰Ø³Ù‰ Ø¦Ù‰ÙƒÙƒÙ‰Ù†Ú†Ù‰ ÙƒÙ‰Ø±Ú¯ÛˆØ²ÛˆØ´ Ù†Û•ØªÙ‰Ø¬Ù‰Ø³Ù‰ ØªÙ‰Ù† ØªÛ†Û‹Û•Ù† ÙŠØ§ÙƒÙ‰ Ø´Û‡Ù†Ù‰Ú­ØºØ§ ØªÛ•Ú­ Ø¨ÙˆÙ„سا Ø±Ø§Ø³ØªÙ‰Ù†Ù„ا ÙƒÛ•ÙŠÙ†Ù‰Ú¯Û• Ù‚ايتسا .",
+       "LOGIC_COMPARE_TOOLTIP_GT": "ئەگەر ØªÛ‡Ù†Ø¬Ù‰ ÙƒÙ‰Ø±Ú¯ÛˆØ²ÛˆØ´ Ù†Û•ØªÙ‰Ø¬Ù‰Ø³Ù‰ Ø¦Ù‰Ø´ÙƒÙƒÙ‰Ù†Ú†Ù‰ Ú†ÙˆÚ­ Ø¨ÙˆÙ„سا Ø±Ø§Ø³ØªÙ‰Ù†Ù„ا ÙƒÛ•ÙŠÙ†Ù‰Ú¯Û• Ù‚ايتسا .",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "ئەگەر ØªÛ‡Ù†Ø¬Ù‰ ÙƒÙ‰Ø±Ú¯ÛˆØ²ÛˆØ´ Ù†Û•ØªÙ‰Ø¬Ù‰Ø¯Û• Ø¦Ù‰Ø´ÙƒÙƒÙ‰Ù†Ú†Ù‰ ÙƒÙ‰Ú†Ù‰Ùƒ Ø¨ÙˆÙ„سا Ø±Ø§Ø³ØªÙ‰Ù†Ù„ا ÙƒÛ•ÙŠÙ†Ù‰Ú¯Û• Ù‚ايتسا .",
+       "LOGIC_OPERATION_AND": "Û‹Û•",
+       "LOGIC_OPERATION_OR": "ياكى",
+       "LOGIC_NEGATE_TITLE": "ئەمەس%1",
+       "LOGIC_BOOLEAN_TRUE": "ھەقىقىي",
+       "LOGIC_BOOLEAN_FALSE": "يالغان",
+       "LOGIC_BOOLEAN_TOOLTIP": "راست ÙŠØ§ÙƒÙ‰ ÙŠØ§Ù„غان Ù‚ايتىش",
+       "LOGIC_NULL": "قۇرۇق",
+       "LOGIC_NULL_TOOLTIP": " Ù†Û†Ù„Ú¯Û• Ù‚ايتىش",
+       "LOGIC_TERNARY_CONDITION": "سىناق",
+       "LOGIC_TERNARY_IF_TRUE": "ئەگەر Ø±Ø§Ø³Øª Ø¨ÙˆÙ„سا",
+       "LOGIC_TERNARY_IF_FALSE": "ئەگەر ÙŠØ§Ù„غان Ø¨ÙˆÙ„سا",
+       "MATH_NUMBER_HELPURL": "https://zh.wikipedia.org/wiki/سان",
+       "MATH_NUMBER_TOOLTIP": "بىر Ø³Ø§Ù†.",
+       "MATH_ARITHMETIC_HELPURL": "https://zh.wikipedia.org/wiki/ئارىÙÙ…Ûتىكىلىق",
+       "MATH_SINGLE_HELPURL": "https://zh.wikipedia.org/wiki/كۋادرات ÙŠÙ‰Ù„تىز",
+       "MATH_SINGLE_OP_ROOT": " ÙƒÛ‹Ø§Ø¯Ø±Ø§Øª ÙŠÙ‰Ù„تىز",
+       "MATH_SINGLE_OP_ABSOLUTE": "مۇتلەق",
+       "MATH_TRIG_HELPURL": "https://zh.wikipedia.org/wiki/ترىگونومÛتىرىيىلىك Ùۇنكسىيە",
+       "MATH_CONSTANT_HELPURL": "https://zh.wikipedia.org/wiki/ماتÛماتىكا ØªÛ‡Ø±Ø§Ù‚لىق Ø³Ø§Ù†Ù‰",
+       "MATH_IS_EVEN": "جۈپ Ø³Ø§Ù†",
+       "MATH_IS_ODD": " ØªØ§Ù‚ Ø³Ø§Ù†",
+       "MATH_IS_PRIME": "تۈپ Ø³Ø§Ù†",
+       "MATH_IS_WHOLE": "پۈتۈن Ø³Ø§Ù†",
+       "MATH_IS_POSITIVE": "مۇسبەت",
+       "MATH_IS_NEGATIVE": " Ù…ەنپى",
+       "MATH_IS_DIVISIBLE_BY": "پۈتۈن Ø¨Û†Ù„ۈنۈش",
+       "MATH_CHANGE_HELPURL": "https://zh.wikipedia.org/wiقوشۇش",
+       "MATH_CHANGE_TITLE": " Ø¦Û†Ø²Ú¯Û•Ø±ØªÙ‰Ø´ %1 Ø¯Ù‰Ù† %2",
+       "MATH_ROUND_HELPURL": "https://zh.wikipedia.org/wiki/سانلىق Ù‚ىممەت ØªÛˆØ²Ù‰ØªÙ‰Ø´",
+       "MATH_ROUND_OPERATOR_ROUND": "تۆۋەنگە ØªØ§Ø±ØªÙ‰Ú­",
+       "MATH_ROUND_OPERATOR_ROUNDUP": " ØªÛ†Û‹Û•Ù†Ú¯Û• ØªØ§Ø±ØªÙ‰Ú­",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "تۆۋەنگە ØªØ§Ø±ØªÙ‰Ú­",
+       "MATH_ONLIST_OPERATOR_MIN": "جەدۋەل Ø¦Ù‰Ú†Ù‰Ø¯Ù‰ÙƒÙ‰ Ø¦Û•Ú­ ÙƒÙ‰Ú†Ù‰Ùƒ Ù‚ىممەت",
+       "MATH_ONLIST_TOOLTIP_MIN": " Ø¬Û•Ø¯Û‹Û•Ù„دىكى Ø¦Û•Ú­ ÙƒÙ‰Ú†Ù‰Ùƒ Ø³Ø§Ù†ØºØ§ Ù‚ايتىش",
+       "MATH_ONLIST_OPERATOR_MAX": " Ø¬Û•Ø¯Û‹Û•Ù„دىكى Ø¦Û•Ú­ Ú†ÙˆÚ­ Ù‚ىممەت",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "جەدۋەل Ø¦Ù‰Ú†Ù‰Ø¯Ù‰ÙƒÙ‰ Ø¦ÙˆØªØªÛ‡Ø±Ù‰Ú†Û• Ø³Ø§Ù†",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "جەدۋەلدىكى Ø¦ÙˆØªØªÛ‡Ø±Ø§ Ø³Ø§Ù†",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": " Ø¬Û•Ø¯Û‹Û•Ù„دىكى Ø¦ÙˆØªØªÛ‡Ø±Ø§ Ø³Ø§Ù†ØºØ§ Ù‚ايتىش",
+       "MATH_ONLIST_OPERATOR_MODE": " Ø¬Û•Ø¯Û‹Û•Ù„ Ú¾Ø§Ù„ىتى",
+       "MATH_MODULO_HELPURL": "https://zh.wikipedia.org/wiki/مودÛÙ„ Ú¾Ûسابى",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "   Ù‚وشۇش",
+       "LISTS_GET_INDEX_GET": "قولغا ÙƒÛ•Ù„تۈرۈش",
+       "LISTS_GET_INDEX_REMOVE": "چىقىرىۋىتىش",
+       "LISTS_GET_INDEX_FIRST": "تۇنجى",
+       "LISTS_GET_INDEX_LAST": "ئاخىرقى",
+       "LISTS_GET_INDEX_RANDOM": "خالىغانچە",
+       "LISTS_SET_INDEX_SET": "تەڭشەك",
+       "LISTS_SET_INDEX_INSERT": "قىستۇرۇڭ",
+       "LISTS_SORT_ORDER_ASCENDING": "يۇقىرىغا",
+       "LISTS_SORT_ORDER_DESCENDING": "تۆۋەنگە",
+       "LISTS_SORT_TYPE_NUMERIC": "سان Ø¨ÙˆÙŠÙ‰Ú†Û• ØªÙ‰Ø²Ù‰Ù„",
+       "LISTS_SORT_TYPE_TEXT": " Ú¾Û•Ø±Ù¾ Ø¨ÙˆÙŠÙ‰Ú†Û• ØªÙ‰Ø²Ù‰Ù„",
+       "LISTS_SORT_TYPE_IGNORECASE": "ھەرب Ø¨ÙˆÙŠÙ‰Ú†Û• ØªÙ‰Ø²Ù‰Ù„ØŒ Ú†ÙˆÚ­ ÙƒÙ‰Ú†Ù‰Ùƒ ÙŠÛزىلىش Ú¾Ûساپ Ù‚ىلىنمايدۇ"
+}
diff --git a/js/msg/json/uk.json b/js/msg/json/uk.json
new file mode 100644 (file)
index 0000000..f9e2d02
--- /dev/null
@@ -0,0 +1,364 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Andriykopanytsia",
+                       "Base",
+                       "Igor Zavadsky",
+                       "Lxlalexlxl",
+                       "ì•„ë¼",
+                       "Visem",
+                       "Piramidion",
+                       "SimondR"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "елемент",
+       "TODAY": "Сьогодні",
+       "DUPLICATE_BLOCK": "Дублювати",
+       "ADD_COMMENT": "Додати ÐºÐ¾Ð¼ÐµÐ½Ñ‚ар",
+       "REMOVE_COMMENT": "Видалити ÐºÐ¾Ð¼ÐµÐ½Ñ‚ар",
+       "DUPLICATE_COMMENT": "Дублювати Ð¿Ñ€Ð¸Ð¼Ñ–тку",
+       "EXTERNAL_INPUTS": "Зовнішні Ð²Ñ…оди",
+       "INLINE_INPUTS": "Вбудовані Ð²Ñ…оди",
+       "DELETE_BLOCK": "Видалити Ð±Ð»Ð¾Ðº",
+       "DELETE_X_BLOCKS": "Видалити %1 Ð±Ð»Ð¾ÐºÑ–в",
+       "DELETE_ALL_BLOCKS": "Вилучити Ð²ÑÑ– Ð±Ð»Ð¾ÐºÐ¸ %1?",
+       "CLEAN_UP": "ВирівнÑти Ð±Ð»Ð¾ÐºÐ¸",
+       "COLLAPSE_BLOCK": "Згорнути Ð±Ð»Ð¾Ðº",
+       "COLLAPSE_ALL": "Згорнути Ð±Ð»Ð¾ÐºÐ¸",
+       "EXPAND_BLOCK": "Розгорнути Ð±Ð»Ð¾Ðº",
+       "EXPAND_ALL": "Розгорнути Ð±Ð»Ð¾ÐºÐ¸",
+       "DISABLE_BLOCK": "Вимкнути Ð±Ð»Ð¾Ðº",
+       "ENABLE_BLOCK": "Увімкнути Ð±Ð»Ð¾Ðº",
+       "HELP": "Довідка",
+       "UNDO": "СкаÑувати",
+       "REDO": "Повторити",
+       "CHANGE_VALUE_TITLE": "Змінити Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ:",
+       "RENAME_VARIABLE": "Перейменувати Ð·Ð¼Ñ–нну...",
+       "RENAME_VARIABLE_TITLE": "Перейменувати ÑƒÑÑ– Ð·Ð¼Ñ–нні \"%1\" Ð´Ð¾:",
+       "NEW_VARIABLE": "Створити Ð·Ð¼Ñ–нну...",
+       "NEW_STRING_VARIABLE": "Створити Ñ€Ñдкову Ð·Ð¼Ñ–нну...",
+       "NEW_NUMBER_VARIABLE": "Створити Ñ‡Ð¸Ñлову Ð·Ð¼Ñ–нну...",
+       "NEW_COLOUR_VARIABLE": "Створити ÐºÐ¾Ð»Ñ–рну Ð·Ð¼Ñ–нну...",
+       "NEW_VARIABLE_TYPE_TITLE": "Тип Ð½Ð¾Ð²Ð¾Ñ— Ð·Ð¼Ñ–нної:",
+       "NEW_VARIABLE_TITLE": "Ðова Ð½Ð°Ð·Ð²Ð° Ð·Ð¼Ñ–нної:",
+       "VARIABLE_ALREADY_EXISTS": "Змінна Ð· Ð½Ð°Ð·Ð²Ð¾ÑŽ '%1' Ð²Ð¶Ðµ Ñ–Ñнує.",
+       "VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE": "Змінна Ð· Ð½Ð°Ð·Ð²Ð¾ÑŽ '%1' Ð²Ð¶Ðµ Ñ–Ñнує Ð² Ñ–ншому Ñ‚ипі: '%2'.",
+       "DELETE_VARIABLE_CONFIRMATION": "Вилучити %1 Ð²Ð¸ÐºÐ¾Ñ€Ð¸ÑтаннѠзмінної '%2'?",
+       "CANNOT_DELETE_VARIABLE_PROCEDURE": "Ðеможливо Ð²Ð¸Ð´Ð°Ð»Ð¸Ñ‚и Ð·Ð¼Ñ–нну '%1', Ñ‚ому Ñ‰Ð¾ Ñ†Ðµ Ñ‡Ð°Ñтина Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ„ункції '%2'",
+       "DELETE_VARIABLE": "Вилучити Ð·Ð¼Ñ–нну '%1'",
+       "COLOUR_PICKER_HELPURL": "https://uk.wikipedia.org/wiki/Колір",
+       "COLOUR_PICKER_TOOLTIP": "Вибрати ÐºÐ¾Ð»Ñ–Ñ€ Ð· Ð¿Ð°Ð»Ñ–три.",
+       "COLOUR_RANDOM_TITLE": "випадковий ÐºÐ¾Ð»Ñ–Ñ€",
+       "COLOUR_RANDOM_TOOLTIP": "Вибрати ÐºÐ¾Ð»Ñ–Ñ€ Ð½Ð°Ð²Ð¼Ð°Ð½Ð½Ñ.",
+       "COLOUR_RGB_HELPURL": "http://www.december.com/html/spec/colorper.html",
+       "COLOUR_RGB_TITLE": "колір Ð·",
+       "COLOUR_RGB_RED": "червоний",
+       "COLOUR_RGB_GREEN": "зелений",
+       "COLOUR_RGB_BLUE": "Ñиній",
+       "COLOUR_RGB_TOOLTIP": "Створити ÐºÐ¾Ð»Ñ–Ñ€ Ð·Ñ– Ð²ÐºÐ°Ð·Ð°Ð½Ð¸Ð¼Ð¸ Ñ€Ñ–внÑми Ñ‡ÐµÑ€Ð²Ð¾Ð½Ð¾Ð³Ð¾, Ð·ÐµÐ»ÐµÐ½Ð¾Ð³Ð¾ Ñ‚а Ñинього. Ð£ÑÑ– Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¼Ð°ÑŽÑ‚ÑŒ Ð±ÑƒÑ‚и Ð²Ñ–д 0 Ð´Ð¾ 100.",
+       "COLOUR_BLEND_HELPURL": "http://meyerweb.com/eric/tools/color-blend/",
+       "COLOUR_BLEND_TITLE": "змішати",
+       "COLOUR_BLEND_COLOUR1": "колір 1",
+       "COLOUR_BLEND_COLOUR2": "колір 2",
+       "COLOUR_BLEND_RATIO": "ÑпіввідношеннÑ",
+       "COLOUR_BLEND_TOOLTIP": "Змішує Ð´Ð²Ð° ÐºÐ¾Ð»ÑŒÐ¾Ñ€Ð¸ Ñ€Ð°Ð·Ð¾Ð¼ Ñƒ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾Ð¼Ñƒ Ñпіввідношені (0.0 - 1.0).",
+       "CONTROLS_REPEAT_HELPURL": "https://uk.wikipedia.org/wiki/Цикл_(програмуваннÑ)#.D0.A6.D0.B8.D0.BA.D0.BB_.D0.B7_.D0.BB.D1.96.D1.87.D0.B8.D0.BB.D1.8C.D0.BD.D0.B8.D0.BA.D0.BE.D0.BC",
+       "CONTROLS_REPEAT_TITLE": "повторити %1 Ñ€Ð°Ð·Ñ–в",
+       "CONTROLS_REPEAT_INPUT_DO": "виконати",
+       "CONTROLS_REPEAT_TOOLTIP": "Виконати Ð¿ÐµÐ²Ð½Ñ– Ð´Ñ–Ñ— Ð´ÐµÐºÑ–лька Ñ€Ð°Ð·Ñ–в.",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "повторювати Ð¿Ð¾ÐºÐ¸",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "повторювати, Ð´Ð¾ÐºÐ¸ Ð½Ðµ",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "Поки Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ–Ñтинне, Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ñ‚и Ð¿ÐµÐ²Ð½Ñ– Ð´Ñ–Ñ—.",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "Поки Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ…ибне, Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ñ‚и Ð¿ÐµÐ²Ð½Ñ– Ð´Ñ–Ñ—.",
+       "CONTROLS_FOR_TOOLTIP": "ÐаÑвна Ð·Ð¼Ñ–нна \"%1\" Ð½Ð°Ð±ÑƒÐ²Ð°Ñ” Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ Ð²Ñ–д Ð¿Ð¾Ñ‡Ð°Ñ‚кового Ð´Ð¾ ÐºÑ–нцевого, Ð²Ñ€Ð°Ñ…овуючи Ð·Ð°Ð´Ð°Ð½Ð¸Ð¹ Ñ–нтервал, Ñ– Ð²Ð¸ÐºÐ¾Ð½ÑƒÑŽÑ‚ÑŒÑѠвказані Ð±Ð»Ð¾ÐºÐ¸.",
+       "CONTROLS_FOR_TITLE": "рахувати Ð· %1 Ð²Ñ–д %2 Ð´Ð¾ %3 Ñ‡ÐµÑ€ÐµÐ· %4",
+       "CONTROLS_FOREACH_TITLE": "длѠкожного ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚а %1 Ñƒ ÑпиÑку %2",
+       "CONTROLS_FOREACH_TOOLTIP": "ДлѠкожного ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚а Ð² ÑпиÑку Ð·Ð¼Ñ–нна '%1' Ð¾Ñ‚римує Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚а, Ð° Ð¿Ð¾Ñ‚ім Ð²Ð¸ÐºÐ¾Ð½ÑƒÑŽÑ‚ÑŒÑѠпевні Ð´Ñ–Ñ—.",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "перервати Ñ†Ð¸ÐºÐ»",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "продовжити Ð· Ð½Ð°Ñтупної Ñ–терації Ñ†Ð¸ÐºÐ»Ñƒ",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "Перервати Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ñ†Ð¸ÐºÐ»Ñƒ.",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "ПропуÑтити Ð·Ð°Ð»Ð¸ÑˆÐ¾Ðº Ñ†ÑŒÐ¾Ð³Ð¾ Ñ†Ð¸ÐºÐ»Ñƒ Ñ– Ð¿ÐµÑ€ÐµÐ¹Ñ‚и Ð´Ð¾ Ð²Ð¸ÐºÐ¾Ð½Ð°Ð½Ð½Ñ Ð½Ð°Ñтупної Ñ–терації.",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "ПопередженнÑ: Ñ†ÐµÐ¹ Ð±Ð»Ð¾Ðº Ð¼Ð¾Ð¶Ðµ Ð±ÑƒÑ‚и Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñтаний Ñ‚ільки Ð² Ð¼ÐµÐ¶Ð°Ñ… Ñ†Ð¸ÐºÐ»Ñƒ.",
+       "CONTROLS_IF_TOOLTIP_1": "Якщо Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ–Ñтинне, Ñ‚о Ð²Ð¸ÐºÐ¾Ð½Ð°Ñ‚и Ð¿ÐµÐ²Ð½Ñ– Ð´Ñ–Ñ—.",
+       "CONTROLS_IF_TOOLTIP_2": "Якщо Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ–Ñтинне, Ñ‚о Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑѠперший Ð±Ð»Ð¾Ðº Ð¾Ð¿ÐµÑ€Ð°Ñ‚орів. Ð’ Ñ–ншому Ð²Ð¸Ð¿Ð°Ð´ÐºÑƒ Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑѠдругий Ð±Ð»Ð¾Ðº Ð¾Ð¿ÐµÑ€Ð°Ñ‚орів.",
+       "CONTROLS_IF_TOOLTIP_3": "Якщо Ð¿ÐµÑ€ÑˆÐµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ–Ñтинне, Ñ‚о Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑѠперший Ð±Ð»Ð¾Ðº Ð¾Ð¿ÐµÑ€Ð°Ñ‚орів. Ð’ Ñ–ншому Ð²Ð¸Ð¿Ð°Ð´ÐºÑƒ, Ñкщо Ð´Ñ€ÑƒÐ³Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ–Ñтина, Ñ‚о Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑѠдругий Ð±Ð»Ð¾Ðº Ð¾Ð¿ÐµÑ€Ð°Ñ‚орів.",
+       "CONTROLS_IF_TOOLTIP_4": "Якщо Ð¿ÐµÑ€ÑˆÐµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ–Ñтинне, Ñ‚о Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑѠперший Ð±Ð»Ð¾Ðº Ð¾Ð¿ÐµÑ€Ð°Ñ‚орів. Ð’ Ñ–ншому Ð²Ð¸Ð¿Ð°Ð´ÐºÑƒ, Ñкщо Ð´Ñ€ÑƒÐ³Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ–Ñтинне, Ñ‚о Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑѠдругий Ð±Ð»Ð¾Ðº Ð¾Ð¿ÐµÑ€Ð°Ñ‚орів. Ð¯ÐºÑ‰Ð¾ Ð¶Ð¾Ð´Ð½Ðµ Ñ–з Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ Ð½Ðµ Ñ” Ñ–Ñтинним, Ñ‚о Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑѠоÑтанній Ð±Ð»Ð¾Ðº Ð¾Ð¿ÐµÑ€Ð°Ñ‚орів.",
+       "CONTROLS_IF_MSG_IF": "Ñкщо",
+       "CONTROLS_IF_MSG_ELSEIF": "інакше Ñкщо",
+       "CONTROLS_IF_MSG_ELSE": "інакше",
+       "CONTROLS_IF_IF_TOOLTIP": "Додайте, Ð²Ð¸Ð»ÑƒÑ‡Ñ–Ñ‚ÑŒ Ð°Ð±Ð¾ Ð·Ð¼Ñ–ніть Ð¿Ð¾Ñ€Ñдок Ñекцій, Ñ‰Ð¾Ð± Ð¿ÐµÑ€ÐµÐ½Ð°Ð»Ð°ÑˆÑ‚увати Ñ†ÐµÐ¹ Ð±Ð»Ð¾Ðº 'Ñкщо'.",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "Додайте ÑƒÐ¼Ð¾Ð²Ñƒ Ð´Ð¾ Ð±Ð»Ð¾ÐºÐ° 'Ñкщо'.",
+       "CONTROLS_IF_ELSE_TOOLTIP": "Додати Ð¾Ñтаточну, Ð²ÑеоÑÑжну ÑƒÐ¼Ð¾Ð²Ñƒ Ð´Ð¾ Ð±Ð»Ð¾ÐºÑƒ 'Ñкщо'.",
+       "IOS_OK": "Готово",
+       "IOS_CANCEL": "СкаÑувати",
+       "IOS_ERROR": "Помилка",
+       "IOS_PROCEDURES_INPUTS": "ВХОДИ",
+       "IOS_PROCEDURES_ADD_INPUT": "+ Ð”одати Ð²Ñ…ідну Ð·Ð¼Ñ–нну",
+       "IOS_PROCEDURES_ALLOW_STATEMENTS": "Дозволити Ð¾Ð¿ÐµÑ€Ð°Ñ‚ори",
+       "IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR": "У Ñ†Ñ–єї Ñ„ункції Ñ” Ð²Ñ…ідні Ð·Ð¼Ñ–нні, Ñ‰Ð¾ Ð´ÑƒÐ±Ð»ÑŽÑŽÑ‚ÑŒÑÑ.",
+       "IOS_VARIABLES_ADD_VARIABLE": "+ Ð”одати Ð·Ð¼Ñ–нну",
+       "IOS_VARIABLES_ADD_BUTTON": "Додати",
+       "IOS_VARIABLES_RENAME_BUTTON": "Перейменувати",
+       "IOS_VARIABLES_DELETE_BUTTON": "Видалити",
+       "IOS_VARIABLES_VARIABLE_NAME": "Ðазва Ð·Ð¼Ñ–нної",
+       "IOS_VARIABLES_EMPTY_NAME_ERROR": "Ви Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ‚е Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñтовувати Ð¿Ð¾Ñ€Ð¾Ð¶Ð½ÑŽ Ð½Ð°Ð·Ð²Ñƒ Ð·Ð¼Ñ–нної.",
+       "LOGIC_COMPARE_HELPURL": "https://uk.wikipedia.org/wiki/ÐерівніÑÑ‚ÑŒ",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "Повертає Ñ–Ñтину, Ñкщо Ð¾Ð±Ð¸Ð´Ð²Ð° Ð²Ñ…оди Ñ€Ñ–вні Ð¾Ð´Ð¸Ð½ Ð¾Ð´Ð½Ð¾Ð¼Ñƒ.",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "Повертає Ñ–Ñтину, Ñкщо Ð¾Ð±Ð¸Ð´Ð²Ð° Ð²Ñ…оди Ð½Ðµ Ð´Ð¾Ñ€Ñ–внюють Ð¾Ð´Ð¸Ð½ Ð¾Ð´Ð½Ð¾Ð¼Ñƒ.",
+       "LOGIC_COMPARE_TOOLTIP_LT": "Повертає Ñ–Ñтину, Ñкщо Ð¿ÐµÑ€ÑˆÐµ Ð²Ñ…ідне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¼ÐµÐ½ÑˆÐµ, Ð½Ñ–ж Ð´Ñ€ÑƒÐ³Ðµ.",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "Повертає Ñ–Ñтину, Ñкщо Ð¿ÐµÑ€ÑˆÐµ Ð²Ñ…ідне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¼ÐµÐ½ÑˆÐµ Ð°Ð±Ð¾ Ð´Ð¾Ñ€Ñ–внює Ð´Ñ€ÑƒÐ³Ð¾Ð¼Ñƒ.",
+       "LOGIC_COMPARE_TOOLTIP_GT": "Повертає Ñ–Ñтину, Ñкщо Ð¿ÐµÑ€ÑˆÐµ Ð²Ñ…ідне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð±Ñ–льше, Ð½Ñ–ж Ð´Ñ€ÑƒÐ³Ðµ.",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "Повертає Ñ–Ñтину, Ñкщо Ð¿ÐµÑ€ÑˆÐµ Ð²Ñ…ідне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð±Ñ–льше Ð°Ð±Ð¾ Ð´Ð¾Ñ€Ñ–внює Ð´Ñ€ÑƒÐ³Ð¾Ð¼Ñƒ.",
+       "LOGIC_OPERATION_TOOLTIP_AND": "Повертає Ñ–Ñтину, Ñкщо Ð¾Ð±Ð¸Ð´Ð²Ð° Ð²Ñ…оди Ñ–Ñтинні.",
+       "LOGIC_OPERATION_AND": "та",
+       "LOGIC_OPERATION_TOOLTIP_OR": "Повертає Ñ–Ñтину, Ñкщо Ð¿Ñ€Ð¸Ð½Ð°Ð¹Ð¼Ð½Ñ– Ð¾Ð´Ð¸Ð½ Ð· Ð²Ñ…одів Ñ–Ñтинний.",
+       "LOGIC_OPERATION_OR": "або",
+       "LOGIC_NEGATE_TITLE": "не %1",
+       "LOGIC_NEGATE_TOOLTIP": "Повертає Ñ–Ñтину, Ñкщо Ð²Ñ…ідне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ…ибне. ÐŸÐ¾Ð²ÐµÑ€Ñ‚ає Ñ…ибніÑÑ‚ÑŒ, Ñкщо Ð²Ñ…ідне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ–Ñтинне.",
+       "LOGIC_BOOLEAN_TRUE": "Ñ–Ñтина",
+       "LOGIC_BOOLEAN_FALSE": "хибніÑÑ‚ÑŒ",
+       "LOGIC_BOOLEAN_TOOLTIP": "Повертає Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ–Ñтина Ð°Ð±Ð¾ Ñ…ибніÑÑ‚ÑŒ.",
+       "LOGIC_NULL_HELPURL": "https://en.wikipedia.org/wiki/Nullable_type",
+       "LOGIC_NULL": "ніщо",
+       "LOGIC_NULL_TOOLTIP": "Повертає Ð½Ñ–що.",
+       "LOGIC_TERNARY_HELPURL": "https://en.wikipedia.org/wiki/%3F:",
+       "LOGIC_TERNARY_CONDITION": "теÑÑ‚",
+       "LOGIC_TERNARY_IF_TRUE": "Ñкщо Ñ–Ñтина",
+       "LOGIC_TERNARY_IF_FALSE": "Ñкщо Ñ…ибніÑÑ‚ÑŒ",
+       "LOGIC_TERNARY_TOOLTIP": "ПеревірÑÑ” ÑƒÐ¼Ð¾Ð²Ñƒ Ð² 'теÑÑ‚'. Ð¯ÐºÑ‰Ð¾ ÑƒÐ¼Ð¾Ð²Ð° Ñ–Ñтинна, Ñ‚о Ð¿Ð¾Ð²ÐµÑ€Ñ‚ає  Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ 'Ñкщо Ñ–Ñтина'; Ð² Ñ–ншому Ð²Ð¸Ð¿Ð°Ð´ÐºÑƒ Ð¿Ð¾Ð²ÐµÑ€Ñ‚ає Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ 'Ñкщо Ñ…ибніÑÑ‚ÑŒ'.",
+       "MATH_NUMBER_HELPURL": "https://uk.wikipedia.org/wiki/ЧиÑло",
+       "MATH_NUMBER_TOOLTIP": "ЧиÑло.",
+       "MATH_ARITHMETIC_HELPURL": "https://uk.wikipedia.org/wiki/Ðрифметика",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "Повертає Ñуму Ð´Ð²Ð¾Ñ… Ñ‡Ð¸Ñел.",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "Повертає Ñ€Ñ–зницю Ð´Ð²Ð¾Ñ… Ñ‡Ð¸Ñел.",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "Повертає Ð´Ð¾Ð±ÑƒÑ‚ок Ð´Ð²Ð¾Ñ… Ñ‡Ð¸Ñел.",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "Повертає Ñ‡Ð°Ñтку Ð´Ð²Ð¾Ñ… Ñ‡Ð¸Ñел.",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "Повертає Ð¿ÐµÑ€ÑˆÐµ Ñ‡Ð¸Ñло, Ð¿Ñ–днеÑене Ð´Ð¾ ÑтепенÑ, Ð²Ð¸Ñ€Ð°Ð¶ÐµÐ½Ð¾Ð³Ð¾ Ð´Ñ€ÑƒÐ³Ð¸Ð¼ Ñ‡Ð¸Ñлом.",
+       "MATH_SINGLE_HELPURL": "https://uk.wikipedia.org/wiki/Квадратний_корінь",
+       "MATH_SINGLE_OP_ROOT": "квадратний ÐºÐ¾Ñ€Ñ–нь",
+       "MATH_SINGLE_TOOLTIP_ROOT": "Повертає ÐºÐ²Ð°Ð´Ñ€Ð°Ñ‚ний ÐºÐ¾Ñ€Ñ–нь Ð· Ñ‡Ð¸Ñла.",
+       "MATH_SINGLE_OP_ABSOLUTE": "модуль",
+       "MATH_SINGLE_TOOLTIP_ABS": "Повертає Ð¼Ð¾Ð´ÑƒÐ»ÑŒ Ñ‡Ð¸Ñла.",
+       "MATH_SINGLE_TOOLTIP_NEG": "Повертає Ð¿Ñ€Ð¾Ñ‚илежне Ñ‡Ð¸Ñло.",
+       "MATH_SINGLE_TOOLTIP_LN": "Повертає Ð½Ð°Ñ‚уральний Ð»Ð¾Ð³Ð°Ñ€Ð¸Ñ„м Ñ‡Ð¸Ñла.",
+       "MATH_SINGLE_TOOLTIP_LOG10": "Повертає Ð´ÐµÑÑтковий Ð»Ð¾Ð³Ð°Ñ€Ð¸Ñ„м Ñ‡Ð¸Ñла.",
+       "MATH_SINGLE_TOOLTIP_EXP": "Повертає e Ñƒ Ñтепені.",
+       "MATH_SINGLE_TOOLTIP_POW10": "Повертає 10 Ñƒ Ñтепені.",
+       "MATH_TRIG_HELPURL": "https://uk.wikipedia.org/wiki/Тригонометричні_функції",
+       "MATH_TRIG_TOOLTIP_SIN": "Повертає ÑинуѠкута Ð² Ð³Ñ€Ð°Ð´ÑƒÑах (не Ð² Ñ€Ð°Ð´Ñ–анах).",
+       "MATH_TRIG_TOOLTIP_COS": "Повертає ÐºÐ¾ÑинуѠкута Ð² Ð³Ñ€Ð°Ð´ÑƒÑах (не Ð² Ñ€Ð°Ð´Ñ–анах).",
+       "MATH_TRIG_TOOLTIP_TAN": "Повертає Ñ‚ангенѠкута Ð² Ð³Ñ€Ð°Ð´ÑƒÑах (не Ð² Ñ€Ð°Ð´Ñ–анах).",
+       "MATH_TRIG_TOOLTIP_ASIN": "Повертає Ð°Ñ€ÐºÑинуѠчиÑла.",
+       "MATH_TRIG_TOOLTIP_ACOS": "Повертає Ð°Ñ€ÐºÐºÐ¾ÑинуѠчиÑла.",
+       "MATH_TRIG_TOOLTIP_ATAN": "Повертає Ð°Ñ€ÐºÑ‚ангенѠчиÑла.",
+       "MATH_CONSTANT_HELPURL": "https://uk.wikipedia.org/wiki/Математична_конÑтанта",
+       "MATH_CONSTANT_TOOLTIP": "Повертає Ð¾Ð´Ð½Ñƒ Ð· Ð¿Ð¾ÑˆÐ¸Ñ€ÐµÐ½Ð¸Ñ… ÐºÐ¾Ð½Ñтант: Ï€ (3.141...), e (2.718...), Ï† (1,618...), sqrt(2) (1.414...), sqrt(½) (0.707...) Ð°Ð±Ð¾ âˆž (неÑкінченніÑÑ‚ÑŒ).",
+       "MATH_IS_EVEN": "парне",
+       "MATH_IS_ODD": "непарне",
+       "MATH_IS_PRIME": "проÑте",
+       "MATH_IS_WHOLE": "ціле",
+       "MATH_IS_POSITIVE": "додатне",
+       "MATH_IS_NEGATIVE": "від'ємне",
+       "MATH_IS_DIVISIBLE_BY": "ділитьÑѠна",
+       "MATH_IS_TOOLTIP": "ПеревірÑÑ”, Ñ‡Ð¸ Ñ‡Ð¸Ñло Ð¿Ð°Ñ€Ð½Ðµ, Ð½ÐµÐ¿Ð°Ñ€Ð½Ðµ, Ð¿Ñ€Ð¾Ñте, Ñ†Ñ–ле, Ð´Ð¾Ð´Ð°Ñ‚не, Ð²Ñ–д'ємне Ð°Ð±Ð¾ Ñ‡Ð¸ Ð²Ð¾Ð½Ð¾ Ð´Ñ–литьÑѠна Ð¿ÐµÐ²Ð½Ðµ Ñ‡Ð¸Ñло Ð±ÐµÐ· Ð¾Ñтачі. ÐŸÐ¾Ð²ÐµÑ€Ñ‚ає Ñ–Ñтину Ð°Ð±Ð¾ Ñ…ибніÑÑ‚ÑŒ.",
+       "MATH_CHANGE_HELPURL": "https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter",
+       "MATH_CHANGE_TITLE": "змінити %1 Ð½Ð° %2",
+       "MATH_CHANGE_TOOLTIP": "Додати Ñ‡Ð¸Ñло Ð´Ð¾ Ð·Ð¼Ñ–нної '%1'.",
+       "MATH_ROUND_HELPURL": "https://uk.wikipedia.org/wiki/ОкругленнÑ",
+       "MATH_ROUND_TOOLTIP": "ОкругленнѠчиÑла Ð´Ð¾ Ð±Ñ–льшого Ð°Ð±Ð¾ Ð´Ð¾ Ð¼ÐµÐ½ÑˆÐ¾Ð³Ð¾.",
+       "MATH_ROUND_OPERATOR_ROUND": "округлити",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "округлити Ð´Ð¾ Ð±Ñ–льшого",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "округлити Ð´Ð¾ Ð¼ÐµÐ½ÑˆÐ¾Ð³Ð¾",
+       "MATH_ONLIST_HELPURL": "http://www.mapleprimes.com/questions/100441-Applying-Function-To-List-Of-Numbers",
+       "MATH_ONLIST_OPERATOR_SUM": "Ñума ÑпиÑку",
+       "MATH_ONLIST_TOOLTIP_SUM": "Повертає Ñуму Ð²ÑÑ–Ñ… Ñ‡Ð¸Ñел Ñƒ ÑпиÑку.",
+       "MATH_ONLIST_OPERATOR_MIN": "мінімум ÑпиÑку",
+       "MATH_ONLIST_TOOLTIP_MIN": "Повертає Ð½Ð°Ð¹Ð¼ÐµÐ½ÑˆÐµ Ñ‡Ð¸Ñло Ñƒ ÑпиÑку.",
+       "MATH_ONLIST_OPERATOR_MAX": "макÑимум ÑпиÑку",
+       "MATH_ONLIST_TOOLTIP_MAX": "Повертає Ð½Ð°Ð¹Ð±Ñ–льше Ñ‡Ð¸Ñло Ñƒ ÑпиÑку.",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "Ñереднє ÑпиÑку",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "Повертає Ñереднє (арифметичне) Ñ‡Ð¸Ñлових Ð·Ð½Ð°Ñ‡ÐµÐ½ÑŒ Ñƒ ÑпиÑку.",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "медіана ÑпиÑку",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "Повертає Ð¼ÐµÐ´Ñ–ану ÑпиÑку.",
+       "MATH_ONLIST_OPERATOR_MODE": "моди ÑпиÑку",
+       "MATH_ONLIST_TOOLTIP_MODE": "Повертає Ð¿ÐµÑ€ÐµÐ»Ñ–к Ð½Ð°Ð¹Ð¿Ð¾ÑˆÐ¸Ñ€ÐµÐ½Ñ–ших ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ів Ñƒ ÑпиÑку.",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "Ñтандартне Ð²Ñ–дхиленнѠÑпиÑку",
+       "MATH_ONLIST_TOOLTIP_STD_DEV": "Повертає Ñтандартне Ð²Ñ–дхиленнѠÑпиÑку.",
+       "MATH_ONLIST_OPERATOR_RANDOM": "випадковий ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ ÑпиÑку",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "Повертає Ð²Ð¸Ð¿Ð°Ð´ÐºÐ¾Ð²Ð¸Ð¹ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ð·Ñ– ÑпиÑку.",
+       "MATH_MODULO_HELPURL": "https://uk.wikipedia.org/wiki/ДіленнÑ_з_оÑтачею",
+       "MATH_MODULO_TITLE": "оÑтача Ð²Ñ–д %1 Ã· %2",
+       "MATH_MODULO_TOOLTIP": "Повертає Ð¾Ñтачу Ð²Ñ–д Ð´Ñ–леннѠдвох Ñ‡Ð¸Ñел.",
+       "MATH_CONSTRAIN_TITLE": "обмежити %1 Ð²Ñ–д %2 Ð´Ð¾ %3",
+       "MATH_CONSTRAIN_TOOLTIP": "Обмежує Ñ‡Ð¸Ñло Ð²ÐºÐ°Ð·Ð°Ð½Ð¸Ð¼Ð¸ Ð¼ÐµÐ¶Ð°Ð¼Ð¸ (включно).",
+       "MATH_RANDOM_INT_HELPURL": "https://uk.wikipedia.org/wiki/ГенераціÑ_випадкових_чиÑел",
+       "MATH_RANDOM_INT_TITLE": "випадкове Ñ†Ñ–ле Ñ‡Ð¸Ñло Ð²Ñ–д %1 Ð´Ð¾ %2",
+       "MATH_RANDOM_INT_TOOLTIP": "Повертає Ð²Ð¸Ð¿Ð°Ð´ÐºÐ¾Ð²Ðµ Ñ†Ñ–ле Ñ‡Ð¸Ñло Ð¼Ñ–ж Ð´Ð²Ð¾Ð¼Ð° Ð·Ð°Ð´Ð°Ð½Ð¸Ð¼Ð¸ Ð¼ÐµÐ¶Ð°Ð¼Ð¸ Ð²ÐºÐ»ÑŽÑ‡Ð½Ð¾.",
+       "MATH_RANDOM_FLOAT_HELPURL": "https://uk.wikipedia.org/wiki/ГенераціÑ_випадкових_чиÑел",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "випадковий Ð´Ñ€Ñ–б",
+       "MATH_RANDOM_FLOAT_TOOLTIP": "Повертає Ð²Ð¸Ð¿Ð°Ð´ÐºÐ¾Ð²Ð¸Ð¹ Ð´Ñ€Ñ–б Ð²Ñ–д 0,0 (включно) Ñ‚а 1.0 (не Ð²ÐºÐ»ÑŽÑ‡Ð½Ð¾).",
+       "TEXT_TEXT_HELPURL": "https://uk.wikipedia.org/wiki/РÑдок_(програмуваннÑ)",
+       "TEXT_TEXT_TOOLTIP": "Символ, Ñлово Ð°Ð±Ð¾ Ñ€Ñдок Ñ‚екÑту.",
+       "TEXT_JOIN_HELPURL": "http://www.chemie.fu-berlin.de/chemnet/use/info/make/make_8.html",
+       "TEXT_JOIN_TITLE_CREATEWITH": "Ñтворити Ñ‚екÑÑ‚ Ð·",
+       "TEXT_JOIN_TOOLTIP": "Створити Ñ„рагмент Ñ‚екÑту ÑˆÐ»Ñхом Ð·'єднуваннѠбудь-Ñкого Ñ‡Ð¸Ñла ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ів.",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "приєднати",
+       "TEXT_CREATE_JOIN_TOOLTIP": "Додайте, Ð²Ð¸Ð»ÑƒÑ‡Ñ–Ñ‚ÑŒ Ð°Ð±Ð¾ Ð·Ð¼Ñ–ніть Ð¿Ð¾Ñ€Ñдок Ñекцій Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ½Ð°Ð»Ð°ÑˆÑ‚уваннѠтекÑтового Ð±Ð»Ð¾ÐºÑƒ.",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "Додати ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ð´Ð¾ Ñ‚екÑту.",
+       "TEXT_APPEND_TITLE": "до %1 Ð´Ð¾Ð´Ð°Ñ‚и Ñ‚екÑÑ‚ %2",
+       "TEXT_APPEND_TOOLTIP": "Додати Ð´ÐµÑкий Ñ‚екÑÑ‚ Ð´Ð¾ Ð·Ð¼Ñ–нної '%1'.",
+       "TEXT_LENGTH_TITLE": "довжина %1",
+       "TEXT_LENGTH_TOOLTIP": "Повертає Ñ‡Ð¸Ñло Ñимволів (включно Ð· Ð¿Ñ€Ð¾Ð¿ÑƒÑками) Ñƒ Ð´Ð°Ð½Ð¾Ð¼Ñƒ Ñ‚екÑÑ‚Ñ–.",
+       "TEXT_ISEMPTY_TITLE": "%1 Ñ” Ð¿Ð¾Ñ€Ð¾Ð¶Ð½Ñ–м",
+       "TEXT_ISEMPTY_TOOLTIP": "Повертає Ñ–Ñтину, Ñкщо Ð²ÐºÐ°Ð·Ð°Ð½Ð¸Ð¹ Ñ‚екÑÑ‚ Ð¿Ð¾Ñ€Ð¾Ð¶Ð½Ñ–й.",
+       "TEXT_INDEXOF_TOOLTIP": "Повертає Ñ–ндекѠпершого/оÑтаннього Ð²Ñ…одженнѠпершого Ñ‚екÑту Ð² Ð´Ñ€ÑƒÐ³Ð¸Ð¹. ÐŸÐ¾Ð²ÐµÑ€Ñ‚ає %1, Ñкщо Ñ‚екÑÑ‚ Ð½Ðµ Ð·Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾.",
+       "TEXT_INDEXOF_TITLE": "у Ñ‚екÑÑ‚Ñ– %1 %2 %3.",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "знайти Ð¿ÐµÑ€ÑˆÐµ Ð²Ñ…одженнѠтекÑту",
+       "TEXT_INDEXOF_OPERATOR_LAST": "знайти Ð¾Ñтаннє Ð²Ñ…одженнѠтекÑту",
+       "TEXT_CHARAT_HELPURL": "http://publib.boulder.ibm.com/infocenter/lnxpcomp/v8v101/index.jsp?topic=%2Fcom.ibm.xlcpp8l.doc%2Flanguage%2Fref%2Farsubex.htm",
+       "TEXT_CHARAT_TITLE": "з Ñ‚екÑту %1 %2",
+       "TEXT_CHARAT_FROM_START": "отримати Ñимвол #",
+       "TEXT_CHARAT_FROM_END": "отримати Ñимвол # Ð· ÐºÑ–нцÑ",
+       "TEXT_CHARAT_FIRST": "отримати Ð¿ÐµÑ€ÑˆÐ¸Ð¹ Ñимвол",
+       "TEXT_CHARAT_LAST": "отримати Ð¾Ñтанній Ñимвол",
+       "TEXT_CHARAT_RANDOM": "отримати Ð²Ð¸Ð¿Ð°Ð´ÐºÐ¾Ð²Ð¸Ð¹ Ñимвол",
+       "TEXT_CHARAT_TAIL": "-ий.",
+       "TEXT_CHARAT_TOOLTIP": "Повертає Ñимвол Ñƒ Ð·Ð°Ð·Ð½Ð°Ñ‡ÐµÐ½Ñ–й Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ñ—.",
+       "TEXT_GET_SUBSTRING_TOOLTIP": "Повертає Ð·Ð°Ð´Ð°Ð½Ð¸Ð¹ Ñ„рагмент Ñ‚екÑту.",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "у Ñ‚екÑÑ‚Ñ–",
+       "TEXT_GET_SUBSTRING_START_FROM_START": "отримати Ð¿Ñ–дрÑдок Ð²Ñ–д Ñимволу #",
+       "TEXT_GET_SUBSTRING_START_FROM_END": "отримати Ð¿Ñ–дрÑдок Ð²Ñ–д Ñимволу # Ð· ÐºÑ–нцÑ",
+       "TEXT_GET_SUBSTRING_START_FIRST": "отримати Ð¿Ñ–дрÑдок Ð²Ñ–д Ð¿ÐµÑ€ÑˆÐ¾Ð³Ð¾ Ñимволу",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "до Ñимволу #",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "до Ñимволу # Ð· ÐºÑ–нцÑ",
+       "TEXT_GET_SUBSTRING_END_LAST": "до Ð¾Ñтаннього Ñимволу",
+       "TEXT_GET_SUBSTRING_TAIL": "-ого.",
+       "TEXT_CHANGECASE_TOOLTIP": "Ð’ Ñ–ншому Ð²Ð¸Ð¿Ð°Ð´ÐºÑƒ Ð¿Ð¾Ð²ÐµÑ€Ñ‚ає ÐºÐ¾Ð¿Ñ–ÑŽ Ñ‚екÑту.",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "до Ð’ЕРХÐЬОГО Ñ€ÐµÐ³Ñ–Ñтру",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "до Ð½Ð¸Ð¶Ð½ÑŒÐ¾Ð³Ð¾ Ñ€ÐµÐ³Ñ–Ñтру",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": "Великі ÐŸÐµÑ€ÑˆÑ– Ð‘укви",
+       "TEXT_TRIM_TOOLTIP": "Повертає ÐºÐ¾Ð¿Ñ–ÑŽ Ñ‚екÑту Ð· Ð²Ð¸Ð»ÑƒÑ‡ÐµÐ½Ð¸Ð¼Ð¸ Ð¿Ñ€Ð¾Ð¿ÑƒÑками Ð· Ð¾Ð´Ð½Ð¾Ð³Ð¾ Ð°Ð±Ð¾ Ð¾Ð±Ð¾Ñ… ÐºÑ–нців.",
+       "TEXT_TRIM_OPERATOR_BOTH": "вилучити ÐºÑ€Ð°Ð¹Ð½Ñ– Ð¿Ñ€Ð¾Ð¿ÑƒÑки Ð· Ð¾Ð±Ð¾Ñ… ÐºÑ–нців",
+       "TEXT_TRIM_OPERATOR_LEFT": "вилучити Ð¿Ñ€Ð¾Ð¿ÑƒÑки Ð· Ð»Ñ–вого Ð±Ð¾ÐºÑƒ",
+       "TEXT_TRIM_OPERATOR_RIGHT": "вилучити Ð¿Ñ€Ð¾Ð¿ÑƒÑки Ð· Ð¿Ñ€Ð°Ð²Ð¾Ð³Ð¾ Ð±Ð¾ÐºÑƒ",
+       "TEXT_PRINT_TITLE": "друк %1",
+       "TEXT_PRINT_TOOLTIP": "Ðадрукувати Ð·Ð°Ð´Ð°Ð½Ð¸Ð¹ Ñ‚екÑÑ‚, Ñ‡Ð¸Ñла Ð°Ð±Ð¾ Ñ–нші Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ.",
+       "TEXT_PROMPT_TYPE_TEXT": "запит Ñ‚екÑту Ð· Ð¿Ð¾Ð²Ñ–домленнÑм",
+       "TEXT_PROMPT_TYPE_NUMBER": "запит Ñ‡Ð¸Ñла Ð· Ð¿Ð¾Ð²Ñ–домленнÑм",
+       "TEXT_PROMPT_TOOLTIP_NUMBER": "Запитати Ñƒ ÐºÐ¾Ñ€Ð¸Ñтувача Ñ‡Ð¸Ñло.",
+       "TEXT_PROMPT_TOOLTIP_TEXT": "Запитати Ñƒ ÐºÐ¾Ñ€Ð¸Ñтувача Ð´ÐµÑкий Ñ‚екÑÑ‚.",
+       "TEXT_COUNT_MESSAGE0": "кількіÑÑ‚ÑŒ %1 Ð² %2",
+       "TEXT_COUNT_TOOLTIP": "Підраховує, Ñкільки Ñ€Ð°Ð·Ñ–в Ð´ÐµÑкий Ñ‚екÑÑ‚ Ð·'ÑвлÑєтьÑѠв Ñ–ншому Ñ‚екÑÑ‚Ñ–.",
+       "TEXT_REPLACE_MESSAGE0": "замінити %1 Ð½Ð° %2 Ð² %3",
+       "TEXT_REPLACE_TOOLTIP": "Замінює Ð²ÑÑ– Ð²Ñ…одженнѠдеÑкого Ñ‚екÑту Ñ–ншим Ñ‚екÑтом.",
+       "TEXT_REVERSE_MESSAGE0": "розвернути %1",
+       "TEXT_REVERSE_TOOLTIP": "Змінює Ð½Ð° Ð¿Ñ€Ð¾Ñ‚илежний Ð¿Ð¾Ñ€Ñдок Ñимволів Ñƒ Ñ‚екÑÑ‚Ñ–.",
+       "LISTS_CREATE_EMPTY_HELPURL": "https://github.com/google/blockly/wiki/Lists#create-empty-list",
+       "LISTS_CREATE_EMPTY_TITLE": "Ñтворити Ð¿Ð¾Ñ€Ð¾Ð¶Ð½Ñ–й ÑпиÑок",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "Повертає ÑпиÑок, Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð¾ÑŽ 0, Ñ‰Ð¾ Ð½Ðµ Ð¼Ñ–Ñтить Ð·Ð°Ð¿Ð¸Ñів Ð´Ð°Ð½Ð¸Ñ…",
+       "LISTS_CREATE_WITH_TOOLTIP": "Створює ÑпиÑок Ð· Ð±ÑƒÐ´ÑŒ-Ñкою ÐºÑ–лькіÑÑ‚ÑŽ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ів.",
+       "LISTS_CREATE_WITH_INPUT_WITH": "Ñтворити ÑпиÑок Ð·",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "ÑпиÑок",
+       "LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "Додайте, Ð²Ð¸Ð»ÑƒÑ‡Ñ–Ñ‚ÑŒ Ð°Ð±Ð¾ Ð·Ð¼Ñ–ніть Ð¿Ð¾Ñ€Ñдок Ñекцій Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÐ½Ð°Ð»Ð°ÑˆÑ‚уваннѠблока ÑпиÑку.",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "Додати ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ð´Ð¾ ÑпиÑку.",
+       "LISTS_REPEAT_TOOLTIP": "Створює ÑпиÑок, Ñ‰Ð¾ ÑкладаєтьÑѠз Ð·Ð°Ð´Ð°Ð½Ð¾Ð³Ð¾ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾Ð²Ñ‚ореного Ð·Ð°Ð´Ð°Ð½Ñƒ ÐºÑ–лькіÑÑ‚ÑŒ Ñ€Ð°Ð·Ñ–в.",
+       "LISTS_REPEAT_TITLE": "Ñтворити ÑпиÑок Ð· ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚а %1 Ð¿Ð¾Ð²Ñ‚ореного %2 Ñ€Ð°Ð·Ñ–в",
+       "LISTS_LENGTH_TITLE": "довжина %1",
+       "LISTS_LENGTH_TOOLTIP": "Повертає Ð´Ð¾Ð²Ð¶Ð¸Ð½Ñƒ ÑпиÑку.",
+       "LISTS_ISEMPTY_TITLE": "%1 Ñ” Ð¿Ð¾Ñ€Ð¾Ð¶Ð½Ñ–м",
+       "LISTS_ISEMPTY_TOOLTIP": "Повертає Ñ–Ñтину, Ñкщо ÑпиÑок Ð¿Ð¾Ñ€Ð¾Ð¶Ð½Ñ–й.",
+       "LISTS_INLIST": "у ÑпиÑку",
+       "LISTS_INDEX_OF_FIRST": "знайти Ð¿ÐµÑ€ÑˆÐµ Ð²Ñ…одженнѠелемента",
+       "LISTS_INDEX_OF_LAST": "знайти Ð¾Ñтаннє Ð²Ñ…одженнѠелемента",
+       "LISTS_INDEX_OF_TOOLTIP": "Повертає Ñ–ндекѠпершого/оÑтаннього Ð²Ñ…одженнѠелемента Ñƒ ÑпиÑку. ÐŸÐ¾Ð²ÐµÑ€Ñ‚ає %1, Ñкщо ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ð½Ðµ Ð·Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾.",
+       "LISTS_GET_INDEX_GET": "отримати",
+       "LISTS_GET_INDEX_GET_REMOVE": "отримати Ñ– Ð²Ð¸Ð»ÑƒÑ‡Ð¸Ñ‚и",
+       "LISTS_GET_INDEX_REMOVE": "вилучити",
+       "LISTS_GET_INDEX_FROM_START": "#",
+       "LISTS_GET_INDEX_FROM_END": "# Ð· ÐºÑ–нцÑ",
+       "LISTS_GET_INDEX_FIRST": "перший",
+       "LISTS_GET_INDEX_LAST": "оÑтанній",
+       "LISTS_GET_INDEX_RANDOM": "випадковий",
+       "LISTS_GET_INDEX_TAIL": "-ий.",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "%1 - Ñ†Ðµ Ð¿ÐµÑ€ÑˆÐ¸Ð¹ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚.",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "%1 - Ñ†Ðµ Ð¾Ñтанній ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "Повертає ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ñƒ Ð·Ð°Ð´Ð°Ð½Ñ–й Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ñ— Ñƒ ÑпиÑку.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "Повертає Ð¿ÐµÑ€ÑˆÐ¸Ð¹ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ ÑпиÑку.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "Повертає Ð¾Ñтанній ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ ÑпиÑку.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "Повертає Ð²Ð¸Ð¿Ð°Ð´ÐºÐ¾Ð²Ð¸Ð¹ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ ÑпиÑку.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "ВидалÑÑ” Ñ– Ð¿Ð¾Ð²ÐµÑ€Ñ‚ає ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ñƒ Ð·Ð°Ð´Ð°Ð½Ñ–й Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ñ— Ñƒ ÑпиÑку.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "ВидалÑÑ” Ñ– Ð¿Ð¾Ð²ÐµÑ€Ñ‚ає Ð¿ÐµÑ€ÑˆÐ¸Ð¹ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ ÑпиÑку.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "ВидалÑÑ” Ñ– Ð¿Ð¾Ð²ÐµÑ€Ñ‚ає Ð¾Ñтанній ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ ÑпиÑку.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "ВидалÑÑ” Ñ– Ð¿Ð¾Ð²ÐµÑ€Ñ‚ає Ð²Ð¸Ð¿Ð°Ð´ÐºÐ¾Ð²Ð¸Ð¹ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ ÑпиÑоку.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "Вилучає Ð·Ñ– ÑпиÑку ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ñƒ Ð²ÐºÐ°Ð·Ð°Ð½Ñ–й Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ñ—.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "Вилучає Ð¿ÐµÑ€ÑˆÐ¸Ð¹ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ ÑпиÑку.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "Вилучає Ð¾Ñтанній ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ ÑпиÑку.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "Вилучає Ð²Ð¸Ð¿Ð°Ð´ÐºÐ¾Ð²Ð¸Ð¹ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ ÑпиÑку.",
+       "LISTS_SET_INDEX_SET": "вÑтановити",
+       "LISTS_SET_INDEX_INSERT": "вÑтавити Ð²",
+       "LISTS_SET_INDEX_INPUT_TO": "Ñк",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "Задає ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ ÑпиÑку Ñƒ Ð²ÐºÐ°Ð·Ð°Ð½Ñ–й Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ñ—.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "Задає Ð¿ÐµÑ€ÑˆÐ¸Ð¹ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ ÑпиÑку.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_LAST": "Задає Ð¾Ñтанній ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ ÑпиÑку.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "Задає Ð²Ð¸Ð¿Ð°Ð´ÐºÐ¾Ð²Ð¸Ð¹ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ñƒ ÑпиÑку.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "Ð’Ñтавка ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚а Ñƒ Ð²ÐºÐ°Ð·Ð°Ð½Ñƒ Ð¿Ð¾Ð·Ð¸Ñ†Ñ–ÑŽ ÑпиÑку.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "Ð’ÑтавлÑÑ” ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ð½Ð° Ð¿Ð¾Ñ‡Ð°Ñ‚ок ÑпиÑку.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "Додає ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ñƒ ÐºÑ–нці ÑпиÑку.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "Випадковим Ñ‡Ð¸Ð½Ð¾Ð¼ Ð²ÑтавлÑÑ” ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚ Ñƒ ÑпиÑок.",
+       "LISTS_GET_SUBLIST_START_FROM_START": "отримати Ð²ÐºÐ»Ð°Ð´ÐµÐ½Ð¸Ð¹ ÑпиÑок Ð· #",
+       "LISTS_GET_SUBLIST_START_FROM_END": "отримати Ð²ÐºÐ»Ð°Ð´ÐµÐ½Ð¸Ð¹ ÑпиÑок Ð²Ñ–д # Ð· ÐºÑ–нцÑ",
+       "LISTS_GET_SUBLIST_START_FIRST": "отримати Ð²ÐºÐ»Ð°Ð´ÐµÐ½Ð¸Ð¹ ÑпиÑок Ð· Ð¿ÐµÑ€ÑˆÐ¾Ð³Ð¾",
+       "LISTS_GET_SUBLIST_END_FROM_START": "до #",
+       "LISTS_GET_SUBLIST_END_FROM_END": "до # Ð· ÐºÑ–нцÑ",
+       "LISTS_GET_SUBLIST_END_LAST": "до Ð¾Ñтаннього",
+       "LISTS_GET_SUBLIST_TAIL": "Ñимволу.",
+       "LISTS_GET_SUBLIST_TOOLTIP": "Створює ÐºÐ¾Ð¿Ñ–ÑŽ Ð²ÐºÐ°Ð·Ð°Ð½Ð¾Ñ— Ñ‡Ð°Ñтини ÑпиÑку.",
+       "LISTS_SORT_HELPURL": "https://github.com/google/blockly/wiki/Lists#sorting-a-list",
+       "LISTS_SORT_TITLE": "Ñортувати %3 %1 %2",
+       "LISTS_SORT_TOOLTIP": "Сортувати ÐºÐ¾Ð¿Ñ–ÑŽ ÑпиÑку.",
+       "LISTS_SORT_ORDER_ASCENDING": "за Ð·Ñ€Ð¾ÑтаннÑм",
+       "LISTS_SORT_ORDER_DESCENDING": "за ÑпаданнÑм",
+       "LISTS_SORT_TYPE_NUMERIC": "Ñк Ñ‡Ð¸Ñла",
+       "LISTS_SORT_TYPE_TEXT": "за Ð°Ð±ÐµÑ‚кою",
+       "LISTS_SORT_TYPE_IGNORECASE": "за Ð°Ð±ÐµÑ‚кою, Ñ–гноруючи Ñ€ÐµÐ³Ñ–ÑÑ‚Ñ€",
+       "LISTS_SPLIT_LIST_FROM_TEXT": "зробити Ð· Ñ‚екÑту ÑпиÑок",
+       "LISTS_SPLIT_TEXT_FROM_LIST": "зробити Ð·Ñ– ÑпиÑку Ñ‚екÑÑ‚",
+       "LISTS_SPLIT_WITH_DELIMITER": "з Ñ€Ð¾Ð·Ð´Ñ–лювачем",
+       "LISTS_SPLIT_TOOLTIP_SPLIT": "Поділити Ñ‚екÑÑ‚ Ð½Ð° ÑпиÑок Ñ‚екÑтів, Ñ€Ð¾Ð·Ñ€Ð¸Ð²Ð°ÑŽÑ‡Ð¸ Ð½Ð° ÐºÐ¾Ð¶Ð½Ð¾Ð¼Ñƒ Ñ€Ð¾Ð·Ð´Ñ–лювачі.",
+       "LISTS_SPLIT_TOOLTIP_JOIN": "Злити ÑпиÑок Ñ‚екÑтів Ñƒ Ñ”диний Ñ‚екÑÑ‚, Ð²Ñ–докремивши Ñ€Ð¾Ð·Ð´Ñ–лювачами.",
+       "LISTS_REVERSE_MESSAGE0": "розвернути %1",
+       "LISTS_REVERSE_TOOLTIP": "Змінити Ð¿Ð¾Ñ€Ñдок ÐºÐ¾Ð¿Ñ–Ñ— ÑпиÑку Ð½Ð° Ð·Ð²Ð¾Ñ€Ð¾Ñ‚ний.",
+       "ORDINAL_NUMBER_SUFFIX": "-ий.",
+       "VARIABLES_GET_TOOLTIP": "Повертає Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ†Ñ–єї Ð·Ð¼Ñ–нної.",
+       "VARIABLES_GET_CREATE_SET": "Створити 'вÑтановити %1'",
+       "VARIABLES_SET": "вÑтановити %1 Ð´Ð¾ %2",
+       "VARIABLES_SET_TOOLTIP": "Задає Ñ†ÑŽ Ð·Ð¼Ñ–нну Ñ€Ñ–вною Ð²Ñ…оду.",
+       "VARIABLES_SET_CREATE_GET": "Створити 'отримати %1'",
+       "PROCEDURES_DEFNORETURN_HELPURL": "https://uk.wikipedia.org/wiki/Підпрограма",
+       "PROCEDURES_DEFNORETURN_TITLE": "до",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "щоÑÑŒ Ð·Ñ€Ð¾Ð±Ð¸Ñ‚и",
+       "PROCEDURES_BEFORE_PARAMS": "з:",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "з:",
+       "PROCEDURES_DEFNORETURN_DO": "блок Ñ‚екÑту",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "Створює Ñ„ункцію Ð±ÐµÐ· Ð²Ð¸Ð²Ð¾Ð´Ñƒ.",
+       "PROCEDURES_DEFNORETURN_COMMENT": "Опишіть Ñ†ÑŽ Ñ„ункцію...",
+       "PROCEDURES_DEFRETURN_HELPURL": "https://uk.wikipedia.org/wiki/Підпрограма",
+       "PROCEDURES_DEFRETURN_RETURN": "повернути",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "Створює Ñ„ункцію Ð· Ð²Ð¸Ð²Ð¾Ð´Ð¾Ð¼.",
+       "PROCEDURES_ALLOW_STATEMENTS": "дозволити Ð´Ñ–Ñ—",
+       "PROCEDURES_DEF_DUPLICATE_WARNING": "Увага: Ñ†Ñ Ñ„ункціѠмає Ð´ÑƒÐ±Ð»ÑŒÐ¾Ð²Ð°Ð½Ñ– Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚ри.",
+       "PROCEDURES_CALLNORETURN_HELPURL": "https://uk.wikipedia.org/wiki/Підпрограма",
+       "PROCEDURES_CALLNORETURN_TOOLTIP": "ЗапуÑтити ÐºÐ¾Ñ€Ð¸Ñтувацьку Ñ„ункцію \"%1\".",
+       "PROCEDURES_CALLRETURN_HELPURL": "https://uk.wikipedia.org/wiki/Підпрограма",
+       "PROCEDURES_CALLRETURN_TOOLTIP": "ЗапуÑтити ÐºÐ¾Ñ€Ð¸Ñтувацьку Ñ„ункцію \"%1\" Ñ– Ð²Ð¸ÐºÐ¾Ñ€Ð¸Ñтати Ñ—Ñ— Ð²Ð¸Ð²Ñ–д.",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "входи",
+       "PROCEDURES_MUTATORCONTAINER_TOOLTIP": "Додайте, Ð²Ð¸Ð»ÑƒÑ‡Ñ–Ñ‚ÑŒ Ð°Ð±Ð¾ Ð·Ð¼Ñ–ніть Ð¿Ð¾Ñ€Ñдок Ð²Ñ…ідних Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚рів Ð´Ð»Ñ Ñ†Ñ–єї Ñ„ункції.",
+       "PROCEDURES_MUTATORARG_TITLE": "назва Ð²Ñ…оду:",
+       "PROCEDURES_MUTATORARG_TOOLTIP": "Додати Ð´Ð¾ Ñ„ункції Ð²Ñ…ідні Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ‚ри.",
+       "PROCEDURES_HIGHLIGHT_DEF": "ПідÑвітити Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ„ункції",
+       "PROCEDURES_CREATE_DO": "Створити \"%1\"",
+       "PROCEDURES_IFRETURN_TOOLTIP": "Якщо Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ–Ñтинне, Ñ‚о Ð¿Ð¾Ð²ÐµÑ€Ð½ÑƒÑ‚и Ð´Ñ€ÑƒÐ³Ðµ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ.",
+       "PROCEDURES_IFRETURN_HELPURL": "http://c2.com/cgi/wiki?GuardClause",
+       "PROCEDURES_IFRETURN_WARNING": "ПопередженнÑ: Ñ†ÐµÐ¹ Ð±Ð»Ð¾Ðº Ð¼Ð¾Ð¶Ðµ Ð²Ð¸ÐºÐ¾Ñ€Ð¸ÑтовуватиÑѠлише Ð² Ð¼ÐµÐ¶Ð°Ñ… Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ„ункції.",
+       "WORKSPACE_COMMENT_DEFAULT_TEXT": "Скажіть Ñ‰Ð¾ÑÑŒ..."
+}
diff --git a/js/msg/json/ur.json b/js/msg/json/ur.json
new file mode 100644 (file)
index 0000000..22d1789
--- /dev/null
@@ -0,0 +1,105 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Abdulq",
+                       "Obaid Raza",
+                       "عثمان Ø®Ø§Ù† Ø´Ø§Û",
+                       "محمد Ø§Ùضل",
+                       "Sayam Asjad"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "آئٹم",
+       "TODAY": "آج",
+       "DUPLICATE_BLOCK": "ڈپلیکیٹ",
+       "ADD_COMMENT": "کمنٹ Ú©Ø±ÛŒÚº",
+       "REMOVE_COMMENT": "تبصر۠حذ٠کریں",
+       "EXTERNAL_INPUTS": "خارجی Ø¯Ø®Ù„ Ø§Ù†Ø¯Ø§Ø²ÛŒ",
+       "INLINE_INPUTS": "بین Ø§Ù„سطور Ø¯Ø§Ø®Ù„ Ú©Ø±ÛŒÚº",
+       "DELETE_BLOCK": "حذ٠بلاک",
+       "DELETE_X_BLOCKS": "%1 Ø¨Ù„اکوں Ú©Ùˆ Ø­Ø°Ù Ú©Ø±ÛŒÚº",
+       "DELETE_ALL_BLOCKS": "تمام%1 Ø¨Ù„اکس Ú©Ùˆ Ø­Ø°Ù Ú©Ø±ÛŒÚºØŸ",
+       "CLEAN_UP": "بلاکس ØµØ§Ù Ú©Ø±ÛŒÚº",
+       "COLLAPSE_BLOCK": "بند Ú©Ø±Ùˆ Ø¨Ù„اک",
+       "COLLAPSE_ALL": "بند Ú©Ø±Ùˆ Ø¨Ù„اکس",
+       "EXPAND_BLOCK": "بلاک Ù…یں ØªÙˆØ³ÛŒØ¹ Ú©Ø±ÛŒÚº",
+       "EXPAND_ALL": "بلاکوں Ù…یں ØªÙˆØ³ÛŒØ¹ Ú©Ø±ÛŒÚº",
+       "DISABLE_BLOCK": "بلاک Ú©Ùˆ ØºÛŒØ±Ùعال Ú©Ø±ÛŒÚº",
+       "ENABLE_BLOCK": "بلاک Ú©Ùˆ Ùعال Ú©Ø±ÛŒÚº",
+       "HELP": "معاونت",
+       "UNDO": "کیا Ûوا Ú©Ø§Ù… Ú©ÛŒÙ†Ø³Ù„ Ú©Ø±Û’",
+       "REDO": "دÛرائیں",
+       "CHANGE_VALUE_TITLE": "ویلیو ØªØ¨Ø¯ÛŒÙ„ Ú©Ø±ÛŒÚº:",
+       "RENAME_VARIABLE": "دوبار Ù†Ø§Ù… Ø¯ÛŒÚº ÙˆÛŒØ±ÛŒØ§Ø¨Ù„ Ú©Ùˆ...",
+       "RENAME_VARIABLE_TITLE": "تمام %1 Ù…تغیروں Ú©Ùˆ Ø¯ÙˆØ¨Ø§Ø±Û Ù†Ø§Ù… Ø¯Û’:",
+       "NEW_VARIABLE": "نیا ÙˆÛŒØ±ÛŒØ§Ø¨Ù„...",
+       "NEW_VARIABLE_TITLE": "نیا ÙˆÛŒØ±ÛŒØ§Ø¨Ù„ Ù†Ø§Ù…:",
+       "COLOUR_PICKER_HELPURL": "https://en.wikipedia.org/wiki/Color",
+       "COLOUR_PICKER_TOOLTIP": "پیلیٹ Ø³Û’ Ø±Ù†Ú¯ Ù…نتخب Ú©Ø±ÛŒÚº",
+       "COLOUR_RANDOM_TITLE": "ناسیدھا Ø±Ù†Ú¯",
+       "COLOUR_RANDOM_TOOLTIP": "کسی Ø¨Ú¾ÛŒ Ø±Ù†Ú¯ Ú©Ùˆ Ù…نتجب Ú©Ø±ÛŒÚº",
+       "COLOUR_RGB_TITLE": "Ú©Û’ Ø³Ø§ØªÚ¾ Ø±Ù†Ú¯",
+       "COLOUR_RGB_RED": "سرخ",
+       "COLOUR_RGB_GREEN": "سبز",
+       "COLOUR_RGB_BLUE": "نیلا",
+       "COLOUR_BLEND_TITLE": "مرکب",
+       "COLOUR_BLEND_COLOUR1": "رنگ 1",
+       "COLOUR_BLEND_COLOUR2": "رنگ 2",
+       "COLOUR_BLEND_RATIO": "ریشیو",
+       "COLOUR_BLEND_TOOLTIP": "دیئے Ú¯Ø¦Û’ Ø±ÛŒØ´ÛŒÙˆ Ù…یں Ø¯Ùˆ Ø±Ù†Ú¯ÙˆÚº Ú©Ùˆ Ù…رکب Ú©Ø±ÛŒÚº (0.0-1.0)",
+       "CONTROLS_REPEAT_HELPURL": "https://en.wikipedia.org/wiki/For_loop",
+       "CONTROLS_REPEAT_TITLE": "%1 Ù…رتب۠دÛرائے",
+       "CONTROLS_REPEAT_INPUT_DO": "کریں",
+       "CONTROLS_REPEAT_TOOLTIP": "Ú©Ú†Ú¾ Ø¬Ù…لوں Ú©Ùˆ Ú©Ûیں Ù…رتب۠کریں۔",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "Ú©Û’ Ø¯ÙˆØ±Ø§Ù† Ø¯Ûرائے",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "تک Ø¯Ûرائے",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "اگر Ø§ÛŒÚ© ÙˆÛŒÙ„یو ØµØ­ÛŒØ­ ÛÛ’ØŒ ØªÙˆ Ú©Ú†Ú¾ Ø³Ù¹ÛŒÙ¹Ù…نٹ Ú©Ø±ÛŒÚº",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "اگر Ø§ÛŒÚ© ÙˆÛŒÙ„یو ØµØ­ÛŒØ­ ÛÛ’ØŒ ØªÙˆ Ú©Ú†Ú¾ Ø³Ù¹ÛŒÙ¹Ù…نٹ Ú©Ø±ÛŒÚº",
+       "CONTROLS_FOR_TOOLTIP": "کیا Ú†Ø± '%1' Ø§Ø¨ØªØ¯Ø§ Ø¹Ø¯Ø¯ Ø³Û’ Ø§Ø®ØªØªØ§Ù… Ø¹Ø¯Ø¯ ØªÚ© à¤®à¤¾à¤¨à¥‹à¤‚ Ú©Ùˆ Ù„یتا ÛÛ’ØŒ à¤¨à¤¿à¤°à¥à¤¦à¤¿à¤·à¥à¤Ÿ à¤…ंतराल Ú©Û’ ØªØ­Øª Ú¯Ù†ØªÛŒ Ú©Ø±ØªØ§ ÛÛ’ØŒ Ø§ÙˆØ± à¤¨à¤¿à¤°à¥à¤¦à¤¿à¤·à¥à¤Ÿ à¤°à¥à¤•à¤¾à¤µà¤Ÿà¥‹à¤‚ Ú©Ùˆ Ú©Ø±ØªØ§ ÛÛ’Û”",
+       "CONTROLS_FOR_TITLE": "%1 Ø³Û’ %2 Ø³Û’ %3 ØªÚ© %4 Ú©Û’ Ø³Ø§ØªÚ¾ Ú¯Ù†ØªÛŒ Ú©Ø±ÛŒÚº",
+       "CONTROLS_FOREACH_TITLE": "पà¥à¤°à¤¤à¥à¤¯à¥‡à¤• Ú†ÛŒØ² Ú©ÛŒÙ„ئے %1 ÙÛرست Ù…ÙŠÚº %2",
+       "CONTROLS_FOREACH_TOOLTIP": "ÙÛرست Ù…یں Ûر Ø¢Ø¦Ù¹Ù… Ú©Û’ Ù„ئے، '%1' Ù…تغیر Ú©Ùˆ Ø¢Ø¦Ù¹Ù… Ù¾Û Ù„گائے،اور Ù¾Ú¾Ø± Ú©Ú†Ú¾ Ø¬Ù…Ù„Û’ Ú©ÛÛ’",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "لوپ Ø³Û’ Ø¨Ø§Ûر Ù†Ú©Ù„نا",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "مشتمل Ù„وپ Ú©Û’ Ø¨Ø§Ûر ØªÙˆÚ‘.",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "انتباÛ: Ø§Ø³ Ø¨Ù„اک Ú©Ùˆ ØµØ±Ù Ù„وپ Ù…یں Ø§Ø³ØªØ¹Ù…ال Ú©ÛŒØ§ Ø¬Ø§Ø³Ú©ØªØ§ ÛÛ’Û”",
+       "CONTROLS_IF_TOOLTIP_1": "اگر Ø§ÛŒÚ© ÙˆÛŒÙ„یو ØµØ­ÛŒØ­ ÛÛ’ØŒ ØªÙˆ Ú©Ú†Ú¾ Ø³Ù¹ÛŒÙ¹Ù…نٹ Ú©Ø±ÛŒÚº",
+       "CONTROLS_IF_MSG_IF": "اگر",
+       "CONTROLS_IF_MSG_ELSEIF": "دوسراں Ø§Ú¯Ø±",
+       "CONTROLS_IF_MSG_ELSE": "دوسراں",
+       "LOGIC_COMPARE_HELPURL": "https://en.wikipedia.org/wiki/Inequality_(mathematics)",
+       "LOGIC_OPERATION_AND": "اور",
+       "LOGIC_OPERATION_OR": "یا",
+       "LOGIC_NEGATE_TITLE": "%1 Ù†Ûیں",
+       "LOGIC_BOOLEAN_TRUE": "سچ",
+       "LOGIC_BOOLEAN_FALSE": "غلط",
+       "LOGIC_TERNARY_CONDITION": "ٹیسٹ",
+       "LOGIC_TERNARY_IF_TRUE": "اگ Ø³Ú† ÛÛ’",
+       "LOGIC_TERNARY_IF_FALSE": "اگر ØºÙ„Ø· ÛÛ’",
+       "MATH_NUMBER_HELPURL": "https://en.wikipedia.org/wiki/Number",
+       "MATH_NUMBER_TOOLTIP": "ایک Ù†Ù…بر.",
+       "MATH_ARITHMETIC_HELPURL": "https://en.wikipedia.org/wiki/Arithmetic",
+       "MATH_SINGLE_OP_ROOT": "اسکویر Ø±ÙˆÙ¹",
+       "MATH_SINGLE_OP_ABSOLUTE": "بالکل",
+       "TEXT_CHARAT_FROM_START": "# Ø­Ø±Ù Ø­Ø§ØµÙ„ Ú©Ø±ÛŒÚº",
+       "LISTS_CREATE_WITH_INPUT_WITH": "Ú©Û’ Ø³Ø§ØªÚ¾ ÙÛرست Ø¨Ù†Ø§Ø¦ÛŒÚº",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "ÙÛرست",
+       "LISTS_LENGTH_TITLE": "%1 Ú©ÛŒ Ù„مبائی",
+       "LISTS_INLIST": "ÙÛرست Ù…یں",
+       "LISTS_GET_INDEX_GET": "حاصل Ú©Ø±ÛŒÚº",
+       "LISTS_GET_INDEX_REMOVE": "حذ٠کریں",
+       "LISTS_GET_INDEX_FROM_END": "آخر Ø³Û’",
+       "LISTS_GET_INDEX_FIRST": "Ù¾Ûلا",
+       "LISTS_GET_INDEX_LAST": "آخری",
+       "LISTS_GET_INDEX_RANDOM": "غیرمتعین",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "Ù¾ÛÙ„Û’ Ø¢Ø¦Ù¹Ù… Ú©Ùˆ ÙÛرست Ù…یں Ù„وٹائے",
+       "LISTS_SET_INDEX_SET": "تعین Ú©Ø±ÛŒÚº",
+       "LISTS_SET_INDEX_INSERT": "میں Ø¯Ø±Ø¬ Ú©Ø±ÛŒÚº",
+       "LISTS_SET_INDEX_INPUT_TO": "بطور",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "ÙÛرست Ù…یں Ù¾Ûلا Ø¢Ø¦Ù¹Ù…  Ú©Ø§ ØªØ¹ÛŒÙ† Ú©Ø±ÛŒÚº",
+       "PROCEDURES_DEFNORETURN_TITLE": "Ú©Ùˆ",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "Ú©Ú†Ú¾ Ú©Ø±Ùˆ",
+       "PROCEDURES_BEFORE_PARAMS": "سمیت:",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "سمیت:",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "بغیر Ø¢ÙˆÙ¹ Ù¾Ù¹ Ú©Ø§ Ùنکشن Ø¨Ù†Ø§Ø¦ÛŒÚº",
+       "PROCEDURES_DEFRETURN_RETURN": "واپس Ø¢ Ø¬Ø§Ø¦ÛŒÚº",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "بغیر Ø¢ÙˆÙ¹ Ù¾Ù¹ Ú©Ø§ Ùنکشن Ø¨Ù†Ø§Ø¦ÛŒÚº"
+}
diff --git a/js/msg/json/vi.json b/js/msg/json/vi.json
new file mode 100644 (file)
index 0000000..69ec391
--- /dev/null
@@ -0,0 +1,350 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Baonguyen21022003",
+                       "Espertus",
+                       "Qneutron",
+                       "Withoutaname",
+                       "Dstream",
+                       "Nguyenvanduocit",
+                       "Leducthn",
+                       "SierraNguyen"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "vật",
+       "TODAY": "Hôm nay",
+       "DUPLICATE_BLOCK": "Tạo Bản Sao",
+       "ADD_COMMENT": "Thêm Chú Giải",
+       "REMOVE_COMMENT": "Xóa Chú Giải",
+       "DUPLICATE_COMMENT": "Bình luận trùng",
+       "EXTERNAL_INPUTS": "Chá»— Gắn Bên Ngoài",
+       "INLINE_INPUTS": "Chá»— Gắn Cùng Dòng",
+       "DELETE_BLOCK": "Xóa Mảnh Này",
+       "DELETE_X_BLOCKS": "Xóa %1 Mảnh",
+       "DELETE_ALL_BLOCKS": "Xóa hết %1 mảnh?",
+       "CLEAN_UP": "Sắp xếp lại các khối",
+       "COLLAPSE_BLOCK": "Thu Nhá» Mảnh",
+       "COLLAPSE_ALL": "Thu Nhá» Má»i Mảnh",
+       "EXPAND_BLOCK": "Mở Lá»›n Mảnh",
+       "EXPAND_ALL": "Mở Lá»›n Má»i Mảnh",
+       "DISABLE_BLOCK": "NgÆ°ng Tác Dụng",
+       "ENABLE_BLOCK": "Phục Hồi Tác Dụng",
+       "HELP": "Trợ Giúp",
+       "UNDO": "Hoàn tác",
+       "REDO": "Làm lại",
+       "CHANGE_VALUE_TITLE": "Thay giá trị thành:",
+       "RENAME_VARIABLE": "Thay tên biến...",
+       "RENAME_VARIABLE_TITLE": "Thay tên tất cả \"%1\" biến này thành:",
+       "NEW_VARIABLE": "Tạo biến...",
+       "NEW_STRING_VARIABLE": "Tạo má»™t giá trị dạng chuá»—i...",
+       "NEW_NUMBER_VARIABLE": "Tạo má»™t giá trị số...",
+       "NEW_COLOUR_VARIABLE": "Tạo má»™t giá trị màu sắc...",
+       "NEW_VARIABLE_TYPE_TITLE": "Kiểu giá trị má»›i:",
+       "NEW_VARIABLE_TITLE": "Tên của biến má»›i:",
+       "VARIABLE_ALREADY_EXISTS": "Má»™t biến có tên '%1' Ä‘ã tồn tại.",
+       "VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE": "Giá trị '%1' Ä‘ã tồn tại dÆ°á»›i dạng: '%2'.",
+       "DELETE_VARIABLE_CONFIRMATION": "Xóa %1 lần dùng của giá trị '%2'?",
+       "CANNOT_DELETE_VARIABLE_PROCEDURE": "Không thể xóa giá trị '%1' vì nó Ä‘ược bao gồm trong Ä‘ịnh nghÄ©a của chức năng '%2'",
+       "DELETE_VARIABLE": "Xóa giá trị '%1'",
+       "COLOUR_PICKER_HELPURL": "https://vi.wikipedia.org/wiki/M%C3%A0u_s%E1%BA%AFc",
+       "COLOUR_PICKER_TOOLTIP": "Chá»n má»™t màu từ bảng màu.",
+       "COLOUR_RANDOM_TITLE": "màu bất kỳ",
+       "COLOUR_RANDOM_TOOLTIP": "chá»n má»™t màu bất kỳ.",
+       "COLOUR_RGB_TITLE": "tạo màu từ",
+       "COLOUR_RGB_RED": "màu Ä‘á»",
+       "COLOUR_RGB_GREEN": "màu xanh lá cây",
+       "COLOUR_RGB_BLUE": "màu xanh dÆ°Æ¡ng",
+       "COLOUR_RGB_TOOLTIP": "Tạo màu từ ba màu: Ä‘á», xanh lá cây, xanh dÆ°Æ¡ng vá»›i số lượng cụ thể.  Má»—i số phải có giá trị từ 0 Ä‘ến 100.",
+       "COLOUR_BLEND_TITLE": "pha",
+       "COLOUR_BLEND_COLOUR1": "màu 1",
+       "COLOUR_BLEND_COLOUR2": "màu 2",
+       "COLOUR_BLEND_RATIO": "tỉ lệ",
+       "COLOUR_BLEND_TOOLTIP": "Pha hai màu vá»›i nhau theo tỉ lệ (0 - 100).",
+       "CONTROLS_REPEAT_HELPURL": "https://en.wikipedia.org/wiki/For_loop",
+       "CONTROLS_REPEAT_TITLE": "lặp lại %1 lần",
+       "CONTROLS_REPEAT_INPUT_DO": "thá»±c hiện",
+       "CONTROLS_REPEAT_TOOLTIP": "Thá»±c hiện các lệnh vài lần.",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "lặp lại trong khi",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "lặp lại cho Ä‘ến khi",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "Miá»…n là Ä‘iá»u kiện còn Ä‘úng, thì thá»±c hiện các lệnh.",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "Miá»…n là Ä‘iá»u kiện còn sai, thì thá»±c hiện các lệnh.  Khi Ä‘iá»u kiện Ä‘úng thì ngÆ°ng.",
+       "CONTROLS_FOR_TOOLTIP": "Cho biến '%1' lấy các giá trị từ số bắt Ä‘ầu Ä‘ến số kết thúc, Ä‘ếm theo khoảng thá»i gian Ä‘ã chỉ Ä‘ịnh và thá»±c hiện các khối Ä‘ược chỉ Ä‘ịnh.",
+       "CONTROLS_FOR_TITLE": "đếm theo %1 từ %2 Ä‘ến %3 má»—i lần thêm %4",
+       "CONTROLS_FOREACH_TITLE": "vá»›i má»—i thành phần %1 trong danh sách %2",
+       "CONTROLS_FOREACH_TOOLTIP": "Trong má»™t danh sách, lấy từng thành phần, gán vào biến \"%1\", rồi thá»±c hiện má»™t số lệnh.",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "thoát",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "sang lần lặp tiếp theo",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "Thoát khá»i vòng lặp hiện tại.",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "Bá» qua phần còn lại trong vòng lặp này, và sang lần lặp tiếp theo.",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "Chú Ã½: Mảnh này chỉ có thế dùng trong các vòng lặp.",
+       "CONTROLS_IF_TOOLTIP_1": "Nếu Ä‘iá»u kiện Ä‘úng, thá»±c hiện các lệnh.",
+       "CONTROLS_IF_TOOLTIP_2": "Nếu Ä‘iá»u kiện Ä‘úng, thá»±c hiện các lệnh Ä‘ầu.  Nếu sai, thá»±c hiện các lệnh sau.",
+       "CONTROLS_IF_TOOLTIP_3": "Nếu Ä‘iá»u kiện Ä‘úng, thá»±c hiện các lệnh Ä‘ầu.  Nếu không, nếu Ä‘iá»u kiện thứ hai Ä‘úng, thá»±c hiện các lệnh thứ hai.",
+       "CONTROLS_IF_TOOLTIP_4": "Nếu Ä‘iá»u kiện Ä‘úng, thá»±c hiện các lệnh Ä‘ầu.  Nếu không, nếu Ä‘iá»u kiện thứ hai Ä‘úng, thá»±c hiện các lệnh thứ hai.  Nếu không Ä‘iá»u kiện nào Ä‘úng, thá»±c hiện các lệnh cuối cùng.",
+       "CONTROLS_IF_MSG_IF": "nếu",
+       "CONTROLS_IF_MSG_ELSEIF": "nếu không nếu",
+       "CONTROLS_IF_MSG_ELSE": "nếu không",
+       "CONTROLS_IF_IF_TOOLTIP": "Thêm, bá», hoặc Ä‘ổi thứ tá»± các mảnh con Ä‘ể tạo cấu trúc má»›i cho mảnh nếu.",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "Thêm má»™t Ä‘iá»u kiện vào mảnh nếu.",
+       "CONTROLS_IF_ELSE_TOOLTIP": "Cuối cùng, khi không Ä‘iá»u kiện nào Ä‘úng.",
+       "IOS_OK": "Äồng Ã½",
+       "IOS_CANCEL": "Hủy bá»",
+       "IOS_ERROR": "Lá»—i",
+       "IOS_PROCEDURES_INPUTS": "NHẬP VÀO",
+       "IOS_PROCEDURES_ADD_INPUT": "+ Thêm Ä‘ầu vào",
+       "IOS_PROCEDURES_ALLOW_STATEMENTS": "Cho phép báo cáo",
+       "IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR": "Hàm này có chứa các input trùng nhau.",
+       "IOS_VARIABLES_ADD_VARIABLE": "+ Thêm biến",
+       "IOS_VARIABLES_ADD_BUTTON": "Thêm",
+       "IOS_VARIABLES_RENAME_BUTTON": "Äổi tên",
+       "IOS_VARIABLES_DELETE_BUTTON": "Xóa",
+       "IOS_VARIABLES_VARIABLE_NAME": "Tên biến",
+       "IOS_VARIABLES_EMPTY_NAME_ERROR": "Bạn không thể không nhập tên biến.",
+       "LOGIC_COMPARE_HELPURL": "https://vi.wikipedia.org/wiki/B%E1%BA%A5t_%C4%91%E1%BA%B3ng_th%E1%BB%A9c",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "Hoàn trả giá trị \"đúng\" (true) nếu giá trị hai Ä‘ầu vào bằng nhau.",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "Hoàn trả giá trị \"đúng\" (true) nếu giá trị hai Ä‘ầu vào không bằng nhau.",
+       "LOGIC_COMPARE_TOOLTIP_LT": "Hoàn trả giá trị \"đúng\" (true) nếu Ä‘ầu vào thứ nhất nhá» hÆ¡n Ä‘ầu vào thứ hai.",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "Hoàn trả giá trị \"đúng\" (true) nếu Ä‘ầu vào thứ nhất nhá» hÆ¡n hoặc bằng Ä‘ầu vào thứ hai.",
+       "LOGIC_COMPARE_TOOLTIP_GT": "Hoàn trả giá trị \"đúng\" (true) nếu Ä‘ầu vào thứ nhất lá»›n hÆ¡n Ä‘ầu vào thứ hai.",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "Hoàn trả giá trị \"đúng\" (true) nếu Ä‘ầu vào thứ nhất lá»›n hÆ¡n hoặc bằng Ä‘ầu vào thứ hai.",
+       "LOGIC_OPERATION_TOOLTIP_AND": "Hoàn trả \"đúng\" (true) nếu cả hai Ä‘ầu vào Ä‘á»u Ä‘úng.",
+       "LOGIC_OPERATION_AND": "và",
+       "LOGIC_OPERATION_TOOLTIP_OR": "Hoàn trả \"đúng\" (true) nếu Ã­t nhất má»™t trong hai Ä‘ầu vào Ä‘úng.",
+       "LOGIC_OPERATION_OR": "hoặc",
+       "LOGIC_NEGATE_TITLE": "không %1",
+       "LOGIC_NEGATE_TOOLTIP": "Hoàn trả \"đúng\" (true) nếu Ä‘ầu vào sai.  Hoàn trả \"sai\" (false) nếu Ä‘ầu vào Ä‘úng.",
+       "LOGIC_BOOLEAN_TRUE": "đúng",
+       "LOGIC_BOOLEAN_FALSE": "sai",
+       "LOGIC_BOOLEAN_TOOLTIP": "Hoàn trả \"đúng\" hoặc \"sai\".",
+       "LOGIC_NULL": "trống không",
+       "LOGIC_NULL_TOOLTIP": "Hoàn trả trống không.",
+       "LOGIC_TERNARY_CONDITION": "kiểm tra",
+       "LOGIC_TERNARY_IF_TRUE": "nếu Ä‘úng",
+       "LOGIC_TERNARY_IF_FALSE": "nếu sai",
+       "LOGIC_TERNARY_TOOLTIP": "Kiểm tra Ä‘iá»u kiện. Nếu Ä‘iá»u kiện Ä‘úng, hoàn trả giá trị từ mệnh Ä‘á» \"nếu Ä‘úng\" nếu không Ä‘úng, hoàn trả giá trị từ mệnh Ä‘á» \"nếu sai\".",
+       "MATH_NUMBER_HELPURL": "https://vi.wikipedia.org/wiki/S%E1%BB%91",
+       "MATH_NUMBER_TOOLTIP": "Má»™t con số.",
+       "MATH_ARITHMETIC_HELPURL": "https://vi.wikipedia.org/wiki/S%E1%BB%91_h%E1%BB%8Dc",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "Hoàn trả tổng của hai con số.",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "Hoàn trả hiệu của hai con số.",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "Hoàn trả tích của hai con số.",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "Hoàn trả thÆ°Æ¡ng của hai con số.",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "Hoàn trả số lÅ©y thừa vá»›i số thứ nhất là cÆ¡ số và số thứ hai là số mÅ©.",
+       "MATH_SINGLE_HELPURL": "https://vi.wikipedia.org/wiki/C%C4%83n_b%E1%BA%ADc_hai",
+       "MATH_SINGLE_OP_ROOT": "căn bật hai",
+       "MATH_SINGLE_TOOLTIP_ROOT": "Hoàn trả căn bật hai của số Ä‘ầu vào.",
+       "MATH_SINGLE_OP_ABSOLUTE": "giá trị tuyệt Ä‘ối",
+       "MATH_SINGLE_TOOLTIP_ABS": "Hoàn trả giá trị tuyệt Ä‘ối của số Ä‘ầu vào.",
+       "MATH_SINGLE_TOOLTIP_NEG": "Äổi dấu của số Ä‘ầu vào: Ã¢m thành dÆ°Æ¡ng và dÆ°Æ¡ng thành Ã¢m, và hoàn trả số má»›i.",
+       "MATH_SINGLE_TOOLTIP_LN": "Hoàn trả lôgarit tá»± nhiên của số Ä‘ầu vào.",
+       "MATH_SINGLE_TOOLTIP_LOG10": "Hoàn trả lôgarit cÆ¡ số 10 của số Ä‘ầu vào.",
+       "MATH_SINGLE_TOOLTIP_EXP": "Hoàn trả lÅ©y thừa của số e vá»›i số mÅ© Ä‘ầu vào.",
+       "MATH_SINGLE_TOOLTIP_POW10": "Hoàn trả lÅ©y thừa của số 10 vá»›i số mÅ© Ä‘ầu vào.",
+       "MATH_TRIG_HELPURL": "https://vi.wikipedia.org/wiki/H%C3%A0m_l%C6%B0%E1%BB%A3ng_gi%C3%A1c",
+       "MATH_TRIG_TOOLTIP_SIN": "Hoàn trả Sin của má»™t góc (theo Ä‘á»™).",
+       "MATH_TRIG_TOOLTIP_COS": "Hoàn trả Cos của má»™t góc (theo Ä‘á»™).",
+       "MATH_TRIG_TOOLTIP_TAN": "Hoàn trả Tang của má»™t góc (theo Ä‘á»™).",
+       "MATH_TRIG_TOOLTIP_ASIN": "Hoàn trả Arcsin của má»™t góc (theo Ä‘á»™).",
+       "MATH_TRIG_TOOLTIP_ACOS": "Hoàn trả Arccos của má»™t góc (theo Ä‘á»™).",
+       "MATH_TRIG_TOOLTIP_ATAN": "Hoàn trả Arctang của má»™t góc (theo Ä‘á»™).",
+       "MATH_CONSTANT_HELPURL": "https://en.wikipedia.org/wiki/Mathematical_constant",
+       "MATH_CONSTANT_TOOLTIP": "Hoàn trả các Ä‘ẳng số thÆ°á»ng gặp: Ï€ (3.141…), e (2.718…), Ï† (1.618…), sqrt(2) (1.414…), sqrt(½) (0.707…), or âˆž (vô cá»±c).",
+       "MATH_IS_EVEN": "là số chẵn",
+       "MATH_IS_ODD": "là số lẻ",
+       "MATH_IS_PRIME": "là số nguyên tố",
+       "MATH_IS_WHOLE": "là số nguyên",
+       "MATH_IS_POSITIVE": "là số dÆ°Æ¡ng",
+       "MATH_IS_NEGATIVE": "là số Ã¢m",
+       "MATH_IS_DIVISIBLE_BY": "chia hết cho",
+       "MATH_IS_TOOLTIP": "Kiểm tra con số xem nó có phải là số chẵn, lẻ, nguyên tố, nguyên, dÆ°Æ¡ng, Ã¢m,  hay xem nó có chia hết cho số Ä‘ầu vào hay không.  Hoàn trả Ä‘úng hay sai.",
+       "MATH_CHANGE_HELPURL": "https://vi.wikipedia.org/wiki/Ph%C3%A9p_c%E1%BB%99ng",
+       "MATH_CHANGE_TITLE": "cá»™ng vào %1 giá trị %2",
+       "MATH_CHANGE_TOOLTIP": "Cá»™ng số Ä‘ầu vào vào biến \"%1\".",
+       "MATH_ROUND_HELPURL": "https://en.wikipedia.org/wiki/Rounding",
+       "MATH_ROUND_TOOLTIP": "Làm tròn lên hoặc tròn xuống số Ä‘ầu vào.",
+       "MATH_ROUND_OPERATOR_ROUND": "làm tròn",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "làm tròn lên",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "làm tròn xuống",
+       "MATH_ONLIST_HELPURL": "",
+       "MATH_ONLIST_OPERATOR_SUM": "tổng của má»™t danh sách",
+       "MATH_ONLIST_TOOLTIP_SUM": "Hoàn trả tổng số của tất cả các số trong danh sách.",
+       "MATH_ONLIST_OPERATOR_MIN": "số nhá» nhất của má»™t danh sách",
+       "MATH_ONLIST_TOOLTIP_MIN": "Hoàn trả số nhá» nhất trong tất cả các số trong danh sách.",
+       "MATH_ONLIST_OPERATOR_MAX": "số lá»›n nhât của má»™t danh sách",
+       "MATH_ONLIST_TOOLTIP_MAX": "Hoàn trả số lá»›n nhất trong tất cả các số trong danh sách.",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "giá trị trung bình của má»™t danh sách",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "Hoàn trả giá trị trung bình từ của danh sách số.",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "số trung vị của má»™t danh sách",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "Hoàn trả số trung vị của danh sách số.",
+       "MATH_ONLIST_OPERATOR_MODE": "các mode của má»™t danh sách",
+       "MATH_ONLIST_TOOLTIP_MODE": "Hoàn trả các số có mặt nhiá»u nhất trong danh sách.",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "Ä‘á»™ lệch chuẩn của má»™t danh sách",
+       "MATH_ONLIST_TOOLTIP_STD_DEV": "Hoàn trả Ä‘á»™ lệch chuẩn của danh sách số.",
+       "MATH_ONLIST_OPERATOR_RANDOM": "má»™t số bất kỳ của má»™t danh sách",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "Hoàn trả má»™t số bất kỳ từ các số trong danh sách.",
+       "MATH_MODULO_HELPURL": "https://en.wikipedia.org/wiki/Modulo_operation",
+       "MATH_MODULO_TITLE": "số dÆ° của %1 Ã· %2",
+       "MATH_MODULO_TOOLTIP": "Chia số thứ nhất cho số thứ hai rồi hoàn trả số dÆ° từ.",
+       "MATH_CONSTRAIN_TITLE": "giá»›i hạn %1 không dÆ°á»›i %2 không hÆ¡n %3",
+       "MATH_CONSTRAIN_TOOLTIP": "Giá»›i hạn số Ä‘ầu vào Ä‘ể không dÆ°á»›i số thứ nhất và không hÆ¡n số thứ hai.",
+       "MATH_RANDOM_INT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_INT_TITLE": "Má»™t số nguyên bất kỳ từ %1 Ä‘ến %2",
+       "MATH_RANDOM_INT_TOOLTIP": "Hoàn trả má»™t số nguyên bất kỳ lá»›n hÆ¡n hoặc bằng số Ä‘ầu và nhá» hÆ¡n hoặc bằng số sau.",
+       "MATH_RANDOM_FLOAT_HELPURL": "https://en.wikipedia.org/wiki/Random_number_generation",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "phân số bất kỳ",
+       "MATH_RANDOM_FLOAT_TOOLTIP": "Hoàn trả má»™t phân số bất kỳ không nhá» hÆ¡n 0.0 và không lá»›n hÆ¡n 1.0.",
+       "TEXT_TEXT_HELPURL": "https://en.wikipedia.org/wiki/string_(computer_science)",
+       "TEXT_TEXT_TOOLTIP": "Má»™t ký tá»±, má»™t từ, hay má»™t dòng.",
+       "TEXT_JOIN_HELPURL": "",
+       "TEXT_JOIN_TITLE_CREATEWITH": "tạo văn bản từ",
+       "TEXT_JOIN_TOOLTIP": "Tạo má»™t văn bản từ các thành phần.",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "kết nối",
+       "TEXT_CREATE_JOIN_TOOLTIP": "Thêm, bá», hoặc sắp xếp lại các thành phần Ä‘ể tạo dá»±ng mảnh văn bản này.",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "thêm vật má»›i vào văn bản.",
+       "TEXT_APPEND_TITLE": "ở cuối %1 thêm văn bản %2",
+       "TEXT_APPEND_TOOLTIP": "Thêm má»™t mảng văn bản vào biến \"%1\".",
+       "TEXT_LENGTH_TITLE": "Ä‘á»™ dài của %1",
+       "TEXT_LENGTH_TOOLTIP": "Hoàn trả số lượng ký tá»± (kể cả khoảng trắng) trong văn bản Ä‘ầu vào.",
+       "TEXT_ISEMPTY_TITLE": "%1 trống không",
+       "TEXT_ISEMPTY_TOOLTIP": "Hoàn trả â€œÄ‘úng nếu văn bản không có ký tá»± nào.",
+       "TEXT_INDEXOF_TOOLTIP": "Hoàn trả vị trí xuất hiện Ä‘ầu/cuối của văn bản thứ nhất trong văn bản thứ hai.  Nếu không tìm thấy thì hoàn trả số %1.",
+       "TEXT_INDEXOF_TITLE": "trong văn bản %1 %2 %3",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "tìm sá»± có mặt Ä‘ầu tiên của",
+       "TEXT_INDEXOF_OPERATOR_LAST": "tìm sá»± có mặt cuối cùng của",
+       "TEXT_CHARAT_TITLE": "trong văn bản %1 %2",
+       "TEXT_CHARAT_FROM_START": "lấy ký tá»± thứ",
+       "TEXT_CHARAT_FROM_END": "lấy từ phía cuối, ký tá»± thứ",
+       "TEXT_CHARAT_FIRST": "lấy ký tá»± Ä‘ầu tiên",
+       "TEXT_CHARAT_LAST": "lấy ký tá»± cuối cùng",
+       "TEXT_CHARAT_RANDOM": "lấy ký tá»± bất kỳ",
+       "TEXT_CHARAT_TOOLTIP": "Hoàn trả ký tá»± á»Ÿ vị trí Ä‘ặt ra.",
+       "TEXT_GET_SUBSTRING_TOOLTIP": "Hoàn trả má»™t mảng ký tá»± áº¥n Ä‘ịnh từ trong văn bản.",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "trong văn bản",
+       "TEXT_GET_SUBSTRING_START_FROM_START": "lấy từ ký tá»± thứ",
+       "TEXT_GET_SUBSTRING_START_FROM_END": "lấy từ phía cuối, ký tá»± thứ",
+       "TEXT_GET_SUBSTRING_START_FIRST": "lấy từ ký tá»± Ä‘ầu tiên",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "đến ký tá»± thứ",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "đến từ phía cuối, ký tá»± thứ",
+       "TEXT_GET_SUBSTRING_END_LAST": "đến ký tá»± cuối cùng",
+       "TEXT_CHANGECASE_TOOLTIP": "Hoàn trả văn bản sau khi chuyển Ä‘ổi chữ in hoa hay thÆ°á»ng.",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "thành CHá»® IN HOA",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "thành chữ thÆ°á»ng",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": "thành Chữ In Äầu Má»—i Từ",
+       "TEXT_TRIM_TOOLTIP": "Hoàn trả bản sao của văn bản sau khi xóa khoảng trắng từ má»™t hoặc hai bên.",
+       "TEXT_TRIM_OPERATOR_BOTH": "cắt các không gian từ cả hai mặt của",
+       "TEXT_TRIM_OPERATOR_LEFT": "cắt các không gian từ bên trái của",
+       "TEXT_TRIM_OPERATOR_RIGHT": "cắt các không gian từ bên phải của",
+       "TEXT_PRINT_TITLE": "in lên màng hình %1",
+       "TEXT_PRINT_TOOLTIP": "In ra màng hình má»™t văn bản, con số, hay má»™t giá trị Ä‘ầu vào khác.",
+       "TEXT_PROMPT_TYPE_TEXT": "Xin ngÆ°á»i dùng nhập vào văn bản vá»›i dòng hÆ°á»›ng dẫn",
+       "TEXT_PROMPT_TYPE_NUMBER": "Xin ngÆ°á»i dùng nhập vào con số vá»›i dòng hÆ°á»›ng dẫn",
+       "TEXT_PROMPT_TOOLTIP_NUMBER": "Xin ngÆ°á»i dùng nhập vào má»™t con số.",
+       "TEXT_PROMPT_TOOLTIP_TEXT": "Xin ngÆ°á»i dùng nhập vào má»™t văn bản.",
+       "TEXT_COUNT_MESSAGE0": "đến %1 trong %2",
+       "TEXT_COUNT_TOOLTIP": "Äếm số lần má»™t Ä‘oạn văn bản xuất hiện trong má»™t Ä‘oạn văn bản khác.",
+       "TEXT_REPLACE_MESSAGE0": "thay thế %1 bằng %2 trong %3",
+       "TEXT_REPLACE_TOOLTIP": "Thay thế tất cả các lần xuất hiện của văn bản bằng văn bản khác.",
+       "TEXT_REVERSE_MESSAGE0": "đảo ngược %1",
+       "TEXT_REVERSE_TOOLTIP": "Äảo ngược thứ tá»± của các chữ cái trong văn bản.",
+       "LISTS_CREATE_EMPTY_TITLE": "tạo danh sách trống",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "Hoàn trả má»™t danh sách, vá»›i Ä‘á»™ dài 0, không có thành tố nào cả",
+       "LISTS_CREATE_WITH_TOOLTIP": "Tạo má»™t danh sách bao gồm nhiá»u vậts, vá»›i má»™t số lượng bất kỳ.",
+       "LISTS_CREATE_WITH_INPUT_WITH": "tạo danh sách gồm",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "danh sách",
+       "LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "Thêm, bá», hoặc sắp xếp lại các thành phần Ä‘ể tạo dá»±ng mảnh danh sách này.",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "Thêm vật vào danh sách.",
+       "LISTS_REPEAT_TOOLTIP": "Tạo danh sách gồm má»™t số lượng vật nhất Ä‘ịnh vá»›i má»—i vật Ä‘á»u giống nhau.",
+       "LISTS_REPEAT_TITLE": "tạo danh sách gồm má»™t vật %1 lặp lại %2 lần",
+       "LISTS_LENGTH_TITLE": "Ä‘á»™ dài của %1",
+       "LISTS_LENGTH_TOOLTIP": "Hoàn trả Ä‘á»™ dài của má»™t danh sách.",
+       "LISTS_ISEMPTY_TITLE": "%1 trống rá»—ng",
+       "LISTS_ISEMPTY_TOOLTIP": "Hoàn trả â€œÄ‘úng\" nếu danh sách không có thành tá»­ nào.",
+       "LISTS_INLIST": "trong dánh sách",
+       "LISTS_INDEX_OF_FIRST": "tìm sá»± có mặt Ä‘ầu tiên của vật",
+       "LISTS_INDEX_OF_LAST": "tìm sá»± có mặt cuối cùng của vật",
+       "LISTS_INDEX_OF_TOOLTIP": "Hoàn trả vị trí xuất hiện Ä‘ầu tiên/cuối cùng của vật trong danh sách. Nếu không tìm thấy thì hoàn trả số %1.",
+       "LISTS_GET_INDEX_GET": "lấy thành tố",
+       "LISTS_GET_INDEX_GET_REMOVE": "lấy và xóa thành tố",
+       "LISTS_GET_INDEX_REMOVE": "xóa thành tố",
+       "LISTS_GET_INDEX_FROM_START": "thứ",
+       "LISTS_GET_INDEX_FROM_END": "(đếm từ cuối) thứ",
+       "LISTS_GET_INDEX_FIRST": "đầu tiên",
+       "LISTS_GET_INDEX_LAST": "cuối cùng",
+       "LISTS_GET_INDEX_RANDOM": "bất kỳ",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "%1 là thành tố Ä‘ầu tiên.",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "%1 là thành tố cuối cùng.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "Hoàn trả thành tố trong danh sách á»Ÿ vị trí áº¥n Ä‘ịnh.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "Hoàn trả thành tố Ä‘ầu tiên trong danh sách.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "Hoàn trả thành tố cuối cùng trong danh sách.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "Hoàn trả má»™t thành tố bất kỳ trong danh sách.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "Hoàn trả và xóa thành tố trong danh sách á»Ÿ vị trí áº¥n Ä‘ịnh.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "Hoàn trả và xóa thành tố Ä‘ầu tiên trong danh sách.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "Hoàn trả và xóa thành tố cuối cùng trong danh sách.",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "Hoàn trả và xóa má»™tthành tố bất kỳ trong danh sách.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "Xóa thành tố trong danh sách á»Ÿ vị trí áº¥n Ä‘ịnh.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "Xóa thành tố Ä‘ầu tiên trong danh sách.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "Xóa thành tố cuối cùng trong danh sách.",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "Xóa thành tố bất kỳ trong danh sách.",
+       "LISTS_SET_INDEX_SET": "đặt",
+       "LISTS_SET_INDEX_INSERT": "chèn vào vị trí",
+       "LISTS_SET_INDEX_INPUT_TO": "giá trị",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "Äặt giá trị của thành tố á»Ÿ vị trí áº¥n Ä‘ịnh trong má»™t danh sách.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "Äặt giá trị của thành tố Ä‘ầu tiên trong danh sách.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_LAST": "Äặt giá trị của thành tố cuối cùng trong danh sách.",
+       "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "Äặt giá trị của thành tố ngẫu nhiên trong danh sách.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "Chèn vật vào danh sách theo vị trí áº¥n Ä‘ịnh.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "Chèn vật vào Ä‘ầu danh sách.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "Gắn thêm vật vào cuối danh sách.",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "Gắn chèn vật vào danh sách á»Ÿ vị trí ngẫu nhiên.",
+       "LISTS_GET_SUBLIST_START_FROM_START": "lấy má»™t danh sách con từ vị trí thứ",
+       "LISTS_GET_SUBLIST_START_FROM_END": "lấy má»™t danh sách con từ (đếm từ cuối) từ vị trí thứ",
+       "LISTS_GET_SUBLIST_START_FIRST": "lấy má»™t danh sách con từ Ä‘ầu tiên",
+       "LISTS_GET_SUBLIST_END_FROM_START": "đến thứ",
+       "LISTS_GET_SUBLIST_END_FROM_END": "đến (đếm từ cuối) thứ",
+       "LISTS_GET_SUBLIST_END_LAST": "đến cuối cùng",
+       "LISTS_GET_SUBLIST_TOOLTIP": "Lấy má»™t mảng của danh sách này Ä‘ể tạo danh sách con.",
+       "LISTS_SORT_HELPURL": "https://github.com/google/blockly/wiki/Lists#sorting-a-list",
+       "LISTS_SORT_TITLE": "sắp xếp %1 %2 %3",
+       "LISTS_SORT_TOOLTIP": "Sắp xếp má»™t bản sao của má»™t danh sách.",
+       "LISTS_SORT_ORDER_ASCENDING": "tăng dần",
+       "LISTS_SORT_ORDER_DESCENDING": "giảm dần",
+       "LISTS_SORT_TYPE_NUMERIC": "số",
+       "LISTS_SORT_TYPE_TEXT": "chữ cái",
+       "LISTS_SORT_TYPE_IGNORECASE": "chữ cái, không phân biệt hoa/thÆ°á»ng",
+       "LISTS_SPLIT_LIST_FROM_TEXT": "tạo danh sách từ văn bản",
+       "LISTS_SPLIT_TEXT_FROM_LIST": "tạo văn bản từ danh sách",
+       "LISTS_SPLIT_WITH_DELIMITER": "vá»›i ký tá»± phân cách",
+       "LISTS_SPLIT_TOOLTIP_SPLIT": "Tách văn bản thành má»™t danh sách các văn bản nhá», ngắt bởi các ký tá»± phân cách.",
+       "LISTS_SPLIT_TOOLTIP_JOIN": "Liên kết má»™t danh sách các văn bản vào má»™t văn bản, cách nhau bằng dấu phân cách.",
+       "LISTS_REVERSE_MESSAGE0": "đảo ngược %1",
+       "LISTS_REVERSE_TOOLTIP": "Äảo ngược bản sao chép của má»™t danh sách.",
+       "VARIABLES_GET_TOOLTIP": "Hoàn trả giá trị của.",
+       "VARIABLES_GET_CREATE_SET": "Tạo mảnh \"đặt vào %1\"",
+       "VARIABLES_SET": "cho %1 bằng %2",
+       "VARIABLES_SET_TOOLTIP": "Äặt giá trị của biến này thành...",
+       "VARIABLES_SET_CREATE_GET": "Tạo mảnh \"lấy %1\"",
+       "PROCEDURES_DEFNORETURN_TITLE": "thủ tục Ä‘ể",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "làm gì Ä‘ó",
+       "PROCEDURES_BEFORE_PARAMS": "vá»›i:",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "vá»›i:",
+       "PROCEDURES_DEFNORETURN_DO": "",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "Má»™t thủ tục không có giá trị hoàn trả.",
+       "PROCEDURES_DEFNORETURN_COMMENT": "Mô tả hàm này...",
+       "PROCEDURES_DEFRETURN_RETURN": "hoàn trả",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "Má»™t thủ tục có giá trị hoàn trả.",
+       "PROCEDURES_ALLOW_STATEMENTS": "cho phép báo cáo",
+       "PROCEDURES_DEF_DUPLICATE_WARNING": "Chú Ã½: Thủ tục này có lặp lại tên các tham số.",
+       "PROCEDURES_CALLNORETURN_HELPURL": "https://vi.wikipedia.org/wiki/Ch%C6%B0%C6%A1ng_tr%C3%ACnh_con",
+       "PROCEDURES_CALLNORETURN_TOOLTIP": "Chạy má»™t thủ tục không có giá trị hoàn trả.",
+       "PROCEDURES_CALLRETURN_HELPURL": "https://vi.wikipedia.org/wiki/Ch%C6%B0%C6%A1ng_tr%C3%ACnh_con",
+       "PROCEDURES_CALLRETURN_TOOLTIP": "Chạy má»™t thủ tục có giá trị hoàn trả.",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "các tham số",
+       "PROCEDURES_MUTATORCONTAINER_TOOLTIP": "Thêm, xóa hoặc sắp xếp lại các Ä‘ầu vào cho hàm này.",
+       "PROCEDURES_MUTATORARG_TITLE": "biến:",
+       "PROCEDURES_MUTATORARG_TOOLTIP": "Thêm má»™t Ä‘ầu vào cho hàm.",
+       "PROCEDURES_HIGHLIGHT_DEF": "Làm nổi bật thủ tục",
+       "PROCEDURES_CREATE_DO": "Tạo mảnh \"thá»±c hiện %1\"",
+       "PROCEDURES_IFRETURN_TOOLTIP": "Khi Ä‘iá»u kiện Ä‘úng thì hoàn trả má»™t giá trị.",
+       "PROCEDURES_IFRETURN_WARNING": "Chú Ã½: Mảnh này chỉ có thể dùng trong má»™t thủ tục.",
+       "WORKSPACE_COMMENT_DEFAULT_TEXT": "Hãy nói gì Ä‘ó..."
+}
diff --git a/js/msg/json/xmf.json b/js/msg/json/xmf.json
new file mode 100644 (file)
index 0000000..a34d866
--- /dev/null
@@ -0,0 +1,91 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Silovan"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "ელემენტი",
+       "TODAY": "áƒáƒ›áƒ“ღáƒ",
+       "DUPLICATE_BLOCK": "კáƒáƒžáƒ˜áƒ áƒáƒ¤áƒ",
+       "ADD_COMMENT": "კáƒáƒ›áƒ”ნტáƒáƒ áƒ˜áƒ¨ áƒ’ეძინáƒ",
+       "REMOVE_COMMENT": "კáƒáƒ›áƒ”ნტáƒáƒ áƒ˜áƒ¨ áƒ’áƒáƒ£áƒ¥áƒ•áƒáƒ¤áƒ",
+       "EXTERNAL_INPUTS": "გáƒáƒšáƒ”შე áƒ“ინáƒáƒ®áƒ£áƒœáƒáƒ¤áƒ",
+       "INLINE_INPUTS": "დინáƒáƒ®áƒáƒšáƒ” áƒ“ინáƒáƒ®áƒ£áƒœáƒáƒ¤áƒ",
+       "DELETE_BLOCK": "ბლáƒáƒ™áƒ˜áƒ¨ áƒšáƒáƒ¡áƒ£áƒ",
+       "DELETE_X_BLOCKS": "%1 áƒ‘ლáƒáƒ™áƒ˜áƒ¨ áƒšáƒáƒ¡áƒ£áƒ",
+       "DELETE_ALL_BLOCKS": "áƒáƒ áƒ«áƒ (%1) áƒ‘ლáƒáƒ™áƒ˜ áƒ‘ლáƒáƒ¡áƒáƒ—áƒ?",
+       "CLEAN_UP": "ბლáƒáƒ™áƒ”ფიშ áƒ’áƒáƒ£áƒ¥áƒ•áƒáƒ¤áƒ",
+       "COLLAPSE_BLOCK": "ბლáƒáƒ™áƒ˜áƒ¨ áƒ¢áƒ§áƒáƒ‘ინáƒáƒ¤áƒ",
+       "COLLAPSE_ALL": "ბლáƒáƒ™áƒ”ფიშ áƒ˜áƒœáƒáƒ™áƒ˜áƒ©áƒ£áƒ",
+       "EXPAND_BLOCK": "ბლáƒáƒ™áƒ˜áƒ¨ áƒ’ჷმáƒáƒ¤áƒáƒ©áƒ£áƒ",
+       "EXPAND_ALL": "ბლáƒáƒ™áƒ”ფიშ áƒ’ჷმáƒáƒ¤áƒáƒ©áƒ£áƒ",
+       "DISABLE_BLOCK": "ბლáƒáƒ™áƒ˜áƒ¨ áƒ—იშუáƒ",
+       "ENABLE_BLOCK": "ბლáƒáƒ™áƒ˜áƒ¨ áƒ©áƒáƒ áƒ—ებáƒ",
+       "HELP": "მáƒáƒ®áƒ•áƒáƒ áƒ",
+       "UNDO": "გáƒáƒ£áƒ¥áƒ•áƒáƒ¤áƒ",
+       "REDO": "áƒáƒ¨áƒ®áƒáƒœáƒáƒ¤áƒ",
+       "CHANGE_VALUE_TITLE": "შáƒáƒœáƒ£áƒšáƒáƒ‘áƒáƒ¨ áƒ—ირუáƒ:",
+       "RENAME_VARIABLE": "ჯáƒáƒ®áƒáƒ¨ áƒ—ირურმáƒáƒ—ირეფáƒáƒœáƒ˜â€¦",
+       "RENAME_VARIABLE_TITLE": "áƒáƒ áƒ«áƒ áƒ›áƒáƒ—ირეფáƒáƒœáƒ˜ '%1' áƒ¯áƒáƒ®áƒáƒ¨ áƒ—ირურ-შáƒ:",
+       "NEW_VARIABLE": "áƒáƒ™áƒáƒ¥áƒ˜áƒ›áƒ˜áƒœáƒ˜ áƒ›áƒáƒ—ირეფáƒáƒœáƒ˜...",
+       "NEW_VARIABLE_TITLE": "áƒáƒ®áƒáƒšáƒ˜ áƒ›áƒáƒ—ირეფáƒáƒœáƒ˜áƒ¨ áƒ¯áƒáƒ®áƒ:",
+       "VARIABLE_ALREADY_EXISTS": "მáƒáƒ—ირეფáƒáƒœáƒ˜ áƒ¯áƒáƒ®áƒáƒ—ი '%1' áƒ£áƒ™áƒ•áƒ” áƒáƒ áƒ¡áƒ”ნებს.",
+       "DELETE_VARIABLE_CONFIRMATION": "'%2' áƒ›áƒáƒ—ირეფáƒáƒœáƒ˜áƒ¨ áƒ’ჷმáƒáƒ áƒ˜áƒœáƒáƒ¤áƒ %1 áƒ‘ლáƒáƒ¡áƒáƒ—áƒ?",
+       "DELETE_VARIABLE": "'%1' áƒ›áƒáƒ—ირეფáƒáƒœáƒ˜áƒ¨ áƒšáƒáƒ¡áƒ£áƒ",
+       "COLOUR_PICKER_HELPURL": "https://xmf.wikipedia.org/wiki/ფერი",
+       "COLOUR_PICKER_TOOLTIP": "გეგშáƒáƒ’áƒáƒ áƒ˜áƒ— áƒ¤áƒ”რი áƒžáƒáƒšáƒ˜áƒ¢áƒ áƒáƒ¨áƒ”.",
+       "COLOUR_RANDOM_TITLE": "შემთხვევითი áƒ¤áƒ”რი",
+       "COLOUR_RANDOM_TOOLTIP": "ფერიშ áƒ¨áƒ”მთხვევითრგიშáƒáƒ’áƒáƒ áƒ£áƒ.",
+       "COLOUR_RGB_TITLE": "ფერიË",
+       "COLOUR_RGB_RED": "ჭითáƒ",
+       "COLOUR_RGB_GREEN": "წვáƒáƒœáƒ”",
+       "COLOUR_RGB_BLUE": "ლენი",
+       "COLOUR_RGB_TOOLTIP": "áƒáƒ™áƒáƒ¥áƒ˜áƒ›áƒ˜áƒœáƒ˜áƒ— áƒ¤áƒ”რი áƒ›áƒáƒ©áƒáƒ›áƒ˜áƒšáƒ˜ áƒ­áƒ˜áƒ—áƒ, áƒ¬áƒ•áƒáƒœáƒ” áƒ“რლენი áƒ¤áƒ”რეფიშ áƒžáƒ áƒáƒžáƒáƒ áƒªáƒ˜áƒ”ფით. áƒáƒ áƒ«áƒ áƒ¨áƒáƒœáƒ£áƒšáƒáƒ‘რ0 áƒ“რ100 áƒ¨áƒ¥áƒáƒ¡ áƒáƒ™áƒ áƒ áƒ“áƒáƒ¡.",
+       "COLOUR_BLEND_TITLE": "ესვáƒáƒ áƒ£áƒ",
+       "COLOUR_BLEND_COLOUR1": "ფერი 1",
+       "COLOUR_BLEND_COLOUR2": "ფერი 2",
+       "COLOUR_BLEND_RATIO": "ფერი 1-შ áƒ¬áƒ˜áƒšáƒ˜",
+       "COLOUR_BLEND_TOOLTIP": "ჟირ áƒ¤áƒ”რს áƒáƒ áƒ—იáƒáƒœáƒ¡ áƒ£áƒ¬áƒ§áƒáƒ áƒ£áƒáƒœáƒ¡ áƒ›áƒáƒ©áƒáƒ›áƒ˜áƒšáƒ˜ áƒ–ჷმáƒáƒ— (0.0 - 1.0).",
+       "CONTROLS_REPEAT_HELPURL": "https://ru.wikipedia.org/wiki/ციკლი_(პრáƒáƒ’რáƒáƒ›áƒ˜áƒ áƒáƒ¤áƒ)",
+       "CONTROLS_REPEAT_TITLE": "%1 áƒ¨áƒ áƒ’áƒáƒ›áƒáƒŸáƒ˜áƒ áƒáƒ¤áƒ",
+       "CONTROLS_REPEAT_INPUT_DO": "რსულებáƒ",
+       "CONTROLS_REPEAT_TOOLTIP": "მუსხირენ áƒ–áƒáƒ¯áƒ£áƒáƒ¨ áƒ›áƒ£áƒ¡áƒ®áƒ˜áƒ áƒ”ნშრრსულებáƒ.",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "გáƒáƒ›áƒáƒŸáƒ˜áƒ áƒáƒ¤áƒ, áƒ¡áƒáƒ˜áƒ¨áƒáƒ®",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "გáƒáƒ›áƒáƒŸáƒ˜áƒ áƒáƒ¤áƒ, áƒ¡áƒáƒ˜áƒ¨áƒáƒ® áƒ•áƒ",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "სáƒáƒ˜áƒ¨áƒáƒ® áƒ¨áƒáƒœáƒ£áƒšáƒáƒ‘რნáƒáƒœáƒ“ული áƒ áƒ”, áƒ–áƒáƒ¯áƒ£áƒ”ფიშ áƒ áƒ¡áƒ£áƒšáƒ”ბáƒ.",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "სáƒáƒ˜áƒ¨áƒáƒ® áƒ¨áƒáƒœáƒ£áƒšáƒáƒ‘რტყურრრე, áƒ–áƒáƒ¯áƒ£áƒ”ფიშ áƒ áƒ¡áƒ£áƒšáƒ”ბáƒ",
+       "CONTROLS_FOR_TOOLTIP": "მáƒáƒ—ირეფáƒáƒœáƒ˜ '%1'-ის áƒ›áƒ˜áƒ—მურჩქინáƒáƒœáƒ¡ áƒ¨áƒáƒœáƒ£áƒšáƒáƒ‘áƒáƒ¡ áƒ›áƒáƒ©áƒáƒ›áƒ˜áƒšáƒ˜ áƒ‘იჯგეფით áƒ“უდშე áƒ‘áƒáƒšáƒáƒ¨áƒ áƒ“რმეწურáƒáƒ¤áƒ˜áƒš áƒ–áƒáƒ¯áƒ£áƒ”ფს áƒáƒ áƒ¡áƒ£áƒšáƒ”ნს.",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "ციკლშე áƒ’იშულáƒ",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "ციკლიშ áƒ’ეჸვენჯი áƒ‘იჯგშრგინულáƒ",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "თე áƒªáƒ˜áƒ™áƒšáƒ˜áƒ¨ áƒ›áƒ”ჭყáƒáƒ áƒ˜áƒ“უáƒ.",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "ხვილáƒáƒ¤áƒ: áƒ—ე áƒ‘ლáƒáƒ™áƒ˜áƒ¨ áƒ’ჷმáƒáƒ áƒ˜áƒœáƒáƒ¤áƒ áƒ®áƒ•áƒáƒšáƒ” áƒªáƒ˜áƒ™áƒšáƒ˜áƒ¨ áƒ“ინáƒáƒ®áƒáƒšáƒ” áƒ¨áƒ˜áƒšáƒ”ბე.",
+       "CONTROLS_IF_TOOLTIP_1": "პიჯáƒáƒšáƒ”ფი áƒœáƒáƒœáƒ“ული áƒ¥áƒáƒ áƒ”-დáƒ, áƒ–áƒáƒ¯áƒ£áƒ”ფს áƒáƒ áƒ¡áƒ£áƒšáƒ”ნს.",
+       "CONTROLS_IF_MSG_IF": "თუ",
+       "CONTROLS_IF_MSG_ELSEIF": "შხვáƒáƒœáƒ”რრთუ",
+       "CONTROLS_IF_MSG_ELSE": "შხვáƒáƒœáƒ”რáƒ",
+       "IOS_OK": "OK",
+       "IOS_CANCEL": "გáƒáƒ£áƒ¥áƒ•áƒáƒ¤áƒ",
+       "IOS_ERROR": "ჩილáƒáƒ—áƒ",
+       "IOS_PROCEDURES_INPUTS": "მიშულáƒ",
+       "IOS_VARIABLES_ADD_BUTTON": "გეძინáƒ",
+       "IOS_VARIABLES_RENAME_BUTTON": "ჯáƒáƒ®áƒáƒ¨ áƒ—ირუáƒ",
+       "IOS_VARIABLES_DELETE_BUTTON": "ლáƒáƒ¡áƒ£áƒ",
+       "LOGIC_OPERATION_AND": "დáƒ",
+       "LOGIC_OPERATION_OR": "ვáƒáƒ áƒ“áƒ",
+       "LOGIC_BOOLEAN_TRUE": "ნáƒáƒœáƒ“ული",
+       "LOGIC_BOOLEAN_FALSE": "ტყურáƒ",
+       "LOGIC_NULL": "მუთუნ áƒ•áƒáƒ áƒ˜",
+       "LOGIC_NULL_TOOLTIP": "დჷთმáƒáƒ áƒ—ინუáƒáƒœáƒ¡ áƒ›áƒ£áƒ—უნ áƒ•áƒáƒ áƒ¡.",
+       "MATH_NUMBER_HELPURL": "https://xmf.wikipedia.org/wiki/რიცხუ",
+       "MATH_NUMBER_TOOLTIP": "რიცხუ.",
+       "MATH_ARITHMETIC_HELPURL": "https://xmf.wikipedia.org/wiki/áƒáƒ áƒ˜áƒ—მეტიკáƒ",
+       "MATH_SINGLE_OP_ROOT": "კვáƒáƒ“რáƒáƒ¢áƒ£áƒšáƒ˜ áƒ¯áƒ˜áƒœáƒ¯áƒ˜",
+       "MATH_SINGLE_OP_ABSOLUTE": "მáƒáƒ“ული",
+       "MATH_IS_EVEN": "ჭკáƒáƒ‘რრე",
+       "MATH_IS_ODD": "ცáƒáƒœáƒ“ი áƒ áƒ”",
+       "MATH_IS_PRIME": "უკáƒáƒ­áƒ£áƒšáƒ˜ áƒ áƒ”",
+       "MATH_IS_WHOLE": "ნთელი áƒ áƒ”",
+       "MATH_IS_POSITIVE": "დáƒáƒ“ებითი áƒ áƒ”",
+       "MATH_IS_NEGATIVE": "უáƒáƒ áƒ§áƒáƒ¤áƒ˜áƒ—ი áƒ áƒ”",
+       "LISTS_ISEMPTY_TITLE": "%1 áƒªáƒáƒ áƒ˜áƒ”ლი áƒ áƒ”"
+}
diff --git a/js/msg/json/zh-hans.json b/js/msg/json/zh-hans.json
new file mode 100644 (file)
index 0000000..51ee449
--- /dev/null
@@ -0,0 +1,370 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Espertus",
+                       "Liuxinyu970226",
+                       "Luotiancheng",
+                       "Qiyue2001",
+                       "Xiaomingyan",
+                       "Yfdyh000",
+                       "ì•„ë¼",
+                       "Hudafu",
+                       "Shatteredwind",
+                       "Duzc2",
+                       "Tonylianlong",
+                       "WindWood",
+                       "Deathkon"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "项目",
+       "TODAY": "今天",
+       "DUPLICATE_BLOCK": "å¤åˆ¶",
+       "ADD_COMMENT": "添加注释",
+       "REMOVE_COMMENT": "删除注释",
+       "DUPLICATE_COMMENT": "å¤åˆ¶æ³¨é‡Š",
+       "EXTERNAL_INPUTS": "外部输入",
+       "INLINE_INPUTS": "å•è¡Œè¾“å…¥",
+       "DELETE_BLOCK": "删除å—",
+       "DELETE_X_BLOCKS": "删除 %1 ä¸ªå—",
+       "DELETE_ALL_BLOCKS": "删除所有 %1 ä¸ªå—å—?",
+       "CLEAN_UP": "æ•´ç†å—",
+       "COLLAPSE_BLOCK": "折å å—",
+       "COLLAPSE_ALL": "折å å—",
+       "EXPAND_BLOCK": "展开å—",
+       "EXPAND_ALL": "展开å—",
+       "DISABLE_BLOCK": "ç¦ç”¨å—",
+       "ENABLE_BLOCK": "å¯ç”¨å—",
+       "HELP": "帮助",
+       "UNDO": "撤销",
+       "REDO": "é‡åš",
+       "CHANGE_VALUE_TITLE": "更改值:",
+       "RENAME_VARIABLE": "é‡å‘½åå˜é‡...",
+       "RENAME_VARIABLE_TITLE": "将所有“%1â€å˜é‡é‡å‘½å为:",
+       "NEW_VARIABLE": "创建å˜é‡...",
+       "NEW_STRING_VARIABLE": "创建字符串å˜é‡...",
+       "NEW_NUMBER_VARIABLE": "创建数字å˜é‡...",
+       "NEW_COLOUR_VARIABLE": "创建颜色å˜é‡...",
+       "NEW_VARIABLE_TYPE_TITLE": "æ–°å˜é‡çš„类型:",
+       "NEW_VARIABLE_TITLE": "æ–°å˜é‡çš„å称:",
+       "VARIABLE_ALREADY_EXISTS": "åå­—å«â€œ%1â€çš„å˜é‡å·²ç»å­˜åœ¨äº†ã€‚",
+       "VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE": "åå­—å«â€œ%1â€çš„å˜é‡å·²ç»æœ‰äº†å¦ä¸€ä¸ªç±»åž‹ï¼šâ€œ%2â€ã€‚",
+       "DELETE_VARIABLE_CONFIRMATION": "è¦åˆ é™¤å˜é‡â€œ%2â€çš„%1个使用之处å—?",
+       "CANNOT_DELETE_VARIABLE_PROCEDURE": "ä¸èƒ½åˆ é™¤å˜é‡â€œ%1â€ï¼Œå› ä¸ºå®ƒæ˜¯å‡½æ•°â€œ%2â€å®šä¹‰çš„一部分",
+       "DELETE_VARIABLE": "删除å˜é‡â€œ%1â€",
+       "COLOUR_PICKER_HELPURL": "https://zh.wikipedia.org/wiki/颜色",
+       "COLOUR_PICKER_TOOLTIP": "从调色æ¿ä¸­é€‰æ‹©ä¸€ç§é¢œè‰²ã€‚",
+       "COLOUR_RANDOM_TITLE": "éšæœºé¢œè‰²",
+       "COLOUR_RANDOM_TOOLTIP": "éšæœºé€‰æ‹©ä¸€ç§é¢œè‰²ã€‚",
+       "COLOUR_RGB_TITLE": "颜色",
+       "COLOUR_RGB_RED": "红色",
+       "COLOUR_RGB_GREEN": "绿色",
+       "COLOUR_RGB_BLUE": "è“色",
+       "COLOUR_RGB_TOOLTIP": "通过指定红色ã€ç»¿è‰²å’Œè“色的é‡åˆ›å»ºä¸€ç§é¢œè‰²ã€‚所有的值必须在0å’Œ100之间。",
+       "COLOUR_BLEND_TITLE": "æ··åˆ",
+       "COLOUR_BLEND_COLOUR1": "颜色1",
+       "COLOUR_BLEND_COLOUR2": "颜色2",
+       "COLOUR_BLEND_RATIO": "比例",
+       "COLOUR_BLEND_TOOLTIP": "把两ç§é¢œè‰²ä»¥ä¸€ä¸ªç»™å®šçš„比例(0.0-1.0)进行混åˆã€‚",
+       "CONTROLS_REPEAT_HELPURL": "https://zh.wikipedia.org/wiki/For循环",
+       "CONTROLS_REPEAT_TITLE": "é‡å¤ %1 æ¬¡",
+       "CONTROLS_REPEAT_INPUT_DO": "执行",
+       "CONTROLS_REPEAT_TOOLTIP": "多次执行一些语å¥ã€‚",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "当æ¡ä»¶æ»¡è¶³æ—¶é‡å¤",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "é‡å¤ç›´åˆ°æ¡ä»¶æ»¡è¶³",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "åªè¦å€¼ä¸ºçœŸï¼Œæ‰§è¡Œä¸€äº›è¯­å¥ã€‚",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "åªè¦å€¼ä¸ºå‡ï¼Œæ‰§è¡Œä¸€äº›è¯­å¥ã€‚",
+       "CONTROLS_FOR_TOOLTIP": "用å˜é‡%1记录从开始数值到终止数值之间的数值,数值按指定间隔增加,并执行指定的å—。",
+       "CONTROLS_FOR_TITLE": "å˜é‡ %1 ä»Ž %2 æ•°åˆ° %3 æ¯æ¬¡å¢žåŠ  %4",
+       "CONTROLS_FOREACH_TITLE": "为列表 %2 é‡Œçš„æ¯ä¸€é¡¹ %1",
+       "CONTROLS_FOREACH_TOOLTIP": "é历列表中的æ¯ä¸€é¡¹ï¼Œå°†å˜é‡â€œ%1â€è®¾ä¸ºæ‰€é€‰é¡¹ï¼Œå¹¶æ‰§è¡Œä¸€äº›è¯­å¥ã€‚",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "跳出循环",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "继续下一轮循环",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "跳出包å«å®ƒçš„循环。",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "跳过本轮循环的剩余部分,并继进行续下一轮迭代。",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "警告:这个å—åªèƒ½åœ¨å¾ªçŽ¯å†…使用。",
+       "CONTROLS_IF_TOOLTIP_1": "如果值为真,执行一些语å¥ã€‚",
+       "CONTROLS_IF_TOOLTIP_2": "如果值为真,则执行第一å—语å¥ã€‚å¦åˆ™ï¼Œåˆ™æ‰§è¡Œç¬¬äºŒå—语å¥ã€‚",
+       "CONTROLS_IF_TOOLTIP_3": "如果第一个值为真,则执行第一å—的语å¥ã€‚å¦åˆ™ï¼Œå¦‚果第二个值为真,则执行第二å—的语å¥ã€‚",
+       "CONTROLS_IF_TOOLTIP_4": "如果第一个值为真,则执行第一å—对语å¥ã€‚å¦åˆ™ï¼Œå¦‚果第二个值为真,则执行语å¥çš„第二å—。如果没有值为真,则执行最åŽä¸€å—的语å¥ã€‚",
+       "CONTROLS_IF_MSG_IF": "如果",
+       "CONTROLS_IF_MSG_ELSEIF": "å¦åˆ™å¦‚æžœ",
+       "CONTROLS_IF_MSG_ELSE": "å¦åˆ™",
+       "CONTROLS_IF_IF_TOOLTIP": "增加ã€åˆ é™¤æˆ–é‡æ–°æŽ’列å„节æ¥é‡æ–°é…置这个if语å¥å—。",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "在这个if语å¥å—中增加一个æ¡ä»¶ã€‚",
+       "CONTROLS_IF_ELSE_TOOLTIP": "在这个if语å¥å—中添加一个最终的,包括所有其余情况的æ¡ä»¶ã€‚",
+       "IOS_OK": "确定",
+       "IOS_CANCEL": "å–消",
+       "IOS_ERROR": "错误",
+       "IOS_PROCEDURES_INPUTS": "输入",
+       "IOS_PROCEDURES_ADD_INPUT": "+添加输入",
+       "IOS_PROCEDURES_ALLOW_STATEMENTS": "å…许的语å¥",
+       "IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR": "这个函数有多个输入。",
+       "IOS_VARIABLES_ADD_VARIABLE": "+添加å˜é‡",
+       "IOS_VARIABLES_ADD_BUTTON": "添加",
+       "IOS_VARIABLES_RENAME_BUTTON": "é‡å‘½å",
+       "IOS_VARIABLES_DELETE_BUTTON": "删除",
+       "IOS_VARIABLES_VARIABLE_NAME": "å˜é‡å",
+       "IOS_VARIABLES_EMPTY_NAME_ERROR": "ä½ ä¸èƒ½ä½¿ç”¨ç©ºç™½çš„å˜é‡å。",
+       "LOGIC_COMPARE_HELPURL": "https://zh.wikipedia.org/wiki/ä¸ç­‰",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "如果两个输入结果相等,则返回真。",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "如果两个输入结果ä¸ç›¸ç­‰ï¼Œåˆ™è¿”回真。",
+       "LOGIC_COMPARE_TOOLTIP_LT": "如果第一个输入结果比第二个å°ï¼Œåˆ™è¿”回真。",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "如果第一个输入结果å°äºŽæˆ–等于第二个输入结果,则返回真。",
+       "LOGIC_COMPARE_TOOLTIP_GT": "如果第一个输入结果比第二个大,则返回真。",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "如果第一个输入结果大于或等于第二个输入结果,则返回真。",
+       "LOGIC_OPERATION_TOOLTIP_AND": "如果两个输入结果都为真,则返回真。",
+       "LOGIC_OPERATION_AND": "并且",
+       "LOGIC_OPERATION_TOOLTIP_OR": "如果至少有一个输入结果为真,则返回真。",
+       "LOGIC_OPERATION_OR": "或",
+       "LOGIC_NEGATE_HELPURL": "https://github.com/google/blockly/wiki/Logic#not",
+       "LOGIC_NEGATE_TITLE": "éž%1",
+       "LOGIC_NEGATE_TOOLTIP": "如果输入结果为å‡ï¼Œåˆ™è¿”回真;如果输入结果为真,则返回å‡ã€‚",
+       "LOGIC_BOOLEAN_TRUE": "真",
+       "LOGIC_BOOLEAN_FALSE": "å‡",
+       "LOGIC_BOOLEAN_TOOLTIP": "返回真或å‡ã€‚",
+       "LOGIC_NULL": "空",
+       "LOGIC_NULL_TOOLTIP": "返回空值。",
+       "LOGIC_TERNARY_HELPURL": "https://zh.wikipedia.org/wiki/æ¡ä»¶è¿ç®—符",
+       "LOGIC_TERNARY_CONDITION": "断言",
+       "LOGIC_TERNARY_IF_TRUE": "如果为真",
+       "LOGIC_TERNARY_IF_FALSE": "如果为å‡",
+       "LOGIC_TERNARY_TOOLTIP": "检查“断言â€é‡Œçš„æ¡ä»¶è¯­å¥ã€‚如果æ¡ä»¶ä¸ºçœŸï¼Œåˆ™è¿”回“如果为真â€çš„值,å¦åˆ™ï¼Œåˆ™è¿”回“如果为å‡â€çš„值。",
+       "MATH_NUMBER_HELPURL": "https://zh.wikipedia.org/wiki/æ•°",
+       "MATH_NUMBER_TOOLTIP": "一个数值。",
+       "MATH_ARITHMETIC_HELPURL": "https://zh.wikipedia.org/wiki/算术",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "返回两个数值的和。",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "返回两个数值的差值。",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "返回两个数值的乘积。",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "返回两个数值的商。",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "返回以第一个数值为底数,以第二个数值为幂的结果。",
+       "MATH_SINGLE_HELPURL": "https://zh.wikipedia.org/wiki/平方根",
+       "MATH_SINGLE_OP_ROOT": "平方根",
+       "MATH_SINGLE_TOOLTIP_ROOT": "返回一个数的平方根。",
+       "MATH_SINGLE_OP_ABSOLUTE": "ç»å¯¹å€¼",
+       "MATH_SINGLE_TOOLTIP_ABS": "返回一个数值的ç»å¯¹å€¼ã€‚",
+       "MATH_SINGLE_TOOLTIP_NEG": "返回一个数值的相å数。",
+       "MATH_SINGLE_TOOLTIP_LN": "返回一个数值的自然对数。",
+       "MATH_SINGLE_TOOLTIP_LOG10": "返回一个数值的以10为底的对数。",
+       "MATH_SINGLE_TOOLTIP_EXP": "返回一个数值的e次幂。",
+       "MATH_SINGLE_TOOLTIP_POW10": "返回一个数值的10次幂。",
+       "MATH_TRIG_HELPURL": "https://zh.wikipedia.org/wiki/三角函数",
+       "MATH_TRIG_TOOLTIP_SIN": "返回指定角度的正弦值(éžå¼§åº¦ï¼‰ã€‚",
+       "MATH_TRIG_TOOLTIP_COS": "返回指定角度的余弦值(éžå¼§åº¦ï¼‰ã€‚",
+       "MATH_TRIG_TOOLTIP_TAN": "返回指定角度的正切值(éžå¼§åº¦ï¼‰ã€‚",
+       "MATH_TRIG_TOOLTIP_ASIN": "返回一个数值的å正弦值。",
+       "MATH_TRIG_TOOLTIP_ACOS": "返回一个数值的å余弦值。",
+       "MATH_TRIG_TOOLTIP_ATAN": "返回一个数值的å正切值。",
+       "MATH_CONSTANT_HELPURL": "https://zh.wikipedia.org/wiki/数学常数",
+       "MATH_CONSTANT_TOOLTIP": "返回一个常è§å¸¸é‡ï¼šÏ€ (3.141…)ã€e (2.718…)ã€Ï† (1.618…)ã€å¹³æ–¹æ ¹ (1.414…)ã€å¼€å¹³æ–¹æ ¹ (0.707…)或∞ (æ— é™å¤§)。",
+       "MATH_IS_EVEN": "是å¶æ•°",
+       "MATH_IS_ODD": "是奇数",
+       "MATH_IS_PRIME": "是质数",
+       "MATH_IS_WHOLE": "是整数",
+       "MATH_IS_POSITIVE": "是正数",
+       "MATH_IS_NEGATIVE": "是负数",
+       "MATH_IS_DIVISIBLE_BY": "å¯è¢«æ•´é™¤",
+       "MATH_IS_TOOLTIP": "检查一个数值是å¦æ˜¯å¶æ•°ã€å¥‡æ•°ã€è´¨æ•°ã€è‡ªç„¶æ•°ã€æ­£æ•°ã€è´Ÿæ•°æˆ–者是å¦èƒ½è¢«æŸæ•°æ•´é™¤ã€‚返回真或å‡ã€‚",
+       "MATH_CHANGE_HELPURL": "https://zh.wikipedia.org/wiki/加法",
+       "MATH_CHANGE_TITLE": "å°† %1 æ”¹ä¸º %2",
+       "MATH_CHANGE_TOOLTIP": "为å˜é‡â€œ%1â€å¢žåŠ ä¸€ä¸ªæ•°å€¼ã€‚",
+       "MATH_ROUND_HELPURL": "https://zh.wikipedia.org/wiki/数值修约",
+       "MATH_ROUND_TOOLTIP": "æ•°å­—å‘上或å‘下èˆå…¥ã€‚",
+       "MATH_ROUND_OPERATOR_ROUND": "å››èˆäº”å…¥",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "å‘上èˆå…¥",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "å‘下èˆå…¥",
+       "MATH_ONLIST_OPERATOR_SUM": "列表中数值的和",
+       "MATH_ONLIST_TOOLTIP_SUM": "返回列表中的所有数值的和。",
+       "MATH_ONLIST_OPERATOR_MIN": "列表中的最å°å€¼",
+       "MATH_ONLIST_TOOLTIP_MIN": "返回列表中最å°å€¼ã€‚",
+       "MATH_ONLIST_OPERATOR_MAX": "列表中的最大值",
+       "MATH_ONLIST_TOOLTIP_MAX": "返回列表中最大值。",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "列表中的平å‡æ•°",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "返回列表中的数值的平å‡å€¼ã€‚",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "列表中ä½æ•°",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "返回列表中的中ä½æ•°ã€‚",
+       "MATH_ONLIST_OPERATOR_MODE": "列表中的众数",
+       "MATH_ONLIST_TOOLTIP_MODE": "返回列表中的出现次数最多的项的列表。",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "列表的标准差",
+       "MATH_ONLIST_TOOLTIP_STD_DEV": "返回列表的标准差。",
+       "MATH_ONLIST_OPERATOR_RANDOM": "列表的éšæœºé¡¹",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "从列表中返回一个éšæœºçš„元素。",
+       "MATH_MODULO_HELPURL": "https://zh.wikipedia.org/wiki/模除",
+       "MATH_MODULO_TITLE": "å– %1 Ã· %2 çš„余数",
+       "MATH_MODULO_TOOLTIP": "返回这两个数字相除åŽçš„余数。",
+       "MATH_CONSTRAIN_TITLE": "å°† %1 é™åˆ¶åœ¨ æœ€ä½Ž %2 åˆ°æœ€é«˜ %3 ä¹‹é—´",
+       "MATH_CONSTRAIN_TOOLTIP": "将一个数值é™åˆ¶åœ¨ä¸¤ä¸ªæŒ‡å®šçš„数值范围(å«è¾¹ç•Œï¼‰ä¹‹é—´ã€‚",
+       "MATH_RANDOM_INT_HELPURL": "https://zh.wikipedia.org/wiki/éšæœºæ•°ç”Ÿæˆå™¨",
+       "MATH_RANDOM_INT_TITLE": "从 %1 åˆ° %2 èŒƒå›´å†…çš„éšæœºæ•´æ•°",
+       "MATH_RANDOM_INT_TOOLTIP": "返回一个é™åˆ¶åœ¨ä¸¤ä¸ªæŒ‡å®šæ•°å€¼çš„范围(å«è¾¹ç•Œï¼‰ä¹‹é—´çš„éšæœºæ•´æ•°ã€‚",
+       "MATH_RANDOM_FLOAT_HELPURL": "https://zh.wikipedia.org/wiki/éšæœºæ•°ç”Ÿæˆå™¨",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "éšæœºå°æ•°",
+       "MATH_RANDOM_FLOAT_TOOLTIP": "返回一个介于0.0到1.0之间(å«è¾¹ç•Œï¼‰çš„éšæœºæ•°ã€‚",
+       "TEXT_TEXT_HELPURL": "https://zh.wikipedia.org/wiki/字符串",
+       "TEXT_TEXT_TOOLTIP": "一个字ã€è¯è¯­æˆ–一行文本。",
+       "TEXT_JOIN_TITLE_CREATEWITH": "建立文本从",
+       "TEXT_JOIN_TOOLTIP": "通过串起任æ„æ•°é‡çš„项以建立一段文本。",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "加入",
+       "TEXT_CREATE_JOIN_TOOLTIP": "添加ã€ç§»é™¤æˆ–é‡æ–°æŽ’列å„节æ¥é‡æ–°é…置这个文本å—。",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "将一个项添加到文本中。",
+       "TEXT_APPEND_TITLE": "å‘%1附加文本%2",
+       "TEXT_APPEND_TOOLTIP": "将一些文本追加到å˜é‡â€œ%1â€é‡Œã€‚",
+       "TEXT_LENGTH_TITLE": "%1的长度",
+       "TEXT_LENGTH_TOOLTIP": "返回给定文本的字æ¯æ•°ï¼ˆåŒ…括空格)。",
+       "TEXT_ISEMPTY_TITLE": "%1是空的",
+       "TEXT_ISEMPTY_TOOLTIP": "如果给定的文本为空,则返回真。",
+       "TEXT_INDEXOF_TOOLTIP": "返回第一个文本段在第二个文本段中的第一/最åŽä¸€ä¸ªåŒ¹é…项的起始ä½ç½®ã€‚如果未找到,则返回%1。",
+       "TEXT_INDEXOF_TITLE": "在文本 %1 é‡Œ %2  %3",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "寻找第一次出现的文本",
+       "TEXT_INDEXOF_OPERATOR_LAST": "寻找最åŽä¸€æ¬¡å‡ºçŽ°çš„文本",
+       "TEXT_CHARAT_TITLE": "在文本%1 é‡Œ %2",
+       "TEXT_CHARAT_FROM_START": "获å–字符从#",
+       "TEXT_CHARAT_FROM_END": "获å–字符从倒数#",
+       "TEXT_CHARAT_FIRST": "寻找第一个字æ¯",
+       "TEXT_CHARAT_LAST": "寻找最åŽä¸€ä¸ªå­—æ¯",
+       "TEXT_CHARAT_RANDOM": "寻找éšæœºçš„å­—æ¯",
+       "TEXT_CHARAT_TAIL": "空白",
+       "TEXT_CHARAT_TOOLTIP": "返回ä½äºŽæŒ‡å®šä½ç½®çš„å­—æ¯ã€‚",
+       "TEXT_GET_SUBSTRING_TOOLTIP": "返回文本中指定的一部分。",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "从文本",
+       "TEXT_GET_SUBSTRING_START_FROM_START": "å–å¾—å­ä¸²è‡ª#",
+       "TEXT_GET_SUBSTRING_START_FROM_END": "å–å¾—å­ä¸²è‡ªå€’æ•°#",
+       "TEXT_GET_SUBSTRING_START_FIRST": "å–å¾—å­ä¸²è‡ªç¬¬ä¸€ä¸ªå­—符",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "至字符#",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "到最åŽä¸€ä¸ªå­—符#",
+       "TEXT_GET_SUBSTRING_END_LAST": "到最åŽä¸€ä¸ªå­—符",
+       "TEXT_GET_SUBSTRING_TAIL": "空白",
+       "TEXT_CHANGECASE_TOOLTIP": "用ä¸åŒçš„大å°å†™æ¨¡å¼å¤åˆ¶å¹¶è¿”回这段文字。",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "转为大写",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "转为å°å†™",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": "转为首字æ¯å¤§å†™",
+       "TEXT_TRIM_TOOLTIP": "从æŸä¸€ç«¯æˆ–åŒæ—¶ä»Žä¸¤ç«¯åˆ é™¤å¤šä½™çš„空白,并返回这段文字的一个副本。",
+       "TEXT_TRIM_OPERATOR_BOTH": "消除其两侧的空白",
+       "TEXT_TRIM_OPERATOR_LEFT": "消除其左侧的空白",
+       "TEXT_TRIM_OPERATOR_RIGHT": "消除其å³ä¾§çš„空白",
+       "TEXT_PRINT_TITLE": "输出%1",
+       "TEXT_PRINT_TOOLTIP": "输出指定的文字ã€æ•°å­—或其他值。",
+       "TEXT_PROMPT_TYPE_TEXT": "è¦æ±‚输入文本,并显示æ示消æ¯",
+       "TEXT_PROMPT_TYPE_NUMBER": "è¦æ±‚输入数字,并显示æ示消æ¯",
+       "TEXT_PROMPT_TOOLTIP_NUMBER": "è¦æ±‚用户输入数字。",
+       "TEXT_PROMPT_TOOLTIP_TEXT": "è¦æ±‚用户输入一些文本。",
+       "TEXT_COUNT_MESSAGE0": "计算%1在%2里出现的次数",
+       "TEXT_COUNT_HELPURL": "https://github.com/google/blockly/wiki/Text#counting-substrings",
+       "TEXT_COUNT_TOOLTIP": "计算在一段文本中,æŸä¸ªéƒ¨åˆ†æ–‡æœ¬é‡å¤å‡ºçŽ°äº†å¤šå°‘次。",
+       "TEXT_REPLACE_MESSAGE0": "在%3中,将%1替æ¢ä¸º%2",
+       "TEXT_REPLACE_HELPURL": "https://github.com/google/blockly/wiki/Text#replacing-substrings",
+       "TEXT_REPLACE_TOOLTIP": "在一段文本中,将出现过的æŸéƒ¨åˆ†æ–‡æœ¬éƒ½æ›¿æ¢æŽ‰ã€‚",
+       "TEXT_REVERSE_MESSAGE0": "翻转文本%1",
+       "TEXT_REVERSE_HELPURL": "https://github.com/google/blockly/wiki/Text#reversing-text",
+       "TEXT_REVERSE_TOOLTIP": "将文本中å„个字符的顺åºå€’转。",
+       "LISTS_CREATE_EMPTY_HELPURL": "https://github.com/google/blockly/wiki/Lists#create-empty-list",
+       "LISTS_CREATE_EMPTY_TITLE": "创建空列表",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "返回一个列表,长度为 0,ä¸åŒ…å«ä»»ä½•æ•°æ®è®°å½•",
+       "LISTS_CREATE_WITH_HELPURL": "https://github.com/google/blockly/wiki/Lists#create-list-with",
+       "LISTS_CREATE_WITH_TOOLTIP": "建立一个具有任æ„æ•°é‡é¡¹ç›®çš„列表。",
+       "LISTS_CREATE_WITH_INPUT_WITH": "建立列表从",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "列表",
+       "LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "增加ã€åˆ é™¤æˆ–é‡æ–°æŽ’列å„部分以此é‡æ–°é…置这个列表å—。",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "将一个项添加到列表中。",
+       "LISTS_REPEAT_TOOLTIP": "建立包å«æŒ‡å®šé‡å¤æ¬¡æ•°çš„值的列表。",
+       "LISTS_REPEAT_TITLE": "建立列表使用项 %1 é‡å¤ %2 æ¬¡",
+       "LISTS_LENGTH_TITLE": "%1的长度",
+       "LISTS_LENGTH_TOOLTIP": "返回列表的长度。",
+       "LISTS_ISEMPTY_TITLE": "%1是空的",
+       "LISTS_ISEMPTY_TOOLTIP": "如果改列表为空,则返回真。",
+       "LISTS_INLIST": "在列表中",
+       "LISTS_INDEX_OF_FIRST": "寻找第一次出现的项",
+       "LISTS_INDEX_OF_LAST": "寻找最åŽä¸€æ¬¡å‡ºçŽ°çš„项",
+       "LISTS_INDEX_OF_TOOLTIP": "返回在列表中的第一/最åŽä¸€ä¸ªåŒ¹é…项的索引值。如果找ä¸åˆ°é¡¹ç›®åˆ™è¿”回%1。",
+       "LISTS_GET_INDEX_GET": "å–å¾—",
+       "LISTS_GET_INDEX_GET_REMOVE": "å–得并移除",
+       "LISTS_GET_INDEX_REMOVE": "移除",
+       "LISTS_GET_INDEX_FROM_START": "#",
+       "LISTS_GET_INDEX_FROM_END": "倒数第#",
+       "LISTS_GET_INDEX_FIRST": "第一个",
+       "LISTS_GET_INDEX_LAST": "最åŽä¸€ä¸ª",
+       "LISTS_GET_INDEX_RANDOM": "éšæœºçš„",
+       "LISTS_GET_INDEX_TAIL": "空白",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "%1是第一项。",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "%1是最åŽä¸€é¡¹ã€‚",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "返回在列表中的指定ä½ç½®çš„项。",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "返回列表中的第一项。",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "返回列表中的最åŽä¸€é¡¹ã€‚",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "返回列表中的éšæœºä¸€é¡¹ã€‚",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "移除并返回列表中的指定ä½ç½®çš„项。",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "移除并返回列表中的第一项。",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "移除并返回列表中的最åŽä¸€é¡¹ã€‚",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "移除并返回列表中的éšæœºä¸€é¡¹ã€‚",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "移除在列表中的指定ä½ç½®çš„项。",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "移除列表中的第一项",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "移除列表中的最åŽä¸€é¡¹",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "删除列表中的éšæœºä¸€é¡¹ã€‚",
+       "LISTS_SET_INDEX_SET": "设置",
+       "LISTS_SET_INDEX_INSERT": "æ’入在",
+       "LISTS_SET_INDEX_INPUT_TO": "值为",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "设置在列表中指定ä½ç½®çš„项。",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "设置列表中的第一项。",
+       "LISTS_SET_INDEX_TOOLTIP_SET_LAST": "设置列表中的最åŽä¸€é¡¹ã€‚",
+       "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "设置列表中的éšæœºä¸€é¡¹ã€‚",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "æ’入在列表中指定ä½ç½®çš„项。",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "在列表的起始处添加该项。",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "在列表的末尾处添加该项。",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "在列表的éšæœºä½ç½®æ’入该项。",
+       "LISTS_GET_SUBLIST_START_FROM_START": "获å–å­åˆ—表从#",
+       "LISTS_GET_SUBLIST_START_FROM_END": "获å–å­åˆ—表从最åŽä¸€ä¸ª#",
+       "LISTS_GET_SUBLIST_START_FIRST": "获å–å­åˆ—表从第一个",
+       "LISTS_GET_SUBLIST_END_FROM_START": "到#",
+       "LISTS_GET_SUBLIST_END_FROM_END": "到倒数第#",
+       "LISTS_GET_SUBLIST_END_LAST": "到最åŽ",
+       "LISTS_GET_SUBLIST_TAIL": "空白",
+       "LISTS_GET_SUBLIST_TOOLTIP": "å¤åˆ¶åˆ—表中指定的部分。",
+       "LISTS_SORT_HELPURL": "https://github.com/google/blockly/wiki/Lists#sorting-a-list",
+       "LISTS_SORT_TITLE": "排åº%1 %2 %3",
+       "LISTS_SORT_TOOLTIP": "排åºä¸€ä¸ªåˆ—表的拷è´ã€‚",
+       "LISTS_SORT_ORDER_ASCENDING": "å‡åº",
+       "LISTS_SORT_ORDER_DESCENDING": "é™åº",
+       "LISTS_SORT_TYPE_NUMERIC": "按数字排åº",
+       "LISTS_SORT_TYPE_TEXT": "按字æ¯æŽ’åº",
+       "LISTS_SORT_TYPE_IGNORECASE": "按字æ¯æŽ’åºï¼Œå¿½ç•¥å¤§å°å†™",
+       "LISTS_SPLIT_HELPURL": "https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists",
+       "LISTS_SPLIT_LIST_FROM_TEXT": "从文本制作列表",
+       "LISTS_SPLIT_TEXT_FROM_LIST": "从列表拆出文本",
+       "LISTS_SPLIT_WITH_DELIMITER": "用分隔符",
+       "LISTS_SPLIT_TOOLTIP_SPLIT": "拆分文本到文本列表,按æ¯ä¸ªåˆ†éš”符拆分。",
+       "LISTS_SPLIT_TOOLTIP_JOIN": "加入文本列表至一个文本,由分隔符分隔。",
+       "LISTS_REVERSE_HELPURL": "https://github.com/google/blockly/wiki/Lists#reversing-a-list",
+       "LISTS_REVERSE_MESSAGE0": "倒转%1",
+       "LISTS_REVERSE_TOOLTIP": "倒转一个列表的拷è´ã€‚",
+       "ORDINAL_NUMBER_SUFFIX": "空白",
+       "VARIABLES_GET_TOOLTIP": "返回此å˜é‡çš„值。",
+       "VARIABLES_GET_CREATE_SET": "创建“设定%1â€",
+       "VARIABLES_SET": "赋值 %1 ä¸º %2",
+       "VARIABLES_SET_TOOLTIP": "设置此å˜é‡ï¼Œä»¥ä½¿å®ƒå’Œè¾“入值相等。",
+       "VARIABLES_SET_CREATE_GET": "创建“获得%1â€",
+       "PROCEDURES_DEFNORETURN_HELPURL": "https://zh.wikipedia.org/wiki/å­ç¨‹åº",
+       "PROCEDURES_DEFNORETURN_TITLE": "至",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "åšç‚¹ä»€ä¹ˆ",
+       "PROCEDURES_BEFORE_PARAMS": "与:",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "与:",
+       "PROCEDURES_DEFNORETURN_DO": "空白",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "创建一个ä¸å¸¦è¾“出值的函数。",
+       "PROCEDURES_DEFNORETURN_COMMENT": "æ述该功能...",
+       "PROCEDURES_DEFRETURN_HELPURL": "https://zh.wikipedia.org/wiki/å­ç¨‹åº",
+       "PROCEDURES_DEFRETURN_RETURN": "返回",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "创建一个有输出值的函数。",
+       "PROCEDURES_ALLOW_STATEMENTS": "å…许声明",
+       "PROCEDURES_DEF_DUPLICATE_WARNING": "警告:此函数具有é‡å¤å‚数。",
+       "PROCEDURES_CALLNORETURN_HELPURL": "https://zh.wikipedia.org/wiki/å­ç¨‹åº",
+       "PROCEDURES_CALLNORETURN_TOOLTIP": "è¿è¡Œç”¨æˆ·å®šä¹‰çš„函数“%1â€ã€‚",
+       "PROCEDURES_CALLRETURN_HELPURL": "https://zh.wikipedia.org/wiki/å­ç¨‹åº",
+       "PROCEDURES_CALLRETURN_TOOLTIP": "è¿è¡Œç”¨æˆ·å®šä¹‰çš„函数“%1â€ï¼Œå¹¶ä½¿ç”¨å®ƒçš„输出值。",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "输入",
+       "PROCEDURES_MUTATORCONTAINER_TOOLTIP": "添加ã€ç§»é™¤æˆ–é‡æ–°æŽ’此函数的输入。",
+       "PROCEDURES_MUTATORARG_TITLE": "输入å称:",
+       "PROCEDURES_MUTATORARG_TOOLTIP": "添加函数输入。",
+       "PROCEDURES_HIGHLIGHT_DEF": "çªå‡ºæ˜¾ç¤ºå‡½æ•°å®šä¹‰",
+       "PROCEDURES_CREATE_DO": "创建“%1â€",
+       "PROCEDURES_IFRETURN_TOOLTIP": "如果值为真,则返回第二个值。",
+       "PROCEDURES_IFRETURN_HELPURL": "http://c2.com/cgi/wiki?GuardClause",
+       "PROCEDURES_IFRETURN_WARNING": "警告:这个å—åªèƒ½åœ¨å‡½æ•°å†…部使用。",
+       "WORKSPACE_COMMENT_DEFAULT_TEXT": "说点什么..."
+}
diff --git a/js/msg/json/zh-hant.json b/js/msg/json/zh-hant.json
new file mode 100644 (file)
index 0000000..629dc40
--- /dev/null
@@ -0,0 +1,356 @@
+{
+       "@metadata": {
+               "authors": [
+                       "Gasolin",
+                       "Wehwei",
+                       "Liuxinyu970226",
+                       "LNDDYL",
+                       "Cwlin0416",
+                       "Kasimtan",
+                       "Kly",
+                       "Dnowba",
+                       "Dnow",
+                       "和平至上",
+                       "Jessica1213"
+               ]
+       },
+       "VARIABLES_DEFAULT_NAME": "é …ç›®",
+       "TODAY": "今天",
+       "DUPLICATE_BLOCK": "複製",
+       "ADD_COMMENT": "加入註解",
+       "REMOVE_COMMENT": "移除註解",
+       "DUPLICATE_COMMENT": "é‡è¤‡è¨»è§£",
+       "EXTERNAL_INPUTS": "外部輸入",
+       "INLINE_INPUTS": "單行輸入",
+       "DELETE_BLOCK": "刪除å€å¡Š",
+       "DELETE_X_BLOCKS": "刪除%1個ç©æœ¨",
+       "DELETE_ALL_BLOCKS": "刪除全部 %1 å€‹å€å¡Šï¼Ÿ",
+       "CLEAN_UP": "æ•´ç†ç©æœ¨",
+       "COLLAPSE_BLOCK": "收åˆå€å¡Š",
+       "COLLAPSE_ALL": "收åˆç©æœ¨",
+       "EXPAND_BLOCK": "展開å€å¡Š",
+       "EXPAND_ALL": "展開ç©æœ¨",
+       "DISABLE_BLOCK": "åœç”¨å€å¡Š",
+       "ENABLE_BLOCK": "啟用ç©æœ¨",
+       "HELP": "說明",
+       "UNDO": "還原",
+       "REDO": "é‡åš",
+       "CHANGE_VALUE_TITLE": "修改值:",
+       "RENAME_VARIABLE": "é‡æ–°å‘½å變數...",
+       "RENAME_VARIABLE_TITLE": "將所有「%1ã€è®Šæ•¸é‡æ–°å‘½å為:",
+       "NEW_VARIABLE": "建立變數…",
+       "NEW_STRING_VARIABLE": "建立字串變數...",
+       "NEW_NUMBER_VARIABLE": "建立數字變數...",
+       "NEW_COLOUR_VARIABLE": "建立é¡è‰²è®Šæ•¸...",
+       "NEW_VARIABLE_TYPE_TITLE": "新變數類型:",
+       "NEW_VARIABLE_TITLE": "新變數å稱:",
+       "VARIABLE_ALREADY_EXISTS": "已存在變數「%1ã€ã€‚",
+       "VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE": "已存在å為「%1ã€ä¸”用於其它類型「%2ã€çš„變數。",
+       "DELETE_VARIABLE_CONFIRMATION": "刪除%1使用的「%2ã€è®Šæ•¸ï¼Ÿ",
+       "CANNOT_DELETE_VARIABLE_PROCEDURE": "無法刪除變數「%1ã€ï¼Œå› ç‚ºé€™æ˜¯åŠŸèƒ½ã€Œ%2ã€å®šç¾©çš„一部份內容",
+       "DELETE_VARIABLE": "刪除變數「%1ã€",
+       "COLOUR_PICKER_HELPURL": "https://zh.wikipedia.org/wiki/é¡è‰²",
+       "COLOUR_PICKER_TOOLTIP": "從調色æ¿ä¸­é¸æ“‡ä¸€ç¨®é¡è‰²ã€‚",
+       "COLOUR_RANDOM_TITLE": "隨機é¡è‰²",
+       "COLOUR_RANDOM_TOOLTIP": "隨機é¸æ“‡ä¸€ç¨®é¡è‰²ã€‚",
+       "COLOUR_RGB_TITLE": "é¡è‰²",
+       "COLOUR_RGB_RED": "ç´…",
+       "COLOUR_RGB_GREEN": "綠",
+       "COLOUR_RGB_BLUE": "è—",
+       "COLOUR_RGB_TOOLTIP": "é€éŽæŒ‡å®šç´…ã€ç¶ ã€ è—色的值來建立一種é¡è‰²ã€‚所有的值必須介於 0 å’Œ 100 ä¹‹é–“。",
+       "COLOUR_BLEND_TITLE": "æ··åˆ",
+       "COLOUR_BLEND_COLOUR1": "é¡è‰² 1",
+       "COLOUR_BLEND_COLOUR2": "é¡è‰² 2",
+       "COLOUR_BLEND_RATIO": "比例",
+       "COLOUR_BLEND_TOOLTIP": "用一個給定的比率(0.0-1.0)混åˆå…©ç¨®é¡è‰²ã€‚",
+       "CONTROLS_REPEAT_HELPURL": "https://zh.wikipedia.org/wiki/For迴圈",
+       "CONTROLS_REPEAT_TITLE": "é‡è¤‡%1次",
+       "CONTROLS_REPEAT_INPUT_DO": "執行",
+       "CONTROLS_REPEAT_TOOLTIP": "é‡è¤‡åŸ·è¡ŒæŒ‡å®šçš„陳述å¼å¤šæ¬¡ã€‚",
+       "CONTROLS_WHILEUNTIL_OPERATOR_WHILE": "é‡è¤‡ ç•¶",
+       "CONTROLS_WHILEUNTIL_OPERATOR_UNTIL": "é‡è¤‡ç›´åˆ°",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_WHILE": "當值為 true æ™‚,執行一些陳述å¼ã€‚",
+       "CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL": "當值為 false æ™‚,執行一些陳述å¼ã€‚",
+       "CONTROLS_FOR_TOOLTIP": "從起始數到çµå°¾æ•¸ä¸­å–出變數「%1ã€çš„值,按指定的時間間隔,執行指定的å€å¡Šã€‚",
+       "CONTROLS_FOR_TITLE": "循環計數 %1 å¾ž %2 åˆ° %3 é–“隔數 %4",
+       "CONTROLS_FOREACH_TITLE": "å–出æ¯å€‹ %1 è‡ªæ¸…å–® %2",
+       "CONTROLS_FOREACH_TOOLTIP": "éæ­·æ¯å€‹æ¸…單中的項目,將變數「%1ã€è¨­å®šåˆ°è©²é …目中,然後執行æŸäº›é™³è¿°å¼ã€‚",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK": "中斷循環",
+       "CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE": "繼續下一個循環",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK": "中斷當å‰çš„循環。",
+       "CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE": "è·³éŽé€™å€‹å¾ªç’°çš„其餘步驟,並繼續下一次的循環。",
+       "CONTROLS_FLOW_STATEMENTS_WARNING": "警告:此å€å¡Šåƒ…å¯ç”¨æ–¼è¿´åœˆå…§ã€‚",
+       "CONTROLS_IF_TOOLTIP_1": "當值為 true æ™‚,執行一些陳述å¼ã€‚",
+       "CONTROLS_IF_TOOLTIP_2": "當值為 true æ™‚,執行第一個陳述å¼ã€‚å¦å‰‡ï¼ŒåŸ·è¡Œç¬¬äºŒå€‹é™³è¿°å¼ã€‚",
+       "CONTROLS_IF_TOOLTIP_3": "如果第一個值為 true,則執行第一個陳述å¼ã€‚å¦å‰‡ï¼Œç•¶ç¬¬äºŒå€‹å€¼ç‚º true æ™‚,則執行第二個陳述å¼ã€‚",
+       "CONTROLS_IF_TOOLTIP_4": "如果第一個值為 true,則執行第一個陳述å¼ã€‚å¦å‰‡ç•¶ç¬¬äºŒå€‹å€¼ç‚º true æ™‚,則執行第二個陳述å¼ã€‚如果å‰å¹¾å€‹æ•˜è¿°éƒ½ä¸ç‚º ture,則執行最後一個陳述å¼ã€‚",
+       "CONTROLS_IF_MSG_IF": "如果",
+       "CONTROLS_IF_MSG_ELSEIF": "å¦å‰‡å¦‚æžœ",
+       "CONTROLS_IF_MSG_ELSE": "å¦å‰‡",
+       "CONTROLS_IF_IF_TOOLTIP": "添加ã€åˆªé™¤æˆ–é‡æ–°æŽ’列å„部份以é‡æ–°é…置這個「如果ã€å€å¡Šã€‚",
+       "CONTROLS_IF_ELSEIF_TOOLTIP": "添加æ¢ä»¶åˆ°ã€Œå¦‚æžœã€ç©æœ¨ã€‚",
+       "CONTROLS_IF_ELSE_TOOLTIP": "加入一個最終ã€æ‰€æœ‰æ¢ä»¶éƒ½åŸ·è¡Œçš„部份到「如果ã€å€å¡Šä¸­ã€‚",
+       "IOS_OK": "確定",
+       "IOS_CANCEL": "å–消",
+       "IOS_ERROR": "錯誤",
+       "IOS_PROCEDURES_INPUTS": "輸入",
+       "IOS_PROCEDURES_ADD_INPUT": "+ æ·»åŠ è¼¸å…¥",
+       "IOS_PROCEDURES_ALLOW_STATEMENTS": "å…許è²æ˜Ž",
+       "IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR": "此功能有é‡è¤‡è¼¸å…¥å…§å®¹ã€‚",
+       "IOS_VARIABLES_ADD_VARIABLE": "+ æ·»åŠ è®Šæ•¸",
+       "IOS_VARIABLES_ADD_BUTTON": "添加",
+       "IOS_VARIABLES_RENAME_BUTTON": "é‡æ–°å‘½å",
+       "IOS_VARIABLES_DELETE_BUTTON": "刪除",
+       "IOS_VARIABLES_VARIABLE_NAME": "變數å稱",
+       "IOS_VARIABLES_EMPTY_NAME_ERROR": "您ä¸èƒ½ä½¿ç”¨ä¸å¸¶å的變數å稱。",
+       "LOGIC_COMPARE_HELPURL": "https://zh.wikipedia.org/wiki/ä¸ç­‰",
+       "LOGIC_COMPARE_TOOLTIP_EQ": "如果這兩個輸入å€å¡Šçš„çµæžœç›¸ç­‰ï¼Œè¿”回 true。",
+       "LOGIC_COMPARE_TOOLTIP_NEQ": "如果這兩個輸入å€å¡Šçš„çµæžœä¸ç›¸ç­‰ï¼Œè¿”回 true。",
+       "LOGIC_COMPARE_TOOLTIP_LT": "如果第一個輸入çµæžœæ¯”第二個å°ï¼Œè¿”回 true。",
+       "LOGIC_COMPARE_TOOLTIP_LTE": "如果第一個輸入çµæžœå°æ–¼æˆ–等於第二個,返回 true。",
+       "LOGIC_COMPARE_TOOLTIP_GT": "如果第一個輸入çµæžœå¤§æ–¼ç¬¬äºŒå€‹ï¼Œè¿”回 true。",
+       "LOGIC_COMPARE_TOOLTIP_GTE": "如果第一個輸入çµæžœå¤§æ–¼æˆ–等於第二個,返回 true。",
+       "LOGIC_OPERATION_TOOLTIP_AND": "如果兩個輸入çµæžœéƒ½ç‚º true,則返回 true。",
+       "LOGIC_OPERATION_AND": "且",
+       "LOGIC_OPERATION_TOOLTIP_OR": "如果至少一個輸入çµæžœç‚º true,返回 true。",
+       "LOGIC_OPERATION_OR": "或",
+       "LOGIC_NEGATE_TITLE": "%1 ä¸æˆç«‹",
+       "LOGIC_NEGATE_TOOLTIP": "如果輸入çµæžœæ˜¯ false,則返回 true。如果輸入çµæžœæ˜¯ true,則返回 false。",
+       "LOGIC_BOOLEAN_TRUE": "真",
+       "LOGIC_BOOLEAN_FALSE": "å‡",
+       "LOGIC_BOOLEAN_TOOLTIP": "返回真或å‡ã€‚",
+       "LOGIC_NULL": "空",
+       "LOGIC_NULL_TOOLTIP": "返回空值。",
+       "LOGIC_TERNARY_HELPURL": "https://zh.wikipedia.org/wiki/æ¢ä»¶é‹ç®—符",
+       "LOGIC_TERNARY_CONDITION": "測試",
+       "LOGIC_TERNARY_IF_TRUE": "如果為真",
+       "LOGIC_TERNARY_IF_FALSE": "如果為å‡",
+       "LOGIC_TERNARY_TOOLTIP": "檢查「測試ã€ä¸­çš„æ¢ä»¶ã€‚如果æ¢ä»¶ç‚ºçœŸï¼Œå°‡è¿”回「如果為真ã€çš„值;å¦å‰‡ï¼Œè¿”回「如果為å‡ã€çš„值。",
+       "MATH_NUMBER_HELPURL": "https://zh.wikipedia.org/wiki/數",
+       "MATH_NUMBER_TOOLTIP": "一個數字。",
+       "MATH_ARITHMETIC_HELPURL": "https://zh.wikipedia.org/wiki/ç®—è¡“",
+       "MATH_ARITHMETIC_TOOLTIP_ADD": "返回兩個數字的總和。",
+       "MATH_ARITHMETIC_TOOLTIP_MINUS": "返回兩個數字的差。",
+       "MATH_ARITHMETIC_TOOLTIP_MULTIPLY": "返回兩個數字的乘ç©ã€‚",
+       "MATH_ARITHMETIC_TOOLTIP_DIVIDE": "返回兩個數字的商。",
+       "MATH_ARITHMETIC_TOOLTIP_POWER": "返回第二個數字的指數的第一個數字。",
+       "MATH_SINGLE_HELPURL": "https://zh.wikipedia.org/wiki/平方根",
+       "MATH_SINGLE_OP_ROOT": "開根號",
+       "MATH_SINGLE_TOOLTIP_ROOT": "返回指定數字的平方根。",
+       "MATH_SINGLE_OP_ABSOLUTE": "絕å°å€¼",
+       "MATH_SINGLE_TOOLTIP_ABS": "返回指定數字的絕å°å€¼ã€‚",
+       "MATH_SINGLE_TOOLTIP_NEG": "返回指定數字的 negation。",
+       "MATH_SINGLE_TOOLTIP_LN": "返回指定數字的自然å°æ•¸ã€‚",
+       "MATH_SINGLE_TOOLTIP_LOG10": "返回指定數字的å°æ•¸ã€‚",
+       "MATH_SINGLE_TOOLTIP_EXP": "返回指定數字指數的 e",
+       "MATH_SINGLE_TOOLTIP_POW10": "返回指定數字指數的10的冪次。",
+       "MATH_TRIG_HELPURL": "https://zh.wikipedia.org/wiki/三角函數",
+       "MATH_TRIG_TOOLTIP_SIN": "返回指定角度的正弦值(éžå¼§åº¦ï¼‰ã€‚",
+       "MATH_TRIG_TOOLTIP_COS": "返回指定角度的餘弦值(éžå¼§åº¦ï¼‰ã€‚",
+       "MATH_TRIG_TOOLTIP_TAN": "返回指定角度的正切值(éžå¼§åº¦ï¼‰ã€‚",
+       "MATH_TRIG_TOOLTIP_ASIN": "返回指定角度的å正弦值(éžå¼§åº¦ï¼‰ã€‚",
+       "MATH_TRIG_TOOLTIP_ACOS": "返回指定角度的å餘弦值(éžå¼§åº¦ï¼‰ã€‚",
+       "MATH_TRIG_TOOLTIP_ATAN": "返回指定角度的å正切值。",
+       "MATH_CONSTANT_HELPURL": "https://zh.wikipedia.org/wiki/數學常數",
+       "MATH_CONSTANT_TOOLTIP": "返回一個的常見常é‡ï¼š Ï€ (3.141......),e (2.718...)〠φ (1.618...)〠開方(2) (1.414......)〠開方(½) (0.707......) æˆ– âˆž ï¼ˆç„¡çª®å¤§ï¼‰ã€‚",
+       "MATH_IS_EVEN": "是å¶æ•¸",
+       "MATH_IS_ODD": "是奇數",
+       "MATH_IS_PRIME": "是質數",
+       "MATH_IS_WHOLE": "是éžè² æ•´æ•¸",
+       "MATH_IS_POSITIVE": "是正值",
+       "MATH_IS_NEGATIVE": "是負值",
+       "MATH_IS_DIVISIBLE_BY": "å¯è¢«æ•´é™¤",
+       "MATH_IS_TOOLTIP": "如果數字是å¶æ•¸ï¼Œå¥‡æ•¸ï¼Œéžè² æ•´æ•¸ï¼Œæ­£æ•¸ã€ è² æ•¸ï¼Œæˆ–如果它是å¯è¢«æŸæ•¸å­—整除,則返回 true æˆ– false。",
+       "MATH_CHANGE_HELPURL": "https://zh.wikipedia.org/wiki/加法",
+       "MATH_CHANGE_TITLE": "修改 %1 è‡ª %2",
+       "MATH_CHANGE_TOOLTIP": "將數字加到變數「%1ã€ã€‚",
+       "MATH_ROUND_HELPURL": "https://zh.wikipedia.org/wiki/數值簡化",
+       "MATH_ROUND_TOOLTIP": "將數字無æ¢ä»¶é€²ä½æˆ–ç„¡æ¢ä»¶æ¨åŽ»ã€‚",
+       "MATH_ROUND_OPERATOR_ROUND": "å››æ¨äº”å…¥",
+       "MATH_ROUND_OPERATOR_ROUNDUP": "ç„¡æ¢ä»¶é€²ä½",
+       "MATH_ROUND_OPERATOR_ROUNDDOWN": "ç„¡æ¢ä»¶æ¨åŽ»",
+       "MATH_ONLIST_OPERATOR_SUM": "數字總和 è‡ªæ¸…å–®",
+       "MATH_ONLIST_TOOLTIP_SUM": "返回清單中的所有數字的總和。",
+       "MATH_ONLIST_OPERATOR_MIN": "最å°å€¼ è‡ªæ¸…å–®",
+       "MATH_ONLIST_TOOLTIP_MIN": "返回清單項目中最å°çš„數字。",
+       "MATH_ONLIST_OPERATOR_MAX": "最大值 è‡ªæ¸…å–®",
+       "MATH_ONLIST_TOOLTIP_MAX": "返回清單項目中最大的數字。",
+       "MATH_ONLIST_OPERATOR_AVERAGE": "å¹³å‡æ•¸ è‡ªæ¸…å–®",
+       "MATH_ONLIST_TOOLTIP_AVERAGE": "返回清單中數值的平å‡å€¼ï¼ˆç®—è¡“å¹³å‡å€¼ï¼‰ã€‚",
+       "MATH_ONLIST_OPERATOR_MEDIAN": "中ä½æ•¸ è‡ªæ¸…å–®",
+       "MATH_ONLIST_TOOLTIP_MEDIAN": "返回清單中數值的中ä½æ•¸ã€‚",
+       "MATH_ONLIST_OPERATOR_MODE": "比較眾數 è‡ªæ¸…å–®",
+       "MATH_ONLIST_TOOLTIP_MODE": "返回一個清單中的最常見的項目。",
+       "MATH_ONLIST_OPERATOR_STD_DEV": "標準差 è‡ªæ¸…å–®",
+       "MATH_ONLIST_TOOLTIP_STD_DEV": "返回清單中數字的標準差。",
+       "MATH_ONLIST_OPERATOR_RANDOM": "隨機抽喠自清單",
+       "MATH_ONLIST_TOOLTIP_RANDOM": "從清單中返回一個隨機的項目。",
+       "MATH_MODULO_HELPURL": "https://zh.wikipedia.org/wiki/模除",
+       "MATH_MODULO_TITLE": "%1 é™¤ä»¥ %2 çš„餘數",
+       "MATH_MODULO_TOOLTIP": "回傳兩個數字相除的餘數。",
+       "MATH_CONSTRAIN_TITLE": "é™åˆ¶æ•¸å­— %1 ä»‹æ–¼ï¼ˆä½Žï¼‰%2 åˆ°ï¼ˆé«˜ï¼‰%3",
+       "MATH_CONSTRAIN_TOOLTIP": "é™åˆ¶æ•¸å­—介於兩個指定的數字之間(包å«ï¼‰ã€‚",
+       "MATH_RANDOM_INT_HELPURL": "https://zh.wikipedia.org/wiki/隨機數生æˆå™¨",
+       "MATH_RANDOM_INT_TITLE": "隨機å–數 %1 åˆ° %2",
+       "MATH_RANDOM_INT_TOOLTIP": "在指定二個數之間隨機å–一個數(包å«ï¼‰ã€‚",
+       "MATH_RANDOM_FLOAT_HELPURL": "https://zh.wikipedia.org/wiki/隨機數生æˆå™¨",
+       "MATH_RANDOM_FLOAT_TITLE_RANDOM": "隨機å–分數",
+       "MATH_RANDOM_FLOAT_TOOLTIP": "在 0.0(包å«ï¼‰å’Œ 1.0(ä¸åŒ…å«ï¼‰ä¹‹é–“隨機å–一個數。",
+       "TEXT_TEXT_HELPURL": "https://zh.wikipedia.org/wiki/字串",
+       "TEXT_TEXT_TOOLTIP": "一個字元ã€ä¸€å€‹å–®è©žï¼Œæˆ–一串文字。",
+       "TEXT_JOIN_TITLE_CREATEWITH": "字串組åˆ",
+       "TEXT_JOIN_TOOLTIP": "通éŽé€£æŽ¥ä»»æ„數é‡çš„項目來建立一串文字。",
+       "TEXT_CREATE_JOIN_TITLE_JOIN": "加入",
+       "TEXT_CREATE_JOIN_TOOLTIP": "添加ã€åˆªé™¤æˆ–é‡æ–°æŽ’列å„部份以é‡æ–°é…置這個文字å€å¡Šã€‚",
+       "TEXT_CREATE_JOIN_ITEM_TOOLTIP": "添加一個項目到字串中。",
+       "TEXT_APPEND_TITLE": "至 %1 å¥—用文字 %2",
+       "TEXT_APPEND_TOOLTIP": "添加一些文字到變數「%1ã€ä¹‹å¾Œã€‚",
+       "TEXT_LENGTH_TITLE": "長度 %1",
+       "TEXT_LENGTH_TOOLTIP": "返回這串文字的字元數(包å«ç©ºæ ¼ï¼‰ã€‚",
+       "TEXT_ISEMPTY_TITLE": "%1 ç‚ºç©º",
+       "TEXT_ISEMPTY_TOOLTIP": "如果æ供的字串為空,則返回 true。",
+       "TEXT_INDEXOF_TOOLTIP": "在字串1中檢索是å¦æœ‰åŒ…å«å­—串2,如果有,返回從頭/倒數算起的索引值。如果沒有則返回 %1。",
+       "TEXT_INDEXOF_TITLE": "在文字 %1 %2 %3",
+       "TEXT_INDEXOF_OPERATOR_FIRST": "從 æœ€å‰é¢ ç´¢å¼•å­—串",
+       "TEXT_INDEXOF_OPERATOR_LAST": "從 æœ€å¾Œé¢ ç´¢å¼•å­—串",
+       "TEXT_CHARAT_TITLE": "在文字 %1 %2",
+       "TEXT_CHARAT_FROM_START": "å–å¾— å­—å…ƒ #",
+       "TEXT_CHARAT_FROM_END": "å–å¾— å€’數第 # å€‹å­—å…ƒ",
+       "TEXT_CHARAT_FIRST": "å–å¾— ç¬¬ä¸€å€‹å­—å…ƒ",
+       "TEXT_CHARAT_LAST": "å–å¾— æœ€å¾Œä¸€å€‹å­—å…ƒ",
+       "TEXT_CHARAT_RANDOM": "å–å¾— ä»»æ„å­—å…ƒ",
+       "TEXT_CHARAT_TOOLTIP": "返回ä½æ–¼æŒ‡å®šä½ç½®çš„字元。",
+       "TEXT_GET_SUBSTRING_TOOLTIP": "返回指定的部分文字。",
+       "TEXT_GET_SUBSTRING_INPUT_IN_TEXT": "在字串",
+       "TEXT_GET_SUBSTRING_START_FROM_START": "å–å¾— å­—å…ƒ #",
+       "TEXT_GET_SUBSTRING_START_FROM_END": "å–å¾— å€’數第 # å€‹å­—å…ƒ",
+       "TEXT_GET_SUBSTRING_START_FIRST": "å–å¾— ç¬¬ä¸€å€‹å­—å…ƒ",
+       "TEXT_GET_SUBSTRING_END_FROM_START": "到 å­—å…ƒ #",
+       "TEXT_GET_SUBSTRING_END_FROM_END": "到 å€’數第 # å€‹å­—å…ƒ",
+       "TEXT_GET_SUBSTRING_END_LAST": "到 æœ€å¾Œä¸€å€‹å­—å…ƒ",
+       "TEXT_CHANGECASE_TOOLTIP": "使用ä¸åŒçš„大å°å¯«è¤‡è£½é€™æ®µæ–‡å­—。",
+       "TEXT_CHANGECASE_OPERATOR_UPPERCASE": "轉戠英文大寫",
+       "TEXT_CHANGECASE_OPERATOR_LOWERCASE": "轉戠英文å°å¯«",
+       "TEXT_CHANGECASE_OPERATOR_TITLECASE": "轉戠英文首字大寫",
+       "TEXT_TRIM_TOOLTIP": "複製這段文字,åŒæ™‚刪除兩端多餘的空格。",
+       "TEXT_TRIM_OPERATOR_BOTH": "消除兩å´ç©ºæ ¼",
+       "TEXT_TRIM_OPERATOR_LEFT": "消除左å´ç©ºæ ¼",
+       "TEXT_TRIM_OPERATOR_RIGHT": "消除å³å´ç©ºæ ¼",
+       "TEXT_PRINT_TITLE": "輸出 %1",
+       "TEXT_PRINT_TOOLTIP": "輸出指定的文字〠數字或其他值。",
+       "TEXT_PROMPT_TYPE_TEXT": "輸入 æ–‡å­— ä¸¦é¡¯ç¤ºæ示訊æ¯",
+       "TEXT_PROMPT_TYPE_NUMBER": "輸入 æ•¸å­— ä¸¦é¡¯ç¤ºæ示訊æ¯",
+       "TEXT_PROMPT_TOOLTIP_NUMBER": "輸入數字",
+       "TEXT_PROMPT_TOOLTIP_TEXT": "輸入文字",
+       "TEXT_COUNT_MESSAGE0": "在%2計算%1",
+       "TEXT_COUNT_HELPURL": "https://github.com/google/blockly/wiki/Text#counting-substrings",
+       "TEXT_COUNT_TOOLTIP": "計算æŸäº›æ–‡å­—在內容裡的出ç¾æ¬¡æ•¸ã€‚",
+       "TEXT_REPLACE_MESSAGE0": "在%3以%2å–代%1",
+       "TEXT_REPLACE_HELPURL": "https://github.com/google/blockly/wiki/Text#replacing-substrings",
+       "TEXT_REPLACE_TOOLTIP": "å–代在內容裡的全部æŸäº›æ–‡å­—。",
+       "TEXT_REVERSE_MESSAGE0": "å轉%1",
+       "TEXT_REVERSE_HELPURL": "https://github.com/google/blockly/wiki/Text#reversing-text",
+       "TEXT_REVERSE_TOOLTIP": "å轉排åºåœ¨æ–‡å­—裡的字元。",
+       "LISTS_CREATE_EMPTY_TITLE": "建立空的清單",
+       "LISTS_CREATE_EMPTY_TOOLTIP": "返回一個長度(項目數é‡ï¼‰ç‚º 0 çš„清單,ä¸åŒ…å«ä»»ä½•è³‡æ–™è¨˜éŒ„",
+       "LISTS_CREATE_WITH_TOOLTIP": "建立一個具備任æ„數é‡é …目的清單。",
+       "LISTS_CREATE_WITH_INPUT_WITH": "使用這些值建立清單",
+       "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "清單",
+       "LISTS_CREATE_WITH_CONTAINER_TOOLTIP": "添加ã€åˆªé™¤æˆ–é‡æ–°æŽ’列å„部份以é‡æ–°é…置這個清單å€å¡Šã€‚",
+       "LISTS_CREATE_WITH_ITEM_TOOLTIP": "添加一個項目到清單裡。",
+       "LISTS_REPEAT_TOOLTIP": "建立一個清單,項目中包å«æŒ‡å®šé‡è¤‡æ¬¡æ•¸çš„值。",
+       "LISTS_REPEAT_TITLE": "建立清單使用項目 %1 é‡è¤‡ %2 æ¬¡",
+       "LISTS_LENGTH_TITLE": "長度 %1",
+       "LISTS_LENGTH_TOOLTIP": "返回清單的長度(項目數)。",
+       "LISTS_ISEMPTY_TITLE": "%1 å€¼ç‚ºç©º",
+       "LISTS_ISEMPTY_TOOLTIP": "如果該清單為空,則返回 true。",
+       "LISTS_INLIST": "自清單",
+       "LISTS_INDEX_OF_FIRST": "從 æœ€å‰é¢ ç´¢å¼•é …ç›®",
+       "LISTS_INDEX_OF_LAST": "從 æœ€å¾Œé¢ ç´¢å¼•é …ç›®",
+       "LISTS_INDEX_OF_TOOLTIP": "在清單中檢索是å¦æœ‰åŒ…å«é …目,如果有,返回從頭/倒數算起的索引值。如果沒有則返回 %1。",
+       "LISTS_GET_INDEX_GET": "å–å¾—",
+       "LISTS_GET_INDEX_GET_REMOVE": "å–得並移除",
+       "LISTS_GET_INDEX_REMOVE": "移除",
+       "LISTS_GET_INDEX_FROM_END": "倒數第 # ç­†",
+       "LISTS_GET_INDEX_FIRST": "第一筆",
+       "LISTS_GET_INDEX_LAST": "最後一筆",
+       "LISTS_GET_INDEX_RANDOM": "隨機",
+       "LISTS_INDEX_FROM_START_TOOLTIP": "%1 æ˜¯ç¬¬ä¸€å€‹é …目。",
+       "LISTS_INDEX_FROM_END_TOOLTIP": "%1 æ˜¯æœ€å¾Œä¸€å€‹é …目。",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FROM": "返回在清單中指定ä½ç½®çš„項目。",
+       "LISTS_GET_INDEX_TOOLTIP_GET_FIRST": "返回清單中的第一個項目。",
+       "LISTS_GET_INDEX_TOOLTIP_GET_LAST": "返回清單中的最後一個項目。",
+       "LISTS_GET_INDEX_TOOLTIP_GET_RANDOM": "返回清單中隨機一個項目。",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM": "移除並返回清單中的指定ä½ç½®çš„項目。",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST": "移除並返回清單中的第一個項目。",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST": "移除並返回清單中的最後一個項目。",
+       "LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM": "移除並返回清單中的隨機項目。",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM": "移除在清單中指定ä½ç½®çš„項目。",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST": "移除清單中的第一個項目。",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST": "移除清單中的最後一個項目。",
+       "LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM": "移除清單中隨機一個項目。",
+       "LISTS_SET_INDEX_SET": "設定",
+       "LISTS_SET_INDEX_INSERT": "添加",
+       "LISTS_SET_INDEX_INPUT_TO": "為",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FROM": "設定清單中指定ä½ç½®çš„項目。",
+       "LISTS_SET_INDEX_TOOLTIP_SET_FIRST": "設定清單中的第一個項目。",
+       "LISTS_SET_INDEX_TOOLTIP_SET_LAST": "設定清單中的最後一個項目。",
+       "LISTS_SET_INDEX_TOOLTIP_SET_RANDOM": "設定清單中隨機一個項目。",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FROM": "添加一個項目到清單中的指定ä½ç½®ã€‚",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "添加一個項目到清單中的第一個ä½ç½®ã€‚",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "添加一個項目到清單中的最後一個ä½ç½®ã€‚",
+       "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "添加一個項目到清單中的隨機ä½ç½®ã€‚",
+       "LISTS_GET_SUBLIST_START_FROM_START": "å–å¾—å­æ¸…å–® å¾ž #",
+       "LISTS_GET_SUBLIST_START_FROM_END": "å–å¾—å­æ¸…å–® å¾ž # å€’數",
+       "LISTS_GET_SUBLIST_START_FIRST": "å–å¾—å­æ¸…å–® å¾ž æœ€å‰é¢",
+       "LISTS_GET_SUBLIST_END_FROM_START": "到 #",
+       "LISTS_GET_SUBLIST_END_FROM_END": "到 # å€’數",
+       "LISTS_GET_SUBLIST_END_LAST": "到 æœ€å¾Œé¢",
+       "LISTS_GET_SUBLIST_TOOLTIP": "複製清單中指定的部分。",
+       "LISTS_SORT_HELPURL": "https://github.com/google/blockly/wiki/Lists#sorting-a-list",
+       "LISTS_SORT_TITLE": "排列 %1 %2 %3",
+       "LISTS_SORT_TOOLTIP": "排åºæ¸…單的複製內容。",
+       "LISTS_SORT_ORDER_ASCENDING": "å‡åº",
+       "LISTS_SORT_ORDER_DESCENDING": "é™åº",
+       "LISTS_SORT_TYPE_NUMERIC": "ä¾æ•¸å­—",
+       "LISTS_SORT_TYPE_TEXT": "ä¾å­—æ¯",
+       "LISTS_SORT_TYPE_IGNORECASE": "ä¾å­—æ¯æŽ’åºï¼Œå¿½ç•¥å¤§å°å¯«",
+       "LISTS_SPLIT_LIST_FROM_TEXT": "從文本製作清單",
+       "LISTS_SPLIT_TEXT_FROM_LIST": "從清單拆出文本",
+       "LISTS_SPLIT_WITH_DELIMITER": "用分隔符",
+       "LISTS_SPLIT_TOOLTIP_SPLIT": "將文本變æˆæ¸…單項目,按分隔符號拆分。",
+       "LISTS_SPLIT_TOOLTIP_JOIN": "串起清單項目æˆä¸€å€‹æ–‡æœ¬ï¼Œä¸¦ç”¨åˆ†éš”符號分開。",
+       "LISTS_REVERSE_HELPURL": "https://github.com/google/blockly/wiki/Lists#reversing-a-list",
+       "LISTS_REVERSE_MESSAGE0": "å轉%1",
+       "LISTS_REVERSE_TOOLTIP": "å轉清單的複製內容。",
+       "VARIABLES_GET_TOOLTIP": "返回此變數的值。",
+       "VARIABLES_GET_CREATE_SET": "建立「賦值 %1ã€",
+       "VARIABLES_SET": "賦值 %1 æˆ %2",
+       "VARIABLES_SET_TOOLTIP": "設定此變數,好和輸入çµæžœç›¸ç­‰ã€‚",
+       "VARIABLES_SET_CREATE_GET": "建立「å–å¾— %1ã€",
+       "PROCEDURES_DEFNORETURN_HELPURL": "https://zh.wikipedia.org/wiki/å­ç¨‹å¼",
+       "PROCEDURES_DEFNORETURN_TITLE": "到",
+       "PROCEDURES_DEFNORETURN_PROCEDURE": "åšäº›ä»€éº¼",
+       "PROCEDURES_BEFORE_PARAMS": "與:",
+       "PROCEDURES_CALL_BEFORE_PARAMS": "與:",
+       "PROCEDURES_DEFNORETURN_TOOLTIP": "創建一個無回傳值的函å¼ã€‚",
+       "PROCEDURES_DEFNORETURN_COMMENT": "æ述此函å¼...",
+       "PROCEDURES_DEFRETURN_HELPURL": "https://zh.wikipedia.org/wiki/å­ç¨‹å¼",
+       "PROCEDURES_DEFRETURN_RETURN": "返回",
+       "PROCEDURES_DEFRETURN_TOOLTIP": "創建一個有回傳值的的函å¼ã€‚",
+       "PROCEDURES_ALLOW_STATEMENTS": "å…許陳述å¼",
+       "PROCEDURES_DEF_DUPLICATE_WARNING": "警告: æ­¤å‡½å¼ä¸­æœ‰é‡è¤‡çš„åƒæ•¸ã€‚",
+       "PROCEDURES_CALLNORETURN_HELPURL": "https://zh.wikipedia.org/wiki/å­ç¨‹å¼",
+       "PROCEDURES_CALLNORETURN_TOOLTIP": "執行使用者定義的函å¼ã€Œ%1ã€ã€‚",
+       "PROCEDURES_CALLRETURN_HELPURL": "https://zh.wikipedia.org/wiki/%E5%AD%90%E7%A8%8B%E5%BA%8F",
+       "PROCEDURES_CALLRETURN_TOOLTIP": "執行使用者定義的函å¼ã€Œ%1ã€ï¼Œä¸¦ä½¿ç”¨å®ƒçš„回傳值。",
+       "PROCEDURES_MUTATORCONTAINER_TITLE": "輸入",
+       "PROCEDURES_MUTATORCONTAINER_TOOLTIP": "添加ã€åˆªé™¤æˆ–é‡æ–°æŽ’列此函å¼çš„輸入。",
+       "PROCEDURES_MUTATORARG_TITLE": "輸入å稱:",
+       "PROCEDURES_MUTATORARG_TOOLTIP": "添加一個輸入å€å¡Šåˆ°å‡½å¼ã€‚",
+       "PROCEDURES_HIGHLIGHT_DEF": "å白顯示函å¼å®šç¾©",
+       "PROCEDURES_CREATE_DO": "建立「%1ã€",
+       "PROCEDURES_IFRETURN_TOOLTIP": "如果值為 true,則返回第二個值。",
+       "PROCEDURES_IFRETURN_WARNING": "警告:這個å€å¡Šåªå¯ä»¥åœ¨å®šç¾©å‡½å¼æ™‚使用。",
+       "WORKSPACE_COMMENT_DEFAULT_TEXT": "來說些事情..."
+}
diff --git a/js/msg/messages.js b/js/msg/messages.js
new file mode 100644 (file)
index 0000000..15110d0
--- /dev/null
@@ -0,0 +1,1201 @@
+/**
+ * @license
+ * Visual Blocks Language
+ *
+ * Copyright 2012 Google Inc.
+ * https://developers.google.com/blockly/
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/**
+ * @fileoverview English strings.
+ * @author fraser@google.com (Neil Fraser)
+ *
+ * After modifying this file, either run "build.py" from the parent directory,
+ * or run (from this directory):
+ * ../i18n/js_to_json.py
+ * to regenerate json/{en,qqq,synonyms}.json.
+ *
+ * To convert all of the json files to .js files, run:
+ * ../i18n/create_messages.py json/*.json
+ */
+'use strict';
+
+goog.provide('Blockly.Msg.en');
+
+goog.require('Blockly.Msg');
+
+
+/**
+ * Due to the frequency of long strings, the 80-column wrap rule need not apply
+ * to message files.
+ */
+
+/**
+ * Each message is preceded with a triple-slash comment that becomes the
+ * message descriptor.  The build process extracts these descriptors, adds
+ * them to msg/json/qqq.json, and they show up in the translation console.
+ */
+
+/// {{Notranslate}} Hue value for all logic blocks.
+Blockly.Msg.LOGIC_HUE = '210';
+/// {{Notranslate}} Hue value for all loop blocks.
+Blockly.Msg.LOOPS_HUE = '120';
+/// {{Notranslate}} Hue value for all math blocks.
+Blockly.Msg.MATH_HUE = '230';
+/// {{Notranslate}} Hue value for all text blocks.
+Blockly.Msg.TEXTS_HUE = '160';
+/// {{Notranslate}} Hue value for all list blocks.
+Blockly.Msg.LISTS_HUE = '260';
+/// {{Notranslate}} Hue value for all colour blocks.
+Blockly.Msg.COLOUR_HUE = '20';
+/// {{Notranslate}} Hue value for all variable blocks.
+Blockly.Msg.VARIABLES_HUE = '330';
+/// {{Notranslate}} Hue value for all variable dynamic blocks.
+Blockly.Msg.VARIABLES_DYNAMIC_HUE = '310';
+/// {{Notranslate}} Hue value for all procedure blocks.
+Blockly.Msg.PROCEDURES_HUE = '290';
+
+/// default name - A simple, general default name for a variable, preferably short.
+/// For more context, see
+/// [[Translating:Blockly#infrequent_message_types]].\n{{Identical|Item}}
+Blockly.Msg.VARIABLES_DEFAULT_NAME = 'item';
+/// button text - Button that sets a calendar to today's date.\n{{Identical|Today}}
+Blockly.Msg.TODAY = 'Today';
+
+// Context menus.
+/// context menu - Make a copy of the selected block (and any blocks it contains).\n{{Identical|Duplicate}}
+Blockly.Msg.DUPLICATE_BLOCK = 'Duplicate';
+/// context menu - Add a descriptive comment to the selected block.
+Blockly.Msg.ADD_COMMENT = 'Add Comment';
+/// context menu - Remove the descriptive comment from the selected block.
+Blockly.Msg.REMOVE_COMMENT = 'Remove Comment';
+/// context menu - Make a copy of the selected workspace comment.\n{{Identical|Duplicate}}
+Blockly.Msg.DUPLICATE_COMMENT = 'Duplicate Comment';
+/// context menu - Change from 'external' to 'inline' mode for displaying blocks used as inputs to the selected block.  See [[Translating:Blockly#context_menus]].
+Blockly.Msg.EXTERNAL_INPUTS = 'External Inputs';
+/// context menu - Change from 'internal' to 'external' mode for displaying blocks used as inputs to the selected block.  See [[Translating:Blockly#context_menus]].
+Blockly.Msg.INLINE_INPUTS = 'Inline Inputs';
+/// context menu - Permanently delete the selected block.
+Blockly.Msg.DELETE_BLOCK = 'Delete Block';
+/// context menu - Permanently delete the %1 selected blocks.\n\nParameters:\n* %1 - an integer greater than 1.
+Blockly.Msg.DELETE_X_BLOCKS = 'Delete %1 Blocks';
+/// confirmation prompt - Question the user if they really wanted to permanently delete all %1 blocks.\n\nParameters:\n* %1 - an integer greater than 1.
+Blockly.Msg.DELETE_ALL_BLOCKS = 'Delete all %1 blocks?';
+/// context menu - Reposition all the blocks so that they form a neat line.
+Blockly.Msg.CLEAN_UP = 'Clean up Blocks';
+/// context menu - Make the appearance of the selected block smaller by hiding some information about it.
+Blockly.Msg.COLLAPSE_BLOCK = 'Collapse Block';
+/// context menu - Make the appearance of all blocks smaller by hiding some information about it.  Use the same terminology as in the previous message.
+Blockly.Msg.COLLAPSE_ALL = 'Collapse Blocks';
+/// context menu - Restore the appearance of the selected block by showing information about it that was hidden (collapsed) earlier.
+Blockly.Msg.EXPAND_BLOCK = 'Expand Block';
+/// context menu - Restore the appearance of all blocks by showing information about it that was hidden (collapsed) earlier.  Use the same terminology as in the previous message.
+Blockly.Msg.EXPAND_ALL = 'Expand Blocks';
+/// context menu - Make the selected block have no effect (unless reenabled).
+Blockly.Msg.DISABLE_BLOCK = 'Disable Block';
+/// context menu - Make the selected block have effect (after having been disabled earlier).
+Blockly.Msg.ENABLE_BLOCK = 'Enable Block';
+/// context menu - Provide helpful information about the selected block.\n{{Identical|Help}}
+Blockly.Msg.HELP = 'Help';
+/// context menu - Undo the previous action.\n{{Identical|Undo}}
+Blockly.Msg.UNDO = 'Undo';
+/// context menu - Undo the previous undo action.\n{{Identical|Redo}}
+Blockly.Msg.REDO = 'Redo';
+
+// Variable renaming.
+/// prompt - This message is only seen in the Opera browser.  With most browsers, users can edit numeric values in blocks by just clicking and typing.  Opera does not allows this, so we have to open a new window and prompt users with this message to chanage a value.
+Blockly.Msg.CHANGE_VALUE_TITLE = 'Change value:';
+/// dropdown choice - When the user clicks on a variable block, this is one of the dropdown menu choices.  It is used to rename the current variable.  See [https://github.com/google/blockly/wiki/Variables#dropdown-menu https://github.com/google/blockly/wiki/Variables#dropdown-menu].
+Blockly.Msg.RENAME_VARIABLE = 'Rename variable...';
+/// prompt - Prompts the user to enter the new name for the selected variable.  See [https://github.com/google/blockly/wiki/Variables#dropdown-menu https://github.com/google/blockly/wiki/Variables#dropdown-menu].\n\nParameters:\n* %1 - the name of the variable to be renamed.
+Blockly.Msg.RENAME_VARIABLE_TITLE = 'Rename all "%1" variables to:';
+
+// Variable creation
+/// button text - Text on the button used to launch the variable creation dialogue.
+Blockly.Msg.NEW_VARIABLE = 'Create variable...';
+/// button text - Text on the button used to launch the variable creation dialogue.
+Blockly.Msg.NEW_STRING_VARIABLE = 'Create string variable...';
+/// button text - Text on the button used to launch the variable creation dialogue.
+Blockly.Msg.NEW_NUMBER_VARIABLE = 'Create number variable...';
+/// button text - Text on the button used to launch the variable creation dialogue.
+Blockly.Msg.NEW_COLOUR_VARIABLE = 'Create colour variable...';
+/// prompt - Prompts the user to enter the type for a variable.
+Blockly.Msg.NEW_VARIABLE_TYPE_TITLE = 'New variable type:';
+/// prompt - Prompts the user to enter the name for a new variable.  See [https://github.com/google/blockly/wiki/Variables#dropdown-menu https://github.com/google/blockly/wiki/Variables#dropdown-menu].
+Blockly.Msg.NEW_VARIABLE_TITLE = 'New variable name:';
+/// alert - Tells the user that the name they entered is already in use.
+Blockly.Msg.VARIABLE_ALREADY_EXISTS = 'A variable named "%1" already exists.';
+/// alert - Tells the user that the name they entered is already in use for another type.
+Blockly.Msg.VARIABLE_ALREADY_EXISTS_FOR_ANOTHER_TYPE = 'A variable named "%1" already exists for another type: "%2".';
+
+// Variable deletion.
+/// confirm -  Ask the user to confirm their deletion of multiple uses of a variable.
+Blockly.Msg.DELETE_VARIABLE_CONFIRMATION = 'Delete %1 uses of the "%2" variable?';
+/// alert - Tell the user that they can't delete a variable because it's part of the definition of a function.
+Blockly.Msg.CANNOT_DELETE_VARIABLE_PROCEDURE = 'Can\'t delete the variable "%1" because it\'s part of the definition of the function "%2"';
+/// dropdown choice - Delete the currently selected variable.
+Blockly.Msg.DELETE_VARIABLE = 'Delete the "%1" variable';
+
+// Colour Blocks.
+/// {{Optional}} url - Information about colour.
+Blockly.Msg.COLOUR_PICKER_HELPURL = 'https://en.wikipedia.org/wiki/Color';
+/// tooltip - See [https://github.com/google/blockly/wiki/Colour#picking-a-colour-from-a-palette https://github.com/google/blockly/wiki/Colour#picking-a-colour-from-a-palette].
+Blockly.Msg.COLOUR_PICKER_TOOLTIP = 'Choose a colour from the palette.';
+/// {{Optional}} url - A link that displays a random colour each time you visit it.
+Blockly.Msg.COLOUR_RANDOM_HELPURL = 'http://randomcolour.com';
+/// block text - Title of block that generates a colour at random.
+Blockly.Msg.COLOUR_RANDOM_TITLE = 'random colour';
+/// tooltip - See [https://github.com/google/blockly/wiki/Colour#generating-a-random-colour https://github.com/google/blockly/wiki/Colour#generating-a-random-colour].
+Blockly.Msg.COLOUR_RANDOM_TOOLTIP = 'Choose a colour at random.';
+/// {{Optional}} url - A link for color codes with percentages (0-100%) for each component, instead of the more common 0-255, which may be more difficult for beginners.
+Blockly.Msg.COLOUR_RGB_HELPURL = 'http://www.december.com/html/spec/colorper.html';
+/// block text - Title of block for [https://github.com/google/blockly/wiki/Colour#creating-a-colour-from-red-green-and-blue-components https://github.com/google/blockly/wiki/Colour#creating-a-colour-from-red-green-and-blue-components].
+Blockly.Msg.COLOUR_RGB_TITLE = 'colour with';
+/// block input text - The amount of red (from 0 to 100) to use when [https://github.com/google/blockly/wiki/Colour#creating-a-colour-from-red-green-and-blue-components https://github.com/google/blockly/wiki/Colour#creating-a-colour-from-red-green-and-blue-components].\n{{Identical|Red}}
+Blockly.Msg.COLOUR_RGB_RED = 'red';
+/// block input text - The amount of green (from 0 to 100) to use when [https://github.com/google/blockly/wiki/Colour#creating-a-colour-from-red-green-and-blue-components https://github.com/google/blockly/wiki/Colour#creating-a-colour-from-red-green-and-blue-components].
+Blockly.Msg.COLOUR_RGB_GREEN = 'green';
+/// block input text - The amount of blue (from 0 to 100) to use when [https://github.com/google/blockly/wiki/Colour#creating-a-colour-from-red-green-and-blue-components https://github.com/google/blockly/wiki/Colour#creating-a-colour-from-red-green-and-blue-components].\n{{Identical|Blue}}
+Blockly.Msg.COLOUR_RGB_BLUE = 'blue';
+/// tooltip - See [https://github.com/google/blockly/wiki/Colour#creating-a-colour-from-red-green-and-blue-components https://github.com/google/blockly/wiki/Colour#creating-a-colour-from-red-green-and-blue-components].
+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.';
+/// {{Optional}} url - A useful link that displays blending of two colors.
+Blockly.Msg.COLOUR_BLEND_HELPURL = 'http://meyerweb.com/eric/tools/color-blend/';
+/// block text - A verb for blending two shades of paint.
+Blockly.Msg.COLOUR_BLEND_TITLE = 'blend';
+/// block input text - The first of two colours to [https://github.com/google/blockly/wiki/Colour#blending-colours blend].
+Blockly.Msg.COLOUR_BLEND_COLOUR1 = 'colour 1';
+/// block input text - The second of two colours to [https://github.com/google/blockly/wiki/Colour#blending-colours blend].
+Blockly.Msg.COLOUR_BLEND_COLOUR2 = 'colour 2';
+/// block input text - The proportion of the [https://github.com/google/blockly/wiki/Colour#blending-colours blend] containing the first color; the remaining proportion is of the second colour.  For example, if the first colour is red and the second color blue, a ratio of 1 would yield pure red, a ratio of .5 would yield purple (equal amounts of red and blue), and a ratio of 0 would yield pure blue.\n{{Identical|Ratio}}
+Blockly.Msg.COLOUR_BLEND_RATIO = 'ratio';
+/// tooltip - See [https://github.com/google/blockly/wiki/Colour#blending-colours https://github.com/google/blockly/wiki/Colour#blending-colours].
+Blockly.Msg.COLOUR_BLEND_TOOLTIP = 'Blends two colours together with a given ratio (0.0 - 1.0).';
+
+// Loop Blocks.
+/// {{Optional}} url - Describes 'repeat loops' in computer programs; consider using the translation of the page [https://en.wikipedia.org/wiki/Control_flow https://en.wikipedia.org/wiki/Control_flow].
+Blockly.Msg.CONTROLS_REPEAT_HELPURL = 'https://en.wikipedia.org/wiki/For_loop';
+/// block input text - Title of [https://github.com/google/blockly/wiki/Loops#repeat repeat block].\n\nParameters:\n* %1 - the number of times the body of the loop should be repeated.
+Blockly.Msg.CONTROLS_REPEAT_TITLE = 'repeat %1 times';
+/// block text - Preceding the blocks in the body of the loop.  See [https://github.com/google/blockly/wiki/Loops https://github.com/google/blockly/wiki/Loops].\n{{Identical|Do}}
+Blockly.Msg.CONTROLS_REPEAT_INPUT_DO = 'do';
+/// tooltip - See [https://github.com/google/blockly/wiki/Loops#repeat https://github.com/google/blockly/wiki/Loops#repeat].
+Blockly.Msg.CONTROLS_REPEAT_TOOLTIP = 'Do some statements several times.';
+/// {{Optional}} url - Describes 'while loops' in computer programs; consider using the translation of [https://en.wikipedia.org/wiki/While_loop https://en.wikipedia.org/wiki/While_loop], if present, or [https://en.wikipedia.org/wiki/Control_flow https://en.wikipedia.org/wiki/Control_flow].
+Blockly.Msg.CONTROLS_WHILEUNTIL_HELPURL = 'https://github.com/google/blockly/wiki/Loops#repeat';
+Blockly.Msg.CONTROLS_WHILEUNTIL_INPUT_DO = Blockly.Msg.CONTROLS_REPEAT_INPUT_DO;
+/// dropdown - Specifies that a loop should [https://github.com/google/blockly/wiki/Loops#repeat-while repeat while] the following condition is true.
+Blockly.Msg.CONTROLS_WHILEUNTIL_OPERATOR_WHILE = 'repeat while';
+/// dropdown - Specifies that a loop should [https://github.com/google/blockly/wiki/Loops#repeat-until repeat until] the following condition becomes true.
+Blockly.Msg.CONTROLS_WHILEUNTIL_OPERATOR_UNTIL = 'repeat until';
+/// tooltip - See [https://github.com/google/blockly/wiki/Loops#repeat-while Loops#repeat-while https://github.com/google/blockly/wiki/Loops#repeat-while Loops#repeat-while].
+Blockly.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_WHILE = 'While a value is true, then do some statements.';
+/// tooltip - See [https://github.com/google/blockly/wiki/Loops#repeat-until https://github.com/google/blockly/wiki/Loops#repeat-until].
+Blockly.Msg.CONTROLS_WHILEUNTIL_TOOLTIP_UNTIL = 'While a value is false, then do some statements.';
+
+/// {{Optional}} url - Describes 'for loops' in computer programs.  Consider using your language's translation of [https://en.wikipedia.org/wiki/For_loop https://en.wikipedia.org/wiki/For_loop], if present.
+Blockly.Msg.CONTROLS_FOR_HELPURL = 'https://github.com/google/blockly/wiki/Loops#count-with';
+/// tooltip - See [https://github.com/google/blockly/wiki/Loops#count-with https://github.com/google/blockly/wiki/Loops#count-with].\n\nParameters:\n* %1 - the name of the loop variable.
+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.';
+/// block text - Repeatedly counts a variable (%1)
+/// starting with a (usually lower) number in a range (%2),
+/// ending with a (usually higher) number in a range (%3), and counting the
+/// iterations by a number of steps (%4).  As in
+/// [https://github.com/google/blockly/wiki/Loops#count-with
+/// https://github.com/google/blockly/wiki/Loops#count-with].
+/// [[File:Blockly-count-with.png]]
+Blockly.Msg.CONTROLS_FOR_TITLE = 'count with %1 from %2 to %3 by %4';
+Blockly.Msg.CONTROLS_FOR_INPUT_DO = Blockly.Msg.CONTROLS_REPEAT_INPUT_DO;
+
+/// {{Optional}} url - Describes 'for-each loops' in computer programs.  Consider using your language's translation of [https://en.wikipedia.org/wiki/Foreach https://en.wikipedia.org/wiki/Foreach] if present.
+Blockly.Msg.CONTROLS_FOREACH_HELPURL = 'https://github.com/google/blockly/wiki/Loops#for-each';
+/// block text - Title of [https://github.com/google/blockly/wiki/Loops#for-each for each block].
+/// Sequentially assigns every item in array %2 to the valiable %1.
+Blockly.Msg.CONTROLS_FOREACH_TITLE = 'for each item %1 in list %2';
+Blockly.Msg.CONTROLS_FOREACH_INPUT_DO = Blockly.Msg.CONTROLS_REPEAT_INPUT_DO;
+/// block text - Description of [https://github.com/google/blockly/wiki/Loops#for-each for each blocks].\n\nParameters:\n* %1 - the name of the loop variable.
+Blockly.Msg.CONTROLS_FOREACH_TOOLTIP = 'For each item in a list, set the variable "%1" to the item, and then do some statements.';
+
+/// {{Optional}} url - Describes control flow in computer programs.  Consider using your language's translation of [https://en.wikipedia.org/wiki/Control_flow https://en.wikipedia.org/wiki/Control_flow], if it exists.
+Blockly.Msg.CONTROLS_FLOW_STATEMENTS_HELPURL = 'https://github.com/google/blockly/wiki/Loops#loop-termination-blocks';
+/// dropdown - The current loop should be exited.  See [https://github.com/google/blockly/wiki/Loops#break https://github.com/google/blockly/wiki/Loops#break].
+Blockly.Msg.CONTROLS_FLOW_STATEMENTS_OPERATOR_BREAK = 'break out of loop';
+/// dropdown - The current iteration of the loop should be ended and the next should begin.  See [https://github.com/google/blockly/wiki/Loops#continue-with-next-iteration https://github.com/google/blockly/wiki/Loops#continue-with-next-iteration].
+Blockly.Msg.CONTROLS_FLOW_STATEMENTS_OPERATOR_CONTINUE = 'continue with next iteration of loop';
+/// tooltip - See [https://github.com/google/blockly/wiki/Loops#break-out-of-loop https://github.com/google/blockly/wiki/Loops#break-out-of-loop].
+Blockly.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_BREAK = 'Break out of the containing loop.';
+/// tooltip - See [https://github.com/google/blockly/wiki/Loops#continue-with-next-iteration https://github.com/google/blockly/wiki/Loops#continue-with-next-iteration].
+Blockly.Msg.CONTROLS_FLOW_STATEMENTS_TOOLTIP_CONTINUE = 'Skip the rest of this loop, and continue with the next iteration.';
+/// warning - The user has tried placing a block outside of a loop (for each, while, repeat, etc.), but this type of block may only be used within a loop.  See [https://github.com/google/blockly/wiki/Loops#loop-termination-blocks https://github.com/google/blockly/wiki/Loops#loop-termination-blocks].
+Blockly.Msg.CONTROLS_FLOW_STATEMENTS_WARNING = 'Warning: This block may only be used within a loop.';
+
+// Logic Blocks.
+/// {{Optional}} url - Describes conditional statements (if-then-else) in computer programs.  Consider using your language's translation of [https://en.wikipedia.org/wiki/If_else https://en.wikipedia.org/wiki/If_else], if present.
+Blockly.Msg.CONTROLS_IF_HELPURL = 'https://github.com/google/blockly/wiki/IfElse';
+/// tooltip - Describes [https://github.com/google/blockly/wiki/IfElse#if-blocks 'if' blocks].  Consider using your language's translation of [https://en.wikipedia.org/wiki/If_statement https://en.wikipedia.org/wiki/If_statement], if present.
+Blockly.Msg.CONTROLS_IF_TOOLTIP_1 = 'If a value is true, then do some statements.';
+/// tooltip - Describes [https://github.com/google/blockly/wiki/IfElse#if-else-blocks if-else blocks].  Consider using your language's translation of [https://en.wikipedia.org/wiki/If_statement https://en.wikipedia.org/wiki/If_statement], if present.
+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.';
+/// tooltip - Describes [https://github.com/google/blockly/wiki/IfElse#if-else-if-blocks if-else-if blocks].  Consider using your language's translation of [https://en.wikipedia.org/wiki/If_statement https://en.wikipedia.org/wiki/If_statement], if present.
+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.';
+/// tooltip - Describes [https://github.com/google/blockly/wiki/IfElse#if-else-if-else-blocks if-else-if-else blocks].  Consider using your language's translation of [https://en.wikipedia.org/wiki/If_statement https://en.wikipedia.org/wiki/If_statement], if present.
+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.';
+/// block text - See [https://github.com/google/blockly/wiki/IfElse https://github.com/google/blockly/wiki/IfElse].
+/// It is recommended, but not essential, that this have text in common with the translation of 'else if'\n{{Identical|If}}
+Blockly.Msg.CONTROLS_IF_MSG_IF = 'if';
+/// block text - See [https://github.com/google/blockly/wiki/IfElse https://github.com/google/blockly/wiki/IfElse].  The English words "otherwise if" would probably be clearer than "else if", but the latter is used because it is traditional and shorter.
+Blockly.Msg.CONTROLS_IF_MSG_ELSEIF = 'else if';
+/// block text - See [https://github.com/google/blockly/wiki/IfElse https://github.com/google/blockly/wiki/IfElse].  The English word "otherwise" would probably be superior to "else", but the latter is used because it is traditional and shorter.
+Blockly.Msg.CONTROLS_IF_MSG_ELSE = 'else';
+Blockly.Msg.CONTROLS_IF_MSG_THEN = Blockly.Msg.CONTROLS_REPEAT_INPUT_DO;
+Blockly.Msg.CONTROLS_IF_IF_TITLE_IF = Blockly.Msg.CONTROLS_IF_MSG_IF;
+/// tooltip - Describes [https://github.com/google/blockly/wiki/IfElse#block-modification if block modification].
+Blockly.Msg.CONTROLS_IF_IF_TOOLTIP = 'Add, remove, or reorder sections to reconfigure this if block.';
+Blockly.Msg.CONTROLS_IF_ELSEIF_TITLE_ELSEIF = Blockly.Msg.CONTROLS_IF_MSG_ELSEIF;
+/// tooltip - Describes the 'else if' subblock during [https://github.com/google/blockly/wiki/IfElse#block-modification if block modification].
+Blockly.Msg.CONTROLS_IF_ELSEIF_TOOLTIP = 'Add a condition to the if block.';
+Blockly.Msg.CONTROLS_IF_ELSE_TITLE_ELSE = Blockly.Msg.CONTROLS_IF_MSG_ELSE;
+/// tooltip - Describes the 'else' subblock during [https://github.com/google/blockly/wiki/IfElse#block-modification if block modification].
+Blockly.Msg.CONTROLS_IF_ELSE_TOOLTIP = 'Add a final, catch-all condition to the if block.';
+
+/// button text - Text on a button inside a dialogue window, which will accept or acknowledge the contents of the dialogue when pressed.\n{{Identical|OK}}
+Blockly.Msg.IOS_OK = 'OK';
+/// button text - Text on a button inside a dialogue window, which will close or cancel the dialogue when pressed.\n{{Identical|Cancel}}
+Blockly.Msg.IOS_CANCEL = 'Cancel';
+/// alert - Title text for an error dialogue.\n{{Identical|Error}}
+Blockly.Msg.IOS_ERROR = 'Error';
+/// header text - Title of a section that displays a list of parameters (aka. "inputs") that have been defined for a procedure. This is used inside a dialogue window to configure a procedure.\n{{Identical|Input}}
+Blockly.Msg.IOS_PROCEDURES_INPUTS = 'INPUTS';
+/// button text - Text on a button which will add a parameter (aka. "input") to a procedure. This is used inside a dialogue window to configure a procedure. NOTE: The "+" should be preserved at the beginning of the text.
+Blockly.Msg.IOS_PROCEDURES_ADD_INPUT = '+ Add Input';
+/// option text - Text describing an option to allow statements to be added within a procedure. This is used inside a dialogue window to configure a procedure.
+Blockly.Msg.IOS_PROCEDURES_ALLOW_STATEMENTS = 'Allow statements';
+/// alert - Error message when duplicate parameters (aka. "inputs") have been defined on a procedure. This is used inside a dialogue window to configure procedure parameters.
+Blockly.Msg.IOS_PROCEDURES_DUPLICATE_INPUTS_ERROR = 'This function has duplicate inputs.';
+/// button text - Text on a button which will open a variable creation dialogue when pressed. NOTE: The "+" should be preserved at the beginning of the text.
+Blockly.Msg.IOS_VARIABLES_ADD_VARIABLE = '+ Add Variable';
+/// button text - Text on a button inside a variable creation dialogue, which will add a variable when pressed.\n{{Identical|Add}}
+Blockly.Msg.IOS_VARIABLES_ADD_BUTTON = 'Add';
+/// button text - Text on a button inside a variable rename dialogue, which will rename a variable when pressed.\n{{Identical|Rename}}
+Blockly.Msg.IOS_VARIABLES_RENAME_BUTTON = 'Rename';
+/// button text - Text on a button inside a variable deletion dialogue, which will delete a variable when pressed.\n{{Identical|Delete}}
+Blockly.Msg.IOS_VARIABLES_DELETE_BUTTON = 'Delete';
+/// placeholder text - Placeholder text used inside a text input, where a variable name should be entered.
+Blockly.Msg.IOS_VARIABLES_VARIABLE_NAME = 'Variable name';
+/// alert - Error message that is displayed when the user attempts to create a variable without a name.
+Blockly.Msg.IOS_VARIABLES_EMPTY_NAME_ERROR = 'You can\'t use an empty variable name.';
+
+/// {{Optional}} url - Information about comparisons.
+Blockly.Msg.LOGIC_COMPARE_HELPURL = 'https://en.wikipedia.org/wiki/Inequality_(mathematics)';
+/// tooltip - Describes the equals (=) block.
+Blockly.Msg.LOGIC_COMPARE_TOOLTIP_EQ = 'Return true if both inputs equal each other.';
+/// tooltip - Describes the not equals (≠) block.
+Blockly.Msg.LOGIC_COMPARE_TOOLTIP_NEQ = 'Return true if both inputs are not equal to each other.';
+/// tooltip - Describes the less than (<) block.
+Blockly.Msg.LOGIC_COMPARE_TOOLTIP_LT = 'Return true if the first input is smaller than the second input.';
+/// tooltip - Describes the less than or equals (≤) block.
+Blockly.Msg.LOGIC_COMPARE_TOOLTIP_LTE = 'Return true if the first input is smaller than or equal to the second input.';
+/// tooltip - Describes the greater than (>) block.
+Blockly.Msg.LOGIC_COMPARE_TOOLTIP_GT = 'Return true if the first input is greater than the second input.';
+/// tooltip - Describes the greater than or equals (≥) block.
+Blockly.Msg.LOGIC_COMPARE_TOOLTIP_GTE = 'Return true if the first input is greater than or equal to the second input.';
+
+/// {{Optional}} url - Information about the Boolean conjunction ("and") and disjunction ("or") operators.  Consider using the translation of [https://en.wikipedia.org/wiki/Boolean_logic https://en.wikipedia.org/wiki/Boolean_logic], if it exists in your language.
+Blockly.Msg.LOGIC_OPERATION_HELPURL = 'https://github.com/google/blockly/wiki/Logic#logical-operations';
+/// tooltip - See [https://en.wikipedia.org/wiki/Logical_conjunction https://en.wikipedia.org/wiki/Logical_conjunction].
+Blockly.Msg.LOGIC_OPERATION_TOOLTIP_AND = 'Return true if both inputs are true.';
+/// block text - See [https://en.wikipedia.org/wiki/Logical_conjunction https://en.wikipedia.org/wiki/Logical_conjunction].\n{{Identical|And}}
+Blockly.Msg.LOGIC_OPERATION_AND = 'and';
+/// block text - See [https://en.wikipedia.org/wiki/Disjunction https://en.wikipedia.org/wiki/Disjunction].
+Blockly.Msg.LOGIC_OPERATION_TOOLTIP_OR = 'Return true if at least one of the inputs is true.';
+/// block text - See [https://en.wikipedia.org/wiki/Disjunction https://en.wikipedia.org/wiki/Disjunction].\n{{Identical|Or}}
+Blockly.Msg.LOGIC_OPERATION_OR = 'or';
+
+/// {{Optional}} url - Information about logical negation.  The translation of [https://en.wikipedia.org/wiki/Logical_negation https://en.wikipedia.org/wiki/Logical_negation] is recommended if it exists in the target language.
+Blockly.Msg.LOGIC_NEGATE_HELPURL = 'https://github.com/google/blockly/wiki/Logic#not';
+/// block text - This is a unary operator that returns ''false'' when the input is ''true'', and ''true'' when the input is ''false''.
+/// \n\nParameters:\n* %1 - the input (which should be either the value "true" or "false")
+Blockly.Msg.LOGIC_NEGATE_TITLE = 'not %1';
+/// tooltip - See [https://en.wikipedia.org/wiki/Logical_negation https://en.wikipedia.org/wiki/Logical_negation].
+Blockly.Msg.LOGIC_NEGATE_TOOLTIP = 'Returns true if the input is false. Returns false if the input is true.';
+
+/// {{Optional}} url - Information about the logic values ''true'' and ''false''.  Consider using the translation of [https://en.wikipedia.org/wiki/Truth_value https://en.wikipedia.org/wiki/Truth_value] if it exists in your language.
+Blockly.Msg.LOGIC_BOOLEAN_HELPURL = 'https://github.com/google/blockly/wiki/Logic#values';
+/// block text - The word for the [https://en.wikipedia.org/wiki/Truth_value logical value] ''true''.\n{{Identical|True}}
+Blockly.Msg.LOGIC_BOOLEAN_TRUE = 'true';
+/// block text - The word for the [https://en.wikipedia.org/wiki/Truth_value logical value] ''false''.\n{{Identical|False}}
+Blockly.Msg.LOGIC_BOOLEAN_FALSE = 'false';
+/// tooltip - Indicates that the block returns either of the two possible [https://en.wikipedia.org/wiki/Truth_value logical values].
+Blockly.Msg.LOGIC_BOOLEAN_TOOLTIP = 'Returns either true or false.';
+
+/// {{Optional}} url - Provide a link to the translation of [https://en.wikipedia.org/wiki/Nullable_type https://en.wikipedia.org/wiki/Nullable_type], if it exists in your language; otherwise, do not worry about translating this advanced concept.
+Blockly.Msg.LOGIC_NULL_HELPURL = 'https://en.wikipedia.org/wiki/Nullable_type';
+/// block text - In computer languages, ''null'' is a special value that indicates that no value has been set.  You may use your language's word for "nothing" or "invalid".\n{{Identical|Null}}
+Blockly.Msg.LOGIC_NULL = 'null';
+/// tooltip - This should use the word from the previous message.
+Blockly.Msg.LOGIC_NULL_TOOLTIP = 'Returns null.';
+
+/// {{Optional}} url - Describes the programming language operator known as the ''ternary'' or ''conditional'' operator.  It is recommended that you use the translation of [https://en.wikipedia.org/wiki/%3F: https://en.wikipedia.org/wiki/%3F:] if it exists.
+Blockly.Msg.LOGIC_TERNARY_HELPURL = 'https://en.wikipedia.org/wiki/%3F:';
+/// block input text - Label for the input whose value determines which of the other two inputs is returned.  In some programming languages, this is called a ''''predicate''''.
+Blockly.Msg.LOGIC_TERNARY_CONDITION = 'test';
+/// block input text - Indicates that the following input should be returned (used as output) if the test input is true.  Remember to try to keep block text terse (short).
+Blockly.Msg.LOGIC_TERNARY_IF_TRUE = 'if true';
+/// block input text - Indicates that the following input should be returned (used as output) if the test input is false.
+Blockly.Msg.LOGIC_TERNARY_IF_FALSE = 'if false';
+/// tooltip - See [https://en.wikipedia.org/wiki/%3F: https://en.wikipedia.org/wiki/%3F:].
+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.';
+
+// Math Blocks.
+/// {{Optional}} url - Information about (real) numbers.
+Blockly.Msg.MATH_NUMBER_HELPURL = 'https://en.wikipedia.org/wiki/Number';
+/// tooltip - Any positive or negative number, not necessarily an integer.
+Blockly.Msg.MATH_NUMBER_TOOLTIP = 'A number.';
+
+/// {{Optional}} math - The symbol for the binary operation addition.
+Blockly.Msg.MATH_ADDITION_SYMBOL = '+';
+/// {{Optional}} math - The symbol for the binary operation indicating that the right operand should be
+/// subtracted from the left operand.
+Blockly.Msg.MATH_SUBTRACTION_SYMBOL = '-';
+/// {{Optional}} math - The binary operation indicating that the left operand should be divided by
+/// the right operand.
+Blockly.Msg.MATH_DIVISION_SYMBOL = '÷';
+/// {{Optional}} math - The symbol for the binary operation multiplication.
+Blockly.Msg.MATH_MULTIPLICATION_SYMBOL = '×';
+/// {{Optional}} math - The symbol for the binary operation exponentiation.  Specifically, if the
+/// value of the left operand is L and the value of the right operand (the exponent) is
+/// R, multiply L by itself R times.  (Fractional and negative exponents are also legal.)
+Blockly.Msg.MATH_POWER_SYMBOL = '^';
+
+/// math - The short name of the trigonometric function
+/// [https://en.wikipedia.org/wiki/Trigonometric_functions#Sine.2C_cosine_and_tangent sine].
+Blockly.Msg.MATH_TRIG_SIN = 'sin';
+/// math - The short name of the trigonometric function
+/// [https://en.wikipedia.org/wiki/Trigonometric_functions#Sine.2C_cosine_and_tangent cosine].
+Blockly.Msg.MATH_TRIG_COS = 'cos';
+/// math - The short name of the trigonometric function
+/// [https://en.wikipedia.org/wiki/Trigonometric_functions#Sine.2C_cosine_and_tangent tangent].
+Blockly.Msg.MATH_TRIG_TAN = 'tan';
+/// math - The short name of the ''inverse of'' the trigonometric function
+/// [https://en.wikipedia.org/wiki/Trigonometric_functions#Sine.2C_cosine_and_tangent sine].
+Blockly.Msg.MATH_TRIG_ASIN = 'asin';
+/// math - The short name of the ''inverse of'' the trigonometric function
+/// [https://en.wikipedia.org/wiki/Trigonometric_functions#Sine.2C_cosine_and_tangent cosine].
+Blockly.Msg.MATH_TRIG_ACOS = 'acos';
+/// math - The short name of the ''inverse of'' the trigonometric function
+/// [https://en.wikipedia.org/wiki/Trigonometric_functions#Sine.2C_cosine_and_tangent tangent].
+Blockly.Msg.MATH_TRIG_ATAN = 'atan';
+
+/// {{Optional}} url - Information about addition, subtraction, multiplication, division, and exponentiation.
+Blockly.Msg.MATH_ARITHMETIC_HELPURL = 'https://en.wikipedia.org/wiki/Arithmetic';
+/// tooltip - See [https://en.wikipedia.org/wiki/Addition https://en.wikipedia.org/wiki/Addition].
+Blockly.Msg.MATH_ARITHMETIC_TOOLTIP_ADD = 'Return the sum of the two numbers.';
+/// tooltip - See [https://en.wikipedia.org/wiki/Subtraction https://en.wikipedia.org/wiki/Subtraction].
+Blockly.Msg.MATH_ARITHMETIC_TOOLTIP_MINUS = 'Return the difference of the two numbers.';
+/// tooltip - See [https://en.wikipedia.org/wiki/Multiplication https://en.wikipedia.org/wiki/Multiplication].
+Blockly.Msg.MATH_ARITHMETIC_TOOLTIP_MULTIPLY = 'Return the product of the two numbers.';
+/// tooltip - See [https://en.wikipedia.org/wiki/Division_(mathematics) https://en.wikipedia.org/wiki/Division_(mathematics)].
+Blockly.Msg.MATH_ARITHMETIC_TOOLTIP_DIVIDE = 'Return the quotient of the two numbers.';
+/// tooltip - See [https://en.wikipedia.org/wiki/Exponentiation https://en.wikipedia.org/wiki/Exponentiation].
+Blockly.Msg.MATH_ARITHMETIC_TOOLTIP_POWER = 'Return the first number raised to the power of the second number.';
+
+/// {{Optional}} url - Information about the square root operation.
+Blockly.Msg.MATH_SINGLE_HELPURL = 'https://en.wikipedia.org/wiki/Square_root';
+/// dropdown - This computes the positive [https://en.wikipedia.org/wiki/Square_root square root] of its input.  For example, the square root of 16 is 4.
+Blockly.Msg.MATH_SINGLE_OP_ROOT = 'square root';
+/// tooltip - Please use the same term as in the previous message.
+Blockly.Msg.MATH_SINGLE_TOOLTIP_ROOT = 'Return the square root of a number.';
+/// dropdown - This leaves positive numeric inputs changed and inverts negative inputs.  For example, the absolute value of 5 is 5; the absolute value of -5 is also 5.  For more information, see [https://en.wikipedia.org/wiki/Absolute_value https://en.wikipedia.org/wiki/Absolute_value].
+Blockly.Msg.MATH_SINGLE_OP_ABSOLUTE = 'absolute';
+/// tooltip - Please use the same term as in the previous message.
+Blockly.Msg.MATH_SINGLE_TOOLTIP_ABS = 'Return the absolute value of a number.';
+
+/// tooltip - Calculates '''0-n''', where '''n''' is the single numeric input.
+Blockly.Msg.MATH_SINGLE_TOOLTIP_NEG = 'Return the negation of a number.';
+/// tooltip - Calculates the [https://en.wikipedia.org/wiki/Natural_logarithm|natural logarithm] of its single numeric input.
+Blockly.Msg.MATH_SINGLE_TOOLTIP_LN = 'Return the natural logarithm of a number.';
+/// tooltip - Calculates the [https://en.wikipedia.org/wiki/Common_logarithm common logarithm] of its single numeric input.
+Blockly.Msg.MATH_SINGLE_TOOLTIP_LOG10 = 'Return the base 10 logarithm of a number.';
+/// tooltip - Multiplies [https://en.wikipedia.org/wiki/E_(mathematical_constant) e] by itself n times, where n is the single numeric input.
+Blockly.Msg.MATH_SINGLE_TOOLTIP_EXP = 'Return e to the power of a number.';
+/// tooltip - Multiplies 10 by itself n times, where n is the single numeric input.
+Blockly.Msg.MATH_SINGLE_TOOLTIP_POW10 = 'Return 10 to the power of a number.';
+
+/// {{Optional}} url - Information about the trigonometric functions sine, cosine, tangent, and their inverses (ideally using degrees, not radians).
+Blockly.Msg.MATH_TRIG_HELPURL = 'https://en.wikipedia.org/wiki/Trigonometric_functions';
+/// tooltip - Return the [https://en.wikipedia.org/wiki/Trigonometric_functions#Sine.2C_cosine_and_tangent sine] of an [https://en.wikipedia.org/wiki/Degree_(angle) angle in degrees], not radians.
+Blockly.Msg.MATH_TRIG_TOOLTIP_SIN = 'Return the sine of a degree (not radian).';
+/// tooltip - Return the [https://en.wikipedia.org/wiki/Trigonometric_functions#Sine.2C_cosine_and_tangent cosine] of an [https://en.wikipedia.org/wiki/Degree_(angle) angle in degrees], not radians.
+Blockly.Msg.MATH_TRIG_TOOLTIP_COS = 'Return the cosine of a degree (not radian).';
+/// tooltip - Return the [https://en.wikipedia.org/wiki/Trigonometric_functions#Sine.2C_cosine_and_tangent tangent] of an [https://en.wikipedia.org/wiki/Degree_(angle) angle in degrees], not radians.
+Blockly.Msg.MATH_TRIG_TOOLTIP_TAN = 'Return the tangent of a degree (not radian).';
+/// tooltip - The [https://en.wikipedia.org/wiki/Inverse_trigonometric_functions inverse] of the [https://en.wikipedia.org/wiki/Cosine#Sine.2C_cosine_and_tangent sine function], using [https://en.wikipedia.org/wiki/Degree_(angle) degrees], not radians.
+Blockly.Msg.MATH_TRIG_TOOLTIP_ASIN = 'Return the arcsine of a number.';
+/// tooltip - The [https://en.wikipedia.org/wiki/Inverse_trigonometric_functions inverse] of the [https://en.wikipedia.org/wiki/Cosine#Sine.2C_cosine_and_tangent cosine] function, using [https://en.wikipedia.org/wiki/Degree_(angle) degrees], not radians.
+Blockly.Msg.MATH_TRIG_TOOLTIP_ACOS = 'Return the arccosine of a number.';
+/// tooltip - The [https://en.wikipedia.org/wiki/Inverse_trigonometric_functions inverse] of the [https://en.wikipedia.org/wiki/Cosine#Sine.2C_cosine_and_tangent tangent] function, using [https://en.wikipedia.org/wiki/Degree_(angle) degrees], not radians.
+Blockly.Msg.MATH_TRIG_TOOLTIP_ATAN = 'Return the arctangent of a number.';
+
+/// {{Optional}} url - Information about the mathematical constants Pi (Ï€), e, the golden ratio (φ), âˆš 2, âˆš 1/2, and infinity (∞).
+Blockly.Msg.MATH_CONSTANT_HELPURL = 'https://en.wikipedia.org/wiki/Mathematical_constant';
+/// tooltip - Provides the specified [https://en.wikipedia.org/wiki/Mathematical_constant 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).';
+/// dropdown - A number is '''even''' if it is a multiple of 2.  For example, 4 is even (yielding true), but 3 is not (false).
+Blockly.Msg.MATH_IS_EVEN = 'is even';
+/// dropdown - A number is '''odd''' if it is not a multiple of 2.  For example, 3 is odd (yielding true), but 4 is not (false).  The opposite of "odd" is "even".
+Blockly.Msg.MATH_IS_ODD = 'is odd';
+/// dropdown - A number is [https://en.wikipedia.org/wiki/Prime prime] if it cannot be evenly divided by any positive integers except for 1 and itself.  For example, 5 is prime, but 6 is not because 2 × 3 = 6.
+Blockly.Msg.MATH_IS_PRIME = 'is prime';
+/// dropdown - A number is '''whole''' if it is an [https://en.wikipedia.org/wiki/Integer integer].  For example, 5 is whole, but 5.1 is not.
+Blockly.Msg.MATH_IS_WHOLE = 'is whole';
+/// dropdown - A number is '''positive''' if it is greater than 0.  (0 is neither negative nor positive.)
+Blockly.Msg.MATH_IS_POSITIVE = 'is positive';
+/// dropdown - A number is '''negative''' if it is less than 0.  (0 is neither negative nor positive.)
+Blockly.Msg.MATH_IS_NEGATIVE = 'is negative';
+/// dropdown - A number x is divisible by y if y goes into x evenly.  For example, 10 is divisible by 5, but 10 is not divisible by 3.
+Blockly.Msg.MATH_IS_DIVISIBLE_BY = 'is divisible by';
+/// tooltip - This block lets the user specify via a dropdown menu whether to check if the numeric input is even, odd, prime, whole, positive, negative, or divisible by a given value.
+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.';
+
+/// {{Optional}} url - Information about incrementing (increasing the value of) a variable.
+/// For other languages, just use the translation of the Wikipedia page about
+/// addition ([https://en.wikipedia.org/wiki/Addition https://en.wikipedia.org/wiki/Addition]).
+Blockly.Msg.MATH_CHANGE_HELPURL = 'https://en.wikipedia.org/wiki/Programming_idiom#Incrementing_a_counter';
+/// - As in: ''change'' [the value of variable] ''item'' ''by'' 1 (e.g., if the variable named 'item' had the value 5, change it to 6).
+/// %1 is a variable name.
+/// %2 is the amount of change.
+Blockly.Msg.MATH_CHANGE_TITLE = 'change %1 by %2';
+Blockly.Msg.MATH_CHANGE_TITLE_ITEM = Blockly.Msg.VARIABLES_DEFAULT_NAME;
+/// tooltip - This updates the value of the variable by adding to it the following numeric input.\n\nParameters:\n* %1 - the name of the variable whose value should be increased.
+Blockly.Msg.MATH_CHANGE_TOOLTIP = 'Add a number to variable "%1".';
+
+/// {{Optional}} url - Information about how numbers are rounded to the nearest integer
+Blockly.Msg.MATH_ROUND_HELPURL = 'https://en.wikipedia.org/wiki/Rounding';
+/// tooltip - See [https://en.wikipedia.org/wiki/Rounding https://en.wikipedia.org/wiki/Rounding].
+Blockly.Msg.MATH_ROUND_TOOLTIP = 'Round a number up or down.';
+/// dropdown - This rounds its input to the nearest whole number.  For example, 3.4 is rounded to 3.
+Blockly.Msg.MATH_ROUND_OPERATOR_ROUND = 'round';
+/// dropdown - This rounds its input up to the nearest whole number.  For example, if the input was 2.2, the result would be 3.
+Blockly.Msg.MATH_ROUND_OPERATOR_ROUNDUP = 'round up';
+/// dropdown - This rounds its input down to the nearest whole number.  For example, if the input was 3.8, the result would be 3.
+Blockly.Msg.MATH_ROUND_OPERATOR_ROUNDDOWN = 'round down';
+
+/// {{Optional}} url - Information about applying a function to a list of numbers.  (We were unable to find such information in English.  Feel free to skip this and any other URLs that are difficult.)
+Blockly.Msg.MATH_ONLIST_HELPURL = '';
+/// dropdown - This computes the sum of the numeric elements in the list.  For example, the sum of the list {1, 4} is 5.
+Blockly.Msg.MATH_ONLIST_OPERATOR_SUM = 'sum of list';
+/// tooltip - Please use the same term for "sum" as in the previous message.
+Blockly.Msg.MATH_ONLIST_TOOLTIP_SUM = 'Return the sum of all the numbers in the list.';
+/// dropdown - This finds the smallest (minimum) number in a list.  For example, the smallest number in the list [-5, 0, 3] is -5.
+Blockly.Msg.MATH_ONLIST_OPERATOR_MIN = 'min of list';
+/// tooltip - Please use the same term for "min" or "minimum" as in the previous message.
+Blockly.Msg.MATH_ONLIST_TOOLTIP_MIN = 'Return the smallest number in the list.';
+/// dropdown - This finds the largest (maximum) number in a list.  For example, the largest number in the list [-5, 0, 3] is 3.
+Blockly.Msg.MATH_ONLIST_OPERATOR_MAX = 'max of list';
+/// tooltip
+Blockly.Msg.MATH_ONLIST_TOOLTIP_MAX = 'Return the largest number in the list.';
+/// dropdown - This adds up all of the numbers in a list and divides the sum by the number of elements in the list.  For example, the [https://en.wikipedia.org/wiki/Arithmetic_mean average] of the list [1, 2, 3, 4] is 2.5 (10/4).
+Blockly.Msg.MATH_ONLIST_OPERATOR_AVERAGE = 'average of list';
+/// tooltip - See [https://en.wikipedia.org/wiki/Arithmetic_mean https://en.wikipedia.org/wiki/Arithmetic_mean] for more informatin.
+Blockly.Msg.MATH_ONLIST_TOOLTIP_AVERAGE = 'Return the average (arithmetic mean) of the numeric values in the list.';
+/// dropdown - This finds the [https://en.wikipedia.org/wiki/Median median] of the numeric values in a list.  For example, the median of the list {1, 2, 7, 12, 13} is 7.
+Blockly.Msg.MATH_ONLIST_OPERATOR_MEDIAN = 'median of list';
+/// tooltip - See [https://en.wikipedia.org/wiki/Median median https://en.wikipedia.org/wiki/Median median] for more information.
+Blockly.Msg.MATH_ONLIST_TOOLTIP_MEDIAN = 'Return the median number in the list.';
+/// dropdown - This finds the most common numbers ([https://en.wikipedia.org/wiki/Mode_(statistics) modes]) in a list.  For example, the modes of the list {1, 3, 9, 3, 9}  are {3, 9}.
+Blockly.Msg.MATH_ONLIST_OPERATOR_MODE = 'modes of list';
+/// tooltip - See [https://en.wikipedia.org/wiki/Mode_(statistics) https://en.wikipedia.org/wiki/Mode_(statistics)] for more information.
+Blockly.Msg.MATH_ONLIST_TOOLTIP_MODE = 'Return a list of the most common item(s) in the list.';
+/// dropdown - This finds the [https://en.wikipedia.org/wiki/Standard_deviation standard deviation] of the numeric values in a list.
+Blockly.Msg.MATH_ONLIST_OPERATOR_STD_DEV = 'standard deviation of list';
+/// tooltip - See [https://en.wikipedia.org/wiki/Standard_deviation https://en.wikipedia.org/wiki/Standard_deviation] for more information.
+Blockly.Msg.MATH_ONLIST_TOOLTIP_STD_DEV = 'Return the standard deviation of the list.';
+/// dropdown - This choose an element at random from a list.  Each element is chosen with equal probability.
+Blockly.Msg.MATH_ONLIST_OPERATOR_RANDOM = 'random item of list';
+/// tooltip - Please use same term for 'random' as in previous entry.
+Blockly.Msg.MATH_ONLIST_TOOLTIP_RANDOM = 'Return a random element from the list.';
+
+/// {{Optional}} url - information about the modulo (remainder) operation.
+Blockly.Msg.MATH_MODULO_HELPURL = 'https://en.wikipedia.org/wiki/Modulo_operation';
+/// block text - Title of block providing the remainder when dividing the first numerical input by the second.  For example, the remainder of 10 divided by 3 is 1.\n\nParameters:\n* %1 - the dividend (10, in our example)\n* %2 - the divisor (3 in our example).
+Blockly.Msg.MATH_MODULO_TITLE = 'remainder of %1 ÷ %2';
+/// tooltip - For example, the remainder of 10 divided by 3 is 1.
+Blockly.Msg.MATH_MODULO_TOOLTIP = 'Return the remainder from dividing the two numbers.';
+
+/// {{Optional}} url - Information about constraining a numeric value to be in a specific range.  (The English URL is not ideal.  Recall that translating URLs is the lowest priority.)
+Blockly.Msg.MATH_CONSTRAIN_HELPURL = 'https://en.wikipedia.org/wiki/Clamping_(graphics)';
+/// block text - The title of the block that '''constrain'''s (forces) a number to be in a given range.
+///For example, if the number 150 is constrained to be between 5 and 100, the result will be 100.
+///\n\nParameters:\n* %1 - the value to constrain (e.g., 150)\n* %2 - the minimum value (e.g., 5)\n* %3 - the maximum value (e.g., 100).
+Blockly.Msg.MATH_CONSTRAIN_TITLE = 'constrain %1 low %2 high %3';
+/// tooltip - This compares a number ''x'' to a low value ''L'' and a high value ''H''.  If ''x'' is less then ''L'', the result is ''L''.  If ''x'' is greater than ''H'', the result is ''H''.  Otherwise, the result is ''x''.
+Blockly.Msg.MATH_CONSTRAIN_TOOLTIP = 'Constrain a number to be between the specified limits (inclusive).';
+
+/// {{Optional}} url - Information about how computers generate random numbers.
+Blockly.Msg.MATH_RANDOM_INT_HELPURL = 'https://en.wikipedia.org/wiki/Random_number_generation';
+/// block text - The title of the block that generates a random integer (whole number) in the specified range.  For example, if the range is from 5 to 7, this returns 5, 6, or 7 with equal likelihood. %1 is a placeholder for the lower number, %2 is the placeholder for the larger number.
+Blockly.Msg.MATH_RANDOM_INT_TITLE = 'random integer from %1 to %2';
+/// tooltip - Return a random integer between two values specified as inputs.  For example, if one input was 7 and another 9, any of the numbers 7, 8, or 9 could be produced.
+Blockly.Msg.MATH_RANDOM_INT_TOOLTIP = 'Return a random integer between the two specified limits, inclusive.';
+
+/// {{Optional}} url - Information about how computers generate random numbers (specifically, numbers in the range from 0 to just below 1).
+Blockly.Msg.MATH_RANDOM_FLOAT_HELPURL = 'https://en.wikipedia.org/wiki/Random_number_generation';
+/// block text - The title of the block that generates a random number greater than or equal to 0 and less than 1.
+Blockly.Msg.MATH_RANDOM_FLOAT_TITLE_RANDOM = 'random fraction';
+/// tooltip - Return a random fraction between 0 and 1.  The value may be equal to 0 but must be less than 1.
+Blockly.Msg.MATH_RANDOM_FLOAT_TOOLTIP = 'Return a random fraction between 0.0 (inclusive) and 1.0 (exclusive).';
+
+// Text Blocks.
+/// {{Optional}} url - Information about how computers represent text (sometimes referred to as ''string''s).
+Blockly.Msg.TEXT_TEXT_HELPURL = 'https://en.wikipedia.org/wiki/String_(computer_science)';
+/// tooltip - See [https://github.com/google/blockly/wiki/Text https://github.com/google/blockly/wiki/Text].
+Blockly.Msg.TEXT_TEXT_TOOLTIP = 'A letter, word, or line of text.';
+
+/// {{Optional}} url - Information on concatenating/appending pieces of text.
+Blockly.Msg.TEXT_JOIN_HELPURL = 'https://github.com/google/blockly/wiki/Text#text-creation';
+/// block text - See [https://github.com/google/blockly/wiki/Text#text-creation https://github.com/google/blockly/wiki/Text#text-creation].
+Blockly.Msg.TEXT_JOIN_TITLE_CREATEWITH = 'create text with';
+/// tooltip - See [https://github.com/google/blockly/wiki/Text#text-creation create text with] for more information.
+Blockly.Msg.TEXT_JOIN_TOOLTIP = 'Create a piece of text by joining together any number of items.';
+
+/// block text - This is shown when the programmer wants to change the number of pieces of text being joined together.  See [https://github.com/google/blockly/wiki/Text#text-creation https://github.com/google/blockly/wiki/Text#text-creation], specifically the last picture in the 'Text creation' section.\n{{Identical|Join}}
+Blockly.Msg.TEXT_CREATE_JOIN_TITLE_JOIN = 'join';
+/// tooltip - See [https://github.com/google/blockly/wiki/Text#text-creation https://github.com/google/blockly/wiki/Text#text-creation], specifically the last picture in the 'Text creation' section.
+Blockly.Msg.TEXT_CREATE_JOIN_TOOLTIP = 'Add, remove, or reorder sections to reconfigure this text block.';
+Blockly.Msg.TEXT_CREATE_JOIN_ITEM_TITLE_ITEM = Blockly.Msg.VARIABLES_DEFAULT_NAME;
+/// block text - See [https://github.com/google/blockly/wiki/Text#text-creation https://github.com/google/blockly/wiki/Text#text-creation], specifically the last picture in the 'Text creation' section.
+Blockly.Msg.TEXT_CREATE_JOIN_ITEM_TOOLTIP = 'Add an item to the text.';
+
+/// {{Optional}} url - This and the other text-related URLs are going to be hard to translate.  As always, it is okay to leave untranslated or paste in the English-language URL.  For these URLs, you might also consider a general URL about how computers represent text (such as the translation of [https://en.wikipedia.org/wiki/String_(computer_science) this Wikipedia page]).
+Blockly.Msg.TEXT_APPEND_HELPURL = 'https://github.com/google/blockly/wiki/Text#text-modification';
+/// block input text - Message that the variable name at %1 will have the item at %2 appended to it.
+/// [[File:blockly-append-text.png]]
+Blockly.Msg.TEXT_APPEND_TITLE = 'to %1 append text %2';
+Blockly.Msg.TEXT_APPEND_VARIABLE = Blockly.Msg.VARIABLES_DEFAULT_NAME;
+/// tooltip - See [https://github.com/google/blockly/wiki/Text#text-modification https://github.com/google/blockly/wiki/Text#text-modification] for more information.\n\nParameters:\n* %1 - the name of the variable to which text should be appended
+Blockly.Msg.TEXT_APPEND_TOOLTIP = 'Append some text to variable "%1".';
+
+/// {{Optional}} url - Information about text on computers (usually referred to as 'strings').
+Blockly.Msg.TEXT_LENGTH_HELPURL = 'https://github.com/google/blockly/wiki/Text#text-modification';
+/// block text - See [https://github.com/google/blockly/wiki/Text#text-length https://github.com/google/blockly/wiki/Text#text-length].
+/// \n\nParameters:\n* %1 - the piece of text to take the length of
+Blockly.Msg.TEXT_LENGTH_TITLE = 'length of %1';
+/// tooltip - See [https://github.com/google/blockly/wiki/Text#text-length https://github.com/google/blockly/wiki/Text#text-length].
+Blockly.Msg.TEXT_LENGTH_TOOLTIP = 'Returns the number of letters (including spaces) in the provided text.';
+
+/// {{Optional}} url - Information about empty pieces of text on computers (usually referred to as 'empty strings').
+Blockly.Msg.TEXT_ISEMPTY_HELPURL = 'https://github.com/google/blockly/wiki/Text#checking-for-empty-text';
+/// block text - See [https://github.com/google/blockly/wiki/Text#checking-for-empty-text https://github.com/google/blockly/wiki/Text#checking-for-empty-text].
+/// \n\nParameters:\n* %1 - the piece of text to test for emptiness
+Blockly.Msg.TEXT_ISEMPTY_TITLE = '%1 is empty';
+/// tooltip - See [https://github.com/google/blockly/wiki/Text#checking-for-empty-text https://github.com/google/blockly/wiki/Text#checking-for-empty-text].
+Blockly.Msg.TEXT_ISEMPTY_TOOLTIP = 'Returns true if the provided text is empty.';
+
+/// {{Optional}} url - Information about finding a character in a piece of text.
+Blockly.Msg.TEXT_INDEXOF_HELPURL = 'https://github.com/google/blockly/wiki/Text#finding-text';
+/// tooltip - %1 will be replaced by either the number 0 or -1 depending on the indexing mode. See [https://github.com/google/blockly/wiki/Text#finding-text https://github.com/google/blockly/wiki/Text#finding-text].
+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.';
+/// block text - Title of blocks allowing users to find text.  See
+/// [https://github.com/google/blockly/wiki/Text#finding-text
+/// https://github.com/google/blockly/wiki/Text#finding-text].
+/// [[File:Blockly-find-text.png]].
+/// In English the expanded message is "in text %1 find (first|last) occurance of text %3"
+/// where %1 and %3 are added by the user. See TEXT_INDEXOF_OPERATOR_FIRST and
+/// TEXT_INDEXOF_OPERATOR_LAST for the dropdown text that replaces %2.
+Blockly.Msg.TEXT_INDEXOF_TITLE = 'in text %1 %2 %3';
+/// dropdown - See [https://github.com/google/blockly/wiki/Text#finding-text
+/// https://github.com/google/blockly/wiki/Text#finding-text].
+/// [[File:Blockly-find-text.png]].
+Blockly.Msg.TEXT_INDEXOF_OPERATOR_FIRST = 'find first occurrence of text';
+/// dropdown - See [https://github.com/google/blockly/wiki/Text#finding-text
+/// https://github.com/google/blockly/wiki/Text#finding-text].  This would
+/// replace "find first occurrence of text" below.  (For more information on
+/// how common text is factored out of dropdown menus, see
+/// [https://translatewiki.net/wiki/Translating:Blockly#Drop-Down_Menus
+/// https://translatewiki.net/wiki/Translating:Blockly#Drop-Down_Menus)].)
+/// [[File:Blockly-find-text.png]].
+Blockly.Msg.TEXT_INDEXOF_OPERATOR_LAST = 'find last occurrence of text';
+
+/// {{Optional}} url - Information about extracting characters (letters, number, symbols, etc.) from text.
+Blockly.Msg.TEXT_CHARAT_HELPURL = 'https://github.com/google/blockly/wiki/Text#extracting-text';
+/// block text - Text for a block to extract a letter (or number,
+/// punctuation character, etc.) from a string, as shown below. %1 is added by
+/// the user and %2 is replaced by a dropdown of options, possibly followed by
+/// another user supplied string. TEXT_CHARAT_TAIL is then added to the end.  See
+/// [https://github.com/google/blockly/wiki/Text#extracting-a-single-character
+/// https://github.com/google/blockly/wiki/Text#extracting-a-single-character].
+/// [[File:Blockly-text-get.png]]
+Blockly.Msg.TEXT_CHARAT_TITLE = 'in text %1 %2'
+/// dropdown - Indicates that the letter (or number, punctuation character, etc.) with the
+/// specified index should be obtained from the preceding piece of text.  See
+/// [https://github.com/google/blockly/wiki/Text#extracting-a-single-character
+/// https://github.com/google/blockly/wiki/Text#extracting-a-single-character].
+/// [[File:Blockly-text-get.png]]
+Blockly.Msg.TEXT_CHARAT_FROM_START = 'get letter #';
+/// block text - Indicates that the letter (or number, punctuation character, etc.) with the
+/// specified index from the end of a given piece of text should be obtained. See
+/// [https://github.com/google/blockly/wiki/Text#extracting-a-single-character
+/// https://github.com/google/blockly/wiki/Text#extracting-a-single-character].
+/// [[File:Blockly-text-get.png]]
+Blockly.Msg.TEXT_CHARAT_FROM_END = 'get letter # from end';
+/// block text - Indicates that the first letter of the following piece of text should be
+/// retrieved.  See [https://github.com/google/blockly/wiki/Text#extracting-a-single-character
+/// https://github.com/google/blockly/wiki/Text#extracting-a-single-character].
+/// [[File:Blockly-text-get.png]]
+Blockly.Msg.TEXT_CHARAT_FIRST = 'get first letter';
+/// block text - Indicates that the last letter (or number, punctuation mark, etc.) of the
+/// following piece of text should be retrieved.  See
+/// [https://github.com/google/blockly/wiki/Text#extracting-a-single-character
+/// https://github.com/google/blockly/wiki/Text#extracting-a-single-character].
+/// [[File:Blockly-text-get.png]]
+Blockly.Msg.TEXT_CHARAT_LAST = 'get last letter';
+/// block text - Indicates that any letter (or number, punctuation mark, etc.) in the
+/// following piece of text should be randomly selected.  See
+/// [https://github.com/google/blockly/wiki/Text#extracting-a-single-character
+/// https://github.com/google/blockly/wiki/Text#extracting-a-single-character].
+/// [[File:Blockly-text-get.png]]
+Blockly.Msg.TEXT_CHARAT_RANDOM = 'get random letter';
+/// block text - Text that goes after the rightmost block/dropdown when getting a single letter from
+/// a piece of text, as in [https://blockly-demo.appspot.com/static/apps/code/index.html#3m23km these
+/// blocks] or shown below.  For most languages, this will be blank.
+/// [[File:Blockly-text-get.png]]
+Blockly.Msg.TEXT_CHARAT_TAIL = '';
+/// tooltip - See [https://github.com/google/blockly/wiki/Text#extracting-a-single-character
+/// https://github.com/google/blockly/wiki/Text#extracting-a-single-character].
+/// [[File:Blockly-text-get.png]]
+Blockly.Msg.TEXT_CHARAT_TOOLTIP = 'Returns the letter at the specified position.';
+
+/// See [https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text
+/// https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text].
+Blockly.Msg.TEXT_GET_SUBSTRING_TOOLTIP = 'Returns a specified portion of the text.';
+/// {{Optional}} url - Information about extracting characters from text.  Reminder: urls are the
+/// lowest priority translations.  Feel free to skip.
+Blockly.Msg.TEXT_GET_SUBSTRING_HELPURL = 'https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text';
+/// block text - Precedes a piece of text from which a portion should be extracted.
+/// [[File:Blockly-get-substring.png]]
+Blockly.Msg.TEXT_GET_SUBSTRING_INPUT_IN_TEXT = 'in text';
+/// dropdown - Indicates that the following number specifies the position (relative to the start
+/// position) of the beginning of the region of text that should be obtained from the preceding
+/// piece of text.  See [https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text
+/// https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text].
+/// [[File:Blockly-get-substring.png]]
+Blockly.Msg.TEXT_GET_SUBSTRING_START_FROM_START = 'get substring from letter #';
+/// dropdown - Indicates that the following number specifies the position (relative to the end
+/// position) of the beginning of the region of text that should be obtained from the preceding
+/// piece of text.  See [https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text
+/// https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text].
+/// Note: If {{msg-blockly|ORDINAL_NUMBER_SUFFIX}} is defined, it will
+/// automatically appear ''after'' this and any other
+/// [https://translatewiki.net/wiki/Translating:Blockly#Ordinal_numbers ordinal numbers]
+/// on this block.
+/// [[File:Blockly-get-substring.png]]
+Blockly.Msg.TEXT_GET_SUBSTRING_START_FROM_END = 'get substring from letter # from end';
+/// block text - Indicates that a region starting with the first letter of the preceding piece
+/// of text should be extracted.  See
+/// [https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text
+/// https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text].
+/// [[File:Blockly-get-substring.png]]
+Blockly.Msg.TEXT_GET_SUBSTRING_START_FIRST = 'get substring from first letter';
+/// dropdown - Indicates that the following number specifies the position (relative to
+/// the start position) of the end of the region of text that should be obtained from the
+/// preceding piece of text.  See
+/// [https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text
+/// https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text].
+/// [[File:Blockly-get-substring.png]]
+Blockly.Msg.TEXT_GET_SUBSTRING_END_FROM_START = 'to letter #';
+/// dropdown - Indicates that the following number specifies the position (relative to the
+/// end position) of the end of the region of text that should be obtained from the preceding
+/// piece of text.  See
+/// [https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text
+/// https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text].
+/// [[File:Blockly-get-substring.png]]
+Blockly.Msg.TEXT_GET_SUBSTRING_END_FROM_END = 'to letter # from end';
+/// block text - Indicates that a region ending with the last letter of the preceding piece
+/// of text should be extracted.  See
+/// [https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text
+/// https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text].
+/// [[File:Blockly-get-substring.png]]
+Blockly.Msg.TEXT_GET_SUBSTRING_END_LAST = 'to last letter';
+/// block text - Text that should go after the rightmost block/dropdown when
+/// [https://github.com/google/blockly/wiki/Text#extracting-a-region-of-text
+/// extracting a region of text].  In most languages, this will be the empty string.
+/// [[File:Blockly-get-substring.png]]
+Blockly.Msg.TEXT_GET_SUBSTRING_TAIL = '';
+
+/// {{Optional}} url - Information about the case of letters (upper-case and lower-case).
+Blockly.Msg.TEXT_CHANGECASE_HELPURL = 'https://github.com/google/blockly/wiki/Text#adjusting-text-case';
+/// tooltip - Describes a block to adjust the case of letters.  For more information on this block,
+/// see [https://github.com/google/blockly/wiki/Text#adjusting-text-case
+/// https://github.com/google/blockly/wiki/Text#adjusting-text-case].
+Blockly.Msg.TEXT_CHANGECASE_TOOLTIP = 'Return a copy of the text in a different case.';
+/// block text - Indicates that all of the letters in the following piece of text should be
+/// capitalized.  If your language does not use case, you may indicate that this is not
+/// applicable to your language.  For more information on this block, see
+/// [https://github.com/google/blockly/wiki/Text#adjusting-text-case
+/// https://github.com/google/blockly/wiki/Text#adjusting-text-case].
+Blockly.Msg.TEXT_CHANGECASE_OPERATOR_UPPERCASE = 'to UPPER CASE';
+/// block text - Indicates that all of the letters in the following piece of text should be converted to lower-case.  If your language does not use case, you may indicate that this is not applicable to your language.  For more information on this block, see [https://github.com/google/blockly/wiki/Text#adjusting-text-case https://github.com/google/blockly/wiki/Text#adjusting-text-case].
+Blockly.Msg.TEXT_CHANGECASE_OPERATOR_LOWERCASE = 'to lower case';
+/// block text - Indicates that the first letter of each of the following words should be capitalized and the rest converted to lower-case.  If your language does not use case, you may indicate that this is not applicable to your language.  For more information on this block, see [https://github.com/google/blockly/wiki/Text#adjusting-text-case https://github.com/google/blockly/wiki/Text#adjusting-text-case].
+Blockly.Msg.TEXT_CHANGECASE_OPERATOR_TITLECASE = 'to Title Case';
+
+/// {{Optional}} url - Information about trimming (removing) text off the beginning and ends of pieces of text.
+Blockly.Msg.TEXT_TRIM_HELPURL = 'https://github.com/google/blockly/wiki/Text#trimming-removing-spaces';
+/// tooltip - See [https://github.com/google/blockly/wiki/Text#trimming-removing-spaces
+/// https://github.com/google/blockly/wiki/Text#trimming-removing-spaces].
+Blockly.Msg.TEXT_TRIM_TOOLTIP = 'Return a copy of the text with spaces removed from one or both ends.';
+/// dropdown - Removes spaces from the beginning and end of a piece of text.  See
+/// [https://github.com/google/blockly/wiki/Text#trimming-removing-spaces
+/// https://github.com/google/blockly/wiki/Text#trimming-removing-spaces].  Note that neither
+/// this nor the other options modify the original piece of text (that follows);
+/// the block just returns a version of the text without the specified spaces.
+Blockly.Msg.TEXT_TRIM_OPERATOR_BOTH = 'trim spaces from both sides of';
+/// dropdown - Removes spaces from the beginning of a piece of text.  See
+/// [https://github.com/google/blockly/wiki/Text#trimming-removing-spaces
+/// https://github.com/google/blockly/wiki/Text#trimming-removing-spaces].
+/// Note that in right-to-left scripts, this will remove spaces from the right side.
+Blockly.Msg.TEXT_TRIM_OPERATOR_LEFT = 'trim spaces from left side of';
+/// dropdown - Removes spaces from the end of a piece of text.  See
+/// [https://github.com/google/blockly/wiki/Text#trimming-removing-spaces
+/// https://github.com/google/blockly/wiki/Text#trimming-removing-spaces].
+/// Note that in right-to-left scripts, this will remove spaces from the left side.
+Blockly.Msg.TEXT_TRIM_OPERATOR_RIGHT = 'trim spaces from right side of';
+
+/// {{Optional}} url - Information about displaying text on computers.
+Blockly.Msg.TEXT_PRINT_HELPURL = 'https://github.com/google/blockly/wiki/Text#printing-text';
+/// block text - Display the input on the screen.  See
+/// [https://github.com/google/blockly/wiki/Text#printing-text
+/// https://github.com/google/blockly/wiki/Text#printing-text].
+/// \n\nParameters:\n* %1 - the value to print
+Blockly.Msg.TEXT_PRINT_TITLE = 'print %1';
+/// tooltip - See [https://github.com/google/blockly/wiki/Text#printing-text
+/// https://github.com/google/blockly/wiki/Text#printing-text].
+Blockly.Msg.TEXT_PRINT_TOOLTIP = 'Print the specified text, number or other value.';
+/// {{Optional}} url - Information about getting text from users.
+Blockly.Msg.TEXT_PROMPT_HELPURL = 'https://github.com/google/blockly/wiki/Text#getting-input-from-the-user';
+/// dropdown - Specifies that a piece of text should be requested from the user with
+/// the following message.  See [https://github.com/google/blockly/wiki/Text#printing-text
+/// https://github.com/google/blockly/wiki/Text#printing-text].
+Blockly.Msg.TEXT_PROMPT_TYPE_TEXT = 'prompt for text with message';
+/// dropdown - Specifies that a number should be requested from the user with the
+/// following message.  See [https://github.com/google/blockly/wiki/Text#printing-text
+/// https://github.com/google/blockly/wiki/Text#printing-text].
+Blockly.Msg.TEXT_PROMPT_TYPE_NUMBER = 'prompt for number with message';
+/// dropdown - Precedes the message with which the user should be prompted for
+/// a number.  See [https://github.com/google/blockly/wiki/Text#printing-text
+/// https://github.com/google/blockly/wiki/Text#printing-text].
+Blockly.Msg.TEXT_PROMPT_TOOLTIP_NUMBER = 'Prompt for user for a number.';
+/// dropdown - Precedes the message with which the user should be prompted for some text.
+/// See [https://github.com/google/blockly/wiki/Text#printing-text
+/// https://github.com/google/blockly/wiki/Text#printing-text].
+Blockly.Msg.TEXT_PROMPT_TOOLTIP_TEXT = 'Prompt for user for some text.';
+
+/// block text - Title of a block that counts the number of instances of
+/// a smaller pattern (%1) inside a longer string (%2).
+Blockly.Msg.TEXT_COUNT_MESSAGE0 = 'count %1 in %2';
+/// {{Optional}} url - Information about counting how many times a string appears in another string.
+Blockly.Msg.TEXT_COUNT_HELPURL = 'https://github.com/google/blockly/wiki/Text#counting-substrings';
+/// tooltip - Short description of a block that counts how many times some text occurs within some other text.
+Blockly.Msg.TEXT_COUNT_TOOLTIP = 'Count how many times some text occurs within some other text.';
+
+/// block text - Title of a block that returns a copy of text (%3) with all
+/// instances of some smaller text (%1) replaced with other text (%2).
+Blockly.Msg.TEXT_REPLACE_MESSAGE0 = 'replace %1 with %2 in %3';
+/// {{Optional}} url - Information about replacing each copy text (or string, in computer lingo) with other text.
+Blockly.Msg.TEXT_REPLACE_HELPURL = 'https://github.com/google/blockly/wiki/Text#replacing-substrings';
+/// tooltip - Short description of a block that replaces copies of text in a large text with other text.
+Blockly.Msg.TEXT_REPLACE_TOOLTIP = 'Replace all occurances of some text within some other text.';
+
+/// block text - Title of block that returns a copy of text (%1) with the order
+/// of letters and characters reversed.
+Blockly.Msg.TEXT_REVERSE_MESSAGE0 = 'reverse %1';
+/// {{Optional}} url - Information about reversing a letters/characters in text.
+Blockly.Msg.TEXT_REVERSE_HELPURL = 'https://github.com/google/blockly/wiki/Text#reversing-text';
+/// tooltip - See [https://github.com/google/blockly/wiki/Text].
+Blockly.Msg.TEXT_REVERSE_TOOLTIP = 'Reverses the order of the characters in the text.';
+
+// Lists Blocks.
+/// {{Optional}} url - Information on empty lists.
+Blockly.Msg.LISTS_CREATE_EMPTY_HELPURL = 'https://github.com/google/blockly/wiki/Lists#create-empty-list';
+/// block text - See [https://github.com/google/blockly/wiki/Lists#create-empty-list https://github.com/google/blockly/wiki/Lists#create-empty-list].
+Blockly.Msg.LISTS_CREATE_EMPTY_TITLE = 'create empty list';
+/// block text - See [https://github.com/google/blockly/wiki/Lists#create-empty-list https://github.com/google/blockly/wiki/Lists#create-empty-list].
+Blockly.Msg.LISTS_CREATE_EMPTY_TOOLTIP = 'Returns a list, of length 0, containing no data records';
+
+/// {{Optional}} url - Information on building lists.
+Blockly.Msg.LISTS_CREATE_WITH_HELPURL = 'https://github.com/google/blockly/wiki/Lists#create-list-with';
+/// tooltip - See [https://github.com/google/blockly/wiki/Lists#create-list-with https://github.com/google/blockly/wiki/Lists#create-list-with].
+Blockly.Msg.LISTS_CREATE_WITH_TOOLTIP = 'Create a list with any number of items.';
+/// block text - See [https://github.com/google/blockly/wiki/Lists#create-list-with https://github.com/google/blockly/wiki/Lists#create-list-with].
+Blockly.Msg.LISTS_CREATE_WITH_INPUT_WITH = 'create list with';
+/// block text - This appears in a sub-block when [https://github.com/google/blockly/wiki/Lists#changing-number-of-inputs changing the number of inputs in a ''''create list with'''' block].\n{{Identical|List}}
+Blockly.Msg.LISTS_CREATE_WITH_CONTAINER_TITLE_ADD = 'list';
+/// tooltip - See [https://github.com/google/blockly/wiki/Lists#changing-number-of-inputs https://github.com/google/blockly/wiki/Lists#changing-number-of-inputs].
+Blockly.Msg.LISTS_CREATE_WITH_CONTAINER_TOOLTIP = 'Add, remove, or reorder sections to reconfigure this list block.';
+Blockly.Msg.LISTS_CREATE_WITH_ITEM_TITLE = Blockly.Msg.VARIABLES_DEFAULT_NAME;
+/// tooltip - See [https://github.com/google/blockly/wiki/Lists#changing-number-of-inputs https://github.com/google/blockly/wiki/Lists#changing-number-of-inputs].
+Blockly.Msg.LISTS_CREATE_WITH_ITEM_TOOLTIP = 'Add an item to the list.';
+
+/// {{Optional}} url - Information about [https://github.com/google/blockly/wiki/Lists#create-list-with creating a list with multiple copies of a single item].
+Blockly.Msg.LISTS_REPEAT_HELPURL = 'https://github.com/google/blockly/wiki/Lists#create-list-with';
+/// {{Optional}} url - See [https://github.com/google/blockly/wiki/Lists#create-list-with creating a list with multiple copies of a single item].
+Blockly.Msg.LISTS_REPEAT_TOOLTIP = 'Creates a list consisting of the given value repeated the specified number of times.';
+/// block text - See [https://github.com/google/blockly/wiki/Lists#create-list-with
+/// https://github.com/google/blockly/wiki/Lists#create-list-with].
+///\n\nParameters:\n* %1 - the item (text) to be repeated\n* %2 - the number of times to repeat it
+Blockly.Msg.LISTS_REPEAT_TITLE = 'create list with item %1 repeated %2 times';
+
+/// {{Optional}} url - Information about how the length of a list is computed (i.e., by the total number of elements, not the number of different elements).
+Blockly.Msg.LISTS_LENGTH_HELPURL = 'https://github.com/google/blockly/wiki/Lists#length-of';
+/// block text - See [https://github.com/google/blockly/wiki/Lists#length-of https://github.com/google/blockly/wiki/Lists#length-of].
+/// \n\nParameters:\n* %1 - the list whose length is desired
+Blockly.Msg.LISTS_LENGTH_TITLE = 'length of %1';
+/// tooltip - See [https://github.com/google/blockly/wiki/Lists#length-of https://github.com/google/blockly/wiki/Lists#length-of Blockly:Lists:length of].
+Blockly.Msg.LISTS_LENGTH_TOOLTIP = 'Returns the length of a list.';
+
+/// {{Optional}} url - See [https://github.com/google/blockly/wiki/Lists#is-empty https://github.com/google/blockly/wiki/Lists#is-empty].
+Blockly.Msg.LISTS_ISEMPTY_HELPURL = 'https://github.com/google/blockly/wiki/Lists#is-empty';
+/// block text - See [https://github.com/google/blockly/wiki/Lists#is-empty
+/// https://github.com/google/blockly/wiki/Lists#is-empty].
+/// \n\nParameters:\n* %1 - the list to test
+Blockly.Msg.LISTS_ISEMPTY_TITLE = '%1 is empty';
+/// block tooltip - See [https://github.com/google/blockly/wiki/Lists#is-empty
+/// https://github.com/google/blockly/wiki/Lists#is-empty].
+Blockly.Msg.LISTS_ISEMPTY_TOOLTIP = 'Returns true if the list is empty.';
+
+/// block text - Title of blocks operating on [https://github.com/google/blockly/wiki/Lists lists].
+Blockly.Msg.LISTS_INLIST = 'in list';
+
+/// {{Optional}} url - See [https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list
+/// https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list].
+Blockly.Msg.LISTS_INDEX_OF_HELPURL = 'https://github.com/google/blockly/wiki/Lists#getting-items-from-a-list';
+Blockly.Msg.LISTS_INDEX_OF_INPUT_IN_LIST = Blockly.Msg.LISTS_INLIST;
+/// dropdown - See [https://github.com/google/blockly/wiki/Lists#finding-items-in-a-list
+/// Lists#finding-items-in-a-list].
+/// [[File:Blockly-list-find.png]]
+Blockly.Msg.LISTS_INDEX_OF_FIRST = 'find first occurrence of item';
+/// dropdown - See [https://github.com/google/blockly/wiki/Lists#finding-items-in-a-list
+/// https://github.com/google/blockly/wiki/Lists#finding-items-in-a-list].
+/// [[File:Blockly-list-find.png]]
+Blockly.Msg.LISTS_INDEX_OF_LAST = 'find last occurrence of item';
+/// tooltip - %1 will be replaced by either the number 0 or -1 depending on the indexing mode.  See [https://github.com/google/blockly/wiki/Lists#finding-items-in-a-list
+/// https://github.com/google/blockly/wiki/Lists#finding-items-in-a-list].
+/// [[File:Blockly-list-find.png]]
+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_GET_INDEX_HELPURL = Blockly.Msg.LISTS_INDEX_OF_HELPURL;
+/// dropdown - Indicates that the user wishes to
+/// [https://github.com/google/blockly/wiki/Lists#getting-a-single-item
+/// get an item from a list] without removing it from the list.
+Blockly.Msg.LISTS_GET_INDEX_GET = 'get';
+/// dropdown - Indicates that the user wishes to
+/// [https://github.com/google/blockly/wiki/Lists#getting-a-single-item
+/// get and remove an item from a list], as opposed to merely getting
+/// it without modifying the list.
+Blockly.Msg.LISTS_GET_INDEX_GET_REMOVE = 'get and remove';
+/// dropdown - Indicates that the user wishes to
+/// [https://github.com/google/blockly/wiki/Lists#removing-an-item
+/// remove an item from a list].\n{{Identical|Remove}}
+Blockly.Msg.LISTS_GET_INDEX_REMOVE = 'remove';
+/// dropdown - Indicates that an index relative to the front of the list should be used to
+/// [https://github.com/google/blockly/wiki/Lists#getting-a-single-item get and/or remove
+/// an item from a list].  Note: If {{msg-blockly|ORDINAL_NUMBER_SUFFIX}} is defined, it will
+/// automatically appear ''after'' this number (and any other ordinal numbers on this block).
+/// See [[Translating:Blockly#Ordinal_numbers]] for more information on ordinal numbers in Blockly.
+/// [[File:Blockly-list-get-item.png]]
+Blockly.Msg.LISTS_GET_INDEX_FROM_START = '#';
+/// dropdown - Indicates that an index relative to the end of the list should be used
+/// to [https://github.com/google/blockly/wiki/Lists#getting-a-single-item access an item in a list].
+/// [[File:Blockly-list-get-item.png]]
+Blockly.Msg.LISTS_GET_INDEX_FROM_END = '# from end';
+/// dropdown - Indicates that the '''first''' item should be
+/// [https://github.com/google/blockly/wiki/Lists#getting-a-single-item accessed in a list].
+/// [[File:Blockly-list-get-item.png]]
+Blockly.Msg.LISTS_GET_INDEX_FIRST = 'first';
+/// dropdown - Indicates that the '''last''' item should be
+/// [https://github.com/google/blockly/wiki/Lists#getting-a-single-item accessed in a list].
+/// [[File:Blockly-list-get-item.png]]
+Blockly.Msg.LISTS_GET_INDEX_LAST = 'last';
+/// dropdown - Indicates that a '''random''' item should be
+/// [https://github.com/google/blockly/wiki/Lists#getting-a-single-item accessed in a list].
+/// [[File:Blockly-list-get-item.png]]
+Blockly.Msg.LISTS_GET_INDEX_RANDOM = 'random';
+/// block text - Text that should go after the rightmost block/dropdown when
+/// [https://github.com/google/blockly/wiki/Lists#getting-a-single-item
+/// accessing an item from a list].  In most languages, this will be the empty string.
+/// [[File:Blockly-list-get-item.png]]
+Blockly.Msg.LISTS_GET_INDEX_TAIL = '';
+Blockly.Msg.LISTS_GET_INDEX_INPUT_IN_LIST = Blockly.Msg.LISTS_INLIST;
+/// tooltip - Indicates the ordinal number that the first item in a list is referenced by.  %1 will be replaced by either "#0" or "#1" depending on the indexing mode.
+Blockly.Msg.LISTS_INDEX_FROM_START_TOOLTIP = '%1 is the first item.';
+/// tooltip - Indicates the ordinal number that the last item in a list is referenced by.  %1 will be replaced by either "#0" or "#1" depending on the indexing mode.
+Blockly.Msg.LISTS_INDEX_FROM_END_TOOLTIP = '%1 is the last item.';
+/// tooltip - See [https://github.com/google/blockly/wiki/Lists#getting-a-single-item https://github.com/google/blockly/wiki/Lists#getting-a-single-item] for more information.
+Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FROM = 'Returns the item at the specified position in a list.';
+/// tooltip - See [https://github.com/google/blockly/wiki/Lists#getting-a-single-item https://github.com/google/blockly/wiki/Lists#getting-a-single-item] for more information.
+Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_FIRST = 'Returns the first item in a list.';
+/// tooltip - See [https://github.com/google/blockly/wiki/Lists#getting-a-single-item https://github.com/google/blockly/wiki/Lists#getting-a-single-item] for more information.
+Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_LAST = 'Returns the last item in a list.';
+/// tooltip - See [https://github.com/google/blockly/wiki/Lists#getting-a-single-item https://github.com/google/blockly/wiki/Lists#getting-a-single-item] for more information.
+Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_RANDOM = 'Returns a random item in a list.';
+/// tooltip - See [https://github.com/google/blockly/wiki/Lists#getting-and-removing-an-item] (for remove and return) and [https://github.com/google/blockly/wiki/Lists#getting-a-single-item] for '#' or '# from end'.
+Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FROM = 'Removes and returns the item at the specified position in a list.';
+/// tooltip - See [https://github.com/google/blockly/wiki/Lists#getting-and-removing-an-item] (for remove and return) and [https://github.com/google/blockly/wiki/Lists#getting-a-single-item] for 'first'.
+Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_FIRST = 'Removes and returns the first item in a list.';
+/// tooltip - See [https://github.com/google/blockly/wiki/Lists#getting-and-removing-an-item] (for remove and return) and [https://github.com/google/blockly/wiki/Lists#getting-a-single-item] for 'last'.
+Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_LAST = 'Removes and returns the last item in a list.';
+/// tooltip - See [https://github.com/google/blockly/wiki/Lists#getting-and-removing-an-item] (for remove and return) and [https://github.com/google/blockly/wiki/Lists#getting-a-single-item] for 'random'.
+Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_GET_REMOVE_RANDOM = 'Removes and returns a random item in a list.';
+/// tooltip - See [https://github.com/google/blockly/wiki/Lists#getting-and-removing-an-item] (for remove and return) and [https://github.com/google/blockly/wiki/Lists#getting-a-single-item] for '#' or '# from end'.
+Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_FROM = 'Removes the item at the specified position in a list.';
+/// tooltip - See [https://github.com/google/blockly/wiki/Lists#getting-and-removing-an-item] (for remove and return) and [https://github.com/google/blockly/wiki/Lists#getting-a-single-item] for 'first'.
+Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_FIRST = 'Removes the first item in a list.';
+/// tooltip - See [https://github.com/google/blockly/wiki/Lists#getting-and-removing-an-item] (for remove and return) and [https://github.com/google/blockly/wiki/Lists#getting-a-single-item] for 'last'.
+Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_LAST = 'Removes the last item in a list.';
+/// tooltip - See [https://github.com/google/blockly/wiki/Lists#getting-and-removing-an-item] (for remove and return) and [https://github.com/google/blockly/wiki/Lists#getting-a-single-item] for 'random'.
+Blockly.Msg.LISTS_GET_INDEX_TOOLTIP_REMOVE_RANDOM = 'Removes a random item in a list.';
+/// {{Optional}} url - Information about putting items in lists.
+Blockly.Msg.LISTS_SET_INDEX_HELPURL = 'https://github.com/google/blockly/wiki/Lists#in-list--set';
+Blockly.Msg.LISTS_SET_INDEX_INPUT_IN_LIST = Blockly.Msg.LISTS_INLIST;
+/// block text - [https://github.com/google/blockly/wiki/Lists#in-list--set
+/// Replaces an item in a list].
+/// [[File:Blockly-in-list-set-insert.png]]
+Blockly.Msg.LISTS_SET_INDEX_SET = 'set';
+/// block text - [https://github.com/google/blockly/wiki/Lists#in-list--insert-at
+/// Inserts an item into a list].
+/// [[File:Blockly-in-list-set-insert.png]]
+Blockly.Msg.LISTS_SET_INDEX_INSERT = 'insert at';
+/// block text - The word(s) after the position in the list and before the item to be set/inserted.
+/// [[File:Blockly-in-list-set-insert.png]]
+Blockly.Msg.LISTS_SET_INDEX_INPUT_TO = 'as';
+/// tooltip - See [https://github.com/google/blockly/wiki/Lists#getting-a-single-item} (even though the page describes the "get" block, the idea is the same for the "set" block).
+Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_SET_FROM = 'Sets the item at the specified position in a list.';
+/// tooltip - See [https://github.com/google/blockly/wiki/Lists#getting-a-single-item} (even though the page describes the "get" block, the idea is the same for the "set" block).
+Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_SET_FIRST = 'Sets the first item in a list.';
+/// tooltip - See [https://github.com/google/blockly/wiki/Lists#getting-a-single-item} (even though the page describes the "get" block, the idea is the same for the "set" block).
+Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_SET_LAST = 'Sets the last item in a list.';
+/// tooltip - See [https://github.com/google/blockly/wiki/Lists#getting-a-single-item} (even though the page describes the "get" block, the idea is the same for the "set" block).
+Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_SET_RANDOM = 'Sets a random item in a list.';
+/// tooltip - See [https://github.com/google/blockly/wiki/Lists#getting-a-single-item} (even though the page describes the "get" block, the idea is the same for the "insert" block).
+Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_FROM = 'Inserts the item at the specified position in a list.';
+/// tooltip - See [https://github.com/google/blockly/wiki/Lists#getting-a-single-item} (even though the page describes the "get" block, the idea is the same for the "insert" block).
+Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST = 'Inserts the item at the start of a list.';
+/// tooltip - See [https://github.com/google/blockly/wiki/Lists#getting-a-single-item} (even though the page describes the "get" block, the idea is the same for the "insert" block).
+Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_LAST = 'Append the item to the end of a list.';
+/// tooltip - See [https://github.com/google/blockly/wiki/Lists#getting-a-single-item} (even though the page describes the "get" block, the idea is the same for the "insert" block).
+Blockly.Msg.LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM = 'Inserts the item randomly in a list.';
+
+/// {{Optional}} url - Information describing extracting a sublist from an existing list.
+Blockly.Msg.LISTS_GET_SUBLIST_HELPURL = 'https://github.com/google/blockly/wiki/Lists#getting-a-sublist';
+Blockly.Msg.LISTS_GET_SUBLIST_INPUT_IN_LIST = Blockly.Msg.LISTS_INLIST;
+/// dropdown - Indicates that an index relative to the front of the list should be used
+/// to specify the beginning of the range from which to
+/// [https://github.com/google/blockly/wiki/Lists#getting-a-sublist get a sublist].
+/// [[File:Blockly-get-sublist.png]]
+/// Note: If {{msg-blockly|ORDINAL_NUMBER_SUFFIX}} is defined, it will
+/// automatically appear ''after'' this number (and any other ordinal numbers on this block).
+/// See [[Translating:Blockly#Ordinal_numbers]] for more information on ordinal numbers in Blockly.
+Blockly.Msg.LISTS_GET_SUBLIST_START_FROM_START = 'get sub-list from #';
+/// dropdown - Indicates that an index relative to the end of the list should be used
+/// to specify the beginning of the range from which to
+/// [https://github.com/google/blockly/wiki/Lists#getting-a-sublist get a sublist].
+Blockly.Msg.LISTS_GET_SUBLIST_START_FROM_END = 'get sub-list from # from end';
+/// dropdown - Indicates that the
+/// [https://github.com/google/blockly/wiki/Lists#getting-a-sublist sublist to extract]
+/// should begin with the list's first item.
+Blockly.Msg.LISTS_GET_SUBLIST_START_FIRST = 'get sub-list from first';
+/// dropdown - Indicates that an index relative to the front of the list should be
+/// used to specify the end of the range from which to
+/// [https://github.com/google/blockly/wiki/Lists#getting-a-sublist get a sublist].
+/// [[File:Blockly-get-sublist.png]]
+Blockly.Msg.LISTS_GET_SUBLIST_END_FROM_START = 'to #';
+/// dropdown - Indicates that an index relative to the end of the list should be
+/// used to specify the end of the range from which to
+/// [https://github.com/google/blockly/wiki/Lists#getting-a-sublist get a sublist].
+/// [[File:Blockly-get-sublist.png]]
+Blockly.Msg.LISTS_GET_SUBLIST_END_FROM_END = 'to # from end';
+/// dropdown - Indicates that the '''last''' item in the given list should be
+/// [https://github.com/google/blockly/wiki/Lists#getting-a-sublist the end
+/// of the selected sublist].
+/// [[File:Blockly-get-sublist.png]]
+Blockly.Msg.LISTS_GET_SUBLIST_END_LAST = 'to last';
+/// block text - This appears in the rightmost position ("tail") of the
+/// sublist block, as described at
+/// [https://github.com/google/blockly/wiki/Lists#getting-a-sublist
+/// https://github.com/google/blockly/wiki/Lists#getting-a-sublist].
+/// In English and most other languages, this is the empty string.
+/// [[File:Blockly-get-sublist.png]]
+Blockly.Msg.LISTS_GET_SUBLIST_TAIL = '';
+/// tooltip - See [https://github.com/google/blockly/wiki/Lists#getting-a-sublist
+/// https://github.com/google/blockly/wiki/Lists#getting-a-sublist] for more information.
+/// [[File:Blockly-get-sublist.png]]
+Blockly.Msg.LISTS_GET_SUBLIST_TOOLTIP = 'Creates a copy of the specified portion of a list.';
+
+/// {{Optional}} url - Information describing sorting a list.
+Blockly.Msg.LISTS_SORT_HELPURL = 'https://github.com/google/blockly/wiki/Lists#sorting-a-list';
+/// Sort as type %1 (numeric or alphabetic) in order %2 (ascending or descending) a list of items %3.\n{{Identical|Sort}}
+Blockly.Msg.LISTS_SORT_TITLE = 'sort %1 %2 %3';
+/// tooltip - See [https://github.com/google/blockly/wiki/Lists#sorting-a-list].
+Blockly.Msg.LISTS_SORT_TOOLTIP = 'Sort a copy of a list.';
+/// sorting order or direction from low to high value for numeric, or A-Z for alphabetic.\n{{Identical|Ascending}}
+Blockly.Msg.LISTS_SORT_ORDER_ASCENDING = 'ascending';
+/// sorting order or direction from high to low value for numeric, or Z-A for alphabetic.\n{{Identical|Descending}}
+Blockly.Msg.LISTS_SORT_ORDER_DESCENDING = 'descending';
+/// sort by treating each item as a number.
+Blockly.Msg.LISTS_SORT_TYPE_NUMERIC = 'numeric';
+/// sort by treating each item alphabetically, case-sensitive.
+Blockly.Msg.LISTS_SORT_TYPE_TEXT = 'alphabetic';
+/// sort by treating each item alphabetically, ignoring differences in case.
+Blockly.Msg.LISTS_SORT_TYPE_IGNORECASE = 'alphabetic, ignore case';
+
+/// {{Optional}} url - Information describing splitting text into a list, or joining a list into text.
+Blockly.Msg.LISTS_SPLIT_HELPURL = 'https://github.com/google/blockly/wiki/Lists#splitting-strings-and-joining-lists';
+/// dropdown - Indicates that text will be split up into a list (e.g. "a-b-c" -> ["a", "b", "c"]).
+Blockly.Msg.LISTS_SPLIT_LIST_FROM_TEXT = 'make list from text';
+/// dropdown - Indicates that a list will be joined together to form text (e.g. ["a", "b", "c"] -> "a-b-c").
+Blockly.Msg.LISTS_SPLIT_TEXT_FROM_LIST = 'make text from list';
+/// block text - Prompts for a letter to be used as a separator when splitting or joining text.
+Blockly.Msg.LISTS_SPLIT_WITH_DELIMITER = 'with delimiter';
+/// tooltip - See [https://github.com/google/blockly/wiki/Lists#make-list-from-text
+/// https://github.com/google/blockly/wiki/Lists#make-list-from-text] for more information.
+Blockly.Msg.LISTS_SPLIT_TOOLTIP_SPLIT = 'Split text into a list of texts, breaking at each delimiter.';
+/// tooltip - See [https://github.com/google/blockly/wiki/Lists#make-text-from-list
+/// https://github.com/google/blockly/wiki/Lists#make-text-from-list] for more information.
+Blockly.Msg.LISTS_SPLIT_TOOLTIP_JOIN = 'Join a list of texts into one text, separated by a delimiter.';
+
+/// {{Optional}} url - Information describing reversing a list.
+Blockly.Msg.LISTS_REVERSE_HELPURL = 'https://github.com/google/blockly/wiki/Lists#reversing-a-list';
+/// block text - Title of block that returns a copy of a list (%1) with the order of items reversed.
+Blockly.Msg.LISTS_REVERSE_MESSAGE0 = 'reverse %1';
+/// tooltip - Short description for a block that reverses a copy of a list.
+Blockly.Msg.LISTS_REVERSE_TOOLTIP = 'Reverse a copy of a list.';
+
+/// grammar - Text that follows an ordinal number (a number that indicates
+/// position relative to other numbers).  In most languages, such text appears
+/// before the number, so this should be blank.  An exception is Hungarian.
+/// See [[Translating:Blockly#Ordinal_numbers]] for more information.
+Blockly.Msg.ORDINAL_NUMBER_SUFFIX = '';
+
+// Variables Blocks.
+/// {{Optional}} url - Information about ''variables'' in computer programming.  Consider using your language's translation of [https://en.wikipedia.org/wiki/Variable_(computer_science) https://en.wikipedia.org/wiki/Variable_(computer_science)], if it exists.
+Blockly.Msg.VARIABLES_GET_HELPURL = 'https://github.com/google/blockly/wiki/Variables#get';
+/// tooltip - This gets the value of the named variable without modifying it.
+Blockly.Msg.VARIABLES_GET_TOOLTIP = 'Returns the value of this variable.';
+/// context menu - Selecting this creates a block to set (change) the value of this variable.
+/// \n\nParameters:\n* %1 - the name of the variable.
+Blockly.Msg.VARIABLES_GET_CREATE_SET = 'Create "set %1"';
+
+/// {{Optional}} url - Information about ''variables'' in computer programming.  Consider using your language's translation of [https://en.wikipedia.org/wiki/Variable_(computer_science) https://en.wikipedia.org/wiki/Variable_(computer_science)], if it exists.
+Blockly.Msg.VARIABLES_SET_HELPURL = 'https://github.com/google/blockly/wiki/Variables#set';
+/// block text - Change the value of a mathematical variable: '''set [the value of] x to 7'''.\n\nParameters:\n* %1 - the name of the variable.\n* %2 - the value to be assigned.
+Blockly.Msg.VARIABLES_SET = 'set %1 to %2';
+/// tooltip - This initializes or changes the value of the named variable.
+Blockly.Msg.VARIABLES_SET_TOOLTIP = 'Sets this variable to be equal to the input.';
+/// context menu - Selecting this creates a block to get (change) the value of
+/// this variable.\n\nParameters:\n* %1 - the name of the variable.
+Blockly.Msg.VARIABLES_SET_CREATE_GET = 'Create "get %1"';
+
+// Procedures Blocks.
+/// {{Optional}} url - Information about defining [https://en.wikipedia.org/wiki/Subroutine functions] that do not have return values.
+Blockly.Msg.PROCEDURES_DEFNORETURN_HELPURL = 'https://en.wikipedia.org/wiki/Subroutine';
+/// block text - This precedes the name of the function when defining it.  See
+/// [https://blockly-demo.appspot.com/static/apps/code/index.html?lang=en#c84aoc this sample
+/// function definition].
+Blockly.Msg.PROCEDURES_DEFNORETURN_TITLE = 'to';
+/// default name - This acts as a placeholder for the name of a function on a
+/// function definition block, as shown on
+/// [https://blockly-demo.appspot.com/static/apps/code/index.html?lang=en#w7cfju this block].
+/// The user will replace it with the function's name.
+Blockly.Msg.PROCEDURES_DEFNORETURN_PROCEDURE = 'do something';
+/// block text - This precedes the list of parameters on a function's definition block.  See
+/// [https://blockly-demo.appspot.com/static/apps/code/index.html?lang=en#voztpd this sample
+/// function with parameters].
+Blockly.Msg.PROCEDURES_BEFORE_PARAMS = 'with:';
+/// block text - This precedes the list of parameters on a function's caller block.  See
+/// [https://blockly-demo.appspot.com/static/apps/code/index.html?lang=en#voztpd this sample
+/// function with parameters].
+Blockly.Msg.PROCEDURES_CALL_BEFORE_PARAMS = 'with:';
+/// block text - This appears next to the function's "body", the blocks that should be
+/// run when the function is called, as shown in
+/// [https://blockly-demo.appspot.com/static/apps/code/index.html?lang=en#voztpd this sample
+/// function definition].
+Blockly.Msg.PROCEDURES_DEFNORETURN_DO = '';
+/// tooltip
+Blockly.Msg.PROCEDURES_DEFNORETURN_TOOLTIP = 'Creates a function with no output.';
+/// Placeholder text that the user is encouraged to replace with a description of what their function does.
+Blockly.Msg.PROCEDURES_DEFNORETURN_COMMENT = 'Describe this function...';
+/// {{Optional}} url - Information about defining [https://en.wikipedia.org/wiki/Subroutine functions] that have return values.
+Blockly.Msg.PROCEDURES_DEFRETURN_HELPURL = 'https://en.wikipedia.org/wiki/Subroutine';
+Blockly.Msg.PROCEDURES_DEFRETURN_TITLE = Blockly.Msg.PROCEDURES_DEFNORETURN_TITLE;
+Blockly.Msg.PROCEDURES_DEFRETURN_PROCEDURE = Blockly.Msg.PROCEDURES_DEFNORETURN_PROCEDURE;
+Blockly.Msg.PROCEDURES_DEFRETURN_DO = Blockly.Msg.PROCEDURES_DEFNORETURN_DO;
+Blockly.Msg.PROCEDURES_DEFRETURN_COMMENT = Blockly.Msg.PROCEDURES_DEFNORETURN_COMMENT;
+/// block text - This imperative or infinite verb precedes the value that is used as the return value
+/// (output) of this function.  See
+/// [https://blockly-demo.appspot.com/static/apps/code/index.html?lang=en#6ot5y5 this sample
+/// function that returns a value].
+Blockly.Msg.PROCEDURES_DEFRETURN_RETURN = 'return';
+/// tooltip
+Blockly.Msg.PROCEDURES_DEFRETURN_TOOLTIP = 'Creates a function with an output.';
+/// Label for a checkbox that controls if statements are allowed in a function.
+Blockly.Msg.PROCEDURES_ALLOW_STATEMENTS = 'allow statements';
+
+/// alert - The user has created a function with two parameters that have the same name.  Every parameter must have a different name.
+Blockly.Msg.PROCEDURES_DEF_DUPLICATE_WARNING = 'Warning: This function has duplicate parameters.';
+
+/// {{Optional}} url - Information about calling [https://en.wikipedia.org/wiki/Subroutine functions] that do not return values.
+Blockly.Msg.PROCEDURES_CALLNORETURN_HELPURL = 'https://en.wikipedia.org/wiki/Subroutine';
+/// tooltip - This block causes the body (blocks inside) of the named function definition to be run.
+Blockly.Msg.PROCEDURES_CALLNORETURN_TOOLTIP = 'Run the user-defined function "%1".';
+
+/// {{Optional}} url - Information about calling [https://en.wikipedia.org/wiki/Subroutine functions] that return values.
+Blockly.Msg.PROCEDURES_CALLRETURN_HELPURL = 'https://en.wikipedia.org/wiki/Subroutine';
+/// tooltip - This block causes the body (blocks inside) of the named function definition to be run.\n\nParameters:\n* %1 - the name of the function.
+Blockly.Msg.PROCEDURES_CALLRETURN_TOOLTIP = 'Run the user-defined function "%1" and use its output.';
+
+/// block text - This text appears on a block in a window that appears when the user clicks
+/// on the plus sign or star on a function definition block.  It refers to the set of parameters
+/// (referred to by the simpler term "inputs") to the function.  See
+/// [[Translating:Blockly#function_definitions]].\n{{Identical|Input}}
+Blockly.Msg.PROCEDURES_MUTATORCONTAINER_TITLE = 'inputs';
+/// tooltip
+Blockly.Msg.PROCEDURES_MUTATORCONTAINER_TOOLTIP = 'Add, remove, or reorder inputs to this function.';
+/// block text - This text appears on a block in a window that appears when the user clicks
+/// on the plus sign or star on a function definition block].  It appears on the block for
+/// adding an individual parameter (referred to by the simpler term "inputs") to the function.
+/// See [[Translating:Blockly#function_definitions]].
+Blockly.Msg.PROCEDURES_MUTATORARG_TITLE = 'input name:';
+/// tooltip
+Blockly.Msg.PROCEDURES_MUTATORARG_TOOLTIP = 'Add an input to the function.';
+
+/// context menu - This appears on the context menu for function calls.  Selecting
+/// it causes the corresponding function definition to be highlighted (as shown at
+/// [[Translating:Blockly#context_menus]].
+Blockly.Msg.PROCEDURES_HIGHLIGHT_DEF = 'Highlight function definition';
+/// context menu - This appears on the context menu for function definitions.
+/// Selecting it creates a block to call the function.\n\nParameters:\n* %1 - the name of the function.\n{{Identical|Create}}
+Blockly.Msg.PROCEDURES_CREATE_DO = 'Create "%1"';
+
+/// tooltip - If the first value is true, this causes the second value to be returned
+/// immediately from the enclosing function.
+Blockly.Msg.PROCEDURES_IFRETURN_TOOLTIP = 'If a value is true, then return a second value.';
+/// {{Optional}} url - Information about guard clauses.
+Blockly.Msg.PROCEDURES_IFRETURN_HELPURL = 'http://c2.com/cgi/wiki?GuardClause';
+/// warning - This appears if the user tries to use this block outside of a function definition.
+Blockly.Msg.PROCEDURES_IFRETURN_WARNING = 'Warning: This block may be used only within a function definition.';
+
+/// comment text - This text appears in a new workspace comment, to hint that
+/// the user can type here.
+Blockly.Msg.WORKSPACE_COMMENT_DEFAULT_TEXT = 'Say something...';
diff --git a/package.json b/package.json
new file mode 100644 (file)
index 0000000..8798ee7
--- /dev/null
@@ -0,0 +1,13 @@
+{
+  "name": "@ndcode/mirobot",
+  "version": "0.1.0",
+  "description": "Test website for MiRobot",
+  "directories": {},
+  "dependencies": {
+    "@ndcode/jst_server": "^0.1.0"
+  },
+  "devDependencies": {},
+  "scripts": {},
+  "author": "Nick Downing",
+  "license": "Proprietary"
+}
diff --git a/stty.sh b/stty.sh
new file mode 100755 (executable)
index 0000000..7cdfa6f
--- /dev/null
+++ b/stty.sh
@@ -0,0 +1,4 @@
+#!/bin/sh
+stty -F /dev/ttyUSB0 500000
+rmmod ch341
+rmmod usbserial