使用vue 国际化i18n 实现多实现语言切换功能


Posted in Javascript onOctober 11, 2018

安装

npm install vue-i18n

新建一个文件夹 i18n ,内新建 en.js zh.js index.js 三个文件

准备翻译信息

en.js

export default {
 home: {
 helloworld: "hello workd !"
 }
};

zh.js

export default {
 home: {
 helloworld: "你好世界"
 }
};

index.js

创建Vue-i18n实例

import Vue from "vue";
import VueI18n from "vue-i18n";
import enLocale from "./en";
import zhLocale from "./zh";
Vue.use(VueI18n);
const i18n = new VueI18n({
 locale: localStorage.lang || "zh",
 messages: {
 en: {
  ...enLocale
 },
 zh: {
  ...zhLocale
 }
 }
});
export default i18n;

i18n 挂载到 vue 根实例

main.js

import Vue from "vue";
import App from "./App.vue";
import router from "./router";
import store from "./store";
import i18n from "./assets/i18n/index";
Vue.config.productionTip = false;
Vue.prototype.$i18n = i18n;
new Vue({
 router,
 store,
 i18n,
 render: h => h(App)
}).$mount("#app");

简单的使用

about.vue

<template>
 <div class="about">
 <h1>{{ $t("home.helloworld") }}</h1>
 <button @click="changeLang()">切换英文</button>
 <p>{{hi}}</p>
 </div>
</template>
<script>
export default {
 data: function() {
 return {};
 },
 computed: {
 hi() {
  return this.$t("home.helloworld");
 }
 },
 methods: {
 changeLang() {
  this.$i18n.locale = "en";
 }
 }
};
</script>

注意:

比如说上面的hi 你要通过这种形式来写的时候,不能放在data 里面,因为当语言切换的时候 他是不会变的 ,要写在computed内

总结

以上所述是小编给大家介绍的使用vue 国际化i18n 多实现语言切换功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Javascript 相关文章推荐
HTTP状态代码以及定义(解释)
Feb 02 Javascript
jQuery 学习入门篇附实例代码
Mar 16 Javascript
jQuery UI 应用不同Theme的办法
Sep 12 Javascript
jQuery实现动画效果circle实例
Aug 06 Javascript
使用javaScript动态加载Js文件和Css文件
Oct 24 Javascript
iScroll.js 使用方法参考
May 16 Javascript
JS判断输入的字符串是否是数字的方法(正则表达式)
Nov 29 Javascript
jQuery插件zTree实现获取一级节点数据的方法
Mar 08 Javascript
老生常谈JavaScript面向对象基础与this指向问题
Oct 16 Javascript
解决vue2 在mounted函数无法获取prop中的变量问题
Nov 15 Javascript
如何利用javascript接收json信息并进行处理
Aug 06 Javascript
vue+echarts实现中国地图流动效果(步骤详解)
Jan 27 Vue.js
详解Angular5/Angular6项目如何添加热更新(HMR)功能
Oct 10 #Javascript
Node.js npm命令运行node.js脚本的方法
Oct 10 #Javascript
vue环形进度条组件实例应用
Oct 10 #Javascript
Node.js中读取TXT文件内容fs.readFile()用法
Oct 10 #Javascript
详解Node.js读写中文内容文件操作
Oct 10 #Javascript
angular6的响应式表单的实现
Oct 10 #Javascript
JS原生带缩略图的图片切换效果
Oct 10 #Javascript
You might like
基于php无限分类的深入理解
2013/06/02 PHP
smarty模板引擎之分配数据类型
2015/03/30 PHP
javascript 写类方式之六
2009/07/05 Javascript
下载站控制介绍字数显示的脚本 显示全部 隐藏介绍等功能
2009/09/19 Javascript
Jquery之Bind方法参数传递与接收的三种方法
2014/06/24 Javascript
基于jQuery的AJAX和JSON实现纯html数据模板
2016/08/09 Javascript
JSON与String互转的实现方法(Javascript)
2016/09/27 Javascript
JQuery validate 验证一个单独的表单元素实例
2017/02/17 Javascript
从零开始学习Node.js系列教程一:http get和post用法分析
2017/04/13 Javascript
Node.js使用Express.Router的方法
2017/11/14 Javascript
JavaScript 中的12种循环遍历方法【总结】
2018/05/31 Javascript
详解在Vue中使用TypeScript的一些思考(实践)
2018/07/06 Javascript
js中自定义react数据验证组件实例详解
2018/10/19 Javascript
微信小程序mpvue点击按钮获取button值的方法
2019/05/29 Javascript
JS合并两个数组的3种方法详解
2019/10/24 Javascript
JS几个常用的函数和对象定义与用法示例
2020/01/15 Javascript
JavaScript cookie原理及使用实例
2020/05/08 Javascript
[01:59]翻天覆地,因你而变,7.20版本地图更新速览
2018/11/24 DOTA
Python实现115网盘自动下载的方法
2014/09/30 Python
pycharm 将django中多个app放到同个文件夹apps的处理方法
2018/05/30 Python
设置python3为默认python的方法
2018/10/31 Python
python print出共轭复数的方法详解
2019/06/25 Python
python opencv对图像进行旋转且不裁剪图片的实现方法
2019/07/09 Python
CSS3 :nth-child()伪类选择器实现奇偶行显示不同样式
2013/11/05 HTML / CSS
HTML5地理定位与第三方工具百度地图的应用
2016/11/17 HTML / CSS
公司年会抽奖活动主持词
2014/03/31 职场文书
毕业生代领毕业材料的授权委托书
2014/09/29 职场文书
正风肃纪查摆剖析材料
2014/10/10 职场文书
2014年音乐教师工作总结
2014/12/03 职场文书
2015年全民国防教育日活动总结
2015/03/23 职场文书
2015年社区工作总结
2015/04/08 职场文书
安全生产协议书
2016/03/22 职场文书
新手开公司创业注意事项有哪些?
2019/07/29 职场文书
如何利用opencv判断两张图片是否相同详解
2021/07/07 Python
MySQL 如何限制一张表的记录数
2021/09/14 MySQL
MySQL控制流函数(-if ,elseif,else,case...when)
2022/07/07 MySQL