AngularJS翻译:构造动态字符串

问题描述 投票:1回答:1

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

翻译键。

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

Html.myKey ->有翻译键值,在本例中为 "MY_TRANS_KEY"。

<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}}的翻译?目前它只显示为一个字符串。

希望这能解释。

angularjs angular-translate
1个回答
0
投票

如果我的理解是正确的,你想用一些数字来联系翻译后的文本。

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

而不是 atrtibution translate。<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}} 始终是一个字符串。

使用不同的键和动态值,你可以concatmanage到controllerscomponentsdirectives。

© www.soinside.com 2019 - 2024. All rights reserved.