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

ca {
    CollationElements { 
	    Version { "1.0" }
		Override { "FALSE" }
		Sequence { "@" }
	}
    Countries { 
        ES { "Espanya" }
    }
    DateTimePatterns { 
            "HH:mm:ss z",
            "HH:mm:ss z",
            "HH:mm:ss",
            "HH:mm",
            "EEEE, d' / 'MMMM' / 'yyyy",
            "d' / 'MMMM' / 'yyyy",
            "dd/MM/yyyy",
            "dd/MM/yy",
            "{1} {0}",
    }
    DayAbbreviations { 
            "dg.",
            "dl.",
            "dt.",
            "dc.",
            "dj.",
            "dv.",
            "ds.",
    }
    DayNames { 
            "diumenge",
            "dilluns",
            "dimarts",
            "dimecres",
            "dijous",
            "divendres",
            "dissabte",
    }
    Languages { 
        ca { "catal\u00E0" }
    }
    LocaleID { "03" }
    LocaleString { "ca" }
    MonthAbbreviations { 
            "gen.",
            "feb.",
            "mar\u00E7",
            "abr.",
            "maig",
            "juny",
            "jul.",
            "ag.",
            "set.",
            "oct.",
            "nov.",
            "des.",
            "",
    }
    MonthNames { 
            "gener",
            "febrer",
            "mar\u00E7",
            "abril",
            "maig",
            "juny",
            "juliol",
            "agost",
            "setembre",
            "octubre",
            "novembre",
            "desembre",
            "",
    }
    NumberElements { 
            ",",
            ".",
            ";",
            "%",
            "0",
            "#",
            "-",
            "E",
            "\u2030",
            "\u221E",
            "\uFFFD",
    }
    ShortLanguage { "cat" }
    localPatternChars { "GuMtkHmsSEDFwWahKzUe" }
    zoneStrings { 
        {
                "Africa/Casablanca",
                "GMT",
                "GMT",
                "GMT",
                "GMT",
        }
    }
}
