zoukankan      html  css  js  c++  java
  • vue使用国际化

    转载请注明作者与出处

    一:安装vue-i18n

    npm install vue-i18n --save
    

    二:定义不同语言的json语言包

    一般把它放到npm工程中的src目录下,因为这个目录是要进行编译的,而我们是需要把这些语言包全部编译进去

    我们在src建立一个local文件夹,然后建立两个文件

    • language-en.js 英文
    • language-cn.js 中文

    我们不一定非要按照国际语言规范来命令,比如我们直接命名为abc.js也可以,只需要在对应的关系中读取这个js文件即可

    export const message  = {
      global : {
        view : "view",
        configList : "config list"
     },
     index : {
         xx : "xx"
     }
    }
    
    export const message  = {
      global : {
        view : "视图",
        configList : "配置列表"
     },
     index : {
         xx : "xx"
     }
    }
    

    需要注意的是,对应的json结构需要保持一至,因为是要按照key来读取相应的value

    三:配置json语言包

    main.js在配置

    import VueI18n from 'vue-i18n'
    
    Vue.use(VueI18n);
    
    const i18n = new VueI18n({
      locale: 'zh-cn',//这个配置的是默认的语言包
      messages: {
        'zh-cn': require('./local/language-zh.js'),   // 中文语言包
        'en': require('./local/language-en.js')    // 英文语言包
      },
    });
    
    new Vue({
      el: '#app',
      i18n : i18n,
    });
    

    四:使用语言包

    既然我们配置了语言包,那我们使用的过程中,肯定就不能自己写文本内容了,而是要使用相应的key来定义

    在html中使用

    <div slot="header" class="clearfix">
        <span>{{$t("message.global.view")}}</span>
    </div>
    

    在vue表达式中使用

    <pie-data :text="$t('message.index.configNumber')">202</pie-data>
    

    在js中使用

    注意:这个this是指vue对象

    {required : true , message : this.$t('message.config.addForm.tips.versionNotNull'),trigger : "blur"}
    
  • 相关阅读:
    【数据结构】堆栈
    【数据结构】线性表
    【算法】最大子列和问题
    【算法】复杂度的渐近表示
    【算法】什么是好的算法
    【算法】什么是算法
    【数据结构】什么是数据结构
    MySQL数据备份脚本
    二进制安装MySQL-5.7.28
    搭建zabbix+grafana监控
  • 原文地址:https://www.cnblogs.com/zhuxiaojie/p/8157720.html
Copyright © 2011-2022 走看看