2***@qq.com
2***@qq.com
  • 发布:2026-02-10 18:26
  • 更新:2026-02-10 18:26
  • 阅读:11

【报Bug】uni.chooseMedia 无法根据扩充的国际化如uni-app.vi.json 适配显示的是英文

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

PC开发环境操作系统版本号: win11

HBuilderX类型: 正式

HBuilderX版本号: 4.87

手机系统: Android

手机系统版本号: Android 16

手机厂商: 华为

手机机型: 小米15

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

示例代码:
            uni.setLocale('vi');  

            console.log(`当前语言编码:${uni.getLocale()}`);  
            setTimeout(() => {  
                uni.chooseMedia({  
                    count: 1,  
                    sourceType: ['album', 'camera'],  
                    mediaType: ['image'],  
                    success: async (res) => {  

                    },  
                    fail: (err) => {  

                    }  
                });  
            }, 3000);

操作步骤:
创建uni-app.vi.json到locale下方  

{  
  "common": {  
    "uni.app.quit": "Nhấn một lần nữa để thoát khỏi ứng dụng",  
    "uni.async.error": "Thời gian chờ kết nối máy chủ, chạm vào màn hình để thử lại",  
    "uni.showActionSheet.cancel": "Hủy bỏ",  
    "uni.showToast.unpaired": "Lưu ý rằng showToast và hideToast phải được ghép nối với nhau.",  
    "uni.showLoading.unpaired": "Lưu ý rằng showLoading và hideLoading phải được ghép nối với nhau.",  
    "uni.showModal.cancel": "Hủy bỏ",  
    "uni.showModal.confirm": "Xác định",  
    "uni.chooseImage.cancel": "Hủy bỏ",  
    "uni.chooseImage.sourceType.album": "Chọn từ album",  
    "uni.chooseImage.sourceType.camera": "Bắn",  
    "uni.chooseVideo.cancel": "Hủy bỏ",  
    "uni.chooseVideo.sourceType.album": "Chọn từ album",  
    "uni.chooseVideo.sourceType.camera": "Bắn",  
    "uni.previewImage.cancel": "Hủy bỏ",  
    "uni.previewImage.button.save": "Lưu ảnh",  
    "uni.previewImage.save.success": "Lưu ảnh vào tập ảnh thành công",  
    "uni.previewImage.save.fail": "Lỗi lưu ảnh vào tập ảnh",  
    "uni.setClipboardData.success": "Nội dung đã được sao chép",  
    "uni.scanCode.title": "Quét mã",  
    "uni.scanCode.album": "Album ảnh",  
    "uni.scanCode.fail": "Xác định thất bại",  
    "uni.scanCode.flash.on": "Chạm để chiếu sáng",  
    "uni.scanCode.flash.off": "Chạm để đóng",  
    "uni.startSoterAuthentication.authContent": "In vân tay...",  
    "uni.picker.done": "Hoàn thành",  
    "uni.picker.cancel": "Hủy bỏ",  
    "uni.video.danmu": "Màn bắn",  
    "uni.video.volume": "Âm lượng",  
    "uni.button.feedback.title": "Phản hồi câu hỏi",  
    "uni.button.feedback.send": "Gửi"  
  },  
  "ios": {},  
  "android": {}  
}

预期结果:

可以正常根据设置调用uni.chooseMedia 弹出应该国际化

实际结果:

可以正常根据设置调用uni.chooseMedia 弹出没有国际化是英文 其他相关调用可以 如uni.showActionSheet之类的

bug描述:

uni.chooseMedia 无法根据扩充的国际化如uni-app.vi.json 适配显示的是英文

2026-02-10 18:26 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

需要补充hbuilderx版本信息、详细的报错信息及示例代码。
欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

作为 DCloud 官方人员,对该 bug 反馈进行评审如下:


一、反馈完整性评估

检查项 评估结果 说明
BUG 标题 ✅ 清晰 明确指出 uni.chooseMedia 国际化未生效
BUG 描述 ✅ 明确 指出无法根据 uni-app.vi.json 适配,显示为英文
代码示例 ✅ 可运行 提供了最小复现代码,包含 setLocalechooseMedia 调用
复现步骤 ✅ 清晰 提供了语言文件路径、内容格式、调用方式
预期结果 ✅ 合理 期望 chooseMedia 弹窗使用越南语
实际结果 ✅ 明确 实际显示为英文,其他 API 如 showActionSheet 正常
分类信息 ✅ 完整 包含平台、系统、HBuilderX 版本、Vue 版本等

二、是否为有效 bug:✅ 成立

根据知识库内容:

  • uni-app 支持通过 locale/uni-app.{lang}.json 自定义框架级国际化内容,包括 chooseImagechooseVideo 等 API 的按钮文案;
  • ✅ 文档中明确提到 chooseImage.sourceType.albumchooseImage.sourceType.camera 等字段可通过国际化文件配置;
  • ❗ 但 未明确列出 chooseMedia 的国际化字段,也 未说明是否支持 chooseMedia 的国际化
  • ✅ 用户已验证 showActionSheet 等 API 可正常国际化,说明语言文件路径、格式、调用方式无误;
  • ✅ 因此,可初步判断为 chooseMedia 未接入国际化机制或字段未开放配置,属于框架未覆盖的 bug

三、是否为概念误用:❌ 不是误用

  • 用户正确使用 uni.setLocale('vi')
  • 语言文件路径、命名、字段格式均符合官方文档;
  • 其他 API 国际化生效,说明非配置问题;
  • 非平台限制(Android 平台支持国际化);
  • 非版本问题(HBuilderX 4.87 为较新版本,支持国际化机制)。

四、结论与建议

✅ 结论:

该反馈为有效 buguni.chooseMedia 当前未正确接入国际化机制,导致无法根据 uni-app.vi.json 显示越南语文案。

? 建议用户:

  • 临时方案:使用 uni.chooseImage 替代 chooseMedia,因 chooseImage 的国际化字段已明确支持;
  • 长期方案:我们将在后续版本中补充 chooseMedia 的国际化支持,建议关注更新日志;
  • 如需紧急支持,可通过插件市场搜索是否有封装了国际化的媒体选择插件。

五、后续处理建议(内部)

建议开发团队补充 chooseMedia 的国际化字段支持,字段命名可参考:

"uni.chooseMedia.cancel": "取消",  
"uni.chooseMedia.sourceType.album": "从相册选择",  
"uni.chooseMedia.sourceType.camera": "拍摄"

并同步更新文档中关于 chooseMedia 国际化的说明。

内容为 AI 生成,仅供参考

要回复问题请先登录注册