summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGubolin <gubolin@fantasymail.de>2014-08-17 20:09:05 +0200
committerGubolin <gubolin@fantasymail.de>2014-08-17 20:09:05 +0200
commit624bcf4e3352971a77cf3e6a4266f1600f9da577 (patch)
tree3c7b737013aab5443e2ece921912a8f156d1859c
parent8f7d1833f6e6b304e706bb84848dbf86a80834c8 (diff)
downloadsnap-624bcf4e3352971a77cf3e6a4266f1600f9da577.tar.gz
snap-624bcf4e3352971a77cf3e6a4266f1600f9da577.zip
add language blocks
-rw-r--r--gui.js3
-rw-r--r--objects.js9
-rw-r--r--threads.js11
3 files changed, 22 insertions, 1 deletions
diff --git a/gui.js b/gui.js
index 6af9137..4c9ee00 100644
--- a/gui.js
+++ b/gui.js
@@ -185,7 +185,7 @@ IDE_Morph.prototype.init = function (isAutoFill) {
MorphicPreferences.globalFontFamily = 'Helvetica, Arial';
// restore saved user preferences
- this.userLanguage = null; // user language preference for startup
+ this.userLanguage = null;
this.applySavedSettings();
// additional properties:
@@ -3417,6 +3417,7 @@ IDE_Morph.prototype.setLanguage = function (lang, callback) {
if (lang === 'en') {
return this.reflectLanguage('en', callback);
}
+ myself.userLanguage = lang;
translation = document.createElement('script');
translation.id = 'language';
translation.onload = function () {
diff --git a/objects.js b/objects.js
index fbb9e84..4c0e862 100644
--- a/objects.js
+++ b/objects.js
@@ -878,6 +878,11 @@ SpriteMorph.prototype.initBlocks = function () {
category: 'sensing',
spec: 'current %dates'
},
+ reportLanguage: {
+ type: 'reporter',
+ category: 'sensing',
+ spec: 'language'
+ },
// Operators
reifyScript: {
@@ -1884,6 +1889,8 @@ SpriteMorph.prototype.blockTemplates = function (category) {
blocks.push(block('doSetFastTracking'));
blocks.push('-');
blocks.push(block('reportDate'));
+ blocks.push('-');
+ blocks.push(block('reportLanguage'));
// for debugging: ///////////////
@@ -4991,6 +4998,8 @@ StageMorph.prototype.blockTemplates = function (category) {
blocks.push(block('doSetFastTracking'));
blocks.push('-');
blocks.push(block('reportDate'));
+ blocks.push('-');
+ blocks.push(block('reportLanguage'));
// for debugging: ///////////////
diff --git a/threads.js b/threads.js
index 335b5d0..51d1c9f 100644
--- a/threads.js
+++ b/threads.js
@@ -2572,6 +2572,17 @@ Process.prototype.reportTimer = function () {
return 0;
};
+Process.prototype.reportLanguage = function () {
+ var ide = this.homeContext.receiver.parentThatIsA(IDE_Morph);
+ if (ide) {
+ var lang = ide.userLanguage;
+ if (lang) {
+ return lang;
+ }
+ }
+ return 'en';
+};
+
// Process Dates and times in Snap
// Map block options to built-in functions
var dateMap = {