// ***************************************************************************
// *
// *   Copyright (C) 1997-2003, International Business Machines
// *   Corporation and others.  All Rights Reserved.
// *
// ***************************************************************************

en_IE {
    Version { "2.0" }
    AmPmMarkers { 
        "a.m.",
        "p.m.",
    }
    Currencies {
        IEP { "\u00A3","Irish Pound" } // 1922-2001
    }
    DateTimePatterns { 
        "HH:mm:ss z",
        "HH:mm:ss z",
        "HH:mm:ss",
        "HH:mm",
        "EEEE d MMMM yyyy",
        "d MMMM yyyy",
        "d MMM yyyy",
        "dd/MM/yyyy",
        "{1} {0}",
    }
    NumberPatterns { 
        "#,##0.###;-#,##0.###",
        "\u00a4#,##0.00;-\u00a4#,##0.00",
        "#,##0%",
        "#E0",
    }
    zoneStrings { 
        {
            "Europe/Dublin",
            "Greenwich Mean Time",   // This doesn't look correct
            "GMT",                   // This doesn't look correct
            "Irish Summer Time",
            "IST",
            "Dublin",
        }
    }
}
