2016-11-23 4 views
0

나는이 하나와 유사한 문제가 JS하지만 난 그들이 쓴 모든 및/i18next 표시 키

엔 내가/로케일 파일을 translation.json 한 i18next Displayed key instead of value

잘못된 여전히 뭔가 DID/

{ 
    "Ustawienia" : "Settings", 
    "O aplikacji" : "About Application" 
    } 
application.js

function launchApp(options) { 
    var javascriptFiles = [ 
     `${options.BASEURL}js/i18next.min.js`, 
     `${options.BASEURL}js/i18next-xhr-backend.min.js`, 
     `${options.BASEURL}templates/MainTemplate.js`, 
]; 
evaluateScripts(javascriptFiles, function(success) { 
     if(success) { 

      i18next.use(i18nextXHRBackend); 
      i18next.init({ 
       lng: userLanguage, 
       debug: true, 
       fallbackLng: false, 
       keySeparator: false, 
       nsSeparator: false, 
       useLocalStorage: true , 
       useDataAttrOptions:true, 

       //resGetPath : '/locales/{{lng}}/{{ns}}.json', 
       backend: { 
        loadPath: options.BASEURL + '/locales/{{lng}}/{{ns}}.json' 

       }, 


      }, (err, t) => { 
    // initialized and ready to go! 


        }); 

      var doc = new MainTemplate().getTemplate(); 
      doc.addEventListener("select", handleMainNavigationClick); 
      mainDocument = doc; 
      navigationDocument.pushDocument(doc); 
      setTimeout(dismissModalView, 2000); 
     } 

에서

와 나는 예를 들어 템플릿에 i18next.t 사용할 때

<title>${i18next.t("Ustawienia")}</title> 

값 대신 키 (Ustawienia)가 표시됩니다 (설정). 제가 누락 된 부분에 대한 조언이 있습니까?

답변

0

귀하의 문제가 mainDocument을 초기화하는 장소라고 생각합니다. i18next.init()의 콜백은 사용되지 않지만 이며 실제로 이 초기화 된 곳입니다. 코드는 다음과 유사해야합니다.

if(success) { 

    i18next.use(i18nextXHRBackend); 
    i18next.init({ 
     lng: userLanguage, 
     debug: true, 
     fallbackLng: false, 
     keySeparator: false, 
     nsSeparator: false, 
     useLocalStorage: true , 
     useDataAttrOptions:true, 
     backend: { 
      loadPath: options.BASEURL + '/locales/{{lng}}/{{ns}}.json' 

     }, 
    }, (err, t) => { 
     // initialized and ready to go! 
     // this is where initialisation-dependent code should go 

     // additionally check if there was an error initialising i18next 
     if (err === undefined) { 
      var doc = new MainTemplate().getTemplate(); 
      doc.addEventListener("select", handleMainNavigationClick); 
      mainDocument = doc; 
      navigationDocument.pushDocument(doc); 
      setTimeout(dismissModalView, 2000); 
     } else { 
      // there was an error, handle it 
     } 
    }); 

}