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 类型转换方法
Oct 24 Javascript
javascript:;与javascript:void(0)使用介绍
Jun 05 Javascript
基于jQuery实现最基本的淡入淡出效果实例
Feb 02 Javascript
javascript实现淡蓝色的鼠标拖动选择框实例
May 09 Javascript
js与applet相互调用的方法
Jun 22 Javascript
纯JS代码实现隔行变色鼠标移入高亮
Nov 23 Javascript
JS实现焦点图轮播效果的方法详解
Dec 19 Javascript
正则验证小数点后面只能有两位数的方法
Feb 28 Javascript
react 组件传值的三种方法
Jun 03 Javascript
Node.js使用MongoDB的ObjectId作为查询条件的方法
Sep 10 Javascript
vue v-for直接循环数字实例
Nov 07 Javascript
VUE前端从后台请求过来的数据进行转换数据结构操作
Nov 11 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
PHP+DBM的同学录程序(2)
2006/10/09 PHP
php字符串函数学习之strstr()
2015/03/27 PHP
PHP框架性能测试报告
2016/05/08 PHP
php自动载入类用法实例分析
2016/06/24 PHP
ThinkPHP Where 条件中常用表达式示例(详解)
2017/03/31 PHP
php+redis实现商城秒杀功能
2020/11/19 PHP
JavaScript 模拟用户单击事件
2009/12/31 Javascript
图片onload事件触发问题解决方法
2011/07/31 Javascript
js实现在文本框光标处添加字符的方法介绍
2012/11/24 Javascript
DOM基础教程之事件类型
2015/01/20 Javascript
Angularjs中如何使用filterFilter函数过滤
2016/02/06 Javascript
angular2中router路由跳转navigate的使用与刷新页面问题详解
2017/05/07 Javascript
JavaScript用二分法查找数据的实例代码
2017/06/17 Javascript
angular select 默认值设置方法
2017/06/23 Javascript
JS实现的集合去重,交集,并集,差集功能示例
2018/03/13 Javascript
jQuery实现监听下拉框选中内容发生改变操作示例
2018/07/13 jQuery
AngularJS 监听变量变化的实现方法
2018/10/09 Javascript
在vue中使用express-mock搭建mock服务的方法
2018/11/07 Javascript
详解使用uni-app开发微信小程序之登录模块
2019/05/09 Javascript
解决idea开发遇到javascript动态添加html元素时中文乱码的问题
2020/09/29 Javascript
antd form表单数据回显操作
2020/11/02 Javascript
[33:39]DOTA2上海特级锦标赛C组小组赛#2 LGD VS Newbee第二局
2016/02/27 DOTA
Python切换pip安装源的方法详解
2016/11/18 Python
python数据预处理之将类别数据转换为数值的方法
2017/07/05 Python
python批量实现Word文件转换为PDF文件
2018/03/15 Python
Flask-Mail用法实例分析
2018/07/21 Python
解决yum对python依赖版本问题
2019/07/05 Python
Selenium之模拟登录铁路12306的示例代码
2020/07/31 Python
Html5内唤醒百度、高德APP的实现示例
2019/05/20 HTML / CSS
德国BA保镖药房中文网:Bodyguard Apotheke
2021/03/09 全球购物
医院护士专业个人的求职信
2013/12/09 职场文书
合作意向书范本
2014/03/31 职场文书
检查机关领导群众路线教育实践活动个人整改措施
2014/10/28 职场文书
2016教师党员学习心得体会
2016/01/21 职场文书
《莫泊桑拜师》教学反思
2016/02/22 职场文书
《家》读后感:万惜拯救,冷暖自知
2019/09/25 职场文书