﻿// © 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html#License
wo{
    AuxExemplarCharacters{"[ã h v z]"}
    ExemplarCharacters{"[a à b c d e é ë f g i j k l m n ñ ŋ o ó p q r s t u w x 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]"}
    ExemplarCharactersNumbers{"[\\- , . % ‰ + 0 1 2 3 4 5 6 7 8 9]"}
    NumberElements{
        default{"latn"}
        latn{
            miscPatterns{
                atLeast{"⩾{0}"}
                range{"{0}–{1}"}
            }
            patterns{
                accountingFormat{"¤ #,##0.00"}
                currencyFormat{"¤ #,##0.00"}
                decimalFormat{"#,##0.###"}
                percentFormat{"#,##0%"}
                scientificFormat{"#E0"}
            }
            symbols{
                decimal{","}
                exponential{"E"}
                group{"."}
                infinity{"∞"}
                minusSign{"-"}
                nan{"NaN"}
                perMille{"‰"}
                percentSign{"%"}
                plusSign{"+"}
                superscriptingExponent{"×"}
            }
        }
        minimumGroupingDigits{"1"}
        native{"latn"}
    }
    Version{"2.1.38.71"}
    calendar{
        generic{
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, d MMM, y G",
                "d MMMM, y G",
                "d MMM, y G",
                "dd-MM-y GGGGG",
                "{1} - {0}",
                "{1} 'ci' {0}",
                "{1} 'ci' {0}",
                "{1} - {0}",
                "{1} - {0}",
            }
            availableFormats{
                E{"ccc"}
                Ed{"E, d"}
                Gy{"y G"}
                GyMMM{"MMM, y G"}
                GyMMMEd{"E, d MMM, y G"}
                GyMMMd{"d MMM, y G"}
                M{"L"}
                MEd{"E, dd-MM"}
                MMM{"LLL"}
                MMMEd{"E, d MMM"}
                MMMMd{"d MMMM"}
                MMMd{"d MMM"}
                Md{"dd-MM"}
                d{"d"}
                y{"y G"}
                yyyy{"y G"}
                yyyyM{"MM y GGGGG"}
                yyyyMEd{"E, dd/MM/y GGGGG"}
                yyyyMMM{"MMM y G"}
                yyyyMMMEd{"E, d MMM y G"}
                yyyyMMMM{"MMMM y G"}
                yyyyMMMd{"d/MM/y G"}
                yyyyMd{"d/M/y GGGGG"}
                yyyyQQQ{"QQQ y G"}
                yyyyQQQQ{"QQQQ y G"}
            }
            intervalFormats{
                fallback{"{0} – {1}"}
            }
        }
        gregorian{
            AmPmMarkers{
                "Sub",
                "Ngo",
            }
            AmPmMarkersAbbr{
                "Sub",
                "Ngo",
            }
            AmPmMarkersNarrow{
                "Sub",
                "Ngo",
            }
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, d MMM, y",
                "d MMMM, y",
                "d MMM, y",
                "dd-MM-y",
                "{1} - {0}",
                "{1} 'ci' {0}",
                "{1} 'ci' {0}",
                "{1} - {0}",
                "{1} - {0}",
            }
            appendItems{
                Timezone{"{0} {1}"}
            }
            availableFormats{
                E{"ccc"}
                EHm{"E HH:mm"}
                EHms{"E HH:mm:ss"}
                Ed{"E, d"}
                Ehm{"E h:mm a"}
                Ehms{"E h:mm:ss a"}
                Gy{"y G"}
                GyMMM{"MMM, y G"}
                GyMMMEd{"E, d MMM, y G"}
                GyMMMd{"d MMM, y G"}
                H{"HH"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                Hmsv{"HH:mm:ss v"}
                Hmv{"HH:mm v"}
                M{"L"}
                MEd{"E, dd-MM"}
                MMM{"LLL"}
                MMMEd{"E, d MMM"}
                MMMMd{"d MMMM"}
                MMMd{"d MMM"}
                Md{"dd-MM"}
                d{"d"}
                h{"h a"}
                hm{"h:mm a"}
                hms{"h:mm:ss a"}
                hmsv{"h:mm:ss a v"}
                hmv{"h:mm a v"}
                ms{"mm:ss"}
                y{"y"}
                yM{"MM-y"}
                yMEd{"E, dd-MM-y"}
                yMMM{"MMM y"}
                yMMMEd{"E, d MMM y"}
                yMMMM{"MMMM y"}
                yMMMd{"d MMM y"}
                yMd{"dd-MM-y"}
                yQQQ{"QQQ y"}
                yQQQQ{"QQQQ y"}
            }
            dayNames{
                format{
                    abbreviated{
                        "Dib",
                        "Alt",
                        "Tal",
                        "Àla",
                        "Alx",
                        "Àjj",
                        "Ase",
                    }
                    narrow{
                        "Dib",
                        "Alt",
                        "Tal",
                        "Àla",
                        "Alx",
                        "Àjj",
                        "Ase",
                    }
                    short{
                        "Dib",
                        "Alt",
                        "Tal",
                        "Àla",
                        "Alx",
                        "Àjj",
                        "Ase",
                    }
                    wide{
                        "Dibéer",
                        "Altine",
                        "Talaata",
                        "Àlarba",
                        "Alxamis",
                        "Àjjuma",
                        "Aseer",
                    }
                }
                stand-alone{
                    abbreviated{
                        "Dib",
                        "Alt",
                        "Tal",
                        "Àla",
                        "Alx",
                        "Àjj",
                        "Ase",
                    }
                    narrow{
                        "Dib",
                        "Alt",
                        "Tal",
                        "Àla",
                        "Alx",
                        "Àjj",
                        "Ase",
                    }
                    short{
                        "Dib",
                        "Alt",
                        "Tal",
                        "Àla",
                        "Alx",
                        "Àjj",
                        "Ase",
                    }
                    wide{
                        "Dibéer",
                        "Altine",
                        "Talaata",
                        "Àlarba",
                        "Alxamis",
                        "Àjjuma",
                        "Aseer",
                    }
                }
            }
            dayPeriod{
                stand-alone{
                    abbreviated{
                        am{"Sub"}
                        pm{"Ngo"}
                    }
                    narrow{
                        am{"Sub"}
                        pm{"Ngo"}
                    }
                    wide{
                        am{"Sub"}
                        pm{"Ngo"}
                    }
                }
            }
            eras{
                abbreviated{
                    "JC",
                    "AD",
                }
                abbreviated%variant{
                    "BCE",
                    "CE",
                }
                wide{
                    "av. JC",
                    "AD",
                }
            }
            intervalFormats{
                fallback{"{0} – {1}"}
            }
            monthNames{
                format{
                    abbreviated{
                        "Sam",
                        "Few",
                        "Mar",
                        "Awr",
                        "Mee",
                        "Suw",
                        "Sul",
                        "Ut",
                        "Sàt",
                        "Okt",
                        "Now",
                        "Des",
                    }
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                        "5",
                        "6",
                        "7",
                        "8",
                        "9",
                        "10",
                        "11",
                        "12",
                    }
                    wide{
                        "Samwiyee",
                        "Fewriyee",
                        "Mars",
                        "Awril",
                        "Mee",
                        "Suwe",
                        "Sulet",
                        "Ut",
                        "Sàttumbar",
                        "Oktoobar",
                        "Nowàmbar",
                        "Desàmbar",
                    }
                }
                stand-alone{
                    abbreviated{
                        "Sam",
                        "Few",
                        "Mar",
                        "Awr",
                        "Mee",
                        "Suw",
                        "Sul",
                        "Ut",
                        "Sàt",
                        "Okt",
                        "Now",
                        "Des",
                    }
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                        "5",
                        "6",
                        "7",
                        "8",
                        "9",
                        "10",
                        "11",
                        "12",
                    }
                    wide{
                        "Samwiyee",
                        "Fewriyee",
                        "Mars",
                        "Awril",
                        "Mee",
                        "Suwe",
                        "Sulet",
                        "Ut",
                        "Sàttumbar",
                        "Oktoobar",
                        "Nowàmbar",
                        "Desàmbar",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "1er Tri",
                        "2e Tri",
                        "3e Tri",
                        "4e Tri",
                    }
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                    }
                    wide{
                        "1er Trimestar",
                        "2e Trimestar",
                        "3e Trimestar",
                        "4e Trimestar",
                    }
                }
                stand-alone{
                    abbreviated{
                        "1er Tri",
                        "2e Tri",
                        "3e Tri",
                        "4e Tri",
                    }
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                    }
                    wide{
                        "1er Trimestar",
                        "2e Trimestar",
                        "3e Trimestar",
                        "4e Trimestar",
                    }
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"’"}
        alternateQuotationStart{"‘"}
        quotationEnd{"”"}
        quotationStart{"“"}
    }
    fields{
        day{
            dn{"fan"}
            relative{
                "-1"{"démb"}
                "0"{"tay"}
                "1"{"suba"}
            }
        }
        day-narrow{
            dn{"fan"}
        }
        day-short{
            dn{"fan"}
        }
        dayperiod{
            dn{"Sub/Ngo"}
        }
        era{
            dn{"jamono"}
        }
        hour{
            dn{"waxtu"}
        }
        hour-narrow{
            dn{"wxt."}
        }
        hour-short{
            dn{"wxt."}
        }
        minute{
            dn{"simili"}
        }
        minute-narrow{
            dn{"sim."}
        }
        minute-short{
            dn{"sim."}
        }
        month{
            dn{"weer"}
        }
        month-narrow{
            dn{"we."}
        }
        month-short{
            dn{"we."}
        }
        quarter{
            dn{"ñeenti-weer"}
        }
        quarter-narrow{
            dn{"ñw."}
        }
        quarter-short{
            dn{"ñw."}
        }
        second{
            dn{"saa"}
        }
        second-narrow{
            dn{"saa."}
        }
        second-short{
            dn{"saa."}
        }
        week{
            dn{"ayu-bis"}
        }
        week-narrow{
            dn{"ayu-b."}
        }
        week-short{
            dn{"ayu-b."}
        }
        weekday{
            dn{"bisu ayu-bis"}
        }
        year{
            dn{"at"}
        }
        year-narrow{
            dn{"at."}
        }
        year-short{
            dn{"at."}
        }
        zone{
            dn{"goxu waxtu"}
        }
    }
    listPattern{
        standard{
            2{"{0}, {1}"}
            end{"{0}, {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
    }
    measurementSystemNames{
        UK{"UK"}
        US{"US"}
        metric{"Metrik"}
    }
}
