Vue中vue-i18n结合element-ui实现国际化
(一)添加依赖模块
在package.json文件中添加vant模块的依赖,如:
// package.json {
"dependencies": {
"element-ui": "^2.12.0"
}
}
(二)配置语言资源文件
- 目录结构
- index.js文件内容
import Vue from 'vue'
import VueI18n from 'vue-i18n'
import elementEnLocale from 'element-ui/lib/locale/lang/en'
import elementZhLocale from 'element-ui/lib/locale/lang/zh-CN'
import enLocale from './en_us'
import zhLocale from './zh_cn' Vue.use(VueI18n) const localMessages = {
en: {
...enLocale,
...elementEnLocale // 将enLocale和elementEnLocale两个JSON格式的内容合并成一个JSON格式的内容
},
zh: {
...zhLocale,
...elementZhLocale // 将zhLocal和elementZhLocale两个JSON格式的内容合并成一个JSON格式的内容
}
}
const i18n = new VueI18n({
locale: 'zh', // 提供默认语言
messages: localMessages
}) export {i18n}
- en_us.js和zh_cn.js文件内容示例
// en_us.js
export default {
app: {
hello: 'Hello World!',
}
} // zh_cn.js
export default {
app: {
hello: '你好,世界!',
}
}
(三)初始化国际化
// main.js文件
import Vue from 'vue'
import ElementUI from 'element-ui'
import {i18n} from './lang' // 路径要视代码目录结构,看lang文件夹和main.js文件的层次 Vue.use(i18n) // 调用国际化初始函数
initLocalLang() function initLocalLang () {
// element-ui组件国际化
Vue.use(ElementUI, {
i18n: (key, value) => i18n.t(key, value)
})
}
(四)使用国际化
- 在Vue文件中的使用
(1)template标签中的使用
<template>
<!-- 可以用this.$t,也可以直接使用$t-->
<el-butto>{{$t('app.hello')}}</el-butto>
<el-butto v-text="$t('app.hello')"></el-butto>
</template>
(2)script标签中的使用
<script>
data() {
return {
helloTip: this.$t('app.hello')
}
}
</script>
- 在JS文件中的使用
// JS文件 import {i18n} from '@/lang' let helloTip = i18n.messages[i18n.locale].app.hello
(五)element-ui组件库国际化
以上的国际化处理是支持网页中自身开发的多语言,那要是更改element-ui组件库的国际化,又如何处理呢?其实也很简单,在原有的基础上动态更改locale值即可,可以参考如下示例:
import { i18n } from '@/lang' function changeLang(currentLang) {
if ('zh' === currentLang) {
i18n.locale = 'en'
} else {
i18n.locale = 'zh'
}
}
上述代码,可以动态切换element-ui组件库的国际化过程。
Vue中vue-i18n结合element-ui实现国际化的更多相关文章
- Vue(十八)Element UI
Elment UI 1. 简介 Element UI是饿了么团队提供的一套基于Vue2.0的组件库,可以快速搭建网站,提高开发效率 ElementUI PC端 MintUI 移动端 [官网](http ...
- Vue 基于node npm & vue-cli & element UI创建vue单页应用
基于node npm & vue-cli & element UI创建vue单页应用 开发环境 Win 10 node-v10.15.3-x64.msi 下载地址: https ...
- vue Cli 按需引入Element UI 和全局引用Element UI
全局引用: 一.安装 Element UI npm i element-ui -S 二.在main.js 中引入 element UI import ElementUI from 'element-u ...
- 在Vue中使用i18n 国际化遇到 Uncaught TypeError: Cannot assign to read only property 'exports' of object '#<Object>'
最近用Vue在搭建前端框架,在引用i18n时,运行的时候报错:Uncaught TypeError: Cannot assign to read only property 'exports' of ...
- .Net Core,VUE,VS Code,Sql Sugar,Element UI学习笔记
1..Net Core的目的是跨平台,并主要目标是作为服务端开发使用.从3.0开始,引入了Winfrom和WPF. 2..Net Core可以引用.Net Framework生成的dll和exe,不限 ...
- Vue中vue.config的配置
vue-cli 3.x 脚手架搭建完成后,项目目录中没有 vue.config.js 文件,需要手动在根目录中创建 vue.config.js. vue.config.js 是一个可选的配置文件,如果 ...
- vue中 Vue.set 的使用
Vue.set(vm.items, indexOfItem, newValue) 1.vm.items :源数据:2.indexOfItem : 要修改的数据的键3.newValue : 要修改的数据 ...
- vue中的swiper element ui
欢迎加入前端交流群交流知识&&获取视频资料:749539640 很多同学问,怎么把swiper引入到vue的脚手架里去,之前的一篇博客有提到怎么引入,但是后来感觉不怎么好,还是用一些v ...
- vue.js+element ui Table+spring boot增删改查
小白初学,不懂的还是太多了,找了好多资料才做出来的先记录一下 1.先用Spring boot创建一个包含了增删改查的项目 2.创建vue.js项目 3.安装Element UI (1)进入项目文件夹下 ...
- Element UI样式无法修改解决方法。
最近在做的项目中要用到Element UI组件来写,非常方便,但毕竟Element UI是有它自己的默认样式的,并不是客户所要求的,但就在我想要修改样式时遇到了棘手的问题. 如何引入和使用 Eleme ...
随机推荐
- 链表基本操作与排序(c语言)
本设计程序用C编写,完成单链表的生成,任意位置的插入.删除,以及确定某一元素在单链表中的位置.实现三种排序算法-冒泡排序.快速排序.合并排序.产生四个长度为100,1000,10000,50000的随 ...
- Codeforces_723_D
http://codeforces.com/problemset/problem/723/D dfs找出每个湖,保存坐标和大小,按大小排序,填充湖即可,注意湖的数量最多会有1250个. #includ ...
- android项目上传github
很简单
- 关于线段树的感悟(Segment Tree)
线段树的感悟 : 学过的东西一定要多回头看看,不然真的会忘个干干净净. 线段树的 Introduction : English Name : Segment Tree 顾名思义 : 该数据结构由两个重 ...
- 安装MinGW出现 mingw-get: *** ERROR *** Get package:
个人的解决方法: 1.手机开个热点让电脑连上. 2.在Setting里面讲proxy关闭.
- html标签学习入门 随笔
Html学习入门 随笔1: HTML 标题 HTML 标题(Heading)是通过 <h1> - <h6> 等标签进行定义的. 标题仅用于标题文本 不应该被使用在加粗字 ...
- Python LEGB (Local, Enclosing, Global, Build in) 规则
Local 一个函数定义了一个 local 作用域; PyFrameObject 中的 f_local 属性 Global 一个 module 定义了一个 global 作用域; PyFrameObj ...
- javascript 完全正确的数据库indexedDB
//indexedDB var dbName = 'whx', version = '1', dbTableName = 'bbg', request, db, conCls, updateKey, ...
- Pyinstaller 打包程序为可执行文件exe
Pyiinstaller打包 pyinstaller是python的一个第三方模块,使用它可以将pythnon程序打包为可执行文件,实现打包后的程序在没有python环境的机器上也可以运行.pyins ...
- light oj1170 - Counting Perfect BST卡特兰数
1170 - Counting Perfect BST BST is the acronym for Binary Search Tree. A BST is a tree data structur ...