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 相关文章推荐
JavaScript获取/更改文本框的值的实例代码
Aug 02 Javascript
extjs两个tbar问题探讨
Aug 08 Javascript
jquery div拖动效果示例代码
Dec 08 Javascript
Egret引擎开发指南之编译项目
Sep 03 Javascript
常用的jquery模板插件——jQuery Boilerplate介绍
Sep 23 Javascript
JavaScript数组常用操作技巧汇总
Nov 17 Javascript
原生JS实现LOADING效果
Mar 16 Javascript
几种二级联动案例(jQuery\Array\Ajax php)
Aug 13 Javascript
js通过keyCode值判断单击键盘上某个键,然后触发指定的事件方法
Feb 19 Javascript
基于 Bootstrap Datetimepicker 联动
Aug 03 Javascript
layer子层给父层页面元素赋值,以达到向父层页面传值的效果实例
Sep 22 Javascript
js类的继承定义与用法分析
Jun 21 Javascript
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
用来解析.htpasswd文件的PHP类
2012/09/05 PHP
php session实现多级目录存放实现代码
2016/02/03 PHP
详解PHP中的序列化、反序列化操作
2017/03/21 PHP
JavaScript 设计模式 安全沙箱模式
2010/09/24 Javascript
js创建对象的几种常用方式小结(推荐)
2010/10/24 Javascript
基于jQuery的左右滚动实现代码
2010/12/03 Javascript
jQuery 源码分析笔记(4) Ready函数
2011/06/02 Javascript
jQuery图片滚动图片的效果(另类实现)
2013/06/02 Javascript
从数据结构的角度分析 for each in 比 for in 快的多
2013/07/07 Javascript
如何使用Javascript获取距今n天前的日期
2013/07/08 Javascript
Jquery ajax执行顺序 返回自定义错误信息(实例讲解)
2013/11/06 Javascript
js实现图片旋转的三种方法
2014/04/10 Javascript
jquery增加和删除元素的方法
2015/01/14 Javascript
IE和Firefox之间在JavaScript语法上的差异
2016/04/22 Javascript
微信小程序 教程之wxapp视图容器 swiper
2016/10/19 Javascript
详解angular用$sce服务来过滤HTML标签
2017/04/11 Javascript
js实现可以点击收缩或张开的悬浮窗
2017/09/18 Javascript
Vue2.0父子组件传递函数的教程详解
2017/10/16 Javascript
vue-music关于Player播放器组件详解
2017/11/28 Javascript
详解ES6 系列之异步处理实战
2018/10/26 Javascript
vue使用better-scroll实现下拉刷新、上拉加载
2018/11/23 Javascript
详解vue-cli 2.0配置文件(小结)
2019/01/14 Javascript
es5 类与es6中class的区别小结
2020/11/09 Javascript
js删除指定位置超链接中含有百度与360的标题
2021/01/06 Javascript
python&MongoDB爬取图书馆借阅记录
2016/02/05 Python
tensorflow的计算图总结
2020/01/12 Python
Python之字典对象的几种创建方法
2020/09/30 Python
法拉利英国精品店:Ferraris Boutique UK
2019/07/20 全球购物
工程总经理工作职责
2013/12/09 职场文书
预备党员政审材料
2014/02/04 职场文书
护士岗位职责
2014/02/16 职场文书
敬老院标语
2014/06/27 职场文书
目标责任书格式
2014/07/28 职场文书
乡党政领导班子群众路线教育实践活动个人对照检查材料
2014/09/20 职场文书
同学毕业留言寄语
2015/02/27 职场文书
Java虚拟机内存结构及编码实战分享
2022/04/07 Java/Android