﻿// ***************************************************************************
// *
// * Copyright (C) 2007 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/main/id.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/id.xml
 */
id{
    Countries{
        AD{"Andora"}
        AE{"Uni Emirat Arab"}
        AF{"Afghanistan"}
        AG{"Antigua dan Barbuda"}
        AI{"Anguilla"}
        AL{"Albania"}
        AM{"Armenia"}
        AN{"Antilles Belanda"}
        AO{"Angola"}
        AQ{"Antarktika"}
        AR{"Argentina"}
        AS{"Samoa Amerika"}
        AT{"Austria"}
        AU{"Australia"}
        AW{"Aruba"}
        AZ{"Azerbaijan"}
        BA{"Bosnia dan Herzegovina"}
        BB{"Barbados"}
        BD{"Bangladesh"}
        BE{"Belgia"}
        BF{"Burkina Faso"}
        BG{"Bulgaria"}
        BH{"Bahrain"}
        BI{"Burundi"}
        BJ{"Benin"}
        BM{"Bermuda"}
        BN{"Brunei"}
        BO{"Bolivia"}
        BR{"Brazil"}
        BS{"Bahamas"}
        BT{"Bhutan"}
        BV{"Kepulauan Bouvet"}
        BW{"Botswana"}
        BY{"Belarusia"}
        BZ{"Belize"}
        CA{"Kanada"}
        CC{"Kepulauan Cocos"}
        CD{"Republik Demokratik Kongo"}
        CF{"Republik Afrika Tengah"}
        CG{"Kongo"}
        CH{"Swiss"}
        CI{"Pantai Gading"}
        CK{"Kepulauan Cook"}
        CL{"Chili"}
        CM{"Kamerun"}
        CN{"Cina"}
        CO{"Kolombia"}
        CR{"Kosta Rika"}
        CU{"Kuba"}
        CV{"Tanjung Verde"}
        CX{"Pulau Christmas"}
        CY{"Siprus"}
        CZ{"Republik Ceko"}
        DE{"Jerman"}
        DJ{"Jibouti"}
        DK{"Denmark"}
        DM{"Dominika"}
        DO{"Republik Dominika"}
        DZ{"Algeria"}
        EC{"Ekuador"}
        EE{"Estonia"}
        EG{"Mesir"}
        EH{"Sahara Barat"}
        ER{"Eritrea"}
        ES{"Spanyol"}
        ET{"Ethiopia"}
        FI{"Finlandia"}
        FJ{"Fiji"}
        FK{"Kepulauan Falkland"}
        FM{"Mikronesia"}
        FO{"Kepulauan Faroe"}
        FR{"Perancis"}
        GA{"Gabon"}
        GB{"Inggris Raya"}
        GD{"Grenada"}
        GE{"Georgia"}
        GF{"Guyana Perancis"}
        GH{"Ghana"}
        GI{"Gibraltar"}
        GL{"Greenland"}
        GM{"Gambia"}
        GN{"Guinea"}
        GP{"Guadeloupe"}
        GQ{"Guinea Khatulistiwa"}
        GR{"Yunani"}
        GS{"Georgia Selatan dan Kepulauan Sandwich Selatan"}
        GT{"Guatemala"}
        GU{"Guam"}
        GW{"Guinea-Bissau"}
        GY{"Guyana"}
        HK{"Hong Kong S.A.R., Cina"}
        HM{"Pulau Heard dan Kepulauan McDonald"}
        HN{"Honduras"}
        HR{"Kroasia"}
        HT{"Haiti"}
        HU{"Hungaria"}
        ID{"Indonesia"}
        IE{"Irlandia"}
        IL{"Israel"}
        IN{"India"}
        IQ{"Iraq"}
        IR{"Iran"}
        IS{"Islandia"}
        IT{"Itali"}
        JM{"Jamaika"}
        JO{"Yordania"}
        JP{"Jepang"}
        KE{"Kenya"}
        KG{"Kyrgyzstan"}
        KH{"Kamboja"}
        KI{"Kiribati"}
        KM{"Komoros"}
        KN{"Saint Kitts dan Nevis"}
        KP{"Korea Utara"}
        KR{"Korea Selatan"}
        KW{"Kuwait"}
        KY{"Kepulauan Kayman"}
        KZ{"Kazakhstan"}
        LA{"Laos"}
        LB{"Lebanon"}
        LC{"Santa Lusia"}
        LI{"Liechtenstein"}
        LK{"Sri Lanka"}
        LR{"Liberia"}
        LS{"Lesotho"}
        LT{"Lithuania"}
        LU{"Luxembourg"}
        LV{"Latvia"}
        LY{"Libya"}
        MA{"Maroko"}
        MC{"Monaco"}
        MD{"Moldova"}
        MG{"Madagaskar"}
        MH{"Kepulauan Marshall"}
        MK{"Macedonia"}
        ML{"Mali"}
        MM{"Myanmar"}
        MN{"Mongolia"}
        MO{"Makao S.A.R. Cina"}
        MP{"Kepualuan Mariana Utara"}
        MQ{"Martinique"}
        MR{"Mauritania"}
        MS{"Montserrat"}
        MT{"Malta"}
        MU{"Mauritius"}
        MV{"Maldives"}
        MW{"Malawi"}
        MX{"Mexico"}
        MY{"Malaysia"}
        MZ{"Mozambique"}
        NA{"Namibia"}
        NC{"Kaledonia Baru"}
        NE{"Niger"}
        NF{"Kepulauan Norfolk"}
        NG{"Nigeria"}
        NI{"Nicaragua"}
        NL{"Netherlands"}
        NO{"Norwegia"}
        NP{"Nepal"}
        NR{"Nauru"}
        NU{"Niue"}
        NZ{"Selandia Baru"}
        OM{"Oman"}
        PA{"Panama"}
        PE{"Peru"}
        PF{"Polynesia Perancis"}
        PG{"Papua Nugini"}
        PH{"Filipina"}
        PK{"Pakistan"}
        PL{"Polandia"}
        PM{"Saint Pierre dan Miquelon"}
        PN{"Pitcairn"}
        PR{"Puerto Riko"}
        PS{"Otoritas Palestina"}
        PT{"Portugis"}
        PW{"Palau"}
        PY{"Paraguay"}
        QA{"Qatar"}
        RE{"Réunion"}
        RO{"Romania"}
        RU{"Rusia"}
        RW{"Rwanda"}
        SA{"Arab Saudi"}
        SB{"Kepulauan Solomon"}
        SC{"Seychelles"}
        SD{"Sudan"}
        SE{"Sweden"}
        SG{"Singapura"}
        SH{"Saint Helena"}
        SI{"Slovenia"}
        SJ{"Svalbard dan Jan Mayen"}
        SK{"Slovakia"}
        SL{"Sierra Leone"}
        SM{"San Marino"}
        SN{"Senegal"}
        SO{"Somalia"}
        SR{"Suriname"}
        ST{"Sao Tome dan Principe"}
        SV{"El Salvador"}
        SY{"Syria"}
        SZ{"Swaziland"}
        TD{"Chad"}
        TG{"Togo"}
        TH{"Thailand"}
        TJ{"Tajikistan"}
        TK{"Tokelau"}
        TM{"Turkmenistan"}
        TN{"Tunisia"}
        TO{"Tonga"}
        TR{"Turkey"}
        TT{"Trinidad dan Tobago"}
        TV{"Tuvalu"}
        TW{"Taiwan"}
        TZ{"Tanzania"}
        UA{"Ukraina"}
        UG{"Uganda"}
        US{"Amerika Serikat"}
        UY{"Uruguay"}
        UZ{"Uzbekistan"}
        VA{"Vatikan"}
        VC{"Saint Vincent dan Grenadines"}
        VE{"Venezuela"}
        VG{"Kepulauan British Virgin"}
        VI{"Kepulauan U.S. Virgin"}
        VN{"Vietnam"}
        VU{"Vanuatu"}
        WF{"Wallis dan Futuna"}
        WS{"Samoa"}
        YE{"Yaman"}
        YT{"Mayotte"}
        ZA{"Afrika Selatan"}
        ZM{"Zambia"}
        ZW{"Zimbabwe"}
    }
    Currencies{
        IDR{
            "Rp",
            "IDR",
        }
    }
    ExemplarCharacters{"[a-n {ng} {ny} o p r-w y]"}
    Languages{
        aa{"Afar"}
        ab{"Abkhaz"}
        ace{"Aceh"}
        ae{"Avestan"}
        af{"Afrikaans"}
        afa{"Afro-Asiatik (Lainnya)"}
        ak{"Akan"}
        akk{"Akkadien"}
        alg{"Bahasa Algonquia"}
        am{"Amharik"}
        ang{"Inggris Kuno (kl.450-1100)"}
        apa{"Bahasa-bahasa Apache"}
        ar{"Arab"}
        arc{"Aram"}
        arn{"Araucan"}
        art{"Buatan (Lainnya)"}
        as{"Assam"}
        ast{"Astur"}
        ath{"Bahasa-bahasa Athapaska"}
        aus{"Bahasa-bahasa Australia"}
        av{"Avarik"}
        ay{"Aymara"}
        az{"Azerbaijan"}
        ba{"Bashkir"}
        bai{"Bahasa-bahasa Bamileke"}
        ban{"Balin"}
        bat{"Baltik (Lainnya)"}
        be{"Belarusia"}
        bg{"Bulgaria"}
        bh{"Bihari"}
        bi{"Bislama"}
        bm{"Bambara"}
        bn{"Bengal"}
        bo{"Tibet"}
        br{"Breton"}
        bs{"Bosnia"}
        bug{"Bugis"}
        ca{"Catalan"}
        cai{"India Amerika Tengah (Lainnnya)"}
        car{"Karib"}
        cau{"Kaukasia (Lainnya)"}
        ce{"Chechen"}
        cel{"Celtic (Lainnya)"}
        ch{"Chamorro"}
        chk{"Chuuke"}
        co{"Korsika"}
        cop{"Koptik"}
        cr{"Cree"}
        cs{"Ceko"}
        cv{"Chuvash"}
        cy{"Welsh"}
        da{"Denmark"}
        de{"Jerman"}
        dv{"Divehi"}
        dz{"Dzongkha"}
        ee{"Ewe"}
        egy{"Mesir Kuno"}
        el{"Yunani"}
        en{"Inggris"}
        enm{"Inggris, Abad Pertengahan (1100-1500)"}
        eo{"Esperanto"}
        es{"Spanyol"}
        et{"Estonian"}
        eu{"Basque"}
        fa{"Persia"}
        ff{"Fulah"}
        fi{"Finlandia"}
        fj{"Fiji"}
        fo{"Faro"}
        fr{"Perancis"}
        frm{"Perancis, Abad Pertengahan (kl.1400-1600)"}
        fro{"Perancis Kuno (842-kl.1400)"}
        fur{"Friuli"}
        fy{"Frisi"}
        ga{"Irlandia"}
        gd{"Gaelik Skotlandia"}
        gem{"Jermanik (Lainnya)"}
        gil{"Gilbert"}
        gl{"Gallegan"}
        gmh{"Jerman, Abad Pertengahan (kl.1050-1500)"}
        gn{"Guarani"}
        goh{"Jerman Kuno (kl.750-1050)"}
        got{"Gothik"}
        grc{"Yunani Kuno (sd 1453)"}
        gu{"Gujarati"}
        gv{"Manx"}
        ha{"Hausa"}
        haw{"Hawaii"}
        he{"Ibrani"}
        hi{"Hindi"}
        ho{"Hiri Motu"}
        hr{"Kroasia"}
        hu{"Hungaria"}
        hy{"Armenia"}
        hz{"Herero"}
        ia{"Interlingua"}
        id{"Bahasa Indonesia"}
        ie{"Interlingue"}
        ig{"Igbo"}
        ii{"Sichuan Yi"}
        ik{"Inupiaq"}
        io{"Ido"}
        is{"Icelandic"}
        it{"Italian"}
        ja{"Japanese"}
        jpr{"Judeo-Persia"}
        jrb{"Judeo-Arab"}
        jv{"Jawa"}
        ka{"Georgian"}
        kg{"Kongo"}
        ki{"Kikuyu"}
        kj{"Kuanyama"}
        kk{"Kazakh"}
        kl{"Kalaallisut"}
        km{"Khmer"}
        kn{"Kannada"}
        ko{"Korea"}
        kok{"Konkani"}
        kos{"Kosrae"}
        kr{"Kanuri"}
        ks{"Kashmir"}
        ku{"Kurdi"}
        kv{"Komi"}
        kw{"Cornish"}
        ky{"Kirghiz"}
        la{"Latin"}
        lb{"Luxembourg"}
        lez{"Lezghia"}
        lg{"Ganda"}
        li{"Limburg"}
        ln{"Lingala"}
        lo{"Lao"}
        lt{"Lithuania"}
        lu{"Luba-Katanga"}
        lv{"Latvian"}
        mad{"Madura"}
        mak{"Makassar"}
        map{"Austronesia"}
        mg{"Malagasi"}
        mga{"Irlandia Abad Pertengahan (900-1200)"}
        mh{"Marshall"}
        mi{"Maori"}
        mis{"Bahasa Lain-lain"}
        mk{"Macedonian"}
        mkh{"Mon-Khmer (Lainnya)"}
        ml{"Malayalam"}
        mn{"Mongolian"}
        mo{"Moldavian"}
        mr{"Marathi"}
        ms{"Malay"}
        mt{"Maltese"}
        my{"Burma"}
        na{"Nauru"}
        nb{"Norwegian Bokmål"}
        ne{"Nepal"}
        ng{"Ndonga"}
        nl{"Belanda"}
        nn{"Norwegian Nynorsk"}
        no{"Norwegian"}
        nv{"Navajo"}
        ny{"Nyanja; Chichewa; Chewa"}
        oj{"Ojibwa"}
        om{"Oromo"}
        or{"Oriya"}
        os{"Ossetic"}
        pa{"Punjabi"}
        paa{"Papuan (Lainnya)"}
        peo{"Persia Kuno (kl.600-400 SM.)"}
        phi{"Filipina (Lainnya)"}
        pi{"Pali"}
        pl{"Polish"}
        ps{"Pashto (Pushto)"}
        pt{"Portugis"}
        qu{"Quechua"}
        rm{"Rhaeto-Romance"}
        rn{"Rundi"}
        ro{"Romanian"}
        ru{"Russian"}
        rw{"Kinyarwanda"}
        sa{"Sanskrit"}
        sc{"Sardinian"}
        sd{"Sindhi"}
        se{"Northern Sami"}
        sg{"Sango"}
        sh{"Serbo-Croatian"}
        si{"Sinhalese"}
        sk{"Slovak"}
        sl{"Slovenian"}
        sm{"Samoan"}
        sn{"Shona"}
        so{"Somali"}
        sq{"Albanian"}
        sr{"Serbian"}
        ss{"Swati"}
        su{"Sundan"}
        sux{"Sumeria"}
        sv{"Swedia"}
        sw{"Swahili"}
        syr{"Syria"}
        ta{"Tamil"}
        te{"Telugu"}
        tg{"Tajik"}
        th{"Thai"}
        ti{"Tigrinya"}
        tk{"Turkmen"}
        tl{"Tagalog"}
        tn{"Tswana"}
        tr{"Turkish"}
        ts{"Tsonga"}
        tt{"Tatar"}
        tw{"Twi"}
        ty{"Tahitian"}
        ug{"Uighur"}
        uk{"Ukrainian"}
        ur{"Urdu"}
        uz{"Uzbek"}
        ve{"Venda"}
        vi{"Vietnamese"}
        vo{"Volapük"}
        wa{"Walloon"}
        wo{"Wolof"}
        xh{"Xhosa"}
        yi{"Yiddish"}
        yo{"Yoruba"}
        za{"Zhuang"}
        zh{"Cina"}
        zu{"Zulu"}
    }
    LocaleScript{
        "Latn",
    }
    NumberElements{
        ",",
        ".",
        ";",
        "%",
        "0",
        "#",
        "-",
        "E",
        "‰",
        "∞",
        "NaN",
        "+",
    }
    NumberPatterns{
        "#,##0.###",
        "¤#,##0.00",
        "#,##0%",
        "#E0",
    }
    Version{"1.64"}
    calendar{
        gregorian{
            dayNames{
                format{
                    abbreviated{
                        "Min",
                        "Sen",
                        "Sel",
                        "Rab",
                        "Kam",
                        "Jum",
                        "Sab",
                    }
                    wide{
                        "Minggu",
                        "Senin",
                        "Selasa",
                        "Rabu",
                        "Kamis",
                        "Jumat",
                        "Sabtu",
                    }
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "Jan",
                        "Feb",
                        "Mar",
                        "Apr",
                        "Mei",
                        "Jun",
                        "Jul",
                        "Agu",
                        "Sep",
                        "Okt",
                        "Nov",
                        "Des",
                    }
                    wide{
                        "Januari",
                        "Februari",
                        "Maret",
                        "April",
                        "Mei",
                        "Juni",
                        "Juli",
                        "Agustus",
                        "September",
                        "Oktober",
                        "November",
                        "Desember",
                    }
                }
            }
        }
    }
}
