vue项目引入vue-i18n,实现中英文切换

12 篇文章 6 订阅

1、安装

vue-i18n官网:https://kazupon.github.io/vue-i18n/zh/

html页面引入

<script src="https://unpkg.com/vue/dist/vue.js"></script>
<script src="https://unpkg.com/vue-i18n/dist/vue-i18n.js"></script>

npm包管理

npm install vue-i18n

2、使用方法

a、建立一个lang文件夹,文件夹新增en.js文件和cn.js文件

cn.js

export default {
  placeholder: {
    phone: '手机号',
    input_code: '输入验证码',
    passwordSix: '请输入6到18位密码'
  },
  sidebar: {
    MyAccount: '账户信息',
    PersonalInformation: '个人信息',
    Message: '我的消息',
    MyWallet: '我的钱包',
    MyProject: '我的方案'
  },
  home: {
    SendCode: 'Send verification code success'
  }
}

en.js

export default {
  placeholder: {
    phone: 'Phone Number',
    input_code: 'Verification code',
    passwordSix: 'Please enter 6 to 18 Bit passwords'
  },
  sidebar: {
    MyAccount: 'My Account',
    PersonalInformation: 'Personal Information',
    Message: 'Message',
    MyWallet: 'My Wallet',
    MyProject: 'My Project'
  },
  home: {
    SendCode: 'send Code Success功'
  }
}

b、在main.js中

import Vue from "vue";
import App from "./App.vue";
import router from "./router";
import store from "./store";
import VueI18n from 'vue-i18n'
import zh from "./common/lang/cn.js"
import en from "./common/lang/en.js"
Vue.config.productionTip = false;

Vue.use(VueI18n)

const i18n = new VueI18n({
  locale: 'zh',    // 语言标识
  //this.$i18n.locale // 通过切换 locale 的值来实现语言切换
  messages: { // js 方式
    'zh': zh,   // 中文语言包
    'en': en    // 英文语言包
  }
})

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

c、页面中使用

<template>
  <div class="home">
    {{ $t('sidebar.MyWallet') }}
    <button @click="changeLanguage()">click</button>
  </div>
</template>

<script>
export default {
  name: "Home",
  data() {
    return {
      lang: "zh",
    };
  },
  methods: {
    changeLanguage() {
      if (this.lang === "zh") {
        this.lang = "en";
        this.$i18n.locale = this.lang; //关键语句
      } else {
        this.lang = "zh";
        this.$i18n.locale = this.lang; //关键语句
      }
    },
  },
};

在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蛋蛋的老公

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值