vue 搭配vant使用i18n

个人需要,创建lang文件夹分别有文件夹,

zh.js

export default {
    bottomBar:{
        text:"测试首页"
    }
}

en.js

export default {
    bottomBar:{
        text:"text shouye"
    }
}

zhCHT.js

export default {
    bottomBar:{
        text:"測試首頁"
    }
}

vantLocale.js下写更改vant内容的语言

// vant翻译
import {
    Locale
} from 'vant';
import zhCN from 'vant/lib/locale/lang/zh-CN';
import zhHK from 'vant/lib/locale/lang/zh-HK';
import enUS from 'vant/lib/locale/lang/en-US';
var lang = localStorage.getItem("lang") || "zhCN";
changeLang(lang);

function changeLang(newlang) {
    switch (newlang) {
        case "zhCN":
            Locale.use('zhCN', zhCN);
            break;
        case "en":
            Locale.use('en', enUS);
            break;
        case "zhCHT":
            Locale.use('zhHK', zhHK);
            break;
    }
}

export function Local(mylang) {
    changeLang(mylang)
}

 

index.js下写

import Vue from 'vue'

import VueI18n from 'vue-i18n'



import en from './en';

import zhCN from './zh';

import zhCHT from './zhCHT';



Vue.use(VueI18n)

const messages = {
  en: {
    ...en
  },
  zhCN: {
    ...zhCN
  },
  zhCHT: {
    ...zhCHT
  }
}

const i18n = new VueI18n({

locale: localStorage.getItem('language') || "zhCN", // set locale

messages  // set locale messages

})

export default i18n

main.js中引入

import i18n from "./lang"
import {Local} from "@/lang//vantLocale.js";
Vue.prototype.$Local = Local; 
//挂载

new Vue({
  i18n
}).$mount('#app')

//设置语言

this.$i18n.locale = "en";
this.$Local("en");    //更改vant的语言
localStorage.setItem("language", "en");

//获取选择的语言

this.$i18n.locale = localStorage.getItem("language") || "zhCN";

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值