Angular2 i18n语言切换
Angular2 i18n language switch
我正在寻找方法
- 动态设置要显示的当前语言:我已经关注了最新的 angular cookbook here 关于国际化
但它说“用户的语言被硬编码为 index.html 中的全局 document.locale 变量”
如何在 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');
我正在寻找方法
- 动态设置要显示的当前语言:我已经关注了最新的 angular cookbook here 关于国际化 但它说“用户的语言被硬编码为 index.html 中的全局 document.locale 变量”
如何在 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');