# Cldr Messages v2.0.1 - Table of Contents

Localized and internationalized message formatting using
Unicode MessageFormat 2 (MF2) and legacy ICU Message Format,
integrated with the ex_cldr family supporting over 700 locales

## Pages

- [Cldr Messages](readme.md)
- [LICENSE](license.md)
- [Changelog](changelog.md)
- [MessageFormat 2 Syntax and Usage](message_format_v2.md)
- [ICU Message Format Syntax and Usage](message_format_v1.md)

## Modules

- [Cldr.Formatter.Plugin](Cldr.Formatter.Plugin.md): A CLDR/ICU message formatter for mix format plugin.
- [Cldr.Gettext.Interpolation](Cldr.Gettext.Interpolation.md): As of [Gettext 0.19](https://hex.pm/packages/gettext/0.19.0), `Gettext`
supports user-defined [interpolation modules](https://hexdocs.pm/gettext/Gettext.html#module-backend-configuration).
This makes it easy to combine the power of ICU message formats with the
broad `gettext` ecosystem and the inbuilt support for `gettext`
in [Phoenix](https://hex.pm/packages/phoenix).
- [Cldr.Gettext.Interpolation.V2](Cldr.Gettext.Interpolation.V2.md): Gettext interpolation module that supports both ICU MessageFormat v1
and MessageFormat 2 (MF2) messages.
- [Cldr.Message](Cldr.Message.md): Implements the [ICU Message Format](http://userguide.icu-project.org/formatparse/messages)
with functions to parse and interpolate messages.
- [Cldr.Message.Backend](Cldr.Message.Backend.md)
- [Cldr.Message.Sigil](Cldr.Message.Sigil.md): Implements sigil `~M` to canonicalize an
ICU message.
- [Cldr.Message.V1.Interpreter](Cldr.Message.V1.Interpreter.md)
- [Cldr.Message.V1.Parser](Cldr.Message.V1.Parser.md): Implements a parser for the [ICU Message format](http://userguide.icu-project.org/formatparse/messages)
- [Cldr.Message.V2.Interpreter](Cldr.Message.V2.Interpreter.md): Interprets a MessageFormat 2 AST and produces formatted output.
- [Cldr.Message.V2.Nif](Cldr.Message.V2.Nif.md): NIF wrapper for ICU4C MessageFormat 2.0.
- [Cldr.Message.V2.Parser](Cldr.Message.V2.Parser.md): Implements a parser for
[ICU MessageFormat 2](https://unicode.org/reports/tr35/tr35-messageFormat.html).

- [Cldr.Message.V2.Print](Cldr.Message.V2.Print.md): Converts a MessageFormat 2 AST back to its canonical string form.

- Exceptions
  - [Cldr.Message.BindError](Cldr.Message.BindError.md): Exception raised when interpreting a
message and a binding is missing
  - [Cldr.Message.FormatError](Cldr.Message.FormatError.md): Exception raised when a value cannot be formatted
by the requested MF2 function due to an incompatible type.
  - [Cldr.Message.ParseError](Cldr.Message.ParseError.md): Exception raised when parsing an ICU message format
  - [Cldr.Message.PositionalArgsNotPermitted](Cldr.Message.PositionalArgsNotPermitted.md): Exception raised when parsing an ICU message format
and positional arguments are not permitted

