Skip to content

Commit 0028d17

Browse files
aphillipseemelimacchiati
authored
Draft new charter and goals for v49/v50 and beyond (#1065)
* Draft new charter and goals for v49/v50 and beyond Fixes #1051 * Update docs/goals.md Co-authored-by: Eemeli Aro <[email protected]> * Update docs/goals.md Co-authored-by: Eemeli Aro <[email protected]> * Update docs/goals.md Co-authored-by: Eemeli Aro <[email protected]> * Don't forget v48 * Update docs/goals.md * Update per offline discussion Co-authored-by: Eemeli Aro <[email protected]> * Update docs/goals.md Co-authored-by: Eemeli Aro <[email protected]> * Include limitations to MF1 compatibility Per the 2025-05-19 teleconference, make clear the appropriate scope of MF1 compatibility * Address comments about MF1 functionality * Update docs/goals.md Co-authored-by: Mark Davis <[email protected]> * Update docs/goals.md Co-authored-by: Mark Davis <[email protected]> * Update docs/goals.md --------- Co-authored-by: Eemeli Aro <[email protected]> Co-authored-by: Mark Davis <[email protected]>
1 parent 7d0d134 commit 0028d17

File tree

1 file changed

+70
-8
lines changed

1 file changed

+70
-8
lines changed

docs/goals.md

Lines changed: 70 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,76 @@
11
# Goals and Non-Goals
22

3-
This document defines the purpose of the Message Format Working Group (MFWG)
4-
and informs the decisions about the scope and the priorities of its efforts.
3+
This document contains the DRAFT charter for the MessageFormat Working Group (MFWG),
4+
which is subject to approval from the CLDR-TC,
5+
and informs decisions about the scope and priority of its efforts.
56

6-
## Goals
7+
## Charter
78

8-
The primary task of the MFWG is to develop an industry standard for the
9-
representation of localizable dynamic message strings. A **_dynamic message
10-
string_** is a string whose content changes due to the value of or insertion
9+
A **_dynamic message string_** is a string whose content changes due to the value of or insertion
1110
of some data value or values.
1211

13-
The design goals are listed below.
12+
The _Unicode MessageFormat Standard_ is an industry standard for the representation
13+
of localizable _dynamic message strings_.
14+
15+
The MessageFormat Working Group maintains and extends the Unicode MessageFormat Standard,
16+
provides documentation;
17+
encourages implementation, including the development of tools and best practices;
18+
manages default and Unicode-defined function sets;
19+
and provides for interoperability with other standards.
20+
21+
The MessageFormat Working Group is a working group of the CLDR-TC.
22+
23+
## Goals
24+
25+
- Maintain and develop the [messageformat.unicode.org] site,
26+
maintaining a high bar (as a model for other Unicode documentation),
27+
including at least
28+
a user guide,
29+
and a migration guide from other formats (including ICU MessageFormat).
30+
- Encourage adoption of Unicode MessageFormat by:
31+
providing implementation support materials;
32+
creating tests;
33+
linking to success stories, tools, and implementations;
34+
supporting or hosting workshops or supporting presentations by members;
35+
and supporting adoption by encapsulating standards (such as ECMA-402, MessageResource, etc.)
36+
- Support migration and adoption by publishing as Stable in the default function set
37+
the functions and options needed to provide compatibility with ICU MessageFormat ("MF1").
38+
Note that certain features of MF1 have been deliberately excluded from this goal
39+
because they are in conflict with the design goals of Unicode MessageFormat,
40+
because they are specialized features unique to MF1 (which ICU is free to implement),
41+
or because they might be superseded by newer specifications:
42+
- ChoiceFormat (an anti-pattern)
43+
- Date/time picture strings (an anti-pattern)
44+
- Date/time and number skeletons (potentially superseded by semantic skeletons)
45+
- Nested selection or partial message selection (an anti-pattern)
46+
- `spellout` and `duration` formats (specialized functionality)
47+
- `ordinal` _formatting_ (specialized functionality)
48+
- Support migration and adoption by expanding the default function set to support
49+
additional use cases.
50+
- Develop a machine-readable function description format or syntax to support the needs of
51+
implementations, including localization tools.
52+
- Define a standard vocabulary for expression attributes and message properties/metadata,
53+
to enable better interoperation between translation tools and platforms.
54+
- Incubate and support working groups or interest groups
55+
that promote adoption of Unicode MessageFormat,
56+
such as the proposed working group to develop a standard message resource format,
57+
i.e. a new file format for bundles or collections of messages.
58+
59+
## Deliverables (v48, v49, v50)
60+
61+
- Deliver as Stable all remaining functions needed to support migration from MF1
62+
- `:datetime` and all date/time functions
63+
- percent formatting
64+
- Deliver at least as Technical Preview (v49) and Stable (v50) all draft functions and options
65+
- `:unit`
66+
- the `u:locale` option
67+
- Deliver as Technical Preview additional functions to support significant additional functionality.
68+
Such functions could include: lists, ranges, relative time, inflection.
69+
- Deliver as Technical Preview a machine-readable function description format or syntax.
70+
71+
## Design Goals
72+
73+
The original design goals are listed below.
1474

1575
1. Allow users to write messages that are both grammatically
1676
correct and can be translated in a grammatically correct manner
@@ -31,6 +91,8 @@ The design goals are listed below.
3191

3292
## Deliverables
3393

94+
The original deliverables were:
95+
3496
1. A formal definition of the canonical data model for representing
3597
localizable _dynamic message strings_.
3698

@@ -39,7 +101,7 @@ The design goals are listed below.
39101
escape sequences, whitespace, markup, as well as parsing errors.
40102

41103
3. A specification for a one-to-one mapping between the data model and XLIFF.
42-
_Note: This deliverable is not included in the LDML46.1 Final Candidate release._
104+
_Note: This deliverable was not included in the LDMLv47 release._
43105

44106
4. A specification for resolving messages at runtime, including
45107
runtime errors.

0 commit comments

Comments
 (0)