Unity 5.4版本 Application.systemLanguage 失效

最近在上線雙語版本(一個包支持中文、英文二種語言)時,遇到一個坑點html

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 和 安卓的轉化率差了這麼多。並且北美用戶反饋怎麼默認是中文啊?android

 

我就意識到,上面這段代碼可能出錯了。iOS 沒出錯,是由於寫死默認就是英文。而後拿出了二個方案:ios

一、在登陸界面,放一個相似輸入法同樣的地球icon() + Language 字樣,點擊後彈出提示,用戶能夠選擇切換語言;ide

二、從新出一個新包;優化

搞完上面這個已是次日的凌晨4點半了,還好。安卓上線後數據基本與 iOS 持平,說明問題已經獲得解決了。ui

 

今天準備對現有包進行優化,又去查了一個 Application.systemLanguage,結果發現有人說這個有 bug,想起以前加的班,釋然了。當時意識到的問題沒錯,不覺心中萬隻草泥馬在奔騰,Unity!!!spa

 

光抱怨不行,得想辦法解決。想完全解決問題,只能依賴系統的原生語言,安卓 —— Java、iOS —— Objective-C/Swift 來獲取。3d

 

iOS,參考下面的連接:http://www.hudongdong.com/ios/556.htmlcode

 

Android,參考下面的連接:htm

https://likfe.com/2017/05/10/android-sys-language/

官方關於Android 7.0及以上的語言和語言區域的說明 :

https://developer.android.com/guide/topics/resources/multilingual-support?hl=zh-cn

相關文章
相關標籤/搜索