Skip to content

Prepare front-door for Tech Preview #697

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

Merged
merged 9 commits into from
Mar 1, 2024
Merged
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
50 changes: 48 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,53 @@ The Message Format Working Group (MFWG) is tasked with developing an industry st

- [Why ICU MessageFormat Needs a Successor](docs/why_mf_next.md)
- [Goals and Non-Goals](docs/goals.md)
- [Record of Consensus Decisions](docs/consensus_decisions.md)

## MessageFormat 2 Draft Syntax
## MessageFormat 2 Technical Preview

The MessageFormat 2 specification is a new part of
the [LDML](https://www.unicode.org/reports/tr35/) specification.
This specification is initially released as a "Tech Preview",
which means that the stability policy is not in effect and feedback from
users and implementers might result in changes to the syntax, data model,
functions, or other normative aspects of MessageFormat 2.
Such changes are expected to be minor and, to the extent possible,
to be compatible with what is defined in the Tech Preview.

The MFWG welcomes any and all feedback, including bugs reports, implementation
reports, success stories, feature requests, requests for clarification,
or anything that would be helpful in stabilizing the specification and
promoting widespread adoption.

The MFWG specifically requests feedback on the following issues:
- How best to define value resolution [#678](https://github.com/unicode-org/message-format-wg/issues/678)
- How to perform non-integer exact number selection [#675](https://github.com/unicode-org/message-format-wg/issues/675)
- Whether `markup` should support additional spaces [#650](https://github.com/unicode-org/message-format-wg/issues/650)
- Whether "attribute-like" behavior is needed and what form it should take [#642](https://github.com/unicode-org/message-format-wg/issues/642)
- Whether to relax constraints on complex message start [#610](https://github.com/unicode-org/message-format-wg/issues/610)
- Whether omitting the `*` variant key should be permitted [#603](https://github.com/unicode-org/message-format-wg/issues/603)

## What is MessageFormat 2?

Software needs to construct messages that incorporate various pieces of information.
The complexities of the world's languages make this challenging.
MessageFormat 2 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 a means of representing existing syntaxes,
thus enabling gradual adoption by users of older formatting systems.

The goal is to allow developers and translators to create natural-sounding, grammatically-correct,
user interfaces that can appear in any language and support the needs of diverse cultures.

## MessageFormat 2 Specification and Syntax

The current specification starts [here](spec/README.md) and may have changed since the publication
of the Tech Preview version.
The Tech Preview specification is [here](tr35-messageformat.md) (link to follow).

The current draft syntax for defining messages can be found in [spec/syntax.md](./spec/syntax.md).
The syntax is formally described in [ABNF](spec/message.abnf).
Expand Down Expand Up @@ -59,6 +103,8 @@ See more examples and the formal definition of the grammar in [spec/syntax.md](.

## Sharing Feedback

Technical Preview Feedback: [file an issue here](https://github.com/unicode-org/message-format-wg/issues/new?labels=Preview-Feedback&projects=&template=tech-preview-feedback.md&title=%5BFEEDBACK%5D+)

We invite feedback about the current syntax draft, as well as the real-life use-cases, requirements, tooling, runtime APIs, localization workflows, and other topics.

- General questions and thoughts → [post a discussion thread](https://github.com/unicode-org/message-format-wg/discussions).
Expand Down