使用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控制iframe滚动的代码
Apr 10 Javascript
使用Mootools动态添加Css样式表代码,兼容各浏览器
Dec 12 Javascript
前台js对象在后台转化java对象的问题探讨
Dec 20 Javascript
浅谈Javascript中的Function与Object
Jan 26 Javascript
关于JS中prototype的理解
Sep 07 Javascript
使用jquery.qrcode.min.js实现中文转化二维码
Mar 11 Javascript
JS字符串长度判断,超出进行自动截取的实例(支持中文)
Mar 06 Javascript
jquery事件与绑定事件
Mar 16 Javascript
Vue单页及多页应用全局配置404页面实践记录
May 22 Javascript
深入理解移动前端开发之viewport
Oct 19 Javascript
浅析vue中的MVVM实现原理
Mar 04 Javascript
使用Vue.js 和Chart.js制作绚丽多彩的图表
Jun 15 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
收音机怀古---春雷3P7图片欣赏
2021/03/02 无线电
php cookies中删除的一般赋值方法
2011/05/07 PHP
php微信公众账号开发之前五个坑(一)
2016/09/18 PHP
PHP的PDO连接讲解
2019/01/24 PHP
javascript dom 操作详解 js加强
2009/07/13 Javascript
script标签的 charset 属性使用说明
2010/12/04 Javascript
js修改地址栏URL参数解决url参数问题
2012/12/15 Javascript
js动态添加onload、onresize、onscroll事件(另类方法)
2012/12/26 Javascript
jquery实现聚光灯效果的方法
2015/02/06 Javascript
Nodejs实现批量下载妹纸图
2015/05/28 NodeJs
JavaScrip常见的一些算法总结
2015/12/28 Javascript
Easyui form combobox省市区三级联动
2016/01/13 Javascript
使用jQuery的easydrag插件实现可拖动的DIV弹出框
2016/02/19 Javascript
浅谈几种常用的JS类定义方法
2016/06/08 Javascript
Vue.js中用v-bind绑定class的注意事项
2016/12/13 Javascript
js编写三级联动简单案例
2016/12/21 Javascript
JavaScript ES6中const、let与var的对比详解
2017/06/18 Javascript
AngularJs ng-change事件/指令的用法小结
2017/11/01 Javascript
element-ui表格数据转换的示例代码
2018/08/24 Javascript
解决在vue项目中webpack打包后字体不生效的问题
2018/09/01 Javascript
Vue中img的src是动态渲染时不显示的解决
2019/11/14 Javascript
nuxt+axios实现打包后动态修改请求地址的方法
2020/04/22 Javascript
[01:08:44]NB vs VP 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
[01:07:41]IG vs VGJ.T 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
详解Python中的Descriptor描述符类
2016/06/14 Python
Python 利用scrapy爬虫通过短短50行代码下载整站短视频
2018/10/29 Python
在Mac中PyCharm配置python Anaconda环境过程图解
2020/03/11 Python
使用python处理题库表格并转化为word形式的实现
2020/04/14 Python
国际象棋商店:The Chess Store
2018/07/09 全球购物
工厂门卫岗位职责
2013/11/25 职场文书
创业者是否需要商业计划书?
2014/02/07 职场文书
2014办公室副主任四风对照检查材料思想汇报
2014/09/20 职场文书
服务员态度差检讨书
2014/10/28 职场文书
关于运动会的宣传稿
2015/07/23 职场文书
你会写报告?产品体验报告到底该怎么写?
2019/08/14 职场文书
Windows Server 2019 域控制器安装图文教程
2022/04/28 Servers