uni中使用vue-i18n国际化的一些问题

111 阅读1分钟

在局部的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中引入

image.png

在局部js中使用

import i18n from '@/locale/index'


export function tabList()= {
    return [{
            name: i18n.global.t('team.zs')
        }, {
            name: i18n.global.t('team.jd')
        }]
}