﻿// ***************************************************************************
// *
// * Copyright (C) 2012 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/kea.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/kea.xml
 */
kea{
    AuxExemplarCharacters{
        "[á à ă â å ä ã ā æ c ç é è ĕ ê ë ē h í ì ĭ î ï ī ñ ó ò ŏ ô ö õ ø ō œ q ú ù ŭ"
        " û ü ū w y ÿ]"
    }
    ExemplarCharacters{"[a b d {dj} e f g i j k l {lh} m n {nh} o p r s t {tx} u v x z]"}
    ExemplarCharactersIndex{"[A B D E F G H I J K L M N O P R S T U V X Z]"}
    LocaleScript{
        "Latn",
    }
    NumberElements{
        latn{
            patterns{
                currencyFormat{"#,##0.00¤"}
                decimalFormat{"#,##0.###"}
                percentFormat{"#,##0%"}
                scientificFormat{"#E0"}
            }
            patternsShort{
                decimalFormat{
                    1000{
                        other{"0K"}
                    }
                    10000{
                        other{"00K"}
                    }
                    100000{
                        other{"000K"}
                    }
                    1000000{
                        other{"0M"}
                    }
                    10000000{
                        other{"00M"}
                    }
                    100000000{
                        other{"000M"}
                    }
                    1000000000000{
                        other{"0T"}
                    }
                    10000000000000{
                        other{"00T"}
                    }
                    100000000000000{
                        other{"000T"}
                    }
                }
            }
            symbols{
                decimal{","}
                exponential{"E"}
                group{"."}
                infinity{"∞"}
                list{";"}
                minusSign{"-"}
                nan{"NaN"}
                perMille{"‰"}
                percentSign{"%"}
                plusSign{"+"}
            }
        }
    }
    Version{"2.0.75.99"}
    calendar{
        gregorian{
            AmPmMarkers{
                "am",
                "pm",
            }
            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 'di' MMM 'di' y",
                "d/M/yyyy",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                Ed{"E, d"}
                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"}
                yMMM{"MMM 'di' y"}
                yMMMEd{"E, d 'di' MMM 'di' y"}
                yMMMM{"MMMM 'di' y"}
                yMMMd{"d MMM y"}
                yMd{"dd/MM/y"}
                yQ{"Q y"}
                yQQQ{"QQQ y"}
                yyMM{"MM/yy"}
                yyMMM{"MMM yy"}
                yyMMMEd{"E, d 'de' MMM 'de' yy"}
                yyMMMd{"d 'de' MMM 'de' yy"}
                yyQ{"Q yy"}
                yyyyMM{"MM/yyyy"}
                yyyyMMM{"MMM 'de' yyyy"}
            }
            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",
                }
                wide{
                    "Antis di Kristu",
                    "Dispos di Kristu",
                }
            }
            fields{
                day{
                    dn{"Dia"}
                    relative{
                        "-1"{"Onti"}
                        "0"{"Oji"}
                        "1"{"Manha"}
                    }
                }
                dayperiod{
                    dn{"am/pm"}
                }
                era{
                    dn{"Era"}
                }
                hour{
                    dn{"Ora"}
                }
                minute{
                    dn{"Minutu"}
                }
                month{
                    dn{"Mes"}
                }
                second{
                    dn{"Sigundu"}
                }
                week{
                    dn{"Simana"}
                }
                weekday{
                    dn{"Dia di simana"}
                }
                year{
                    dn{"Anu"}
                }
                zone{
                    dn{"Ora lokal"}
                }
            }
            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/yyyy – MM/yyyy"}
                    y{"MM/yyyy – MM/yyyy"}
                }
                yMEd{
                    M{"E, dd/MM/yyyy – E, dd/MM/yyyy"}
                    d{"E, dd/MM/yyyy – E, dd/MM/yyyy"}
                    y{"E, dd/MM/yyyy – E, dd/MM/yyyy"}
                }
                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/yyyy – dd/MM/yyyy"}
                    d{"dd/MM/yyyy – dd/MM/yyyy"}
                    y{"dd/MM/yyyy – dd/MM/yyyy"}
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "Jan",
                        "Fev",
                        "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",
                        "Fevereru",
                        "Marsu",
                        "Abril",
                        "Maiu",
                        "Junhu",
                        "Julhu",
                        "Agostu",
                        "Setenbru",
                        "Otubru",
                        "Nuvenbru",
                        "Dizenbru",
                    }
                }
                stand-alone{
                    abbreviated{
                        "Jan",
                        "Fev",
                        "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",
                        "Fevereru",
                        "Marsu",
                        "Abril",
                        "Maiu",
                        "Junhu",
                        "Julhu",
                        "Agostu",
                        "Setenbru",
                        "Otubru",
                        "Nuvenbru",
                        "Dizenbru",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "T1",
                        "T2",
                        "T3",
                        "T4",
                    }
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                    }
                    wide{
                        "Primeru Trimestri",
                        "Sigundu Trimestri",
                        "Terseru Trimestri",
                        "Kuartu Trimestri",
                    }
                }
                stand-alone{
                    abbreviated{
                        "T1",
                        "T2",
                        "T3",
                        "T4",
                    }
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                    }
                    wide{
                        "Primeru Trimestri",
                        "Sigundu Trimestri",
                        "Terseru Trimestri",
                        "Kuartu Trimestri",
                    }
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"’"}
        alternateQuotationStart{"‘"}
        quotationEnd{"”"}
        quotationStart{"“"}
    }
    listPattern{
        standard{
            2{"{0} y {1}"}
            end{"{0} y {1}"}
            middle{"{0}, {1}"}
            start{"{0}, {1}"}
        }
    }
    measurementSystemNames{
        UK{"Ingles"}
        US{"Merkanu"}
        metric{"Metriku"}
    }
    units{
        day{
            other{"{0} dia"}
        }
        day-future{
            other{"di li {0} dia"}
        }
        day-past{
            other{"a ten {0} dia"}
        }
        hour{
            other{"{0} ora"}
        }
        hour-future{
            other{"di li {0} ora"}
        }
        hour-past{
            other{"a ten {0} ora"}
        }
        minute{
            other{"{0} minutu"}
        }
        minute-future{
            other{"di li {0} minutu"}
        }
        minute-past{
            other{"a ten {0} minutu"}
        }
        month{
            other{"{0} mes"}
        }
        month-future{
            other{"di li {0} mes"}
        }
        month-past{
            other{"a ten {0} mes"}
        }
        second{
            other{"{0} sigundu"}
        }
        second-future{
            other{"di li {0} sigundu"}
        }
        second-past{
            other{"a ten {0} sigundu"}
        }
        week{
            other{"{0} simana"}
        }
        week-future{
            other{"di li {0} simana"}
        }
        week-past{
            other{"a ten {0} simana"}
        }
        year{
            other{"{0} anu"}
        }
        year-future{
            other{"di li {0} anu"}
        }
        year-past{
            other{"a ten {0} anu"}
        }
    }
}
