Comment ng-translate à l’intérieur de l’option de boîte de sélection dans angularjs

Comment appliquer ng-translate pour traduire les options dans une zone de sélection.
Par exemple:

Modèle:

  

Manette:

 $scope.genders = [{code: "M", name:"TXT_MALE"}, {code: "F", name:"TXT_FEMALE"}] 

enUS.json:

 { "TXT_MALE": "Male", "TXT_FEMALE": "Female", } 

J’ai essayé d’append un filtre comme ng-options="gender.name for gender in genders | translate" mais évidemment, cela ajoutait un filtre à $scope.genders au lieu d’un seul élément

J’ai essayé d’écrire son propre filtre (je suis nouveau à cela)

 filter('translateArrayObj', ['$translate', '_', function($translate, _) { return function(arr) { var arr2 = []; angular.forEach(arr, function (value, key) { $translate(value.name).then(function(translation) { var obj2 = angular.copy(value); obj2.name = translation; obj2.code = value.code; arr2.push(obj2); }); }); return arr2; } }]) 

Mais j’ai eu l’erreur suivante

 Error: [$rootScope:infdig] 10 $digest() iterations reached. Aborting! 

Cela semble être une tâche simple mais cela a déjà pris la moitié de ma journée, qu’est-ce que je fais mal 🙁

Vous devez appliquer le filtre à gender.name et non au tableau gender.name :

  

Voici une démo

Une autre méthode plus simple en utilisant md-select, ici, placeholder est également utilisée

JSON: "placeholder":{ "gender": "Gender" }, "gender": { "TXT_MALE": "Male", "TXT_FEMALE": "Female" }

Code HTML: