/*
 * Copyright 2012 Google Inc.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License"); you may not
 * use this file except in compliance with the License. You may obtain a copy of
 * the License at
 * 
 * http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
 * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
 * License for the specific language governing permissions and limitations under
 * the License.
 */
package com.google.gwt.i18n.client.impl.cldr;

import com.google.gwt.core.client.JavaScriptObject;

// DO NOT EDIT - GENERATED FROM CLDR DATA

/**
 * Localized names for the "is" locale.
 */
public class LocalizedNamesImpl_is extends LocalizedNamesImpl {

  @Override
  public String[] loadSortedRegionCodes() {
    return new String[] {
        "AF",
        "AL",
        "DZ",
        "AD",
        "AO",
        "AI",
        "AG",
        "AR",
        "AM",
        "AW",
        "AC",
        "AZ",
        "AT",
        "AX",
        "AU",
        "BS",
        "US",
        "AS",
        "VI",
        "BD",
        "BB",
        "BH",
        "BE",
        "BZ",
        "BJ",
        "BM",
        "BA",
        "BW",
        "BV",
        "BO",
        "BR",
        "IO",
        "VG",
        "GB",
        "BN",
        "BG",
        "BF",
        "BI",
        "BT",
        "KY",
        "EA",
        "CP",
        "CK",
        "CW",
        "DK",
        "DG",
        "DJ",
        "DM",
        "DO",
        "EG",
        "EE",
        "EC",
        "SV",
        "ER",
        "EU",
        "EZ",
        "ET",
        "FK",
        "PH",
        "FI",
        "FJ",
        "CI",
        "FR",
        "GF",
        "PF",
        "TF",
        "FO",
        "GA",
        "GM",
        "GH",
        "GE",
        "GI",
        "GN",
        "GW",
        "GD",
        "GR",
        "CV",
        "GL",
        "GG",
        "GP",
        "GU",
        "GT",
        "GY",
        "HT",
        "HM",
        "PS",
        "NL",
        "HN",
        "BY",
        "IN",
        "ID",
        "IQ",
        "IR",
        "IE",
        "IS",
        "IL",
        "IT",
        "JM",
        "JP",
        "YE",
        "JE",
        "CX",
        "JO",
        "KH",
        "CM",
        "CA",
        "IC",
        "BQ",
        "KZ",
        "QA",
        "KE",
        "KG",
        "CN",
        "KI",
        "CG",
        "CD",
        "CR",
        "CC",
        "CO",
        "KM",
        "XK",
        "HR",
        "CU",
        "KW",
        "CY",
        "LA",
        "LS",
        "LV",
        "LI",
        "LT",
        "LB",
        "LR",
        "LY",
        "LU",
        "MG",
        "MK",
        "MY",
        "MW",
        "MV",
        "ML",
        "MT",
        "MA",
        "MH",
        "MQ",
        "YT",
        "MR",
        "MU",
        "MX",
        "CF",
        "GQ",
        "FM",
        "MM",
        "MD",
        "MN",
        "MS",
        "MC",
        "MZ",
        "IM",
        "NA",
        "NR",
        "NP",
        "NU",
        "NE",
        "NG",
        "NI",
        "KP",
        "MP",
        "NO",
        "NF",
        "NC",
        "NZ",
        "OM",
        "PK",
        "PW",
        "PA",
        "PG",
        "PY",
        "PE",
        "PN",
        "PT",
        "PL",
        "PR",
        "RE",
        "RW",
        "RO",
        "RU",
        "SB",
        "ZM",
        "AE",
        "UN",
        "WS",
        "BL",
        "SH",
        "KN",
        "LC",
        "SX",
        "PM",
        "VC",
        "SM",
        "ST",
        "SA",
        "SN",
        "RS",
        "SC",
        "HK",
        "MO",
        "ZW",
        "SG",
        "SL",
        "CL",
        "SK",
        "SI",
        "UM",
        "SO",
        "ES",
        "LK",
        "MF",
        "ZA",
        "GS",
        "KR",
        "AQ",
        "SS",
        "SD",
        "SR",
        "SJ",
        "ME",
        "SZ",
        "CH",
        "SE",
        "SY",
        "TJ",
        "TH",
        "TW",
        "TZ",
        "CZ",
        "TL",
        "TO",
        "TG",
        "TK",
        "TA",
        "TT",
        "TD",
        "TC",
        "TN",
        "TM",
        "TV",
        "TR",
        "HU",
        "UG",
        "UA",
        "UY",
        "UZ",
        "VU",
        "VA",
        "VE",
        "EH",
        "VN",
        "WF",
        "XA",
        "XB",
        "QO",
        "DE",
    };
  }

  @Override
  protected void loadNameMapJava() {
    super.loadNameMapJava();
    namesMap.put("001", "Heimurinn");
    namesMap.put("002", "Afríka");
    namesMap.put("003", "Norður-Ameríka");
    namesMap.put("005", "Suður-Ameríka");
    namesMap.put("009", "Eyjaálfa");
    namesMap.put("011", "Vestur-Afríka");
    namesMap.put("013", "Mið-Ameríka");
    namesMap.put("014", "Austur-Afríka");
    namesMap.put("015", "Norður-Afríka");
    namesMap.put("017", "Mið-Afríka");
    namesMap.put("018", "Suðurhluti Afríku");
    namesMap.put("019", "Ameríka");
    namesMap.put("021", "Ameríka norðan Mexikó");
    namesMap.put("029", "Karíbahafið");
    namesMap.put("030", "Austur-Asía");
    namesMap.put("034", "Suður-Asía");
    namesMap.put("035", "Suðaustur-Asía");
    namesMap.put("039", "Suður-Evrópa");
    namesMap.put("053", "Ástralasía");
    namesMap.put("054", "Melanesía");
    namesMap.put("057", "Míkrónesíusvæðið");
    namesMap.put("061", "Pólýnesía");
    namesMap.put("142", "Asía");
    namesMap.put("143", "Mið-Asía");
    namesMap.put("145", "Vestur-Asía");
    namesMap.put("150", "Evrópa");
    namesMap.put("151", "Austur-Evrópa");
    namesMap.put("154", "Norður-Evrópa");
    namesMap.put("155", "Vestur-Evrópa");
    namesMap.put("202", "Afríka sunnan Sahara");
    namesMap.put("419", "Rómanska Ameríka");
    namesMap.put("AC", "Ascension-eyja");
    namesMap.put("AE", "Sameinuðu arabísku furstadæmin");
    namesMap.put("AF", "Afganistan");
    namesMap.put("AG", "Antígva og Barbúda");
    namesMap.put("AI", "Angvilla");
    namesMap.put("AL", "Albanía");
    namesMap.put("AM", "Armenía");
    namesMap.put("AO", "Angóla");
    namesMap.put("AQ", "Suðurskautslandið");
    namesMap.put("AR", "Argentína");
    namesMap.put("AS", "Bandaríska Samóa");
    namesMap.put("AT", "Austurríki");
    namesMap.put("AU", "Ástralía");
    namesMap.put("AW", "Arúba");
    namesMap.put("AX", "Álandseyjar");
    namesMap.put("AZ", "Aserbaídsjan");
    namesMap.put("BA", "Bosnía og Hersegóvína");
    namesMap.put("BD", "Bangladess");
    namesMap.put("BE", "Belgía");
    namesMap.put("BF", "Búrkína Fasó");
    namesMap.put("BG", "Búlgaría");
    namesMap.put("BH", "Barein");
    namesMap.put("BI", "Búrúndí");
    namesMap.put("BJ", "Benín");
    namesMap.put("BL", "Sankti Bartólómeusareyjar");
    namesMap.put("BM", "Bermúdaeyjar");
    namesMap.put("BN", "Brúnei");
    namesMap.put("BO", "Bólivía");
    namesMap.put("BQ", "Karíbahafshluti Hollands");
    namesMap.put("BR", "Brasilía");
    namesMap.put("BS", "Bahamaeyjar");
    namesMap.put("BT", "Bútan");
    namesMap.put("BV", "Bouveteyja");
    namesMap.put("BW", "Botsvana");
    namesMap.put("BY", "Hvíta-Rússland");
    namesMap.put("BZ", "Belís");
    namesMap.put("CA", "Kanada");
    namesMap.put("CC", "Kókoseyjar (Keeling)");
    namesMap.put("CD", "Kongó-Kinshasa");
    namesMap.put("CF", "Mið-Afríkulýðveldið");
    namesMap.put("CG", "Kongó-Brazzaville");
    namesMap.put("CH", "Sviss");
    namesMap.put("CI", "Fílabeinsströndin");
    namesMap.put("CK", "Cooks-eyjar");
    namesMap.put("CL", "Síle");
    namesMap.put("CM", "Kamerún");
    namesMap.put("CN", "Kína");
    namesMap.put("CO", "Kólumbía");
    namesMap.put("CP", "Clipperton-eyja");
    namesMap.put("CR", "Kostaríka");
    namesMap.put("CU", "Kúba");
    namesMap.put("CV", "Grænhöfðaeyjar");
    namesMap.put("CW", "Curacao");
    namesMap.put("CX", "Jólaey");
    namesMap.put("CY", "Kýpur");
    namesMap.put("CZ", "Tékkland");
    namesMap.put("DE", "Þýskaland");
    namesMap.put("DJ", "Djíbútí");
    namesMap.put("DK", "Danmörk");
    namesMap.put("DM", "Dóminíka");
    namesMap.put("DO", "Dóminíska lýðveldið");
    namesMap.put("DZ", "Alsír");
    namesMap.put("EA", "Ceuta og Melilla");
    namesMap.put("EC", "Ekvador");
    namesMap.put("EE", "Eistland");
    namesMap.put("EG", "Egyptaland");
    namesMap.put("EH", "Vestur-Sahara");
    namesMap.put("ER", "Erítrea");
    namesMap.put("ES", "Spánn");
    namesMap.put("ET", "Eþíópía");
    namesMap.put("EU", "Evrópusambandið");
    namesMap.put("EZ", "Evrusvæðið");
    namesMap.put("FI", "Finnland");
    namesMap.put("FJ", "Fídjíeyjar");
    namesMap.put("FK", "Falklandseyjar");
    namesMap.put("FM", "Míkrónesía");
    namesMap.put("FO", "Færeyjar");
    namesMap.put("FR", "Frakkland");
    namesMap.put("GB", "Bretland");
    namesMap.put("GE", "Georgía");
    namesMap.put("GF", "Franska Gvæjana");
    namesMap.put("GH", "Gana");
    namesMap.put("GI", "Gíbraltar");
    namesMap.put("GL", "Grænland");
    namesMap.put("GM", "Gambía");
    namesMap.put("GN", "Gínea");
    namesMap.put("GP", "Gvadelúpeyjar");
    namesMap.put("GQ", "Miðbaugs-Gínea");
    namesMap.put("GR", "Grikkland");
    namesMap.put("GS", "Suður-Georgía og Suður-Sandvíkureyjar");
    namesMap.put("GT", "Gvatemala");
    namesMap.put("GU", "Gvam");
    namesMap.put("GW", "Gínea-Bissá");
    namesMap.put("GY", "Gvæjana");
    namesMap.put("HK", "sérstjórnarsvæðið Hong Kong");
    namesMap.put("HM", "Heard og McDonaldseyjar");
    namesMap.put("HN", "Hondúras");
    namesMap.put("HR", "Króatía");
    namesMap.put("HT", "Haítí");
    namesMap.put("HU", "Ungverjaland");
    namesMap.put("IC", "Kanaríeyjar");
    namesMap.put("ID", "Indónesía");
    namesMap.put("IE", "Írland");
    namesMap.put("IL", "Ísrael");
    namesMap.put("IM", "Mön");
    namesMap.put("IN", "Indland");
    namesMap.put("IO", "Bresku Indlandshafseyjar");
    namesMap.put("IQ", "Írak");
    namesMap.put("IR", "Íran");
    namesMap.put("IS", "Ísland");
    namesMap.put("IT", "Ítalía");
    namesMap.put("JM", "Jamaíka");
    namesMap.put("JO", "Jórdanía");
    namesMap.put("KE", "Kenía");
    namesMap.put("KG", "Kirgistan");
    namesMap.put("KH", "Kambódía");
    namesMap.put("KI", "Kíribatí");
    namesMap.put("KM", "Kómoreyjar");
    namesMap.put("KN", "Sankti Kitts og Nevis");
    namesMap.put("KP", "Norður-Kórea");
    namesMap.put("KR", "Suður-Kórea");
    namesMap.put("KW", "Kúveit");
    namesMap.put("KY", "Caymaneyjar");
    namesMap.put("KZ", "Kasakstan");
    namesMap.put("LB", "Líbanon");
    namesMap.put("LC", "Sankti Lúsía");
    namesMap.put("LK", "Srí Lanka");
    namesMap.put("LR", "Líbería");
    namesMap.put("LS", "Lesótó");
    namesMap.put("LT", "Litháen");
    namesMap.put("LU", "Lúxemborg");
    namesMap.put("LV", "Lettland");
    namesMap.put("LY", "Líbía");
    namesMap.put("MA", "Marokkó");
    namesMap.put("MC", "Mónakó");
    namesMap.put("MD", "Moldóva");
    namesMap.put("ME", "Svartfjallaland");
    namesMap.put("MG", "Madagaskar");
    namesMap.put("MH", "Marshalleyjar");
    namesMap.put("MK", "Makedónía");
    namesMap.put("ML", "Malí");
    namesMap.put("MM", "Mjanmar (Búrma)");
    namesMap.put("MN", "Mongólía");
    namesMap.put("MO", "sérstjórnarsvæðið Makaó");
    namesMap.put("MP", "Norður-Maríanaeyjar");
    namesMap.put("MQ", "Martiník");
    namesMap.put("MR", "Máritanía");
    namesMap.put("MU", "Máritíus");
    namesMap.put("MV", "Maldíveyjar");
    namesMap.put("MW", "Malaví");
    namesMap.put("MX", "Mexíkó");
    namesMap.put("MY", "Malasía");
    namesMap.put("MZ", "Mósambík");
    namesMap.put("NA", "Namibía");
    namesMap.put("NC", "Nýja-Kaledónía");
    namesMap.put("NE", "Níger");
    namesMap.put("NF", "Norfolkeyja");
    namesMap.put("NG", "Nígería");
    namesMap.put("NI", "Níkaragva");
    namesMap.put("NL", "Holland");
    namesMap.put("NO", "Noregur");
    namesMap.put("NR", "Nárú");
    namesMap.put("NZ", "Nýja-Sjáland");
    namesMap.put("OM", "Óman");
    namesMap.put("PE", "Perú");
    namesMap.put("PF", "Franska Pólýnesía");
    namesMap.put("PG", "Papúa Nýja-Gínea");
    namesMap.put("PH", "Filippseyjar");
    namesMap.put("PL", "Pólland");
    namesMap.put("PM", "Sankti Pierre og Miquelon");
    namesMap.put("PN", "Pitcairn-eyjar");
    namesMap.put("PR", "Púertó Ríkó");
    namesMap.put("PS", "Heimastjórnarsvæði Palestínumanna");
    namesMap.put("PT", "Portúgal");
    namesMap.put("PW", "Palá");
    namesMap.put("PY", "Paragvæ");
    namesMap.put("QA", "Katar");
    namesMap.put("QO", "Ytri Eyjaálfa");
    namesMap.put("RO", "Rúmenía");
    namesMap.put("RS", "Serbía");
    namesMap.put("RU", "Rússland");
    namesMap.put("RW", "Rúanda");
    namesMap.put("SA", "Sádi-Arabía");
    namesMap.put("SB", "Salómonseyjar");
    namesMap.put("SC", "Seychelles-eyjar");
    namesMap.put("SD", "Súdan");
    namesMap.put("SE", "Svíþjóð");
    namesMap.put("SG", "Singapúr");
    namesMap.put("SH", "Sankti Helena");
    namesMap.put("SI", "Slóvenía");
    namesMap.put("SJ", "Svalbarði og Jan Mayen");
    namesMap.put("SK", "Slóvakía");
    namesMap.put("SL", "Síerra Leóne");
    namesMap.put("SM", "San Marínó");
    namesMap.put("SO", "Sómalía");
    namesMap.put("SR", "Súrínam");
    namesMap.put("SS", "Suður-Súdan");
    namesMap.put("ST", "Saó Tóme og Prinsípe");
    namesMap.put("SX", "Sankti Martin");
    namesMap.put("SY", "Sýrland");
    namesMap.put("SZ", "Svasíland");
    namesMap.put("TC", "Turks- og Caicoseyjar");
    namesMap.put("TD", "Tsjad");
    namesMap.put("TF", "Frönsku suðlægu landsvæðin");
    namesMap.put("TG", "Tógó");
    namesMap.put("TH", "Taíland");
    namesMap.put("TJ", "Tadsjikistan");
    namesMap.put("TK", "Tókelá");
    namesMap.put("TL", "Tímor-Leste");
    namesMap.put("TM", "Túrkmenistan");
    namesMap.put("TN", "Túnis");
    namesMap.put("TR", "Tyrkland");
    namesMap.put("TT", "Trínidad og Tóbagó");
    namesMap.put("TV", "Túvalú");
    namesMap.put("TW", "Taívan");
    namesMap.put("TZ", "Tansanía");
    namesMap.put("UA", "Úkraína");
    namesMap.put("UG", "Úganda");
    namesMap.put("UM", "Smáeyjar Bandaríkjanna");
    namesMap.put("UN", "Sameinuðu þjóðirnar");
    namesMap.put("US", "Bandaríkin");
    namesMap.put("UY", "Úrúgvæ");
    namesMap.put("UZ", "Úsbekistan");
    namesMap.put("VA", "Vatíkanið");
    namesMap.put("VC", "Sankti Vinsent og Grenadíneyjar");
    namesMap.put("VE", "Venesúela");
    namesMap.put("VG", "Bresku Jómfrúaeyjar");
    namesMap.put("VI", "Bandarísku Jómfrúaeyjar");
    namesMap.put("VN", "Víetnam");
    namesMap.put("VU", "Vanúatú");
    namesMap.put("WF", "Wallis- og Fútúnaeyjar");
    namesMap.put("WS", "Samóa");
    namesMap.put("XK", "Kósóvó");
    namesMap.put("YE", "Jemen");
    namesMap.put("ZA", "Suður-Afríka");
    namesMap.put("ZM", "Sambía");
    namesMap.put("ZW", "Simbabve");
    namesMap.put("ZZ", "Óþekkt svæði");
  }

  @Override
  protected JavaScriptObject loadNameMapNative() {
    return overrideMap(super.loadNameMapNative(), loadMyNameMap());
  }

  private native JavaScriptObject loadMyNameMap() /*-{
    return {
        "001": "Heimurinn",
        "002": "Afríka",
        "003": "Norður-Ameríka",
        "005": "Suður-Ameríka",
        "009": "Eyjaálfa",
        "011": "Vestur-Afríka",
        "013": "Mið-Ameríka",
        "014": "Austur-Afríka",
        "015": "Norður-Afríka",
        "017": "Mið-Afríka",
        "018": "Suðurhluti Afríku",
        "019": "Ameríka",
        "021": "Ameríka norðan Mexikó",
        "029": "Karíbahafið",
        "030": "Austur-Asía",
        "034": "Suður-Asía",
        "035": "Suðaustur-Asía",
        "039": "Suður-Evrópa",
        "053": "Ástralasía",
        "054": "Melanesía",
        "057": "Míkrónesíusvæðið",
        "061": "Pólýnesía",
        "142": "Asía",
        "143": "Mið-Asía",
        "145": "Vestur-Asía",
        "150": "Evrópa",
        "151": "Austur-Evrópa",
        "154": "Norður-Evrópa",
        "155": "Vestur-Evrópa",
        "202": "Afríka sunnan Sahara",
        "419": "Rómanska Ameríka",
        "AC": "Ascension-eyja",
        "AE": "Sameinuðu arabísku furstadæmin",
        "AF": "Afganistan",
        "AG": "Antígva og Barbúda",
        "AI": "Angvilla",
        "AL": "Albanía",
        "AM": "Armenía",
        "AO": "Angóla",
        "AQ": "Suðurskautslandið",
        "AR": "Argentína",
        "AS": "Bandaríska Samóa",
        "AT": "Austurríki",
        "AU": "Ástralía",
        "AW": "Arúba",
        "AX": "Álandseyjar",
        "AZ": "Aserbaídsjan",
        "BA": "Bosnía og Hersegóvína",
        "BD": "Bangladess",
        "BE": "Belgía",
        "BF": "Búrkína Fasó",
        "BG": "Búlgaría",
        "BH": "Barein",
        "BI": "Búrúndí",
        "BJ": "Benín",
        "BL": "Sankti Bartólómeusareyjar",
        "BM": "Bermúdaeyjar",
        "BN": "Brúnei",
        "BO": "Bólivía",
        "BQ": "Karíbahafshluti Hollands",
        "BR": "Brasilía",
        "BS": "Bahamaeyjar",
        "BT": "Bútan",
        "BV": "Bouveteyja",
        "BW": "Botsvana",
        "BY": "Hvíta-Rússland",
        "BZ": "Belís",
        "CA": "Kanada",
        "CC": "Kókoseyjar (Keeling)",
        "CD": "Kongó-Kinshasa",
        "CF": "Mið-Afríkulýðveldið",
        "CG": "Kongó-Brazzaville",
        "CH": "Sviss",
        "CI": "Fílabeinsströndin",
        "CK": "Cooks-eyjar",
        "CL": "Síle",
        "CM": "Kamerún",
        "CN": "Kína",
        "CO": "Kólumbía",
        "CP": "Clipperton-eyja",
        "CR": "Kostaríka",
        "CU": "Kúba",
        "CV": "Grænhöfðaeyjar",
        "CW": "Curacao",
        "CX": "Jólaey",
        "CY": "Kýpur",
        "CZ": "Tékkland",
        "DE": "Þýskaland",
        "DJ": "Djíbútí",
        "DK": "Danmörk",
        "DM": "Dóminíka",
        "DO": "Dóminíska lýðveldið",
        "DZ": "Alsír",
        "EA": "Ceuta og Melilla",
        "EC": "Ekvador",
        "EE": "Eistland",
        "EG": "Egyptaland",
        "EH": "Vestur-Sahara",
        "ER": "Erítrea",
        "ES": "Spánn",
        "ET": "Eþíópía",
        "EU": "Evrópusambandið",
        "EZ": "Evrusvæðið",
        "FI": "Finnland",
        "FJ": "Fídjíeyjar",
        "FK": "Falklandseyjar",
        "FM": "Míkrónesía",
        "FO": "Færeyjar",
        "FR": "Frakkland",
        "GB": "Bretland",
        "GE": "Georgía",
        "GF": "Franska Gvæjana",
        "GH": "Gana",
        "GI": "Gíbraltar",
        "GL": "Grænland",
        "GM": "Gambía",
        "GN": "Gínea",
        "GP": "Gvadelúpeyjar",
        "GQ": "Miðbaugs-Gínea",
        "GR": "Grikkland",
        "GS": "Suður-Georgía og Suður-Sandvíkureyjar",
        "GT": "Gvatemala",
        "GU": "Gvam",
        "GW": "Gínea-Bissá",
        "GY": "Gvæjana",
        "HK": "sérstjórnarsvæðið Hong Kong",
        "HM": "Heard og McDonaldseyjar",
        "HN": "Hondúras",
        "HR": "Króatía",
        "HT": "Haítí",
        "HU": "Ungverjaland",
        "IC": "Kanaríeyjar",
        "ID": "Indónesía",
        "IE": "Írland",
        "IL": "Ísrael",
        "IM": "Mön",
        "IN": "Indland",
        "IO": "Bresku Indlandshafseyjar",
        "IQ": "Írak",
        "IR": "Íran",
        "IS": "Ísland",
        "IT": "Ítalía",
        "JM": "Jamaíka",
        "JO": "Jórdanía",
        "KE": "Kenía",
        "KG": "Kirgistan",
        "KH": "Kambódía",
        "KI": "Kíribatí",
        "KM": "Kómoreyjar",
        "KN": "Sankti Kitts og Nevis",
        "KP": "Norður-Kórea",
        "KR": "Suður-Kórea",
        "KW": "Kúveit",
        "KY": "Caymaneyjar",
        "KZ": "Kasakstan",
        "LB": "Líbanon",
        "LC": "Sankti Lúsía",
        "LK": "Srí Lanka",
        "LR": "Líbería",
        "LS": "Lesótó",
        "LT": "Litháen",
        "LU": "Lúxemborg",
        "LV": "Lettland",
        "LY": "Líbía",
        "MA": "Marokkó",
        "MC": "Mónakó",
        "MD": "Moldóva",
        "ME": "Svartfjallaland",
        "MG": "Madagaskar",
        "MH": "Marshalleyjar",
        "MK": "Makedónía",
        "ML": "Malí",
        "MM": "Mjanmar (Búrma)",
        "MN": "Mongólía",
        "MO": "sérstjórnarsvæðið Makaó",
        "MP": "Norður-Maríanaeyjar",
        "MQ": "Martiník",
        "MR": "Máritanía",
        "MU": "Máritíus",
        "MV": "Maldíveyjar",
        "MW": "Malaví",
        "MX": "Mexíkó",
        "MY": "Malasía",
        "MZ": "Mósambík",
        "NA": "Namibía",
        "NC": "Nýja-Kaledónía",
        "NE": "Níger",
        "NF": "Norfolkeyja",
        "NG": "Nígería",
        "NI": "Níkaragva",
        "NL": "Holland",
        "NO": "Noregur",
        "NR": "Nárú",
        "NZ": "Nýja-Sjáland",
        "OM": "Óman",
        "PE": "Perú",
        "PF": "Franska Pólýnesía",
        "PG": "Papúa Nýja-Gínea",
        "PH": "Filippseyjar",
        "PL": "Pólland",
        "PM": "Sankti Pierre og Miquelon",
        "PN": "Pitcairn-eyjar",
        "PR": "Púertó Ríkó",
        "PS": "Heimastjórnarsvæði Palestínumanna",
        "PT": "Portúgal",
        "PW": "Palá",
        "PY": "Paragvæ",
        "QA": "Katar",
        "QO": "Ytri Eyjaálfa",
        "RO": "Rúmenía",
        "RS": "Serbía",
        "RU": "Rússland",
        "RW": "Rúanda",
        "SA": "Sádi-Arabía",
        "SB": "Salómonseyjar",
        "SC": "Seychelles-eyjar",
        "SD": "Súdan",
        "SE": "Svíþjóð",
        "SG": "Singapúr",
        "SH": "Sankti Helena",
        "SI": "Slóvenía",
        "SJ": "Svalbarði og Jan Mayen",
        "SK": "Slóvakía",
        "SL": "Síerra Leóne",
        "SM": "San Marínó",
        "SO": "Sómalía",
        "SR": "Súrínam",
        "SS": "Suður-Súdan",
        "ST": "Saó Tóme og Prinsípe",
        "SX": "Sankti Martin",
        "SY": "Sýrland",
        "SZ": "Svasíland",
        "TC": "Turks- og Caicoseyjar",
        "TD": "Tsjad",
        "TF": "Frönsku suðlægu landsvæðin",
        "TG": "Tógó",
        "TH": "Taíland",
        "TJ": "Tadsjikistan",
        "TK": "Tókelá",
        "TL": "Tímor-Leste",
        "TM": "Túrkmenistan",
        "TN": "Túnis",
        "TR": "Tyrkland",
        "TT": "Trínidad og Tóbagó",
        "TV": "Túvalú",
        "TW": "Taívan",
        "TZ": "Tansanía",
        "UA": "Úkraína",
        "UG": "Úganda",
        "UM": "Smáeyjar Bandaríkjanna",
        "UN": "Sameinuðu þjóðirnar",
        "US": "Bandaríkin",
        "UY": "Úrúgvæ",
        "UZ": "Úsbekistan",
        "VA": "Vatíkanið",
        "VC": "Sankti Vinsent og Grenadíneyjar",
        "VE": "Venesúela",
        "VG": "Bresku Jómfrúaeyjar",
        "VI": "Bandarísku Jómfrúaeyjar",
        "VN": "Víetnam",
        "VU": "Vanúatú",
        "WF": "Wallis- og Fútúnaeyjar",
        "WS": "Samóa",
        "XK": "Kósóvó",
        "YE": "Jemen",
        "ZA": "Suður-Afríka",
        "ZM": "Sambía",
        "ZW": "Simbabve",
        "ZZ": "Óþekkt svæði"
    };
  }-*/;
}
