﻿// ***************************************************************************
// *
// * Copyright (C) 2016 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/eo.xml
// *
// ***************************************************************************
eo{
    AuxExemplarCharacters{"[q w x y]"}
    ExemplarCharacters{"[a b c ĉ d e f g ĝ h ĥ i j ĵ k l m n o p r s ŝ t u ŭ v z]"}
    ExemplarCharactersIndex{"[A B C Ĉ D E F G Ĝ H Ĥ I J Ĵ K L M N O P R S Ŝ T U Ŭ V Z]"}
    ExemplarCharactersPunctuation{"[\\- ‐ – — , ; \\: ! ? . … ' ‘ ’ \u0022 “ ” ( ) \\[ \\] \\{ \\} /]"}
    NumberElements{
        latn{
            symbols{
                decimal{","}
                group{" "}
            }
        }
    }
    Version{"2.1.23.54"}
    calendar{
        generic{
            DateTimePatterns{
                "H-'a' 'horo' 'kaj' m:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, d-'a' 'de' MMMM y G",
                "G y-MMMM-dd",
                "G y-MMM-dd",
                "GGGGG y-MM-dd",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
        }
        gregorian{
            AmPmMarkers{
                "atm",
                "ptm",
            }
            AmPmMarkersAbbr{
                "atm",
                "ptm",
            }
            DateTimePatterns{
                "H-'a' 'horo' 'kaj' m:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, d-'a' 'de' MMMM y",
                "y-MMMM-dd",
                "y-MMM-dd",
                "yy-MM-dd",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            dayNames{
                format{
                    abbreviated{
                        "di",
                        "lu",
                        "ma",
                        "me",
                        "ĵa",
                        "ve",
                        "sa",
                    }
                    wide{
                        "dimanĉo",
                        "lundo",
                        "mardo",
                        "merkredo",
                        "ĵaŭdo",
                        "vendredo",
                        "sabato",
                    }
                }
                stand-alone{
                    wide{
                        "dimanĉo",
                        "lundo",
                        "mardo",
                        "merkredo",
                        "ĵaŭdo",
                        "vendredo",
                        "sabato",
                    }
                }
            }
            eras{
                abbreviated{
                    "aK",
                    "pK",
                }
                narrow{
                    "aK",
                    "pK",
                }
                wide{
                    "aK",
                    "pK",
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "jan",
                        "feb",
                        "mar",
                        "apr",
                        "maj",
                        "jun",
                        "jul",
                        "aŭg",
                        "sep",
                        "okt",
                        "nov",
                        "dec",
                    }
                    wide{
                        "januaro",
                        "februaro",
                        "marto",
                        "aprilo",
                        "majo",
                        "junio",
                        "julio",
                        "aŭgusto",
                        "septembro",
                        "oktobro",
                        "novembro",
                        "decembro",
                    }
                }
                stand-alone{
                    wide{
                        "januaro",
                        "februaro",
                        "marto",
                        "aprilo",
                        "majo",
                        "junio",
                        "julio",
                        "aŭgusto",
                        "septembro",
                        "oktobro",
                        "novembro",
                        "decembro",
                    }
                }
            }
        }
    }
}
