# Cldr v2.47.4 - Table of Contents

> Common Locale Data Repository (CLDR) functions for Elixir to localize and format numbers,
dates, lists, messages, languages, territories and units with support for over 700 locales
for internationalized (i18n) and localized (L10N) applications.

## Pages

- [Getting Started with Cldr](readme.md)
- [License](license.md)
- [Changelog](changelog.md)

## 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`.

