vue3中安裝使用vue-i18n實(shí)時(shí)切換語言且不用刷新
更新時(shí)間:2023年04月19日 09:09:07 作者:mrhaoxiaojun
這篇文章主要介紹了vue3中安裝使用vue-i18n實(shí)時(shí)切換語言不用刷新問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
我使用的版本
"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) // 使用國際化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 //注冊i8n實(shí)例并引入語言文件 const localeData = { ? legacy: false, // 使用CompotitionAPI必須添加這條. ? locale: defaultLang, ? messages, // 一個(gè)語言包對象,簡單 ? 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本地語言包 export const messages = { ? 'zh-CN': zh, ? 'en-US': en } ------------------------- // zh文件,en同理 export default { ? menu: { ? ? home: '主頁' ? } }
3、國際化切換
<template> ? // select 國際化的一個(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請求封裝的vue應(yīng)用實(shí)例代碼
這篇文章主要給大家介紹了基于axios請求封裝的vue應(yīng)用的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-05-05vue2+element-ui使用vue-i18n進(jìn)行國際化的多語言/國際化詳細(xì)教程
這篇文章主要給大家介紹了關(guān)于vue2+element-ui使用vue-i18n進(jìn)行國際化的多語言/國際化的相關(guān)資料,I18n是Vue.js的國際化插件,項(xiàng)目里面的中英文等多語言切換會使用到這個(gè)東西,需要的朋友可以參考下2023-12-12vue實(shí)現(xiàn)錨點(diǎn)跳轉(zhuǎn)及滾動監(jiān)聽的方法
這篇文章主要為大家詳細(xì)介紹了vue實(shí)現(xiàn)錨點(diǎn)跳轉(zhuǎn)及滾動監(jiān)聽的方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-07-07vue.js element-ui validate中代碼不執(zhí)行問題解決方法
這篇文章主要介紹了vue.js element-ui validate中代碼不執(zhí)行問題解決方法,需要的朋友可以參考下2017-12-12