﻿// ***************************************************************************
// *
// * 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/zu.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/zu.xml
 */
zu{
    AuxExemplarCharacters{
        "[á à ă â å ä ã ā æ ç é è ĕ ê ë ē í ì ĭ î ï ī ñ ó ò ŏ ô ö ø ō œ ú ù ŭ û ü ū ÿ"
        "]"
    }
    ExemplarCharacters{
        "[a b {bh} c {ch} d {dl} {dy} e f g {gc} {gq} {gx} h {hh} {hl} i j k {kh} {kl"
        "} {kp} l m 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 v w x {xh}"
        " y z]"
    }
    ExemplarCharactersCurrency{"[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"}
                decimalFormat{"#,##0.###"}
                percentFormat{"#,##0%"}
                scientificFormat{"#E0"}
            }
            symbols{
                decimal{","}
                group{" "}
            }
        }
    }
    Version{"2.0.59.53"}
    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}",
            }
            availableFormats{
                MEd{"E, M/d"}
                MMMEd{"E, MMM d"}
                Md{"M/d"}
                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{
                    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",
                    }
                }
            }
            eras{
                abbreviated{
                    "BC",
                    "AD",
                }
            }
            fields{
                day{
                    dn{"Usuku"}
                    relative{
                        "-1"{"Izolo"}
                        "-2"{"Usuku olwandulela olwayizolo"}
                        "0"{"Namhlanje"}
                        "1"{"Kusasa"}
                        "2"{"Usuku olulandela olakusasa"}
                    }
                }
                dayperiod{
                    dn{"AM/PM"}
                }
                era{
                    dn{"Isikhathi"}
                }
                hour{
                    dn{"Ihora"}
                }
                minute{
                    dn{"Iminithi"}
                }
                month{
                    dn{"Inyanga"}
                    relative{
                        "-1"{"Inyanga edlule"}
                        "0"{"Le nyanga"}
                        "1"{"Inyanga ezayo"}
                    }
                }
                second{
                    dn{"Isekhondi"}
                }
                week{
                    dn{"Iviki"}
                    relative{
                        "-1"{"Iviki eledlule"}
                        "0"{"Leli viki"}
                        "1"{"Iviki elizayo"}
                    }
                }
                weekday{
                    dn{"Usuku evikini"}
                }
                year{
                    dn{"Unyaka"}
                    relative{
                        "-1"{"Onyakeni odlule"}
                        "0"{"Kulo nyaka"}
                        "1"{"Unyaka ozayo"}
                    }
                }
                zone{
                    dn{"Isikhathi sendawo"}
                }
            }
            intervalFormats{
                MEd{
                    M{"E, M/d – E, M/d"}
                    d{"E, M/d – E, M/d"}
                }
                MMM{
                    M{"MMM–MMM"}
                }
                MMMEd{
                    M{"E, MMM d – E, MMM d"}
                    d{"E, MMM d – E, MMM d"}
                }
                MMMd{
                    M{"MMM d – MMM d"}
                    d{"MMM d–d"}
                }
                Md{
                    M{"M/d – M/d"}
                    d{"M/d – M/d"}
                }
                d{
                    d{"d-d"}
                }
                y{
                    y{"y-y"}
                }
                yM{
                    M{"M/yy – M/yy"}
                    y{"M/yy – M/yy"}
                }
                yMEd{
                    M{"E, M/d/yy – E, M/d/yy"}
                    d{"E, M/d/yy – E, M/d/yy"}
                    y{"E, M/d/yy – E, M/d/yy"}
                }
                yMMM{
                    M{"MMM–MMM y"}
                    y{"MMM y – MMM y"}
                }
                yMMMEd{
                    M{"E, MMM d – E, MMM d, y"}
                    d{"E, MMM d – E, MMM d, y"}
                    y{"E, MMM d, y – E, MMM d, y"}
                }
                yMMMM{
                    M{"MMMM–MMMM y"}
                    y{"MMMM y – MMMM y"}
                }
                yMMMd{
                    M{"MMM d – MMM d, y"}
                    d{"MMM d–d, y"}
                    y{"MMM d, y – MMM d, y"}
                }
                yMd{
                    M{"M/d/yy – M/d/yy"}
                    d{"M/d/yy – M/d/yy"}
                    y{"M/d/yy – M/d/yy"}
                }
            }
            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",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "Q1",
                        "Q2",
                        "Q3",
                        "Q4",
                    }
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                    }
                    wide{
                        "ikota yoku-1",
                        "ikota yesi-2",
                        "ikota yesi-3",
                        "ikota yesi-4",
                    }
                }
                stand-alone{
                    abbreviated{
                        "Q1",
                        "Q2",
                        "Q3",
                        "Q4",
                    }
                    wide{
                        "ikota yoku-1",
                        "ikota yesi-2",
                        "ikota yesi-3",
                        "ikota yesi-4",
                    }
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"”"}
        alternateQuotationStart{"“"}
        quotationEnd{"’"}
        quotationStart{"‘"}
    }
    listPattern{
        standard{
            2{"I-{0} ne-{1}"}
            end{"{0}, no-{1}"}
        }
    }
    measurementSystemNames{
        UK{"i-UK"}
        US{"i-US"}
        metric{"i-Metric"}
    }
    units{
        day{
            0{"Izinsuku ezingu-0"}
            1{"usuku olungu-1"}
            other{"{0} izinsuku"}
        }
        day-future{
            0{"Ezinsukwini ezingu-0"}
            1{"Osukwini olungu-1"}
            other{"Ezinsukwini ezingu-{0}"}
        }
        day-past{
            0{"ezinsukwini ezingu-0 ezedlule."}
            1{"osukwini olungu-1 olwedlule"}
            other{"ezinsukwini ezingu-{0} ezedlule."}
        }
        hour{
            0{"0 amahora"}
            1{"ihora elingu-1"}
            other{"{0} amahora"}
        }
        hour-future{
            0{"Emahoreni angu-0"}
            1{"Ehoreni elingu-1"}
            other{"Emahoreni angu-{0}"}
        }
        hour-past{
            0{"emahoreni angu-0 adlule"}
            1{"ehoreni eligu-1 eledluli"}
            other{"emahoreni angu-{0} edlule"}
        }
        minute{
            0{"amaminithi angu-0"}
            1{"iminithi elingu-1"}
            other{"{0} amaminithi"}
        }
        minute-future{
            0{"Emaminithini angu-0"}
            1{"Kumunithi engu-1"}
            other{"Emaminithini angu-{0}"}
        }
        minute-past{
            0{"amaminithi angu-0 adlule."}
            1{"eminithini elingu-1 eledlule"}
            other{"amaminithi angu-{0} adlule"}
        }
        month{
            0{"izinyanga ezingu-0"}
            1{"inyana engu-1"}
            other{"{0} izinyanga"}
        }
        month-future{
            0{"Ezinyangeni ezingu-0"}
            1{"Enyangeni engu-1"}
            other{"Ezinyangeni ezingu-{0}"}
        }
        month-past{
            0{"izinyanga ezingu-0 ezedlule"}
            1{"enyangeni engu-1 eyedlule"}
            other{"ezinyangeni ezingu-{0} ezedlule"}
        }
        second{
            0{"0 amasekhondi"}
            1{"isekhondi elingu-1"}
            other{"{0} amasekhondi"}
        }
        second-future{
            0{"Emasekhondini angu-0"}
            1{"Kusekhondi elingu-1"}
            other{"Kumasekhondi angu-{0}"}
        }
        second-past{
            0{"amasekhondi angu-0 adlule"}
            1{"isekhondi elingu-1 eledlule"}
            other{"amasekhondi angu-{0} adlule"}
        }
        week{
            0{"0 amaviki"}
            1{"iviki elingu-1"}
            other{"{0} amaviki"}
        }
        week-future{
            0{"Emavikini angu-0"}
            1{"Evikini elingu-1"}
            other{"Emavikini angu-{0}"}
        }
        week-past{
            0{"emavikini angu-0 adlule"}
            1{"evikini elingu-1 eledlule"}
            other{"amaviki angu-{0} adlule"}
        }
        year{
            0{"0 iminyaka"}
            1{"unyaka ongu-1"}
            other{"{0} iminyaka"}
        }
        year-future{
            0{"Eminyakeni engu-0"}
            1{"Onyakeni ongu-1"}
            other{"Eminyakeni engu-{0}"}
        }
        year-past{
            0{"eminyakeni engu-0 edlule"}
            1{"enyakeni ongu-1 owedlule"}
            other{"iminyaka engu-{0} eyedlule"}
        }
    }
    unitsShort{
        day{
            0{"Izinsuku ezingu-0"}
            1{"usuku olungu-1"}
            other{"{0} izinsuku"}
        }
        hour{
            0{"0 amahora"}
            1{"ihora elingu-1"}
            other{"{0} amahora"}
        }
        minute{
            0{"0 amaminithi"}
            1{"iminithi elingu-1"}
            other{"{0} amaminithi"}
        }
        month{
            0{"0 izinyanga"}
            1{"inyanga engu-1"}
            other{"{0} izinyanga"}
        }
        second{
            0{"0 amasekhondi"}
            1{"isekhondi elingu-1"}
            other{"{0} amasekhondi"}
        }
        week{
            0{"0 amaviki"}
            1{"iviki elingu-1"}
            other{"{0} amaviki"}
        }
        year{
            0{"0 iminyaka"}
            1{"unyaka ongu-1"}
            other{"{0} iminyaka"}
        }
    }
}
