﻿// ***************************************************************************
// *
// * Copyright (C) 2009 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/rbnf/sl.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/rbnf/sl.xml
 */
sl{
    RBNFRules{
        SpelloutRules{
            "%spellout-cardinal-feminine:",
            "0: ni\u010D;",
            "1: ena;",
            "2: dvije;",
            "3: =%spellout-cardinal-masculine=;",
            "20: dvaset[ >>];",
            "30: <<deset[ >>];",
            "100: sto[ >>];",
            "200: dvjesto[ >>];",
            "300: tristo[ >>];",
            "400: \u0161tiristo[ >>];",
            "500: petsto[ >>];",
            "600: \u0161esto[ >>];",
            "700: sedemsto[ >>];",
            "800: osemsto[ >>];",
            "900: devetsto[ >>];",
            "1000: tisu\u0107u[ >>];",
            "2000: <%spellout-cardinal-feminine< tisu\u0107e[ >>];",
            "5000: <%spellout-cardinal-feminine< tisu\u0107u[ >>];",
            "1000000: <%spellout-cardinal-masculine< milijun[ >>];",
            "2000000: <%spellout-cardinal-masculine< milijuny[ >>];",
            "5000000: <%spellout-cardinal-masculine< milijun[ >>];",
            "1000000000: <%spellout-cardinal-masculine< miliarda[ >>];",
            "2000000000: <%spellout-cardinal-masculine< miliardy[ >>];",
            "5000000000: <%spellout-cardinal-masculine< miliarda[ >>];",
            "1000000000000: <%spellout-cardinal-masculine< bilijun[ >>];",
            "2000000000000: <%spellout-cardinal-masculine< bilijuny[ >>];",
            "5000000000000: <%spellout-cardinal-masculine< bilijun[ >>];",
            "1000000000000000: <%spellout-cardinal-masculine< biliarda[ >>];",
            "2000000000000000: <%spellout-cardinal-masculine< biliardy[ >>];",
            "5000000000000000: <%spellout-cardinal-masculine< biliarda[ >>];",
            "1000000000000000000: =#,##0=;",
            "-x: minus >>;",
            "x.x: << vejica >>;",
            "%spellout-cardinal-masculine:",
            "0: ni\u010D;",
            "1: ena;",
            "2: dva;",
            "3: tri;",
            "4: \u0161tiri;",
            "5: pet;",
            "6: \u0161est;",
            "7: sedem;",
            "8: osem;",
            "9: devet;",
            "10: deset;",
            "11: enajst;",
            "12: dvanajst;",
            "13: trinajst;",
            "14: \u0161trinajst;",
            "15: petnajst;",
            "16: \u0161estnajst;",
            "17: sedemnajst;",
            "18: asemnajst;",
            "19: devetnajst;",
            "20: dvaset[ >>];",
            "30: <<deset[ >>];",
            "100: sto[ >>];",
            "200: dvjesto[ >>];",
            "300: tristo[ >>];",
            "400: \u0161tiristo[ >>];",
            "500: petsto[ >>];",
            "600: \u0161esto[ >>];",
            "700: sedemsto[ >>];",
            "800: osemsto[ >>];",
            "900: devetsto[ >>];",
            "1000: tisu\u0107u[ >>];",
            "2000: <%spellout-cardinal-feminine< tisu\u0107e[ >>];",
            "5000: <%spellout-cardinal-feminine< tisu\u0107u[ >>];",
            "1000000: <%spellout-cardinal-masculine< milijun[ >>];",
            "2000000: <%spellout-cardinal-masculine< milijuny[ >>];",
            "5000000: <%spellout-cardinal-masculine< milijun[ >>];",
            "1000000000: <%spellout-cardinal-masculine< miliarda[ >>];",
            "2000000000: <%spellout-cardinal-masculine< miliardy[ >>];",
            "5000000000: <%spellout-cardinal-masculine< miliarda[ >>];",
            "1000000000000: <%spellout-cardinal-masculine< bilijun[ >>];",
            "2000000000000: <%spellout-cardinal-masculine< bilijuny[ >>];",
            "5000000000000: <%spellout-cardinal-masculine< bilijun[ >>];",
            "1000000000000000: <%spellout-cardinal-masculine< biliarda[ >>];",
            "2000000000000000: <%spellout-cardinal-masculine< biliardy[ >>];",
            "5000000000000000: <%spellout-cardinal-masculine< biliarda[ >>];",
            "1000000000000000000: =#,##0=;",
            "-x: minus >>;",
            "x.x: << vejica >>;",
            "%spellout-cardinal-neutre:",
            "0: ni\u010D;",
            "1: ena;",
            "2: dve;",
            "3: =%spellout-cardinal-masculine=;",
            "20: dvaset[ >>];",
            "30: <<deset[ >>];",
            "100: sto[ >>];",
            "200: dvjesto[ >>];",
            "300: tristo[ >>];",
            "400: \u0161tiristo[ >>];",
            "500: petsto[ >>];",
            "600: \u0161esto[ >>];",
            "700: sedemsto[ >>];",
            "800: osemsto[ >>];",
            "900: devetsto[ >>];",
            "1000: tisu\u0107u[ >>];",
            "2000: <%spellout-cardinal-feminine< tisu\u0107e[ >>];",
            "5000: <%spellout-cardinal-feminine< tisu\u0107u[ >>];",
            "1000000: <%spellout-cardinal-masculine< milijun[ >>];",
            "2000000: <%spellout-cardinal-masculine< milijuny[ >>];",
            "5000000: <%spellout-cardinal-masculine< milijun[ >>];",
            "1000000000: <%spellout-cardinal-masculine< miliarda[ >>];",
            "2000000000: <%spellout-cardinal-masculine< miliardy[ >>];",
            "5000000000: <%spellout-cardinal-masculine< miliarda[ >>];",
            "1000000000000: <%spellout-cardinal-masculine< bilijun[ >>];",
            "2000000000000: <%spellout-cardinal-masculine< bilijuny[ >>];",
            "5000000000000: <%spellout-cardinal-masculine< bilijun[ >>];",
            "1000000000000000: <%spellout-cardinal-masculine< biliarda[ >>];",
            "2000000000000000: <%spellout-cardinal-masculine< biliardy[ >>];",
            "5000000000000000: <%spellout-cardinal-masculine< biliarda[ >>];",
            "1000000000000000000: =#,##0=;",
            "-x: minus >>;",
            "x.x: << vejica >>;",
            "%spellout-numbering:",
            "0: =%spellout-cardinal-masculine=;",
            "%spellout-numbering-year:",
            "0: =%spellout-numbering=;",
            "x.x: =#,###0.#=;",
        }
    }
    Version{"1.1"}
}
