vue3中安裝使用vue-i18n實(shí)時(shí)切換語(yǔ)言且不用刷新
我使用的版本
"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)簽不被解析的問(wèn)題
這篇文章主要給大家介紹了如何利用v-html解決Vue.js渲染過(guò)程中html標(biāo)簽不能被解析,html標(biāo)簽顯示為字符串的問(wèn)題,文中通過(guò)圖文介紹的很詳細(xì),有需要的朋友們可以參考借鑒,下面來(lái)一起看看吧。2016-12-12基于axios請(qǐng)求封裝的vue應(yīng)用實(shí)例代碼
這篇文章主要給大家介紹了基于axios請(qǐng)求封裝的vue應(yīng)用的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05vue2+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-12vue文本識(shí)別"\n"換行問(wèn)題的解決方式
在頁(yè)面中經(jīng)常會(huì)遇到自定義文本,如果文本過(guò)長(zhǎng)就需要換行,在HTML中可以通過(guò)標(biāo)簽換行,也可以通過(guò)\n轉(zhuǎn)椅字符換行,下面這篇文章主要給大家介紹了關(guān)于vue文本識(shí)別“\n”換行問(wèn)題的解決方式,需要的朋友可以參考下2022-11-11vue實(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-07Vue中$bus的用法及$on、$off的使用說(shuō)明
這篇文章主要介紹了Vue中$bus的用法及$on、$off的使用說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-05-05vue.js element-ui validate中代碼不執(zhí)行問(wèn)題解決方法
這篇文章主要介紹了vue.js element-ui validate中代碼不執(zhí)行問(wèn)題解決方法,需要的朋友可以參考下2017-12-12