﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <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 D E F G H I J K L M N O P R S T U W Y]"}
    NumberElements{
        latn{
            patterns{
                accountingFormat{"¤#,##0.00;(¤#,##0.00)"}
                currencyFormat{"¤#,##0.00"}
            }
        }
    }
    Version{"2.1.19.80"}
    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é"}
        }
    }
}
