Releases: elixir-cldr/cldr
Cldr version 2.37.3
Cldr version 2.37.2
Bug Fixes
- Remove checking Phoenix and Ecto json_library configurations. Ecto no longer configures its
:json_library
inconfig.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
Bug Fixes
- Don't include
:und
in the list returned byCldr.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 inex_cldr version 2.37.0
is inappropriate and now reverted.
Cldr version 2.37.0
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 at: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 ofex_cldr
. -
Adds
Cldr.Locale.script_direction_from_locale/1
andMyApp.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 byex_cldr_person_names
and may be documented in a future release. It maps between a unicode script name (like that returned byUnicode.script/1
in theunicode
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 inex_cldr_units
.
Cldr version 2.36.0
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 upon0..23
or1..24
hour formats could not be formatted correctly. -
Fixes the
mix cldr.download.iso_currency
to use theCldr.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
Bug Fixes
- Fix bug that prevented setting
:default_currency_format
that slipped into the release (tests added).
Cldr version 2.35.0
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
ornil
(the default). This option is used byex_cldr_numbers
from version 2.30.0 onwards. Ifnil
the format will be derived from the locale. -
No longer
IO.warn/2
whenCldr.Number
andCldr.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
Bug Fixes
-
Fix compatibility for CLDR-based Gettext plural backends for Gettext versions >= 0.22.
-
Notify if
Cldr.Currency
backend provider is configured whenCldr.Number
is already configured.Cldr.Number
provider already configuresCldr.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
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
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
andNag 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.