我有一个Angular应用程序,现在还需要它的桌面版本。我设法通过它在电子中运行该应用程序,并且一切正常。
但是本地化不起作用。在电子应用程序中,我只看到定位键,它指向本地化文件中的实际翻译。
我主要是这样在Angular中翻译文本:
{{ "localization-key" | translate }}
作为json文件的翻译基于 assets / i18n /
有人知道如何进行本地化工作吗?
答案 0 :(得分:1)
它现在正在工作。问题是我使用Http-Loader进行ngx-translate,但该电子程序无法在电子中工作。
因此,我实现了 TranslateUniversalLoader ,就像该线程的最后一篇文章提到的:https://github.com/ngx-translate/core/issues/754
答案 1 :(得分:1)
我也有这个问题。我在offical documentation of ngx-translate.
中找到了解决方案如果要在使用AoT时配置自定义的TranslateLoader 编译,离子或电子,则必须使用导出的功能 而不是内联函数。
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 { }