正常使用
import VueI18n from 'vue-i18n'
Vue.use(VueI18n)
import i18nZH from '@/assets/common/lang/zh'
import i18nEN from '@/assets/common/lang/en'
//i18n
const i18n = new VueI18n({
locale: 'zh-CN',
messages: {
'zh-CN': i18nZH,
'en-US': i18nEN
}
})
new Vue({
router,
store,
i18n,
render: h => h(App)
}).$mount('#app')
//使用
<div>$t('somethings')</div>
把实例i18n挂载到Vue实例上就可以(实例变量i18n不可更改,更改回报_t undefined的错误)
***但是由于项目问题,没有new Vue()实例,所以把i18n挂到Vue原型
Vue.prototype.$i18nn = i18n
重点******这里注意挂到原型上不能用 Vue.prototype.i18n会和vue-i18n内有冲突报错,所以要重新写一个变量
但是新变量会导致直接使用$t()报错_t undefined
注册Vue.prototype.$i18nn = i18n后用法
<div>$i18nn.t('somethings')</div>