﻿// ***************************************************************************
// *
// * Copyright (C) 2009 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/main/zu.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/zu.xml
 */
zu{
    Countries{
        ZA{"iNingizimu Afrika"}
    }
    ExemplarCharacters{
        "[a b {bh} c {ch} d {dl} {dy} e-g {gc} {gq} {gx} h {hh} {hl} i-k {kh} {kl} {k"
        "p} l-n {nc} {ngc} {ngq} {ngx} {nhl} {nk} {nkc} {nkq} {nkx} {nq} {ntsh} {nx} "
        "{ny} o p {ph} q {qh} r {rh} s {sh} t {th} {tl} {ts} {tsh} u-x {xh} y z]"
    }
    Languages{
        af{"isiBhunu"}
        ar{"isi-Alabhu"}
        de{"isiJalimani"}
        en{"isiNgisi"}
        es{"isiSpeyini"}
        fr{"isiFulentshi"}
        hi{"isiHindi"}
        st{"isiSuthu"}
        sw{"isiSwahili"}
        xh{"isiXhosa"}
        zu{"isiZulu"}
    }
    LocaleScript{
        "Latn",
    }
    NumberElements{
        ",",
        " ",
        ";",
        "%",
        "0",
        "#",
        "-",
        "E",
        "‰",
        "∞",
        "NaN",
        "+",
    }
    NumberPatterns{
        "#,##0.###",
        "¤#,##0.00",
        "#,##0%",
        "#E0",
    }
    Version{"1.31"}
    calendar{
        gregorian{
            DateTimePatterns{
                "h:mm:ss a zzzz",
                "h:mm:ss a z",
                "h:mm:ss a",
                "h:mm a",
                "EEEE dd MMMM y",
                "d MMMM y",
                "d MMM y",
                "yyyy-MM-dd",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            dayNames{
                format{
                    abbreviated{
                        "Son",
                        "Mso",
                        "Bil",
                        "Tha",
                        "Sin",
                        "Hla",
                        "Mgq",
                    }
                    wide{
                        "Sonto",
                        "Msombuluko",
                        "Lwesibili",
                        "Lwesithathu",
                        "uLwesine",
                        "Lwesihlanu",
                        "Mgqibelo",
                    }
                }
                stand-alone{
                    narrow{
                        "S",
                        "M",
                        "B",
                        "T",
                        "S",
                        "H",
                        "M",
                    }
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "Jan",
                        "Feb",
                        "Mas",
                        "Apr",
                        "Mey",
                        "Jun",
                        "Jul",
                        "Aga",
                        "Sep",
                        "Okt",
                        "Nov",
                        "Dis",
                    }
                    wide{
                        "Januwari",
                        "Februwari",
                        "Mashi",
                        "Apreli",
                        "Meyi",
                        "Juni",
                        "Julayi",
                        "Agasti",
                        "Septhemba",
                        "Okthoba",
                        "Novemba",
                        "Disemba",
                    }
                }
                stand-alone{
                    narrow{
                        "J",
                        "F",
                        "M",
                        "A",
                        "M",
                        "J",
                        "J",
                        "A",
                        "S",
                        "O",
                        "N",
                        "D",
                    }
                    wide{
                        "uJanuwari",
                        "uFebruwari",
                        "uMashi",
                        "u-Apreli",
                        "uMeyi",
                        "uJuni",
                        "uJulayi",
                        "uAgasti",
                        "uSepthemba",
                        "u-Okthoba",
                        "uNovemba",
                        "uDisemba",
                    }
                }
            }
        }
    }
    delimiters{
        alternateQuotationStart{"“"}
        quotationEnd{"’"}
        quotationStart{"‘"}
    }
}
