Skip to content

Commit

Permalink
CLDR-18211 Update changes to MessageFormat and update copyright date
Browse files Browse the repository at this point in the history
Update the list of changes, referencing the fact that MF2.0 is Final Candidate and listing changes from 46.0. This is in two sections, one for spec changes and the other for function set changes.

I also updated the copyright year in this document's footer to 2025 per instruction in the Jira ticket, although I suspect that more is needed.
  • Loading branch information
aphillips authored Jan 9, 2025
1 parent a9b86e3 commit 2372195
Showing 1 changed file with 27 additions and 5 deletions.
32 changes: 27 additions & 5 deletions docs/ldml/tr35.md
Original file line number Diff line number Diff line change
Expand Up @@ -4379,10 +4379,32 @@ Updates to [LDML Conformance](#Conformance) including

### Message Format Modifications

Significant updates to [Message Format](tr35-messageFormat.md#Contents)
- Removed all of the reserved and private use syntax constructs, simplifying the grammar.
- Changed the structure of the .match (selector) to require use of local or input declarations. This is a breaking change for existing messages.
- Added support for bidirectional isolates and marks, and clarified whitespace handling to better enable messages that contains right-to-left identifiers and text.
[MessageFormat](tr35-messageFormat.md#Contents) was promoted to Final Candidate,
including the following changes from version 46.0:
- Add ‘resolved values’ and ‘function handler’ sections to formatting.
- Apply NFC normalization as a requirement for selector key comparison.
- Permit unpaired surrogate code points in text literals.
- Define _option resolution_ and require order of _options_ to be insignificant.
- Clarify eager vs. lazy evaluation.
- Clarify initialization of the base string direction for a _message_ or a _function_.
- Clarify matching of number values in message selection.
- Better define "implementation-defined" literal and type values.
- Require bidi isolation when `u:dir` is set and provide for ignoring isolation.

The [MessageFormat] default function set was also significantly updated,
including these changes:
- Provide normative guidance on function, option, and option-value implementation.
- Define REQUIRED and RECOMMENDED functions and options in the default function set.
- Limit the _option_ values that can be defined by the specification in the future.
- Define function composition for number, date/time, and string functions.
- Fix the values allowed for the `useGrouping` _option_ of the `:integer` function.
- Define the `:currency` _function_ in the default function set.
- Define the `:math` _function_ in the default function set, supporting the MessageFormat 1 ‘offset’ feature.
- Add `calendar` and `numberingSystem` _options_ to date/time _functions_.
- Add `hour12` date/time override _option_.
- Add `timezone` as a Proposed REQUIRED _option_ for date/time functions.
- Add `:unit` as a Proposed RECOMMENDED _function_.
- Add `:u` _options_ to the `:u` _namespace_.

### Date Modifications
- Added a tech preview section on [semantic skeletons](tr35-dates.md#Semantic_Skeletons), allowing for less data and faster performance in formatting dates.
Expand Down Expand Up @@ -4414,7 +4436,7 @@ Click on **Previous Version** in the header until you get to the desired version

* * *

© 2024–2024 Unicode, Inc.
© 2024–2025 Unicode, Inc.
This publication is protected by copyright, and permission must be obtained from Unicode, Inc.
prior to any reproduction, modification, or other use not permitted by the [Terms of Use](https://www.unicode.org/copyright.html).
Specifically, you may make copies of this publication and may annotate and translate it solely for personal or internal business purposes and not for public distribution,
Expand Down

0 comments on commit 2372195

Please sign in to comment.