﻿// ***************************************************************************
// *
// * Copyright (C) 2014 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/ms.xml
// *
// ***************************************************************************
/**
 * ICU <specials> source: <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"}
        af{"Afrikaans"}
        agq{"Aghem"}
        ak{"Akan"}
        am{"Amharic"}
        ar{"Arab"}
        ar_001{"Arab Standard Moden"}
        as{"Assam"}
        asa{"Asu"}
        ay{"Aymara"}
        az{"Azerbaijan"}
        bax{"Bamun"}
        bbj{"Ghomala"}
        be{"Belarus"}
        bem{"Bemba"}
        bez{"Bena"}
        bfd{"Bafut"}
        bg{"Bulgaria"}
        bkm{"Kom"}
        bn{"Benggala"}
        bo{"Tibet"}
        br{"Breton"}
        brx{"Bodo"}
        bs{"Bosnia"}
        bss{"Akoose"}
        bum{"Bulu"}
        byv{"Medumba"}
        ca{"Catalonia"}
        cay{"Cayuga"}
        cgg{"Chiga"}
        chr{"Cherokee"}
        ckb{"Kurdi Sorani"}
        co{"Corsica"}
        cs{"Czech"}
        cy{"Wales"}
        da{"Denmark"}
        dav{"Taita"}
        de{"Jerman"}
        de_AT{"Jerman Austria"}
        de_CH{"Jerman Halus Switzerland"}
        dje{"Zarma"}
        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"}
        gd{"Scots Gaelic"}
        gl{"Galicia"}
        gn{"Guarani"}
        gsw{"Jerman Switzerland"}
        gu{"Gujerat"}
        guz{"Gusii"}
        ha{"Hausa"}
        haw{"Hawaii"}
        he{"Ibrani"}
        hi{"Hindi"}
        hr{"Croat"}
        ht{"Haiti"}
        hu{"Hungary"}
        hy{"Armenia"}
        ia{"Interlingua"}
        ibb{"Ibibio"}
        id{"Indonesia"}
        ie{"Interlingue"}
        ig{"Igbo"}
        is{"Iceland"}
        it{"Itali"}
        ja{"Jepun"}
        jgo{"Ngomba"}
        jmc{"Machame"}
        jv{"Jawa"}
        ka{"Georgia"}
        kbl{"Kanembu"}
        kde{"Makonde"}
        kea{"Kabuverdianu"}
        kg{"Kongo"}
        khq{"Koyra Chiini"}
        kk{"Kazakhstan"}
        kkj{"Kako"}
        kln{"Kalenjin"}
        km{"Khmer"}
        kn{"Kannada"}
        ko{"Korea"}
        ks{"Kashmir"}
        ksb{"Shambala"}
        ksf{"Bafia"}
        ksh{"Colognian"}
        ku{"Kurdish"}
        ky{"Kirghiz"}
        la{"Latin"}
        lag{"Langi"}
        lb{"Luxembourg"}
        lg{"Ganda"}
        lkt{"Lakota"}
        ln{"Lingala"}
        lo{"Laos"}
        loz{"Lozi"}
        lt{"Lithuania"}
        lua{"Luba-Lulua"}
        luy{"Luyia"}
        lv{"Latvia"}
        maf{"Mafa"}
        mde{"Maba"}
        mer{"Meru"}
        mfe{"Morisyen"}
        mg{"Malagasy"}
        mgh{"Makhuwa-Meetto"}
        mgo{"Meta'"}
        mi{"Maori"}
        mk{"Macedonia"}
        ml{"Malayalam"}
        mn{"Mongolia"}
        mr{"Marathi"}
        ms{"Bahasa Melayu"}
        mt{"Malta"}
        mua{"Mundang"}
        my{"Burma"}
        mye{"Myene"}
        naq{"Nama"}
        nb{"Bokmål Norway"}
        nd{"Ndebele Utara"}
        ne{"Nepal"}
        nl{"Belanda"}
        nl_BE{"Flemish"}
        nmg{"Kwasio"}
        nn{"Nynorsk Norway"}
        no{"Norway"}
        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"}
        rm{"Romansh"}
        rn{"Rundi"}
        ro{"Romania"}
        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"}
        sn{"Shona"}
        so{"Somali"}
        sq{"Albania"}
        sr{"Serbia"}
        ss{"Swati"}
        ssy{"Saho"}
        st{"Sotho Selatan"}
        su{"Sunda"}
        sv{"Sweden"}
        sw{"Swahili"}
        swc{"Congo Swahili"}
        ta{"Tamil"}
        te{"Telugu"}
        teo{"Teso"}
        tet{"Tetum"}
        tg{"Tajik"}
        th{"Thai"}
        ti{"Tigrinya"}
        tk{"Turkmen"}
        tlh{"Klingon"}
        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{"Uighur"}
        uk{"Ukraine"}
        und{"Bahasa Tidak Diketahui"}
        ur{"Urdu"}
        uz{"Uzbekistan"}
        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"}
    }
    LanguagesShort{
        az{"Azeri"}
        en_GB{"Inggeris U.K."}
        en_US{"Inggeris A.S."}
    }
    Scripts{
        Arab{"Arab"}
        Armn{"Armenia"}
        Beng{"Bengali"}
        Bopo{"Bopomofo"}
        Brai{"Braille"}
        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"}
    }
    Types{
        calendar{
            buddhist{"Kalendar Buddha"}
            chinese{"Kalendar Cina"}
            coptic{"Kalendar Qibti"}
            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"}
            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.0.97.91"}
    codePatterns{
        language{"Bahasa: {0}"}
        script{"Skrip: {0}"}
        territory{"Kawasan: {0}"}
    }
    localeDisplayPattern{
        keyTypePattern{"{0}: {1}"}
        pattern{"{0} ({1})"}
        separator{"{0}, {1}"}
    }
}
