﻿// ***************************************************************************
// *
// * Copyright (C) 2013 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * 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{"Sydasien"}
        035{"Sydostasien"}
        039{"Sydeuropa"}
        053{"Australasien"}
        054{"Melanesien"}
        057{"Mikronesiska öarna"}
        061{"Polynesien"}
        142{"Asien"}
        143{"Centralasien"}
        145{"Västasien"}
        150{"Europa"}
        151{"Östeuropa"}
        154{"Nordeuropa"}
        155{"Västeuropa"}
        419{"Latinamerika"}
        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"}
        BQ{"Karibiska Nederländerna"}
        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"}
        CU{"Kuba"}
        CV{"Kap Verde"}
        CW{"Curaçao"}
        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"}
        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"}
        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öarna"}
        PR{"Puerto Rico"}
        PS{"Palestina"}
        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"}
        SS{"Sydsudan"}
        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"}
        XK{"Kosovo"}
        YE{"Jemen"}
        YT{"Mayotte"}
        ZA{"Sydafrika"}
        ZM{"Zambia"}
        ZW{"Zimbabwe"}
        ZZ{"okänd region"}
    }
    Version{"2.0.82.57"}
}
