﻿// ***************************************************************************
// *
// * 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/en.xml
// *
// ***************************************************************************
/**
 *  ICU <specials> source: <path>/xml/rbnf/en.xml
 */
en{
    RBNFRules{
        DurationRules{
            "%with-words:",
            "0: 0 seconds; 1 second; =0= seconds;",
            "60/60: <%%min<[, >>];",
            "3600/60: <%%hr<[, >>>];",
            "%%min:",
            "0: 0 minutes; 1 minute; =0= minutes;",
            "%%hr:",
            "0: 0 hours; 1 hour; =0= hours;",
            "%in-numerals:",
            "0: =0= sec.;",
            "60: =%%min-sec=;",
            "3600: =%%hr-min-sec=;",
            "%%min-sec:",
            "0: :=00=;",
            "60/60: <0<>>;",
            "%%hr-min-sec:",
            "0: :=00=;",
            "60/60: <00<>>;",
            "3600/60: <#,##0<:>>>;",
            "%duration:",
            "0: =%in-numerals=;",
            "%%lenient-parse:",
            "& ':' = '.' = ' ' = '-';",
        }
        OrdinalRules{
            "%%digits-ordinal-indicator:",
            "0: \u1D57\u02B0;",
            "1: \u02E2\u1D57;",
            "2: \u207F\u1D48;",
            "3: \u02B3\u1D48;",
            "4: \u1D57\u02B0;",
            "20: >>;",
            "100: >>;",
            "%digits-ordinal:",
            "-x: \u2212>>;",
            "0: =#,##0==%%digits-ordinal-indicator=;",
        }
        SpelloutRules{
            "%%2d-year:",
            "0: hundred[ and >%spellout-numbering>];",
            "1: oh-=%spellout-numbering=;",
            "10: =%spellout-numbering=;",
            "%spellout-numbering-year:",
            "-x: minus >>;",
            "x.x: =#,###0.#=;",
            "0: =%spellout-numbering=;",
            "1000/100: << >%%2d-year>;",
            "10000: =%spellout-numbering=;",
            "%spellout-numbering:",
            "0: =%spellout-cardinal=;",
            "%spellout-numbering-verbose:",
            "0: =%spellout-cardinal-verbose=;",
            "%spellout-cardinal:",
            "-x: minus >>;",
            "x.x: << point >>;",
            "0: zero;",
            "1: one;",
            "2: two;",
            "3: three;",
            "4: four;",
            "5: five;",
            "6: six;",
            "7: seven;",
            "8: eight;",
            "9: nine;",
            "10: ten;",
            "11: eleven;",
            "12: twelve;",
            "13: thirteen;",
            "14: fourteen;",
            "15: fifteen;",
            "16: sixteen;",
            "17: seventeen;",
            "18: eighteen;",
            "19: nineteen;",
            "20: twenty[->>];",
            "30: thirty[->>];",
            "40: forty[->>];",
            "50: fifty[->>];",
            "60: sixty[->>];",
            "70: seventy[->>];",
            "80: eighty[->>];",
            "90: ninety[->>];",
            "100: << hundred[ >>];",
            "1000: << thousand[ >>];",
            "1000000: << million[ >>];",
            "1000000000: << billion[ >>];",
            "1000000000000: << trillion[ >>];",
            "1000000000000000: << quadrillion[ >>];",
            "1000000000000000000: =#,##0=;",
            "%%and:",
            "1: ' and =%spellout-cardinal-verbose=;",
            "100: ' =%spellout-cardinal-verbose=;",
            "%%commas:",
            "1: ' and =%spellout-cardinal-verbose=;",
            "100: , =%spellout-cardinal-verbose=;",
            "1000: , <%spellout-cardinal-verbose< thousand[>%%commas>];",
            "1000000: , =%spellout-cardinal-verbose=;",
            "%spellout-cardinal-verbose:",
            "-x: minus >>;",
            "x.x: << point >>;",
            "0: =%spellout-numbering=;",
            "100: << hundred[>%%and>];",
            "1000: << thousand[>%%and>];",
            "100000/1000: << thousand[>%%commas>];",
            "1000000: << million[>%%commas>];",
            "1000000000: << billion[>%%commas>];",
            "1000000000000: << trillion[>%%commas>];",
            "1000000000000000: << quadrillion[>%%commas>];",
            "1000000000000000000: =#,##0=;",
            "%%lenient-parse:",
            "&[last primary ignorable ] << ' ' << ',' << '-' << '\u00AD';",
            "%%tieth:",
            "0: tieth;",
            "1: ty-=%spellout-ordinal=;",
            "%%th:",
            "0: th;",
            "1: ' =%spellout-ordinal=;",
            "%spellout-ordinal:",
            "-x: minus >>;",
            "x.x: =#,##0.#=;",
            "0: zeroth;",
            "1: first;",
            "2: second;",
            "3: third;",
            "4: fourth;",
            "5: fifth;",
            "6: sixth;",
            "7: seventh;",
            "8: eighth;",
            "9: ninth;",
            "10: tenth;",
            "11: eleventh;",
            "12: twelfth;",
            "13: =%spellout-numbering=th;",
            "20: twen>%%tieth>;",
            "30: thir>%%tieth>;",
            "40: for>%%tieth>;",
            "50: fif>%%tieth>;",
            "60: six>%%tieth>;",
            "70: seven>%%tieth>;",
            "80: eigh>%%tieth>;",
            "90: nine>%%tieth>;",
            "100: <%spellout-numbering< hundred>%%th>;",
            "1000: <%spellout-numbering< thousand>%%th>;",
            "1000000: <%spellout-numbering< million>%%th>;",
            "1000000000: <%spellout-numbering< billion>%%th>;",
            "1000000000000: <%spellout-numbering< trillion>%%th>;",
            "1000000000000000: <%spellout-numbering< quadrillion>%%th>;",
            "1000000000000000000: =#,##0=.;",
            "%%and-o:",
            "0: th;",
            "1: ' and =%spellout-ordinal-verbose=;",
            "100: ' =%spellout-ordinal-verbose=;",
            "%%commas-o:",
            "0: th;",
            "1: ' and =%spellout-ordinal-verbose=;",
            "100: , =%spellout-ordinal-verbose=;",
            "1000: , <%spellout-cardinal-verbose< thousand>%%commas-o>;",
            "1000000: , =%spellout-ordinal-verbose=;",
            "%spellout-ordinal-verbose:",
            "-x: minus >>;",
            "x.x: =#,##0.#=;",
            "0: =%spellout-ordinal=;",
            "100: <%spellout-numbering-verbose< hundred>%%and-o>;",
            "1000: <%spellout-numbering-verbose< thousand>%%and-o>;",
            "100000/1000: <%spellout-numbering-verbose< thousand>%%commas-o>;",
            "1000000: <%spellout-numbering-verbose< million>%%commas-o>;",
            "1000000000: <%spellout-numbering-verbose< billion>%%commas-o>;",
            "1000000000000: <%spellout-numbering-verbose< trillion>%%commas-o>;",
            "1000000000000000: <%spellout-numbering-verbose< quadrillion>%%commas-o>;",
            "1000000000000000000: =#,##0=.;",
        }
    }
    Version{"2.0.41.26"}
}
