如何使你的项目有国际范

1.准备工作

这项功能看着很高大上,但是执行起来却很简单,因为我们的vue本身就内置一个语言转换的方法

名为i18n,全名 internationalization 缩写取其头尾字母然后中间还剩18个字母,使用方法当然得先下包了

代码:npm i vue-i18n

2.实列中使用

在项目文件夹中创建一个新得文件夹最好取名为“lang/index.js”大致内容如下

// 进行多语言支持配置
import Vue from 'vue' // 引入Vue
import VueI18n from 'vue-i18n' // 引入国际化的插件包
import locale from 'element-ui/lib/locale'
import elementEN from 'element-ui/lib/locale/lang/en' // 引入饿了么的英文包
import elementZH from 'element-ui/lib/locale/lang/zh-CN' // 引入饿了么的中文包
// 引入得包根据所需在element-ui自行寻找
Vue.use(VueI18n) // 全局注册国际化包

// 创建国际化插件的实例
const i18n = new VueI18n({
  // 指定语言类型 zh表示中文  en表示英文
  locale: 'zh',
  // 将elementUI语言包加入到插件语言数据里
  messages: {
    // 英文环境下的语言数据
    en: {
      ...elementEN
    },
    // 中文环境下的语言数据
    zh: {
      ...elementZH
    }
  }
})
// 配置elementUI 语言转换关系
locale.i18n((key, value) => i18n.t(key, value))

export default i18n

2.1在min.js中挂载

 import  VueI18n from 'vue-i18n'
 Vue.use(VueI18n)
 const  i18n = new VueI18n({
     locale: 'zh',          //默认中文
     message: {
         'zh': require('./lang/zh'),
         'en': require('./lang/en')
     }
 })

2.2切换语言

在此处根据所需得语言切换

3.实现动态切换中英文-封装组件

3.1在放置公共组件的位置:lang/index.js

<template>
  <el-dropdown trigger="click" @command="changeLanguage">
    <div>
      <svg-icon style="color:#fff;font-size:20px" icon-class="language" />
    </div>
    <el-dropdown-menu slot="dropdown">
      <el-dropdown-item command="zh" :disabled="'zh'=== $i18n.locale ">中文</el-dropdown-item>
      <el-dropdown-item command="en" :disabled="'en'=== $i18n.locale ">en</el-dropdown-item>
    </el-dropdown-menu>
  </el-dropdown>
</template>

<script>
export default {
  methods: {
    changeLanguage(lang) {
      this.$i18n.locale = lang // 设置给本地的i18n插件
      this.$message.success('切换多语言成功')
    }
  }
}
</script>

3.2在component/index.js中进行全局组件注册

import Lang from './Lang'
export default {
  // 插件的初始化, 插件给你提供的全局的功能, 都可以在这里配置
  install(Vue) {
    // 进行组件的全局注册
    Vue.component('Lang', Lang)
  }
}

3.3在Navbar组件中引入使用组件

<!-- 语言包 -->
<lang class="right-menu-item" />

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值