From 6ec7d31629f0a712cf208e0d2851077effce0eb6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niklas=20Laxstr=C3=B6m?= Date: Mon, 6 Jun 2016 08:05:39 +0200 Subject: [PATCH 1/6] Localisation updates from https://translatewiki.net. --- msg/json/be-tarask.json | 2 ++ msg/json/es.json | 5 +++-- msg/json/uk.json | 8 ++++++++ 3 files changed, 13 insertions(+), 2 deletions(-) diff --git a/msg/json/be-tarask.json b/msg/json/be-tarask.json index af8f86a5a..24344c821 100644 --- a/msg/json/be-tarask.json +++ b/msg/json/be-tarask.json @@ -276,6 +276,8 @@ "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_SPLIT_LIST_FROM_TEXT": "стварыць сьпіс з тэксту", "LISTS_SPLIT_TEXT_FROM_LIST": "стварыць тэкст са сьпісу", "LISTS_SPLIT_WITH_DELIMITER": "з падзяляльнікам", diff --git a/msg/json/es.json b/msg/json/es.json index 6f2901582..4afd5e793 100644 --- a/msg/json/es.json +++ b/msg/json/es.json @@ -7,7 +7,8 @@ "Macofe", "Codynguyen1116", "Indiralena", - "Rubentl134" + "Rubentl134", + "Martineduardo" ] }, "VARIABLES_DEFAULT_NAME": "elemento", @@ -138,7 +139,7 @@ "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": "cambiar %1 por %2", + "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 hacia arriba o hacia abajo.", diff --git a/msg/json/uk.json b/msg/json/uk.json index 1f8976a0f..4d2b609d3 100644 --- a/msg/json/uk.json +++ b/msg/json/uk.json @@ -290,6 +290,14 @@ "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": "з розділювачем", From 736ff96ead40e50cc11e60f4952deeeea5cd0a94 Mon Sep 17 00:00:00 2001 From: Rodrigo Queiro Date: Tue, 7 Jun 2016 18:54:37 +0200 Subject: [PATCH 2/6] Fix typo in flyout.js (#403) --- core/flyout.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/flyout.js b/core/flyout.js index 3caa8deaa..d8a64d94a 100644 --- a/core/flyout.js +++ b/core/flyout.js @@ -569,7 +569,7 @@ Blockly.Flyout.prototype.show = function(xmlList) { this.layoutBlocks_(blocks, gaps); - // IE 11 is an incompetant browser that fails to fire mouseout events. + // IE 11 is an incompetent browser that fails to fire mouseout events. // When the mouse is over the background, deselect all blocks. var deselectAll = function() { var topBlocks = this.workspace_.getTopBlocks(false); From 0585a667ec295666378c4c81bc7aaebf8e36920f Mon Sep 17 00:00:00 2001 From: Rodrigo Queiro Date: Tue, 7 Jun 2016 18:54:57 +0200 Subject: [PATCH 3/6] Fix typo in flyout.js (#402) --- core/flyout.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/flyout.js b/core/flyout.js index d8a64d94a..52027e428 100644 --- a/core/flyout.js +++ b/core/flyout.js @@ -806,7 +806,7 @@ Blockly.Flyout.prototype.onMouseMoveBlock_ = function(e) { Safari Mobile 6.0 and Chrome for Android 18.0 fire rogue mousemove events on certain touch actions. Ignore events with these signatures. This may result in a one-pixel blind spot in other browsers, - but this shouldn't be noticable. */ + but this shouldn't be noticeable. */ e.stopPropagation(); return; } From 105f0da3d2fccec9dc035617a7bcaf405039e4ac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Niklas=20Laxstr=C3=B6m?= Date: Thu, 9 Jun 2016 07:41:08 +0200 Subject: [PATCH 4/6] Localisation updates from https://translatewiki.net. --- msg/json/be-tarask.json | 1 + msg/json/he.json | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/msg/json/be-tarask.json b/msg/json/be-tarask.json index 24344c821..3117f514a 100644 --- a/msg/json/be-tarask.json +++ b/msg/json/be-tarask.json @@ -278,6 +278,7 @@ "LISTS_SORT_TOOLTIP": "Сартаваць копію сьпісу.", "LISTS_SORT_ORDER_ASCENDING": "па павелічэньні", "LISTS_SORT_ORDER_DESCENDING": "па зьмяншэньні", + "LISTS_SORT_TYPE_NUMERIC": "як лікі", "LISTS_SPLIT_LIST_FROM_TEXT": "стварыць сьпіс з тэксту", "LISTS_SPLIT_TEXT_FROM_LIST": "стварыць тэкст са сьпісу", "LISTS_SPLIT_WITH_DELIMITER": "з падзяляльнікам", diff --git a/msg/json/he.json b/msg/json/he.json index 546e88e35..73ed3b49f 100644 --- a/msg/json/he.json +++ b/msg/json/he.json @@ -143,12 +143,15 @@ "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": "מקסימום של רשימה", @@ -157,6 +160,7 @@ "MATH_ONLIST_OPERATOR_MEDIAN": "חציון של רשימה", "MATH_ONLIST_TOOLTIP_MEDIAN": "תחזיר את המספר החיצוני ביותר ברשימה.", "MATH_ONLIST_OPERATOR_MODE": "שכיחי הרשימה", + "MATH_ONLIST_TOOLTIP_MODE": "החזרת רשימה של הפריטים הנפוצים ביותר ברשימה", "MATH_ONLIST_OPERATOR_RANDOM": "פריט אקראי מרשימה", "MATH_ONLIST_TOOLTIP_RANDOM": "תחזיר רכיב אקראי מרשימה.", "MATH_MODULO_TITLE": "שארית החילוק %1 ÷ %2", From 652e57bc3842aea064da03d4b45929884e972e9f Mon Sep 17 00:00:00 2001 From: Neil Fraser Date: Thu, 9 Jun 2016 17:26:23 -0700 Subject: [PATCH 5/6] Generate for loops on one line. --- demos/blockfactory/factory.js | 2 +- generators/dart/loops.js | 8 ++++---- generators/javascript/loops.js | 8 ++++---- generators/php/loops.js | 8 ++++---- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/demos/blockfactory/factory.js b/demos/blockfactory/factory.js index 375ad1386..06eca710c 100644 --- a/demos/blockfactory/factory.js +++ b/demos/blockfactory/factory.js @@ -656,7 +656,7 @@ function updatePreview() { if (format == 'JSON') { var json = JSON.parse(code); - Blockly.Blocks[json.id || UNNAMED] = { + Blockly.Blocks[json.type || UNNAMED] = { init: function() { this.jsonInit(json); } diff --git a/generators/dart/loops.js b/generators/dart/loops.js index 2be30cc21..0dd7c0ce5 100644 --- a/generators/dart/loops.js +++ b/generators/dart/loops.js @@ -128,11 +128,11 @@ Blockly.Dart['controls_for'] = function(block) { code += 'if (' + startVar + ' > ' + endVar + ') {\n'; code += Blockly.Dart.INDENT + incVar + ' = -' + incVar + ';\n'; code += '}\n'; - code += 'for (' + variable0 + ' = ' + startVar + ';\n' + - ' ' + incVar + ' >= 0 ? ' + + code += 'for (' + variable0 + ' = ' + startVar + '; ' + + incVar + ' >= 0 ? ' + variable0 + ' <= ' + endVar + ' : ' + - variable0 + ' >= ' + endVar + ';\n' + - ' ' + variable0 + ' += ' + incVar + ') {\n' + + variable0 + ' >= ' + endVar + '; ' + + variable0 + ' += ' + incVar + ') {\n' + branch + '}\n'; } return code; diff --git a/generators/javascript/loops.js b/generators/javascript/loops.js index 944580403..1a2ade593 100644 --- a/generators/javascript/loops.js +++ b/generators/javascript/loops.js @@ -129,11 +129,11 @@ Blockly.JavaScript['controls_for'] = function(block) { code += 'if (' + startVar + ' > ' + endVar + ') {\n'; code += Blockly.JavaScript.INDENT + incVar + ' = -' + incVar + ';\n'; code += '}\n'; - code += 'for (' + variable0 + ' = ' + startVar + ';\n' + - ' ' + incVar + ' >= 0 ? ' + + code += 'for (' + variable0 + ' = ' + startVar + '; ' + + incVar + ' >= 0 ? ' + variable0 + ' <= ' + endVar + ' : ' + - variable0 + ' >= ' + endVar + ';\n' + - ' ' + variable0 + ' += ' + incVar + ') {\n' + + variable0 + ' >= ' + endVar + '; ' + + variable0 + ' += ' + incVar + ') {\n' + branch + '}\n'; } return code; diff --git a/generators/php/loops.js b/generators/php/loops.js index 4a905b4e0..f306b1053 100644 --- a/generators/php/loops.js +++ b/generators/php/loops.js @@ -128,11 +128,11 @@ Blockly.PHP['controls_for'] = function(block) { code += 'if (' + startVar + ' > ' + endVar + ') {\n'; code += Blockly.PHP.INDENT + incVar + ' = -' + incVar + ';\n'; code += '}\n'; - code += 'for (' + variable0 + ' = ' + startVar + ';\n' + - ' ' + incVar + ' >= 0 ? ' + + code += 'for (' + variable0 + ' = ' + startVar + '; ' + + incVar + ' >= 0 ? ' + variable0 + ' <= ' + endVar + ' : ' + - variable0 + ' >= ' + endVar + ';\n' + - ' ' + variable0 + ' += ' + incVar + ') {\n' + + variable0 + ' >= ' + endVar + '; ' + + variable0 + ' += ' + incVar + ') {\n' + branch + '}\n'; } return code; From ef417d7a6098df2c801d0c4f3aef5034f9246d83 Mon Sep 17 00:00:00 2001 From: Neil Fraser Date: Thu, 9 Jun 2016 18:04:14 -0700 Subject: [PATCH 6/6] Fix precedence on isIndex blocks. --- generators/dart/lists.js | 8 ++++---- generators/dart/text.js | 2 +- generators/javascript/lists.js | 2 +- generators/javascript/text.js | 2 +- generators/php/lists.js | 8 ++++---- generators/php/text.js | 3 +-- generators/python/text.js | 2 +- 7 files changed, 13 insertions(+), 14 deletions(-) diff --git a/generators/dart/lists.js b/generators/dart/lists.js index 8b0f8553b..24fcd2243 100644 --- a/generators/dart/lists.js +++ b/generators/dart/lists.js @@ -80,7 +80,7 @@ Blockly.Dart['lists_indexOf'] = function(block) { var argument1 = Blockly.Dart.valueToCode(block, 'VALUE', Blockly.Dart.ORDER_UNARY_POSTFIX) || '[]'; var code = argument1 + '.' + operator + '(' + argument0 + ') + 1'; - return [code, Blockly.Dart.ORDER_UNARY_POSTFIX]; + return [code, Blockly.Dart.ORDER_ADDITIVE]; }; Blockly.Dart['lists_getIndex'] = function(block) { @@ -318,10 +318,10 @@ Blockly.Dart['lists_sort'] = function(block) { var type = block.getFieldValue('TYPE'); var sortFunctionName = Blockly.Dart.provideFunction_( 'lists_sort', - ['List ' + Blockly.Dart.FUNCTION_NAME_PLACEHOLDER_ + + ['List ' + Blockly.Dart.FUNCTION_NAME_PLACEHOLDER_ + '(list, type, direction) {', ' var compareFuncs = {', - ' "NUMERIC": (a, b) => direction * a.compareTo(b),', + ' "NUMERIC": (a, b) => direction * a.compareTo(b),', ' "TEXT": (a, b) => direction * a.toString().compareTo(b.toString()),', ' "IGNORE_CASE": ', ' (a, b) => direction * ', @@ -332,7 +332,7 @@ Blockly.Dart['lists_sort'] = function(block) { ' list.sort(compare);', ' return list;', '}']); - return [sortFunctionName + '(' + listCode + ', ' + + return [sortFunctionName + '(' + listCode + ', ' + '"' + type + '", ' + direction + ')', Blockly.Dart.ORDER_UNARY_POSTFIX]; }; diff --git a/generators/dart/text.js b/generators/dart/text.js index 6a06c8241..ba5a75cb0 100644 --- a/generators/dart/text.js +++ b/generators/dart/text.js @@ -90,7 +90,7 @@ Blockly.Dart['text_indexOf'] = function(block) { var argument1 = Blockly.Dart.valueToCode(block, 'VALUE', Blockly.Dart.ORDER_UNARY_POSTFIX) || '\'\''; var code = argument1 + '.' + operator + '(' + argument0 + ') + 1'; - return [code, Blockly.Dart.ORDER_UNARY_POSTFIX]; + return [code, Blockly.Dart.ORDER_ADDITIVE]; }; Blockly.Dart['text_charAt'] = function(block) { diff --git a/generators/javascript/lists.js b/generators/javascript/lists.js index 2a06eab32..aa817f96f 100644 --- a/generators/javascript/lists.js +++ b/generators/javascript/lists.js @@ -88,7 +88,7 @@ Blockly.JavaScript['lists_indexOf'] = function(block) { var argument1 = Blockly.JavaScript.valueToCode(block, 'VALUE', Blockly.JavaScript.ORDER_MEMBER) || '[]'; var code = argument1 + '.' + operator + '(' + argument0 + ') + 1'; - return [code, Blockly.JavaScript.ORDER_MEMBER]; + return [code, Blockly.JavaScript.ORDER_ADDITION]; }; Blockly.JavaScript['lists_getIndex'] = function(block) { diff --git a/generators/javascript/text.js b/generators/javascript/text.js index 78e94ed16..86befb9ef 100644 --- a/generators/javascript/text.js +++ b/generators/javascript/text.js @@ -95,7 +95,7 @@ Blockly.JavaScript['text_indexOf'] = function(block) { var argument1 = Blockly.JavaScript.valueToCode(block, 'VALUE', Blockly.JavaScript.ORDER_MEMBER) || '\'\''; var code = argument1 + '.' + operator + '(' + argument0 + ') + 1'; - return [code, Blockly.JavaScript.ORDER_MEMBER]; + return [code, Blockly.JavaScript.ORDER_ADDITION]; }; Blockly.JavaScript['text_charAt'] = function(block) { diff --git a/generators/php/lists.js b/generators/php/lists.js index d8685ca0e..d7111b19e 100644 --- a/generators/php/lists.js +++ b/generators/php/lists.js @@ -104,7 +104,7 @@ Blockly.PHP['lists_indexOf'] = function(block) { [ 'function ' + Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_ + '($haystack, $needle) {', ' for ($index = 0; $index < count($haystack); $index++) {', - ' if ($haystack[$index] == $needle) return $index+1;', + ' if ($haystack[$index] == $needle) return $index + 1;', ' }', ' return 0;', '}']); @@ -116,7 +116,7 @@ Blockly.PHP['lists_indexOf'] = function(block) { '($haystack, $needle) {', ' $last = 0;', ' for ($index = 0; $index < count($haystack); $index++) {', - ' if ($haystack[$index] == $needle) $last = $index+1;', + ' if ($haystack[$index] == $needle) $last = $index + 1;', ' }', ' return $last;', '}']); @@ -364,7 +364,7 @@ Blockly.PHP['lists_sort'] = function(block) { var type = block.getFieldValue('TYPE'); var functionName = Blockly.PHP.provideFunction_( 'lists_sort', [ - 'function ' + Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_ + + 'function ' + Blockly.PHP.FUNCTION_NAME_PLACEHOLDER_ + '($list, $type, $direction) {', ' $sortCmpFuncs = array(', ' "NUMERIC" => "strnatcasecmp",', @@ -379,7 +379,7 @@ Blockly.PHP['lists_sort'] = function(block) { ' }', ' return $list2;', '}']); - var sortCode = functionName + + var sortCode = functionName + '(' + listCode + ', "' + type + '", ' + direction + ')'; return [sortCode, Blockly.PHP.ORDER_FUNCTION_CALL]; }; diff --git a/generators/php/text.js b/generators/php/text.js index 561b4997c..3960ab011 100644 --- a/generators/php/text.js +++ b/generators/php/text.js @@ -103,7 +103,6 @@ Blockly.PHP['text_indexOf'] = function(block) { Blockly.PHP.ORDER_FUNCTION_CALL) || '\'\''; var argument1 = Blockly.PHP.valueToCode(block, 'VALUE', Blockly.PHP.ORDER_FUNCTION_CALL) || '\'\''; - var code = operator + '(' + argument1 + ', ' + argument0 + ') + 1'; var functionName = Blockly.PHP.provideFunction_( block.getFieldValue('END') == 'FIRST' ? @@ -113,7 +112,7 @@ Blockly.PHP['text_indexOf'] = function(block) { ' $pos = ' + operator + '($text, $search);', ' return $pos === false ? 0 : $pos + 1;', '}']); - code = functionName + '(' + argument1 + ', ' + argument0 + ')'; + var code = functionName + '(' + argument1 + ', ' + argument0 + ')'; return [code, Blockly.PHP.ORDER_FUNCTION_CALL]; }; diff --git a/generators/python/text.js b/generators/python/text.js index 7d3797b54..3ae0ffc8e 100644 --- a/generators/python/text.js +++ b/generators/python/text.js @@ -100,7 +100,7 @@ Blockly.Python['text_indexOf'] = function(block) { var argument1 = Blockly.Python.valueToCode(block, 'VALUE', Blockly.Python.ORDER_MEMBER) || '\'\''; var code = argument1 + '.' + operator + '(' + argument0 + ') + 1'; - return [code, Blockly.Python.ORDER_MEMBER]; + return [code, Blockly.Python.ORDER_ADDITIVE]; }; Blockly.Python['text_charAt'] = function(block) {