// noinspection TypeScriptRedundantGenericType
/// <reference path="./../src/smartform/src/js/globals.d.ts" />
/// <reference path="./globals.d.ts" />
/// <reference path="./../src/smartform/src/js/index.d.ts" />
/**
* @see https://gist.githubusercontent.com/tmrk/4aa3cf285360526a98b2115d63e0cafd/raw/5e74803dcf33923257d081433ec92ba93765e3f3/countries.js
* @global
* iso countries
*/
const isoCountries = [
{
name: "Afghanistan",
alpha2: "AF",
alpha3: "AFG",
num3: "004",
subregion: "034",
region: "",
continent: "142",
},
{
name: "Åland Islands",
alpha2: "AX",
alpha3: "ALA",
num3: "248",
subregion: "154",
region: "",
continent: "150",
},
{
name: "Albania",
alpha2: "AL",
alpha3: "ALB",
num3: "008",
subregion: "039",
region: "",
continent: "150",
},
{
name: "Algeria",
alpha2: "DZ",
alpha3: "DZA",
num3: "012",
subregion: "015",
region: "",
continent: "002",
},
{
name: "American Samoa",
alpha2: "AS",
alpha3: "ASM",
num3: "016",
subregion: "061",
region: "",
continent: "009",
},
{
name: "Andorra",
alpha2: "AD",
alpha3: "AND",
num3: "020",
subregion: "039",
region: "",
continent: "150",
},
{
name: "Angola",
alpha2: "AO",
alpha3: "AGO",
num3: "024",
subregion: "017",
region: "",
continent: "002",
},
{
name: "Anguilla",
alpha2: "AI",
alpha3: "AIA",
num3: "660",
subregion: "029",
region: "419",
continent: "019",
},
{
name: "Antigua and Barbuda",
alpha2: "AG",
alpha3: "ATG",
num3: "028",
subregion: "029",
region: "419",
continent: "019",
},
{
name: "Argentina",
alpha2: "AR",
alpha3: "ARG",
num3: "032",
subregion: "005",
region: "",
continent: "019",
},
{
name: "Armenia",
alpha2: "AM",
alpha3: "ARM",
num3: "051",
subregion: "145",
region: "",
continent: "142",
},
{
name: "Aruba",
alpha2: "AW",
alpha3: "ABW",
num3: "533",
subregion: "029",
region: "419",
continent: "019",
},
{
name: "Australia",
alpha2: "AU",
alpha3: "AUS",
num3: "036",
subregion: "053",
region: "",
continent: "009",
},
{
name: "Austria",
alpha2: "AT",
alpha3: "AUT",
num3: "040",
subregion: "155",
region: "",
continent: "150",
},
{
name: "Azerbaijan",
alpha2: "AZ",
alpha3: "AZE",
num3: "031",
subregion: "145",
region: "",
continent: "142",
},
{
name: "Bahamas",
alpha2: "BS",
alpha3: "BHS",
num3: "044",
subregion: "029",
region: "419",
continent: "019",
},
{
name: "Bahrain",
alpha2: "BH",
alpha3: "BHR",
num3: "048",
subregion: "145",
region: "",
continent: "142",
},
{
name: "Bangladesh",
alpha2: "BD",
alpha3: "BGD",
num3: "050",
subregion: "034",
region: "",
continent: "142",
},
{
name: "Barbados",
alpha2: "BB",
alpha3: "BRB",
num3: "052",
subregion: "029",
region: "419",
continent: "019",
},
{
name: "Belarus",
alpha2: "BY",
alpha3: "BLR",
num3: "112",
subregion: "151",
region: "",
continent: "150",
},
{
name: "Belgium",
alpha2: "BE",
alpha3: "BEL",
num3: "056",
subregion: "155",
region: "",
continent: "150",
},
{
name: "Belize",
alpha2: "BZ",
alpha3: "BLZ",
num3: "084",
subregion: "013",
region: "",
continent: "019",
},
{
name: "Benin",
alpha2: "BJ",
alpha3: "BEN",
num3: "204",
subregion: "011",
region: "",
continent: "002",
},
{
name: "Bermuda",
alpha2: "BM",
alpha3: "BMU",
num3: "060",
subregion: "",
region: "021",
continent: "019",
},
{
name: "Bhutan",
alpha2: "BT",
alpha3: "BTN",
num3: "064",
subregion: "034",
region: "",
continent: "142",
},
{
name: "Bolivia (Plurinational State of)",
alpha2: "BO",
alpha3: "BOL",
num3: "068",
subregion: "005",
region: "",
continent: "019",
},
{
name: "Bonaire, Sint Eustatius and Saba",
alpha2: "BQ",
alpha3: "BES",
num3: "535",
subregion: "029",
region: "419",
continent: "019",
},
{
name: "Bosnia and Herzegovina",
alpha2: "BA",
alpha3: "BIH",
num3: "070",
subregion: "039",
region: "",
continent: "150",
},
{
name: "Botswana",
alpha2: "BW",
alpha3: "BWA",
num3: "072",
subregion: "018",
region: "",
continent: "002",
},
{
name: "Brazil",
alpha2: "BR",
alpha3: "BRA",
num3: "076",
subregion: "005",
region: "",
continent: "019",
},
{
name: "British Virgin Islands",
alpha2: "VG",
alpha3: "VGB",
num3: "092",
subregion: "029",
region: "419",
continent: "019",
},
{
name: "Brunei Darussalam",
alpha2: "BN",
alpha3: "BRN",
num3: "096",
subregion: "035",
region: "",
continent: "142",
},
{
name: "Bulgaria",
alpha2: "BG",
alpha3: "BGR",
num3: "100",
subregion: "151",
region: "",
continent: "150",
},
{
name: "Burkina Faso",
alpha2: "BF",
alpha3: "BFA",
num3: "854",
subregion: "011",
region: "",
continent: "002",
},
{
name: "Burundi",
alpha2: "BI",
alpha3: "BDI",
num3: "108",
subregion: "014",
region: "",
continent: "002",
},
{
name: "Cabo Verde",
alpha2: "CV",
alpha3: "CPV",
num3: "132",
subregion: "011",
region: "",
continent: "002",
},
{
name: "Cambodia",
alpha2: "KH",
alpha3: "KHM",
num3: "116",
subregion: "035",
region: "",
continent: "142",
},
{
name: "Cameroon",
alpha2: "CM",
alpha3: "CMR",
num3: "120",
subregion: "017",
region: "",
continent: "002",
},
{
name: "Canada",
alpha2: "CA",
alpha3: "CAN",
num3: "124",
subregion: "",
region: "021",
continent: "019",
},
{
name: "Cayman Islands",
alpha2: "KY",
alpha3: "CYM",
num3: "136",
subregion: "029",
region: "419",
continent: "019",
},
{
name: "Central African Republic",
alpha2: "CF",
alpha3: "CAF",
num3: "140",
subregion: "017",
region: "",
continent: "002",
},
{
name: "Chad",
alpha2: "TD",
alpha3: "TCD",
num3: "148",
subregion: "017",
region: "",
continent: "002",
},
{
name: "Channel Islands",
alpha2: "",
alpha3: "",
num3: "830",
subregion: "154",
region: "",
continent: "150",
},
{
name: "Chile",
alpha2: "CL",
alpha3: "CHL",
num3: "152",
subregion: "005",
region: "",
continent: "019",
},
{
name: "China",
alpha2: "CN",
alpha3: "CHN",
num3: "156",
subregion: "030",
region: "",
continent: "142",
},
{
name: "China, Hong Kong Special Administrative Region",
alpha2: "HK",
alpha3: "HKG",
num3: "344",
subregion: "030",
region: "",
continent: "142",
},
{
name: "China, Macao Special Administrative Region",
alpha2: "MO",
alpha3: "MAC",
num3: "446",
subregion: "030",
region: "",
continent: "142",
},
{
name: "Colombia",
alpha2: "CO",
alpha3: "COL",
num3: "170",
subregion: "005",
region: "",
continent: "019",
},
{
name: "Comoros",
alpha2: "KM",
alpha3: "COM",
num3: "174",
subregion: "014",
region: "",
continent: "002",
},
{
name: "Congo",
alpha2: "CG",
alpha3: "COG",
num3: "178",
subregion: "017",
region: "",
continent: "002",
},
{
name: "Cook Islands",
alpha2: "CK",
alpha3: "COK",
num3: "184",
subregion: "061",
region: "",
continent: "009",
},
{
name: "Costa Rica",
alpha2: "CR",
alpha3: "CRI",
num3: "188",
subregion: "013",
region: "",
continent: "019",
},
{
name: "Cote d'Ivoire",
alpha2: "CI",
alpha3: "CIV",
num3: "384",
subregion: "011",
region: "",
continent: "002",
},
{
name: "Croatia",
alpha2: "HR",
alpha3: "HRV",
num3: "191",
subregion: "039",
region: "",
continent: "150",
},
{
name: "Cuba",
alpha2: "CU",
alpha3: "CUB",
num3: "192",
subregion: "029",
region: "419",
continent: "019",
},
{
name: "Curaçao",
alpha2: "CW",
alpha3: "CUW",
num3: "531",
subregion: "029",
region: "419",
continent: "019",
},
{
name: "Cyprus",
alpha2: "CY",
alpha3: "CYP",
num3: "196",
subregion: "145",
region: "",
continent: "142",
},
{
name: "Czech Republic",
alpha2: "CZ",
alpha3: "CZE",
num3: "203",
subregion: "151",
region: "",
continent: "150",
},
{
name: "Democratic People's Republic of Korea",
alpha2: "KP",
alpha3: "PRK",
num3: "408",
subregion: "030",
region: "",
continent: "142",
},
{
name: "Democratic Republic of the Congo",
alpha2: "CD",
alpha3: "COD",
num3: "180",
subregion: "017",
region: "",
continent: "002",
},
{
name: "Denmark",
alpha2: "DK",
alpha3: "DNK",
num3: "208",
subregion: "154",
region: "",
continent: "150",
},
{
name: "Djibouti",
alpha2: "DJ",
alpha3: "DJI",
num3: "262",
subregion: "014",
region: "",
continent: "002",
},
{
name: "Dominica",
alpha2: "DM",
alpha3: "DMA",
num3: "212",
subregion: "029",
region: "419",
continent: "019",
},
{
name: "Dominican Republic",
alpha2: "DO",
alpha3: "DOM",
num3: "214",
subregion: "029",
region: "419",
continent: "019",
},
{
name: "Ecuador",
alpha2: "EC",
alpha3: "ECU",
num3: "218",
subregion: "005",
region: "",
continent: "019",
},
{
name: "Egypt",
alpha2: "EG",
alpha3: "EGY",
num3: "818",
subregion: "015",
region: "",
continent: "002",
},
{
name: "El Salvador",
alpha2: "SV",
alpha3: "SLV",
num3: "222",
subregion: "013",
region: "",
continent: "019",
},
{
name: "Equatorial Guinea",
alpha2: "GQ",
alpha3: "GNQ",
num3: "226",
subregion: "017",
region: "",
continent: "002",
},
{
name: "Eritrea",
alpha2: "ER",
alpha3: "ERI",
num3: "232",
subregion: "014",
region: "",
continent: "002",
},
{
name: "Estonia",
alpha2: "EE",
alpha3: "EST",
num3: "233",
subregion: "154",
region: "",
continent: "150",
},
{
name: "Ethiopia",
alpha2: "ET",
alpha3: "ETH",
num3: "231",
subregion: "014",
region: "",
continent: "002",
},
{
name: "Faeroe Islands",
alpha2: "FO",
alpha3: "FRO",
num3: "234",
subregion: "154",
region: "",
continent: "150",
},
{
name: "Falkland Islands (Malvinas)",
alpha2: "FK",
alpha3: "FLK",
num3: "238",
subregion: "005",
region: "",
continent: "019",
},
{
name: "Fiji",
alpha2: "FJ",
alpha3: "FJI",
num3: "242",
subregion: "054",
region: "",
continent: "009",
},
{
name: "Finland",
alpha2: "FI",
alpha3: "FIN",
num3: "246",
subregion: "154",
region: "",
continent: "150",
},
{
name: "France",
alpha2: "FR",
alpha3: "FRA",
num3: "250",
subregion: "155",
region: "",
continent: "150",
},
{
name: "French Guiana",
alpha2: "GF",
alpha3: "GUF",
num3: "254",
subregion: "005",
region: "",
continent: "019",
},
{
name: "French Polynesia",
alpha2: "PF",
alpha3: "PYF",
num3: "258",
subregion: "061",
region: "",
continent: "009",
},
{
name: "Gabon",
alpha2: "GA",
alpha3: "GAB",
num3: "266",
subregion: "017",
region: "",
continent: "002",
},
{
name: "Gambia",
alpha2: "GM",
alpha3: "GMB",
num3: "270",
subregion: "011",
region: "",
continent: "002",
},
{
name: "Georgia",
alpha2: "GE",
alpha3: "GEO",
num3: "268",
subregion: "145",
region: "",
continent: "142",
},
{
name: "Germany",
alpha2: "DE",
alpha3: "DEU",
num3: "276",
subregion: "155",
region: "",
continent: "150",
},
{
name: "Ghana",
alpha2: "GH",
alpha3: "GHA",
num3: "288",
subregion: "011",
region: "",
continent: "002",
},
{
name: "Gibraltar",
alpha2: "GI",
alpha3: "GIB",
num3: "292",
subregion: "039",
region: "",
continent: "150",
},
{
name: "Greece",
alpha2: "GR",
alpha3: "GRC",
num3: "300",
subregion: "039",
region: "",
continent: "150",
},
{
name: "Greenland",
alpha2: "GL",
alpha3: "GRL",
num3: "304",
subregion: "",
region: "021",
continent: "019",
},
{
name: "Grenada",
alpha2: "GD",
alpha3: "GRD",
num3: "308",
subregion: "029",
region: "419",
continent: "019",
},
{
name: "Guadeloupe",
alpha2: "GP",
alpha3: "GLP",
num3: "312",
subregion: "029",
region: "419",
continent: "019",
},
{
name: "Guam",
alpha2: "GU",
alpha3: "GUM",
num3: "316",
subregion: "057",
region: "",
continent: "009",
},
{
name: "Guatemala",
alpha2: "GT",
alpha3: "GTM",
num3: "320",
subregion: "013",
region: "",
continent: "019",
},
{
name: "Guernsey",
alpha2: "GG",
alpha3: "GGY",
num3: "831",
subregion: "154",
region: "",
continent: "150",
},
{
name: "Guinea",
alpha2: "GN",
alpha3: "GIN",
num3: "324",
subregion: "011",
region: "",
continent: "002",
},
{
name: "Guinea-Bissau",
alpha2: "GW",
alpha3: "GNB",
num3: "624",
subregion: "011",
region: "",
continent: "002",
},
{
name: "Guyana",
alpha2: "GY",
alpha3: "GUY",
num3: "328",
subregion: "005",
region: "",
continent: "019",
},
{
name: "Haiti",
alpha2: "HT",
alpha3: "HTI",
num3: "332",
subregion: "029",
region: "419",
continent: "019",
},
{
name: "Holy See",
alpha2: "VA",
alpha3: "VAT",
num3: "336",
subregion: "039",
region: "",
continent: "150",
},
{
name: "Honduras",
alpha2: "HN",
alpha3: "HND",
num3: "340",
subregion: "013",
region: "",
continent: "019",
},
{
name: "Hungary",
alpha2: "HU",
alpha3: "HUN",
num3: "348",
subregion: "151",
region: "",
continent: "150",
},
{
name: "Iceland",
alpha2: "IS",
alpha3: "ISL",
num3: "352",
subregion: "154",
region: "",
continent: "150",
},
{
name: "India",
alpha2: "IN",
alpha3: "IND",
num3: "356",
subregion: "034",
region: "",
continent: "142",
},
{
name: "Indonesia",
alpha2: "ID",
alpha3: "IDN",
num3: "360",
subregion: "035",
region: "",
continent: "142",
},
{
name: "Iran (Islamic Republic of)",
alpha2: "IR",
alpha3: "IRN",
num3: "364",
subregion: "034",
region: "",
continent: "142",
},
{
name: "Iraq",
alpha2: "IQ",
alpha3: "IRQ",
num3: "368",
subregion: "145",
region: "",
continent: "142",
},
{
name: "Ireland",
alpha2: "IE",
alpha3: "IRL",
num3: "372",
subregion: "154",
region: "",
continent: "150",
},
{
name: "Isle of Man",
alpha2: "IM",
alpha3: "IMN",
num3: "833",
subregion: "154",
region: "",
continent: "150",
},
{
name: "Israel",
alpha2: "IL",
alpha3: "ISR",
num3: "376",
subregion: "145",
region: "",
continent: "142",
},
{
name: "Italy",
alpha2: "IT",
alpha3: "ITA",
num3: "380",
subregion: "039",
region: "",
continent: "150",
},
{
name: "Jamaica",
alpha2: "JM",
alpha3: "JAM",
num3: "388",
subregion: "029",
region: "419",
continent: "019",
},
{
name: "Japan",
alpha2: "JP",
alpha3: "JPN",
num3: "392",
subregion: "030",
region: "",
continent: "142",
},
{
name: "Jersey",
alpha2: "JE",
alpha3: "JEY",
num3: "832",
subregion: "154",
region: "",
continent: "150",
},
{
name: "Jordan",
alpha2: "JO",
alpha3: "JOR",
num3: "400",
subregion: "145",
region: "",
continent: "142",
},
{
name: "Kazakhstan",
alpha2: "KZ",
alpha3: "KAZ",
num3: "398",
subregion: "143",
region: "",
continent: "142",
},
{
name: "Kenya",
alpha2: "KE",
alpha3: "KEN",
num3: "404",
subregion: "014",
region: "",
continent: "002",
},
{
name: "Kiribati",
alpha2: "KI",
alpha3: "KIR",
num3: "296",
subregion: "057",
region: "",
continent: "009",
},
{
name: "Kuwait",
alpha2: "KW",
alpha3: "KWT",
num3: "414",
subregion: "145",
region: "",
continent: "142",
},
{
name: "Kyrgyzstan",
alpha2: "KG",
alpha3: "KGZ",
num3: "417",
subregion: "143",
region: "",
continent: "142",
},
{
name: "Lao People's Democratic Republic",
alpha2: "LA",
alpha3: "LAO",
num3: "418",
subregion: "035",
region: "",
continent: "142",
},
{
name: "Latvia",
alpha2: "LV",
alpha3: "LVA",
num3: "428",
subregion: "154",
region: "",
continent: "150",
},
{
name: "Lebanon",
alpha2: "LB",
alpha3: "LBN",
num3: "422",
subregion: "145",
region: "",
continent: "142",
},
{
name: "Lesotho",
alpha2: "LS",
alpha3: "LSO",
num3: "426",
subregion: "018",
region: "",
continent: "002",
},
{
name: "Liberia",
alpha2: "LR",
alpha3: "LBR",
num3: "430",
subregion: "011",
region: "",
continent: "002",
},
{
name: "Libya",
alpha2: "LY",
alpha3: "LBY",
num3: "434",
subregion: "015",
region: "",
continent: "002",
},
{
name: "Liechtenstein",
alpha2: "LI",
alpha3: "LIE",
num3: "438",
subregion: "155",
region: "",
continent: "150",
},
{
name: "Lithuania",
alpha2: "LT",
alpha3: "LTU",
num3: "440",
subregion: "154",
region: "",
continent: "150",
},
{
name: "Luxembourg",
alpha2: "LU",
alpha3: "LUX",
num3: "442",
subregion: "155",
region: "",
continent: "150",
},
{
name: "Madagascar",
alpha2: "MG",
alpha3: "MDG",
num3: "450",
subregion: "014",
region: "",
continent: "002",
},
{
name: "Malawi",
alpha2: "MW",
alpha3: "MWI",
num3: "454",
subregion: "014",
region: "",
continent: "002",
},
{
name: "Malaysia",
alpha2: "MY",
alpha3: "MYS",
num3: "458",
subregion: "035",
region: "",
continent: "142",
},
{
name: "Maldives",
alpha2: "MV",
alpha3: "MDV",
num3: "462",
subregion: "034",
region: "",
continent: "142",
},
{
name: "Mali",
alpha2: "ML",
alpha3: "MLI",
num3: "466",
subregion: "011",
region: "",
continent: "002",
},
{
name: "Malta",
alpha2: "MT",
alpha3: "MLT",
num3: "470",
subregion: "039",
region: "",
continent: "150",
},
{
name: "Marshall Islands",
alpha2: "MH",
alpha3: "MHL",
num3: "584",
subregion: "057",
region: "",
continent: "009",
},
{
name: "Martinique",
alpha2: "MQ",
alpha3: "MTQ",
num3: "474",
subregion: "029",
region: "419",
continent: "019",
},
{
name: "Mauritania",
alpha2: "MR",
alpha3: "MRT",
num3: "478",
subregion: "011",
region: "",
continent: "002",
},
{
name: "Mauritius",
alpha2: "MU",
alpha3: "MUS",
num3: "480",
subregion: "014",
region: "",
continent: "002",
},
{
name: "Mayotte",
alpha2: "YT",
alpha3: "MYT",
num3: "175",
subregion: "014",
region: "",
continent: "002",
},
{
name: "Mexico",
alpha2: "MX",
alpha3: "MEX",
num3: "484",
subregion: "013",
region: "",
continent: "019",
},
{
name: "Micronesia (Federated States of)",
alpha2: "FM",
alpha3: "FSM",
num3: "583",
subregion: "057",
region: "",
continent: "009",
},
{
name: "Monaco",
alpha2: "MC",
alpha3: "MCO",
num3: "492",
subregion: "155",
region: "",
continent: "150",
},
{
name: "Mongolia",
alpha2: "MN",
alpha3: "MNG",
num3: "496",
subregion: "030",
region: "",
continent: "142",
},
{
name: "Montenegro",
alpha2: "ME",
alpha3: "MNE",
num3: "499",
subregion: "039",
region: "",
continent: "150",
},
{
name: "Montserrat",
alpha2: "MS",
alpha3: "MSR",
num3: "500",
subregion: "029",
region: "419",
continent: "019",
},
{
name: "Morocco",
alpha2: "MA",
alpha3: "MAR",
num3: "504",
subregion: "015",
region: "",
continent: "002",
},
{
name: "Mozambique",
alpha2: "MZ",
alpha3: "MOZ",
num3: "508",
subregion: "014",
region: "",
continent: "002",
},
{
name: "Myanmar",
alpha2: "MM",
alpha3: "MMR",
num3: "104",
subregion: "035",
region: "",
continent: "142",
},
{
name: "Namibia",
alpha2: "NA",
alpha3: "NAM",
num3: "516",
subregion: "018",
region: "",
continent: "002",
},
{
name: "Nauru",
alpha2: "NR",
alpha3: "NRU",
num3: "520",
subregion: "057",
region: "",
continent: "009",
},
{
name: "Nepal",
alpha2: "NP",
alpha3: "NPL",
num3: "524",
subregion: "034",
region: "",
continent: "142",
},
{
name: "Netherlands",
alpha2: "NL",
alpha3: "NLD",
num3: "528",
subregion: "155",
region: "",
continent: "150",
},
{
name: "New Caledonia",
alpha2: "NC",
alpha3: "NCL",
num3: "540",
subregion: "054",
region: "",
continent: "009",
},
{
name: "New Zealand",
alpha2: "NZ",
alpha3: "NZL",
num3: "554",
subregion: "053",
region: "",
continent: "009",
},
{
name: "Nicaragua",
alpha2: "NI",
alpha3: "NIC",
num3: "558",
subregion: "013",
region: "",
continent: "019",
},
{
name: "Niger",
alpha2: "NE",
alpha3: "NER",
num3: "562",
subregion: "011",
region: "",
continent: "002",
},
{
name: "Nigeria",
alpha2: "NG",
alpha3: "NGA",
num3: "566",
subregion: "011",
region: "",
continent: "002",
},
{
name: "Niue",
alpha2: "NU",
alpha3: "NIU",
num3: "570",
subregion: "061",
region: "",
continent: "009",
},
{
name: "Norfolk Island",
alpha2: "NF",
alpha3: "NFK",
num3: "574",
subregion: "053",
region: "",
continent: "009",
},
{
name: "Northern Mariana Islands",
alpha2: "MP",
alpha3: "MNP",
num3: "580",
subregion: "057",
region: "",
continent: "009",
},
{
name: "Norway",
alpha2: "NO",
alpha3: "NOR",
num3: "578",
subregion: "154",
region: "",
continent: "150",
},
{
name: "Oman",
alpha2: "OM",
alpha3: "OMN",
num3: "512",
subregion: "145",
region: "",
continent: "142",
},
{
name: "Pakistan",
alpha2: "PK",
alpha3: "PAK",
num3: "586",
subregion: "034",
region: "",
continent: "142",
},
{
name: "Palau",
alpha2: "PW",
alpha3: "PLW",
num3: "585",
subregion: "057",
region: "",
continent: "009",
},
{
name: "Panama",
alpha2: "PA",
alpha3: "PAN",
num3: "591",
subregion: "013",
region: "",
continent: "019",
},
{
name: "Papua New Guinea",
alpha2: "PG",
alpha3: "PNG",
num3: "598",
subregion: "054",
region: "",
continent: "009",
},
{
name: "Paraguay",
alpha2: "PY",
alpha3: "PRY",
num3: "600",
subregion: "005",
region: "",
continent: "019",
},
{
name: "Peru",
alpha2: "PE",
alpha3: "PER",
num3: "604",
subregion: "005",
region: "",
continent: "019",
},
{
name: "Philippines",
alpha2: "PH",
alpha3: "PHL",
num3: "608",
subregion: "035",
region: "",
continent: "142",
},
{
name: "Pitcairn",
alpha2: "PN",
alpha3: "PCN",
num3: "612",
subregion: "061",
region: "",
continent: "009",
},
{
name: "Poland",
alpha2: "PL",
alpha3: "POL",
num3: "616",
subregion: "151",
region: "",
continent: "150",
},
{
name: "Portugal",
alpha2: "PT",
alpha3: "PRT",
num3: "620",
subregion: "039",
region: "",
continent: "150",
},
{
name: "Puerto Rico",
alpha2: "PR",
alpha3: "PRI",
num3: "630",
subregion: "029",
region: "419",
continent: "019",
},
{
name: "Qatar",
alpha2: "QA",
alpha3: "QAT",
num3: "634",
subregion: "145",
region: "",
continent: "142",
},
{
name: "Republic of Korea",
alpha2: "KR",
alpha3: "KOR",
num3: "410",
subregion: "030",
region: "",
continent: "142",
},
{
name: "Republic of Moldova",
alpha2: "MD",
alpha3: "MDA",
num3: "498",
subregion: "151",
region: "",
continent: "150",
},
{
name: "Réunion",
alpha2: "RE",
alpha3: "REU",
num3: "638",
subregion: "014",
region: "",
continent: "002",
},
{
name: "Romania",
alpha2: "RO",
alpha3: "ROU",
num3: "642",
subregion: "151",
region: "",
continent: "150",
},
{
name: "Russian Federation",
alpha2: "RU",
alpha3: "RUS",
num3: "643",
subregion: "151",
region: "",
continent: "150",
},
{
name: "Rwanda",
alpha2: "RW",
alpha3: "RWA",
num3: "646",
subregion: "014",
region: "",
continent: "002",
},
{
name: "Saint Helena",
alpha2: "SH",
alpha3: "SHN",
num3: "654",
subregion: "011",
region: "",
continent: "002",
},
{
name: "Saint Kitts and Nevis",
alpha2: "KN",
alpha3: "KNA",
num3: "659",
subregion: "029",
region: "419",
continent: "019",
},
{
name: "Saint Lucia",
alpha2: "LC",
alpha3: "LCA",
num3: "662",
subregion: "029",
region: "419",
continent: "019",
},
{
name: "Saint Martin (French part)",
alpha2: "MF",
alpha3: "MAF",
num3: "663",
subregion: "029",
region: "419",
continent: "019",
},
{
name: "Saint Pierre and Miquelon",
alpha2: "PM",
alpha3: "SPM",
num3: "666",
subregion: "",
region: "021",
continent: "019",
},
{
name: "Saint Vincent and the Grenadines",
alpha2: "VC",
alpha3: "VCT",
num3: "670",
subregion: "029",
region: "419",
continent: "019",
},
{
name: "Saint-Barthélemy",
alpha2: "BL",
alpha3: "BLM",
num3: "652",
subregion: "029",
region: "419",
continent: "019",
},
{
name: "Samoa",
alpha2: "WS",
alpha3: "WSM",
num3: "882",
subregion: "061",
region: "",
continent: "009",
},
{
name: "San Marino",
alpha2: "SM",
alpha3: "SMR",
num3: "674",
subregion: "039",
region: "",
continent: "150",
},
{
name: "Sao Tome and Principe",
alpha2: "ST",
alpha3: "STP",
num3: "678",
subregion: "017",
region: "",
continent: "002",
},
{
name: "Sark",
alpha2: "",
alpha3: "",
num3: "680",
subregion: "154",
region: "",
continent: "150",
},
{
name: "Saudi Arabia",
alpha2: "SA",
alpha3: "SAU",
num3: "682",
subregion: "145",
region: "",
continent: "142",
},
{
name: "Senegal",
alpha2: "SN",
alpha3: "SEN",
num3: "686",
subregion: "011",
region: "",
continent: "002",
},
{
name: "Serbia",
alpha2: "RS",
alpha3: "SRB",
num3: "688",
subregion: "039",
region: "",
continent: "150",
},
{
name: "Seychelles",
alpha2: "SC",
alpha3: "SYC",
num3: "690",
subregion: "014",
region: "",
continent: "002",
},
{
name: "Sierra Leone",
alpha2: "SL",
alpha3: "SLE",
num3: "694",
subregion: "011",
region: "",
continent: "002",
},
{
name: "Singapore",
alpha2: "SG",
alpha3: "SGP",
num3: "702",
subregion: "035",
region: "",
continent: "142",
},
{
name: "Sint Maarten (Dutch part)",
alpha2: "SX",
alpha3: "SXM",
num3: "534",
subregion: "029",
region: "419",
continent: "019",
},
{
name: "Slovakia",
alpha2: "SK",
alpha3: "SVK",
num3: "703",
subregion: "151",
region: "",
continent: "150",
},
{
name: "Slovenia",
alpha2: "SI",
alpha3: "SVN",
num3: "705",
subregion: "039",
region: "",
continent: "150",
},
{
name: "Solomon Islands",
alpha2: "SB",
alpha3: "SLB",
num3: "090",
subregion: "054",
region: "",
continent: "009",
},
{
name: "Somalia",
alpha2: "SO",
alpha3: "SOM",
num3: "706",
subregion: "014",
region: "",
continent: "002",
},
{
name: "South Africa",
alpha2: "ZA",
alpha3: "ZAF",
num3: "710",
subregion: "018",
region: "",
continent: "002",
},
{
name: "South Sudan",
alpha2: "SS",
alpha3: "SSD",
num3: "728",
subregion: "014",
region: "",
continent: "002",
},
{
name: "Spain",
alpha2: "ES",
alpha3: "ESP",
num3: "724",
subregion: "039",
region: "",
continent: "150",
},
{
name: "Sri Lanka",
alpha2: "LK",
alpha3: "LKA",
num3: "144",
subregion: "034",
region: "",
continent: "142",
},
{
name: "State of Palestine",
alpha2: "PS",
alpha3: "PSE",
num3: "275",
subregion: "145",
region: "",
continent: "142",
},
{
name: "Sudan",
alpha2: "SD",
alpha3: "SDN",
num3: "729",
subregion: "015",
region: "",
continent: "002",
},
{
name: "Suriname",
alpha2: "SR",
alpha3: "SUR",
num3: "740",
subregion: "005",
region: "",
continent: "019",
},
{
name: "Svalbard and Jan Mayen Islands",
alpha2: "SJ",
alpha3: "SJM",
num3: "744",
subregion: "154",
region: "",
continent: "150",
},
{
name: "Swaziland",
alpha2: "SZ",
alpha3: "SWZ",
num3: "748",
subregion: "018",
region: "",
continent: "002",
},
{
name: "Sweden",
alpha2: "SE",
alpha3: "SWE",
num3: "752",
subregion: "154",
region: "",
continent: "150",
},
{
name: "Switzerland",
alpha2: "CH",
alpha3: "CHE",
num3: "756",
subregion: "155",
region: "",
continent: "150",
},
{
name: "Syrian Arab Republic",
alpha2: "SY",
alpha3: "SYR",
num3: "760",
subregion: "145",
region: "",
continent: "142",
},
{
name: "Tajikistan",
alpha2: "TJ",
alpha3: "TJK",
num3: "762",
subregion: "143",
region: "",
continent: "142",
},
{
name: "Thailand",
alpha2: "TH",
alpha3: "THA",
num3: "764",
subregion: "035",
region: "",
continent: "142",
},
{
name: "The former Yugoslav Republic of Macedonia",
alpha2: "MK",
alpha3: "MKD",
num3: "807",
subregion: "039",
region: "",
continent: "150",
},
{
name: "Timor-Leste",
alpha2: "TL",
alpha3: "TLS",
num3: "626",
subregion: "035",
region: "",
continent: "142",
},
{
name: "Togo",
alpha2: "TG",
alpha3: "TGO",
num3: "768",
subregion: "011",
region: "",
continent: "002",
},
{
name: "Tokelau",
alpha2: "TK",
alpha3: "TKL",
num3: "772",
subregion: "061",
region: "",
continent: "009",
},
{
name: "Tonga",
alpha2: "TO",
alpha3: "TON",
num3: "776",
subregion: "061",
region: "",
continent: "009",
},
{
name: "Trinidad and Tobago",
alpha2: "TT",
alpha3: "TTO",
num3: "780",
subregion: "029",
region: "419",
continent: "019",
},
{
name: "Tunisia",
alpha2: "TN",
alpha3: "TUN",
num3: "788",
subregion: "015",
region: "",
continent: "002",
},
{
name: "Turkey",
alpha2: "TR",
alpha3: "TUR",
num3: "792",
subregion: "145",
region: "",
continent: "142",
},
{
name: "Turkmenistan",
alpha2: "TM",
alpha3: "TKM",
num3: "795",
subregion: "143",
region: "",
continent: "142",
},
{
name: "Turks and Caicos Islands",
alpha2: "TC",
alpha3: "TCA",
num3: "796",
subregion: "029",
region: "419",
continent: "019",
},
{
name: "Tuvalu",
alpha2: "TV",
alpha3: "TUV",
num3: "798",
subregion: "061",
region: "",
continent: "009",
},
{
name: "Uganda",
alpha2: "UG",
alpha3: "UGA",
num3: "800",
subregion: "014",
region: "",
continent: "002",
},
{
name: "Ukraine",
alpha2: "UA",
alpha3: "UKR",
num3: "804",
subregion: "151",
region: "",
continent: "150",
},
{
name: "United Arab Emirates",
alpha2: "AE",
alpha3: "ARE",
num3: "784",
subregion: "145",
region: "",
continent: "142",
},
{
name: "United Kingdom of Great Britain and Northern Ireland",
alpha2: "GB",
alpha3: "GBR",
num3: "826",
subregion: "154",
region: "",
continent: "150",
},
{
name: "United Republic of Tanzania",
alpha2: "TZ",
alpha3: "TZA",
num3: "834",
subregion: "014",
region: "",
continent: "002",
},
{
name: "United States of America",
alpha2: "US",
alpha3: "USA",
num3: "840",
subregion: "",
region: "021",
continent: "019",
},
{
name: "United States Virgin Islands",
alpha2: "VI",
alpha3: "VIR",
num3: "850",
subregion: "029",
region: "419",
continent: "019",
},
{
name: "Uruguay",
alpha2: "UY",
alpha3: "URY",
num3: "858",
subregion: "005",
region: "",
continent: "019",
},
{
name: "Uzbekistan",
alpha2: "UZ",
alpha3: "UZB",
num3: "860",
subregion: "143",
region: "",
continent: "142",
},
{
name: "Vanuatu",
alpha2: "VU",
alpha3: "VUT",
num3: "548",
subregion: "054",
region: "",
continent: "009",
},
{
name: "Venezuela (Bolivarian Republic of)",
alpha2: "VE",
alpha3: "VEN",
num3: "862",
subregion: "005",
region: "",
continent: "019",
},
{
name: "Viet Nam",
alpha2: "VN",
alpha3: "VNM",
num3: "704",
subregion: "035",
region: "",
continent: "142",
},
{
name: "Wallis and Futuna Islands",
alpha2: "WF",
alpha3: "WLF",
num3: "876",
subregion: "061",
region: "",
continent: "009",
},
{
name: "Western Sahara",
alpha2: "EH",
alpha3: "ESH",
num3: "732",
subregion: "015",
region: "",
continent: "002",
},
{
name: "Yemen",
alpha2: "YE",
alpha3: "YEM",
num3: "887",
subregion: "145",
region: "",
continent: "142",
},
{
name: "Zambia",
alpha2: "ZM",
alpha3: "ZMB",
num3: "894",
subregion: "014",
region: "",
continent: "002",
},
{
name: "Zimbabwe",
alpha2: "ZW",
alpha3: "ZWE",
num3: "716",
subregion: "014",
region: "",
continent: "002",
},
];
/**
* @author Phil Teare
* @global
* iso languanges using wikipedia data
*/
const isoLangs = {
ab: {
name: "Abkhaz",
nativeName: "аҧсуа",
},
aa: {
name: "Afar",
nativeName: "Afaraf",
},
af: {
name: "Afrikaans",
nativeName: "Afrikaans",
},
ak: {
name: "Akan",
nativeName: "Akan",
},
sq: {
name: "Albanian",
nativeName: "Shqip",
},
am: {
name: "Amharic",
nativeName: "አማርኛ",
},
ar: {
name: "Arabic",
nativeName: "العربية",
},
an: {
name: "Aragonese",
nativeName: "Aragonés",
},
hy: {
name: "Armenian",
nativeName: "Հայերեն",
},
as: {
name: "Assamese",
nativeName: "অসমীয়া",
},
av: {
name: "Avaric",
nativeName: "авар мацӀ, магӀарул мацӀ",
},
ae: {
name: "Avestan",
nativeName: "avesta",
},
ay: {
name: "Aymara",
nativeName: "aymar aru",
},
az: {
name: "Azerbaijani",
nativeName: "azərbaycan dili",
},
bm: {
name: "Bambara",
nativeName: "bamanankan",
},
ba: {
name: "Bashkir",
nativeName: "башҡорт теле",
},
eu: {
name: "Basque",
nativeName: "euskara, euskera",
},
be: {
name: "Belarusian",
nativeName: "Беларуская",
},
bn: {
name: "Bengali",
nativeName: "বাংলা",
},
bh: {
name: "Bihari",
nativeName: "भोजपुरी",
},
bi: {
name: "Bislama",
nativeName: "Bislama",
},
bs: {
name: "Bosnian",
nativeName: "bosanski jezik",
},
br: {
name: "Breton",
nativeName: "brezhoneg",
},
bg: {
name: "Bulgarian",
nativeName: "български език",
},
my: {
name: "Burmese",
nativeName: "ဗမာစာ",
},
ca: {
name: "Catalan; Valencian",
nativeName: "Català",
},
ch: {
name: "Chamorro",
nativeName: "Chamoru",
},
ce: {
name: "Chechen",
nativeName: "нохчийн мотт",
},
ny: {
name: "Chichewa; Chewa; Nyanja",
nativeName: "chiCheŵa, chinyanja",
},
zh: {
name: "Chinese",
nativeName: "中文 (Zhōngwén), 汉语, 漢語",
},
cv: {
name: "Chuvash",
nativeName: "чӑваш чӗлхи",
},
kw: {
name: "Cornish",
nativeName: "Kernewek",
},
co: {
name: "Corsican",
nativeName: "corsu, lingua corsa",
},
cr: {
name: "Cree",
nativeName: "ᓀᐦᐃᔭᐍᐏᐣ",
},
hr: {
name: "Croatian",
nativeName: "hrvatski",
},
cs: {
name: "Czech",
nativeName: "česky, čeština",
},
da: {
name: "Danish",
nativeName: "dansk",
},
dv: {
name: "Divehi; Dhivehi; Maldivian;",
nativeName: "ދިވެހި",
},
nl: {
name: "Dutch",
nativeName: "Nederlands, Vlaams",
},
en: {
name: "English",
nativeName: "English",
},
eo: {
name: "Esperanto",
nativeName: "Esperanto",
},
et: {
name: "Estonian",
nativeName: "eesti, eesti keel",
},
ee: {
name: "Ewe",
nativeName: "Eʋegbe",
},
fo: {
name: "Faroese",
nativeName: "føroyskt",
},
fj: {
name: "Fijian",
nativeName: "vosa Vakaviti",
},
fi: {
name: "Finnish",
nativeName: "suomi, suomen kieli",
},
fr: {
name: "French",
nativeName: "français, langue française",
},
ff: {
name: "Fula; Fulah; Pulaar; Pular",
nativeName: "Fulfulde, Pulaar, Pular",
},
gl: {
name: "Galician",
nativeName: "Galego",
},
ka: {
name: "Georgian",
nativeName: "ქართული",
},
de: {
name: "German",
nativeName: "Deutsch",
},
el: {
name: "Greek, Modern",
nativeName: "Ελληνικά",
},
gn: {
name: "Guaraní",
nativeName: "Avañeẽ",
},
gu: {
name: "Gujarati",
nativeName: "ગુજરાતી",
},
ht: {
name: "Haitian; Haitian Creole",
nativeName: "Kreyòl ayisyen",
},
ha: {
name: "Hausa",
nativeName: "Hausa, هَوُسَ",
},
he: {
name: "Hebrew (modern)",
nativeName: "עברית",
},
hz: {
name: "Herero",
nativeName: "Otjiherero",
},
hi: {
name: "Hindi",
nativeName: "हिन्दी, हिंदी",
},
ho: {
name: "Hiri Motu",
nativeName: "Hiri Motu",
},
hu: {
name: "Hungarian",
nativeName: "Magyar",
},
ia: {
name: "Interlingua",
nativeName: "Interlingua",
},
id: {
name: "Indonesian",
nativeName: "Bahasa Indonesia",
},
ie: {
name: "Interlingue",
nativeName: "Originally called Occidental; then Interlingue after WWII",
},
ga: {
name: "Irish",
nativeName: "Gaeilge",
},
ig: {
name: "Igbo",
nativeName: "Asụsụ Igbo",
},
ik: {
name: "Inupiaq",
nativeName: "Iñupiaq, Iñupiatun",
},
io: {
name: "Ido",
nativeName: "Ido",
},
is: {
name: "Icelandic",
nativeName: "Íslenska",
},
it: {
name: "Italian",
nativeName: "Italiano",
},
iu: {
name: "Inuktitut",
nativeName: "ᐃᓄᒃᑎᑐᑦ",
},
ja: {
name: "Japanese",
nativeName: "日本語 (にほんご/にっぽんご)",
},
jv: {
name: "Javanese",
nativeName: "basa Jawa",
},
kl: {
name: "Kalaallisut, Greenlandic",
nativeName: "kalaallisut, kalaallit oqaasii",
},
kn: {
name: "Kannada",
nativeName: "ಕನ್ನಡ",
},
kr: {
name: "Kanuri",
nativeName: "Kanuri",
},
ks: {
name: "Kashmiri",
nativeName: "कश्मीरी, كشميري",
},
kk: {
name: "Kazakh",
nativeName: "Қазақ тілі",
},
km: {
name: "Khmer",
nativeName: "ភាសាខ្មែរ",
},
ki: {
name: "Kikuyu, Gikuyu",
nativeName: "Gĩkũyũ",
},
rw: {
name: "Kinyarwanda",
nativeName: "Ikinyarwanda",
},
ky: {
name: "Kirghiz, Kyrgyz",
nativeName: "кыргыз тили",
},
kv: {
name: "Komi",
nativeName: "коми кыв",
},
kg: {
name: "Kongo",
nativeName: "KiKongo",
},
ko: {
name: "Korean",
nativeName: "한국어 (韓國語), 조선말 (朝鮮語)",
},
ku: {
name: "Kurdish",
nativeName: "Kurdî, كوردی",
},
kj: {
name: "Kwanyama, Kuanyama",
nativeName: "Kuanyama",
},
la: {
name: "Latin",
nativeName: "latine, lingua latina",
},
lb: {
name: "Luxembourgish, Letzeburgesch",
nativeName: "Lëtzebuergesch",
},
lg: {
name: "Luganda",
nativeName: "Luganda",
},
li: {
name: "Limburgish, Limburgan, Limburger",
nativeName: "Limburgs",
},
ln: {
name: "Lingala",
nativeName: "Lingála",
},
lo: {
name: "Lao",
nativeName: "ພາສາລາວ",
},
lt: {
name: "Lithuanian",
nativeName: "lietuvių kalba",
},
lu: {
name: "Luba-Katanga",
nativeName: "",
},
lv: {
name: "Latvian",
nativeName: "latviešu valoda",
},
gv: {
name: "Manx",
nativeName: "Gaelg, Gailck",
},
mk: {
name: "Macedonian",
nativeName: "македонски јазик",
},
mg: {
name: "Malagasy",
nativeName: "Malagasy fiteny",
},
ms: {
name: "Malay",
nativeName: "bahasa Melayu, بهاس ملايو",
},
ml: {
name: "Malayalam",
nativeName: "മലയാളം",
},
mt: {
name: "Maltese",
nativeName: "Malti",
},
mi: {
name: "Māori",
nativeName: "te reo Māori",
},
mr: {
name: "Marathi (Marāṭhī)",
nativeName: "मराठी",
},
mh: {
name: "Marshallese",
nativeName: "Kajin M̧ajeļ",
},
mn: {
name: "Mongolian",
nativeName: "монгол",
},
na: {
name: "Nauru",
nativeName: "Ekakairũ Naoero",
},
nv: {
name: "Navajo, Navaho",
nativeName: "Diné bizaad, Dinékʼehǰí",
},
nb: {
name: "Norwegian Bokmål",
nativeName: "Norsk bokmål",
},
nd: {
name: "North Ndebele",
nativeName: "isiNdebele",
},
ne: {
name: "Nepali",
nativeName: "नेपाली",
},
ng: {
name: "Ndonga",
nativeName: "Owambo",
},
nn: {
name: "Norwegian Nynorsk",
nativeName: "Norsk nynorsk",
},
no: {
name: "Norwegian",
nativeName: "Norsk",
},
ii: {
name: "Nuosu",
nativeName: "ꆈꌠ꒿ Nuosuhxop",
},
nr: {
name: "South Ndebele",
nativeName: "isiNdebele",
},
oc: {
name: "Occitan",
nativeName: "Occitan",
},
oj: {
name: "Ojibwe, Ojibwa",
nativeName: "ᐊᓂᔑᓈᐯᒧᐎᓐ",
},
cu: {
name: "Old Church Slavonic, Church Slavic, Church Slavonic, Old Bulgarian, Old Slavonic",
nativeName: "ѩзыкъ словѣньскъ",
},
om: {
name: "Oromo",
nativeName: "Afaan Oromoo",
},
or: {
name: "Oriya",
nativeName: "ଓଡ଼ିଆ",
},
os: {
name: "Ossetian, Ossetic",
nativeName: "ирон æвзаг",
},
pa: {
name: "Panjabi, Punjabi",
nativeName: "ਪੰਜਾਬੀ, پنجابی",
},
pi: {
name: "Pāli",
nativeName: "पाऴि",
},
fa: {
name: "Persian",
nativeName: "فارسی",
},
pl: {
name: "Polish",
nativeName: "polski",
},
ps: {
name: "Pashto, Pushto",
nativeName: "پښتو",
},
pt: {
name: "Portuguese",
nativeName: "Português",
},
qu: {
name: "Quechua",
nativeName: "Runa Simi, Kichwa",
},
rm: {
name: "Romansh",
nativeName: "rumantsch grischun",
},
rn: {
name: "Kirundi",
nativeName: "kiRundi",
},
ro: {
name: "Romanian, Moldavian, Moldovan",
nativeName: "română",
},
ru: {
name: "Russian",
nativeName: "русский язык",
},
sa: {
name: "Sanskrit (Saṁskṛta)",
nativeName: "संस्कृतम्",
},
sc: {
name: "Sardinian",
nativeName: "sardu",
},
sd: {
name: "Sindhi",
nativeName: "सिन्धी, سنڌي، سندھی",
},
se: {
name: "Northern Sami",
nativeName: "Davvisámegiella",
},
sm: {
name: "Samoan",
nativeName: "gagana faa Samoa",
},
sg: {
name: "Sango",
nativeName: "yângâ tî sängö",
},
sr: {
name: "Serbian",
nativeName: "српски језик",
},
gd: {
name: "Scottish Gaelic; Gaelic",
nativeName: "Gàidhlig",
},
sn: {
name: "Shona",
nativeName: "chiShona",
},
si: {
name: "Sinhala, Sinhalese",
nativeName: "සිංහල",
},
sk: {
name: "Slovak",
nativeName: "slovenčina",
},
sl: {
name: "Slovene",
nativeName: "slovenščina",
},
so: {
name: "Somali",
nativeName: "Soomaaliga, af Soomaali",
},
st: {
name: "Southern Sotho",
nativeName: "Sesotho",
},
es: {
name: "Spanish; Castilian",
nativeName: "español, castellano",
},
su: {
name: "Sundanese",
nativeName: "Basa Sunda",
},
sw: {
name: "Swahili",
nativeName: "Kiswahili",
},
ss: {
name: "Swati",
nativeName: "SiSwati",
},
sv: {
name: "Swedish",
nativeName: "svenska",
},
ta: {
name: "Tamil",
nativeName: "தமிழ்",
},
te: {
name: "Telugu",
nativeName: "తెలుగు",
},
tg: {
name: "Tajik",
nativeName: "тоҷикӣ, toğikī, تاجیکی",
},
th: {
name: "Thai",
nativeName: "ไทย",
},
ti: {
name: "Tigrinya",
nativeName: "ትግርኛ",
},
bo: {
name: "Tibetan Standard, Tibetan, Central",
nativeName: "བོད་ཡིག",
},
tk: {
name: "Turkmen",
nativeName: "Türkmen, Түркмен",
},
tl: {
name: "Tagalog",
nativeName: "Wikang Tagalog, ᜏᜒᜃᜅ᜔ ᜆᜄᜎᜓᜄ᜔",
},
tn: {
name: "Tswana",
nativeName: "Setswana",
},
to: {
name: "Tonga (Tonga Islands)",
nativeName: "faka Tonga",
},
tr: {
name: "Turkish",
nativeName: "Türkçe",
},
ts: {
name: "Tsonga",
nativeName: "Xitsonga",
},
tt: {
name: "Tatar",
nativeName: "татарча, tatarça, تاتارچا",
},
tw: {
name: "Twi",
nativeName: "Twi",
},
ty: {
name: "Tahitian",
nativeName: "Reo Tahiti",
},
ug: {
name: "Uighur, Uyghur",
nativeName: "Uyƣurqə, ئۇيغۇرچە",
},
uk: {
name: "Ukrainian",
nativeName: "українська",
},
ur: {
name: "Urdu",
nativeName: "اردو",
},
uz: {
name: "Uzbek",
nativeName: "zbek, Ўзбек, أۇزبېك",
},
ve: {
name: "Venda",
nativeName: "Tshivenḓa",
},
vi: {
name: "Vietnamese",
nativeName: "Tiếng Việt",
},
vo: {
name: "Volapük",
nativeName: "Volapük",
},
wa: {
name: "Walloon",
nativeName: "Walon",
},
cy: {
name: "Welsh",
nativeName: "Cymraeg",
},
wo: {
name: "Wolof",
nativeName: "Wollof",
},
fy: {
name: "Western Frisian",
nativeName: "Frysk",
},
xh: {
name: "Xhosa",
nativeName: "isiXhosa",
},
yi: {
name: "Yiddish",
nativeName: "ייִדיש",
},
yo: {
name: "Yoruba",
nativeName: "Yorùbá",
},
za: {
name: "Zhuang, Chuang",
nativeName: "Saɯ cueŋƅ, Saw cuengh",
},
};
/**
* Get ISO Langs
* @returns
*/
function getIsoLangs(): any {
for (const key in isoLangs) {
if (Object.prototype.hasOwnProperty.call(isoLangs, key)) {
isoLangs[key].id = key;
isoLangs[key].text = isoLangs[key].nativeName;
isoLangs[key].img = `/server/img/flag?code=${key}`;
}
}
return Object.values(isoLangs);
}
/**
* Select2 Language Country
*/
function select2Langs(
selectLang: JQuery<HTMLSelectElement> | JQuery<HTMLElement>,
select2Opt: Select2.Options<Select2.DataFormat | Select2.GroupedDataFormat, any> = {}
) {
loadCSS("https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/0.8.2/css/flag-icon.min.css");
const defaultOpt: Select2.Options<Select2.DataFormat | Select2.GroupedDataFormat, Select2.LoadingData> = {
placeholder: "Select Article Language",
templateResult: function (data: Select2.LoadingData | Select2.DataFormat | Select2.GroupedDataFormat | any) {
if (data.hasOwnProperty("loading") && data.loading) return data.text;
return $(
`<img class="flag-icon" src="/server/img/flag?code=${data.id}" alt="Language ${data.id}"/><span style="margin-left:10px">${data.text}</span>`
);
},
data: getIsoLangs(),
};
const newOpt: any = Object.assign(defaultOpt, select2Opt);
//console.log(newOpt);
selectLang.select2(newOpt);
}
/**
* Get Countries ISO
* @returns
*/
function getIsoCountries() {
return isoCountries;
}
/**
* Select2 Country
* @requires jQuery
* @param selectCountry
* @param select2Opt Select2 Options
* @example
* select2Country($("#selectID"), {placeholder:"Select Your Country"})
*/
function select2Country(
select2Country: JQuery<HTMLSelectElement> | JQuery<HTMLElement>,
select2Opt: Select2.Options<Select2.DataFormat | Select2.GroupedDataFormat, any> = {}
) {
loadCSS("https://cdnjs.cloudflare.com/ajax/libs/flag-icon-css/0.8.2/css/flag-icon.min.css");
const newIso = [];
isoCountries.forEach(function (country) {
newIso.add(Object.assign(country, { id: country.alpha2, text: country.name }));
});
const defaultOpt: Select2.Options<Select2.DataFormat | Select2.GroupedDataFormat, Select2.LoadingData> = {
placeholder: "Select a country",
templateResult: function (country: Select2.LoadingData | Select2.DataFormat | Select2.GroupedDataFormat | any) {
//console.log(country);
if (country.hasOwnProperty("loading") && country.loading) return country.text;
return $(
'<span class="flag-icon flag-icon-' +
country.id.toString().toLowerCase() +
' flag-icon-squared"></span>' +
'<span class="flag-text" style="margin-left: 10px">' +
country.text +
"</span>"
);
},
data: newIso,
};
const newOpt: any = Object.assign(defaultOpt, select2Opt);
//console.log(newOpt);
select2Country.select2(newOpt);
}
if (typeof module !== "undefined" && module.exports) {
module.exports.getCountries = getIsoCountries;
module.exports.getLangs = getIsoLangs();
} else {
(function ($) {
$.fn.select2Country = function (select2Opt) {
select2Country($(this), select2Opt);
};
$.fn.select2LangCountry = function (select2Opt) {
select2Langs($(this), select2Opt);
};
})(jQuery);
}
/// modify this to tell typescript compiler
Source