﻿// ***************************************************************************
// *
// * Copyright (C) 2014 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>/common/main/et.xml
 */
et{
    AuxExemplarCharacters{"[á à â å ā æ ç é è ê ë ē í ì î ï ī ñ ó ò ŏ ô ø ō œ ú ù û ū]"}
    Ellipsis{
        final{"{0}…"}
        initial{"…{0}"}
        medial{"{0} … {1}"}
        word-final{"{0} …"}
        word-initial{"… {0}"}
        word-medial{"{0} … {1}"}
    }
    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",
    }
    MoreInformation{"?"}
    NumberElements{
        default{"latn"}
        latn{
            miscPatterns{
                atLeast{"⩾{0}"}
                range{"{0}‒{1}"}
            }
            patterns{
                accountingFormat{"#,##0.00 ¤;(#,##0.00 ¤)"}
                currencyFormat{"#,##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{"×10^"}
                group{" "}
                infinity{"∞"}
                list{";"}
                minusSign{"-"}
                nan{"NaN"}
                perMille{"‰"}
                percentSign{"%"}
                plusSign{"+"}
                superscriptingExponent{"×"}
                timeSeparator{"."}
            }
        }
        minimumGroupingDigits{"3"}
        native{"latn"}
    }
    Version{"2.1.8.9"}
    calendar{
        generic{
            DateTimePatterns{
                "H:mm.ss zzzz",
                "H:mm.ss z",
                "H:mm.ss",
                "H:mm",
                "EEEE, d. MMMM y G",
                "d. MMMM y G",
                "dd.MM.y G",
                "dd.MM.y GGGGG",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"E, d"}
                Gy{"y G"}
                GyMMM{"MMM y G"}
                GyMMMEd{"E, d. MMMM y G"}
                GyMMMd{"d. MMM y G"}
                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"}
                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 G"}
                yyyy{"y G"}
                yyyyM{"M.y G"}
                yyyyMEd{"E, d.M y G"}
                yyyyMMM{"MMM y G"}
                yyyyMMMEd{"E, d. MMMM y G"}
                yyyyMMMM{"MMMM y G"}
                yyyyMMMd{"d. MMM y G"}
                yyyyMd{"d.M.y G"}
                yyyyQQQ{"QQQ y G"}
                yyyyQQQQ{"QQQQ y G"}
            }
            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{"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{"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{"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 G"}
                }
                yM{
                    M{"MM.y–MM.y G"}
                    y{"MM.y–MM.y G"}
                }
                yMEd{
                    M{"E, dd.MM.y–E, dd.MM.y G"}
                    d{"E, dd.MM.y–E, dd.MM.y G"}
                    y{"E, dd.MM.y–E, dd.MM.y G"}
                }
                yMMM{
                    M{"MMM–MMM y G"}
                    y{"MMM y–MMM y G"}
                }
                yMMMEd{
                    M{"E, d. MMM–E, d. MMM y G"}
                    d{"E, d. MMM–E, d. MMM y G"}
                    y{"E, d. MMM y–E, d. MMM y G"}
                }
                yMMMM{
                    M{"MMMM–MMMM y G"}
                    y{"MMMM y – MMMM y G"}
                }
                yMMMd{
                    M{"d. MMM–d. MMM y G"}
                    d{"d.–d. MMM y G"}
                    y{"d. MMM y–d. MMM y G"}
                }
                yMd{
                    M{"dd.MM.y–dd.MM.y G"}
                    d{"dd.MM.y–dd.MM.y G"}
                    y{"dd.MM.y–dd.MM.y G"}
                }
            }
        }
        gregorian{
            AmPmMarkers{
                "AM",
                "PM",
            }
            AmPmMarkersAbbr{
                "e.k.",
                "p.k.",
            }
            AmPmMarkersNarrow{
                "a",
                "p",
            }
            DateTimePatterns{
                "H:mm.ss zzzz",
                "H:mm.ss z",
                "H:mm.ss",
                "H:mm",
                "EEEE, d. MMMM y",
                "d. MMMM y",
                "d. MMM y",
                "dd.MM.yy",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            NoonMarker{"keskpäev"}
            NoonMarkerNarrow{"n"}
            appendItems{
                Timezone{"{0} {1}"}
            }
            availableFormats{
                E{"ccc"}
                EHm{"E HH:mm"}
                EHms{"E HH:mm:ss"}
                Ed{"E, d"}
                Ehm{"E h:mm a"}
                Ehms{"E h:mm:ss a"}
                Gy{"y G"}
                GyMMM{"MMM y G"}
                GyMMMEd{"E, d. MMMM y G"}
                GyMMMd{"d. MMM y G"}
                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"}
                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"}
                yMMMM{"MMMM y"}
                yMMMd{"d. MMM y"}
                yMd{"d.M.y"}
                yQQQ{"QQQ y"}
                yQQQQ{"QQQQ 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.",
                }
                abbreviated%variant{
                    "EMA",
                    "MA",
                }
                narrow{
                    "e.m.a.",
                    "m.a.j.",
                }
                wide{
                    "enne meie aega",
                    "meie aja järgi",
                }
                wide%variant{
                    "enne meie ajaarvamist",
                    "meie ajaarvamise järgi",
                }
            }
            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{"MM–MM"}
                }
                MEd{
                    M{"E, dd.MM–E, dd.MM"}
                    d{"E, dd.MM–E, dd.MM"}
                }
                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{"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{"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{"MM.y–MM.y"}
                    y{"MM.y–MM.y"}
                }
                yMEd{
                    M{"E, dd.MM.y–E, dd.MM.y"}
                    d{"E, dd.MM.y–E, dd.MM.y"}
                    y{"E, dd.MM.y–E, dd.MM.y"}
                }
                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.y–dd.MM.y"}
                    d{"dd.MM.y–dd.MM.y"}
                    y{"dd.MM.y–dd.MM.y"}
                }
            }
            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{"„"}
    }
    durationUnits{
        hm{"h:mm"}
        hms{"h:mm:ss"}
        ms{"m:ss"}
    }
    fields{
        day{
            dn{"päev"}
            relative{
                "-1"{"eile"}
                "-2"{"üleeile"}
                "0"{"täna"}
                "1"{"homme"}
                "2"{"ülehomme"}
            }
            relativeTime{
                future{
                    one{"{0} päeva pärast"}
                    other{"{0} päeva pärast"}
                }
                past{
                    one{"{0} päeva eest"}
                    other{"{0} päeva eest"}
                }
            }
        }
        day-narrow{
            dn{"p"}
            relativeTime{
                future{
                    one{"{0} p pärast"}
                    other{"{0} p pärast"}
                }
                past{
                    one{"{0} p tagasi"}
                    other{"{0} p tagasi"}
                }
            }
        }
        day-short{
            dn{"p"}
            relativeTime{
                future{
                    one{"{0} p pärast"}
                    other{"{0} p pärast"}
                }
                past{
                    one{"{0} p tagasi"}
                    other{"{0} p tagasi"}
                }
            }
        }
        dayperiod{
            dn{"enne/pärast lõunat"}
        }
        era{
            dn{"ajastu"}
        }
        fri{
            relative{
                "-1"{"eelmine reede"}
                "0"{"käesolev reede"}
                "1"{"järgmine reede"}
            }
        }
        fri-narrow{
            relative{
                "-1"{"eelmine reede"}
                "0"{"käesolev reede"}
                "1"{"järgmine reede"}
            }
        }
        fri-short{
            relative{
                "-1"{"eelmine reede"}
                "0"{"käesolev reede"}
                "1"{"järgmine reede"}
            }
        }
        hour{
            dn{"tund"}
            relativeTime{
                future{
                    one{"{0} tunni pärast"}
                    other{"{0} tunni pärast"}
                }
                past{
                    one{"{0} tunni eest"}
                    other{"{0} tunni eest"}
                }
            }
        }
        hour-narrow{
            dn{"t"}
            relativeTime{
                future{
                    one{"{0} h pärast"}
                    other{"{0} h pärast"}
                }
                past{
                    one{"{0} h tagasi"}
                    other{"{0} h tagasi"}
                }
            }
        }
        hour-short{
            dn{"t"}
            relativeTime{
                future{
                    one{"{0} h pärast"}
                    other{"{0} h pärast"}
                }
                past{
                    one{"{0} h tagasi"}
                    other{"{0} h tagasi"}
                }
            }
        }
        minute{
            dn{"minut"}
            relativeTime{
                future{
                    one{"{0} minuti pärast"}
                    other{"{0} minuti pärast"}
                }
                past{
                    one{"{0} minuti eest"}
                    other{"{0} minuti eest"}
                }
            }
        }
        minute-narrow{
            dn{"min"}
            relativeTime{
                future{
                    one{"{0} min pärast"}
                    other{"{0} min pärast"}
                }
                past{
                    one{"{0} min tagasi"}
                    other{"{0} min tagasi"}
                }
            }
        }
        minute-short{
            dn{"min"}
            relativeTime{
                future{
                    one{"{0} min pärast"}
                    other{"{0} min pärast"}
                }
                past{
                    one{"{0} min tagasi"}
                    other{"{0} min tagasi"}
                }
            }
        }
        mon{
            relative{
                "-1"{"eelmine esmaspäev"}
                "0"{"käesolev esmaspäev"}
                "1"{"järgmine esmaspäev"}
            }
        }
        mon-narrow{
            relative{
                "-1"{"eelmine esmaspäev"}
                "0"{"käesolev esmaspäev"}
                "1"{"järgmine esmaspäev"}
            }
        }
        mon-short{
            relative{
                "-1"{"eelmine esmaspäev"}
                "0"{"käesolev esmaspäev"}
                "1"{"järgmine esmaspäev"}
            }
        }
        month{
            dn{"kuu"}
            relative{
                "-1"{"eelmine kuu"}
                "0"{"käesolev kuu"}
                "1"{"järgmine kuu"}
            }
            relativeTime{
                future{
                    one{"{0} kuu pärast"}
                    other{"{0} kuu pärast"}
                }
                past{
                    one{"{0} kuu eest"}
                    other{"{0} kuu eest"}
                }
            }
        }
        month-narrow{
            dn{"k"}
            relativeTime{
                future{
                    one{"{0} kuu pärast"}
                    other{"{0} kuu pärast"}
                }
                past{
                    one{"{0} kuu eest"}
                    other{"{0} kuu eest"}
                }
            }
        }
        month-short{
            dn{"k"}
            relativeTime{
                future{
                    one{"{0} kuu pärast"}
                    other{"{0} kuu pärast"}
                }
                past{
                    one{"{0} kuu eest"}
                    other{"{0} kuu eest"}
                }
            }
        }
        quarter{
            dn{"Kvartal"}
            relativeTime{
                future{
                    one{"{0} kvartali pärast"}
                    other{"{0} kvartali pärast"}
                }
                past{
                    one{"{0} kvartali eest"}
                    other{"{0} kvartali eest"}
                }
            }
        }
        quarter-narrow{
            dn{"kv"}
            relativeTime{
                future{
                    one{"+{0} kv"}
                    other{"+{0} kv"}
                }
                past{
                    one{"-{0} kv"}
                    other{"-{0} kv"}
                }
            }
        }
        quarter-short{
            dn{"kv"}
            relativeTime{
                future{
                    one{"{0} kv pärast"}
                    other{"{0} kv pärast"}
                }
                past{
                    one{"{0} kv eest"}
                    other{"{0} kv eest"}
                }
            }
        }
        sat{
            relative{
                "-1"{"eelmine laupäev"}
                "0"{"käesolev laupäev"}
                "1"{"järgmine laupäev"}
            }
        }
        sat-narrow{
            relative{
                "-1"{"eelmine laupäev"}
                "0"{"käesolev laupäev"}
                "1"{"järgmine laupäev"}
            }
        }
        sat-short{
            relative{
                "-1"{"eelmine laupäev"}
                "0"{"käesolev laupäev"}
                "1"{"järgmine laupäev"}
            }
        }
        second{
            dn{"sekund"}
            relative{
                "0"{"nüüd"}
            }
            relativeTime{
                future{
                    one{"{0} sekundi pärast"}
                    other{"{0} sekundi pärast"}
                }
                past{
                    one{"{0} sekundi eest"}
                    other{"{0} sekundi eest"}
                }
            }
        }
        second-narrow{
            dn{"s"}
            relativeTime{
                future{
                    one{"{0} s pärast"}
                    other{"{0} s pärast"}
                }
                past{
                    one{"{0} s tagasi"}
                    other{"{0} s tagasi"}
                }
            }
        }
        second-short{
            dn{"sek"}
            relativeTime{
                future{
                    one{"{0} s pärast"}
                    other{"{0} s pärast"}
                }
                past{
                    one{"{0} s tagasi"}
                    other{"{0} s tagasi"}
                }
            }
        }
        sun{
            relative{
                "-1"{"eelmine pühapäev"}
                "0"{"käesolev pühapäev"}
                "1"{"järgmine pühapäev"}
            }
        }
        sun-narrow{
            relative{
                "-1"{"eelmine pühapäev"}
                "0"{"käesolev pühapäev"}
                "1"{"järgmine pühapäev"}
            }
        }
        sun-short{
            relative{
                "-1"{"eelmine pühapäev"}
                "0"{"käesolev pühapäev"}
                "1"{"järgmine pühapäev"}
            }
        }
        thu{
            relative{
                "-1"{"eelmine neljapäev"}
                "0"{"käesolev neljapäev"}
                "1"{"järgmine neljapäev"}
            }
        }
        thu-narrow{
            relative{
                "-1"{"eelmine neljapäev"}
                "0"{"käesolev neljapäev"}
                "1"{"järgmine neljapäev"}
            }
        }
        thu-short{
            relative{
                "-1"{"eelmine neljapäev"}
                "0"{"käesolev neljapäev"}
                "1"{"järgmine neljapäev"}
            }
        }
        tue{
            relative{
                "-1"{"eelmine teisipäev"}
                "0"{"käesolev teisipäev"}
                "1"{"järgmine teisipäev"}
            }
        }
        tue-narrow{
            relative{
                "-1"{"eelmine teisipäev"}
                "0"{"käesolev teisipäev"}
                "1"{"järgmine teisipäev"}
            }
        }
        tue-short{
            relative{
                "-1"{"eelmine teisipäev"}
                "0"{"käesolev teisipäev"}
                "1"{"järgmine teisipäev"}
            }
        }
        wed{
            relative{
                "-1"{"eelmine kolmapäev"}
                "0"{"käesolev kolmapäev"}
                "1"{"järgmine kolmapäev"}
            }
        }
        wed-narrow{
            relative{
                "-1"{"eelmine kolmapäev"}
                "0"{"käesolev kolmapäev"}
                "1"{"järgmine kolmapäev"}
            }
        }
        wed-short{
            relative{
                "-1"{"eelmine kolmapäev"}
                "0"{"käesolev kolmapäev"}
                "1"{"järgmine kolmapäev"}
            }
        }
        week{
            dn{"nädal"}
            relative{
                "-1"{"eelmine nädal"}
                "0"{"käesolev nädal"}
                "1"{"järgmine nädal"}
            }
            relativeTime{
                future{
                    one{"{0} nädala pärast"}
                    other{"{0} nädala pärast"}
                }
                past{
                    one{"{0} nädala eest"}
                    other{"{0} nädala eest"}
                }
            }
        }
        week-narrow{
            dn{"näd"}
            relativeTime{
                future{
                    one{"{0} nädala pärast"}
                    other{"{0} nädala pärast"}
                }
                past{
                    one{"{0} nädala eest"}
                    other{"{0} nädala eest"}
                }
            }
        }
        week-short{
            dn{"näd"}
            relativeTime{
                future{
                    one{"{0} nädala pärast"}
                    other{"{0} nädala pärast"}
                }
                past{
                    one{"{0} nädala eest"}
                    other{"{0} nädala eest"}
                }
            }
        }
        weekday{
            dn{"nädalapäev"}
        }
        year{
            dn{"aasta"}
            relative{
                "-1"{"eelmine aasta"}
                "0"{"käesolev aasta"}
                "1"{"järgmine aasta"}
            }
            relativeTime{
                future{
                    one{"{0} aasta pärast"}
                    other{"{0} aasta pärast"}
                }
                past{
                    one{"{0} aasta eest"}
                    other{"{0} aasta eest"}
                }
            }
        }
        year-narrow{
            dn{"a"}
            relativeTime{
                future{
                    one{"{0} aasta pärast"}
                    other{"{0} aasta pärast"}
                }
                past{
                    one{"{0} aasta eest"}
                    other{"{0} aasta eest"}
                }
            }
        }
        year-short{
            dn{"a"}
            relativeTime{
                future{
                    one{"{0} aasta pärast"}
                    other{"{0} aasta pärast"}
                }
                past{
                    one{"{0} aasta eest"}
                    other{"{0} aasta eest"}
                }
            }
        }
        zone{
            dn{"ajavöönd"}
        }
    }
    listPattern{
        standard{
            2{"{0} ja {1}"}
            end{"{0} ja {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
        unit{
            2{"{0}, {1}"}
            end{"{0}, {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
        unit-narrow{
            2{"{0} {1}"}
            end{"{0} {1}"}
            middle{"{0} {1}"}
            start{"{0} {1}"}
        }
        unit-short{
            2{"{0}, {1}"}
            end{"{0}, {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
    }
    measurementSystemNames{
        UK{"inglise mõõdustik"}
        US{"inglise mõõdustik"}
        metric{"meetermõõdustik"}
    }
    transformNames{
        BGN{"BGN"}
        Numeric{"Numbriline"}
        Tone{"Toon"}
        UNGEGN{"UNGEGN"}
        x-Accents{"Aktsendid"}
        x-Fullwidth{"Täislai"}
        x-Halfwidth{"Poolaius"}
        x-Jamo{"Jamo"}
        x-Pinyin{"Pinyin"}
        x-Publishing{"Kirjastamine"}
    }
}
