Vue-i18n 前端国际化(手把手,老奶奶教程)

下载vue-i18n

npm install vue-i18n

创建你所需要的语言的js文件

cn.js如下图所示

 en.js 如下图所示

 hk.js同理。

在入口文件(main.js)中引入语言文件

在vue文件中使用

<el-menu :default-active="activeIndex" class="el-menu-demo" mode="horizontal" @select="handleSelect" background-color="#545c64" text-color="#fff" active-text-color="#ffd04b">
      <img src="../../assets/img/apple1.svg" style="height:55px;width:55px;float:left;margin-left:0 10px 0 10px" />
      <el-menu-item index="2">{{ $t('Top.index') }}</el-menu-item>
      <el-menu-item index="3">{{ $t('Top.iphone') }}</el-menu-item>
      <el-menu-item index="4">{{ $t('Top.Tv') }}</el-menu-item>
      <el-menu-item index="5">{{ $t('Top.notsbook') }}</el-menu-item>
      <el-menu-item index="6">{{ $t('Top.Airconditioner') }}</el-menu-item>
      <el-input :placeholder="$t('Top.input')" v-model="input" class="input1">
        <el-button slot="append" icon="el-icon-search"></el-button>
      </el-input>
      <div class="demo-type">
        <el-avatar :size="40" @error="errorHandler">
          <img src="../../assets/img/android-1.svg" />
        </el-avatar>
        <!-- <p style="float:right;font-size:18px">{{this.$route.query.username}}</p> -->
      </div>
      <span class="span_name">
        {{ this.$route.query.username }}
      </span>
      <el-dropdown @command="handleCommand" class="dropdown_locale">
        <span class="el-dropdown-link" style="color:#fff">
          {{ local }}<i class="el-icon-arrow-down el-icon--right"></i>
        </span>
        <el-dropdown-menu slot="dropdown">
          <el-dropdown-item command="cn">{{ $t('Top.chinese') }}</el-dropdown-item>
          <el-dropdown-item command="hk">{{ $t('Top.character') }}</el-dropdown-item>
          <el-dropdown-item command="en">{{ $t('Top.English') }}</el-dropdown-item>
        </el-dropdown-menu>
      </el-dropdown>
    </el-menu>

 切换语言

handleCommand(command) {
      console.log(command);
      const map = [
        [
          () => command == 'cn',
          () => {
            this.$i18n.locale = command;
          }
        ],
        [
          () => command == 'en',
          () => {
            this.$i18n.locale = command;
          }
        ],
        [
          () => command == 'hk',
          () => {
            this.$i18n.locale = command;
          }
        ]
      ]
      const target = map.find(m => m[0]())
      if (target) {
        target[1]();
      } else {
        console.log("NO")
      }
    },

运行

 

 谢谢大家!!!

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值