﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/om.xml
// *
// ***************************************************************************
om{
    ExemplarCharacters{"[a b c d e f g h i j k l m n o p q r s t u v w x y z]"}
    ExemplarCharactersIndex{"[A B C D E F G H I J K L M N O P Q R S T U V W X Y Z]"}
    NumberElements{
        default{"latn"}
        latn{
            patterns{
                currencyFormat{"¤#,##0.00"}
            }
        }
        native{"latn"}
        traditional{"ethi"}
    }
    Version{"2.1.10.42"}
    calendar{
        generic{
            DateTimePatterns{
                "h:mm:ss a zzzz",
                "h:mm:ss a z",
                "h:mm:ss a",
                "h:mm a",
                "EEEE, MMMM d, y G",
                "dd MMMM y G",
                "dd-MMM-y G",
                "dd/MM/yy GGGGG",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                MMMMdd{"dd MMMM"}
                MMdd{"dd/MM"}
                yMM{"MM/y"}
                yMMMM{"MMMM y"}
                yQQQ{"QQQ y"}
            }
        }
        gregorian{
            AmPmMarkers{
                "WD",
                "WB",
            }
            DateTimePatterns{
                "h:mm:ss a zzzz",
                "h:mm:ss a z",
                "h:mm:ss a",
                "h:mm a",
                "EEEE, MMMM d, y",
                "dd MMMM y",
                "dd-MMM-y",
                "dd/MM/yy",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                MMMMdd{"dd MMMM"}
                MMdd{"dd/MM"}
                yMM{"MM/y"}
                yMMMM{"MMMM y"}
                yQQQ{"QQQ y"}
            }
            dayNames{
                format{
                    abbreviated{
                        "Dil",
                        "Wix",
                        "Qib",
                        "Rob",
                        "Kam",
                        "Jim",
                        "San",
                    }
                    wide{
                        "Dilbata",
                        "Wiixata",
                        "Qibxata",
                        "Roobii",
                        "Kamiisa",
                        "Jimaata",
                        "Sanbata",
                    }
                }
                stand-alone{
                    narrow{
                        "S",
                        "M",
                        "T",
                        "W",
                        "T",
                        "F",
                        "S",
                    }
                }
            }
            eras{
                abbreviated{
                    "KD",
                    "KB",
                }
            }
            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",
                    }
                }
                stand-alone{
                    narrow{
                        "J",
                        "F",
                        "M",
                        "A",
                        "M",
                        "J",
                        "J",
                        "A",
                        "S",
                        "O",
                        "N",
                        "D",
                    }
                }
            }
        }
    }
}
