使用 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
            ]
        }
    })
]