【问题标题】:Angular + Electron with ngx-translateAngular + Electron 与 ngx-translate
【发布时间】:2019-02-09 08:57:14
【问题描述】:

我有一个 Angular 应用程序,现在还需要它的桌面版本。我设法让它在电子中运行应用程序,一切都按预期工作。

但是本地化不起作用。在电子应用程序中,我只看到指向本地化文件中实际翻译的本地化键。

我主要是这样翻译Angular中的文字:

{{ "localization-key" | translate }}

json 文件的翻译基于 assets/i18n/

有人知道如何进行本地化工作吗?

【问题讨论】:

  • 你有什么错误,导入到ngModule?

标签: angular typescript electron angular-cli ngx-translate


【解决方案1】:

我也有这个问题。我在offical documentation of ngx-translate.找到了解决方案

如果您想在使用 AoT 时配置自定义 TranslateLoader 编译,Ionic 或 Electron,您必须使用导出的函数 而不是内联函数。

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

@NgModule({
    imports: [
        BrowserModule,
        HttpClientModule,
        TranslateModule.forRoot({
            loader: {
                provide: TranslateLoader,
                useFactory: (createTranslateLoader),
                deps: [HttpClient]
            }
        })
    ],
    bootstrap: [AppComponent]
})
export class AppModule { }

如果您对loader.useFactory 使用默认TranslateHttpLoader,您会看到此错误:

【讨论】:

    【解决方案2】:

    它现在正在工作。问题是我为 ngx-translate 使用了 Http-Loader,它在电子中不起作用。

    所以我实现了 TranslateUniversalLoader,就像该线程的最后一篇文章提到的那样:https://github.com/ngx-translate/core/issues/754

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-10-16
      • 2019-07-02
      • 1970-01-01
      • 1970-01-01
      • 2020-09-01
      相关资源
      最近更新 更多