如何使用Angular Translate翻译具有角度绑定的字符串?

时间:2017-05-29 13:29:48

标签: javascript angularjs angular-translate

我需要使用Angular Translate来提供我正在处理的应用程序的本地化。

我有这样的事情:

<p class="md-caption" translate="vm_stats_score"></p>

现在,我想将此分配给Angular Translate需要的ID,但每当我做

$translateProvider.translations('en', {
    vm_stats_score: 'Today from {{::vm.stats.votes}} votes'
});

它不包含我想要绑定到它的值。

这样做的正确方法是什么?

2 个答案:

答案 0 :(得分:2)

根据this,您可以执行以下操作:

<p class="md-caption" translate="vm_stats_score" translate-compile translate-values="{'votes': vm.stats.votes}"></p>

这会将您传递的值添加到<p> translate-values

正如您在示例中所看到的,我无法使用一次性绑定。这意味着您必须将字符串定义更改为:

$translateProvider.translations('en', {
    vm_stats_score: 'Today from {{vm.stats.votes}} votes'
});

答案 1 :(得分:1)

你不能直接绑定它,但还有另一种方法:

在您的翻译文件中输入变量,例如:

{
  "vm_stats_score": 'Today from {{votes}} votes'
}

html传递值,例如:

<p class="md-caption" translate="vm_stats_score" translate-values="{ votes: vm.stats.votes"></p>

Example plunkerRead more on doc.