﻿// ***************************************************************************
// *
// * Copyright (C) 2013 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/ff.xml
// *
// ***************************************************************************
/**
 * ICU <specials> source: <path>/common/main/ff.xml
 */
ff{
    AuxExemplarCharacters{"[q v x z]"}
    ExemplarCharacters{"[a b ɓ c d ɗ e f g h i j k l m n ñ ŋ o p r s t u w y ƴ]"}
    ExemplarCharactersIndex{"[A B Ɓ C D Ɗ E F G H I J K L M N Ñ Ŋ O P R S T U W Y Ƴ]"}
    LocaleScript{
        "Latn",
    }
    NumberElements{
        latn{
            patterns{
                currencyFormat{"#,##0.00 ¤"}
            }
            symbols{
                decimal{","}
                group{" "}
            }
        }
    }
    Version{"2.0.92.87"}
    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{
                M{"M"}
                MMM{"MMM"}
                MMMEd{"E d MMM"}
                MMMMEd{"E d MMMM"}
                MMMMd{"d MMMM"}
                MMMd{"d MMM"}
                MMMdd{"dd MMM"}
                MMd{"d/MM"}
                MMdd{"dd/MM"}
                Md{"d/M"}
                ms{"m:ss"}
                y{"y"}
                yM{"M/y"}
                yMEd{"E d/M/y"}
                yMM{"MM/y"}
                yMMM{"MMM y"}
                yMMMEd{"E d MMM y"}
                yMMMM{"MMMM y"}
                yMMMd{"d MMM y"}
                yQQQ{"QQQ y"}
                yQQQQ{"QQQQ y"}
            }
        }
        gregorian{
            AmPmMarkers{
                "subaka",
                "kikiiɗe",
            }
            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{
                M{"M"}
                MMM{"MMM"}
                MMMEd{"E d MMM"}
                MMMMEd{"E d MMMM"}
                MMMMd{"d MMMM"}
                MMMd{"d MMM"}
                MMMdd{"dd MMM"}
                MMd{"d/MM"}
                MMdd{"dd/MM"}
                Md{"d/M"}
                ms{"m:ss"}
                y{"y"}
                yM{"M/y"}
                yMEd{"E d/M/y"}
                yMM{"MM/y"}
                yMMM{"MMM y"}
                yMMMEd{"E d MMM y"}
                yMMMM{"MMMM y"}
                yMMMd{"d MMM y"}
                yQQQ{"QQQ y"}
                yQQQQ{"QQQQ y"}
            }
            dayNames{
                format{
                    abbreviated{
                        "dew",
                        "aaɓ",
                        "maw",
                        "nje",
                        "naa",
                        "mwd",
                        "hbi",
                    }
                    wide{
                        "dewo",
                        "aaɓnde",
                        "mawbaare",
                        "njeslaare",
                        "naasaande",
                        "mawnde",
                        "hoore-biir",
                    }
                }
                stand-alone{
                    narrow{
                        "d",
                        "a",
                        "m",
                        "n",
                        "n",
                        "m",
                        "h",
                    }
                }
            }
            eras{
                abbreviated{
                    "H-I",
                    "C-I",
                }
                wide{
                    "Hade Iisa",
                    "Caggal Iisa",
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "sii",
                        "col",
                        "mbo",
                        "see",
                        "duu",
                        "kor",
                        "mor",
                        "juk",
                        "slt",
                        "yar",
                        "jol",
                        "bow",
                    }
                    wide{
                        "siilo",
                        "colte",
                        "mbooy",
                        "seeɗto",
                        "duujal",
                        "korse",
                        "morso",
                        "juko",
                        "siilto",
                        "yarkomaa",
                        "jolal",
                        "bowte",
                    }
                }
                stand-alone{
                    narrow{
                        "s",
                        "c",
                        "m",
                        "s",
                        "d",
                        "k",
                        "m",
                        "j",
                        "s",
                        "y",
                        "j",
                        "b",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "T1",
                        "T2",
                        "T3",
                        "T4",
                    }
                    wide{
                        "Termes 1",
                        "Termes 2",
                        "Termes 3",
                        "Termes 4",
                    }
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"’"}
        alternateQuotationStart{"‚"}
        quotationEnd{"”"}
        quotationStart{"„"}
    }
    fields{
        day{
            dn{"Ñalnde"}
            relative{
                "-1"{"Haŋki"}
                "0"{"Hannde"}
                "1"{"Jaŋngo"}
            }
        }
        dayperiod{
            dn{"Sahnga"}
        }
        era{
            dn{"Jamaanu"}
        }
        hour{
            dn{"Waktu"}
        }
        minute{
            dn{"Hoƴom"}
        }
        month{
            dn{"Lewru"}
        }
        second{
            dn{"Majaango"}
        }
        week{
            dn{"Yontere"}
        }
        weekday{
            dn{"Ñalɗi yontere"}
        }
        year{
            dn{"Hitaande"}
        }
        zone{
            dn{"Diiwaan waktu"}
        }
    }
}
