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"->{
//简体 大陆
}
}
}