﻿// © 2016 and later: Unicode, Inc. and others.
// License & terms of use: http://www.unicode.org/copyright.html
// Generated using tools/cldr/cldr-to-icu/build-icu-data.xml
fy{
    Countries{
        001{"Wrâld"}
        002{"Afrika"}
        003{"Noard-Amerika"}
        005{"Sûd-Amerika"}
        009{"Oceanië"}
        011{"West-Afrika"}
        013{"Midden-Amerika"}
        014{"East-Afrika"}
        015{"Noard-Afrika"}
        017{"Sintraal-Afrika"}
        018{"Sûdelijk Afrika"}
        019{"Amerika"}
        021{"Noardlik Amerika"}
        029{"Karibysk gebiet"}
        030{"East-Azië"}
        034{"Sûd-Azië"}
        035{"Sûdoost-Azië"}
        039{"Sûd-Europa"}
        053{"Australazië"}
        054{"Melanesië"}
        057{"Micronesyske regio"}
        061{"Polynesië"}
        142{"Azië"}
        143{"Sintraal-Azië"}
        145{"West-Azië"}
        150{"Europa"}
        151{"East-Europa"}
        154{"Noard-Europa"}
        155{"West-Europa"}
        419{"Latynsk-Amearika"}
        AC{"Ascension"}
        AD{"Andorra"}
        AE{"Verenigde Arabyske Emiraten"}
        AF{"Afghanistan"}
        AG{"Antigua en Barbuda"}
        AI{"Anguilla"}
        AL{"Albanië"}
        AM{"Armenië"}
        AO{"Angola"}
        AQ{"Antarctica"}
        AR{"Argentinië"}
        AS{"Amerikaansk Samoa"}
        AT{"Eastenryk"}
        AU{"Australië"}
        AW{"Aruba"}
        AX{"Ålân"}
        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{"Karibysk Nederlân"}
        BR{"Brazilië"}
        BS{"Bahama’s"}
        BT{"Bhutan"}
        BV{"Bouveteilân"}
        BW{"Botswana"}
        BY{"Wit-Ruslân"}
        BZ{"Belize"}
        CA{"Canada"}
        CC{"Kokosilanen"}
        CD{"Congo-Kinshasa"}
        CF{"Sintraal-Afrikaanske Republyk"}
        CG{"Congo-Brazzaville"}
        CH{"Switserlân"}
        CI{"Ivoorkust"}
        CK{"Cookeilannen"}
        CL{"Chili"}
        CM{"Kameroen"}
        CN{"Sina"}
        CO{"Kolombia"}
        CP{"Clipperton"}
        CR{"Costa Rica"}
        CU{"Kuba"}
        CV{"Kaapverdië"}
        CW{"Curaçao"}
        CX{"Krysteilan"}
        CY{"Syprus"}
        CZ{"Tsjechje"}
        DE{"Dútslân"}
        DG{"Diego Garcia"}
        DJ{"Djibouti"}
        DK{"Denemarken"}
        DM{"Dominika"}
        DO{"Dominikaanske Republyk"}
        DZ{"Algerije"}
        EA{"Ceuta en Melilla"}
        EC{"Ecuador"}
        EE{"Estlân"}
        EG{"Egypte"}
        EH{"Westelijke Sahara"}
        ER{"Eritrea"}
        ES{"Spanje"}
        ET{"Ethiopië"}
        EU{"Europeeske Unie"}
        FI{"Finlân"}
        FJ{"Fiji"}
        FK{"Falklâneilannen (Islas Malvinas)"}
        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{"Grienlân"}
        GM{"Gambia"}
        GN{"Guinee"}
        GP{"Guadeloupe"}
        GQ{"Equatoriaal-Guinea"}
        GR{"Grikelân"}
        GS{"Sûd-Georgia en Sûdlike Sandwicheilannen"}
        GT{"Guatemala"}
        GU{"Guam"}
        GW{"Guinee-Bissau"}
        GY{"Guyana"}
        HK{"Hongkong"}
        HM{"Heard- en McDonaldeilannen"}
        HN{"Honduras"}
        HR{"Kroatië"}
        HT{"Haïti"}
        HU{"Hongarije"}
        IC{"Kanaryske Eilânnen"}
        ID{"Yndonesië"}
        IE{"Ierlân"}
        IL{"Israël"}
        IM{"Isle of Man"}
        IN{"India"}
        IO{"Britse Gebieden yn de Indyske Oseaan"}
        IQ{"Irak"}
        IR{"Iran"}
        IS{"Yslân"}
        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{"Noard-Korea"}
        KR{"Sûd-Korea"}
        KW{"Koeweit"}
        KY{"Caymaneilannen"}
        KZ{"Kazachstan"}
        LA{"Laos"}
        LB{"Libanon"}
        LC{"Saint Lucia"}
        LI{"Liechtenstein"}
        LK{"Sri Lanka"}
        LR{"Liberia"}
        LS{"Lesotho"}
        LT{"Litouwen"}
        LU{"Luxemburg"}
        LV{"Letlân"}
        LY{"Libië"}
        MA{"Marokko"}
        MC{"Monaco"}
        MD{"Moldavië"}
        ME{"Montenegro"}
        MF{"Saint-Martin"}
        MG{"Madeiaskar"}
        MH{"Marshalleilannen"}
        ML{"Mali"}
        MM{"Myanmar (Birma)"}
        MN{"Mongolië"}
        MO{"Macao"}
        MP{"Noardlike Marianeneilannen"}
        MQ{"Martinique"}
        MR{"Mauritanië"}
        MS{"Montserrat"}
        MT{"Malta"}
        MU{"Mauritius"}
        MV{"Maldiven"}
        MW{"Malawi"}
        MX{"Mexico"}
        MY{"Maleisië"}
        MZ{"Mozambique"}
        NA{"Namibië"}
        NC{"Nij-Caledonië"}
        NE{"Niger"}
        NF{"Norfolkeilân"}
        NG{"Nigeria"}
        NI{"Nicaragua"}
        NL{"Nederlân"}
        NO{"Noarwegen"}
        NP{"Nepal"}
        NR{"Nauru"}
        NU{"Niue"}
        NZ{"Nij-Seelân"}
        OM{"Oman"}
        PA{"Panama"}
        PE{"Peru"}
        PF{"Frans-Polynesië"}
        PG{"Papoea-Nij-Guinea"}
        PH{"Filipijnen"}
        PK{"Pakistan"}
        PL{"Polen"}
        PM{"Saint-Pierre en Miquelon"}
        PN{"Pitcairneilannen"}
        PR{"Puerto Rico"}
        PS{"Palestina"}
        PT{"Portugal"}
        PW{"Palau"}
        PY{"Paraguay"}
        QA{"Qatar"}
        QO{"Oerig Oceanië"}
        RE{"Réunion"}
        RO{"Roemenië"}
        RS{"Servië"}
        RU{"Ruslân"}
        RW{"Rwanda"}
        SA{"Saoedi-Arabië"}
        SB{"Salomonseilannen"}
        SC{"Seychellen"}
        SD{"Soedan"}
        SE{"Zweden"}
        SG{"Singapore"}
        SH{"Sint-Helena"}
        SI{"Slovenië"}
        SJ{"Spitsbergen en Jan Mayen"}
        SK{"Slowakije"}
        SL{"Sierra Leone"}
        SM{"San Marino"}
        SN{"Senegal"}
        SO{"Somalië"}
        SR{"Suriname"}
        SS{"Sûd-Soedan"}
        ST{"Sao Tomé en Principe"}
        SV{"El Salvador"}
        SX{"Sint-Maarten"}
        SY{"Syrië"}
        SZ{"Swazilân"}
        TA{"Tristan da Cunha"}
        TC{"Turks- en Caicoseilannen"}
        TD{"Tsjaad"}
        TF{"Franse Gebieden in de zuidelijke Indyske Oseaan"}
        TG{"Togo"}
        TH{"Thailân"}
        TJ{"Tadzjikistan"}
        TK{"Tokelau"}
        TL{"East-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{"Lyts ôflizzen eilannen fan de Ferienigde Staten"}
        US{"Ferienigde Staten"}
        UY{"Uruguay"}
        UZ{"Oezbekistan"}
        VA{"Vaticaanstêd"}
        VC{"Saint Vincent en de Grenadines"}
        VE{"Venezuela"}
        VG{"Britse Maagdeneilannen"}
        VI{"Amerikaanske Maagdeneilannen"}
        VN{"Vietnam"}
        VU{"Vanuatu"}
        WF{"Wallis en Futuna"}
        WS{"Samoa"}
        XK{"Kosovo"}
        YE{"Jemen"}
        YT{"Mayotte"}
        ZA{"Sûd-Afrika"}
        ZM{"Zambia"}
        ZW{"Zimbabwe"}
        ZZ{"Unbekend gebiet"}
    }
    Countries%short{
        GB{"VK"}
        US{"VS"}
    }
    Countries%variant{
        CD{"Congo (DRC)"}
        CG{"Congo (Republyk)"}
    }
}
