中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

vue項目中怎么實現支持多種語言

發布時間:2021-07-09 10:44:13 來源:億速云 閱讀:302 作者:Leah 欄目:大數據

這篇文章給大家介紹vue項目中怎么實現支持多種語言,內容非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

首先咱們不妨把網頁中需要轉換語言的公共部分提取出來,放到一個對象中,代碼如下:

const messages = {
en: {
 message: {
  hello: 'world hello'
 }
},
zh: {
 message: {
  hello: '世界'
 }
}
}

從上面的代碼中可以看出,hello是一個公眾變量,在中文網站中顯示為“世界”,在英文網站中為“world hello”。然后通過對象的屬性來區分中英文,然后將這個對象加載到全局。如何加載到全局呢,在Vue的項目中,就需要用到Vue-i18n這個模塊。代碼如下:

main.js

import Vue from 'vue'
import App from './App'
import VueI18n from 'vue-i18n'
const messages = {
en: {
 message: {
  hello: 'world hello'
 }
},
zh: {
 message: {
  hello: '世界'
 }
}
}
Vue.use(VueI18n)
const i18n = new VueI18n({
locale: 'zh',
messages
})
new Vue({
 i18n,
 template: '<App/>',
 components: { App },
}).$mount('#app')

  App.vue源碼:

<template>
 <h2>{{$t("message.hello")}}</h2>
</template>
<script>
export default {
 created () {
   console.log(this.$t("message.hello"))
 }
}
</script>
<style>
</style>

打印結果為世界,因為在創建vue-i18n實例的過程中我們傳入了兩個參數,local和messages。local標識用哪國語言,local傳入的是zh,messages包含著自定義的語言模塊。如果local出傳入的是en那打印的結果就會變成world hello。

然后在實例化組件的過程中將i18n傳入,這樣組件中就可以訪問$t這個函數了,通過這個函數,我們可以取出messages中的屬性值,將其渲染到頁面中。

核心是在實例化的過程中通過local這個參數來實現實現語言的切換,message來實現語言包的加載,開發者只需將需要翻譯的公共部分抽離出來放到message中即可。

關于vue項目中怎么實現支持多種語言就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

临颍县| 梅州市| 读书| 民勤县| 阿拉善左旗| 潮安县| 嘉义市| 连山| 万全县| 育儿| 贵州省| 德安县| 霍州市| 鄂托克旗| 民丰县| 永寿县| 鹰潭市| 榆林市| 松溪县| 隆子县| 呼玛县| 合川市| 礼泉县| 苗栗县| 襄汾县| 新民市| 永吉县| 瑞昌市| 三门峡市| 金阳县| 东方市| 大名县| 凤山市| 河西区| 乾安县| 玛曲县| 定安县| 昌乐县| 逊克县| 松桃| 望江县|