From b48c4b32fa345465dd4c1c129fba39c05f1e192a Mon Sep 17 00:00:00 2001 From: Addison Phillips Date: Thu, 29 Feb 2024 10:10:43 -0800 Subject: [PATCH 1/9] Prepare front-door for Tech Preview This includes a short paragraph under "What is MessageFormat 2?" whose purpose is to satisfy #693 (the need for a v45 "intro paragraph") --- README.md | 42 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 67207da9ed..749322992d 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,45 @@ The Message Format Working Group (MFWG) is tasked with developing an industry st - [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 was accepted by the CLDR-TC on 2024-02-28 +as a new part of the LDML specification. +This specification is being 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 to perform non-integer exact number selection (#675) +- Whether `markup` should support additional spaces (#650) +- Whether "attribute-like" behavior is needed and what form it should take (#642) +- Whether to relax constraints on complex message start (#610) +- Whether omitting the `*` variant key should be permitted (#603) + +## What is MessageFormat 2? + +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 and APIs. +It enables the integration of internationalization APIs (such as date and number formats), +grammatical matching (such as plurals or genders), +as well as user-defined formats and message selectors, +so that developers and translators can create natural, grammatically-correct, +fluent user interfaces. + +## 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). @@ -59,6 +97,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). From 1758cd784fdf3b315aa219553267e64bda5bd2cb Mon Sep 17 00:00:00 2001 From: Addison Phillips Date: Thu, 29 Feb 2024 10:57:10 -0800 Subject: [PATCH 2/9] Update README.md Co-authored-by: Mark Davis --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 749322992d..f874907283 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,7 @@ The MFWG specifically requests feedback on the following issues: 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 and APIs. +It is intended for adoption by programming languages, software libraries, and software localization tooling. It enables the integration of internationalization APIs (such as date and number formats), grammatical matching (such as plurals or genders), as well as user-defined formats and message selectors, From e205df42f08cdaaa672b42d3d48b817fe44c3c99 Mon Sep 17 00:00:00 2001 From: Addison Phillips Date: Thu, 29 Feb 2024 11:07:30 -0800 Subject: [PATCH 3/9] address comments --- README.md | 23 +++++++++++++---------- 1 file changed, 13 insertions(+), 10 deletions(-) diff --git a/README.md b/README.md index f874907283..48c7727757 100644 --- a/README.md +++ b/README.md @@ -27,22 +27,25 @@ or anything that would be helpful in stabilizing the specification and promoting widespread adoption. The MFWG specifically requests feedback on the following issues: -- How to perform non-integer exact number selection (#675) -- Whether `markup` should support additional spaces (#650) -- Whether "attribute-like" behavior is needed and what form it should take (#642) -- Whether to relax constraints on complex message start (#610) -- Whether omitting the `*` variant key should be permitted (#603) +- 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 and number formats), -grammatical matching (such as plurals or genders), -as well as user-defined formats and message selectors, -so that developers and translators can create natural, grammatically-correct, -fluent user interfaces. +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. +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 From d308f3288fb49e9b1f8b62342b38e27eee309b08 Mon Sep 17 00:00:00 2001 From: Addison Phillips Date: Thu, 29 Feb 2024 11:41:45 -0800 Subject: [PATCH 4/9] Update README.md Co-authored-by: Eemeli Aro --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 48c7727757..d7e3ceea96 100644 --- a/README.md +++ b/README.md @@ -12,8 +12,8 @@ The Message Format Working Group (MFWG) is tasked with developing an industry st ## MessageFormat 2 Technical Preview -The MessageFormat 2 specification was accepted by the CLDR-TC on 2024-02-28 -as a new part of the LDML specification. +The MessageFormat 2 specification is a new part of +the [LDML](https://www.unicode.org/reports/tr35/) specification. This specification is being 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, From b688e0c9bcf1d32119ec7efb7732396ec99413b3 Mon Sep 17 00:00:00 2001 From: Addison Phillips Date: Thu, 29 Feb 2024 11:41:58 -0800 Subject: [PATCH 5/9] Update README.md Co-authored-by: Eemeli Aro --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index d7e3ceea96..ad3813f932 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ The Message Format Working Group (MFWG) is tasked with developing an industry st The MessageFormat 2 specification is a new part of the [LDML](https://www.unicode.org/reports/tr35/) specification. -This specification is being released as a "Tech Preview", +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. From be799ef0ea6b10fdba37bebd4476ec0378b6a88f Mon Sep 17 00:00:00 2001 From: Addison Phillips Date: Thu, 29 Feb 2024 11:42:32 -0800 Subject: [PATCH 6/9] Update README.md Co-authored-by: Eemeli Aro --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index ad3813f932..0cd5dcc895 100644 --- a/README.md +++ b/README.md @@ -44,6 +44,7 @@ It enables the integration of internationalization APIs (such as date or number 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. + 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. From c720a6a6af4f24c6d3c3b1817853f673725403c0 Mon Sep 17 00:00:00 2001 From: Addison Phillips Date: Fri, 1 Mar 2024 08:36:50 -0800 Subject: [PATCH 7/9] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0cd5dcc895..fb3dbf794c 100644 --- a/README.md +++ b/README.md @@ -27,6 +27,7 @@ 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) From a0c258bbe57ede58e7de9fd5054941cd09fde54f Mon Sep 17 00:00:00 2001 From: Addison Phillips Date: Fri, 1 Mar 2024 08:38:37 -0800 Subject: [PATCH 8/9] Remove distracting link --- README.md | 1 - 1 file changed, 1 deletion(-) diff --git a/README.md b/README.md index fb3dbf794c..4606f06fd1 100644 --- a/README.md +++ b/README.md @@ -8,7 +8,6 @@ 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 Technical Preview From 8136c3ffcaa30c27dd403a88ecb7b59c32af3d2f Mon Sep 17 00:00:00 2001 From: Eemeli Aro Date: Fri, 1 Mar 2024 20:03:28 +0200 Subject: [PATCH 9/9] Add sentence on data model Co-authored-by: Addison Phillips --- README.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/README.md b/README.md index 4606f06fd1..a7a0ba4906 100644 --- a/README.md +++ b/README.md @@ -44,6 +44,8 @@ It enables the integration of internationalization APIs (such as date or number 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.