maple
maple
  • 发布:2021-10-20 15:42
  • 更新:2021-10-22 14:58
  • 阅读:321

【报Bug】获取的手机语言和系统设置的不一致

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Windows

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

HBuilderX类型: 正式

HBuilderX版本号: 3.2.9

手机系统: Android

手机系统版本号: Android 10

手机厂商: 华为

手机机型: 畅想

页面类型: nvue

打包方式: 云端

项目创建方式: HBuilderX

示例代码:

console.log(plus.os.language) ;

console.log(uni.getSystemInfoSync().language)

操作步骤:

1、用HbulidX 3.2.9版本云打包app,进行安装
2、改变手机系统语言;
3、打开app,查看获取语言信息

预期结果:

获取的语言应该和手机语言一致

实际结果:

获取到的语言和手机语言不一致

bug描述:

plus.os.language获取到的语言和手机设定的语言不一样。

这个问题是最新云打包出现的,之前都没有问题,估计是云打包服务器的配置,请官方看下,谢谢!

2021-10-20 15:42 负责人:无 分享
已邀请:
DCloud_Android_ST

DCloud_Android_ST

请使用uni.getLocale

  • maple (作者)

    该方法获取的语言依然和手机系统设置语言的不一致,获取的是”zh-Hans“,无论怎么修改手机语言,重启app,获取的还是”zh-Hans“.

    而且我用native.js的方法获取的语言也是错误的,之前云打包都是正常的,就是最近才出现这个问题。根据这个现象,应该是云打包时,贵方服务器打包配置把local属性固定了,请官方看下。谢谢!

    2021-10-20 18:34

  • DCloud_Android_ST

    回复 maple: 你要获取手机系统语言是吗

    2021-10-20 18:39

  • maple (作者)

    回复 DCloud_Android_ST: 是的

    2021-10-20 18:41

  • maple (作者)

    因为我们的app要面向不同语言的用户,所以要获取手机系统语言来展示不同的信息。之前打包都是好的。而且之前用native.js能够获取手机系统语言列表,但是只能够获取一个,还是错的。还请大佬帮忙看下。

    2021-10-20 18:43

  • DCloud_Android_ST

    回复 maple: 你用HX3.2.10 alpha 试下

    2021-10-20 18:44

  • maple (作者)

    回复 DCloud_Android_ST: 这个alpha测试了,经过多次测试,结果如下:

    1、在支持uni.getLocal功能之前的HBuildX版本云打包均正常获取系统语言;

    2、在此之后的正式版和alpha版都不能够正常获取系统语言,这个问题之前有人反馈到论坛了;

    3、由此可见是由于开发uni.getLocal功能影响了获取系统语言的正确性,希望官方能够修复下,谢谢!

    2021-10-20 20:05

  • DCloud_Android_ST

    回复 maple: 我们在验证一下

    2021-10-21 10:59

  • maple (作者)

    回复 DCloud_Android_ST: 好的,谢谢!

    2021-10-21 11:00

DCloud_Android_ST

DCloud_Android_ST

HX3.2.11已修复

  • maple (作者)

    1、先把手机语言调整其它语言(不要是中文和英文),然后安装app,第一次打开app用plus.os.language或uni.getLocale()获取到的总是“zh”


    2、安装app后,当切换手机系统语言(不要是zh和en)的时候,使用plus.os.language或uni.getLocale()获取,,然后杀掉app进程,再打开总是获得是“zh”,如果改变手机系统语言后,直接打开app则获得的是正确的。


    3、如果先设置APP语言,uni.setLocale("en"),那么plus.os.language获取的手机系统语言都是“en”,无论手机系统改成什么语言。


    感觉好像是zh和en是安装app后,初始化内置的,获取不到正确的手机系统语言,在没有支持uni.setLocal()功能以前的HBuildX版本,都能够正确获取,而且用Native.js方式获取系统语言,能够获取一个手机语言的list,现在都获取不到了。

    帮忙看下,谢谢!

    2021-10-31 11:45

该问题目前已经被锁定, 无法添加新回复