﻿// © 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html#License
ln{
    AuxExemplarCharacters{"[j q x]"}
    ExemplarCharacters{
        "[a á â ǎ b c d e é ê ě ɛ {ɛ\u0301} {ɛ\u0302} {ɛ\u030C} f g {gb} h i í î ǐ k "
        "l m {mb} {mp} n {nd} {ng} {nk} {ns} {nt} {ny} {nz} o ó ô ǒ ɔ {ɔ\u0301} {ɔ"
        "\u0302} {ɔ\u030C} p r s t u ú v w y z]"
    }
    ExemplarCharactersIndex{
        "[A B C D E Ɛ F G {Gb} H I K L M {Mb} {Mp} N {Nd} {Ng} {Nk} {Ns} {Nt} {Ny} {N"
        "z} O Ɔ P R S T U V W Y Z]"
    }
    NumberElements{
        latn{
            patterns{
                currencyFormat{"#,##0.00 ¤"}
                decimalFormat{"#,##0.###"}
            }
            symbols{
                decimal{","}
                group{"."}
            }
        }
    }
    Version{"2.1.31.74"}
    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}",
            }
            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{
                "ntɔ́ngɔ́",
                "mpókwa",
            }
            AmPmMarkersAbbr{
                "ntɔ́ngɔ́",
                "mpókwa",
            }
            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}",
            }
            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{
                        "eye",
                        "ybo",
                        "mbl",
                        "mst",
                        "min",
                        "mtn",
                        "mps",
                    }
                    wide{
                        "eyenga",
                        "mokɔlɔ mwa yambo",
                        "mokɔlɔ mwa míbalé",
                        "mokɔlɔ mwa mísáto",
                        "mokɔlɔ ya mínéi",
                        "mokɔlɔ ya mítáno",
                        "mpɔ́sɔ",
                    }
                }
                stand-alone{
                    narrow{
                        "e",
                        "y",
                        "m",
                        "m",
                        "m",
                        "m",
                        "p",
                    }
                }
            }
            eras{
                abbreviated{
                    "libóso ya",
                    "nsima ya Y",
                }
                wide{
                    "Yambo ya Yézu Krís",
                    "Nsima ya Yézu Krís",
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "yan",
                        "fbl",
                        "msi",
                        "apl",
                        "mai",
                        "yun",
                        "yul",
                        "agt",
                        "stb",
                        "ɔtb",
                        "nvb",
                        "dsb",
                    }
                    wide{
                        "sánzá ya yambo",
                        "sánzá ya míbalé",
                        "sánzá ya mísáto",
                        "sánzá ya mínei",
                        "sánzá ya mítáno",
                        "sánzá ya motóbá",
                        "sánzá ya nsambo",
                        "sánzá ya mwambe",
                        "sánzá ya libwa",
                        "sánzá ya zómi",
                        "sánzá ya zómi na mɔ̌kɔ́",
                        "sánzá ya zómi na míbalé",
                    }
                }
                stand-alone{
                    narrow{
                        "y",
                        "f",
                        "m",
                        "a",
                        "m",
                        "y",
                        "y",
                        "a",
                        "s",
                        "ɔ",
                        "n",
                        "d",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "SM1",
                        "SM2",
                        "SM3",
                        "SM4",
                    }
                    wide{
                        "sánzá mísáto ya yambo",
                        "sánzá mísáto ya míbalé",
                        "sánzá mísáto ya mísáto",
                        "sánzá mísáto ya mínei",
                    }
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"’"}
        alternateQuotationStart{"‘"}
        quotationEnd{"”"}
        quotationStart{"“"}
    }
    fields{
        day{
            dn{"Mokɔlɔ"}
            relative{
                "-1"{"Lóbi elékí"}
                "0"{"Lɛlɔ́"}
                "1"{"Lóbi ekoyâ"}
            }
        }
        dayperiod{
            dn{"Eleko ya mokɔlɔ"}
        }
        era{
            dn{"Ntángo"}
        }
        hour{
            dn{"Ngonga"}
        }
        minute{
            dn{"Monúti"}
        }
        month{
            dn{"Sánzá"}
        }
        second{
            dn{"Sɛkɔ́ndɛ"}
        }
        week{
            dn{"Pɔ́sɔ"}
        }
        weekday{
            dn{"Mokɔlɔ ya pɔ́sɔ"}
        }
        year{
            dn{"Mobú"}
        }
        zone{
            dn{"Ntáká ya ngonga"}
        }
    }
}
