Bonfire.Common.Localise.Cldr.Rbnf.Spellout (Bonfire v0.9.12-social-beta.71)

View Source

Functions to implement the spellout rule-based-number-format rules of CLDR.

As CLDR notes, the data is incomplete or non-existent for many languages. It is considered complete for English however.

The standard public API for RBNF is via the Cldr.Number.to_string/2 function.

The functions on this module are defined at compile time based upon the RBNF rules defined in the Unicode CLDR data repository. Available rules are identified by:

iex> Bonfire.Common.Localise.Cldr.Rbnf.Spellout.rule_sets("en")
...> |> Enum.sort()
[
  :spellout_cardinal,
  :spellout_cardinal_verbose,
  :spellout_numbering,
  :spellout_numbering_verbose,
  :spellout_numbering_year,
  :spellout_ordinal,
  :spellout_ordinal_verbose
]

A rule can then be invoked on an available rule_set. For example:

iex> Bonfire.Common.Localise.Cldr.Rbnf.Spellout.spellout_ordinal(123, "en")
"one hundred twenty-third"

This call is equivalent to the call through the public API of:

iex> Bonfire.Common.Localise.Cldr.Number.to_string(123, format: :spellout)
{:ok, "one hundred twenty-three"}

Summary

Functions

Functions

after_hundred(number, language_tag)

after_thousand_or_more(number, language_tag)

aja(number, language_tag)

all_rule_sets()

number and language_tag

and_o(number, language_tag)

cents_f(number, language_tag)

cents_m(number, language_tag)

cents_o(number, language_tag)

commas(number, language_tag)

commas_o(number, language_tag)

et_un(number, language_tag)

et_une(number, language_tag)

et_unieme(number, language_tag)

fem_with_a(number, language_tag)

fem_with_i(number, language_tag)

fem_with_o(number, language_tag)

fractions_feminine(number, language_tag)

fractions_feminine_accusative(number, language_tag)

fractions_feminine_dative(number, language_tag)

fractions_feminine_genitive(number, language_tag)

fractions_feminine_instrumental(number, language_tag)

fractions_feminine_locative(number, language_tag)

fractions_feminine_prepositional(number, language_tag)

lenient_parse(number, language_tag)

mille_o(number, language_tag)

msc_no_final(number, language_tag)

msc_with_a(number, language_tag)

msc_with_a_nofinal(number, language_tag)

msc_with_i(number, language_tag)

msc_with_i_nofinal(number, language_tag)

msc_with_o(number, language_tag)

msc_with_o_nofinal(number, language_tag)

msco_with_a(number, language_tag)

msco_with_i(number, language_tag)

msco_with_o(number, language_tag)

oe(number, language_tag)

ogo(number, language_tag)

oj(number, language_tag)

om(number, language_tag)

omu(number, language_tag)

ordinal_esima(number, language_tag)

ordinal_esima_with_a(number, language_tag)

ordinal_esima_with_i(number, language_tag)

ordinal_esima_with_o(number, language_tag)

ordinal_esime(number, language_tag)

ordinal_esime_with_a(number, language_tag)

ordinal_esime_with_i(number, language_tag)

ordinal_esime_with_o(number, language_tag)

ordinal_esimi(number, language_tag)

ordinal_esimi_with_a(number, language_tag)

ordinal_esimi_with_i(number, language_tag)

ordinal_esimi_with_o(number, language_tag)

ordinal_esimo(number, language_tag)

ordinal_esimo_with_a(number, language_tag)

ordinal_esimo_with_i(number, language_tag)

ordinal_esimo_with_o(number, language_tag)

r2d_year(number, language_tag)

rule_sets()

rule_sets(rbnf_locale_name)

spellout_cardinal(number, locale)

spellout_cardinal_feminine(number, locale)

spellout_cardinal_feminine_ablative(number, locale)

spellout_cardinal_feminine_accusative(number, locale)

spellout_cardinal_feminine_and(number, language_tag)

spellout_cardinal_feminine_dative(number, locale)

spellout_cardinal_feminine_financial(number, locale)

spellout_cardinal_feminine_financial_and(number, language_tag)

spellout_cardinal_feminine_genitive(number, locale)

spellout_cardinal_feminine_instrumental(number, locale)

spellout_cardinal_feminine_locative(number, locale)

spellout_cardinal_feminine_prepositional(number, locale)

spellout_cardinal_m(number, locale)

spellout_cardinal_masculine(number, locale)

spellout_cardinal_masculine_ablative(number, locale)

spellout_cardinal_masculine_accusative(number, locale)

spellout_cardinal_masculine_and(number, language_tag)

spellout_cardinal_masculine_dative(number, locale)

spellout_cardinal_masculine_financial(number, locale)

spellout_cardinal_masculine_financial_and(number, language_tag)

spellout_cardinal_masculine_genitive(number, locale)

spellout_cardinal_masculine_instrumental(number, locale)

spellout_cardinal_masculine_locative(number, locale)

spellout_cardinal_masculine_personal(number, locale)

spellout_cardinal_masculine_personal_and(number, language_tag)

spellout_cardinal_masculine_personal_financial(number, locale)

spellout_cardinal_masculine_personal_financial_and(number, language_tag)

spellout_cardinal_masculine_prepositional(number, locale)

spellout_cardinal_n(number, locale)

spellout_cardinal_neuter(number, locale)

spellout_cardinal_neuter_ablative(number, locale)

spellout_cardinal_neuter_accusative(number, locale)

spellout_cardinal_neuter_and(number, language_tag)

spellout_cardinal_neuter_dative(number, locale)

spellout_cardinal_neuter_financial(number, locale)

spellout_cardinal_neuter_financial_and(number, language_tag)

spellout_cardinal_neuter_genitive(number, locale)

spellout_cardinal_neuter_instrumental(number, locale)

spellout_cardinal_neuter_locative(number, locale)

spellout_cardinal_neuter_prepositional(number, locale)

spellout_cardinal_plural(number, locale)

spellout_cardinal_plural_ablative(number, locale)

spellout_cardinal_plural_accusative(number, locale)

spellout_cardinal_plural_dative(number, locale)

spellout_cardinal_plural_genitive(number, locale)

spellout_cardinal_plural_instrumental(number, locale)

spellout_cardinal_plural_locative(number, locale)

spellout_cardinal_plural_prepositional(number, locale)

spellout_cardinal_r(number, locale)

spellout_cardinal_s(number, locale)

spellout_cardinal_stem_few(number, language_tag)

spellout_cardinal_verbose(number, locale)

spellout_leading(number, language_tag)

spellout_numbering(number, locale)

spellout_numbering_verbose(number, locale)

spellout_numbering_year(number, locale)

spellout_ordinal(number, locale)

spellout_ordinal_base(number, language_tag)

spellout_ordinal_base_i(number, language_tag)

spellout_ordinal_feminine(number, locale)

spellout_ordinal_feminine_ablative(number, locale)

spellout_ordinal_feminine_accusative(number, locale)

spellout_ordinal_feminine_and_suffix(number, language_tag)

spellout_ordinal_feminine_cont(number, language_tag)

spellout_ordinal_feminine_cont_plural(number, language_tag)

spellout_ordinal_feminine_conts(number, language_tag)

spellout_ordinal_feminine_conts_plural(number, language_tag)

spellout_ordinal_feminine_dative(number, locale)

spellout_ordinal_feminine_genitive(number, locale)

spellout_ordinal_feminine_hundreds_and_suffix(number, language_tag)

spellout_ordinal_feminine_instrumental(number, locale)

spellout_ordinal_feminine_large(number, language_tag)

spellout_ordinal_feminine_large_plural(number, language_tag)

spellout_ordinal_feminine_locative(number, locale)

spellout_ordinal_feminine_million_and_suffix(number, language_tag)

spellout_ordinal_feminine_plural(number, locale)

spellout_ordinal_feminine_plural_accusative(number, locale)

spellout_ordinal_feminine_plural_dative(number, locale)

spellout_ordinal_feminine_plural_genitive(number, locale)

spellout_ordinal_feminine_plural_instrumental(number, locale)

spellout_ordinal_feminine_plural_locative(number, locale)

spellout_ordinal_feminine_prepositional(number, locale)

spellout_ordinal_feminine_thousand_and_suffix(number, language_tag)

spellout_ordinal_feminine_thousands_and_suffix(number, language_tag)

spellout_ordinal_m(number, locale)

spellout_ordinal_masculine(number, locale)

spellout_ordinal_masculine_ablative(number, locale)

spellout_ordinal_masculine_accusative(number, locale)

spellout_ordinal_masculine_adjective(number, locale)

spellout_ordinal_masculine_and_suffix(number, language_tag)

spellout_ordinal_masculine_cont(number, language_tag)

spellout_ordinal_masculine_conts(number, language_tag)

spellout_ordinal_masculine_dative(number, locale)

spellout_ordinal_masculine_genitive(number, locale)

spellout_ordinal_masculine_hundreds_and_suffix(number, language_tag)

spellout_ordinal_masculine_instrumental(number, locale)

spellout_ordinal_masculine_large(number, language_tag)

spellout_ordinal_masculine_locative(number, locale)

spellout_ordinal_masculine_million_and_suffix(number, language_tag)

spellout_ordinal_masculine_plural(number, locale)

spellout_ordinal_masculine_plural_accusative(number, locale)

spellout_ordinal_masculine_plural_dative(number, locale)

spellout_ordinal_masculine_plural_genitive(number, locale)

spellout_ordinal_masculine_plural_instrumental(number, locale)

spellout_ordinal_masculine_plural_locative(number, locale)

spellout_ordinal_masculine_prepositional(number, locale)

spellout_ordinal_masculine_thousand_and_suffix(number, language_tag)

spellout_ordinal_masculine_thousands_and_suffix(number, language_tag)

spellout_ordinal_n(number, locale)

spellout_ordinal_neuter(number, locale)

spellout_ordinal_neuter_ablative(number, locale)

spellout_ordinal_neuter_accusative(number, locale)

spellout_ordinal_neuter_and_suffix(number, language_tag)

spellout_ordinal_neuter_dative(number, locale)

spellout_ordinal_neuter_genitive(number, locale)

spellout_ordinal_neuter_hundreds_and_suffix(number, language_tag)

spellout_ordinal_neuter_instrumental(number, locale)

spellout_ordinal_neuter_locative(number, locale)

spellout_ordinal_neuter_million_and_suffix(number, language_tag)

spellout_ordinal_neuter_prepositional(number, locale)

spellout_ordinal_neuter_thousand_and_suffix(number, language_tag)

spellout_ordinal_neuter_thousands_and_suffix(number, language_tag)

spellout_ordinal_plural(number, locale)

spellout_ordinal_plural_ablative(number, locale)

spellout_ordinal_plural_accusative(number, locale)

spellout_ordinal_plural_dative(number, locale)

spellout_ordinal_plural_genitive(number, locale)

spellout_ordinal_plural_instrumental(number, locale)

spellout_ordinal_plural_locative(number, locale)

spellout_ordinal_plural_prepositional(number, locale)

spellout_ordinal_r(number, locale)

spellout_ordinal_s(number, locale)

spellout_ordinal_verbose(number, locale)

ste2(number, language_tag)

ste(number, language_tag)

subcents_f(number, language_tag)

subcents_m(number, language_tag)

subcents_o(number, language_tag)

teen(number, language_tag)

th(number, language_tag)

thousandsprefixconjoined(number, language_tag)

thousandsprefixseparate(number, language_tag)

tieth(number, language_tag)

uju(number, language_tag)

x_ty(number, language_tag)

ye(number, language_tag)

yh(number, language_tag)

yj(number, language_tag)

ym(number, language_tag)

ymi(number, language_tag)