Angular i18n拆分翻译文件

时间:2018-06-18 06:44:19

标签: xml angular internationalization

我开始使用i18n方法翻译我的Angular应用程序,
由于翻译文件真的很长,而且不可读,我将来可能需要返回并更新它,我想拆分它,例如:

assets/
└── i18n/
   ├── users/
   │   ├── en.json
   │   └── fr.json
   └── products/
       ├── en.json
       └── fr.json 

拆分不是每个组件,而是每个应用程序的上下文 我怎样才能实现这种分裂?

1 个答案:

答案 0 :(得分:0)

在您的情况下,我假设它是模块,您要做的就是创建与模块(上下文)一样多的文件夹,在女巫中您将存储您的语言files.json,然后进行调整app.modules如下:

TranslateModule.forChild({
              loader: {
                provide: TranslateLoader,
                useFactory: (createTranslateLoader),
                deps: [HttpClient]
            },
            isolate: true
        }),

p.s:“隔离”对于能够重新实例化翻译模块很重要。

具有'createTranslateLoader'功能,可从如下所示的适当文件夹中加载翻译文件(例如,用户):

export function createTranslateLoader(http: HttpClient) {
  return new TranslateHttpLoader(http, './assets/i18n/users/', '.json');
}

你去了:)