Android中判断当前语言是否为繁体中文

java 复制代码
Locale locale;
if (Build.VERSION.SDK_INT >= 24) {
    locale = LocaleList.getDefault().get(0);
} else {
    locale = Locale.getDefault();
}
String systemLanguage = locale.getLanguage();
if (systemLanguage.equals("zh")) {
    String languageTag = locale.toLanguageTag();
    if (languageTag.contains("zh-Hant") ||
            languageTag.contains("zh-TW") ||
            languageTag.contains("zh-HK") ||
            languageTag.contains("zh-MO")) {
        // 繁体中文
    } else {
        // 简体中文
    }
} else {
    // 其他语言
}

说明:

  1. locale.getLanguage()接口返回当前语言类别,比如:zh表示中文,但是不会区分简体和繁体。

  2. locale.toLanguageTag()接口返回格式良好的IETF BCP 47语言标记,比如:zh-Hans-CN表示语言为简体中文(zh-Hans),地区为中国大陆(CN);zh-Hant-TW表示语言为繁体中文(zh-Hant),地区为中国台湾(TW)。

  3. 条件中添加zh-TW、zh-HK、zh-MO判断的原因是:部分老型号手机(比如:红米note5、魅族MX6),没有单独的地区设置,当这些手机设置为繁体中文后,locale.toLanguageTag()接口返回的结果不是标准的IETF BCP 47语言标记,所以需要特殊处理。

相关推荐
小趴菜82278 小时前
安卓接入Kwai广告源
android·kotlin
2501_916013749 小时前
iOS 混淆与 App Store 审核兼容性 避免被拒的策略与实战流程(iOS 混淆、ipa 加固、上架合规)
android·ios·小程序·https·uni-app·iphone·webview
程序员江同学10 小时前
Kotlin 技术月报 | 2025 年 9 月
android·kotlin
码农的小菜园10 小时前
探究ContentProvider(一)
android
时光少年12 小时前
Compose AnnotatedString实现Html样式解析
android·前端
hnlgzb13 小时前
安卓中,kotlin如何写app界面?
android·开发语言·kotlin
jzlhll12313 小时前
deepseek kotlin flow快生产者和慢消费者解决策略
android·kotlin
火柴就是我13 小时前
Android 事件分发之动态的决定某个View来处理事件
android
一直向钱13 小时前
FileProvider 配置必须针对 Android 7.0+(API 24+)做兼容
android
zh_xuan13 小时前
Android 消息循环机制
android