﻿// © 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html
// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml
yav{
    AuxExemplarCharacters{"[g j q r x z]"}
    ExemplarCharacters{
        "[a á à â ǎ ā b c d e é è ɛ {ɛ\u0301} {ɛ\u0300} f h i í ì î ī k l m {mb} n {n"
        "y} ŋ {ŋg} o ó ò ô ǒ ō ɔ {ɔ\u0301} {ɔ\u0300} p s t u ú ù û ǔ ū v w y]"
    }
    ExemplarCharactersIndex{"[A B C D E Ɛ F H I K L M N Ŋ O Ɔ P S T U V W Y]"}
    ExemplarCharactersNumbers{"[  \\- ‑ , % ‰ + 0 1 2 3 4 5 6 7 8 9]"}
    NumberElements{
        latn{
            patterns{
                accountingFormat{"#,##0.00 ¤;(#,##0.00 ¤)"}
                currencyFormat{"#,##0.00 ¤"}
                decimalFormat{"#,##0.###"}
                percentFormat{"#,##0%"}
            }
            symbols{
                decimal{","}
                group{" "}
            }
        }
    }
    calendar{
        generic{
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE d MMMM y G",
                "d MMMM y G",
                "d MMM y G",
                "d/M/y GGGGG",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            DateTimeSkeletons{
                "HHmmsszzzz",
                "HHmmssz",
                "HHmmss",
                "HHmm",
                "GyMMMMEEEEd",
                "GyMMMMd",
                "GyMMMd",
                "GGGGGyMd",
            }
            availableFormats{
                Ed{"E d"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E d/M"}
                MMM{"LLL"}
                MMMEd{"E d MMM"}
                MMMd{"d MMM"}
                Md{"d/M"}
                d{"d"}
                hm{"h:mm a"}
                hms{"h:mm:ss a"}
                ms{"m:ss"}
                y{"y"}
                yM{"M/y"}
                yMEd{"E d/M/y"}
                yMMM{"MMM y"}
                yMMMEd{"E d MMM y"}
                yMMMd{"d MMM y"}
                yMd{"d/M/y"}
                yQQQ{"QQQ y"}
                yQQQQ{"QQQQ y"}
            }
        }
        gregorian{
            AmPmMarkers{
                "kiɛmɛ́ɛm",
                "kisɛ́ndɛ",
            }
            AmPmMarkersAbbr{
                "kiɛmɛ́ɛm",
                "kisɛ́ndɛ",
            }
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE d MMMM y",
                "d MMMM y",
                "d MMM y",
                "d/M/y",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            DateTimeSkeletons{
                "HHmmsszzzz",
                "HHmmssz",
                "HHmmss",
                "HHmm",
                "yMMMMEEEEd",
                "yMMMMd",
                "yMMMd",
                "yMd",
            }
            availableFormats{
                Ed{"E d"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E d/M"}
                MMM{"LLL"}
                MMMEd{"E d MMM"}
                MMMd{"d MMM"}
                Md{"d/M"}
                d{"d"}
                hm{"h:mm a"}
                hms{"h:mm:ss a"}
                ms{"m:ss"}
                y{"y"}
                yM{"M/y"}
                yMEd{"E d/M/y"}
                yMMM{"MMM y"}
                yMMMEd{"E d MMM y"}
                yMMMd{"d MMM y"}
                yMd{"d/M/y"}
                yQQQ{"QQQ y"}
                yQQQQ{"QQQQ y"}
            }
            dayNames{
                format{
                    abbreviated{
                        "sd",
                        "md",
                        "mw",
                        "et",
                        "kl",
                        "fl",
                        "ss",
                    }
                    wide{
                        "sɔ́ndiɛ",
                        "móndie",
                        "muányáŋmóndie",
                        "metúkpíápɛ",
                        "kúpélimetúkpiapɛ",
                        "feléte",
                        "séselé",
                    }
                }
                stand-alone{
                    narrow{
                        "s",
                        "m",
                        "m",
                        "e",
                        "k",
                        "f",
                        "s",
                    }
                }
            }
            eras{
                abbreviated{
                    "k.Y.",
                    "+J.C.",
                }
                wide{
                    "katikupíen Yésuse",
                    "ékélémkúnupíén n",
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "o.1",
                        "o.2",
                        "o.3",
                        "o.4",
                        "o.5",
                        "o.6",
                        "o.7",
                        "o.8",
                        "o.9",
                        "o.10",
                        "o.11",
                        "o.12",
                    }
                    wide{
                        "pikítíkítie, oólí ú kutúan",
                        "siɛyɛ́, oóli ú kándíɛ",
                        "ɔnsúmbɔl, oóli ú kátátúɛ",
                        "mesiŋ, oóli ú kénie",
                        "ensil, oóli ú kátánuɛ",
                        "ɔsɔn",
                        "efute",
                        "pisuyú",
                        "imɛŋ i puɔs",
                        "imɛŋ i putúk,oóli ú kátíɛ",
                        "makandikɛ",
                        "pilɔndɔ́",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "Q1",
                        "Q2",
                        "Q3",
                        "Q4",
                    }
                    wide{
                        "ndátúɛ 1",
                        "ndátúɛ 2",
                        "ndátúɛ 3",
                        "ndátúɛ 4",
                    }
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"»"}
        alternateQuotationStart{"«"}
        quotationEnd{"»"}
        quotationStart{"«"}
    }
    fields{
        day{
            dn{"puɔ́sɛ́"}
            relative{
                "-1"{"púyoó"}
                "0"{"ínaan"}
                "1"{"nakinyám"}
            }
        }
        dayperiod{
            dn{"kiɛmɛ́ɛm,kisɛ́ndɛ"}
        }
        era{
            dn{"kipéŋén"}
        }
        hour{
            dn{"kisikɛl,"}
        }
        minute{
            dn{"minít"}
        }
        month{
            dn{"oóli"}
        }
        second{
            dn{"síkɛn"}
        }
        week{
            dn{"sɔ́ndiɛ"}
        }
        weekday{
            dn{"metúk mɔ́sɔ́ndiɛ"}
        }
        year{
            dn{"yɔɔŋ"}
        }
        zone{
            dn{"kinúki kisikɛl ɔ́ pitɔŋ"}
        }
    }
}
