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的创建多行字符串的7种方法
Apr 29 Javascript
prototype.js常用函数详解
Jun 18 Javascript
jQuery插件Validation快速完成表单验证的方式
Jul 28 Javascript
jQuery使用animate实现ul列表项相互飘动效果示例
Sep 16 Javascript
浅谈jQuery双事件多重加载的问题
Oct 05 Javascript
Vue中的v-cloak使用解读
Mar 27 Javascript
bootstrap3使用bootstrap datetimepicker日期插件
May 24 Javascript
Vue2路由动画效果的实现代码
Jul 10 Javascript
关于vue编译版本引入的问题的解决
Sep 17 Javascript
jsonp格式前端发送和后台接受写法的代码详解
Nov 07 Javascript
JS PHP字符串截取函数实现原理解析
Aug 29 Javascript
vue中watch的用法汇总
Dec 28 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
深入php 正则表达式的学习探讨
2013/06/06 PHP
PHP图片裁剪函数(保持图像不变形)
2014/05/04 PHP
WordPress后台中实现图片上传功能的实例讲解
2016/01/11 PHP
PHP Cookie学习笔记
2016/08/23 PHP
jQuery-ui中自动完成实现方法
2010/06/10 Javascript
js下通过getList函数实现分页效果的代码
2010/09/17 Javascript
XMLHTTPRequest的属性和方法简介
2010/11/23 Javascript
javascript获得服务器端控件的ID的实现代码
2011/12/28 Javascript
限制textbox或textarea输入字符长度的JS代码
2013/10/16 Javascript
JS获取及设置TextArea或input文本框选择文本位置的方法
2015/03/24 Javascript
jQuery选择器用法实例详解
2015/12/17 Javascript
jQuery原理系列-常用Dom操作详解
2016/06/07 Javascript
jquery利用json实现页面之间传值的实例解析
2016/12/12 Javascript
微信小程序 空白页重定向解决办法
2017/06/27 Javascript
jQuery图片缩放插件smartZoom使用实例详解
2017/08/25 jQuery
vue移动端下拉刷新和上拉加载的实现代码
2018/09/08 Javascript
小程序云开发之用户注册登录
2019/05/18 Javascript
[38:23]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第一场
2014/05/24 DOTA
Python中用format函数格式化字符串的用法
2015/04/08 Python
python魔法方法-属性访问控制详解
2016/07/25 Python
python构建自定义回调函数详解
2017/06/20 Python
django使用html模板减少代码代码解析
2017/12/12 Python
与Django结合利用模型对上传图片预测的实例详解
2019/08/07 Python
Python基于pygame实现单机版五子棋对战
2019/12/26 Python
Django框架静态文件处理、中间件、上传文件操作实例详解
2020/02/29 Python
Sunglasses Shop丹麦:欧洲第一的太阳镜在线销售网站
2017/10/22 全球购物
HTC VIVE美国官网:VR虚拟现实眼镜
2018/02/13 全球购物
澳大利亚首屈一指的鞋类品牌:Tony Bianco
2018/03/13 全球购物
测试工程师职业规划书
2014/02/06 职场文书
4s店市场专员岗位职责
2014/04/09 职场文书
经销商年会策划方案
2014/05/29 职场文书
在校大学生自我评价范文
2014/09/12 职场文书
毕业典礼主持词
2015/06/29 职场文书
培训计划通知
2015/07/15 职场文书
详细了解java监听器和过滤器
2021/07/09 Java/Android
yyds什么意思?90后已经听不懂00后讲话了……
2022/02/03 杂记