﻿// ***************************************************************************
// *
// * Copyright (C) 2010 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/main/ms.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/ms.xml
 */
ms{
    Countries{
        AD{"Andorra"}
        AE{"Emiriah Arab Bersatu"}
        AF{"Afghanistan"}
        AG{"Antigua dan Barbuda"}
        AI{"Anguilla"}
        AL{"Albania"}
        AM{"Armenia"}
        AN{"Netherlands Antilles"}
        AO{"Angola"}
        AQ{"Antarctica"}
        AR{"Argentina"}
        AS{"American Samoa"}
        AT{"Austria"}
        AU{"Australia"}
        AW{"Aruba"}
        AZ{"Azerbaijan"}
        BA{"Bosnia dan Herzegovina"}
        BB{"Barbados"}
        BD{"Bangladesh"}
        BE{"Belgium"}
        BF{"Burkina Faso"}
        BG{"Bulgaria"}
        BH{"Bahrain"}
        BI{"Burundi"}
        BJ{"Benin"}
        BM{"Bermuda"}
        BN{"Brunei"}
        BO{"Bolivia"}
        BR{"Brazil"}
        BS{"Bahamas"}
        BT{"Bhutan"}
        BV{"Bouvet Island"}
        BW{"Botswana"}
        BY{"Belarus"}
        BZ{"Belize"}
        CA{"Kanada"}
        CC{"Cocos (Keeling) Islands"}
        CD{"Democratic Republic of the Congo"}
        CF{"Republik Afrika Tengah"}
        CG{"Congo"}
        CH{"Switzerland"}
        CI{"Pantai Gading"}
        CK{"Cook Islands"}
        CL{"Cile"}
        CM{"Kamerun"}
        CN{"Cina"}
        CO{"Colombia"}
        CR{"Kosta Rika"}
        CS{"Serbia dan Montenegro"}
        CU{"Cuba"}
        CV{"Cape Verde"}
        CX{"Christmas Island"}
        CY{"Kibris"}
        CZ{"Republik Czech"}
        DE{"Jerman"}
        DJ{"Jibouti"}
        DK{"Denmark"}
        DM{"Dominica"}
        DO{"Republik Dominican"}
        DZ{"Aljazair"}
        EC{"Ecuador"}
        EE{"Estonia"}
        EG{"Mesir"}
        EH{"Sahara Barat"}
        ER{"Eritrea"}
        ES{"Sepanyol"}
        ET{"Ethiopia"}
        FI{"Finland"}
        FJ{"Fiji"}
        FK{"Falkland Islands"}
        FM{"Micronesia"}
        FO{"Faroe Islands"}
        FR{"Perancis"}
        GA{"Gabon"}
        GB{"United Kingdom"}
        GD{"Grenada"}
        GE{"Georgia"}
        GF{"French Guiana"}
        GH{"Ghana"}
        GI{"Gibraltar"}
        GL{"Greenland"}
        GM{"Gambia"}
        GN{"Guinea"}
        GP{"Guadeloupe"}
        GQ{"Equatorial Guinea"}
        GR{"Yunani"}
        GS{"South Georgia and the South Sandwich Islands"}
        GT{"Guatemala"}
        GU{"Guam"}
        GW{"Guinea Bissau"}
        GY{"Guyana"}
        HK{"Hong Kong S.A.R., China"}
        HM{"Heard Island and McDonald Islands"}
        HN{"Honduras"}
        HR{"Croatia"}
        HT{"Haiti"}
        HU{"Hungari"}
        ID{"Indonesia"}
        IE{"Ireland"}
        IL{"Israel"}
        IN{"Hindia"}
        IO{"British Indian Ocean Territory"}
        IQ{"Iraq"}
        IR{"Iran"}
        IS{"Iceland"}
        IT{"Itali"}
        JM{"Jamaika"}
        JO{"Jordan"}
        JP{"Jepun"}
        KE{"Kenya"}
        KG{"Kyrgyzstan"}
        KH{"Kemboja"}
        KI{"Kiribati"}
        KM{"Comoros"}
        KN{"Saint Kitts dan Nevis"}
        KP{"Utara Korea"}
        KR{"Selatan Korea"}
        KW{"Kuwait"}
        KY{"Cayman Islands"}
        KZ{"Kazakhstan"}
        LA{"Laos"}
        LB{"Lubnan"}
        LC{"Saint Lucia"}
        LI{"Liechtenstein"}
        LK{"Sri Lanka"}
        LR{"Liberia"}
        LS{"Lesotho"}
        LT{"Lithuania"}
        LU{"Luksembourg"}
        LV{"Latvia"}
        LY{"Libya"}
        MA{"Maghribi"}
        MC{"Monaco"}
        MD{"Moldova"}
        MG{"Madagaskar"}
        MH{"Kepulauan Marshall"}
        MK{"Macedonia"}
        ML{"Mali"}
        MM{"Myanmar"}
        MN{"Mongolia"}
        MO{"Macao S.A.R., China"}
        MP{"Northern Mariana Islands"}
        MQ{"Martinique"}
        MR{"Mauritania"}
        MS{"Montserrat"}
        MT{"Malta"}
        MU{"Mauritius"}
        MV{"Maldiv"}
        MW{"Malawi"}
        MX{"Meksiko"}
        MY{"Malaysia"}
        MZ{"Mozambik"}
        NA{"Namibia"}
        NC{"New Caledonia"}
        NE{"Niger"}
        NF{"Norfolk Island"}
        NG{"Nigeria"}
        NI{"Nicaragua"}
        NL{"Belanda"}
        NO{"Norway"}
        NP{"Nepal"}
        NR{"Nauru"}
        NU{"Niue"}
        NZ{"New Zealand"}
        OM{"Oman"}
        PA{"Panama"}
        PE{"Peru"}
        PF{"French Polynesia"}
        PG{"Papua New Guinea"}
        PH{"Filipina"}
        PK{"Pakistan"}
        PL{"Poland"}
        PM{"Saint Pierre and Miquelon"}
        PN{"Pitcairn"}
        PR{"Puerto Rico"}
        PS{"Palestinian Territory"}
        PT{"Feringgi"}
        PW{"Palau"}
        PY{"Paraguay"}
        QA{"Qatar"}
        RE{"Réunion"}
        RO{"Romania"}
        RU{"Russia"}
        RW{"Rwanda"}
        SA{"Arab Saudi"}
        SB{"Kepulauan Solomon"}
        SC{"Seychelles"}
        SD{"Sudan"}
        SE{"Sweden"}
        SG{"Singapura"}
        SH{"Saint Helena"}
        SI{"Slovenia"}
        SJ{"Svalbard and Jan Mayen"}
        SK{"Slovakia"}
        SL{"Siera Leon"}
        SM{"San Marino"}
        SN{"Senegal"}
        SO{"Somalia"}
        SR{"Surinam"}
        ST{"Sao Tome dan Principe"}
        SV{"El Salvador"}
        SY{"Syria"}
        SZ{"Swaziland"}
        TC{"Turks and Caicos Islands"}
        TD{"Cad"}
        TF{"French Southern Territories"}
        TG{"Togo"}
        TH{"Thailand"}
        TJ{"Tadjikistan"}
        TK{"Tokelau"}
        TL{"Timor-Leste"}
        TM{"Turkmenistan"}
        TN{"Tunisia"}
        TO{"Tonga"}
        TR{"Turki"}
        TT{"Trinidad dan Tobago"}
        TV{"Tuvalu"}
        TW{"Taiwan"}
        TZ{"Tanzania"}
        UA{"Ukraine"}
        UG{"Uganda"}
        UM{"United States Minor Outlying Islands"}
        US{"Amerika Syarikat"}
        UY{"Uruguay"}
        UZ{"Uzbekistan"}
        VA{"Vatican"}
        VC{"Saint Vincent dan Grenadines"}
        VE{"Venezuela"}
        VG{"British Virgin Islands"}
        VI{"U.S. Virgin Islands"}
        VN{"Vietnam"}
        VU{"Vanuatu"}
        WF{"Wallis and Futuna"}
        WS{"Samoa"}
        YE{"Yaman"}
        YT{"Mayotte"}
        ZA{"Afrika Selatan"}
        ZM{"Zambia"}
        ZW{"Zimbabwe"}
    }
    Version{"2.0.50.96"}
}
