Rumah  >  Artikel  >  hujung hadapan web  >  Konfigurasi UniApp dan pelaksanaan pengantarabangsaan berbilang bahasa

Konfigurasi UniApp dan pelaksanaan pengantarabangsaan berbilang bahasa

WBOY
WBOYasal
2023-07-04 08:34:362855semak imbas

UniApp ialah rangka kerja pembangunan merentas platform berdasarkan Vue.js, yang boleh membangunkan aplikasi dengan pantas yang berjalan pada berbilang platform pada masa yang sama. Dalam perkembangan sebenar, dengan globalisasi aplikasi, pengantarabangsaan pelbagai bahasa menjadi semakin penting. Artikel ini akan memperkenalkan cara UniApp mengkonfigurasi dan melaksanakan pengantarabangsaan berbilang bahasa serta melampirkan contoh kod.

  1. Mengkonfigurasi fail berbilang bahasa

Mula-mula, buat folder bernama lang dalam direktori akar projek UniApp untuk menyimpan fail berkaitan berbilang bahasa. Buat fail bernama index.js dalam folder lang untuk mengkonfigurasi berbilang bahasa dan bahasa lalai. Kod sampel adalah seperti berikut: lang的文件夹,用于存放多语言相关文件。在lang文件夹下创建一个名为index.js的文件,用于配置多语言语种和默认语言。示例代码如下:

// lang/index.js

export default {
  // 可选的多语言语种
  locales: ['en-US', 'zh-CN'],
  // 默认语言
  defaultLocale: 'zh-CN'
}
  1. 编写多语言文本

lang文件夹下创建一个名为locales的文件夹,用于存放不同语种的文本文件。在locales文件夹下创建对应的语种文件,命名格式为语种.js,例如en-US.jszh-CN.js。示例代码如下:

// lang/locales/en-US.js

export default {
  hello: 'Hello',
  welcome: 'Welcome to UniApp',
}

// lang/locales/zh-CN.js

export default {
  hello: '你好',
  welcome: '欢迎来到UniApp',
}
  1. 组件中使用多语言文本

在组件中使用多语言文本时,可以通过this.$t方法获取对应语种的文本。示例代码如下:

<template>
  <view>
    <text>{{ $t('hello') }}</text>
    <text>{{ $t('welcome') }}</text>
  </view>
</template>

<script>
export default {
  mounted() {
    console.log(this.$t('hello')) // 输出对应语种的文本
  }
}
</script>
  1. 切换语言

为了切换不同的语种,可以使用Vuex来存储当前选择的语言,并在需要切换语言的地方触发相应的方法。示例代码如下:

// store/index.js

export default {
  state: {
    locale: 'zh-CN' // 默认语言
  },
  mutations: {
    setLocale(state, locale) {
      state.locale = locale
    }
  },
  actions: {
    changeLocale({ commit }, locale) {
      commit('setLocale', locale)
    }
  }
}

// App.vue

<template>
  <view>
    <button @click="changeLocale('en-US')">English</button>
    <button @click="changeLocale('zh-CN')">中文</button>
    <component-a></component-a>
  </view>
</template>

<script>
import { mapActions } from 'vuex'

export default {
  methods: {
    ...mapActions(['changeLocale'])
  }
}
</script>

通过点击按钮来调用changeLocale方法,从而改变当前语言。

综上所述,UniApp实现多语言国际化的配置与实现需要进行多语言文件的配置,在组件中使用多语言文本时通过this.$trrreee

    Tulis teks berbilang bahasa🎜🎜🎜Buat folder bernama locales di bawah folder lang, Digunakan untuk menyimpan fail teks dalam bahasa yang berbeza. Cipta fail bahasa yang sepadan dalam folder locales, dengan format penamaan language.js, seperti en-US.js dan zh -CN.js. Kod sampel adalah seperti berikut: 🎜rrreee
      🎜Gunakan teks berbilang bahasa dalam komponen🎜🎜🎜Apabila menggunakan teks berbilang bahasa dalam komponen, anda boleh mendapatkan bahasa yang sepadan melalui this.$t teks kaedah. Kod sampel adalah seperti berikut: 🎜rrreee
        🎜Tukar bahasa🎜🎜🎜Untuk menukar bahasa yang berbeza, anda boleh menggunakan Vuex untuk menyimpan bahasa yang dipilih pada masa ini dan mencetuskan kaedah yang sepadan di mana bahasa itu perlu ditukar. Kod sampel adalah seperti berikut: 🎜rrreee🎜Panggil kaedah changeLocale dengan mengklik butang untuk menukar bahasa semasa. 🎜🎜Ringkasnya, konfigurasi dan pelaksanaan pengantarabangsaan berbilang bahasa dalam UniApp memerlukan konfigurasi fail berbilang bahasa Apabila menggunakan teks berbilang bahasa dalam komponen, dapatkan bahasa yang sepadan melalui this.$tkod> kaedah Teks, gunakan Vuex untuk menyimpan bahasa semasa di mana bahasa itu perlu ditukar, dan tukar bahasa dengan memanggil kaedah yang sepadan. Di atas ialah kaedah konfigurasi dan pelaksanaan UniApp untuk mencapai pengantarabangsaan berbilang bahasa, saya harap ia akan membantu anda. 🎜

Atas ialah kandungan terperinci Konfigurasi UniApp dan pelaksanaan pengantarabangsaan berbilang bahasa. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn