使用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 相关文章推荐
javascript学习笔记(三) String 字符串类型介绍
Jun 19 Javascript
bootstrap data与jquery .data
Jul 07 Javascript
js实现进度条的方法
Feb 13 Javascript
jquery validate表单验证的基本用法入门
Jan 18 Javascript
jquery 重写 ajax提交并判断权限后 使用load方法报错解决方法
Jan 19 Javascript
node安装--linux下的快速安装教程
Mar 21 Javascript
jQuery与vue实现拖动验证码功能
Jan 30 jQuery
Vue+mui实现图片的本地缓存示例代码
May 24 Javascript
jQuery pagination分页示例详解
Oct 23 jQuery
vue项目中使用Svg的方法
Oct 24 Javascript
基于Vue插入视频的2种方法小结
Apr 02 Javascript
angularjs模态框的使用代码实例
Dec 20 Javascript
详解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文件大小格式化函数合集
2014/03/10 PHP
destoon二次开发入门示例
2014/06/20 PHP
php中convert_uuencode()与convert_uuencode函数用法实例
2014/11/22 PHP
php使用cookie显示用户上次访问网站日期的方法
2015/01/26 PHP
laravel学习教程之关联模型
2016/07/30 PHP
浅谈php中curl、fsockopen的应用
2016/12/10 PHP
Aster vs KG BO3 第二场2.19
2021/03/10 DOTA
jquery判断浏览器类型的代码
2012/11/05 Javascript
超简单JS二级、多级联动的简单实例
2014/02/18 Javascript
Javascript基础教程之定义和调用函数
2015/01/18 Javascript
超级简单实现JavaScript MVC 样式框架
2015/03/24 Javascript
谈谈encodeURI和encodeURIComponent以及escape的区别与应用
2015/11/24 Javascript
jquery实现右侧栏菜单选择操作
2016/03/04 Javascript
工作中常用的js、jquery自定义扩展函数代码片段汇总
2016/12/22 Javascript
js实现扫雷小程序的示例代码
2017/09/27 Javascript
React Native 真机断点调试+跨域资源加载出错问题的解决方法
2018/01/18 Javascript
vue 列表页跳转详情页获取id以及详情页通过id获取数据
2019/03/27 Javascript
微信小程序在线客服自动回复功能(基于node)
2019/07/03 Javascript
基于纯JS实现多张图片的懒加载Lazy过程解析
2019/10/14 Javascript
优化Vue中date format的性能详解
2020/01/13 Javascript
微信小程序调用wx.getImageInfo遇到的坑解决
2020/05/31 Javascript
python中 ? : 三元表达式的使用介绍
2013/10/09 Python
Python编程中的反模式实例分析
2014/12/08 Python
Python线程threading模块用法详解
2020/02/26 Python
利用django model save方法对未更改的字段依然进行了保存
2020/03/28 Python
Python新手如何进行闭包时绑定变量操作
2020/05/29 Python
html5 canvas的绘制文本自动换行的示例代码
2018/09/17 HTML / CSS
PAUL HEWITT手表美国站:德国北部时尚生活配饰品牌,船锚元素
2017/11/18 全球购物
Myprotein亚太地区:欧洲第一在线运动营养品牌
2020/12/20 全球购物
幼儿教师个人求职信范文
2013/09/21 职场文书
毕业生简单求职信
2013/11/19 职场文书
校园之声广播稿
2014/01/31 职场文书
终止合同协议书
2014/04/17 职场文书
团干部培训方案
2014/06/03 职场文书
假释思想汇报范文
2014/10/11 职场文书
公司员工培训管理制度
2015/08/04 职场文书