// ***************************************************************************
// *
// *   Copyright (C) 2001-2004, International Business Machines
// *   Corporation and others.  All Rights Reserved.
// *
// ***************************************************************************
// * Oromo language locale.
// * Contributed by Daniel Yacob <yacob@geez.org>
// *
// * Oromo terms are provided by Mahdi Hamid Muudee of Sagalee Oromoo
// * Publishing Co. Inc and formatted in Posix format locale by Daniel Yacob of
// * the Ge'ez Frontier Foundation.  The Oromo language terms used here
// * are those considered to be canonical in the Oromo language under
// * contemporary and progressive usage adopted by government bureaus
// * across the Oromo region.  Regional synonyms naturally exist for many
// * of the month and day names.

om {
    Version{ "2.0" }
//    LanguageLibraryUse { "orm" }

    Languages { 
        om { "Oromoo" }
    }
    Countries { 
        ET { "Itoophiyaa" }
        KE { "Keeniyaa" }
    }

    // Currency display names
    Currencies {
        KES { "Ksh", "KES" }
    }
    LocaleScript{ 
        "Latn",  // ISO 15924 Name 
    }
    ExemplarCharacters{
        "[a-z]"
    }
    calendar{
        gregorian{
            DateTimeElements:intvector { 
                7,
                1,
            }
            dayNames{
                format{
                    abbreviated{
                        "Dil",
                        "Wix",
                        "Qib",
                        "Rob",
                        "Kam",
                        "Jim",
                        "San",
                    }
                    wide{
                        "Dilbata",
                        "Wiixata",
                        "Qibxata",
                        "Roobii",
                        "Kamiisa",
                        "Jimaata",
                        "Sanbata",
                    }
                }
            }
            eras{
                "KD",  // KD = Kiristoos Dura = Before Christ
                "KB",  // KB = Kiristoos Booda = After Christ
            }
            monthNames{
                format{
                    abbreviated{
                        "Ama",
                        "Gur",
                        "Bit",
                        "Elb",
                        "Cam",
                        "Wax",
                        "Ado",
                        "Hag",
                        "Ful",
                        "Onk",
                        "Sad",
                        "Mud",
                    }
                    wide{
                        "Amajjii",
                        "Guraandhala",
                        "Bitooteessa",
                        "Elba",
                        "Caamsa",
                        "Waxabajjii",
                        "Adooleessa",
                        "Hagayya",
                        "Fuulbana",
                        "Onkololeessa",
                        "Sadaasa",
                        "Muddee",
                    }
                }
            }
        }
    }
}
