// *******************************************************************************
// *
// *   Copyright (C) 1997-2000, International Business Machines
// *   Corporation and others.  All Rights Reserved.
// *
// *******************************************************************************

es_CL {
    CurrencyElements { 
            "Ch$",
            "CLP",
            ",",
    }
    DateTimePatterns { 
            "hh:mm:ss a z",
            "hh:mm:ss a z",
            "hh:mm:ss a",
            "hh:mm a",
            "EEEE d' de 'MMMM' de 'yyyy",
            "d' de 'MMMM' de 'yyyy",
            "dd-MM-yyyy",
            "dd-MM-yy",
            "{1} {0}",
    }
    LocaleID { "340a" }
    LocaleString { "es_CL" }
    NumberPatterns { 
            "#,##0.###;-#,##0.###",
            "\u00A4#,##0.00;\u00A4-#,##0.00",
            "#,##0%",
    }
    ShortCountry { "CHL" }
}
