﻿// © 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html#License
sq{
    Keys{
        calendar{"Kalendari"}
        cf{"Formati valutor"}
        collation{"Radhitja"}
        currency{"Valuta"}
        hc{"Cikli orar (12 - 24)"}
        lb{"Stili i gjerësisë së rreshtave"}
        ms{"Sistemi i njësive matëse"}
        numbers{"Numrat/shifrat"}
    }
    Languages{
        aa{"afarisht"}
        ab{"abkazisht"}
        ace{"akinezisht"}
        ada{"andangmeisht"}
        ady{"adigisht"}
        af{"afrikanisht"}
        agq{"agemisht"}
        ain{"ajnuisht"}
        ak{"akanisht"}
        ale{"aleutisht"}
        alt{"altaishte jugore"}
        am{"amarisht"}
        an{"aragonezisht"}
        anp{"angikisht"}
        ar{"arabisht"}
        ar_001{"arabishte standarde moderne"}
        arn{"mapuçisht"}
        arp{"arapahoisht"}
        as{"asamezisht"}
        asa{"asuisht"}
        ast{"asturisht"}
        av{"avarikisht"}
        awa{"auadhisht"}
        ay{"ajmarisht"}
        az{"azerbajxhanisht"}
        ba{"bashkirisht"}
        ban{"balinezisht"}
        bas{"basaisht"}
        be{"bjellorusisht"}
        bem{"bembaisht"}
        bez{"benaisht"}
        bg{"bullgarisht"}
        bgn{"balokishte perëndimore"}
        bho{"boxhpurisht"}
        bi{"bislamisht"}
        bin{"binisht"}
        bla{"siksikaisht"}
        bm{"bambarisht"}
        bn{"bengalisht"}
        bo{"tibetisht"}
        br{"bretonisht"}
        brx{"bodoisht"}
        bs{"boshnjakisht"}
        bug{"buginezisht"}
        byn{"blinisht"}
        ca{"katalonisht"}
        ccp{"çakmaisht"}
        ce{"çeçenisht"}
        ceb{"sebuanisht"}
        cgg{"çigisht"}
        ch{"kamoroisht"}
        chk{"çukezisht"}
        chm{"marisht"}
        cho{"çoktauisht"}
        chr{"çerokisht"}
        chy{"çejenisht"}
        ckb{"kurdishte qendrore"}
        co{"korsikisht"}
        crs{"frëngjishte kreole seselve"}
        cs{"çekisht"}
        cu{"sllavishte kishtare"}
        cv{"çuvashisht"}
        cy{"uellsisht"}
        da{"danisht"}
        dak{"dakotisht"}
        dar{"darguaisht"}
        dav{"tajtaisht"}
        de{"gjermanisht"}
        de_AT{"gjermanishte austriake"}
        de_CH{"gjermanishte zvicerane (dialekti i Alpeve)"}
        dgr{"dogribisht"}
        dje{"zarmaisht"}
        dsb{"sorbishte e poshtme"}
        dua{"dualaisht"}
        dv{"divehisht"}
        dyo{"xhulafonjisht"}
        dz{"xhongaisht"}
        dzg{"dazagauisht"}
        ebu{"embuisht"}
        ee{"eveisht"}
        efi{"efikisht"}
        eka{"ekajukisht"}
        el{"greqisht"}
        en{"anglisht"}
        en_AU{"anglishte australiane"}
        en_CA{"anglishte kanadeze"}
        en_GB{"anglishte britanike"}
        en_US{"anglishte amerikane"}
        eo{"esperanto"}
        es{"spanjisht"}
        es_419{"spanjishte amerikano-latine"}
        es_ES{"spanjishte evropiane"}
        es_MX{"spanjishte meksikane"}
        et{"estonisht"}
        eu{"baskisht"}
        ewo{"euondoisht"}
        fa{"persisht"}
        ff{"fulaisht"}
        fi{"finlandisht"}
        fil{"filipinisht"}
        fj{"fixhianisht"}
        fo{"faroisht"}
        fon{"fonisht"}
        fr{"frëngjisht"}
        fr_CA{"frëngjishte kanadeze"}
        fr_CH{"frëngjishte zvicerane"}
        fur{"friulianisht"}
        fy{"frizianishte perëndimore"}
        ga{"irlandisht"}
        gaa{"gaisht"}
        gag{"gagauzisht"}
        gd{"galishte skoceze"}
        gez{"gizisht"}
        gil{"gilbertazisht"}
        gl{"galicisht"}
        gn{"guaranisht"}
        gor{"gorontaloisht"}
        gsw{"gjermanishte zvicerane"}
        gu{"guxharatisht"}
        guz{"gusisht"}
        gv{"manksisht"}
        gwi{"guiçinisht"}
        ha{"hausisht"}
        haw{"havaisht"}
        he{"hebraisht"}
        hi{"indisht"}
        hil{"hiligajnonisht"}
        hmn{"hmongisht"}
        hr{"kroatisht"}
        hsb{"sorbishte e sipërme"}
        ht{"haitisht"}
        hu{"hungarisht"}
        hup{"hupaisht"}
        hy{"armenisht"}
        hz{"hereroisht"}
        ia{"interlingua"}
        iba{"ibanisht"}
        ibb{"ibibioisht"}
        id{"indonezisht"}
        ie{"gjuha oksidentale"}
        ig{"igboisht"}
        ii{"sishuanisht"}
        ilo{"ilokoisht"}
        inh{"ingushisht"}
        io{"idoisht"}
        is{"islandisht"}
        it{"italisht"}
        iu{"inuktitutisht"}
        ja{"japonisht"}
        jbo{"lojbanisht"}
        jgo{"ngombisht"}
        jmc{"maçamisht"}
        jv{"javanisht"}
        ka{"gjeorgjisht"}
        kab{"kabilisht"}
        kac{"kaçinisht"}
        kaj{"kajeisht"}
        kam{"kambaisht"}
        kbd{"kabardianisht"}
        kcg{"tjapisht"}
        kde{"makondisht"}
        kea{"kreolishte e Kepit të Gjelbër"}
        kfo{"koroisht"}
        kha{"kasisht"}
        khq{"kojraçinisht"}
        ki{"kikujuisht"}
        kj{"kuanjamaisht"}
        kk{"kazakisht"}
        kkj{"kakoisht"}
        kl{"kalalisutisht"}
        kln{"kalenxhinisht"}
        km{"kmerisht"}
        kmb{"kimbunduisht"}
        kn{"kanadisht"}
        ko{"koreanisht"}
        koi{"komi-parmjakisht"}
        kok{"konkanisht"}
        kpe{"kpeleisht"}
        kr{"kanurisht"}
        krc{"karaçaj-balkarisht"}
        krl{"karelianisht"}
        kru{"kurukisht"}
        ks{"kashmirisht"}
        ksb{"shambalisht"}
        ksf{"bafianisht"}
        ksh{"këlnisht"}
        ku{"kurdisht"}
        kum{"kumikisht"}
        kv{"komisht"}
        kw{"kornisht"}
        ky{"kirgizisht"}
        la{"latinisht"}
        lad{"ladinoisht"}
        lag{"langisht"}
        lb{"luksemburgisht"}
        lez{"lezgianisht"}
        lg{"gandaisht"}
        li{"limburgisht"}
        lkt{"lakotisht"}
        ln{"lingalisht"}
        lo{"laosisht"}
        loz{"lozisht"}
        lrc{"lurishte veriore"}
        lt{"lituanisht"}
        lu{"luba-katangaisht"}
        lua{"luba-luluaisht"}
        lun{"lundaisht"}
        luo{"luoisht"}
        lus{"mizoisht"}
        luy{"lujaisht"}
        lv{"letonisht"}
        mad{"madurezisht"}
        mag{"magaisht"}
        mai{"maitilisht"}
        mak{"makasarisht"}
        mas{"masaisht"}
        mdf{"mokshaisht"}
        men{"mendisht"}
        mer{"meruisht"}
        mfe{"morisjenisht"}
        mg{"madagaskarisht"}
        mgh{"makua-mitoisht"}
        mgo{"metaisht"}
        mh{"marshallisht"}
        mi{"maorisht"}
        mic{"mikmakisht"}
        min{"minangkabauisht"}
        mk{"maqedonisht"}
        ml{"malajalamisht"}
        mn{"mongolisht"}
        mni{"manipurisht"}
        moh{"mohokisht"}
        mos{"mosisht"}
        mr{"maratisht"}
        ms{"malajisht"}
        mt{"maltisht"}
        mua{"mundangisht"}
        mul{"gjuhë të shumëfishta"}
        mus{"krikisht"}
        mwl{"mirandisht"}
        my{"birmanisht"}
        myv{"erzjaisht"}
        mzn{"mazanderanisht"}
        na{"nauruisht"}
        nap{"napoletanisht"}
        naq{"namaisht"}
        nb{"norvegjishte letrare"}
        nd{"ndebelishte veriore"}
        nds{"gjermanishte e vendeve të ulëta"}
        nds_NL{"gjermanishte saksone e vendeve të ulëta"}
        ne{"nepalisht"}
        new{"neuarisht"}
        ng{"ndongaisht"}
        nia{"niasisht"}
        niu{"niueanisht"}
        nl{"holandisht"}
        nl_BE{"flamandisht"}
        nmg{"kuasisht"}
        nn{"norvegjishte nynorsk"}
        nnh{"ngiembunisht"}
        no{"norvegjisht"}
        nog{"nogajisht"}
        nqo{"nkoisht"}
        nr{"ndebelishte jugore"}
        nso{"sotoishte veriore"}
        nus{"nuerisht"}
        nv{"navahoisht"}
        ny{"nianjisht"}
        nyn{"niankolisht"}
        oc{"oksitanisht"}
        om{"oromoisht"}
        or{"odisht"}
        os{"osetisht"}
        pa{"punxhabisht"}
        pag{"pangasinanisht"}
        pam{"pampangaisht"}
        pap{"papiamentisht"}
        pau{"paluanisht"}
        pcm{"pixhinishte nigeriane"}
        pl{"polonisht"}
        prg{"prusisht"}
        ps{"pashtoisht"}
        pt{"portugalisht"}
        pt_BR{"portugalishte braziliane"}
        pt_PT{"portugalishte evropiane"}
        qu{"keçuaisht"}
        quc{"kiçeisht"}
        rap{"rapanuisht"}
        rar{"rarontonganisht"}
        rm{"retoromanisht"}
        rn{"rundisht"}
        ro{"rumanisht"}
        ro_MD{"moldavisht"}
        rof{"romboisht"}
        root{"rutisht"}
        ru{"rusisht"}
        rup{"vllahisht"}
        rw{"kiniaruandisht"}
        rwk{"ruaisht"}
        sa{"sanskritisht"}
        sad{"sandauisht"}
        sah{"sakaisht"}
        saq{"samburisht"}
        sat{"santalisht"}
        sba{"ngambajisht"}
        sbp{"sanguisht"}
        sc{"sardenjisht"}
        scn{"siçilianisht"}
        sco{"skotisht"}
        sd{"sindisht"}
        sdh{"kurdishte jugore"}
        se{"samishte veriore"}
        seh{"senaisht"}
        ses{"senishte kojrabore"}
        sg{"sangoisht"}
        sh{"serbo-kroatisht"}
        shi{"taçelitisht"}
        shn{"shanisht"}
        si{"sinhalisht"}
        sk{"sllovakisht"}
        sl{"sllovenisht"}
        sm{"samoanisht"}
        sma{"samishte jugore"}
        smj{"samishte lule"}
        smn{"samishte inari"}
        sms{"samishte skolti"}
        sn{"shonisht"}
        snk{"soninkisht"}
        so{"somalisht"}
        sq{"shqip"}
        sr{"serbisht"}
        srn{"srananisht (sranantongoisht)"}
        ss{"suatisht"}
        ssy{"sahoisht"}
        st{"sotoishte jugore"}
        su{"sundanisht"}
        suk{"sukumaisht"}
        sv{"suedisht"}
        sw{"suahilisht"}
        sw_CD{"suahilishte kongoleze"}
        swb{"kamorianisht"}
        syr{"siriakisht"}
        ta{"tamilisht"}
        te{"teluguisht"}
        tem{"timneisht"}
        teo{"tesoisht"}
        tet{"tetumisht"}
        tg{"taxhikisht"}
        th{"tajlandisht"}
        ti{"tigrinjaisht"}
        tig{"tigreisht"}
        tk{"turkmenisht"}
        tlh{"klingonisht"}
        tn{"cuanaisht"}
        to{"tonganisht"}
        tpi{"pisinishte toku"}
        tr{"turqisht"}
        trv{"torokoisht"}
        ts{"congaisht"}
        tt{"tatarisht"}
        tum{"tumbukaisht"}
        tvl{"tuvaluisht"}
        tw{"tuisht"}
        twq{"tasavakisht"}
        ty{"tahitisht"}
        tyv{"tuvinianisht"}
        tzm{"tamazajtisht e Atlasit Qendror"}
        udm{"udmurtisht"}
        ug{"ujgurisht"}
        uk{"ukrainisht"}
        umb{"umbunduisht"}
        und{"E panjohur"}
        ur{"urduisht"}
        uz{"uzbekisht"}
        vai{"vaisht"}
        ve{"vendaisht"}
        vi{"vietnamisht"}
        vo{"volapykisht"}
        vun{"vunxhoisht"}
        wa{"ualunisht"}
        wae{"ualserisht"}
        wal{"ulajtaisht"}
        war{"uarajisht"}
        wbp{"uarlpirisht"}
        wo{"uolofisht"}
        xal{"kalmikisht"}
        xh{"xhosaisht"}
        xog{"sogisht"}
        yav{"jangbenisht"}
        ybb{"jembaisht"}
        yi{"jidisht"}
        yo{"jorubaisht"}
        yue{"kantonezisht"}
        zgh{"tamaziatishte standarde marokene"}
        zh{"kinezisht"}
        zh_Hans{"kinezishte e thjeshtuar"}
        zh_Hant{"kinezishte tradicionale"}
        zu{"zuluisht"}
        zun{"zunisht"}
        zxx{"nuk ka përmbajtje gjuhësore"}
        zza{"zazaisht"}
    }
    Languages%short{
        az{"azerisht"}
        en_GB{"anglishte e Mbretërisë së Bashkuar"}
        en_US{"anglishte e SHBA-së"}
    }
    Scripts{
        Arab{"arabik"}
        Armn{"armen"}
        Beng{"bengal"}
        Bopo{"bopomof"}
        Brai{"brailisht"}
        Cyrl{"cirilik"}
        Deva{"devanagar"}
        Ethi{"etiopik"}
        Geor{"gjeorgjian"}
        Grek{"grek"}
        Gujr{"guxharat"}
        Guru{"gurmuk"}
        Hanb{"hanbik"}
        Hang{"hangul"}
        Hani{"han"}
        Hans{"i thjeshtuar"}
        Hant{"tradicional"}
        Hebr{"hebraik"}
        Hira{"hiragan"}
        Hrkt{"alfabet rrokjesor japonez"}
        Jamo{"jamosisht"}
        Jpan{"japonez"}
        Kana{"katakan"}
        Khmr{"kmer"}
        Knda{"kanad"}
        Kore{"korean"}
        Laoo{"laosisht"}
        Latn{"latin"}
        Mlym{"malajalam"}
        Mong{"mongol"}
        Mymr{"birman"}
        Orya{"orija"}
        Sinh{"sinhal"}
        Taml{"tamil"}
        Telu{"telug"}
        Thaa{"tanisht"}
        Thai{"tajlandez"}
        Tibt{"tibetisht"}
        Zmth{"simbole matematikore"}
        Zsye{"emoji"}
        Zsym{"me simbole"}
        Zxxx{"i pashkruar"}
        Zyyy{"i zakonshëm"}
        Zzzz{"i panjohur"}
    }
    Scripts%stand-alone{
        Hans{"han i thjeshtuar"}
        Hant{"han tradicional"}
    }
    Types{
        calendar{
            buddhist{"kalendar budist"}
            chinese{"kalendar kinez"}
            coptic{"Kalendari Koptik"}
            dangi{"kalendar dangi"}
            ethiopic{"kalendar etiopian"}
            ethiopic-amete-alem{"Kalendari Etiopas Amete Alem"}
            gregorian{"kalendar gregorian"}
            hebrew{"kalendar hebraik"}
            indian{"Kalendari Kombëtar Indian"}
            islamic{"kalendar islamik"}
            islamic-civil{"Kalendari Islamik (tabelor, periudha civile)"}
            islamic-tbla{"Kalendari Islamik (tabelor, epoka austromikale)"}
            islamic-umalqura{"Kalendari Islamik (Um al-Qura)"}
            iso8601{"kalendar ISO-8601"}
            japanese{"kalendar japonez"}
            persian{"kalendar persian"}
            roc{"kalendar minguo (i Republikës së Kinës)"}
        }
        cf{
            account{"format valutor llogaritës"}
            standard{"format valutor standard"}
        }
        collation{
            big5han{"Radhitje e kinezishtes tradicionale - Big5"}
            dictionary{"Radhitje fjalori"}
            ducet{"radhitje unikode e parazgjedhur"}
            gb2312han{"Radhitje e kinezishtes së thjeshtësuar - GB2312"}
            phonebook{"Radhitje libri telefonik"}
            pinyin{"Radhitje pinini"}
            reformed{"Radhitje e reformuar"}
            search{"kërkim i përgjithshëm"}
            standard{"radhitje standarde"}
        }
        hc{
            h11{"sistem 12-orësh (0 - 11)"}
            h12{"sistem 12-orësh (1 - 12)"}
            h23{"sistem 24-orësh (0 - 23)"}
            h24{"sistem 24-orësh (1 - 24)"}
        }
        lb{
            loose{"stil i gjerësisë së rreshtave - i larguar"}
            normal{"stil i gjerësisë së rreshtave - normal"}
            strict{"stil i gjerësisë së rreshtave - i ngushtuar"}
        }
        ms{
            metric{"sistem metrik"}
            uksystem{"sistem imperial (britanik) i njësive matëse"}
            ussystem{"sistem amerikan i njësive matëse"}
        }
        numbers{
            arab{"shifra indo-arabe"}
            arabext{"shifra indo-arabe të zgjatura"}
            armn{"numra armenë"}
            armnlow{"numra armenë të vegjël"}
            beng{"shifra bengali"}
            deva{"shifra devanagari"}
            ethi{"numra etiopianë"}
            fullwide{"shifra me largësi të brendshme"}
            geor{"numra gjeorgjianë"}
            grek{"numra grekë"}
            greklow{"numra grekë të vegjël"}
            gujr{"shifra guxharati"}
            guru{"shifra gurmuki"}
            hanidec{"numra dhjetorë kinezë"}
            hans{"numra të kinezishtes së thjeshtuar"}
            hansfin{"numra financiarë të kinezishtes së thjeshtuar"}
            hant{"numra të kinezishtes tradicionale"}
            hantfin{"numra financiarë të kinezishtes tradicionale"}
            hebr{"numra hebraikë"}
            jpan{"numra japonezë"}
            jpanfin{"numra financiarë japonezë"}
            khmr{"shifra kmere"}
            knda{"shifra kanade"}
            laoo{"shifra lao"}
            latn{"shifra latino-perëndimore"}
            mlym{"shifra malajalame"}
            mymr{"shifra mianmari"}
            orya{"shifra orije"}
            roman{"numra romakë"}
            romanlow{"numra romakë të vegjël"}
            taml{"numra tamilë tradicionalë"}
            tamldec{"shifra tamile"}
            telu{"shifra teluguje"}
            thai{"shifra tajlandeze"}
            tibt{"shifra tibetiane"}
        }
    }
    Version{"2.1.48.42"}
    characterLabelPattern{
        all{"{0} — Të gjitha"}
        category-list{"{0}: {1}"}
        compatibility{"{0} — Të përputhshme"}
        enclosed{"{0} — Të mbyllura"}
        extended{"{0} — Të shtuara"}
        historic{"{0} — Historike"}
        miscellaneous{"{0} — Të ndryshme"}
        other{"{0} — Tjetër"}
        scripts{"Shkrimet — {0}"}
        strokes{
            one{"{0} vijëzim drejtshkrimor"}
            other{"{0} vijëzime drejtshkrimore"}
        }
    }
    codePatterns{
        language{"Gjuha: {0}"}
        script{"Skripti: {0}"}
        territory{"Rajoni: {0}"}
    }
    localeDisplayPattern{
        keyTypePattern{"{0}: {1}"}
        pattern{"{0} ({1})"}
        separator{"{0}, {1}"}
    }
}
