/*
 * 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",
        "EZ",
        "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",
        "KY",
        "IC",
        "CC",
        "CK",
        "MH",
        "UM",
        "PN",
        "SB",
        "TC",
        "AC",
        "BV",
        "HM",
        "CX",
        "IM",
        "CP",
        "NF",
        "IS",
        "IT",
        "IL",
        "JP",
        "YE",
        "JO",
        "NC",
        "KH",
        "CM",
        "CA",
        "BQ",
        "QA",
        "KZ",
        "KE",
        "CV",
        "CL",
        "CN",
        "KG",
        "KI",
        "CO",
        "UN",
        "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",
        "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",
        "SN",
        "RS",
        "BL",
        "SH",
        "KN",
        "LC",
        "MF",
        "PM",
        "VC",
        "AL",
        "US",
        "SL",
        "SG",
        "SX",
        "SY",
        "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", "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", "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ë-Hercegovinë");
    namesMap.put("BE", "Belgjikë");
    namesMap.put("BF", "Burkina-Faso");
    namesMap.put("BG", "Bullgari");
    namesMap.put("BH", "Bahrejn");
    namesMap.put("BL", "Shën Bartolomeu");
    namesMap.put("BM", "Bermudë");
    namesMap.put("BO", "Bolivi");
    namesMap.put("BQ", "Karaibet holandeze");
    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", "Kuraçao");
    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 Europian");
    namesMap.put("EZ", "Eurozonë");
    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", "Grenadë");
    namesMap.put("GE", "Gjeorgji");
    namesMap.put("GF", "Guajana Franceze");
    namesMap.put("GG", "Gernsej");
    namesMap.put("GH", "Ganë");
    namesMap.put("GI", "Gjibraltar");
    namesMap.put("GL", "Grenlandë");
    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", "RPA 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("KM", "Komore");
    namesMap.put("KN", "Shën-Kits dhe 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", "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", "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", "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", "Kaledonia 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", "Arabia Saudite");
    namesMap.put("SB", "Ishujt Solomon");
    namesMap.put("SC", "Sejshelle");
    namesMap.put("SE", "Suedi");
    namesMap.put("SG", "Singapor");
    namesMap.put("SH", "Shën-Helenë");
    namesMap.put("SI", "Slloveni");
    namesMap.put("SJ", "Svalbard dhe Jan-Majen");
    namesMap.put("SK", "Sllovaki");
    namesMap.put("SL", "Siera-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 dhe Principe");
    namesMap.put("SV", "Salvador");
    namesMap.put("SX", "Sint-Marten");
    namesMap.put("SY", "Siri");
    namesMap.put("SZ", "Svazilandë");
    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", "Kombet e Bashkuara");
    namesMap.put("US", "Shtetet e Bashkuara të Amerikës");
    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("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": "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ë-Hercegovinë",
        "BE": "Belgjikë",
        "BF": "Burkina-Faso",
        "BG": "Bullgari",
        "BH": "Bahrejn",
        "BL": "Shën Bartolomeu",
        "BM": "Bermudë",
        "BO": "Bolivi",
        "BQ": "Karaibet holandeze",
        "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": "Kuraçao",
        "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 Europian",
        "EZ": "Eurozonë",
        "FI": "Finlandë",
        "FJ": "Fixhi",
        "FK": "Ishujt Falkland",
        "FM": "Mikronezi",
        "FO": "Ishujt Faroe",
        "FR": "Francë",
        "GB": "Mbretëria e Bashkuar",
        "GD": "Grenadë",
        "GE": "Gjeorgji",
        "GF": "Guajana Franceze",
        "GG": "Gernsej",
        "GH": "Ganë",
        "GI": "Gjibraltar",
        "GL": "Grenlandë",
        "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": "RPA 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",
        "KM": "Komore",
        "KN": "Shën-Kits dhe Nevis",
        "KP": "Koreja e Veriut",
        "KR": "Koreja 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": "Shën-Martin",
        "MG": "Madagaskar",
        "MH": "Ishujt Marshall",
        "MK": "Maqedoni",
        "MM": "Mianmar (Burma)",
        "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": "Kaledonia 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": "Arabia Saudite",
        "SB": "Ishujt Solomon",
        "SC": "Sejshelle",
        "SE": "Suedi",
        "SG": "Singapor",
        "SH": "Shën-Helenë",
        "SI": "Slloveni",
        "SJ": "Svalbard dhe Jan-Majen",
        "SK": "Sllovaki",
        "SL": "Siera-Leone",
        "SM": "San-Marino",
        "SO": "Somali",
        "SR": "Surinami",
        "SS": "Sudani i Jugut",
        "ST": "Sao Tome dhe Principe",
        "SV": "Salvador",
        "SX": "Sint-Marten",
        "SY": "Siri",
        "SZ": "Svazilandë",
        "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": "Kombet e Bashkuara",
        "US": "Shtetet e Bashkuara të Amerikës",
        "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",
        "ZW": "Zimbabve",
        "ZZ": "I panjohur"
    };
  }-*/;
}
