Add language selection, based on tornoz's work
This commit is contained in:
parent
fc280ba500
commit
b285e078eb
19
index.html
19
index.html
|
@ -45,14 +45,6 @@
|
|||
<script src="alert.js"></script>
|
||||
<script src="touch2click.js"></script>
|
||||
<script src="trivabble.js"></script>
|
||||
<script>
|
||||
(function () {
|
||||
var script = document.createElement("script");
|
||||
script.src = "l10n/js/" + libD.lang + ".js";
|
||||
script.onerror = trivabble.l10nError;
|
||||
document.getElementsByTagName("head")[0].appendChild(script);
|
||||
})();
|
||||
</script>
|
||||
</head>
|
||||
<body>
|
||||
<div id="menu">
|
||||
|
@ -67,6 +59,17 @@
|
|||
<p><label><input type="checkbox" id="tiles-sound" checked="checked" /><span data-l10n="text-content">Sound of the tiles</span></label></p>
|
||||
<p><label><input type="checkbox" id="msg-sound" checked="checked" /><span data-l10n="text-content">Sound of messages</span></label></p>
|
||||
</div>
|
||||
|
||||
<div id="lang-selection">
|
||||
<label>
|
||||
<span data-l10n="text-content">Interface language: </span>
|
||||
<select id="select-lang">
|
||||
<option value="en">English</option>
|
||||
<option value="fr">Français</option>
|
||||
<option value="br">Brezhoneg</option>
|
||||
</select>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="content">
|
||||
|
|
|
@ -375,6 +375,10 @@ td.blink {
|
|||
font-size:small
|
||||
}
|
||||
|
||||
#lang-selection {
|
||||
font-size:small;
|
||||
}
|
||||
|
||||
#prefs-sound input, #prefs-sound label {
|
||||
vertical-align:middle
|
||||
}
|
||||
|
|
21
trivabble.js
21
trivabble.js
|
@ -958,6 +958,11 @@
|
|||
trivabble.run();
|
||||
};
|
||||
|
||||
function langSelectionChange(e) {
|
||||
localStorage.trivabbleLang = e.target.value;
|
||||
location.reload();
|
||||
}
|
||||
|
||||
function initGlobals() {
|
||||
board = document.getElementById("board");
|
||||
rack = document.getElementById("rack");
|
||||
|
@ -1075,6 +1080,20 @@
|
|||
startGame(localStorage.trivabbleGameNumber);
|
||||
}
|
||||
|
||||
function initLang() {
|
||||
var lang = localStorage.trivabbleLang || libD.lang;
|
||||
libD.lang = lang;
|
||||
|
||||
var langSel = document.getElementById("select-lang");
|
||||
langSel.value = lang;
|
||||
langSel.onchange = langSelectionChange;
|
||||
|
||||
var script = document.createElement("script");
|
||||
script.src = "l10n/js/" + lang + ".js";
|
||||
script.onerror = trivabble.l10nError;
|
||||
document.getElementsByTagName("head")[0].appendChild(script);
|
||||
}
|
||||
|
||||
trivabble.run = function () {
|
||||
initGlobals();
|
||||
initEvents();
|
||||
|
@ -1084,4 +1103,6 @@
|
|||
};
|
||||
|
||||
trivabble.l10nError = trivabble.run;
|
||||
|
||||
window.addEventListener("DOMContentLoaded", initLang);
|
||||
}());
|
||||
|
|
Loading…
Reference in New Issue