﻿// ***************************************************************************
// *
// * Copyright (C) 2013 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/rw.xml
// *
// ***************************************************************************
/**
 * ICU <specials> source: <path>/common/main/rw.xml
 */
rw{
    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{
        latn{
            symbols{
                decimal{","}
                group{"."}
            }
        }
    }
    Version{"2.0.90.61"}
    calendar{
        generic{
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, G y MMMM dd",
                "G y MMMM d",
                "G y MMM d",
                "GGGGG yy/MM/dd",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
        }
        gregorian{
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, y MMMM dd",
                "y MMMM d",
                "y MMM d",
                "yy/MM/dd",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            dayNames{
                format{
                    abbreviated{
                        "cyu.",
                        "mbe.",
                        "kab.",
                        "gtu.",
                        "kan.",
                        "gnu.",
                        "gnd.",
                    }
                    wide{
                        "Ku cyumweru",
                        "Kuwa mbere",
                        "Kuwa kabiri",
                        "Kuwa gatatu",
                        "Kuwa kane",
                        "Kuwa gatanu",
                        "Kuwa gatandatu",
                    }
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "mut.",
                        "gas.",
                        "wer.",
                        "mat.",
                        "gic.",
                        "kam.",
                        "nya.",
                        "kan.",
                        "nze.",
                        "ukw.",
                        "ugu.",
                        "uku.",
                    }
                    wide{
                        "Mutarama",
                        "Gashyantare",
                        "Werurwe",
                        "Mata",
                        "Gicuransi",
                        "Kamena",
                        "Nyakanga",
                        "Kanama",
                        "Nzeli",
                        "Ukwakira",
                        "Ugushyingo",
                        "Ukuboza",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "I1",
                        "I2",
                        "I3",
                        "I4",
                    }
                    wide{
                        "igihembwe cya mbere",
                        "igihembwe cya kabiri",
                        "igihembwe cya gatatu",
                        "igihembwe cya kane",
                    }
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"’"}
        alternateQuotationStart{"‘"}
        quotationEnd{"»"}
        quotationStart{"«"}
    }
}
