kopia lustrzana https://github.com/backface/turtlestitch
added translation control for submenus in dropdowns
and simplified the translation mechanism slightlypull/89/head
rodzic
49c9aba84e
commit
4a1094e7c5
|
@ -4,10 +4,14 @@
|
||||||
* **New Features:**
|
* **New Features:**
|
||||||
* **Notable Changes:**
|
* **Notable Changes:**
|
||||||
* **Notable Fixes:**
|
* **Notable Fixes:**
|
||||||
|
* fixed submenu translation control for dropdowns
|
||||||
* **Translation Updates:**
|
* **Translation Updates:**
|
||||||
|
* Catalan, thanks, Joan
|
||||||
|
|
||||||
### 2019-11-12
|
### 2019-11-12
|
||||||
* new dev version
|
* new dev version
|
||||||
|
* drop-down menu translation improvements by Joan
|
||||||
|
* submenu-title translation control
|
||||||
|
|
||||||
## v5.3.2:
|
## v5.3.2:
|
||||||
* **Notable Fixes:**
|
* **Notable Fixes:**
|
||||||
|
@ -26,6 +30,7 @@
|
||||||
* blocks: fixed dropdown menu generation for untranslated items
|
* blocks: fixed dropdown menu generation for untranslated items
|
||||||
* blocks: don't translate message names in drow-down menus
|
* blocks: don't translate message names in drow-down menus
|
||||||
* blocks: don't translate names in dropdowns
|
* blocks: don't translate names in dropdowns
|
||||||
|
* byob: don't translate items in dropdowns
|
||||||
* help: fixed size of MY help screen, thanks, Brian
|
* help: fixed size of MY help screen, thanks, Brian
|
||||||
* prepared release
|
* prepared release
|
||||||
|
|
||||||
|
|
10
snap.html
10
snap.html
|
@ -4,15 +4,15 @@
|
||||||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
|
||||||
<title>Snap! Build Your Own Blocks 5.3.3 - dev -</title>
|
<title>Snap! Build Your Own Blocks 5.3.3 - dev -</title>
|
||||||
<link rel="shortcut icon" href="src/favicon.ico">
|
<link rel="shortcut icon" href="src/favicon.ico">
|
||||||
<script type="text/javascript" src="src/morphic.js?version=2019-11-06"></script>
|
<script type="text/javascript" src="src/morphic.js?version=2019-11-12"></script>
|
||||||
<script type="text/javascript" src="src/widgets.js?version=2019-10-16"></script>
|
<script type="text/javascript" src="src/widgets.js?version=2019-10-16"></script>
|
||||||
<script type="text/javascript" src="src/blocks.js?version=2019-11-06"></script>
|
<script type="text/javascript" src="src/blocks.js?version=2019-11-12"></script>
|
||||||
<script type="text/javascript" src="src/threads.js?version=2019-11-05"></script>
|
<script type="text/javascript" src="src/threads.js?version=2019-11-05"></script>
|
||||||
<script type="text/javascript" src="src/objects.js?version=2019-11-06"></script>
|
<script type="text/javascript" src="src/objects.js?version=2019-11-12"></script>
|
||||||
<script type="text/javascript" src="src/gui.js?version=2019-11-12"></script>
|
<script type="text/javascript" src="src/gui.js?version=2019-11-12"></script>
|
||||||
<script type="text/javascript" src="src/paint.js?version=2019-06-27"></script>
|
<script type="text/javascript" src="src/paint.js?version=2019-06-27"></script>
|
||||||
<script type="text/javascript" src="src/lists.js?version=2019-10-23"></script>
|
<script type="text/javascript" src="src/lists.js?version=2019-10-23"></script>
|
||||||
<script type="text/javascript" src="src/byob.js?version=2019-07-24"></script>
|
<script type="text/javascript" src="src/byob.js?version=2019-07-12"></script>
|
||||||
<script type="text/javascript" src="src/tables.js?version=2019-06-27"></script>
|
<script type="text/javascript" src="src/tables.js?version=2019-06-27"></script>
|
||||||
<script type="text/javascript" src="src/symbols.js?version=2019-06-27"></script>
|
<script type="text/javascript" src="src/symbols.js?version=2019-06-27"></script>
|
||||||
<script type="text/javascript" src="src/sketch.js?version=2019-10-09"></script>
|
<script type="text/javascript" src="src/sketch.js?version=2019-10-09"></script>
|
||||||
|
@ -20,7 +20,7 @@
|
||||||
<script type="text/javascript" src="src/maps.js?version=2019-10-28"></script>
|
<script type="text/javascript" src="src/maps.js?version=2019-10-28"></script>
|
||||||
<script type="text/javascript" src="src/xml.js?version=2019-06-27"></script>
|
<script type="text/javascript" src="src/xml.js?version=2019-06-27"></script>
|
||||||
<script type="text/javascript" src="src/store.js?version=2019-08-08"></script>
|
<script type="text/javascript" src="src/store.js?version=2019-08-08"></script>
|
||||||
<script type="text/javascript" src="src/locale.js?version=2019-11-06"></script>
|
<script type="text/javascript" src="src/locale.js?version=2019-11-12"></script>
|
||||||
<script type="text/javascript" src="src/cloud.js?version=2019-10-09"></script>
|
<script type="text/javascript" src="src/cloud.js?version=2019-10-09"></script>
|
||||||
<script type="text/javascript" src="src/sha512.js?version=2019-06-27"></script>
|
<script type="text/javascript" src="src/sha512.js?version=2019-06-27"></script>
|
||||||
<script type="text/javascript" src="src/FileSaver.min.js?version=2019-06-27"></script>
|
<script type="text/javascript" src="src/FileSaver.min.js?version=2019-06-27"></script>
|
||||||
|
|
|
@ -148,7 +148,7 @@ CustomCommandBlockMorph, SymbolMorph, ToggleButtonMorph, DialMorph*/
|
||||||
|
|
||||||
// Global stuff ////////////////////////////////////////////////////////
|
// Global stuff ////////////////////////////////////////////////////////
|
||||||
|
|
||||||
modules.blocks = '2019-November-06';
|
modules.blocks = '2019-November-12';
|
||||||
|
|
||||||
var SyntaxElementMorph;
|
var SyntaxElementMorph;
|
||||||
var BlockMorph;
|
var BlockMorph;
|
||||||
|
@ -618,7 +618,7 @@ SyntaxElementMorph.prototype.getVarNamesDict = function () {
|
||||||
if (block.selector === 'doSetVar') {
|
if (block.selector === 'doSetVar') {
|
||||||
// add settable object attributes
|
// add settable object attributes
|
||||||
dict['~'] = null;
|
dict['~'] = null;
|
||||||
dict.my = {
|
dict.my = [{// wrap the submenu into a 1-item array to translate it
|
||||||
'anchor' : ['anchor'],
|
'anchor' : ['anchor'],
|
||||||
'parent' : ['parent'],
|
'parent' : ['parent'],
|
||||||
'name' : ['name'],
|
'name' : ['name'],
|
||||||
|
@ -628,10 +628,10 @@ SyntaxElementMorph.prototype.getVarNamesDict = function () {
|
||||||
'rotation style' : ['rotation style'],
|
'rotation style' : ['rotation style'],
|
||||||
'rotation x' : ['rotation x'],
|
'rotation x' : ['rotation x'],
|
||||||
'rotation y' : ['rotation y']
|
'rotation y' : ['rotation y']
|
||||||
};
|
}];
|
||||||
if (this.world().currentKey === 16) { // shift
|
if (this.world().currentKey === 16) { // shift
|
||||||
dict.my['~'] = null;
|
dict.my[0]['~'] = null; // don't forget we're inside an array...
|
||||||
dict.my['microphone modifier'] = ['microphone modifier'];
|
dict.my[0]['microphone modifier'] = ['microphone modifier'];
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return dict;
|
return dict;
|
||||||
|
@ -8747,7 +8747,16 @@ InputSlotMorph.prototype.menuFromDict = function (
|
||||||
key,
|
key,
|
||||||
this.menuFromDict(choices[key],true),
|
this.menuFromDict(choices[key],true),
|
||||||
null, // indicator
|
null, // indicator
|
||||||
true // verbatim?
|
true // verbatim? - don't translate
|
||||||
|
);
|
||||||
|
} else if (choices[key] instanceof Array &&
|
||||||
|
choices[key][0] instanceof Object &&
|
||||||
|
typeof choices[key][0] !== 'function') {
|
||||||
|
menu.addMenu(
|
||||||
|
key,
|
||||||
|
this.menuFromDict(choices[key][0],true),
|
||||||
|
null, // indicator
|
||||||
|
false // verbatim? - do translate, if inside an array
|
||||||
);
|
);
|
||||||
} else {
|
} else {
|
||||||
menu.addItem(
|
menu.addItem(
|
||||||
|
@ -8759,7 +8768,8 @@ InputSlotMorph.prototype.menuFromDict = function (
|
||||||
null, // italic
|
null, // italic
|
||||||
null, // doubleClickAction
|
null, // doubleClickAction
|
||||||
null, // shortcut
|
null, // shortcut
|
||||||
choices[key].length === 1 || typeof choices[key] === 'function' ? false : true // verbatim?
|
!(choices[key] instanceof Array) &&
|
||||||
|
typeof choices[key] !== 'function' // verbatim?
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -108,7 +108,7 @@ BooleanSlotMorph, XML_Serializer, SnapTranslator*/
|
||||||
|
|
||||||
// Global stuff ////////////////////////////////////////////////////////
|
// Global stuff ////////////////////////////////////////////////////////
|
||||||
|
|
||||||
modules.byob = '2019-July-24';
|
modules.byob = '2019-November-12';
|
||||||
|
|
||||||
// Declarations
|
// Declarations
|
||||||
|
|
||||||
|
|
|
@ -42,7 +42,7 @@
|
||||||
|
|
||||||
/*global modules, contains*/
|
/*global modules, contains*/
|
||||||
|
|
||||||
modules.locale = '2019-November-06';
|
modules.locale = '2019-November-12';
|
||||||
|
|
||||||
// Global stuff
|
// Global stuff
|
||||||
|
|
||||||
|
|
|
@ -1178,7 +1178,7 @@
|
||||||
|
|
||||||
/*global window, HTMLCanvasElement, FileReader, Audio, FileList, Map*/
|
/*global window, HTMLCanvasElement, FileReader, Audio, FileList, Map*/
|
||||||
|
|
||||||
var morphicVersion = '2019-November-06';
|
var morphicVersion = '2019-November-12';
|
||||||
var modules = {}; // keep track of additional loaded modules
|
var modules = {}; // keep track of additional loaded modules
|
||||||
var useBlurredShadows = getBlurredShadowSupport(); // check for Chrome-bug
|
var useBlurredShadows = getBlurredShadowSupport(); // check for Chrome-bug
|
||||||
|
|
||||||
|
@ -8218,11 +8218,33 @@ MenuMorph.prototype.addItem = function (
|
||||||
};
|
};
|
||||||
|
|
||||||
MenuMorph.prototype.addMenu = function (label, aMenu, indicator, verbatim) {
|
MenuMorph.prototype.addMenu = function (label, aMenu, indicator, verbatim) {
|
||||||
this.addPair(label, aMenu, isNil(indicator) ? '\u25ba' : indicator, null, verbatim);
|
this.addPair(
|
||||||
|
label,
|
||||||
|
aMenu,
|
||||||
|
isNil(indicator) ? '\u25ba' : indicator,
|
||||||
|
null,
|
||||||
|
verbatim // don't translate
|
||||||
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
MenuMorph.prototype.addPair = function (label, action, shortcut, hint, verbatim) {
|
MenuMorph.prototype.addPair = function (
|
||||||
this.addItem(label, action, hint, null, null, null, null, shortcut, verbatim);
|
label,
|
||||||
|
action,
|
||||||
|
shortcut,
|
||||||
|
hint,
|
||||||
|
verbatim // don't translate
|
||||||
|
) {
|
||||||
|
this.addItem(
|
||||||
|
label,
|
||||||
|
action,
|
||||||
|
hint,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
shortcut,
|
||||||
|
verbatim
|
||||||
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
MenuMorph.prototype.addLine = function (width) {
|
MenuMorph.prototype.addLine = function (width) {
|
||||||
|
|
|
@ -84,7 +84,7 @@ BlockEditorMorph, BlockDialogMorph, PrototypeHatBlockMorph, BooleanSlotMorph,
|
||||||
localize, TableMorph, TableFrameMorph, normalizeCanvas, VectorPaintEditorMorph,
|
localize, TableMorph, TableFrameMorph, normalizeCanvas, VectorPaintEditorMorph,
|
||||||
HandleMorph, AlignmentMorph, Process, XML_Element, WorldMap, copyCanvas*/
|
HandleMorph, AlignmentMorph, Process, XML_Element, WorldMap, copyCanvas*/
|
||||||
|
|
||||||
modules.objects = '2019-November-06';
|
modules.objects = '2019-November-12';
|
||||||
|
|
||||||
var SpriteMorph;
|
var SpriteMorph;
|
||||||
var StageMorph;
|
var StageMorph;
|
||||||
|
|
Ładowanie…
Reference in New Issue