Хочу сделать смену языка на страничке на стороне клиента. Попалась только одна статья -
на хабре, но примера там уже нет.
Если к примеру страница на русском изначально:
<p lng="rus">
Привет Мир
Некоторый текст
</p>
Код с примера:
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script type="text/javascript">
var LANGUAGE = false;
$.redrawLanguage = function (lang) {
$.ajax({
url : 'languages/' + lang + '.json', //тянем файл с языком
dataType : 'json',
success : function (response) {
LANGUAGE = response;
$('body').find("[lng]").each(function () {
var lng = LANGUAGE[ $(this).attr('lng') ];
var tag = $(this)[0].tagName.toLowerCase();
switch (tag) {
case "input":
$(this).val(lng);
break;
default:
$(this).html(lng);
break;
}
});
}
});
}
$.getLanguage = function (key) {
if (typeof(LANGUAGE[key]) != 'undefined') {
return LANGUAGE[key];
}
return key;
}
</script>
Есть ссылки:
<a href="#" class="link" id="ru">RU</a>
<a href="#" class="link" id="en">EN</a>
Запуск делаю так:
$('#ru').on('click', function(e){
e.preventDefault();
$.redrawLanguage('eng');
});
$('#en').on('click', function(e){
e.preventDefault();
$.redrawLanguage('rus');
});
Ошибок нет, но никаких изменений не происходит.
Есть ли у кого-нибудь пример к данной статье, потому что там проблемы с примером?