View Source Cldr.Number.PluralRule (Cldr v2.37.5)
Defines the plural rule implementation modules. The functions in this module generates code to implement the plural rules of CLDR.
Summary
Functions
Returns a list of the possible pluralization types
Returns the plural type for a given number.
Types
@type operand() :: any()
@type plural_type() :: :zero | :one | :two | :few | :many | :other
Defines the plural types into which a number can be categorised.
Functions
@spec known_plural_types() :: [plural_type()]
Returns a list of the possible pluralization types
Returns the plural type for a given number.
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
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
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