﻿// ***************************************************************************
// *
// * Copyright (C) 2013 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/id.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/id.xml
 */
id{
    Countries{
        001{"Dunia"}
        002{"Afrika"}
        003{"Amerika Utara"}
        005{"Amerika Selatan"}
        009{"Oseania"}
        011{"Afrika Barat"}
        013{"Amerika Tengah"}
        014{"Afrika Timur"}
        015{"Afrika Utara"}
        017{"Afrika Tengah"}
        018{"Afrika Bagian Selatan"}
        019{"Amerika"}
        021{"Amerika Bagian Utara"}
        029{"Kepulauan Karibia"}
        030{"Asia Timur"}
        034{"Asia Selatan"}
        035{"Asia Tenggara"}
        039{"Eropa Selatan"}
        053{"Australasia"}
        054{"Melanesia"}
        057{"Wilayah Mikronesia"}
        061{"Polinesia"}
        142{"Asia"}
        143{"Asia Tengah"}
        145{"Asia Barat"}
        150{"Eropa"}
        151{"Eropa Timur"}
        154{"Eropa Utara"}
        155{"Eropa Barat"}
        419{"Amerika Latin"}
        AC{"Pulau Ascension"}
        AD{"Andora"}
        AE{"Uni Emirat Arab"}
        AF{"Afganistan"}
        AG{"Antigua dan Barbuda"}
        AI{"Anguilla"}
        AL{"Albania"}
        AM{"Armenia"}
        AN{"Antilla Belanda"}
        AO{"Angola"}
        AQ{"Antarktika"}
        AR{"Argentina"}
        AS{"Samoa Amerika"}
        AT{"Austria"}
        AU{"Australia"}
        AW{"Aruba"}
        AX{"Kepulauan Aland"}
        AZ{"Azerbaijan"}
        BA{"Bosnia dan Herzegovina"}
        BB{"Barbados"}
        BD{"Bangladesh"}
        BE{"Belgia"}
        BF{"Burkina Faso"}
        BG{"Bulgaria"}
        BH{"Bahrain"}
        BI{"Burundi"}
        BJ{"Benin"}
        BL{"Saint Barthelemy"}
        BM{"Bermuda"}
        BN{"Brunei"}
        BO{"Bolivia"}
        BQ{"Karibia Belanda"}
        BR{"Brasil"}
        BS{"Bahama"}
        BT{"Bhutan"}
        BV{"Pulau Bouvet"}
        BW{"Botswana"}
        BY{"Belarus"}
        BZ{"Belize"}
        CA{"Kanada"}
        CC{"Kepulauan Cocos"}
        CD{"Kongo - Kinshasa"}
        CF{"Republik Afrika Tengah"}
        CG{"Kongo - Brazzaville"}
        CH{"Swiss"}
        CI{"Cote d'Ivoire"}
        CK{"Kepulauan Cook"}
        CL{"Cile"}
        CM{"Kamerun"}
        CN{"China"}
        CO{"Kolombia"}
        CP{"Pulau Clipperton"}
        CR{"Kosta Rika"}
        CU{"Kuba"}
        CV{"Tanjung Verde"}
        CW{"Curaçao"}
        CX{"Pulau Christmas"}
        CY{"Siprus"}
        CZ{"Republik Cheska"}
        DE{"Jerman"}
        DG{"Diego Garcia"}
        DJ{"Jibuti"}
        DK{"Denmark"}
        DM{"Dominika"}
        DO{"Republik Dominika"}
        DZ{"Aljazair"}
        EA{"Ceuta dan Melilla"}
        EC{"Ekuador"}
        EE{"Estonia"}
        EG{"Mesir"}
        EH{"Sahara Barat"}
        ER{"Eritrea"}
        ES{"Spanyol"}
        ET{"Etiopia"}
        EU{"Uni Eropa"}
        FI{"Finlandia"}
        FJ{"Fiji"}
        FK{"Kepulauan Malvinas"}
        FM{"Mikronesia"}
        FO{"Kepulauan Faroe"}
        FR{"Prancis"}
        GA{"Gabon"}
        GB{"Inggris"}
        GD{"Grenada"}
        GE{"Georgia"}
        GF{"Guyana Prancis"}
        GG{"Guernsey"}
        GH{"Ghana"}
        GI{"Gibraltar"}
        GL{"Grinlandia"}
        GM{"Gambia"}
        GN{"Guinea"}
        GP{"Guadeloupe"}
        GQ{"Guinea Ekuatorial"}
        GR{"Yunani"}
        GS{"Kepulauan South Sandwich dan South Georgia"}
        GT{"Guatemala"}
        GU{"Guam"}
        GW{"Guinea-Bissau"}
        GY{"Guyana"}
        HK{"Hong Kong"}
        HM{"Pulau Heard dan Kepulauan McDonald"}
        HN{"Honduras"}
        HR{"Kroasia"}
        HT{"Haiti"}
        HU{"Hungaria"}
        IC{"Kepulauan Canary"}
        ID{"Indonesia"}
        IE{"Irlandia"}
        IL{"Israel"}
        IM{"Isle of Man"}
        IN{"India"}
        IO{"Wilayah Inggris di Samudra Hindia"}
        IQ{"Irak"}
        IR{"Iran"}
        IS{"Islandia"}
        IT{"Italia"}
        JE{"Jersey"}
        JM{"Jamaika"}
        JO{"Yordania"}
        JP{"Jepang"}
        KE{"Kenya"}
        KG{"Kirgistan"}
        KH{"Kamboja"}
        KI{"Kiribati"}
        KM{"Komoro"}
        KN{"Saint Kitts dan Nevis"}
        KP{"Korea Utara"}
        KR{"Korea Selatan"}
        KW{"Kuwait"}
        KY{"Kepulauan Kayman"}
        KZ{"Kazakstan"}
        LA{"Laos"}
        LB{"Lebanon"}
        LC{"Saint Lucia"}
        LI{"Liechtenstein"}
        LK{"Sri Lanka"}
        LR{"Liberia"}
        LS{"Lesotho"}
        LT{"Lituania"}
        LU{"Luksemburg"}
        LV{"Latvia"}
        LY{"Libia"}
        MA{"Maroko"}
        MC{"Monako"}
        MD{"Moldova"}
        ME{"Montenegro"}
        MF{"Saint Martin"}
        MG{"Madagaskar"}
        MH{"Kepulauan Marshall"}
        MK{"Makedonia"}
        ML{"Mali"}
        MM{"Myanmar"}
        MN{"Mongolia"}
        MO{"Makau"}
        MP{"Kepulauan Mariana Utara"}
        MQ{"Martinik"}
        MR{"Mauritania"}
        MS{"Montserrat"}
        MT{"Malta"}
        MU{"Mauritius"}
        MV{"Maladewa"}
        MW{"Malawi"}
        MX{"Meksiko"}
        MY{"Malaysia"}
        MZ{"Mozambik"}
        NA{"Namibia"}
        NC{"Kaledonia Baru"}
        NE{"Niger"}
        NF{"Kepulauan Norfolk"}
        NG{"Nigeria"}
        NI{"Nikaragua"}
        NL{"Belanda"}
        NO{"Norwegia"}
        NP{"Nepal"}
        NR{"Nauru"}
        NU{"Niue"}
        NZ{"Selandia Baru"}
        OM{"Oman"}
        PA{"Panama"}
        PE{"Peru"}
        PF{"Polinesia Prancis"}
        PG{"Papua Nugini"}
        PH{"Filipina"}
        PK{"Pakistan"}
        PL{"Polandia"}
        PM{"Saint Pierre dan Miquelon"}
        PN{"Kepulauan Pitcairn"}
        PR{"Puerto Riko"}
        PS{"Palestina"}
        PT{"Portugal"}
        PW{"Palau"}
        PY{"Paraguay"}
        QA{"Qatar"}
        QO{"Oseania Luar"}
        RE{"Réunion"}
        RO{"Rumania"}
        RS{"Serbia"}
        RU{"Rusia"}
        RW{"Rwanda"}
        SA{"Arab Saudi"}
        SB{"Kepulauan Solomon"}
        SC{"Seychelles"}
        SD{"Sudan"}
        SE{"Swedia"}
        SG{"Singapura"}
        SH{"Saint Helena"}
        SI{"Slovenia"}
        SJ{"Kepulauan Svalbard dan Jan Mayen"}
        SK{"Slovakia"}
        SL{"Sierra Leone"}
        SM{"San Marino"}
        SN{"Senegal"}
        SO{"Somalia"}
        SR{"Suriname"}
        SS{"Sudan Selatan"}
        ST{"Sao Tome dan Principe"}
        SV{"El Salvador"}
        SX{"Sint Maarten"}
        SY{"Suriah"}
        SZ{"Swaziland"}
        TA{"Tristan da Cunha"}
        TC{"Kepulauan Turks dan Caicos"}
        TD{"Cad"}
        TF{"Teritori Kutub Selatan Prancis"}
        TG{"Togo"}
        TH{"Thailand"}
        TJ{"Tajikistan"}
        TK{"Tokelau"}
        TL{"Timor Leste"}
        TM{"Turkimenistan"}
        TN{"Tunisia"}
        TO{"Tonga"}
        TR{"Turki"}
        TT{"Trinidad dan Tobago"}
        TV{"Tuvalu"}
        TW{"Taiwan"}
        TZ{"Tanzania"}
        UA{"Ukraina"}
        UG{"Uganda"}
        UM{"Kepulauan Terluar A.S."}
        US{"Amerika Serikat"}
        UY{"Uruguay"}
        UZ{"Uzbekistan"}
        VA{"Vatikan"}
        VC{"Saint Vincent dan Grenadines"}
        VE{"Venezuela"}
        VG{"Kepulauan Virgin Inggris"}
        VI{"Kepulauan Virgin A.S."}
        VN{"Vietnam"}
        VU{"Vanuatu"}
        WF{"Kepulauan Wallis dan Futuna"}
        WS{"Samoa"}
        XK{"Kosovo"}
        YE{"Yaman"}
        YT{"Mayotte"}
        ZA{"Afrika Selatan"}
        ZM{"Zambia"}
        ZW{"Zimbabwe"}
        ZZ{"Wilayah Tidak Dikenal"}
    }
    Version{"2.0.82.57"}
}
