vue 3.0实现中英文语言切换

//"vue-i18n": "^9.0.0-beta.17",

//main.js
//中英文语言切换相关
import { createI18n } from 'vue-i18n'
const i18n = createI18n({
    locale: getLanguageType(), // 获取当前的语言标识
    messages: {
        'zh': require('./assets/lang/zh'),
        'en': require('./assets/lang/en')
    }
})
function getLanguageType() {
    var lang = localStorage.getItem('lang')
    var langCount = 0
    if (lang) {
        langCount = lang == 'zh' ? 1 : 2
    } else {
        var type = navigator.appName;
        if (type == "Netscape") {
            lang = navigator.language;//获取浏览器配置语言,支持非IE浏览器
        } else {
            lang = navigator.userLanguage;//获取浏览器配置语言,支持IE5+ == navigator.systemLanguage
        }
        lang = lang.substr(0, 2);//获取浏览器配置语言前两位
        if (lang == "zh") {
            lang = "zh"
            langCount = 1
        } else {
            lang = "en"
            langCount = 2
        }
    }
    localStorage.setItem('lang', lang)
    localStorage.setItem('langCount', langCount)
    return lang
}

//app.use(i18n)

//页面中使用
 <div class="title">{{$t("wallet.title")}}</div>
//js代码中使用
import { onMounted, reactive, ref, getCurrentInstance } from "vue";
const { proxy } = getCurrentInstance();
proxy.$t("tips.uploadTips")

vue 2.0 使用:https://www.cnblogs.com/hpx2020/p/9684825.html

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值