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. WiFi、ZigBee、BLE用哪个?

    小米是这么选的: 1) 插电的设备,用WiFi: 2) 需要和手机交互的,用BLE: 3) 传感器用ZigBee. WIFI,WIFI是目前应用最广泛的无线通信技术,传输距离在100-300M,速率可 ...

  2. Word 带圈字符 1~20 快捷键的输入的技巧

    1. 前言 如何在Word中输入带圈数字?为大家分享一种快速录入带圈字符的方法,就是使用快捷键. 2. 输入带圈字符 1.在Word中输入2465,然后使用快捷键「ALT + X」就能变成⑥:输入24 ...

  3. 2019.10.16&17小结

    话说也蛮久没写小结了,主要这两次考试失分严重,还是总结下吧. 10.16 T1 小奇挖矿2 100/0 [题目背景] 小奇飞船的钻头开启了无限耐久+精准采集模式!这次它要将原矿运到泛光之源的矿石交易市 ...

  4. Python30之文件2(文件系统)

    一.在python中对于文件系统的访问一般使用的是os模块.python是跨平台的,因此在使用os模块时,不需要关心是在什么系统下使用的 import os >>> os.listd ...

  5. Python13之元组(带上枷锁的列表)

    一.元组定义 元组一旦建立,元组内的元素不允许修改和删除,这就是元组和列表最大的区别 当元组中仅有一个元素时,需要将元素后面加上逗号,或者不用括号也可以. tuple1 = (12,3234,5435 ...

  6. 『Python基础』第5节:条件控制

    if 语句的使用 单分支 if 条件: 满足条件后要执行的代码 例如: if 2 < 3: print(222) print(333) 每个条件后面都要使用冒号 :, 表示接下来是满足条件后要执 ...

  7. Linux 内核错误码

    #define    EPERM         1    /* Operation not permitted */#define    ENOENT        2    /* No such ...

  8. Luogu5400 CTS2019随机立方体(容斥原理)

    考虑容斥,计算至少有k个极大数的概率.不妨设这k个数对应的格子依次为(k,k,k)……(1,1,1).那么某一维坐标<=k的格子会对这些格子是否会成为极大数产生影响.先将这样的所有格子和一个数集 ...

  9. redis有序集合数据类型---sortedset

    一.概述 redis有序集合和集合一样,也是string类型元素的集合,且不允许重复的成员. 不同的是每个元素都会关联一个double类型的分数. redis正式通过分数来为集合中的重圆进行从小到大的 ...

  10. dg搭建后oracle_redo不存在

    目的:在oracle 10.2.0.4 环境中,搭建oracle dg遇到 备库redo不存在的问题,另一位同事搭建oracle 11.2.0.4 dg在备库也遇到同样的问题,如下描述处理过程. 参考 ...