使用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 相关文章推荐
IE6下通过a标签点击切换图片的问题
Nov 14 Javascript
JavaScript Title、alt提示(Tips)实现源码解读
Dec 12 Javascript
简短几句 通俗解释javascript的闭包
Jan 17 Javascript
JS替换文本域内的回车示例
Feb 18 Javascript
jquery弹窗插件colorbox绑定动态生成元素的方法
Jun 20 Javascript
JS实现的网页倒计时数字时钟效果
Mar 02 Javascript
javascript下拉框选项单击事件的例子分享
Mar 04 Javascript
jQuery+JSON实现AJAX二级联动实例分析
Dec 18 Javascript
JS实现物体带缓冲的间歇运动效果示例
Dec 22 Javascript
原生js实现放大镜特效
Mar 08 Javascript
解决element UI 自定义传参的问题
Aug 22 Javascript
javascript json字符串到json对象转义问题
Jan 22 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
最小化数据传输――在客户端存储数据
2006/10/09 PHP
PHP学习笔记之三 数据库基本操作
2011/01/17 PHP
PHP 5.6.11 访问SQL Server2008R2的几种情况详解
2016/08/08 PHP
PHP实现的数据对象映射模式详解
2019/03/20 PHP
URL编码转换,escape() encodeURI() encodeURIComponent()
2006/12/27 Javascript
Javascript UrlDecode函数代码
2010/01/09 Javascript
window.parent与window.openner区别介绍
2012/04/12 Javascript
JavaScript中变量提升 Hoisting
2012/07/03 Javascript
js 获取、清空input type=&quot;file&quot;的值(示例代码)
2013/12/24 Javascript
Backbone.js框架中Model与Collection的使用实例
2016/05/07 Javascript
原生JS简单实现ajax的方法示例
2016/11/29 Javascript
详谈JS中数组的迭代方法和归并方法
2017/08/11 Javascript
在页面中引入js的两种方法(推荐)
2017/08/29 Javascript
Nodejs 微信小程序消息推送的实现
2021/01/20 NodeJs
[02:10]DOTA2亚洲邀请赛 EG战队出场宣传片
2015/02/07 DOTA
利用Python获取赶集网招聘信息前篇
2016/04/18 Python
Python 找到列表中满足某些条件的元素方法
2018/06/26 Python
Python设计模式之原型模式实例详解
2019/01/18 Python
python 实现查找文件并输出满足某一条件的数据项方法
2019/06/12 Python
python里dict变成list实例方法
2019/06/26 Python
python下的opencv画矩形和文字注释的实现方法
2019/07/09 Python
python ETL工具 pyetl
2020/06/07 Python
Keras 实现加载预训练模型并冻结网络的层
2020/06/15 Python
Python Switch Case三种实现方法代码实例
2020/06/18 Python
美国存储和组织商店:The Container Store
2017/08/16 全球购物
别名指示符是什么
2012/10/08 面试题
给领导的致歉信范文
2014/01/13 职场文书
教师绩效考核方案
2014/01/21 职场文书
社区交通安全实施方案
2014/03/22 职场文书
《骑牛比赛》教后反思
2014/04/22 职场文书
国庆阅兵观后感
2015/06/15 职场文书
2015国庆66周年宣传语
2015/07/14 职场文书
MySQL下使用Inplace和Online方式创建索引的教程
2021/05/26 MySQL
前端监听websocket消息并实时弹出(实例代码)
2021/11/27 Javascript
JavaWeb实现显示mysql数据库数据
2022/03/19 Java/Android
详解Vue3使用axios的配置教程
2022/04/29 Vue.js