﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/ms.xml
// *
// ***************************************************************************
ms{
    Keys{
        calendar{"Kalendar"}
        colAlternate{"Abaikan Pengisihan Simbol"}
        colBackwards{"Pengisihan Aksen Terbalik"}
        colCaseFirst{"Penyusunan Huruf Besar/Huruf Kecil"}
        colCaseLevel{"Pengisihan Sensitif Atur"}
        colHiraganaQuaternary{"Pengisihan Kana"}
        colNormalization{"Pengisihan Ternormal"}
        colNumeric{"Pengisihan Berangka"}
        colStrength{"Kekuatan Pengisihan"}
        collation{"Urutan Isihan"}
        currency{"Mata wang"}
        numbers{"Nombor"}
        timezone{"Zon Waktu"}
        va{"Varian Tempat"}
        variableTop{"Isih Sebagai Simbol"}
        x{"Penggunaan Peribadi"}
    }
    Languages{
        ab{"Abkhazia"}
        ach{"Akoli"}
        ady{"Adyghe"}
        ae{"Avestan"}
        aeb{"Arab Tunisia"}
        af{"Afrikaans"}
        agq{"Aghem"}
        ak{"Akan"}
        alt{"Altai Selatan"}
        am{"Amharic"}
        ar{"Arab"}
        ar_001{"Arab Standard Moden"}
        arn{"Mapuche"}
        arq{"Arab Algeria"}
        ary{"Arab Maghribi"}
        arz{"Arab Mesir"}
        as{"Assam"}
        asa{"Asu"}
        av{"Avaric"}
        ay{"Aymara"}
        az{"Azerbaijan"}
        azb{"Azerbaijan Selatan"}
        ba{"Bashkir"}
        bal{"Baluchi"}
        bax{"Bamun"}
        bbj{"Ghomala"}
        be{"Belarus"}
        bej{"Beja"}
        bem{"Bemba"}
        bez{"Bena"}
        bfd{"Bafut"}
        bg{"Bulgaria"}
        bkm{"Kom"}
        bm{"Bambara"}
        bn{"Benggala"}
        bo{"Tibet"}
        bpy{"Bishnupriya"}
        br{"Breton"}
        brh{"Brahui"}
        brx{"Bodo"}
        bs{"Bosnia"}
        bss{"Akoose"}
        bua{"Buriat"}
        bum{"Bulu"}
        byv{"Medumba"}
        ca{"Catalonia"}
        cay{"Cayuga"}
        ce{"Chechen"}
        cgg{"Chiga"}
        chm{"Mari"}
        chr{"Cherokee"}
        ckb{"Kurdi Sorani"}
        co{"Corsica"}
        cop{"Coptic"}
        crh{"Turki Krimea"}
        cs{"Czech"}
        cu{"Slavik Gereja"}
        cv{"Chuvash"}
        cy{"Wales"}
        da{"Denmark"}
        dav{"Taita"}
        de{"Jerman"}
        de_AT{"Jerman Austria"}
        de_CH{"Jerman Halus Switzerland"}
        dje{"Zarma"}
        doi{"Dogri"}
        dsb{"Lower Sorbian"}
        dua{"Duala"}
        dv{"Divehi"}
        dyo{"Jola-Fonyi"}
        dz{"Dzongkha"}
        dzg{"Dazaga"}
        ebu{"Embu"}
        ee{"Ewe"}
        efi{"Efik"}
        el{"Greek"}
        en{"Inggeris"}
        en_AU{"Inggeris Australia"}
        en_CA{"Inggeris Kanada"}
        en_GB{"Inggeris British"}
        en_US{"Inggeris AS"}
        eo{"Esperanto"}
        es{"Sepanyol"}
        es_419{"Sepanyol Amerika Latin"}
        es_ES{"Sepanyol Eropah"}
        es_MX{"Sepanyol Mexico"}
        et{"Estonia"}
        eu{"Basque"}
        fa{"Parsi"}
        fi{"Finland"}
        fil{"Filipina"}
        fj{"Fiji"}
        fo{"Faroe"}
        fr{"Perancis"}
        fr_CA{"Perancis Kanada"}
        fr_CH{"Perancis Switzerland"}
        fy{"Frisian"}
        ga{"Ireland"}
        gaa{"Ga"}
        gag{"Gagauz"}
        gba{"Gbaya"}
        gbz{"Zoroastrian Dari"}
        gd{"Scots Gaelic"}
        gl{"Galicia"}
        glk{"Gilaki"}
        gn{"Guarani"}
        grc{"Greek Purba"}
        gsw{"Jerman Switzerland"}
        gu{"Gujerat"}
        guz{"Gusii"}
        gv{"Manx"}
        ha{"Hausa"}
        haw{"Hawaii"}
        he{"Ibrani"}
        hi{"Hindi"}
        hr{"Croat"}
        hsb{"Upper Sorbian"}
        ht{"Haiti"}
        hu{"Hungary"}
        hy{"Armenia"}
        ia{"Interlingua"}
        ibb{"Ibibio"}
        id{"Indonesia"}
        ie{"Interlingue"}
        ig{"Igbo"}
        ii{"Sichuan Yi"}
        is{"Iceland"}
        it{"Itali"}
        iu{"Inuktitut"}
        ja{"Jepun"}
        jgo{"Ngomba"}
        jmc{"Machame"}
        jv{"Jawa"}
        ka{"Georgia"}
        kab{"Kabyle"}
        kam{"Kamba"}
        kbl{"Kanembu"}
        kde{"Makonde"}
        kea{"Kabuverdianu"}
        kg{"Kongo"}
        khq{"Koyra Chiini"}
        khw{"Khowar"}
        ki{"Kikuya"}
        kk{"Kazakhstan"}
        kkj{"Kako"}
        kl{"Kalaallisut"}
        kln{"Kalenjin"}
        km{"Khmer"}
        kn{"Kannada"}
        ko{"Korea"}
        koi{"Komi-Permyak"}
        kok{"Konkani"}
        ks{"Kashmir"}
        ksb{"Shambala"}
        ksf{"Bafia"}
        ksh{"Colognian"}
        ku{"Kurdish"}
        kw{"Cornish"}
        ky{"Kirghiz"}
        la{"Latin"}
        lag{"Langi"}
        lah{"Lahnda"}
        lb{"Luxembourg"}
        lg{"Ganda"}
        lkt{"Lakota"}
        ln{"Lingala"}
        lo{"Laos"}
        loz{"Lozi"}
        lt{"Lithuania"}
        lu{"Luba-Katanga"}
        lua{"Luba-Lulua"}
        luo{"Luo"}
        lus{"Mizo"}
        luy{"Luyia"}
        lv{"Latvia"}
        maf{"Mafa"}
        mas{"Masai"}
        mde{"Maba"}
        mer{"Meru"}
        mfe{"Morisyen"}
        mg{"Malagasy"}
        mgh{"Makhuwa-Meetto"}
        mgo{"Meta’"}
        mi{"Maori"}
        mk{"Macedonia"}
        ml{"Malayalam"}
        mn{"Mongolia"}
        mni{"Manipuri"}
        moh{"Mohawk"}
        mr{"Marathi"}
        ms{"Bahasa Melayu"}
        mt{"Malta"}
        mua{"Mundang"}
        my{"Burma"}
        mye{"Myene"}
        mzn{"Mazanderani"}
        naq{"Nama"}
        nb{"Bokmål Norway"}
        nd{"Ndebele Utara"}
        ne{"Nepal"}
        nl{"Belanda"}
        nl_BE{"Flemish"}
        nmg{"Kwasio"}
        nn{"Nynorsk Norway"}
        no{"Norway"}
        nqo{"N’ko"}
        nso{"Sotho Utara"}
        nus{"Nuer"}
        ny{"Nyanja"}
        nyn{"Nyankole"}
        oc{"Occitania"}
        om{"Oromo"}
        or{"Oriya"}
        os{"Ossete"}
        pa{"Punjabi"}
        pl{"Poland"}
        ps{"Pashto"}
        pt{"Portugis"}
        pt_BR{"Portugis Brazil"}
        pt_PT{"Portugis Eropah"}
        qu{"Quechua"}
        quc{"Kʼicheʼ"}
        rm{"Romansh"}
        rn{"Rundi"}
        ro{"Romania"}
        ro_MD{"Moldavia"}
        rof{"Rombo"}
        ru{"Rusia"}
        rw{"Kinyarwanda"}
        rwk{"Rwa"}
        sa{"Sanskrit"}
        saq{"Samburu"}
        sba{"Ngambay"}
        sbp{"Sangu"}
        sd{"Sindhi"}
        se{"Sami Utara"}
        see{"Seneca"}
        seh{"Sena"}
        ses{"Koyraboro Senni"}
        sg{"Sango"}
        sh{"SerboCroatia"}
        shi{"Tachelhit"}
        shu{"Chadian Arab"}
        si{"Sinhala"}
        sk{"Slovak"}
        sl{"Slovenia"}
        sm{"Samoa"}
        sma{"Sami Selatan"}
        smj{"Lule Sami"}
        smn{"Inari Sami"}
        sms{"Skolt Sami"}
        sn{"Shona"}
        so{"Somali"}
        sq{"Albania"}
        sr{"Serbia"}
        ss{"Swati"}
        ssy{"Saho"}
        st{"Sotho Selatan"}
        su{"Sunda"}
        sv{"Sweden"}
        sw{"Swahili"}
        swb{"Comoria"}
        swc{"Congo Swahili"}
        ta{"Tamil"}
        te{"Telugu"}
        teo{"Teso"}
        tet{"Tetum"}
        tg{"Tajik"}
        th{"Thai"}
        ti{"Tigrinya"}
        tk{"Turkmen"}
        tlh{"Klingon"}
        tly{"Talysh"}
        tn{"Tswana"}
        to{"Tonga"}
        tpi{"Tok Pisin"}
        tr{"Turki"}
        trv{"Taroko"}
        ts{"Tsonga"}
        tt{"Tatar"}
        tum{"Tumbuka"}
        tw{"Twi"}
        twq{"Tasawaq"}
        ty{"Tahiti"}
        tzm{"Tamazight Atlas Tengah"}
        ug{"Uyghur"}
        uk{"Ukraine"}
        und{"Bahasa Tidak Diketahui"}
        ur{"Urdu"}
        uz{"Uzbekistan"}
        vai{"Vai"}
        ve{"Venda"}
        vi{"Vietnam"}
        vun{"Vunjo"}
        wae{"Walser"}
        wo{"Wolof"}
        xh{"Xhosa"}
        xog{"Soga"}
        yav{"Yangben"}
        ybb{"Yemba"}
        yi{"Yiddish"}
        yo{"Yoruba"}
        zgh{"Tamazight Maghribi Standard"}
        zh{"Cina"}
        zh_Hans{"Cina Ringkas"}
        zh_Hant{"Cina Tradisional"}
        zu{"Zulu"}
        zxx{"Tiada kandungan linguistik"}
        zza{"Zaza"}
    }
    Languages%short{
        az{"Azeri"}
        en_GB{"Inggeris U.K."}
        en_US{"Inggeris A.S."}
    }
    Languages%variant{
        ps{"Pushto"}
        ug{"Uighur"}
    }
    Scripts{
        Arab{"Arab"}
        Armn{"Armenia"}
        Bali{"Bali"}
        Bamu{"Bamu"}
        Beng{"Bengali"}
        Bopo{"Bopomofo"}
        Brai{"Braille"}
        Cans{"Cans"}
        Cyrl{"Cyril"}
        Deva{"Devanagari"}
        Ethi{"Ethiopia"}
        Geor{"Georgia"}
        Grek{"Greek"}
        Gujr{"Gujarat"}
        Guru{"Gurmukhi"}
        Hang{"Hangul"}
        Hani{"Han"}
        Hans{"Ringkas"}
        Hant{"Tradisional"}
        Hebr{"Ibrani"}
        Hira{"Hiragana"}
        Jpan{"Jepun"}
        Kana{"Katakana"}
        Khmr{"Khmer"}
        Knda{"Kannada"}
        Kore{"Korea"}
        Laoo{"Lao"}
        Latn{"Latin"}
        Mlym{"Malayalam"}
        Mong{"Mongolia"}
        Mymr{"Myammar"}
        Orya{"Oriya"}
        Sinh{"Sinhala"}
        Taml{"Tamil"}
        Telu{"Telugu"}
        Thaa{"Thaana"}
        Thai{"Thai"}
        Tibt{"Tibet"}
        Zsym{"Simbol"}
        Zxxx{"Tidak ditulis"}
        Zyyy{"Biasa"}
        Zzzz{"Skrip Tidak Diketahui"}
    }
    Scripts%stand-alone{
        Hans{"Han Ringkas"}
        Hant{"Han Tradisional"}
    }
    Scripts%variant{
        Arab{"Perso-Arab"}
    }
    Types{
        calendar{
            buddhist{"Kalendar Buddha"}
            chinese{"Kalendar Cina"}
            coptic{"Kalendar Qibti"}
            dangi{"Kalendar Dangi"}
            ethiopic{"Kalendar Ethiopia"}
            ethiopic-amete-alem{"Kalendar Amete Alem Ethiopia"}
            gregorian{"Kalendar Gregory"}
            hebrew{"Kalendar Ibrani"}
            indian{"Kalendar Kebangsaan India"}
            islamic{"Kalendar Islam"}
            islamic-civil{"Kalendar Sivil Islam"}
            iso8601{"Kalendar ISO-8601"}
            japanese{"Kalendar Jepun"}
            persian{"Kalendar Parsi"}
            roc{"Kalendar Minguo"}
        }
        colAlternate{
            non-ignorable{"Isih Simbol"}
            shifted{"Isih Mengabaikan Simbol"}
        }
        colBackwards{
            no{"Isih Aksen Secara Biasa"}
            yes{"Isih Aksen Terbalik"}
        }
        colCaseFirst{
            lower{"Isih Huruf Kecil Dahulu"}
            no{"Isih Urutan Atur Biasa"}
            upper{"Isih Huruf Besar Dahulu"}
        }
        colCaseLevel{
            no{"Isih Tidak Sensitif Atur"}
            yes{"Isih Sensitif Atur"}
        }
        colHiraganaQuaternary{
            no{"Isih Kana Berasingan"}
            yes{"Isih Kana Secara Berbeza"}
        }
        colNormalization{
            no{"Isih Tanpa Penormalan"}
            yes{"Isih Unikod Ternormal"}
        }
        colNumeric{
            no{"Isih Digit Secara Berasingan"}
            yes{"Isih Digit Mengikut Nombor"}
        }
        colStrength{
            identical{"Isih Semua"}
            primary{"Isih Huruf Asas Sahaja"}
            quaternary{"Isih Aksen/Atur/Lebar/Kana"}
            secondary{"Isih Aksen"}
            tertiary{"Isih Aksen/Atur/Lebar"}
        }
        collation{
            big5han{"Aturan Isih Cina Tradisional - Big5"}
            dictionary{"Aturan Isih Kamus"}
            ducet{"Aturan Isih Unikod Lalai"}
            gb2312han{"Aturan Isih Bahasa Cina Ringkas - GB2312"}
            phonebook{"Aturan Isih Buku Telefon"}
            phonetic{"Urutan Isih Fonetik"}
            pinyin{"Aturan Isih Pinyin"}
            reformed{"Aturan Isih Pembaharuan"}
            search{"Carian Tujuan Umum"}
            searchjl{"Cari Mengikut Konsonan Awal Hangul"}
            standard{"Urutan Isihan Standard"}
            stroke{"Aturan Isih Coretan"}
            traditional{"Aturan Isih Tradisional"}
            unihan{"Aturan Isih Coretan Radikal"}
        }
        numbers{
            arab{"Digit Indi-Arab"}
            arabext{"Digit Indi Arab Lanjutan"}
            armn{"Angka Armenia"}
            armnlow{"Angka Kecil Armenia"}
            beng{"Digit Bengali"}
            deva{"Digit Devanagari"}
            ethi{"Angka Ethiopia"}
            finance{"Angka Kewangan"}
            fullwide{"Digit Lebar Penuh"}
            geor{"Angka Georgia"}
            grek{"Angka Greek"}
            greklow{"Angka Huruf Kecil Greek"}
            gujr{"Digit Gujarat"}
            guru{"Digit Gurmukhi"}
            hanidec{"Angka Perpuluhan Cina"}
            hans{"Angka Cina Ringkas"}
            hansfin{"Angka Kewangan Cina Ringkas"}
            hant{"Angka Cina Tradisional"}
            hantfin{"Angka Kewangan Cina Tradisional"}
            hebr{"Angka Ibrani"}
            jpan{"Angka Jepun"}
            jpanfin{"Angka Kewangan Jepun"}
            khmr{"Digit Khmer"}
            knda{"Digit Kannada"}
            laoo{"Digit Lao"}
            latn{"Digit Barat"}
            mlym{"Digit Malayalam"}
            mong{"Digit Mongolia"}
            mymr{"Digit Myammar"}
            native{"Digit Asal"}
            orya{"Digit Oriya"}
            roman{"Angka Roman"}
            romanlow{"Angka Huruf Kecil Roman"}
            taml{"Angka Tamil"}
            tamldec{"Digit Tamil"}
            telu{"Digit Telugu"}
            thai{"Digit Thai"}
            tibt{"Digit Tibet"}
            traditional{"Angka Tradisional"}
            vaii{"Digit Vai"}
        }
    }
    Version{"2.1.15.60"}
    codePatterns{
        language{"Bahasa: {0}"}
        script{"Skrip: {0}"}
        territory{"Kawasan: {0}"}
    }
    localeDisplayPattern{
        keyTypePattern{"{0}: {1}"}
        pattern{"{0} ({1})"}
        separator{"{0}, {1}"}
    }
}
