Skip to content
Addison Phillips edited this page Jun 3, 2024 · 99 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.

Joining

We are open to professionals in the I18N/L10N industry to participate in our working group! To join:

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

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-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

2024-06-10 Regular Teleconference https://docs.google.com/document/d/1c2UN0x_NQOVsEAXMbfXUoDX3bxd7xxt-K_xD_ZaieB0/edit

NOTE WELL

The next meeting will be 10 June 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

Adding a new test schema (#767)

Let’s review the Task List:

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.

PR Description Recommendation
#795 Fix #782: give implementations more flexibility in error handling Discuss
#794 Update readme with list of normative changes during TP Merge
#793 Recommend not escaping all the things Merge
#792 [DESIGN] Add user stories / build-out expression attributes Discuss (Merge)
#791 Update design docs and their status Merge
#780 [DESIGN] Contextual options in the u: namespace Discuss
#753 Add design doc on function composition Discuss
#744 Fix design doc Merge (approved, waiting on bearfriend)
#728 Add "resolved values" section to formatting Discuss
#673 Fix whitespace conformance to match UAX31 Discuss; related to 781
#646 Update spec as if PR #645 were accepted Depends on 645
#645 Add design doc for dataflow for composability Merge design doc to enable discussion
#634 Design doc to capture registry maintenance Discuss
#616 Add docs/design etc. Discuss (Reject?)
#584 Add new terms to glossary Discuss
#558 Add <when> to help select the right <match> Depends on registry changes
  • 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 55 open (was 56 last time).

  • 14 are Preview-Feedback
  • 0 are resolve-candidate and proposed for close.
  • 0 are Agenda+ and proposed for discussion.
  • 3 are LDML45
Issue Description Recommendation
#738 Is it an error to pass a bad option to a function? Addressed by #774

Topic: Design Status

What is the status of our various design docs?

Doc Description Status
bidi-usability Manage bidi isolation Proposed
data-driven-tests Capture the planned approach for the test suite Proposed
error-handling Decide whether and what implementations do after a runtime error Proposed, NEW
expression-attributes Define how attributes may be attached to expressions Proposed
selection-declaration Define what effect (if any) the annotation of a selector has on subsequence placeholders Proposed
beauty-contest Choose between syntax options 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 NOT accepted
code-mode-introducer Choose the pattern for complex messages Accepted
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
default-registry-and-mf1-compatibility Define the functions necessary for the tech preview Accepted
delimiting-variant-patterns Balloting of complex message handling Accepted
exact-match-selector-options Choose the name for the “exact match” selector function (this is :string) 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

Topic: AOB?