frilanser
@frilanser

Перевод похожих слов на странице?

Помогите поправить js:
Суть работы: Из select берем переменную и сохраняем локально. Далее из Локалки подставляем для замены.
Не работает строка: Lang = localStorage.getItem("lanRegion");
Если указать: Lang = en; То перевод проходит.
Демо: jsfiddle
  • Вопрос задан
  • 64 просмотра
Пригласить эксперта
Ответы на вопрос 2
Stalker_RED
@Stalker_RED
Вы заменяете html, обработчик change слетает.

Еще одна ошибка
Lang = localStorage.getItem("lang"); // это строка
...
reduce
...
cur.replace(new RegExp(prev, 'g'), 
                                   Lang[i]) // это буквы из строки

Я выбрал английский, и после обновления страницы у меня вместо "привет" буква n

Даже если это исправить, все равно не понятно, как оно по вашему должно работать.
Ответ написан
Комментировать
KorniloFF
@KorniloFF Куратор тега JavaScript
Работаю по font-end / JS
Как-то так надо делать:
<div id="rpl">
	Иди в лес
</div>

<script>
 "use strict";
 (function(node) {
  var rpl= {
   'привет':'hello', 'пошел|иди|ступай':'go', 'на|в':'to', 'лес':'forest'
  };
  Object.keys(rpl).forEach(function(i) {
   node.innerHTML = node.innerHTML.replace(new RegExp(i,'ig'),rpl[i]);
  })
 })(document.querySelector('#rpl'));

</script>
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы