﻿// ***************************************************************************
// *
// * Copyright (C) 2014 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"}
        HM{"Heardön 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 territoriet i Indiska oceanen"}
        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 (Burma)"}
        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"}
        SX{"Sint Maarten"}
        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"}
    }
    CountriesShort{
        GB{"Storbritannien"}
        US{"USA"}
    }
    Version{"2.0.99.20"}
}
