uni-app 内部组件国际化翻译没用
uni-app 内部组件国际化翻译没用
操作步骤:
- 我在项目中正常引入了 i18 国际化翻译,但在测试上传图片时遇到问题:
- 弹出的提示框显示的是 键名,而不是翻译后的文本。
- 即使其他地方的翻译正常工作,上传图片的弹框依然没有被翻译。
预期结果:
- 切换到泰语的时候,上传图片的弹框内容应该是泰语而不是英文键名
实际结果:
- 切换到泰语的时候,上传图片按钮的弹框显示的是
uni.chooselmage.sourceType.camera、uni.chooselmage.sourceType.album、uni.chooselmage.cancel
bug描述:
- 第三四张图片是我的语言包的代码,按照文档里把内部组件的键名写到 common 里。第一二张图片是我运行到真机时候显示的样式,显示的全是键名,我在语言包里命名的键名并没有生效,在中文时候 uni 内部框架语言显示中文,在泰文的时候就全部显示键名。第五张图片是我运行到浏览器 H5 的时候显示的样式,我在浏览器切换泰文是写的测试 showActionSheet 弹框生效了我的泰文语言包中
uni.showActionSheet.cancel键名,而一二张图我打正式包,自定义调试基座包运行到手机上的时候,我泰文语言包里的内部组件键名全部都没有生效,我其他自定义的翻译字段均已生效
图片

| 信息项 | 详情 |
|---|---|
| 产品分类 | 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 端打包时内部组件的翻译键名未正确映射。
核心问题分析:
- 平台差异:H5 端翻译正常而 App 端异常,说明打包配置或平台特定处理存在问题
- 内部组件键名映射:
uni.chooselmage.sourceType.camera、uni.chooselmage.sourceType.album等是 uni-app 内部组件的标准键名 - 打包时机影响:自定义调试基座和正式包都出现此问题,排除调试环境因素
解决方案:
检查语言包 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": "ยกเลิก"
}
}
}

