﻿// ***************************************************************************
// *
// * Copyright (C) 2012 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/eu.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/eu.xml
 */
eu{
    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 mila"}
                        other{"0 mila"}
                    }
                    10000{
                        one{"00 mila"}
                        other{"00 mila"}
                    }
                    100000{
                        one{"000 mila"}
                        other{"000 mila"}
                    }
                    1000000{
                        one{"0 milioi"}
                        other{"0 milioi"}
                    }
                    10000000{
                        one{"00 milioi"}
                        other{"00 milioi"}
                    }
                    100000000{
                        one{"000 milioi"}
                        other{"000 milioi"}
                    }
                    1000000000{
                        one{"0 mila milioi"}
                        other{"0 mila milioi"}
                    }
                    10000000000{
                        one{"00 mila milioi"}
                        other{"00 mila milioi"}
                    }
                    100000000000{
                        one{"000 mila milioi"}
                        other{"000 mila milioi"}
                    }
                    1000000000000{
                        one{"0 bilioi"}
                        other{"0 bilioi"}
                    }
                    10000000000000{
                        one{"00 bilioi"}
                        other{"00 bilioi"}
                    }
                    100000000000000{
                        one{"000 bilioi"}
                        other{"000 bilioi"}
                    }
                }
            }
            patternsShort{
                decimalFormat{
                    1000{
                        one{"0000"}
                        other{"0000"}
                    }
                    10000{
                        one{"00000"}
                        other{"00000"}
                    }
                    100000{
                        one{"000000"}
                        other{"000000"}
                    }
                    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.75.99"}
    calendar{
        buddhist{
            eras{
                abbreviated{
                    "BG",
                }
            }
        }
        gregorian{
            AmPmMarkers{
                "AM",
                "PM",
            }
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, y MMMM dd",
                "y MMMM d",
                "y MMM d",
                "yyyy-MM-dd",
                "{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, M/d"}
                MMM{"LLL"}
                MMMEd{"E, MMM d"}
                MMMd{"MMM d"}
                Md{"M/d"}
                d{"d"}
                hm{"h:mm a"}
                hms{"h:mm:ss a"}
                ms{"mm:ss"}
                y{"y"}
                yM{"y-M"}
                yMEd{"E, M/d/y"}
                yMMM{"MMM y"}
                yMMMEd{"E, MMM d, y"}
                yMMMd{"MMM d, y"}
                yMd{"y-M-d"}
                yQ{"Q y"}
                yQQQ{"QQQ y"}
                yyQ{"Q yy"}
            }
            dayNames{
                format{
                    abbreviated{
                        "ig",
                        "al",
                        "as",
                        "az",
                        "og",
                        "or",
                        "lr",
                    }
                    narrow{
                        "I",
                        "M",
                        "A",
                        "A",
                        "A",
                        "O",
                        "I",
                    }
                    short{
                        "ig.",
                        "al.",
                        "ar.",
                        "az.",
                        "og.",
                        "or.",
                        "lr.",
                    }
                    wide{
                        "igandea",
                        "astelehena",
                        "asteartea",
                        "asteazkena",
                        "osteguna",
                        "ostirala",
                        "larunbata",
                    }
                }
                stand-alone{
                    narrow{
                        "I",
                        "M",
                        "A",
                        "L",
                        "A",
                        "O",
                        "I",
                    }
                    short{
                        "ig.",
                        "al.",
                        "ar.",
                        "az.",
                        "og.",
                        "or.",
                        "lr.",
                    }
                }
            }
            eras{
                abbreviated{
                    "K.a.",
                    "K.o.",
                }
            }
            fields{
                day{
                    dn{"Eguna"}
                    relative{
                        "-1"{"Atzo"}
                        "-2"{"Herenegun"}
                        "0"{"Gaur"}
                        "1"{"Bihar"}
                        "2"{"Etzi"}
                    }
                }
                dayperiod{
                    dn{"AM//PM"}
                }
                era{
                    dn{"Aroa"}
                }
                hour{
                    dn{"Ordua"}
                }
                minute{
                    dn{"Minutuak"}
                }
                month{
                    dn{"Hilabetea"}
                    relative{
                        "-1"{"Aurreko hilabetea"}
                        "0"{"Gauden hilabetea"}
                        "1"{"Hurrengo hilabetea"}
                    }
                }
                second{
                    dn{"Segundoak"}
                }
                week{
                    dn{"Astea"}
                    relative{
                        "-1"{"Aurreko astea"}
                        "0"{"Aste hau"}
                        "1"{"Hurrengo astea"}
                    }
                }
                weekday{
                    dn{"Asteguna"}
                }
                year{
                    dn{"Urtea"}
                    relative{
                        "-1"{"Aurreko urtea"}
                        "0"{"Aurten"}
                        "1"{"Hurrengo urtea"}
                    }
                }
                zone{
                    dn{"Ordu-eremua"}
                }
            }
            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, M/d – E, M/d"}
                    d{"E, M/d – E, M/d"}
                }
                MMM{
                    M{"MMM–MMM"}
                }
                MMMEd{
                    M{"E, MMM d – E, MMM d"}
                    d{"E, MMM d – E, MMM d"}
                }
                MMMd{
                    M{"MMM d – MMM d"}
                    d{"MMM d–d"}
                }
                Md{
                    M{"M/d – M/d"}
                    d{"M/d – M/d"}
                }
                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, M/d/yy – E, M/d/yy"}
                    d{"E, M/d/yy – E, M/d/yy"}
                    y{"E, M/d/yy – E, M/d/yy"}
                }
                yMMM{
                    M{"MMM–MMM y"}
                    y{"MMM y – MMM y"}
                }
                yMMMEd{
                    M{"E, MMM d – E, MMM d, y"}
                    d{"E, MMM d – E, MMM d, y"}
                    y{"E, MMM d, y – E, MMM d, y"}
                }
                yMMMM{
                    M{"MMMM–MMMM y"}
                    y{"MMMM y – MMMM y"}
                }
                yMMMd{
                    M{"MMM d – MMM d, y"}
                    d{"MMM d–d, y"}
                    y{"MMM d, y – MMM d, y"}
                }
                yMd{
                    M{"M/d/yy – M/d/yy"}
                    d{"M/d/yy – M/d/yy"}
                    y{"M/d/yy – M/d/yy"}
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "urt",
                        "ots",
                        "mar",
                        "api",
                        "mai",
                        "eka",
                        "uzt",
                        "abu",
                        "ira",
                        "urr",
                        "aza",
                        "abe",
                    }
                    wide{
                        "urtarrila",
                        "otsaila",
                        "martxoa",
                        "apirila",
                        "maiatza",
                        "ekaina",
                        "uztaila",
                        "abuztua",
                        "iraila",
                        "urria",
                        "azaroa",
                        "abendua",
                    }
                }
                stand-alone{
                    narrow{
                        "U",
                        "O",
                        "M",
                        "A",
                        "M",
                        "E",
                        "U",
                        "A",
                        "I",
                        "U",
                        "A",
                        "A",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "1Hh",
                        "2Hh",
                        "3Hh",
                        "4Hh",
                    }
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                    }
                    wide{
                        "1. hiruhilekoa",
                        "2. hiruhilekoa",
                        "3. hiruhilekoa",
                        "4. hiruhilekoa",
                    }
                }
                stand-alone{
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                    }
                }
            }
        }
        roc{
            eras{
                abbreviated{
                    "R.O.C. aurretik",
                    "R.O.C.",
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"»"}
        alternateQuotationStart{"«"}
        quotationEnd{"”"}
        quotationStart{"“"}
    }
    listPattern{
        standard{
            2{"{0} eta {1}"}
            end{"{0} eta {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
    }
    measurementSystemNames{
        UK{"EBko sistema"}
        US{"AEBetako sistema"}
        metric{"Metriko"}
    }
    units{
        day{
            one{"{0} eguna"}
            other{"{0} egun"}
        }
        day-future{
            one{"{0} egun barru"}
            other{"{0} egun barru"}
        }
        day-past{
            one{"Duela {0} egun"}
            other{"Duela {0} egun"}
        }
        hour{
            one{"{0} ordua"}
            other{"{0} h"}
        }
        hour-future{
            one{"{0} ordu barru"}
            other{"{0} ordu barru"}
        }
        hour-past{
            one{"Duela {0} ordubete"}
            other{"Duela {0} ordu"}
        }
        minute{
            one{"{0} minutu"}
            other{"{0} minutu"}
        }
        minute-future{
            one{"{0} minutu barru"}
            other{"{0} minutu barru"}
        }
        minute-past{
            one{"Duela {0} minutu"}
            other{"Duela {0} minutu"}
        }
        month{
            one{"{0} hilabete"}
            other{"{0} hilabete"}
        }
        month-future{
            one{"{0} hilabete barru"}
            other{"{0} hilabete barru"}
        }
        month-past{
            one{"Duela {0} hilabete"}
            other{"Duela {0} hilabete"}
        }
        second{
            one{"{0} segundo"}
            other{"{0} s"}
        }
        second-future{
            one{"{0} segundo barru"}
            other{"{0} segundo barru"}
        }
        second-past{
            one{"Duela {0} segundo"}
            other{"Duela {0} segundo"}
        }
        week{
            one{"{0} aste"}
            other{"{0} aste"}
        }
        week-future{
            one{"{0} aste barru"}
            other{"{0} aste barru"}
        }
        week-past{
            one{"Duela {0} aste"}
            other{"Duela {0} aste"}
        }
        year{
            one{"{0} urtea"}
            other{"{0} urte"}
        }
        year-future{
            one{"{0} urte barru"}
            other{"{0} urte barru"}
        }
        year-past{
            one{"Duela {0} urte"}
            other{"Duela {0} urte"}
        }
    }
    unitsShort{
        day{
            one{"{0} egun"}
            other{"{0} egun"}
        }
        hour{
            one{"{0} ordu"}
            other{"{0} ordu"}
        }
        minute{
            one{"{0} minutu"}
            other{"{0} minutu"}
        }
        month{
            one{"{0} hilabete"}
            other{"{0} hilabete"}
        }
        second{
            one{"{0} seg."}
            other{"{0} seg."}
        }
        week{
            one{"{0} aste"}
            other{"{0} aste"}
        }
        year{
            one{"{0} urte"}
            other{"{0} urte"}
        }
    }
}
