﻿// ***************************************************************************
// *
// * Copyright (C) 2004 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File: ../../../locale/common/main/gl.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: ../../../locale/icu/main/gl.xml
 */
gl{
    Countries{
        ES{"España"}
    }
    Currencies{
        ESP{
            "₧",
            "ESP",
            {
                "¤ #,##0;-¤ #,##0",
                ",",
                ".",
            }
        }
    }
    ExemplarCharacters{"[a-záéíóúüñ]"}
    Languages{
        gl{"galego"}
    }
    LocaleScript{
        "Latn",
    }
    NumberElements{
        ",",
        ".",
        ";",
        "%",
        "0",
        "#",
        "-",
        "E",
        "‰",
        "∞",
        "�",
        "+",
    }
    Version{"1.2"}
    calendar{
        gregorian{
            dayNames{
                format{
                    abbreviated{
                        "Dom",
                        "Lun",
                        "Mar",
                        "Mér",
                        "Xov",
                        "Ven",
                        "Sáb",
                    }
                    wide{
                        "Domingo",
                        "Luns",
                        "Martes",
                        "Mércores",
                        "Xoves",
                        "Venres",
                        "Sábado",
                    }
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "Xan",
                        "Feb",
                        "Mar",
                        "Abr",
                        "Mai",
                        "Xuñ",
                        "Xul",
                        "Ago",
                        "Set",
                        "Out",
                        "Nov",
                        "Dec",
                    }
                    wide{
                        "Xaneiro",
                        "Febreiro",
                        "Marzo",
                        "Abril",
                        "Maio",
                        "Xuño",
                        "Xullo",
                        "Agosto",
                        "Setembro",
                        "Outubro",
                        "Novembro",
                        "Decembro",
                    }
                }
            }
        }
    }
}
