/*
 * 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",
        "CI",
        "BN",
        "BG",
        "BF",
        "BI",
        "BT",
        "TD",
        "DK",
        "DG",
        "DM",
        "EG",
        "EC",
        "SV",
        "AE",
        "ER",
        "EE",
        "ET",
        "PH",
        "FI",
        "FJ",
        "FR",
        "GA",
        "GM",
        "GH",
        "GE",
        "DE",
        "GI",
        "GD",
        "GL",
        "GR",
        "GP",
        "GF",
        "GY",
        "GU",
        "GT",
        "GG",
        "GN",
        "GW",
        "GQ",
        "HT",
        "NL",
        "HN",
        "HU",
        "IN",
        "ID",
        "IQ",
        "IR",
        "IE",
        "AX",
        "BV",
        "MP",
        "VI",
        "VG",
        "FO",
        "FK",
        "KY",
        "IC",
        "CC",
        "CK",
        "MH",
        "NF",
        "UM",
        "PN",
        "SB",
        "TC",
        "AC",
        "HM",
        "CX",
        "IM",
        "MQ",
        "MS",
        "CP",
        "IS",
        "IT",
        "IL",
        "JP",
        "YE",
        "JO",
        "NC",
        "KH",
        "CM",
        "CA",
        "BQ",
        "QA",
        "KZ",
        "KE",
        "CV",
        "CL",
        "CN",
        "KG",
        "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",
        "MR",
        "MU",
        "GB",
        "MX",
        "MM",
        "FM",
        "MD",
        "MC",
        "MN",
        "MZ",
        "NA",
        "NR",
        "NP",
        "NE",
        "NG",
        "NI",
        "NU",
        "NO",
        "OM",
        "QO",
        "PK",
        "PW",
        "PA",
        "PG",
        "PY",
        "PE",
        "PF",
        "PL",
        "PR",
        "PT",
        "CY",
        "KI",
        "CF",
        "CZ",
        "DO",
        "RE",
        "RW",
        "RO",
        "RU",
        "HK",
        "MO",
        "EH",
        "WS",
        "AS",
        "SM",
        "ST",
        "SN",
        "RS",
        "BL",
        "SH",
        "KN",
        "LC",
        "MF",
        "SX",
        "PM",
        "VC",
        "AL",
        "US",
        "SL",
        "SG",
        "SY",
        "SC",
        "SK",
        "SI",
        "SO",
        "ES",
        "LK",
        "SD",
        "SS",
        "SE",
        "SR",
        "SJ",
        "SZ",
        "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",
        "JM",
        "JE",
        "DJ",
        "GS",
        "ZM",
        "NZ",
        "ZW",
        "CH",
    };
  }

  @Override
  protected void loadNameMapJava() {
    super.loadNameMapJava();
    namesMap.put("001", "Botë");
    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 Jug-Lindore");
    namesMap.put("039", "Europa 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", "Europë");
    namesMap.put("151", "Europa Lindore");
    namesMap.put("154", "Europa Veriore");
    namesMap.put("155", "Europa Perëndimore");
    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ë e Hercegovinë");
    namesMap.put("BE", "Belgjikë");
    namesMap.put("BG", "Bullgari");
    namesMap.put("BH", "Bahrein");
    namesMap.put("BI", "Burund");
    namesMap.put("BL", "Shën Bartolemeo");
    namesMap.put("BM", "Bermudë");
    namesMap.put("BN", "Brunej");
    namesMap.put("BO", "Bolivi");
    namesMap.put("BQ", "Karaibet Holandeze");
    namesMap.put("BT", "Butan");
    namesMap.put("BV", "Ishujt 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 Afrikano-Qendrore");
    namesMap.put("CG", "Kongo-Brazavilë");
    namesMap.put("CH", "Zvicër");
    namesMap.put("CI", "Bregu i Fildishtë");
    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 Rika");
    namesMap.put("CU", "Kubë");
    namesMap.put("CV", "Kepi i Gjelbër");
    namesMap.put("CW", "Kuraçao");
    namesMap.put("CX", "Ishulli i Krishtlindjes");
    namesMap.put("CY", "Qipro");
    namesMap.put("CZ", "Republika Çeke");
    namesMap.put("DE", "Gjermani");
    namesMap.put("DG", "Diego Garsia");
    namesMap.put("DJ", "Xhibut");
    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 Europian");
    namesMap.put("FI", "Finlandë");
    namesMap.put("FJ", "Fixhi");
    namesMap.put("FK", "Ishujt Folkland");
    namesMap.put("FM", "Mikronezi");
    namesMap.put("FO", "Ishujt Faroe");
    namesMap.put("FR", "Francë");
    namesMap.put("GB", "Mbretëria e Bashkuar");
    namesMap.put("GD", "Grenadë");
    namesMap.put("GE", "Gjeorgji");
    namesMap.put("GF", "Guajana Franceze");
    namesMap.put("GG", "Guernsej");
    namesMap.put("GH", "Ganë");
    namesMap.put("GI", "Gjibraltar");
    namesMap.put("GL", "Grenlandë");
    namesMap.put("GM", "Gambi");
    namesMap.put("GN", "Guine");
    namesMap.put("GP", "Guadalupe");
    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", "RVAK i Hong Kongut");
    namesMap.put("HM", "Ishulli Hërd dhe Ishujt 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", "Kirgistan");
    namesMap.put("KH", "Kamboxhia");
    namesMap.put("KI", "Qiribati");
    namesMap.put("KM", "Komore");
    namesMap.put("KN", "Shën Kits e Nevis");
    namesMap.put("KP", "Koreja e Veriut");
    namesMap.put("KR", "Koreja 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", "Lihtënshtajn");
    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", "Mali i Zi");
    namesMap.put("MF", "Shën Martin");
    namesMap.put("MG", "Madagaskar");
    namesMap.put("MH", "Ishujt Marshall");
    namesMap.put("MK", "Maqedoni");
    namesMap.put("MM", "Mianmar (Burma)");
    namesMap.put("MN", "Mongoli");
    namesMap.put("MO", "RVAK i Makaos");
    namesMap.put("MP", "Ishujt e Marianës Veriore");
    namesMap.put("MQ", "Ishulli i Martinikut");
    namesMap.put("MR", "Mauritani");
    namesMap.put("MS", "Ishulli i Montseratit");
    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", "Kaledonia e Re");
    namesMap.put("NF", "Ishujt Norfolk");
    namesMap.put("NG", "Nigeri");
    namesMap.put("NI", "Nikaragua");
    namesMap.put("NL", "Holandë");
    namesMap.put("NO", "Norvegji");
    namesMap.put("NZ", "Zelanda e Re");
    namesMap.put("PF", "Polinezia Franceze");
    namesMap.put("PG", "Papua Guineja e Re");
    namesMap.put("PH", "Filipine");
    namesMap.put("PL", "Poloni");
    namesMap.put("PM", "Shën Peir dhe Mikuelon");
    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", "Sishel");
    namesMap.put("SE", "Suedi");
    namesMap.put("SG", "Singapor");
    namesMap.put("SH", "Shën Helena");
    namesMap.put("SI", "Slloveni");
    namesMap.put("SJ", "Svalbard e Zhan Majen");
    namesMap.put("SK", "Sllovaki");
    namesMap.put("SL", "Siera Leone");
    namesMap.put("SN", "Senegali");
    namesMap.put("SO", "Somali");
    namesMap.put("SR", "Surinami");
    namesMap.put("SS", "Sudani i Jugut");
    namesMap.put("ST", "Sao Tome e Prinsipe");
    namesMap.put("SX", "Shën Martin (Sint Maarten-pjesa e Mbretërisë së Holandës)");
    namesMap.put("SY", "Siri");
    namesMap.put("SZ", "Svazilandë");
    namesMap.put("TA", "Tristan da Kuna");
    namesMap.put("TC", "Ishujt Turke dhe Kaike");
    namesMap.put("TD", "Çad");
    namesMap.put("TF", "Territoret Australiane Franceze");
    namesMap.put("TH", "Tajlandë");
    namesMap.put("TJ", "Taxhikistan");
    namesMap.put("TL", "Timori Lindor");
    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("US", "Shtetet e Bashkuara të Amerikës");
    namesMap.put("UY", "Uruguai");
    namesMap.put("VA", "Vatikan");
    namesMap.put("VC", "Shën Vinsent dhe Grenadinet");
    namesMap.put("VE", "Venezuelë");
    namesMap.put("VG", "Ishujt e Virgjër Britanikë");
    namesMap.put("VI", "Ishujt e Virgjër Amerikanë");
    namesMap.put("WF", "Uollis e Futina");
    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", "Rajon i panjohur");
  }

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

  private native JavaScriptObject loadMyNameMap() /*-{
    return {
        "001": "Botë",
        "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 Jug-Lindore",
        "039": "Europa Jugore",
        "053": "Australazia",
        "054": "Melanezia",
        "057": "Rajoni Mikronezian",
        "061": "Polinezia",
        "142": "Azi",
        "143": "Azia Qendrore",
        "145": "Azia Perëndimore",
        "150": "Europë",
        "151": "Europa Lindore",
        "154": "Europa Veriore",
        "155": "Europa Perëndimore",
        "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ë e Hercegovinë",
        "BE": "Belgjikë",
        "BG": "Bullgari",
        "BH": "Bahrein",
        "BI": "Burund",
        "BL": "Shën Bartolemeo",
        "BM": "Bermudë",
        "BN": "Brunej",
        "BO": "Bolivi",
        "BQ": "Karaibet Holandeze",
        "BT": "Butan",
        "BV": "Ishujt Bove",
        "BW": "Botsvanë",
        "BY": "Bjellorusi",
        "BZ": "Beliz",
        "CA": "Kanada",
        "CC": "Ishujt Kokos",
        "CD": "Kongo-Kinshasa",
        "CF": "Republika Afrikano-Qendrore",
        "CG": "Kongo-Brazavilë",
        "CH": "Zvicër",
        "CI": "Bregu i Fildishtë",
        "CK": "Ishujt Kuk",
        "CL": "Kili",
        "CM": "Kamerun",
        "CN": "Kinë",
        "CO": "Kolumbi",
        "CP": "Ishulli Klipërton",
        "CR": "Kosta Rika",
        "CU": "Kubë",
        "CV": "Kepi i Gjelbër",
        "CW": "Kuraçao",
        "CX": "Ishulli i Krishtlindjes",
        "CY": "Qipro",
        "CZ": "Republika Çeke",
        "DE": "Gjermani",
        "DG": "Diego Garsia",
        "DJ": "Xhibut",
        "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 Europian",
        "FI": "Finlandë",
        "FJ": "Fixhi",
        "FK": "Ishujt Folkland",
        "FM": "Mikronezi",
        "FO": "Ishujt Faroe",
        "FR": "Francë",
        "GB": "Mbretëria e Bashkuar",
        "GD": "Grenadë",
        "GE": "Gjeorgji",
        "GF": "Guajana Franceze",
        "GG": "Guernsej",
        "GH": "Ganë",
        "GI": "Gjibraltar",
        "GL": "Grenlandë",
        "GM": "Gambi",
        "GN": "Guine",
        "GP": "Guadalupe",
        "GQ": "Guineja Ekuatoriale",
        "GR": "Greqi",
        "GS": "Xhorxha Jugore dhe Ishujt Senduiç të Jugut",
        "GT": "Guatemalë",
        "GW": "Guine-Bisau",
        "GY": "Guajanë",
        "HK": "RVAK i Hong Kongut",
        "HM": "Ishulli Hërd dhe Ishujt 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": "Kirgistan",
        "KH": "Kamboxhia",
        "KI": "Qiribati",
        "KM": "Komore",
        "KN": "Shën Kits e Nevis",
        "KP": "Koreja e Veriut",
        "KR": "Koreja e Jugut",
        "KW": "Kuvajt",
        "KY": "Ishujt Kajman",
        "KZ": "Kazakistan",
        "LB": "Liban",
        "LC": "Shën Luçia",
        "LI": "Lihtënshtajn",
        "LK": "Sri Lankë",
        "LR": "Liberi",
        "LS": "Lesoto",
        "LT": "Lituani",
        "LU": "Luksemburg",
        "LV": "Letoni",
        "LY": "Libi",
        "MA": "Marok",
        "MC": "Monako",
        "MD": "Moldavi",
        "ME": "Mali i Zi",
        "MF": "Shën Martin",
        "MG": "Madagaskar",
        "MH": "Ishujt Marshall",
        "MK": "Maqedoni",
        "MM": "Mianmar (Burma)",
        "MN": "Mongoli",
        "MO": "RVAK i Makaos",
        "MP": "Ishujt e Marianës Veriore",
        "MQ": "Ishulli i Martinikut",
        "MR": "Mauritani",
        "MS": "Ishulli i Montseratit",
        "MT": "Maltë",
        "MV": "Maldive",
        "MW": "Malavi",
        "MX": "Meksikë",
        "MY": "Malajzi",
        "MZ": "Mozambik",
        "NA": "Namibi",
        "NC": "Kaledonia e Re",
        "NF": "Ishujt Norfolk",
        "NG": "Nigeri",
        "NI": "Nikaragua",
        "NL": "Holandë",
        "NO": "Norvegji",
        "NZ": "Zelanda e Re",
        "PF": "Polinezia Franceze",
        "PG": "Papua Guineja e Re",
        "PH": "Filipine",
        "PL": "Poloni",
        "PM": "Shën Peir dhe Mikuelon",
        "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": "Sishel",
        "SE": "Suedi",
        "SG": "Singapor",
        "SH": "Shën Helena",
        "SI": "Slloveni",
        "SJ": "Svalbard e Zhan Majen",
        "SK": "Sllovaki",
        "SL": "Siera Leone",
        "SN": "Senegali",
        "SO": "Somali",
        "SR": "Surinami",
        "SS": "Sudani i Jugut",
        "ST": "Sao Tome e Prinsipe",
        "SX": "Shën Martin (Sint Maarten-pjesa e Mbretërisë së Holandës)",
        "SY": "Siri",
        "SZ": "Svazilandë",
        "TA": "Tristan da Kuna",
        "TC": "Ishujt Turke dhe Kaike",
        "TD": "Çad",
        "TF": "Territoret Australiane Franceze",
        "TH": "Tajlandë",
        "TJ": "Taxhikistan",
        "TL": "Timori Lindor",
        "TN": "Tunizi",
        "TR": "Turqi",
        "TT": "Trinidad e Tobago",
        "TW": "Tajvan",
        "TZ": "Tanzani",
        "UA": "Ukrainë",
        "UG": "Ugandë",
        "UM": "Ishujt periferikë të SHBA-së",
        "US": "Shtetet e Bashkuara të Amerikës",
        "UY": "Uruguai",
        "VA": "Vatikan",
        "VC": "Shën Vinsent dhe Grenadinet",
        "VE": "Venezuelë",
        "VG": "Ishujt e Virgjër Britanikë",
        "VI": "Ishujt e Virgjër Amerikanë",
        "WF": "Uollis e Futina",
        "XK": "Kosovë",
        "YE": "Jemen",
        "YT": "Majotë",
        "ZA": "Afrika e Jugut",
        "ZM": "Zambi",
        "ZW": "Zimbabve",
        "ZZ": "Rajon i panjohur"
    };
  }-*/;
}
