forked from unicode-org/message-format-wg
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathregistry.xml
More file actions
256 lines (243 loc) · 10.7 KB
/
registry.xml
File metadata and controls
256 lines (243 loc) · 10.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
<?xml version="1.0" encoding="UTF-8"?>
<?xml-model href="registry.dtd" type="application/xml-dtd"?>
<registry xml:lang="en">
<!-- All regex here are to be seen as provisory. See issue #422. -->
<validationRule id="anyNumber" regex="-?(0|([1-9]\d*))(\.\d*)?([eE][-+]?\d+)?"/>
<validationRule id="positiveInteger" regex="0|([1-9]\d*)"/>
<validationRule id="currencyCode" regex="[A-Z]{3}"/>
<validationRule id="timeZoneId" regex="[a-zA-Z/]+"/>
<validationRule id="anythingNotEmpty" regex=".+"/>
<validationRule id="iso8601" regex="\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}"/>
<function name="datetime" supports="format">
<!-- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/DateTimeFormat -->
<description>
Locale-sensitive date and time formatting
</description>
<input validationRule="iso8601"/>
<option
name="dateStyle"
values="full long medium short"
excludes="era year month weekday day dayPeriod hour hourCycle minute second fractionalSecondDigits timeZoneName"
>
<description>
The predefined date formatting style to use.
</description>
</option>
<option
name="timeStyle"
values="full long medium short"
excludes="era year month weekday day dayPeriod hour hourCycle minute second fractionalSecondDigits timeZoneName"
>
<description>
The predefined time formatting style to use.
</description>
</option>
<option name="calendar" values="buddhist chinese coptic dangi ethioaa ethiopic gregory hebrew indian islamic islamic-umalqura islamic-tbla islamic-civil islamic-rgsa iso8601 japanese persian roc">
<description>
Calendar to use.
</description>
</option>
<option name="dayPeriod" values="narrow short long">
<description>
The formatting style used for day periods like "in the morning", "am", "noon", "n" etc.
</description>
</option>
<option name="numberingSystem" values="arab arabext bali beng deva fullwide gujr guru hanidec khmr knda laoo latn limb mlym mong mymr orya tamldec telu thai tibt">
<description>
Numbering system to use.
</description>
</option>
<option name="timeZone" validationRule="timeZoneId">
<description>
The time zone to use.
The only value implementations must recognize is "UTC";
the default is the runtime's default time zone.
Implementations may also recognize the time zone names of the IANA time zone database,
such as "Asia/Shanghai", "Asia/Kolkata", "America/New_York".
</description>
</option>
<option name="hourCycle" values="h11 h12 h23 h24">
<description>
The hour cycle to use.
</description>
</option>
<option name="weekday" values="long short narrow">
<description>
The representation of the weekday.
</description>
</option>
<option name="era" values="long short narrow">
<description>
The representation of the era.
</description>
</option>
<option name="year" values="numeric 2-digit">
<description>
The representation of the year.
</description>
</option>
<option name="month" values="numeric 2-digit long short narrow">
<description>
The representation of the month.
</description>
</option>
<option name="day" values="numeric 2-digit">
<description>
The representation of the day.
</description>
</option>
<option name="hour" values="numeric 2-digit">
<description>
The representation of the hour.
</description>
</option>
<option name="minute" values="numeric 2-digit">
<description>
The representation of the minute.
</description>
</option>
<option name="second" values="numeric 2-digit">
<description>
The representation of the second.
</description>
</option>
<option name="fractionalSecondDigits" values="1 2 3">
<description>
The number of digits used to represent fractions of a second
(any additional digits are truncated).
</description>
</option>
<option name="timeZoneName" values="long short shortOffset longOffset shortGeneric longGeneric">
<description>
The localized representation of the time zone name.
</description>
</option>
</function>
<function name="number" supports="all">
<!-- https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/NumberFormat -->
<description>
Locale-sensitive number formatting
</description>
<input validationRule="anyNumber"/>
<option name="compactDisplay" values="short long" default="short" supports="format">
<description>
Only used when notation is "compact".
</description>
</option>
<option name="currency" validationRule="currencyCode" supports="format">
<description>
The currency to use in currency formatting.
Possible values are the ISO 4217 currency codes, such as "USD" for the US dollar,
"EUR" for the euro, or "CNY" for the Chinese RMB — see the
Current currency & funds code list
(https://www.unicode.org/cldr/charts/latest/supplemental/detailed_territory_currency_information.html).
There is no default value; if the style is "currency", the currency property must be provided.
</description>
</option>
<option name="currencyDisplay" values="symbol narrowSymbol code name" default="symbol" supports="format">
<description>
How to display the currency in currency formatting.
</description>
</option>
<option name="currencySign" values="accounting standard" default="standard" supports="format">
<description>
In many locales, accounting format means to wrap the number with parentheses
instead of appending a minus sign. You can enable this formatting by setting the
currencySign option to "accounting".
</description>
</option>
<option name="notation" values="standard scientific engineering compact" default="standard" supports="format">
<description>
The formatting that should be displayed for the number.
</description>
</option>
<option name="numberingSystem" values="arab arabext bali beng deva fullwide gujr guru hanidec khmr knda laoo latn limb mlym mong mymr orya tamldec telu thai tibt" supports="format">
<description>
Numbering system to use.
</description>
</option>
<option name="signDisplay" values="auto always exceptZero never" default="auto" supports="format">
<description>
When to display the sign for the number. "negative" value is Experimental.
</description>
</option>
<option name="style" values="decimal currency percent unit" default="decimal" supports="format">
<description>
The formatting style to use.
</description>
</option>
<option name="unit" validationRule="anythingNotEmpty" supports="format">
<description>
The unit to use in unit formatting.
Possible values are core unit identifiers, defined in UTS #35, Part 2, Section 6.
A subset of units from the full list was selected for use in ECMAScript.
Pairs of simple units can be concatenated with "-per-" to make a compound unit.
There is no default value; if the style is "unit", the unit property must be provided.
</description>
</option>
<option name="unitDisplay" values="long short narrow" default="short" supports="format">
<description>
The unit formatting style to use in unit formatting.
</description>
</option>
<option name="minimumIntegerDigits" values="positiveInteger" supports="all">
<description>
The minimum number of integer digits to use.
A value with a smaller number of integer digits than this number will be
left-padded with zeros (to the specified length) when formatted.
</description>
</option>
<option name="minimumFractionDigits" values="positiveInteger" supports="all">
<description>
The minimum number of fraction digits to use.
The default for plain number and percent formatting is 0;
the default for currency formatting is the number of minor unit digits provided by
the ISO 4217 currency code list (2 if the list doesn't provide that information).
</description>
</option>
<option name="maximumFractionDigits" values="positiveInteger" supports="all">
<description>
The maximum number of fraction digits to use.
The default for plain number formatting is the larger of minimumFractionDigits and 3;
the default for currency formatting is the larger of minimumFractionDigits and the number of minor
unit digits provided by the ISO 4217 currency code list (2 if the list doesn't provide that information);
the default for percent formatting is the larger of minimumFractionDigits and 0.
</description>
</option>
<option name="minimumSignificantDigits" values="positiveInteger" supports="all">
<description>
The minimum number of significant digits to use.
</description>
</option>
<option name="maximumSignificantDigits" values="positiveInteger" supports="all">
<description>
The maximum number of significant digits to use.
</description>
</option>
<option name="select" values="plural ordinal exact" default="plural" supports="match">
<description>
The number selection type.
With `exact` selection, only a variant with a key matching
the JSON representation of the input number (without an exponent) will be selected.
With `plural` and `ordinal` selection, if no such exactly matching key is present,
a variant with the matching CLDR plural category (`zero`/`one`/`two`/`few`/`many`/`other`)
for the corresponding selection type will be selected,
according to the rules of the current locale
</description>
</option>
<match validationRule="anyNumber" values="zero one two few many other" />
<alias name="integer" supports="match">
<description>Locale-sensitive integral number formatting</description>
<setOption name="maximumFractionDigits" value="0" />
<setOption name="style" value="decimal" />
</alias>
<alias name="ordinal" supports="match">
<description>Ordinal number selection</description>
<setOption name="select" value="ordinal" />
</alias>
<alias name="plural" supports="match">
<description>Plural number selection</description>
<setOption name="select" value="plural" />
</alias>
</function>
</registry>