﻿// ***************************************************************************
// *
// * 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/sv.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/sv.xml
 */
sv{
    Countries{
        001{"världen"}
        002{"Afrika"}
        003{"Nordamerika"}
        005{"Sydamerika"}
        009{"Oceanien"}
        011{"Västafrika"}
        013{"Centralamerika"}
        014{"Östafrika"}
        015{"Nordafrika"}
        017{"Centralafrika"}
        018{"södra Afrika"}
        019{"Nord- och Sydamerika"}
        021{"norra Amerika"}
        029{"Karibien"}
        030{"Östasien"}
        034{"södra Asien"}
        035{"Sydostasien"}
        039{"Sydeuropa"}
        053{"Australien och Nya Zeeland"}
        054{"Melanesien"}
        057{"Mikronesiska öarna"}
        061{"Polynesien"}
        062{"södra Centralasien"}
        142{"Asien"}
        143{"Centralasien"}
        145{"Västasien"}
        150{"Europa"}
        151{"Östeuropa"}
        154{"Nordeuropa"}
        155{"Västeuropa"}
        172{"Oberoende staters samvälde"}
        419{"Latinamerika"}
        830{"Kanalöarna"}
        AC{"Ascension"}
        AD{"Andorra"}
        AE{"Förenade Arabemiraten"}
        AF{"Afghanistan"}
        AG{"Antigua och Barbuda"}
        AI{"Anguilla"}
        AL{"Albanien"}
        AM{"Armenien"}
        AN{"Nederländska Antillerna"}
        AO{"Angola"}
        AQ{"Antarktis"}
        AR{"Argentina"}
        AS{"Amerikanska Samoa"}
        AT{"Österrike"}
        AU{"Australien"}
        AW{"Aruba"}
        AX{"Åland"}
        AZ{"Azerbajdzjan"}
        BA{"Bosnien och Hercegovina"}
        BB{"Barbados"}
        BD{"Bangladesh"}
        BE{"Belgien"}
        BF{"Burkina Faso"}
        BG{"Bulgarien"}
        BH{"Bahrain"}
        BI{"Burundi"}
        BJ{"Benin"}
        BL{"S:t Barthélemy"}
        BM{"Bermuda"}
        BN{"Brunei"}
        BO{"Bolivia"}
        BR{"Brasilien"}
        BS{"Bahamas"}
        BT{"Bhutan"}
        BV{"Bouvetön"}
        BW{"Botswana"}
        BY{"Vitryssland"}
        BZ{"Belize"}
        CA{"Kanada"}
        CC{"Kokosöarna"}
        CD{"Kongo-Kinshasa"}
        CF{"Centralafrikanska republiken"}
        CG{"Kongo-Brazzaville"}
        CH{"Schweiz"}
        CI{"Elfenbenskusten"}
        CK{"Cooköarna"}
        CL{"Chile"}
        CM{"Kamerun"}
        CN{"Kina"}
        CO{"Colombia"}
        CP{"Clippertonön"}
        CR{"Costa Rica"}
        CS{"Serbien och Montenegro"}
        CU{"Kuba"}
        CV{"Kap Verde"}
        CX{"Julön"}
        CY{"Cypern"}
        CZ{"Tjeckien"}
        DE{"Tyskland"}
        DG{"Diego Garcia"}
        DJ{"Djibouti"}
        DK{"Danmark"}
        DM{"Dominica"}
        DO{"Dominikanska republiken"}
        DZ{"Algeriet"}
        EA{"Ceuta och Melilla"}
        EC{"Ecuador"}
        EE{"Estland"}
        EG{"Egypten"}
        EH{"Västsahara"}
        ER{"Eritrea"}
        ES{"Spanien"}
        ET{"Etiopien"}
        EU{"Europeiska unionen"}
        FI{"Finland"}
        FJ{"Fiji"}
        FK{"Falklandsöarna"}
        FM{"Mikronesien"}
        FO{"Färöarna"}
        FR{"Frankrike"}
        GA{"Gabon"}
        GB{"Storbritannien"}
        GD{"Grenada"}
        GE{"Georgien"}
        GF{"Franska Guyana"}
        GG{"Guernsey"}
        GH{"Ghana"}
        GI{"Gibraltar"}
        GL{"Grönland"}
        GM{"Gambia"}
        GN{"Guinea"}
        GP{"Guadeloupe"}
        GQ{"Ekvatorialguinea"}
        GR{"Grekland"}
        GS{"Sydgeorgien och Sydsandwichöarna"}
        GT{"Guatemala"}
        GU{"Guam"}
        GW{"Guinea-Bissau"}
        GY{"Guyana"}
        HK{"Hongkong (S.A.R. Kina)"}
        HM{"Heard- och McDonaldöarna"}
        HN{"Honduras"}
        HR{"Kroatien"}
        HT{"Haiti"}
        HU{"Ungern"}
        IC{"Kanarieöarna"}
        ID{"Indonesien"}
        IE{"Irland"}
        IL{"Israel"}
        IM{"Isle of Man"}
        IN{"Indien"}
        IO{"Brittiska Indiska oceanöarna"}
        IQ{"Irak"}
        IR{"Iran"}
        IS{"Island"}
        IT{"Italien"}
        JE{"Jersey"}
        JM{"Jamaica"}
        JO{"Jordanien"}
        JP{"Japan"}
        KE{"Kenya"}
        KG{"Kirgizistan"}
        KH{"Kambodja"}
        KI{"Kiribati"}
        KM{"Komorerna"}
        KN{"S:t Kitts och Nevis"}
        KP{"Nordkorea"}
        KR{"Sydkorea"}
        KW{"Kuwait"}
        KY{"Caymanöarna"}
        KZ{"Kazakstan"}
        LA{"Laos"}
        LB{"Libanon"}
        LC{"S:t Lucia"}
        LI{"Liechtenstein"}
        LK{"Sri Lanka"}
        LR{"Liberia"}
        LS{"Lesotho"}
        LT{"Litauen"}
        LU{"Luxemburg"}
        LV{"Lettland"}
        LY{"Libyen"}
        MA{"Marocko"}
        MC{"Monaco"}
        MD{"Moldavien"}
        ME{"Montenegro"}
        MF{"S:t Martin"}
        MG{"Madagaskar"}
        MH{"Marshallöarna"}
        MK{"Makedonien"}
        ML{"Mali"}
        MM{"Myanmar"}
        MN{"Mongoliet"}
        MO{"Macao (S.A.R. Kina)"}
        MP{"Nordmarianerna"}
        MQ{"Martinique"}
        MR{"Mauretanien"}
        MS{"Montserrat"}
        MT{"Malta"}
        MU{"Mauritius"}
        MV{"Maldiverna"}
        MW{"Malawi"}
        MX{"Mexiko"}
        MY{"Malaysia"}
        MZ{"Moçambique"}
        NA{"Namibia"}
        NC{"Nya Kaledonien"}
        NE{"Niger"}
        NF{"Norfolkön"}
        NG{"Nigeria"}
        NI{"Nicaragua"}
        NL{"Nederländerna"}
        NO{"Norge"}
        NP{"Nepal"}
        NR{"Nauru"}
        NU{"Niue"}
        NZ{"Nya Zeeland"}
        OM{"Oman"}
        PA{"Panama"}
        PE{"Peru"}
        PF{"Franska Polynesien"}
        PG{"Papua Nya Guinea"}
        PH{"Filippinerna"}
        PK{"Pakistan"}
        PL{"Polen"}
        PM{"S:t Pierre och Miquelon"}
        PN{"Pitcairn"}
        PR{"Puerto Rico"}
        PS{"Palestinska territoriet"}
        PT{"Portugal"}
        PW{"Palau"}
        PY{"Paraguay"}
        QA{"Qatar"}
        QO{"Yttre öar i Oceanien"}
        RE{"Réunion"}
        RO{"Rumänien"}
        RS{"Serbien"}
        RU{"Ryssland"}
        RW{"Rwanda"}
        SA{"Saudiarabien"}
        SB{"Salomonöarna"}
        SC{"Seychellerna"}
        SD{"Sudan"}
        SE{"Sverige"}
        SG{"Singapore"}
        SH{"S:t Helena"}
        SI{"Slovenien"}
        SJ{"Svalbard och Jan Mayen"}
        SK{"Slovakien"}
        SL{"Sierra Leone"}
        SM{"San Marino"}
        SN{"Senegal"}
        SO{"Somalia"}
        SR{"Surinam"}
        ST{"São Tomé och Príncipe"}
        SV{"El Salvador"}
        SY{"Syrien"}
        SZ{"Swaziland"}
        TA{"Tristan da Cunha"}
        TC{"Turks- och Caicosöarna"}
        TD{"Tchad"}
        TF{"Franska Sydterritorierna"}
        TG{"Togo"}
        TH{"Thailand"}
        TJ{"Tadzjikistan"}
        TK{"Tokelau"}
        TL{"Östtimor"}
        TM{"Turkmenistan"}
        TN{"Tunisien"}
        TO{"Tonga"}
        TR{"Turkiet"}
        TT{"Trinidad och Tobago"}
        TV{"Tuvalu"}
        TW{"Taiwan"}
        TZ{"Tanzania"}
        UA{"Ukraina"}
        UG{"Uganda"}
        UM{"USA:s yttre öar"}
        US{"USA"}
        UY{"Uruguay"}
        UZ{"Uzbekistan"}
        VA{"Vatikanstaten"}
        VC{"S:t Vincent och Grenadinerna"}
        VE{"Venezuela"}
        VG{"Brittiska Jungfruöarna"}
        VI{"Amerikanska Jungfruöarna"}
        VN{"Vietnam"}
        VU{"Vanuatu"}
        WF{"Wallis- och Futunaöarna"}
        WS{"Samoa"}
        YE{"Jemen"}
        YT{"Mayotte"}
        ZA{"Sydafrika"}
        ZM{"Zambia"}
        ZW{"Zimbabwe"}
        ZZ{"okänd eller ogiltig regionkod"}
    }
    Version{"2.0.58.88"}
}
