﻿// ***************************************************************************
// *
// * Copyright (C) 2011 International Business Machines
// * Corporation and others.  All Rights Reserved.
// * Tool: com.ibm.icu.dev.tool.cldr.LDML2ICUConverter.java
// * Source File:<path>/common/rbnf/hr.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/rbnf/hr.xml
 */
hr{
    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[ i >>];",
            "30: trideset[ i >>];",
            "40: \u010Detrdeset[ i >>];",
            "50: pedeset[ i >>];",
            "60: \u0161ezdeset[ i >>];",
            "70: sedamdeset[ i >>];",
            "80: osamdeset[ i >>];",
            "90: devedeset[ i >>];",
            "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[ i >>];",
            "30: trideset[ i >>];",
            "40: \u010Detrdeset[ i >>];",
            "50: pedeset[ i >>];",
            "60: \u0161ezdeset[ i >>];",
            "70: sedamdeset[ i >>];",
            "80: osamdeset[ i >>];",
            "90: devedeset[ i >>];",
            "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[ i >>];",
            "30: trideset[ i >>];",
            "40: \u010Detrdeset[ i >>];",
            "50: pedeset[ i >>];",
            "60: \u0161ezdeset[ i >>];",
            "70: sedamdeset[ i >>];",
            "80: osamdeset[ i >>];",
            "90: devedeset[ i >>];",
            "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.41.26"}
}
