Здравствуйте, в этой статье мы собираемся изменить язык приложения с помощью Javascript.

Начинать

Сначала нам нужны языковые файлы. Я сопоставляю имя файла с кодом языка и расширением json. Нравится.

Все в языковом файле должно быть одно и то же. Ключевое значение. Со значением ключа мы обнаружим элементы html, которые хотим перевести.

de.json

{

«привет»: «Здравствуйте»,

«локализация»: «Локализация» ,

«with»: «С Javascript»

}

en.json

{

"привет": "привет",

«локализация»: «Локализация»,

«с»: «с javascript»

}

tr.json

{

«привет»: «Мерхаба»,

«локализация»: «Yerelleştirme»,

«with»: «файл JavaScript»

}

fr.json

{

«привет»: «Добрый день»,

«локализация»: «Локализация»,

«with»: «Avec javascript»

}

ja.json

{

«привет»: «こんにちは»,

«локализация»: «ローカリゼーション»,

«с»: «Javascriptで»

}

Теперь мы можем создать HTML-элементы.

Как видите, все элементы, которые мы хотим локализовать, имеют атрибут data-text и атрибут data-text, равные значениям ключа.

В файле javascript я создал функцию под названием language. Эта функция принимает один аргумент (код языка). И с этим аргументом мы получаем доступ к файлу json.

Object.keys

Для ключей доступа к значению мы можем использовать Object.keys, и у нас будет такой вывод.

Object.keys(язык)

Как видите, Object.keys возвращает массив, поэтому мы можем использовать forEach.

Объект.ключи(язык).forEach(элемент =› {

console.журнал(элемент);

})

Также, если вы хотите получить доступ к значению, мы можем использовать:

console.log(язык[элемент])

Теперь мы обнаружим, что элементы html соответствуют значению ключа.

Объект.ключи(язык).forEach(ключ =› {

const element = document.querySelector(`[data-text="${key}"]`)

элемент.textContent = язык[ключ]

})

Мы нашли элементы html с текстом данных и ключом, теперь мы можем изменить textContent или innerHTML