vue使用国际化

1.使用npm安装

npm install vue-i18n

2.在main.js中引用

import VueI18n from 'vue-i18n'
Vue.use(VueI18n)

3.准备中英文数据

中英文文件中示例代码

module.exports = {
  navigation: {
    home:"Home",
    productCenter:"productCenter",
  },
  homePage:{
    VDIcloudDesktop:"VDIcloudDesktop",
  }
}


module.exports = {
  navigation: {
    home:"首页",
    productCenter:"产品中心",
  },
  homePage:{
    VDIcloudDesktop:"VDI云桌面",
  }
}

4.创建带有选项的 VueI18n 实例,在main.js中

通过session来存储lang标志,页面初次进入没有session时,lang为zh,显示内容中文

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

5.在导航栏中编写用来切换的标签

 
  • 中文
  • English
  • data (){
       return{
          lang: (sessionStorage.getItem('lang') === 'en') ? "English" : "中文",
      }
    },
    methods:{
        changeCn(){
          this.lang = "中文";
          this.$i18n.locale = 'zh';
          sessionStorage.setItem('lang','zh');
        },
        changeEn(){
          this.lang = "English";
          this.$i18n.locale = 'en';
          sessionStorage.setItem('lang','en')
        },
    
    }

    6.在组建中使用数据

         
  • {{ $t("navigation.home") }}
  • 点击时就可以实现中英文切换

    vue使用国际化_第1张图片

    vue使用国际化_第2张图片

    你可能感兴趣的:(web前端,vue,国际化)