2015-11-17 30 views
7

Da angolare traducono documentazione:

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

Qual è lo scopo della interpolationId parametro, si può anche fare un esempio?

risposta

0

Qual è lo scopo del parametro interpolationId ...

Lo scopo di interpolationId è per fare riferimento l'identificatore restituito da getInterpolationIdentifier di un'interpolazione personalizzato che è stato aggiunto. È possibile aggiungere un'interpolazione personalizzata utilizzando $translateProvider.addInterpolation.

Questo è meglio documentato in angular-translate Pluralization documentation.

... puoi fare anche un esempio?

Ecco un esempio:

https://plnkr.co/edit/cDpNzZ6T6TSc13Qmji77

HTML

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

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; 
    } 
]);