﻿// ***************************************************************************
// *
// * Copyright (C) 2016 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"}
        hc{"Kitaran Jam (12 berbanding 24)"}
        lb{"Gaya Pemisah Baris"}
        ms{"Sistem Ukuran"}
        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"}
        ba{"Bashkir"}
        bal{"Baluchi"}
        bas{"Basaa"}
        bax{"Bamun"}
        bbj{"Ghomala"}
        be{"Belarus"}
        bej{"Beja"}
        bem{"Bemba"}
        bez{"Bena"}
        bfd{"Bafut"}
        bg{"Bulgaria"}
        bgn{"Balochi Barat"}
        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"}
        ewo{"Ewondo"}
        fa{"Parsi"}
        fi{"Finland"}
        fil{"Filipina"}
        fj{"Fiji"}
        fo{"Faroe"}
        fr{"Perancis"}
        fr_CA{"Perancis Kanada"}
        fr_CH{"Perancis Switzerland"}
        fy{"Frisian Barat"}
        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{"Croatia"}
        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"}
        lrc{"Luri Utara"}
        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"}
        nds{"Jerman Rendah"}
        nds_NL{"Saxon Rendah"}
        ne{"Nepal"}
        nl{"Belanda"}
        nl_BE{"Flemish"}
        nmg{"Kwasio"}
        nn{"Nynorsk Norway"}
        nnh{"Ngiemboon"}
        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"}
        sdh{"Kurdish Selatan"}
        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"}
        sw_CD{"Congo Swahili"}
        swb{"Comoria"}
        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"}
        wbp{"Warlpiri"}
        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"}
        }
        hc{
            h11{"Sistem 12 Jam (0–11)"}
            h12{"Sistem 12 Jam (1–12)"}
            h23{"Sistem 24 Jam (0–23)"}
            h24{"Sistem 24 Jam (1–24)"}
        }
        lb{
            loose{"Gaya Pemisah Baris Bebas"}
            normal{"Gaya Pemisah Baris Biasa"}
            strict{"Gaya Pemisah Baris Ketat"}
        }
        ms{
            metric{"Sistem Metrik"}
            uksystem{"Sistem Ukuran Imperial"}
            ussystem{"Sistem Ukuran AS"}
        }
        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.24.16"}
    codePatterns{
        language{"Bahasa: {0}"}
        script{"Skrip: {0}"}
        territory{"Kawasan: {0}"}
    }
    localeDisplayPattern{
        keyTypePattern{"{0}: {1}"}
        pattern{"{0} ({1})"}
        separator{"{0}, {1}"}
    }
}
