SoFunction
Updated on 2025-04-11

vue Chinese and English switching instance code

1. Install vue-i18n dependencies

yarn add vue-i18n or npm install vue-i18n --save-dev

2. Create a new folder language under src/components, and create a new folder language under the folder language

【src/components/language/】
 = {
  language: {
    name: 'English'
  },
  user: {
    login:'Log in',
    register:'register',
    loginUsername:'Please enter your email/mobile phone number',
  }
}

【src/components/language/】
 = {
  language: {
    name: 'Chinese'
  },
  user: {
    login:'login',
    register:'register',
    loginUsername:'please input email or phone',
  }
}

3. Introduce and register vue-i18n below

// Switch in Chinese and Englishimport VueI18n from 'vue-i18n'
(VueI18n)
const i18n=new VueI18n({
  locale:('languageSet')||'zh',  //Get the user's Chinese and English selection from localStorage, if not, the default Chinese is  messages:{
    'zh':require('./components/language/zh'),
    'en':require('./components/language/en')
  }
})

new Vue({
  el: '#app',
  router,
  i18n,  //mount i18n to the vue root instance  components: {
    App
  },
  render: h => h(App),
})

4. Use

<template>
  <span>{{$t('')}}</span>  //Log in  <input type="text" :placeholder="$t('')" v-model="username" />  //Enter account number
  <div @click="changeLanguage()">{{$t('')}}</div>  //Toggle the Chinese and English button</template>

<script>
  methods:{
    changeLanguage(){
      this.$=='zh'?this.$='en':this.$='zh'  //Set Chinese and English mode      ('languageSet',this.$)  //Save user settings to localStorage so that users can use this setting next time they open it    },
  }
<script>

The above are all the relevant knowledge points introduced this time. Thank you for your study and support.