2017-05-23 2 views
0

verpasste zur Interpolation in i18next in Variable ja passieren

</head> 

<body> 
    <div id="add"> 
     <div data-i18n="key">Hello</div> 
    </div> 
    <script> 
     i18next.t('key', {yes: 'this', no: 'great'}); 
    </script> 
    <script> 
     i18next 
     i18next.use(window.i18nextBrowserLanguageDetector) 
     i18next.use(window.i18nextXHRBackend) 

     .init({ 
      debug: true, 
      tName: 't', 
      handleName: 'localize', 
      selectorAttr: 'data-i18n', 
      targetAttr: 'i18n-target', 
      optionsAttr: 'i18n-options', 
      useOptionsAttr: true, 
      parseDefaultValueFromContent: true, 
      initImmediate: true, 
      fallbackLng: false, 
      interpolation: { 
       "escapeValue": true, 
       "prefix": "{{", 
       "suffix": "}}", 
       "formatSeparator": ",", 
       "unescapePrefix": "-", 
       "nestingPrefix": "$t(", 
       "nestingSuffix": ")" 
      }, 

      detection: { 
       order: ['querystring', 'cookie', 'navigator', 'htmlTag'], 
       lookupCookie: 'i18next', 
       lookupLocalStorage: 'i18nextLng', 
       caches: ['cookie'], 
      }, 

      "backend": { 
       "loadPath": "/locales/{{lng}}/{{ns}}.json" 
      } 

     }, function(err, t) { 
      jqueryI18next.init(i18next, $); 
      $('#add').localize(); 
     }); 

    </script> 

</body> 

Json Datei

{ "Schlüssel": „{{yes}} ist { {no}} "

}

Console Ergebnis

i18next :: Interpolator: verpassten in Variable ja passieren zur Interpolation {{yes}} ist {{no}}

i18next :: Interpolator: verpassten in Variable nicht passieren für interpolieren ist {{no}}

Alles falsch in diesem Code?

Thanx

Antwort

0

Sie rufen i18next.t('key', {yes: 'this', no: 'great'}); vor der Initialisierung erfolgt.

Sie sollten:

`` ` .init ({ ...

}, function(err, t) { 
     jqueryI18next.init(i18next, $); 
     // add vars here!!! 
     $('#add').localize({yes: 'this', no: 'great'}); 
    }); 

` ``

Oder verwenden Sie die Daten-i18n-Option Attribut: https://github.com/i18next/jquery-i18next#using-options-in-translation-function

+0

@jamuhi, Danke für Ihre Zeit, ich habe eine andere Frage Ich habe versucht Übersetzung in zwei verschiedenen Sprachen wie Spanisch oder Chines Ich habe zwei separate JSON-Datei s. Dann haben "ja" oder "nein" zwei verschiedene Werte wie für Spanisch (ja: "das ist Spanisch", nein: "Großes Spanisch") oder Chines (ja: "das ist Chines", nein: "Großchines"). Aber wenn ich Browser-Sprache in Chines ändern, Ch.json Dateiaufruf, aber immer noch es anzeigen "das ist Spanisch ist Great Spanish" sollte ich ändern "{{ja}}" oder "{{no}}" Name ist chinesische JSON-Datei? –

+0

@ AdityaTomar für diesen Fall möchten Sie vielleicht versuchen, Verschachtelung: https://www.i18next.com/nesting.html – jamuhl

+0

@jamuhi, wieder tnx, Bitte schauen Sie in diese URL: https://stackoverflow.com/questions/44154275/not-to-translation-a-tag-inside-div-by-i18 Nächste-Bibliothek –

Verwandte Themen