Angular翻译内容

时间:2016-10-25 03:47:20

标签: angularjs angular-translate

如何使角度翻译与内部内容一起使用?默认情况下,它会删除包含translate指令的元素内的所有内容。

当使用指令translate翻译东西时,框架会删除HTML元素中的所有内容。 在大多数情况下,这不是问题,因为您希望翻译能够获取所有内容。 但是在某些情况下它很烦人,例如标签,请参阅以下plnkr。以下翻译将删除select元素。

  <label translate> STATE
    <select ng-model="selectedItem" ng-options="item.name for item in items track by item.id"></select>
  </label>

  <label translate="STATE">
    <select ng-model="selectedItem" ng-options="item.name for item in items track by item.id"></select>
  </label>

https://plnkr.co/edit/wcMuDVMhxH3wbSUTUwtY?p=preview

我知道在这种情况下我可以使用属性forlabel来解决此特定情况下的问题,但我是在一般解决方案之后。

2 个答案:

答案 0 :(得分:0)

您提到的for属性是一个很好的方法,实际上它是正确的语义方式:

&#13;
&#13;
<label for="state" translate>STATE</label>
<select 
    ng-model="selectedItem" 
    ng-options="item.name for item in items track by item.id" 
    id="state"></select>
&#13;
&#13;
&#13;

答案 1 :(得分:0)

我想你可以试试这个

 <label> {{'STATE'|translate}} </label>
<select ng-model="selectedItem" ng-options="item.name |translate for item in items track by item.id"></select>

就像我身边的魅力一样

p.s:由于我的互联网连接问题,我无法编辑您的plunker。但我测试了我上面所做的事情,只要翻译json与您的选项相匹配,它就能在我身边很好地运作

编辑:抱歉。我忘记贴上标签了:&#39;(