0

我有一个带有 ngx-translate 的 Angular 5 应用程序,我在我的应用程序模块和组件中使用了类似的东西:

// app.component
// ...
constructor (private translateService: TranslateService) {
    translate.setDefaultLang('en-us');
    translate.use('en-us');
}

// app.module
// ...
function createTranslateLoader(http: HttpClient) {
    return new TranslateHttpLoader(http, './assets/i18n/', '.json');
}
@NgModule({
    // ...
    imports: [
        // ...
        TranslateModule.forRoot({
            loader: {
                provide: TranslateLoader,
                useFactory: (createTranslateLoader),
                deps: [HttpClient]
            }
        }),
  // ...

当我使用ng serve我的应用程序时,我的翻译根本没有加载,网络选项卡中也没有任何活动。当 I 时ng serve -e prod,翻译被加载。

编辑:在 prod 或 dev 环境中服务的区别:

  1. jsons 未加载。在prod我看到请求i18n/de.json请求。在dev,没有要求。
  2. 显然,翻译不是在 dev 中完成的。

浏览器控制台中没有任何错误。

我错过了什么?

Angular 5.1、ng-cli 1.6、ngx-translate 9.0.1。

4

0 回答 0