@@ -20,7 +20,7 @@ _What is this proposal trying to achieve?_
2020
2121Describe how to manage the registration of functions and options under the
2222auspices of MessageFormat 2.0.
23- This includes the Standard Functions which are normatively required by MF2.0,
23+ This includes the REQUIRED Functions which are normatively required by MF2.0,
2424functions or options in the Unicode ` u: ` namespace,
2525and functions/options that are recommended for interoperability.
2626
@@ -35,7 +35,7 @@ The terms "registry" and "default registry" suggest machine-readbility
3535and various relationships between function sets that the working group decided
3636was not appropriate.
3737
38- MessageFormat v2 includes a standard set of functions.
38+ MessageFormat v2 includes a REQUIRED set of functions.
3939Implementations are required to implement all of the _ selectors_
4040and _ formatters_ in this set,
4141including _ operands_ , _ options_ , and option values.
@@ -45,7 +45,7 @@ runtimes in a wholly consistent manner.
4545Because we want broad adoption in many different programming environments
4646and because the capabilities
4747and functionality available in these environments vary widely,
48- this standard set of functions must be conservative in its requirements
48+ this REQUIRED set of functions must be conservative in its requirements
4949such that every implementation can reasonably implement it.
5050
5151Promoting message interoperability can and should go beyond this.
@@ -56,15 +56,15 @@ Another way to say this is that, ideally, there should be only one way to
5656do a given formatting or selection operation in terms of the syntax of a message.
5757
5858This suggests that there exist a set of functions and options that
59- extends the standard set of functions.
59+ extends the REQUIRED set of functions.
6060Such a set contains the "templates" for functions that go beyond those every implementation
6161must provide or which contain additional, optional features (options, option values)
6262that implementations can provide if they are motivated and capable of doing so.
6363These specifications are normative for the functionality that they provide,
6464but are optional for implementaters.
6565
6666There also needs to be a mechanism and process by which functions in the default namespace
67- can be incubated for future inclusion in either the standard set of functions
67+ can be incubated for future inclusion in either the REQUIRED set of functions
6868or in this extended, optional set.
6969
7070### Examples
@@ -183,29 +183,29 @@ a _selector_,
183183or both.
184184
185185The specification will indicate if the _ formatting function_ ,
186- the _ selector function_ , or, where applicable, both are ` Standard ` or ` Optional ` .
186+ the _ selector function_ , or, where applicable, both are ` REQUIRED ` or ` RECOMMENDED ` .
187187The specification must describe operands, including literal representations.
188188
189189The specification includes all defined _ options_ for the function.
190190Each _ option_ must define which values it accepts.
191- An _ option_ is either ` Standard ` or ` Optional ` .
191+ An _ option_ is either ` REQUIRED ` or ` RECOMMENDED ` .
192192
193- _ Functions_ or _ options_ that have an ` Optional ` status
193+ _ Functions_ or _ options_ that have an ` RECOMMENDED ` status
194194must have a maturity level assigned.
195195The maturity levels are:
196196- ** Proposed**
197197- ** Accepted**
198198- ** Released**
199199- ** Deprecated**
200200
201- _ Functions_ and _ options_ that have a ` Standard ` status have only the
201+ _ Functions_ and _ options_ that have a ` REQUIRED ` status have only the
202202` Released ` and ` Deprecated ` statuses.
203203
204- * An _ option_ can be ` Standard ` for an ` Optional ` function.
204+ * An _ option_ can be ` REQUIRED ` for an ` RECOMMENDED ` function.
205205 This means that the function is optional to implement, but that, when implemented, must include the option.
206- * An _ option_ can be ` Optional ` for a ` Standard ` function.
206+ * An _ option_ can be ` RECOMMENDED ` for a ` REQUIRED ` function.
207207 This means that the function is required, but implementations are not required to implement the option.
208- * An _ option_ can be ` Optional ` for an ` Optional ` function.
208+ * An _ option_ can be ` RECOMMENDED ` for an ` RECOMMENDED ` function.
209209 This means that the function is optional to implement and the option is optional when implementing the function.
210210
211211A function specification describes the functions _ operand_ or _ operands_ ,
@@ -215,19 +215,19 @@ its formatting behavior (if any),
215215its selection behavior (if any),
216216and its resolved value behavior.
217217
218- ` Standard ` functions are stable and subject to stability guarantees.
218+ ` REQUIRED ` functions are stable and subject to stability guarantees.
219219Such entries will be limited in scope to functions that can reasonably be
220220implemented in nearly any programming environment.
221221> Examples: ` :string ` , ` :number ` , ` :datetime ` , ` :date ` , ` :time `
222222
223223
224- ` Optional ` functions are stable and subject to stability guarantees once they
224+ ` RECOMMENDED ` functions are stable and subject to stability guarantees once they
225225reach the status of ** Released** .
226- Implmentations are not required to implement _ functions_ or _ options_ with an ` Optional ` status
226+ Implmentations are not required to implement _ functions_ or _ options_ with an ` RECOMMENDED ` status
227227when claiming MF2 conformance.
228- Implementations MUST NOT implement functions or options that conflict with ` Optional ` functions or options.
228+ Implementations MUST NOT implement functions or options that conflict with ` RECOMMENDED ` functions or options.
229229
230- ` Optional ` values may have their status changed to ` Standard ` ,
230+ ` RECOMMENDED ` values may have their status changed to ` REQUIRED ` ,
231231but not vice-versa.
232232
233233> Option Examples ` :datetime ` might have a ` timezone ` option in LDML46.
@@ -251,7 +251,7 @@ In such cases, the `u:` namespace version is retained, but deprecated.
251251> but it is not universally available and could represent a barrier to adoption
252252> if normatively required.
253253
254- All ` Standard ` , ` Optional ` , and Unicode namespace function or option specifications goes through
254+ All ` REQUIRED ` , ` RECOMMENDED ` , and Unicode namespace function or option specifications goes through
255255a development process that includes these levels of maturity:
256256
2572571 . ** Proposed** The _ function_ or _ option_ , along with necessary documentation,
@@ -260,12 +260,12 @@ a development process that includes these levels of maturity:
260260 During this period, changes can still be made.
2612613 . ** Released** The _ function_ or _ option_ is accepted as of a given LDML release that MUST be specified.
2622624 . ** Deprecated** The _ function_ or _ option_ was previously _ released_ but has been deprecated.
263- Implementations are still required to support ` Standard ` functions or options that are deprecated.
263+ Implementations are still required to support ` REQUIRED ` functions or options that are deprecated.
2642645 . ** Rejected** The _ function_ or _ option_ was considered and rejected by the MF2 WG and/or the CLDR-TC.
265265 Such items are not part of any standard, but might be maintained for historical reference.
266266
267267A proposal can seek to modify an existing function.
268- For example, if a _ function_ ` :foo ` were an ` Optional ` function in the LDMLxx release,
268+ For example, if a _ function_ ` :foo ` were an ` RECOMMENDED ` function in the LDMLxx release,
269269a proposal to add an _ option_ ` bar ` to this function would take the form
270270of a proposal to alter the existing specification of ` :foo ` .
271271Multiple proposals can exist for a given _ function_ or _ option_ .
0 commit comments