﻿// ***************************************************************************
// *
// * Copyright (C) 2014 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/gd.xml
// *
// ***************************************************************************
/**
 * ICU <specials> source: <path>/common/main/gd.xml
 */
gd{
    Keys{
        calendar{"Mìosachan"}
        collation{"Òrdugh an t-seòrsachaidh"}
        currency{"Airgeadra"}
        numbers{"Àireamhan"}
    }
    Languages{
        aa{"Afar"}
        ab{"Abchasais"}
        ae{"Avestanais"}
        aeb{"Arabais Thuiniseach"}
        af{"Afraganais"}
        agq{"Aghem"}
        ak{"Akan"}
        ale{"Aleutais"}
        am{"Amtharais"}
        an{"Aragonais"}
        ang{"Seann-Bheurla"}
        ar{"Arabais"}
        ar_001{"Nuadh-Arabais Stannardach"}
        arc{"Aramais"}
        arn{"Mapuche"}
        arq{"Arabais Aildireach"}
        ary{"Arabais Mhorocach"}
        arz{"Arabais Èipheiteach"}
        as{"Asamais"}
        asa{"Asu"}
        ase{"Cainnt-shanais na h-Aimeireaga"}
        ast{"Astùrais"}
        av{"Avarais"}
        az{"Asarbaideànais"}
        azb{"Asarbaideànais Dheasach"}
        ba{"Bashkir"}
        bal{"Baluchì"}
        be{"Bealaruisis"}
        bem{"Bemba"}
        bez{"Bena"}
        bg{"Bulgarais"}
        bi{"Bislama"}
        bm{"Bambara"}
        bn{"Beangailis"}
        bo{"Tibeitis"}
        br{"Breatnais"}
        brx{"Bodo"}
        bs{"Bosnais"}
        ca{"Catalanais"}
        ce{"Deideanais"}
        cgg{"Chiga"}
        ch{"Chamorro"}
        chr{"Cherokee"}
        ckb{"Cùrdais Soranî"}
        co{"Corsais"}
        cop{"Coptais"}
        crh{"Turcais Chriomach"}
        cs{"Seacais"}
        csb{"Caisiubais"}
        cu{"Slàbhais na h-Eaglaise"}
        cy{"Cuimris"}
        da{"Danmhairgis"}
        dav{"Taita"}
        de{"Gearmailtis"}
        de_AT{"Gearmailtis na h-Ostaire"}
        de_CH{"Àrd-Ghearmailtis na h-Eilbheise"}
        dje{"Zarma"}
        dsb{"Sòrbais Ìochdarach"}
        dua{"Duala"}
        dum{"Meadhan-Dhuitsis"}
        dv{"Divehi"}
        dyo{"Jola-Fonyi"}
        dz{"Dzongkha"}
        ebu{"Embu"}
        ee{"Ewe"}
        egy{"Èipheitis Àrsaidh"}
        el{"Greugais"}
        elx{"Elamais"}
        en{"Beurla"}
        en_AU{"Beurla Astràilia"}
        en_CA{"Beurla Chanada"}
        en_GB{"Beurla Bhreatainn"}
        en_US{"Beurla na h-Aimeireaga"}
        enm{"Meadhan-Bheurla"}
        eo{"Esperanto"}
        es{"Spàinntis"}
        es_419{"Spàinntis na h-Aimeireaga Laidinneach"}
        es_ES{"Spàinntis Eòrpach"}
        es_MX{"Spàinntis Mheagsagach"}
        et{"Eastoinis"}
        eu{"Basgais"}
        fa{"Farsaidh"}
        fi{"Fionnlannais"}
        fil{"Filipinis"}
        fj{"Fìdis"}
        fo{"Fàrothais"}
        fr{"Fraingis"}
        fr_CA{"Fraingis Chanada"}
        fr_CH{"Fraingis Eilbheiseach"}
        frm{"Meadhan-Fhraingis"}
        fro{"Seann-Fhraingis"}
        frr{"Frìoslannais Thuathach"}
        frs{"Frìoslannais Earach"}
        fur{"Friùilis"}
        fy{"Frìoslannais Siarach"}
        ga{"Gaeilge"}
        gag{"Gagauz"}
        gd{"Gàidhlig"}
        gez{"Ge’ez"}
        gil{"Ciribeasais"}
        gl{"Gailìsis"}
        gmh{"Meadhan-Àrd-Gearmailtis"}
        gn{"Guaraní"}
        goh{"Seann-Àrd-Gearmailtis"}
        got{"Gotais"}
        grc{"Greugais Àrsaidh"}
        gsw{"Gearmailtis Eilbheiseach"}
        gu{"Gujarati"}
        guz{"Gusii"}
        gv{"Gaelg"}
        ha{"Hausa"}
        haw{"Cànan Hawai’i"}
        he{"Eabhra"}
        hi{"Hindis"}
        hif{"Hindis Fhìditheach"}
        ho{"Hiri Motu"}
        hr{"Cròthaisis"}
        hsb{"Sòrbais Uachdarach"}
        ht{"Crìtheol Haidhti"}
        hu{"Ungairis"}
        hy{"Airmeinis"}
        ia{"Interlingua"}
        id{"Innd-Innsis"}
        ie{"Interlingue"}
        ig{"Igbo"}
        ii{"Yi Sichuan"}
        ik{"Inupiaq"}
        io{"Ido"}
        is{"Innis Tìlis"}
        it{"Eadailtis"}
        iu{"Inuktitut"}
        ja{"Seapanais"}
        jam{"Beurla Crìtheolach Diameuga"}
        jgo{"Ngomba"}
        jmc{"Machame"}
        jpr{"Peirsis Iùdhach"}
        jrb{"Arabais Iùdhach"}
        jv{"Deàbhanais"}
        ka{"Cairtbheilis"}
        kab{"Kabyle"}
        kam{"Kamba"}
        kde{"Makonde"}
        kea{"Kabuverdianu"}
        khq{"Koyra Chiini"}
        ki{"Kikuyu"}
        kk{"Casachais"}
        kl{"Kalaallisut"}
        kln{"Kalenjin"}
        km{"Cmèar"}
        kn{"Kannada"}
        ko{"Coirèanais"}
        koi{"Komi-Permyak"}
        kok{"Konkani"}
        ks{"Caismiris"}
        ksb{"Shambala"}
        ksf{"Bafia"}
        ku{"Cùrdais"}
        kw{"Còrnais"}
        ky{"Cìorgasais"}
        la{"Laideann"}
        lad{"Ladino"}
        lag{"Langi"}
        lb{"Lugsamburgais"}
        lg{"Ganda"}
        lij{"Liogùrais"}
        lkt{"Lakhóta"}
        lmo{"Lombardais"}
        ln{"Lingala"}
        lo{"Làtho"}
        lt{"Liotuainis"}
        lu{"Luba-Katanga"}
        luo{"Luo"}
        luy{"Luyia"}
        lv{"Laitbheis"}
        lzh{"Sìnis an Litreachais"}
        mas{"Maasai"}
        mer{"Meru"}
        mfe{"Morisyen"}
        mg{"Malagasais"}
        mga{"Meadhan-Ghaeilge"}
        mgh{"Makhuwa-Meetto"}
        mgo{"Meta’"}
        mh{"Marshallais"}
        mi{"Māori"}
        mk{"Masadonais"}
        ml{"Malayalam"}
        mn{"Mongolais"}
        moh{"Mohawk"}
        mr{"Marathi"}
        ms{"Malaidhis"}
        mt{"Maltais"}
        mua{"Mundang"}
        mul{"Iomadh cànan"}
        my{"Burmais"}
        na{"Nabhru"}
        naq{"Nama"}
        nb{"Bokmål na Nirribhidh"}
        nd{"Ndebele Thuathach"}
        ne{"Neapàilis"}
        nl{"Duitsis"}
        nl_BE{"Flannrais"}
        nmg{"Kwasio"}
        nn{"Nynorsk na Nirribhidh"}
        no{"Nirribhis"}
        non{"Seann-Lochlannais"}
        nqo{"N’Ko"}
        nr{"Ndebele Dheasach"}
        nso{"Leasotais Thuathach"}
        nus{"Nuer"}
        ny{"Chichewa"}
        nyn{"Nyankole"}
        oc{"Ogsatanais"}
        om{"Oromo"}
        or{"Oriya"}
        os{"Ossetic"}
        ota{"Turcais Otomanach"}
        pa{"Panjabi"}
        pau{"Palabhais"}
        pdc{"Gearmailtis Phennsylvania"}
        peo{"Seann-Pheirsis"}
        pi{"Pali"}
        pl{"Pòlainnis"}
        prg{"Pruisis"}
        ps{"Pachtu"}
        pt{"Portagailis"}
        pt_BR{"Portagailis Bhraisileach"}
        pt_PT{"Portagailis Eòrpach"}
        qu{"Ceatsua"}
        quc{"K’iche’"}
        rap{"Rapa Nui"}
        rm{"Rumains"}
        rn{"Kirundi"}
        ro{"Romàinis"}
        ro_MD{"Moldobhais"}
        rof{"Rombo"}
        rom{"Romanais"}
        ru{"Ruisis"}
        rw{"Kinyarwanda"}
        rwk{"Rwa"}
        sa{"Sanskrit"}
        sah{"Sachais"}
        sam{"Aramais Shamaritanach"}
        saq{"Samburu"}
        sbp{"Sangu"}
        sc{"Sàrdais"}
        scn{"Sisilis"}
        sco{"Albais"}
        sd{"Sindhi"}
        se{"Sàmais Thuathach"}
        seh{"Sena"}
        ses{"Koyraboro Senni"}
        sg{"Sango"}
        sga{"Seann-Ghaeilge"}
        shi{"Tachelhit"}
        shu{"Arabais Seàdach"}
        si{"Sinhala"}
        sk{"Slòbhacais"}
        sl{"Slòbhainis"}
        sm{"Samothais"}
        sma{"Sàmais Dheasach"}
        smj{"Sàmais Lule"}
        smn{"Sàmais Inari"}
        sms{"Sàmais Skolt"}
        sn{"Shona"}
        snk{"Soninke"}
        so{"Somàilis"}
        sq{"Albàinis"}
        sr{"Sèirbis"}
        st{"Leasotach Dheasach"}
        su{"Cànan Sunda"}
        sv{"Suainis"}
        sw{"Kiswahili"}
        swb{"Comorais"}
        swc{"Kiswahili na Congo"}
        syc{"Suraidheac Chlasaigeach"}
        syr{"Suraidheac"}
        ta{"Taimilis"}
        te{"Telugu"}
        teo{"Teso"}
        tet{"Tetum"}
        tg{"Taidigis"}
        th{"Tàidh"}
        ti{"Tigrinya"}
        tk{"Turcmanais"}
        tkl{"Tokelau"}
        tl{"Tagalog"}
        to{"Tongais"}
        tog{"Nyasa Tonga"}
        tpi{"Tok Pisin"}
        tr{"Turcais"}
        ts{"Tsonga"}
        tt{"Tatarais"}
        twq{"Tasawaq"}
        tzm{"Tamazight Meadhan na h-Atlas"}
        ug{"Ùigiurais"}
        uk{"Ucràinis"}
        und{"Cànan neo-aithnichte"}
        ur{"Ùrdu"}
        uz{"Usbagais"}
        vai{"Vai"}
        ve{"Venda"}
        vi{"Bhiet-Namais"}
        vls{"Flannrais Siarach"}
        vo{"Volapük"}
        vun{"Vunjo"}
        wo{"Wolof"}
        xh{"Xhosa"}
        xog{"Soga"}
        yi{"Iùdhais"}
        yo{"Ioruba"}
        yue{"Cantonais"}
        zgh{"Tamazight Stannardach Moroco"}
        zh{"Sìnis"}
        zh_Hans{"Sìnis Shimplichte"}
        zh_Hant{"Sìnis Thradaiseanta"}
        zu{"Zulu"}
        zxx{"Susbaint nach eil ‘na chànan"}
    }
    LanguagesShort{
        az{"Azeri"}
        en_GB{"Beurla na RA"}
        en_US{"Beurla nan SA"}
    }
    Scripts{
        Aghb{"Albàinis Chabhcasach"}
        Arab{"Arabais"}
        Armi{"Aramais impireil"}
        Armn{"Airmeinis"}
        Avst{"Avestanais"}
        Bali{"Bali"}
        Beng{"Beangailis"}
        Bopo{"Bopomofo"}
        Brai{"Braille"}
        Cans{"Sgrìobhadh Lideach Aonaichte nan Tùsanach Canadach"}
        Copt{"Coptais"}
        Cprt{"Cìoprasais"}
        Cyrl{"Cirilis"}
        Cyrs{"Cirilis Seann-Slàbhais na h-Eaglaise"}
        Deva{"Devanagari"}
        Egyp{"Sealbh-sgrìobhadh Èipheiteach"}
        Ethi{"Ge’ez"}
        Geor{"Cairtbheilis"}
        Goth{"Gotais"}
        Grek{"Greugais"}
        Gujr{"Gujarati"}
        Guru{"Gurmukhi"}
        Hang{"Hangul"}
        Hani{"Han"}
        Hans{"Simplichte"}
        Hant{"Tradaiseanta"}
        Hebr{"Eabhra"}
        Hira{"Hiragana"}
        Hluw{"Dealbh-sgrìobhadh Anatolach"}
        Hrkt{"Katakana no Hiragana"}
        Hung{"Seann-Ungarais"}
        Ital{"Seann-Eadailtis"}
        Java{"Deàbhanais"}
        Jpan{"Seapanais"}
        Kana{"Katakana"}
        Khmr{"Cmèar"}
        Knda{"Kannada"}
        Kore{"Coirèanais"}
        Laoo{"Làtho"}
        Latf{"Laideann fraktur"}
        Latg{"Laideann Ghàidhealach"}
        Latn{"Laideann"}
        Maya{"Dealbh-sgrìobhadh Mayach"}
        Mlym{"Malayalam"}
        Mong{"Mongolais"}
        Mymr{"Miànmar"}
        Narb{"Seann-Arabach Thuathach"}
        Ogam{"Ogham-chraobh"}
        Orya{"Oriya"}
        Prti{"Partais snaidh-sgrìobhte"}
        Runr{"Rùn-sgrìobhadh"}
        Sarb{"Seann-Arabais Dheasach"}
        Sinh{"Sinealais"}
        Syrc{"Suraidheac"}
        Syrj{"Suraidheac Siarach"}
        Syrn{"Suraidheac Earach"}
        Taml{"Taimil"}
        Telu{"Telugu"}
        Tfng{"Tifinagh"}
        Tglg{"Tagalog"}
        Thaa{"Thaana"}
        Thai{"Tàidh"}
        Tibt{"Tibeitis"}
        Xpeo{"Seann-Pheirsis"}
        Zmth{"Gnìomhairean matamataig"}
        Zsym{"Samhlaidhean"}
        Zxxx{"Gun sgrìobhadh"}
        Zyyy{"Coitcheann"}
        Zzzz{"Litreadh neo-aithnichte"}
    }
    Scripts%stand-alone{
        Hans{"Han simplichte"}
        Hant{"Han tradaiseanta"}
    }
    Types{
        calendar{
            buddhist{"Am Mìosachan Budach"}
            chinese{"Am Mìosachan Sìneach"}
            coptic{"Am Mìosachan Coptach"}
            dangi{"Mìosachan Dangi"}
            ethiopic{"Mìosachan na h-Itioipe"}
            ethiopic-amete-alem{"Mìosachan Itiopach Amete Alem"}
            gregorian{"Am Mìosachan Griogarach"}
            hebrew{"Am Mìosachan Eabhrach"}
            indian{"Mìosachan Nàiseanta nan Innseachan"}
            islamic{"Am Mìosachan Ioslamach"}
            islamic-civil{"Am Mìosachan Ioslamach (clàrach, linn sìobhalta)"}
            islamic-rgsa{"Am Mìosachan Ioslamach (arabia nan Sabhd, sealladh)"}
            islamic-tbla{"Am Mìosachan Ioslamach (clàrach, linn reul-eòlach)"}
            islamic-umalqura{"Am Mìosachan Ioslamach (Umm al-Qura)"}
            iso8601{"Mìosachan ISO-8601"}
            japanese{"Am Mìosachan Seapanach"}
            persian{"Am Mìosachan Pearsach"}
            roc{"Mìosachan Poblachd na Sìne"}
        }
        collation{
            big5han{"Òrdugh seòrsachaidh na Sìnise Tradaiseanta - Big5"}
            dictionary{"Òrdugh seòrsachaidh an fhaclair"}
            ducet{"Òrdugh seòrsachaidh Unicode bunaiteach"}
            eor{"Òrdugh seòrsachaidh Eòrpach"}
            gb2312han{"Òrdugh seòrsachaidh na Sìnise Simplichte - GB2312"}
            phonebook{"Òrdugh seòrsachaidh nan leabhraichean-fòn"}
            pinyin{"Òrdugh seòrsachaidh Pinyin"}
            reformed{"Òrdugh seòrsachaidh ath-leasaichte"}
            search{"Lorg coitcheann"}
            searchjl{"Lorg leis a’ chiad chonnrag Hangul"}
            standard{"Òrdugh seòrsachaidh stannardach"}
            stroke{"Òrdugh nan stràcan"}
            traditional{"Òrdugh seòrsachaidh tradaiseanta"}
            unihan{"Òrdugh an fhreumha ‘s nan stràcan"}
            zhuyin{"Òrdugh seòrsachaidh Zhuyin"}
        }
        numbers{
            arab{"Àireamhan Arabach-Innseanach"}
            arabext{"Àireamhan Arabach-Innseanach leudaichte"}
            armn{"Àireamhan na h-Airmeinise"}
            armnlow{"Àireamhan beaga na h-Airmeinise"}
            bali{"Àireamhan Bali"}
            beng{"Àireamhan na Beangailise"}
            deva{"Àireamhan Devanagari"}
            ethi{"Àireamhan Itiopach"}
            fullwide{"Àireamhan làn-leud"}
            geor{"Àireamhan na Cairtbheilise"}
            grek{"Àireamhan na Greugaise"}
            greklow{"Àireamhan beaga na Greugaise"}
            gujr{"Àireamhan Gujarati"}
            guru{"Àireamhan Gurmukhi"}
            hanidec{"Àireamhan deicheach na Sìnise"}
            hans{"Àireamhan na Sìnise Shimplichte"}
            hansfin{"Àireamhan ionmhasail na Sìnise Shimplichte"}
            hant{"Àireamhan na Sìnise Thradaiseanta"}
            hantfin{"Àireamhan ionmhasail na Sìnise Thradaiseanta"}
            hebr{"Àireamhan na h-Eabhra"}
            java{"Àireamhan na Deàbhanaise"}
            jpan{"Àireamhan na Seapanaise"}
            jpanfin{"Àireamhan ionmhasail na Seapanaise"}
            khmr{"Àireamhan Cmèar"}
            knda{"Àireamhan Kannada"}
            laoo{"Àireamhan Làtho"}
            latn{"Àireamhan Siarach"}
            mlym{"Aìreamhan Malayalam"}
            mong{"Àireamhan na Mongolaise"}
            mymr{"Àireamhan Miànmar"}
            orya{"Àireamhan Oriya"}
            roman{"Àireamhan Ròmanach"}
            romanlow{"Àireamhan beaga Ròmanach"}
            taml{"Àireamhan na Taimilise Tradaiseanta"}
            tamldec{"Àireamhan na Taimilise"}
            telu{"Àireamhan Telugu"}
            thai{"Àireamhan Tàidh"}
            tibt{"Àireamhan na Tibeitise"}
        }
    }
    Version{"2.1.8.9"}
    codePatterns{
        language{"Cànan: {0}"}
        script{"Litreadh: {0}"}
        territory{"Roinn-dùthcha: {0}"}
    }
    localeDisplayPattern{
        keyTypePattern{"{0}: {1}"}
        pattern{"{0} ({1})"}
        separator{"{0}, {1}"}
    }
}
