﻿// © 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html
// Generated using tools/cldr/cldr-to-icu/build-icu-data.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]"}
    ExemplarCharactersNumbers{"[\\- ‑ , . % ‰ + 0 1 2 3 4 5 6 7 8 9]"}
    NumberElements{
        default{"latn"}
        latn{
            miscPatterns{
                atLeast{"≥{0}"}
                range{"{0}–{1}"}
            }
            patterns{
                accountingFormat{"¤#,##0.00"}
                currencyFormat{"¤#,##0.00"}
                decimalFormat{"#,##0.###"}
                percentFormat{"#,##0%"}
                scientificFormat{"#E0"}
            }
            symbols{
                decimal{"."}
                exponential{"E"}
                group{","}
                infinity{"∞"}
                minusSign{"-"}
                nan{"NaN"}
                perMille{"‰"}
                percentSign{"%"}
                plusSign{"+"}
                superscriptingExponent{"×"}
            }
        }
        minimumGroupingDigits{"1"}
        native{"latn"}
        traditional{"ethi"}
    }
    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}",
            }
            DateTimeSkeletons{
                "ahmmsszzzz",
                "ahmmssz",
                "ahmmss",
                "ahmm",
                "GyMMMMEEEEd",
                "GyMMMMdd",
                "GyMMMdd",
                "GGGGGyyMMdd",
            }
            availableFormats{
                MMMMdd{"dd MMMM"}
                MMdd{"dd/MM"}
                yMM{"MM/y"}
                yMMMM{"MMMM y"}
                yQQQ{"QQQ y"}
            }
        }
        gregorian{
            AmPmMarkers{
                "WD",
                "WB",
            }
            AmPmMarkersAbbr{
                "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}",
            }
            DateTimeSkeletons{
                "ahmmsszzzz",
                "ahmmssz",
                "ahmmss",
                "ahmm",
                "yMMMMEEEEd",
                "yMMMMdd",
                "yMMMdd",
                "yyMMdd",
            }
            appendItems{
                Timezone{"{0} {1}"}
            }
            availableFormats{
                E{"ccc"}
                EHm{"E HH:mm"}
                EHms{"E HH:mm:ss"}
                Ed{"d, E"}
                Ehm{"E h:mm a"}
                Ehms{"E h:mm:ss a"}
                Gy{"G y"}
                GyMMM{"G y MMM"}
                GyMMMEd{"G y MMM d, E"}
                GyMMMd{"G y MMM d"}
                H{"HH"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                Hmsv{"HH:mm:ss v"}
                Hmv{"HH:mm v"}
                M{"L"}
                MEd{"MM-dd, E"}
                MMM{"LLL"}
                MMMEd{"MMM d, E"}
                MMMMW{
                    one{"'week' W 'of' MMMM"}
                    other{"'week' W 'of' MMMM"}
                }
                MMMMd{"MMMM d"}
                MMMMdd{"dd MMMM"}
                MMMd{"MMM d"}
                MMdd{"dd/MM"}
                Md{"MM-dd"}
                d{"d"}
                h{"h a"}
                hm{"h:mm a"}
                hms{"h:mm:ss a"}
                hmsv{"h:mm:ss a v"}
                hmv{"h:mm a v"}
                ms{"mm:ss"}
                y{"y"}
                yM{"y-MM"}
                yMEd{"y-MM-dd, E"}
                yMM{"MM/y"}
                yMMM{"y MMM"}
                yMMMEd{"y MMM d, E"}
                yMMMM{"MMMM y"}
                yMMMd{"y MMM d"}
                yMd{"y-MM-dd"}
                yQQQ{"QQQ y"}
                yQQQQ{"y QQQQ"}
                yw{
                    one{"'week' w 'of' Y"}
                    other{"'week' w 'of' Y"}
                }
            }
            dayNames{
                format{
                    abbreviated{
                        "Dil",
                        "Wix",
                        "Qib",
                        "Rob",
                        "Kam",
                        "Jim",
                        "San",
                    }
                    short{
                        "Dil",
                        "Wix",
                        "Qib",
                        "Rob",
                        "Kam",
                        "Jim",
                        "San",
                    }
                    wide{
                        "Dilbata",
                        "Wiixata",
                        "Qibxata",
                        "Roobii",
                        "Kamiisa",
                        "Jimaata",
                        "Sanbata",
                    }
                }
                stand-alone{
                    abbreviated{
                        "Dil",
                        "Wix",
                        "Qib",
                        "Rob",
                        "Kam",
                        "Jim",
                        "San",
                    }
                    narrow{
                        "S",
                        "M",
                        "T",
                        "W",
                        "T",
                        "F",
                        "S",
                    }
                    short{
                        "Dil",
                        "Wix",
                        "Qib",
                        "Rob",
                        "Kam",
                        "Jim",
                        "San",
                    }
                    wide{
                        "Dilbata",
                        "Wiixata",
                        "Qibxata",
                        "Roobii",
                        "Kamiisa",
                        "Jimaata",
                        "Sanbata",
                    }
                }
            }
            dayPeriod{
                stand-alone{
                    abbreviated{
                        am{"WD"}
                        pm{"WB"}
                    }
                    narrow{
                        am{"WD"}
                        pm{"WB"}
                    }
                    wide{
                        am{"WD"}
                        pm{"WB"}
                    }
                }
            }
            eras{
                abbreviated{
                    "BCE",
                    "CE",
                }
                wide{
                    "Dheengadda Jeesu",
                    "CE",
                }
                wide%variant{
                    "BCE",
                    "CE",
                }
            }
            intervalFormats{
                H{
                    H{"HH–HH"}
                }
                Hm{
                    H{"HH:mm–HH:mm"}
                    m{"HH:mm–HH:mm"}
                }
                Hmv{
                    H{"HH:mm–HH:mm v"}
                    m{"HH:mm–HH:mm v"}
                }
                Hv{
                    H{"HH–HH v"}
                }
                M{
                    M{"MM–MM"}
                }
                MEd{
                    M{"MM-dd, E – MM-dd, E"}
                    d{"MM-dd, E – MM-dd, E"}
                }
                MMM{
                    M{"LLL–LLL"}
                }
                MMMEd{
                    M{"MMM d, E – MMM d, E"}
                    d{"MMM d, E – MMM d, E"}
                }
                MMMd{
                    M{"MMM d – MMM d"}
                    d{"MMM d–d"}
                }
                Md{
                    M{"MM-dd – MM-dd"}
                    d{"MM-dd – MM-dd"}
                }
                d{
                    d{"d–d"}
                }
                fallback{"{0} – {1}"}
                h{
                    a{"h a – h a"}
                    h{"h–h a"}
                }
                hm{
                    a{"h:mm a – h:mm a"}
                    h{"h:mm–h:mm a"}
                    m{"h:mm–h:mm a"}
                }
                hmv{
                    a{"h:mm a – h:mm a v"}
                    h{"h:mm–h:mm a v"}
                    m{"h:mm–h:mm a v"}
                }
                hv{
                    a{"h a – h a v"}
                    h{"h–h a v"}
                }
                y{
                    y{"y–y"}
                }
                yM{
                    M{"y-MM – y-MM"}
                    y{"y-MM – y-MM"}
                }
                yMEd{
                    M{"y-MM-dd, E – y-MM-dd, E"}
                    d{"y-MM-dd, E – y-MM-dd, E"}
                    y{"y-MM-dd, E – y-MM-dd, E"}
                }
                yMMM{
                    M{"y MMM–MMM"}
                    y{"y MMM – y MMM"}
                }
                yMMMEd{
                    M{"y MMM d, E – MMM d, E"}
                    d{"y MMM d, E – MMM d, E"}
                    y{"y MMM d, E – y MMM d, E"}
                }
                yMMMM{
                    M{"y MMMM–MMMM"}
                    y{"y MMMM – y MMMM"}
                }
                yMMMd{
                    M{"y MMM d – MMM d"}
                    d{"y MMM d–d"}
                    y{"y MMM d – y MMM d"}
                }
                yMd{
                    M{"y-MM-dd – y-MM-dd"}
                    d{"y-MM-dd – y-MM-dd"}
                    y{"y-MM-dd – y-MM-dd"}
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "Ama",
                        "Gur",
                        "Bit",
                        "Elb",
                        "Cam",
                        "Wax",
                        "Ado",
                        "Hag",
                        "Ful",
                        "Onk",
                        "Sad",
                        "Mud",
                    }
                    narrow{
                        "J",
                        "F",
                        "M",
                        "A",
                        "M",
                        "J",
                        "J",
                        "A",
                        "S",
                        "O",
                        "N",
                        "D",
                    }
                    wide{
                        "Amajjii",
                        "Guraandhala",
                        "Bitooteessa",
                        "Elba",
                        "Caamsa",
                        "Waxabajjii",
                        "Adooleessa",
                        "Hagayya",
                        "Fuulbana",
                        "Onkololeessa",
                        "Sadaasa",
                        "Muddee",
                    }
                }
                stand-alone{
                    abbreviated{
                        "Ama",
                        "Gur",
                        "Bit",
                        "Elb",
                        "Cam",
                        "Wax",
                        "Ado",
                        "Hag",
                        "Ful",
                        "Onk",
                        "Sad",
                        "Mud",
                    }
                    narrow{
                        "J",
                        "F",
                        "M",
                        "A",
                        "M",
                        "J",
                        "J",
                        "A",
                        "S",
                        "O",
                        "N",
                        "D",
                    }
                    wide{
                        "Amajjii",
                        "Guraandhala",
                        "Bitooteessa",
                        "Elba",
                        "Caamsa",
                        "Waxabajjii",
                        "Adooleessa",
                        "Hagayya",
                        "Fuulbana",
                        "Onkololeessa",
                        "Sadaasa",
                        "Muddee",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "Q1",
                        "Q2",
                        "Q3",
                        "Q4",
                    }
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                    }
                    wide{
                        "Kurmaana 1",
                        "Kurmaana 2",
                        "Kurmaana 3",
                        "Kurmaana 4",
                    }
                }
                stand-alone{
                    abbreviated{
                        "Q1",
                        "Q2",
                        "Q3",
                        "Q4",
                    }
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                    }
                    wide{
                        "Kurmaana 1",
                        "Kurmaana 2",
                        "Kurmaana 3",
                        "Kurmaana 4",
                    }
                }
            }
        }
    }
}
