﻿// ***************************************************************************
// *
// * Copyright (C) 2016 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.23.7"}
    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"}
                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",
            }
            AmPmMarkersAbbr{
                "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"}
                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} i {1}"}
            end{"{0} i {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
        unit{
            2{"{0} i {1}"}
            end{"{0} i {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{"Ingles"}
        US{"Merkanu"}
        metric{"Metriku"}
    }
}
