﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/sq.xml
// *
// ***************************************************************************
sq{
    Countries{
        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ë"}
        BB{"Barbados"}
        BD{"Bangladesh"}
        BE{"Belgjikë"}
        BF{"Burkina-Faso"}
        BG{"Bullgari"}
        BH{"Bahrein"}
        BI{"Burund"}
        BJ{"Benin"}
        BL{"Shën-Bartolemeo"}
        BM{"Bermudë"}
        BN{"Brunej"}
        BO{"Bolivi"}
        BQ{"Karaibet holandeze"}
        BR{"Brazil"}
        BS{"Bahamas"}
        BT{"Butan"}
        BV{"Ishujt Bove’"}
        BW{"Botsuanë"}
        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-Rikë"}
        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ë"}
        GA{"Gabon"}
        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ë"}
        GU{"Guam"}
        GW{"Guine-Bisau"}
        GY{"Guajanë"}
        HK{"RVAK i Hong Kongut"}
        HM{"Ishulli Hërd dhe Ishujt Mekdonaldë"}
        HN{"Honduras"}
        HR{"Kroaci"}
        HT{"Haiti"}
        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"}
        IR{"Iran"}
        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 dhe Nevis"}
        KP{"Koreja e Veriut"}
        KR{"Koreja e Jugut"}
        KW{"Kuvajt"}
        KY{"Ishujt Kajmanë"}
        KZ{"Kazakistan"}
        LA{"Laos"}
        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"}
        ML{"Mali"}
        MM{"Mianmar (Burma)"}
        MN{"Mongoli"}
        MO{"RVAK i Makaos"}
        MP{"Ishujt e Marianës Veriore"}
        MQ{"Martinik"}
        MR{"Mauritani"}
        MS{"Montserat"}
        MT{"Maltë"}
        MU{"Mauritius"}
        MV{"Maldive"}
        MW{"Malavi"}
        MX{"Meksikë"}
        MY{"Malajzi"}
        MZ{"Mozambik"}
        NA{"Namibi"}
        NC{"Kaledonia e Re"}
        NE{"Niger"}
        NF{"Ishulli Norfolk"}
        NG{"Nigeri"}
        NI{"Nikaragua"}
        NL{"Holandë"}
        NO{"Norvegji"}
        NP{"Nepal"}
        NR{"Nauru"}
        NU{"Niue"}
        NZ{"Zelanda e Re"}
        OM{"Oman"}
        PA{"Panama"}
        PE{"Peru"}
        PF{"Polinezia Franceze"}
        PG{"Papua Guineja e Re"}
        PH{"Filipine"}
        PK{"Pakistan"}
        PL{"Poloni"}
        PM{"Shën-Peir dhe Mikuelon"}
        PN{"Ishujt Pitkernë"}
        PR{"Porto-Riko"}
        PS{"Territoret Palestineze"}
        PT{"Portugali"}
        PW{"Palau"}
        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{"Sishel"}
        SD{"Sudan"}
        SE{"Suedi"}
        SG{"Singapor"}
        SH{"Shën-Helena"}
        SI{"Slloveni"}
        SJ{"Svalbard e Zhan-Majen"}
        SK{"Sllovaki"}
        SL{"Siera-Leone"}
        SM{"San-Marino"}
        SN{"Senegali"}
        SO{"Somali"}
        SR{"Surinami"}
        SS{"Sudani i Jugut"}
        ST{"Sao-Tome e Prinsipe"}
        SV{"El Salvador"}
        SX{"Shën-Martin (Sint Maarten - pjesa e Mbretërisë së Holandës)"}
        SY{"Siri"}
        SZ{"Suazilandë"}
        TA{"Tristan-da-Kuna"}
        TC{"Ishujt Turke dhe Kaike"}
        TD{"Çad"}
        TF{"Territoret Australiane Franceze"}
        TG{"Togo"}
        TH{"Tajlandë"}
        TJ{"Taxhikistan"}
        TK{"Tokelau"}
        TL{"Timori Lindor"}
        TM{"Turkmenistan"}
        TN{"Tunizi"}
        TO{"Tonga"}
        TR{"Turqi"}
        TT{"Trinidad e Tobago"}
        TV{"Tuvalu"}
        TW{"Tajvan"}
        TZ{"Tanzani"}
        UA{"Ukrainë"}
        UG{"Ugandë"}
        UM{"Ishujt periferikë të SHBA-së"}
        US{"Shtetet e Bashkuara të Amerikës"}
        UY{"Uruguai"}
        UZ{"Uzbekistan"}
        VA{"Vatikan"}
        VC{"Shën-Vinsent dhe Grenadinet"}
        VE{"Venezuelë"}
        VG{"Ishujt e Virgjër Britanikë"}
        VI{"Ishujt e Virgjër Amerikanë"}
        VN{"Vietnam"}
        VU{"Vanuatu"}
        WF{"Uollis e Futina"}
        WS{"Samoa"}
        XK{"Kosovë"}
        YE{"Jemen"}
        YT{"Majotë"}
        ZA{"Afrika e Jugut"}
        ZM{"Zambi"}
        ZW{"Zimbabve"}
        ZZ{"I panjohur"}
    }
    Countries%short{
        GB{"Mbretëria e Bashkuar"}
        HK{"Hong Kong"}
        MO{"Makao"}
        PS{"Palestinë"}
        US{"SHBA"}
    }
    Countries%variant{
        CD{"Kongo (RDK)"}
        CG{"Kongo (Republika)"}
        FK{"Ishujt Folklandë (Ishujt Malvine)"}
        MK{"Maqedoni (IRJM)"}
    }
    Version{"2.1.19.14"}
}
