使用vue-i18n实现项目的国际化 以及iview的国际化
一:项目的国际化
1. 在src中新建一个language文件夹(包含index.js、US.js、CN.js)
(1)US.js 保存变量的英文,内容:
export default {
name: "I am english!!"
}
(2)CN.js 保存变量的中文,内容:
export default {
name: "我是中文!!"
}
(3)index.js vue-i18n配置,内容:
import Vue from 'vue';
import VueI18n from 'vue-i18n';
import US from './US';
import CN from './CN'
Vue.use(VueI18n);
const i18n = new VueI18n({
locale: 'zh',
messages: {
en: US,
zh: CN
}
});
export default i18n
2. 在main.js引入
import i18n from "./language"
new Vue({
el: '#app',
i18n,
template: '<App/>',
components: {
App
}
})
二:iview的国际化
将上面language文件夹下面的index.js添加相关内容,改成如下内容:
import Vue from 'vue';
import VueI18n from 'vue-i18n';
import US from './US';
import CN from './CN';
import iView from 'iview';
import en from 'iview/dist/locale/en-US';
import zh from 'iview/dist/locale/zh-CN';
Vue.use(VueI18n);
const i18n = new VueI18n({
locale: localStorage.getItem("locale") || 'zh',
messages: {
en: Object.assign(US, en), //将自己的英文包和iview提供的结合
zh: Object.assign(CN, zh) //将自己的中文包和iview提供的结合
}
});
Vue.use(iView, {
i18n: (key, value) => i18n.t(key, value)
})
export default i18n
我这是通过网络搜寻出来的方法,按照iview官网进行国际化配置并没有生效,不知为何,求大神指导~~~
三.测试
代码:
<template>
<div class="test">
<Button @click="toZh">切换成中文</Button>
<Button @click="toEn">切换成英文</Button>
<div>name名称:{{$t("name")}}</div>
<div>
iview页码组件:
<Page :total="10" show-total />
</div>
</div>
</template>
<script>
export default {
name: "Home",
methods: {
toZh() {
this.$i18n.locale = "zh";
},
toEn() {
this.$i18n.locale = "en";
}
}
}
</script>
效果:

使用vue-i18n实现项目的国际化 以及iview的国际化的更多相关文章
- Element + Vue I18n动态import加载国际化语言包翻译文件
需求 项目为多页应用,包含产品a.b.c.d.e,每个产品都有自己的翻译文件.一次加载所有翻译文件是极度不合理的.于是考虑动态加载. 实现 参考官方文档:延迟加载翻译 项目结构 │ ├── dist ...
- Vue实战Vue-cli项目构建(Vue+webpack系列之一)
用Vue比较长一段时间了,大大小小做了一些项目,最近想总结一下知识点,出一个Vue+webpack系列,先从项目构建说起--vue-cli. 由于是Vue+webpack这里就不赘述git那些东西,默 ...
- VUE学习笔记之vue cli 构建项目
一.环境搭建: 1.安装node.js 从node.js官网下载并安装node,安装过程很简单,一路"下一步"就可以了.安装完成之后,打开命令行工具(win+r,然后输入cmd), ...
- Vue常用开源项目汇总
前言:Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架.与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用.Vue 的核心库只关注视图层,不仅易于上手,还 ...
- Vue + WebApi 小项目:构造自己的在线 Markdown 笔记本应用
Vue + WebApi 小项目:构造自己的在线 Markdown 笔记本应用 目录 概要 知识点 完整示例图 代码与资源文件 流程步骤 概要 基于 MVP 最小可行性产品设计理念,我们先完成一个可以 ...
- VUE 安装及项目创建
Vue.js 安装cnpm npm install -g 镜像 cnpm --registry=https://registry.npm.taobao.org 安装 vue.js cnpm insta ...
- vue - 新建一个项目
首先: 要先安装node 及 npm Node.js官方安装包及源码下载地址:http://nodejs.org/ 双击安装,在安装界面一直Next 直到Finish完成安装. 打开控制命令行程序(C ...
- Vue脚手架搭建项目
全局安装vue脚手架 $ npm install -g vue-cli 卸载方法 $ npm uninstall -g vue-cli 查看vue版本(注意:大写的V) $ vue -V 创建项目 $ ...
- nginx代理部署Vue与React项目
nginx代理部署Vue与React项目 一,介绍与需求 1.1,介绍 Nginx (engine x) 是一个高性能的HTTP和反向代理服务,也是一个IMAP/POP3/SMTP服务.Nginx是由 ...
随机推荐
- java 虚方法。 后面new 那个类, 就调用哪个类的方法 ,而非定义类的方案。 关于父子 类的 呵呵
java 虚方法. 后面new 那个类, 就调用哪个类的方法 ,而非定义类的方案. 关于父子 类的 呵呵 在多态的情况下,声明为父类类型的引用变量只能调用父类中的方法,但如果此变量 ...
- Vagrant 手册之网络 - 私有网络 private network
原文地址 Vagrantfile 配置文件中私有网络的标识符:private_network,例如: config.vm.network "private_network", ty ...
- JS基础(下)
事件DOM Event 更多事件请查询h3c htmldom参考手册 event onclick() :当点击时 onfocus() :获得焦点时 :当点击某个区域时触发,如点击输入框 onblu ...
- Jenkins持续集成_02_添加python项目&设置定时任务
前言 自动化测试脚本编写后,最终目的都是持续集.持续集成可以实现一天多次部署运行自动化脚本,对功能进行不断监控测试.由于小编使用python编写的自动化脚本,这里仅讲解下如何在Jenkins中添加py ...
- poj1163The Triangle(动态规划,记忆化搜索)
7 3 8 8 1 0 2 7 4 4 4 5 2 6 5 (Figure 1) Figure 1 shows a number triangle. Write a program that calc ...
- JavaScript.import
// --file.js-- function getJSON(url, callback) { let xhr = new XMLHttpRequest(); xhr.onload = fu ...
- CentOS安装Prolog和Erlang语言
安装Erlang比较简单 下载Erlang的压缩包 输入tar -zxvf 压缩包 解压 进入解压的目录下 输入./configure 在./configure执行完成后,输入make 然后输入mak ...
- UML类图及类之间关系
1.UML基本介绍 UML:统一建模语言,是一种用于软件系统分析和设计的语言工具 2.UML图 UML图分类: 用例图 静态结构图:类图,对象图,包图,组件图,部署图 动态行为图:交互图,状态图,活动 ...
- Linux下查看日志文件
问题一:日志文件打开,卡死 在公司开发的时候,开发的程序在本地测试正常,但是在测试环境却有问题.这个时候第一反应就是查看日志文件,看看日志文件里面有什么错误信息.我潇洒的执行了一下 vim log.t ...
- 针对三星Exynos CPU Root漏洞
因为系统为了保护这些符号地址泄露,而用的一种保护手段,从而使除root用户外的普通用户不能直接查看符号地址: 原因在于内核文件kallsyms.c中的显示符号地址命令中做了如下限制: seq_prin ...