﻿// ***************************************************************************
// *
// * Copyright (C) 2015 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/af.xml
// *
// ***************************************************************************
af{
    Countries{
        001{"Wêreld"}
        002{"Afrika"}
        003{"Noord-Amerika"}
        005{"Suid-Amerika"}
        009{"Oseanië"}
        011{"Wes-Afrika"}
        013{"Sentraal-Amerika"}
        014{"Oos-Afrika"}
        015{"Noord-Afrika"}
        017{"Midde-Afrika"}
        018{"Suider-Afrika"}
        019{"Amerikas"}
        021{"Noordelike Amerika"}
        029{"Karibies"}
        030{"Oos-Asië"}
        034{"Suid-Asië"}
        035{"Suidoos-Asië"}
        039{"Suid-Europa"}
        053{"Australasië"}
        054{"Melanesië"}
        057{"Mikronesiese streek"}
        061{"Polinesië"}
        142{"Asië"}
        143{"Sentraal-Asië"}
        145{"Wes-Asië"}
        150{"Europa"}
        151{"Oos-Europa"}
        154{"Noord-Europa"}
        155{"Wes-Europa"}
        419{"Latyns-Amerika"}
        AC{"Ascensioneiland"}
        AD{"Andorra"}
        AE{"Verenigde Arabiese Emirate"}
        AF{"Afganistan"}
        AG{"Antigua en Barbuda"}
        AI{"Anguilla"}
        AL{"Albanië"}
        AM{"Armenië"}
        AN{"Nederlands-Antille"}
        AO{"Angola"}
        AQ{"Antarktika"}
        AR{"Argentinië"}
        AS{"Amerikaans-Samoa"}
        AT{"Oostenryk"}
        AU{"Australië"}
        AW{"Aruba"}
        AX{"Ålandeilande"}
        AZ{"Azerbeidjan"}
        BA{"Bosnië en Herzegowina"}
        BB{"Barbados"}
        BD{"Bangladesj"}
        BE{"België"}
        BF{"Burkina Faso"}
        BG{"Bulgarye"}
        BH{"Bahrein"}
        BI{"Burundi"}
        BJ{"Benin"}
        BL{"Sint Barthélemy"}
        BM{"Bermuda"}
        BN{"Broenei"}
        BO{"Bolivië"}
        BQ{"Karibiese Nederland"}
        BR{"Brasilië"}
        BS{"Bahamas"}
        BT{"Bhoetan"}
        BV{"Bouvet-eiland"}
        BW{"Botswana"}
        BY{"Belarus"}
        BZ{"Belize"}
        CA{"Kanada"}
        CC{"Kokos-eilande"}
        CD{"Demokratiese Republiek van die Kongo"}
        CF{"Sentraal-Afrikaanse Republiek"}
        CG{"Kongo - Brazzaville"}
        CH{"Switserland"}
        CI{"Ivoorkus"}
        CK{"Cookeilande"}
        CL{"Chili"}
        CM{"Kameroen"}
        CN{"Sjina"}
        CO{"Colombië"}
        CP{"Clippertoneiland"}
        CR{"Costa Rica"}
        CU{"Kuba"}
        CV{"Kaap Verde"}
        CW{"Curaçao"}
        CX{"Kerseiland"}
        CY{"Siprus"}
        CZ{"Tjeggiese Republiek"}
        DE{"Duitsland"}
        DG{"Diego Garcia"}
        DJ{"Djiboeti"}
        DK{"Denemarke"}
        DM{"Dominica"}
        DO{"Dominikaanse Republiek"}
        DZ{"Algerië"}
        EA{"Ceuta en Melilla"}
        EC{"Ecuador"}
        EE{"Estland"}
        EG{"Egipte"}
        EH{"Wes-Sahara"}
        ER{"Eritrea"}
        ES{"Spanje"}
        ET{"Ethiopië"}
        EU{"Europese Unie"}
        FI{"Finland"}
        FJ{"Fidji"}
        FK{"Falklandeilande"}
        FM{"Mikronesië"}
        FO{"Faroëreilande"}
        FR{"Frankryk"}
        GA{"Gaboen"}
        GB{"Verenigde Koninkryk"}
        GD{"Grenada"}
        GE{"Georgië"}
        GF{"Frans-Guyana"}
        GG{"Guernsey"}
        GH{"Ghana"}
        GI{"Gibraltar"}
        GL{"Groenland"}
        GM{"Gambië"}
        GN{"Guinee"}
        GP{"Guadeloupe"}
        GQ{"Ekwatoriaal-Guinee"}
        GR{"Griekeland"}
        GS{"Suid-Georgië en die Suidelike Sandwicheilande"}
        GT{"Guatemala"}
        GU{"Guam"}
        GW{"Guinee-Bissau"}
        GY{"Guyana"}
        HK{"Hongkong"}
        HM{"Heard- en McDonaldeilande"}
        HN{"Honduras"}
        HR{"Kroasië"}
        HT{"Haïti"}
        HU{"Hongarye"}
        IC{"Kanariese Eilande"}
        ID{"Indonesië"}
        IE{"Ierland"}
        IL{"Israel"}
        IM{"Eiland Man"}
        IN{"Indië"}
        IO{"Brits-Indiese Oseaangebied"}
        IQ{"Irak"}
        IR{"Iran"}
        IS{"Ysland"}
        IT{"Italië"}
        JE{"Jersey"}
        JM{"Jamaika"}
        JO{"Jordanië"}
        JP{"Japan"}
        KE{"Kenia"}
        KG{"Kirgisië"}
        KH{"Kambodja"}
        KI{"Kiribati"}
        KM{"Comore"}
        KN{"St. Kitts en Nevis"}
        KP{"Noord-Korea"}
        KR{"Suid-Korea"}
        KW{"Koeweit"}
        KY{"Kaaimanseilande"}
        KZ{"Kazakstan"}
        LA{"Laos"}
        LB{"Libanon"}
        LC{"St. Lucia"}
        LI{"Liechtenstein"}
        LK{"Sri Lanka"}
        LR{"Liberië"}
        LS{"Lesotho"}
        LT{"Litaue"}
        LU{"Luxemburg"}
        LV{"Letland"}
        LY{"Libië"}
        MA{"Marokko"}
        MC{"Monaco"}
        MD{"Moldowa"}
        ME{"Montenegro"}
        MF{"St. Martin"}
        MG{"Madagaskar"}
        MH{"Marshalleilande"}
        MK{"Macedonië"}
        ML{"Mali"}
        MM{"Mianmar (Birma)"}
        MN{"Mongolië"}
        MO{"Macau"}
        MP{"Noord-Mariane-eilande"}
        MQ{"Martinique"}
        MR{"Mauritanië"}
        MS{"Montserrat"}
        MT{"Malta"}
        MU{"Mauritius"}
        MV{"Maledive"}
        MW{"Malawi"}
        MX{"Meksiko"}
        MY{"Maleisië"}
        MZ{"Mosambiek"}
        NA{"Namibië"}
        NC{"Nieu-Kaledonië"}
        NE{"Niger"}
        NF{"Norfolkeiland"}
        NG{"Nigerië"}
        NI{"Nicaragua"}
        NL{"Nederland"}
        NO{"Noorweë"}
        NP{"Nepal"}
        NR{"Nauru"}
        NU{"Niue"}
        NZ{"Nieu-Seeland"}
        OM{"Oman"}
        PA{"Panama"}
        PE{"Peru"}
        PF{"Frans-Polinesië"}
        PG{"Papoea-Nieu-Guinee"}
        PH{"Filippyne"}
        PK{"Pakistan"}
        PL{"Pole"}
        PM{"St. Pierre en Miquelon"}
        PN{"Pitcairneilande"}
        PR{"Puerto Rico"}
        PS{"Palestina"}
        PT{"Portugal"}
        PW{"Palau"}
        PY{"Paraguay"}
        QA{"Katar"}
        QO{"Omliggende Oseanië"}
        RE{"Réunion"}
        RO{"Roemenië"}
        RS{"Serwië"}
        RU{"Rusland"}
        RW{"Rwanda"}
        SA{"Saoedi-Arabië"}
        SB{"Salomonseilande"}
        SC{"Seychelle"}
        SD{"Soedan"}
        SE{"Swede"}
        SG{"Singapoer"}
        SH{"Sint Helena"}
        SI{"Slowenië"}
        SJ{"Svalbard en Jan Mayen"}
        SK{"Slowakye"}
        SL{"Sierra Leone"}
        SM{"San Marino"}
        SN{"Senegal"}
        SO{"Somalië"}
        SR{"Suriname"}
        SS{"Suid-Soedan"}
        ST{"São Tomé en Príncipe"}
        SV{"El Salvador"}
        SX{"Sint Maarten"}
        SY{"Sirië"}
        SZ{"Swaziland"}
        TA{"Tristan da Cunha"}
        TC{"Turks- en Caicoseilande"}
        TD{"Tsjad"}
        TF{"Franse Suidelike Gebiede"}
        TG{"Togo"}
        TH{"Thailand"}
        TJ{"Tadjikistan"}
        TK{"Tokelau"}
        TL{"Oos-Timor"}
        TM{"Turkmenië"}
        TN{"Tunisië"}
        TO{"Tonga"}
        TR{"Turkye"}
        TT{"Trinidad en Tobago"}
        TV{"Tuvalu"}
        TW{"Taiwan"}
        TZ{"Tanzanië"}
        UA{"Oekraïne"}
        UG{"Uganda"}
        UM{"VS klein omliggende eilande"}
        US{"Verenigde State van Amerika"}
        UY{"Uruguay"}
        UZ{"Oesbekistan"}
        VA{"Vatikaanstad"}
        VC{"St. Vincent en die Grenadine"}
        VE{"Venezuela"}
        VG{"Britse Maagde-eilande"}
        VI{"Amerikaanse Maagde-eilande"}
        VN{"Viëtnam"}
        VU{"Vanuatu"}
        WF{"Wallis en Futuna"}
        WS{"Samoa"}
        XK{"Kosovo"}
        YE{"Jemen"}
        YT{"Mayotte"}
        ZA{"Suid-Afrika"}
        ZM{"Zambië"}
        ZW{"Zimbabwe"}
        ZZ{"Onbekende gebied"}
    }
    Countries%short{
        GB{"VK"}
        US{"VSA"}
    }
    Countries%variant{
        CD{"Kongo (DRK)"}
        CG{"Kongo (Republiek die)"}
        FK{"Falklandeilande (Malvinas)"}
        MK{"Macedonië (VJRM)"}
    }
    Version{"2.1.19.94"}
}
