Search code examples
angularlocale

Way to get Language Description from the locale id


With angular, Is there a way to get the language description by passing the locale id?

Something like,

en-CA should return Canadian English

fr-CA should return Canadian French


Solution

  • I'm afraid not. But you can use a self made mapping like this:

    const locales = {
    "af": "Afrikaans",
    "sq": "Albanian",
    "ar-dz": "Arabic (Algeria)",
    "ar-bh": "Arabic (Bahrain)",
    "ar-eg": "Arabic (Egypt)",
    "ar-iq": "Arabic (Iraq)",
    "ar-jo": "Arabic (Jordan)",
    "ar-kw": "Arabic (Kuwait)",
    "ar-lb": "Arabic (Lebanon)",
    "ar-ly": "Arabic (Libya)",
    "ar-ma": "Arabic (Morocco)",
    "ar-om": "Arabic (Oman)",
    "ar-qa": "Arabic (Qatar)",
    "ar-sa": "Arabic (Saudi Arabia)",
    "ar-sy": "Arabic (Syria)",
    "ar-tn": "Arabic (Tunisia)",
    "ar-ae": "Arabic (U.A.E.)",
    "ar-ye": "Arabic (Yemen)",
    "eu": "Basque",
    "be": "Belarusian",
    "bg": "Bulgarian",
    "ca": "Catalan",
    "zh-hk": "Chinese (Hong Kong)",
    "zh-cn": "Chinese (PRC)",
    "zh-sg": "Chinese (Singapore)",
    "zh-tw": "Chinese (Taiwan)",
    "hr": "Croatian",
    "cs": "Czech",
    "da": "Danish",
    "nl-be": "Dutch (Belgium)",
    "nl": "Dutch (Standard)",
    "en": "English",
    "en-au": "English (Australia)",
    "en-bz": "English (Belize)",
    "en-ca": "English (Canada)",
    "en-ie": "English (Ireland)",
    "en-jm": "English (Jamaica)",
    "en-nz": "English (New Zealand)",
    "en-za": "English (South Africa)",
    "en-tt": "English (Trinidad)",
    "en-gb": "English (United Kingdom)",
    "en-us": "English (United States)",
    "et": "Estonian",
    "fo": "Faeroese",
    "fa": "Farsi",
    "fi": "Finnish",
    "fr-be": "French (Belgium)",
    "fr-ca": "French (Canada)",
    "fr-lu": "French (Luxembourg)",
    "fr": "French (Standard)",
    "fr-ch": "French (Switzerland)",
    "gd": "Gaelic (Scotland)",
    "de-at": "German (Austria)",
    "de-li": "German (Liechtenstein)",
    "de-lu": "German (Luxembourg)",
    "de": "German (Standard)",
    "de-ch": "German (Switzerland)",
    "el": "Greek",
    "he": "Hebrew",
    "hi": "Hindi",
    "hu": "Hungarian",
    "is": "Icelandic",
    "id": "Indonesian",
    "ga": "Irish",
    "it": "Italian (Standard)",
    "it-ch": "Italian (Switzerland)",
    "ja": "Japanese",
    "ko": "Korean",
    "ku": "Kurdish",
    "lv": "Latvian",
    "lt": "Lithuanian",
    "mk": "Macedonian (FYROM)",
    "ml": "Malayalam",
    "ms": "Malaysian",
    "mt": "Maltese",
    "no": "Norwegian",
    "nb": "Norwegian (Bokmål)",
    "nn": "Norwegian (Nynorsk)",
    "pl": "Polish",
    "pt-br": "Portuguese (Brazil)",
    "pt": "Portuguese (Portugal)",
    "pa": "Punjabi",
    "rm": "Rhaeto-Romanic",
    "ro": "Romanian",
    "ro-md": "Romanian (Republic of Moldova)",
    "ru": "Russian",
    "ru-md": "Russian (Republic of Moldova)",
    "sr": "Serbian",
    "sk": "Slovak",
    "sl": "Slovenian",
    "sb": "Sorbian",
    "es-ar": "Spanish (Argentina)",
    "es-bo": "Spanish (Bolivia)",
    "es-cl": "Spanish (Chile)",
    "es-co": "Spanish (Colombia)",
    "es-cr": "Spanish (Costa Rica)",
    "es-do": "Spanish (Dominican Republic)",
    "es-ec": "Spanish (Ecuador)",
    "es-sv": "Spanish (El Salvador)",
    "es-gt": "Spanish (Guatemala)",
    "es-hn": "Spanish (Honduras)",
    "es-mx": "Spanish (Mexico)",
    "es-ni": "Spanish (Nicaragua)",
    "es-pa": "Spanish (Panama)",
    "es-py": "Spanish (Paraguay)",
    "es-pe": "Spanish (Peru)",
    "es-pr": "Spanish (Puerto Rico)",
    "es": "Spanish (Spain)",
    "es-uy": "Spanish (Uruguay)",
    "es-ve": "Spanish (Venezuela)",
    "sv": "Swedish",
    "sv-fi": "Swedish (Finland)",
    "th": "Thai",
    "ts": "Tsonga",
    "tn": "Tswana",
    "tr": "Turkish",
    "uk": "Ukrainian",
    "ur": "Urdu",
    "ve": "Venda",
    "vi": "Vietnamese",
    "cy": "Welsh",
    "xh": "Xhosa",
    "ji": "Yiddish",
    "zu": "Zulu"
    }
    
    console.info(locales['en-CA']);