如何在Angular中进行嵌套翻译?

时间:2015-03-17 06:31:10

标签: angularjs translation

我正在尝试使用带有条件的角度进行嵌套平移。

设置:

<p translate-values="{partnerName: (enterPin.partnerName) ? enterPin.partnerName : {{'YourProvider'}}}" translate>
    {{'EnterPINCodeMessage'}}
</p>

这是我的翻译文件:

{
    "EnterPINCodeMessage": "Enter the 13 digit PIN code you received from {{partnerName}}. If you do not have a PIN code, please contact {{partnerName}} for assistance.",
    "YourProvider": "your Provider"
}

如果enterPin.partnerName有一个我希望{{partnerName}}使用的值,如果不是,我希望{{partnerName}}使用{{'YourProvider'}}的翻译

使用此设置,这是我的结果:

<p translate-values="{partnerName: (enterPin.partnerName) ? enterPin.partnerName : YourProvider}" translate="" class="ng-scope ng-binding">Enter the 13 digit PIN code you received from . If you do not have a PIN code, please contact  for assistance.</p>

呈现为

  

输入您收到的13位数PIN码。如果您没有PIN码,请联系以获取帮助。

如果enterPin.PartnerName为空,我怎样才能将partnerName转换为'YourProvider'?

由于

2 个答案:

答案 0 :(得分:3)

以下是最终工作的内容:

        <p translate-values="{partnerName: (enterPin.partnerName) ? enterPin.partnerName : '{{'YourProvider' | translate }}' }" translate>{{'EnterPINCodeMessage'}}</p>

答案 1 :(得分:-1)

我没有尝试过,但我认为括号内的大括号是问题所在。所以不是这个

<p translate-values="{partnerName: (enterPin.partnerName) ? enterPin.partnerName : {{'YourProvider'}}}" translate>
    {{'EnterPINCodeMessage'}}
</p>

试试这个

<p translate-values="{partnerName: (enterPin.partnerName) ? enterPin.partnerName : 'YourProvider'}" translate>
    {{'EnterPINCodeMessage'}}
</p>