vue 使用vue-i18n做全局中英文切换
1、vue-i18n安装
npm install vue-i18n --save-dev
2、在main.js文件中引入
import VueI18n from 'vue-i18n';
Vue.use(VueI18n);
const i18n = new VueI18n({
locale: localStorage.getItem('language')||'zh', //使用localStorage缓存到本地,当下次使用时可默认当前使用语言
messages: {
' zh': require('./common/lang/zh'),
'en': require('./common/lang/en')
}
})
new Vue({
el: '#app',
router,
i18n,
template: '<App/>',
components: { App }
})
3、新建中英文语言文件
zh.js:
module.exports = {
language: {
name: 'English'
},
navbar: {
home: '首页',
}
}
en.js:
module.exports = {
language: {
name: '中文'
},
navbar: {
home: 'Home',
}
}
4、创建一个切换语言方法(写在App.vue可以全局控制);
changeLang() {
let locale = localStorage.getItem('language')||'zh';
let temp=locale === 'zh' ? 'en' : 'zh';
this.$i18n.locale=temp;//改变当前语言
localStorage.language=temp;
}
5、在template中的使用:
<p>{{ $t('language.name') }}</p>
<p>{{ $t('navbar.contact') }}</p>
最新文章
- SCNU 2015ACM新生赛初赛【1001~1011】个人解题思路
- 解决asp.net mvc的跨域请求问题
- 关于最近折腾的ubuntu12.10
- MVC下的客户端模板技术
- C#获取字符首字母
- 多个TableView的练习
- 网站购物,使用pickle
- Maya Calendar 分类: POJ 2015-06-11 21:44 12人阅读 评论(0) 收藏
- datepicker,结束时间必须大于开始时间
- Unity寻路的功能总结
- 实现基于Memcache存储的Session类
- HTML meta标签总结与属性使用介绍
- Android中的自动朗读(TTS)
- python初探-数据类型
- ViewPager空指针错误,android.support.v4.view.ViewPager.onSaveInstanceState
- linux服务器性能状态查看
- 流API--初体验
- c++ 入门 之 hello world 和基本语法
- mysql时间相加函数DATE_ADD()
- 重新粗推了一下Master Theorem