Skip to content

Releases: elixir-cldr/cldr

Cldr version 2.37.3

11 Oct 18:51
Compare
Choose a tag to compare

Bug Fixes

  • Fix spec for Cldr.with_locale/3 and MyApp.Cldr.with_locale/2. Thanks to @nTraum for the PR. Closes #215.

Enhancements

  • Adds <backend>.put_gettext_locale/1.

Cldr version 2.37.2

03 Jul 20:58
Compare
Choose a tag to compare

Bug Fixes

  • Remove checking Phoenix and Ecto json_library configurations. Ecto no longer configures its :json_library in config.exs and checking for Phoenix configuration can cause config failures when building in Docker. Thanks to @maciej-szlosarczyk for the report. Closes #208.

Enhancements

  • Improves parsing of language tag extensions. Primarily intended to improve support for tempo.

Cldr version 2.37.1

07 May 10:39
Compare
Choose a tag to compare

Bug Fixes

  • Don't include :und in the list returned by Cldr.known_locale_names/1 since that function is commonly used to enumerate the configured locales and ultimately used to generate UI elements. :und is not a useful locale to select so its inclusion, which was added in ex_cldr version 2.37.0 is inappropriate and now reverted.

Cldr version 2.37.0

28 Apr 00:29
Compare
Choose a tag to compare

Bug Fixes

  • Fixes Cldr.Locale.parent/1 to use :und as the ultimate parent rather than the default locale. This brings closer conformance to the CLDR specification.

Enhancements

  • Upgrade to CLDR 43 data.

  • Locale data is now versioned. If a locale file is found but if has no version (data prior to this release) or a version that does not match, the appropriate locale file is downloaded. This ensures locale files and ex_cldr are kept in sync. Closes #188.

  • Changes Cldr.version/0 to return the version of CLDR data as a t:Version.t/0. This is then used to check the version of the locale data and forcing a download if the locale data is out of date for this release of ex_cldr.

  • Adds Cldr.Locale.script_direction_from_locale/1 and MyApp.Cldr.Locale.script_direction_from_locale/1 to return :ltr (for left-to-right scripts) or :rtl (for right-to-left scripts). Closes #196. Thanks to @Doerge for the suggestion.

  • Adds Cldr.Validity.Script.unicode_script_to_subtag/1 as public, undocumented function. This function is required by ex_cldr_person_names and may be documented in a future release. It maps between a unicode script name (like that returned by Unicode.script/1 in the unicode library) to the appropriate subtag used by CLDR.

  • Unit data is now kept as Decimal not Ratio so :ratio is no longer a dependency here, or in ex_cldr_units.

Cldr version 2.36.0

12 Mar 22:32
Compare
Choose a tag to compare

Note that ex_cldr version 2.36.0 data for interval formats is keyed differently than that of previous releases. The bug fix noted below means that this version of ex_cldr is only compatible with ex_cldr_dates_times version 2.13.3 and later. Only ex_cldr_dates_times is affected, other ex_cldr libraries are insensitive to this change.

Bug Fixes

  • Fixes the date time interval format keys. In previous releases, the locale ingestion process would treat keys like :Hm as being the same as :hm and as a result only the lower case version would be saved. This means that locales that rely upon 0..23 or 1..24 hour formats could not be formatted correctly.

  • Fixes the mix cldr.download.iso_currency to use the Cldr.Http.get/2 function to download the data. Doing so ensures that peer verification happens and no error log message is emitted.

Cldr version 2.35.1

07 Mar 01:30
Compare
Choose a tag to compare

Bug Fixes

  • Fix bug that prevented setting :default_currency_format that slipped into the release (tests added).

Cldr version 2.35.0

07 Mar 00:24
Compare
Choose a tag to compare

Bug Fixes

  • Deprecates :supress_warnings backend configuration option in favour of the correctly spelt :suppress_warnings.

Enhancements

  • Add :default_currency_format option to a backend configuration. The value must be either :currency, :accounting or nil (the default). This option is used by ex_cldr_numbers from version 2.30.0 onwards. If nil the format will be derived from the locale.

  • No longer IO.warn/2 when Cldr.Number and Cldr.Currency are both configured as providers. A console note is still issued but it will not raise a compiler warning.

Cldr version 2.34.2

24 Feb 20:44
Compare
Choose a tag to compare

Bug Fixes

  • Fix compatibility for CLDR-based Gettext plural backends for Gettext versions >= 0.22.

  • Notify if Cldr.Currency backend provider is configured when Cldr.Number is already configured. Cldr.Number provider already configures Cldr.Currency so a compiler warning is generated if it is explicitly configured. Thanks for @lawik for the report. Closes #194.

Cldr version 2.34.1

25 Jan 20:50
Compare
Choose a tag to compare

Bug Fixes

  • Removes the dependecies castore and certifi since they are not required by ex_cldr (they are optional dependencies of the dependent ex_cldr_utils). Thanks to @maennchen for the PR but deleting the dependency definitions here seems more appropriate. Closes #191.

Cldr version 2.34.0

24 Oct 04:59
Compare
Choose a tag to compare

Enhancements

  • Encapsulates CLDR 42 data. Unless otherwise noted, all the changes are reflected in ex_cldr libraries and functions.

Updated data from CLDR

  • Incorporates all the updated locale data for a total of 586 locales available
  • A new -u extension key to the language tag is added to provide a preferred unit of measurement for temperature: Celsius, Fahrenheit, and Kelvin. (An effort has also been started to provide syntax for other unit preferences in future releases.)
  • Two new number systems are available, corresponding to new Unicode 15.0 scripts: Kawi and Nag Mundari.
  • A new short timezone ID is available, tz-uaiev, for Europe/Kyiv
  • Some locales now have higher coverage levels: Igbo (ig), yo (Yoruba), Chuvash (cv), Xhosa (xh), Haryanvi (bgc), Bhojpuri (bho), Rajasthani (raj), Tigrinya (ti)
  • Data normalization: There was an extensive normalization of different kinds of spaces (normal, non-breaking, thin, etc.) for consistency of behavior - CLDR-14032
  • Plural rules Additions: Added 'many' category for Asturian, Catalan. They only affect messages with large numbers. Maltese now has the 'two' category.
  • Plural Rules Removals: The 'many' plural category for Hebrew (CLDR-14634) was removed; it is unnecessary in modern practice.
  • Plural Rules Changes: There were a few changes to the rules that affect how numbers are assigned to categories.
  • Formatting Person Names: Added data and structure for formatting people's names. For more information on why this feature is being added and what it does, see the background document. A new library, ex_cldr_person_names will be developed to expose and exploit this data by year end 2022.