angularjs / gettext:如何翻译属性中的文本

时间:2013-11-05 15:38:50

标签: javascript angularjs gettext angular-gettext

我有一个像这样的HTML

<bar title="'My Title'"></bar>

现在,当我想翻译它时,它看起来像这样

<bar title="'My Title'|translate"></bar>

我没有{{和}}的原因是因为'bar'指令将标题绑定到其作用域'='

scope: {
    title: '=',
    ...
}

问题是任务'nggettext_extract'不会提取此文本,因为它正在大括号之间查找内容。我找到了解决这个问题的黑客:

<bar dummy="{{My Title'|translate}}" title="'My Title'|translate"></bar>

但我希望这个问题有更好的解决方案吗?

更新:我现在实施的解决方法是我更改了指令,如下所示

scope: true,
link: function(scope, element, attrs) {
    scope.title = attrs.title;
}

当然,如果有人知道更好的解决方案,请告诉我!

1 个答案:

答案 0 :(得分:0)

您可以这样做:

// Inside your controller

$scope.lbl = gettextCatalog.getString('Some text');

// And inside your template you can use

<bar title={{lbl}} > </bar>