﻿// ***************************************************************************
// *
// * Copyright (C) 2014 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/main/da.xml
// *
// ***************************************************************************
/**
 * ICU <specials> source: <path>/common/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{"Australasien"}
        054{"Melanesien"}
        057{"Mikronesien"}
        061{"Polynesien"}
        142{"Asien"}
        143{"Centralasien"}
        145{"Vestasien"}
        150{"Europa"}
        151{"Østeuropa"}
        154{"Nordeuropa"}
        155{"Vesteuropa"}
        419{"Latinamerika"}
        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{"Ålandsøerne"}
        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"}
        BO{"Bolivia"}
        BQ{"Nederlandske antiller"}
        BR{"Brasilien"}
        BS{"Bahamas"}
        BT{"Bhutan"}
        BV{"Bouvetøen"}
        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"}
        CU{"Cuba"}
        CV{"Kap Verde"}
        CW{"Curaçao"}
        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{"Den Europæiske Union"}
        FI{"Finland"}
        FJ{"Fiji"}
        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 South Sandwich Islands"}
        GT{"Guatemala"}
        GU{"Guam"}
        GW{"Guinea-Bissau"}
        GY{"Guyana"}
        HK{"Hongkong SAR"}
        HM{"Heard Island og McDonald Islands"}
        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{"Moldova"}
        ME{"Montenegro"}
        MF{"Saint Martin"}
        MG{"Madagaskar"}
        MH{"Marshalløerne"}
        MK{"Makedonien"}
        ML{"Mali"}
        MM{"Myanmar (Burma)"}
        MN{"Mongoliet"}
        MO{"Macao SAR"}
        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øen"}
        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{"Réunion"}
        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"}
        SS{"Sydsudan"}
        ST{"Sao Tome og Principe"}
        SV{"El Salvador"}
        SX{"Sint Maarten"}
        SY{"Syrien"}
        SZ{"Swaziland"}
        TA{"Tristan da Cunha"}
        TC{"Turks- og Caicosøerne"}
        TD{"Tchad"}
        TF{"De 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{"Amerikanske oversøiske øer"}
        US{"USA"}
        UY{"Uruguay"}
        UZ{"Usbekistan"}
        VA{"Vatikanstaten"}
        VC{"Saint Vincent og Grenadinerne"}
        VE{"Venezuela"}
        VG{"De Britiske Jomfruøer"}
        VI{"De Amerikanske Jomfruøer"}
        VN{"Vietnam"}
        VU{"Vanuatu"}
        WF{"Wallis og Futuna"}
        WS{"Samoa"}
        XK{"Kosovo"}
        YE{"Yemen"}
        YT{"Mayotte"}
        ZA{"Sydafrika"}
        ZM{"Zambia"}
        ZW{"Zimbabwe"}
        ZZ{"Ukendt område"}
    }
    Countries%variant{
        CD{"Den Demokratiske Republik Congo"}
        CG{"Republikken Congo"}
        FK{"Falklandsøerne (Islas Malvinas)"}
        MK{"Makedonien (Den Tidligere Jugoslaviske Republik Makedonien)"}
        TL{"Østtimor"}
    }
    CountriesShort{
        GB{"UK"}
        HK{"Hongkong"}
        MO{"Macao"}
        PS{"Palæstina"}
        US{"USA"}
    }
    Version{"2.1.9.62"}
}
