美文网首页Android开发
Android 获取手机语言环境 区分简体和繁体,香港,澳门,台

Android 获取手机语言环境 区分简体和繁体,香港,澳门,台

作者: 张海龙_China | 来源:发表于2023-02-28 15:09 被阅读0次

安卓和IOS 系统语言都是准守:ISO 639 ISO 代码表

IOS:plus.os.language  ios正常,安卓下简体和繁体语言,都是zh

安卓获取系统语言方法:Locale.getDefault().language

手机切换到繁体(台湾,香港,澳门)还是选择简体中文拿到的都是zh

这个时候还想区分台湾,香港,澳门还是大陆,需要使用其他方法配合使用

方法1:

首先根据:Locale.getDefault().language 判断如果是zh ,可以借助:

Locale.getDefault().toLanguageTag()

Locale.getDefault().toLanguageTag() 获取的数据:

香港:zh-Hant-HK 

台湾:zh-Hant-TW

澳门:zh-Hant-MO

大陆:zh-Hans-CN

代码:

var languages = Locale.getDefault().language

        var languageTag = Locale.getDefault().toLanguageTag()

        if (languages=="zh"){

            when(languageTag){

                "zh-Hant-TW"->{

                    //繁体 台湾

                }

                "zh-Hant-HK"->{

                    //繁体 香港

                }

                "zh-Hant-MO"->{

                    //繁体 澳门

                }

                "zh-Hans-CN"->{

                    //简体 大陆

                }

            }

        }

方法2:

首先根据:Locale.getDefault().language 判断如果是zh ,可以借助:

Locale.getDefault().country

Locale.getDefault().country 获取的数据:

香港:HK

台湾:TW

澳门:MO

大陆:CN

代码:

var languages = Locale.getDefault().language

        var country = Locale.getDefault().country

        if (languages=="zh"){

            when(country){

                "TW"->{

                    //繁体 台湾

                }

                "HK"->{

                    //繁体 香港

                }

                "MO"->{

                    //繁体 澳门

                }

                "CN"->{

                    //简体 大陆

                }

            }

        }

相关文章

网友评论

    本文标题:Android 获取手机语言环境 区分简体和繁体,香港,澳门,台

    本文链接:https://www.haomeiwen.com/subject/duelldtx.html