我正在开发一个Angular2应用程序,它有多种语言。根据随angular2模板请求一起发送的cookie,我从服务器获得了不同的语言模板。问题是,当我在Angular中更改语言时,它不会重新加载@Component的HTML-s,这意味着我没有得到翻译后的页面模板。
例子在EN中工作,我有一个模板
<p>Hello: @{{ user.name }}</p>
当我在Angular中改变语言时,我必须重新加载组件HTML来获取(例如)德语翻译模板。
<p>Guten tag: @{{ user.name }}</p>
有什么建议吗,我应该用哪个类来做这个?我想这一定比刷新整个页面更容易吧?
我现在正在做
location.reload();
改变了语言,但我想不出更好的解决方案
Angular2计划在未来默认采用本地化。但是,现在,为什么不使用ng2-translate来翻译呢?
它很容易设置,你可以很容易地翻译术语使用管道:
{{ 'HELLO' | translate}}
然后,您只需在i18n
文件夹中创建本地化文件,其中包含您需要的所有翻译(例如en.json
, de.json
等)。
看这个普朗克的一个简单的工作例子。