Skip to content
@elixir-cldr

Elixir CLDR

CLDR / ICU Implementation for Elixir

Localization libraries for Elixir

The Common Locale Data Repository maintains the canonical data essential to support localization of applications for the worlds diverse cultures and languages. The libraries in this organization implement most (but not all) of the CLDR standards and support most (but not all) of the localization data.

The intention behind these libraries is to simplify localization. To make building a localized application as straight forward as one which is not. Indeed it can be argued that all applications are localized since they apply assumptions about the end user by default - even if those defaults are those of the Elixir language.

Presentations

Fundamental libraries

The following libraries can be used to support various aspects of localization:

  • ex_cldr is the base level library that manages language tags and the locale data that supports them. Over 700 locales are supported.
  • ex_cldr_numbers which provides localized number formatting and parsing.
  • ex_cldr_currencies which provides the data about the world's currencies both current and historic.
  • ex_cldr_dates_times which provides localized date and time formatting (but not parsing)
  • ex_cldr_units which provides localized units-of-measure formatting and parsing.
  • ex_cldr_units_sql which provides a database type and an Ecto type for serializing units-of-measure.
  • ex_cldr_person_names which provides localized formatting for peoples' names in a variety of styles and contexts.
  • ex_cldr_messages implements the Unicode Message format for localizing messages. Integrates with Gettext.
  • ex_cldr_calendars which provides localized calendar implementations of the Proleptic Gregorian calendar, the Julian calendar, the ISO Week calendar and provides a mechanism to define variations of the Gregorian and ISO Week calendars to meet the needs to organizations (like corporations or governments) that use different calendar periods.
  • ex_cldr_lists implemented localized list formatting.
  • ex_cldr_territories by @Schultzer provides support for localizing territory (country) information.
  • ex_cldr_languages by @LostKobrakai which provides support for localizing language names.
  • ex_cldr_collation which implements the Unicode Collation Algorithm although only the default DUCET collation.

Money

  • ex_money provides a full-feature money libraries focusing on correctness and reliability with support for currency specific formatting (in any locale), money parsing, amortization and basic math.
  • ex_money_sql provide a database type and an ecto type to simplify serialization of money withoug losing precision or currency tags. Also includes some aggregate function extensions for the Postgresql database.

Ecto Integration

  • ex_cldr_trans provides a mechanism to localized database content. It is based on the fabulous trans by @crbelaus.

Plug-based applications

In support of Plug-based applications, including Phoenix applications, the following add-on libraries can be used:

  • ex_cldr_plugs provides plugs that can extract the requested locale for a user from different parts of the locale or the session.
  • ex_cldr_routes provides functions to generate and recognize localized routes. Also provides localized route helpers. Does not yet support localized verified routes. Verified routes are expected to be supported in March 2023.
  • ex_cldr_html which provides form helpers for selecting currencies, languages and territories. These are static HTML generators. A future ex_cldr_components will provide a more complete LiveView localized UI experience. This is not expected before year end 2023.

Additional Calendars

Additional calendars that full support the Elixir Calendar behaviour are also available.

Pinned

  1. cldr cldr Public

    Elixir implementation of CLDR/ICU

    Elixir 430 33

  2. cldr_dates_times cldr_dates_times Public

    Date & times formatting functions for the Common Locale Data Repository (CLDR) package https://github.com/elixir-cldr/cldr

    Elixir 66 10

  3. cldr_numbers cldr_numbers Public

    CLDR Number localisation and formatting

    Elixir 41 21

  4. cldr_units cldr_units Public

    Unit formatting (volume, area, length, ...) functions for the Common Locale Data Repository (CLDR)

    Elixir 16 12

  5. cldr_calendars cldr_calendars Public

    Calendar functions for CLDR

    Elixir 15 5

  6. cldr_messages cldr_messages Public

    Elixir implementation of the ICU message format

    Elixir 14 8

Repositories

Showing 10 of 33 repositories

People

This organization has no public members. You must be a member to see who’s a part of this organization.

Top languages

Loading…