问题描述
我使用的是Electron 10和Angular 10,还使用了ngx-translate
。在用户在下拉菜单中切换语言后,我想更新当前视图/页面的翻译。
在开发过程中,我当然将Angular及其HTTP服务器使用,这就是为什么我使用HttpLoaderFactory
的原因。但是对于生产版本,我使用自定义translateFactory
,它通过TranslateUniversalLoader
加载JSON文件。这样可以吗?
无论是开发版本还是生产版本,我都可以在不重新启动应用程序的情况下更新字符串。我有一个下拉菜单,更改后我只需致电this.translate.use(lang)
。是否应该重新加载视图?这里的预期行为是什么?
我将模块注册如下:
export class TranslateUniversalLoader implements TranslateLoader {
constructor() {
}
public getTranslation(lang: string): Observable<any> {
return of(TRANSLATIONS[lang]);
}
}
export function translateFactory() {
return new TranslateUniversalLoader();
}
}
...
@NgModule({
declarations: [AppComponent],imports: [
TranslateModule.forRoot({
loader: {
provide: TranslateLoader,useFactory: isProductionBuild() ? translateFactory : HttpLoaderFactory,deps: [HttpClient]
},isolate : false
})
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)