El proyecto vue-cli simplemente implementa i18n internacional

El proyecto vue-cli es sencillo para lograr la internacionalización

1. npm descargar vue-i18n

Bajo la ruta raíz del proyecto vue-cli:

npm i vue-i18n

La versión que descargué es:

"vue-i18n": "^7.6.0"

2. Directorio de archivos

inserte la descripción de la imagen aquí

3. Contenido del archivo

en.js

export const m = {
    
     
  name: 'name',
  age: 'age'
}

zh.js

export const m = {
    
    
  name:'姓名',
  age:'年龄'
}

index.js

import Vue from 'vue'
import VueI18n from 'vue-i18n';

Vue.use(VueI18n);

const i18n = new VueI18n({
    
    
    locale: 'zh',    // 语言标识
    messages: {
    
    
      'zh': require('./config/zh'),   // 中文
      'en': require('./config/en')    // 英文
    }
})
export default i18n;

main.js

import Vue from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
// 引入国际化文件
import i18n from './lang/index'

Vue.config.productionTip = false

new Vue({
    
    
  router,
  store,
  i18n, //国际化
  render: h => h(App)
}).$mount('#app')

4. Contenido del componente

<template>
  <div class="home">
    <h1>国际化</h1>
    <p>{
   
   {$t('m.name')}}</p>
    <p>{
   
   {$t('m.age')}}</p>
    <button @click="changeLang('en')">英文</button>
    <button @click="changeLang('zh')">中文</button>
  </div>
</template>

<script>

export default {
  name: 'Home',
  methods:{
      /**
       * 语言切换
       * @param {string} lang 语言类型
       * @return {void}
       */
      changeLang(lang){
          // 通过this.$i18n.locale来切换语言类型
          this.$i18n.locale=lang;
      }
  }
}
</script>

5. Efecto de página

Inglés:

[Falló la transferencia de la imagen del enlace externo, el sitio de origen puede tener un mecanismo anti-leeching, se recomienda guardar la imagen y cargarla directamente (img-nzARQhpi-1646191151148)(image-20220302111124497.png)]

Chino:

[Falló la transferencia de imagen del enlace externo, el sitio de origen puede tener un mecanismo anti-leeching, se recomienda guardar la imagen y cargarla directamente (img-AniVqj6h-1646191151149)(image-20220302111142168.png)]

Supongo que te gusta

Origin blog.csdn.net/weixin_46724655/article/details/123225849
Recomendado
Clasificación