来自this 文档,据我了解,您可以执行以下操作更改语言环境:
$.i18n().locale = 'en';
在我的代码上也可以正常工作,并且会选择正确的lang,我要做的是动态更改此值并从变量中获取该值,因此我做了一个我将选择的语言保留在本地存储中,如下所示:
var currentlang = window.localStorage.getItem('lang');
如果我用console.log(currentlang)这个var currentlang,我会看到保存在本地存储中的corect lang,例如:“ en”,“ it”,这取决于我从lang picker中选择的语言。
问题出在什么时候:
$.i18n().locale = currentlang;
出于某些未知的原因,根据我在控制台中看到的内容,该原因不会考虑分配的值:
使用变量,控制台日志将打印:“ it”-不使用lang
将使用US $硬编码$ .i18n()。locale ='it'进行打印:-它将起作用
我需要提一下,两者都是字符串格式。