View Source Cldr.Number.PluralRule (Cldr v2.38.0)
Defines the plural rule implementation modules. The functions in this module generate code to implement the plural rules of CLDR.
Summary
Types
Defines the structure of a plural rule before compilation.
Defines the plural types into which a number can be categorised.
Functions
Returns a list of the possible pluralization types
Returns the plural type for a given number.
Types
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 number.backend
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