我开始使用i18n方法翻译我的Angular应用程序,
由于翻译文件真的很长,而且不可读,我将来可能需要返回并更新它,我想拆分它,例如:
assets/
└── i18n/
├── users/
│ ├── en.json
│ └── fr.json
└── products/
├── en.json
└── fr.json
拆分不是每个组件,而是每个应用程序的上下文 我怎样才能实现这种分裂?
答案 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');
}
你去了:)