我有两个按钮,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>
答案 0 :(得分:0)
您应将所选语言保存在localStorage
中,然后在每次加载时在localStorage
中检查此值。
作为替代方案,您可以在URL路径中使用语言,例如对localize-router
使用ngx-tranlsate
库-库和描述是租用的:https://www.npmjs.com/package/localize-router
通过这种方式,您无需将lang保留在LocalStorage
或cookie
中,因为您始终可以从localize-router
服务访问此lang。