﻿// ***************************************************************************
// *
// * Copyright (C) 2012 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/fil.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/fil.xml
 */
fil{
    Keys{
        calendar{"Kalendaryo"}
        colAlternate{"Pag-uuri-uri ng Mga Ignore Symbol"}
        colBackwards{"Pag-uuri-uri ng Baliktad na Accent"}
        colCaseFirst{"Uppercase/Lowercase na Pagsusunud-sunod"}
        colCaseLevel{"Case Sensitive na Pag-uuri-uri"}
        colHiraganaQuaternary{"Pag-uuri-uri ng Kana"}
        colNormalization{"Normalized na Pag-uuri-uri"}
        colNumeric{"Numeric na Pag-uuri-uri"}
        colStrength{"Lakas ng Pag-uuri-uri"}
        collation{"Ayos ng Pag-uuri-uri"}
        currency{"Pera"}
        numbers{"Mga Numero"}
        timezone{"Time Zone"}
        va{"Lokal na Variant"}
        variableTop{"Pag-uri-uriin Bilang Mga Simbolo"}
        x{"Pribadong Paggamit"}
    }
    Languages{
        ab{"Abkhazian"}
        ach{"Acoli"}
        af{"Afrikaans"}
        ak{"Akan"}
        am{"Amharic"}
        ar{"Arabic"}
        as{"Assamese"}
        ay{"Aymara"}
        az{"Azerbaijani"}
        be{"Belarusian"}
        bem{"Bemba"}
        bg{"Bulgarian"}
        bh{"Bihari"}
        bn{"Bengali"}
        bo{"Tibetan"}
        br{"Breton"}
        bs{"Bosnian"}
        ca{"Catalan"}
        chr{"Cherokee"}
        ckb{"Sorani Kurdish"}
        co{"Corsican"}
        cs{"Czech"}
        cy{"Welsh"}
        da{"Danish"}
        de{"German"}
        de_AT{"Austrian German"}
        de_CH{"Swiss High German"}
        dv{"Divehi"}
        dz{"Dzongkha"}
        ee{"Ewe"}
        efi{"Efik"}
        el{"Griyego"}
        en{"Ingles"}
        en_AU{"Ingles sa Australia"}
        en_CA{"Ingles sa Canada"}
        en_GB{"Ingles (UK)"}
        en_US{"Ingles sa U.S."}
        eo{"Esperanto"}
        es{"Espanyol"}
        es_419{"Espanyol sa Latin America"}
        es_ES{"European Spanish"}
        et{"Estonian"}
        eu{"Basque"}
        fa{"Persian"}
        fi{"Finnish"}
        fil{"Filipino"}
        fj{"Fijian"}
        fo{"Faroeso"}
        fr{"Pranses"}
        fr_CA{"Canadian French"}
        fr_CH{"Swiss French"}
        fy{"Western Frisian"}
        ga{"Irish"}
        gaa{"Ga"}
        gd{"Scots Gaelic"}
        gl{"Galician"}
        gn{"Guarani"}
        gsw{"Swiss German"}
        gu{"Gujarati"}
        ha{"Hausa"}
        haw{"Hawaiian"}
        he{"Hebreo"}
        hi{"Hindi"}
        hr{"Croatian"}
        ht{"Haitian"}
        hu{"Hungarian"}
        hy{"Armenian"}
        ia{"Interlingua"}
        id{"Indonesian"}
        ie{"Interlingue"}
        ig{"Igbo"}
        is{"Icelandic"}
        it{"Italyano"}
        ja{"Japanese"}
        jv{"Javanese"}
        ka{"Georgian"}
        kg{"Kongo"}
        kk{"Kazakh"}
        km{"Khmer"}
        kn{"Kannada"}
        ko{"Korean"}
        ks{"Kashmiri"}
        ku{"Kurdish"}
        ky{"Kirghiz"}
        la{"Latin"}
        lb{"Luxembourgish"}
        lg{"Ganda"}
        ln{"Lingala"}
        lo{"Lao"}
        loz{"Lozi"}
        lt{"Lithuanian"}
        lua{"Luba-Lulua"}
        lv{"Latvian"}
        mfe{"Morisyen"}
        mg{"Malagasy"}
        mi{"Maori"}
        mk{"Macedonian"}
        ml{"Malayalam"}
        mn{"Mongolian"}
        mr{"Marathi"}
        ms{"Malay"}
        mt{"Maltese"}
        my{"Burmese"}
        nb{"Norwegian Bokmal"}
        nd{"North Ndebele"}
        ne{"Nepali"}
        nl{"Dutch"}
        nl_BE{"Flemish"}
        nn{"Norwegian Nynorsk"}
        no{"Norwegian"}
        nso{"Northern Sotho"}
        ny{"Nyanja"}
        nyn{"Nyankole"}
        oc{"Occitan"}
        om{"Oromo"}
        or{"Oriya"}
        os{"Ossetic"}
        pa{"Punjabi"}
        pl{"Polish"}
        ps{"Pashto"}
        pt{"Portuges"}
        pt_BR{"Portuges sa Brazil"}
        pt_PT{"European Portuguese"}
        qu{"Quechua"}
        rm{"Rhaeto-Romance"}
        rn{"Rundi"}
        ro{"Romanian"}
        ru{"Russian"}
        rw{"Kinyarwanda"}
        sa{"Sanskrit"}
        sd{"Sindhi"}
        se{"Northern Sami"}
        sg{"Sango"}
        sh{"Serbo-Croatian"}
        si{"Sinhala"}
        sk{"Slovak"}
        sl{"Slovenian"}
        sm{"Samoan"}
        sn{"Shona"}
        so{"Somali"}
        sq{"Albanian"}
        sr{"Serbian"}
        ss{"Swati"}
        st{"Southern Sotho"}
        su{"Sundanese"}
        sv{"Swedish"}
        sw{"Swahili"}
        swb{"Comorian"}
        ta{"Tamil"}
        te{"Telugu"}
        tet{"Tetum"}
        tg{"Tajik"}
        th{"Thai"}
        ti{"Tigrinya"}
        tk{"Turkmen"}
        tlh{"Klingon"}
        tn{"Tswana"}
        to{"Tongan"}
        tpi{"Tok Pisin"}
        tr{"Turkish"}
        ts{"Tsonga"}
        tt{"Tatar"}
        tum{"Tumbuka"}
        ty{"Tahitian"}
        ug{"Uighur"}
        uk{"Ukranian"}
        und{"Hindi Kilalang Wika"}
        ur{"Urdu"}
        uz{"Uzbek"}
        ve{"Venda"}
        vi{"Vietnamese"}
        wo{"Wolof"}
        xh{"Xhosa"}
        yi{"Yiddish"}
        yo{"Yoruba"}
        yue{"Cantonese"}
        zh{"Chinese"}
        zh_Hans{"Chinese (pinasimple)"}
        zh_Hant{"Chinese (tradisyunal)"}
        zu{"Zulu"}
        zxx{"Walang nilalamang linguistic"}
    }
    LanguagesShort{
        az{"Azeri"}
    }
    Scripts{
        Arab{"Arabic"}
        Armn{"Armenian"}
        Beng{"Bengali"}
        Bopo{"Bopomofo"}
        Brai{"Braille"}
        Cyrl{"Cyrillic"}
        Deva{"Devanagari"}
        Ethi{"Ethiopic"}
        Geor{"Georgian"}
        Grek{"Greek"}
        Gujr{"Gujarati"}
        Guru{"Gurmukhi"}
        Hang{"Hangul"}
        Hani{"Han"}
        Hans{"Pinasimple"}
        Hant{"Tradisyunal"}
        Hebr{"Hebrew"}
        Hira{"Hiragana"}
        Jpan{"Japanese"}
        Kana{"Katakana"}
        Khmr{"Khmer"}
        Knda{"Kannada"}
        Kore{"Korean"}
        Laoo{"Lao"}
        Latn{"Latin"}
        Mlym{"Malayalam"}
        Mong{"Mongolian"}
        Mymr{"Myanmar"}
        Orya{"Oriya"}
        Sinh{"Sinhala"}
        Taml{"Tamil"}
        Telu{"Telugu"}
        Thaa{"Thaana"}
        Thai{"Thai"}
        Tibt{"Tibetan"}
        Zsym{"Mga Simbolo"}
        Zxxx{"Unwritten"}
        Zyyy{"Common"}
        Zzzz{"Hindi Kilalang Script"}
    }
    Scripts%stand-alone{
        Hans{"Simplified Han"}
        Hant{"Tradisyunal Han"}
    }
    Types{
        calendar{
            buddhist{"Kalendaryo ng Buddhist"}
            chinese{"Kalendaryong Chinese"}
            coptic{"Coptic Calendar"}
            ethiopic{"Kalendaryong Ethiopic"}
            ethiopic-amete-alem{"Kalendaryong Ethiopic Amete Alem"}
            gregorian{"Kalendaryong Gregorian"}
            hebrew{"Hebrew Calendar"}
            indian{"Pambansang Kalendaryong Indian"}
            islamic{"Kalendaryong Islamic"}
            islamic-civil{"Kalendaryong Islamic-Civil"}
            japanese{"Kalendaryong Japanese"}
            persian{"Kalendaryong Persian"}
            roc{"Kalendaryong Minguo"}
        }
        collation{
            big5han{"Pagkakasunod-sunod ng Pag-uuri ng Tradisyunal na Chinese - Big5"}
            dictionary{"Pagkakasunud-sunod ng Pag-uuri ng Diksyunaryo"}
            ducet{"Default na Pagkakasunud-sunod ng Pag-uuri ng Unicode"}
            gb2312han{"Pagkakasunud-sunod ng Pag-uuri ng Pinasimpleng Chinese - GB2312"}
            phonebook{"Pagkakasunud-sunod ng Pag-uuri ng Phonebook"}
            phonetic{"Phonetic na Ayos ng Pag-uuri-uri"}
            pinyin{"Pagkakasunud-sunod ng Pag-uuri ng Pinyin"}
            reformed{"Pagkakasunud-sunod ng Pag-uuri ng Na-reform"}
            search{"Paghahanap na Layuning Pangkalahatan"}
            searchjl{"Maghanap Ayon sa Unang Katinig ng Hangul"}
            stroke{"Pagkakasunud-sunod ng Pag-uuri ng Stroke"}
            traditional{"Tradisyunal na Pagkakasunud-sunod ng Pag-uuri"}
            unihan{"Pagkakasunud-sunod ng Pag-uuri ng Radical-Stroke"}
        }
        numbers{
            arab{"Arabic-Indic Digits"}
            arabext{"Extended Arabic-Indic Digits"}
            armn{"Armenian Numerals"}
            armnlow{"Armenian Lowercase Numerals"}
            beng{"Bengali Digits"}
            deva{"Devanagari Digits"}
            ethi{"Ethiopic Numerals"}
            finance{"Mga Pampinansyang Numeral"}
            fullwide{"Full Width Digits"}
            geor{"Georgian Numerals"}
            grek{"Greek Numerals"}
            greklow{"Greek Lowercase Numerals"}
            gujr{"Gujarati Digits"}
            guru{"Gurmukhi Digits"}
            hanidec{"Chinese Decimal Numerals"}
            hans{"Pinasimpleng Chinese Numerals"}
            hansfin{"Pinasimpleng Chinese Financial Numerals"}
            hant{"Tradisyunal na Chinese Numerals"}
            hantfin{"Tradisyunal na Chinese Financial Numerals"}
            hebr{"Hebrew Numerals"}
            jpan{"Japanese Numerals"}
            jpanfin{"Japanese Financial Numerals"}
            khmr{"Khmer Digits"}
            knda{"Kannada Digits"}
            laoo{"Lao Digits"}
            latn{"Western Digits"}
            mlym{"Malayalam Digits"}
            mong{"Mongolian Digits"}
            mymr{"Myanmar Digits"}
            native{"Mga Native na Digit"}
            orya{"Oriya Digits"}
            roman{"Roman Numerals"}
            romanlow{"Roman Lowercase Numerals"}
            taml{"Tamil Numerals"}
            telu{"Telugu Digits"}
            thai{"Thai Digits"}
            tibt{"Tibetan Digits"}
            traditional{"Mga Tradisyunal na Numeral"}
            vaii{"Mga Vai na Digit"}
        }
    }
    Variants{
        PINYIN{"Pinyin Romanization"}
        WADEGILE{"Wade-Giles Romanization"}
    }
    Version{"2.0.77.46"}
    codePatterns{
        language{"{0}"}
        script{"{0}"}
        territory{"{0}"}
    }
    localeDisplayPattern{
        pattern{"{0} ({1})"}
        separator{","}
    }
}
