﻿// ***************************************************************************
// *
// * 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.58.6"}
    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"}
                        "-3"{"Ezinsukwini ezintathu ezedlule"}
                        "0"{"Namhlanje"}
                        "1"{"Kusasa"}
                        "2"{"Usuku olulandela olakusasa"}
                        "3"{"Ezinsukwini ezintathu kusuka namuhla"}
                    }
                }
                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"}
        }
    }
}
