package com.slodon.b2b2c.investment.constant;

public enum LocalLanguageEnum {
    ALBANIA_ALBANIAN("Albania", "Albanian"),
    ALGERIA_FRENCH("Algeria", "French"),
    ALGERIA_ARABIC("Algeria", "Arabic"),
    ANGOLA_PORTUGUESE("Angola", "Portuguese"),
    AZERBAIJAN_AZERI("Azerbaijan", "Azeri"),
    ARGENTINA_SPANISH("Argentina", "Spanish"),
    AUSTRALIA_ENGLISH("Australia", "English"),
    AUSTRIA_GERMAN("Austria", "German"),
    BAHRAIN_ARABIC("Bahrain", "Arabic"),
    BANGLADESH_BENGALI("Bangladesh", "Bengali"),
    ARMENIA_ARMENIAN("Armenia", "Armenian"),
    BELGIUM_FRENCH("Belgium", "French"),
    BELGIUM_DUTCH("Belgium", "Dutch"),
    BELGIUM_GERMAN("Belgium", "German"),
    BOLIVIA_SPANISH("Bolivia", "Spanish"),
    BOSNIA_AND_HERZEGOVINA_BOSNIAN("Bosnia and Herzegovina", "Bosnian"),
    BRAZIL_PORTUGUESE("Brazil", "Portuguese"),
    BULGARIA_BULGARIAN("Bulgaria", "Bulgarian"),
    MYANMAR_ENGLISH("Myanmar (Burma)", "English"),
    CAMBODIA_ENGLISH("Cambodia", "English"),
    CAMEROON_FRENCH("Cameroon", "French"),
    CANADA_ENGLISH("Canada", "English"),
    CANADA_FRENCH("Canada", "French"),
    SRI_LANKA_ENGLISH("Sri Lanka", "English"),
    CHILE_SPANISH("Chile", "Spanish"),
    TAIWAN_CHINESE("Taiwan", "Chinese (Traditional)"),
    COLOMBIA_SPANISH("Colombia", "Spanish"),
    COSTA_RICA_SPANISH("Costa Rica", "Spanish"),
    CROATIA_CROATIAN("Croatia", "Croatian"),
    CYPRUS_GREEK("Cyprus", "Greek"),
    CYPRUS_ENGLISH("Cyprus", "English"),
    CZECHIA_CZECH("Czechia", "Czech"),
    DENMARK_DANISH("Denmark", "Danish"),
    ECUADOR_SPANISH("Ecuador", "Spanish"),
    EL_SALVADOR_SPANISH("El Salvador", "Spanish"),
    ESTONIA_ESTONIAN("Estonia", "Estonian"),
    FINLAND_FINNISH("Finland", "Finnish"),
    FRANCE_FRENCH("France", "French"),
    GERMANY_GERMAN("Germany", "German"),
    GHANA_ENGLISH("Ghana", "English"),
    GREECE_GREEK("Greece", "Greek"),
    GREECE_ENGLISH("Greece", "English"),
    GUATEMALA_SPANISH("Guatemala", "Spanish"),
    HONG_KONG_ENGLISH("Hong Kong", "English"),
    HONG_KONG_CHINESE("Hong Kong", "Chinese (Traditional)"),
    HUNGARY_HUNGARIAN("Hungary", "Hungarian"),
    INDIA_ENGLISH("India", "English"),
    INDIA_HINDI("India", "Hindi"),
    INDONESIA_ENGLISH("Indonesia", "English"),
    INDONESIA_INDONESIAN("Indonesia", "Indonesian"),
    IRELAND_ENGLISH("Ireland", "English"),
    ISRAEL_HEBREW("Israel", "Hebrew"),
    ISRAEL_ARABIC("Israel", "Arabic"),
    ITALY_ITALIAN("Italy", "Italian"),
    COTE_D("Cote d'Ivoire", "French"),
    JAPAN_JAPANESE("Japan", "Japanese"),
    KAZAKHSTAN_RUSSIAN("Kazakhstan", "Russian"),
    JORDAN_ARABIC("Jordan", "Arabic"),
    KENYA_ENGLISH("Kenya", "English"),
    SOUTH_KOREA_KOREAN("South Korea", "Korean"),
    LATVIA_LATVIAN("Latvia", "Latvian"),
    LITHUANIA_LITHUANIAN("Lithuania", "Lithuanian"),
    MALAYSIA_ENGLISH("Malaysia", "English"),
    MALAYSIA_MALAY("Malaysia", "Malay"),
    MALTA_ENGLISH("Malta", "English"),
    MEXICO_SPANISH("Mexico", "Spanish"),
    MONACO_FRENCH("Monaco", "French"),
    MOLDOVA_ROMANIAN("Moldova", "Romanian"),
    MOROCCO_ARABIC("Morocco", "Arabic"),
    MOROCCO_FRENCH("Morocco", "French"),
    NETHERLANDS_DUTCH("Netherlands", "Dutch"),
    NEW_ZEALAND_ENGLISH("New Zealand", "English"),
    NICARAGUA_SPANISH("Nicaragua", "Spanish"),
    NIGERIA_ENGLISH("Nigeria", "English"),
    NORWAY_NORWEGIAN("Norway", "Norwegian"),
    PAKISTAN_ENGLISH("Pakistan", "English"),
    PAKISTAN_URDU("Pakistan", "Urdu"),
    PANAMA_SPANISH("Panama", "Spanish"),
    PARAGUAY_SPANISH("Paraguay", "Spanish"),
    PERU_SPANISH("Peru", "Spanish"),
    PHILIPPINES_ENGLISH("Philippines", "English"),
    PHILIPPINES_TAGALOG("Philippines", "Tagalog"),
    POLAND_POLISH("Poland", "Polish"),
    PORTUGAL_PORTUGUESE("Portugal", "Portuguese"),
    ROMANIA_ROMANIAN("Romania", "Romanian"),
    SAUDI_ARABIA_ARABIC("Saudi Arabia", "Arabic"),
    SENEGAL_FRENCH("Senegal", "French"),
    SERBIA_SERBIAN("Serbia", "Serbian"),
    SINGAPORE_ENGLISH("Singapore", "English"),
    SINGAPORE_CHINESE("Singapore", "Chinese (Simplified)"),
    SLOVAKIA_SLOVAK("Slovakia", "Slovak"),
    VIETNAM_ENGLISH("Vietnam", "English"),
    VIETNAM_VIETNAMESE("Vietnam", "Vietnamese"),
    SLOVENIA_SLOVENIAN("Slovenia", "Slovenian"),
    SOUTH_AFRICA_ENGLISH("South Africa", "English"),
    SPAIN_SPANISH("Spain", "Spanish"),
    SWEDEN_SWEDISH("Sweden", "Swedish"),
    SWITZERLAND_GERMAN("Switzerland", "German"),
    SWITZERLAND_FRENCH("Switzerland", "French"),
    SWITZERLAND_ITALIAN("Switzerland", "Italian"),
    THAILAND_THAI("Thailand", "Thai"),
    UNITED_ARAB_EMIRATES_ARABIC("United Arab Emirates", "Arabic"),
    UNITED_ARAB_EMIRATES_ENGLISH("United Arab Emirates", "English"),
    TUNISIA_ARABIC("Tunisia", "Arabic"),
    TURKIYE_TURKISH("Turkiye", "Turkish"),
    UKRAINE_UKRAINIAN("Ukraine", "Ukrainian"),
    UKRAINE_RUSSIAN("Ukraine", "Russian"),
    NORTH_MACEDONIA_MACEDONIAN("North Macedonia", "Macedonian"),
    EGYPT_ARABIC("Egypt", "Arabic"),
    EGYPT_ENGLISH("Egypt", "English"),
    UNITED_KINGDOM_ENGLISH("United Kingdom", "English"),
    UNITED_STATES_ENGLISH("United States", "English"),
    UNITED_STATES_SPANISH("United States", "Spanish"),
    BURKINA_FASO_FRENCH("Burkina Faso", "French"),
    URUGUAY_SPANISH("Uruguay", "Spanish"),
    VENEZUELA_SPANISH("Venezuela", "Spanish");

    private final String locationName;
    private final String languageName;

    LocalLanguageEnum(String locationName, String languageName) {
        this.locationName = locationName;
        this.languageName = languageName;
    }

    public String getLocationName() {
        return locationName;
    }

    public String getLanguageName() {
        return languageName;
    }

    public static String getLanguageNameByLocationName(String locationName) {
        for (LocalLanguageEnum mapping : values()) {
            if (mapping.locationName.equals(locationName)) {
                return mapping.languageName;
            }
        }
        return null;
    }
}
