﻿// ***************************************************************************
// *
// * Copyright (C) 2012 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/rbnf/sr_Latn.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/rbnf/sr_Latn.xml
 */
sr_Latn{
    %%Parent{"root"}
    RBNFRules{
        SpelloutRules{
            "%spellout-numbering-year:",
            "x.x: =#,###0.#=;",
            "0: =%spellout-numbering=;",
            "%spellout-numbering:",
            "0: =%spellout-cardinal-masculine=;",
            "%spellout-cardinal-masculine:",
            "-x: minus >>;",
            "x.x: << zarez >>;",
            "0: nula;",
            "1: jedan;",
            "2: dva;",
            "3: tri;",
            "4: \u010Detiri;",
            "5: pet;",
            "6: \u0161est;",
            "7: sedam;",
            "8: osam;",
            "9: devet;",
            "10: deset;",
            "11: jedenaest;",
            "12: dvanaest;",
            "13: trinaest;",
            "14: \u010Detrnaest;",
            "15: petnaest;",
            "16: \u0161estnaest;",
            "17: sedamnaest;",
            "18: osamnaest;",
            "19: devetnaest;",
            "20: dvadeset[ >>];",
            "30: trideset[ >>];",
            "40: \u010Detrdeset[ >>];",
            "50: pedeset[ >>];",
            "60: \u0161ezdeset[ >>];",
            "70: sedamdeset[ >>];",
            "80: osamdeset[ >>];",
            "90: devedeset[ >>];",
            "100: sto[ >>];",
            "200: dvesto[ >>];",
            "300: tristo[ >>];",
            "400: \u010Detristo[ >>];",
            "500: petsto[ >>];",
            "600: \u0161esto[ >>];",
            "700: sedamsto[ >>];",
            "800: osamsto[ >>];",
            "900: devetsto[ >>];",
            "1000: tisu\u0107u[ >>];",
            "2000: <%spellout-cardinal-feminine< tisu\u0107a[ >>];",
            "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=;",
            "%spellout-cardinal-neutre:",
            "-x: minus >>;",
            "x.x: << zarez >>;",
            "0: nula;",
            "1: jedno;",
            "2: dva;",
            "3: =%spellout-cardinal-masculine=;",
            "20: dvadeset[ >>];",
            "30: trideset[ >>];",
            "40: \u010Detrdeset[ >>];",
            "50: pedeset[ >>];",
            "60: \u0161ezdeset[ >>];",
            "70: sedamdeset[ >>];",
            "80: osamdeset[ >>];",
            "90: devedeset[ >>];",
            "100: sto[ >>];",
            "200: dvesto[ >>];",
            "300: tristo[ >>];",
            "400: \u010Detristo[ >>];",
            "500: petsto[ >>];",
            "600: \u0161esto[ >>];",
            "700: sedamsto[ >>];",
            "800: osamsto[ >>];",
            "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=;",
            "%spellout-cardinal-feminine:",
            "-x: minus >>;",
            "x.x: << zarez >>;",
            "0: nula;",
            "1: jedinica;",
            "2: dve;",
            "3: =%spellout-cardinal-masculine=;",
            "20: dvadeset[ >>];",
            "30: trideset[ >>];",
            "40: \u010Detrdeset[ >>];",
            "50: pedeset[ >>];",
            "60: \u0161ezdeset[ >>];",
            "70: sedamdeset[ >>];",
            "80: osamdeset[ >>];",
            "90: devedeset[ >>];",
            "100: sto[ >>];",
            "200: dvesto[ >>];",
            "300: tristo[ >>];",
            "400: \u010Detristo[ >>];",
            "500: petsto[ >>];",
            "600: \u0161esto[ >>];",
            "700: sedamsto[ >>];",
            "800: osamsto[ >>];",
            "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=;",
        }
    }
    Version{"2.0.73.63"}
}
