﻿// ***************************************************************************
// *
// * Copyright (C) 2012 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 SAR China"}
        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 SAR China"}
        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{"Otoritas 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"}
        YE{"Yaman"}
        YT{"Mayotte"}
        ZA{"Afrika Selatan"}
        ZM{"Zambia"}
        ZW{"Zimbabwe"}
        ZZ{"Wilayah Tidak Dikenal"}
    }
    Version{"2.0.78.30"}
}
