﻿// ***************************************************************************
// *
// * Copyright (C) 2016 International Business Machines
// * Corporation and others. All Rights Reserved.
// * Tool: org.unicode.cldr.icu.NewLdml2IcuConverter
// * 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:",
            "-x: \u2212>>;",
            "0: =#,##0=$(ordinal,one{st}two{nd}few{rd}other{th})$;",
        }
        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:",
            "-x: minus >>;",
            "Inf: infinity;",
            "NaN: not a number;",
            "0: =%spellout-cardinal=;",
            "%spellout-numbering-verbose:",
            "-x: minus >>;",
            "Inf: infinity;",
            "NaN: not a number;",
            "0: =%spellout-cardinal-verbose=;",
            "%spellout-cardinal:",
            "-x: minus >>;",
            "x.x: << point >>;",
            "Inf: infinite;",
            "NaN: not a number;",
            "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 >>;",
            "Inf: infinite;",
            "NaN: not a number;",
            "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=;",
            "%%tieth:",
            "0: tieth;",
            "1: ty-=%spellout-ordinal=;",
            "%%th:",
            "0: th;",
            "1: ' =%spellout-ordinal=;",
            "%spellout-ordinal:",
            "-x: minus >>;",
            "x.x: =#,##0.#=;",
            "Inf: infinitieth;",
            "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.#=;",
            "Inf: infinitieth;",
            "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.1.21.55"}
}
