﻿// ***************************************************************************
// *
// * 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{
    AuxExemplarCharacters{"[å ḃ ċ ḋ ḟ ġ j k ṁ ṗ q ṡ ṫ v w x y z]"}
    ExemplarCharacters{"[a á b c d e é f g h i í l m n o ó p r s t u ú]"}
    LocaleScript{
        "Latn",
    }
    NumberElements{
        latn{
            patterns{
                currencyFormat{"¤#,##0.00"}
            }
        }
    }
    Version{"2.0.82.45"}
    calendar{
        generic{
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE d MMMM y G",
                "d MMMM y G",
                "d MMM y G",
                "dd/MM/y GGGGG",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
        }
        gregorian{
            AmPmMarkers{
                "a.m.",
                "p.m.",
            }
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE d MMMM y",
                "d MMMM y",
                "d MMM y",
                "dd/MM/y",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            dayNames{
                format{
                    abbreviated{
                        "Domh",
                        "Luan",
                        "Máirt",
                        "Céad",
                        "Déar",
                        "Aoine",
                        "Sath",
                    }
                    wide{
                        "Dé Domhnaigh",
                        "Dé Luain",
                        "Dé Máirt",
                        "Dé Céadaoin",
                        "Déardaoin",
                        "Dé hAoine",
                        "Dé Sathairn",
                    }
                }
            }
            eras{
                abbreviated{
                    "RC",
                    "AD",
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "Ean",
                        "Feabh",
                        "Márta",
                        "Aib",
                        "Beal",
                        "Meith",
                        "Iúil",
                        "Lún",
                        "MFómh",
                        "DFómh",
                        "Samh",
                        "Noll",
                    }
                    wide{
                        "Eanáir",
                        "Feabhra",
                        "Márta",
                        "Aibreán",
                        "Bealtaine",
                        "Meitheamh",
                        "Iúil",
                        "Lúnasa",
                        "Meán Fómhair",
                        "Deireadh Fómhair",
                        "Samhain",
                        "Nollaig",
                    }
                }
                stand-alone{
                    narrow{
                        "E",
                        "F",
                        "M",
                        "A",
                        "B",
                        "M",
                        "I",
                        "L",
                        "M",
                        "D",
                        "S",
                        "N",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "R1",
                        "R2",
                        "R3",
                        "R4",
                    }
                    wide{
                        "1ú ráithe",
                        "2ú ráithe",
                        "3ú ráithe",
                        "4ú ráithe",
                    }
                }
            }
        }
    }
}
