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 相关文章推荐
情人节之礼 js项链效果
Feb 13 Javascript
javascript实现des解密加密全过程
Apr 03 Javascript
Google Maps API地图应用示例分享
Oct 23 Javascript
轻松学习jQuery插件EasyUI EasyUI实现拖动基本操作
Nov 30 Javascript
js实现各种复制到剪贴板的方法(分享)
Oct 27 Javascript
工作中常用的js、jquery自定义扩展函数代码片段汇总
Dec 22 Javascript
微信小程序中的onLoad详解及简单实例
Apr 05 Javascript
纯js实现画一棵树的示例
Sep 05 Javascript
JavaScript中将值转换为字符串的五种方法总结
Jun 06 Javascript
vue中typescript装饰器的使用方法超实用教程
Jun 17 Javascript
H5实现手机拍照和选择上传功能
Dec 18 Javascript
如何使用Jquery动态生成二级选项列表
Feb 06 jQuery
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
Php注入点构造代码
2008/06/14 PHP
PHP独立Session数据库存储操作类分享
2014/06/11 PHP
php实现的短网址算法分享
2014/06/20 PHP
ThinkPHP框架下微信支付功能总结踩坑笔记
2019/04/10 PHP
JQuery表单验证插件EasyValidator用法分析
2014/11/15 Javascript
jquery插件jSignature实现手动签名
2015/05/04 Javascript
省市选择的简单实现(基于zepto.js)
2016/06/21 Javascript
jquery 实现回车登录详解及实例代码
2016/10/23 Javascript
jquery实现转盘抽奖功能
2017/01/06 Javascript
loading动画特效小结
2017/01/22 Javascript
20行JS代码实现网页刮刮乐效果
2017/06/23 Javascript
JS判断微信扫码的方法
2017/08/07 Javascript
详解从react转职到vue开发的项目准备
2019/01/14 Javascript
Smartour 让网页导览变得更简单(推荐)
2019/07/19 Javascript
浅谈element中InfiniteScroll按需引入的一点注意事项
2020/06/05 Javascript
Python 字典(Dictionary)操作详解
2014/03/11 Python
详解使用python crontab设置linux定时任务
2016/12/08 Python
SQLite3中文编码 Python的实现
2017/01/11 Python
Python验证文件是否可读写代码分享
2017/12/11 Python
浅谈Python中的zip()与*zip()函数详解
2018/02/24 Python
Python3 中把txt数据文件读入到矩阵中的方法
2018/04/27 Python
在Pycharm中修改文件默认打开方式的方法
2019/01/17 Python
使用Python OpenCV为CNN增加图像样本的实现
2019/06/10 Python
Python-Seaborn热图绘制的实现方法
2019/07/15 Python
Python文件操作方法详解
2020/02/09 Python
python实现将字符串中的数字提取出来然后求和
2020/04/02 Python
matplotlib相关系统目录获取方式小结
2021/02/03 Python
员工拾金不昧表扬信
2014/01/09 职场文书
《大作家的小老师》教学反思
2014/04/16 职场文书
单位工作证明格式模板
2014/10/04 职场文书
七年级上册语文教学计划
2015/01/22 职场文书
离婚协议书的范本
2015/01/27 职场文书
小学教师党员承诺书
2015/04/27 职场文书
驻村工作简报
2015/07/20 职场文书
《一面五星红旗》教学反思
2016/02/23 职场文书
大学生创业,为什么都会选择快餐饮?
2019/08/08 职场文书