Cldr.Number.PluralRule (Cldr v2.42.0)

View Source

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

operand()

@type operand() :: any()

plural_rule()

@type plural_rule() :: Keyword.t()

Defines the structure of a plural rule before compilation.

plural_type()

@type plural_type() :: :zero | :one | :two | :few | :many | :other

Defines the plural types into which a number can be categorised.

Functions

known_plural_types()

@spec known_plural_types() :: [plural_type(), ...]

Returns a list of the possible pluralization types

plural_type(number, backend \\ nil, options \\ [])

Returns the plural type for a given number.

Arguments

  • number is an integer, float or Decimal number.

  • backend is any module that includes use Cldr and therefore is a Cldr backend module. The default is Cldr.default_backend!/0.

  • options is a keyword list of options.

Options

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