﻿// ***************************************************************************
// *
// * 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/is.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/is.xml
 */
is{
    Countries{
        001{"heimur"}
        002{"Afríka"}
        003{"Norður-Ameríka"}
        005{"Suður-Ameríka"}
        009{"Eyjaálfa"}
        011{"Vestur-Afríka"}
        013{"Mið-Ameríka"}
        014{"Austur-Afríka"}
        015{"Norður-Afríka"}
        017{"Mið-Afríka"}
        018{"Suðurhluti Afríku"}
        019{"Ameríka"}
        021{"Ameríka norðan Mexikó"}
        029{"Karabíska hafið"}
        030{"Austur-Asía"}
        034{"suðurhluti Asíu"}
        035{"Suðaustur-Asía"}
        039{"Suður-Evrópa"}
        053{"Ástralía og Nýja-Sjáland"}
        054{"Melanesía"}
        057{"Míkrónesía"}
        061{"Pólýnesía"}
        062{"Syðri-Mið-Asía"}
        142{"Asía"}
        143{"Mið-Asía"}
        145{"Vestur-Asía"}
        150{"Evrópa"}
        151{"Austur-Evrópa"}
        154{"Norður-Evrópa"}
        155{"Vestur-Evrópa"}
        172{"Samveldi sjálfstæðra ríkja"}
        419{"Latín-Ameríka"}
        830{"Ermasundseyjar"}
        AC{"Ascension-eyja"}
        AD{"Andorra"}
        AE{"Sameinuðu arabísku furstadæmin"}
        AF{"Afganistan"}
        AG{"Antígva og Barbúda"}
        AI{"Angvilla"}
        AL{"Albanía"}
        AM{"Armenía"}
        AN{"Hollensku Antillur"}
        AO{"Angóla"}
        AQ{"Suðurskautslandið"}
        AR{"Argentína"}
        AS{"Bandaríska Samóa"}
        AT{"Austurríki"}
        AU{"Ástralía"}
        AW{"Arúba"}
        AX{"Álandseyjar"}
        AZ{"Aserbaídsjan"}
        BA{"Bosnía og Hersegóvína"}
        BB{"Barbados"}
        BD{"Bangladess"}
        BE{"Belgía"}
        BF{"Búrkína Fasó"}
        BG{"Búlgaría"}
        BH{"Barein"}
        BI{"Búrúndí"}
        BJ{"Benín"}
        BL{"Saint Barthélemy"}
        BM{"Bermúdaeyjar"}
        BN{"Brúnei"}
        BO{"Bólivía"}
        BR{"Brasilía"}
        BS{"Bahamaeyjar"}
        BT{"Bútan"}
        BV{"Bouveteyja"}
        BW{"Botsvana"}
        BY{"Hvíta-Rússland"}
        BZ{"Belís"}
        CA{"Kanada"}
        CC{"Kókoseyjar"}
        CD{"Austur-Kongó"}
        CF{"Mið-Afríkulýðveldið"}
        CG{"Vestur-Kongó"}
        CH{"Sviss"}
        CI{"Fílabeinsströndin"}
        CK{"Cookseyjar"}
        CL{"Chíle"}
        CM{"Kamerún"}
        CN{"Kína"}
        CO{"Kólumbía"}
        CP{"Clipperton-eyja"}
        CR{"Kostaríka"}
        CS{"Serbía og Svartfjallaland"}
        CU{"Kúba"}
        CV{"Grænhöfðaeyjar"}
        CX{"Jólaey"}
        CY{"Kýpur"}
        CZ{"Tékkland"}
        DE{"Þýskaland"}
        DG{"Diego Garcia"}
        DJ{"Djíbútí"}
        DK{"Danmörk"}
        DM{"Dóminíka"}
        DO{"Dóminíska lýðveldið"}
        DZ{"Alsír"}
        EA{"Ceuta og Melilla"}
        EC{"Ekvador"}
        EE{"Eistland"}
        EG{"Egyptaland"}
        EH{"Vestur-Sahara"}
        ER{"Erítrea"}
        ES{"Spánn"}
        ET{"Eþíópía"}
        EU{"Evrópusambandið"}
        FI{"Finnland"}
        FJ{"Fídjieyjar"}
        FK{"Falklandseyjar"}
        FM{"Mikrónesía"}
        FO{"Færeyjar"}
        FR{"Frakkland"}
        GA{"Gabon"}
        GB{"Bretland"}
        GD{"Grenada"}
        GE{"Georgía"}
        GF{"Franska Gvæjana"}
        GG{"Guernsey"}
        GH{"Gana"}
        GI{"Gíbraltar"}
        GL{"Grænland"}
        GM{"Gambía"}
        GN{"Gínea"}
        GP{"Gvadelúpeyjar"}
        GQ{"Miðbaugs-Gínea"}
        GR{"Grikkland"}
        GS{"Suður-Georgía og Suður-Sandvíkureyjar"}
        GT{"Gvatemala"}
        GU{"Gvam"}
        GW{"Gínea-Bissá"}
        GY{"Gvæjana"}
        HK{"Hong Kong"}
        HM{"Heard og McDonaldseyjar"}
        HN{"Hondúras"}
        HR{"Króatía"}
        HT{"Haítí"}
        HU{"Ungverjaland"}
        IC{"Kanaríeyjar"}
        ID{"Indónesía"}
        IE{"Írland"}
        IL{"Ísrael"}
        IM{"Mön"}
        IN{"Indland"}
        IO{"Bresku Indlandshafseyjar"}
        IQ{"Írak"}
        IR{"Íran"}
        IS{"Ísland"}
        IT{"Ítalía"}
        JE{"Jersey"}
        JM{"Jamaíka"}
        JO{"Jórdanía"}
        JP{"Japan"}
        KE{"Kenía"}
        KG{"Kirgisistan"}
        KH{"Kambódía"}
        KI{"Kíribatí"}
        KM{"Kómoreyjar"}
        KN{"Sankti Kristófer og Nevis"}
        KP{"Norður-Kórea"}
        KR{"Suður-Kórea"}
        KW{"Kúveit"}
        KY{"Caymaneyjar"}
        KZ{"Kasakstan"}
        LA{"Laos"}
        LB{"Líbanon"}
        LC{"Sankti Lúsía"}
        LI{"Liechtenstein"}
        LK{"Srí Lanka"}
        LR{"Líbería"}
        LS{"Lesótó"}
        LT{"Litháen"}
        LU{"Lúxemborg"}
        LV{"Lettland"}
        LY{"Líbía"}
        MA{"Marokkó"}
        MC{"Mónakó"}
        MD{"Moldóva"}
        ME{"Svartfjallaland"}
        MF{"Saint Martin"}
        MG{"Madagaskar"}
        MH{"Marshalleyjar"}
        MK{"Makedónía"}
        ML{"Malí"}
        MM{"Mjanmar"}
        MN{"Mongólía"}
        MO{"Makaó"}
        MP{"Norður-Maríanaeyjar"}
        MQ{"Martiník"}
        MR{"Máritanía"}
        MS{"Montserrat"}
        MT{"Malta"}
        MU{"Máritíus"}
        MV{"Maldíveyjar"}
        MW{"Malaví"}
        MX{"Mexíkó"}
        MY{"Malasía"}
        MZ{"Mósambík"}
        NA{"Namibía"}
        NC{"Nýja-Kaledónía"}
        NE{"Níger"}
        NF{"Norfolkeyja"}
        NG{"Nígería"}
        NI{"Níkaragva"}
        NL{"Niðurlönd"}
        NO{"Noregur"}
        NP{"Nepal"}
        NR{"Nárú"}
        NU{"Niue"}
        NZ{"Nýja-Sjáland"}
        OM{"Óman"}
        PA{"Panama"}
        PE{"Perú"}
        PF{"Franska Pólýnesía"}
        PG{"Papúa Nýja-Gínea"}
        PH{"Filippseyjar"}
        PK{"Pakistan"}
        PL{"Pólland"}
        PM{"Sankti Pierre og Miquelon"}
        PN{"Pitcairn"}
        PR{"Púertó Ríkó"}
        PS{"Palestína"}
        PT{"Portúgal"}
        PW{"Palá"}
        PY{"Paragvæ"}
        QA{"Katar"}
        QO{"Ytri Eyjaálfa"}
        RE{"Réunion"}
        RO{"Rúmenía"}
        RS{"Serbía"}
        RU{"Rússland"}
        RW{"Rúanda"}
        SA{"Sádi-Arabía"}
        SB{"Salómonseyjar"}
        SC{"Seychelleseyjar"}
        SD{"Súdan"}
        SE{"Svíþjóð"}
        SG{"Singapúr"}
        SH{"Sankti Helena"}
        SI{"Slóvenía"}
        SJ{"Svalbarði og Jan Mayen"}
        SK{"Slóvakía"}
        SL{"Síerra Leóne"}
        SM{"San Marínó"}
        SN{"Senegal"}
        SO{"Sómalía"}
        SR{"Súrínam"}
        ST{"Saó Tóme og Prinsípe"}
        SV{"El Salvador"}
        SY{"Sýrland"}
        SZ{"Svasíland"}
        TA{"Tristan da Cunha"}
        TC{"Turks- og Caicoseyjar"}
        TD{"Tsjad"}
        TF{"Frönsku suðlægu landsvæðin"}
        TG{"Tógó"}
        TH{"Taíland"}
        TJ{"Tadsjikistan"}
        TK{"Tókelá"}
        TL{"Austur-Tímor"}
        TM{"Túrkmenistan"}
        TN{"Túnis"}
        TO{"Tonga"}
        TR{"Tyrkland"}
        TT{"Trínidad og Tóbagó"}
        TV{"Túvalú"}
        TW{"Taívan"}
        TZ{"Tansanía"}
        UA{"Úkraína"}
        UG{"Úganda"}
        UM{"Smáeyjar Bandaríkjanna"}
        US{"Bandaríkin"}
        UY{"Úrúgvæ"}
        UZ{"Úsbekistan"}
        VA{"Páfagarður"}
        VC{"Sankti Vinsent og Grenadíneyjar"}
        VE{"Venesúela"}
        VG{"Bresku Jómfrúaeyjar"}
        VI{"Bandarísku Jómfrúaeyjar"}
        VN{"Víetnam"}
        VU{"Vanúatú"}
        WF{"Wallis- og Fútúnaeyjar"}
        WS{"Samóa"}
        YE{"Jemen"}
        YT{"Mayotte"}
        ZA{"Suður-Afríka"}
        ZM{"Sambía"}
        ZW{"Simbabve"}
        ZZ{"Óþekkt eða ógilt svæði"}
    }
    Version{"2.0.59.68"}
}
