package com.seewo.vcommons.utils;

import a.b.c.a.a;
import android.content.Context;
import android.content.res.Resources;
import android.os.SystemProperties;
import com.android.internal.app.LocalePicker;
import com.seewo.vcommons.R;
import com.seewo.vcommons.utils.reflect.Reflect;
import java.text.Collator;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Locale;

/* JADX INFO: loaded from: classes.dex */
public class LanguageUtils {
    public static final String ARABIC_LOCAL = "EG";
    public static final String ARABIC_NAME = "ar";
    public static final String CATALAN_LOCAL = "ES_CATALAN";
    public static final String CATALAN_NAME = "ca";
    public static final String CHINA_LOCAL = "CN";
    public static final String CHINA_NAME = "CN";
    public static final String CZECH_LOCAL = "CZ";
    public static final String CZECH_NAME = "cs";
    public static final String DANISH_LOCAL = "DK";
    public static final String DANISH_NAME = "da";
    public static final String DUTCH_LOCAL = "NL";
    public static final String DUTCH_NAME = "nl";
    public static final String FINNISH_LOCAL = "FI";
    public static final String FINNISH_NAME = "fi";
    public static final String FRANCE_LOCAL = "FR";
    public static final String FRANCE_NAME = "fr";
    public static final String GERMAN_LOCAL = "DE";
    public static final String GERMAN_NAME = "de";
    public static final String GREEK_LOCAL = "GR";
    public static final String GREEK_NAME = "el";
    public static final String ITALIAN_LOCAL = "IT";
    public static final String ITALIAN_NAME = "it";
    public static final String JAPANESE_LOCAL = "JP";
    public static final String JAPANESE_NAME = "ja";
    public static final String KOREAN_LOCAL = "KR";
    public static final String KOREAN_NAME = "ko";
    public static final String NORWEGIAN_LOCAL = "NO";
    public static final String NORWEGIAN_NAME = "nb";
    public static final String PERISAN_LOCAL = "IR";
    public static final String PERISAN_NAME = "fa";
    public static final String POLISH_LOCAL = "PL";
    public static final String POLISH_NAME = "pl";
    public static final String PORTUGAL_LOCAL = "PT";
    public static final String PORTUGAL_NAME = "pt";
    public static final String ROMANIAN_LOCAL = "RO";
    public static final String ROMANIAN_NAME = "ro";
    public static final String RUSSIA_LOCAL = "RU";
    public static final String RUSSIA_NAME = "ru";
    public static final String SPAIN_LOCAL = "ES";
    public static final String SPAIN_NAME = "es";
    public static final String SUPPORT_NOCOUNTRY_EN = "ro.product.support_def_english";
    public static final String SWEDISH_LOCAL = "SE";
    public static final String SWEDISH_NAME = "sv";
    private static final String TAG = "LanguageUtils";
    public static final String TAIWAN_LOCAL = "TW";
    public static final String TAIWAN_NAME = "TW";
    public static final String THAILAND_LOCAL = "TH";
    public static final String THAILAND_NAME = "th";
    public static final String TURKISH_LOCAL = "TR";
    public static final String TURKISH_NAME = "tr";
    public static final String UKRAINE_LOCAL = "UA";
    public static final String UKRAINE_NAME = "uk";
    public static final String UNGARIAN_LOCAL = "HU";
    public static final String UNGARIAN_NAME = "hu";
    public static final String US_LOCAL = "US";
    public static final String US_NAME = "en";
    public static final String VIETNAMESE_LOCAL = "VN";
    public static final String VIETNAMESE_NAME = "vi";

    public static class LocaleInfo implements Comparable<LocaleInfo> {
        public static final Collator sCollator = Collator.getInstance();
        public String label;
        public Locale locale;

        public LocaleInfo(String str, Locale locale) {
            this.label = str;
            this.locale = locale;
        }

        @Override // java.lang.Comparable
        public int compareTo(LocaleInfo localeInfo) {
            return sCollator.compare(this.label, localeInfo.label);
        }

        public String getLabel() {
            return this.label;
        }

        public Locale getLocale() {
            return this.locale;
        }

        public String toString() {
            StringBuilder sbC = a.C("LocaleInfo{label='");
            a.i0(sbC, this.label, '\'', ", locale=");
            sbC.append(this.locale);
            sbC.append('}');
            return sbC.toString();
        }
    }

    private LanguageUtils() {
    }

    public static List<LocaleInfo> getAllSystemLocales(Context context) {
        LocaleInfo localeInfo;
        Resources resources = context.getResources();
        String[] locales = Resources.getSystem().getAssets().getLocales();
        ArrayList arrayList = new ArrayList();
        for (String str : locales) {
            RLog.d(TAG, str);
            arrayList.add(str);
            if ("kk".equals(str)) {
                arrayList.add("kk-KZ");
            }
        }
        int size = arrayList.size();
        String[] strArr = new String[size];
        for (int i2 = 0; i2 < arrayList.size(); i2++) {
            strArr[i2] = (String) arrayList.get(i2);
        }
        ArrayList<String> arrayList2 = new ArrayList(size);
        Collections.addAll(arrayList2, strArr);
        Collections.sort(arrayList2);
        String[] stringArray = resources.getStringArray(R.array.vcommon_special_locale_codes);
        String[] stringArray2 = resources.getStringArray(R.array.vcommon_special_locale_names);
        ArrayList arrayList3 = new ArrayList(arrayList2.size());
        for (String str2 : arrayList2) {
            Locale locale = (Locale) Reflect.on((Class<?>) Locale.class).call("forLanguageTag", str2.replace('_', '-')).get();
            if (locale != null && !"und".equals(locale.getLanguage()) && !locale.getLanguage().isEmpty() && !locale.getCountry().isEmpty()) {
                if (arrayList3.isEmpty()) {
                    localeInfo = new LocaleInfo(toTitleCase(locale.getDisplayLanguage(locale)), locale);
                } else {
                    LocaleInfo localeInfo2 = (LocaleInfo) arrayList3.get(arrayList3.size() - 1);
                    if (!localeInfo2.locale.getLanguage().equals(locale.getLanguage()) || localeInfo2.locale.getLanguage().equals("zz")) {
                        localeInfo = ("zh-CN".equals(str2) || "zh-TW".equals(str2)) ? new LocaleInfo(getDisplayName(locale, stringArray, stringArray2), locale) : new LocaleInfo(toTitleCase(locale.getDisplayLanguage(locale)), locale);
                    } else {
                        localeInfo2.label = toTitleCase(getDisplayName(localeInfo2.locale, stringArray, stringArray2));
                        localeInfo = new LocaleInfo(toTitleCase(getDisplayName(locale, stringArray, stringArray2)), locale);
                    }
                }
                arrayList3.add(localeInfo);
            }
        }
        if (SystemProperties.getInt(SUPPORT_NOCOUNTRY_EN, 0) == 1) {
            arrayList3.add(new LocaleInfo("English", new Locale(US_NAME)));
        }
        Collections.sort(arrayList3);
        return arrayList3;
    }

    public static String getCountry() {
        return Locale.getDefault().getCountry();
    }

    private static String getDisplayName(Locale locale, String[] strArr, String[] strArr2) {
        String string = locale.toString();
        for (int i2 = 0; i2 < strArr.length; i2++) {
            if (strArr[i2].equals(string)) {
                return strArr2[i2];
            }
        }
        return locale.getDisplayName(locale);
    }

    public static String getLanguage() {
        return Locale.getDefault().getLanguage();
    }

    public static Locale getLanguageLocal(String str) {
        return getLocaleByLanguageName(str);
    }

    private static Locale getLocaleByLanguageName(String str) {
        if ("CN".equals(str)) {
            return Locale.CHINA;
        }
        if ("TW".equals(str)) {
            return Locale.TAIWAN;
        }
        if (US_LOCAL.equals(str)) {
            return Locale.US;
        }
        if (FRANCE_LOCAL.equals(str)) {
            return Locale.FRANCE;
        }
        if (SPAIN_LOCAL.equals(str)) {
            return new Locale(SPAIN_NAME, SPAIN_LOCAL);
        }
        if (PORTUGAL_LOCAL.equals(str)) {
            return new Locale(PORTUGAL_NAME, PORTUGAL_LOCAL);
        }
        if (GERMAN_LOCAL.equals(str)) {
            return new Locale(GERMAN_NAME, GERMAN_LOCAL);
        }
        if (DUTCH_LOCAL.equals(str)) {
            return new Locale(DUTCH_NAME, DUTCH_LOCAL);
        }
        if (POLISH_LOCAL.equals(str)) {
            return new Locale(POLISH_NAME, POLISH_LOCAL);
        }
        if (RUSSIA_LOCAL.equals(str)) {
            return new Locale(RUSSIA_NAME, RUSSIA_LOCAL);
        }
        if (CZECH_LOCAL.equals(str)) {
            return new Locale(CZECH_NAME, CZECH_LOCAL);
        }
        if (DANISH_LOCAL.equals(str)) {
            return new Locale(DANISH_NAME, DANISH_LOCAL);
        }
        if (SWEDISH_LOCAL.equals(str)) {
            return new Locale(SWEDISH_NAME, SWEDISH_LOCAL);
        }
        if (ITALIAN_LOCAL.equals(str)) {
            return new Locale(ITALIAN_NAME, ITALIAN_LOCAL);
        }
        if (ROMANIAN_LOCAL.equals(str)) {
            return new Locale(ROMANIAN_NAME, ROMANIAN_LOCAL);
        }
        if (NORWEGIAN_LOCAL.equals(str)) {
            return new Locale(NORWEGIAN_NAME, NORWEGIAN_LOCAL);
        }
        if (FINNISH_LOCAL.equals(str)) {
            return new Locale(FINNISH_NAME, FINNISH_LOCAL);
        }
        if (GREEK_LOCAL.equals(str)) {
            return new Locale(GREEK_NAME, GREEK_LOCAL);
        }
        if (TURKISH_LOCAL.equals(str)) {
            return new Locale(TURKISH_NAME, TURKISH_LOCAL);
        }
        if (ARABIC_LOCAL.equals(str)) {
            return new Locale(ARABIC_NAME, ARABIC_LOCAL);
        }
        if (JAPANESE_LOCAL.equals(str)) {
            return new Locale(JAPANESE_NAME, JAPANESE_LOCAL);
        }
        if (UKRAINE_LOCAL.equals(str)) {
            return new Locale(UKRAINE_NAME, UKRAINE_LOCAL);
        }
        if (KOREAN_LOCAL.equals(str)) {
            return new Locale(KOREAN_NAME, KOREAN_LOCAL);
        }
        if (UNGARIAN_LOCAL.equals(str)) {
            return new Locale(UNGARIAN_NAME, UNGARIAN_LOCAL);
        }
        if (PERISAN_LOCAL.equals(str)) {
            return new Locale(PERISAN_NAME, PERISAN_LOCAL);
        }
        if (VIETNAMESE_LOCAL.equals(str)) {
            return new Locale(VIETNAMESE_NAME, VIETNAMESE_LOCAL);
        }
        if (THAILAND_LOCAL.equals(str)) {
            return new Locale(THAILAND_NAME, THAILAND_LOCAL);
        }
        if (CATALAN_LOCAL.equals(str)) {
            return new Locale(CATALAN_NAME, SPAIN_LOCAL);
        }
        return null;
    }

    public static LocaleInfo getSystemLanguage(Context context) {
        Locale locale = context.getResources().getConfiguration().locale;
        for (LocaleInfo localeInfo : getAllSystemLocales(context)) {
            if (localeInfo.getLocale().equals(locale)) {
                return new LocaleInfo(localeInfo.getLabel(), localeInfo.getLocale());
            }
        }
        return (SystemProperties.getInt(SUPPORT_NOCOUNTRY_EN, 0) == 1 && US_NAME.equals(locale.getLanguage()) && "DF".equals(locale.getCountry())) ? new LocaleInfo("English", locale) : new LocaleInfo(locale.getDisplayName(locale), locale);
    }

    public static void setLanguageLocal(String str) {
        Locale localeByLanguageName = getLocaleByLanguageName(str);
        if (localeByLanguageName != null) {
            LocalePicker.updateLocale(localeByLanguageName);
        }
    }

    public static void setSystemLanguage(LocaleInfo localeInfo) {
        Locale locale = localeInfo.locale;
        if (locale != null) {
            LocalePicker.updateLocale(locale);
        }
    }

    private static String toTitleCase(String str) {
        if (str.length() == 0) {
            return str;
        }
        return Character.toUpperCase(str.charAt(0)) + str.substring(1);
    }

    public static int translateLanguage(String str) {
        if (str.equals(US_NAME)) {
            return 0;
        }
        if (str.equals(FRANCE_NAME)) {
            return 1;
        }
        if (str.equals(SPAIN_NAME)) {
            return 2;
        }
        if (str.equals("CN")) {
            return 3;
        }
        if (str.equals("TW")) {
            return 4;
        }
        if (str.equals(PORTUGAL_NAME)) {
            return 5;
        }
        if (str.equals(GERMAN_NAME)) {
            return 6;
        }
        if (str.equals(DUTCH_NAME)) {
            return 7;
        }
        if (str.equals(POLISH_NAME)) {
            return 8;
        }
        if (str.equals(RUSSIA_NAME)) {
            return 9;
        }
        if (str.equals(CZECH_NAME)) {
            return 10;
        }
        if (str.equals(DANISH_NAME)) {
            return 11;
        }
        if (str.equals(SWEDISH_NAME)) {
            return 12;
        }
        if (str.equals(ITALIAN_NAME)) {
            return 13;
        }
        if (str.equals(ROMANIAN_NAME)) {
            return 14;
        }
        if (str.equals(NORWEGIAN_NAME)) {
            return 15;
        }
        if (str.equals(FINNISH_NAME)) {
            return 16;
        }
        if (str.equals(GREEK_NAME)) {
            return 17;
        }
        if (str.equals(TURKISH_NAME)) {
            return 18;
        }
        if (str.equals(ARABIC_NAME)) {
            return 19;
        }
        if (str.equals(JAPANESE_NAME)) {
            return 20;
        }
        if (str.equals(UKRAINE_NAME)) {
            return 21;
        }
        if (str.equals(KOREAN_NAME)) {
            return 22;
        }
        if (str.equals(UNGARIAN_NAME)) {
            return 23;
        }
        if (str.equals(PERISAN_NAME)) {
            return 24;
        }
        if (str.equals(VIETNAMESE_NAME)) {
            return 25;
        }
        if (str.equals(THAILAND_NAME)) {
            return 26;
        }
        return str.equals(CATALAN_NAME) ? 27 : -1;
    }

    public static String translateLanguage(int i2) {
        switch (i2) {
            case 0:
            default:
                return US_LOCAL;
            case 1:
                return FRANCE_LOCAL;
            case 2:
                return SPAIN_LOCAL;
            case 3:
                return "CN";
            case 4:
                return "TW";
            case 5:
                return PORTUGAL_LOCAL;
            case 6:
                return GERMAN_LOCAL;
            case 7:
                return DUTCH_LOCAL;
            case 8:
                return POLISH_LOCAL;
            case 9:
                return RUSSIA_LOCAL;
            case 10:
                return CZECH_LOCAL;
            case 11:
                return DANISH_LOCAL;
            case 12:
                return SWEDISH_LOCAL;
            case 13:
                return ITALIAN_LOCAL;
            case 14:
                return ROMANIAN_LOCAL;
            case 15:
                return NORWEGIAN_LOCAL;
            case 16:
                return FINNISH_LOCAL;
            case 17:
                return GREEK_LOCAL;
            case 18:
                return TURKISH_LOCAL;
            case 19:
                return ARABIC_LOCAL;
            case 20:
                return JAPANESE_LOCAL;
            case 21:
                return UKRAINE_LOCAL;
            case 22:
                return KOREAN_LOCAL;
            case 23:
                return UNGARIAN_LOCAL;
            case 24:
                return PERISAN_LOCAL;
            case 25:
                return VIETNAMESE_LOCAL;
            case 26:
                return THAILAND_LOCAL;
            case 27:
                return CATALAN_LOCAL;
        }
    }
}
