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

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

  @Override
  protected void loadNameMapJava() {
    super.loadNameMapJava();
    namesMap.put("001", "Bota");
    namesMap.put("002", "Afrikë");
    namesMap.put("003", "Amerika e Veriut");
    namesMap.put("005", "Amerika e Jugut");
    namesMap.put("009", "Oqeani");
    namesMap.put("011", "Afrika Perëndimore");
    namesMap.put("013", "Amerika Qendrore");
    namesMap.put("014", "Afrika Lindore");
    namesMap.put("015", "Afrika Veriore");
    namesMap.put("017", "Afrika e Mesme");
    namesMap.put("018", "Afrika Jugore");
    namesMap.put("019", "Amerikë");
    namesMap.put("021", "Amerika Veriore");
    namesMap.put("029", "Karaibe");
    namesMap.put("030", "Azia Lindore");
    namesMap.put("034", "Azia Jugore");
    namesMap.put("035", "Azia Juglindore");
    namesMap.put("039", "Evropa Jugore");
    namesMap.put("053", "Australazia");
    namesMap.put("054", "Melanezia");
    namesMap.put("057", "Rajoni Mikronezian");
    namesMap.put("061", "Polinezia");
    namesMap.put("142", "Azi");
    namesMap.put("143", "Azia Qendrore");
    namesMap.put("145", "Azia Perëndimore");
    namesMap.put("150", "Evropë");
    namesMap.put("151", "Evropa Lindore");
    namesMap.put("154", "Evropa Veriore");
    namesMap.put("155", "Evropa Perëndimore");
    namesMap.put("202", "Afrika Subsahariane");
    namesMap.put("419", "Amerika Latine");
    namesMap.put("AC", "Ishulli Asenshion");
    namesMap.put("AD", "Andorrë");
    namesMap.put("AE", "Emiratet e Bashkuara Arabe");
    namesMap.put("AF", "Afganistan");
    namesMap.put("AG", "Antigua e Barbuda");
    namesMap.put("AI", "Anguilë");
    namesMap.put("AL", "Shqipëri");
    namesMap.put("AM", "Armeni");
    namesMap.put("AO", "Angolë");
    namesMap.put("AQ", "Antarktikë");
    namesMap.put("AR", "Argjentinë");
    namesMap.put("AS", "Samoa Amerikane");
    namesMap.put("AT", "Austri");
    namesMap.put("AU", "Australi");
    namesMap.put("AW", "Arubë");
    namesMap.put("AX", "Ishujt Alandë");
    namesMap.put("AZ", "Azerbajxhan");
    namesMap.put("BA", "Bosnjë-Hercegovinë");
    namesMap.put("BE", "Belgjikë");
    namesMap.put("BF", "Burkina-Faso");
    namesMap.put("BG", "Bullgari");
    namesMap.put("BH", "Bahrejn");
    namesMap.put("BL", "Sen-Bartelemi");
    namesMap.put("BM", "Bermude");
    namesMap.put("BO", "Bolivi");
    namesMap.put("BQ", "Karaibet holandeze");
    namesMap.put("BS", "Bahama");
    namesMap.put("BT", "Butan");
    namesMap.put("BV", "Ishulli Bove");
    namesMap.put("BW", "Botsvanë");
    namesMap.put("BY", "Bjellorusi");
    namesMap.put("BZ", "Belizë");
    namesMap.put("CA", "Kanada");
    namesMap.put("CC", "Ishujt Kokos");
    namesMap.put("CD", "Kongo-Kinshasa");
    namesMap.put("CF", "Republika e Afrikës Qendrore");
    namesMap.put("CG", "Kongo-Brazavilë");
    namesMap.put("CH", "Zvicër");
    namesMap.put("CK", "Ishujt Kuk");
    namesMap.put("CL", "Kili");
    namesMap.put("CM", "Kamerun");
    namesMap.put("CN", "Kinë");
    namesMap.put("CO", "Kolumbi");
    namesMap.put("CP", "Ishulli Klipërton");
    namesMap.put("CR", "Kosta-Rikë");
    namesMap.put("CU", "Kubë");
    namesMap.put("CV", "Kepi i Gjelbër");
    namesMap.put("CW", "Kurasao");
    namesMap.put("CX", "Ishulli i Krishtlindjes");
    namesMap.put("CY", "Qipro");
    namesMap.put("CZ", "Çeki");
    namesMap.put("DE", "Gjermani");
    namesMap.put("DG", "Diego-Garsia");
    namesMap.put("DJ", "Xhibuti");
    namesMap.put("DK", "Danimarkë");
    namesMap.put("DM", "Dominikë");
    namesMap.put("DO", "Republika Dominikane");
    namesMap.put("DZ", "Algjeri");
    namesMap.put("EA", "Theuta e Melila");
    namesMap.put("EC", "Ekuador");
    namesMap.put("EE", "Estoni");
    namesMap.put("EG", "Egjipt");
    namesMap.put("EH", "Saharaja Perëndimore");
    namesMap.put("ER", "Eritre");
    namesMap.put("ES", "Spanjë");
    namesMap.put("ET", "Etiopi");
    namesMap.put("EU", "Bashkimi Evropian");
    namesMap.put("EZ", "Zona euro");
    namesMap.put("FI", "Finlandë");
    namesMap.put("FJ", "Fixhi");
    namesMap.put("FK", "Ishujt Falkland");
    namesMap.put("FM", "Mikronezi");
    namesMap.put("FO", "Ishujt Faroe");
    namesMap.put("FR", "Francë");
    namesMap.put("GB", "Mbretëria e Bashkuar");
    namesMap.put("GD", "Granadë");
    namesMap.put("GE", "Gjeorgji");
    namesMap.put("GF", "Guajana Franceze");
    namesMap.put("GG", "Gernsej");
    namesMap.put("GH", "Ganë");
    namesMap.put("GI", "Gjibraltar");
    namesMap.put("GL", "Grënlandë");
    namesMap.put("GM", "Gambi");
    namesMap.put("GN", "Guine");
    namesMap.put("GP", "Guadelupë");
    namesMap.put("GQ", "Guineja Ekuatoriale");
    namesMap.put("GR", "Greqi");
    namesMap.put("GS", "Xhorxha Jugore dhe Ishujt Senduiçë të Jugut");
    namesMap.put("GT", "Guatemalë");
    namesMap.put("GW", "Guine-Bisau");
    namesMap.put("GY", "Guajanë");
    namesMap.put("HK", "RPA i Hong-Kongut");
    namesMap.put("HM", "Ishujt Hërd e Mekdonald");
    namesMap.put("HR", "Kroaci");
    namesMap.put("HU", "Hungari");
    namesMap.put("IC", "Ishujt Kanarie");
    namesMap.put("ID", "Indonezi");
    namesMap.put("IE", "Irlandë");
    namesMap.put("IL", "Izrael");
    namesMap.put("IM", "Ishulli i Manit");
    namesMap.put("IN", "Indi");
    namesMap.put("IO", "Territori Britanik i Oqeanit Indian");
    namesMap.put("IQ", "Irak");
    namesMap.put("IS", "Islandë");
    namesMap.put("IT", "Itali");
    namesMap.put("JE", "Xhersej");
    namesMap.put("JM", "Xhamajkë");
    namesMap.put("JO", "Jordani");
    namesMap.put("JP", "Japoni");
    namesMap.put("KE", "Kenia");
    namesMap.put("KG", "Kirgizi");
    namesMap.put("KH", "Kamboxhia");
    namesMap.put("KM", "Komore");
    namesMap.put("KN", "Shën-Kits dhe Nevis");
    namesMap.put("KP", "Kore e Veriut");
    namesMap.put("KR", "Kore e Jugut");
    namesMap.put("KW", "Kuvajt");
    namesMap.put("KY", "Ishujt Kajman");
    namesMap.put("KZ", "Kazakistan");
    namesMap.put("LB", "Liban");
    namesMap.put("LC", "Shën-Luçia");
    namesMap.put("LI", "Lihtenshtajn");
    namesMap.put("LK", "Sri-Lankë");
    namesMap.put("LR", "Liberi");
    namesMap.put("LS", "Lesoto");
    namesMap.put("LT", "Lituani");
    namesMap.put("LU", "Luksemburg");
    namesMap.put("LV", "Letoni");
    namesMap.put("LY", "Libi");
    namesMap.put("MA", "Marok");
    namesMap.put("MC", "Monako");
    namesMap.put("MD", "Moldavi");
    namesMap.put("ME", "Mal i Zi");
    namesMap.put("MF", "Sen-Marten");
    namesMap.put("MG", "Madagaskar");
    namesMap.put("MH", "Ishujt Marshall");
    namesMap.put("MK", "Maqedoni");
    namesMap.put("MM", "Mianmar (Burmë)");
    namesMap.put("MN", "Mongoli");
    namesMap.put("MO", "RPA i Makaos");
    namesMap.put("MP", "Ishujt e Marianës Veriore");
    namesMap.put("MQ", "Martinikë");
    namesMap.put("MR", "Mauritani");
    namesMap.put("MS", "Montserat");
    namesMap.put("MT", "Maltë");
    namesMap.put("MV", "Maldive");
    namesMap.put("MW", "Malavi");
    namesMap.put("MX", "Meksikë");
    namesMap.put("MY", "Malajzi");
    namesMap.put("MZ", "Mozambik");
    namesMap.put("NA", "Namibi");
    namesMap.put("NC", "Kaledoni e Re");
    namesMap.put("NF", "Ishulli Norfolk");
    namesMap.put("NG", "Nigeri");
    namesMap.put("NI", "Nikaragua");
    namesMap.put("NL", "Holandë");
    namesMap.put("NO", "Norvegji");
    namesMap.put("NZ", "Zelandë e Re");
    namesMap.put("PF", "Polinezia Franceze");
    namesMap.put("PG", "Guineja e Re-Papua");
    namesMap.put("PH", "Filipine");
    namesMap.put("PL", "Poloni");
    namesMap.put("PM", "Shën-Pier dhe Mikelon");
    namesMap.put("PN", "Ishujt Pitkern");
    namesMap.put("PR", "Porto-Riko");
    namesMap.put("PS", "Territoret Palestineze");
    namesMap.put("PT", "Portugali");
    namesMap.put("PY", "Paraguai");
    namesMap.put("QA", "Katar");
    namesMap.put("QO", "Oqeania e Largët (Lindja e Largët)");
    namesMap.put("RE", "Reunion");
    namesMap.put("RO", "Rumani");
    namesMap.put("RS", "Serbi");
    namesMap.put("RU", "Rusi");
    namesMap.put("RW", "Ruandë");
    namesMap.put("SA", "Arabi Saudite");
    namesMap.put("SB", "Ishujt Solomon");
    namesMap.put("SC", "Sejshelle");
    namesMap.put("SE", "Suedi");
    namesMap.put("SG", "Singapor");
    namesMap.put("SH", "Shën-Elenë");
    namesMap.put("SI", "Slloveni");
    namesMap.put("SJ", "Svalbard e Jan-Majen");
    namesMap.put("SK", "Sllovaki");
    namesMap.put("SL", "Sierra-Leone");
    namesMap.put("SM", "San-Marino");
    namesMap.put("SO", "Somali");
    namesMap.put("SR", "Surinami");
    namesMap.put("SS", "Sudani i Jugut");
    namesMap.put("ST", "Sao-Tome e Principe");
    namesMap.put("SV", "Salvador");
    namesMap.put("SX", "Sint-Marten");
    namesMap.put("SY", "Siri");
    namesMap.put("SZ", "Suazilend");
    namesMap.put("TA", "Tristan-da-Kuna");
    namesMap.put("TC", "Ishujt Turks dhe Kaikos");
    namesMap.put("TD", "Çad");
    namesMap.put("TF", "Territoret Jugore Franceze");
    namesMap.put("TH", "Tajlandë");
    namesMap.put("TJ", "Taxhikistan");
    namesMap.put("TN", "Tunizi");
    namesMap.put("TR", "Turqi");
    namesMap.put("TT", "Trinidad e Tobago");
    namesMap.put("TW", "Tajvan");
    namesMap.put("TZ", "Tanzani");
    namesMap.put("UA", "Ukrainë");
    namesMap.put("UG", "Ugandë");
    namesMap.put("UM", "Ishujt Periferikë të SHBA-së");
    namesMap.put("UN", "Organizata e Kombeve të Bashkuara");
    namesMap.put("US", "SHBA");
    namesMap.put("UY", "Uruguai");
    namesMap.put("VA", "Vatikan");
    namesMap.put("VC", "Shën-Vincent dhe Grenadine");
    namesMap.put("VE", "Venezuelë");
    namesMap.put("VG", "Ishujt e Virgjër Britanikë");
    namesMap.put("VI", "Ishujt e Virgjër të SHBA-së");
    namesMap.put("WF", "Uollis e Futuna");
    namesMap.put("XK", "Kosovë");
    namesMap.put("YE", "Jemen");
    namesMap.put("YT", "Majotë");
    namesMap.put("ZA", "Afrika e Jugut");
    namesMap.put("ZM", "Zambi");
    namesMap.put("ZW", "Zimbabve");
    namesMap.put("ZZ", "I panjohur");
  }

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

  private native JavaScriptObject loadMyNameMap() /*-{
    return {
        "001": "Bota",
        "002": "Afrikë",
        "003": "Amerika e Veriut",
        "005": "Amerika e Jugut",
        "009": "Oqeani",
        "011": "Afrika Perëndimore",
        "013": "Amerika Qendrore",
        "014": "Afrika Lindore",
        "015": "Afrika Veriore",
        "017": "Afrika e Mesme",
        "018": "Afrika Jugore",
        "019": "Amerikë",
        "021": "Amerika Veriore",
        "029": "Karaibe",
        "030": "Azia Lindore",
        "034": "Azia Jugore",
        "035": "Azia Juglindore",
        "039": "Evropa Jugore",
        "053": "Australazia",
        "054": "Melanezia",
        "057": "Rajoni Mikronezian",
        "061": "Polinezia",
        "142": "Azi",
        "143": "Azia Qendrore",
        "145": "Azia Perëndimore",
        "150": "Evropë",
        "151": "Evropa Lindore",
        "154": "Evropa Veriore",
        "155": "Evropa Perëndimore",
        "202": "Afrika Subsahariane",
        "419": "Amerika Latine",
        "AC": "Ishulli Asenshion",
        "AD": "Andorrë",
        "AE": "Emiratet e Bashkuara Arabe",
        "AF": "Afganistan",
        "AG": "Antigua e Barbuda",
        "AI": "Anguilë",
        "AL": "Shqipëri",
        "AM": "Armeni",
        "AO": "Angolë",
        "AQ": "Antarktikë",
        "AR": "Argjentinë",
        "AS": "Samoa Amerikane",
        "AT": "Austri",
        "AU": "Australi",
        "AW": "Arubë",
        "AX": "Ishujt Alandë",
        "AZ": "Azerbajxhan",
        "BA": "Bosnjë-Hercegovinë",
        "BE": "Belgjikë",
        "BF": "Burkina-Faso",
        "BG": "Bullgari",
        "BH": "Bahrejn",
        "BL": "Sen-Bartelemi",
        "BM": "Bermude",
        "BO": "Bolivi",
        "BQ": "Karaibet holandeze",
        "BS": "Bahama",
        "BT": "Butan",
        "BV": "Ishulli Bove",
        "BW": "Botsvanë",
        "BY": "Bjellorusi",
        "BZ": "Belizë",
        "CA": "Kanada",
        "CC": "Ishujt Kokos",
        "CD": "Kongo-Kinshasa",
        "CF": "Republika e Afrikës Qendrore",
        "CG": "Kongo-Brazavilë",
        "CH": "Zvicër",
        "CK": "Ishujt Kuk",
        "CL": "Kili",
        "CM": "Kamerun",
        "CN": "Kinë",
        "CO": "Kolumbi",
        "CP": "Ishulli Klipërton",
        "CR": "Kosta-Rikë",
        "CU": "Kubë",
        "CV": "Kepi i Gjelbër",
        "CW": "Kurasao",
        "CX": "Ishulli i Krishtlindjes",
        "CY": "Qipro",
        "CZ": "Çeki",
        "DE": "Gjermani",
        "DG": "Diego-Garsia",
        "DJ": "Xhibuti",
        "DK": "Danimarkë",
        "DM": "Dominikë",
        "DO": "Republika Dominikane",
        "DZ": "Algjeri",
        "EA": "Theuta e Melila",
        "EC": "Ekuador",
        "EE": "Estoni",
        "EG": "Egjipt",
        "EH": "Saharaja Perëndimore",
        "ER": "Eritre",
        "ES": "Spanjë",
        "ET": "Etiopi",
        "EU": "Bashkimi Evropian",
        "EZ": "Zona euro",
        "FI": "Finlandë",
        "FJ": "Fixhi",
        "FK": "Ishujt Falkland",
        "FM": "Mikronezi",
        "FO": "Ishujt Faroe",
        "FR": "Francë",
        "GB": "Mbretëria e Bashkuar",
        "GD": "Granadë",
        "GE": "Gjeorgji",
        "GF": "Guajana Franceze",
        "GG": "Gernsej",
        "GH": "Ganë",
        "GI": "Gjibraltar",
        "GL": "Grënlandë",
        "GM": "Gambi",
        "GN": "Guine",
        "GP": "Guadelupë",
        "GQ": "Guineja Ekuatoriale",
        "GR": "Greqi",
        "GS": "Xhorxha Jugore dhe Ishujt Senduiçë të Jugut",
        "GT": "Guatemalë",
        "GW": "Guine-Bisau",
        "GY": "Guajanë",
        "HK": "RPA i Hong-Kongut",
        "HM": "Ishujt Hërd e Mekdonald",
        "HR": "Kroaci",
        "HU": "Hungari",
        "IC": "Ishujt Kanarie",
        "ID": "Indonezi",
        "IE": "Irlandë",
        "IL": "Izrael",
        "IM": "Ishulli i Manit",
        "IN": "Indi",
        "IO": "Territori Britanik i Oqeanit Indian",
        "IQ": "Irak",
        "IS": "Islandë",
        "IT": "Itali",
        "JE": "Xhersej",
        "JM": "Xhamajkë",
        "JO": "Jordani",
        "JP": "Japoni",
        "KE": "Kenia",
        "KG": "Kirgizi",
        "KH": "Kamboxhia",
        "KM": "Komore",
        "KN": "Shën-Kits dhe Nevis",
        "KP": "Kore e Veriut",
        "KR": "Kore e Jugut",
        "KW": "Kuvajt",
        "KY": "Ishujt Kajman",
        "KZ": "Kazakistan",
        "LB": "Liban",
        "LC": "Shën-Luçia",
        "LI": "Lihtenshtajn",
        "LK": "Sri-Lankë",
        "LR": "Liberi",
        "LS": "Lesoto",
        "LT": "Lituani",
        "LU": "Luksemburg",
        "LV": "Letoni",
        "LY": "Libi",
        "MA": "Marok",
        "MC": "Monako",
        "MD": "Moldavi",
        "ME": "Mal i Zi",
        "MF": "Sen-Marten",
        "MG": "Madagaskar",
        "MH": "Ishujt Marshall",
        "MK": "Maqedoni",
        "MM": "Mianmar (Burmë)",
        "MN": "Mongoli",
        "MO": "RPA i Makaos",
        "MP": "Ishujt e Marianës Veriore",
        "MQ": "Martinikë",
        "MR": "Mauritani",
        "MS": "Montserat",
        "MT": "Maltë",
        "MV": "Maldive",
        "MW": "Malavi",
        "MX": "Meksikë",
        "MY": "Malajzi",
        "MZ": "Mozambik",
        "NA": "Namibi",
        "NC": "Kaledoni e Re",
        "NF": "Ishulli Norfolk",
        "NG": "Nigeri",
        "NI": "Nikaragua",
        "NL": "Holandë",
        "NO": "Norvegji",
        "NZ": "Zelandë e Re",
        "PF": "Polinezia Franceze",
        "PG": "Guineja e Re-Papua",
        "PH": "Filipine",
        "PL": "Poloni",
        "PM": "Shën-Pier dhe Mikelon",
        "PN": "Ishujt Pitkern",
        "PR": "Porto-Riko",
        "PS": "Territoret Palestineze",
        "PT": "Portugali",
        "PY": "Paraguai",
        "QA": "Katar",
        "QO": "Oqeania e Largët (Lindja e Largët)",
        "RE": "Reunion",
        "RO": "Rumani",
        "RS": "Serbi",
        "RU": "Rusi",
        "RW": "Ruandë",
        "SA": "Arabi Saudite",
        "SB": "Ishujt Solomon",
        "SC": "Sejshelle",
        "SE": "Suedi",
        "SG": "Singapor",
        "SH": "Shën-Elenë",
        "SI": "Slloveni",
        "SJ": "Svalbard e Jan-Majen",
        "SK": "Sllovaki",
        "SL": "Sierra-Leone",
        "SM": "San-Marino",
        "SO": "Somali",
        "SR": "Surinami",
        "SS": "Sudani i Jugut",
        "ST": "Sao-Tome e Principe",
        "SV": "Salvador",
        "SX": "Sint-Marten",
        "SY": "Siri",
        "SZ": "Suazilend",
        "TA": "Tristan-da-Kuna",
        "TC": "Ishujt Turks dhe Kaikos",
        "TD": "Çad",
        "TF": "Territoret Jugore Franceze",
        "TH": "Tajlandë",
        "TJ": "Taxhikistan",
        "TN": "Tunizi",
        "TR": "Turqi",
        "TT": "Trinidad e Tobago",
        "TW": "Tajvan",
        "TZ": "Tanzani",
        "UA": "Ukrainë",
        "UG": "Ugandë",
        "UM": "Ishujt Periferikë të SHBA-së",
        "UN": "Organizata e Kombeve të Bashkuara",
        "US": "SHBA",
        "UY": "Uruguai",
        "VA": "Vatikan",
        "VC": "Shën-Vincent dhe Grenadine",
        "VE": "Venezuelë",
        "VG": "Ishujt e Virgjër Britanikë",
        "VI": "Ishujt e Virgjër të SHBA-së",
        "WF": "Uollis e Futuna",
        "XK": "Kosovë",
        "YE": "Jemen",
        "YT": "Majotë",
        "ZA": "Afrika e Jugut",
        "ZM": "Zambi",
        "ZW": "Zimbabve",
        "ZZ": "I panjohur"
    };
  }-*/;
}
