﻿// © 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html
// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml
shi_Latn{
    %%Parent{"root"}
    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 {Gʷ} Ɣ H Ḥ I J K {Kʷ} L M N Q R Ṛ S Ṣ T Ṭ U W X Y Z]"}
    ExemplarCharactersNumbers{"[  \\- ‑ , % ‰ + 0 1 2 3 4 5 6 7 8 9]"}
    NumberElements{
        latn{
            patterns{
                currencyFormat{"#,##0.00¤"}
            }
            symbols{
                decimal{","}
                group{" "}
            }
        }
    }
    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"}
                MMd{"d/MM"}
                MMdd{"dd/MM"}
                Md{"d/M"}
                ms{"m:ss"}
                y{"y"}
                yM{"M/y"}
                yMEd{"E d/M/y"}
                yMMM{"MMM y"}
                yMMMEd{"E d MMM y"}
                yMMMM{"MMMM y"}
                yQQQ{"QQQ y"}
                yQQQQ{"QQQQ y"}
            }
        }
        gregorian{
            AmPmMarkers{
                "tifawt",
                "tadggʷat",
            }
            AmPmMarkersAbbr{
                "tifawt",
                "tadggʷat",
            }
            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}",
            }
            appendItems{
                Day{"{0} ({2}: {1})"}
                Day-Of-Week{"{0} {1}"}
                Era{"{1} {0}"}
                Hour{"{0} ({2}: {1})"}
                Minute{"{0} ({2}: {1})"}
                Month{"{0} ({2}: {1})"}
                Quarter{"{0} ({2}: {1})"}
                Second{"{0} ({2}: {1})"}
                Timezone{"{0} {1}"}
                Week{"{0} ({2}: {1})"}
                Year{"{1} {0}"}
            }
            availableFormats{
                M{"M"}
                MMM{"MMM"}
                MMMEd{"E d MMM"}
                MMMMEd{"E d MMMM"}
                MMMMd{"d MMMM"}
                MMMd{"d MMM"}
                MMd{"d/MM"}
                MMdd{"dd/MM"}
                Md{"d/M"}
                ms{"m:ss"}
                y{"y"}
                yM{"M/y"}
                yMEd{"E d/M/y"}
                yMMM{"MMM y"}
                yMMMEd{"E d MMM y"}
                yMMMM{"MMMM y"}
                yQQQ{"QQQ y"}
                yQQQQ{"QQQQ y"}
            }
            dayNames{
                format{
                    abbreviated{
                        "asa",
                        "ayn",
                        "asi",
                        "akṛ",
                        "akw",
                        "asim",
                        "asiḍ",
                    }
                    wide{
                        "asamas",
                        "aynas",
                        "asinas",
                        "akṛas",
                        "akwas",
                        "asimwas",
                        "asiḍyas",
                    }
                }
            }
            eras{
                abbreviated{
                    "daɛ",
                    "dfɛ",
                }
                wide{
                    "dat n ɛisa",
                    "dffir n ɛisa",
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "inn",
                        "bṛa",
                        "maṛ",
                        "ibr",
                        "may",
                        "yun",
                        "yul",
                        "ɣuc",
                        "cut",
                        "ktu",
                        "nuw",
                        "duj",
                    }
                    wide{
                        "innayr",
                        "bṛayṛ",
                        "maṛṣ",
                        "ibrir",
                        "mayyu",
                        "yunyu",
                        "yulyuz",
                        "ɣuct",
                        "cutanbir",
                        "ktubr",
                        "nuwanbir",
                        "dujanbir",
                    }
                }
                stand-alone{
                    narrow{
                        "i",
                        "b",
                        "m",
                        "i",
                        "m",
                        "y",
                        "y",
                        "ɣ",
                        "c",
                        "k",
                        "n",
                        "d",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "ak 1",
                        "ak 2",
                        "ak 3",
                        "ak 4",
                    }
                    wide{
                        "akṛaḍyur 1",
                        "akṛaḍyur 2",
                        "akṛaḍyur 3",
                        "akṛaḍyur 4",
                    }
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"”"}
        alternateQuotationStart{"„"}
        quotationEnd{"»"}
        quotationStart{"«"}
    }
    fields{
        day{
            dn{"ass"}
            relative{
                "-1"{"iḍlli"}
                "0"{"assa"}
                "1"{"askka"}
            }
        }
        dayperiod{
            dn{"tizi g wass: tifawt / tadggʷat"}
        }
        era{
            dn{"tasut"}
        }
        hour{
            dn{"tasragt"}
        }
        minute{
            dn{"tusdidt"}
        }
        month{
            dn{"ayyur"}
        }
        second{
            dn{"tasint"}
        }
        week{
            dn{"imalass"}
        }
        weekday{
            dn{"ass g imalass"}
        }
        year{
            dn{"asggʷas"}
        }
        zone{
            dn{"akud n ugmmaḍ"}
        }
    }
}
