Задать вопрос
@senselessV7

Смена языков на стороне клиента — JavaScript (jQuery)?

Хочу сделать смену языка на страничке на стороне клиента. Попалась только одна статья - на хабре, но примера там уже нет.

Если к примеру страница на русском изначально:

<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');
});


Ошибок нет, но никаких изменений не происходит.

Есть ли у кого-нибудь пример к данной статье, потому что там проблемы с примером?
  • Вопрос задан
  • 329 просмотров
Подписаться 1 Простой 4 комментария
Пригласить эксперта
Ответы на вопрос 1
DDolgy
@DDolgy
Распи***й
Я в давние годы делал просто, без этих ваших хабров. Есть классы ru eng каждый в элементе со своим текстом. И по клику на американский флаг скоывались классы ru и наоборот)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы