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

ca {
    CollationElements { 
	    Version { "1.0" }
		Override { "FALSE" }
		Sequence { "[backwards 2]"
        "&C < ch <<< Ch <<< CH"
        "&L < ll <<< l\u00b7l <<< Ll <<< L\u00b7l <<< LL <<< L\u00b7L" }
	}
    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",
        }
    }
    LocaleScript{ 
                "Latn",  // ISO 15924 Name 

    }

}
