﻿// ***************************************************************************
// *
// * Copyright (C) 2012 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/main/sl.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/main/sl.xml
 */
sl{
    Countries{
        001{"Svet"}
        002{"Afrika"}
        003{"Severna Amerika"}
        005{"Južna Amerika"}
        009{"Oceanija"}
        011{"Zahodna Afrika"}
        013{"Srednja Amerika"}
        014{"Vzhodna Afrika"}
        015{"Severna Afrika"}
        017{"Srednja Afrika"}
        018{"Južna Afrika"}
        019{"Amerike"}
        021{"severnoameriška celina"}
        029{"Karibi"}
        030{"Vzhodna Azija"}
        034{"Južna Azija"}
        035{"Jugovzhodna Azija"}
        039{"Južna Evropa"}
        053{"Avstralija in Nova Zelandija"}
        054{"Melanezija"}
        057{"mikronezijska regija"}
        061{"Polinezija"}
        142{"Azija"}
        143{"Osrednja Azija"}
        145{"Zahodna Azija"}
        150{"Evropa"}
        151{"Vzhodna Evropa"}
        154{"Severna Evropa"}
        155{"Zahodna Evropa"}
        419{"Latinska Amerika"}
        AC{"Otok Ascension"}
        AD{"Andora"}
        AE{"Združeni arabski emirati"}
        AF{"Afganistan"}
        AG{"Antigva in Barbuda"}
        AI{"Angvila"}
        AL{"Albanija"}
        AM{"Armenija"}
        AN{"Nizozemski Antili"}
        AO{"Angola"}
        AQ{"Antarktika"}
        AR{"Argentina"}
        AS{"Ameriška Samoa"}
        AT{"Avstrija"}
        AU{"Avstralija"}
        AW{"Aruba"}
        AX{"Alandsko otočje"}
        AZ{"Azerbajdžan"}
        BA{"Bosna in Hercegovina"}
        BB{"Barbados"}
        BD{"Bangladeš"}
        BE{"Belgija"}
        BF{"Burkina Faso"}
        BG{"Bolgarija"}
        BH{"Bahrajn"}
        BI{"Burundi"}
        BJ{"Benin"}
        BL{"Saint Barthelemy"}
        BM{"Bermudi"}
        BN{"Brunej"}
        BO{"Bolivija"}
        BR{"Brazilija"}
        BS{"Bahami"}
        BT{"Butan"}
        BV{"Bouvetov otok"}
        BW{"Bocvana"}
        BY{"Belorusija"}
        BZ{"Belize"}
        CA{"Kanada"}
        CC{"Kokosovi otoki"}
        CD{"Demokratična republika Kongo"}
        CF{"Centralnoafriška republika"}
        CG{"Kongo - Brazzaville"}
        CH{"Švica"}
        CI{"Slonokoščena obala"}
        CK{"Cookovo otočje"}
        CL{"Čile"}
        CM{"Kamerun"}
        CN{"Kitajska"}
        CO{"Kolumbija"}
        CP{"Otok Clipperton"}
        CR{"Kostarika"}
        CS{"Srbija in Črna gora"}
        CU{"Kuba"}
        CV{"Zelenortski otoki"}
        CX{"Božični otok"}
        CY{"Ciper"}
        CZ{"Češka"}
        DE{"Nemčija"}
        DG{"Diego Garcia"}
        DJ{"Džibuti"}
        DK{"Danska"}
        DM{"Dominika"}
        DO{"Dominikanska republika"}
        DZ{"Alžirija"}
        EA{"Ceuta in Melilla"}
        EC{"Ekvador"}
        EE{"Estonija"}
        EG{"Egipt"}
        EH{"Zahodna Sahara"}
        ER{"Eritreja"}
        ES{"Španija"}
        ET{"Etiopija"}
        EU{"Evropska unija"}
        FI{"Finska"}
        FJ{"Fidži"}
        FK{"Falklandski otoki"}
        FM{"Mikronezija"}
        FO{"Ferski otoki"}
        FR{"Francija"}
        GA{"Gabon"}
        GB{"Velika Britanija"}
        GD{"Grenada"}
        GE{"Gruzija"}
        GF{"Francoska Gvajana"}
        GG{"Guernsey"}
        GH{"Gana"}
        GI{"Gibraltar"}
        GL{"Grenlandija"}
        GM{"Gambija"}
        GN{"Gvineja"}
        GP{"Gvadalupe"}
        GQ{"Ekvatorialna Gvineja"}
        GR{"Grčija"}
        GS{"Južna Georgia in Južni Sandwichevi otoki"}
        GT{"Gvatemala"}
        GU{"Guam"}
        GW{"Gvineja Bissau"}
        GY{"Gvajana"}
        HK{"Posebno administrativno območje LR Kitajske Hong Kong"}
        HM{"Otok Heard in otočje McDonald"}
        HN{"Honduras"}
        HR{"Hrvaška"}
        HT{"Haiti"}
        HU{"Madžarska"}
        IC{"Kanarski otoki"}
        ID{"Indonezija"}
        IE{"Irska"}
        IL{"Izrael"}
        IM{"Otok Man"}
        IN{"Indija"}
        IO{"Britansko ozemlje v Indijskem oceanu"}
        IQ{"Irak"}
        IR{"Iran"}
        IS{"Islandija"}
        IT{"Italija"}
        JE{"Jersey"}
        JM{"Jamajka"}
        JO{"Jordanija"}
        JP{"Japonska"}
        KE{"Kenija"}
        KG{"Kirgizistan"}
        KH{"Kambodža"}
        KI{"Kiribati"}
        KM{"Komori"}
        KN{"Saint Kitts in Nevis"}
        KP{"Severna Koreja"}
        KR{"Južna Koreja"}
        KW{"Kuvajt"}
        KY{"Kajmanski otoki"}
        KZ{"Kazahstan"}
        LA{"Laos"}
        LB{"Libanon"}
        LC{"Saint Lucia"}
        LI{"Lihtenštajn"}
        LK{"Šrilanka"}
        LR{"Liberija"}
        LS{"Lesoto"}
        LT{"Litva"}
        LU{"Luksemburg"}
        LV{"Latvija"}
        LY{"Libija"}
        MA{"Maroko"}
        MC{"Monako"}
        MD{"Moldavija"}
        ME{"Črna gora"}
        MF{"Saint Martin"}
        MG{"Madagaskar"}
        MH{"Marshallovi otoki"}
        MK{"Makedonija"}
        ML{"Mali"}
        MM{"Mjanmar [Burma]"}
        MN{"Mongolija"}
        MO{"Posebno administrativno območje LR Kitajske Macao"}
        MP{"Severni Marianski otoki"}
        MQ{"Martinik"}
        MR{"Mavretanija"}
        MS{"Montserrat"}
        MT{"Malta"}
        MU{"Mauritius"}
        MV{"Maldivi"}
        MW{"Malavi"}
        MX{"Mehika"}
        MY{"Malezija"}
        MZ{"Mozambik"}
        NA{"Namibija"}
        NC{"Nova Kaledonija"}
        NE{"Niger"}
        NF{"Norfolški otok"}
        NG{"Nigerija"}
        NI{"Nikaragva"}
        NL{"Nizozemska"}
        NO{"Norveška"}
        NP{"Nepal"}
        NR{"Nauru"}
        NU{"Niue"}
        NZ{"Nova Zelandija"}
        OM{"Oman"}
        PA{"Panama"}
        PE{"Peru"}
        PF{"Francoska Polinezija"}
        PG{"Papua Nova Gvineja"}
        PH{"Filipini"}
        PK{"Pakistan"}
        PL{"Poljska"}
        PM{"Saint Pierre in Miquelon"}
        PN{"Pitcairn"}
        PR{"Portoriko"}
        PS{"Palestinsko ozemlje"}
        PT{"Portugalska"}
        PW{"Palau"}
        PY{"Paragvaj"}
        QA{"Katar"}
        QO{"Ostala oceanija"}
        RE{"Reunion"}
        RO{"Romunija"}
        RS{"Srbija"}
        RU{"Rusija"}
        RW{"Ruanda"}
        SA{"Saudova Arabija"}
        SB{"Salomonovi otoki"}
        SC{"Sejšeli"}
        SD{"Sudan"}
        SE{"Švedska"}
        SG{"Singapur"}
        SH{"Sveta Helena"}
        SI{"Slovenija"}
        SJ{"Svalbard in Jan Mayen"}
        SK{"Slovaška"}
        SL{"Sierra Leone"}
        SM{"San Marino"}
        SN{"Senegal"}
        SO{"Somalija"}
        SR{"Surinam"}
        ST{"Sao Tome in Principe"}
        SV{"Salvador"}
        SY{"Sirija"}
        SZ{"Svazi"}
        TA{"Tristan da Cunha"}
        TC{"Otočji Turks in Caicos"}
        TD{"Čad"}
        TF{"Francosko južno ozemlje"}
        TG{"Togo"}
        TH{"Tajska"}
        TJ{"Tadžikistan"}
        TK{"Tokelau"}
        TL{"Vzhodni Timor"}
        TM{"Turkmenistan"}
        TN{"Tunizija"}
        TO{"Tonga"}
        TR{"Turčija"}
        TT{"Trinidad in Tobago"}
        TV{"Tuvalu"}
        TW{"Tajvan"}
        TZ{"Tanzanija"}
        UA{"Ukrajina"}
        UG{"Uganda"}
        UM{"Druga ameriška ozemlja v Tihem oceanu"}
        US{"Združene države Amerike"}
        UY{"Urugvaj"}
        UZ{"Uzbekistan"}
        VA{"Vatikan"}
        VC{"Saint Vincent in Grenadine"}
        VE{"Venezuela"}
        VG{"Britanski Deviški otoki"}
        VI{"Ameriški Deviški otoki"}
        VN{"Vietnam"}
        VU{"Vanuatu"}
        WF{"Wallis in Futuna"}
        WS{"Samoa"}
        YE{"Jemen"}
        YT{"Mayotte"}
        ZA{"Južnoafriška republika"}
        ZM{"Zambija"}
        ZW{"Zimbabve"}
        ZZ{"Neznano ali neveljavno območje"}
    }
    Version{"2.0.65.46"}
}
