﻿// ***************************************************************************
// *
// * Copyright (C) 2005 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File: ../../../cldr/common/main/sl.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: ./xml/main/sl.xml
 */
sl{
    Countries{
        001{"Svet"}
        002{"Afrika"}
        005{"Južna Amerika"}
        009{"Oceanija"}
        011{"Zahodna Afrika"}
        013{"Centralna Amerika"}
        014{"Vzhodna Afrika"}
        015{"Severna Afrika"}
        017{"Centralna Afrika"}
        018{"Južna Afrika"}
        019{"Amerike"}
        021{"Severna Amerika"}
        029{"Karibi"}
        030{"Vzhodna Azija"}
        035{"Jugovzhodna Azija"}
        039{"Južna Evropa"}
        053{"Avstralija i Nova Zelandija"}
        054{"Melanezija"}
        057{"Micronezija"}
        061{"Polinezija"}
        062{"Južno-centralna Azija"}
        142{"Azija"}
        145{"Zahodna Azija"}
        150{"Evropa"}
        151{"Vzhodna Evropa"}
        154{"Severna Evropa"}
        155{"Zapadna Evropa"}
        830{"Kanalski otoki"}
        833{"Otok Man"}
        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{"Alandski 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"}
        BM{"Bermuda"}
        BN{"Brunej"}
        BO{"Bolivija"}
        BR{"Brazilija"}
        BS{"Bahami"}
        BT{"Butan"}
        BV{"Otok Bouvet"}
        BW{"Bocvana"}
        BY{"Belorusija"}
        BZ{"Belize"}
        CA{"Kanada"}
        CC{"Kokosovi otoki"}
        CD{"Demokratična republika Kongo"}
        CF{"Centralnoafriška republika"}
        CG{"Kongo"}
        CH{"Švica"}
        CI{"Slonokoščena obala"}
        CK{"Cookovi otoki"}
        CL{"Čile"}
        CM{"Kamerun"}
        CN{"Kitajska"}
        CO{"Kolumbija"}
        CR{"Kostarika"}
        CS{"Srbija in Črna gora"}
        CU{"Kuba"}
        CV{"Kapverdski otoki"}
        CX{"Božični otok"}
        CY{"Ciper"}
        CZ{"Češka"}
        DE{"Nemčija"}
        DJ{"Džibuti"}
        DK{"Danska"}
        DM{"Dominika"}
        DO{"Dominikanska republika"}
        DZ{"Alžirija"}
        EC{"Ekvador"}
        EE{"Estonija"}
        EG{"Egipt"}
        EH{"Zahodna Sahara"}
        ER{"Eritreja"}
        ES{"Španija"}
        ET{"Etiopija"}
        FI{"Finska"}
        FJ{"Fidži"}
        FK{"Falklandski (Malvinski) otoki"}
        FM{"Mikronezija"}
        FO{"Fererski otoki"}
        FR{"Francija"}
        GA{"Gabon"}
        GB{"Velika Britanija"}
        GD{"Grenada"}
        GE{"Gruzija"}
        GF{"Francoska Gvajana"}
        GH{"Gana"}
        GI{"Gibraltar"}
        GL{"Grenlandija"}
        GM{"Gambija"}
        GN{"Gvineja"}
        GP{"Guadeloupe"}
        GQ{"Ekvatorialna Gvineja"}
        GR{"Grčija"}
        GS{"Južna Georgija in Južni Sandwich Islands"}
        GT{"Gvatemala"}
        GU{"Guam"}
        GW{"Gvineja Bissau"}
        GY{"Gvajana"}
        HK{"Hong Kong S.A.R. Kitajske"}
        HM{"Heardov otok in McDonaldovi otoki"}
        HN{"Honduras"}
        HR{"Hrvaška"}
        HT{"Haiti"}
        HU{"Madžarska"}
        ID{"Indonezija"}
        IE{"Irska"}
        IL{"Izrael"}
        IN{"Indija"}
        IO{"Britanska Indija"}
        IQ{"Irak"}
        IR{"Iran"}
        IS{"Islandija"}
        IT{"Italija"}
        JM{"Jamajka"}
        JO{"Jordan"}
        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{"Ljudska demokratična republika Laos"}
        LB{"Libanon"}
        LC{"Saint Lucia"}
        LI{"Liechtenstein"}
        LK{"Šrilanka"}
        LR{"Liberija"}
        LS{"Lesoto"}
        LT{"Litva"}
        LU{"Luxemburg"}
        LV{"Latvija"}
        LY{"Libija"}
        MA{"Maroko"}
        MC{"Monako"}
        MD{"Republika Moldova"}
        MG{"Madagaskar"}
        MH{"Marshallovi otoki"}
        MK{"Republika Makedonija"}
        ML{"Mali"}
        MM{"Myanmar"}
        MN{"Mongolija"}
        MO{"Makao S.A.R. Kitajske"}
        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{"Otok Norfolk"}
        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"}
        RU{"Ruska federacija"}
        RW{"Ruanda"}
        SA{"Saudova Arabija"}
        SB{"Salomonovo otočje"}
        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"}
        TC{"Otočji Turks in Caicos"}
        TD{"Čad"}
        TF{"Francoski južni teritorij"}
        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{"Ameriški manjši oddaljeni otoki"}
        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žna Afrika"}
        ZM{"Zambija"}
        ZW{"Zimbabve"}
    }
    Currencies{
        BRL{
            "BRL",
            "Brazilski Real",
        }
        CNY{
            "CNY",
            "Kitajski Yuan Renminbi",
        }
        EUR{
            "€",
            "Evro",
        }
        GBP{
            "£",
            "Britanski Funt Sterling",
        }
        INR{
            "=0#Rs.|1#Re.|1<Rs.",
            "Indijski Rupi",
        }
        JPY{
            "¥",
            "Japonski Jen",
        }
        RUB{
            "RUB",
            "Ruska Rublja",
        }
        SIT{
            "SIT",
            "Slovenski tolar",
        }
        USD{
            "$",
            "Ameriški Dolar",
        }
    }
    ExemplarCharacters{"[a-pr-vzčšž]"}
    Keys{
        calendar{"Kolendar"}
        collation{"Zlaganje"}
        currency{"Valuta"}
    }
    Languages{
        ar{"Arabščina"}
        bg{"Bolgarščina"}
        cs{"Češčina"}
        da{"Danščina"}
        de{"Nemščina"}
        el{"Grščina"}
        en{"Angleščina"}
        es{"Španščina"}
        et{"Estonščina"}
        fi{"Finščina"}
        fr{"Francoščina"}
        he{"Hebrejščina"}
        hr{"Hrvaščina"}
        hu{"Madžarščina"}
        it{"Italijanščina"}
        ja{"Japonščina"}
        ko{"Korejščina"}
        lt{"Litovščina"}
        lv{"Letonščina"}
        nl{"Nizozemščina"}
        no{"Norveščina"}
        pl{"Poljščina"}
        pt{"Portugalščina"}
        ro{"Romunščina"}
        ru{"Ruščina"}
        sk{"Slovaščina"}
        sl{"Slovenščina"}
        sv{"Švedščina"}
        tr{"Turščina"}
        zh{"Kitajščina"}
    }
    LocaleScript{
        "Latn",
    }
    NumberElements{
        ",",
        ".",
        ";",
        "%",
        "0",
        "#",
        "-",
        "E",
        "‰",
        "∞",
        "�",
        "+",
    }
    Scripts{
        Latn{"Latinski"}
    }
    Types{
        calendar{
            buddhist{"Budistični kolendar"}
            chinese{"Kitajski kolendar"}
            gregorian{"Gregorijanski kolendar"}
            hebrew{"Hebrejski kolendar"}
            islamic{"Islamski kolendar"}
            islamic-civil{"Islamski civilni kolendar"}
            japanese{"Japonski kolendar"}
        }
        collation{
            direct{"Direktno zlaganje"}
            phonebook{"Zlaganje po abecedi"}
            pinyin{"Pinyin zlaganje"}
            stroke{"Stroke order zlaganje"}
            traditional{"Tradicionano zlaganje"}
        }
    }
    Version{"1.48"}
    calendar{
        gregorian{
            DateTimeElements:intvector{
                2,
                1,
            }
            DateTimePatterns{
                "H:mm:ss z",
                "H:mm:ss z",
                "H:mm:ss",
                "H:mm",
                "EEEE, dd. MMMM yyyy",
                "dd. MMMM yyyy",
                "d.M.yyyy",
                "d.M.yy",
                "{1} {0}",
            }
            dayNames{
                format{
                    abbreviated{
                        "ned",
                        "pon",
                        "tor",
                        "sre",
                        "čet",
                        "pet",
                        "sob",
                    }
                    wide{
                        "nedelja",
                        "ponedeljek",
                        "torek",
                        "sreda",
                        "četrtek",
                        "petek",
                        "sobota",
                    }
                }
                stand-alone{
                    narrow{
                        "n",
                        "p",
                        "t",
                        "s",
                        "č",
                        "p",
                        "s",
                    }
                }
            }
            eras{
                abbreviated{
                    "pr.n.š.",
                    "po Kr.",
                }
            }
            monthNames{
                format{
                    abbreviated{
                        "jan",
                        "feb",
                        "mar",
                        "apr",
                        "maj",
                        "jun",
                        "jul",
                        "avg",
                        "sep",
                        "okt",
                        "nov",
                        "dec",
                    }
                    wide{
                        "januar",
                        "februar",
                        "marec",
                        "april",
                        "maj",
                        "junij",
                        "julij",
                        "avgust",
                        "september",
                        "oktober",
                        "november",
                        "december",
                    }
                }
                stand-alone{
                    narrow{
                        "j",
                        "f",
                        "m",
                        "a",
                        "m",
                        "j",
                        "j",
                        "a",
                        "s",
                        "o",
                        "n",
                        "d",
                    }
                }
            }
        }
    }
    localPatternChars{"GanjkHmsSEDFwWxhKzAeugXZvcL"}
}
