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

es_ES {
    Version { "2.0" }
    NumberElements {
        ",",
        ".",
        ";",
        "%",
        "0",
        "#",
        "-",
        "E",
        "\u2030",
        "\u221E",
        "\uFFFD",
        ",",
        "+",
    }
    NumberPatterns { 
        "#,##0.###;-#,##0.###",
        "#,##0.00 \u00A4;-#,##0.00 \u00A4",
        "#,##0%",
        "#E0",
    }
    Currencies{
        ESP { 
            "\u20A7",
            "peseta espa\u00F1ola", 
            :array{
                "#,##0 \u00A4;-#,##0 \u00A4", /*currency pattern*/ 
                ",",  /*decimal sperator*/  
                "."  /*grouping separator*/
            }
       }
    }
    calendar{
        gregorian{
            DateTimePatterns{
                "HH'H'mm''ss\" z",
                "HH:mm:ss z",
                "H:mm:ss",
                "H:mm",
                "EEEE d' de 'MMMM' de 'yyyy",
                "d' de 'MMMM' de 'yyyy",
                "dd/MM/yyyy",
                "dd/MM/yy",
                "{1} {0}",
            }
        }
    }
}
