2016-09-16 22 views
0

私は、サービスでの角度変換を使用したいと思います。私はtranslatePartialLoaderを使用してロードしてみましたが、リフレッシュは成功しましたが、空のオブジェクトが表示されています。以下は私のコードです。

***サービス*

angular 
     .module('common') 
     .factory('ConversationService', conversationService); 

     function conversationService($translate, $translatePartialLoader) { 

     $translatePartialLoader.addPart('home'); 
     $translate.refresh(); 

     var asdsa; 

     asdsa = $translate('home.test'); 
     console.log(asdsa); 


     /* Tried with then also no success.. 
     $translate("home").then (function (home) { 
      asdsa = home; 
      console.log(asdsa); 
     });*/ 
} 

})();私は解決方法translatePartialLodaerに使用していますし、作業が、この方法でどこにある私は$

angular.element(document).ready(function() { 
    angular.bootstrap(document, ['app']); 
    }); 

    function config($stateProvider, $urlRouterProvider, $logProvider, $httpProvider, $translateProvider) { 
    $urlRouterProvider.otherwise('/login'); 
    $logProvider.debugEnabled(true); 
    $httpProvider.interceptors.push('httpInterceptor'); 
    $translateProvider.useLoader('$translatePartialLoader', { 
     urlTemplate: '/src/app/modules/{part}/resources/{lang}.json' 
    }); 

    $translateProvider.preferredLanguage('en'); 
コントローラで

en.jsonファイル

{ 
    "home" :{ 
    "test": "Teeeeeeeeeeeeeeeeeeest", 
    } 
} 

を変換定義

app.js私はそれが働いていないサービスのために必要です。以下は私が働いているルートでどのように使用しているかです。

 resolve: { 
       translatePartialLoader: ['$translate', '$translatePartialLoader', function ($translate, $translatePartialLoader) { 
        $translatePartialLoader.addPart('home'); 
        return $translate.refresh(); 
       }] 
       } 

答えて

0

$変換は非同期FNで、私はそれを試してみましたはい

$translate('token.token2').then(function(translation){ 
}); 
+0

のようにそれを使用する必要があります。私がこれを試しても正しいと分かったら、$ translatePartialLoader.addPart( 'home'); $ translate.refresh(); var homeTranslation; $ translate( 'home')then(機能(翻訳){ homeTranslation =翻訳; console.log(homeTranslation); }); homeTranslationはen.jsonで定義されたすべての値を持つ必要がありますが、未定義です。それは内部に入ることはありません – Bukic

+0

あなたのアプリは翻訳ファイルを受け取りますか?デバッガ –

+0

のネットワークtavを確認してください。このサービスが呼び出される前に、ネットワークタブでen.jsonファイルを見ることができます。また、私が前に書いたように、私はルート内の解決メソッドでロードしており、ビューで使用しています。 – Bukic

関連する問題