2015-06-23 7 views
16

su Angular 1.3.x con l'ultima versione di angular-translate. Utilizzando $sanitize sembra che ci siano problemi quando si utilizza direttamente il filtro o il servizio, ma funziona quando si utilizza la direttiva.La sanificazione angolare-traslazione non riesce con i caratteri UTF

Suggerimenti?

Ecco un esempio:

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

 
myApp.config(function($translateProvider) { 
 
    $translateProvider.useSanitizeValueStrategy("sanitize"); 
 
    $translateProvider.preferredLanguage('en'); 
 
    $translateProvider.translations('en', { 
 
     UTF: 'öéü', 
 
    }); 
 
}); 
 

 
myApp.controller("myCtrl", function($scope, $translate) { 
 
    $translate("UTF").then(function(trans) { 
 
     $scope.UTFCTRL = trans; 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.3.14/angular.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/angular.js/1.3.16/angular-sanitize.min.js"></script> 
 
<script src="http://rawgit.com/PascalPrecht/bower-angular-translate/master/angular-translate.min.js"></script> 
 

 
<div ng-app="myApp" ng-controller="myCtrl"> 
 
    <div> 
 
     Wrong: <h1>{{ 'UTF' | translate }}</h1> 
 
    </div> 
 
    
 
    <div> 
 
     Ok: <h1 translate="UTF"></h1> 
 
    </div> 
 
    
 
    <div> 
 
     Wrong: <h1>{{ UTFCTRL }}</h1> 
 
    </div> 
 
</div>

Su jsfiddle: http://jsfiddle.net/gnvpo6aa/

+0

Questo è un WONTFIX per il filtro di traduzione almeno: https://github.com/angular-translate/angular-translate/issues/440: '( Ho riscontrato problemi con il filtro e il servizio. – Sammi

risposta

35

Al momento, si hanno due opzioni:

  1. utilizzare la strategia sanitizeParameters che sanificherà solo il dinam parametri ic, ma non la traduzione effettiva (modello). Se hai la traduzione sotto controllo (ma non i valori dinamici), questo funzionerà.
  2. Utilizzare la strategia escape (o escapeParameters) che non utilizza l'igienizzazione ma l'escaping.

Disclaimer: Sto co-mantenendo angular-translate.

Modifica (12.01.2016): Avevo creato this matrix overview of all variants.

+6

questo fa schifo .. :(grazie, anche se – fusio

+0

Trovato questo tramite il numero 1011, grazie per il lavoro, e il plugin! – StephenMtl

+0

Strano, ma funziona. –

Problemi correlati