一、准备工作

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. Python基础—内置函数(Day14)

    一.内置函数 1.***eval:执行字符串类型的代码,并返回最终结果(去掉括号里面是什么就返回什么). print(eval('3+4')) #7 ret = eval('{"name&q ...

  2. JS的一些对象

    JS是基于对象的语言.当然此时都说是面向对象的语言. 类:模板,原型对象    对象:具体的实例 原型对象: var user = { name:"xiaoxiao", age:5 ...

  3. Android SugarORM(1)

    Android Sugar ORM (1) Android Sugar ORM比我之前用过的ORM都要简单许多, 其目的是简化与Android中SQLite数据库的交互, 优点如下: 消除了编写SQL ...

  4. windows server 2016 2019修改远程端口操作

    一.修改3389远程端口 1,按"win+r"快捷键,在对话框中输入regedit 2, 找到路径 \HKEY_LOCAL_MACHINE\SYSTEM\CurrentContro ...

  5. 传输层 lcx实现本地端口映射&&内网代理

    如果目标服务器由于防火墙的限制,部分端口(例如3389)的数据无法通过防火墙,可以将目标服务器相应端口的数据透传到防火墙允许的端口(例如53),在目标主机上执行如下命令,就可以直接从远程桌面连接目标主 ...

  6. .net core多环境发布部署

    1.新建的asp.net core项目默认会有appsettings.json和appsettings.Development.json, 新建一个生产环境appsettings.Production ...

  7. Shell编程四剑客包括:find、sed、grep、awk

    一.Shell编程四剑客之Find Find工具主要用于操作系统文件.目录的查找,其语法参数格式为: find path -option [ -print ] [ -exec -ok command ...

  8. JZ-037-数字在排序数组中出现的次数

    数字在排序数组中出现的次数 题目描述 统计一个数字在升序数组中出现的次数. 题目链接: 数字在排序数组中出现的次数 代码 /** * 标题:数字在排序数组中出现的次数 * 题目描述 * 统计一个数字在 ...

  9. Flume介绍安装使用

    APache Flume官网:http://flume.apache.org/releases/content/1.9.0/FlumeUserGuide.html#memory-channel 目录 ...

  10. HTML的表格标签,列表标签,表单标签,HTML5有哪些新特性

    欢迎大家去博客冰山一树Sankey,浏览效果更好.直接右上角搜索该标题即可 博客园主页:博客园主页-冰山一树Sankey CSDN主页:CSDN主页-冰山一树Sankey 前端学习:学习地址:黑马程序 ...