博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Unity 5.4版本 Application.systemLanguage 失效
阅读量:7112 次
发布时间:2019-06-28

本文共 937 字,大约阅读时间需要 3 分钟。

最近在上线双语版本(一个包支持中文、英文二种语言)时,遇到一个坑点

if (ToolUtils.isAndroid()){    if (Application.systemLanguage == SystemLanguage.ChineseSimplified || Application.systemLanguage == SystemLanguage.Chinese || Application.systemLanguage == SystemLanguage.ChineseTraditional)    {        // 简体中文 || 繁体中文 使用中文, 其它地区使用英文        setLang("cn");    }    else    {        // Application.systemLanguage == SystemLanguage.English        setLang("en");    }}else{    setLang("en");}

 

上面这段代码看上面去没毛病是吧,可是市场的反馈说。为什么 iOS 和 安卓的转化率差了这么多。而且北美用户反馈怎么默认是中文啊?

 

我就意识到,上面这段代码可能出错了。iOS 没出错,是因为写死默认就是英文。然后拿出了二个方案:

1、在登录界面,放一个类似输入法一样的地球icon() + Language 字样,点击后弹出提示,用户可以选择切换语言;

2、重新出一个新包;

搞完上面这个已经是第二天的凌晨4点半了,还好。安卓上线后数据基本与 iOS 持平,说明问题已经得到解决了。

 

今天准备对现有包进行优化,又去查了一个 Application.systemLanguage,结果发现有人说这个有 bug,想起之前加的班,释然了。当时意识到的问题没错,不觉心中万只草泥马在奔腾,Unity!!!

 

光抱怨不行,得想办法解决。想彻底解决问题,只能依赖系统的原生语言,安卓 —— Java、iOS —— Objective-C/Swift 来获取。

 

iOS,参考下面的链接:

 

Android,参考下面的链接:

官方关于Android 7.0及以上的语言和语言区域的说明 :

转载地址:http://lbmhl.baihongyu.com/

你可能感兴趣的文章
vs2017常用快捷键
查看>>
使用ffmpeg将GoPro长延时的jpg照片转换成视频文件(一条命令)
查看>>
MyBatis
查看>>
Cookie禁用了,Session还能用吗?
查看>>
c#构造函数
查看>>
git push 403
查看>>
Proximal Algorithms 7 Examples and Applications
查看>>
QTP的那些事--增删改查中的增加操作的测试用例及其脚本设计思路
查看>>
IntelliJ IDEA创建maven web项目
查看>>
马云“私聊”奥巴马 全程保密有何玄机?
查看>>
python numpy笔记:给matlab使用者
查看>>
Java常用文件操作-1
查看>>
解决Django中通过主键像外键所在的表中添加内容
查看>>
gsoap 学习 1-如何使用
查看>>
世界五百强世硕科技工作经历——03
查看>>
钢条切割问题带你彻底理解动态规划
查看>>
Amazon S3 功能介绍
查看>>
vue传变量给组件
查看>>
POJ 3273
查看>>
Tp控制器
查看>>