vue3中安裝使用vue-i18n實(shí)時(shí)切換語(yǔ)言且不用刷新
更新時(shí)間:2023年04月19日 09:09:07 作者:mrhaoxiaojun
這篇文章主要介紹了vue3中安裝使用vue-i18n實(shí)時(shí)切換語(yǔ)言不用刷新問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
我使用的版本
"vue": "^3.2.31", "vue-i18n": "^9.2.0-beta.34",
安裝 npm install vue-i18n@next 這樣裝的最新版的才能在vue3.0使用
1、main.ts
import { createApp } from 'vue'
import App from './App.vue'
import router from './router'
import { setupI18n } from '@/locales/setupI18n';
const app = createApp(App)
// 使用國(guó)際化i18n
app.use(setupI18n)
router.isReady().then(() => app.mount('#app'))2、locales
import { App } from 'vue';
import { createI18n } ?from 'vue-i18n'?? ??? ?//引入vue-i18n組件
import { messages } from './config';
import globalConfig from '@/config/index'
let {setting:{lang:defaultLang}} = globalConfig
//注冊(cè)i8n實(shí)例并引入語(yǔ)言文件
const localeData = {
? legacy: false, // 使用CompotitionAPI必須添加這條.
? locale: defaultLang,
? messages, // 一個(gè)語(yǔ)言包對(duì)象,簡(jiǎn)單
? globalInjection: true
?}
?
// setup i18n instance with glob
export const setupI18n = {
? install (app: App) {
? ? const i18n = createI18n(localeData)
? ? app.use(i18n);
? }
}config文件
import zh from './language/zh'
import en from './language/en'
// i18n本地語(yǔ)言包
export const messages = {
? 'zh-CN': zh,
? 'en-US': en
}
-------------------------
// zh文件,en同理
export default {
? menu: {
? ? home: '主頁(yè)'
? }
}3、國(guó)際化切換
<template>
? // select 國(guó)際化的一個(gè)下拉框
</template>
<script lang="ts" setup>
import { useI18n } from 'vue-i18n'
const { locale } = useI18n();
const handleChange = (value: Value) => {
?? ?// ...
?? ?// 這句話就是關(guān)鍵
? locale.value = value.value
};
</script>4、最后使用
<template>
?? ?{{t('menu.home')}}
</template>
<script lang ="ts" setup>
?? ?import { useI18n } from 'vue-i18n'
?? ?const { t } = useI18n();
</script>總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
用v-html解決Vue.js渲染中html標(biāo)簽不被解析的問題
這篇文章主要給大家介紹了如何利用v-html解決Vue.js渲染過程中html標(biāo)簽不能被解析,html標(biāo)簽顯示為字符串的問題,文中通過圖文介紹的很詳細(xì),有需要的朋友們可以參考借鑒,下面來一起看看吧。2016-12-12
基于axios請(qǐng)求封裝的vue應(yīng)用實(shí)例代碼
這篇文章主要給大家介紹了基于axios請(qǐng)求封裝的vue應(yīng)用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05
vue2+element-ui使用vue-i18n進(jìn)行國(guó)際化的多語(yǔ)言/國(guó)際化詳細(xì)教程
這篇文章主要給大家介紹了關(guān)于vue2+element-ui使用vue-i18n進(jìn)行國(guó)際化的多語(yǔ)言/國(guó)際化的相關(guān)資料,I18n是Vue.js的國(guó)際化插件,項(xiàng)目里面的中英文等多語(yǔ)言切換會(huì)使用到這個(gè)東西,需要的朋友可以參考下2023-12-12
vue實(shí)現(xiàn)錨點(diǎn)跳轉(zhuǎn)及滾動(dòng)監(jiān)聽的方法
這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)錨點(diǎn)跳轉(zhuǎn)及滾動(dòng)監(jiān)聽的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07
vue.js element-ui validate中代碼不執(zhí)行問題解決方法
這篇文章主要介紹了vue.js element-ui validate中代碼不執(zhí)行問題解決方法,需要的朋友可以參考下2017-12-12

