效果图
详细博客地址:https://blog.csdn.net/qq_44376306/article/details/125949595
官方文档:vue-i18n官网文档
第一步:下载vue-i18n
npm install vue-i18n@next
第二步在src文件夹下创建I18n文件夹,文件夹下有三个文件,index.js,zh.js,en.js
//zh.js
export default{
language:{
name:"中文"
}
}
//en.js
export default {
language:{
name:"chinese"
}
}
//index.js
import {createI18n} from 'vue-i18n'
import zh from './zh'
import en from './en'
let i18n = new createI18n({
local:"zh",//默认中文
messages:{
zh,en
}
})
export default i18n
第三步 main.js引入
//main.js
import {createApp} from 'vue'
let app = createApp(App)
import i18n from "@/I18n"
app.use(i18n )
第四步 使用
//language.vue
<template>
<el-card>
<span>{{ $t('language.name') }}</span>
<el-button @click="seleLanguage('zh')">中文</el-button>
<el-button @click="seleLanguage('en')">英文</el-button>
</el-card>
</template>
<script setup>
import i18n from "@/I18n";
function seleLanguage(indexValue) {
i18n.global.locale = indexValue;
}
</script>