使用ngx-translate的translateService.get()获取嵌套的json值

时间:2018-01-04 12:44:27

标签: ngx-translate

我有一个嵌套翻译的翻译文件:

...
"LANG": {
    "Dutch": "Néerlandais",
    "English": "Anglais",
    "French": "Français"
},
...

我正在尝试使用TranslateService修改我的翻译:

this.translate.get(['LANG.French', 'LANG.English', 'LANG.Dutch'])
  .subscribe((translations) => {
    console.log(translations.LANG.French);
});

我认为翻译对象看起来像这样:

translations : {
    LANG : {
        "Dutch": "Néerlandais",
        "English": "Anglais",
        "French": "Français"
    }
}

但事实上它看起来像这样:

translations : {
    LANG.Dutch : "Néerlandais",
    LANG.English: "Anglais",
    LANG.French: "Français"
}

并且console.log(translations.LANG.French)失败,因为translations.LANG未定义。

有没有办法实现这个目标?

1 个答案:

答案 0 :(得分:0)

如果有人来这里:

this.translate.get(['LANG']) .subscribe((translations) => { console.log(translations.LANG.French); });

它会工作,但会检索整个对象LANG。因此它可能包含一些无用的属性。