2017-11-12 8 views
0

Ich nenne die i18next ändern Sprache-Funktion durch den Sprachcode vorbei (en-UK) so lesen:Kann nicht Eigentum 'toResolveHierarchy' undefinierter

var changeLng = function (varLng) { 
    i18next.changeLanguage('en', (err, t) => { 
    if (err) return console.log('something went wrong loading', err); 
    t('applog'); // -> same as i18next.t 
    }); 
}; 

Ich habe folgendes Problem:

VM4081 i18next.js:1912 Uncaught TypeError: Cannot read property 'toResolveHierarchy' of undefined 
    at setLng (VM4081 i18next.js:1912) 
    at I18n.changeLanguage (VM4081 i18next.js:1927) 
    at changeLng (VM4079 langUK.js:23) 
    at HTMLImageElement.<anonymous> (VM4079 langUK.js:8) 

ich gehe davon aus, dass etwas schief gehen, wenn i18next versucht, dass auszuführen:

_this4.languages = _this4.services.languageUtils.toResolveHierarchy(l); 

Aber ich kann nicht sehen, was benötigt wird, um dies richtig auszuführen. Vielen Dank im Voraus für Ihre Unterstützung, Jack

Antwort

0

Haben Sie i18next richtig initialisiert? Dieser Code funktioniert für mich:

i18next.init({ 
 
    lng: 'en', 
 
    debug: true, 
 
    resources: { 
 
    en: { 
 
     translation: { 
 
     "key": "hello world" 
 
     } 
 
    } 
 
    } 
 
}, function(err, t) { 
 
    // initialized and ready to go! 
 
    console.log("Ready to go!"); 
 
}); 
 

 
var changeLng = function(varLng) { 
 
    i18next.changeLanguage('en', (err, t) => { 
 
    if (err) return console.log('something went wrong loading', err); 
 
    t('applog'); // -> same as i18next.t 
 
    }); 
 
}; 
 

 
changeLng()
<script src="https://unpkg.com/i18next/i18next.min.js"></script>

Edit:took this from the documentation

Verwandte Themen