微信小程序对没有对多语言的支持,我们可以自从加入,因为项目中需要切换简体字和繁体字,所以去研究了一下。
需要注意的是:一旦用户修改了语言,所有的页面都要做出修改;记住用户选择的语言,方便用户下次打开。
效果:
实现过程:
1.在 utils
目录下新建一个 i18n.js
文件。
let T = {
locale : null,
locales : {}, //语言包内容
langCode : ['zh_jian','zh_fan']
}
T.registerLocale = function(locales){
T.locales = locales; //将语言包里的对象赋给当前对象的locales属性
}
T.setLocale = function(code){
T.locale = code; //存储当前语言的种类('zh_jian'或者'zh_fan')
}
T.setLocaleByIndex = function(index){
T.setLocale(T.langCode[index]);
}
T.getLanguage = function(){
return T.locales[T.locale];
}
export default T;
T.locale
用来存储一个对象,这个对象是当前用户选择的语言。在使用 T
之前,我们需要调用 registerLocale
初始化 locales
。
2. /utils/locales.js
中这样定义可用的 locales
:
export default {
'zh_jian' : {
'language' : '简体中文',
'login' :