/*
 * 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 "mt" locale.
 */
public class LocalizedNamesImpl_mt extends LocalizedNamesImpl {

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

  @Override
  protected void loadNameMapJava() {
    super.loadNameMapJava();
    namesMap.put("001", "Dinja");
    namesMap.put("002", "Affrika");
    namesMap.put("003", "Amerika ta’ Fuq");
    namesMap.put("005", "Amerika t’Isfel");
    namesMap.put("009", "Oċejanja");
    namesMap.put("011", "Affrika tal-Punent");
    namesMap.put("013", "Amerika Ċentrali");
    namesMap.put("014", "Affrika tal-Lvant");
    namesMap.put("015", "Affrika ta’ Fuq");
    namesMap.put("017", "Affrika Nofsani");
    namesMap.put("018", "Affrika t’Isfel");
    namesMap.put("019", "Amerika");
    namesMap.put("021", "Amerika Nòrdiku");
    namesMap.put("029", "Karibew");
    namesMap.put("030", "Asja tal-Lvant");
    namesMap.put("034", "Asja t’Isfel Ċentrali");
    namesMap.put("035", "Asja tax-Xlokk");
    namesMap.put("039", "Ewropa t’Isfel");
    namesMap.put("053", "Awstralja u New Zealand");
    namesMap.put("054", "Melanesja");
    namesMap.put("057", "Reġjun ta’ Mikroneżja");
    namesMap.put("061", "Polinesja");
    namesMap.put("142", "Asja");
    namesMap.put("143", "Asja Ċentrali");
    namesMap.put("145", "Asja tal-Punent");
    namesMap.put("150", "Ewropa");
    namesMap.put("151", "Ewropa tal-Lvant");
    namesMap.put("154", "Ewropa ta’ Fuq");
    namesMap.put("155", "Ewropa tal-Punent");
    namesMap.put("419", "Amerika Latina");
    namesMap.put("AE", "l-Emirati Għarab Magħquda");
    namesMap.put("AF", "l-Afganistan");
    namesMap.put("AG", "Antigua u Barbuda");
    namesMap.put("AL", "l-Albanija");
    namesMap.put("AM", "l-Armenja");
    namesMap.put("AO", "l-Angola");
    namesMap.put("AQ", "l-Antartika");
    namesMap.put("AR", "l-Arġentina");
    namesMap.put("AS", "is-Samoa Amerikana");
    namesMap.put("AT", "l-Awstrija");
    namesMap.put("AU", "l-Awstralja");
    namesMap.put("AX", "il-Gżejjer Aland");
    namesMap.put("AZ", "l-Ażerbajġan");
    namesMap.put("BA", "il-Bożnija-Ħerzegovina");
    namesMap.put("BD", "il-Bangladesh");
    namesMap.put("BE", "il-Belġju");
    namesMap.put("BF", "il-Burkina Faso");
    namesMap.put("BG", "il-Bulgarija");
    namesMap.put("BH", "il-Bahrain");
    namesMap.put("BI", "il-Burundi");
    namesMap.put("BJ", "il-Benin");
    namesMap.put("BL", "Saint Barthélemy");
    namesMap.put("BN", "il-Brunei");
    namesMap.put("BO", "il-Bolivja");
    namesMap.put("BQ", "in-Netherlands tal-Karibew");
    namesMap.put("BR", "Il-Brażil");
    namesMap.put("BS", "il-Bahamas");
    namesMap.put("BT", "il-Bhutan");
    namesMap.put("BV", "Gżira Bouvet");
    namesMap.put("BW", "il-Botswana");
    namesMap.put("BY", "il-Belarussja");
    namesMap.put("BZ", "il-Belize");
    namesMap.put("CA", "il-Kanada");
    namesMap.put("CC", "Gżejjer Cocos (Keeling)");
    namesMap.put("CD", "ir-Repubblika Demokratika tal-Kongo");
    namesMap.put("CF", "ir-Repubblika Ċentru-Afrikana");
    namesMap.put("CG", "il-Kongo - Brazzaville");
    namesMap.put("CH", "Żvizzera");
    namesMap.put("CI", "il-Kosta tal-Avorju");
    namesMap.put("CK", "Gżejjer Cook");
    namesMap.put("CL", "iċ-Ċili");
    namesMap.put("CM", "il-Kamerun");
    namesMap.put("CO", "il-Kolombja");
    namesMap.put("CP", "il-Gżira Clipperton");
    namesMap.put("CR", "il-Costa Rica");
    namesMap.put("CU", "Kuba");
    namesMap.put("CX", "il-Gżira Christmas");
    namesMap.put("CY", "Ċipru");
    namesMap.put("CZ", "ir-Repubblika Ċeka");
    namesMap.put("DE", "il-Ġermanja");
    namesMap.put("DJ", "il-Djibouti");
    namesMap.put("DK", "id-Danimarka");
    namesMap.put("DO", "ir-Repubblika Dominicana");
    namesMap.put("DZ", "l-Alġerija");
    namesMap.put("EA", "Ceuta u Melilla");
    namesMap.put("EC", "l-Ekwador");
    namesMap.put("EE", "l-Estonja");
    namesMap.put("EG", "l-Eġittu");
    namesMap.put("EH", "is-Saħara tal-Punent");
    namesMap.put("ER", "l-Eritrea");
    namesMap.put("ES", "Spanja");
    namesMap.put("ET", "l-Etjopja");
    namesMap.put("EU", "Unjoni Ewropea");
    namesMap.put("FI", "il-Finlandja");
    namesMap.put("FJ", "Fiġi");
    namesMap.put("FK", "il-Gżejjer Falkland");
    namesMap.put("FM", "Mikroneżja");
    namesMap.put("FO", "il-Gżejjer Faeroe");
    namesMap.put("FR", "Franza");
    namesMap.put("GA", "il-Gabon");
    namesMap.put("GB", "ir-Renju Unit");
    namesMap.put("GE", "il-Georgia");
    namesMap.put("GF", "il-Guyana Franċiża");
    namesMap.put("GH", "il-Ghana");
    namesMap.put("GI", "Ġibiltà");
    namesMap.put("GM", "il-Gambja");
    namesMap.put("GN", "il-Guinea");
    namesMap.put("GQ", "il-Guinea Ekwatorjali");
    namesMap.put("GR", "il-Greċja");
    namesMap.put("GS", "il-Georgia tan-Nofsinhar u l-Gżejjer Sandwich tan-Nofsinhar");
    namesMap.put("GT", "il-Gwatemala");
    namesMap.put("GW", "il-Guinea-Bissau");
    namesMap.put("GY", "il-Guyana");
    namesMap.put("HK", "ir-Reġjun Amministrattiv Speċjali ta’ Hong Kong tar-Repubblika tal-Poplu taċ-Ċina");
    namesMap.put("HM", "il-Gżejjer Heard u l-Gżejjer McDonald");
    namesMap.put("HN", "il-Honduras");
    namesMap.put("HR", "il-Kroazja");
    namesMap.put("HT", "il-Haiti");
    namesMap.put("HU", "l-Ungerija");
    namesMap.put("IC", "il-Gżejjer Canary");
    namesMap.put("ID", "l-Indoneżja");
    namesMap.put("IE", "l-Irlanda");
    namesMap.put("IL", "Iżrael");
    namesMap.put("IN", "l-Indja");
    namesMap.put("IO", "Territorju Brittaniku tal-Oċean Indjan");
    namesMap.put("IQ", "l-Iraq");
    namesMap.put("IR", "l-Iran");
    namesMap.put("IS", "l-iżlanda");
    namesMap.put("IT", "l-Italja");
    namesMap.put("JM", "il-Ġamajka");
    namesMap.put("JO", "il-Ġordan");
    namesMap.put("JP", "il-Ġappun");
    namesMap.put("KE", "il-Kenja");
    namesMap.put("KG", "il-Kirgiżistan");
    namesMap.put("KH", "il-Kambodja");
    namesMap.put("KN", "Saint Kitts u Nevis");
    namesMap.put("KP", "il-Korea ta’ Fuq");
    namesMap.put("KR", "il-Korea t’Isfel");
    namesMap.put("KW", "il-Kuwajt");
    namesMap.put("KY", "il-Gżejjer Cayman");
    namesMap.put("KZ", "il-Każakistan");
    namesMap.put("LA", "il-Laos");
    namesMap.put("LB", "il-Libanu");
    namesMap.put("LC", "Saint Lucia");
    namesMap.put("LI", "il-Liechtenstein");
    namesMap.put("LK", "is-Sri Lanka");
    namesMap.put("LR", "il-Liberja");
    namesMap.put("LS", "il-Lesoto");
    namesMap.put("LT", "il-Litwanja");
    namesMap.put("LU", "il-Lussemburgu");
    namesMap.put("LV", "il-Latvja");
    namesMap.put("LY", "il-Libja");
    namesMap.put("MA", "il-Marokk");
    namesMap.put("MD", "il-Moldova");
    namesMap.put("ME", "il-Montenegro");
    namesMap.put("MF", "Saint Martin");
    namesMap.put("MH", "Gżejjer Marshall");
    namesMap.put("MK", "l-Eks-Repubblika Jugoslava tal-Maċedonia");
    namesMap.put("ML", "il-Mali");
    namesMap.put("MM", "il-Myanmar/Burma");
    namesMap.put("MN", "il-Mongolja");
    namesMap.put("MO", "ir-Reġjun Amministrattiv Speċjali tal-Macao tar-Repubblika tal-Poplu taċ-Ċina");
    namesMap.put("MP", "Ġżejjer Mariana tat-Tramuntana");
    namesMap.put("MR", "il-Mauritania");
    namesMap.put("MV", "il-Maldivi");
    namesMap.put("MW", "il-Malawi");
    namesMap.put("MX", "il-Messiku");
    namesMap.put("MY", "il-Malasja");
    namesMap.put("MZ", "il-Mozambique");
    namesMap.put("NA", "in-Namibja");
    namesMap.put("NE", "in-Niġer");
    namesMap.put("NF", "Gżira Norfolk");
    namesMap.put("NG", "in-Niġerja");
    namesMap.put("NI", "in-Nikaragwa");
    namesMap.put("NL", "in-Netherlands");
    namesMap.put("NO", "in-Norveġja");
    namesMap.put("NP", "in-Nepal");
    namesMap.put("OM", "l-Oman");
    namesMap.put("PA", "il-Panama");
    namesMap.put("PE", "il-Perù");
    namesMap.put("PF", "Polineżja Franċiża");
    namesMap.put("PH", "il-Filippini");
    namesMap.put("PK", "il-Pakistan");
    namesMap.put("PL", "il-Polonja");
    namesMap.put("PM", "Saint Pierre u Miquelon");
    namesMap.put("PN", "Gżejjer Pitcairn");
    namesMap.put("PS", "it-Territorji Palestinjani");
    namesMap.put("PT", "il-Portugall");
    namesMap.put("PY", "il-Paragwaj");
    namesMap.put("QA", "il-Qatar");
    namesMap.put("RO", "ir-Rumanija");
    namesMap.put("RS", "is-Serbja");
    namesMap.put("RU", "ir-Russja");
    namesMap.put("RW", "ir-Rwanda");
    namesMap.put("SA", "l-Arabia Sawdija");
    namesMap.put("SB", "il-Gżejjer Solomon");
    namesMap.put("SC", "is-Seychelles");
    namesMap.put("SD", "is-Sudan");
    namesMap.put("SE", "l-Iżvezja");
    namesMap.put("SH", "Saint Helena");
    namesMap.put("SI", "is-Slovenja");
    namesMap.put("SJ", "Svalbard u Jan Mayen");
    namesMap.put("SK", "is-Slovakkja");
    namesMap.put("SN", "is-Senegal");
    namesMap.put("SO", "is-Somalja");
    namesMap.put("SR", "is-Suriname");
    namesMap.put("SS", "is-Sudan t’Isfel");
    namesMap.put("ST", "São Tomé u Príncipe");
    namesMap.put("SY", "is-Sirja");
    namesMap.put("SZ", "is-Swaziland");
    namesMap.put("TC", "il-Gżejjer Turks u Caicos");
    namesMap.put("TD", "iċ-Chad");
    namesMap.put("TF", "It-Territorji Franċiżi tan-Nofsinhar");
    namesMap.put("TG", "it-Togo");
    namesMap.put("TH", "it-Tajlandja");
    namesMap.put("TJ", "it-Taġikistan");
    namesMap.put("TK", "it-Tokelau");
    namesMap.put("TL", "Timor Leste");
    namesMap.put("TM", "it-Turkmenistan");
    namesMap.put("TN", "it-Tuneżija");
    namesMap.put("TR", "it-Turkija");
    namesMap.put("TT", "Trinidad u Tobago");
    namesMap.put("TW", "it-Tajwan");
    namesMap.put("TZ", "it-Tanzanija");
    namesMap.put("UA", "l-Ukrajna");
    namesMap.put("UG", "l-Uganda");
    namesMap.put("UM", "Il-Gżejjer Minuri Mbiegħda tal-Istati Uniti");
    namesMap.put("US", "l-Istati Uniti");
    namesMap.put("UY", "l-Urugwaj");
    namesMap.put("UZ", "l-Użbekistan");
    namesMap.put("VA", "l-Istat tal-Belt tal-Vatikan");
    namesMap.put("VC", "Saint Vincent u l-Grenadini");
    namesMap.put("VE", "il-Venezwela");
    namesMap.put("VG", "il-Gżejjer Verġni Brittaniċi");
    namesMap.put("VI", "il-Gżejjer Verġni tal-Istati Uniti");
    namesMap.put("VN", "il-Vjetnam");
    namesMap.put("WF", "Wallis u Futuna");
    namesMap.put("YE", "il-Jemen");
    namesMap.put("ZA", "l-Afrika t’Isfel");
    namesMap.put("ZM", "iż-Żambja");
    namesMap.put("ZW", "iż-Żimbabwe");
    namesMap.put("ZZ", "Reġjun Mhux Magħruf");
  }

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

  private native JavaScriptObject loadMyNameMap() /*-{
    return {
        "001": "Dinja",
        "002": "Affrika",
        "003": "Amerika ta’ Fuq",
        "005": "Amerika t’Isfel",
        "009": "Oċejanja",
        "011": "Affrika tal-Punent",
        "013": "Amerika Ċentrali",
        "014": "Affrika tal-Lvant",
        "015": "Affrika ta’ Fuq",
        "017": "Affrika Nofsani",
        "018": "Affrika t’Isfel",
        "019": "Amerika",
        "021": "Amerika Nòrdiku",
        "029": "Karibew",
        "030": "Asja tal-Lvant",
        "034": "Asja t’Isfel Ċentrali",
        "035": "Asja tax-Xlokk",
        "039": "Ewropa t’Isfel",
        "053": "Awstralja u New Zealand",
        "054": "Melanesja",
        "057": "Reġjun ta’ Mikroneżja",
        "061": "Polinesja",
        "142": "Asja",
        "143": "Asja Ċentrali",
        "145": "Asja tal-Punent",
        "150": "Ewropa",
        "151": "Ewropa tal-Lvant",
        "154": "Ewropa ta’ Fuq",
        "155": "Ewropa tal-Punent",
        "419": "Amerika Latina",
        "AE": "l-Emirati Għarab Magħquda",
        "AF": "l-Afganistan",
        "AG": "Antigua u Barbuda",
        "AL": "l-Albanija",
        "AM": "l-Armenja",
        "AO": "l-Angola",
        "AQ": "l-Antartika",
        "AR": "l-Arġentina",
        "AS": "is-Samoa Amerikana",
        "AT": "l-Awstrija",
        "AU": "l-Awstralja",
        "AX": "il-Gżejjer Aland",
        "AZ": "l-Ażerbajġan",
        "BA": "il-Bożnija-Ħerzegovina",
        "BD": "il-Bangladesh",
        "BE": "il-Belġju",
        "BF": "il-Burkina Faso",
        "BG": "il-Bulgarija",
        "BH": "il-Bahrain",
        "BI": "il-Burundi",
        "BJ": "il-Benin",
        "BL": "Saint Barthélemy",
        "BN": "il-Brunei",
        "BO": "il-Bolivja",
        "BQ": "in-Netherlands tal-Karibew",
        "BR": "Il-Brażil",
        "BS": "il-Bahamas",
        "BT": "il-Bhutan",
        "BV": "Gżira Bouvet",
        "BW": "il-Botswana",
        "BY": "il-Belarussja",
        "BZ": "il-Belize",
        "CA": "il-Kanada",
        "CC": "Gżejjer Cocos (Keeling)",
        "CD": "ir-Repubblika Demokratika tal-Kongo",
        "CF": "ir-Repubblika Ċentru-Afrikana",
        "CG": "il-Kongo - Brazzaville",
        "CH": "Żvizzera",
        "CI": "il-Kosta tal-Avorju",
        "CK": "Gżejjer Cook",
        "CL": "iċ-Ċili",
        "CM": "il-Kamerun",
        "CO": "il-Kolombja",
        "CP": "il-Gżira Clipperton",
        "CR": "il-Costa Rica",
        "CU": "Kuba",
        "CX": "il-Gżira Christmas",
        "CY": "Ċipru",
        "CZ": "ir-Repubblika Ċeka",
        "DE": "il-Ġermanja",
        "DJ": "il-Djibouti",
        "DK": "id-Danimarka",
        "DO": "ir-Repubblika Dominicana",
        "DZ": "l-Alġerija",
        "EA": "Ceuta u Melilla",
        "EC": "l-Ekwador",
        "EE": "l-Estonja",
        "EG": "l-Eġittu",
        "EH": "is-Saħara tal-Punent",
        "ER": "l-Eritrea",
        "ES": "Spanja",
        "ET": "l-Etjopja",
        "EU": "Unjoni Ewropea",
        "FI": "il-Finlandja",
        "FJ": "Fiġi",
        "FK": "il-Gżejjer Falkland",
        "FM": "Mikroneżja",
        "FO": "il-Gżejjer Faeroe",
        "FR": "Franza",
        "GA": "il-Gabon",
        "GB": "ir-Renju Unit",
        "GE": "il-Georgia",
        "GF": "il-Guyana Franċiża",
        "GH": "il-Ghana",
        "GI": "Ġibiltà",
        "GM": "il-Gambja",
        "GN": "il-Guinea",
        "GQ": "il-Guinea Ekwatorjali",
        "GR": "il-Greċja",
        "GS": "il-Georgia tan-Nofsinhar u l-Gżejjer Sandwich tan-Nofsinhar",
        "GT": "il-Gwatemala",
        "GW": "il-Guinea-Bissau",
        "GY": "il-Guyana",
        "HK": "ir-Reġjun Amministrattiv Speċjali ta’ Hong Kong tar-Repubblika tal-Poplu taċ-Ċina",
        "HM": "il-Gżejjer Heard u l-Gżejjer McDonald",
        "HN": "il-Honduras",
        "HR": "il-Kroazja",
        "HT": "il-Haiti",
        "HU": "l-Ungerija",
        "IC": "il-Gżejjer Canary",
        "ID": "l-Indoneżja",
        "IE": "l-Irlanda",
        "IL": "Iżrael",
        "IN": "l-Indja",
        "IO": "Territorju Brittaniku tal-Oċean Indjan",
        "IQ": "l-Iraq",
        "IR": "l-Iran",
        "IS": "l-iżlanda",
        "IT": "l-Italja",
        "JM": "il-Ġamajka",
        "JO": "il-Ġordan",
        "JP": "il-Ġappun",
        "KE": "il-Kenja",
        "KG": "il-Kirgiżistan",
        "KH": "il-Kambodja",
        "KN": "Saint Kitts u Nevis",
        "KP": "il-Korea ta’ Fuq",
        "KR": "il-Korea t’Isfel",
        "KW": "il-Kuwajt",
        "KY": "il-Gżejjer Cayman",
        "KZ": "il-Każakistan",
        "LA": "il-Laos",
        "LB": "il-Libanu",
        "LC": "Saint Lucia",
        "LI": "il-Liechtenstein",
        "LK": "is-Sri Lanka",
        "LR": "il-Liberja",
        "LS": "il-Lesoto",
        "LT": "il-Litwanja",
        "LU": "il-Lussemburgu",
        "LV": "il-Latvja",
        "LY": "il-Libja",
        "MA": "il-Marokk",
        "MD": "il-Moldova",
        "ME": "il-Montenegro",
        "MF": "Saint Martin",
        "MH": "Gżejjer Marshall",
        "MK": "l-Eks-Repubblika Jugoslava tal-Maċedonia",
        "ML": "il-Mali",
        "MM": "il-Myanmar/Burma",
        "MN": "il-Mongolja",
        "MO": "ir-Reġjun Amministrattiv Speċjali tal-Macao tar-Repubblika tal-Poplu taċ-Ċina",
        "MP": "Ġżejjer Mariana tat-Tramuntana",
        "MR": "il-Mauritania",
        "MV": "il-Maldivi",
        "MW": "il-Malawi",
        "MX": "il-Messiku",
        "MY": "il-Malasja",
        "MZ": "il-Mozambique",
        "NA": "in-Namibja",
        "NE": "in-Niġer",
        "NF": "Gżira Norfolk",
        "NG": "in-Niġerja",
        "NI": "in-Nikaragwa",
        "NL": "in-Netherlands",
        "NO": "in-Norveġja",
        "NP": "in-Nepal",
        "OM": "l-Oman",
        "PA": "il-Panama",
        "PE": "il-Perù",
        "PF": "Polineżja Franċiża",
        "PH": "il-Filippini",
        "PK": "il-Pakistan",
        "PL": "il-Polonja",
        "PM": "Saint Pierre u Miquelon",
        "PN": "Gżejjer Pitcairn",
        "PS": "it-Territorji Palestinjani",
        "PT": "il-Portugall",
        "PY": "il-Paragwaj",
        "QA": "il-Qatar",
        "RO": "ir-Rumanija",
        "RS": "is-Serbja",
        "RU": "ir-Russja",
        "RW": "ir-Rwanda",
        "SA": "l-Arabia Sawdija",
        "SB": "il-Gżejjer Solomon",
        "SC": "is-Seychelles",
        "SD": "is-Sudan",
        "SE": "l-Iżvezja",
        "SH": "Saint Helena",
        "SI": "is-Slovenja",
        "SJ": "Svalbard u Jan Mayen",
        "SK": "is-Slovakkja",
        "SN": "is-Senegal",
        "SO": "is-Somalja",
        "SR": "is-Suriname",
        "SS": "is-Sudan t’Isfel",
        "ST": "São Tomé u Príncipe",
        "SY": "is-Sirja",
        "SZ": "is-Swaziland",
        "TC": "il-Gżejjer Turks u Caicos",
        "TD": "iċ-Chad",
        "TF": "It-Territorji Franċiżi tan-Nofsinhar",
        "TG": "it-Togo",
        "TH": "it-Tajlandja",
        "TJ": "it-Taġikistan",
        "TK": "it-Tokelau",
        "TL": "Timor Leste",
        "TM": "it-Turkmenistan",
        "TN": "it-Tuneżija",
        "TR": "it-Turkija",
        "TT": "Trinidad u Tobago",
        "TW": "it-Tajwan",
        "TZ": "it-Tanzanija",
        "UA": "l-Ukrajna",
        "UG": "l-Uganda",
        "UM": "Il-Gżejjer Minuri Mbiegħda tal-Istati Uniti",
        "US": "l-Istati Uniti",
        "UY": "l-Urugwaj",
        "UZ": "l-Użbekistan",
        "VA": "l-Istat tal-Belt tal-Vatikan",
        "VC": "Saint Vincent u l-Grenadini",
        "VE": "il-Venezwela",
        "VG": "il-Gżejjer Verġni Brittaniċi",
        "VI": "il-Gżejjer Verġni tal-Istati Uniti",
        "VN": "il-Vjetnam",
        "WF": "Wallis u Futuna",
        "YE": "il-Jemen",
        "ZA": "l-Afrika t’Isfel",
        "ZM": "iż-Żambja",
        "ZW": "iż-Żimbabwe",
        "ZZ": "Reġjun Mhux Magħruf"
    };
  }-*/;
}
