3
我们使用angular-translate来翻译我们的应用程序。角度翻译:翻译动态值
动态数值定期转换是没有问题的,像
'LIVES_LEFT': 'You have {{ lives }} left.'
使用像
<p>{{ 'LIVES_LEFT' | translate:player }}</p>
当动态值是本身需要翻译,像
一个字符串,问题就出现
'YOU_HAVE_A_CHILD': 'You have a {{ gender }} that is {{ age }} years old.'
使用类似于
<p>{{ 'YOU_HAVE_A_CHILD' | translate:child }}</p>
在这种情况下gender
应该结束了解析为“男孩”或“女孩”,如果所选择的语言是英语,例如“琼格”或“Mädchen”,如果所选择的语言为德语。我怎么做?
编辑:
至于建议由帕塔Sarathi戈什下面我试图
<p>{{ 'YOU_HAVE_A_CHILD' | translate:(child | translate) }}</p>
但我从出现语法错误:
Error: [$parse:syntax] Syntax Error: Token 'Object' is unexpected, expecting []] at column 9 of the expression [[object Object]] starting at [Object]].
然而,
{
'YOU_HAVE_A_CHILD': 'You have a {{ gender | translate }} that is {{ age }} years old.',
'GENDER_BOY': 'boy',
'GENDER_GIRL': 'girl'
}
使用像
<p>{{ 'YOU_HAVE_A_CHILD' | translate:vm.childTranslationData() }}</p>
与控制器这样的代码:
function childTranslationData() {
return {
gender: vm.child.gender === 'boy' ? 'GENDER_BOY' : 'GENDER_GIRL',
age: vm.child.age
};
}
工作太棒了!非常感谢!