一、准备工作

1、vue-i18n

1.仓库地址

2.兼容性:支持 Vue.js 2.x 以上版本

1-1.安装依赖vue-i18n

(c)npm install vue-i18n

1-2.使用

在 main.js 中引入 vue-i18n

import Vue from "vue";
import VueI18n from 'vue-i18n'
Vue.use(VueI18n)

2、准备本地翻译信息

2-1、element ui的国际化

import enLocale from 'element-ui/lib/locale/lang/en'

import zhLocale from 'element-ui/lib/locale/lang/zh-CN'

2-2、zh.js(将我们项目中的语言包与Element的语言包进行合并)

// 注意:一定是 exports,不是 export,否则会报错,报错信息是下列的中的内容不是 string
import zhLocale from 'element-ui/lib/locale/lang/zh-CN'
export default {
message: {
title: '运动品牌'
},
placeholder: {
enter: '请输入您喜欢的品牌'
},
brands: {
nike: '耐克',
adi: '阿迪达斯',
nb: '新百伦',
ln: '李宁'
},
...zhLocale
}

2-3、en.js(将我们项目中的语言包与Element的语言包进行合并)

import enLocale from 'element-ui/lib/locale/lang/en'
export default{
message: {
title: 'Sport Brands'
},
placeholder: {
enter: 'Please type in your favorite brand'
},
brands: {
nike: 'Nike',
adi: 'Adidas',
nb: 'New Banlance',
ln: 'LI Ning'
}
  ...enLocale
}

2-4、创建带有选项的VueI18n 实例

const i18n = new VueI18n({
locale: 'en', // set locale
messages: {
zh: i18n_zh,
en: i18n_en,
}, // set locale messages
})

2-5、把 i18n 挂载到 vue 根实例上

const app = new Vue({
router,
i18n,
...App
}).$mount('#app')

二、总结版

import Vue from 'vue'
import App from "./App.vue";
import VueI18n from 'vue-i18n'
import ElementLocale from 'element-ui/lib/locale'
import i18n_zh from "./i18n/zh";
import i18n_en from "./i18n/len";
Vue.use(VueI18n)
const i18n = new VueI18n({
locale: 'en', // set locale
messages: {
zh: i18n_zh,
en: i18n_en,
}, // set locale messages
}) ElementLocale.i18n((key, value) => i18n.t(key, value))
const app = new Vue({
router,
i18n,
...App
}).$mount('#app')

三、实战

1、在html中使用

<div id="app">
<div style="margin: 20px;">
<h1>{{$t("message.title")}}</h1>
<input style="width: 300px;" class="form-control" :placeholder="$t('placeholder.enter')">
<ul>
<li v-for="brand in brands">{{brand}}</li>
</ul>
</div>
</div>

2、在js 中使用

data () {
return {
brands: [this.$t('brands.nike'), this.$t('brands.adi'), this.$t('brands.nb'), this.$t('brands.ln')]
}
},

四、中英文切换

// js方法
changeLocale () {
this.$confirm(this.$t('layer.toggle'), this.$t('layer.tips'), {
confirmButtonText: this.$t('button.ok'),
cancelButtonText: this.$t('button.cancel'),
type: 'warning'
}).then(() => {
let locale = this.$i18n.locale
locale === 'zh' ? this.$i18n.locale = 'en' : this.$i18n.locale = 'zh'
}).catch(() => {
this.$message({
type: 'info',
})
})
},

相关资料

【vue】中英文切换(使用 vue-i18n )的更多相关文章

  1. vue elementui 切换语言

    1.安装插件:npm install vue-i18n  --save 2.src下新建i18n文件夹, i18n文件夹下创建langs文件夹和i18n.js文件 langs文件夹下创建cn.js; ...

  2. Vue 路由切换时页面内容刷新页面并更新数据

    第二次进入页面,页面路由参数已经改变,但是页面内容不会刷新 <keep-alive>是Vue的内置组件,能在组件切换过程中将状态保留在内存中,防止重复渲染DOM <keep-aliv ...

  3. vue动态切换组件

    <!DOCTYPE html><html> <head> <meta charset="utf-8"> <title>& ...

  4. 使用vue-i18n实现中英文切换(内含动态属性的绑定)

    最近做学生管理系统,因为有国外的学生,所以要进行中英文切换,查了查Vue中使用vue-i18n插件能够实现网页的中英文切换,学习内容如下: 一.下载vue-i18n插件 npm install vue ...

  5. vue 快速入门 系列 —— vue loader 扩展

    其他章节请看: vue 快速入门 系列 vue loader 扩展 在vue loader一文中,我们学会了从零搭建一个简单的,用于单文件组件开发的脚手架.本篇将在此基础上继续引入一些常用的库:vue ...

  6. SpringMVC 国际化-中英文切换

    项目结构 1.pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http: ...

  7. 前端笔记之Vue(一)初识SPA和Vue&webpack配置和vue安装&指令

    一.单页面应用(SPA) 1.1 C/S到B/S页面架构的转变 C/S:客户端/服务器(Client/Server)架构的软件. C/S 软件的特点: ① 从window桌面双击打开 ② 更新的时候会 ...

  8. vue 组件开发、vue自动化工具、axios使用与router的使用(3)

    一. 组件化开发 1.1 组件[component] 在网页中实现一个功能,需要使用html定义功能的内容结构,使用css声明功能的外观样式,还要使用js定义功能的特效,因此就产生了一个功能先关的代码 ...

  9. xadmin在Django 1.11中的使用及中英文切换

    版权声明:本文为博主原创文章,欢迎转载,并请注明出处.联系方式:460356155@qq.com xadmin是一个强大的替代django admin的管理后台,github地址为:https://g ...

随机推荐

  1. CentOS7 下 ldap 部署

    环境准备 # 关闭防火墙以及selinux,生产环境中,以实际需求为准 [root@localhost ~]# hostnamectl --static set-hostname ldap-serve ...

  2. 如何强制关闭Win10自动更新

    今天我向往常一样打开了电脑,在工作时突然感觉CPU风扇嗡嗡的响电脑开始变得极慢内存也开始上涨,我意识到不妙了,Windows10 又开始在后台给我搞事情了,由于我的电脑安装有开机还原功能,所以每次开机 ...

  3. CPU、进程、线程原理

    巨人的肩膀 看完这篇还不懂高并发中的线程与线程池你来打我 (qq.com)

  4. IDEA maven项目中引入ojdbc依赖报红色波浪线问题的解决办法

    1.pom.xml配置文件中删除ojdbc的依赖配置后更新maven项目,然后再到本地仓库中将ojdbc这个文件夹删除 2.在网上下载ojdbc14.jar,然后改名为ojdbc14-10.2.0.2 ...

  5. windows下安装skywalking8.6.0(用于本地开发调试代码)

    安装jdk https://www.cnblogs.com/uncleyong/p/10732951.html 下载.安装.配置skywalking 下载 地址:https://skywalking. ...

  6. Another app is currently holding the yum lock解决方法

    用yum安装包有时候会提示 ``` Another app is currently holding the yum lock; waiting for it to exit...   The oth ...

  7. [编译器]dev c++单步调试

    一.dev c++调试崩溃的解决方案 1.点击"工具 -> 编译选项". 2.选择"编译器"选项卡,勾选"编译时加入以下命令",输入& ...

  8. go面试集锦1

    目录 1.go优缺点 2.go中常量是怎么实现 3.go的值传递和引用 4.go struct能不能比较 5.go协程线程安全吗 6.go中关键字 7.make和new区别 8.defer 9.生产者 ...

  9. Win10系统下关闭管理员运行确认弹窗

    Windows10及以上系统对于安全的考虑,对于程序运行时的权限做了控制.    点击后,会弹出确认的弹窗. 像我做测试,或者使用cmd经常需要administrator 权限,一直弹弹弹就很烦. 要 ...

  10. 【C# Task】理解Task中的ConfigureAwait配置同步上下文

    原文:https://devblogs.microsoft.com/dotnet/configureawait-faq/ 作者:Stephen 翻译:xiaoxiaotank 静下心来,你一定会有收获 ...