﻿// ***************************************************************************
// *
// * 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"}
                        other{"0"}
                    }
                    10000{
                        one{"0"}
                        other{"0"}
                    }
                    100000{
                        one{"0"}
                        other{"0"}
                    }
                    1000000{
                        one{"0 milioi"}
                        other{"0 milioi"}
                    }
                    10000000{
                        one{"00 milioi"}
                        other{"00 milioi"}
                    }
                    100000000{
                        one{"000 milioi"}
                        other{"000 milioi"}
                    }
                    1000000000{
                        one{"0000 milioi"}
                        other{"0000 milioi"}
                    }
                    10000000000{
                        one{"00000 milioi"}
                        other{"00000 milioi"}
                    }
                    100000000000{
                        one{"000000 milioi"}
                        other{"000000 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{"0"}
                        other{"0"}
                    }
                    10000{
                        one{"0"}
                        other{"0"}
                    }
                    100000{
                        one{"0"}
                        other{"0"}
                    }
                    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{
        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"}
                yQQQ{"QQQ y"}
                yQQQQ{"QQQQ y"}
            }
            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"}
        }
    }
}
