﻿// ***************************************************************************
// *
// * Copyright (C) 2016 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * Source File: <path>/common/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"}
        AO{"Angola"}
        AQ{"Antarktika"}
        AR{"Argentina"}
        AS{"Ameriška Samoa"}
        AT{"Avstrija"}
        AU{"Avstralija"}
        AW{"Aruba"}
        AX{"Ålandski otoki"}
        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 Barthélemy"}
        BM{"Bermudi"}
        BN{"Brunej"}
        BO{"Bolivija"}
        BQ{"Nizozemski Karibi"}
        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{"Cookovi otoki"}
        CL{"Čile"}
        CM{"Kamerun"}
        CN{"Kitajska"}
        CO{"Kolumbija"}
        CP{"Otok Clipperton"}
        CR{"Kostarika"}
        CU{"Kuba"}
        CV{"Zelenortski otoki"}
        CW{"Curaçao"}
        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{"Združeno kraljestvo"}
        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{"Heardov otok in McDonaldovi otoki"}
        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"}
        SS{"Južni Sudan"}
        ST{"Sao Tome in Principe"}
        SV{"Salvador"}
        SX{"Sint Maarten"}
        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"}
        XK{"Kosovo"}
        YE{"Jemen"}
        YT{"Mayotte"}
        ZA{"Južnoafriška republika"}
        ZM{"Zambija"}
        ZW{"Zimbabve"}
        ZZ{"Neznano ali neveljavno območje"}
    }
    Countries%short{
        GB{"ZK"}
        HK{"Hongkong"}
        MO{"Macao"}
        PS{"Palestina"}
        US{"ZDA"}
    }
    Countries%variant{
        CD{"Kongo (Demokratična republika Kongo)"}
        CG{"Kongo (Republika)"}
        CI{"Côte d’Ivoire"}
        FK{"Falklandski otoki (Malvini)"}
        MK{"Makedonija (FYROM)"}
    }
    Version{"2.1.22.93"}
}
