﻿// ***************************************************************************
// *
// * Copyright (C) 2010 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/main/da.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/da.xml
 */
da{
    Countries{
        001{"Verden"}
        002{"Afrika"}
        003{"Nordamerika"}
        005{"Sydamerika"}
        009{"Oceanien"}
        011{"Vestafrika"}
        013{"Mellemamerika"}
        014{"Østafrika"}
        015{"Nordafrika"}
        017{"Centralafrika"}
        018{"Det sydlige Afrika"}
        019{"Amerika"}
        021{"Det nordlige Amerika"}
        029{"Caribien"}
        030{"Østasien"}
        034{"Sydasien"}
        035{"Sydøstasien"}
        039{"Sydeuropa"}
        053{"Australien og New Zealand"}
        054{"Melanesien"}
        057{"Mikronesien"}
        061{"Polynesien"}
        062{"Sydcentralasien"}
        142{"Asien"}
        143{"Centralasien"}
        145{"Vestasien"}
        150{"Europa"}
        151{"Østeuropa"}
        154{"Nordeuropa"}
        155{"Vesteuropa"}
        172{"Sammenslutningen af uafhængige stater"}
        419{"Latinamerika og Caribien"}
        AC{"Ascensionøen"}
        AD{"Andorra"}
        AE{"Forenede Arabiske Emirater"}
        AF{"Afghanistan"}
        AG{"Antigua og Barbuda"}
        AI{"Anguilla"}
        AL{"Albanien"}
        AM{"Armenien"}
        AN{"Hollandske Antiller"}
        AO{"Angola"}
        AQ{"Antarktis"}
        AR{"Argentina"}
        AS{"Amerikansk Samoa"}
        AT{"Østrig"}
        AU{"Australien"}
        AW{"Aruba"}
        AX{"Åland"}
        AZ{"Aserbajdsjan"}
        BA{"Bosnien-Hercegovina"}
        BB{"Barbados"}
        BD{"Bangladesh"}
        BE{"Belgien"}
        BF{"Burkina Faso"}
        BG{"Bulgarien"}
        BH{"Bahrain"}
        BI{"Burundi"}
        BJ{"Benin"}
        BL{"Saint Barthélemy"}
        BM{"Bermuda"}
        BN{"Brunei Darussalam"}
        BO{"Bolivia"}
        BR{"Brasilien"}
        BS{"Bahamas"}
        BT{"Bhutan"}
        BV{"Bouvetø"}
        BW{"Botswana"}
        BY{"Hviderusland"}
        BZ{"Belize"}
        CA{"Canada"}
        CC{"Cocosøerne"}
        CD{"Congo-Kinshasa"}
        CF{"Centralafrikanske Republik"}
        CG{"Congo"}
        CH{"Schweiz"}
        CI{"Elfenbenskysten"}
        CK{"Cook-øerne"}
        CL{"Chile"}
        CM{"Cameroun"}
        CN{"Kina"}
        CO{"Colombia"}
        CP{"Clippertonøen"}
        CR{"Costa Rica"}
        CS{"Serbien og Montenegro"}
        CU{"Cuba"}
        CV{"Kap Verde"}
        CX{"Juleøen"}
        CY{"Cypern"}
        CZ{"Tjekkiet"}
        DE{"Tyskland"}
        DG{"Diego Garcia"}
        DJ{"Djibouti"}
        DK{"Danmark"}
        DM{"Dominica"}
        DO{"Den Dominikanske Republik"}
        DZ{"Algeriet"}
        EA{"Ceuta og Melilla"}
        EC{"Ecuador"}
        EE{"Estland"}
        EG{"Egypten"}
        EH{"Vestsahara"}
        ER{"Eritrea"}
        ES{"Spanien"}
        ET{"Etiopien"}
        EU{"EU"}
        FI{"Finland"}
        FJ{"Fiji-øerne"}
        FK{"Falklandsøerne"}
        FM{"Mikronesiens Forenede Stater"}
        FO{"Færøerne"}
        FR{"Frankrig"}
        GA{"Gabon"}
        GB{"Storbritannien"}
        GD{"Grenada"}
        GE{"Georgien"}
        GF{"Fransk Guyana"}
        GG{"Guernsey"}
        GH{"Ghana"}
        GI{"Gibraltar"}
        GL{"Grønland"}
        GM{"Gambia"}
        GN{"Guinea"}
        GP{"Guadeloupe"}
        GQ{"Ækvatorialguinea"}
        GR{"Grækenland"}
        GS{"South Georgia og De Sydlige Sandwichøer"}
        GT{"Guatemala"}
        GU{"Guam"}
        GW{"Guinea-Bissau"}
        GY{"Guyana"}
        HK{"SAR Hongkong"}
        HM{"Heard- og McDonald-øerne"}
        HN{"Honduras"}
        HR{"Kroatien"}
        HT{"Haiti"}
        HU{"Ungarn"}
        IC{"Kanariske øer"}
        ID{"Indonesien"}
        IE{"Irland"}
        IL{"Israel"}
        IM{"Isle of Man"}
        IN{"Indien"}
        IO{"Det Britiske Territorium i Det Indiske Ocean"}
        IQ{"Irak"}
        IR{"Iran"}
        IS{"Island"}
        IT{"Italien"}
        JE{"Jersey"}
        JM{"Jamaica"}
        JO{"Jordan"}
        JP{"Japan"}
        KE{"Kenya"}
        KG{"Kirgisistan"}
        KH{"Cambodja"}
        KI{"Kiribati"}
        KM{"Comorerne"}
        KN{"Saint Kitts og Nevis"}
        KP{"Nordkorea"}
        KR{"Sydkorea"}
        KW{"Kuwait"}
        KY{"Caymanøerne"}
        KZ{"Kasakhstan"}
        LA{"Laos"}
        LB{"Libanon"}
        LC{"Saint Lucia"}
        LI{"Liechtenstein"}
        LK{"Sri Lanka"}
        LR{"Liberia"}
        LS{"Lesotho"}
        LT{"Litauen"}
        LU{"Luxembourg"}
        LV{"Letland"}
        LY{"Libyen"}
        MA{"Marokko"}
        MC{"Monaco"}
        MD{"Republikken Moldova"}
        ME{"Montenegro"}
        MF{"Saint Martin"}
        MG{"Madagaskar"}
        MH{"Marshalløerne"}
        MK{"Makedonien"}
        ML{"Mali"}
        MM{"Myanmar"}
        MN{"Mongoliet"}
        MO{"SAR Macao"}
        MP{"Nordmarianerne"}
        MQ{"Martinique"}
        MR{"Mauretanien"}
        MS{"Montserrat"}
        MT{"Malta"}
        MU{"Mauritius"}
        MV{"Maldiverne"}
        MW{"Malawi"}
        MX{"Mexico"}
        MY{"Malaysia"}
        MZ{"Mozambique"}
        NA{"Namibia"}
        NC{"Ny Caledonien"}
        NE{"Niger"}
        NF{"Norfolk Island"}
        NG{"Nigeria"}
        NI{"Nicaragua"}
        NL{"Holland"}
        NO{"Norge"}
        NP{"Nepal"}
        NR{"Nauru"}
        NU{"Niue"}
        NZ{"New Zealand"}
        OM{"Oman"}
        PA{"Panama"}
        PE{"Peru"}
        PF{"Fransk Polynesien"}
        PG{"Papua Ny Guinea"}
        PH{"Filippinerne"}
        PK{"Pakistan"}
        PL{"Polen"}
        PM{"Saint Pierre og Miquelon"}
        PN{"Pitcairn"}
        PR{"Puerto Rico"}
        PS{"De palæstinensiske områder"}
        PT{"Portugal"}
        PW{"Palau"}
        PY{"Paraguay"}
        QA{"Qatar"}
        QO{"Ydre Oceanien"}
        RE{"Reunion"}
        RO{"Rumænien"}
        RS{"Serbien"}
        RU{"Rusland"}
        RW{"Rwanda"}
        SA{"Saudi-Arabien"}
        SB{"Salomonøerne"}
        SC{"Seychellerne"}
        SD{"Sudan"}
        SE{"Sverige"}
        SG{"Singapore"}
        SH{"St. Helena"}
        SI{"Slovenien"}
        SJ{"Svalbard og Jan Mayen"}
        SK{"Slovakiet"}
        SL{"Sierra Leone"}
        SM{"San Marino"}
        SN{"Senegal"}
        SO{"Somalia"}
        SR{"Surinam"}
        ST{"Sao Tome og Principe"}
        SV{"El Salvador"}
        SY{"Syrien"}
        SZ{"Swaziland"}
        TA{"Tristan da Cunha"}
        TC{"Turks- og Caicosøerne"}
        TD{"Tchad"}
        TF{"Franske Besiddelser i Det Sydlige Indiske Ocean"}
        TG{"Togo"}
        TH{"Thailand"}
        TJ{"Tadsjikistan"}
        TK{"Tokelau"}
        TL{"Timor-Leste"}
        TM{"Turkmenistan"}
        TN{"Tunesien"}
        TO{"Tonga"}
        TR{"Tyrkiet"}
        TT{"Trinidad og Tobago"}
        TV{"Tuvalu"}
        TW{"Taiwan"}
        TZ{"Tanzania"}
        UA{"Ukraine"}
        UG{"Uganda"}
        UM{"De Mindre Amerikanske Oversøiske Øer"}
        US{"USA"}
        UY{"Uruguay"}
        UZ{"Usbekistan"}
        VA{"Vatikanstaten"}
        VC{"St. Vincent og Grenadinerne"}
        VE{"Venezuela"}
        VG{"De britiske jomfruøer"}
        VI{"De amerikanske jomfruøer"}
        VN{"Vietnam"}
        VU{"Vanuatu"}
        WF{"Wallis og Futunaøerne"}
        WS{"Samoa"}
        YE{"Yemen"}
        YT{"Mayotte"}
        ZA{"Sydafrika"}
        ZM{"Zambia"}
        ZW{"Zimbabwe"}
        ZZ{"Ukendt eller ugyldigt område"}
    }
    Version{"2.0.50.96"}
}
