﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/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{"Pagkakasunud-sunod ng Ayos"}
        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"}
        agq{"Aghem"}
        ak{"Akan"}
        am{"Amharic"}
        ar{"Arabe"}
        ar_001{"Modernong Karaniwang Arabe"}
        arn{"Mapuche"}
        as{"Assamese"}
        asa{"Asu"}
        ay{"Aymara"}
        az{"Azerbaijani"}
        ba{"Bashkir"}
        be{"Belarusian"}
        bem{"Bemba"}
        bez{"Bena"}
        bg{"Bulgarian"}
        bm{"Bambara"}
        bn{"Bengali"}
        bo{"Tibetan"}
        br{"Breton"}
        brx{"Bodo"}
        bs{"Bosnian"}
        ca{"Catalan"}
        cgg{"Chiga"}
        chr{"Cherokee"}
        ckb{"Sorani Kurdish"}
        co{"Corsican"}
        cs{"Czech"}
        cy{"Welsh"}
        da{"Danish"}
        dav{"Taita"}
        de{"German"}
        dje{"Zarma"}
        dsb{"Lower Sorbian"}
        dua{"Duala"}
        dv{"Divehi"}
        dyo{"Jola-Fonyi"}
        dz{"Dzongkha"}
        ebu{"Embu"}
        ee{"Ewe"}
        efi{"Efik"}
        el{"Greek"}
        en{"Ingles"}
        en_AU{"Ingles ng Australya"}
        en_CA{"Ingles sa Canada"}
        en_GB{"Ingles (UK)"}
        en_US{"Ingles (US)"}
        eo{"Esperanto"}
        es{"Spanish"}
        es_419{"Latin American Spanish"}
        es_ES{"European Spanish"}
        es_MX{"Mexican Spanish"}
        et{"Estonian"}
        eu{"Basque"}
        fa{"Persian"}
        fi{"Finnish"}
        fil{"Filipino"}
        fj{"Fijian"}
        fo{"Faroese"}
        fr{"French"}
        fr_CA{"Canadian French"}
        fr_CH{"Swiss French"}
        fy{"Western Frisian"}
        ga{"Irish"}
        gaa{"Ga"}
        gag{"Gagauz"}
        gd{"Scots Gaelic"}
        gl{"Galician"}
        gn{"Guarani"}
        gsw{"Swiss German"}
        gu{"Gujarati"}
        guz{"Gusii"}
        gv{"Manx"}
        ha{"Hausa"}
        haw{"Hawaiian"}
        he{"Hebrew"}
        hi{"Hindi"}
        hr{"Croatian"}
        hsb{"Upper Sorbian"}
        ht{"Haitian"}
        hu{"Hungarian"}
        hy{"Armenian"}
        ia{"Interlingua"}
        id{"Indonesian"}
        ie{"Interlingue"}
        ig{"Igbo"}
        ii{"Sichuan Yi"}
        is{"Icelandic"}
        it{"Italian"}
        iu{"Inuktitut"}
        ja{"Japanese"}
        jgo{"Ngomba"}
        jmc{"Machame"}
        jv{"Javanese"}
        ka{"Georgian"}
        kab{"Kabyle"}
        kam{"Kamba"}
        kde{"Makonde"}
        kea{"Kabuverdianu"}
        kg{"Kongo"}
        khq{"Koyra Chiini"}
        ki{"Kikuyu"}
        kk{"Kazakh"}
        kl{"Kalaallisut"}
        kln{"Kalenjin"}
        km{"Khmer"}
        kn{"Kannada"}
        ko{"Korean"}
        koi{"Komi-Permyak"}
        kok{"Konkani"}
        ks{"Kashmiri"}
        ksb{"Shambala"}
        ksf{"Bafia"}
        ku{"Kurdish"}
        kw{"Cornish"}
        ky{"Kirghiz"}
        la{"Latin"}
        lag{"Langi"}
        lb{"Luxembourgish"}
        lg{"Ganda"}
        lkt{"Lakota"}
        ln{"Lingala"}
        lo{"Lao"}
        loz{"Lozi"}
        lt{"Lithuanian"}
        lu{"Luba-Katanga"}
        lua{"Luba-Lulua"}
        luo{"Luo"}
        luy{"Luyia"}
        lv{"Latvian"}
        mas{"Masai"}
        mer{"Meru"}
        mfe{"Morisyen"}
        mg{"Malagasy"}
        mgh{"Makhuwa-Meetto"}
        mgo{"Meta’"}
        mi{"Maori"}
        mk{"Macedonian"}
        ml{"Malayalam"}
        mn{"Mongolian"}
        moh{"Mohawk"}
        mr{"Marathi"}
        ms{"Malay"}
        mt{"Maltese"}
        mua{"Mundang"}
        my{"Burmese"}
        naq{"Nama"}
        nb{"Norwegian Bokmal"}
        nd{"North Ndebele"}
        ne{"Nepali"}
        nl{"Dutch"}
        nl_BE{"Flemish"}
        nmg{"Kwasio"}
        nn{"Norwegian Nynorsk"}
        no{"Norwegian"}
        nqo{"N’Ko"}
        nso{"Northern Sotho"}
        nus{"Nuer"}
        ny{"Nyanja"}
        nyn{"Nyankole"}
        oc{"Occitan"}
        om{"Oromo"}
        or{"Oriya"}
        os{"Ossetic"}
        pa{"Punjabi"}
        pl{"Polish"}
        ps{"Pashto"}
        pt{"Portuges"}
        pt_BR{"Brazilian Portuguese"}
        pt_PT{"European Portuguese"}
        qu{"Quechua"}
        quc{"Kʼicheʼ"}
        rm{"Romansh"}
        rn{"Rundi"}
        ro{"Romanian"}
        ro_MD{"Moldavian"}
        rof{"Rombo"}
        ru{"Russian"}
        rw{"Kinyarwanda"}
        rwk{"Rwa"}
        sa{"Sanskrit"}
        saq{"Samburu"}
        sbp{"Sangu"}
        sd{"Sindhi"}
        se{"Northern Sami"}
        seh{"Sena"}
        ses{"Koyraboro Senni"}
        sg{"Sango"}
        sh{"Serbo-Croatian"}
        shi{"Tachelhit"}
        si{"Sinhala"}
        sk{"Slovak"}
        sl{"Slovenian"}
        sm{"Samoan"}
        sma{"Southern Sami"}
        smj{"Lule Sami"}
        smn{"Inari Sami"}
        sms{"Skolt Sami"}
        sn{"Shona"}
        so{"Somali"}
        sq{"Albanian"}
        sr{"Serbian"}
        ss{"Swati"}
        st{"Southern Sotho"}
        su{"Sundanese"}
        sv{"Swedish"}
        sw{"Swahili"}
        swb{"Comorian"}
        swc{"Swahili (Congo)"}
        ta{"Tamil"}
        te{"Telugu"}
        teo{"Teso"}
        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"}
        twq{"Tasawaq"}
        ty{"Tahitian"}
        tzm{"Tamazight ng Gitnang Atlas"}
        ug{"Uyghur"}
        uk{"Ukranian"}
        und{"Hindi Kilalang Wika"}
        ur{"Urdu"}
        uz{"Uzbek"}
        vai{"Vai"}
        ve{"Venda"}
        vi{"Vietnamese"}
        vun{"Vunjo"}
        wo{"Wolof"}
        xh{"Xhosa"}
        xog{"Soga"}
        yi{"Yiddish"}
        yo{"Yoruba"}
        yue{"Cantonese"}
        zgh{"Standard Moroccan Tamazight"}
        zh{"Chinese"}
        zh_Hans{"Simplified Chinese"}
        zu{"Zulu"}
        zxx{"Walang nilalaman na ukol sa wika"}
    }
    Languages%short{
        az{"Azeri"}
        en_GB{"Ingles (U.K.)"}
        en_US{"Ingles (U.S.)"}
    }
    Languages%variant{
        ps{"Pushto"}
        ug{"Uighur"}
    }
    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{"Simplified"}
        Hant{"Traditional"}
        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{"Hindi Nakasulat"}
        Zyyy{"Karaniwan"}
        Zzzz{"Hindi Kilalang Script"}
    }
    Scripts%stand-alone{
        Hans{"Simplified Han"}
        Hant{"Traditional Han"}
    }
    Scripts%variant{
        Arab{"Perso-Arabic"}
    }
    Types{
        calendar{
            buddhist{"Kalendaryo ng Buddhist"}
            chinese{"Kalendaryong Chinese"}
            coptic{"Coptic Calendar"}
            dangi{"Dangi na Kalendaryo"}
            ethiopic{"Kalendaryo ng Ethiopia"}
            ethiopic-amete-alem{"Kalendaryong Ethiopic Amete Alem"}
            gregorian{"Gregorian na Kalendaryo"}
            hebrew{"Hebrew na Kalendaryo"}
            indian{"Pambansang Kalendaryong Indian"}
            islamic{"Kalendaryong Islamic"}
            islamic-civil{"Kalendaryong Islamic-Civil"}
            iso8601{"ISO-8601 na Kalendaryo"}
            japanese{"Kalendaryong Japanese"}
            persian{"Kalendaryong Persian"}
            roc{"Kalendaryong Minguo"}
        }
        colAlternate{
            non-ignorable{"Pag-uri-uriin ang Mga Simbolo"}
            shifted{"Pag-uri-uriin ang Mga Ignoring Symbol"}
        }
        colBackwards{
            no{"Pag-uri-uriin ang Mga Accent nang Normal"}
            yes{"Pag-uri-uriin ang Mga Accent nang Baliktad"}
        }
        colCaseFirst{
            lower{"Lowercase Muna ang Pag-uri-uriin"}
            no{"Pag-uri-uriin ang Ayos ng Normal na Case"}
            upper{"Uppercase Muna ang Pag-uri-uriin"}
        }
        colCaseLevel{
            no{"Pag-uri-uriin ang Hindi Case Sensitive"}
            yes{"Pag-uri-uriin ang Case Sensitive"}
        }
        colHiraganaQuaternary{
            no{"Pag-uri-uriin ang Kana nang Hiwalay"}
            yes{"Pag-uri-uriin ang Kana nang Naiiba"}
        }
        colNormalization{
            no{"Pag-uri-uriin nang Walang Pag-normalize"}
            yes{"Pag-uri-uriin ang Unicode nang Normalized"}
        }
        colNumeric{
            no{"Pag-uri-uriin ang Mga Digit nang Indibidwal"}
            yes{"Pag-uri-uriin ang Mga Digit nang Numerical"}
        }
        colStrength{
            identical{"Pag-uri-uriin Lahat"}
            primary{"Mga Base na Titik Lang ang Pag-uri-uriin"}
            quaternary{"Pag-uri-uriin ang Mga Accent/Case/Lapad/Kana"}
            secondary{"Pag-uri-uriin ang Mga Accent"}
            tertiary{"Pag-uri-uriin ang Mga Accent/Case/Lapad"}
        }
        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 Ayos 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{"Pangkalahatang Paghahanap"}
            searchjl{"Maghanap Ayon sa Unang Katinig ng Hangul"}
            standard{"Karaniwang Pagkakasunud-sunod ng Ayos"}
            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 na Mga Digit"}
            arabext{"Extendend Arabic-Indic na Mga Digit"}
            armn{"Armenian na Mga Numeral"}
            armnlow{"Armenian Lowercase Numerals"}
            beng{"Bengali na Mga Digit"}
            deva{"Devanagari na Mga Digit"}
            ethi{"Mga Numeral ng Ethiopia"}
            finance{"Mga Pampinansyang Numeral"}
            fullwide{"Full Width Digits"}
            geor{"Georgian na Mga Numeral"}
            grek{"Greek na Mga Numeral"}
            greklow{"Greek Lowercase Numerals"}
            gujr{"Gujarati na Mga Digit"}
            guru{"Gurmukhi na Mga Digit"}
            hanidec{"Chinese Decimal na Mga Numeral"}
            hans{"Simplified Chinese na Mga Numeral"}
            hansfin{"Simplified Chinese na Mga Numeral para sa Pananalapi"}
            hant{"Traditional Chinese na Mga Numeral"}
            hantfin{"Traditional Chinese na Mga Numeral para sa Pananalapi"}
            hebr{"Hebrew na Mga Numeral"}
            jpan{"Japanese na Mga Numeral"}
            jpanfin{"Japanese na Mga Numeral para sa Pananalapi"}
            khmr{"Khmer na Mga Digit"}
            knda{"Kannada na Mga Digit"}
            laoo{"Lao na Mga Digit"}
            latn{"Western Digits"}
            mlym{"Malayalam na Mga Digit"}
            mong{"Mongolian Digits"}
            mymr{"Myanmar na Mga Digit"}
            native{"Mga Native na Digit"}
            orya{"Oriya na Mga Digit"}
            roman{"Mga Roman Numeral"}
            romanlow{"Roman Lowercase Numerals"}
            taml{"Tamil na Mga Numeral"}
            tamldec{"Tamil na Mga Digit"}
            telu{"Telugu na Mga Digit"}
            thai{"Thai na Mga Digit"}
            tibt{"Tibetan na Mga Digit"}
            traditional{"Mga Tradisyunal na Numeral"}
            vaii{"Mga Vai na Digit"}
        }
    }
    Variants{
        PINYIN{"Pinyin Romanization"}
        WADEGILE{"Wade-Giles Romanization"}
    }
    Version{"2.1.12.94"}
    codePatterns{
        language{"Wika: {0}"}
        script{"Script: {0}"}
        territory{"Rehiyon: {0}"}
    }
    localeDisplayPattern{
        keyTypePattern{"{0}: {1}"}
        pattern{"{0} ({1})"}
        separator{"{0}, {1}"}
    }
}
