天天看點

i18n項目國際化

i18n國際化

----剛過完年,老闆十萬火急的告訴我,要把項目做成國際化(即:中英文切換)。。

打勞工打工魂打工成為人上人,雖然咱之前沒接觸過i18國際化,但既然老闆有需求,咱也得執行啊,要不飯碗不保,剛過完年就丢了飯碗,不吉利啊。。。(話不多說,開搞)

--------------------分割線----------------------

1.npm i vue-i18n --save-dev 下載下傳i18n語言包

i18n項目國際化

2.在main.js中導入挂載

i18n項目國際化

3.在i18n檔案夾中,建立lang檔案夾,在lang檔案夾中再建立兩個js本地語言封包件(zh.js中文語言包,en.js英文語言包)

i18n項目國際化

4.i18n中index.js中的代碼配置:

import Vue from ‘vue’;

import Element from ‘element-ui’

import VueI18n from ‘vue-i18n’;

// 引入各個語言配置檔案

import zh from ‘./lang/zh’;

import en from ‘./lang/en’;

// 建立vue-i18n執行個體i18n

Vue.use(VueI18n)

const i18n = new VueI18n({

// 設定預設語言

locale: localStorage.getItem(‘locale’) || ‘zh’, // 語言辨別

// 添加多語言(每一個語言标示對應一個語言檔案)

messages: {

zh,

en,

}

})

Vue.use(Element, {

i18n: (key, value) => i18n.t(key, value)

});

// 暴露i18n

export default i18n;

//new Vue({ i18n }).$mount(’#app’)

5.語言包裡的内容,都是一個個手寫的(很苦逼),簡單的例子,大家對照參考

i18n項目國際化
i18n項目國際化

兩個語言包裡的變量名必須一一對應

6.如何在代碼中使用

template 中用法:

{{ $t("login.wms") }}

1 2 js 中的用法

// 使用語言

alert(this. t ( ′ l o g i n . w m s ′ ) ) / / 切 換 語 言 , l a n g 參 數 可 為 : c n / e n / k o 等 t h i s . t('login.wms')) //切換語言,lang參數可為:cn/en/ko等 this. t(′login.wms′))//切換語言,lang參數可為:cn/en/ko等this.i18n.setUserLanguage(lang);