vue使用i18n实现国际化

import VueI18n from 'vue-i18n'
import il8n from './il8n';
Vue.use(VueI18n) ;

const i18n = new VueI18n({
    locale: 'zh-CN',    // 语言标识, 通过切换locale的值来实现语言切换,this.$i18n.locale 
    messages: {}
})

// 引入国际化国家
import contry from "@/il8n/contry";
// 异步加载语言包
function loadLanguageAsync (msgs={"zh-CN":{},"en-US":{}}) {
    contry.forEach(c => {
        const langID = c.id
        i18n.setLocaleMessage(langID, Object.assign(require(`./il8n/lang/${langID}`),msgs[langID]))
    });
    const language = JSON.parse($localStorage.getItem("pteller_language"))
    i18n.locale = language?language.id:'zh-CN'
}
// 在手动切换语言时调用此方法,页面初始化时需加载一个默认语言
Vue.prototype.$loadLanguageAsync = loadLanguageAsync
loadLanguageAsync()

文件目录
在这里插入图片描述

  • 普通使用
 {{$t("dialog.set.baseSet")}}
 v-text="{{$t('dialog.set.baseSet')}}"
 :value="$t('dialog.set.getICCardInfo')"
  • 动态
	<select v-model="param.theme">
	     <option
	         :key="index"
	         v-for="(value, index) in theme"
	         :value="index"
	     >
	         {{ value }}
	     </option>
	 </select>
	computed:{
        theme: function(){
            return this.$t("dialog.set.theme")
        }
    },
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值