微信小程序多语言显示2019-01-18

我们在 (1) 处用 /utils/locales 注册了 locale,在 (2) 处将当前语言设置为用户上一次选择的语言,如果是第一次使用,则调用 T.setLocaleByIndex(0) 将语言设置成中文,在 (3) 处将 T 注册到 wx 之下,这样在任何地方都可以调用 wx.T.getLanguage() 来得到当前的语言对象了。

我们这里看到的 langIndex 这个缓存在用户每次更改语言的时候都将要重新存储一下。

app.js页面

在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()

    });

  },

以上言论仅代表个人,如有问题联系本人删除或者修改。谢谢。同时有学习问题也可以留言交流。很乐意分享。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。