﻿// ***************************************************************************
// *
// * 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{"„"}
    }
    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"}
    }
}
