﻿// © 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
es_PA{
    %%Parent{"es_419"}
    calendar{
        generic{
            DateTimePatterns{
                "h:mm:ss a zzzz",
                "h:mm:ss a z",
                "h:mm:ss a",
                "h:mm a",
                "EEEE, d 'de' MMMM 'de' y G",
                "d 'de' MMMM 'de' y G",
                "MM/dd/y G",
                "MM/dd/yy GGGGG",
                "{1} {0}",
                "{1}, {0}",
                "{1}, {0}",
                "{1} {0}",
                "{1} {0}",
            }
            DateTimeSkeletons{
                "ahmmsszzzz",
                "ahmmssz",
                "ahmmss",
                "ahmm",
                "GyMMMMEEEEd",
                "GyMMMMd",
                "GyMMdd",
                "GGGGGyyMMdd",
            }
            availableFormats{
                MEd{"E, MM/dd"}
                Md{"MM/dd"}
                yM{"MM/y"}
                yMEd{"E MM/dd/y"}
                yMd{"MM/dd/y"}
            }
            intervalFormats{
                MMMEd{
                    M{"E d 'de' MMM 'al' E d 'de' MMM"}
                    d{"E d 'al' E d 'de' MMM"}
                }
                MMMd{
                    M{"d 'de' MMM 'al' d 'de' MMM"}
                }
                fallback{"{0} a el {1}"}
                y{
                    y{"y–y"}
                }
                yMMM{
                    M{"MMM–MMM 'de' y"}
                    y{"MMM 'de' y 'a' MMM 'de' y"}
                }
                yMMMEd{
                    M{"E d 'de' MMM 'al' E d 'de' MMM 'de' y"}
                    d{"E d 'al' E d 'de' MMM 'de' y"}
                    y{"E d 'de' MMM 'de' y 'al' E d 'de' MMM 'de' y"}
                }
                yMMMd{
                    M{"d 'de' MMM 'al' d 'de' MMM 'de' y"}
                    d{"d–d 'de' MMM 'de' y"}
                    y{"d 'de' MMM 'de' y 'al' d 'de' MMM 'de' y"}
                }
            }
        }
        gregorian{
            DateTimePatterns{
                "h:mm:ss a zzzz",
                "h:mm:ss a z",
                "h:mm:ss a",
                "h:mm a",
                "EEEE, d 'de' MMMM 'de' y",
                "d 'de' MMMM 'de' y",
                "MM/dd/y",
                "MM/dd/yy",
                "{1} {0}",
                "{1}, {0}",
                "{1}, {0}",
                "{1} {0}",
                "{1}, {0}",
            }
            DateTimeSkeletons{
                "ahmmsszzzz",
                "ahmmssz",
                "ahmmss",
                "ahmm",
                "yMMMMEEEEd",
                "yMMMMd",
                "yMMdd",
                "yyMMdd",
            }
            availableFormats{
                MEd{"E, MM/dd"}
                Md{"MM/dd"}
                yM{"MM/y"}
                yMEd{"E MM/dd/y"}
                yMd{"MM/dd/y"}
            }
            dayPeriod{
                format{
                    abbreviated{
                        evening1{"de la tarde"}
                        morning1{"de la madrugada"}
                        morning2{"de la mañana"}
                        night1{"de la noche"}
                        noon{"mediodía"}
                    }
                    wide{
                        evening1{"de la tarde"}
                        morning1{"de la madrugada"}
                        morning2{"de la mañana"}
                        night1{"de la noche"}
                        noon{"mediodía"}
                    }
                }
            }
            intervalFormats{
                MMMEd{
                    M{"E d 'de' MMM 'al' E d 'de' MMM"}
                    d{"E d 'al' E d 'de' MMM"}
                }
                MMMd{
                    M{"d 'de' MMM 'al' d 'de' MMM"}
                }
                yM{
                    M{"MM/y – MM/y"}
                    y{"MM/y – MM/y"}
                }
                yMMM{
                    y{"MMM 'de' y 'a' MMM 'de' y"}
                }
                yMMMEd{
                    M{"E d 'de' MMM 'al' E d 'de' MMM 'de' y"}
                    d{"E d 'al' E d 'de' MMM 'de' y"}
                    y{"E d 'de' MMM 'de' y 'al' E d 'de' MMM 'de' y"}
                }
                yMMMd{
                    M{"d 'de' MMM 'al' d 'de' MMM 'de' y"}
                    y{"d 'de' MMM 'de' y 'al' d 'de' MMM 'de' y"}
                }
            }
            quarters{
                format{
                    wide{
                        "1er. trimestre",
                        "2do. trimestre",
                        "3er. trimestre",
                        "4.º trimestre",
                    }
                }
                stand-alone{
                    wide{
                        "1er. trimestre",
                        "2do. trimestre",
                        "3er. trimestre",
                        "4.º trimestre",
                    }
                }
            }
        }
    }
}
