﻿// ***************************************************************************
// *
// * Copyright (C) 2011 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 – Brazzaville"}
        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{"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 område"}
    }
    Version{"2.0.58.79"}
}
