1.npm安装方法

npm install vue-i18n --save

2.在src资源文件下创建文件夹i18n,i18n下面创建index.js文件,引入VueI18n和导入语言包(按开发需求可添加多种语言)

具体代码:

import Vue from 'vue'
import VueI18n from 'vue-i18n' Vue.use(VueI18n) // 注册i18n实例并引入语言文件
const i18n = new VueI18n({
locale: 'zh_cn',
messages: {
'zh_cn': require('@/assets/languages/zh_cn.json'),
'en_us': require('@/assets/languages/en_us.json')
}
}) export default i18n

3.在mian.js文件中:

import i18n from './i18n';

new Vue({
el: '#app',
i18n,
router,
store,
components: { App },
template: '<App/>'
})

4.接在assets文件下新建languages包:

语言JSON包:

//zh_cn.json
{
"SYS": {
"confirmButtonText": "确认",
"cancelButtonText": "取消"
},
"user": {
"title": "个人中心",
"Exit": "退出系统",
"Processing": "代办工作",
"initiated": "我发起的",
"transferring": "办结工作",
"phoneService": "电话客服",
"Accounts": "账号中心",
"modifyPassword": "修改密码",
"Language": "切换中英文",
"about": "关于",
"confirmExit": "确定退出?",
"confirmChangeLanguage": "是否切换语言?",
"ScExit": "退出成功",
"loadingtext": "退出账号中..."
}
}
//en_us.json
{
"SYS": {
"confirmButtonText": "Comfirm",
"cancelButtonText": "Cancel"
},
"user": {
"title": "Personal center",
"Exit": "Exit system",
"Processing": "to-do list",
"initiated": "I initiated",
"transferring": "transferring work",
"phoneService": "Telephone customer service",
"Accounts": "Account center",
"modifyPassword": "change Password",
"Language": "CH/EN",
"about": "about",
"confirmExit":"Confirm Exit ?",
"confirmChangeLanguage":"Whether to switch languages",
"ScExit":"exit successfully",
"loadingtext":"Exiting..."
}
}

5.组件使用(语言切换)

        <van-cell
icon="setting-o"
@click="changeLanguage"
:title="$t('user.Language')"
:value="Languagevalue"
is-link
/>

展示语言切换弹窗:(注意一定要使用$t())

    //选择语言
changeLanguage() {
this.$dialog
.confirm({
message: this.$t("user.confirmChangeLanguage"),
confirmButtonText: this.$t("SYS.confirmButtonText"),
cancelButtonText: this.$t("SYS.cancelButtonText")
})
.then(() => {
this.Language = !this.Language;
if (this.Language == false) {
this.CHLanguage("zh_cn");
this.Languagevalue = "English";
} else {
this.CHLanguage("en_us");
this.Languagevalue = "Chinese";
}
});
},
// 语言切换
CHLanguage(lang) {
lang === "" ? "zh_cn" : lang;
this.$i18n.locale = lang;
},

效果:

在Vue中加入国际化(i18n)中英文功能的更多相关文章

  1. vue中axios 配置请求拦截功能 及请求方式如何封装

    main.js 中: import axios from '................/axios' axios.js 中: //axios.js import Vue from 'vue' i ...

  2. 019——VUE中v-for与computer结合功能实例讲解

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

  3. vue中element 的上传功能

    element 的上传功能 最近有个需求,需要在上传文件前,可以进行弹窗控制是否上传upload 看完文档后,感觉有两种思路可以实现 基于before-upload :上传文件之前的钩子,参数为上传的 ...

  4. vue中实现国际化--语言切换(转载)

    https://segmentfault.com/a/1190000011800593

  5. VUE中使用canvas做签名功能,兼容IE

    <template>         <div>           <div class="msgInput">             &l ...

  6. 在vue中实现锚点定位功能

    场景如下: 今天早上看到需求方新提的一个需求,这是一份网上答卷,点击题数要实现滚动到对应题目的位置: 注意点:每题题目的高度是不受控制的,你可以取到想跳转的index:(我再循环题目时做了index+ ...

  7. VueJS 使用i18n做国际化切换中英文

    1.安装 npm install vue-i18n --save 2.创建存放语言包和i18n入口文件 a.在src下创建i18n目录 b.在src/i18n/创建i18n.js  (入口) c.在s ...

  8. vue-i18n vue-cli项目中实现国际化 多语言切换功能 一

    vue-cli项目中引入vue-i18n 安装: npm install vue-i18n可参考vue-i18n官网文档 main.js中引入: import Vue from 'vue' impor ...

  9. vue中使用vue-i18n 一个简单的国际化操作

    1.安装:npm install vue-i18n --save-dev 2.在main.js文件中引入: import VueI18n from 'vue-i18n' Vue.use(VueI18n ...

随机推荐

  1. springboot之Redis

    1.springboot之Redis配置 在学习springboot配置Redis之前先了解Redis. 1.了解Redis Redis简介: redis是一个key-value存储系统.和Memca ...

  2. python读取文件行数和某行内容

    学习记录: python计算文件的行数和读取某一行内容的实现方法 - nkwy2012 - 博客园https://www.cnblogs.com/nkwy2012/p/6023710.html 文本文 ...

  3. (转)DMA(Direct Memory Access)

    DMA(Direct Memory Access) DMA(Direct Memory Access)即直接存储器存取,是一种快速传送数据的机制. 工作原理 DMA是指外部设备不通过CPU而直接与系统 ...

  4. O(1) gcd 板子

    const int N = 2e5+10; const int M = 500; int cnt, p[N], _gcd[M][M]; int v[N][3],vis[N]; int gcd(int ...

  5. ionic开发遇到的问题总结

    前言 ionic是一个用来开发混合手机应用的,开源的,免费的代码库.可以优化html.css和js的性能,构建高效的应用程序,而且还可以用于构建Sass和AngularJS的优化.ionic会是一个可 ...

  6. DevExtreme学习笔记(一) DataGrid中js分析

    1.overviewjs采用 $(function() { $("#gridContainer").dxDataGrid({ dataSource: { store: { type ...

  7. elasticsearch 开机自启

    linux下开机自启: 在/etc/init.d目录下新建文件elasticsearch 并敲入shell脚本: #!/bin/sh #chkconfig: #description: elastic ...

  8. CTR预估-GBDT与LR实现

    1.来源 本质上 GBDT+LR 是一种具有 stacking 思想的二分类器模型,所以可以用来解决二分类问题.这个方法出自于 Facebook 2014 年的论文 Practical Lessons ...

  9. bom浏览器对象模型(基础)

    页面中有一个顶级对象: document -> 操作页面元素   浏览器中也有个顶级对象: window -> 页面中所有的东西都是属于window的   变量属于window var n ...

  10. ArduPilot存储管理 Storage EEPROM Flash

    AP_HAL::Storage 此类可以应用于所有平台.PX4v1平台支持8k的EEPROM,Pixhawk平台支持16k的FRAM铁电存储器 存储大小定义:libraries/AP_HAL/AP_H ...