﻿// © 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
ebu{
    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{
        latn{
            patterns{
                accountingFormat{"¤#,##0.00;(¤#,##0.00)"}
                currencyFormat{"¤#,##0.00"}
            }
        }
    }
    calendar{
        generic{
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, d MMMM y G",
                "d MMMM y G",
                "d MMM y G",
                "dd/MM/y GGGGG",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            DateTimeSkeletons{
                "HHmmsszzzz",
                "HHmmssz",
                "HHmmss",
                "HHmm",
                "GyMMMMEEEEd",
                "GyMMMMd",
                "GyMMMd",
                "GGGGGyMMdd",
            }
            availableFormats{
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E, M/d"}
                MMM{"LLL"}
                MMMEd{"E, MMM d"}
                MMMMEd{"E, MMMM d"}
                MMMMd{"MMMM d"}
                MMMd{"MMM d"}
                Md{"M/d"}
                d{"d"}
                hm{"h:mm a"}
                ms{"mm:ss"}
                y{"y"}
                yM{"M/y"}
                yMEd{"E, M/d/y"}
                yMMM{"MMM y"}
                yMMMEd{"E, MMM d, y"}
                yMMMM{"MMMM y"}
                yMMMd{"d MMM y"}
                yMd{"d/M/y"}
                yQQQ{"QQQ y"}
                yQQQQ{"QQQQ y"}
            }
        }
        gregorian{
            AmPmMarkers{
                "KI",
                "UT",
            }
            AmPmMarkersAbbr{
                "KI",
                "UT",
            }
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, d MMMM y",
                "d MMMM y",
                "d MMM y",
                "dd/MM/y",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            DateTimeSkeletons{
                "HHmmsszzzz",
                "HHmmssz",
                "HHmmss",
                "HHmm",
                "yMMMMEEEEd",
                "yMMMMd",
                "yMMMd",
                "yMMdd",
            }
            availableFormats{
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E, M/d"}
                MMM{"LLL"}
                MMMEd{"E, MMM d"}
                MMMMEd{"E, MMMM d"}
                MMMMd{"MMMM d"}
                MMMd{"MMM d"}
                Md{"M/d"}
                d{"d"}
                hm{"h:mm a"}
                ms{"mm:ss"}
                y{"y"}
                yM{"M/y"}
                yMEd{"E, M/d/y"}
                yMMM{"MMM y"}
                yMMMEd{"E, MMM d, y"}
                yMMMM{"MMMM y"}
                yMMMd{"d MMM y"}
                yMd{"d/M/y"}
                yQQQ{"QQQ y"}
                yQQQQ{"QQQQ y"}
            }
            dayNames{
                format{
                    abbreviated{
                        "Kma",
                        "Tat",
                        "Ine",
                        "Tan",
                        "Arm",
                        "Maa",
                        "NMM",
                    }
                    wide{
                        "Kiumia",
                        "Njumatatu",
                        "Njumaine",
                        "Njumatano",
                        "Aramithi",
                        "Njumaa",
                        "NJumamothii",
                    }
                }
                stand-alone{
                    narrow{
                        "K",
                        "N",
                        "N",
                        "N",
                        "A",
                        "M",
                        "N",
                    }
                }
            }
            eras{
                abbreviated{
                    "MK",
                    "TK",
                }
                wide{
                    "Mbere ya Kristo",
                    "Thutha wa Kristo",
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "Mbe",
                        "Kai",
                        "Kat",
                        "Kan",
                        "Gat",
                        "Gan",
                        "Mug",
                        "Knn",
                        "Ken",
                        "Iku",
                        "Imw",
                        "Igi",
                    }
                    wide{
                        "Mweri wa mbere",
                        "Mweri wa kaĩri",
                        "Mweri wa kathatũ",
                        "Mweri wa kana",
                        "Mweri wa gatano",
                        "Mweri wa gatantatũ",
                        "Mweri wa mũgwanja",
                        "Mweri wa kanana",
                        "Mweri wa kenda",
                        "Mweri wa ikũmi",
                        "Mweri wa ikũmi na ũmwe",
                        "Mweri wa ikũmi na Kaĩrĩ",
                    }
                }
                stand-alone{
                    narrow{
                        "M",
                        "K",
                        "K",
                        "K",
                        "G",
                        "G",
                        "M",
                        "K",
                        "K",
                        "I",
                        "I",
                        "I",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "K1",
                        "K2",
                        "K3",
                        "K4",
                    }
                    wide{
                        "Kuota ya mbere",
                        "Kuota ya Kaĩrĩ",
                        "Kuota ya kathatu",
                        "Kuota ya kana",
                    }
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"’"}
        alternateQuotationStart{"‘"}
        quotationEnd{"”"}
        quotationStart{"“"}
    }
    fields{
        day{
            dn{"Mũthenya"}
            relative{
                "-1"{"Ĩgoro"}
                "0"{"Ũmũnthĩ"}
                "1"{"Rũciũ"}
            }
        }
        era{
            dn{"Ivinda"}
        }
        hour{
            dn{"Ithaa"}
        }
        minute{
            dn{"Ndagĩka"}
        }
        month{
            dn{"Mweri"}
        }
        second{
            dn{"Sekondi"}
        }
        week{
            dn{"Kiumia"}
        }
        weekday{
            dn{"Mũthenya kiumia-inĩ"}
        }
        year{
            dn{"Mwaka"}
        }
        zone{
            dn{"Gĩthaa"}
        }
    }
}
