﻿// ***************************************************************************
// *
// * Copyright (C) 2012 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/gl.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/gl.xml
 */
gl{
    AuxExemplarCharacters{"[ª à â ä ã ç è ê ë ì î ï º ò ô ö õ ù û]"}
    ExemplarCharacters{"[a á b c d e é f g h i í j k l m n ñ o ó p q r s t u ú ü v w x y z]"}
    ExemplarCharactersIndex{"[A B C D E F G H I J K L M N Ñ O P Q R S T U V W X Y Z]"}
    LocaleScript{
        "Latn",
    }
    NumberElements{
        latn{
            patterns{
                currencyFormat{"¤#,##0.00;(¤#,##0.00)"}
                decimalFormat{"#,##0.###"}
                percentFormat{"#,##0%"}
                scientificFormat{"#E0"}
            }
            patternsLong{
                decimalFormat{
                    1000{
                        one{"0 mil"}
                        other{"0 mil"}
                    }
                    10000{
                        one{"00 mil"}
                        other{"00 mil"}
                    }
                    100000{
                        one{"000 mil"}
                        other{"000 mil"}
                    }
                    1000000{
                        one{"0 millón"}
                        other{"0 millóns"}
                    }
                    10000000{
                        one{"00 millón"}
                        other{"00 millóns"}
                    }
                    100000000{
                        one{"000 millón"}
                        other{"000 millóns"}
                    }
                    1000000000{
                        one{"0 mil millóns"}
                        other{"0 mil millóns"}
                    }
                    10000000000{
                        one{"00 mil millóns"}
                        other{"00 mil millóns"}
                    }
                    100000000000{
                        one{"000 mil millóns"}
                        other{"000 mil millóns"}
                    }
                    1000000000000{
                        one{"0 billóns"}
                        other{"0 billóns"}
                    }
                    10000000000000{
                        one{"00 billóns"}
                        other{"00 billóns"}
                    }
                    100000000000000{
                        one{"000 billóns"}
                        other{"000 billóns"}
                    }
                }
            }
            patternsShort{
                decimalFormat{
                    1000{
                        one{"0"}
                        other{"0"}
                    }
                    10000{
                        one{"00k"}
                        other{"00k"}
                    }
                    100000{
                        one{"000k"}
                        other{"000k"}
                    }
                    1000000{
                        one{"0 M"}
                        other{"0 M"}
                    }
                    10000000{
                        one{"00 M"}
                        other{"00 M"}
                    }
                    100000000{
                        one{"000 M"}
                        other{"000 M"}
                    }
                    1000000000{
                        one{"0000 M"}
                        other{"0000 M"}
                    }
                    10000000000{
                        one{"00k M"}
                        other{"00k M"}
                    }
                    100000000000{
                        one{"000k M"}
                        other{"000k M"}
                    }
                    1000000000000{
                        one{"0 B"}
                        other{"0 B"}
                    }
                    10000000000000{
                        one{"00 B"}
                        other{"00 B"}
                    }
                    100000000000000{
                        one{"000 B"}
                        other{"000 B"}
                    }
                }
            }
            symbols{
                decimal{","}
                exponential{"E"}
                group{"."}
                infinity{"∞"}
                list{";"}
                minusSign{"-"}
                nan{"NaN"}
                perMille{"‰"}
                percentSign{"%"}
                plusSign{"+"}
            }
        }
    }
    Version{"2.0.78.30"}
    calendar{
        gregorian{
            AmPmMarkers{
                "a.m.",
                "p.m.",
            }
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE dd MMMM y",
                "dd MMMM y",
                "d MMM, y",
                "dd/MM/yy",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"d E"}
                H{"HH"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E, d-M"}
                MMM{"LLL"}
                MMMEd{"E d MMM"}
                MMMMEd{"E d MMMM"}
                MMMMd{"d MMMM"}
                MMMMdd{"dd MMMM"}
                MMMd{"d MMM"}
                MMdd{"dd/MM"}
                Md{"d-M"}
                d{"d"}
                h{"h a"}
                hm{"h:mm a"}
                hms{"h:mm:ss a"}
                ms{"mm:ss"}
                y{"y"}
                yM{"M-yyyy"}
                yMEd{"E, d/M/y"}
                yMMM{"MMM y"}
                yMMMEd{"E, d MMM, y"}
                yMMMM{"MMMM y"}
                yMMMd{"d MMM, y"}
                yMd{"d/M/y"}
                yQQQ{"QQQ y"}
                yQQQQ{"QQQQ y"}
                yyMM{"MM/yy"}
                yyyyMMMM{"MMMM y"}
            }
            dayNames{
                format{
                    abbreviated{
                        "Dom",
                        "Lun",
                        "Mar",
                        "Mér",
                        "Xov",
                        "Ven",
                        "Sáb",
                    }
                    short{
                        "Dom",
                        "Luns",
                        "Mt",
                        "Mc",
                        "Xv",
                        "Ve",
                        "Sáb",
                    }
                    wide{
                        "Domingo",
                        "Luns",
                        "Martes",
                        "Mércores",
                        "Xoves",
                        "Venres",
                        "Sábado",
                    }
                }
                stand-alone{
                    narrow{
                        "D",
                        "L",
                        "M",
                        "M",
                        "X",
                        "V",
                        "S",
                    }
                    short{
                        "Dom",
                        "Luns",
                        "Mt",
                        "Mc",
                        "Xv",
                        "Ven",
                        "Sáb",
                    }
                }
            }
            eras{
                abbreviated{
                    "a.C.",
                    "d.C.",
                }
                wide{
                    "antes de Cristo",
                    "despois de Cristo",
                }
            }
            fields{
                day{
                    dn{"Día"}
                    relative{
                        "-1"{"onte"}
                        "-2"{"antonte"}
                        "0"{"hoxe"}
                        "1"{"mañá"}
                        "2"{"pasadomañá"}
                    }
                }
                dayperiod{
                    dn{"a.m./p.m."}
                }
                era{
                    dn{"Era"}
                }
                hour{
                    dn{"Hora"}
                }
                minute{
                    dn{"Minuto"}
                }
                month{
                    dn{"Mes"}
                    relative{
                        "-1"{"Mes pasado"}
                        "0"{"Este mes"}
                        "1"{"Mes seguinte"}
                    }
                }
                second{
                    dn{"Segundo"}
                }
                week{
                    dn{"Semana"}
                    relative{
                        "-1"{"Semana pasada"}
                        "0"{"Esta semana"}
                        "1"{"Semana seguinte"}
                    }
                }
                weekday{
                    dn{"Día da semana"}
                }
                year{
                    dn{"Ano"}
                    relative{
                        "-1"{"Ano pasado"}
                        "0"{"Este ano"}
                        "1"{"Seguinte ano"}
                    }
                }
                zone{
                    dn{"Fuso horario"}
                }
            }
            intervalFormats{
                H{
                    H{"HH–HH"}
                }
                Hm{
                    H{"HH:mm–HH:mm"}
                    m{"HH:mm–HH:mm"}
                }
                Hmv{
                    H{"HH:mm–HH:mm v"}
                    m{"HH:mm–HH:mm v"}
                }
                Hv{
                    H{"HH–HH v"}
                }
                M{
                    M{"M–M"}
                }
                MEd{
                    M{"E, d/M – E, d/M"}
                    d{"E, d/M – E, d/M"}
                }
                MMM{
                    M{"MMM–MMM"}
                }
                MMMEd{
                    M{"E, d MMM – E, d MMM"}
                    d{"E, d MMM – E, d MMM"}
                }
                MMMd{
                    M{"d MMM – d MMM"}
                    d{"d–d MMM"}
                }
                Md{
                    M{"d/M – d/M"}
                    d{"d/M – d/M"}
                }
                d{
                    d{"d–d"}
                }
                fallback{"{0} – {1}"}
                h{
                    a{"h a – h a"}
                    h{"h–h a"}
                }
                hm{
                    a{"h:mm a – h:mm a"}
                    h{"h:mm–h:mm a"}
                    m{"h:mm–h:mm a"}
                }
                hmv{
                    a{"h:mm a – h:mm a v"}
                    h{"h:mm–h:mm a v"}
                    m{"h:mm–h:mm a v"}
                }
                hv{
                    a{"h a – h a v"}
                    h{"h–h a v"}
                }
                y{
                    y{"y–y"}
                }
                yM{
                    M{"M/yy – M/yy"}
                    y{"M/yy – M/yy"}
                }
                yMEd{
                    M{"E, d/M/yy – E, d/M/yy"}
                    d{"E, d/M/yy – E, d/M/yy"}
                    y{"E, d/M/yy – E, d/M/yy"}
                }
                yMMM{
                    M{"MMM–MMM y"}
                    y{"MMM y – MMM y"}
                }
                yMMMEd{
                    M{"E, d MMM – E, d MMM, y"}
                    d{"E, d MMM – E, d MMM, y"}
                    y{"E, d MMM, y – E, d MMM, y"}
                }
                yMMMM{
                    M{"MMMM–MMMM y"}
                    y{"MMMM y – MMMM y"}
                }
                yMMMd{
                    M{"d MMM – d MMM, y"}
                    d{"d–d MMM, y"}
                    y{"d MMM, y – d MMM, y"}
                }
                yMd{
                    M{"d/M/yy – d/M/yy"}
                    d{"d/M/yy – d/M/yy"}
                    y{"d/M/yy – d/M/yy"}
                }
            }
            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",
                    }
                }
                stand-alone{
                    narrow{
                        "X",
                        "F",
                        "M",
                        "A",
                        "M",
                        "X",
                        "X",
                        "A",
                        "S",
                        "O",
                        "N",
                        "D",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "T1",
                        "T2",
                        "T3",
                        "T4",
                    }
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                    }
                    wide{
                        "1o trimestre",
                        "2o trimestre",
                        "3o trimestre",
                        "4o trimestre",
                    }
                }
                stand-alone{
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                    }
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"’"}
        alternateQuotationStart{"‘"}
        quotationEnd{"”"}
        quotationStart{"“"}
    }
    listPattern{
        standard{
            2{"{0} e {1}"}
            end{"{0} e {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
    }
    measurementSystemNames{
        UK{"RU"}
        US{"americano"}
        metric{"métrico decimal"}
    }
    units{
        day{
            one{"{0} día"}
            other{"{0} días"}
        }
        day-future{
            one{"En {0} día"}
            other{"En {0} días"}
        }
        day-past{
            one{"Hai {0} día"}
            other{"Hai {0} días"}
        }
        hour{
            one{"{0} hora"}
            other{"{0} horas"}
        }
        hour-future{
            one{"En {0} hora"}
            other{"En {0} horas"}
        }
        hour-past{
            one{"Hai {0} hora"}
            other{"Hai {0} horas"}
        }
        minute{
            one{"{0} minuto"}
            other{"{0} minutos"}
        }
        minute-future{
            one{"En {0} minuto"}
            other{"En {0} minutos"}
        }
        minute-past{
            one{"Hai {0} minuto"}
            other{"Hai {0} minutos"}
        }
        month{
            one{"{0} mes"}
            other{"{0} meses"}
        }
        month-future{
            one{"En {0} mes"}
            other{"En {0} meses"}
        }
        month-past{
            one{"Hai {0} mes"}
            other{"Hai {0} meses"}
        }
        second{
            one{"{0} segundo"}
            other{"{0} segundos"}
        }
        second-future{
            one{"En {0} segundo"}
            other{"En {0} segundos"}
        }
        second-past{
            one{"Hai {0} segundo"}
            other{"En {0} segundos"}
        }
        week{
            one{"{0} semana"}
            other{"{0} semanas"}
        }
        week-future{
            one{"En {0} semana"}
            other{"En {0} semanas"}
        }
        week-past{
            one{"Hai {0} semana"}
            other{"Hai {0} semanas"}
        }
        year{
            one{"{0} ano"}
            other{"{0} anos"}
        }
        year-future{
            one{"En {0} ano"}
            other{"En {0} anos"}
        }
        year-past{
            one{"Hai {0} ano"}
            other{"Hai {0} anos"}
        }
    }
    unitsShort{
        day{
            one{"{0} día"}
            other{"{0} días"}
        }
        hour{
            one{"{0} h"}
            other{"{0} h"}
        }
        minute{
            one{"{0} min"}
            other{"{0} min"}
        }
        month{
            one{"{0} mes"}
            other{"{0} meses"}
        }
        second{
            one{"{0} S"}
            other{"{0} s"}
        }
        week{
            one{"{0} semana"}
            other{"{0} sem"}
        }
        year{
            one{"{0} ano"}
            other{"{0} anos"}
        }
    }
}
