• (最简单,详细,直接上手)uniapp/vue中英文多语言切换


    官方文档

    uni-app官网

    1.安装

    npm install vue-i18n --save

    2.体会多语言切换

    hello-i18n 示例工程 - DCloud 插件市场

    这里面是一个官方的demo可以参考并且把它下载运行起来体会一下语言切换


    uni-app官网 

    这个是uniapp的官方文档可以做参考(项目着急的话,直接可以参考下面的文章)


    3.将语言包导入到自己的项目

     把从官方里面的那个demo项目里面的local文件夹直接复制到自己的项目根目录里面,跟demo一样

    4.main.js 引入并初始化 VueI18n

    1. import en from './en.json'
    2. import zhHans from './zh-Hans.json'
    3. import zhHant from './zh-Hant.json'
    4. const messages = {
    5. en,
    6. 'zh-Hans': zhHans,
    7. 'zh-Hant': zhHant
    8. }
    9. let i18nConfig = {
    10. locale: uni.getLocale(),// 获取已设置的语言
    11. messages
    12. }
    13. // VUE2
    14. // #ifndef VUE3
    15. import Vue from 'vue'
    16. import VueI18n from 'vue-i18n'
    17. Vue.use(VueI18n)
    18. const i18n = new VueI18n(i18nConfig)
    19. Vue.config.productionTip = false
    20. App.mpType = 'app'
    21. const app = new Vue({
    22. i18n,
    23. ...App
    24. })
    25. app.$mount()
    26. // #endif
    27. // VUE3
    28. // #ifdef VUE3
    29. import { createSSRApp } from 'vue'
    30. import { createI18n } from 'vue-i18n'
    31. const i18n = createI18n(i18nConfig)
    32. export function createApp() {
    33. const app = createSSRApp(App)
    34. app.use(i18n)
    35. return {
    36. app
    37. }
    38. }

    5.使用

    页面模板中使用 $t() 获取,并传递国际化json文件中定义的key,js中使用 this.$t('') 

     注意:页面中设置语言后需要调用 this.$i18n.locale = '要更改的语言' 后生效

     6.可能刚开始会有坑

    Fall back to translate ‘用户中心‘ key with ‘zh‘ locale.这样类似的问题

    1.一般情况下是没有定义’xxxx’字段对应的翻译

    2.仔细看一下要更改的语言与下面的K值是否匹配的上

  • 相关阅读:
    C#线程间操作无效:从不是创建控件“textbox1”的线程访问它
    网络爬虫是什么?怎么学python爬虫
    93. 复原 IP 地址
    pm2在Windows环境中的使用
    微信小程序如何分包
    ramdisk根文件系统
    计算机竞赛 深度学习 opencv python 公式识别(图像识别 机器视觉)
    行业追踪,2023-10-26
    linux工具篇
    Java8实战-总结23
  • 原文地址:https://blog.csdn.net/qq_59747594/article/details/127098502