我们在 (1) 处用 /utils/locales 注册了 locale,在 (2) 处将当前语言设置为用户上一次选择的语言,如果是第一次使用,则调用 T.setLocaleByIndex(0) 将语言设置成中文,在 (3) 处将 T 注册到 wx 之下,这样在任何地方都可以调用 wx.T.getLanguage() 来得到当前的语言对象了。
我们这里看到的 langIndex 这个缓存在用户每次更改语言的时候都将要重新存储一下。
在Home.js(小程序主页面)中开始获取系统语言,然后对小程序显示的语言进行设置。写入如下代码。
import event from '../../utils/event';
data: {
language: '', //多语言
},
onLoad: function(options) {
//多语言
wx.T.setLocaleByIndex(globalData.langIndex);
that.setLanguage();
event.on('languageChanged', that, that.setLanguage);
}
setLanguage() {
this.setData({
language: wx.T.getLanguage()
});
},
其他页面的引用。写入如下代码。
import event from '../../utils/event';//多语言
data: {
language: '', //多语言
},
onLoad: function(options) {
//多语言
this.setLanguage();
event.on('languageChanged', this, this.setLanguage);
}
setLanguage() {
this.setData({
language: wx.T.getLanguage()
});
},
以上言论仅代表个人,如有问题联系本人删除或者修改。谢谢。同时有学习问题也可以留言交流。很乐意分享。