﻿// ***************************************************************************
// *
// * Copyright (C) 2008 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/main/en_IE.xml
// *
// ***************************************************************************
en_IE{
    Currencies{
        GBP{
            "GBP",
            "British Pound Sterling",
        }
        IEP{
            "£",
            "Irish Pound",
        }
    }
    NumberPatterns{
        "#,##0.###",
        "¤#,##0.00",
        "#,##0%",
        "#E0",
    }
    Version{"1.57"}
    calendar{
        gregorian{
            AmPmMarkers{
                "a.m.",
                "p.m.",
            }
            DateTimeElements:intvector{
                1,
                1,
            }
            DateTimePatterns{
                "HH:mm:ss v",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE d MMMM yyyy",
                "d MMMM yyyy",
                "d MMM yyyy",
                "dd/MM/yyyy",
                "{1} {0}",
            }
            availableFormats{
                MEd{"E, d/M"}
                MMMMd{"d MMMM"}
                MMdd{"dd/MM"}
                Md{"d/M"}
                yMEd{"EEE, d/M/yyyy"}
                yyyyMM{"MM/yyyy"}
                yyyyMMMM{"MMMM yyyy"}
            }
            intervalFormats{
                M{
                    M{"M-M"}
                }
                MEd{
                    M{"E dd/MM - E dd/MM"}
                    d{"E dd/MM - E dd/MM"}
                }
                MMM{
                    M{"MMM-MMM"}
                }
                MMMEd{
                    M{"E d MMM - E d MMM"}
                    d{"E d - E d MMM"}
                }
                MMMd{
                    M{"d MMM - d MMM"}
                    d{"d-d MMM"}
                }
                Md{
                    M{"dd/MM - dd/MM"}
                    d{"dd/MM - dd/MM"}
                }
                d{
                    d{"d-d"}
                }
                fallback{"{0} - {1}"}
                hm{
                    m{"HH:mm-HH:mm"}
                }
                hmv{
                    h{"HH:mm-HH:mm v"}
                    m{"HH:mm-HH:mm v"}
                }
                y{
                    y{"y-y"}
                }
                yM{
                    M{"MM/yyyy - MM/yyyy"}
                    y{"MM/yyyy - MM/yyyy"}
                }
                yMEd{
                    M{"E dd/MM/yyyy - E dd/MM/yyyy"}
                    d{"E dd/MM/yyyy - E dd/MM/yyyy"}
                    y{"E dd/MM/yyyy - E dd/MM/yyyy"}
                }
                yMMM{
                    M{"MMM-MMM yyyy"}
                    y{"MMM yyyy - MMM yyyy"}
                }
                yMMMEd{
                    M{"E d MMM - E d MMM yyyy"}
                    d{"E d - E d MMM yyyy"}
                    y{"E d MMM yyyy - E d MMM yyyy"}
                }
                yMMMd{
                    M{"d MMM - d MMM yyyy"}
                    d{"d-d MMM yyyy"}
                    y{"d MMM yyyy - d MMM yyyy"}
                }
                yMd{
                    M{"dd/MM/yyyy - dd/MM/yyyy"}
                    d{"dd/MM/yyyy - dd/MM/yyyy"}
                    y{"dd/MM/yyyy - dd/MM/yyyy"}
                }
            }
        }
    }
}
