Thursday, January 16, 2025

MessageFormat 2.0 Final Candidate: Review Requested

 Image of

Unicode recently released CLDR 46.1, a special interim release of CLDR that focuses on the Final Candidate release of MessageFormat 2.0. There are a few other changes, which are summarized at the end of this post.

MessageFormat 2.0 is a significant evolution from ICU MessageFormat 1.0. It is both more powerful in its abilities to represent localizable messages, and also strives to make those messages easier to translate. Unlike its predecessor, it is:

  • not defined through its ICU API, but by a specification that can be applied to by a wide range of implementations — and already has non-ICU implementations.

  • designed for extensibility: new functions and options can easily be added.     

The specification has been developed by the MessageFormat Working Group over the past five years and is open for public comment. It encompasses all the capabilities of the MessageFormat 1.0 syntax and is designed to handle messages in other existing message formats via its data model. Please review the specification before its finalization, and supply feedback on any areas where it does not meet this goal.

It is important to supply feedback on the Final Candidate by February 12, but ideally as early as possible.

While the structure is designed to be very extensible, once the Final Candidate is released as an approved version (in mid-March 2025), stability constraints will prevent incompatible changes to syntax and semantics of MessageFormat 2.0.

To supply feedback file an issue at: Unicode Message Format Issues — GitHub.

Tech preview implementations of MessageFormat 2.0 include Java, C++ and JavaScript. People can try these out with their implementations to see if there are any issues.

In addition to the MessageFormat 2.0 Final Candidate, there are a few other changes in the CLDR 46.1 release, specifically:

  • More explicit well-formedness and validity constraints for unit of measurement identifiers

  • Addition of derived emoji annotations that were missing: emoji with skin tones facing right

  • Fixes to make the ja, ko, yue, zh datetimeSkeletons useful for generating the standard patterns

  • Improved date/time test data


For more information, see 46.1 Changes


CLDR 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?)