﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/tzm.xml
// *
// ***************************************************************************
/**
 * ICU <specials> source: <path>/common/main/tzm.xml
 */
tzm{
    AuxExemplarCharacters{"[o p v]"}
    ExemplarCharacters{"[a b c d ḍ e ɛ f g {gʷ} ɣ h ḥ i j k {kʷ} l m n q r ṛ s ṣ t ṭ u w x y z]"}
    ExemplarCharactersIndex{"[A B C D Ḍ E Ɛ F G Ɣ H Ḥ I J K L M N Q R Ṛ S Ṣ T Ṭ U W X Y Z]"}
    LocaleScript{
        "Latn",
    }
    NumberElements{
        latn{
            patterns{
                currencyFormat{"#,##0.00 ¤"}
            }
            symbols{
                decimal{","}
                group{" "}
            }
        }
    }
    Version{"2.1.10.42"}
    calendar{
        generic{
            DateTimePatterns{
                "h:mm:ss a zzzz",
                "h:mm:ss a z",
                "h:mm:ss a",
                "h:mm a",
                "EEEE, d MMMM y G",
                "d MMMM y G",
                "d MMM y G",
                "dd/MM/y GGGGG",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E, M/d"}
                MMM{"LLL"}
                MMMEd{"E, MMM d"}
                MMMMEd{"E, MMMM d"}
                MMMMd{"MMMM d"}
                MMMd{"MMM d"}
                Md{"M/d"}
                d{"d"}
                hm{"h:mm a"}
                ms{"mm:ss"}
                y{"y"}
                yM{"M/y"}
                yMEd{"E, M/d/y"}
                yMMM{"MMM y"}
                yMMMEd{"E, MMM d, y"}
                yMMMM{"MMMM y"}
                yQQQ{"QQQ y"}
                yQQQQ{"QQQQ y"}
            }
        }
        gregorian{
            AmPmMarkers{
                "Zdat azal",
                "Ḍeffir aza",
            }
            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/y",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E, M/d"}
                MMM{"LLL"}
                MMMEd{"E, MMM d"}
                MMMMEd{"E, MMMM d"}
                MMMMd{"MMMM d"}
                MMMd{"MMM d"}
                Md{"M/d"}
                d{"d"}
                hm{"h:mm a"}
                ms{"mm:ss"}
                y{"y"}
                yM{"M/y"}
                yMEd{"E, M/d/y"}
                yMMM{"MMM y"}
                yMMMEd{"E, MMM d, y"}
                yMMMM{"MMMM y"}
                yQQQ{"QQQ y"}
                yQQQQ{"QQQQ y"}
            }
            dayNames{
                format{
                    abbreviated{
                        "Asa",
                        "Ayn",
                        "Asn",
                        "Akr",
                        "Akw",
                        "Asm",
                        "Asḍ",
                    }
                    wide{
                        "Asamas",
                        "Aynas",
                        "Asinas",
                        "Akras",
                        "Akwas",
                        "Asimwas",
                        "Asiḍyas",
                    }
                }
                stand-alone{
                    narrow{
                        "A",
                        "A",
                        "A",
                        "A",
                        "A",
                        "A",
                        "A",
                    }
                }
            }
            eras{
                abbreviated{
                    "ZƐ",
                    "ḌƐ",
                }
                wide{
                    "Zdat Ɛisa (TAƔ)",
                    "Ḍeffir Ɛisa (TAƔ)",
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "Yen",
                        "Yeb",
                        "Mar",
                        "Ibr",
                        "May",
                        "Yun",
                        "Yul",
                        "Ɣuc",
                        "Cut",
                        "Kṭu",
                        "Nwa",
                        "Duj",
                    }
                    wide{
                        "Yennayer",
                        "Yebrayer",
                        "Mars",
                        "Ibrir",
                        "Mayyu",
                        "Yunyu",
                        "Yulyuz",
                        "Ɣuct",
                        "Cutanbir",
                        "Kṭuber",
                        "Nwanbir",
                        "Dujanbir",
                    }
                }
                stand-alone{
                    narrow{
                        "Y",
                        "Y",
                        "M",
                        "I",
                        "M",
                        "Y",
                        "Y",
                        "Ɣ",
                        "C",
                        "K",
                        "N",
                        "D",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "IA1",
                        "IA2",
                        "IA3",
                        "IA4",
                    }
                    wide{
                        "Imir adamsan 1",
                        "Imir adamsan 2",
                        "Imir adamsan 3",
                        "Imir adamsan 4",
                    }
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"’"}
        alternateQuotationStart{"‘"}
        quotationEnd{"”"}
        quotationStart{"“"}
    }
    fields{
        day{
            dn{"Ass"}
            relative{
                "-1"{"Assenaṭ"}
                "0"{"Assa"}
                "1"{"Asekka"}
            }
        }
        dayperiod{
            dn{"Zdat azal/Deffir azal"}
        }
        era{
            dn{"Tallit"}
        }
        hour{
            dn{"Tasragt"}
        }
        minute{
            dn{"Tusdat"}
        }
        month{
            dn{"Ayur"}
        }
        second{
            dn{"Tusnat"}
        }
        week{
            dn{"Imalass"}
        }
        weekday{
            dn{"Ass n Imalass"}
        }
        year{
            dn{"Asseggas"}
        }
        zone{
            dn{"Aseglem asergan"}
        }
    }
}
