Start of multilanguage support integration

Improved controls (WASD)
This commit is contained in:
Marcel
2017-12-16 22:50:27 +01:00
parent 80bd9553f2
commit e74863a959
3 changed files with 76 additions and 18 deletions

34
language.js Normal file
View File

@@ -0,0 +1,34 @@
const en = {
controls: "Controls:" +
"<br>" +
"Left+Right/A+D -> Move left/right or down\n" +
"<br>" +
"Q/E -> Rotate the tile" +
"<br>" +
"Down/S -> Drop the tile faster"
};
class Language {
constructor(lang) {
this.lang = lang;
if(eval('typeof ' + this.lang) === 'undefined')
this.lang = "en";
}
getStr(str, defaultStr) {
const retStr = eval('eval(this.lang).' + str);
if(typeof retStr !== 'undefined')
return retStr;
if(typeof defaultStr !== 'undefined')
return defaultStr;
return eval('en.' + str);
}
}
function switchLang(lang) {
const l = new Language(lang);
document.getElementById("controls").innerHTML = l.getStr("controls");
}
switchLang("en");