﻿// ***************************************************************************
// *
// * Copyright (C) 2009 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/main/sq.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/sq.xml
 */
sq{
    AuxExemplarCharacters{"[w]"}
    Countries{
        AD{"Andorrë"}
        AE{"Emiratet Arabe te Bashkuara"}
        AF{"Afganistan"}
        AG{"Antigua e Barbuda"}
        AL{"Shqipëria"}
        AM{"Armeni"}
        AO{"Angolë"}
        AR{"Argjentinë"}
        AT{"Austri"}
        AU{"Australi"}
        AX{"Ishujt Aland"}
        AZ{"Azerbajxhan"}
        BA{"Bosnja dhe Hercegovina"}
        BE{"Belgjikë"}
        BG{"Bullgari"}
        BH{"Bahrein"}
        BN{"Brunej"}
        BO{"Bolivi"}
        BR{"Brazili"}
        BT{"Butan"}
        BW{"Botsvana"}
        BY{"Bjellorusi"}
        CA{"Kanada"}
        CF{"Republika Qendrore e Afrikës"}
        CG{"Kongo"}
        CH{"Zvicër"}
        CI{"Bregu i Fildishtë"}
        CL{"Kili"}
        CM{"Kamerun"}
        CN{"Kinë"}
        CO{"Kolumbi"}
        CR{"Kosta Rika"}
        CS{"Serbië en Montenegro"}
        CU{"Kubë"}
        CV{"Kap Verde"}
        CY{"Qipro"}
        CZ{"Republika e Çekisë"}
        DE{"Gjermani"}
        DJ{"Xhibuti"}
        DK{"Danimarkë"}
        DM{"Dominikë"}
        DO{"Republika Dominikanë"}
        DZ{"Algjeri"}
        EC{"Ekuator"}
        EE{"Estoni"}
        EG{"Egjipt"}
        EH{"Saharaja Perëndimore"}
        ER{"Eritre"}
        ES{"Spanjë"}
        ET{"Etiopi"}
        FI{"Finlandë"}
        FJ{"Fixhi"}
        FM{"Mikronezi"}
        FR{"Francë"}
        GA{"Gjabon"}
        GB{"Mbretëria e Bashkuar"}
        GE{"Gjeorgji"}
        GH{"Ganë"}
        GM{"Gambi"}
        GN{"Guine"}
        GQ{"Guineja Ekuatoriale"}
        GR{"Greqi"}
        GT{"Guatemalë"}
        GW{"Guine Bisau"}
        GY{"Guajana"}
        HR{"Kroaci"}
        HU{"Hungari"}
        ID{"Indonezi"}
        IE{"Irlandë"}
        IL{"Izrael"}
        IN{"Indi"}
        IQ{"Irak"}
        IS{"Islandë"}
        IT{"Itali"}
        JM{"Xhamajkë"}
        JO{"Jordani"}
        JP{"Japoni"}
        KE{"Kenia"}
        KG{"Kirgistan"}
        KH{"Kamboxhi"}
        KI{"Qiribati"}
        KM{"Komore"}
        KN{"Saint Kitts e Nevis"}
        KP{"Koreja e Veriut"}
        KR{"Koreja e Jugut"}
        KW{"Kuvajt"}
        KZ{"Kazakistan"}
        LB{"Liban"}
        LI{"Lihtënshtajn"}
        LR{"Liberi"}
        LS{"Lesoto"}
        LT{"Lituani"}
        LU{"Luksemburg"}
        LV{"Letoni"}
        LY{"Libi"}
        MA{"Maroko"}
        MC{"Monako"}
        MD{"Moldavi"}
        MG{"Madagaskar"}
        MH{"Ishujt Marshall"}
        MK{"Maqedoni"}
        MN{"Mongoli"}
        MR{"Mauritani"}
        MT{"Maltë"}
        MV{"Maldivit"}
        MW{"Malavi"}
        MX{"Meksikë"}
        MY{"Malajzi"}
        MZ{"Mozambik"}
        NA{"Namibi"}
        NG{"Nigeri"}
        NI{"Nikaragua"}
        NL{"Vendet e Ulëta"}
        NO{"Norvegji"}
        NZ{"Zelanda e Re"}
        PG{"Papua Guineja e Re"}
        PH{"Filipine"}
        PL{"Poloni"}
        PT{"Portugali"}
        PY{"Paraguaj"}
        QA{"Katar"}
        RO{"Rumani"}
        RU{"Rusi"}
        RW{"Ruanda"}
        SA{"Arabia Saudite"}
        SB{"Ishujt Solomon"}
        SC{"Sishel"}
        SE{"Suedi"}
        SG{"Singapor"}
        SI{"Slloveni"}
        SK{"Sllovaki"}
        SL{"Siera Leone"}
        SO{"Somali"}
        ST{"Sao Tome e Prinsipe"}
        SY{"Siri"}
        SZ{"Svazilandë"}
        TD{"Çad"}
        TG{"Togo"}
        TH{"Tajlandë"}
        TJ{"Taxhikistan"}
        TN{"Tunisi"}
        TO{"Tonga"}
        TR{"Turqi"}
        TT{"Trinidad e Tobago"}
        TW{"Tajvan"}
        TZ{"Tanzani"}
        UA{"Ukrainë"}
        US{"Shtetet e Bashkuara të Amerikës"}
        UY{"Uruguaj"}
        VA{"Vatikan"}
        VC{"Saint Vincent e Grenadinet"}
        VE{"Venezuelë"}
        YE{"Jemen"}
        ZA{"Afrika e Jugut"}
        ZM{"Zambi"}
        ZW{"Zimbabve"}
        ZZ{"Rajon i panjohur ose i pavlefshëm"}
    }
    Currencies{
        ALL{
            "Lek",
            "ALL",
        }
        BRL{
            "R$",
            "Real Brazilian",
        }
        CNY{
            "CN¥",
            "Renminbi(Yuan) Kinez",
        }
        EUR{
            "€",
            "Euro",
        }
        GBP{
            "£",
            "Paund Sterlina Britanike",
        }
        INR{
            "₨",
            "Rupee indiane",
        }
        JPY{
            "JP¥",
            "Jeni Japonez",
        }
        RUB{
            "RUB",
            "Rubla ruse",
        }
        USD{
            "US$",
            "Dollar amerikan",
        }
    }
    ExemplarCharacters{
        "[a-c ç d {dh} e ë f g {gj} h-l {ll} m n {nj} o-r {rr} s {sh} t {th} u v x {x"
        "h} y z {zh}]"
    }
    Languages{
        ar{"Arabisht"}
        de{"Gjermanisht"}
        en{"Anglisht"}
        es{"Spanjisht"}
        fr{"Frengjisht"}
        hi{"Hindi"}
        it{"Italisht"}
        ja{"Japanisht"}
        pt{"Portugeze"}
        ru{"Rusisht"}
        sh{"Serbo-Kroatisht"}
        sq{"shqipe"}
        zh{"Kineze"}
    }
    LocaleScript{
        "Latn",
    }
    NumberElements{
        ",",
        ".",
        ";",
        "%",
        "0",
        "#",
        "-",
        "E",
        "‰",
        "∞",
        "NaN",
        "+",
    }
    NumberPatterns{
        "#,##0.###",
        "¤#,##0.00",
        "#,##0%",
        "#E0",
    }
    Scripts{
        Latn{"Latine"}
        Zxxx{"I pashkruar"}
        Zzzz{"Skript i panjohur ose i pavlefshëm"}
    }
    Version{"1.139"}
    calendar{
        gregorian{
            AmPmMarkers{
                "PD",
                "MD",
            }
            DateTimePatterns{
                "h.mm.ss.a v",
                "h.mm.ss.a z",
                "h:mm:ss.a",
                "h.mm.a",
                "EEEE, dd MMMM y",
                "dd MMMM y",
                "yyyy-MM-dd",
                "yy-MM-dd",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Hm{"H:mm"}
                M{"L"}
                MEd{"E, d.M"}
                MMM{"LLL"}
                MMMEd{"E d MMM"}
                MMMMEd{"E d MMMM"}
                MMMMd{"d MMMM"}
                MMMd{"d MMM"}
                Md{"M-d"}
                d{"d"}
                ms{"mm:ss"}
                y{"y"}
                yM{"M.yyyy"}
                yMEd{"EEE, d.M.yyyy"}
                yMMM{"MMM y"}
                yMMMEd{"d MMM y"}
                yMMMM{"MMMM y"}
            }
            dayNames{
                format{
                    abbreviated{
                        "Die",
                        "Hën",
                        "Mar",
                        "Mër",
                        "Enj",
                        "Pre",
                        "Sht",
                    }
                    wide{
                        "e diel",
                        "e hënë",
                        "e martë",
                        "e mërkurë",
                        "e enjte",
                        "e premte",
                        "e shtunë",
                    }
                }
                stand-alone{
                    narrow{
                        "D",
                        "H",
                        "M",
                        "M",
                        "E",
                        "P",
                        "S",
                    }
                }
            }
            eras{
                abbreviated{
                    "p.e.r.",
                    "n.e.r.",
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "Jan",
                        "Shk",
                        "Mar",
                        "Pri",
                        "Maj",
                        "Qer",
                        "Kor",
                        "Gsh",
                        "Sht",
                        "Tet",
                        "Nën",
                        "Dhj",
                    }
                    wide{
                        "janar",
                        "shkurt",
                        "mars",
                        "prill",
                        "maj",
                        "qershor",
                        "korrik",
                        "gusht",
                        "shtator",
                        "tetor",
                        "nëntor",
                        "dhjetor",
                    }
                }
                stand-alone{
                    narrow{
                        "J",
                        "S",
                        "M",
                        "P",
                        "M",
                        "Q",
                        "K",
                        "G",
                        "S",
                        "T",
                        "N",
                        "D",
                    }
                }
            }
            quarters{
                stand-alone{
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                    }
                }
            }
        }
    }
    units{
        day{
            one{"{0} ditë"}
            other{"{0} ditë"}
        }
        hour{
            one{"{0} orë"}
        }
        minute{
            one{"{0} minutë"}
            other{"{0} minuta"}
        }
        month{
            one{"{0} muaj"}
        }
        second{
            one{"{0} sekondë"}
            other{"{0} sekonda"}
        }
        week{
            one{"{0} javë"}
        }
        year{
            one{"{0} vit"}
            other{"{0} vjet"}
        }
    }
    zoneStrings{
        "meta:Europe_Central"{
            ls{"Ora qendrore evropiane"}
        }
        "meta:Europe_Eastern"{
            ls{"Ora lindore evropiane"}
        }
        "meta:Moscow"{
            ls{"Ora standarde e Moskës"}
        }
    }
}
