﻿// ***************************************************************************
// *
// * 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]"}
    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}]"
    }
    LocaleScript{
        "Latn",
    }
    NumberElements{
        ",",
        ".",
        ";",
        "%",
        "0",
        "#",
        "-",
        "E",
        "‰",
        "∞",
        "NaN",
        "+",
    }
    NumberPatterns{
        "#,##0.###",
        "¤#,##0.00",
        "#,##0%",
        "#E0",
    }
    Version{"2.0.42.82"}
    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"}
        }
    }
}
