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

eu_ES {
    // /* Discarding duplicate data for tag: AmPmMarkers */
    Version { "x0.0" }
    CurrencyElements {
            "Pts",
            "ESP ",
            ",",
    }
    DateTimePatterns {
            "h:mm:ss a",
            "h:mm:ss a",
            "h:mm a",
            "hh:mm:ss",
            "EEEE, YYYY'eko' MMMM'ren' dd'a'",
            "EEE, YYYY'eko' MMM'ren' dd'a'",
            "yy'-'MMM'-'dd",
            "yy'-'MM'-'dd",
            "{1} {0}",
    }

    NumberPatterns {
            "#,#0.##;-#,#0.##",
            "\u00a4 #,##0.#;-\u00a4 #,##0.#",
            "#,#0%",
    }
    LocaleID{ "042D"}
}
