1. Заведите JSON файлы - словари для каждого языка, например ru.json en.json
2. Загрузка нужного json на старте страницы (по выбору пользователя, если еще не выбирал - по заголовку Accept-language) через ajax либо сразу встраиваете в страницу
3. Нужна js функция для преобразования ключа словаря в фразу, напишу Вам пример:
0й аргумент принимает ключ, последующие принимают подстановки в строку фразы, например $1 в фразе будет заменено на 1й аргумент
var dict = {}; //загруженный словарь
function lang(key) {
var str = dict[key] || '';
var args = new Array(arguments.length);
for(var i = arguments.length; i--;) args[i] = arguments[i];
return str.replace(/\$\d+/g, function(matched) {
return args[matched.slice(1)] || matched;
};
}
4. Можно добавить сразу обработку html при загрузке страницы - у всех элементов имеющих аттрибут data-lang заменить содержимое по словарю
<p data-lang="key"></p>
document.addEventListiner('DOMContentLoaded', function() {
var elems = document.querySelectorAll('[data-lang]');
for(var i = elems.length; i--;) {
elems[i].innerText = lang(elems[i].getAttribute('data-lang'));
}
}, false);