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();
}]
}
のようにそれを使用する必要があります。私がこれを試しても正しいと分かったら、$ translatePartialLoader.addPart( 'home'); $ translate.refresh(); var homeTranslation; $ translate( 'home')then(機能(翻訳){ homeTranslation =翻訳; console.log(homeTranslation); }); homeTranslationはen.jsonで定義されたすべての値を持つ必要がありますが、未定義です。それは内部に入ることはありません – Bukic
あなたのアプリは翻訳ファイルを受け取りますか?デバッガ –
のネットワークtavを確認してください。このサービスが呼び出される前に、ネットワークタブでen.jsonファイルを見ることができます。また、私が前に書いたように、私はルート内の解決メソッドでロードしており、ビューで使用しています。 – Bukic