# frozen_string_literal: true

module I18n
  module Tasks
    module Data
      module LanguageNames # rubocop:disable Metrics/ModuleLength
        # Data loaded from https://github.com/grosser/i18n_data
        # I18nData.languages.transform_keys!(&:to_sym).transform_values!{|v| v.split(";").first }
        DATA = {
          AA: "Afar",
          AB: "Abkhazian",
          AF: "Afrikaans",
          AK: "Akan",
          AM: "Amharic",
          AR: "Arabic",
          AN: "Aragonese",
          AS: "Assamese",
          AV: "Avaric",
          AE: "Avestan",
          AY: "Aymara",
          AZ: "Azerbaijani",
          BA: "Bashkir",
          BM: "Bambara",
          BE: "Belarusian",
          BN: "Bengali",
          BH: "Bihari languages",
          BI: "Bislama",
          BO: "Tibetan",
          BS: "Bosnian",
          BR: "Breton",
          BG: "Bulgarian",
          CA: "Catalan",
          CS: "Czech",
          CH: "Chamorro",
          CE: "Chechen",
          CU: "Church Slavic",
          CV: "Chuvash",
          KW: "Cornish",
          CO: "Corsican",
          CR: "Cree",
          CY: "Welsh",
          DA: "Danish",
          DE: "German",
          DV: "Divehi",
          DZ: "Dzongkha",
          EL: "Greek, Modern (1453-)",
          EN: "English",
          EO: "Esperanto",
          ET: "Estonian",
          EU: "Basque",
          EE: "Ewe",
          FO: "Faroese",
          FA: "Persian",
          FJ: "Fijian",
          FI: "Finnish",
          FR: "French",
          FY: "Western Frisian",
          FF: "Fulah",
          GD: "Gaelic",
          GA: "Irish",
          GL: "Galician",
          GV: "Manx",
          GN: "Guarani",
          GU: "Gujarati",
          HT: "Haitian",
          HA: "Hausa",
          HE: "Hebrew",
          HZ: "Herero",
          HI: "Hindi",
          HO: "Hiri Motu",
          HR: "Croatian",
          HU: "Hungarian",
          HY: "Armenian",
          IG: "Igbo",
          IO: "Ido",
          II: "Sichuan Yi",
          IU: "Inuktitut",
          IE: "Interlingue",
          IA: "Interlingua (International Auxiliary Language Association)",
          ID: "Indonesian",
          IK: "Inupiaq",
          IS: "Icelandic",
          IT: "Italian",
          JV: "Javanese",
          JA: "Japanese",
          KL: "Kalaallisut",
          KN: "Kannada",
          KS: "Kashmiri",
          KA: "Georgian",
          KR: "Kanuri",
          KK: "Kazakh",
          KM: "Central Khmer",
          KI: "Kikuyu",
          RW: "Kinyarwanda",
          KY: "Kirghiz",
          KV: "Komi",
          KG: "Kongo",
          KO: "Korean",
          KJ: "Kuanyama",
          KU: "Kurdish",
          LO: "Lao",
          LA: "Latin",
          LV: "Latvian",
          LI: "Limburgan",
          LN: "Lingala",
          LT: "Lithuanian",
          LB: "Luxembourgish",
          LU: "Luba-Katanga",
          LG: "Ganda",
          MH: "Marshallese",
          ML: "Malayalam",
          MR: "Marathi",
          MK: "Macedonian",
          MG: "Malagasy",
          MT: "Maltese",
          MN: "Mongolian",
          MI: "Maori",
          MS: "Malay",
          MY: "Burmese",
          NA: "Nauru",
          NV: "Navajo",
          NR: "Ndebele, South",
          ND: "Ndebele, North",
          NG: "Ndonga",
          NE: "Nepali",
          NL: "Dutch",
          NN: "Norwegian Nynorsk",
          NB: "Bokmål, Norwegian",
          NO: "Norwegian",
          NY: "Chichewa",
          OC: "Occitan (post 1500)",
          OJ: "Ojibwa",
          OR: "Oriya",
          OM: "Oromo",
          OS: "Ossetian",
          PA: "Panjabi",
          PI: "Pali",
          PL: "Polish",
          PT: "Portuguese",
          PS: "Pushto",
          QU: "Quechua",
          RM: "Romansh",
          RO: "Romanian",
          RN: "Rundi",
          RU: "Russian",
          SG: "Sango",
          SA: "Sanskrit",
          SI: "Sinhala",
          SK: "Slovak",
          SL: "Slovenian",
          SE: "Northern Sami",
          SM: "Samoan",
          SN: "Shona",
          SD: "Sindhi",
          SO: "Somali",
          ST: "Sotho, Southern",
          ES: "Spanish",
          SQ: "Albanian",
          SC: "Sardinian",
          SR: "Serbian",
          SS: "Swati",
          SU: "Sundanese",
          SW: "Swahili",
          SV: "Swedish",
          TY: "Tahitian",
          TA: "Tamil",
          TT: "Tatar",
          TE: "Telugu",
          TG: "Tajik",
          TL: "Tagalog",
          TH: "Thai",
          TI: "Tigrinya",
          TO: "Tonga (Tonga Islands)",
          TN: "Tswana",
          TS: "Tsonga",
          TK: "Turkmen",
          TR: "Turkish",
          TW: "Twi",
          UG: "Uighur",
          UK: "Ukrainian",
          UR: "Urdu",
          UZ: "Uzbek",
          VE: "Venda",
          VI: "Vietnamese",
          VO: "Volapük",
          WA: "Walloon",
          WO: "Wolof",
          XH: "Xhosa",
          YI: "Yiddish",
          YO: "Yoruba",
          ZA: "Zhuang",
          ZH: "Chinese",
          ZU: "Zulu"
        }.freeze

        def language_name(locale)
          DATA[locale.upcase.to_sym] || locale
        end
      end
    end
  end
end
