|
| 1 | +# 21 April 2025 | MessageFormat Working Group Teleconference |
| 2 | + |
| 3 | +Attendees: |
| 4 | + |
| 5 | +- Addison Phillips \- Unicode (APP) \- chair |
| 6 | +- Mihai Niță \\- Google (MIH) |
| 7 | +- Shane Carr \\- Google (SFC) |
| 8 | +- Daniel Gleckler (DAG) |
| 9 | +- Tim Chevalier \\- Igalia (TIM) |
| 10 | +- Richard Gibson \\- OpenJSF (RGN) |
| 11 | + |
| 12 | + |
| 13 | +- |
| 14 | + |
| 15 | +**Scribe:** MIH |
| 16 | + |
| 17 | + |
| 18 | + |
| 19 | +## Topic: Info Share, Project Planning |
| 20 | + |
| 21 | +## Topic: PR Review |
| 22 | + |
| 23 | +*Timeboxed review of items ready for merge.* |
| 24 | + |
| 25 | +| PR | Description | Recommendation | |
| 26 | +| ----- | ----- | ----- | |
| 27 | +| \#1071 | Currency and unit conformance | Discuss | |
| 28 | +| \#1070 | Allow clamping of digit size options | Discuss, Merge? | |
| 29 | +| \#1068 | Design document for percent formatting | Discuss | |
| 30 | +| \#1067 | Semantic skeletons design | Discuss | |
| 31 | +| \#1065 | Draft new charter and goals for v49/v50 and beyond | Discuss | |
| 32 | +| | | | |
| 33 | + |
| 34 | +## Topic: Semantic Skeletons |
| 35 | + |
| 36 | +*Reserving time to discuss the design.* |
| 37 | + |
| 38 | +[https://github.com/unicode-org/message-format-wg/pull/1067](https://github.com/unicode-org/message-format-wg/pull/1067) |
| 39 | +[https://github.com/unicode-org/message-format-wg/pull/1067/files?short\_path=ee0a5f2\#diff-ee0a5f2b733a9fdd85ab9880271f9f036decc3910f560655df115e939ed168e4](https://github.com/unicode-org/message-format-wg/pull/1067/files?short_path=ee0a5f2#diff-ee0a5f2b733a9fdd85ab9880271f9f036decc3910f560655df115e939ed168e4) |
| 40 | + |
| 41 | +## Topic: Percent Formatting (\#956) |
| 42 | + |
| 43 | +*Reserving time to discuss whether to go with \`:percent\` or whether to use \`:unit unit=percent\` and how to handle percents if unscaled.* |
| 44 | + |
| 45 | +## |
| 46 | + |
| 47 | +## Topic: Issue review |
| 48 | + |
| 49 | +[https://github.com/unicode-org/message-format-wg/issues](https://github.com/unicode-org/message-format-wg/issues) |
| 50 | + |
| 51 | +Currently we have 31 open (was 32 last time). |
| 52 | + |
| 53 | +* 21 are tagged for 48 |
| 54 | +* 3 are tagged “Future” |
| 55 | +* 13 are `Preview-Feedback` |
| 56 | +* 2 are tagged Feedback |
| 57 | +* 1 is `resolve-candidate` and proposed for close. |
| 58 | +* 2 are `Agenda+` and proposed for discussion (see below) |
| 59 | +* 0 are ballots |
| 60 | + |
| 61 | +| Issue | Description | Recommendation | |
| 62 | +| ----- | ----- | ----- | |
| 63 | +| \#1043 | Deployment, development, and maintenance of messageformat.unicode.org | Discuss | |
| 64 | +| \#1051 | Plans for v48 | Discuss | |
| 65 | +| \#1052 | TAG Review | Resolve (thank TAG) | |
| 66 | +| \#1062 | Test for unpaired surrogates is rejected by some JSON parsers | Discuss | |
| 67 | + |
| 68 | +## \#\# PRs |
| 69 | + |
| 70 | +### \#\#\# 1071 Currency and unit conformance |
| 71 | + |
| 72 | +Some comments on it, will continue there |
| 73 | + |
| 74 | +### \#\#\# 1070 Allow clamping of digit size options |
| 75 | + |
| 76 | +Ship it from Eemeli |
| 77 | +Comment form SFC |
| 78 | +Some comments on some tests |
| 79 | +Open comments from people missing here, we will not merge today |
| 80 | + |
| 81 | +### \#\#\# 1065 Draft new charter and goals for v49/v50 and beyond |
| 82 | + |
| 83 | +Discussing with CLDR TC. |
| 84 | +Add your comments if you have them |
| 85 | + |
| 86 | +### \#\#\# 1067 Semantic skeletons design |
| 87 | + |
| 88 | +APP: Emergent consensus that we will have several functions, instead of one function with too many options. |
| 89 | +We will still have some grab-bag ones, like `` :datetime` `` |
| 90 | + |
| 91 | +MIH: had two takes. Would rather have this in ICU before in MF. Know it can be mapped/implemented on top of existing skeletons. In general, MF only calls the date formatter so date formatter would have to be updated to support skeletons. |
| 92 | + |
| 93 | +Settings for width apply to all buckets of pieces. So I says “day of week,day, month and want full” and I get Thursday and December etc. Cannot say the time zone to be short and day abbrev. Etc We are losing flexibility quite a bit. That’s the main thing. |
| 94 | + |
| 95 | +SFC: (from chat) re implementations: semantic skeletons can be implemented on top of DateTimePatternGenerator |
| 96 | +re widths: we have a path for this. Does it block semantic skeletons in v48 for MF2? |
| 97 | + |
| 98 | +MIH: don’t want to put in MF that isn’t in the ICU formatters. |
| 99 | +It is just a matter of order. |
| 100 | +ICU would need to approve and implement semantic skeletons in DateFormat |
| 101 | + |
| 102 | +APP: individual field widths are an absolute necessity. |
| 103 | +If we don’t have them then people will go back to option bags. |
| 104 | + |
| 105 | +APP: Let’s wait for SFC to be back online |
| 106 | + |
| 107 | +## \#\# Issues |
| 108 | + |
| 109 | +### \#\#\# 1062 Test for unpaired surrogates is rejected by some JSON parsers |
| 110 | + |
| 111 | +APP: Steven Loomis suggested a binary form in json |
| 112 | +I would even question if we even need these tests, explicitly. |
| 113 | + |
| 114 | +TIM: I think it would be good to have them in the test files, since they are in the spec. |
| 115 | + |
| 116 | +APP: we actually don’t require implementations to support them. |
| 117 | + |
| 118 | +MIH: was pushing strongly for this. Certain frameworks do UTF16 possibly invalid. Could be implementation specific. “Do this in code”, we have this in code. In ICU we have like junits, outside the json space. If you are this sort of implementation write it outside the jsons. I would expect implementations to do this anyway. Result of a date format is you get what you get. |
| 119 | + |
| 120 | +APP: don’t attempt to do that |
| 121 | + |
| 122 | +MIH: point is that you’ll have some tests like that. |
| 123 | +To make sure that the plumbing between MF and the real formatters work. |
| 124 | + |
| 125 | +TIM: similar to the java implementation, so supports any utf16. There are tests in code. If we dropped from json, would be fine. |
| 126 | + |
| 127 | +APP: comment instead? |
| 128 | + |
| 129 | +TIM: sure, sounds like a good idea |
| 130 | + |
| 131 | +APP: I’ll do a PR, unless someone else wants to do it |
| 132 | + |
| 133 | +SFC: one can spend time writing all the pros / cons for separate / unique functions |
| 134 | +Options on existing functions feel more natural for semantic skeletons |
| 135 | +There is pushback for many functions, but only from Mark Davis |
| 136 | +I think we should have 6 or 7 functions. |
| 137 | +We would have date, time, datetime \+ zoned differences. |
| 138 | + |
| 139 | +People are very picky on how the tz are shown. |
| 140 | +Width is about space, but also understanding. |
| 141 | + |
| 142 | +The only 2 fields. |
| 143 | + |
| 144 | +APP: devs and designers will be the ones interacting with semantic skeletons |
| 145 | +We allow for 2 / 4 digit years, 0 filled hours, stuff over which we used go give people control |
| 146 | +Should we take away these controls? |
| 147 | + |
| 148 | +SFO: 2 digits are already covered |
| 149 | +We have 2 options for 2 digits fields that are independent of full / long / medium / short |
| 150 | +They are in UTS \#35. |
| 151 | + |
| 152 | +APP: functions that are not zoned have different names (civil times, local times, between JS, Java, others) |
| 153 | + |
| 154 | +SFC: in JS most times are timestamps, sometimes with a tz information (proper tz is or offset) |
| 155 | + |
| 156 | +APP: as a user I want to format the date part of `` `Date` `` I call the `` `:date` `` method. |
| 157 | +As a MF user I want to write a message, hand it over, and just show a date. |
| 158 | + |
| 159 | +APP: I understand the temporal argument. |
| 160 | +But as one of the zillion new grads, I don’t understand the subtleties. |
| 161 | + |
| 162 | +RGN: JS date has no tz info. And sometimes has an offset, but is taken from the host |
| 163 | + |
| 164 | +MIH: MF is not strongly typed at all. |
| 165 | +So having many functions, with strict typing, we will need a way to make MF fallback to something that makes sense and not “explode” |
| 166 | + |
| 167 | +SFC: you don’t pass a hash map to a `` `DateFormat` ``, or an integer. |
| 168 | +For me passing an integer is as wrong as passing a hash map. |
| 169 | + |
0 commit comments