ngx-translate适用于大型应用

时间:2018-06-21 11:57:11

标签: angular ngx-translate

我正在使用带有大型角度应用程序的ngx-translate,目前我们有18个模块,我们估计在生产之前我们将有近40个模块。 我将每种语言的翻译都保存在单个json文件中,即en.json,fr.json。 我无法弄清楚如何处理我的单个en.json文件。

注意:我们不想使用模块明智的翻译,因为它将使我们难以将这么多不同的json文件发送给翻译公司。

最简单的方法来处理单个文件中的翻译? 除了创建区域之外,还有其他解决方案吗?

目前我正在这样做:

  {
"WELCOME": "Welcome",
"LANGUAGE": "Language",
"LANGUAGE_EN": "english",
"LANGUAGE_ES": "spanish",
"LANGUAGE_PT": "portugese",
"LANGUAGE_RU": "russian",
"LANGUAGE_ZH_HANS": "chinese",
"TITLE_MONITORING": "Monitor",
"TITLE_MAP": "Map",
"TITLE_REPORTING": "Reports",
"TITLE_RULES": "Rules",
"TITLE_SCRIPTS": "Scripts",
"UNASSIGNED_DEVICES": "Unassigned devices"

}

1 个答案:

答案 0 :(得分:0)

我尝试了以下方式,我更喜欢选项1 +A。但是例如JHipster使用选项2 +B。这实际上取决于您的偏好...

enter image description here

1) Single JSON file for each language
assets/i18n/en.json
assets/i18n/cs.json

2) Multiple JSON files for each language
assets/i18n/en/moduleA.json
assets/i18n/en/moduleB.json
assets/i18n/cs/moduleA.json
assets/i18n/cs/moduleB.json

A)  Without regions
{
    "moduleA.componentA.title": "ComponentA title",
    "moduleB.componentB.title": "ComponentB title"
}

B) With regions
{
    "moduleA": {
        "componentA": {
            "title": "ComponentA title"
        }
    },
    "moduleB": {
        "componentB": {
            "title": "ComponentB title"
        }
    }
}