Использование 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 ().

Другие вопросы по тегам