translate使用方式有两种:
1.是当成过滤器使用(指使用的格式和使用过滤器一样,{ { ‘hello' | translate }});
2.当成指令使用(使用格式和使用指令一样,<p translate="hello"></p>)
其实translate模块和自定义指令和过滤器没啥区别,国际化也可以用自定义过滤器实现,只是这是别人写好的一个模块,更符合angular的语境。
translate使用起来非常简单,如上两种方法,但是有时候国际化并不是所有东西都是静态的,国际化中可能包含变量,根据后台推送的信息展示,这个时候就需要我们在国际化中插入变量了,当然,这个问题angular开发者肯定早就已经想到了。下面就来说说插入变量的用法:
比如我要在国际化插入一个名字变量:
国际化json中:
{
"userName":"Hello {
{name}}"
}//这个是国际化json文件内容,我需要根据后台变量来显示name
在视图中使用方法:
1.{ { ’userName‘ | translate:'{name:string}' }}//可以这样把name传递给translate 或者{ { ’userName‘ | translate:obj}} $scope.obj={name:userName}
2.如果你是用指令的方式使用translate,那就这样使用:
<p translate="userName&#