角度翻译中的指令

sit*_*tic 5 angularjs angularjs-directive angular-translate

我正在为i18n 使用angular-translate,并希望在翻译中使用指令:

var translations = {
  TEST_1: 'Hello from <a href="/test">Test</a>',
  TEST_2: 'Hello from <user></user>'
};

app.directive('user', function() {
  return {
    template: '<a href="/test">Test</a>'
  };
});
Run Code Online (Sandbox Code Playgroud)

完整的plnkr示例:http://plnkr.co/edit/jCCcvx7IEaAYUwyaQ7uH?p = preview

所以

<p translate="TEST_1"></p>
<p translate="TEST_2"></p>
Run Code Online (Sandbox Code Playgroud)

应该是一样的.第一个(没有指令)工作,第二个没有.它转换<user></user>,但Angular似乎没有意识到它并且没有做它的指示魔术.

ela*_*con 8

尝试使用该translate-compile指令:

<p translate="TEST_2" translate-compile></p>
Run Code Online (Sandbox Code Playgroud)

来自文档:

从版本2开始,转换本身可以在当前作用域的上下文中进行后处理(使用$ compile).这意味着翻译值本身使用的任何指令现在都将按预期工作.