Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

CLDR-18211 Update changes to MessageFormat and update copyright date #4269

Open
wants to merge 2 commits into
base: maint/maint-46
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
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.
© 2001–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
Loading