在vue 使用i18n

許多項目需要做語言國際化抑进,那就可以用到i18n了,在vue 中用到的插件是vue-i18n

1.安裝依賴包

npm install vue-i18n 

或者

yarn add vue-i18n

2.創(chuàng)建語言包睡陪、i18n實例對象寺渗,并在main.js中引入:

|-- main.js 導入文件
|-- i18n
  |-- index.js 創(chuàng)建實例對象
  |-- languages 各種語言包
    |-- en_us.json  英文包
    |-- id_us.json  中文包

i18n/index.js匿情,創(chuàng)建i18n實例對象,代碼如下:

import Vue from 'vue'
import VueI18n from 'vue-i18n'

Vue.use(VueI18n)
 
// 注冊i18n實例并引入語言文件
const i18n = new VueI18n({
  locale: 'zh',
  messages: {
    'zh': require('./languages/zh_cn'),
    'en': require('./languages/en_us')
  }
})

export default i18n

接下來我們就需要新建兩個js文件(或者josn文件)作為語言包信殊。
其中zh.js中文包中代碼為i18n/languages/zh:

module.exports = {
  message: {
    login: '歡迎登錄',
    lang:{
      zh: '中文',
      en: '英文'
    }
  }
}

其中en.js英文包中代碼為i18n/languages/en:

module.exports = {
    message: {
      login: 'Welcome To Login',
      lang: {
        zh: 'Chinese',
        en: 'English'
      }
    }
   }

將i18n實例對象掛載到Vue實例之上:main.js

import Vue from "vue";
import App from "./App.vue";
import router from "./router";
import store from "./store";

import "@/assets/plugins/element-ui";
import i18n from '@/assets/plugins/i18n';

new Vue({
    i18n,  // 掛載到Vue實例之上
    router,
    store,
    render: (h) => h(App),
}).$mount("#app");

3.實現(xiàn)中英文切換按鈕炬称,代碼如下:

<template>
  <div>
    <el-dropdown
      class="languageBox"
      trigger="click"
      placement="bottom-end"
      @command="changeLanguage"
    >
      <el-button class="languageBtn">
        <div class="languageBtnBox">
          <img v-lazy="currentLanguage.icon" class="languageImg" />
          <span>{{ currentLanguage.label }}</span>
          <i class="el-icon-arrow-down el-icon--right"></i>
        </div>
      </el-button>
      <el-dropdown-menu slot="dropdown">
        <el-dropdown-item
          v-for="item in languages"
          :key="item.index"
          :command="item.value"
        >
          <div class="languageItem">
            <img :src="item.icon" alt="" />
            <span>{{ item.label }}</span>
          </div>
        </el-dropdown-item>
      </el-dropdown-menu>
    </el-dropdown>
  </div>
</template>
<script>
import Vue from "vue";
export default {
    data() {
        return {
            language: "zh",
        };
    },
computed: {
    currentLanguage() {
      return this.languages.find((item) => {
        return item.value === this.$i18n.locale;
      });
    },
  },
  mounted() {
    this.$i18n.locale = this.$store.state.language;
  },
    methods:{
 changeLanguage(locale) {
      this.$i18n.locale = locale
 }
    },
};
</script>
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市涡拘,隨后出現(xiàn)的幾起案子玲躯,更是在濱河造成了極大的恐慌,老刑警劉巖鳄乏,帶你破解...
    沈念sama閱讀 218,386評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件跷车,死亡現(xiàn)場離奇詭異,居然都是意外死亡橱野,警方通過查閱死者的電腦和手機朽缴,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,142評論 3 394
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來水援,“玉大人不铆,你說我怎么就攤上這事」簦” “怎么了誓斥?”我有些...
    開封第一講書人閱讀 164,704評論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長许帐。 經(jīng)常有香客問我劳坑,道長,這世上最難降的妖魔是什么成畦? 我笑而不...
    開封第一講書人閱讀 58,702評論 1 294
  • 正文 為了忘掉前任距芬,我火速辦了婚禮,結果婚禮上循帐,老公的妹妹穿的比我還像新娘框仔。我一直安慰自己,他們只是感情好拄养,可當我...
    茶點故事閱讀 67,716評論 6 392
  • 文/花漫 我一把揭開白布离斩。 她就那樣靜靜地躺著,像睡著了一般瘪匿。 火紅的嫁衣襯著肌膚如雪跛梗。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,573評論 1 305
  • 那天棋弥,我揣著相機與錄音核偿,去河邊找鬼。 笑死顽染,一個胖子當著我的面吹牛漾岳,可吹牛的內(nèi)容都是我干的轰绵。 我是一名探鬼主播,決...
    沈念sama閱讀 40,314評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼尼荆,長吁一口氣:“原來是場噩夢啊……” “哼左腔!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起耀找,我...
    開封第一講書人閱讀 39,230評論 0 276
  • 序言:老撾萬榮一對情侶失蹤翔悠,失蹤者是張志新(化名)和其女友劉穎业崖,沒想到半個月后野芒,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,680評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡双炕,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,873評論 3 336
  • 正文 我和宋清朗相戀三年狞悲,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片妇斤。...
    茶點故事閱讀 39,991評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡摇锋,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出站超,到底是詐尸還是另有隱情荸恕,我是刑警寧澤,帶...
    沈念sama閱讀 35,706評論 5 346
  • 正文 年R本政府宣布死相,位于F島的核電站融求,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏算撮。R本人自食惡果不足惜生宛,卻給世界環(huán)境...
    茶點故事閱讀 41,329評論 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望肮柜。 院中可真熱鬧陷舅,春花似錦、人聲如沸审洞。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,910評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽芒澜。三九已至缩赛,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,038評論 1 270
  • 我被黑心中介騙來泰國打工戴尸, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留冯凹,地道東北人。 一個月前我還...
    沈念sama閱讀 48,158評論 3 370
  • 正文 我出身青樓撒璧,卻偏偏與公主長得像答朋,于是被迫代替她去往敵國和親津辩。 傳聞我的和親對象是個殘疾皇子砚尽,可洞房花燭夜當晚...
    茶點故事閱讀 44,941評論 2 355

推薦閱讀更多精彩內(nèi)容

  • 前言 在之前的大數(shù)據(jù)可視化項目和最近的后臺管理項目施无,都用到了國際化,所以在這里記錄下來必孤,以方便后續(xù)的維護使用猾骡。 S...
    郝艷峰Vip閱讀 607評論 0 0
  • 中英文切換功能赡勘,筆者是通過i8n實現(xiàn)的嫂便。本文講述了各個場景下的中英文如何替換,包括表單驗證闸与,提示信息毙替,各中組件等。...
    Renaissance_閱讀 2,702評論 4 4
  • 一践樱、前言 項目中需要實現(xiàn)多語言切換厂画,這時候接觸到國際化,前端框架無數(shù)拷邢,其中幾種熱門的框架都有相匹配的國際化插件工具...
    頭發(fā)飄逸閱讀 1,349評論 2 32
  • vue中如何使用i18n實現(xiàn)國際化 一袱院、前言 項目中需要實現(xiàn)多語言切換,這時候接觸到國際化解孙,前端框架無數(shù)坑填,其中幾種...
    張先覺閱讀 1,402評論 1 12
  • 我是黑夜里大雨紛飛的人啊 1 “又到一年六月,有人笑有人哭弛姜,有人歡樂有人憂愁脐瑰,有人驚喜有人失落,有的覺得收獲滿滿有...
    陌忘宇閱讀 8,536評論 28 53