﻿// ***************************************************************************
// *
// * Copyright (C) 2012 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/nl.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/nl.xml
 */
nl{
    Countries{
        001{"Wereld"}
        002{"Afrika"}
        003{"Noord-Amerika"}
        005{"Zuid-Amerika"}
        009{"Oceanië"}
        011{"West-Afrika"}
        013{"Midden-Amerika"}
        014{"Oost-Afrika"}
        015{"Noord-Afrika"}
        017{"Centraal-Afrika"}
        018{"Zuidelijk Afrika"}
        019{"Amerika"}
        021{"Noordelijk Amerika"}
        029{"Caribisch gebied"}
        030{"Oost-Azië"}
        034{"Zuid-Azië"}
        035{"Zuidoost-Azië"}
        039{"Zuid-Europa"}
        053{"Australazië"}
        054{"Melanesië"}
        057{"Micronesische regio"}
        061{"Polynesië"}
        142{"Azië"}
        143{"Centraal-Azië"}
        145{"West-Azië"}
        150{"Europa"}
        151{"Oost-Europa"}
        154{"Noord-Europa"}
        155{"West-Europa"}
        419{"Latijns-Amerika"}
        AC{"Ascension"}
        AD{"Andorra"}
        AE{"Verenigde Arabische Emiraten"}
        AF{"Afghanistan"}
        AG{"Antigua en Barbuda"}
        AI{"Anguilla"}
        AL{"Albanië"}
        AM{"Armenië"}
        AN{"Nederlandse Antillen"}
        AO{"Angola"}
        AQ{"Antarctica"}
        AR{"Argentinië"}
        AS{"Amerikaans Samoa"}
        AT{"Oostenrijk"}
        AU{"Australië"}
        AW{"Aruba"}
        AX{"Ålandeilanden"}
        AZ{"Azerbeidzjan"}
        BA{"Bosnië en Herzegovina"}
        BB{"Barbados"}
        BD{"Bangladesh"}
        BE{"België"}
        BF{"Burkina Faso"}
        BG{"Bulgarije"}
        BH{"Bahrein"}
        BI{"Burundi"}
        BJ{"Benin"}
        BL{"Saint Barthélemy"}
        BM{"Bermuda"}
        BN{"Brunei"}
        BO{"Bolivia"}
        BQ{"Caribisch Nederland"}
        BR{"Brazilië"}
        BS{"Bahama’s"}
        BT{"Bhutan"}
        BV{"Bouveteiland"}
        BW{"Botswana"}
        BY{"Wit-Rusland"}
        BZ{"Belize"}
        CA{"Canada"}
        CC{"Cocoseilanden"}
        CD{"Congo-Kinshasa"}
        CF{"Centraal-Afrikaanse Republiek"}
        CG{"Congo-Brazzaville"}
        CH{"Zwitserland"}
        CI{"Ivoorkust"}
        CK{"Cookeilanden"}
        CL{"Chili"}
        CM{"Kameroen"}
        CN{"China"}
        CO{"Colombia"}
        CP{"Clipperton"}
        CR{"Costa Rica"}
        CU{"Cuba"}
        CV{"Kaapverdië"}
        CW{"Curaçao"}
        CX{"Christmaseiland"}
        CY{"Cyprus"}
        CZ{"Tsjechië"}
        DE{"Duitsland"}
        DG{"Diego Garcia"}
        DJ{"Djibouti"}
        DK{"Denemarken"}
        DM{"Dominica"}
        DO{"Dominicaanse Republiek"}
        DZ{"Algerije"}
        EA{"Ceuta en Melilla"}
        EC{"Ecuador"}
        EE{"Estland"}
        EG{"Egypte"}
        EH{"Westelijke Sahara"}
        ER{"Eritrea"}
        ES{"Spanje"}
        ET{"Ethiopië"}
        EU{"Europese Unie"}
        FI{"Finland"}
        FJ{"Fiji"}
        FK{"Falklandeilanden"}
        FM{"Micronesië"}
        FO{"Faeröer"}
        FR{"Frankrijk"}
        GA{"Gabon"}
        GB{"Verenigd Koninkrijk"}
        GD{"Grenada"}
        GE{"Georgië"}
        GF{"Frans-Guyana"}
        GG{"Guernsey"}
        GH{"Ghana"}
        GI{"Gibraltar"}
        GL{"Groenland"}
        GM{"Gambia"}
        GN{"Guinee"}
        GP{"Guadeloupe"}
        GQ{"Equatoriaal-Guinea"}
        GR{"Griekenland"}
        GS{"Zuid-Georgia en Zuidelijke Sandwicheilanden"}
        GT{"Guatemala"}
        GU{"Guam"}
        GW{"Guinee-Bissau"}
        GY{"Guyana"}
        HK{"Hongkong SAR van China"}
        HM{"Heard- en McDonaldeilanden"}
        HN{"Honduras"}
        HR{"Kroatië"}
        HT{"Haïti"}
        HU{"Hongarije"}
        IC{"Canarische Eilanden"}
        ID{"Indonesië"}
        IE{"Ierland"}
        IL{"Israël"}
        IM{"Isle of Man"}
        IN{"India"}
        IO{"Britse Gebieden in de Indische Oceaan"}
        IQ{"Irak"}
        IR{"Iran"}
        IS{"IJsland"}
        IT{"Italië"}
        JE{"Jersey"}
        JM{"Jamaica"}
        JO{"Jordanië"}
        JP{"Japan"}
        KE{"Kenia"}
        KG{"Kirgizië"}
        KH{"Cambodja"}
        KI{"Kiribati"}
        KM{"Comoren"}
        KN{"Saint Kitts en Nevis"}
        KP{"Noord-Korea"}
        KR{"Zuid-Korea"}
        KW{"Koeweit"}
        KY{"Caymaneilanden"}
        KZ{"Kazachstan"}
        LA{"Laos"}
        LB{"Libanon"}
        LC{"Saint Lucia"}
        LI{"Liechtenstein"}
        LK{"Sri Lanka"}
        LR{"Liberia"}
        LS{"Lesotho"}
        LT{"Litouwen"}
        LU{"Luxemburg"}
        LV{"Letland"}
        LY{"Libië"}
        MA{"Marokko"}
        MC{"Monaco"}
        MD{"Moldavië"}
        ME{"Montenegro"}
        MF{"Saint-Martin"}
        MG{"Madagaskar"}
        MH{"Marshalleilanden"}
        MK{"Macedonië"}
        ML{"Mali"}
        MM{"Myanmar"}
        MN{"Mongolië"}
        MO{"Macao SAR van China"}
        MP{"Noordelijke Marianeneilanden"}
        MQ{"Martinique"}
        MR{"Mauritanië"}
        MS{"Montserrat"}
        MT{"Malta"}
        MU{"Mauritius"}
        MV{"Maldiven"}
        MW{"Malawi"}
        MX{"Mexico"}
        MY{"Maleisië"}
        MZ{"Mozambique"}
        NA{"Namibië"}
        NC{"Nieuw-Caledonië"}
        NE{"Niger"}
        NF{"Norfolkeiland"}
        NG{"Nigeria"}
        NI{"Nicaragua"}
        NL{"Nederland"}
        NO{"Noorwegen"}
        NP{"Nepal"}
        NR{"Nauru"}
        NU{"Niue"}
        NZ{"Nieuw-Zeeland"}
        OM{"Oman"}
        PA{"Panama"}
        PE{"Peru"}
        PF{"Frans-Polynesië"}
        PG{"Papoea-Nieuw-Guinea"}
        PH{"Filipijnen"}
        PK{"Pakistan"}
        PL{"Polen"}
        PM{"Saint Pierre en Miquelon"}
        PN{"Pitcairneilanden"}
        PR{"Puerto Rico"}
        PS{"Palestijnse gebieden"}
        PT{"Portugal"}
        PW{"Palau"}
        PY{"Paraguay"}
        QA{"Qatar"}
        QO{"Overig Oceanië"}
        RE{"Réunion"}
        RO{"Roemenië"}
        RS{"Servië"}
        RU{"Rusland"}
        RW{"Rwanda"}
        SA{"Saoedi-Arabië"}
        SB{"Salomonseilanden"}
        SC{"Seychellen"}
        SD{"Soedan"}
        SE{"Zweden"}
        SG{"Singapore"}
        SH{"Sint-Helena"}
        SI{"Slovenië"}
        SJ{"Svalbard en Jan Mayen"}
        SK{"Slowakije"}
        SL{"Sierra Leone"}
        SM{"San Marino"}
        SN{"Senegal"}
        SO{"Somalië"}
        SR{"Suriname"}
        SS{"Zuid-Soedan"}
        ST{"Sao Tomé en Principe"}
        SV{"El Salvador"}
        SX{"Sint-Maarten"}
        SY{"Syrië"}
        SZ{"Swaziland"}
        TA{"Tristan da Cunha"}
        TC{"Turks- en Caicoseilanden"}
        TD{"Tsjaad"}
        TF{"Franse Gebieden in de zuidelijke Indische Oceaan"}
        TG{"Togo"}
        TH{"Thailand"}
        TJ{"Tadzjikistan"}
        TK{"Tokelau"}
        TL{"Oost-Timor"}
        TM{"Turkmenistan"}
        TN{"Tunesië"}
        TO{"Tonga"}
        TR{"Turkije"}
        TT{"Trinidad en Tobago"}
        TV{"Tuvalu"}
        TW{"Taiwan"}
        TZ{"Tanzania"}
        UA{"Oekraïne"}
        UG{"Oeganda"}
        UM{"Kleine afgelegen eilanden van de Verenigde Staten"}
        US{"Verenigde Staten"}
        UY{"Uruguay"}
        UZ{"Oezbekistan"}
        VA{"Vaticaanstad"}
        VC{"Saint Vincent en de Grenadines"}
        VE{"Venezuela"}
        VG{"Britse Maagdeneilanden"}
        VI{"Amerikaanse Maagdeneilanden"}
        VN{"Vietnam"}
        VU{"Vanuatu"}
        WF{"Wallis en Futuna"}
        WS{"Samoa"}
        YE{"Jemen"}
        YT{"Mayotte"}
        ZA{"Zuid-Afrika"}
        ZM{"Zambia"}
        ZW{"Zimbabwe"}
        ZZ{"Onbekend gebied"}
    }
    Version{"2.0.78.39"}
}
