﻿// ***************************************************************************
// *
// * 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{
            "Rs",
            "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"}
        nl{"Holandisht"}
        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.81"}
    calendar{
        gregorian{
            AmPmMarkers{
                "PD",
                "MD",
            }
            DateTimePatterns{
                "h.mm.ss.a zzzz",
                "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}",
                "{1} {0}",
            }
            availableFormats{
                Hm{"H.mm"}
                Hms{"H.mm.ss"}
                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"}
                yyyyMMMM{"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.",
                }
            }
            intervalFormats{
                yMMM{
                    M{"yyyy-MM – MM"}
                    y{"MMM y - MMM y"}
                }
                yMMMEd{
                    M{"E, dd MMM - E, dd MMM y"}
                    d{"E, dd - E, dd MMM y"}
                    y{"E, dd MMM y - E, dd MMM y"}
                }
                yMMMd{
                    M{"dd MMM - dd MMM y"}
                    d{"dd-dd MMM y"}
                    y{"dd MMM y - dd MMM y"}
                }
            }
            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"}
        }
    }
}
