quarto-dev / quarto-dev/quarto-cli
Per-language `_language-*.yml` files have drifted from `_language.yml`
@cderv is already working on this.
Since Aug 28, 2026.
- Dominant language
- JavaScript
- Stars
- 6k
- Forks
- 458
- Avg merge
- 1d 9h
- Merged PRs (30d)
- 41
Description
Keys added to src/resources/language/_language.yml are not propagated to the per-language translation files, and nothing in the test suite or CI catches it. Auditing the 30 base language files against _language.yml at b69ed2dde16d1b502dcdddace4eebae5038550e3:
tools-shareandtools-downloadare missing from 25 of the 30. They were added in January 2024 for the book tools menu, so all those languages have been showing English "Download" and "Share" there since.kois also missingtitle-block-modified, added September 2022.sr-Latnis also missingcode-links-title,launch-binder-title,launch-dev-container-title,listing-page-field-wordcountandlisting-page-words, all added in 2023.ltstill carriessearch, which was renamed tosearch-labelin May 2023. The Lithuanian search label falls back to English.svstill carriescallout-danger-title, which was renamed tocallout-caution-titlein February 2023. The Swedish caution callout title falls back to English.
Only bg, es, eu, is and sl are complete.
The region variants de-CH, fr-CA, pt-BR and zh-TW are not affected. They are read as overlays on top of their base language, so being partial is the point:
A check would stop this recurring
We could add a test that reads _language.yml and every _language-*.yml and fails when a base language file misses a key, or when any file carries a key that no longer exists in _language.yml. The region variants would be exempt from the missing-key half but not from the unknown-key half, which is what would have caught lt and sv.
Without something like that the drift restarts the next time a key is added. This is separate from #14772, which is about custom keys supplied by users.
Worth saying that a check only surfaces the gaps. Filling them is translation work for people who speak the language, not something to bulk fill with machine output.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.