Unicode CLDR 47 Release: MessageFormat 2.0 Stable
CLDR 47 is now available and has been integrated into version 77 of ICU. The CLDR 47 release page has information on accessing the data, reviewing charts of the changes, and — importantly — Migration issues including upcoming changes planned in CLDR 48.The Unicode CLDR project provides key building blocks for software to support the world's languages (dates, times, numbers, sort-order, etc.). For example, all major browsers and all modern mobile phones use CLDR for language support. (See Who uses CLDR?)
Key changes in CLDR 47
CLDR 47 did not have a Survey Tool submission phase, and focused on tooling and just a few functional areas. The biggest change is that the MessageFormat 2.0 specification has advanced from Final Candidate to Stable. This means that the stability guarantees are in place and implementations can finalize their APIs.
MessageFormat 2.0 Stable
Software needs to construct messages that incorporate various pieces of information. The complexities of the world's languages make this challenging. MessageFormat 2.0 enables developers and translators to create natural-sounding user interfaces that can appear in any language and support the needs of various cultures.
The new MessageFormat defines the data model, syntax, processing, and conformance requirements for the next generation of dynamic messages. It is intended for adoption by programming languages, software libraries, and software localization tooling. It enables the integration of internationalization APIs (such as date or number formats) and grammatical matching (such as plurals or genders). It is extensible, allowing software developers to create formatting or message selection logic that add on to the core capabilities. Its data model provides the means of representing existing syntaxes, thus enabling gradual adoption by users of older formatting systems.
Tech Preview implementations are available in C++, Java, and JavaScript:
ICU4J, Java: com.ibm.icu.message2, part of ICU 76, is a tech preview implementation of the MessageFormat 2.0, together with a formatting API. See the ICU User Guide for examples and a quickstart guide, and Trying MF 2.0 Final Candidate to try a “Hello World”.
ICU4C, C++: icu::message2::MessageFormatter, part of ICU 76, is a tech preview implementation of MessageFormat 2.0, together with a formatting API. See the ICU User Guide for examples and a quickstart guide, and Trying MF 2.0 Final Candidate to try a “Hello World”.
Javascript: messageformat 4.0 provides a formatter and conversion tools for the MessageFormat 2 syntax, together with a polyfill of the runtime API proposed for ECMA-402.
(Because of the timing, these implement a slightly earlier version of the spec, but can be used for initial evaluation, testing, and experimentation.)
See also:
UTW 2024 {�} MessageFormat v2 (October 2024)
Message Format Virtual Open House (February 2024)
Tooling changes
Many tooling changes are difficult to accommodate in a data-submission release, including performance work and UI improvements. The changes in CLDR 47 provide faster turn-around for linguists and higher data quality. They are targeted at the CLDR 48 submission period, starting in April 2025.
For more information
See the CLDR 47 release page, which has information on accessing the data, reviewing charts of the changes, and — importantly — Migration issues.