﻿// ***************************************************************************
// *
// * Copyright (C) 2016 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/ga.xml
// *
// ***************************************************************************
ga{
    Keys{
        calendar{"Féilire"}
        collation{"Ord Sórtála"}
        currency{"Airgeadra"}
        hc{"Timthriall Uaire (12 vs 24)"}
        lb{"Stíl Briseadh Líne"}
        ms{"Córas Tomhais"}
        numbers{"Uimhreacha"}
    }
    Languages{
        aa{"Afáiris"}
        ab{"Abcáisis"}
        ae{"Aivéistis"}
        af{"Afracáinis"}
        ain{"Aidhniúis"}
        ak{"Acáinis"}
        akk{"Acáidis"}
        am{"Amáiris"}
        an{"Aragóinis"}
        ang{"Sean-Bhéarla"}
        ar{"Araibis"}
        ar_001{"Araibis Chaighdeánach"}
        arc{"Aramais"}
        arn{"Mapúitsis"}
        as{"Asaimis"}
        ast{"Astúiris"}
        av{"Aváiris"}
        ay{"Aidhmiris"}
        az{"Asarbaiseáinis"}
        ba{"Baiscíris"}
        ban{"Bailís"}
        bar{"Baváiris"}
        be{"Bealarúisis"}
        bem{"Beimbis"}
        bg{"Bulgáiris"}
        bi{"Bioslaimis"}
        bn{"Beangáilis"}
        bo{"Tibéidis"}
        br{"Briotáinis"}
        bs{"Boisnis"}
        bua{"Buiriáitis"}
        bug{"Buiginis"}
        ca{"Catalóinis"}
        ce{"Seisnis"}
        ceb{"Seabúáinis"}
        ch{"Seamóiris"}
        chm{"Mairis"}
        chr{"Seiricis"}
        co{"Corsaicis"}
        cop{"Coptais"}
        cr{"Craís"}
        cs{"Seicis"}
        csb{"Caisiúibis"}
        cu{"Slavais na hEaglaise"}
        cv{"Suvaisis"}
        cy{"Breatnais"}
        da{"Danmhairgis"}
        de{"Gearmáinis"}
        de_AT{"Gearmáinis Ostarach"}
        de_CH{"Ard-Ghearmáinis Eilvéiseach"}
        dje{"Zarmais"}
        dsb{"Sorbais Íochtarach"}
        dum{"Meán-Ollainnis"}
        dv{"Divéihis"}
        dz{"Seoinicis"}
        egy{"Sean-Éigiptis"}
        el{"Gréigis"}
        en{"Béarla"}
        en_AU{"Béarla Astrálach"}
        en_CA{"Béarla Ceanadach"}
        en_GB{"Béarla Briotanach"}
        en_US{"Béarla Meiriceánach"}
        enm{"Meán-Bhéarla"}
        eo{"Esperanto"}
        es{"Spáinnis"}
        es_419{"Spáinnis Mheiriceá Laidinigh"}
        es_ES{"Spáinnis Eorpach"}
        es_MX{"Spáinnis Mheicsiceach"}
        et{"Eastóinis"}
        eu{"Bascais"}
        fa{"Peirsis"}
        ff{"Fuláinis"}
        fi{"Fionlainnis"}
        fil{"Filipínis"}
        fj{"Fidsis"}
        fo{"Faróis"}
        fr{"Fraincis"}
        fr_CA{"Fraincis Cheanadach"}
        fr_CH{"Fraincis Eilvéiseach"}
        frm{"Meán-Fhraincis"}
        fro{"Sean-Fhraincis"}
        frr{"Freaslainnis an Tuaiscirt"}
        fur{"Friúilis"}
        fy{"Freaslainnis Iartharach"}
        ga{"Gaeilge"}
        gd{"Gaeilge na hAlban"}
        gez{"Aetóipis"}
        gl{"Gailísis"}
        gmh{"Meán-Ard-Ghearmáinis"}
        gn{"Guaráinis"}
        goh{"Sean-Ard-Ghearmáinis"}
        grc{"Sean-Ghréigis"}
        gsw{"Gearmáinis Eilvéiseach"}
        gu{"Gúisearáitis"}
        guc{"Uaúis"}
        gv{"Manainnis"}
        ha{"Hásais"}
        hak{"Haicéis"}
        haw{"Haváis"}
        he{"Eabhrais"}
        hi{"Hiondúis"}
        hif{"Hiondúis Fhidsí"}
        hil{"Hilgeanóinis"}
        hit{"Hitis"}
        hmn{"Mongais"}
        ho{"Motúis Hírí"}
        hr{"Cróitis"}
        hsb{"Sorbais Uachtarach"}
        ht{"Criól Háítíoch"}
        hu{"Ungáiris"}
        hup{"Húipis"}
        hy{"Airméinis"}
        hz{"Heiréiris"}
        ia{"Interlingua"}
        ibb{"Ibibis"}
        id{"Indinéisis"}
        ie{"Interlingue"}
        ig{"Íogbóis"}
        ik{"Iniúipiaicis"}
        inh{"Iongúis"}
        io{"Ido"}
        is{"Íoslainnis"}
        it{"Iodáilis"}
        iu{"Ionúitis"}
        ja{"Seapáinis"}
        jut{"Iútlainnis"}
        jv{"Iáivis"}
        ka{"Seoirsis"}
        kaa{"Cara-Chalpáis"}
        kg{"Congóis"}
        ki{"Ciocúis"}
        kj{"Cuainiáimis"}
        kk{"Casaicis"}
        kl{"Kalaallisut"}
        km{"Ciméiris"}
        kn{"Cannadais"}
        ko{"Cóiréis"}
        kok{"Concáinis"}
        kr{"Canúiris"}
        krl{"Cairéilis"}
        kru{"Curúicis"}
        ks{"Caismíris"}
        ku{"Coirdis"}
        kv{"Coimis"}
        kw{"Coirnis"}
        ky{"Cirgisis"}
        la{"Laidin"}
        lad{"Laidínis"}
        lah{"Puinseáibis Iartharach"}
        lb{"Lucsambuirgis"}
        lg{"Lugandais"}
        lij{"Liogúiris"}
        liv{"Liovóinis"}
        lmo{"Lombairdis"}
        ln{"Liongáilis"}
        lo{"Laoisis"}
        lt{"Liotuáinis"}
        lu{"Lúba-Cataingis"}
        lv{"Laitvis"}
        men{"Meindis"}
        mg{"Malagáisis"}
        mga{"Meán-Ghaeilge"}
        mh{"Mairsillis"}
        mi{"Maorais"}
        mk{"Macadóinis"}
        ml{"Mailéalaimis"}
        mn{"Mongóilis"}
        mni{"Manapúiris"}
        moh{"Móháicis"}
        mr{"Maraitis"}
        mrj{"Mairis Iartharach"}
        ms{"Malaeis"}
        mt{"Máltais"}
        mwl{"Mioraindéis"}
        mwr{"Marmhairis"}
        my{"Burmais"}
        na{"Nárúis"}
        nb{"Ioruais Bokmål"}
        nd{"Ndeibéilis an Tuaiscirt"}
        nds{"Gearmáinis Íochtarach"}
        nds_NL{"Sacsainis Íochtarach"}
        ne{"Neipeailis"}
        ng{"Ndongais"}
        niu{"Níobhais"}
        nl{"Ollainnis"}
        nl_BE{"Pléimeannais"}
        nn{"Nua-Ioruais"}
        no{"Ioruais"}
        non{"Sean-Lochlainnis"}
        nr{"Ndeibéilis an Deiscirt"}
        nso{"Sútúis an Tuaiscirt"}
        nv{"Navachóis"}
        ny{"Siséivis"}
        oc{"Ocsatáinis"}
        oj{"Óisibis"}
        om{"Oraimis"}
        or{"Oirísis"}
        os{"Oiséitis"}
        pa{"Puinseáibis"}
        peo{"Sean-Pheirsis"}
        pi{"Páilis"}
        pl{"Polainnis"}
        prg{"Prúisis"}
        ps{"Paistis"}
        pt{"Portaingéilis"}
        pt_BR{"Portaingéilis na Brasaíle"}
        pt_PT{"Portaingéilis Ibéarach"}
        qu{"Ceatsuais"}
        rm{"Rómainis"}
        rn{"Rúindis"}
        ro{"Rómáinis"}
        ro_MD{"Moldáivis"}
        rom{"Romainis"}
        ru{"Rúisis"}
        rup{"Arómáinis"}
        rw{"Ciniaruaindis"}
        sa{"Sanscrait"}
        sah{"Sachais"}
        sam{"Aramais Shamárach"}
        sat{"Santáilis"}
        sc{"Sairdínis"}
        scn{"Sicilis"}
        sco{"Albainis"}
        sd{"Sindis"}
        se{"Sáimis Thuaidh"}
        sg{"Sangóis"}
        sga{"Sean-Ghaeilge"}
        sh{"Seirbea-Chróitis"}
        si{"Siolóinis"}
        sk{"Slóvaicis"}
        sl{"Slóivéinis"}
        sm{"Samóis"}
        smj{"Sáimis Lule"}
        sn{"Seoinis"}
        so{"Somáilis"}
        sog{"Sogdánais"}
        sq{"Albáinis"}
        sr{"Seirbis"}
        ss{"Suaisis"}
        st{"Seasóitis"}
        su{"Sundais"}
        sux{"Suiméiris"}
        sv{"Sualainnis"}
        sw{"Svahaílis"}
        sw_CD{"Svahaílis an Chongó"}
        syr{"Siricis"}
        szl{"Siléisis"}
        ta{"Tamailis"}
        te{"Teileagúis"}
        tg{"Táidsícis"}
        th{"Téalainnis"}
        ti{"Tigrinis"}
        tk{"Tuircméinis"}
        tl{"Tagálaigis"}
        tlh{"Klingon"}
        tn{"Suáinis"}
        to{"Tongais"}
        tr{"Tuircis"}
        ts{"Songais"}
        tt{"Tatairis"}
        tw{"Tíbhis"}
        ty{"Taihítis"}
        udm{"Udmairtis"}
        ug{"Uigiúiris"}
        uk{"Úcráinis"}
        und{"Teanga Anaithnid"}
        ur{"Urdúis"}
        uz{"Úisbéiceastáinis"}
        ve{"Veindis"}
        vec{"Veinéisis"}
        vi{"Vítneaimis"}
        vls{"Pléimeannais Iartharach"}
        vo{"Volapük"}
        wa{"Vallúnais"}
        wo{"Volaifis"}
        xal{"Cailmícis"}
        xh{"Cóisis"}
        yi{"Giúdais"}
        yo{"Iarúibis"}
        yue{"Cantainis"}
        za{"Siuáingis"}
        zea{"Séalainnis"}
        zh{"Sínis"}
        zh_Hans{"Sínis Shimplithe"}
        zh_Hant{"Sínis Thraidisiúnta"}
        zu{"Súlúis"}
        zun{"Zúinis"}
        zxx{"Gan ábhar teangeolaíoch"}
    }
    Languages%short{
        az{"Asairis"}
        en_GB{"Béarla na R.A."}
        en_US{"Béarla S.A.M."}
    }
    Scripts{
        Arab{"Arabach"}
        Armn{"Airméanach"}
        Avst{"Aivéisteach"}
        Bali{"Bailíoch"}
        Batk{"Batacach"}
        Beng{"Beangálach"}
        Bopo{"Bopomofo"}
        Brai{"Braille"}
        Bugi{"Buigineach"}
        Buhd{"Buthaideach"}
        Cher{"Seiricíoch"}
        Copt{"Coptach"}
        Cprt{"Cipireach"}
        Cyrl{"Coireallach"}
        Deva{"Déiveanágrach"}
        Egyd{"Éigipteach coiteann"}
        Egyh{"Éigipteach cliarúil"}
        Egyp{"Iairiglifí Éigipteacha"}
        Ethi{"Aetópach"}
        Geor{"Seoirseach"}
        Glag{"Glagalach"}
        Goth{"Gotach"}
        Grek{"Gréagach"}
        Gujr{"Gúisearátach"}
        Guru{"Gurmúcach"}
        Hang{"Hangalach"}
        Hani{"Han"}
        Hans{"Simplithe"}
        Hant{"Traidisiúnta"}
        Hebr{"Eabhrach"}
        Hira{"Hireagánach"}
        Hluw{"Iairiglifí Anatólacha"}
        Hrkt{"Siollabraí Seapánacha"}
        Hung{"Sean-Ungárach"}
        Ital{"Sean-Iodáilic"}
        Java{"Iávach"}
        Jpan{"Seapánach"}
        Kana{"Catacánach"}
        Khmr{"Ciméarach"}
        Knda{"Cannadach"}
        Kore{"Cóiréach"}
        Laoo{"Laosach"}
        Latg{"Cló Gaelach"}
        Latn{"Laidineach"}
        Limb{"Liombúch"}
        Lina{"Líneach A"}
        Linb{"Líneach B"}
        Lisu{"Fraser"}
        Lyci{"Liciach"}
        Lydi{"Lidiach"}
        Mahj{"Mahasánach"}
        Mani{"Mainicéasach"}
        Maya{"Iairiglifí Máigheacha"}
        Mend{"Meindeach"}
        Mlym{"Mailéalamach"}
        Mong{"Mongólach"}
        Mymr{"Maenmarach"}
        Ogam{"Ogham"}
        Orya{"Oiríseach"}
        Perm{"Sean-Pheirmeach"}
        Phnx{"Féiníceach"}
        Runr{"Rúnach"}
        Samr{"Samárach"}
        Shaw{"Shawach"}
        Sinh{"Siolónach"}
        Syrc{"Siriceach"}
        Taml{"Tamalach"}
        Telu{"Teileagúch"}
        Tfng{"Tifinagh"}
        Tglg{"Tagálagach"}
        Thaa{"Tánach"}
        Thai{"Téalannach"}
        Tibt{"Tibéadach"}
        Xpeo{"Sean-Pheirseach"}
        Xsux{"Dingchruthach Suiméar-Acádach"}
        Zmth{"Nodaireacht Mhatamaiticiúil"}
        Zsym{"Siombailí"}
        Zxxx{"Gan Scríobh"}
        Zyyy{"Coitianta"}
        Zzzz{"Script Anaithnid"}
    }
    Scripts%stand-alone{
        Hans{"Han Simplithe"}
        Hant{"Han Traidisiúnta"}
    }
    Types{
        calendar{
            buddhist{"Féilire Búdaíoch"}
            chinese{"Féilire Síneach"}
            coptic{"Féilire Coptach"}
            dangi{"Féilire Dangi"}
            ethiopic{"Féilire Aetóipice"}
            gregorian{"Féilire Ghréagóra"}
            hebrew{"Féilire na nEabhrach"}
            islamic{"Féilire Ioslámach"}
            iso8601{"Féilire ISO-8601"}
            japanese{"Féilire Seapánach"}
            persian{"Féilire Peirseach"}
            roc{"Féilire Téavánach"}
        }
        collation{
            ducet{"Ord Réamhshocraithe Sórtála Unicode"}
            search{"Cuardach Ilfhóinteach"}
            standard{"Ord Caighdeánach Sórtála"}
        }
        hc{
            h11{"Córas 12 Uair (0–11)"}
            h12{"Córas 12 Uair (1–12)"}
            h23{"Córas 24 Uair (0–23)"}
            h24{"Córas 24 Uair (1–24)"}
        }
        lb{
            loose{"Stíl Briseadh Líne Scaoilte"}
            normal{"Stíl Gnáthbhriseadh Líne"}
            strict{"Stíl Briseadh Líne Docht"}
        }
        ms{
            metric{"Córas Méadrach"}
            uksystem{"Córas Impiriúil Tomhais"}
            ussystem{"Córas SAM Tomhais"}
        }
        numbers{
            arab{"Digití Ind-Arabacha"}
            arabext{"Digití Ind-Arabacha Breisithe"}
            armn{"Uimhreacha Airméanacha"}
            bali{"Digití Bailíocha"}
            beng{"Digití Beangálacha"}
            deva{"Digití Déiveanágracha"}
            ethi{"Uimhreacha Aetóipice"}
            fullwide{"Digití Lánleithid"}
            geor{"Uimhreacha Seoirseacha"}
            grek{"Uimhreacha Gréagacha"}
            gujr{"Digití Gúisearátacha"}
            guru{"Digití Gurmúcacha"}
            hanidec{"Uimhreacha Deachúlacha Síneacha"}
            hebr{"Uimhreacha Eabhracha"}
            java{"Digití Iávacha"}
            jpan{"Uimhreacha Seapánacha"}
            khmr{"Digití Ciméaracha"}
            knda{"Digití Cannadacha"}
            laoo{"Digití Laosacha"}
            latn{"Digití Iartharacha"}
            mlym{"Digití Mailéalamacha"}
            mymr{"Digití Maenmaracha"}
            orya{"Digití Oiríseacha"}
            roman{"Uimhreacha Rómhánacha"}
            taml{"Uimhreacha Traidisiúnta Tamalacha"}
            tamldec{"Digití Tamalacha"}
            telu{"Digití Teileagúcha"}
            thai{"Digití Téalannacha"}
            tibt{"Digití Tibéadacha"}
        }
    }
    Variants{
        1959ACAD{"Acadúil"}
        ALALC97{"Rómhánú ALA-LC, eagrán 1997"}
        HEPBURN{"Rómhánú Hepburn"}
        PINYIN{"Rómhánú Pinyin"}
        POSIX{"Ríomhaire"}
        ULSTER{"Cúige Uladh"}
        VALENCIA{"Vaileinsis"}
        WADEGILE{"Rómhánú Wade-Giles"}
    }
    Version{"2.1.22.93"}
    codePatterns{
        language{"Teanga: {0}"}
        script{"Script: {0}"}
        territory{"Réigiún: {0}"}
    }
    localeDisplayPattern{
        keyTypePattern{"{0}: {1}"}
        pattern{"{0} ({1})"}
        separator{"{0}, {1}"}
    }
}
