0

我正在开发一个 Angular2 应用程序,它有多种语言。根据我的 angular2 模板请求发送的 cookie,我从服务器获得不同的语言模板。问题是当我在 Angular 中更改语言时,它不会重新加载 @Component HTML-s,这意味着我没有得到翻译后的页面模板。

例子

在EN工作,我有一个模板

<p>Hello: @{{ user.name }}</p>

当我在 Angular 中更改语言时,我必须重新加载组件 HTML 以获取(例如)德语翻译模板。

<p>Guten tag: @{{ user.name }}</p>

关于我必须使用哪个类来执行此操作的任何建议?我认为它必须比刷新整个页面更容易?

我目前正在做一个

location.reload();

更改语言后,但我无法找到更好的解决方案。

4

1 回答 1

1

Angular2 计划在未来默认采用本地化。但是,现在,你为什么不使用ng2-translate来翻译东西呢?

易于设置,您可以使用管道轻松翻译术语:

{{ 'HELLO' | translate}}

然后,您只需在i18n文件夹中创建本地化文件,其中包含您需要的所有翻译(例如en.jsonde.json等)。

查看这个Plunker以获得一个简单的工作示例。

于 2016-08-21T22:19:36.170 回答