安卓和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"->{
//简体 大陆
}
}
}
网友评论