﻿// ***************************************************************************
// *
// * Copyright (C) 2013 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/seh.xml
// *
// ***************************************************************************
/**
 * ICU <specials> source: <path>/common/main/seh.xml
 */
seh{
    ExemplarCharacters{
        "[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]"
    }
    ExemplarCharactersIndex{"[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¤"}
            }
            symbols{
                decimal{","}
                group{"."}
            }
        }
    }
    Version{"2.0.92.87"}
    calendar{
        generic{
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, d 'de' MMMM 'de' y G",
                "d 'de' MMMM 'de' y G",
                "d 'de' MMM 'de' y G",
                "d/M/y GGGGG",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                HHmm{"HH:mm"}
                HHmmss{"HH:mm:ss"}
                Hm{"H:mm"}
                M{"L"}
                MEd{"E, dd/MM"}
                MMM{"LLL"}
                MMMEd{"E, d MMM"}
                MMMMEd{"E, d MMMM"}
                MMMMd{"d MMMM"}
                MMMd{"d MMM"}
                MMdd{"dd/MM"}
                Md{"d/M"}
                d{"d"}
                mmss{"mm:ss"}
                ms{"mm:ss"}
                y{"y"}
                yM{"MM/y"}
                yMEd{"E, dd/MM/y"}
                yMM{"MM/y"}
                yMMM{"MMM 'de' y"}
                yMMMEd{"E, d 'de' MMM 'de' y"}
                yMMMM{"MMMM 'de' y"}
                yMMMd{"d 'de' MMM 'de' y"}
                yQQQ{"y QQQ"}
                yQQQQ{"y QQQQ"}
            }
        }
        gregorian{
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, d 'de' MMMM 'de' y",
                "d 'de' MMMM 'de' y",
                "d 'de' MMM 'de' y",
                "d/M/y",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                HHmm{"HH:mm"}
                HHmmss{"HH:mm:ss"}
                Hm{"H:mm"}
                M{"L"}
                MEd{"E, dd/MM"}
                MMM{"LLL"}
                MMMEd{"E, d MMM"}
                MMMMEd{"E, d MMMM"}
                MMMMd{"d MMMM"}
                MMMd{"d MMM"}
                MMdd{"dd/MM"}
                Md{"d/M"}
                d{"d"}
                mmss{"mm:ss"}
                ms{"mm:ss"}
                y{"y"}
                yM{"MM/y"}
                yMEd{"E, dd/MM/y"}
                yMM{"MM/y"}
                yMMM{"MMM 'de' y"}
                yMMMEd{"E, d 'de' MMM 'de' y"}
                yMMMM{"MMMM 'de' y"}
                yMMMd{"d 'de' MMM 'de' y"}
                yQQQ{"y QQQ"}
                yQQQQ{"y QQQQ"}
            }
            dayNames{
                format{
                    abbreviated{
                        "Dim",
                        "Pos",
                        "Pir",
                        "Tat",
                        "Nai",
                        "Sha",
                        "Sab",
                    }
                    wide{
                        "Dimingu",
                        "Chiposi",
                        "Chipiri",
                        "Chitatu",
                        "Chinai",
                        "Chishanu",
                        "Sabudu",
                    }
                }
                stand-alone{
                    narrow{
                        "D",
                        "P",
                        "C",
                        "T",
                        "N",
                        "S",
                        "S",
                    }
                }
            }
            eras{
                abbreviated{
                    "AC",
                    "AD",
                }
                wide{
                    "Antes de Cristo",
                    "Anno Domini",
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "Jan",
                        "Fev",
                        "Mar",
                        "Abr",
                        "Mai",
                        "Jun",
                        "Jul",
                        "Aug",
                        "Set",
                        "Otu",
                        "Nov",
                        "Dec",
                    }
                    wide{
                        "Janeiro",
                        "Fevreiro",
                        "Marco",
                        "Abril",
                        "Maio",
                        "Junho",
                        "Julho",
                        "Augusto",
                        "Setembro",
                        "Otubro",
                        "Novembro",
                        "Decembro",
                    }
                }
                stand-alone{
                    narrow{
                        "J",
                        "F",
                        "M",
                        "A",
                        "M",
                        "J",
                        "J",
                        "A",
                        "S",
                        "O",
                        "N",
                        "D",
                    }
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"’"}
        alternateQuotationStart{"‘"}
        quotationEnd{"”"}
        quotationStart{"“"}
    }
    fields{
        day{
            dn{"Ntsiku"}
            relative{
                "-1"{"Zuro"}
                "0"{"Lero"}
                "1"{"Manguana"}
            }
        }
        hour{
            dn{"Hora"}
        }
        minute{
            dn{"Minuto"}
        }
        month{
            dn{"Mwezi"}
        }
        second{
            dn{"Segundo"}
        }
        year{
            dn{"Chaka"}
        }
    }
}
