使用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 09 Javascript
JsDom 编程小结
Aug 09 Javascript
js bind 函数 使用闭包保存执行上下文
Dec 26 Javascript
深入分析js中的constructor和prototype
Apr 07 Javascript
如何将php数组或者对象传递给javascript
Mar 20 Javascript
利用jQuery实现可以编辑的表格
May 26 Javascript
JavaScript模拟重力状态下抛物运动的方法
Mar 03 Javascript
jquery+easeing实现仿flash的载入动画
Mar 10 Javascript
JS取模、取商及取整运算方法示例
Oct 13 Javascript
微信小程序实现音乐播放器
Nov 20 Javascript
JavaScript实现拖拽效果
Mar 16 Javascript
vue+flask实现视频合成功能(拖拽上传)
Mar 04 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/20 PHP
VPS中使用LNMP安装WordPress教程
2014/12/28 PHP
分享常见的几种页面静态化的方法
2015/01/08 PHP
百度地图经纬度转换到腾讯地图/Google 对应的经纬度
2015/08/28 PHP
PHP接口并发测试的方法(推荐)
2016/12/15 PHP
用php实现分页效果的示例代码
2020/12/10 PHP
javascript中局部变量和全局变量的区别详解
2015/02/27 Javascript
JavaScript实现找质数代码分享
2015/03/24 Javascript
jQuery使用CSS()方法给指定元素同时设置多个样式
2015/03/26 Javascript
JavaScript的RequireJS库入门指南
2015/07/01 Javascript
JavaScript实现页面跳转的方式汇总
2016/05/16 Javascript
Ext JS框架中日期函数的用法及日期选择控件的实现
2016/05/21 Javascript
浅谈js中几种实用的跨域方法原理详解
2016/12/02 Javascript
详解webpack性能优化——DLL
2017/10/20 Javascript
浅谈Node.js之异步流控制
2017/10/25 Javascript
JS/HTML5游戏常用算法之路径搜索算法 随机迷宫算法详解【普里姆算法】
2018/12/13 Javascript
Vue.js+cube-ui(Scroll组件)实现类似头条效果的横向滚动导航条
2019/06/24 Javascript
微信小程序实现抖音播放效果的实例代码
2020/04/11 Javascript
[54:02]2018DOTA2亚洲邀请赛 4.1 小组赛 B组 IG vs VGJ.T
2018/04/03 DOTA
Linux下Python获取IP地址的代码
2014/11/30 Python
Python语言检测模块langid和langdetect的使用实例
2019/02/19 Python
Django使用AJAX调用自己写的API接口的方法
2019/03/06 Python
pytorch 可视化feature map的示例代码
2019/08/20 Python
python模块如何查看
2020/06/16 Python
Python读取xlsx数据生成图标代码实例
2020/08/12 Python
python如何使用腾讯云发送短信
2020/09/17 Python
详解使用python爬取抖音app视频(appium可以操控手机)
2021/01/26 Python
浅谈pc和移动端的响应式的使用
2019/01/03 HTML / CSS
深入解析HTML5使用SVG图像时的viewBox属性用法
2015/09/02 HTML / CSS
华润集团网上药店:健一网
2016/09/19 全球购物
世界上最好的野生海鲜和有机食品:Vital Choice
2020/01/16 全球购物
华硕新加坡官方网上商店:ASUS Singapore
2020/07/09 全球购物
Fanatics官网:运动服装、球衣、运动装备
2020/10/12 全球购物
面料业务员岗位职责
2013/12/26 职场文书
竞争上岗演讲稿
2014/01/05 职场文书
《孔子游春》教学反思
2014/02/25 职场文书