使用 ngx-translate 为每种语言使用多个 JSON 进行翻译
Translating using multiple JSON for each language with ngx-translate
我正在 Angular 开展一个项目,该项目需要翻译成两种语言:pt-br(我的主要语言)和英语。我设法用 ngx-translate 翻译了它,但是 ngx 对每种语言使用一个文件,而在与这个项目相关的其他应用程序中,我们使用 JHipster 模式(每种语言一个目录,每个组件有不同的 JSON ).
我想做的是在这个特定项目中使用相同的模式来翻译文件,但到目前为止我遇到的运气有限。我都试过了 Boris solution and the ngx-translate-multi-http-loader,但它们都不适合我。
基本上,虽然多加载程序允许我这样做:
assets/i18n/core/en.json
我想做的是这样的:
assets/i18n/en/core.json
谁能帮我实现这个目标?
试试这个,只是一个猜测
return new TranslateHttpLoader(http, "assets/i18n/", "/core.json");
我认为其他有趣的方法是使用 webpack 插件,它将所有 json 文件合并到一个 json 文件中,以便插件正确读取一个示例(基于 Jhipster方法):
plugins: [
//...other plugins
new MergeJsonWebpackPlugin({
output: {
groupBy: [
{ pattern: "./src/main/webapp/i18n/es/*.json", fileName: "./i18n/es.json" },
{ pattern: "./src/main/webapp/i18n/en/*.json", fileName: "./i18n/en.json" }
// jhipster-needle-i18n-language-webpack - JHipster will add/remove languages in this array
]
}
})
]
我正在 Angular 开展一个项目,该项目需要翻译成两种语言:pt-br(我的主要语言)和英语。我设法用 ngx-translate 翻译了它,但是 ngx 对每种语言使用一个文件,而在与这个项目相关的其他应用程序中,我们使用 JHipster 模式(每种语言一个目录,每个组件有不同的 JSON ).
我想做的是在这个特定项目中使用相同的模式来翻译文件,但到目前为止我遇到的运气有限。我都试过了 Boris solution and the ngx-translate-multi-http-loader,但它们都不适合我。
基本上,虽然多加载程序允许我这样做:
assets/i18n/core/en.json
我想做的是这样的:
assets/i18n/en/core.json
谁能帮我实现这个目标?
试试这个,只是一个猜测
return new TranslateHttpLoader(http, "assets/i18n/", "/core.json");
我认为其他有趣的方法是使用 webpack 插件,它将所有 json 文件合并到一个 json 文件中,以便插件正确读取一个示例(基于 Jhipster方法):
plugins: [
//...other plugins
new MergeJsonWebpackPlugin({
output: {
groupBy: [
{ pattern: "./src/main/webapp/i18n/es/*.json", fileName: "./i18n/es.json" },
{ pattern: "./src/main/webapp/i18n/en/*.json", fileName: "./i18n/en.json" }
// jhipster-needle-i18n-language-webpack - JHipster will add/remove languages in this array
]
}
})
]