Skip to content

Preparations for LDML 48 release #1096

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 13 commits into from
Aug 11, 2025
Merged

Preparations for LDML 48 release #1096

merged 13 commits into from
Aug 11, 2025

Conversation

eemeli
Copy link
Collaborator

@eemeli eemeli commented Aug 10, 2025

  • Editorial changes, most significantly making section titles unique and adding numeric operand as a term
  • Updated acknowledgements (list order is first by commit count, second by added lines)
  • Add publish/ with an instructional readme & publication script.

@eemeli eemeli requested a review from aphillips August 10, 2025 13:39
@eemeli eemeli added the editorial Issue is non-normative label Aug 10, 2025
eemeli added a commit that referenced this pull request Aug 10, 2025
@eemeli eemeli mentioned this pull request Aug 10, 2025
@aphillips
Copy link
Member

Some of this is done by the LDML build process? Did you talk to @srl295 about making these changes? I can walk you through the LDML tooling (which is pretty slick)

@eemeli
Copy link
Collaborator Author

eemeli commented Aug 10, 2025

Really? I didn't know, so just put together a script with which I got the spec from the LDML47-Stable tag of this repo to match what's currently in the CLDR repo as tr35-messageFormat.md (i.e. automated the steps detailed in docs/checklist-for-pourover-creation.md), and then updated them as necessary to get sensible output for the current main.

I'd thought that the CLDR scripts would take care of things from there onwards; if there's some part that's unnecessary, good!

@aphillips
Copy link
Member

Ah, so you found the steps I was going to point to, which I automated on my desktop Linux box, but didn't check in 😛. The changes to make unique IDs in this PR are totally necessary. I wouldn't pre-generate the TOC the way your readme (and my notes) suggests. The tool is fine--if you've fixed it so the IDs are unique. Some of the .md boilerplate you have is more than I think you need to provide?? Steven would know, tho.

Copy link
Member

@aphillips aphillips left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. Did you run TR tool to get the output?

Comment on lines +22 to +27
_This is a draft document which may be updated, replaced, or superseded by other documents at any time.
Publication does not imply endorsement by the Unicode Consortium.
This is not a stable document; it is inappropriate to cite this document as other than a work in progress._

<!-- _This document has been reviewed by Unicode members and other interested parties, and has been approved for publication by the Unicode Consortium.
This is a stable document and may be used as reference material or cited as a normative reference by other specifications._ -->
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is the draft text exposed because this is the editor's copy? Each release after LDML47 should be stable, no??

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The release, yes, but I think what's in CLDR's main branch still counts as a draft. This is copied from there.

@eemeli
Copy link
Collaborator Author

eemeli commented Aug 11, 2025

Looks good. Did you run TR tool to get the output?

Didn't find it until now, at: https://github.com/unicode-org/cldr/tree/main/tools/scripts/tr-archive

The fix-tocs script does do the ToC generation, and appears to include a bit of TR35-internal link fixing. I'll update the script here to use it.

I'm rather tempted to set up a GitHub action to keep a rendered copy of our spec version continuously available via GitHub Pages; it should be pretty easy with the archive script.

@aphillips
Copy link
Member

I'm rather tempted to set up a GitHub action to keep a rendered copy of our spec version continuously available via GitHub Pages; it should be pretty easy with the archive script.

That was (perpetually) on my to-do list. Having the HTML render makes all the linkify formatting stuff rewarding in real time!

@eemeli
Copy link
Collaborator Author

eemeli commented Aug 11, 2025

I complicated it. The scripts are now Node.js rather than zshell, and there's a Makefile to run them. The tr-archive tool is used to generate the ToC and to build the HTML, which is then fixed up for local rendering.

And there's a GitHub Action that'll re-build the spec when it changes, and deploy it to https://unicode-org.github.io/message-format-wg/

@eemeli eemeli requested a review from aphillips August 11, 2025 15:14
Comment on lines +15 to +16
numberFunctions: "../spec/functions/number.md",
datetimeFunctions: "../spec/functions/datetime.md",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This... feels brittle? The list of function specs are the part of the spec that will evolve/change over time and probably should be self-describing somehow? Just a thought.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Feels like a thing to fix if/when it breaks? We need to enumerate the sections in order to set their order in the spec, and that's currently done here.

@eemeli eemeli merged commit e298f59 into main Aug 11, 2025
2 checks passed
@eemeli eemeli deleted the ldml48 branch August 11, 2025 16:41
Comment on lines +37 to +51
## Parts

The LDML specification is divided into the following parts:

* Part 1: [Core](tr35.md#Contents) (languages, locales, basic structure)
* Part 2: [General](tr35-general.md#Contents) (display names & transforms, etc.)
* Part 3: [Numbers](tr35-numbers.md#Contents) (number & currency formatting)
* Part 4: [Dates](tr35-dates.md#Contents) (date, time, time zone formatting)
* Part 5: [Collation](tr35-collation.md#Contents) (sorting, searching, grouping)
* Part 6: [Supplemental](tr35-info.md#Contents) (supplemental data)
* Part 7: [Keyboards](tr35-keyboards.md#Contents) (keyboard mappings)
* Part 8: [Person Names](tr35-personNames.md#Contents) (person names)
* Part 9: [MessageFormat](tr35-messageFormat.md#Contents) (message format)
* Appendix A: [Modifications](tr35-modifications.md#modifications)
* Appendix B: [Acknowledgments](tr35-acknowledgments.md#acknowledgments)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I obsoleted this a bit recently, where the Parts part is updated automatically. It would be fine to keep this minimal for MFWG (just link to Part 1).

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

At least for now, the publish/update-header-footer.mjs script lets us extract the header from the tr35-messageFormat.md file in the CLDR repo, so that we can apply any necessary modifications to it. This way you should be able to continue to maintain that part in the CLDR repo, while we also can update it when proposing changes. In other words, the source of truth for the header is the CLDR repo, not this file.

@srl295
Copy link
Member

srl295 commented Aug 13, 2025

Some of this is done by the LDML build process? Did you talk to @srl295 about making these changes? I can walk you through the LDML tooling (which is pretty slick)

So as merged, I don't see any major structural issues. This is now better documented and supported by tools than the tr-archiver has been! Congrats I think.

Anyway, I don't see any problem with pushing on here and we'll deal with any issues once we actually merge back into CLDR…

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
editorial Issue is non-normative
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants