﻿// ***************************************************************************
// *
// * Copyright (C) 2007 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{
    AuxExemplarCharacters{"[q w-y]"}
    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 [018]"}
        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"}
        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"}
        IM{"Otok Man"}
        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{
            "R$",
            "Brazilski Real",
        }
        CNY{
            "CNY",
            "Kitajski Yuan Renminbi",
        }
        EUR{
            "€",
            "Evro",
        }
        GBP{
            "UK£",
            "Britanski Funt Sterling",
        }
        INR{
            "=0#Rs.|1#Re.|1<Rs.",
            "Indijski Rupi",
        }
        JPY{
            "JP¥",
            "Japonski Jen",
        }
        RUB{
            "RUB",
            "Ruska Rublja",
        }
        SIT{
            "SIT",
            "Slovenski tolar",
        }
        USD{
            "US$",
            "Ameriški Dolar",
        }
    }
    ExemplarCharacters{"[a-c č d-p r s š t-v z ž]"}
    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",
        "‰",
        "∞",
        "NaN",
        "+",
    }
    NumberPatterns{
        "#,##0.###",
        "¤ #,##0.00",
        "#,##0%",
        "#E0",
    }
    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.76"}
    calendar{
        gregorian{
            DateTimePatterns{
                "H:mm:ss v",
                "H:mm:ss z",
                "H:mm:ss",
                "H:mm",
                "EEEE, dd. MMMM yyyy",
                "dd. MMMM yyyy",
                "d.M.yyyy",
                "d.M.yy",
                "{1} {0}",
            }
            availableFormats{
                MMMMdd{"dd. MMMM"}
                Md{"d.M"}
                mmss{"mm:ss"}
                yyQ{"Q yy"}
                yyyyM{"M.yyyy"}
                yyyyMMMM{"MMMM yyyy"}
            }
            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.",
                }
                wide{
                    "pred našim štetjem",
                    "naše štetje",
                }
            }
            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",
                    }
                }
            }
            quarters{
                format{
                    abbreviated{
                        "Prvo četrtletje",
                        "Q2",
                        "Tretje četrtletje",
                        "Četrto četrtletje",
                    }
                    wide{
                        "Prvo četrtletje",
                        "Drugo četrtletje",
                        "Tretje četrtletje",
                        "Četrto četrtletje",
                    }
                }
            }
        }
    }
    zoneStrings{
        "Africa:Kinshasa"{
            ec{"Kinšasa"}
        }
        "Africa:Lubumbashi"{
            ec{"Lubumbaši"}
        }
        "Antarctica:South_Pole"{
            ec{"Južni pol"}
        }
        "Asia:Anadyr"{
            ec{"Anadir"}
        }
        "Asia:Kamchatka"{
            ec{"Kamčatka"}
        }
        "Asia:Krasnoyarsk"{
            ec{"Krasnojarsk"}
        }
        "Asia:Shanghai"{
            ec{"Šangaj"}
        }
        "Asia:Tashkent"{
            ec{"Taškent"}
        }
        "Europe:Kiev"{
            ec{"Kijev"}
        }
        "Europe:Moscow"{
            ec{"Moskva"}
        }
        "Europe:Uzhgorod"{
            ec{"Užgorod"}
        }
        "Europe:Zaporozhye"{
            ec{"Zaporožje"}
        }
        hourFormat{"+HHmm;-HHmm"}
    }
}
