2017-03-23 12 views
-2

私はJSONをバックエンドにしていますが、これはUIで解析する必要があります。 JSONのすべてのキーについては、それらを翻訳してUIで表示する必要があります。i18n解析の問題

例: i18n.t( 'key')は私に翻訳された値を与えます。

しかし、「名前」、「日付」 のようないくつかのキーの例: i18n.t(「名前」) 翻訳が出力 「キー次与えている 『翻訳:名前(EN-US)は』オブジェクトを返し文字列の代わりに。

このシーンに対処する方法を教えてください。

+0

コードサンプルを共有してください。 –

+0

ハンドルヘルパー: Handlebars.registerHelper( 'T'、関数(){ \tするvar paramsは=のgetParamsFromArgs(引数).join( ''); \t VAR結果= paramsは&& i18n.t(paramsは)|| '' ; return new Handlebars.SafeString(result); }); HTMLで テンプレート:

{{t 'name'}}
やjQueryの で $ .T( '名前') そのは私にエラーを与える代わりに、{returnObjects、 'キー'(i18n.tを試してみてくださいmessages.property – aishwarya

+0

から値を置き換えます:true}); nameが文字列ではなくオブジェクトを返します(returnObjectsオプションのないデフォルトでは、i18nextは文字列値のみを有効な変換として許可します) – jamuhl

答えて

-1

あなたがあなたのサービス

 

    { 
     "i18n": { 
      "name": "translation1", 
      "name2": "translation2" 
     } 
    } 

からJSONを次の例のために持っている場合あなたはちょうど私が私が役立つことを願っ

 

    var mytranslation = getTranslationsFromService(); 

    console.log(mytranslation.i18n.name) //result: translation1 
    console.log(mytranslation.i18n.name2) //result: translation2 

    var getTranslationsFromService = function() { 
     //Get result from service, where the result looks like the JSON above. 
    } 

を以下のようにそれを使用することができます。

大切にしてください。