﻿// ***************************************************************************
// *
// * 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>/common/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 (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öarna"}
        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"}
        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.85.93"}
}
