学而实习之 不亦乐乎

Android:判断当前系统语言

2024-04-23 20:30:36

一、Android判断当前系统语言

举例如下:
中文:getResources().getConfiguration().locale.getCountry().equals("CN")
繁体中文: getResources().getConfiguration().locale.getCountry().equals("TW")
英文(英式):getResources().getConfiguration().locale.getCountry().equals("UK")
英文(美式):getResources().getConfiguration().locale.getCountry().equals("US")

二、实例

1、判断当前环境是否是中文环境

public static boolean isZh(Context context) {
    Locale locale = context.getResources().getConfiguration().locale;
    String language = locale.getLanguage();
    if (language.endsWith("zh")) {
        return true;
    } else {
        return false;
    }
}

2、判断是否是中文或者繁体中文

public boolean isLunarSetting() {
    String language = getLanguageEnv();
    
    if (language != null && (language.trim().equals("zh-CN") || language.trim().equals("zh-TW"))) {
        return true;
    } else {
        return false;
    }
}

private String getLanguageEnv() {
    Locale locale = Locale.getDefault();
    String language = locale.getLanguage();
    String country = locale.getCountry().toLowerCase();
    if ("zh".equals(language)) {
        if ("cn".equals(country)) {
            language = "zh-CN";
        } else if ("tw".equals(country)) {
            language = "zh-TW";
        }
    } else if ("pt".equals(language)) {
        if ("br".equals(country)) {
            language = "pt-BR";
        } else if ("pt".equals(country)) {
            language = "pt-PT";
        }
    }
    return language;
}