i18n是一个国际化语言插件,意译为internationalization的缩写,代表头尾字母加上十八个字母
1,下载i18n,选择一种安装方式就行
pnpm add vue-i18n
yarn add vue-i18n
npm install vue-i18n
2,配置i18n
创造一个i18n文件夹,放在utils或随便一个地方都行,小编推荐单独src目录下的i18n文件夹,因为工作量可能很大
javascript
// src/i18n/index.ts
import { createI18n } from "vue-i18n";
import en from './langs/en'
import zh from './langs/zh'
const messages = {
en,
zh
}
const i18n = createI18n({
legacy: false, // vue3需要false 默认模式
locale: 'zh',
messages // 翻译语言包
})
export default i18n
legacy在vue3中需要开启false,不然会报错
lacale是本地默认语言,zh:中文 en:英文
messages是翻译语言包,防止中文和英文
我们为了方便把messages提出来放,考虑到语言工程量很大,再单独放置两种语言包在/src/i18n/langs/en.ts和/src/i18n/langs/zh.ts中
3,在main.ts中挂载使用
javascript
/main.ts
import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
import i18n from './i18n/index.ts'
const app = createApp(App)
app.use(router).use(i18n).mount('#app')