Android 区分中文简体和繁体
Android 和 IOS 系统语言都遵守 ISO 639,但在 Android 下简体和繁体语言都是 "zh",无论手机切换到中文繁体还是选择简体中文得到的语言代码都是 "zh",因此想要区简体还是繁体,需要使用其他方法配合使用。
方法一
首先根据: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"->{
            //简体 大陆
        }
    }
}
方法二
首先根据:Locale.getDefault().language 判断如果是否为 zh
然后使用: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"->{
            //简体 大陆
        }
    }
}
