Ex_cldr - Common Locale Data Repository (CLDR) functions for Elixir

CLDR version 43 was released this month, triggering a release cycle for the ex_cldr family of libraries. All-in-all, 15 ex_cldr libraries have been updated, polished and published as part of this release cycle. Please consult the relevant changelogs for more information.

Hightlights

  • ex_cldr data is now versioned. This means that when installing locales, ex_cldr does a better job of detecting if there is any existing locale data and if that data is stale, the updated data will be downloaded and installed. This addresses a long standing issue.

  • ex_money_sql now has a set of helper macros for querying money amounts. This was contributed by @am-kantox - really appreciated.

  • All the additional calendar implementations (Ethiopian, Coptic, Persian, Lunisolar, Composite) are now all at version 1.0.0.

  • Lots of work on the lunisolar calendars to make the API more approachable for common requirements like determining the data of the lunar new year for a given Gregorian year. Many thanks to @nineclue for pushing me to get this library into good shape.

  • Adds a new calendar implementation, the Japanese calendar. This calendar is the Gregorian calendar but using the Japanese eras which count the number of years of an Emporer’s reign.

Upcoming

Despite this round of updates there are still some open issues which I know some very patient people are waiting for. With this round of updates complete I can now focus on the following over the next week:

  1. Updating ex_cldr_routes to support localised verified routes. Highest priority.
  2. Publishing ex_cldr_person_names which provides localised name formatting. The final two actions required are test conformance and documentation.
  3. Improving ex_cldr_units to generalise the algebra for unit multiplication and division and to add a :wrapper option to Cldr.Unit.to_string/2 similar to the implementations for Cldr.Number.to_string/2 and Cldr.DateTime.to_string./2.
13 Likes