From 30c7e2e5d0b5736973ccf7ca42f5fa8ea75a3ef8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niklas=20Laxstr=C3=B6m?= Date: Thu, 21 Jul 2016 07:48:27 +0200 Subject: [PATCH 1/5] Localisation updates from https://translatewiki.net. --- msg/json/ia.json | 14 ++++++++++++-- msg/json/nl.json | 4 ++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/msg/json/ia.json b/msg/json/ia.json index 8ae5b1531..f38d01ecd 100644 --- a/msg/json/ia.json +++ b/msg/json/ia.json @@ -52,7 +52,7 @@ "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_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.", @@ -218,7 +218,7 @@ "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 texto non es trovate.", + "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", @@ -258,9 +258,18 @@ "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 un lista per un texto", "LISTS_SPLIT_TEXT_FROM_LIST": "crear un texto per un 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.", "VARIABLES_GET_TOOLTIP": "Retorna le valor de iste variabile.", "VARIABLES_GET_CREATE_SET": "Crea 'mitter %1'", "VARIABLES_SET": "mitter %1 a %2", @@ -271,6 +280,7 @@ "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", diff --git a/msg/json/nl.json b/msg/json/nl.json index 828a4ee0b..4f27ad859 100644 --- a/msg/json/nl.json +++ b/msg/json/nl.json @@ -320,11 +320,11 @@ "LISTS_SORT_ORDER_DESCENDING": "aflopend", "LISTS_SORT_TYPE_NUMERIC": "numerieke", "LISTS_SORT_TYPE_TEXT": "in alfabetische volgorde", - "LISTS_SORT_TYPE_IGNORECASE": "alfabetisch, negeer zaak", + "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 tekst van tekst op basis van een 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.", "VARIABLES_GET_HELPURL": "https://github.com/google/blockly/wiki/Variables#get", "VARIABLES_GET_TOOLTIP": "Geeft de waarde van deze variabele.", From 1878a5a5f3de85f0a10629c6c10cfc3ab3bb944d Mon Sep 17 00:00:00 2001 From: picklesrus Date: Wed, 20 Jul 2016 15:21:45 -0700 Subject: [PATCH 2/5] Revert "Convert createDom calls to createUntypedDom" --- blocks/loops.js | 4 ++-- blocks/procedures.js | 16 ++++++++-------- blocks/variables.js | 4 ++-- core/events.js | 4 ++-- core/field_textinput.js | 4 +--- core/mutator.js | 5 ++--- core/procedures.js | 12 ++++++------ core/toolbox.js | 4 +--- core/tooltip.js | 4 +--- core/variables.js | 8 ++++---- core/widgetdiv.js | 4 +--- core/xml.js | 21 +++++++++------------ 12 files changed, 39 insertions(+), 51 deletions(-) diff --git a/blocks/loops.js b/blocks/loops.js index c06a7f2de..b9bae1e80 100644 --- a/blocks/loops.js +++ b/blocks/loops.js @@ -178,9 +178,9 @@ Blockly.Blocks['controls_for'] = { var option = {enabled: true}; var name = this.getFieldValue('VAR'); option.text = Blockly.Msg.VARIABLES_SET_CREATE_GET.replace('%1', name); - var xmlField = goog.dom.createUntypedDom('field', null, name); + var xmlField = goog.dom.createDom('field', null, name); xmlField.setAttribute('name', 'VAR'); - var xmlBlock = goog.dom.createUntypedDom('block', null, xmlField); + var xmlBlock = goog.dom.createDom('block', null, xmlField); xmlBlock.setAttribute('type', 'variables_get'); option.callback = Blockly.ContextMenu.callbackFactory(this, xmlBlock); options.push(option); diff --git a/blocks/procedures.js b/blocks/procedures.js index 17339b025..82b383b51 100644 --- a/blocks/procedures.js +++ b/blocks/procedures.js @@ -295,14 +295,14 @@ Blockly.Blocks['procedures_defnoreturn'] = { var option = {enabled: true}; var name = this.getFieldValue('NAME'); option.text = Blockly.Msg.PROCEDURES_CREATE_DO.replace('%1', name); - var xmlMutation = goog.dom.createUntypedDom('mutation'); + var xmlMutation = goog.dom.createDom('mutation'); xmlMutation.setAttribute('name', name); for (var i = 0; i < this.arguments_.length; i++) { - var xmlArg = goog.dom.createUntypedDom('arg'); + var xmlArg = goog.dom.createDom('arg'); xmlArg.setAttribute('name', this.arguments_[i]); xmlMutation.appendChild(xmlArg); } - var xmlBlock = goog.dom.createUntypedDom('block', null, xmlMutation); + var xmlBlock = goog.dom.createDom('block', null, xmlMutation); xmlBlock.setAttribute('type', this.callType_); option.callback = Blockly.ContextMenu.callbackFactory(this, xmlBlock); options.push(option); @@ -313,9 +313,9 @@ Blockly.Blocks['procedures_defnoreturn'] = { var option = {enabled: true}; var name = this.arguments_[i]; option.text = Blockly.Msg.VARIABLES_SET_CREATE_GET.replace('%1', name); - var xmlField = goog.dom.createUntypedDom('field', null, name); + var xmlField = goog.dom.createDom('field', null, name); xmlField.setAttribute('name', 'VAR'); - var xmlBlock = goog.dom.createUntypedDom('block', null, xmlField); + var xmlBlock = goog.dom.createDom('block', null, xmlField); xmlBlock.setAttribute('type', 'variables_get'); option.callback = Blockly.ContextMenu.callbackFactory(this, xmlBlock); options.push(option); @@ -687,8 +687,8 @@ Blockly.Blocks['procedures_callnoreturn'] = { * * */ - var xml = goog.dom.createUntypedDom('xml'); - var block = goog.dom.createUntypedDom('block'); + var xml = goog.dom.createDom('xml'); + var block = goog.dom.createDom('block'); block.setAttribute('type', this.defType_); var xy = this.getRelativeToSurfaceXY(); var x = xy.x + Blockly.SNAP_RADIUS * (this.RTL ? -1 : 1); @@ -697,7 +697,7 @@ Blockly.Blocks['procedures_callnoreturn'] = { block.setAttribute('y', y); var mutation = this.mutationToDom(); block.appendChild(mutation); - var field = goog.dom.createUntypedDom('field'); + var field = goog.dom.createDom('field'); field.setAttribute('name', 'NAME'); field.appendChild(document.createTextNode(this.getProcedureCall())); block.appendChild(field); diff --git a/blocks/variables.js b/blocks/variables.js index fe8eae21f..3b7d99f92 100644 --- a/blocks/variables.js +++ b/blocks/variables.js @@ -59,9 +59,9 @@ Blockly.Blocks['variables_get'] = { var option = {enabled: true}; var name = this.getFieldValue('VAR'); option.text = this.contextMenuMsg_.replace('%1', name); - var xmlField = goog.dom.createUntypedDom('field', null, name); + var xmlField = goog.dom.createDom('field', null, name); xmlField.setAttribute('name', 'VAR'); - var xmlBlock = goog.dom.createUntypedDom('block', null, xmlField); + var xmlBlock = goog.dom.createDom('block', null, xmlField); xmlBlock.setAttribute('type', this.contextMenuType_); option.callback = Blockly.ContextMenu.callbackFactory(this, xmlBlock); options.push(option); diff --git a/core/events.js b/core/events.js index e3556ae4d..1d1e2b70e 100644 --- a/core/events.js +++ b/core/events.js @@ -388,7 +388,7 @@ Blockly.Events.Create.prototype.fromJson = function(json) { Blockly.Events.Create.prototype.run = function(forward) { var workspace = Blockly.Workspace.getById(this.workspaceId); if (forward) { - var xml = goog.dom.createUntypedDom('xml'); + var xml = goog.dom.createDom('xml'); xml.appendChild(this.xml); Blockly.Xml.domToWorkspace(xml, workspace); } else { @@ -465,7 +465,7 @@ Blockly.Events.Delete.prototype.run = function(forward) { } } } else { - var xml = goog.dom.createUntypedDom('xml'); + var xml = goog.dom.createDom('xml'); xml.appendChild(this.oldXml); Blockly.Xml.domToWorkspace(xml, workspace); } diff --git a/core/field_textinput.js b/core/field_textinput.js index a1fe173b6..ba9375e4c 100644 --- a/core/field_textinput.js +++ b/core/field_textinput.js @@ -30,7 +30,6 @@ goog.require('Blockly.Field'); goog.require('Blockly.Msg'); goog.require('goog.asserts'); goog.require('goog.dom'); -goog.require('goog.dom.TagName'); goog.require('goog.userAgent'); @@ -125,8 +124,7 @@ Blockly.FieldTextInput.prototype.showEditor_ = function(opt_quietInput) { Blockly.WidgetDiv.show(this, this.sourceBlock_.RTL, this.widgetDispose_()); var div = Blockly.WidgetDiv.DIV; // Create the input. - var htmlInput = - goog.dom.createDom(goog.dom.TagName.INPUT, 'blocklyHtmlInput'); + var htmlInput = goog.dom.createDom('input', 'blocklyHtmlInput'); htmlInput.setAttribute('spellcheck', this.spellcheck_); var fontSize = (Blockly.FieldTextInput.FONTSIZE * this.workspace_.scale) + 'pt'; diff --git a/core/mutator.js b/core/mutator.js index 8a8500cda..d5cca45e5 100644 --- a/core/mutator.js +++ b/core/mutator.js @@ -110,10 +110,9 @@ Blockly.Mutator.prototype.createEditor_ = function() { null); // Convert the list of names into a list of XML objects for the flyout. if (this.quarkNames_.length) { - var quarkXml = goog.dom.createUntypedDom('xml'); + var quarkXml = goog.dom.createDom('xml'); for (var i = 0, quarkName; quarkName = this.quarkNames_[i]; i++) { - quarkXml.appendChild( - goog.dom.createUntypedDom('block', {'type': quarkName})); + quarkXml.appendChild(goog.dom.createDom('block', {'type': quarkName})); } } else { var quarkXml = null; diff --git a/core/procedures.js b/core/procedures.js index aa3663319..beb4a17b8 100644 --- a/core/procedures.js +++ b/core/procedures.js @@ -162,21 +162,21 @@ Blockly.Procedures.flyoutCategory = function(workspace) { var xmlList = []; if (Blockly.Blocks['procedures_defnoreturn']) { // - var block = goog.dom.createUntypedDom('block'); + var block = goog.dom.createDom('block'); block.setAttribute('type', 'procedures_defnoreturn'); block.setAttribute('gap', 16); xmlList.push(block); } if (Blockly.Blocks['procedures_defreturn']) { // - var block = goog.dom.createUntypedDom('block'); + var block = goog.dom.createDom('block'); block.setAttribute('type', 'procedures_defreturn'); block.setAttribute('gap', 16); xmlList.push(block); } if (Blockly.Blocks['procedures_ifreturn']) { // - var block = goog.dom.createUntypedDom('block'); + var block = goog.dom.createDom('block'); block.setAttribute('type', 'procedures_ifreturn'); block.setAttribute('gap', 16); xmlList.push(block); @@ -195,14 +195,14 @@ Blockly.Procedures.flyoutCategory = function(workspace) { // // // - var block = goog.dom.createUntypedDom('block'); + var block = goog.dom.createDom('block'); block.setAttribute('type', templateName); block.setAttribute('gap', 16); - var mutation = goog.dom.createUntypedDom('mutation'); + var mutation = goog.dom.createDom('mutation'); mutation.setAttribute('name', name); block.appendChild(mutation); for (var j = 0; j < args.length; j++) { - var arg = goog.dom.createUntypedDom('arg'); + var arg = goog.dom.createDom('arg'); arg.setAttribute('name', args[j]); mutation.appendChild(arg); } diff --git a/core/toolbox.js b/core/toolbox.js index 3ff41df95..ac15ed128 100644 --- a/core/toolbox.js +++ b/core/toolbox.js @@ -28,7 +28,6 @@ goog.provide('Blockly.Toolbox'); goog.require('Blockly.Flyout'); goog.require('goog.dom'); -goog.require('goog.dom.TagName'); goog.require('goog.events'); goog.require('goog.events.BrowserFeature'); goog.require('goog.html.SafeHtml'); @@ -147,8 +146,7 @@ Blockly.Toolbox.prototype.init = function() { var workspace = this.workspace_; // Create an HTML container for the Toolbox menu. - this.HtmlDiv = - goog.dom.createDom(goog.dom.TagName.DIV, 'blocklyToolboxDiv'); + this.HtmlDiv = goog.dom.createDom('div', 'blocklyToolboxDiv'); this.HtmlDiv.setAttribute('dir', workspace.RTL ? 'RTL' : 'LTR'); document.body.appendChild(this.HtmlDiv); diff --git a/core/tooltip.js b/core/tooltip.js index 2ff612b7b..3aa828812 100644 --- a/core/tooltip.js +++ b/core/tooltip.js @@ -32,7 +32,6 @@ goog.provide('Blockly.Tooltip'); goog.require('goog.dom'); -goog.require('goog.dom.TagName'); /** @@ -121,8 +120,7 @@ Blockly.Tooltip.createDom = function() { return; // Already created. } // Create an HTML container for popup overlays (e.g. editor widgets). - Blockly.Tooltip.DIV = - goog.dom.createDom(goog.dom.TagName.DIV, 'blocklyTooltipDiv'); + Blockly.Tooltip.DIV = goog.dom.createDom('div', 'blocklyTooltipDiv'); document.body.appendChild(Blockly.Tooltip.DIV); }; diff --git a/core/variables.js b/core/variables.js index b6df4d123..450d33fcf 100644 --- a/core/variables.js +++ b/core/variables.js @@ -108,12 +108,12 @@ Blockly.Variables.flyoutCategory = function(workspace) { // // item // - var block = goog.dom.createUntypedDom('block'); + var block = goog.dom.createDom('block'); block.setAttribute('type', 'variables_set'); if (Blockly.Blocks['variables_get']) { block.setAttribute('gap', 8); } - var field = goog.dom.createUntypedDom('field', null, variableList[i]); + var field = goog.dom.createDom('field', null, variableList[i]); field.setAttribute('name', 'VAR'); block.appendChild(field); xmlList.push(block); @@ -122,12 +122,12 @@ Blockly.Variables.flyoutCategory = function(workspace) { // // item // - var block = goog.dom.createUntypedDom('block'); + var block = goog.dom.createDom('block'); block.setAttribute('type', 'variables_get'); if (Blockly.Blocks['variables_set']) { block.setAttribute('gap', 24); } - var field = goog.dom.createUntypedDom('field', null, variableList[i]); + var field = goog.dom.createDom('field', null, variableList[i]); field.setAttribute('name', 'VAR'); block.appendChild(field); xmlList.push(block); diff --git a/core/widgetdiv.js b/core/widgetdiv.js index ac776d0ea..817d15bac 100644 --- a/core/widgetdiv.js +++ b/core/widgetdiv.js @@ -30,7 +30,6 @@ goog.provide('Blockly.WidgetDiv'); goog.require('Blockly.Css'); goog.require('goog.dom'); -goog.require('goog.dom.TagName'); goog.require('goog.style'); @@ -62,8 +61,7 @@ Blockly.WidgetDiv.createDom = function() { return; // Already created. } // Create an HTML container for popup overlays (e.g. editor widgets). - Blockly.WidgetDiv.DIV = - goog.dom.createDom(goog.dom.TagName.DIV, 'blocklyWidgetDiv'); + Blockly.WidgetDiv.DIV = goog.dom.createDom('div', 'blocklyWidgetDiv'); document.body.appendChild(Blockly.WidgetDiv.DIV); }; diff --git a/core/xml.js b/core/xml.js index 002d21f01..95e6471c2 100644 --- a/core/xml.js +++ b/core/xml.js @@ -36,7 +36,7 @@ goog.require('goog.dom'); * @return {!Element} XML document. */ Blockly.Xml.workspaceToDom = function(workspace) { - var xml = goog.dom.createUntypedDom('xml'); + var xml = goog.dom.createDom('xml'); var blocks = workspace.getTopBlocks(true); for (var i = 0, block; block = blocks[i]; i++) { xml.appendChild(Blockly.Xml.blockToDomWithXY(block)); @@ -68,8 +68,7 @@ Blockly.Xml.blockToDomWithXY = function(block) { * @return {!Element} Tree of XML elements. */ Blockly.Xml.blockToDom = function(block) { - var element = goog.dom.createUntypedDom( - block.isShadow() ? 'shadow' : 'block'); + var element = goog.dom.createDom(block.isShadow() ? 'shadow' : 'block'); element.setAttribute('type', block.type); element.setAttribute('id', block.id); if (block.mutationToDom) { @@ -81,8 +80,7 @@ Blockly.Xml.blockToDom = function(block) { } function fieldToDom(field) { if (field.name && field.EDITABLE) { - var container = - goog.dom.createUntypedDom('field', null, field.getValue()); + var container = goog.dom.createDom('field', null, field.getValue()); container.setAttribute('name', field.name); element.appendChild(container); } @@ -95,8 +93,7 @@ Blockly.Xml.blockToDom = function(block) { var commentText = block.getCommentText(); if (commentText) { - var commentElement = - goog.dom.createUntypedDom('comment', null, commentText); + var commentElement = goog.dom.createDom('comment', null, commentText); if (typeof block.comment == 'object') { commentElement.setAttribute('pinned', block.comment.isVisible()); var hw = block.comment.getBubbleSize(); @@ -107,7 +104,7 @@ Blockly.Xml.blockToDom = function(block) { } if (block.data) { - var dataElement = goog.dom.createUntypedDom('data', null, block.data); + var dataElement = goog.dom.createDom('data', null, block.data); element.appendChild(dataElement); } @@ -119,9 +116,9 @@ Blockly.Xml.blockToDom = function(block) { } else { var childBlock = input.connection.targetBlock(); if (input.type == Blockly.INPUT_VALUE) { - container = goog.dom.createUntypedDom('value'); + container = goog.dom.createDom('value'); } else if (input.type == Blockly.NEXT_STATEMENT) { - container = goog.dom.createUntypedDom('statement'); + container = goog.dom.createDom('statement'); } var shadow = input.connection.getShadowDom(); if (shadow && (!childBlock || !childBlock.isShadow())) { @@ -158,8 +155,8 @@ Blockly.Xml.blockToDom = function(block) { var nextBlock = block.getNextBlock(); if (nextBlock) { - var container = goog.dom.createUntypedDom( - 'next', null, Blockly.Xml.blockToDom(nextBlock)); + var container = goog.dom.createDom('next', null, + Blockly.Xml.blockToDom(nextBlock)); element.appendChild(container); } var shadow = block.nextConnection && block.nextConnection.getShadowDom(); From 5022ace75bbb3d73d6bd9cc8480d1bcc15c52ec1 Mon Sep 17 00:00:00 2001 From: Katelyn Mann Date: Thu, 21 Jul 2016 15:38:58 -0700 Subject: [PATCH 3/5] Recompile to pick up changes from #494. --- blockly_compressed.js | 36 ++++++++++++++++++------------------ blockly_uncompressed.js | 20 +++++++++++--------- blocks_compressed.js | 14 +++++++------- msg/js/ia.js | 24 ++++++++++++------------ msg/js/nl.js | 4 ++-- 5 files changed, 50 insertions(+), 48 deletions(-) diff --git a/blockly_compressed.js b/blockly_compressed.js index a4edc0301..5045c000d 100644 --- a/blockly_compressed.js +++ b/blockly_compressed.js @@ -933,7 +933,7 @@ Blockly.Field.prototype.getScaledBBox_=function(){var a=this.borderRect_.getBBox Blockly.Field.prototype.updateTextNode_=function(){if(this.textElement_){var a=this.text_;a.length>this.maxDisplayLength&&(a=a.substring(0,this.maxDisplayLength-2)+"\u2026");goog.dom.removeChildren(this.textElement_);a=a.replace(/\s/g,Blockly.Field.NBSP);this.sourceBlock_.RTL&&a&&(a+="\u200f");a||(a=Blockly.Field.NBSP);a=document.createTextNode(a);this.textElement_.appendChild(a);this.size_.width=0}};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.Change(this.sourceBlock_,"field",this.name,b,a)),this.setText(a))}}; Blockly.Field.prototype.onMouseUp_=function(a){if(!goog.userAgent.IPHONE&&!goog.userAgent.IPAD||goog.userAgent.isVersionOrHigher("537.51.2")||0===a.layerX||0===a.layerY)Blockly.isRightButton(a)||this.sourceBlock_.workspace.isDragging()||this.sourceBlock_.isEditable()&&this.showEditor_()};Blockly.Field.prototype.setTooltip=function(a){};Blockly.Field.prototype.getAbsoluteXY_=function(){return goog.style.getPageOffset(this.borderRect_)};Blockly.Tooltip={};Blockly.Tooltip.visible=!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=goog.dom.createDom("DIV","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_);Blockly.bindEvent_(a,"mousemove",null,Blockly.Tooltip.onMouseMove_)}; +Blockly.Tooltip.createDom=function(){Blockly.Tooltip.DIV||(Blockly.Tooltip.DIV=goog.dom.createDom("div","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_);Blockly.bindEvent_(a,"mousemove",null,Blockly.Tooltip.onMouseMove_)}; Blockly.Tooltip.onMouseOver_=function(a){for(a=a.target;!goog.isString(a.tooltip)&&!goog.isFunction(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.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.dragMode_==Blockly.DRAG_NONE&&!Blockly.WidgetDiv.isVisible())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"));clearTimeout(Blockly.Tooltip.showPid_)}; @@ -989,11 +989,11 @@ Blockly.Trashcan.prototype.position=function(){var a=this.workspace_.getMetrics( 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&&(goog.Timer.clear(this.lidTask_),this.isOpen=a,this.animateLid_())}; Blockly.Trashcan.prototype.animateLid_=function(){this.lidOpen_+=this.isOpen?.2:-.2;this.lidOpen_=goog.math.clamp(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)+")");a=goog.math.lerp(.4,.8,this.lidOpen_);this.svgGroup_.style.opacity=a;0this.lidOpen_&&(this.lidTask_=goog.Timer.callOnce(this.animateLid_,20,this))}; -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.Xml={};Blockly.Xml.workspaceToDom=function(a){var b=goog.dom.createUntypedDom("xml");a=a.getTopBlocks(!0);for(var c=0,d;d=a[c];c++)b.appendChild(Blockly.Xml.blockToDomWithXY(d));return b};Blockly.Xml.blockToDomWithXY=function(a){var b;a.workspace.RTL&&(b=a.workspace.getWidth());var c=Blockly.Xml.blockToDom(a),d=a.getRelativeToSurfaceXY();c.setAttribute("x",Math.round(a.workspace.RTL?b-d.x:d.x));c.setAttribute("y",Math.round(d.y));return c}; -Blockly.Xml.blockToDom=function(a){var b=goog.dom.createUntypedDom(a.isShadow()?"shadow":"block");b.setAttribute("type",a.type);b.setAttribute("id",a.id);if(a.mutationToDom){var c=a.mutationToDom();c&&(c.hasChildNodes()||c.hasAttributes())&&b.appendChild(c)}for(var c=0,d;d=a.inputList[c];c++)for(var e=0,f;f=d.fieldRow[e];e++)if(f.name&&f.EDITABLE){var g=goog.dom.createUntypedDom("field",null,f.getValue());g.setAttribute("name",f.name);b.appendChild(g)}if(c=a.getCommentText())c=goog.dom.createUntypedDom("comment", -null,c),"object"==typeof a.comment&&(c.setAttribute("pinned",a.comment.isVisible()),d=a.comment.getBubbleSize(),c.setAttribute("h",d.height),c.setAttribute("w",d.width)),b.appendChild(c);a.data&&(c=goog.dom.createUntypedDom("data",null,a.data),b.appendChild(c));for(c=0;d=a.inputList[c];c++){var h;f=!0;d.type!=Blockly.DUMMY_INPUT&&(g=d.connection.targetBlock(),d.type==Blockly.INPUT_VALUE?h=goog.dom.createUntypedDom("value"):d.type==Blockly.NEXT_STATEMENT&&(h=goog.dom.createUntypedDom("statement")), -e=d.connection.getShadowDom(),!e||g&&g.isShadow()||h.appendChild(Blockly.Xml.cloneShadow_(e)),g&&(h.appendChild(Blockly.Xml.blockToDom(g)),f=!1),h.setAttribute("name",d.name),f||b.appendChild(h))}a.inputsInlineDefault!=a.inputsInline&&b.setAttribute("inline",a.inputsInline);a.isCollapsed()&&b.setAttribute("collapsed",!0);a.disabled&&b.setAttribute("disabled",!0);a.isDeletable()||a.isShadow()||b.setAttribute("deletable",!1);a.isMovable()||a.isShadow()||b.setAttribute("movable",!1);a.isEditable()|| -b.setAttribute("editable",!1);if(c=a.getNextBlock())h=goog.dom.createUntypedDom("next",null,Blockly.Xml.blockToDom(c)),b.appendChild(h);e=a.nextConnection&&a.nextConnection.getShadowDom();!e||c&&c.isShadow()||h.appendChild(Blockly.Xml.cloneShadow_(e));return b}; +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.Xml={};Blockly.Xml.workspaceToDom=function(a){var b=goog.dom.createDom("xml");a=a.getTopBlocks(!0);for(var c=0,d;d=a[c];c++)b.appendChild(Blockly.Xml.blockToDomWithXY(d));return b};Blockly.Xml.blockToDomWithXY=function(a){var b;a.workspace.RTL&&(b=a.workspace.getWidth());var c=Blockly.Xml.blockToDom(a),d=a.getRelativeToSurfaceXY();c.setAttribute("x",Math.round(a.workspace.RTL?b-d.x:d.x));c.setAttribute("y",Math.round(d.y));return c}; +Blockly.Xml.blockToDom=function(a){var b=goog.dom.createDom(a.isShadow()?"shadow":"block");b.setAttribute("type",a.type);b.setAttribute("id",a.id);if(a.mutationToDom){var c=a.mutationToDom();c&&(c.hasChildNodes()||c.hasAttributes())&&b.appendChild(c)}for(var c=0,d;d=a.inputList[c];c++)for(var e=0,f;f=d.fieldRow[e];e++)if(f.name&&f.EDITABLE){var g=goog.dom.createDom("field",null,f.getValue());g.setAttribute("name",f.name);b.appendChild(g)}if(c=a.getCommentText())c=goog.dom.createDom("comment",null, +c),"object"==typeof a.comment&&(c.setAttribute("pinned",a.comment.isVisible()),d=a.comment.getBubbleSize(),c.setAttribute("h",d.height),c.setAttribute("w",d.width)),b.appendChild(c);a.data&&(c=goog.dom.createDom("data",null,a.data),b.appendChild(c));for(c=0;d=a.inputList[c];c++){var h;f=!0;d.type!=Blockly.DUMMY_INPUT&&(g=d.connection.targetBlock(),d.type==Blockly.INPUT_VALUE?h=goog.dom.createDom("value"):d.type==Blockly.NEXT_STATEMENT&&(h=goog.dom.createDom("statement")),e=d.connection.getShadowDom(), +!e||g&&g.isShadow()||h.appendChild(Blockly.Xml.cloneShadow_(e)),g&&(h.appendChild(Blockly.Xml.blockToDom(g)),f=!1),h.setAttribute("name",d.name),f||b.appendChild(h))}a.inputsInlineDefault!=a.inputsInline&&b.setAttribute("inline",a.inputsInline);a.isCollapsed()&&b.setAttribute("collapsed",!0);a.disabled&&b.setAttribute("disabled",!0);a.isDeletable()||a.isShadow()||b.setAttribute("deletable",!1);a.isMovable()||a.isShadow()||b.setAttribute("movable",!1);a.isEditable()||b.setAttribute("editable",!1); +if(c=a.getNextBlock())h=goog.dom.createDom("next",null,Blockly.Xml.blockToDom(c)),b.appendChild(h);e=a.nextConnection&&a.nextConnection.getShadowDom();!e||c&&c.isShadow()||h.appendChild(Blockly.Xml.cloneShadow_(e));return b}; 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&&goog.dom.removeNode(c);b&&(c=b,b=b.nextSibling,3==c.nodeType&&""==c.data.trim()&&goog.dom.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"!=d.slice(-2)&&(b+=" ")}a=a.join("\n");a=a.replace(/(<(\w+)\b[^>]*>[^\n]*)\n *<\/\2>/g,"$1");return a.replace(/^\n/,"")}; Blockly.Xml.textToDom=function(a){(a=(new DOMParser).parseFromString(a,"text/xml"))&&a.firstChild&&"xml"==a.firstChild.nodeName.toLowerCase()&&a.firstChild===a.lastChild||goog.asserts.fail("Blockly.Xml.textToDom did not obtain a valid XML tree.");return a.firstChild}; @@ -1058,8 +1058,8 @@ Blockly.WorkspaceSvg.prototype.updateGridPattern_=function(){if(this.options.gri this.scale),d.setAttribute("x1",b),d.setAttribute("y1",a),d.setAttribute("x2",c),d.setAttribute("y2",a));e&&(e.setAttribute("stroke-width",this.scale),e.setAttribute("x1",a),e.setAttribute("y1",b),e.setAttribute("x2",a),e.setAttribute("y2",c))}};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.createSvgElement("rect",{"class":"blocklyIconShape",rx:"4",ry:"4",height:"16",width:"16"},a);Blockly.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.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.createSvgElement("svg",{x:Blockly.Bubble.BORDER_WIDTH,y:Blockly.Bubble.BORDER_WIDTH},null);if(this.quarkNames_.length)for(var a=goog.dom.createUntypedDom("xml"),b=0,c;c=this.quarkNames_[b];b++)a.appendChild(goog.dom.createUntypedDom("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.svgDialog_.appendChild(this.workspace_.createDom("blocklyMutatorBackground"));return this.svgDialog_}; +Blockly.Mutator.prototype.createEditor_=function(){this.svgDialog_=Blockly.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.svgDialog_.appendChild(this.workspace_.createDom("blocklyMutatorBackground"));return this.svgDialog_}; Blockly.Mutator.prototype.updateEditable=function(){this.block_.isInFlyout||(this.block_.isEditable()?this.iconGroup_&&Blockly.removeClass_(this.iconGroup_,"blocklyIconGroupReadonly"):(this.setVisible(!1),this.iconGroup_&&Blockly.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(),c;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()}; @@ -1223,9 +1223,9 @@ Blockly.Events.fromJson=function(a,b){var c;switch(a.type){case Blockly.Events.C Blockly.Events.Abstract=function(a){a&&(this.blockId=a.id,this.workspaceId=a.workspace.id);this.group=Blockly.Events.group_;this.recordUndo=Blockly.Events.recordUndo};Blockly.Events.Abstract.prototype.toJson=function(){var a={type:this.type};this.blockId&&(a.blockId=this.blockId);this.group&&(a.group=this.group);return a};Blockly.Events.Abstract.prototype.fromJson=function(a){this.blockId=a.blockId;this.group=a.group};Blockly.Events.Abstract.prototype.isNull=function(){return!1}; Blockly.Events.Abstract.prototype.run=function(a){};Blockly.Events.Create=function(a){a&&(Blockly.Events.Create.superClass_.constructor.call(this,a),this.xml=Blockly.Xml.blockToDomWithXY(a),this.ids=Blockly.Events.getDescendantIds_(a))};goog.inherits(Blockly.Events.Create,Blockly.Events.Abstract);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(""+a.xml+"").firstChild;this.ids=a.ids}; -Blockly.Events.Create.prototype.run=function(a){var b=Blockly.Workspace.getById(this.workspaceId);if(a)a=goog.dom.createUntypedDom("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-existant block: "+c)}}}; +Blockly.Events.Create.prototype.run=function(a){var b=Blockly.Workspace.getById(this.workspaceId);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-existant block: "+c)}}}; Blockly.Events.Delete=function(a){if(a){if(a.getParent())throw"Connected blocks cannot be deleted.";Blockly.Events.Delete.superClass_.constructor.call(this,a);this.oldXml=Blockly.Xml.blockToDomWithXY(a);this.ids=Blockly.Events.getDescendantIds_(a)}};goog.inherits(Blockly.Events.Delete,Blockly.Events.Abstract);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=Blockly.Workspace.getById(this.workspaceId);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-existant block: "+c)}}else a=goog.dom.createUntypedDom("xml"),a.appendChild(this.oldXml),Blockly.Xml.domToWorkspace(a,b)}; +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=Blockly.Workspace.getById(this.workspaceId);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-existant block: "+c)}}else a=goog.dom.createDom("xml"),a.appendChild(this.oldXml),Blockly.Xml.domToWorkspace(a,b)}; 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.Abstract);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=Blockly.Workspace.getById(this.workspaceId).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-existant 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); @@ -1239,7 +1239,7 @@ g;if(e){if(b=f.getInput(e))g=b.connection}else c.type==Blockly.PREVIOUS_STATEMEN 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);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}; Blockly.Events.disableOrphans=function(a){if(a.type==Blockly.Events.MOVE||a.type==Blockly.Events.CREATE){Blockly.Events.disable();if(a=Blockly.Workspace.getById(a.workspaceId).getBlockById(a.blockId))if(a.getParent()&&!a.getParent().disabled){a=a.getDescendants();for(var b=0,c;c=a[b];b++)c.setDisabled(!1)}else if((a.outputConnection||a.previousConnection)&&Blockly.dragMode_==Blockly.DRAG_NONE){do a.setDisabled(!0),a=a.getNextBlock();while(a)}Blockly.Events.enable()}};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.FONTSIZE=11;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.setSpellcheck=function(a){this.spellcheck_=a}; -Blockly.FieldTextInput.prototype.showEditor_=function(a){this.workspace_=this.sourceBlock_.workspace;a=a||!1;if(!a&&(goog.userAgent.MOBILE||goog.userAgent.ANDROID||goog.userAgent.IPAD))a=window.prompt(Blockly.Msg.CHANGE_VALUE_TITLE,this.text_),this.sourceBlock_&&(a=this.callValidator(a)),this.setValue(a);else{Blockly.WidgetDiv.show(this,this.sourceBlock_.RTL,this.widgetDispose_());var b=Blockly.WidgetDiv.DIV,c=goog.dom.createDom("INPUT","blocklyHtmlInput");c.setAttribute("spellcheck",this.spellcheck_); +Blockly.FieldTextInput.prototype.showEditor_=function(a){this.workspace_=this.sourceBlock_.workspace;a=a||!1;if(!a&&(goog.userAgent.MOBILE||goog.userAgent.ANDROID||goog.userAgent.IPAD))a=window.prompt(Blockly.Msg.CHANGE_VALUE_TITLE,this.text_),this.sourceBlock_&&(a=this.callValidator(a)),this.setValue(a);else{Blockly.WidgetDiv.show(this,this.sourceBlock_.RTL,this.widgetDispose_());var b=Blockly.WidgetDiv.DIV,c=goog.dom.createDom("input","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());c.onKeyDownWrapper_=Blockly.bindEvent_(c,"keydown",this,this.onHtmlInputKeyDown_);c.onKeyUpWrapper_=Blockly.bindEvent_(c,"keyup",this,this.onHtmlInputChange_);c.onKeyPressWrapper_=Blockly.bindEvent_(c,"keypress",this,this.onHtmlInputChange_); c.onWorkspaceChangeWrapper_=this.resizeEditor_.bind(this);this.workspace_.addChangeListener(c.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)}; @@ -1277,8 +1277,8 @@ var a=this.rectElement_||this.imageElement_;a.tooltip=this.sourceBlock_;Blockly. Blockly.FieldImage.prototype.setValue=function(a){null!==a&&(this.src_=a,this.imageElement_&&this.imageElement_.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",goog.isString(a)?a:""))};Blockly.FieldImage.prototype.setText=function(a){null!==a&&(this.text_=a)};Blockly.FieldImage.prototype.render_=function(){};Blockly.FieldNumber=function(a,b,c,d,e){a=String(a);Blockly.FieldNumber.superClass_.constructor.call(this,a,e);this.setConstraints(b,c,d)};goog.inherits(Blockly.FieldNumber,Blockly.FieldTextInput);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_&&Number.isFinite(a)&&(a=Math.round(a/this.precision_)*this.precision_);a=goog.math.clamp(a,this.min_,this.max_);return String(a)};Blockly.Variables={};Blockly.Variables.NAME_TYPE="VARIABLE";Blockly.Variables.allVariables=function(a){var b;if(a.getDescendants)b=a.getDescendants();else if(a.getAllBlocks)b=a.getAllBlocks();else throw"Not Block or Workspace: "+a;a=Object.create(null);for(var c=0;cc.width+d.x&&(a=c.width+d.x):a Date: Mon, 25 Jul 2016 07:47:30 +0200 Subject: [PATCH 4/5] Localisation updates from https://translatewiki.net. --- msg/json/cs.json | 6 +- msg/json/diq.json | 137 ++++++++++++++++++++++++++++++++++++++++++++++ msg/json/el.json | 4 +- msg/json/ko.json | 2 +- msg/json/tcy.json | 14 ++--- 5 files changed, 151 insertions(+), 12 deletions(-) create mode 100644 msg/json/diq.json diff --git a/msg/json/cs.json b/msg/json/cs.json index 3d0827e5c..e0cb6a41d 100644 --- a/msg/json/cs.json +++ b/msg/json/cs.json @@ -195,7 +195,7 @@ "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, vrátí hodnotu %1.", + "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_INPUT_INTEXT": "v textu", "TEXT_INDEXOF_OPERATOR_FIRST": "najít první výskyt textu", "TEXT_INDEXOF_OPERATOR_LAST": "najít poslední výskyt textu", @@ -255,11 +255,11 @@ "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": "Vrátí položku z určené pozice v seznamu.", + "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 vrátí položku z určené pozice v 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.", diff --git a/msg/json/diq.json b/msg/json/diq.json new file mode 100644 index 000000000..409cd9c23 --- /dev/null +++ b/msg/json/diq.json @@ -0,0 +1,137 @@ +{ + "@metadata": { + "authors": [ + "Kumkumuk", + "Marmase", + "Mirzali" + ] + }, + "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 çengan bestern", + "DELETE_ALL_BLOCKS": "Wa %1 çengey heme besteri yè?", + "CLEAN_UP": "Çengan pak ke", + "COLLAPSE_BLOCK": "Çengi teng ke", + "COLLAPSE_ALL": "Çengi teng ke", + "EXPAND_BLOCK": "Çengi hera ke", + "EXPAND_ALL": "Çengan hera ke", + "DISABLE_BLOCK": "Çengi devre ra vec", + "ENABLE_BLOCK": "Çengi aktiv ke", + "HELP": "Peşti", + "UNDO": "Peyser biya", + "REDO": "Anewe ke", + "CHANGE_VALUE_TITLE": "Erci bıvırne:", + "NEW_VARIABLE": "Vuriyayeyo newe...", + "NEW_VARIABLE_TITLE": "Namey vuriyayeyê newi:", + "RENAME_VARIABLE": "Vuriyayey fına name ke...", + "COLOUR_PICKER_HELPURL": "https://diq.wikipedia.org/wiki/Reng", + "COLOUR_RANDOM_TITLE": "rengo rastameye", + "COLOUR_RGB_TITLE": "komponentên rengan", + "COLOUR_RGB_RED": "sur", + "COLOUR_RGB_GREEN": "kıho", + "COLOUR_RGB_BLUE": "mawi", + "COLOUR_BLEND_TITLE": "tewde", + "COLOUR_BLEND_COLOUR1": "reng 1", + "COLOUR_BLEND_COLOUR2": "reng 2", + "COLOUR_BLEND_RATIO": "nisbet", + "CONTROLS_REPEAT_HELPURL": "https://en.wikipedia.org/wiki/For_loop", + "CONTROLS_REPEAT_INPUT_DO": "bık", + "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_IF_MSG_IF": "se", + "CONTROLS_IF_MSG_ELSEIF": "niyose", + "CONTROLS_IF_MSG_ELSE": "çıniyose", + "LOGIC_OPERATION_AND": "û", + "LOGIC_OPERATION_OR": "ya zi", + "LOGIC_NEGATE_TITLE": "%1 niyo", + "LOGIC_BOOLEAN_TRUE": "raşt", + "LOGIC_BOOLEAN_FALSE": "ğelet", + "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", + "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_OP_ROOT": "karekok", + "MATH_SINGLE_OP_ABSOLUTE": "mutlaq", + "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_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_RANDOM_FLOAT_TITLE_RANDOM": "Raştamaye nimande amor", + "TEXT_CREATE_JOIN_TITLE_JOIN": "gıre de", + "TEXT_APPEND_TO": "rê", + "TEXT_ISEMPTY_TITLE": "%1 vengo", + "TEXT_INDEXOF_INPUT_INTEXT": "metın de", + "TEXT_CHARAT_INPUT_INTEXT": "metın de", + "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", + "LISTS_CREATE_EMPTY_TITLE": "lista venge vıraze", + "LISTS_CREATE_WITH_CONTAINER_TITLE_ADD": "liste", + "LISTS_ISEMPTY_TITLE": "%1 vengo", + "LISTS_INLIST": "lista de", + "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": "# peynira", + "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_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", + "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": "Çıyan rê mısafe bıd", + "PROCEDURES_MUTATORCONTAINER_TITLE": "cıkewtışi", + "PROCEDURES_MUTATORARG_TITLE": "nameyê cıkewtışi:", + "PROCEDURES_CREATE_DO": "'%1' vıraze" +} diff --git a/msg/json/el.json b/msg/json/el.json index c6551121f..191bfc17e 100644 --- a/msg/json/el.json +++ b/msg/json/el.json @@ -8,7 +8,8 @@ "Sfyrakis", "Glavkos", "Gchr", - "아라" + "아라", + "Geraki" ] }, "VARIABLES_DEFAULT_NAME": "αντικείμενο", @@ -291,6 +292,7 @@ "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_SPLIT_LIST_FROM_TEXT": "κάνετε λίστα από το κείμενο", "LISTS_SPLIT_TEXT_FROM_LIST": "κάνετε κείμενο από τη λίστα", "LISTS_SPLIT_WITH_DELIMITER": "με διαχωριστικό", diff --git a/msg/json/ko.json b/msg/json/ko.json index ab12b36f0..ea7dcefaa 100644 --- a/msg/json/ko.json +++ b/msg/json/ko.json @@ -289,7 +289,7 @@ "LISTS_GET_INDEX_RANDOM": "임의로", "LISTS_GET_INDEX_TAIL": "", "LISTS_INDEX_FROM_START_TOOLTIP": "%1은 첫 번째 항목입니다.", - "LISTS_INDEX_FROM_END_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": "마지막 아이템을 찾아 돌려줍니다.", diff --git a/msg/json/tcy.json b/msg/json/tcy.json index 8194895ad..38ce96697 100644 --- a/msg/json/tcy.json +++ b/msg/json/tcy.json @@ -232,28 +232,28 @@ "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_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_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_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_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_FROM": "ನಿರ್ದಿಸ್ಟೊ ಜಾಗೆಡುಪ್ಪುನ ಅಂಸೊಲೆ ಪಟ್ಟಿನ್ ಸೇರಲ", "LISTS_SET_INDEX_TOOLTIP_INSERT_FIRST": "ಸುರುತ ಅಂಸೊಲೆ ಪಟ್ಟಿನ್ ಸೇರಲ.", "LISTS_SET_INDEX_TOOLTIP_INSERT_LAST": "ಪಟ್ಟಿದ ಅಕೇರಿಗ್ ಈ ಅಂಸೊಲೆನ್ ಸೇರಲ.", "LISTS_SET_INDEX_TOOLTIP_INSERT_RANDOM": "ಪಟ್ಟಿಗ್ ಗೊತ್ತುಗುರಿದಾಂತೆ ಅಂಸೊಲೆನ್ ಸೇರಲ.", From b94dff049eb2344a7811276771888babdf4c23e8 Mon Sep 17 00:00:00 2001 From: Hasso Tepper Date: Wed, 27 Jul 2016 03:20:54 +0300 Subject: [PATCH 5/5] Add Estonian translations to the code and plane demos (#505) --- demos/code/code.js | 1 + demos/code/msg/et.js | 24 ++++++++++ demos/plane/generated/et.js | 37 +++++++++++++++ demos/plane/xlf/translated_msgs_et.xlf | 63 ++++++++++++++++++++++++++ 4 files changed, 125 insertions(+) create mode 100644 demos/code/msg/et.js create mode 100644 demos/plane/generated/et.js create mode 100644 demos/plane/xlf/translated_msgs_et.xlf diff --git a/demos/code/code.js b/demos/code/code.js index 2dfebbbfb..65a2621ff 100644 --- a/demos/code/code.js +++ b/demos/code/code.js @@ -42,6 +42,7 @@ Code.LANGUAGE_NAME = { 'el': 'Ελληνικά', 'en': 'English', 'es': 'Español', + 'et': 'Eesti', 'fa': 'فارسی', 'fr': 'Français', 'he': 'עברית', diff --git a/demos/code/msg/et.js b/demos/code/msg/et.js new file mode 100644 index 000000000..320c39174 --- /dev/null +++ b/demos/code/msg/et.js @@ -0,0 +1,24 @@ +var MSG = { + title: "Kood", + blocks: "Plokid", + linkTooltip: "Salvesta ja tekita link plokkidele.", + runTooltip: "Käivita töölaual olevate plokkidega defineeritud programm.", + badCode: "Viga programmis:\n%1", + timeout: "Käivitatavate iteratsioonide maksimaalne arv on ületatud.", + trashTooltip: "Eemalda kõik plokid.", + catLogic: "Loogika", + catLoops: "Kordus", + catMath: "Matemaatika", + catText: "Tekst", + catLists: "Loendid", + catColour: "Värv", + catVariables: "Muutujad", + catFunctions: "Funktsioonid", + listVariable: "loend", + textVariable: "tekst", + httpRequestError: "Probleem päringuga.", + linkAlert: "Oma plokke saad jagada selle lingiga:\n\n%1", + hashError: "Vabandust, kuid '%1' ei vasta ühelegi salvestatud programmile.", + xmlError: "Su salvestatud faili ei õnnestunud laadida. Võibolla on see loodud mõne teise Blockly versiooniga?", + badXml: "Viga XML-i parsimisel:\n%1\n\nTehtud muudatustest loobumiseks vajuta 'OK', XML-i muudatuste tegemise jätkamiseks 'Katkesta'." +}; diff --git a/demos/plane/generated/et.js b/demos/plane/generated/et.js new file mode 100644 index 000000000..069c7cb28 --- /dev/null +++ b/demos/plane/generated/et.js @@ -0,0 +1,37 @@ +// This file was automatically generated from template.soy. +// Please don't edit this file by hand. + +if (typeof planepage == 'undefined') { var planepage = {}; } + + +planepage.messages = function(opt_data, opt_ignored, opt_ijData) { + return '
Ridu: %1rows (%1)1. klassi ridu: %11. klassi ridu (%1)2. klassi ridu: %12. klassi ridu (%1)Istmeid: %1?istmete arv =
'; +}; + + +planepage.start = function(opt_data, opt_ignored, opt_ijData) { + var output = planepage.messages(null, null, opt_ijData) + '

Blockly‏ > Demos‏ > Lennukiistmete kalkulaator   '; + var iLimit37 = opt_ijData.maxLevel + 1; + for (var i37 = 1; i37 < iLimit37; i37++) { + output += ' ' + ((i37 == opt_ijData.level) ? '' + soy.$$escapeHtml(i37) + '' : (i37 < opt_ijData.level) ? '' : '' + soy.$$escapeHtml(i37) + ''); + } + output += '