﻿// ***************************************************************************
// *
// * 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{"Republiek van die Kongo"}
        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 SAS Sjina"}
        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{"Sint Martin"}
        MG{"Madagaskar"}
        MH{"Marshalleilande"}
        MK{"Macedonië"}
        ML{"Mali"}
        MM{"Mianmar (Birma)"}
        MN{"Mongolië"}
        MO{"Macau SAS Sjina"}
        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{"Palestynse gebiede"}
        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"}
        HK{"Hongkong"}
        MO{"Macau"}
        PS{"Palestina"}
        US{"VSA"}
    }
    Countries%variant{
        CD{"Kongo (DRK)"}
        CG{"Kongo (Republiek)"}
        FK{"Falklandeilande (Malvinas)"}
        MK{"Macedonië (VJRM)"}
    }
    Version{"2.1.12.94"}
}
