2016-10-18 1 views
1

私の角度指示では、object.title_en(英語のタイトル)とobject.title_fr(フランス語のタイトル)の2つの属性を持つオブジェクトがあります。 $ translate.use()で取得した現在の言語に従って、正しいタイトルを表示し続ける方法は?ここでAngularJS translate object attibute

EDIT

は私のHTMLテンプレートです:

<div layout="column"> <div> {{object.title_fr | limitTo: 50}} </div> <div> {{object.description_fr | limitTo: 150}} </div> </div>

そして、ここでは私が得る私のJSONオブジェクトです:

{ "title_en" : "Title in english", "title_fr" : "Title in french", "description_en" : "Description in english", "description_fr" : "Description in french" }

そして私はしたいと思いますそれを英語に翻訳することができます言語$ translate.use()です。

ありがとうございます。

+0

こんにちはAnnelhote、あなたはの、最小完全、かつ検証例を掲示しようとする場合がありますあなたのコード。これは、人々があなたが何をしようとしているかを正確に見て、目標を達成するために何らかの努力をあなたの側に示すのに役立ちます。人々は、尋問者の側で何らかの努力をすることができれば、より多くの人を助けてくれるでしょう。 http://stackoverflow.com/help/mcve – gsteiner

+0

言語ごとにJSONオブジェクトを使用する必要があります。下の私の答えを見てください。 – Toddsden

答えて

0

JSONオブジェクトを2つの別々のオブジェクトに変更してください。次に、各言語に使用する言語を指定します。ここで

は一例です:あなたはこのようなあなたのHTMLでそれを使用することができます

myModule.config(['$translateProvider', function($translateProvider) { 
    var language_fr={ 
     "title" : "Title in french", 
     "description" : "Description in french" 
    }; 

    var language_en= { 
     "title" : "Title in english", 
     "description" : "Description in english", 
    }; 

    $translateProvider 
     .translations('en', language_en) 
     .translations('fr', language_fr) 
     .preferredLanguage('en') 
     .fallbackLanguage('en') 
     .useSanitizeValueStrategy('escape') 
    ; 
}]); 

<div layout="column"> <div translate>title</div> <div translate>description</div> </div>