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

en_BE {
    Version { "2.0" }
    Currencies{
        BEF { 
            "BF", 
            "Belgian Franc", 
            :array{
                "#,##0.00 \u00a4;-#,##0.00 \u00a4", /* currency pattern */
                ",",/* decimal separator */
                ".",/* grouping separator */
            }
        }
    }
//    LocaleString { "en_BE" }
    NumberElements {
        ",",
        ".",
        ";",
        "%",
        "0",
        "#",
        "-",
        "E",
        "\u2030",
        "\u221E",
        "\uFFFD",
        ",",
        "+",
    }
//    ShortCountry { "BEL" }

    NumberPatterns { 
        "#,##0.###;-#,##0.###",
        "#,##0.00 \u00A4;-#,##0.00 \u00A4",
        "#,##0%",
        "#E0",
    }
    calendar{
        gregorian{
            DateTimeElements:intvector {
                2,
                1,
            }
            DateTimePatterns{
                "HH' h 'mm' min 'ss' s 'z",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE d MMMM yyyy",
                "EEE d MMM yyyy",
                "dd MMM yyyy",
                "dd/MM/yy",
                "{1} {0}",
            }
        }
    }
}
