美乐居士
美乐居士
  • 发布:2023-07-21 10:44
  • 更新:2023-11-25 18:11
  • 阅读:465

【报Bug】APP名字使用国际化,决定生效的居然是回退语言字段“fallbackLocale”,而不是当前系统语言

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 3.8.7

手机系统: iOS

手机系统版本号: iOS 16

手机厂商: 苹果

手机机型: iPhone12

页面类型: vue

vue版本: vue2

打包方式: 云端

项目创建方式: HBuilderX

操作步骤:

1、应用名称使用国际化%app.name%,在zh-Hans.json和en.json分别添加“app.name”字段
2、设置系统语言为中文,默认回退语言为英文
3、使用plus.runtime.appid获取APP名字

预期结果:

使用plus.runtime.appid获取APP名字应该得到中文

实际结果:

使用plus.runtime.appid获取APP名字得到的确实英文

bug描述:

应用名称使用的国际化%app.name%来定义,当我系统语言为中文,默认回退语言设置为英文,使用plus.runtime.appid来获取name得到的是英文名,但uni.getLocale()得到的明明是zh-Hans。当我设置默认回退语言为中文,plus.runtime.appid拿到的name又变成中文了,系统语言为英文时亦是如此.默认语言设置的跟随系统

2023-07-21 10:44 负责人:DCloud_App_Array 分享
已邀请:
美乐居士

美乐居士 (作者)

安卓机小米11,安卓版本13也是如此

nopilot

nopilot

最新hbuilder版本,ios测试也是如此。希望官方能回复解决下,还遇到相机读取权限和用户跟踪权限弹窗的提示语有同样这个bug

套马杆的套子

套马杆的套子 - 没有解决不了的问题,只有解决不完的问题

手机设置的是什么语言呢?

nopilot

nopilot

手机设置为英文、中文,问题都是一样的。

如果fallback=中文简体,那么开屏图的APP名字是中文、2个IOS权限弹窗(相册读取、用户跟踪)都是显示中英换杂(提示语标题是正确的中文,但副标题是英文),虽然手机语言=英文。

如果fallback=en,那么那么开屏图的APP名字是英文、2个IOS权限弹窗(相册读取、用户跟踪)都是显示中英混杂(提示语标题是正确的英文,但副标题是中文),虽然手机语言=中文。

这个换了测试手机和hbuilderX版本,问题同样,所以应该是框架组件多语言实现的bug。

  • 套马杆的套子

    什么权限呢?你看下在 "app-plus" -> "distribute" -> "android" 节点下,类似于 permissionPhoneState 节点,你看是自己配的么

    2023-11-14 10:23

nopilot

nopilot

IOS的权限勾选是在manifest图形页面,生成的源码如截图

nopilot

nopilot

再补充下其它manifest的配置截图

nopilot

nopilot

这个是IOS版本,不是安卓啊。你回的帖子我看了是安卓的,应该不适用IOS吧?

nopilot

nopilot

这个又重复测试了最新的hbuilderX版本,以及不同的manifest多语言设置(auto+中/英,中/中,英英),发现问题都是一样的,推测就是启动图和那几个框架组件用的是fallback语言,而不是手机os语言、也不是uni.getLocale()的值。

请官方确认修复一下?否则国际化在苹果的表现是明显有问题的。谢谢!

nopilot

nopilot

这个bug能否请官方确认回复一下吗?如果能排期解决就更感谢不尽。

nopilot

nopilot

能否烦请官方确认下这是是否是bug?试了各种变通方式,问题都是一样。搜索社区一些老的帖子,发现有多人反馈过同样问题,但都没有得到官方的正式回复。

理解官方技术支持的繁忙程度和优先级。

谢谢!

要回复问题请先登录注册