View Source Cldr.Number.PluralRule (Cldr v2.36.0)
Defines the plural rule implementation modules. The functions in this module generates code to implement the plural rules of CLDR.
Link to this section Summary
Functions
Returns a list of the possible pluralization types
Returns the plural type for a given number.
Link to this section Types
@type operand() :: any()
@type plural_type() :: :zero | :one | :two | :few | :many | :other
Defines the plural types into which a number can be categorised.
Link to this section Functions
@spec known_plural_types() :: [plural_type()]
Returns a list of the possible pluralization types
Returns the plural type for a given number.
arguments
Arguments
number
is an integer, float or Decimal numberbackend
is any module that includesuse Cldr
and therefore is aCldr
backend module. The default isCldr.default_backend!/0
.options
is a keyword list of options
options
Options
locale
is any valid locale name returned byCldr.known_locale_names/1
or aCldr.LanguageTag
struct returned byCldr.Locale.new!/2
, The default isCldr.get_locale/0
.backend
is any module that includesuse Cldr
and therefore is aCldr
backend module. The default isCldr.default_backend!/0
. This option allows the backend to be specified as an argument or an option.type
is eitherCardinal
orOrdinal
. The default isCardinal
.
examples
Examples
iex> Cldr.Number.PluralRule.plural_type(123)
:other
iex> Cldr.Number.PluralRule.plural_type(123, type: Ordinal)
:few
iex> Cldr.Number.PluralRule.plural_type(123, type: Cardinal)
:other
iex> Cldr.Number.PluralRule.plural_type(2, locale: "de")
:other