使用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之二(接口实现介绍)
Jan 27 Javascript
js操作CheckBoxList实现全选/反选(在客服端完成)
Feb 02 Javascript
等待指定时间后自动跳转或关闭当前页面的js代码
Jul 09 Javascript
js的alert样式如何更改如背景颜色
Jan 22 Javascript
jQuery插件pagination实现分页特效
Apr 12 Javascript
jQuery实现的给图片点赞+1动画效果(附在线演示及demo源码下载)
Dec 31 Javascript
node.js cookie-parser之parser.js
Jun 06 Javascript
AngularJS 实现JavaScript 动画效果详解
Sep 08 Javascript
js动态生成form 并用ajax方式提交的实现方法
Sep 09 Javascript
vue2 前后端分离项目ajax跨域session问题解决方法
Apr 27 Javascript
如何在面试中手写出javascript节流和防抖函数
Oct 22 Javascript
如何使用 vue-cli 创建模板项目
Nov 19 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统计时间和内存使用情况示例分享
2014/03/13 PHP
PHP与Ajax相结合实现登录验证小Demo
2016/03/16 PHP
一端时间轮换的广告
2006/06/26 Javascript
jQuery选中select控件 无法设置selected的解决方法
2010/09/01 Javascript
标题过长使用javascript按字节截取字符串
2014/04/24 Javascript
js实现跨域的4种实用方法原理分析
2015/10/29 Javascript
Angularjs全局变量被作用域监听的正确姿势
2016/02/06 Javascript
详解Bootstrap插件
2016/04/25 Javascript
JavaScript实现in-place思想的快速排序方法
2016/08/07 Javascript
js仿支付宝多方框输入支付密码效果
2016/09/27 Javascript
前端面试知识点锦集(JavaScript篇)
2016/12/28 Javascript
angular forEach方法遍历源码解读
2017/01/25 Javascript
jQuery实现Table表格隔行变色及高亮显示当前选择行效果示例
2017/02/14 Javascript
jQuery查找和过滤_动力节点节点Java学院整理
2017/07/04 jQuery
nodeJS模块简单用法示例
2018/04/21 NodeJs
JS实现给数组对象排序的方法分析
2019/06/24 Javascript
Vue2.0 实现页面缓存和不缓存的方式
2019/11/12 Javascript
vue实现多个echarts根据屏幕大小变化而变化实例
2020/07/19 Javascript
python私有属性和方法实例分析
2015/01/15 Python
浅谈Python 字符串格式化输出(format/printf)
2016/07/21 Python
Django的分页器实例(paginator)
2017/12/01 Python
python使用代理ip访问网站的实例
2018/05/07 Python
Python装饰器用法实例总结
2018/05/26 Python
Linux 修改Python命令的方法示例
2018/12/03 Python
python+tifffile之tiff文件读写方式
2020/01/13 Python
Python使用windows设置定时执行脚本
2020/11/12 Python
python中numpy数组与list相互转换实例方法
2021/01/29 Python
HTML5 video标签(播放器)学习笔记(二):播放控制
2015/04/24 HTML / CSS
French Connection官网:女装、男装及家居用品
2019/03/18 全球购物
如何定义一个可复用的服务
2014/09/30 面试题
新闻网站实习自我鉴定
2013/09/25 职场文书
小学校园广播稿集锦
2014/10/04 职场文书
太空授课观后感
2015/06/17 职场文书
外科护士长工作总结
2015/08/12 职场文书
幼儿园音乐教学反思
2016/02/18 职场文书
Jmerte 分布式压测及分布式压测配置
2022/04/30 Java/Android