-
-
Notifications
You must be signed in to change notification settings - Fork 34
Home
Welcome to the home page for the MessageFormat Working Group, a subgroup of the Unicode CLDR-TC.
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.
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:
- Apply to join our mailing list
- Watch this repository (use the "Watch" button in the upper right corner)
To contribute to this work, in addition to the above:
- Each individual MUST have a copy of the CLA on file.
- 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.
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.
This block reserved for scribe rotation.
Recent scribes:
- 2024-11-11 MIH
- 2024-11-03 ECH
- 2024-10-28 HGO
- 2024-10-21 APP
- 2024-10-14 MIH
- 2024-10-07 TIM
- 2024-09-30 EAO
- 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)
- 2024-11-18 Regular Teleconference https://docs.google.com/document/d/1K9QxgVtQnt7igVspg2N5VqeazuRfwrcL-aro8hl7DQU/edit
The next regular meeting will be 18 November 2024 and is a Regular WG Teleconference call.
- Review all PRs!
- Review all issues for blockers or closing
Call to submit MessageFormat 2.0 for balloting by the working group. If approved in next week’s call, the resulting specification would be (hopefully) approved by CLDR-TC for publication in v46.1 and made final in v47 in the spring. This is the last chance to discuss if we have accomplished our goals.
There is a need for an end-to-end cleanup of the spec (removing Tech Preview comments from v45, addressing minor editorial issues). The chair proposes to make a PR to accomplish this before labeling the official release candidate and producing HTML in the LDML spec. Let’s discuss the logistics of this.
The chair merged #932 in spite of Mihai’s unresolved comment. We need to consider if changes to :math should be made or the function reverted in favor of e.g. an `offset` option. PR link: view it on GitHub
Last week we discussed taking :unit as optional if our work was done. Propose merging it.
PR | Description | Recommendation |
---|---|---|
#944 | Address “implementation-defined” literal and type values | Discuss, Merge |
#943 | Rename :currency option currencySign as sign | Discuss, Merge |
#942 | Always apply isolation when u:dir is set | Discuss, Merge |
#941 | Linkify stability policy | Merge |
#940 | Add tests for :currency | Merge |
#939 | Drop exp value for :number tests with bad option values | Merge |
#923 | Test schema: allow src property to either be a string or array of strings | Discuss, Merge |
#922 | Implement :unit as OPTIONAL in the registry | Merge |
#911 | Define locale options for :datetime :date and :time | Discuss, Merge |
#584 | Add new terms to glossary | Reject |
https://github.com/unicode-org/message-format-wg/issues
Currently we have 31 open (was 30 last time).
- 14 are tagged for 46.1 (3 are blocker-candidate)
- 6 are tagged for 47
- 4 are tagged “Seek-Feedback-in-Preview”
- 5 are tagged “Future”
- 6 are
Preview-Feedback
- 7 are
resolve-candidate
and proposed for close. - 3 are
Agenda+
and proposed for discussion. - None are ballots
Issue | Description | Recommendation |
---|---|---|
#937 | Clarify boilerplate about operand and resolved value | Agenda+ |
#936 | Add short timezone identifies | Agenda+ |
#935 | Well-formed vs. valid | Agenda+ |
#847 | Conformance with UAX31 and UTS55 | Blocker-candidate |
#843 | Create complete tests for syntax | Blocker-candidate |
#838 | Unit and currency formatting should be supported | Blocker-candidate, Resolve (waiting on #922) |
#856 | Update CLDR test data | Resolve |
#819 | [FEEDBACK] semantic diff between local and input | Resolve |
#818 | [FEEDBACK] reuse of :function between annotation and output | Resolve |
#724 | [FEEDBACK] MF unquoted literals | Resolve |
#680 | Restrict literals for :date and :time | Resolve |
#663 | Provide structure in the registry for distinguishing types of options | Resolve |
What is the status of our various design docs?
Doc | Description | Status |
---|---|---|
dataflow-composability | Data Flow for Composable Functions | Proposed (Obsolete?) |
maintaining-registry | Maintaining the function registry | Proposed, Discuss |
number-selection | Define how selection on numbers happens | Revision Proposed |
Accepted, Obsolete, and Rejected Designs
Doc | Description | Status |
---|---|---|
function-composition-part-1 | Function Composition | Obsolete |
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 |
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 |