﻿// ***************************************************************************
// *
// * Copyright (C) 2009 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"}
        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"}
        QU{"Evrópusambandið"}
        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.42.82"}
}
