﻿// ***************************************************************************
// *
// * 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{"Hong Kong"}
        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{"Makao"}
        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{"Palestinë"}
        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"}
        US{"SHBA"}
    }
    Countries%variant{
        CD{"Kongo (RDK)"}
        CG{"Kongo (Republika)"}
        FK{"Ishujt Folklandë (Ishujt Malvine)"}
        MK{"Maqedoni (IRJM)"}
    }
    Version{"2.1.19.14"}
}
