2016-03-17 3 views
1

Я новичок в angularjs. Я делаю приложение, которое использует angularjs и Ng tags input.Перевести объект внутри контроллера

Все в порядке, но я не могу перевести источник, связанный с вводом тегов ng.

Вот мой код:

<tags-input ng-model="tags" 
      add-on-paste="true"> 
    <auto-complete source="Fruits"></auto-complete> 
</tags-input> 

И в мой контроллер, у меня есть:

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

app.config(function ($translateProvider) { 
$translateProvider.translations('en', { 
    PINE_APPLE: 'Pine apple', 
    LEMON : 'Lemon', 
    TOMATO: 'Tomato' 
}); 

$translateProvider.preferredLanguage('en'); 
}); 

app.controller('Ctrl', function ($scope, $translate) { 
$scope.Fruits = [ 
{ 
    text: 'TOMATO', 
    value: 1 
}, 
{ 
    text: 'PINE_APPLE', 
    value: 2 
}, 
{ 
    text: 'LEMON', 
    value: 3 
}]; 

$scope.changeLanguage = function (key) { 
    $translate.use(key); 
    }; 
}); 

Мой вопрос: как я могу перевести мои фрукты внутри контроллера Ctrl, чтобы привязать к нг ввода тегов ?

Может ли кто-нибудь мне помочь? Спасибо.

+0

попробуйте текст: $ translate.instant ('TOMATO') ;. Вам нужно будет следить за изменением языка, хотя – juvian

+0

Он возвращает TOMATO, а не помидор: '( – Redplane

+0

ммм, проверьте http://stackoverflow.com/questions/20540877/correct-use-for-angular-translate-in-controllers – juvian

ответ

2

Чтобы перевести тексты в объект JSON, вы можете попробовать перевести тексты, а затем создать объект с помощью этих переведенных текстов.

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

app.config(function ($translateProvider) { 
$translateProvider.translations('en', { 
    TOMATO: 'Tomato' 
}); 

$translateProvider.preferredLanguage('en'); 
}); 

app.controller('Ctrl', function ($scope, $translate) { 

var TEXT_TRANSLATED = $translate.instant('TOMATO'); //NEW LINE 

$scope.Fruits = [ 
{ 
    text: TEXT_TRANSLATED, 
    value: 1 
} 
]; 

Надеюсь, вы сочтете это полезным!

0

Благодарим вас, juvian Наконец, я попытался применить пользовательский шаблон ввода ng-тегов, как вы сказали, и работал с динамическим переводом.

Смежные вопросы