let locale = uni.getLocale();
console.log(locale);
- 发布:2022-06-18 11:36
- 更新:2023-04-11 15:56
- 阅读:2374
产品分类: uniapp/App
PC开发环境操作系统: Mac
PC开发环境操作系统版本号: 和版本无关
HBuilderX类型: 正式
HBuilderX版本号: 3.4.15
手机系统: Android
手机系统版本号: Android 12
手机厂商: 华为
手机机型: 麦芒9,系统为鸿蒙2.0
页面类型: vue
vue版本: vue2
打包方式: 云端
项目创建方式: HBuilderX
示例代码:
操作步骤:
系统语言为日语时,uni.getLocale()获取到的语言是中文简体:zh-Hans
系统语言为日语时,uni.getLocale()获取到的语言是中文简体:zh-Hans
预期结果:
获取到对应的语言
获取到对应的语言
实际结果:
没获取到对应的语言
没获取到对应的语言
bug描述:
系统语言为日语时,uni.getLocale()获取到的语言是中文简体:zh-Hans
FullStack - 【插件开发】【专治疑难杂症】【ios上架、马甲包、白包、过审、已成功上架过几百个】【多款插件已上架:https://ext.dcloud.net.cn/publisher?id=22130】【非诚勿扰】QQ:543610866
这个是获取app的语音的吧
你搞错了,这个是app的语言。只不过如果os的语言和app的语言可以匹配,会有兼容策略。
你需要看getSystemInfo的API,那里有系统语言。
如果你要支持日语,也可以不获取getSystemInfo,按uni国际化的规范在项目下配好日语资源,默认就可以自动兼容。
-
灵魂摆渡 (作者)
这个肯定是有BUG的,我测试好多次了的,在app使用uni.setLocale()设置语言后,uni.getLocale()获取到的语言是对的!在app没有设置语言的时候,系统语言为简体中文,繁体中文,英语,藏语时uni.getLocale()获取到的语言都是对的,当系统语言为日语时,这个接口获取到的是简体中文,这难道不是BUG?
2022-06-20 09:20
-
回复 3***@qq.com: 能不能重新梳理下你说的问题,确保你在理解了getLocale和getSystemInfo是两码事的基础之上,再好好描述下你的问题
2022-07-16 17:41
-
灵魂摆渡 (作者)
回复 DCloud_heavensoft: 系统语言是日语的时候,打印weex.requireModule('plus').getLanguage()的值是zh-Hans(中文简体),我能说什么?我还要怎么去理解你所说的那两个接口?
2022-07-26 10:06
-
灵魂摆渡 (作者)
回复 DCloud_heavensoft: 如果说你认为你们的代码逻辑没有问题,那么你们就当我说的是废话,不用去复现这个问题!你们就一定能确保你们的代码100%是正确的?市面上的设备千千万万,每台你们都能测试到?
2022-07-26 10:13
-
回复 3***@qq.com: 我感觉我们是鸡同鸭讲。uni-app获取手机os的语言的api是uni.getSystemInfo里的osLanguage啊,你把os的语言改成日文,要打印这个api才有意义。而getLocale取的是app的语言设置。app的语言和os的语言是2码事。
2022-07-26 19:27
-
灵魂摆渡 (作者)
回复 DCloud_heavensoft: 说了叫你看最下面的两张图片,就是把手机系统的语言调成日语的,uni.getSystemInfo里的osLanguage获取到的依然是中文简体啊,这么简单的事情,要说几次呢??!!
2022-07-29 13:51
-
灵魂摆渡 (作者)
回复 DCloud_heavensoft: 我知道getLocale获取的是app语言,app的语言和os语言是两码事,但是uni.getSystemInfo获取到的系统语言不对了,在没有setLocale的情况下,getLocale获取到的语言怎么会对呢????
2022-07-29 13:54
-
灵魂摆渡 (作者)
回复 DCloud_heavensoft: 有多人遇到这个问题,这总不是我自己搞错的问题了吧?可以看这个贴子:https://ask.dcloud.net.cn/question/128830
2022-07-29 14:30
-
回复 3***@qq.com: 你下面贴的截图,并不是打印uni.getSystemInfoSync里的osLanguage。然后你发的别人的帖子,是n年前的bug,早已修复。而osLanguage是最近2个月才出的新api。你要认为这个新api有bug,那就好好报,打印信息
2022-07-29 17:36
灵魂摆渡 (作者)
这个BUG没人解决也没人理会的吗?
1、请使用标准API uni.getSystemInfoSync().osLanguage
2、请使用HX3.4.18+版本基座测试下
3、语言设置中地域改成日本是否返回就正常了
4、建议多试几台设备、不排除是设备系统自身问题
提供下具体设备型号,我们现在试了多台设备 没有返回中文的情况
1***@163.com - 90后IT男
uni.getSystemInfoSync().osLanguage 使用这个API获取语言是正常的,但是官网案例用的是 uni.getLocale 这个API ,摸索了半天,找到这来了,一直以为是自己哪里没配置好,uni.getLocale 获取的是app设置的语言, 我在manifest.json文件里面设置的默认语言是英语,uni.getLocale 返回的是中文繁体,可我从来没设置过,不知道哪里出问题了。
灵魂摆渡 (作者)
不是的,获取系统的,当系统语言是英语、繁体中文时没有问题,系统语言为日本语时获取到的语言是简体中文的!
2022-06-18 17:59