Angular2 i18n语言切换

Angular2 i18n language switch

我正在寻找方法

如何在 angular2 + 打字稿中动态设置?

这是我从官方 Angular2 plunkr 获得的尝试:https://plnkr.co/edit/lWV4VhzpWYnCXeDBpzsn?p=preview 我在其中注释掉了

document.locale='en';

并尝试在 typescript 服务中检索 window.document,并更改那里的语言环境,但是尽管它被调用并且语言环境设置正确(在控制台中看到),界面没有显示在启动时选择的语言

当然,下拉按钮也不起作用,因为使用了同样的错误方法,显示没有刷新,但这是下一步。

我正在将用户选择的语言密钥保存到本地存储中:

//<select name="selectLocate" (change)="onChange($event.target.value)">
 public onChange(localeId: string): void {
    localStorage.setItem('localeId', localeId);
    location.reload(true);
  }

然后强制重装,并在i18n.provider.ts

let locale = localStorage.getItem('localeId');