angular $ translate中interpolationId的用途是什么?

Thị*_*hạm 7 interpolation angularjs angular-translate

来自Angular翻译文档:

$translate(translationId[, interpolateParams], interpolationId);

interpolationId参数的目的是什么,你能举个例子吗?

Wor*_*red 0

interpolationId 参数的目的是什么......

的目的interpolationId是引用getInterpolationIdentifier已添加的自定义插值返回的标识符。您可以使用添加自定义插值$translateProvider.addInterpolation

Angular-translate 的复数文档对此进行了更好的记录。

……你还能举个例子吗?

这是一个例子:

https://plnkr.co/edit/cDpNzZ6T6TSc13Qmji77

超文本标记语言

<body ng-controller="MyCtrl">
  $translate('greeting', {}, 'custom'): {{ customGreeting }}
  <br> $translate('greeting', {}): {{ regularGreeting }}
</body>
Run Code Online (Sandbox Code Playgroud)

JavaScript

var app = angular.module('app', [
  'pascalprecht.translate'
]);

app.config(["$translateProvider",
  function($translateProvider){
    $translateProvider.translations('en',{
      "greeting" : "Welcome Dinesh" 
    });

    $translateProvider.preferredLanguage('en');

    $translateProvider.addInterpolation('customInterpolator');
  }
]);

app.controller('MyCtrl', [
  '$scope',
  '$translate',
  function ($scope, $translate) {
    $translate('greeting', {}, 'custom').then(function (result) {
      $scope.customGreeting = result;
    });
    $translate('greeting', {}).then(function (result) {
      $scope.regularGreeting = result;
    });
  }
]);

app.factory('customInterpolator', [
  function () {
    var customInterpolator = {};

    customInterpolator.$get = function () {
    };

    customInterpolator.setLocale = function (locale) {
    };

    customInterpolator.getInterpolationIdentifier = function () {
        return 'custom';
    };

    customInterpolator.interpolate = function (string, interpolateParams) {
        return 'My custom interpolation message';
    };

    return customInterpolator;
  }
]);
Run Code Online (Sandbox Code Playgroud)