vue3.0國(guó)際化

在Vue3.0版本中我們?nèi)绾问褂?a target="_blank">Vue I18n?去實(shí)現(xiàn)頁(yè)面國(guó)際化切換展示呢?

? ? ? 首先在vue2.0版本中是把I18n掛載到vue上面,可以通過(guò)this獲取到I18n對(duì)象,而在vue3.0版本,沒(méi)有this的用法了,我們頁(yè)面邏輯基本都寫(xiě)在setup函數(shù)內(nèi),此函數(shù)的初始化是在其他組件選項(xiàng)之前調(diào)用的。

第一步:首先我們要安裝一下Vue I18n

npm install vue-i18n? ?or? ??yarn add?vue-i18n

第二步:在vue3.0的入口掛載

import VueI18n from './language'

const app = createApp(App)

app.user(VueI18n)

在三步:初始國(guó)際化配置

文件目錄:


這里入口是index.ts文件,代碼如下

import { createI18n } from 'vue-i18n'

import zhCN from './lang/zh_CN'

import enUS from './lang/en'

const i18n = createI18n({

? ? ? locale: 'zh_CN', // 默認(rèn)顯示語(yǔ)音

? ? ? messages: {

? ? ? ? ? ?'zh_CN': zhCN, // 中文

? ? ? ? ? ? 'en_US': enUS // 英文——美式

? ? ? ? }

? })

export default i18n

再看一下zh_CN.ts里面配置

export default {?

? ? ?header_menu: {

? ? ? ? ? ? logout: '退出'

? ? ?}

}

en.ts

export default {

? ? ?header_menu: {

? ? ? ? ? ? ??logout: '退出'

? ? ?}

}


這樣我們就可以在頁(yè)面使用國(guó)際化配置了

<p>?{{ $t('header_menu.logout') }} </p>

如何切換語(yǔ)言呢?找到一個(gè)簡(jiǎn)單的方式,通過(guò)vue3.0 提供的getCurrentInstance函數(shù)實(shí)現(xiàn),這個(gè)函數(shù)允許訪問(wèn)對(duì)高級(jí)使用或庫(kù)創(chuàng)建者有用的內(nèi)部組件實(shí)例

模版中代碼:

<span @click="setLang(1)">英文</span>

<span @click="setLang(2)">中文</span>

{{ $t('header_menu.logout') }}

js代碼

import { getCurrentInstance } from 'vue'

export default {

? ? ?setup() {

? ? ? ? ?const { ctx } = getCurrentInstance()

? ? ? ?? function setLang(id) {

? ? ? ? ? ? ? ? if (id === 1) {

? ? ? ? ? ? ? ? ? ? ctx.$i18n.locale = 'en_US'

? ? ? ? ? ? ? ?else {

? ? ? ? ? ? ? ? ? ? ctx.$i18n.locale = 'zh_CN'

? ? ? ? ? ? ? ?}

? ? ? ? ? ? return { setLang }

? ? ? ? ?}

根據(jù)上面的邏輯 點(diǎn)擊哪個(gè)展示哪種語(yǔ)言

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 東野圭吾【宿命】故事梗概與書(shū)評(píng) 這本小說(shuō),還不錯(cuò)。小說(shuō)最后沒(méi)有讓人豁然開(kāi)朗但卻一切都平鋪直敘的進(jìn)行著。 開(kāi)頭是小時(shí)...
    柯柯柯北啊閱讀 696評(píng)論 0 0
  • 陪柒小妞玩,每天都能玩出新花樣,當(dāng)然了,她也總能給我?guī)?lái)驚喜。 昨晚上帶柒小妞玩游戲,她最熱衷的躲貓貓、搶玩具、翻...
    絲柳寸情閱讀 469評(píng)論 2 8
  • 不知從何時(shí)起各行各業(yè)的商家變得越來(lái)越不誠(chéng)信了,保險(xiǎn)業(yè)的忽悠客戶買(mǎi)保險(xiǎn),一旦客戶發(fā)生意外需要保險(xiǎn)承擔(dān),他們便會(huì)以種種...
    等你回來(lái)db閱讀 91評(píng)論 0 0
  • 3X時(shí)光計(jì)劃教程四出后,很多老師都寫(xiě)出了自己的學(xué)習(xí)心得。我們一起來(lái)看看吧。 2021年4月20日 翻閱打卡記錄,不...
    Alice_d0ce閱讀 936評(píng)論 0 0
  • 今天感恩節(jié)哎,感謝一直在我身邊的親朋好友。感恩相遇!感恩不離不棄。 中午開(kāi)了第一次的黨會(huì),身份的轉(zhuǎn)變要...
    余生動(dòng)聽(tīng)閱讀 10,845評(píng)論 0 11

友情鏈接更多精彩內(nèi)容