uni-app 内部组件国际化翻译没用

uni-app 内部组件国际化翻译没用

操作步骤:

  • 我在项目中正常引入了 i18 国际化翻译,但在测试上传图片时遇到问题:
  • 弹出的提示框显示的是 键名,而不是翻译后的文本。
  • 即使其他地方的翻译正常工作,上传图片的弹框依然没有被翻译。

预期结果:

  • 切换到泰语的时候,上传图片的弹框内容应该是泰语而不是英文键名

实际结果:

  • 切换到泰语的时候,上传图片按钮的弹框显示的是 uni.chooselmage.sourceType.camerauni.chooselmage.sourceType.albumuni.chooselmage.cancel

bug描述:

  • 第三四张图片是我的语言包的代码,按照文档里把内部组件的键名写到 common 里。第一二张图片是我运行到真机时候显示的样式,显示的全是键名,我在语言包里命名的键名并没有生效,在中文时候 uni 内部框架语言显示中文,在泰文的时候就全部显示键名。第五张图片是我运行到浏览器 H5 的时候显示的样式,我在浏览器切换泰文是写的测试 showActionSheet 弹框生效了我的泰文语言包中 uni.showActionSheet.cancel 键名,而一二张图我打正式包,自定义调试基座包运行到手机上的时候,我泰文语言包里的内部组件键名全部都没有生效,我其他自定义的翻译字段均已生效

图片

Image 1 Image 2 Image 3 Image 4 Image 5

信息项 详情
产品分类 uniapp/App
PC开发环境操作系统 Windows
PC开发环境版本号 Windows 11
HBuilderX类型 正式
HBuilderX版本号 4.76
手机系统 Android
手机系统版本号 Android 8.0
手机厂商 华为
手机机型 Redmin 8A
页面类型 vue
Vue版本 vue2
打包方式 云端
项目创建方式 HBuilderX
App下载地址 https://app.liuyingyong.cn/build/download/0ae6e7a0-b2f9-11f0-88aa-737492ebaeaf

更多关于uni-app 内部组件国际化翻译没用的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于uni-app 内部组件国际化翻译没用的实战教程也可以访问 https://www.itying.com/category-93-b0.html


这是一个典型的 uni-app 内部组件国际化配置问题。从你的描述和截图来看,问题主要出现在 App 端打包时内部组件的翻译键名未正确映射。

核心问题分析:

  1. 平台差异:H5 端翻译正常而 App 端异常,说明打包配置或平台特定处理存在问题
  2. 内部组件键名映射uni.chooselmage.sourceType.camerauni.chooselmage.sourceType.album 等是 uni-app 内部组件的标准键名
  3. 打包时机影响:自定义调试基座和正式包都出现此问题,排除调试环境因素

解决方案:

检查语言包 common 节点的配置是否正确:

{
  "en": {
    "common": {
      "uni.chooselmage.sourceType.camera": "Camera",
      "uni.chooselmage.sourceType.album": "Album", 
      "uni.chooselmage.cancel": "Cancel"
    }
  },
  "th": {
    "common": {
      "uni.chooselmage.sourceType.camera": "กล้อง",
      "uni.chooselmage.sourceType.album": "อัลบั้ม",
      "uni.chooselmage.cancel": "ยกเลิก"
    }
  }
}
回到顶部