Использование i18next для создания меню
У меня есть страница, использующая i18next на узле.
В файлах переводов есть переводы (дух) для разных вещей (это как база данных для маленьких вспомогательных фрагментов)
Теперь я хочу построить страницу, где пользователь может просматривать их индивидуально.
идея
я хочу получить доступ к загруженному xx-translation.json
и создать (выпадающее меню?) меню, содержащее все записи в одном пространстве имен
{
"category": {
"subcategory": { // i want to get ["bla", "blu", "bli"] as result
"bla" : "ble",
"blu" : "blo",
"bli" : "bly"
}
}
}
я думаю о простой петле, как
var amountOfEntries = translationJSON.category.subcategory.length;
for (var i = 0; i < amountOfEntries; i++) {
$('#menu'). //append that entry somehow
}
вопросы TLDR
Есть ли способ получить доступ к translation.json внутри моего "обычного" js и подсчитать количество записей? и как я могу построить меню по частям с записями? (это бонус, я думаю, мне бы это удалось. Главный вопрос - первый)
Спасибо
1 ответ
Проверьте lodash.js для некоторых хороших служебных функций коллекции. Вы можете перебрать объект с помощью чего-то вроде:
_.each(subcategory, function(val, key){
$(".menu").append("<li>" + key + ": " + val + "</li>");
});
это полезно?
ОБНОВИТЬ
После разъяснения вашего вопроса в комментариях выше, я думаю, что вы ищете либо getResource(), либо getResourceBundle ().