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

View Source

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

Functions

all_rule_sets()

digits_ordinal(number, locale)

digits_ordinal_feminine(number, locale)

digits_ordinal_feminine_ablative(number, locale)

digits_ordinal_feminine_accusative(number, locale)

digits_ordinal_feminine_dative(number, locale)

digits_ordinal_feminine_genitive(number, locale)

digits_ordinal_feminine_instrumental(number, locale)

digits_ordinal_feminine_larger_suffix(number, language_tag)

digits_ordinal_feminine_locative(number, locale)

digits_ordinal_feminine_plural(number, locale)

digits_ordinal_feminine_prepositional(number, locale)

digits_ordinal_feminine_suffix(number, language_tag)

digits_ordinal_masculine(number, locale)

digits_ordinal_masculine_ablative(number, locale)

digits_ordinal_masculine_accusative(number, locale)

digits_ordinal_masculine_adjective(number, locale)

digits_ordinal_masculine_dative(number, locale)

digits_ordinal_masculine_genitive(number, locale)

digits_ordinal_masculine_instrumental(number, locale)

digits_ordinal_masculine_larger_suffix(number, language_tag)

digits_ordinal_masculine_locative(number, locale)

digits_ordinal_masculine_plural(number, locale)

digits_ordinal_masculine_prepositional(number, locale)

digits_ordinal_masculine_suffix(number, language_tag)

digits_ordinal_neuter(number, locale)

digits_ordinal_neuter_ablative(number, locale)

digits_ordinal_neuter_accusative(number, locale)

digits_ordinal_neuter_dative(number, locale)

digits_ordinal_neuter_genitive(number, locale)

digits_ordinal_neuter_instrumental(number, locale)

digits_ordinal_neuter_larger_suffix(number, language_tag)

digits_ordinal_neuter_locative(number, locale)

digits_ordinal_neuter_prepositional(number, locale)

digits_ordinal_neuter_suffix(number, language_tag)

digits_ordinal_plural(number, locale)

digits_ordinal_plural_ablative(number, locale)

digits_ordinal_plural_accusative(number, locale)

digits_ordinal_plural_dative(number, locale)

digits_ordinal_plural_genitive(number, locale)

digits_ordinal_plural_instrumental(number, locale)

digits_ordinal_plural_locative(number, locale)

digits_ordinal_plural_prepositional(number, locale)

dord_femabbrev(number, language_tag)

dord_mascabbrev(number, language_tag)

rule_sets()

rule_sets(rbnf_locale_name)