gpt4 book ai didi

angularjs - angular-translate:翻译动态值

转载 作者:行者123 更新时间:2023-12-01 13:47:03 27 4
gpt4 key购买 nike

我们正在使用 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在这种情况下,如果所选语言是英语,则最终应解析为“男孩”或“女孩”,例如,如果所选语言是德语,则应解析为“Junge”或“Mädchen”。我怎么做?

编辑:

正如下面的 Partha Sarathi Ghosh 所建议的,我尝试过
<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>

使用这样的 Controller 代码:
function childTranslationData() {
return {
gender: vm.child.gender === 'boy' ? 'GENDER_BOY' : 'GENDER_GIRL',
age: vm.child.age
};
}

工作得很好!非常感谢!

最佳答案

尝试这个。它可能会解决您的问题。

{{ 'YOU_HAVE_A_CHILD' | translate:(child | translate) }}

或者你可以试试这个
'YOU_HAVE_A_CHILD': 'You have a {{ gender | translate }} that is {{ age }} years old.'

如果没有解决,则先从您的 Controller 翻译 child

关于angularjs - angular-translate:翻译动态值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35223457/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com