﻿// ***************************************************************************
// *
// * 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/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 och Karibien"}
        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 Södra Sandwichö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.48.64"}
}
