首页 > 编程语言 > 详细

利用vue-i18n实现多语言切换

时间:2019-03-14 16:01:20      阅读:148      评论:0      收藏:0      [点我收藏+]

在vue项目中利用vue-i18n,我们可以实现多语言的切换,可以轻松搞定大部分的需求,包括中英文切换,以及词条的变更。

vue-i18n基本的使用方法

一、安装vue-i18n

  npm install vue-i18n --save

二、main.js中引用

  import VueI18n from ‘vue-i18n‘

  Vue.use(VueI18n)

  const i18n = new VueI18n({
    locale: ‘zh‘,

    messages: {
      ‘zh‘: require(‘../static/lang/zh‘),
      ‘en‘: require(‘../static/lang/en‘)
    }
   })

  new Vue({

    el: ‘#app‘,
    router,
    store,
    i18n,
    components: { App },
    template: ‘<App/>‘
  })
上面提到的static/lang/zh.js和static/lang/en.js就是词条文件。

// zh.js module.exports = { helloworld: ‘你好,世界‘, helloname: ‘你好,{name}‘}

// en.js module.exports = { helloworld: ‘hello world‘, helloname: ‘hello {name}‘}

三、模板中使用词条

  3.1、普通词条

  插值表达式中向$t方法传入词条的key值就可以了,例如:<div>普通文本:{{$t(‘helloworld‘)}}</div>

  3.2带参数词条

  // 定义词条 helloman: ‘hello {name}‘

  // 引用词条 <div>{{$t(‘helloman‘, {name: ‘Tom‘})}}</div>

  3.3多元化

  // 定义词条iphones: ‘{n} iphone5 | iphone6 | iphone7‘

  //引用词条

  <div>Pluralization:{{$tc(‘iphones‘, 0, {n: ‘3台‘})}}</div>
    // 输出 Pluralization:3台 iphone5
  <div>Pluralization:{{$tc(‘iphones‘, 1)}}</div>
    // 输出 Pluralization:iphone6
四、语言切换

 

 

    // 切换成英文 this.$i18n.locale = ‘en‘

 

 

  

 

利用vue-i18n实现多语言切换

原文:https://www.cnblogs.com/luobiao/p/10530575.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!