﻿// © 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
rn{
    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{
        latn{
            patterns{
                currencyFormat{"#,##0.00¤"}
                decimalFormat{"#,##0.###"}
                percentFormat{"#,##0 %"}
            }
            symbols{
                decimal{","}
                group{"."}
            }
        }
    }
    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",
                "d/M/y GGGGG",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"E d"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E d/M"}
                MMM{"LLL"}
                MMMEd{"E d MMM"}
                MMMd{"d MMM"}
                Md{"d/M"}
                d{"d"}
                hm{"h:mm a"}
                hms{"h:mm:ss a"}
                ms{"m:ss"}
                y{"y"}
                yM{"M/y"}
                yMEd{"E d/M/y"}
                yMMM{"MMM y"}
                yMMMEd{"E d MMM y"}
                yMMMd{"d MMM y"}
                yMd{"d/M/y"}
                yQQQ{"QQQ y"}
                yQQQQ{"QQQQ y"}
            }
        }
        gregorian{
            AmPmMarkers{
                "Z.MU.",
                "Z.MW.",
            }
            AmPmMarkersAbbr{
                "Z.MU.",
                "Z.MW.",
            }
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE d MMMM y",
                "d MMMM y",
                "d MMM y",
                "d/M/y",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"E d"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E d/M"}
                MMM{"LLL"}
                MMMEd{"E d MMM"}
                MMMd{"d MMM"}
                Md{"d/M"}
                d{"d"}
                hm{"h:mm a"}
                hms{"h:mm:ss a"}
                ms{"m:ss"}
                y{"y"}
                yM{"M/y"}
                yMEd{"E d/M/y"}
                yMMM{"MMM y"}
                yMMMEd{"E d MMM y"}
                yMMMd{"d MMM y"}
                yMd{"d/M/y"}
                yQQQ{"QQQ y"}
                yQQQQ{"QQQQ y"}
            }
            dayNames{
                format{
                    abbreviated{
                        "cu.",
                        "mbe.",
                        "kab.",
                        "gtu.",
                        "kan.",
                        "gnu.",
                        "gnd.",
                    }
                    wide{
                        "Ku w’indwi",
                        "Ku wa mbere",
                        "Ku wa kabiri",
                        "Ku wa gatatu",
                        "Ku wa kane",
                        "Ku wa gatanu",
                        "Ku wa gatandatu",
                    }
                }
            }
            eras{
                abbreviated{
                    "Mb.Y.",
                    "Ny.Y",
                }
                wide{
                    "Mbere ya Yezu",
                    "Nyuma ya Yezu",
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "Mut.",
                        "Gas.",
                        "Wer.",
                        "Mat.",
                        "Gic.",
                        "Kam.",
                        "Nya.",
                        "Kan.",
                        "Nze.",
                        "Ukw.",
                        "Ugu.",
                        "Uku.",
                    }
                    wide{
                        "Nzero",
                        "Ruhuhuma",
                        "Ntwarante",
                        "Ndamukiza",
                        "Rusama",
                        "Ruheshi",
                        "Mukakaro",
                        "Nyandagaro",
                        "Nyakanga",
                        "Gitugutu",
                        "Munyonyo",
                        "Kigarama",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "I1",
                        "I2",
                        "I3",
                        "I4",
                    }
                    wide{
                        "Igice ca mbere c’umwaka",
                        "Igice ca kabiri c’umwaka",
                        "Igice ca gatatu c’umwaka",
                        "Igice ca kane c’umwaka",
                    }
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"’"}
        alternateQuotationStart{"’"}
        quotationEnd{"”"}
        quotationStart{"”"}
    }
    fields{
        day{
            dn{"Umusi"}
            relative{
                "-1"{"Ejo (haheze)"}
                "0"{"Uyu musi"}
                "1"{"Ejo (hazoza)"}
            }
        }
        dayperiod{
            dn{"M.s/N.s"}
        }
        era{
            dn{"Igihe"}
        }
        hour{
            dn{"Isaha"}
        }
        minute{
            dn{"Umunota"}
        }
        month{
            dn{"Ukwezi"}
        }
        second{
            dn{"Isegonda"}
        }
        week{
            dn{"Indwi, Iyinga"}
        }
        weekday{
            dn{"Iminsi y’iyinga"}
        }
        year{
            dn{"Umwaka"}
        }
        zone{
            dn{"Isaha yo mukarere"}
        }
    }
}
