Vue国际化,使用vue-i18n实现国际化

本文介绍如何在Vue项目中实现多语言支持。首先通过npm安装vue-i18n包,然后在main.js中配置语言文件并创建i18n实例。文中展示了如何在组件中使用{{$t}

1.安装vue-ii18n

npm install vue-i18n --save

2.注入vue中,在mian.js修改,并引入i18n翻译模板文件

mian.js代码:

import VueI18n from 'vue-i18n'
import langs from './common/langs/index.i18n'
Vue.use(VueI18n);
const i18n = new VueI18n({
	locale: 'zh-CN',
	messages:{
		'zh-CN': Object.assign(langs.zh,common),
        'en':  Object.assign(langs.en,common),
	}
})
new Vue({
    i18n,
    render:h=>h(App),
}).$mount('#app')

index.i18n代码:

import './alarm.json'
import './about.json'

{
    "zh":{
        "Alarm_Big_Kai_is_stupid": "大凯是傻逼",
        "Alarm_Big_Dong_Gua_is_erpao": "张栋是二炮"
    },
    en:{
        "Alarm_Big_Kai_is_stupid": "Big Kai is stupid",
        "Alarm_Big_Dong_Gua_is_erpao": "Big Dong Gua is erpao"
    }
}

2.在文件中使用

<div>{{$t('Alarm_Big_Kai_is_stupid')}}</div>
<div>{{$t('Alarm_Big_Dong_Gua_is_erpao')}}</div>
<button @click='changeLang'>切换语言</button>

changeLang(){
    if(this.lang==="zh-CN"){
        this.lang = 'en';
        this.$i18n.locale = this.lang
    }else{
        this.lang = 'zh-CN';
        this.$i18n.locale = this.lang
    }
}

在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值