﻿// ***************************************************************************
// *
// * Copyright (C) 2014 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/af.xml
// *
// ***************************************************************************
/**
 * ICU <specials> source: <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{"Bouveteiland"}
        BW{"Botswana"}
        BY{"Belarus"}
        BZ{"Belize"}
        CA{"Kanada"}
        CC{"Cocos- (Keeling) 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{"Britse 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{"Sint Kitts en Nevis"}
        KP{"Noord-Korea"}
        KR{"Suid-Korea"}
        KW{"Koeweit"}
        KY{"Kaaimanseilande"}
        KZ{"Kazakstan"}
        LA{"Laos"}
        LB{"Libanon"}
        LC{"Sint 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{"Noordelike Mariana-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{"Sint 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{"Solomoneilande"}
        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{"Sao Tome en Principe"}
        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{"Sint 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%variant{
        CD{"Kongo (DRK)"}
        CG{"Kongo (Republiek)"}
        FK{"Falklandeilande (Malvinas)"}
        MK{"Macedonië (VJRM)"}
    }
    CountriesShort{
        GB{"VK"}
        HK{"Hongkong"}
        MO{"Macau"}
        PS{"Palestina"}
        US{"VSA"}
    }
    Version{"2.1.8.9"}
}
