Skip to content
Addison Phillips edited this page Sep 15, 2024 · 126 revisions

MessageFormat Working Group

Welcome to the home page for the MessageFormat Working Group, a subgroup of the Unicode CLDR-TC.

Charter

The Message Format Working Group (MFWG) is tasked with developing an industry standard for the representation of localizable message strings to be a successor to ICU MessageFormat. MFWG will recommend how to remove redundancies, make the syntax more usable, and support more complex features, such as gender, inflections, and speech. MFWG will also consider the integration of the new standard with programming environments, including, but not limited to, ICU, DOM, and ECMAScript, and with localization platform interchange. The output of MFWG will be a specification for the new syntax, which is expected to be on track to become a Unicode Technical Standard.

Participation / Joining the Working Group

We are looking for participation from software developers, localization engineers and others with experience in Internationalization (I18N) and Localization (L10N). If you wish to contribute to this work, please review the information about the Contributor License Agreement.

To follow this work:

  1. Apply to join our mailing list
  2. Watch this repository (use the "Watch" button in the upper right corner)

To contribute to this work, in addition to the above:

  1. Each individual MUST have a copy of the CLA on file.
  2. Individuals who are employees of Unicode Member organizations SHOULD contact their member representative. Individuals who are not employees of Unicode Member organizations MUST contact the chair to request Invited Expert status. Employees of Unicode Member organizations MAY also apply for Invited Expert status, subject to approval from their member representative.

Meeting Agenda

This is the agenda document for upcoming calls of the MessageFormat subcommittee. We normally meet weekly on Mondays at 9:30 Pacific (America/Los_Angeles). This is currently UTC+7.

See here for your local time.

Information on joining calls is found in the calendar invite.

Scribe

This block reserved for scribe rotation.

Recent scribes:

  • 2024-09-09 HGO
  • 2024-09-02 (no quorum)
  • 2024-08-26 ECH
  • 2024-08-19 MIH, ECH
  • 2024-08-12 RGN
  • 2024-08-05 TIM
  • 2024-07-29 ECH
  • 2024-07-22 HGO
  • 2024-07-15 LCA, USA
  • 2024-07-08 MIH
  • 2024-07-01 TIM
  • 2024-06-24 STA
  • 2024-06-17 ECH
  • 2024-06-10 n/a
  • 2024-06-03 MRR
  • 2024-05-20 MIH
  • 2024-05-13 USA, TIM, ECH
  • 2024-05-06 TIM, ECH
  • 2024-04-29 ECH
  • 2024-04-22 MRR
  • 2024-04-15 MIH
  • 2024-04-08 MRR
  • 2024-03-25 TIM
  • 2024-03-18 MIH
  • 2024-03-04 RGN
  • 2024-02-26 ECH
  • 2024-02-xx everyone
  • 2024-02-12 MIH
  • 2024-02-05 SCA
  • 2024-01-29 TIM
  • 2024-01-22 STA
  • 2024-01-15 MIH
  • 2024-01-08 SCA (removing pre-2024 history)

Notes Document for The Upcoming Call

NOTE WELL

The next regular meeting will be 16 September 2024 and is a Regular WG Teleconference call.

Homework

Agenda

To request that the chair add an issue to the agenda, add the label Agenda+ To request that the chair add an agenda item, send email to the message-format-wg group email.

Topic: Action Item Review

Info Share

Topic: Tech Preview

Let’s review the Task List:

Specific for 2024-09-16

Topic: LDML46 Final Touches

Let’s make sure we address open issues for LDML46 and reach consensus of what is included in our milestone Tech Preview release.

Topic: String Equality (#885, #869)

Addison proposed changes to address string equality. There is one controversial detail: whether literals require NFC for equality or not.

Topic: Whitespace Handling (#884, #847)

This pull request implements the design discussion from #811 (“bidi-usability.md” design) and addresses UAX31/UTS55 requirements. Discuss merging.

Topic: Active PR review

Discussion of active PRs. We will merge or reject them in the call. The recommendation "discuss" is to ensure there is WG consensus before merging. The recommendation "merge with edits" is to merge once existing comments have been addressed. Discussion of active PRs. We will merge or reject them in the call.

  • The recommendation "discuss" is to ensure there is WG consensus before merging. The recommendation "merge with edits" is to merge once existing comments have been addressed.

Topic: Open Issue Review

https://github.com/unicode-org/message-format-wg/issues

Currently we have 49 open (was 56 last time).

  • 14 are Preview-Feedback
  • 3 are resolve-candidate and proposed for close.
  • 2 are Agenda+ and proposed for discussion.
  • None are ballots
PR Description Recommendation
#885 Address name and literal equality Discuss
#884 Add bidi support and address UAX31/UTS55 requirements Discuss
#882 Specify bad-option for bad digit size option values Merge
#869 Add section on Uniqueness and Equality Competes with #885
#859 [DESIGN] Number selection design refinements Merge (Proposed)
#846 Add Unicode Registry definition Discuss (#634)
#842 Match numbers numerically Discuss (Reject)
#823 Define function composition for :number and :integer values Discuss
#814 Define function composition for date/time values Discuss
#806 DESIGN: Add alternative designs to the design doc on function composition Discuss
#799 Unify input and local declarations in model Discuss
#798 Define function composition for :string values Discuss
#728 Add "resolved values" section to formatting Blocked by #806 and #798
#673 Fix whitespace conformance to match UAX31 Discuss
#646 Update spec as if PR #645 were accepted Discuss
#584 Add new terms to glossary Discuss

Topic: Design Status

What is the status of our various design docs?

Doc Description Status
dataflow-composability Data Flow for Composable Functions Proposed
function-composition-part-1 Function Composition Proposed
maintaining-registry Maintaining the function registry Proposed (#624), Discuss
Accepted, Obsolete, and Rejected Designs
Doc Description Status
beauty-contest Choose between syntax options Obsolete
selection-matching-options Selection Matching Options (ballot) Obsolete
syntax-exploration-2 Balloting of the revised syntax used in the Tech Preview Obsolete
variants A collection of message examples which require a branching logic to handle grammatical variations Obsolete
formatted-parts Define how format-to-parts works Rejected
quoted-literals Document the rationale for including quoted literals in MF and for choosing the | as the quote symbol Accepted
builtin-registry-capabilities Tech Preview default registry definition Accepted
code-mode-introducer Choose the pattern for complex messages Accepted
data-driven-tests Capture the planned approach for the test suite Accepted
default-registry-and-mf1-compatibility Default Registry and MF1 Compatibility Accepted
delimiting-variant-patterns Delimiting of Patterns in Complex Messages (Ballot) Accepted
error-handling Decide whether and what implementations do after a runtime error Accepted
exact-match-selector-options Choose the name for the “exact match” selector function (this is :string) Accepted
expression-attributes Define how attributes may be attached to expressions Accepted
number-selection Define how selection on numbers happens Accepted
open-close-placeholders Describe the use cases and requirements for placeholders that enclose parts of a pattern Accepted
overriding-extending-namespacing Defines how externally-authored functions can appear in a message; how externally authored options can appear; and effect of namespacing Accepted
pattern-exterior-whitespace Specify how whitespace inside of a pattern (at the start/end) works Accepted
string-selection-formatting Define how selection and formatting of string values takes place. Accepted
variable-mutability Describe how variables are named and how externally passed variables and internally defined variables interact Accepted
bidi-usability Manage bidi isolation Accepted
selection-declaration Effect of selectors on subsequent placeholders Accepted

Topic: AOB?