AngularJS translate:构造动态字符串



我使用角度翻译模块进行翻译,我想构建一个动态字符串,如下所示。

翻译密钥:

"MY_TRANS_KEY": "Answer should include all of the following: {{limit}}"

Html:

<span
class="warningStyle padding-0"
translate="{{limit.myKey}}"
translate-value-limit="{{limit.valueTrans | translate}}
>

limit.myKey->在这种情况下具有翻译键值"MY_TRANS_key">

limit.valueTrans->是一个具有如下翻译的对象。

{
da: "En {{JOINWORD_ANY}} To",
en: "One {{JOINWORD_ANY}} Two",
}

我的问题是如何获得上述{{JOINWOD_ANY}}的翻译?目前它只显示为字符串。

希望这能解释。

如果我理解得对,你想用一些号码联系翻译后的文本。

所以可能使用<p>{{data.key_with_limit |translate}}</p>

相反,atrtibution翻译:<p translate="{{data.key_with_limit}}"></p>

所以你可以写:

<p>{{data.key|translate}} {{limit}}</p>

例如:

希望它能帮助你:

var en_translations = {
MY_TRANS_KEY: "EN "
}
var sp_translations = {
MY_TRANS_KEY: "SP "
}
$translateProvider.translations('en',en_translations);
$translateProvider.translations('sp',sp_translations);
$translateProvider.preferredLanguage('en');
$scope.data = {
key: 'MY_TRANS_KEY'
};
$scope.numericLimit = 80;

和HTML:

<p translate="{{data.key}}"></p>     
<p>{{data.key|translate}} {{numericLimit}}</p>

一些演示


编辑

语言密钥是一个JSON文件:

{
da: "En {{JOINWORD_ANY}} To",
en: "One {{JOINWORD_ANY}} Two",
}

您无法编译它,{{JOINWORD_ANY}}将始终作为字符串。

使用不同的密钥和动态值,您可以将其连接/管理到控制器/组件/指令中

最新更新