﻿// ***************************************************************************
// *
// * Copyright (C) 2011 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/main/vai_Latn.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/vai_Latn.xml
 */
vai_Latn{
    %%Parent{"root"}
    ExemplarCharacters{
        "[a á ã b ɓ c d ɗ e é ẽ ɛ {ɛ\u0301} {ɛ\u0303} f g h i í ĩ j k l m n ŋ o ó õ ɔ"
        " {ɔ\u0301} {ɔ\u0303} p q r s t u ú ũ v w x y z]"
    }
    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]"}
    LocaleScript{
        "Latn",
    }
    NumberElements{
        latn{
            patterns{
                currencyFormat{"¤#,##0.00;(¤#,##0.00)"}
                decimalFormat{"#,##0.###"}
            }
            symbols{
                decimal{"."}
                group{","}
            }
        }
    }
    Version{"2.0.57.99"}
    calendar{
        gregorian{
            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/yyyy",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                EEEd{"EEE d"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E, M/d"}
                MMM{"LLL"}
                MMMEd{"E, MMM d"}
                MMMd{"MMM d"}
                Md{"M/d"}
                d{"d"}
                hm{"h:mm a"}
                hms{"h:mm:ss a"}
                ms{"m:ss"}
                y{"y"}
                yM{"M/y"}
                yMEd{"EEE, M/d/y"}
                yMMM{"MMM y"}
                yMMMEd{"EEE, MMM d, y"}
                yMMMd{"MMM d y"}
                yMd{"M/d/y"}
                yQ{"Q y"}
                yQQQ{"QQQ y"}
            }
            dayNames{
                format{
                    wide{
                        "lahadi",
                        "tɛɛnɛɛ",
                        "talata",
                        "alaba",
                        "aimisa",
                        "aijima",
                        "siɓiti",
                    }
                }
            }
            fields{
                day{
                    dn{"tele"}
                    relative{
                        "-1"{"kunu"}
                        "0"{"wɛlɛ"}
                        "1"{"sina"}
                    }
                }
                hour{
                    dn{"hawa"}
                }
                minute{
                    dn{"mini"}
                }
                month{
                    dn{"kalo"}
                }
                second{
                    dn{"jaki-jaka"}
                }
                week{
                    dn{"wiki"}
                }
                weekday{
                    dn{"wikiyɛma tele"}
                }
                year{
                    dn{"saŋ"}
                }
            }
            monthNames{
                format{
                    wide{
                        "luukao kemã",
                        "ɓandaɓu",
                        "vɔɔ",
                        "fulu",
                        "goo",
                        "6",
                        "7",
                        "kɔnde",
                        "saah",
                        "galo",
                        "kenpkato ɓololɔ",
                        "luukao lɔma",
                    }
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"”"}
        alternateQuotationStart{"“"}
        quotationEnd{"’"}
        quotationStart{"‘"}
    }
}
