﻿// ***************************************************************************
// *
// * Copyright (C) 2011 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * 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¤"}
            }
            symbols{
                decimal{","}
                group{"."}
            }
        }
    }
    Version{"2.0.58.59"}
    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{
                EEEd{"EEE, d"}
                HHmm{"HH:mm"}
                HHmmss{"HH:mm:ss"}
                Hm{"HH:mm"}
                M{"L"}
                MEd{"E, dd/MM"}
                MMM{"LLL"}
                MMMEd{"EEE, d MMM"}
                MMMMEd{"EEE, d 'di' MMMM"}
                MMMMd{"d 'di' MMMM"}
                MMMd{"d MMM"}
                MMdd{"dd/MM"}
                Md{"dd/MM"}
                d{"d"}
                mmss{"mm:ss"}
                ms{"mm:ss"}
                y{"y"}
                yM{"MM/y"}
                yMEd{"EEE, dd/MM/y"}
                yMMM{"MMM 'di' y"}
                yMMMEd{"EEE, d 'di' MMM 'di' y"}
                yMMMM{"MMMM 'di' y"}
                yQ{"Q y"}
                yQQQ{"QQQ y"}
                yyMM{"MM/yy"}
                yyMMM{"MMM yy"}
                yyMMMEEEd{"EEE, 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",
                    }
                    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",
                    }
                    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{
                MEd{
                    M{"E, dd/MM – E, dd/MM"}
                    d{"E, M/d – E, M/d"}
                }
                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"}
                }
                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",
                    }
                    wide{
                        "Primeru Trimestri",
                        "Sigundu Trimestri",
                        "Terseru Trimestri",
                        "Kuartu Trimestri",
                    }
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"»"}
        alternateQuotationStart{"«"}
        quotationEnd{"”"}
        quotationStart{"“"}
    }
    listPattern{
        standard{
            2{"{0} y {1}"}
            end{"{0} y {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"}
        }
    }
}
