Я использую i18next с localstorage, чтобы изменить язык моего сайта (карта буклета с маркерами). У меня есть все языки в одном файле lang.js. Я хочу разбить его на несколько файлов, каждый для языка. Как я могу это сделать?Как изменить язык на несколько файлов вместо одного в i18next?
ссылка на файл языка на GitHub: https://github.com/hurtworldmap/hurtworldmap.github.io/blob/master/raw/lang.js
Моя функция:
$(document).ready(function() {
var language = "en";
if (localStorage.getItem("language") != null)
language = localStorage.getItem("language");
i18n.init({
lng: language,
resStore: resources,
fallbackLng: "en"
}, function(o) {
$(document).i18n()
}), $(".lang").click(function() {
var o = $(this).attr("data-lang");
localStorage.setItem("language", o);
i18n.init({
lng: o
}, function(o) {
$(document).i18n()
})
})
});
Пример языка (в том же файле):
"ru": {
"translation": {
"locations": "Локации",
"showlocations": "Показать локации",
"animals": "Животные",
"shigi": "Шиги",
"shigiwolf": "Дикий Шиги",
"shigiforest": "Лесной Шиги",
"shigiarctic": "Арктический Шиги",
"bor": "Кабан",
"radbor": "Радиоактивный Кабан",
"tokar": "Токар",
"tokarblue": "Синий Токар",
"tokarparrot": "Токар-попугай",
"sasquatch": "Снежный",
"yeti": "Йети",
"plants": "Растения",
"owrong": "Апельсин",
"pitcherplant": "Кувшинка",
"succulentseeds": "семена Succulent",
"items": "Вещи",
"itemflint": "Кремень",
"itemwood": "Дерево",
"lootcrate": "Ящик",
"resources": "Ресурсы",
"woodlog": "Бревно",
"coal": "Уголь",
"limestone": "Известняк/Глина",
"flint": "Кремень/Камень",
"deadtree": "Мертвое дерево",
"ores": "Руды",
"ironore": "Железная руда",
"titranium": "Титраниумная руда",
"mondinium": "Мондиниумная руда",
"ultranium": "Ультраниумная руда",
"largerock": "Большой камень",
"valley" : "Valley",
"fortress": "Fortress",
"transit": "Transit",
"boonies": "Boonies",
"crossroad": "Crossroad",
"airfield": "Airfield",
"carrier": "Carrier",
"dome": "Dome",
"arch": "Arch",
"created": "Создано:",
"names": "RogerHN и LuisMika",
"legal": "Hurtworld и логотипы Hurtworld являются тварными знаками Bankroll Studios",
"website": "Официальный сайт игры",
"welcome": "Это первая версия карты.",
"welcome2": "Если вы нашли баг, то пожалуйста пришли его в наш пост на ",
"welcome3": "Reddit'e или в группу ВК.",
"settings": "настройки",
"languagechange": "Изменить язык",
"translationbr": "Португальский Бразильский перевод RogerHN",
"translationru": "Перевод на русский от Roofy",
"translationde": "Перевод на Немецкий от Valixx",
"translationcn": "Перевод на китайский от Smoke6",
"translationpl": "Польский перевод от Magiczna Huśtawka",
"translationro": "Румынский перевод от Blaconix",
"translationtr": "турецкий перевод от Vinerra",
"translationit": "Итальянский перевод от CHC",
"translationes": "Испанский перевод Yoje",
"version": "версия"
}
}
Удивительный! Это то, что я хотел отделить языковые файлы! Я проверю, когда приеду домой. Спасибо – RogerHN
Пробовал это сейчас, я думаю, что я сделал что-то не так. Перевод не сработал. Файл должен быть: js/languages / en.json, если resGetPath - '/js/languages/__lng__.json'? Кроме того, файл должен начинаться следующим образом: '{ " перевод ": { " AddYourNote ":" Добавить примечание ",' – RogerHN