﻿// ***************************************************************************
// *
// * 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{"Hongkong"}
        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{"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{"Palestina"}
        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"}
        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"}
}
