View Source Bonfire.Common.Localise.Cldr.Rbnf.Ordinal (Bonfire v0.9.10-classic-beta.169)

Functions to implement the ordinal 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.Ordinal.rule_sets(:en)
[:digits_ordinal]

iex> Bonfire.Common.Localise.Cldr.Rbnf.Ordinal.rule_sets("fr")
...> |> Enum.sort()
[
  :digits_ordinal,
  :digits_ordinal_feminine,
  :digits_ordinal_feminine_plural,
  :digits_ordinal_masculine,
  :digits_ordinal_masculine_plural
]

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

iex> Bonfire.Common.Localise.Cldr.Rbnf.Ordinal.digits_ordinal(123, :en)
"123rd"

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

iex> Bonfire.Common.Localise.Cldr.Number.to_string(123, format: :ordinal)
{:ok, "123rd"}

Summary

Functions

Link to this function

digits_ordinal(number, locale)

View Source
Link to this function

digits_ordinal_feminine(number, locale)

View Source
Link to this function

digits_ordinal_feminine_plural(number, locale)

View Source
Link to this function

digits_ordinal_indicator_m(number, language_tag)

View Source
Link to this function

digits_ordinal_masculine(number, locale)

View Source
Link to this function

digits_ordinal_masculine_adjective(number, locale)

View Source
Link to this function

digits_ordinal_masculine_plural(number, locale)

View Source
Link to this function

dord_femabbrev(number, language_tag)

View Source
Link to this function

dord_mascabbrev(number, language_tag)

View Source
Link to this function

rule_sets(rbnf_locale_name)

View Source