【问题标题】:AngularJS translate: construct dynamic stringAngularJS翻译:构造动态字符串
【发布时间】:2020-05-08 04:18:07
【问题描述】:

我正在使用angular-translate模块进行翻译,我想构造一个动态字符串如下。

翻译键:

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

HTML:

<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】:

    如果我没听错的话,你想用一些号码联系翻译文本。

    所以也许使用&lt;p&gt;{{data.key_with_limit |translate}}&lt;/p&gt;

    而不是归因翻译:&lt;p translate="{{data.key_with_limit}}"&gt;&lt;/p&gt;

    所以你可以写:

    <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>
    

    Some Demo


    编辑

    语言键是一个 JSON 文件:

     {
      da: "En {{JOINWORD_ANY}} To",
      en: "One {{JOINWORD_ANY}} Two",
     }
    

    你不能编译它,{{JOINWORD_ANY}} 总是作为一个字符串。

    使用可以连接/管理到控制器/组件/指令中的不同键和动态值

    【讨论】:

    • 我已经更新了我的问题希望能够解释。任何建议都非常感谢。
    • 感谢您的回答!如果可能的话,请给我一些代码来做。
    • 我想我已经回答了。 SO不是一个有人为你做作业的地方:)。我也发布了演示。这是一个很好的起点。
    猜你喜欢
    • 1970-01-01
    • 2011-08-02
    • 1970-01-01
    • 2016-10-15
    • 1970-01-01
    • 2013-07-02
    • 1970-01-01
    • 2010-10-23
    • 1970-01-01
    相关资源
    最近更新 更多