欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

vue i18n

程序员文章站 2022-05-15 23:47:32
...

在main.js中引入 18n 下面展示一些内联代码片`。

import zh from '@/i18n/zh' // 简体中文语言包
import tw from '@/i18n/tw' // 繁体中文语言包
import ma from '@/i18n/ma' // 马来语言包
import en from '@/i18n/en' // 英文语言包
import ja from '@/i18n/ja' // 日文语言包
const i18n = new VueI18n({
   // locale:sessionStorage.getItem('locale'),
     locale: window.localStorage.getItem('language') === null ? 'tw' : window.localStorage.getItem('language'), // 语言标识,设置默认语言
    messages: {
        'zh': zh, // 简体中文
        'tw': tw,// 繁体中文
        'ma': ma,// 马来西亚
        'en': en,// 英文
        'ja': ja,// 日文
    }
})

Vue.prototype.$px2rem = px2rem;
const vue = new Vue({
    el: '#app',
    router,
    i18n,
    store,
    components: {
        Home
    },
    template: '<home/>',
});
// 可以设置选择语言的按钮
 <div class="wrapper" @click.stop>
        <div class="block" style="padding:20px 30px;border-radius: 10px;height:150px">
          <van-radio-group v-model="radio">
            <van-radio
              v-for="(item,index) in sendItems"
              :key="index"
              class="radio_item"
              :name="item.id"
              @click="changePay(item.id)"
            >{{item.name}}</van-radio>
          </van-radio-group>
        </div>
      </div>
      //定义的数据
      show: false,
      radio: "1",
      sendItems: [
        {
          id: "1",
          name: "中文繁體"
        },
        {
          id: "2",
          name: "中文简体"
        },
        {
          id: "3",
          name: "English"
        },
        {
          id: "4",
          name: "Malay"
        },{
          id: "5",
          name: "日本語"
        }
      ]
      //方法
      changePay(item) {
      this.show = false;
      if (item == 1) {
        let locale = this.$i18n.locale;
        locale === "null"
          ? (this.$i18n.locale = "tw")
          : (this.$i18n.locale = "tw");
      } else if (item == 2) {
        let locale = this.$i18n.locale;
        locale === "null"
          ? (this.$i18n.locale = "tw")
          : (this.$i18n.locale = "zh");
      } else if (item == 3) {
        let locale = this.$i18n.locale;
        locale === "null"
          ? (this.$i18n.locale = "tw")
          : (this.$i18n.locale = "en");
      } else if(item == 4){
        let locale = this.$i18n.locale;
        locale === "null"
          ? (this.$i18n.locale = "tw")
          : (this.$i18n.locale = "ma");
      }else{
        let locale = this.$i18n.locale;
        locale === "null"
          ? (this.$i18n.locale = "tw")
          : (this.$i18n.locale = "ja");
      }
    },
    //this.$i18n.locale = "ja" 这样可以直接去修改i18n的语言 
相关标签: vue