﻿// ***************************************************************************
// *
// * Copyright (C) 2012 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/mgh.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/mgh.xml
 */
mgh{
    AuxExemplarCharacters{"[q x]"}
    ExemplarCharacters{"[a b c d e f g h i j k l m n o p r s t u v w y z]"}
    ExemplarCharactersIndex{"[A B C D E F G H I J K L M N O P R S T U V W Y Z]"}
    LocaleScript{
        "Latn",
    }
    NumberElements{
        latn{
            symbols{
                decimal{","}
                group{"."}
            }
        }
    }
    Version{"2.0.77.46"}
    calendar{
        gregorian{
            AmPmMarkers{
                "wichishu",
                "mchochil'l",
            }
            DateTimePatterns{
                "h:mm:ss a zzzz",
                "h:mm:ss a z",
                "h:mm:ss a",
                "h:mm a",
                "EEEE, d MMMM y",
                "d MMMM y",
                "d MMM y",
                "dd/MM/yyyy",
                "{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, M/d"}
                MMM{"LLL"}
                MMMEd{"E, MMM d"}
                MMMd{"MMM d"}
                Md{"d/M"}
                d{"d"}
                hm{"h:mm a"}
                hms{"h:mm:ss a"}
                ms{"m:ss"}
                y{"y"}
                yM{"M/y"}
                yMEd{"E, M/d/y"}
                yMMM{"MMM y"}
                yMMMEd{"E, MMM d, y"}
                yMMMd{"MMM d, y"}
                yMd{"d/M/y"}
                yQQQ{"QQQ y"}
                yQQQQ{"QQQQ y"}
            }
            dayNames{
                format{
                    abbreviated{
                        "Sab",
                        "Jtt",
                        "Jnn",
                        "Jtn",
                        "Ara",
                        "Iju",
                        "Jmo",
                    }
                    wide{
                        "Sabato",
                        "Jumatatu",
                        "Jumanne",
                        "Jumatano",
                        "Arahamisi",
                        "Ijumaa",
                        "Jumamosi",
                    }
                }
                stand-alone{
                    narrow{
                        "S",
                        "J",
                        "J",
                        "J",
                        "A",
                        "I",
                        "J",
                    }
                }
            }
            eras{
                abbreviated{
                    "HY",
                    "YY",
                }
                wide{
                    "Hinapiya yesu",
                    "Yopia yesu",
                }
            }
            fields{
                day{
                    dn{"nihuku"}
                    relative{
                        "-1"{"n'chana"}
                        "0"{"lel'lo"}
                        "1"{"me'llo"}
                    }
                }
                era{
                    dn{"kal'lai"}
                }
                hour{
                    dn{"isaa"}
                }
                minute{
                    dn{"idakika"}
                }
                month{
                    dn{"mweri"}
                }
                second{
                    dn{"isekunde"}
                }
                week{
                    dn{"iwiki mocha"}
                }
                weekday{
                    dn{"nihuku no mwisho wa wiki"}
                }
                year{
                    dn{"yaka"}
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "Kwa",
                        "Una",
                        "Rar",
                        "Che",
                        "Tha",
                        "Moc",
                        "Sab",
                        "Nan",
                        "Tis",
                        "Kum",
                        "Moj",
                        "Yel",
                    }
                    wide{
                        "Mweri wo kwanza",
                        "Mweri wo unayeli",
                        "Mweri wo uneraru",
                        "Mweri wo unecheshe",
                        "Mweri wo unethanu",
                        "Mweri wo thanu na mocha",
                        "Mweri wo saba",
                        "Mweri wo nane",
                        "Mweri wo tisa",
                        "Mweri wo kumi",
                        "Mweri wo kumi na moja",
                        "Mweri wo kumi na yel'li",
                    }
                }
                stand-alone{
                    narrow{
                        "K",
                        "U",
                        "R",
                        "C",
                        "T",
                        "M",
                        "S",
                        "N",
                        "T",
                        "K",
                        "M",
                        "Y",
                    }
                }
            }
        }
    }
}
