﻿// ***************************************************************************
// *
// * Copyright (C) 2013 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: th;",
            "1: st;",
            "2: nd;",
            "3: rd;",
            "4: th;",
            "20: >>;",
            "100: >>;",
            "%digits-ordinal:",
            "-x: \u2212>>;",
            "0: =#,##0==%%digits-ordinal-indicator=;",
        }
        SpelloutRules{
            "%%2d-year:",
            "0: hundred;",
            "1: oh-=%spellout-numbering=;",
            "10: =%spellout-numbering=;",
            "%spellout-numbering-year:",
            "-x: minus >>;",
            "x.x: =#,###0.#=;",
            "0: =%spellout-numbering=;",
            "1010/100: << >%%2d-year>;",
            "1100/100: << >%%2d-year>;",
            "2000: =%spellout-numbering=;",
            "2010/100: << >%%2d-year>;",
            "2100/100: << >%%2d-year>;",
            "3000: =%spellout-numbering=;",
            "3010/100: << >%%2d-year>;",
            "3100/100: << >%%2d-year>;",
            "4000: =%spellout-numbering=;",
            "4010/100: << >%%2d-year>;",
            "4100/100: << >%%2d-year>;",
            "5000: =%spellout-numbering=;",
            "5010/100: << >%%2d-year>;",
            "5100/100: << >%%2d-year>;",
            "6000: =%spellout-numbering=;",
            "6010/100: << >%%2d-year>;",
            "6100/100: << >%%2d-year>;",
            "7000: =%spellout-numbering=;",
            "7010/100: << >%%2d-year>;",
            "7100/100: << >%%2d-year>;",
            "8000: =%spellout-numbering=;",
            "8010/100: << >%%2d-year>;",
            "8100/100: << >%%2d-year>;",
            "9000: =%spellout-numbering=;",
            "9010/100: << >%%2d-year>;",
            "9100/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.82.42"}
}
