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

en_BE {
    CollationElements { 
	    Version { "1.0" }
		Override { "FALSE" }
		Sequence { "&\u007F,' ','_',\u00AF,\u00AD,'-',',',';',':','!',\u00A1,'?'"
        ",\u00BF,'/','.',\u00B4,'`',\u00AB,\u00BB,'(',')','[',']','{','}',\u00A7,\u00B6,"
        "\u00A9,\u00AE,'@',\u00A4,\u00A2,'$',\u00A3,\u00A5,'*','\u005C','&','#','%','+',"
        "\u00B1,\u00F7,\u00D7,'<','=','>',\u00AC,'^',\u00A8,'~',\u00B7,\u00B8,''','\u0022"
        "','|',\u00A6,\u00B0,\u00B5<\u00A0&0;\u00BC;\u00BD;\u00BE&1,\u00B9&2,\u00B2&3,\u00B3"
        "&A;\u00AA&O;\u00BA&O\u0337,\u00D8&O\u0337,\u00F8@" }
	}
    CurrencyElements {
            "BF",
            "BEF ",
            ",",
    }
    DateTimePatterns {
            "H' h 'mm' min 'ss' s 'z",
            "H:mm:ss z",
            "H:mm:ss",
            "H:mm",
            "EEEE dd MMMM yyyy",
            "EEE dd MMM yyyy",
            "dd MMM yyyy",
            "dd/MM/yy",
            "{1} {0}",
    }
    LocaleString { "en_BE" }
    NumberElements {
            ",",
            ".",
            ";",
            "%",
            "0",
            "#",
            "-",
            "E",
            "\u2030",
            "\u221E",
            "\uFFFD",
    }
    NumberPatterns {
            "#,##0.###;-#,##0.###",
            "#,##0.00 \u00a4;-#,##0.00 \u00a4",
            "#,##0%",
    }
    ShortCountry { "BEL" }
}
