在局部的js文件中使用国际化的时候,会包引入或者其他的错误(具体原因我不是很清楚,如果大家有更好的方案或者知道具体原因也请指导一下)
目前的解决方案是将国际化配置单独在一个js中的实例化,然后在main中引入。然后在需要使用国际化的局部js文件中引入这个i18n的实例对象即可。(如果不在单独的js文件中示例,而是在main中直接export i18n的话,在微信小程序里会报路径错误),具体代码如下:
国际化配置文件:index.js
import en from './en.js'
import zhHans from './zh-Hans.js'
let i18nConfig = {
locale: uni.getLocale(),
messages:{
'zh-Hans': zhHans,
en
}
}
import {
createI18n
} from 'vue-i18n'
const i18n = createI18n(i18nConfig)
export default i18n
在main中引入
在局部js中使用
import i18n from '@/locale/index'
export function tabList()= {
return [{
name: i18n.global.t('team.zs')
}, {
name: i18n.global.t('team.jd')
}]
}