zoukankan      html  css  js  c++  java
  • vue-i18n vue-cli项目中实现国际化 多语言切换功能 一

    vue-cli项目中引入vue-i18n

    安装:

    npm install vue-i18n可参考vue-i18n官网文档

    main.js中引入:

    import Vue from 'vue'

    import VueI18n from 'vue-i18n'

    Vue.use(VueI18n)

    配置语言包(main.js):

    const i18n = new VueI18n({
      locale: 'zh-CN', // 语言标识, 通过切换locale的值来实现语言切换,this.$i18n.locale
      messages: {
        'zh-CN': require('./common/lang/zh'), // 中文语言包
        'en-US': require('./common/lang/en') // 英文语言包
      }
    })
    new Vue({
      el: '#app',
      i18n, // 加入
      router,
      store,
      components: { App },
      template: '<App/>'
    })
    

    语言相关包(zh.js、en.js):

    zh.js:

    export const lang = {
      menu: [
        {name: '首页', path: ''},
        {name: '企业简介', path: ''},
        {name: '企业舆情', path: ''},
        {name: '标签管理', path: ''},
        {name: '采集管理', path: ''},
        {name: '关于我们', path: ''},
        {name: '哈哈哈哈', path: ''}
      ],
      login: '登录',
      register: '注册',
      welcome: '欢迎',
      logout: '退出'
    }
    

    en.js:

    export const lang = {
      menu: [
        {name: 'HomePage', path: ''},
        {name: 'BusinessIntro', path: ''},
        {name: 'BusinessInfo', path: ''},
        {name: 'TagManage', path: ''},
        {name: 'CollectManage', path: ''},
        {name: 'AboutUs', path: ''},
        {name: 'hahahaha', path: ''}
      ],
      login: 'login',
      register: 'register',
      welcome: 'welcome',
      logout: 'logout'
    }
    

    语言切换:

    this.$i18n.locale = 'en-US'// 切换成英文
    this.$i18n.locale = 'zh-CN'// 切换成中文
    

    使用(同于vue中对于文字数据的渲染,有以“{{ }}”或v-text、v-html等的形式,同样的使用语言国际化(vue-i18n)后,依旧可以沿用):

    <el-menu-item
          v-for="(item,index) in $t('lang.menu')"
          :key="index"
          :index="item.path"
          :route="item.path">{{ item.name }}</el-menu-item>
    <router-link
          class="eff"
          to="/login">{{ $t('lang.login') }}</router-link>
    <router-link to="/register">{{ $t('lang.register') }}</router-link>
    

    eg:

    v-text:

    <span v-text=”$t(‘lang.welcome’)”></span>

    {{ }}:

    <span>{{ $t(‘lang.welcome’) }}</span>

    以上为基本用法,进阶用法高级用法见后续相关文章,这里主要是不让大家一下接触太多而混淆

    原创,转载请注明出处微笑空间站

  • 相关阅读:
    木马后门入侵与RKHunter,ClamAV检测工具
    Jenkins环境搭建
    Mha-Atlas-MySQL高可用
    JAVA企业级应用服务器之TOMCAT实战
    Keepalived高可用集群
    scp ssh-key连接原理
    jumpserver跳板机搭建
    DNS域名解析服务器
    DHCP服务
    Keepalived高可用集群
  • 原文地址:https://www.cnblogs.com/xuyongsky1234/p/9878277.html
Copyright © 2011-2022 走看看