﻿// ***************************************************************************
// *
// * Copyright (C) 2013 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/ga.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/ga.xml
 */
ga{
    Countries{
        001{"An Domhan"}
        002{"An Afraic"}
        009{"An Aigéine"}
        013{"Meiriceá Láir"}
        017{"An Afraic Láir"}
        019{"Na Meiriceánna"}
        053{"An Astráil agus an Nua-Shéalainn"}
        054{"An Mheilinéis"}
        057{"An Réigiún Micrinéiseach"}
        061{"An Pholainéis"}
        142{"An Áise"}
        143{"An Áise Láir"}
        150{"An Eoraip"}
        419{"Meiriceá Laidineach agus an Mhuir Chairib"}
        AD{"Andóra"}
        AE{"Aontas na nÉimíríochtaí Arabacha"}
        AF{"An Afganastáin"}
        AG{"Aintíge agus Barbúda"}
        AI{"Anguilla"}
        AL{"An Albáin"}
        AM{"An Airméin"}
        AN{"Antillí na hÍsiltíre"}
        AO{"Angóla"}
        AQ{"An Antartaice"}
        AR{"An Airgintín"}
        AS{"Samó Meiriceánach"}
        AT{"An Ostair"}
        AU{"An Astráil"}
        AW{"Arúba"}
        AX{"Oileáin Alaind"}
        AZ{"An Asarbaiseáin"}
        BA{"An Bhoisnia agus Heirseagóvéin"}
        BB{"Barbadós"}
        BD{"An Bhanglaidéis"}
        BE{"An Bheilg"}
        BF{"Buircíne Fasó"}
        BG{"An Bhulgáir"}
        BH{"Bairéin"}
        BI{"An Bhurúin"}
        BJ{"Beinin"}
        BM{"Beirmiúda"}
        BN{"Brúiné"}
        BO{"An Bholaiv"}
        BR{"An Bhrasaíl"}
        BS{"Na Bahámaí"}
        BT{"An Bhútáin"}
        BV{"Oileán Bouvet"}
        BW{"An Bhotsuáin"}
        BY{"An Bhealarúis"}
        BZ{"An Bheilís"}
        CA{"Ceanada"}
        CC{"Oileáin na gCócónna"}
        CD{"Poblacht Dhaonlathach an Chongó"}
        CF{"Poblacht na hAfraice Láir"}
        CG{"An Congó"}
        CH{"An Eilvéis"}
        CI{"An Cósta Eabhair"}
        CK{"Oileáin Cook"}
        CL{"An tSile"}
        CM{"Camarún"}
        CN{"An tSín"}
        CO{"An Cholóim"}
        CR{"Cósta Ríce"}
        CU{"Cúba"}
        CV{"An Rinn Ghlas"}
        CX{"Oileán na Nollag"}
        CY{"An Chipir"}
        CZ{"Poblacht na Seice"}
        DE{"An Ghearmáin"}
        DJ{"Djibouti"}
        DK{"An Danmhairg"}
        DM{"Doiminice"}
        DO{"An Phoblacht Dhoiminiceach"}
        DZ{"An Ailgéir"}
        EC{"Eacuadór"}
        EE{"An Eastóin"}
        EG{"An Éigipt"}
        EH{"An Sahára Thiar"}
        ER{"An Eiritré"}
        ES{"An Spáinn"}
        ET{"An Aetóip"}
        EU{"An tAontas Eorpach"}
        FI{"An Fhionlainn"}
        FJ{"Fidsí"}
        FK{"Oileáin Fháclainne"}
        FM{"An Mhicrinéis"}
        FO{"Oileáin Fharó"}
        FR{"An Fhrainc"}
        GA{"An Ghabúin"}
        GB{"An Ríocht Aontaithe"}
        GD{"Grenada"}
        GE{"An tSeoirsia"}
        GF{"An Ghuáin Fhrancach"}
        GG{"Geansaí"}
        GH{"Gána"}
        GI{"Giobráltar"}
        GL{"An Ghraonlainn"}
        GM{"An Ghaimbia"}
        GN{"An Ghuine"}
        GP{"Guadalúip"}
        GQ{"An Ghuine Mheánchriosach"}
        GR{"An Ghréig"}
        GS{"An tSeoirsia Theas agus Oileáin Sandwich Theas"}
        GT{"Guatamala"}
        GU{"Guam"}
        GW{"An Ghuine-Bhissau"}
        GY{"An Ghuáin"}
        HK{"R.R.S. na Síne Hong Cong"}
        HM{"Oileán Heard agus Oileáin McDonald"}
        HN{"Hondúras"}
        HR{"An Chróit"}
        HT{"Háití"}
        HU{"An Ungáir"}
        ID{"An Indinéis"}
        IE{"Éire"}
        IL{"Iosrael"}
        IM{"Oileán Mhanann"}
        IN{"An India"}
        IO{"Críocha Briotanacha an Aigéin Indiagh"}
        IQ{"An Iaráic"}
        IR{"An Iaráin"}
        IS{"An Íoslainn"}
        IT{"An Iodáil"}
        JE{"Geirsí"}
        JM{"Iamáice"}
        JO{"An Iordáin"}
        JP{"An tSeapáin"}
        KE{"An Chéinia"}
        KG{"An Chirgeastáin"}
        KH{"An Chambóid"}
        KI{"Ciribeas"}
        KM{"Oileáin Chomóra"}
        KN{"Saint Kitts agus Nevis"}
        KP{"An Chóiré Thuaidh"}
        KR{"An Chóiré Theas"}
        KW{"Cuáit"}
        KY{"Oileáin na gCadhman"}
        KZ{"An Chasacstáin"}
        LA{"Laos"}
        LB{"An Liobáin"}
        LC{"San Lúisia"}
        LI{"Lichtinstéin"}
        LK{"Srí Lanca"}
        LR{"An Libéir"}
        LS{"Leosóta"}
        LT{"An Liotuáin"}
        LU{"Lucsamburg"}
        LV{"An Laitvia"}
        LY{"An Libia"}
        MA{"Maracó"}
        MC{"Monacó"}
        MD{"An Mholdóiv"}
        ME{"Montainéagró"}
        MG{"Madagascar"}
        MH{"Oileáin Marshall"}
        MK{"An Mhacadóin"}
        ML{"Mailí"}
        MM{"Maenmar"}
        MN{"An Mhongóil"}
        MO{"R.R.S. na Síne Macáó"}
        MP{"Oileáin Mariana Thuaidh"}
        MQ{"Martainíc"}
        MR{"An Mharatáin"}
        MS{"Montsarat"}
        MT{"Málta"}
        MU{"Oileán Mhuirís"}
        MV{"Na Maildiví"}
        MW{"An Mhaláiv"}
        MX{"Meicsiceo"}
        MY{"An Mhalaeisia"}
        MZ{"Mósaimbíc"}
        NA{"An Namaib"}
        NC{"An Nua-Chaladóin"}
        NE{"An Nígir"}
        NF{"Oileán Norfolk"}
        NG{"An Nigéir"}
        NI{"Nicearagua"}
        NL{"An Ísiltír"}
        NO{"An Iorua"}
        NP{"Neipeal"}
        NR{"Nárú"}
        NU{"Nívé"}
        NZ{"An Nua-Shéalainn"}
        OM{"Óman"}
        PA{"Panama"}
        PE{"Peiriú"}
        PF{"An Pholainéis Fhrancach"}
        PG{"Nua-Ghuine Phapua"}
        PH{"Na hOileáin Fhilipíneacha"}
        PK{"An Phacastáin"}
        PL{"An Pholainn"}
        PM{"Saint Pierre agus Miquelon"}
        PN{"Pitcairn"}
        PR{"Portó Ríce"}
        PS{"Na Críocha Pailistíneacha"}
        PT{"An Phortaingéil"}
        PW{"Palau"}
        PY{"Paragua"}
        QA{"Catar"}
        QO{"An Aigéine Imeallach"}
        RE{"Réunion"}
        RO{"An Rómáin"}
        RS{"An tSeirbia"}
        RU{"Cónaidhm na Rúise"}
        RW{"Ruanda"}
        SA{"An Araib Shádach"}
        SB{"Oileáin Sholaimh"}
        SC{"Na Séiséil"}
        SD{"An tSúdáin"}
        SE{"An tSualainn"}
        SG{"Singeapór"}
        SH{"San Héilin"}
        SI{"An tSlóvéin"}
        SJ{"Svalbard agus Jan Mayen"}
        SK{"An tSlóvaic"}
        SL{"Siarra Leon"}
        SM{"San Mairíne"}
        SN{"An tSeineagáil"}
        SO{"An tSomáil"}
        SR{"Suranam"}
        ST{"Sao Tome agus Principe"}
        SV{"An tSalvadóir"}
        SY{"An tSiria"}
        SZ{"An tSuasalainn"}
        TC{"Oileáin Turks agus Caicos"}
        TD{"Sead"}
        TF{"Críocha Deisceartacha na Fraince"}
        TG{"Tóga"}
        TH{"An Téalainn"}
        TJ{"An Táidsíceastáin"}
        TK{"Tócalá"}
        TL{"Tíomór Thoir"}
        TM{"An Tuircméanastáin"}
        TN{"An Túinéis"}
        TO{"Tonga"}
        TR{"An Tuirc"}
        TT{"Oileáin na Tríonóide agus Tobága"}
        TV{"Túválú"}
        TW{"An Téaváin"}
        TZ{"An Tansáin"}
        UA{"An Úcráin"}
        UG{"Úganda"}
        UM{"Mion-Oileáin Imeallacha S.A.M."}
        US{"Stáit Aontaithe Mheiriceá"}
        UY{"Urugua"}
        UZ{"Úisbéiceastáin"}
        VA{"An Vatacáin"}
        VC{"Saint Vincent agus na Grenadines"}
        VE{"Veiniséala"}
        VG{"Oileáin Bhriotanacha na Maighdean"}
        VI{"Oileáin na Maighdean S.A.M."}
        VN{"Vít Neam"}
        VU{"Vanuatú"}
        WF{"Oileáin Vailís agus Futúna"}
        WS{"Samó"}
        YE{"Éimin"}
        YT{"Mayotte"}
        ZA{"An Afraic Theas"}
        ZM{"An tSaimbia"}
        ZW{"An tSiombáib"}
        ZZ{"Réigiún Anaithnid nó Neamhbhailí"}
    }
    Version{"2.0.82.45"}
}
