2017-07-27 4 views
1

を反応させることは、この可能性のようなものです:は私reactJSアプリで</p> <p>を反応させ、i18nextを使用していますJSの国際化ロケール

i18n 
    .use(LanguageDetector) 
    .init({ 
     // we init with resources 
     resources: { 
      en: {en}, 
      de: { 
       application: { 
        name: 'Dashbord DE', 
       } 
      } 
     }, 

ネスティング/ロケールに

をグループ化し、このようにそれらを印刷します:

t('application.dashboard') 

問題は、翻訳が印刷されていないことです...私の主要なapplication.dashboardはpriです...

ありがとうございました。

更新:

de: { 
    application: { 
     foo: "adsad", 
     name: { 
     firstname: 'max' 
     }, 
    } 
} 

これが動作していません。

t('application:name.firstname') 
+0

「en」とオブジェクトが何であるか、何それはデで、その後 –

+0

ちょうど同じを含まない – Felix

+0

t( 'application.dashboard')の代わりにt( 'application.name')を呼び出す必要があります。あなたの翻訳には「application.dashboard」キーが含まれていません。 –

答えて

1

t('application:name')は、トリックを行います。アプリケーションは名前空間(ロードされたファイル名)として機能し、デフォルトのニーズは:で区切られます。あなたは、いくつかの詳細を追加する必要があり、他のすべてのネストが.で分離されているが、例えば:

de: { 
     application: { 
      name: { 
      firstname: 'max' 
      }, 
     } 
    } 

t('application:name.firstname'); // -> max

+0

に上記のコードをいくつか追加しました。動作しません – Felix

+0

問題が解決しました。私はセパレータを定義しなければなりませんでした。 'keySeparator: '.'' – Felix

関連する問題

 関連する問題