(一)添加依赖模块

  在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实现国际化的更多相关文章

  1. Vue(十八)Element UI

    Elment UI 1. 简介 Element UI是饿了么团队提供的一套基于Vue2.0的组件库,可以快速搭建网站,提高开发效率 ElementUI PC端 MintUI 移动端 [官网](http ...

  2. Vue 基于node npm & vue-cli & element UI创建vue单页应用

    基于node npm & vue-cli & element UI创建vue单页应用 开发环境   Win 10   node-v10.15.3-x64.msi 下载地址: https ...

  3. vue Cli 按需引入Element UI 和全局引用Element UI

    全局引用: 一.安装 Element UI npm i element-ui -S 二.在main.js 中引入 element UI import ElementUI from 'element-u ...

  4. 在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 ...

  5. .Net Core,VUE,VS Code,Sql Sugar,Element UI学习笔记

    1..Net Core的目的是跨平台,并主要目标是作为服务端开发使用.从3.0开始,引入了Winfrom和WPF. 2..Net Core可以引用.Net Framework生成的dll和exe,不限 ...

  6. Vue中vue.config的配置

    vue-cli 3.x 脚手架搭建完成后,项目目录中没有 vue.config.js 文件,需要手动在根目录中创建 vue.config.js. vue.config.js 是一个可选的配置文件,如果 ...

  7. vue中 Vue.set 的使用

    Vue.set(vm.items, indexOfItem, newValue) 1.vm.items :源数据:2.indexOfItem : 要修改的数据的键3.newValue : 要修改的数据 ...

  8. vue中的swiper element ui

    欢迎加入前端交流群交流知识&&获取视频资料:749539640 很多同学问,怎么把swiper引入到vue的脚手架里去,之前的一篇博客有提到怎么引入,但是后来感觉不怎么好,还是用一些v ...

  9. vue.js+element ui Table+spring boot增删改查

    小白初学,不懂的还是太多了,找了好多资料才做出来的先记录一下 1.先用Spring boot创建一个包含了增删改查的项目 2.创建vue.js项目 3.安装Element UI (1)进入项目文件夹下 ...

  10. Element UI样式无法修改解决方法。

    最近在做的项目中要用到Element UI组件来写,非常方便,但毕竟Element UI是有它自己的默认样式的,并不是客户所要求的,但就在我想要修改样式时遇到了棘手的问题. 如何引入和使用 Eleme ...

随机推荐

  1. Android 开启与关闭软键盘

    http://www.cnblogs.com/weixing/p/3300908.html InputMethodManager imm = (InputMethodManager)getSystem ...

  2. js笔记(1)--第一天记录

    刚刚接触JavaScript这门语言不久,所以希望每一次都记一点东西下来,巩固下知识. 首先,写了一个demo,是来计算两个数字的和的,如果直接把 v1=text1.value,和 v2=text2. ...

  3. 命令拼接符 || && 区别

    &&   前面的命令执行成功,执行拼接符后面的命令. ||      前面的命令执行失败,执行拼接符后面的命令. 举例: (1)whoami && net user 真 ...

  4. 线索二叉树C++实现

    #include<iostream> #include<stdlib.h> #define maxsize 100 using namespace std; typedef s ...

  5. Java:枚举类也就这么回事

    目录 一.前言 二.源自一道面试题 三.枚举的由来 四.枚举的定义形式 五.Enum类里有啥? 1.唯一的构造器 2.重要的方法们 3.凭空出现的values()方法 六.反编译枚举类 七.枚举类实现 ...

  6. pytorch之 Variable

    import torch from torch.autograd import Variable # Variable in torch is to build a computational gra ...

  7. STM32F4相关

    常用术语 AHB与APB的地位相当于PC中的南北桥,是两道独立的片内总线.AHB:advanced high-performance bus:APB: advanced peripherals bus

  8. Django (二) 常用字段及 ORM

    MVC介绍 Django生命周期 many-to-many One-to-many Django常用字段 CharFiled 需要有max_length unique=True(代表不能重名) Ema ...

  9. CentOS7.3下yum安装MariaDB10.3.12并指定utf8字符集

    添加MariaDB的yum源,指定安装的版本,然后使用 yum 工具进行安装 参考MariaDB官方网站对应安装方法和步骤 https://downloads.mariadb.org/mariadb/ ...

  10. ES6学习笔记(二):教你玩转类的继承和类的对象

    继承 程序中的继承: 子类可以继承父类的一些属性和方法 class Father { //父类 constructor () { } money () { console.log(100) } } c ...