added translation control for submenus in dropdowns

and simplified the translation mechanism slightly
pull/89/head
jmoenig 2019-11-12 16:37:17 +01:00
rodzic 49c9aba84e
commit 4a1094e7c5
7 zmienionych plików z 56 dodań i 19 usunięć

Wyświetl plik

@ -4,10 +4,14 @@
* **New Features:**
* **Notable Changes:**
* **Notable Fixes:**
* fixed submenu translation control for dropdowns
* **Translation Updates:**
* Catalan, thanks, Joan
### 2019-11-12
* new dev version
* drop-down menu translation improvements by Joan
* submenu-title translation control
## v5.3.2:
* **Notable Fixes:**
@ -26,6 +30,7 @@
* blocks: fixed dropdown menu generation for untranslated items
* blocks: don't translate message names in drow-down menus
* blocks: don't translate names in dropdowns
* byob: don't translate items in dropdowns
* help: fixed size of MY help screen, thanks, Brian
* prepared release

Wyświetl plik

@ -4,15 +4,15 @@
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Snap! Build Your Own Blocks 5.3.3 - dev -</title>
<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/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/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/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/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/symbols.js?version=2019-06-27"></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/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/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/sha512.js?version=2019-06-27"></script>
<script type="text/javascript" src="src/FileSaver.min.js?version=2019-06-27"></script>

Wyświetl plik

@ -148,7 +148,7 @@ CustomCommandBlockMorph, SymbolMorph, ToggleButtonMorph, DialMorph*/
// Global stuff ////////////////////////////////////////////////////////
modules.blocks = '2019-November-06';
modules.blocks = '2019-November-12';
var SyntaxElementMorph;
var BlockMorph;
@ -618,7 +618,7 @@ SyntaxElementMorph.prototype.getVarNamesDict = function () {
if (block.selector === 'doSetVar') {
// add settable object attributes
dict['~'] = null;
dict.my = {
dict.my = [{// wrap the submenu into a 1-item array to translate it
'anchor' : ['anchor'],
'parent' : ['parent'],
'name' : ['name'],
@ -628,10 +628,10 @@ SyntaxElementMorph.prototype.getVarNamesDict = function () {
'rotation style' : ['rotation style'],
'rotation x' : ['rotation x'],
'rotation y' : ['rotation y']
};
}];
if (this.world().currentKey === 16) { // shift
dict.my['~'] = null;
dict.my['microphone modifier'] = ['microphone modifier'];
dict.my[0]['~'] = null; // don't forget we're inside an array...
dict.my[0]['microphone modifier'] = ['microphone modifier'];
}
}
return dict;
@ -8747,7 +8747,16 @@ InputSlotMorph.prototype.menuFromDict = function (
key,
this.menuFromDict(choices[key],true),
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 {
menu.addItem(
@ -8759,7 +8768,8 @@ InputSlotMorph.prototype.menuFromDict = function (
null, // italic
null, // doubleClickAction
null, // shortcut
choices[key].length === 1 || typeof choices[key] === 'function' ? false : true // verbatim?
!(choices[key] instanceof Array) &&
typeof choices[key] !== 'function' // verbatim?
);
}
}

Wyświetl plik

@ -108,7 +108,7 @@ BooleanSlotMorph, XML_Serializer, SnapTranslator*/
// Global stuff ////////////////////////////////////////////////////////
modules.byob = '2019-July-24';
modules.byob = '2019-November-12';
// Declarations

Wyświetl plik

@ -42,7 +42,7 @@
/*global modules, contains*/
modules.locale = '2019-November-06';
modules.locale = '2019-November-12';
// Global stuff

Wyświetl plik

@ -1178,7 +1178,7 @@
/*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 useBlurredShadows = getBlurredShadowSupport(); // check for Chrome-bug
@ -8218,11 +8218,33 @@ MenuMorph.prototype.addItem = function (
};
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) {
this.addItem(label, action, hint, null, null, null, null, shortcut, verbatim);
MenuMorph.prototype.addPair = function (
label,
action,
shortcut,
hint,
verbatim // don't translate
) {
this.addItem(
label,
action,
hint,
null,
null,
null,
null,
shortcut,
verbatim
);
};
MenuMorph.prototype.addLine = function (width) {

Wyświetl plik

@ -84,7 +84,7 @@ BlockEditorMorph, BlockDialogMorph, PrototypeHatBlockMorph, BooleanSlotMorph,
localize, TableMorph, TableFrameMorph, normalizeCanvas, VectorPaintEditorMorph,
HandleMorph, AlignmentMorph, Process, XML_Element, WorldMap, copyCanvas*/
modules.objects = '2019-November-06';
modules.objects = '2019-November-12';
var SpriteMorph;
var StageMorph;