91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

昌宁县| 宜都市| 托克逊县| 太白县| 谷城县| 日土县| 互助| 鲁山县| 灌阳县| 嘉鱼县| 丹江口市| 兴和县| 健康| 阳东县| 汉川市| 顺义区| 平南县| 木兰县| 西安市| 淮安市| 固安县| 曲阜市| 肇州县| 白水县| 盱眙县| 志丹县| 中阳县| 四川省| 黔西| 元江| 仙居县| 上犹县| 隆回县| 龙游县| 海门市| 怀仁县| 彭阳县| 泾川县| 梁河县| 台前县| 和田县|