Vue 使用i18n做到國(guó)際化

前言


在之前的大數(shù)據(jù)可視化項(xiàng)目和最近的后臺(tái)管理項(xiàng)目,都用到了國(guó)際化,所以在這里記錄下來(lái),以方便后續(xù)的維護(hù)使用分冈。

Step 一 安裝i18n

npm install vue-i18n --save-dev

Step 二 將i18n引入vue實(shí)例 在main.js中配置

import vueI18n from 'vue-i18n'

Vue.use(vueI18n);

const i18n = new vueI18n({
    locale: window.sessionStorage.getItem('lang') || 'zh-CN', // 語(yǔ)言標(biāo)識(shí)
    //this.$i18n.locale // 通過(guò)切換locale的值來(lái)實(shí)現(xiàn)語(yǔ)言切換
    messages: {
        'zh-CN': require('./components/utils/zh'), // 中文語(yǔ)言包
        'en-US': require('./components/utils/en') // 英文語(yǔ)言包
    }
});
    new Vue({
        el: '#app',
        router,
        i18n,   //掛在實(shí)例,
        store,
        // axios,
        components: {
            App
        },
        template: '<App/>',
        methods: {

        }
    })

如果你是按需加載的element-ui請(qǐng)看下邊的配置渣叛,這樣的話可以做到element-ui的國(guó)際化丈秩,如果你是全部加載
那么直接看官網(wǎng)的解說(shuō)
下邊的都是在main.js里邊配置 其他的配置同上

import lang_en from 'element-ui/lib/locale/lang/en'
import lang_zh from 'element-ui/lib/locale/lang/zh-CN' 
import el_locale from 'element-ui/lib/locale'
const messages = {
    'en-US': {
      ...require('./components/utils/en'),
      ...lang_en
    },
    'zh-CN': {
      ...require('./components/utils/zh'),
      ...lang_zh
    }
  }


  const i18n = new vueI18n({
    locale: window.sessionStorage.getItem('lang') || 'zh-CN', // 語(yǔ)言標(biāo)識(shí)
    messages,
});
el_locale.i18n((key, value) => i18n.t(key, value))

Step 三 新建兩個(gè)js文件,一個(gè)存放中文的淳衙,一個(gè)存放英文的。

untils.png

zh.js

export const language = {
    // 頭部導(dǎo)航欄
    headerNav: {
        PlatformOperation: "平臺(tái)運(yùn)營(yíng)后臺(tái)", //Platform operation background
    },
    // 登錄
    login: {
        logout: '退出', //logout
        Lanugages: '中英文切換', //Lanugages
        platformSystem: '平臺(tái)運(yùn)營(yíng)管理系統(tǒng)', //Platform operation management system
        greeting: 'BUYDO讓買(mǎi)的更便宜,賣(mài)的更貴!', //BUYDO makes people buy cheaper and sell more expensive!
       }
}

en.js

export const language = {
    headerNav: {
        PlatformOperation: 'Buydo Management System'
    },
    // 登錄
    login: {
        logout: 'Logout',
        Lanugages: 'Language',
        chinese: 'Chinese',
        english: 'English',
        platformSystem: 'Buydo Management System',
       }
}

Step 四 在你需要的地方觸發(fā)切換local的值

      <el-dropdown @command="handleLang" trigger="click">
          <span class="el-dropdown-link">
            {{$t('language.login.Lanugages')}}
            <i class="el-icon-arrow-down el-icon--right"></i>
          </span>
          <el-dropdown-menu slot="dropdown">
            <el-dropdown-item command="chinese">{{$t('language.login.chinese')}}</el-dropdown-item>
            <el-dropdown-item command="english">{{$t('language.login.english')}}</el-dropdown-item>
            <!-- <el-dropdown-item command="english">日語(yǔ)</el-dropdown-item> -->
          </el-dropdown-menu>
        </el-dropdown>
  methods: {
    //切換語(yǔ)言
    handleLang(command) {
      if (command == "chinese") {
        this.$i18n.locale = "zh-CN";
        this.$elementMessage("中文");
      }
      if (command == "english") {
        this.$i18n.locale = "en-US";
        this.$elementMessage("英文");
      }
      window.sessionStorage.setItem("lang", this.$i18n.locale);
      this.getLevel();   //這是調(diào)用切換語(yǔ)言的接口箫攀,因?yàn)楹笈_(tái)也需要國(guó)際化
    },
}

Step 五 vue - i18n 數(shù)據(jù)渲染的模板語(yǔ)法

//組件內(nèi)的模板
     <div class="content">
          {{$t('language.login.platformSystem')}}
        </div>


// 動(dòng)態(tài)綁定在vue
          <el-input  :placeholder="$t('language.system.enterClassName')"
                    v-model="productCategoryAddReqVo.name" ></el-input>



//在vue.js data 中賦值

<script>
export default {
  name: "App",
  data() {
    return {
      isRouterAlive: this.$t('language.system.enterClassName')
    };
  },

};
</script>

結(jié)束語(yǔ)

到此項(xiàng)目的國(guó)際化就告一段落了肠牲。在這里記錄一下,方便后續(xù)使用以及學(xué)習(xí)靴跛。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末缀雳,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子梢睛,更是在濱河造成了極大的恐慌肥印,老刑警劉巖,帶你破解...
    沈念sama閱讀 219,039評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件绝葡,死亡現(xiàn)場(chǎng)離奇詭異深碱,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)藏畅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)敷硅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人愉阎,你說(shuō)我怎么就攤上這事绞蹦。” “怎么了榜旦?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,417評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵幽七,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我溅呢,道長(zhǎng)锉走,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,868評(píng)論 1 295
  • 正文 為了忘掉前任藕届,我火速辦了婚禮挪蹭,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘休偶。我一直安慰自己梁厉,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,892評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布踏兜。 她就那樣靜靜地躺著词顾,像睡著了一般。 火紅的嫁衣襯著肌膚如雪碱妆。 梳的紋絲不亂的頭發(fā)上肉盹,一...
    開(kāi)封第一講書(shū)人閱讀 51,692評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音疹尾,去河邊找鬼上忍。 笑死骤肛,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的窍蓝。 我是一名探鬼主播腋颠,決...
    沈念sama閱讀 40,416評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼吓笙!你這毒婦竟也來(lái)了淑玫?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 39,326評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤面睛,失蹤者是張志新(化名)和其女友劉穎絮蒿,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體叁鉴,經(jīng)...
    沈念sama閱讀 45,782評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡土涝,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,957評(píng)論 3 337
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了亲茅。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片回铛。...
    茶點(diǎn)故事閱讀 40,102評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖克锣,靈堂內(nèi)的尸體忽然破棺而出茵肃,到底是詐尸還是另有隱情,我是刑警寧澤袭祟,帶...
    沈念sama閱讀 35,790評(píng)論 5 346
  • 正文 年R本政府宣布验残,位于F島的核電站,受9級(jí)特大地震影響巾乳,放射性物質(zhì)發(fā)生泄漏您没。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,442評(píng)論 3 331
  • 文/蒙蒙 一胆绊、第九天 我趴在偏房一處隱蔽的房頂上張望氨鹏。 院中可真熱鬧,春花似錦压状、人聲如沸仆抵。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,996評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)镣丑。三九已至,卻和暖如春娱两,著一層夾襖步出監(jiān)牢的瞬間莺匠,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,113評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工十兢, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留趣竣,地道東北人摇庙。 一個(gè)月前我還...
    沈念sama閱讀 48,332評(píng)論 3 373
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像期贫,于是被迫代替她去往敵國(guó)和親跟匆。 傳聞我的和親對(duì)象是個(gè)殘疾皇子异袄,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,044評(píng)論 2 355