﻿// © 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html#License
nnh{
    AuxExemplarCharacters{"[q r x]"}
    ExemplarCharacters{
        "[a á à â ǎ b c d e é è ê ě ɛ {ɛ\u0301} {ɛ\u0300} {ɛ\u0302} {ɛ\u030C} f g h i"
        " í ì j k l m ḿ n ń ŋ o ó ò ô ǒ ɔ {ɔ\u0301} {ɔ\u0300} {ɔ\u0302} {ɔ\u030C} p {"
        "pf} s {sh} t {ts} u ú ù û ǔ ʉ {ʉ\u0301} {ʉ\u0300} {ʉ\u0302} {ʉ\u030C} v w ẅ "
        "y ÿ z ʼ]"
    }
    ExemplarCharactersIndex{
        "[A B C D E Ɛ F G H I J K L M N Ŋ O Ɔ P {Pf} R S {Sh} T {Ts} U Ʉ V W Ẅ Y Ÿ Z "
        "ʼ]"
    }
    ExemplarCharactersPunctuation{"[, ; \\: ! ? . ' ‘ ’ « »]"}
    NumberElements{
        latn{
            patterns{
                currencyFormat{"¤ #,##0.00"}
                decimalFormat{"#,##0.###"}
            }
            symbols{
                decimal{","}
                group{"."}
                list{";"}
                percentSign{"%"}
            }
        }
    }
    Version{"2.1.25.97"}
    calendar{
        generic{
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE , 'lyɛ'̌ʼ d 'na' MMMM, y G",
                "'lyɛ'̌ʼ d 'na' MMMM, y G",
                "d MMM, y G",
                "dd/MM/yy GGGGG",
                "{1} {0}",
                "{1},{0}",
                "{1}, {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                yMEd{"E , 'lyɛ'̌ʼ d 'na' M, y"}
                yMMM{"MMM y"}
                yMMMEd{"E , 'lyɛ'̌ʼ d 'na' MMM, y"}
                yMMMd{"'lyɛ'̌ʼ d 'na' MMMM, y"}
                yMd{"d/M/y"}
            }
        }
        gregorian{
            AmPmMarkers{
                "mbaʼámbaʼ",
                "ncwònzém",
            }
            AmPmMarkersAbbr{
                "mbaʼámbaʼ",
                "ncwònzém",
            }
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE , 'lyɛ'̌ʼ d 'na' MMMM, y",
                "'lyɛ'̌ʼ d 'na' MMMM, y",
                "d MMM, y",
                "dd/MM/yy",
                "{1} {0}",
                "{1},{0}",
                "{1}, {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                yMEd{"E , 'lyɛ'̌ʼ d 'na' M, y"}
                yMMM{"MMM y"}
                yMMMEd{"E , 'lyɛ'̌ʼ d 'na' MMM, y"}
                yMMMd{"'lyɛ'̌ʼ d 'na' MMMM, y"}
                yMd{"d/M/y"}
            }
            dayNames{
                format{
                    abbreviated{
                        "lyɛʼɛ́ sẅíŋtè",
                        "mvfò lyɛ̌ʼ",
                        "mbɔ́ɔntè mvfò lyɛ̌ʼ",
                        "tsètsɛ̀ɛ lyɛ̌ʼ",
                        "mbɔ́ɔntè tsetsɛ̀ɛ lyɛ̌ʼ",
                        "mvfò màga lyɛ̌ʼ",
                        "màga lyɛ̌ʼ",
                    }
                    short{
                        "lyɛʼɛ́ sẅíŋtè",
                        "mvfò lyɛ̌ʼ",
                        "mbɔ́ɔntè mvfò lyɛ̌ʼ",
                        "tsètsɛ̀ɛ lyɛ̌ʼ",
                        "mbɔ́ɔntè tsetsɛ̀ɛ lyɛ̌ʼ",
                        "mvfò màga lyɛ̌ʼ",
                        "màga lyɛ̌ʼ",
                    }
                    wide{
                        "lyɛʼɛ́ sẅíŋtè",
                        "mvfò lyɛ̌ʼ",
                        "mbɔ́ɔntè mvfò lyɛ̌ʼ",
                        "tsètsɛ̀ɛ lyɛ̌ʼ",
                        "mbɔ́ɔntè tsetsɛ̀ɛ lyɛ̌ʼ",
                        "mvfò màga lyɛ̌ʼ",
                        "màga lyɛ̌ʼ",
                    }
                }
                stand-alone{
                    abbreviated{
                        "lyɛʼɛ́ sẅíŋtè",
                        "mvfò lyɛ̌ʼ",
                        "mbɔ́ɔntè mvfò lyɛ̌ʼ",
                        "tsètsɛ̀ɛ lyɛ̌ʼ",
                        "mbɔ́ɔntè tsetsɛ̀ɛ lyɛ̌ʼ",
                        "mvfò màga lyɛ̌ʼ",
                        "màga lyɛ̌ʼ",
                    }
                    short{
                        "lyɛʼɛ́ sẅíŋtè",
                        "mvfò lyɛ̌ʼ",
                        "mbɔ́ɔntè mvfò lyɛ̌ʼ",
                        "tsètsɛ̀ɛ lyɛ̌ʼ",
                        "mbɔ́ɔntè tsetsɛ̀ɛ lyɛ̌ʼ",
                        "mvfò màga lyɛ̌ʼ",
                        "màga lyɛ̌ʼ",
                    }
                    wide{
                        "lyɛʼɛ́ sẅíŋtè",
                        "mvfò lyɛ̌ʼ",
                        "mbɔ́ɔntè mvfò lyɛ̌ʼ",
                        "tsètsɛ̀ɛ lyɛ̌ʼ",
                        "mbɔ́ɔntè tsetsɛ̀ɛ lyɛ̌ʼ",
                        "mvfò màga lyɛ̌ʼ",
                        "màga lyɛ̌ʼ",
                    }
                }
            }
            eras{
                abbreviated{
                    "m.z.Y.",
                    "m.g.n.Y.",
                }
                wide{
                    "mé zyé Yěsô",
                    "mé gÿo ńzyé Yěsô",
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "saŋ tsetsɛ̀ɛ lùm",
                        "saŋ kàg ngwóŋ",
                        "saŋ lepyè shúm",
                        "saŋ cÿó",
                        "saŋ tsɛ̀ɛ cÿó",
                        "saŋ njÿoláʼ",
                        "saŋ tyɛ̀b tyɛ̀b mbʉ̀ŋ",
                        "saŋ mbʉ̀ŋ",
                        "saŋ ngwɔ̀ʼ mbÿɛ",
                        "saŋ tàŋa tsetsáʼ",
                        "saŋ mejwoŋó",
                        "saŋ lùm",
                    }
                    wide{
                        "saŋ tsetsɛ̀ɛ lùm",
                        "saŋ kàg ngwóŋ",
                        "saŋ lepyè shúm",
                        "saŋ cÿó",
                        "saŋ tsɛ̀ɛ cÿó",
                        "saŋ njÿoláʼ",
                        "saŋ tyɛ̀b tyɛ̀b mbʉ̀ŋ",
                        "saŋ mbʉ̀ŋ",
                        "saŋ ngwɔ̀ʼ mbÿɛ",
                        "saŋ tàŋa tsetsáʼ",
                        "saŋ mejwoŋó",
                        "saŋ lùm",
                    }
                }
                stand-alone{
                    abbreviated{
                        "saŋ tsetsɛ̀ɛ lùm",
                        "saŋ kàg ngwóŋ",
                        "saŋ lepyè shúm",
                        "saŋ cÿó",
                        "saŋ tsɛ̀ɛ cÿó",
                        "saŋ njÿoláʼ",
                        "saŋ tyɛ̀b tyɛ̀b mbʉ̀ŋ",
                        "saŋ mbʉ̀ŋ",
                        "saŋ ngwɔ̀ʼ mbÿɛ",
                        "saŋ tàŋa tsetsáʼ",
                        "saŋ mejwoŋó",
                        "saŋ lùm",
                    }
                    wide{
                        "saŋ tsetsɛ̀ɛ lùm",
                        "saŋ kàg ngwóŋ",
                        "saŋ lepyè shúm",
                        "saŋ cÿó",
                        "saŋ tsɛ̀ɛ cÿó",
                        "saŋ njÿoláʼ",
                        "saŋ tyɛ̀b tyɛ̀b mbʉ̀ŋ",
                        "saŋ mbʉ̀ŋ",
                        "saŋ ngwɔ̀ʼ mbÿɛ",
                        "saŋ tàŋa tsetsáʼ",
                        "saŋ mejwoŋó",
                        "saŋ lùm",
                    }
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"”"}
        alternateQuotationStart{"“"}
        quotationEnd{"»"}
        quotationStart{"«"}
    }
    fields{
        day{
            dn{"lyɛ̌ʼ"}
            relative{
                "-1"{"jǔɔ gẅie à ka tɔ̌g"}
                "0"{"lyɛ̌ʼɔɔn"}
                "1"{"jǔɔ gẅie à ne ntóo"}
            }
        }
        era{
            dn{"tsɔ́ fʉ̀ʼ"}
        }
        hour{
            dn{"fʉ̀ʼ nèm"}
        }
        weekday{
            dn{"ngàba láʼ"}
        }
        year{
            dn{"ngùʼ"}
        }
    }
    measurementSystemNames{
        metric{"fʉ̀ʼʉ mmó"}
    }
}
