使用 i18next 构建菜单

Using i18next to build a menu

我有一个在节点上使用 i18next 的页面。

在翻译文件中,有各种内容的翻译(duh)(它就像一个小助手片段的数据库)

现在我想建立一个页面,用户可以在其中单独查看它们。

想法

我想访问加载的 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 问题

有没有办法访问我的 "normal" js 中的 translation.json 并计算条目数? 和 我如何用条目逐个构建菜单? (这是奖金,我想我会设法做到这一点。主要问题是第一个)

谢谢

查看 lodash.js 以获得一些不错的集合实用函数。您可以使用以下内容遍历对象:

_.each(subcategory, function(val, key){
    $(".menu").append("<li>" + key + ": " + val + "</li>");
});

有用吗?

更新

在上面的评论中澄清了你的问题后,我认为你正在寻找的是 getResource() or getResourceBundle()