在.vue文件里,可以通过this.$t
直接使用挂在Vue原型上的Vue.prototype.$t
。
如果需要在抽出来的js文件里使用,可以这么写:
// 文件i18n/zh.js
let zh = {
title: '这是标题'
}
export default zh
// 文件i18n/en.js
let en = {
title: 'This is a title'
}
export default en
// 文件i18n/index.js
import Vue from 'vue'
import VueI18n from 'vue-i18n'
import utils from './../utils/utils'
import en from './en'
import zh from './zh'
Vue.use(VueI18n) //会把$t挂到Vue.prototype上,以便在.vue文件中使用this.$t()
// 国际化
const i18n = new VueI18n({
locale: utils.getCookie('language') || 'zh',// set locale
messages: {
zh: zh, // 中文语言包
en: en // 英文语言包
}
})
export default i18n
然后可以通过i18n.t()
使用:
// 文件test.js
import i18n from './i18n/index'
let title = i18n.t('title')
console.log(title)
我使用的vue版本为2.6.7,vue-i18n版本8.9.0。
有问题可以评论留言
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。