1
1
# WIP DRAFT MessageFormat 2.0 Registry
2
2
3
- _ This document is non-normative._
4
-
5
- The implementations and tooling can greatly benefit from a
3
+ Implementations and tooling can greatly benefit from a
6
4
structured definition of formatting and matching functions available to messages at runtime.
7
5
The _ registry_ is a mechanism for storing such declarations in a portable manner.
8
6
9
7
## Goals
10
8
9
+ _ This section is non-normative._
10
+
11
11
The registry provides a machine-readable description of MessageFormat 2 extensions (custom functions),
12
12
in order to support the following goals and use-cases:
13
13
@@ -25,8 +25,45 @@ in order to support the following goals and use-cases:
25
25
- Display/edit known message metadata.
26
26
- Restrict input in GUI by providing a dropdown with all viable option values.
27
27
28
+ ## Conformance and Use
29
+
30
+ _ This section is normative._
31
+
32
+ To be conformant with MessageFormat 2.0, an implementation MUST implement
33
+ all of the _ selectors_ and _ functions_ described in the default registry,
34
+ including all of the _ options_ and _ option_ values, _ operands_ and outputs
35
+ described by the default registry.
36
+
37
+ Implementations are not required to provide a registry nor to read or interpret
38
+ a copy of this registry in order to be conformant.
39
+
40
+ The MessageFormat 2.0 Registry was created to describe the core set of _ selectors_
41
+ and _ functions_ , including _ operands_ , _ options_ , _ option_ values, as well
42
+ as expected outputs.
43
+ The descriptions in this registry are intended to describe the specific required
44
+ signatures for _ selectors_ and _ functions_ that all implementations of MessageFormat 2.0
45
+ MUST implement.
46
+ The goal is to ensure message interoperability between implementations,
47
+ regardless of programming language or runtime environment.
48
+ This ensures that developers do not have to relearn core MessageFormat syntax
49
+ when moving between platforms
50
+ and that translators do not need to know about the runtime environment for most
51
+ selection or formatting operations.
52
+
53
+ The registry provides a machine-readable description of _ selectors_ and _ functions_
54
+ suitable for tools, such as those used in translation automation, so that
55
+ variant expansion and information about available _ options_ and their effects
56
+ are available in the translation ecosystem.
57
+ To that end, implementations are strongly encouraged to provide appropriately
58
+ tailored versions of the registry for consumption by tools
59
+ (even if not included in software distributions)
60
+ and to encourage any add-on or plug-in functionality to provide
61
+ a registry to support localization tooling.
62
+
28
63
## Data Model
29
64
65
+ _ This section is normative._
66
+
30
67
The registry contains descriptions of function signatures.
31
68
[ ` registry.dtd ` ] ( ./registry.dtd ) describes its data model.
32
69
0 commit comments