zoukankan      html  css  js  c++  java
  • 利用vue-i18n实现多语言切换

    在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'

      

  • 相关阅读:
    第3章 Spring AOP
    第2章 Spring中的Bean
    第1章 Spring的应用
    Codeforces Round #558 (Div. 2)-Cat Party (Hard Edition)-(前缀和 + 模拟)
    Codeforces Round #552 (Div. 3)-1154E-Two Teams-(模拟+双指针)
    Codeforces Round #552 (Div. 3)-D-Walking Robot-(贪心)
    Codeforces Round #552 (Div. 3)-C-Gourmet Cat
    Codeforces Round #555 (Div. 3)
    2019年湘潭大学程序设计竞赛(重现赛)
    Buy Fruits-(构造)
  • 原文地址:https://www.cnblogs.com/luobiao/p/10530575.html
Copyright © 2011-2022 走看看