2016-08-18 11 views
0

次のように私はtranslateProviderを設定している:コントローラ内で角度変換フィルタを使用する方法は?

angular.module('app') 
    .config(['$translateProvider', function($translateProvider){ 
     $translateProvider.translations('en', { 
      'HELLO' : 'Hello' 
     }); 
     $translateProvider.translation('de', { 
      'HELLO' : 'Hallo' 
     }); 
     $translateProvider.prefferedLanguage('en'); 
}]) 

を、私は成功したように、フィルタとの表現を使ってHTMLで文字列を翻訳することができます

{{ 'HELLO' | translate }} 

は「こんにちは」(または「ハロー」を現れます優先言語設定に応じて)。

コントローラでJavascriptでフィルタを使用するにはどうすればよいですか?

私の現在のアプローチは機能していません。

angular.module('app') 
    .controller('ExampleController', [ '$scope', '$translate'], function($scope, $translate){ 
     $scope.obj = { 
      translatedString = $translate('HELLO') 
     }; 
    }); 

は、それが「ハロー」の[オブジェクトのオブジェクト]の代わりに翻訳を示しているよう。

答えて

0

$変換は非同期であり、それはこのように使用することができますので、それは代わりに変換された文字列の約束を返します。

$translate('HEADLINE_TEXT').then(function (translation) { 
    $scope.translatedText = translation; 
}); 

詳細情報https://angular-translate.github.io/docs/#/api/pascalprecht.translate.$translate

+0

その作業。ありがとう。私もtranslatedString = $ translate.instant( 'HELLO')を使って目標を達成しました。 – MojioMS

関連する問題