﻿// ***************************************************************************
// *
// * 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." /** (choice)  */,
            "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",
        "+",
    }
    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.84"}
    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{
                MMMMd{"d MMMM"}
            }
            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",
                    }
                }
            }
        }
    }
    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"}
    }
}
