ngx-translate переключается на язык по умолчанию после обновления страницы - PullRequest
0 голосов
/ 24 января 2019

У меня есть две кнопки и функция 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 голосов
/ 24 января 2019

Вы должны сохранить выбранный язык в localStorage, а затем при каждой загрузке проверять это значение в localStorage.

В качестве альтернативы вы можете использовать язык в своем URL-пути, например, используя localize-router библиотеку для ngx-tranlsate - библиотека и описание найма: https://www.npmjs.com/package/localize-router

Таким образом, вам не нужно сохранять язык в вашем LocalStorage или cookie, потому что вы всегда имеете доступ к этому языку из службы localize-router.

...