﻿// ***************************************************************************
// *
// * 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/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ó"}
        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"}
        150{"Evrópa"}
        151{"Austur-Evrópa"}
        154{"Norður-Evrópa"}
        172{"Samveldi sjálfstæðra ríkja"}
        419{"Latín-Ameríka og Karíbahaf"}
        830{"Ermasundseyjar"}
        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"}
        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"}
        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"}
        DJ{"Djíbútí"}
        DK{"Danmörk"}
        DM{"Dóminíka"}
        DO{"Dóminíska lýðveldið"}
        DZ{"Alsír"}
        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"}
        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"}
        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"}
        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{"Jómfrúaeyjar (bresku)"}
        VI{"Jómfrúaeyjar (bandarísku)"}
        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"}
        ZZ{"Óþekkt eða ógilt svæði"}
    }
    Version{"2.0.47.72"}
}
