﻿// ***************************************************************************
// *
// * 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>/common/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"}
            }
        }
    }
    Version{"2.0.84.55"}
    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é"}
        }
    }
}
