﻿// ***************************************************************************
// *
// * 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
// *
// ***************************************************************************
/**
 * ICU <specials> source: <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]"}
    LocaleScript{
        "Latn",
    }
    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",
                    }
                }
            }
        }
    }
}
