# Cldr v2.47.4 - API Reference

## Modules

- [Cldr](Cldr.md): Cldr provides the core functions to retrieve and manage
the CLDR data that supports formatting and localisation.
- [Cldr.AcceptLanguage](Cldr.AcceptLanguage.md): Tokenizer and parser for HTTP `Accept-Language` header values as defined in
[rfc2616](https://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html#sec14.4).
- [Cldr.Rfc5646.Parser](Cldr.Rfc5646.Parser.md): Implements parsing for [RFC5646](https://datatracker.ietf.org/doc/html/rfc5646) language
tags with [BCP47](https://tools.ietf.org/search/bcp47) extensions.

- Language Tag
  - [Cldr.LanguageTag](Cldr.LanguageTag.md): Represents a language tag as defined in [rfc5646](https://tools.ietf.org/html/rfc5646)
with extensions "u" and "t" as defined in [BCP 47](https://tools.ietf.org/html/bcp47).
  - [Cldr.LanguageTag.ParseError](Cldr.LanguageTag.ParseError.md): Exception raised when a language tag cannot
be parsed (there is unparsed content).

  - [Cldr.LanguageTag.Parser](Cldr.LanguageTag.Parser.md): Parses a CLDR language tag (also referred to as locale string).
  - [Cldr.LanguageTag.Sigil](Cldr.LanguageTag.Sigil.md): Implements a `sigil_l/2` macro to
constructing `t:Cldr.LanguageTag` structs.
  - [Cldr.LanguageTag.T](Cldr.LanguageTag.T.md): Defines the struct for the BCP 47 `t`
extension.
  - [Cldr.LanguageTag.U](Cldr.LanguageTag.U.md): Defines the struct for the BCP 47 `u`
extension.
  - [Cldr.Locale](Cldr.Locale.md): Functions to parse and normalize locale names into a structure
locale represented by a `Cldr.LanguageTag`.
  - [Cldr.Locale.Loader](Cldr.Locale.Loader.md): Provides a public interface to read the
raw JSON locale files and return the
CLDR data in a consistent format.
  - [Cldr.Locale.Match](Cldr.Locale.Match.md): Implements the [CLDR language matching algorithm](https://www.unicode.org/reports/tr35/tr35.html#LanguageMatching).

- Plural Rules
  - [Cldr.Number.PluralRule](Cldr.Number.PluralRule.md): Defines the plural rule implementation
modules. The functions in this module
generate code to implement the plural
rules of CLDR.

- Protocols
  - [Cldr.Chars](Cldr.Chars.md): The `Cldr.Chars` protocol mirrors the
`String.Chars` protocol but localises
 the output. It is intended to be
 drop-in replacement for `String.Chars`.
  - [Cldr.DisplayName](Cldr.DisplayName.md): Returns the localised display name
for a CLDR struct (locale, unit, currency)

- Gettext
  - [Cldr.Gettext.Plural](Cldr.Gettext.Plural.md): Implements a macro to define a CLDR-based Gettext plural
module

- Helpers
  - [Cldr.Config](Cldr.Config.md): Provider configuration support
functions for ex_cldr.
  - [Cldr.Install](Cldr.Install.md): Provides functions for installing locales.
  - [Cldr.Substitution](Cldr.Substitution.md): Compiles substitution formats that are of the form
"{0} something {1}" into a token list that allows for
more efficient parameter substitution at runtime.

  - [Cldr.Timezone](Cldr.Timezone.md): Functions to map between the CLDR short time zone code and the
IANA timezone names.

- Exceptions
  - [Cldr.AcceptLanguageError](Cldr.AcceptLanguageError.md): Exception raised when there no valid language tag
in an `Accept-Language` header.

  - [Cldr.AmbiguousTimezoneError](Cldr.AmbiguousTimezoneError.md): Exception raised when the there are more
than one timezones for a locale

  - [Cldr.FormatCompileError](Cldr.FormatCompileError.md): Exception raised when there is an error in the compiling of a number format.

  - [Cldr.FormatError](Cldr.FormatError.md): Exception raised when there is an error in the formatting of a number/list/...

  - [Cldr.InvalidCurrencyError](Cldr.InvalidCurrencyError.md): Exception raised when there is an invalid currency code.

  - [Cldr.InvalidDateFormatType](Cldr.InvalidDateFormatType.md): Exception raised when there is an invalid date format type.

  - [Cldr.InvalidDateTimeFormatType](Cldr.InvalidDateTimeFormatType.md): Exception raised when there is an invalid datetime format type.

  - [Cldr.InvalidLanguageError](Cldr.InvalidLanguageError.md): Exception raised when a language
is invalid

  - [Cldr.InvalidLanguageTag](Cldr.InvalidLanguageTag.md): Exception raised when there is an a parse error in a language tag

  - [Cldr.InvalidScriptError](Cldr.InvalidScriptError.md): Exception raised when a script
is invalid

  - [Cldr.InvalidTerritoryError](Cldr.InvalidTerritoryError.md): Exception raised when a territory
is invalid

  - [Cldr.InvalidTimeFormatType](Cldr.InvalidTimeFormatType.md): Exception raised when there is an invalid time format type.

  - [Cldr.InvalidVariantError](Cldr.InvalidVariantError.md): Exception raised when a language
variant is invalid

  - [Cldr.NoDefaultBackendError](Cldr.NoDefaultBackendError.md): Exception raised when there is no
default backend configured

  - [Cldr.NoMatchingLocale](Cldr.NoMatchingLocale.md): Exception raised when no configured locale matches the provided "Accept-Language" header

  - [Cldr.NoParentError](Cldr.NoParentError.md): Exception raised when the there are more
no parent locale

  - [Cldr.Rbnf.NotAvailable](Cldr.Rbnf.NotAvailable.md): Exception raised when there is no RBNF for a locale.

  - [Cldr.UnknownBackendError](Cldr.UnknownBackendError.md): Exception raised when the backend
module is unknown or not a backend module

  - [Cldr.UnknownCalendarError](Cldr.UnknownCalendarError.md): Exception raised when an attempt is made to use a calendar that is not known.
in `Cldr`.

  - [Cldr.UnknownCurrencyError](Cldr.UnknownCurrencyError.md): Exception raised when there is an unknown currency code.

  - [Cldr.UnknownFormatError](Cldr.UnknownFormatError.md): Exception raised when an attempt is made to use a locale that is not configured
in `Cldr`.  `Cldr.known_locale_names/1` returns the locale names known to `Cldr`.

  - [Cldr.UnknownLocaleError](Cldr.UnknownLocaleError.md): Exception raised when an attempt is made to use a locale not configured
in `Cldr`.  `Cldr.known_locale_names/1` returns the locale names known to `Cldr`.

  - [Cldr.UnknownMeasurementSystemError](Cldr.UnknownMeasurementSystemError.md): Exception raised when the measurement
system is invalid.

  - [Cldr.UnknownNumberSystemError](Cldr.UnknownNumberSystemError.md): Exception raised when an attempt is made to use a number system that is not known
in `Cldr`.  `Cldr.Number.number_system_names/0` returns the number system names known to `Cldr`.

  - [Cldr.UnknownNumberSystemTypeError](Cldr.UnknownNumberSystemTypeError.md): Exception raised when an attempt is made to use a number system type that is not known
in `Cldr`.  `Cldr.Number.number_system_types/0` returns the number system types known to `Cldr`.

  - [Cldr.UnknownOTPAppError](Cldr.UnknownOTPAppError.md): Exception raised when the configured OTP app
is not known

  - [Cldr.UnknownPluralRules](Cldr.UnknownPluralRules.md): Exception raised when there are no plural rules for a locale or language.

  - [Cldr.UnknownTerritoryError](Cldr.UnknownTerritoryError.md): Exception raised when there is an invalid territory code.

  - [Cldr.UnknownUnitError](Cldr.UnknownUnitError.md): Exception raised when an attempt is made to use a unit that is not known.
in `Cldr`.

