﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/kea.xml
// *
// ***************************************************************************
kea{
    AuxExemplarCharacters{
        "[á à ă â å ä ã ā æ c ç é è ĕ ê ë ẽ ē í ì ĭ î ï ĩ ī {n\u0308} ó ò ŏ ô ö õ ø ō"
        " œ q {rr} ú ù ŭ û ü ũ ū w ÿ]"
    }
    Ellipsis{
        final{"{0}…"}
        initial{"…{0}"}
        medial{"{0}…{1}"}
        word-final{"{0} …"}
        word-initial{"… {0}"}
        word-medial{"{0} … {1}"}
    }
    ExemplarCharacters{"[a b d {dj} e f g h i j k l {lh} m n ñ {nh} o p r s t {tx} u v x y z]"}
    ExemplarCharactersIndex{"[A B D E F G H I J K L M N O P R S T U V X Z]"}
    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{
                        other{"0 mil"}
                    }
                    10000{
                        other{"00 mil"}
                    }
                    100000{
                        other{"000 mil"}
                    }
                    1000000{
                        other{"0 milhãu"}
                    }
                    10000000{
                        other{"00 milhãu"}
                    }
                    100000000{
                        other{"000 milhãu"}
                    }
                    1000000000{
                        other{"0 mil milhãu"}
                    }
                    10000000000{
                        other{"00 mil milhãu"}
                    }
                    100000000000{
                        other{"000 mil milhãu"}
                    }
                    1000000000000{
                        other{"0 bilhãu"}
                    }
                    10000000000000{
                        other{"00 bilhãu"}
                    }
                    100000000000000{
                        other{"000 bilhãu"}
                    }
                }
            }
            patternsShort{
                decimalFormat{
                    1000{
                        other{"0 mil"}
                    }
                    10000{
                        other{"00 mil"}
                    }
                    100000{
                        other{"000 mil"}
                    }
                    1000000{
                        other{"0 M"}
                    }
                    10000000{
                        other{"00 M"}
                    }
                    100000000{
                        other{"000 M"}
                    }
                    1000000000{
                        other{"0 MM"}
                    }
                    10000000000{
                        other{"00 MM"}
                    }
                    100000000000{
                        other{"000 MM"}
                    }
                    1000000000000{
                        other{"0 Bi"}
                    }
                    10000000000000{
                        other{"00 Bi"}
                    }
                    100000000000000{
                        other{"000 Bi"}
                    }
                }
            }
            symbols{
                decimal{","}
                exponential{"E"}
                group{" "}
                infinity{"∞"}
                list{";"}
                minusSign{"-"}
                nan{"NaN"}
                perMille{"‰"}
                percentSign{"%"}
                plusSign{"+"}
                superscriptingExponent{"×"}
                timeSeparator{":"}
            }
        }
        minimumGroupingDigits{"1"}
        native{"latn"}
    }
    Version{"2.1.15.45"}
    calendar{
        generic{
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, d 'di' MMMM 'di' y G",
                "d 'di' MMMM 'di' y G",
                "d MMM y G",
                "d/M/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 MMM y G"}
                GyMMMd{"d MMM y G"}
                H{"HH"}
                HHmm{"HH:mm"}
                HHmmss{"HH:mm:ss"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E, dd/MM"}
                MMM{"LLL"}
                MMMEd{"E, d MMM"}
                MMMMEd{"E, d 'di' MMMM"}
                MMMMd{"d 'di' MMMM"}
                MMMd{"d MMM"}
                MMdd{"dd/MM"}
                Md{"dd/MM"}
                d{"d"}
                h{"h a"}
                hm{"h:mm a"}
                hms{"h:mm:ss a"}
                mmss{"mm:ss"}
                ms{"mm:ss"}
                y{"y"}
                yM{"MM/y"}
                yMEd{"E, dd/MM/y"}
                yMM{"MM/y"}
                yMMM{"MMM y"}
                yMMMEd{"E, d MMM y"}
                yMMMM{"MMMM 'di' y"}
                yMMMd{"d MMM y"}
                yMd{"dd/MM/y"}
                yQQQ{"QQQ y"}
                yQQQQ{"QQQQ 'di' y"}
                yyyy{"y G"}
                yyyyM{"MM/y GGGGG"}
                yyyyMEd{"E, dd/MM/y GGGGG"}
                yyyyMMM{"MMM y G"}
                yyyyMMMEd{"E, d MMM y G"}
                yyyyMMMd{"d MMM y G"}
                yyyyMd{"dd/MM/y GGGGG"}
                yyyyQQQ{"QQQ y G"}
                yyyyQQQQ{"QQQQ 'di' 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"}
                }
                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 'di' y G"}
                    y{"MMMM 'di' y – MMMM 'di' y G"}
                }
                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"}
                }
            }
        }
        gregorian{
            AmPmMarkers{
                "am",
                "pm",
            }
            AmPmMarkersNarrow{
                "a",
                "p",
            }
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, d 'di' MMMM 'di' y",
                "d 'di' MMMM 'di' y",
                "d MMM y",
                "d/M/y",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            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 'di' y G"}
                GyMMMEd{"E, d 'di' MMM 'di' y G"}
                GyMMMd{"d 'di' MMM 'di' y G"}
                H{"HH"}
                HHmm{"HH:mm"}
                HHmmss{"HH:mm:ss"}
                Hm{"HH:mm"}
                Hms{"HH:mm:ss"}
                M{"L"}
                MEd{"E, dd/MM"}
                MMM{"LLL"}
                MMMEd{"E, d MMM"}
                MMMMEd{"E, d 'di' MMMM"}
                MMMMd{"d 'di' MMMM"}
                MMMd{"d MMM"}
                MMdd{"dd/MM"}
                Md{"dd/MM"}
                d{"d"}
                h{"h a"}
                hm{"h:mm a"}
                hms{"h:mm:ss a"}
                mmss{"mm:ss"}
                ms{"mm:ss"}
                y{"y"}
                yM{"MM/y"}
                yMEd{"E, dd/MM/y"}
                yMM{"MM/y"}
                yMMM{"MMM 'di' y"}
                yMMMEd{"E, d MMM y"}
                yMMMM{"MMMM 'di' y"}
                yMMMd{"d MMM y"}
                yMd{"dd/MM/y"}
                yQQQ{"QQQ y"}
                yQQQQ{"QQQQ 'di' y"}
            }
            dayNames{
                format{
                    abbreviated{
                        "dum",
                        "sig",
                        "ter",
                        "kua",
                        "kin",
                        "ses",
                        "sab",
                    }
                    narrow{
                        "D",
                        "S",
                        "T",
                        "K",
                        "K",
                        "S",
                        "S",
                    }
                    short{
                        "du",
                        "si",
                        "te",
                        "ku",
                        "ki",
                        "se",
                        "sa",
                    }
                    wide{
                        "dumingu",
                        "sigunda-fera",
                        "tersa-fera",
                        "kuarta-fera",
                        "kinta-fera",
                        "sesta-fera",
                        "sabadu",
                    }
                }
                stand-alone{
                    abbreviated{
                        "dum",
                        "sig",
                        "ter",
                        "kua",
                        "kin",
                        "ses",
                        "sab",
                    }
                    narrow{
                        "d",
                        "s",
                        "t",
                        "k",
                        "k",
                        "s",
                        "s",
                    }
                    short{
                        "du",
                        "si",
                        "te",
                        "ku",
                        "ki",
                        "se",
                        "sa",
                    }
                    wide{
                        "dumingu",
                        "sigunda-fera",
                        "tersa-fera",
                        "kuarta-fera",
                        "kinta-fera",
                        "sesta-fera",
                        "sabadu",
                    }
                }
            }
            eras{
                abbreviated{
                    "AK",
                    "DK",
                }
                abbreviated%variant{
                    "AEK",
                    "EK",
                }
                wide{
                    "Antis di Kristu",
                    "Dispos di Kristu",
                }
                wide%variant{
                    "Antis di Era Kumun",
                    "Era Kumun",
                }
            }
            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, dd/MM – E, dd/MM"}
                    d{"E, dd/MM – E, dd/MM"}
                }
                MMMd{
                    M{"dd/MM – dd/MM"}
                    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 'di' 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{
                        "Jan",
                        "Feb",
                        "Mar",
                        "Abr",
                        "Mai",
                        "Jun",
                        "Jul",
                        "Ago",
                        "Set",
                        "Otu",
                        "Nuv",
                        "Diz",
                    }
                    narrow{
                        "J",
                        "F",
                        "M",
                        "A",
                        "M",
                        "J",
                        "J",
                        "A",
                        "S",
                        "O",
                        "N",
                        "D",
                    }
                    wide{
                        "Janeru",
                        "Febreru",
                        "Marsu",
                        "Abril",
                        "Maiu",
                        "Junhu",
                        "Julhu",
                        "Agostu",
                        "Setenbru",
                        "Otubru",
                        "Nuvenbru",
                        "Dizenbru",
                    }
                }
                stand-alone{
                    abbreviated{
                        "Jan",
                        "Feb",
                        "Mar",
                        "Abr",
                        "Mai",
                        "Jun",
                        "Jul",
                        "Ago",
                        "Set",
                        "Otu",
                        "Nuv",
                        "Diz",
                    }
                    narrow{
                        "J",
                        "F",
                        "M",
                        "A",
                        "M",
                        "J",
                        "J",
                        "A",
                        "S",
                        "O",
                        "N",
                        "D",
                    }
                    wide{
                        "Janeru",
                        "Febreru",
                        "Marsu",
                        "Abril",
                        "Maiu",
                        "Junhu",
                        "Julhu",
                        "Agostu",
                        "Setenbru",
                        "Otubru",
                        "Nuvenbru",
                        "Dizenbru",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "T1",
                        "T2",
                        "T3",
                        "T4",
                    }
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                    }
                    wide{
                        "1º trimestri",
                        "2º trimestri",
                        "3º trimestri",
                        "4º trimestri",
                    }
                }
                stand-alone{
                    abbreviated{
                        "T1",
                        "T2",
                        "T3",
                        "T4",
                    }
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                    }
                    wide{
                        "1º trimestri",
                        "2º trimestri",
                        "3º trimestri",
                        "4º trimestri",
                    }
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"’"}
        alternateQuotationStart{"‘"}
        quotationEnd{"”"}
        quotationStart{"“"}
    }
    fields{
        day{
            dn{"Dia"}
            relative{
                "-1"{"onti"}
                "0"{"oji"}
                "1"{"manha"}
            }
            relativeTime{
                future{
                    other{"di li {0} dia"}
                }
                past{
                    other{"a ten {0} dia"}
                }
            }
        }
        day-narrow{
            dn{"dia"}
            relativeTime{
                future{
                    other{"di li {0} dia"}
                }
                past{
                    other{"a ten {0} dia"}
                }
            }
        }
        day-short{
            dn{"dia"}
            relativeTime{
                future{
                    other{"di li {0} dia"}
                }
                past{
                    other{"a ten {0} dia"}
                }
            }
        }
        dayperiod{
            dn{"am/pm"}
        }
        era{
            dn{"Era"}
        }
        fri{
            relative{
                "-1"{"sesta-fera pasadu"}
                "0"{"es sesta-fera li"}
                "1"{"prósimu sesta-fera"}
            }
        }
        fri-narrow{
            relative{
                "-1"{"ses. pasadu"}
                "0"{"es ses. li"}
                "1"{"prósimu ses."}
            }
        }
        fri-short{
            relative{
                "-1"{"ses. pasadu"}
                "0"{"es ses. li"}
                "1"{"prósimu ses."}
            }
        }
        hour{
            dn{"Ora"}
            relativeTime{
                future{
                    other{"di li {0} ora"}
                }
                past{
                    other{"a ten {0} ora"}
                }
            }
        }
        hour-narrow{
            relativeTime{
                future{
                    other{"di li {0} ora"}
                }
                past{
                    other{"a ten {0} ora"}
                }
            }
        }
        hour-short{
            dn{"ora"}
            relativeTime{
                future{
                    other{"di li {0} ora"}
                }
                past{
                    other{"a ten {0} ora"}
                }
            }
        }
        minute{
            dn{"Minutu"}
            relativeTime{
                future{
                    other{"di li {0} minutu"}
                }
                past{
                    other{"a ten {0} minutu"}
                }
            }
        }
        minute-narrow{
            dn{"m"}
            relativeTime{
                future{
                    other{"di li {0} m"}
                }
                past{
                    other{"a ten {0} m"}
                }
            }
        }
        minute-short{
            dn{"min"}
            relativeTime{
                future{
                    other{"di li {0} min"}
                }
                past{
                    other{"a ten {0} min"}
                }
            }
        }
        mon{
            relative{
                "-1"{"sigunda-fera pasadu"}
                "0"{"es sigunda-fera li"}
                "1"{"prósimu sigunda-fera"}
            }
        }
        mon-narrow{
            relative{
                "-1"{"sig. pasadu"}
                "0"{"es sig. li"}
                "1"{"prósimu sig."}
            }
        }
        mon-short{
            relative{
                "-1"{"sig. pasadu"}
                "0"{"es sig. li"}
                "1"{"prósimu sig."}
            }
        }
        month{
            dn{"Mes"}
            relative{
                "-1"{"mes pasadu"}
                "0"{"es mes li"}
                "1"{"prósimu mes"}
            }
            relativeTime{
                future{
                    other{"di li {0} mes"}
                }
                past{
                    other{"a ten {0} mes"}
                }
            }
        }
        month-narrow{
            dn{"mes"}
            relativeTime{
                future{
                    other{"di li {0} mes"}
                }
                past{
                    other{"a ten {0} mes"}
                }
            }
        }
        month-short{
            dn{"mes"}
            relativeTime{
                future{
                    other{"di li {0} mes"}
                }
                past{
                    other{"a ten {0} mes"}
                }
            }
        }
        quarter{
            dn{"Trimestri"}
            relativeTime{
                future{
                    other{"di li {0} trimestri"}
                }
                past{
                    other{"a ten {0} trimestri"}
                }
            }
        }
        quarter-narrow{
            dn{"trim."}
            relativeTime{
                future{
                    other{"di li {0} trim."}
                }
                past{
                    other{"a ten {0} trim."}
                }
            }
        }
        quarter-short{
            dn{"trim."}
            relativeTime{
                future{
                    other{"di li {0} trim."}
                }
                past{
                    other{"a ten {0} trim."}
                }
            }
        }
        sat{
            relative{
                "-1"{"sabadu pasadu"}
                "0"{"es sabadu li"}
                "1"{"prósimu sabadu"}
            }
        }
        sat-narrow{
            relative{
                "-1"{"sab. pasadu"}
                "0"{"es sab. li"}
                "1"{"prósimu sab."}
            }
        }
        sat-short{
            relative{
                "-1"{"sab. pasadu"}
                "0"{"es sab. li"}
                "1"{"prósimu sab."}
            }
        }
        second{
            dn{"Sigundu"}
            relativeTime{
                future{
                    other{"di li {0} sigundu"}
                }
                past{
                    other{"a ten {0} sigundu"}
                }
            }
        }
        second-narrow{
            dn{"s"}
            relativeTime{
                future{
                    other{"di li {0} s"}
                }
                past{
                    other{"a ten {0} s"}
                }
            }
        }
        second-short{
            dn{"sig"}
            relativeTime{
                future{
                    other{"di li {0} sig"}
                }
                past{
                    other{"a ten {0} sig"}
                }
            }
        }
        sun{
            relative{
                "-1"{"dumingu pasadu"}
                "0"{"es dumingu li"}
                "1"{"prósimu dumingu"}
            }
        }
        sun-narrow{
            relative{
                "-1"{"dum. pasadu"}
                "0"{"es dum. li"}
                "1"{"prósimu dum."}
            }
        }
        sun-short{
            relative{
                "-1"{"dum. pasadu"}
                "0"{"es dum. li"}
                "1"{"prósimu dum."}
            }
        }
        thu{
            relative{
                "-1"{"kinta-fera pasadu"}
                "0"{"es kinta-fera li"}
                "1"{"prósimu kinta-fera"}
            }
        }
        thu-narrow{
            relative{
                "-1"{"kin. pasadu"}
                "0"{"es kin. li"}
                "1"{"prósimu kin."}
            }
        }
        thu-short{
            relative{
                "-1"{"kin. pasadu"}
                "0"{"es kin. li"}
                "1"{"prósimu kin."}
            }
        }
        tue{
            relative{
                "-1"{"tersa-fera pasadu"}
                "0"{"es tersa-fera li"}
                "1"{"prósimu tersa-fera"}
            }
        }
        tue-narrow{
            relative{
                "-1"{"ter. pasadu"}
                "0"{"es ter. li"}
                "1"{"prósimu ter."}
            }
        }
        tue-short{
            relative{
                "-1"{"ter. pasadu"}
                "0"{"es ter. li"}
                "1"{"prósimu ter."}
            }
        }
        wed{
            relative{
                "-1"{"kuarta-fera pasadu"}
                "0"{"es kuarta-fera li"}
                "1"{"prósimu kuarta-fera"}
            }
        }
        wed-narrow{
            relative{
                "-1"{"kua. pasadu"}
                "0"{"es kua. li"}
                "1"{"prósimu kua."}
            }
        }
        wed-short{
            relative{
                "-1"{"kua. pasadu"}
                "0"{"es kua. li"}
                "1"{"prósimu kua."}
            }
        }
        week{
            dn{"Simana"}
            relative{
                "-1"{"simana pasadu"}
                "0"{"es simana li"}
                "1"{"prósimu simana"}
            }
            relativeTime{
                future{
                    other{"di li {0} simana"}
                }
                past{
                    other{"a ten {0} simana"}
                }
            }
        }
        week-narrow{
            dn{"sim."}
            relativeTime{
                future{
                    other{"di li {0} sim."}
                }
                past{
                    other{"a ten {0} sim."}
                }
            }
        }
        week-short{
            dn{"sim."}
            relativeTime{
                future{
                    other{"di li {0} sim."}
                }
                past{
                    other{"a ten {0} sim."}
                }
            }
        }
        weekday{
            dn{"Dia di simana"}
        }
        year{
            dn{"Anu"}
            relative{
                "-1"{"anu pasadu"}
                "0"{"es anu li"}
                "1"{"prósimu anu"}
            }
            relativeTime{
                future{
                    other{"di li {0} anu"}
                }
                past{
                    other{"a ten {0} anu"}
                }
            }
        }
        year-narrow{
            dn{"anu"}
            relativeTime{
                future{
                    other{"di li {0} anu"}
                }
                past{
                    other{"a ten {0} anu"}
                }
            }
        }
        year-short{
            dn{"anu"}
            relativeTime{
                future{
                    other{"di li {0} anu"}
                }
                past{
                    other{"a ten {0} anu"}
                }
            }
        }
        zone{
            dn{"Ora lokal"}
        }
    }
    listPattern{
        standard{
            2{"{0} y {1}"}
            end{"{0} y {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
        unit{
            2{"{0} y {1}"}
            end{"{0} y {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
        unit-short{
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
    }
    measurementSystemNames{
        UK{"Ingles"}
        US{"Merkanu"}
        metric{"Metriku"}
    }
}
