﻿// © 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
fr_CH{
    NumberElements{
        latn{
            patterns{
                percentFormat{"#,##0%"}
            }
            symbols{
                currencyDecimal{"."}
            }
        }
    }
    calendar{
        generic{
            DateTimePatterns{
                "HH.mm:ss 'h' zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "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{
                MEd{"E, dd.MM."}
                MMdd{"dd.MM"}
                Md{"dd.MM."}
                yM{"MM.y GGGGG"}
                yMEd{"E, dd.MM.y GGGGG"}
                yMd{"dd.MM.y GGGGG"}
            }
            intervalFormats{
                M{
                    M{"M–M"}
                }
                MEd{
                    M{"E, dd.MM – E, dd.MM"}
                    d{"E, dd.MM – E, dd.MM"}
                }
                MMMEd{
                    M{"E, d MMM 'au' E, d MMM"}
                    d{"E, d 'au' E, d MMM"}
                }
                MMMd{
                    M{"d MMM 'au' d MMM"}
                }
                Md{
                    M{"dd.MM – dd.MM"}
                    d{"dd.MM – dd.MM"}
                }
                fallback{"du {0} au {1}"}
                yM{
                    M{"MM.y – MM.y GGGGG"}
                    y{"MM.y – MM.y GGGGG"}
                }
                yMEd{
                    M{"E, dd.MM.y – E, dd.MM.y GGGGG"}
                    d{"E, dd.MM.y – E, dd.MM.y GGGGG"}
                    y{"E, dd.MM.y – E, dd.MM.y GGGGG"}
                }
                yMMM{
                    y{"MMM y 'a'` MMM y G"}
                }
                yMMMEd{
                    M{"E, d MMM 'au' E, d MMM y G"}
                    d{"E, d 'au' E, d MMM y G"}
                    y{"E, d MMM y 'au' E, d MMM y G"}
                }
                yMMMd{
                    M{"d MMM 'au' d MMM y G"}
                    y{"d MMM y 'au' d MMM y G"}
                }
                yMd{
                    M{"dd.MM.y – dd.MM.y GGGGG"}
                    d{"dd.MM.y – dd.MM.y GGGGG"}
                    y{"dd.MM.y – dd.MM.y GGGGG"}
                }
            }
        }
        gregorian{
            DateTimePatterns{
                "HH.mm:ss 'h' zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, d MMMM y",
                "d MMMM y",
                "d MMM y",
                "dd.MM.yy",
                "{1}, {0}",
                "{1} 'à' {0}",
                "{1} 'à' {0}",
                "{1}, {0}",
                "{1} {0}",
            }
            DateTimeSkeletons{
                "HHmmsszzzz",
                "HHmmssz",
                "HHmmss",
                "HHmm",
                "yMMMMEEEEd",
                "yMMMMd",
                "yMMMd",
                "yyMMdd",
            }
            availableFormats{
                MEd{"E, dd.MM."}
                MMdd{"dd.MM"}
                Md{"dd.MM."}
                yM{"MM.y"}
                yMEd{"E, dd.MM.y"}
                yMd{"dd.MM.y"}
            }
            dayPeriod{
                format{
                    abbreviated{
                        afternoon1{"de l’ap.m."}
                        evening1{"du soir"}
                        midnight{"min."}
                        morning1{"du mat."}
                        night1{"du mat."}
                        noon{"midi"}
                    }
                    narrow{
                        afternoon1{"de l’ap.m."}
                        evening1{"du soir"}
                        midnight{"min."}
                        morning1{"du mat."}
                        night1{"du mat."}
                        noon{"midi"}
                    }
                }
                stand-alone{
                    abbreviated{
                        midnight{"min."}
                    }
                    narrow{
                        midnight{"min."}
                    }
                }
            }
            intervalFormats{
                MEd{
                    M{"E, dd.MM – E, dd.MM"}
                    d{"E, dd.MM – E, dd.MM"}
                }
                Md{
                    M{"dd.MM – dd.MM"}
                    d{"dd.MM – dd.MM"}
                }
                yM{
                    M{"MM.y – MM.y"}
                    y{"MM.y – MM.y"}
                }
                yMEd{
                    M{"E, dd.MM.y – E, dd.MM.y"}
                    d{"E, dd.MM.y – E, dd.MM.y"}
                    y{"E, dd.MM.y – E, dd.MM.y"}
                }
                yMd{
                    M{"dd.MM.y – dd.MM.y"}
                    d{"dd.MM.y – dd.MM.y"}
                    y{"dd.MM.y – dd.MM.y"}
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"›"}
        alternateQuotationStart{"‹"}
    }
}
