1.下载i81n插件
npm install vue-i18n@next 或者 yarn add vue-i18n@next
2.在src在创建language文件夹,并创建js/ts文件
![在这里插入图片描述](https://img-blog.csdnimg.cn/9620309f1490494682a52c17acb7051d.png#pic_center)
3.在js/ts中写入对应的语言信息
![在这里插入图片描述](https://img-blog.csdnimg.cn/6111839f84a3452991b3555bbbd7fbbd.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzU5ODE4OTY4,size_16,color_FFFFFF,t_70#pic_center)
4.创建index.js/index.ts文件,导出所有信息
![在这里插入图片描述](https://img-blog.csdnimg.cn/83d8f076441d426693de039bb38a3272.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzU5ODE4OTY4,size_16,color_FFFFFF,t_70#pic_center)
5.在language下创建i18n.js/i18n.ts文件(名字随意取)(注意:messages不要写错)
![在这里插入图片描述](https://img-blog.csdnimg.cn/2a84e3aa5397422ea09f8c35d0dd7284.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L20wXzU5ODE4OTY4,size_16,color_FFFFFF,t_70#pic_center)
6.在main.js/main.ts中注册
import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
import registerI18n from './language/register-i18n'
const app = createApp(App)
app.use(router)
app.use(store)
app.use(registerI18n)
app.mount('#app')
7.在template中使用
<template>
<div>
{{$t('message.string_lang')}}
</div>
</template>
8.在setup中使用和语言切换
<template>
<div>
{{$t(lang)}}
<span @click="changeLang">语言切换</span>
</div>
</template>
<script lang="ts">
import { defineComponent, ref, reactive } from 'vue'
import { useI18n } from 'vue-i18n'
export default defineComponent({
setup(){
const { locale, t } = useI18n()
console.log(t('message.string_lang'))
let lang = ref('message.string_lang')
const changeLang = ()=>{
locale.value = "cn"
localStorage.setItem('lang', "cn")
}
return {
lang,
changeLang
}
}
})
<script>