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

id {
    Version { "x0.0" }
    DayAbbreviations {
            "Minggu",
            "Sen",
            "Sel",
            "Rabu",
            "Kamis",
            "Jumat",
            "Sabtu",
    }
    DayNames {
            "Minggu",
            "Senin",
            "Selasa",
            "Rabu",
            "Kamis",
            "Jumat",
            "Sabtu",
    }
    MonthAbbreviations {
            "Jan",
            "Feb",
            "Mar",
            "Apr",
            "Mei",
            "Jun",
            "Jul",
            "August",
            "Sep",
            "Okt",
            "Nov",
            "Des",
            "",
    }
    MonthNames {
            "Januari",
            "Februari",
            "Maret",
            "April",
            "Mei",
            "Juni",
            "Juli",
            "Agustus",
            "September",
            "Oktober",
            "November",
            "Desember",
            "",
    }
    NumberElements {
            ",",
            ".",
            ";",
            "%",
            "0",
            "#",
            "-",
            "E",
            "\u2030",
            "\u221e",
            "\ufffd",
    }
    NumberPatterns {
            "#,##0.###;-#,##0.###",
            "\u00a4#,##0.00;-\u00a4#,##0.00",
            "#,##0%",
    }
    LocaleID{ "21"}
    LocaleScript{ 
                "Latn",  // ISO 15924 Name 
    }
            // /**************** Info Below is needed ****************/
            // CollationElements{}
            // Countries{}
            // Eras{}
            // Languages{}
            // ShortLanguage { }
            // localPatternChars{}
            //
}
