刷新页面后,ngx-translate会切换为默认语言

时间:2019-01-24 14:24:10

标签: angular ngx-translate

我有两个按钮,setlang函数可切换语言(分别为DE或ENG)。切换语言时,代码有效,并且可以在各个部分切换语言。

问题:

当我刷新页面时,语言会切换回默认语言。

我不确定在哪里更改代码,以便保留以前选择的语言。

我尝试了什么?

我尝试在各个地方设置语言,但是由于我是新手,可能无法正确实现语言。

app.module.ts:

export function setupTranslateFactory(
  service: TranslateService): Function {
  return () => service.use('de');
}

component.ts:

export class LanguageSelectionComponent implements OnInit {
  @Input('isGerman') isGerman: boolean;

  constructor(private translate: TranslateService) {  


  }

  ngOnInit() {


  }
  setLang(lang: string) {
    this.translate.use(lang);

  }

}

HTML:

<div>
    <button (click)="setLang('de')">DE</button>

    <button (click)="setLang('en')">EN</button>
</div>

1 个答案:

答案 0 :(得分:0)

您应将所选语言保存在localStorage中,然后在每次加载时在localStorage中检查此值。

作为替代方案,您可以在URL路径中使用语言,例如对localize-router使用ngx-tranlsate库-库和描述是租用的:https://www.npmjs.com/package/localize-router

通过这种方式,您无需将lang保留在LocalStoragecookie中,因为您始终可以从localize-router服务访问此lang。