vue-i18n结合Element-ui的配置方法


Posted in Javascript onMay 20, 2019

使用方法:

在配合 Element-UI 一起使用时,会有2个问题: ####(1)、页面刷新后,通过按钮切换的语言还原成了最初的语言,无法保存 ####(2)、框架内部自带的提示文字无法更改,比如像时间选择框内部中的提示文字

关于第一个问题,可以在初始化VueI18n实例时,通过 localStorage 来为 locale 对象赋值

在切换语言的时候可以缓存不同的语言选项,并且可以长期保存,不会因为刷新网页而改变locale 的属性值

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

关于第二个问题,更改Element 组件内部语言,这里还涉及到 手动处理 vue-i18n@6.x 兼容性问题。 http://element-cn.eleme.io/#/... 官网已经做了详细介绍,这里依葫芦画瓢跟着实现一下

###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)) //为了实现element插件的多语言切换
export default i18n

按照如上把国际化文件都整合到一起,避免main.js 中大段引入相关代码。main.js 中与 i18n 相关的就只剩两行代码

###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插件默认给中文
const i18n = new VueI18n({
locale: window.localStorage.getItem('WEBFRONT_LANG') || 'zh_CN',
messages
})
// 为了实现element插件的多语言切换
element_locale.i18n((key, value) => i18n.t(key, value))
export default i18n

总结

以上所述是小编给大家介绍的vue-i18n结合Element-ui的配置方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Javascript 相关文章推荐
firefox下对ajax的onreadystatechange的支持情况分析
Dec 14 Javascript
Extjs4.0设置Ext.data.Store传参的请求方式(默认为GET)
Apr 02 Javascript
node.js中的console.time方法使用说明
Dec 09 Javascript
js数组常见操作及数组与字符串相互转化实例详解
Nov 10 Javascript
easyUI combobox实现联动效果
Jan 17 Javascript
vue-cli如何快速构建vue项目
Apr 26 Javascript
关于vue.js v-bind 的一些理解和思考
Jun 06 Javascript
探索webpack模块及webpack3新特性
Sep 18 Javascript
js自定义input文件上传样式
Oct 26 Javascript
微信小程序发布新版本时自动提示用户更新的方法
Jun 07 Javascript
vue中 数字相加为字串转化为数值的例子
Nov 07 Javascript
vue中defineProperty和Proxy的区别详解
Nov 30 Vue.js
JS实现选项卡效果的代码实例
May 20 #Javascript
微信打开网址添加在浏览器中打开提示的办法
May 20 #Javascript
浅谈Vuex注入Vue生命周期的过程
May 20 #Javascript
微信小程序图表插件wx-charts用法实例详解
May 20 #Javascript
Nuxt项目支持eslint+pritter+typescript的实现
May 20 #Javascript
vue3.0 搭建项目总结(详细步骤)
May 20 #Javascript
vue-cli webpack配置文件分析
May 20 #Javascript
You might like
Win2003+apache+PHP+SqlServer2008 配置生产环境
2014/07/29 PHP
PHP设计模式之工厂模式与单例模式
2016/09/28 PHP
JS判断客户端是手机还是PC的2个代码
2014/04/12 Javascript
jqGrid读取选择的多行的某个属性代码
2014/05/18 Javascript
node.js学习总结之调式代码的方法
2014/06/25 Javascript
基于javascript的COOkie的操作实现只能点一次
2014/12/26 Javascript
DOM操作一些常用的属性汇总
2015/03/13 Javascript
javascript常用的方法整理
2015/08/20 Javascript
JS采用绝对定位实现回到顶部效果完整实例
2016/06/20 Javascript
JS实现随机颜色的3种方法与颜色格式的转化
2017/01/05 Javascript
Vue.js中用webpack合并打包多个组件并实现按需加载
2017/02/17 Javascript
基于BootStrap multiselect.js实现的下拉框联动效果
2017/07/28 Javascript
深入理解ES6学习笔记之块级作用域绑定
2017/08/19 Javascript
JS实现问卷星自动填问卷脚本并在两秒自动提交功能
2020/06/17 Javascript
vue移动端监听滚动条高度的实现方法
2018/09/03 Javascript
基于Vue el-autocomplete 实现类似百度搜索框功能
2019/10/25 Javascript
基于Echarts图表在div动态切换时不显示的解决方式
2020/07/20 Javascript
[16:19]教你分分钟做大人——风暴之灵
2015/03/11 DOTA
python文件操作整理汇总
2014/10/21 Python
Python使用smtplib模块发送电子邮件的流程详解
2016/06/27 Python
Python循环语句中else的用法总结
2016/09/11 Python
tornado 多进程模式解析
2018/01/15 Python
Python3 replace()函数使用方法
2018/03/19 Python
Python两个字典键同值相加的几种方法
2019/03/05 Python
基于python及pytorch中乘法的使用详解
2019/12/27 Python
使用Python爬取小姐姐图片(beautifulsoup法)
2021/02/11 Python
德国户外商店:eXXpozed
2020/07/25 全球购物
怎样在程序里获得一个空指针
2015/01/24 面试题
临床医学大学生求职信
2013/09/28 职场文书
人力资源主管职责范本
2014/03/05 职场文书
教学改革实施方案
2014/03/31 职场文书
行政内勤岗位职责
2014/04/07 职场文书
计算机专业自荐信
2014/05/24 职场文书
售后服务承诺函格式
2015/01/21 职场文书
团组织推荐意见
2015/06/05 职场文书
2016年教师反腐倡廉心得体会
2016/01/13 职场文书