// ****************************************************************************
// *                                                                          *
// * COPYRIGHT:                                                               *
// * (C) Copyright Taligent, Inc.,  1997                                      *
// * (C) Copyright International Business Machines Corporation,  1997-99      *
// * Licensed Material - Program-Property of IBM - All Rights Reserved.       *
// * US Government Users Restricted Rights - Use, duplication, or disclosure  *
// * restricted by GSA ADP Schedule Contract with IBM Corp.                   *
// *                                                                          *
// ****************************************************************************

fr_CH {
    CurrencyElements { 
            "SFr.",
            "CHF",
            ".",
    }
    DateTimeElements { 
            "2",
            "4",
    }
    DateTimePatterns { 
            "HH.mm.' h' z",
            "HH:mm:ss z",
            "HH:mm:ss",
            "HH:mm",
            "EEEE, d. MMMM yyyy",
            "d. MMMM yyyy",
            "d MMM yy",
            "dd.MM.yy",
            "{1} {0}",
    }
    LocaleID { "100c" }
    LocaleString { "fr_CH" }
    NumberElements { 
            ".",
            "'",
            ";",
            "%",
            "0",
            "#",
            "-",
            "E",
            "\u2030",
            "\u221E",
            "\uFFFD",
    }
    NumberPatterns { 
            "#,##0.###;-#,##0.###",
            "\u00A4 #,##0.00;\u00A4-#,##0.00",
            "#,##0%",
    }
    ShortCountry { "CHE" }
    localPatternChars { "GanjkHmsSEDFwWxhKz" }
    zoneStrings { 
        {
                "Africa/Casablanca",
                "GMT",
                "GMT",
                "GMT",
                "GMT",
        }
    }
}
