Cldr.Number.PluralRule (Cldr v2.43.2)
View SourceDefines 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
numberis an integer, float or Decimal number.backendis any module that includesuse Cldrand therefore is aCldrbackend module. The default isCldr.default_backend!/0.optionsis a keyword list of options.
Options
localeis any valid locale name returned byCldr.known_locale_names/1or aCldr.LanguageTagstruct returned byCldr.Locale.new!/2, The default isCldr.get_locale/0.backendis any module that includesuse Cldrand therefore is aCldrbackend module. The default isCldr.default_backend!/0. This option allows the backend to be specified as an argument or an option.typeis eitherCardinalorOrdinal. 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