vue-i18n实现中英文切换的方法

1.下载

npm install vue-i18n

2.创建中英文包

2.1 中文包

2.2 英文包

3.在main里面引入

import VueI18n from "vue-i18n";
Vue.use(VueI18n);
const i18n = new VueI18n({
  locale:
    localStorage.getItem("lang") == (undefined || "" || null)
      ? "zh"
      : localStorage.getItem("lang"),
  messages: {
    zh: require("../static/lang/text-zh.json"),
    en: require("../static/lang/text-en.json")
  }
});

new Vue({
  router,
  store,
  i18n,
  render: h => h(App)
}).$mount("#app");

4.在组件中使用

<div>{{ $t('footer.home') }}</div>
或者
<input type="span" value="" :placeholder="$t('footer.home')" v-model="search" />
或者
this.$toast(this.$t('footer.home'))

5.使用按钮进行手动切换,这里我用了switch用true和false来识别中英文,用这种方法也可以用于其他语言切换

<switch @change="changeEn" :checked="zhOren" />


changeEn(e) {
            if (e.target.value) {
                //中文
                this._i18n.locale = 'zh';
                localStorage.setItem('lang', 'zh');
            } else {
                //英文
                this._i18n.locale = 'en';
                localStorage.setItem('lang', 'en');
            }
        }

以上就是vue-i18n实现中英文切换的方法的详细内容,更多关于vue 中英文切换的资料请关注呐喊教程其它相关文章!

声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:notice#nhooo.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。