﻿// ***************************************************************************
// *
// * Copyright (C) 2012 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/et.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/et.xml
 */
et{
    AuxExemplarCharacters{"[á à â å ā æ ç é è ê ë ē í ì î ï ī ñ ó ò ŏ ô ø ō œ ú ù û ū]"}
    ExemplarCharacters{"[a b c d e f g h i j k l m n o p q r s š z ž t u v w õ ä ö ü x y]"}
    ExemplarCharactersIndex{"[A B C D E F G H I J K L M N O P Q R S Š Z Ž T U V Õ Ä Ö Ü X Y]"}
    LocaleScript{
        "Latn",
    }
    NumberElements{
        latn{
            patterns{
                currencyFormat{"#0.00¤;(#0.00¤)"}
                decimalFormat{"#,##0.###"}
                percentFormat{"#,##0%"}
                scientificFormat{"#E0"}
            }
            patternsLong{
                decimalFormat{
                    1000{
                        one{"0 tuhat"}
                        other{"0 tuhat"}
                    }
                    10000{
                        one{"00 tuhat"}
                        other{"00 tuhat"}
                    }
                    100000{
                        one{"000 tuhat"}
                        other{"000 tuhat"}
                    }
                    1000000{
                        one{"0 miljon"}
                        other{"0 miljonit"}
                    }
                    10000000{
                        one{"00 miljon"}
                        other{"00 miljonit"}
                    }
                    100000000{
                        one{"000 miljon"}
                        other{"000 miljonit"}
                    }
                    1000000000{
                        one{"0 miljard"}
                        other{"0 miljardit"}
                    }
                    10000000000{
                        one{"00 miljard"}
                        other{"00 miljardit"}
                    }
                    100000000000{
                        one{"000 miljard"}
                        other{"000 miljardit"}
                    }
                    1000000000000{
                        one{"0 triljon"}
                        other{"0 triljonit"}
                    }
                    10000000000000{
                        one{"00 triljon"}
                        other{"00 triljonit"}
                    }
                    100000000000000{
                        one{"000 triljon"}
                        other{"000 triljonit"}
                    }
                }
            }
            patternsShort{
                decimalFormat{
                    1000{
                        one{"0 tuh"}
                        other{"0 tuh"}
                    }
                    10000{
                        one{"00 tuh"}
                        other{"00 tuh"}
                    }
                    100000{
                        one{"000 tuh"}
                        other{"000 tuh"}
                    }
                    1000000{
                        one{"0 mln"}
                        other{"0 mln"}
                    }
                    10000000{
                        one{"00 mln"}
                        other{"00 mln"}
                    }
                    100000000{
                        one{"000 mln"}
                        other{"000 mln"}
                    }
                    1000000000{
                        one{"0 mld"}
                        other{"0 mld"}
                    }
                    10000000000{
                        one{"00 mld"}
                        other{"00 mld"}
                    }
                    100000000000{
                        one{"000 mld"}
                        other{"000 mld"}
                    }
                    1000000000000{
                        one{"0 trl"}
                        other{"0 trl"}
                    }
                    10000000000000{
                        one{"00 trl"}
                        other{"00 trl"}
                    }
                    100000000000000{
                        one{"000 trl"}
                        other{"000 trl"}
                    }
                }
            }
            symbols{
                decimal{","}
                exponential{"E"}
                group{" "}
                infinity{"∞"}
                list{";"}
                minusSign{"-"}
                nan{"NaN"}
                perMille{"‰"}
                percentSign{"%"}
                plusSign{"+"}
            }
        }
    }
    Version{"2.0.78.32"}
    calendar{
        gregorian{
            AmPmMarkers{
                "AM",
                "PM",
            }
            DateTimePatterns{
                "H:mm.ss zzzz",
                "H:mm.ss z",
                "H:mm.ss",
                "H:mm",
                "EEEE, d. MMMM y",
                "d. MMMM y",
                "dd.MM.yyyy",
                "dd.MM.yy",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"E, d"}
                H{"HH"}
                Hm{"HH:mm"}
                Hms{"H:mm.ss"}
                M{"M"}
                MEd{"E, d.M"}
                MMM{"MMMM"}
                MMMEd{"E, d. MMM"}
                MMMMEd{"E, d. MMMM"}
                MMMMd{"d. MMMM"}
                MMMd{"d. MMM"}
                MMdd{"dd.MM"}
                Md{"d.M"}
                d{"d"}
                h{"h a"}
                hm{"h:mm a"}
                hms{"h:mm.ss a"}
                mmss{"mm.ss"}
                ms{"mm.ss"}
                y{"y"}
                yM{"M.y"}
                yMEd{"E, d.M y"}
                yMMM{"MMM y"}
                yMMMEd{"E, d. MMMM y"}
                yMMMd{"d. MMM y"}
                yMd{"d.M.y"}
                yQQQ{"QQQ y"}
                yQQQQ{"QQQQ y"}
                yyyyMM{"MM.yyyy"}
                yyyyMMMM{"MMMM y"}
            }
            dayNames{
                format{
                    abbreviated{
                        "P",
                        "E",
                        "T",
                        "K",
                        "N",
                        "R",
                        "L",
                    }
                    narrow{
                        "P",
                        "E",
                        "T",
                        "K",
                        "N",
                        "R",
                        "L",
                    }
                    short{
                        "P",
                        "E",
                        "T",
                        "K",
                        "N",
                        "R",
                        "L",
                    }
                    wide{
                        "pühapäev",
                        "esmaspäev",
                        "teisipäev",
                        "kolmapäev",
                        "neljapäev",
                        "reede",
                        "laupäev",
                    }
                }
                stand-alone{
                    abbreviated{
                        "P",
                        "E",
                        "T",
                        "K",
                        "N",
                        "R",
                        "L",
                    }
                    narrow{
                        "P",
                        "E",
                        "T",
                        "K",
                        "N",
                        "R",
                        "L",
                    }
                    short{
                        "P",
                        "E",
                        "T",
                        "K",
                        "N",
                        "R",
                        "L",
                    }
                    wide{
                        "pühapäev",
                        "esmaspäev",
                        "teisipäev",
                        "kolmapäev",
                        "neljapäev",
                        "reede",
                        "laupäev",
                    }
                }
            }
            eras{
                abbreviated{
                    "e.m.a.",
                    "m.a.j.",
                }
                wide{
                    "enne meie aega",
                    "meie aja järgi",
                }
            }
            fields{
                day{
                    dn{"päev"}
                    relative{
                        "-1"{"eile"}
                        "-2"{"üleeile"}
                        "0"{"täna"}
                        "1"{"homme"}
                        "2"{"ülehomme"}
                    }
                }
                dayperiod{
                    dn{"enne/pärast lõunat"}
                }
                era{
                    dn{"ajastu"}
                }
                hour{
                    dn{"tund"}
                }
                minute{
                    dn{"minut"}
                }
                month{
                    dn{"kuu"}
                    relative{
                        "-1"{"Eelmine kuu"}
                        "0"{"See kuu"}
                        "1"{"Järgmine kuu"}
                    }
                }
                second{
                    dn{"sekund"}
                }
                week{
                    dn{"nädal"}
                    relative{
                        "-1"{"Eelmine nädal"}
                        "0"{"See nädal"}
                        "1"{"Järgmine nädal"}
                    }
                }
                weekday{
                    dn{"nädalapäev"}
                }
                year{
                    dn{"aasta"}
                    relative{
                        "-1"{"Eelmine aasta"}
                        "0"{"Sel aastal"}
                        "1"{"Järgmine aasta"}
                    }
                }
                zone{
                    dn{"vöönd"}
                }
            }
            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, dd.MM–E, dd.MM"}
                    d{"E, dd.MM–E, dd.MM"}
                }
                MMM{
                    M{"LLL–LLL"}
                }
                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{"dd.MM–dd.MM"}
                    d{"dd.MM–dd.MM"}
                }
                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{"HH.mma–HH.mma 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{"MM.yy–MM.yy"}
                    y{"MM.yy–MM.yy"}
                }
                yMEd{
                    M{"E, dd.MM.yy–E, dd.MM.yy"}
                    d{"E, dd.MM.yy–E, dd.MM.yy"}
                    y{"E, dd.MM.yy–E, dd.MM.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{"dd.MM.yy–dd.MM.yy"}
                    d{"dd.MM.yy–dd.MM.yy"}
                    y{"dd.MM.yy–dd.MM.yy"}
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "jaan",
                        "veebr",
                        "märts",
                        "apr",
                        "mai",
                        "juuni",
                        "juuli",
                        "aug",
                        "sept",
                        "okt",
                        "nov",
                        "dets",
                    }
                    narrow{
                        "J",
                        "V",
                        "M",
                        "A",
                        "M",
                        "J",
                        "J",
                        "A",
                        "S",
                        "O",
                        "N",
                        "D",
                    }
                    wide{
                        "jaanuar",
                        "veebruar",
                        "märts",
                        "aprill",
                        "mai",
                        "juuni",
                        "juuli",
                        "august",
                        "september",
                        "oktoober",
                        "november",
                        "detsember",
                    }
                }
                stand-alone{
                    abbreviated{
                        "jaan",
                        "veebr",
                        "märts",
                        "apr",
                        "mai",
                        "juuni",
                        "juuli",
                        "aug",
                        "sept",
                        "okt",
                        "nov",
                        "dets",
                    }
                    narrow{
                        "J",
                        "V",
                        "M",
                        "A",
                        "M",
                        "J",
                        "J",
                        "A",
                        "S",
                        "O",
                        "N",
                        "D",
                    }
                    wide{
                        "jaanuar",
                        "veebruar",
                        "märts",
                        "aprill",
                        "mai",
                        "juuni",
                        "juuli",
                        "august",
                        "september",
                        "oktoober",
                        "november",
                        "detsember",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "K1",
                        "K2",
                        "K3",
                        "K4",
                    }
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                    }
                    wide{
                        "1. kvartal",
                        "2. kvartal",
                        "3. kvartal",
                        "4. kvartal",
                    }
                }
                stand-alone{
                    abbreviated{
                        "K1",
                        "K2",
                        "K3",
                        "K4",
                    }
                    narrow{
                        "1.",
                        "2.",
                        "3.",
                        "4.",
                    }
                    wide{
                        "1. kvartal",
                        "2. kvartal",
                        "3. kvartal",
                        "4. kvartal",
                    }
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"‘"}
        alternateQuotationStart{"‚"}
        quotationEnd{"“"}
        quotationStart{"„"}
    }
    listPattern{
        standard{
            2{"{0} ja {1}"}
            end{"{0} ja {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
    }
    measurementSystemNames{
        UK{"inglise mõõdustik"}
        US{"inglise mõõdustik"}
        metric{"meetermõõdustik"}
    }
    units{
        day{
            one{"{0} ööpäev"}
            other{"{0} ööpäeva"}
        }
        day-future{
            one{"{0} päeva pärast"}
            other{"{0} päeva pärast"}
        }
        day-past{
            one{"{0} päeva eest"}
            other{"{0} päeva eest"}
        }
        hour{
            one{"{0} tundi"}
            other{"{0} tundi"}
        }
        hour-future{
            one{"{0} tunni pärast"}
            other{"{0} tunni pärast"}
        }
        hour-past{
            one{"{0} tunni eest"}
            other{"{0} tunni eest"}
        }
        minute{
            one{"{0} minut"}
            other{"{0} minutit"}
        }
        minute-future{
            one{"{0} minuti pärast"}
            other{"{0} minuti pärast"}
        }
        minute-past{
            one{"{0} minuti eest"}
            other{"{0} minuti eest"}
        }
        month{
            one{"{0} kuu"}
            other{"{0} kuud"}
        }
        month-future{
            one{"{0} kuu pärast"}
            other{"{0} kuu pärast"}
        }
        month-past{
            one{"{0} kuu eest"}
            other{"{0} kuu eest"}
        }
        second{
            one{"{0} sekund"}
            other{"{0} sekundit"}
        }
        second-future{
            one{"{0} sekundi pärast"}
            other{"{0} sekundi pärast"}
        }
        second-past{
            one{"{0} sekundi eest"}
            other{"{0} sekundi eest"}
        }
        week{
            one{"{0} nädal"}
            other{"{0} nädalat"}
        }
        week-future{
            one{"{0} nädala pärast"}
            other{"{0} nädala pärast"}
        }
        week-past{
            one{"{0} nädala eest"}
            other{"{0} nädala eest"}
        }
        year{
            one{"{0} aasta"}
            other{"{0} aastat"}
        }
        year-future{
            one{"{0} aasta pärast"}
            other{"{0} aasta pärast"}
        }
        year-past{
            one{"{0} aasta eest"}
            other{"{0} aasta eest"}
        }
    }
    unitsShort{
        day{
            one{"{0} päeva"}
            other{"{0} päeva"}
        }
        hour{
            one{"{0} tundi"}
            other{"{0} tundi"}
        }
        minute{
            one{"{0} min"}
            other{"{0} min"}
        }
        month{
            one{"{0} kuud"}
            other{"{0} kuud"}
        }
        second{
            one{"{0} s"}
            other{"{0} s"}
        }
        week{
            one{"{0} nädal"}
            other{"{0} nädalat"}
        }
        year{
            one{"{0} a"}
            other{"{0} a"}
        }
    }
}
