vue-i18n結(jié)合Element-ui的配置方法

使用方法:

在肅北等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供成都網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站、外貿(mào)網(wǎng)站建設(shè) 網(wǎng)站設(shè)計(jì)制作按需定制設(shè)計(jì),公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),成都品牌網(wǎng)站建設(shè),全網(wǎng)整合營銷推廣,外貿(mào)網(wǎng)站制作,肅北網(wǎng)站建設(shè)費(fèi)用合理。

在配合 Element-UI 一起使用時(shí),會(huì)有2個(gè)問題: ####(1)、頁面刷新后,通過按鈕切換的語言還原成了最初的語言,無法保存 ####(2)、框架內(nèi)部自帶的提示文字無法更改,比如像時(shí)間選擇框內(nèi)部中的提示文字

關(guān)于第一個(gè)問題,可以在初始化VueI18n實(shí)例時(shí),通過 localStorage 來為 locale 對(duì)象賦值

在切換語言的時(shí)候可以緩存不同的語言選項(xiàng),并且可以長期保存,不會(huì)因?yàn)樗⑿戮W(wǎng)頁而改變locale 的屬性值

const i18n = new VueI18n({ locale: localStorage.getItem('locale') || 'zh', messages })

關(guān)于第二個(gè)問題,更改Element 組件內(nèi)部語言,這里還涉及到 手動(dòng)處理 vue-i18n@6.x 兼容性問題。 http://element-cn.eleme.io/#/... 官網(wǎng)已經(jīng)做了詳細(xì)介紹,這里依葫蘆畫瓢跟著實(shí)現(xiàn)一下

 ###i18n.js import Vue from 'vue' import VueI18n from 'vue-i18n' import locale from 'element-ui/lib/locale'; import zh from './langs/zh' import en from './langs/en' import enLocale from 'element-ui/lib/locale/lang/en' import zhLocale from 'element-ui/lib/locale/lang/zh-CN'
Vue.use(VueI18n)
const messages = { en: Object.assign(en, enLocale), zh: Object.assign(zh, zhLocale) }
console.log(messages.zh)
const i18n = new VueI18n({ locale: localStorage.getItem('locale') || 'zh', messages })
locale.i18n((key, value) => i18n.t(key, value)) //為了實(shí)現(xiàn)element插件的多語言切換
export default i18n

按照如上把國際化文件都整合到一起,避免main.js 中大段引入相關(guān)代碼。main.js 中與 i18n 相關(guān)的就只剩兩行代碼

###main.js import i18n from './i18n/i18n' // 1行
window.app = new Vue({ el: '#app', router, store, i18n, // 2行 components: { App }, template: '' })

---------------------------源碼如下--------------------------------------

// 工程本地 國際化
import locale_zh_CN from './lang/zh-CN'
import locale_zh_TW from './lang/zh-TW'
import locale_en_US from './lang/en-US'
import locale_ko_KR from './lang/ko-KR'
// ElementUI 國際化
import element_locale from 'element-ui/lib/locale'
import element_zh_CN from 'element-ui/lib/locale/lang/zh-CN'
import element_zh_TW from 'element-ui/lib/locale/lang/zh-TW'
import element_en_US from 'element-ui/lib/locale/lang/en'
import element_ko_KR from 'element-ui/lib/locale/lang/ko'
import Vue from 'vue'
import VueI18n from 'vue-i18n'
Vue.use(VueI18n)
// 將各自的 國際化文件合并 拋出 (后期公共組件等插件的 國際化文件也需要考慮)
const messages = {
zh_CN: Object.assign(locale_zh_CN, element_zh_CN),
zh_TW: Object.assign(locale_zh_TW, element_zh_TW),
en_US: Object.assign(locale_en_US, element_en_US),
ko_KR: Object.assign(locale_ko_KR, element_ko_KR)
}
// i18n插件默認(rèn)給中文
const i18n = new VueI18n({
locale: window.localStorage.getItem('WEBFRONT_LANG') || 'zh_CN',
messages
})
// 為了實(shí)現(xiàn)element插件的多語言切換
element_locale.i18n((key, value) => i18n.t(key, value))
export default i18n

總結(jié)

以上所述是小編給大家介紹的vue-i18n結(jié)合Element-ui的配置方法,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)創(chuàng)新互聯(lián)網(wǎng)站的支持!
如果你覺得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!

網(wǎng)頁標(biāo)題:vue-i18n結(jié)合Element-ui的配置方法
文章分享:http://muchs.cn/article8/jchdop.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供移動(dòng)網(wǎng)站建設(shè)、自適應(yīng)網(wǎng)站微信小程序、網(wǎng)站改版用戶體驗(yàn)、小程序開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

搜索引擎優(yōu)化