﻿// ***************************************************************************
// *
// * 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{
    AuxExemplarCharacters{"[w]"}
    Ellipsis{
        final{"{0}…"}
        word-final{"{0} …"}
    }
    ExemplarCharacters{
        "[a b c ç d {dh} e ë f g {gj} h i j k l {ll} m n {nj} o p q r {rr} s {sh} t {"
        "th} u v x {xh} y z {zh}]"
    }
    ExemplarCharactersIndex{
        "[A B C Ç D {DH} E Ë F G {GJ} H I J K L {LL} M N {NJ} O P Q R {RR} S {SH} T {"
        "TH} U V X {XH} Y Z {ZH}]"
    }
    MoreInformation{"?"}
    NumberElements{
        default{"latn"}
        latn{
            miscPatterns{
                atLeast{">{0}"}
                range{"{0}-{1}"}
            }
            patterns{
                accountingFormat{"#,##0.00 ¤;(#,##0.00 ¤)"}
                currencyFormat{"#,##0.00 ¤"}
                decimalFormat{"#,##0.###"}
                percentFormat{"#,##0%"}
                scientificFormat{"#E0"}
            }
            patternsLong{
                decimalFormat{
                    1000{
                        one{"0 mijë"}
                        other{"0 mijë"}
                    }
                    10000{
                        one{"00 mijë"}
                        other{"00 mijë"}
                    }
                    100000{
                        one{"000 mijë"}
                        other{"000 mijë"}
                    }
                    1000000{
                        one{"0 milion"}
                        other{"0 milion"}
                    }
                    10000000{
                        one{"00 milion"}
                        other{"00 milion"}
                    }
                    100000000{
                        one{"000 milion"}
                        other{"000 milion"}
                    }
                    1000000000{
                        one{"0 miliard"}
                        other{"0 miliard"}
                    }
                    10000000000{
                        one{"00 miliard"}
                        other{"00 miliard"}
                    }
                    100000000000{
                        one{"000 miliard"}
                        other{"000 miliard"}
                    }
                    1000000000000{
                        one{"0 bilion"}
                        other{"0 bilion"}
                    }
                    10000000000000{
                        one{"00 bilion"}
                        other{"00 bilion"}
                    }
                    100000000000000{
                        one{"000 bilion"}
                        other{"000 bilion"}
                    }
                }
            }
            patternsShort{
                decimalFormat{
                    1000{
                        one{"0 mijë"}
                        other{"0 mijë"}
                    }
                    10000{
                        one{"00 mijë"}
                        other{"00 mijë"}
                    }
                    100000{
                        one{"000 mijë"}
                        other{"000 mijë"}
                    }
                    1000000{
                        one{"0 Mln"}
                        other{"0 Mln"}
                    }
                    10000000{
                        one{"00 Mln"}
                        other{"00 Mln"}
                    }
                    100000000{
                        one{"000 Mln"}
                        other{"000 Mln"}
                    }
                    1000000000{
                        one{"0 Mld"}
                        other{"0 Mld"}
                    }
                    10000000000{
                        one{"00 Mld"}
                        other{"00 Mld"}
                    }
                    100000000000{
                        one{"000 Mld"}
                        other{"000 Mld"}
                    }
                    1000000000000{
                        one{"0 Bln"}
                        other{"0 Bln"}
                    }
                    10000000000000{
                        one{"00 Bln"}
                        other{"00 Bln"}
                    }
                    100000000000000{
                        one{"000 Bln"}
                        other{"000 Bln"}
                    }
                }
            }
            symbols{
                decimal{","}
                exponential{"E"}
                group{" "}
                infinity{"∞"}
                minusSign{"-"}
                nan{"NaN"}
                perMille{"‰"}
                percentSign{"%"}
                plusSign{"+"}
                superscriptingExponent{"×"}
                timeSeparator{":"}
            }
        }
        minimumGroupingDigits{"1"}
        native{"latn"}
    }
    Version{"2.1.16.1"}
    calendar{
        generic{
            DateTimePatterns{
                "h:mm:ss a zzzz",
                "h:mm:ss a z",
                "h:mm:ss a",
                "h:mm a",
                "EEEE, d MMM y G",
                "d MMM y G",
                "d MMM y G",
                "d.M.y GGGGG",
                "{1}, {0}",
                "{1} 'në' {0}",
                "{1} 'në' {0}",
                "{1}, {0}",
                "{1}, {0}",
            }
            availableFormats{
                Ed{"E, d"}
                Gy{"y G"}
                GyMMM{"MMM y G"}
                GyMMMEd{"E, d MMM y G"}
                GyMMMd{"d MMM y G"}
                H{"H"}
                Hm{"H.mm"}
                Hms{"H.mm.ss"}
                M{"L"}
                MEd{"E, d.M"}
                MMM{"LLL"}
                MMMEd{"E, d MMM"}
                MMMMEd{"E, d MMM"}
                MMMMd{"d MMM"}
                MMMd{"d MMM"}
                Md{"d.M"}
                d{"d"}
                h{"h.a"}
                hm{"h.mm.a"}
                hms{"h.mm.ss.a"}
                ms{"mm.ss"}
                y{"y G"}
                yyyy{"y G"}
                yyyyM{"M.y GGGGG"}
                yyyyMEd{"E, d.M.y GGGGG"}
                yyyyMMM{"MMM y G"}
                yyyyMMMEd{"E, d MMM y G"}
                yyyyMMMM{"MMMM y G"}
                yyyyMMMd{"d MMM y G"}
                yyyyMd{"d.M.y GGGGG"}
                yyyyQQQ{"QQQ, y G"}
                yyyyQQQQ{"QQQQ, y G"}
            }
            intervalFormats{
                M{
                    M{"M – M"}
                }
                MEd{
                    M{"E, d.M – E, d.M"}
                    d{"E, d.M – E, d.M"}
                }
                MMM{
                    M{"MMM – MMM"}
                }
                MMMEd{
                    M{"E, d MMM – E, d MMM"}
                    d{"E, d MMM – E, d MMM"}
                }
                MMMd{
                    M{"d MMM – d MMM"}
                    d{"d – d MMM"}
                }
                Md{
                    M{"d.M – d.M"}
                    d{"d.M – d.M"}
                }
                d{
                    d{"d – d"}
                }
                fallback{"{0} - {1}"}
                y{
                    y{"y – y G"}
                }
                yM{
                    M{"M.y – M.y GGGGG"}
                    y{"M.y – M.y GGGGG"}
                }
                yMEd{
                    M{"E, d.M.y – E, d.M.y GGGGG"}
                    d{"E, d.M.y – E, d.M.y GGGGG"}
                    y{"E, d.M.y – E, d.M.y GGGGG"}
                }
                yMMM{
                    M{"MMM – MMM y G"}
                    y{"MMM y – MMM y G"}
                }
                yMMMEd{
                    M{"E, d MMM – E, d MMM y G"}
                    d{"E, d MMM – E, d MMM y G"}
                    y{"E, d MMM y – E, d MMM y G"}
                }
                yMMMM{
                    M{"MMMM – MMMM y G"}
                    y{"MMMM y – MMMM y G"}
                }
                yMMMd{
                    M{"d MMM – d MMM y G"}
                    d{"d – d MMM y G"}
                    y{"d MMM y – d MMM y G"}
                }
                yMd{
                    M{"d.M.y – d.M.y GGGGG"}
                    d{"d.M.y – d.M.y GGGGG"}
                    y{"d.M.y – d.M.y GGGGG"}
                }
            }
        }
        gregorian{
            AmPmMarkers{
                "paradite",
                "pasdite",
            }
            AmPmMarkersNarrow{
                "AM",
                "PM",
            }
            DateTimePatterns{
                "h:mm:ss a zzzz",
                "h:mm:ss a z",
                "h:mm:ss a",
                "h:mm a",
                "EEEE, d MMMM y",
                "d MMMM y",
                "d MMM y",
                "d.M.yy",
                "{1}, {0}",
                "{1} 'në' {0}",
                "{1} 'në' {0}",
                "{1}, {0}",
                "{1}, {0}",
            }
            appendItems{
                Timezone{"{0} {1}"}
            }
            availableFormats{
                E{"ccc"}
                EHm{"E, HH:mm"}
                EHms{"E, HH:mm:ss"}
                Ed{"E, d"}
                Ehm{"E, h:mm a"}
                Ehms{"E, h:mm:ss a"}
                Gy{"y G"}
                GyMMM{"MMM y G"}
                GyMMMEd{"E, d MMM y G"}
                GyMMMd{"d MMM y G"}
                H{"HH"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E, d.M"}
                MMM{"LLL"}
                MMMEd{"E, d MMM"}
                MMMMEd{"E, d MMMM"}
                MMMMd{"d MMMM"}
                MMMd{"d MMM"}
                MMdd{"d.M"}
                Md{"d.M"}
                d{"d"}
                h{"h a"}
                hm{"h:mm a"}
                hms{"h:mm:ss a"}
                ms{"mm:ss"}
                y{"y"}
                yM{"M.y"}
                yMEd{"E, d.M.y"}
                yMMM{"MMM y"}
                yMMMEd{"E, d MMM y"}
                yMMMM{"MMMM y"}
                yMMMd{"d MMM y"}
                yMd{"d.M.y"}
                yQQQ{"QQQ, y"}
                yQQQQ{"QQQQ, y"}
            }
            dayNames{
                format{
                    abbreviated{
                        "Die",
                        "Hën",
                        "Mar",
                        "Mër",
                        "Enj",
                        "Pre",
                        "Sht",
                    }
                    narrow{
                        "D",
                        "H",
                        "M",
                        "M",
                        "E",
                        "P",
                        "S",
                    }
                    short{
                        "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{
                    abbreviated{
                        "Die",
                        "Hën",
                        "Mar",
                        "Mër",
                        "Enj",
                        "Pre",
                        "Sht",
                    }
                    narrow{
                        "D",
                        "H",
                        "M",
                        "M",
                        "E",
                        "P",
                        "S",
                    }
                    short{
                        "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ë",
                    }
                }
            }
            dayPeriod{
                format{
                    narrow{
                        noon{"MD"}
                    }
                    wide{
                        noon{"mesditë"}
                    }
                }
                stand-alone{
                    wide{
                        afternoon1{"pasdite"}
                        evening1{"mbrëmje"}
                        midnight{"mesnatë"}
                        morning1{"mëngjes"}
                        morning2{"paradite"}
                        night1{"natë"}
                        noon{"mesditë"}
                    }
                }
            }
            eras{
                abbreviated{
                    "p.e.r.",
                    "e.r.",
                }
                abbreviated%variant{
                    "p.e.s.",
                    "e.s.",
                }
                narrow{
                    "p.e.r.",
                    "e.r.",
                }
                narrow%variant{
                    "p.e.s.",
                    "e.s.",
                }
                wide{
                    "para erës së re",
                    "erës së re",
                }
                wide%variant{
                    "para erës sonë",
                    "erës sonë",
                }
            }
            intervalFormats{
                H{
                    H{"HH – HH"}
                }
                Hm{
                    H{"HH:mm – HH:mm"}
                    m{"HH:mm – HH:mm"}
                }
                Hmv{
                    H{"HH:mm – HH:mm v"}
                    m{"HH:mm – HH:mm v"}
                }
                Hv{
                    H{"HH – HH v"}
                }
                M{
                    M{"M – M"}
                }
                MEd{
                    M{"E, d.M – E, d.M"}
                    d{"E, d.M – E, d.M"}
                }
                MMM{
                    M{"MMM – MMM"}
                }
                MMMEd{
                    M{"E, d MMM – E, d MMM"}
                    d{"E, d MMM – E, d MMM"}
                }
                MMMd{
                    M{"d MMM – d MMM"}
                    d{"d – d MMM"}
                }
                Md{
                    M{"d.M – d.M"}
                    d{"d.M – d.M"}
                }
                d{
                    d{"d – d"}
                }
                fallback{"{0} - {1}"}
                h{
                    a{"h a – h a"}
                    h{"h – h a"}
                }
                hm{
                    a{"h:mm a – h:mm a"}
                    h{"h:mm – h:mm a"}
                    m{"h:mm – h:mm a"}
                }
                hmv{
                    a{"h:mm a – h:mm a v"}
                    h{"h:mm – h:mm a v"}
                    m{"h:mm – h:mm a v"}
                }
                hv{
                    a{"h a – h a v"}
                    h{"h – h a v"}
                }
                y{
                    y{"y – y"}
                }
                yM{
                    M{"M.y – M.y"}
                    y{"M.y – M.y"}
                }
                yMEd{
                    M{"E, d.M.y – E, d.M.y"}
                    d{"E, d.M.y – E, d.M.y"}
                    y{"E, d.M.y – E, d.M.y"}
                }
                yMMM{
                    M{"MMM – MMM y"}
                    y{"MMM y – MMM y"}
                }
                yMMMEd{
                    M{"E, d MMM – E, d MMM y"}
                    d{"E, d – E, d MMM y"}
                    y{"E, d MMM y – E, d MMM y"}
                }
                yMMMM{
                    M{"MMMM – MMMM y"}
                    y{"MMMM y – MMMM y"}
                }
                yMMMd{
                    M{"d MMM – d MMM y"}
                    d{"d – d MMM y"}
                    y{"d MMM y – d MMM y"}
                }
                yMd{
                    M{"d.M.y – d.M.y"}
                    d{"d.M.y – d.M.y"}
                    y{"d.M.y – d.M.y"}
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "Jan",
                        "Shk",
                        "Mar",
                        "Pri",
                        "Maj",
                        "Qer",
                        "Kor",
                        "Gsh",
                        "Sht",
                        "Tet",
                        "Nën",
                        "Dhj",
                    }
                    narrow{
                        "J",
                        "S",
                        "M",
                        "P",
                        "M",
                        "Q",
                        "K",
                        "G",
                        "S",
                        "T",
                        "N",
                        "D",
                    }
                    wide{
                        "janar",
                        "shkurt",
                        "mars",
                        "prill",
                        "maj",
                        "qershor",
                        "korrik",
                        "gusht",
                        "shtator",
                        "tetor",
                        "nëntor",
                        "dhjetor",
                    }
                }
                stand-alone{
                    abbreviated{
                        "Jan",
                        "Shk",
                        "Mar",
                        "Pri",
                        "Maj",
                        "Qer",
                        "Kor",
                        "Gsh",
                        "Sht",
                        "Tet",
                        "Nën",
                        "Dhj",
                    }
                    narrow{
                        "J",
                        "S",
                        "M",
                        "P",
                        "M",
                        "Q",
                        "K",
                        "G",
                        "S",
                        "T",
                        "N",
                        "D",
                    }
                    wide{
                        "Janar",
                        "Shkurt",
                        "Mars",
                        "Prill",
                        "Maj",
                        "Qershor",
                        "Korrik",
                        "Gusht",
                        "Shtator",
                        "Tetor",
                        "Nëntor",
                        "Dhjetor",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "tremujori I",
                        "tremujori II",
                        "tremujori III",
                        "tremujori IV",
                    }
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                    }
                    wide{
                        "tremujori i parë",
                        "tremujori i dytë",
                        "tremujori i tretë",
                        "tremujori i katërt",
                    }
                }
                stand-alone{
                    abbreviated{
                        "Tremujori I",
                        "Tremujori II",
                        "Tremujori III",
                        "Tremujori IV",
                    }
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                    }
                    wide{
                        "Tremujori i 1-rë",
                        "Tremujori i 2-të",
                        "Tremujori i 3-të",
                        "Tremujori i 4-t",
                    }
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"”"}
        alternateQuotationStart{"“"}
        quotationEnd{"»"}
        quotationStart{"«"}
    }
    fields{
        day{
            dn{"ditë"}
            relative{
                "-1"{"dje"}
                "0"{"sot"}
                "1"{"nesër"}
            }
            relativeTime{
                future{
                    one{"pas {0} dite"}
                    other{"pas {0} ditësh"}
                }
                past{
                    one{"para {0} dite"}
                    other{"para {0} ditësh"}
                }
            }
        }
        day-narrow{
            dn{"ditë"}
            relativeTime{
                future{
                    one{"pas {0} dite"}
                    other{"pas {0} ditësh"}
                }
                past{
                    one{"para {0} dite"}
                    other{"para {0} ditësh"}
                }
            }
        }
        day-short{
            dn{"ditë"}
            relativeTime{
                future{
                    one{"pas {0} dite"}
                    other{"pas {0} ditësh"}
                }
                past{
                    one{"para {0} dite"}
                    other{"para {0} ditësh"}
                }
            }
        }
        dayperiod{
            dn{"periudhë e ditës"}
        }
        era{
            dn{"erë"}
        }
        fri{
            relative{
                "-1"{"të premten e kaluar"}
                "0"{"këtë të premte"}
                "1"{"të premten e ardhshme"}
            }
        }
        fri-narrow{
            relative{
                "-1"{"të premten e kaluar"}
                "0"{"këtë të premte"}
                "1"{"të premten e ardhshme"}
            }
        }
        fri-short{
            relative{
                "-1"{"të premten e kaluar"}
                "0"{"këtë të premte"}
                "1"{"të premten e ardhshme"}
            }
        }
        hour{
            dn{"orë"}
            relativeTime{
                future{
                    one{"pas {0} ore"}
                    other{"pas {0} orësh"}
                }
                past{
                    one{"para {0} ore"}
                    other{"para {0} orësh"}
                }
            }
        }
        hour-narrow{
            dn{"orë"}
            relativeTime{
                future{
                    one{"pas {0} ore"}
                    other{"pas {0} orësh"}
                }
                past{
                    one{"para {0} ore"}
                    other{"para {0} orësh"}
                }
            }
        }
        hour-short{
            dn{"orë"}
            relativeTime{
                future{
                    one{"pas {0} ore"}
                    other{"pas {0} orësh"}
                }
                past{
                    one{"para {0} ore"}
                    other{"para {0} orësh"}
                }
            }
        }
        minute{
            dn{"minutë"}
            relativeTime{
                future{
                    one{"pas {0} minute"}
                    other{"pas {0} minutash"}
                }
                past{
                    one{"para {0} minute"}
                    other{"para {0} minutash"}
                }
            }
        }
        minute-narrow{
            dn{"min."}
            relativeTime{
                future{
                    one{"pas {0} min."}
                    other{"pas {0} min."}
                }
                past{
                    one{"para {0} min."}
                    other{"para {0} min."}
                }
            }
        }
        minute-short{
            dn{"min."}
            relativeTime{
                future{
                    one{"pas {0} min."}
                    other{"pas {0} min."}
                }
                past{
                    one{"para {0} min."}
                    other{"para {0} min."}
                }
            }
        }
        mon{
            relative{
                "-1"{"të hënën e kaluar"}
                "0"{"këtë të hënë"}
                "1"{"të hënën e ardhshme"}
            }
        }
        mon-narrow{
            relative{
                "-1"{"të hënën e kaluar"}
                "0"{"këtë të hënë"}
                "1"{"të hënën e ardhshme"}
            }
        }
        mon-short{
            relative{
                "-1"{"të hënën e kaluar"}
                "0"{"këtë të hënë"}
                "1"{"të hënën e ardhshme"}
            }
        }
        month{
            dn{"muaj"}
            relative{
                "-1"{"muajin e kaluar"}
                "0"{"këtë muaj"}
                "1"{"muajin e ardhshëm"}
            }
            relativeTime{
                future{
                    one{"pas {0} muaji"}
                    other{"pas {0} muajsh"}
                }
                past{
                    one{"para {0} muaji"}
                    other{"para {0} muajsh"}
                }
            }
        }
        month-narrow{
            dn{"muaj"}
            relativeTime{
                future{
                    one{"pas {0} muaji"}
                    other{"pas {0} muajsh"}
                }
                past{
                    one{"para {0} muaji"}
                    other{"para {0} muajsh"}
                }
            }
        }
        month-short{
            dn{"muaj"}
            relativeTime{
                future{
                    one{"pas {0} muaji"}
                    other{"pas {0} muajsh"}
                }
                past{
                    one{"para {0} muaji"}
                    other{"para {0} muajsh"}
                }
            }
        }
        quarter{
            dn{"tremujor"}
            relativeTime{
                future{
                    one{"pas {0} tremujori"}
                    other{"pas {0} tremujorësh"}
                }
                past{
                    one{"para {0} tremujori"}
                    other{"para {0} tremujorësh"}
                }
            }
        }
        quarter-narrow{
            dn{"tremujor"}
            relativeTime{
                future{
                    one{"pas {0} tremujori"}
                    other{"pas {0} tremujorësh"}
                }
                past{
                    one{"para {0} tremujori"}
                    other{"para {0} tremujorësh"}
                }
            }
        }
        quarter-short{
            dn{"tremujor"}
            relativeTime{
                future{
                    one{"pas {0} tremujori"}
                    other{"pas {0} tremujorësh"}
                }
                past{
                    one{"para {0} tremujori"}
                    other{"para {0} tremujorësh"}
                }
            }
        }
        sat{
            relative{
                "-1"{"të shtunën e kaluar"}
                "0"{"këtë të shtunë"}
                "1"{"të shtunën e ardhshme"}
            }
        }
        sat-narrow{
            relative{
                "-1"{"të shtunën e kaluar"}
                "0"{"këtë të shtunë"}
                "1"{"të shtunën e ardhshme"}
            }
        }
        sat-short{
            relative{
                "-1"{"të shtunën e kaluar"}
                "0"{"këtë të shtunë"}
                "1"{"të shtunën e ardhshme"}
            }
        }
        second{
            dn{"sekondë"}
            relative{
                "0"{"tani"}
            }
            relativeTime{
                future{
                    one{"pas {0} sekonde"}
                    other{"pas {0} sekondash"}
                }
                past{
                    one{"para {0} sekonde"}
                    other{"para {0} sekondash"}
                }
            }
        }
        second-narrow{
            dn{"sek."}
            relativeTime{
                future{
                    one{"pas {0} sek."}
                    other{"pas {0} sek."}
                }
                past{
                    one{"para {0} sek."}
                    other{"para {0} sek."}
                }
            }
        }
        second-short{
            dn{"sek."}
            relativeTime{
                future{
                    one{"pas {0} sek."}
                    other{"pas {0} sek."}
                }
                past{
                    one{"para {0} sek."}
                    other{"para {0} sek."}
                }
            }
        }
        sun{
            relative{
                "-1"{"të dielën e kaluar"}
                "0"{"këtë të diel"}
                "1"{"të dielën e ardhshme"}
            }
        }
        sun-narrow{
            relative{
                "-1"{"të dielën e kaluar"}
                "0"{"këtë të diel"}
                "1"{"të dielën e ardhshme"}
            }
        }
        sun-short{
            relative{
                "-1"{"të dielën e kaluar"}
                "0"{"këtë të diel"}
                "1"{"të dielën e ardhshme"}
            }
        }
        thu{
            relative{
                "-1"{"të enjten e kaluar"}
                "0"{"këtë të enjte"}
                "1"{"të enjten e ardhshme"}
            }
        }
        thu-narrow{
            relative{
                "-1"{"të enjten e kaluar"}
                "0"{"këtë të enjte"}
                "1"{"të enjten e ardhshme"}
            }
        }
        thu-short{
            relative{
                "-1"{"të enjten e kaluar"}
                "0"{"këtë të enjte"}
                "1"{"të enjten e ardhshme"}
            }
        }
        tue{
            relative{
                "-1"{"të martën e kaluar"}
                "0"{"këtë të martë"}
                "1"{"të martën e ardhshme"}
            }
        }
        tue-narrow{
            relative{
                "-1"{"të martën e kaluar"}
                "0"{"këtë të martë"}
                "1"{"të martën e ardhshme"}
            }
        }
        tue-short{
            relative{
                "-1"{"të martën e kaluar"}
                "0"{"këtë të martë"}
                "1"{"të martën e ardhshme"}
            }
        }
        wed{
            relative{
                "-1"{"të mërkurën e kaluar"}
                "0"{"këtë të mërkurë"}
                "1"{"të mërkurën e ardhshme"}
            }
        }
        wed-narrow{
            relative{
                "-1"{"të mërkurën e kaluar"}
                "0"{"këtë të mërkurë"}
                "1"{"të mërkurën e ardhshme"}
            }
        }
        wed-short{
            relative{
                "-1"{"të mërkurën e kaluar"}
                "0"{"këtë të mërkurë"}
                "1"{"të mërkurën e ardhshme"}
            }
        }
        week{
            dn{"javë"}
            relative{
                "-1"{"javën e kaluar"}
                "0"{"këtë javë"}
                "1"{"javën e ardhshme"}
            }
            relativeTime{
                future{
                    one{"pas {0} jave"}
                    other{"pas {0} javësh"}
                }
                past{
                    one{"para {0} jave"}
                    other{"para {0} javësh"}
                }
            }
        }
        week-narrow{
            dn{"javë"}
            relativeTime{
                future{
                    one{"pas {0} jave"}
                    other{"pas {0} javësh"}
                }
                past{
                    one{"para {0} jave"}
                    other{"para {0} javësh"}
                }
            }
        }
        week-short{
            dn{"javë"}
            relativeTime{
                future{
                    one{"pas {0} jave"}
                    other{"pas {0} javësh"}
                }
                past{
                    one{"para {0} jave"}
                    other{"para {0} javësh"}
                }
            }
        }
        weekday{
            dn{"ditë e javës"}
        }
        year{
            dn{"vit"}
            relative{
                "-1"{"vitin e kaluar"}
                "0"{"këtë vit"}
                "1"{"vitin e ardhshëm"}
            }
            relativeTime{
                future{
                    one{"pas {0} viti"}
                    other{"pas {0} vjetësh"}
                }
                past{
                    one{"para {0} viti"}
                    other{"para {0} vjetësh"}
                }
            }
        }
        year-narrow{
            dn{"vit"}
            relativeTime{
                future{
                    one{"pas {0} viti"}
                    other{"pas {0} vjetësh"}
                }
                past{
                    one{"para {0} viti"}
                    other{"para {0} vjetësh"}
                }
            }
        }
        year-short{
            dn{"vit"}
            relativeTime{
                future{
                    one{"pas {0} viti"}
                    other{"pas {0} vjetësh"}
                }
                past{
                    one{"para {0} viti"}
                    other{"para {0} vjetësh"}
                }
            }
        }
        zone{
            dn{"brezi orar"}
        }
    }
    listPattern{
        standard{
            2{"{0} dhe {1}"}
            end{"{0} dhe {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
        unit{
            2{"{0} e {1}"}
            end{"{0} e {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
        unit-narrow{
            2{"{0} e {1}"}
            end{"{0} e {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
        unit-short{
            2{"{0} e {1}"}
            end{"{0} e {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
    }
    measurementSystemNames{
        UK{"britanik"}
        US{"amerikan"}
        metric{"metrik"}
    }
}
