Вы можете хранить каждый языковой набор в файле JavaScript, который вы включаете / загружаете по мере необходимости. (Я преобразовал данные XML в «карту», так как это просто пары ключ / значение)
например. (просто игнорировать мои переводы ... Я только что прогуглил это, я ни в коем случае не говорю по-испански)
//Spanish File "lang_spanish.js"
var translations = {
"lose_a_turn": "pierde un turno",
"do_not_pass_go": "huele como un camello",
"take_a_card": "tener una tarjeta de",
"you_win_the_game":"sin motocicletas en la biblioteca",
"you_can_not_move":"desbordamiento de la pila puede ser un lugar divertido"
};
В вашем <head>
вы можете иметь универсальный тег сценария, который вы просто меняете при необходимости.
, например
<script id="langFile" src="js/lang_english.js"></script>
Если вам нужен другой язык, просто удалите этот скрипт из DOM и добавьте новый. например, * 1 016 *
function switchLang(langName){
var headTag = document.getElementsByTagName('head')[0];
var scriptFile = document.getElementById('langFile');
headTag.removeChild(scriptFile);
var newScript = document.createElement('script');
newScript.id = 'langFile';
newScript.src = 'js/lang_' + langName + '.js';
headTag.appendChild(newScript);
}
//call with:
switchLang('spanish');
Альтернативой может быть загрузка всех 39 языков по умолчанию ... но это кажется излишним, если учесть, что большинство из них когда-либо захотят только 1 или 2.