i18n插件实现多语言支持,本文以中英文为例记录一下配置过程。

1.配置

1.1安装:npm install vue-i18n --save
1.2创建中英文配置项文件
src/lang目录下创建以下文件:
 
en.js  // 配置英文显示的内容
 export default {
'home': {
'route': 'Tour Route',
'report': 'Issue Report'
}
}

zh.js  // 配置中文显示的内容

 export default {
'home': {
'route': '游览路线',
'report': '问题上报'
}
}

1.3配置i18n

i18n.js  //这里面配置i18n插件

引入Vue, vue-i18n,导入中英文内容文件zh.js 和en.js

(项目使用了iview组件,所以有iview相关的文件引入)

 import Vue from 'vue'
import I18n from 'vue-i18n'
import zh from './zh'
import en from './en'
import iviewEn from 'iview/dist/locale/en-US'
import iviewZh from 'iview/dist/locale/zh-CN' Vue.use(I18n)
const messages = {
en: Object.assign(en, iviewEn),
zh: Object.assign(zh, iviewZh)
} function getLocal () {
let lang = 'en'
if (Vue.env && Vue.env.language) {
lang = Vue.env.language
}
return lang
} const i18n = new I18n({
locale: getLocal(),
messages
}) export default i18n
 
main.js中导入i18n,放入Vue的实例中,这样所有组件都可以使用了。
(  项目使用了iview组件,所以有如下配置
13 Vue.use(iView, {
14 i18n: (key, value) => i18n.t(key, value)
15 })
) 
 import Vue from 'vue'
import App from './App'
import router from './router'
import './assets/iconfont/iconfont.css'
import iView from 'iview'
import './assets/css/mapbox-gl-v0.54.0.css'
import './assets/iview-styles/iview.css'
import axios from 'axios'
import i18n from './lang/i18n' Vue.config.productionTip = false Vue.use(iView, {
i18n: (key, value) => i18n.t(key, value)
}) new Vue({
el: '#app',
router,
i18n,
components: {App},
template: '<App/>'
})

2.使用:

html中直接使用 $t("home.report") 即可获取zh.js或en.js中home对象的report属性

 <i-col span="11" >
<Button size="large" type="text" custom-icon="iconfont icon-shangbaowenti" @click="report">
{{$t("home.report")}}
</Button>
</i-col>

js中通过Vue实例的$t获取

 mounted () {
console.info(this.$t("home.report"))
}

切换语言时只需要改变$i18n.locale的值即可。

 switchLanguage () {
this.$i18n.locale = 'zh' // 'en'
}

使用vue-i18n插件做语言切换比较方便,记录一下,欢迎留言交流~

Vue多语言支持的更多相关文章

  1. 分享两种实现Winform程序的多语言支持的解决方案

    因公司业务需要,需要将原有的ERP系统加上支持繁体语言,但不能改变原有的编码方式,即:普通程序员感受不到编码有什么不同.经过我与几个同事的多番沟通,确定了以下两种方案: 方案一:在窗体基类中每次加载并 ...

  2. EnumHelper.cs枚举助手(枚举描述信息多语言支持)C#

    C#里面经常会用到枚举类型,枚举是值类型对象,如果你想用枚举类型的多属性特性,或者你想在MVC页面上通过简单的值类型转换,将某字段值所代表的含义转换为文字显示,这时候必须要将枚举扩展,是它支持文本描述 ...

  3. ios调用系统相册、相机 显示中文标题、本地化多语言支持

    因为调用系统相册.相机需要显示中文,所以搞了半天才知道是在Project->info->Custom ios Target Properties 添加 Localizations 并加入C ...

  4. (视频)《快速创建网站》 3.3 国际化高大上 - WordPress多语言支持

    本文是<快速创建网站>系列的第7篇,如果你还没有看过之前的内容,建议你点击以下目录中的章节先阅读其他内容再回到本文. 访问本系列目录,请点击:http://devopshub.cn/tag ...

  5. tp 多语言支持

    tp支持多语言 通过get来改变语言的 http://localhost/tp/index.php/Admin/User/add/hl/zh-cn http://localhost/tp/index. ...

  6. iOS-生成国际化包-配置App多语言支持

      标签: ios国际化 ios多语言支持 xcode多语言支持 xcode生成多语言 国际化 it 分类: 功能知识   如果你的App需要支持多国语言.那么,就应该为你的App应用添加“国际化”支 ...

  7. Zend Framework 入门(2)—多国语言支持

    如果你的项目想要支持多语言版本,那么就需要用到 Zend_Translate.Zend_Translate 的详细文档在这里,不过如果想偷懒的话,也很简单,在View Helpers 文档中介绍了如何 ...

  8. 【转】解析JDK 7的动态类型语言支持

    http://www.infoq.com/cn/articles/jdk-dynamically-typed-language Java虚拟机的字节码指令集的数量自从Sun公司的第一款Java虚拟机问 ...

  9. Windows Phone 8本地化多语言支持

    原文 Windows Phone 8本地化多语言支持 在WP8平台处理本地化多语言的支持还是比较容易的,大部分工作都有VS IDE处理,开发者只需简单操作,并翻译本地资源即可实现. 无论您目前的应用是 ...

随机推荐

  1. [转帖]Hive学习之路 (一)Hive初识

    Hive学习之路 (一)Hive初识 https://www.cnblogs.com/qingyunzong/p/8707885.html 讨论QQ:1586558083 目录 Hive 简介 什么是 ...

  2. sublime自动格式化方法

    Sublime 工具自带代码格式化的功能,但在某些场景下格式化代码后并不是我们想要的代码格式,且是点击保存ctrl+s才触发的格式代码事件,so,为关闭点击ctrl+s格式代码,我们需要改命令 sav ...

  3. 从ftp获取文件并生成压缩包

    依赖 <dependency> <groupId>commons-net</groupId> <artifactId>commons-net</a ...

  4. Spring AOP日志实现(一)

    前置通知:获取访问的类,访问的方法,带参数和不带参数的 日志表信息描述字段: 获取访问时长:

  5. Notepad++连接VMWare中Linux只能看到/root目录

    如下图,使用SFTP协议连接,用root用户登录后,我一开始只能看到root下的文件.稍作修改,把下面的“Initial remote directory”设置成“/”就可以看到根目录了.

  6. 在论坛中出现的比较难的sql问题:39(动态行转列 动态日期列问题)

    原文:在论坛中出现的比较难的sql问题:39(动态行转列 动态日期列问题) 最近,在论坛中,遇到了不少比较难的sql问题,虽然自己都能解决,但发现过几天后,就记不起来了,也忘记解决的方法了. 所以,觉 ...

  7. Jenkins 发邮件的Job

    Jenkins要做到构建失败的时候发送邮件,常规做法是加个全局的post failure,类似这样的代码 pipeline { agent any stages { stage('deploy') { ...

  8. Asp.netCore 的Startup 不继承接口

    有一个问题: Asp.netCore 的Startup 要实现 Config 和ConfigServie 方法, 为什么不接口约束呢. 进入源码: // // 摘要: // /// Specify t ...

  9. vue创建组件的几种方法

    <html> <head> <title>vue创建组件</title> <meta charset="utf-8"> ...

  10. BPM FlowPortal 开发环境及发布环境的配置

    开启开发模式 开发时应设置防缓存和调试信息输出. 开发后发布 开发完成后正式使用时,除了对以上各项做相反设置外,还需设置web.config中的JSVersion,使每个用户都能自动下载最新版的js文 ...