﻿// ***************************************************************************
// *
// * Copyright (C) 2013 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/yo.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/yo.xml
 */
yo{
    AuxExemplarCharacters{"[c q v x z]"}
    ExemplarCharacters{
        "[a á à b d e é è ẹ {ẹ\u0301} {ẹ\u0300} f g {gb} h i í ì j k l m n o ó ò ọ {ọ"
        "\u0301} {ọ\u0300} p r s ṣ t u ú ù w y]"
    }
    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{
            patterns{
                currencyFormat{"¤#,##0.00;(¤#,##0.00)"}
            }
        }
    }
    Version{"2.0.82.45"}
    calendar{
        generic{
            DateTimePatterns{
                "h:mm:ss a zzzz",
                "h:mm:ss a z",
                "h:mm:ss a",
                "h:mm a",
                "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}",
            }
            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"}
                yQQQ{"QQQ y"}
                yQQQQ{"QQQQ y"}
            }
        }
        gregorian{
            AmPmMarkers{
                "Àárọ̀",
                "Ọ̀sán",
            }
            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/y",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            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"}
                yQQQ{"QQQ y"}
                yQQQQ{"QQQQ y"}
            }
            dayNames{
                format{
                    abbreviated{
                        "Àìkú",
                        "Ajé",
                        "Ìsẹ́gun",
                        "Ọjọ́rú",
                        "Ọjọ́bọ",
                        "Ẹtì",
                        "Àbámẹ́ta",
                    }
                    wide{
                        "Ọjọ́ Àìkú",
                        "Ọjọ́ Ajé",
                        "Ọjọ́ Ìsẹ́gun",
                        "Ọjọ́rú",
                        "Ọjọ́bọ",
                        "Ọjọ́ Ẹtì",
                        "Ọjọ́ Àbámẹ́ta",
                    }
                }
            }
            eras{
                abbreviated{
                    "SK",
                    "LK",
                }
                wide{
                    "Saju Kristi",
                    "Lehin Kristi",
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "Ṣẹ́rẹ́",
                        "Èrèlè",
                        "Ẹrẹ̀nà",
                        "Ìgbé",
                        "Ẹ̀bibi",
                        "Òkúdu",
                        "Agẹmọ",
                        "Ògún",
                        "Owewe",
                        "Ọ̀wàrà",
                        "Bélú",
                        "Ọ̀pẹ̀",
                    }
                    wide{
                        "Oṣù Ṣẹ́rẹ́",
                        "Oṣù Èrèlè",
                        "Oṣù Ẹrẹ̀nà",
                        "Oṣù Ìgbé",
                        "Oṣù Ẹ̀bibi",
                        "Oṣù Òkúdu",
                        "Oṣù Agẹmọ",
                        "Oṣù Ògún",
                        "Oṣù Owewe",
                        "Oṣù Ọ̀wàrà",
                        "Oṣù Bélú",
                        "Oṣù Ọ̀pẹ̀",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "K1",
                        "K2",
                        "K3",
                        "K4",
                    }
                    wide{
                        "Kọ́tà Kínní",
                        "Kọ́tà Kejì",
                        "Kọ́à Keta",
                        "Kọ́tà Kẹrin",
                    }
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"’"}
        alternateQuotationStart{"‘"}
        quotationEnd{"”"}
        quotationStart{"“"}
    }
    fields{
        day{
            dn{"Ọjọ́"}
            relative{
                "-1"{"Àná"}
                "-2"{"íjẹta"}
                "0"{"Òní"}
                "1"{"Ọ̀la"}
                "2"{"òtúùnla"}
            }
        }
        dayperiod{
            dn{"Àárọ̀/ọ̀sán"}
        }
        era{
            dn{"Ìgbà"}
        }
        hour{
            dn{"wákàtí"}
        }
        minute{
            dn{"Ìsẹ́jú"}
        }
        month{
            dn{"Osù"}
        }
        second{
            dn{"Ìsẹ́jú Ààyá"}
        }
        week{
            dn{"Ọ̀sè"}
        }
        weekday{
            dn{"Ọjọ́ Ọ̀sẹ̀"}
        }
        year{
            dn{"Ọdún"}
        }
        zone{
            dn{"Ibi Àkókò Àgbáyé"}
        }
    }
}
