Jac*_*rie 7 javascript i18next
我i18next通过传递语言代码(en-UK)来调用更改语言函数,如下所示:
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
});
};
Run Code Online (Sandbox Code Playgroud)
我遇到以下问题:
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)
Run Code Online (Sandbox Code Playgroud)
i18next我认为尝试执行该操作时出现了问题:
_this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);
Run Code Online (Sandbox Code Playgroud)
但我看不出正确执行此操作需要什么。预先感谢您的支持,杰克
你初始化i18next正确了吗?这段代码对我有用:
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()Run Code Online (Sandbox Code Playgroud)
<script src="https://unpkg.com/i18next/i18next.min.js"></script>Run Code Online (Sandbox Code Playgroud)
编辑: 从文档中获取此内容