﻿// ***************************************************************************
// *
// * Copyright (C) 2012 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/main/fil.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/fil.xml
 */
fil{
    AuxExemplarCharacters{"[á à â é è ê í ì î ó ò ô ú ù û]"}
    ExemplarCharacters{"[a b c d e f g h i j k l m n ñ {ng} o p q r s t u v w x y z]"}
    ExemplarCharactersCurrency{"[a b c d e f g h i j k l m n o p q r s t u v w x y z]"}
    ExemplarCharactersIndex{"[A B C D E F G H I J K L M N O P Q R S T U V W X Y Z]"}
    LocaleScript{
        "Latn",
    }
    NumberElements{
        latn{
            patterns{
                currencyFormat{"¤ #,##0.00"}
                decimalFormat{"#,##0.###"}
                percentFormat{"#,##0%"}
                scientificFormat{"#E0"}
            }
            symbols{
                decimal{"."}
                exponential{"E"}
                group{","}
                infinity{"∞"}
                list{";"}
                minusSign{"-"}
                nan{"NaN"}
                perMille{"‰"}
                percentSign{"%"}
                plusSign{"+"}
            }
        }
    }
    Version{"2.0.64.72"}
    calendar{
        gregorian{
            DateTimePatterns{
                "HH:mm:ss zzzz",
                "HH:mm:ss z",
                "HH:mm:ss",
                "HH:mm",
                "EEEE, MMMM dd y",
                "MMMM d, y",
                "MMM d, y",
                "M/d/yy",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
                "{1} {0}",
            }
            availableFormats{
                MEd{"E, M-d"}
                MMM{"LLL"}
                MMMEd{"E MMM d"}
                MMMMEd{"E MMMM d"}
                MMMMd{"MMMM d"}
                MMMd{"MMM d"}
                Md{"M-d"}
                d{"d"}
                ms{"mm:ss"}
                y{"y"}
                yM{"yyyy-M"}
                yMEd{"E, yyyy-M-d"}
                yMMM{"y MMM"}
                yMMMEd{"E, y MMM d"}
                yMMMM{"y MMMM"}
                yMMMd{"MMM d, y"}
                yMd{"M/d/y"}
                yQ{"Q y"}
                yQQQ{"y QQQ"}
                yyMM{"yy-MM"}
                yyMMM{"MMM yy"}
            }
            dayNames{
                format{
                    abbreviated{
                        "Lin",
                        "Lun",
                        "Mar",
                        "Mye",
                        "Huw",
                        "Bye",
                        "Sab",
                    }
                    wide{
                        "Linggo",
                        "Lunes",
                        "Martes",
                        "Miyerkules",
                        "Huwebes",
                        "Biyernes",
                        "Sabado",
                    }
                }
                stand-alone{
                    abbreviated{
                        "Lin",
                        "Lun",
                        "Mar",
                        "Miy",
                        "Huw",
                        "Biy",
                        "Sab",
                    }
                    narrow{
                        "L",
                        "L",
                        "M",
                        "M",
                        "H",
                        "B",
                        "S",
                    }
                }
            }
            eras{
                abbreviated{
                    "BC",
                    "AD",
                }
            }
            fields{
                day{
                    dn{"Araw"}
                    relative{
                        "-1"{"Yesterday"}
                        "-2"{"Araw bago ang kahapon"}
                        "0"{"Today"}
                        "1"{"Tomorrow"}
                        "2"{"Araw pagkatapos ng kahapon"}
                    }
                }
                dayperiod{
                    dn{"Dayperiod"}
                }
                era{
                    dn{"Era"}
                }
                hour{
                    dn{"Oras"}
                }
                minute{
                    dn{"Minuto"}
                }
                month{
                    dn{"Buwan"}
                    relative{
                        "-1"{"Nakaraang buwan"}
                        "0"{"Ngayon buwang ito"}
                        "1"{"Susunod na buwan"}
                    }
                }
                second{
                    dn{"Segundo"}
                }
                week{
                    dn{"Linggo"}
                    relative{
                        "-1"{"Nakaraang Linggo"}
                        "0"{"Sa linggong ito"}
                        "1"{"Susunod na linggo"}
                    }
                }
                weekday{
                    dn{"Araw ng Linggo"}
                }
                year{
                    dn{"Taon"}
                    relative{
                        "-1"{"Nakaraang taon"}
                        "0"{"Sa taong ito"}
                        "1"{"Susunod na taon"}
                    }
                }
                zone{
                    dn{"Zone"}
                }
            }
            intervalFormats{
                MEd{
                    M{"E, M/d – E, M/d"}
                    d{"E, M/d – E, M/d"}
                }
                MMM{
                    M{"MMM–MMM"}
                }
                MMMEd{
                    M{"E, MMM d – E, MMM d"}
                    d{"E, MMM d – E, MMM d"}
                }
                MMMd{
                    M{"MMM d – MMM d"}
                    d{"MMM d–d"}
                }
                Md{
                    M{"M/d – M/d"}
                    d{"M/d – M/d"}
                }
                yM{
                    M{"M/yy – M/yy"}
                    y{"M/yy – M/yy"}
                }
                yMEd{
                    M{"E, M/d/yy – E, M/d/yy"}
                    d{"E, M/d/yy – E, M/d/yy"}
                    y{"E, M/d/yy – E, M/d/yy"}
                }
                yMMM{
                    M{"MMM–MMM y"}
                    y{"MMM y – MMM y"}
                }
                yMMMEd{
                    M{"E, MMM d – E, MMM d, y"}
                    d{"E, MMM d – E, MMM d, y"}
                    y{"E, MMM d, y – E, MMM d, y"}
                }
                yMMMM{
                    M{"MMMM–MMMM y"}
                    y{"MMMM y – MMMM y"}
                }
                yMMMd{
                    M{"MMM d – MMM d, y"}
                    d{"MMM d–d, y"}
                    y{"MMM d, y – MMM d, y"}
                }
                yMd{
                    M{"M/d/yy – M/d/yy"}
                    d{"M/d/yy – M/d/yy"}
                    y{"M/d/yy – M/d/yy"}
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "Ene",
                        "Peb",
                        "Mar",
                        "Abr",
                        "May",
                        "Hun",
                        "Hul",
                        "Ago",
                        "Set",
                        "Okt",
                        "Nob",
                        "Dis",
                    }
                    wide{
                        "Enero",
                        "Pebrero",
                        "Marso",
                        "Abril",
                        "Mayo",
                        "Hunyo",
                        "Hulyo",
                        "Agosto",
                        "Setyembre",
                        "Oktubre",
                        "Nobyembre",
                        "Disyembre",
                    }
                }
                stand-alone{
                    narrow{
                        "E",
                        "P",
                        "M",
                        "A",
                        "M",
                        "H",
                        "H",
                        "A",
                        "S",
                        "O",
                        "N",
                        "D",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "Q1",
                        "Q2",
                        "Q3",
                        "Q4",
                    }
                    narrow{
                        "1",
                        "2",
                        "3",
                        "4",
                    }
                    wide{
                        "ika-1 sangkapat",
                        "ika-2 sangkapat",
                        "ika-3 quarter",
                        "ika-4 na quarter",
                    }
                }
                stand-alone{
                    abbreviated{
                        "Q1",
                        "Q2",
                        "Q3",
                        "Q4",
                    }
                    wide{
                        "ika-1 sangkapat",
                        "ika-2 quarter",
                        "ika-3 sangkapat",
                        "ika-4 na quarter",
                    }
                }
            }
        }
    }
    delimiters{
        alternateQuotationEnd{"’"}
        alternateQuotationStart{"‘"}
        quotationEnd{"”"}
        quotationStart{"“"}
    }
    listPattern{
        standard{
            2{"{0} at {1}"}
            end{"{0} at {1}"}
        }
    }
    measurementSystemNames{
        US{"US"}
        metric{"Metric"}
    }
    units{
        day{
            one{"{0} araw"}
            other{"{0} araw"}
        }
        day-future{
            0{"Sa 0 na araw"}
            1{"Sa 1 araw"}
            other{"Sa {0} (na) araw"}
        }
        day-past{
            0{"Nakalipas na 0 araw"}
            1{"Nakalipas na 1 araw"}
            other{"Nakalipas na {0} (na) araw"}
        }
        hour{
            one{"{0} oras"}
            other{"{0} oras"}
        }
        hour-future{
            0{"Sa 0 oras"}
            1{"Sa 1 oras"}
            other{"Sa {0} (na) oras"}
        }
        hour-past{
            0{"Nakalipas na 0 oras"}
            1{"Nakalipas na 1 oras"}
            other{"Nakalipas na {0} (na) oras"}
        }
        minute{
            one{"{0} minuto"}
            other{"{0} minuto"}
        }
        minute-future{
            0{"Sa 0 minuto"}
            1{"Sa 1 minuto"}
            other{"Sa {0} (na) minuto"}
        }
        minute-past{
            0{"Nakalipas na 0 na minuto"}
            1{"Nakalipas na 1 minuto"}
            other{"Nakalipas na {0} (na) minuto"}
        }
        month{
            one{"{0} buwan"}
            other{"{0} buwan"}
        }
        month-future{
            0{"Sa 0 na buwan"}
            1{"Sa 1 buwan"}
            other{"Sa {0} (na) buwan"}
        }
        month-past{
            0{"Nakalipas na 0 buwan"}
            1{"Nakalipas na 1 buwan"}
            other{"Nakalipas na {0} (na) buwan"}
        }
        second{
            one{"{0} segundo"}
            other{"{0} segundo"}
        }
        second-future{
            0{"Sa 0 segundo"}
            1{"Sa 1 segundo"}
            other{"Sa {0} (na) segundo"}
        }
        second-past{
            0{"Nakalipas na 0 segundo"}
            1{"Nakalipas na 1 segundo"}
            other{"Nakalipas na {0} (na) segundo"}
        }
        week{
            one{"{0} linggo"}
            other{"{0} linggo"}
        }
        week-future{
            0{"Sa 0 linggo"}
            1{"Sa 1 linggo"}
            other{"Sa {0} (na) linggo"}
        }
        week-past{
            0{"Nakalipas na 0 na linggo"}
            1{"Nakalipas na 1 linggo"}
            other{"Nakalipas na {0} (na) linggo"}
        }
        year{
            one{"{0} taon"}
            other{"{0} taon"}
        }
        year-future{
            0{"Sa 0 na taon"}
            1{"Sa 1 taon"}
            other{"Sa {0} (na) taon"}
        }
        year-past{
            0{"Nakalipas na 0 taon"}
            1{"Nakalipas na 1 taon"}
            other{"Nakalipas na {0} (na) taon"}
        }
    }
    unitsShort{
        day{
            one{"{0} arw"}
            other{"{0} arw"}
        }
        hour{
            one{"{0} or"}
            other{"{0} or"}
        }
        minute{
            one{"{0} min"}
            other{"{0} min"}
        }
        month{
            one{"{0} buw"}
            other{"{0} buw"}
        }
        second{
            one{"{0} seg"}
            other{"{0} seg"}
        }
        week{
            one{"{0} ling"}
            other{"{0} ling"}
        }
        year{
            one{"{0} ta"}
            other{"{0} ta"}
        }
    }
}
