Add seven plural forms no catalogue ever had #272

Closed
opened 2026-09-03 21:44:20 +00:00 by jcoffey-dev · 0 comments
Owner

Found by widening the coverage check to plural() forms in every file rather than only the ones being worked on.

Seven counted strings had never been in any of the nine catalogues, so they rendered in English whatever language was selected:

String Where
Delete {n} items? / Delete {n} items Files view
Move {n} items / Move {n} items… Files view
{n} items selected Files view
The event runs {n} days longer than this shows. Event editor
{n} guests are not on this server… Event editor

Not a regression from the recent work — they have been missing since those features landed. Every earlier scan looked at t("literal") call sites plus the plurals of whichever file was in hand, which is exactly the blind spot that also hid Add star earlier.

All nine languages in one commit rather than nine PRs: this is a single gap in a check, not a translation pass, and splitting it per language would imply nine decisions where there is one.

After this, a scan of 1,149 strings — every t() literal, every value reaching t() through a variable, and every plural() form — reports 0 missing in all nine catalogues.

Typecheck clean, 101 test files / 1016 tests pass.

Merged 2026-09-03 as coffey-labs/ihasmail@17d98748c4

Rebuilt from: git history, session transcript.

Found by widening the coverage check to `plural()` forms in **every** file rather than only the ones being worked on. Seven counted strings had never been in any of the nine catalogues, so they rendered in English whatever language was selected: | String | Where | |---|---| | `Delete {n} items?` / `Delete {n} items` | Files view | | `Move {n} items` / `Move {n} items…` | Files view | | `{n} items selected` | Files view | | `The event runs {n} days longer than this shows.` | Event editor | | `{n} guests are not on this server…` | Event editor | **Not a regression** from the recent work — they have been missing since those features landed. Every earlier scan looked at `t("literal")` call sites plus the plurals of whichever file was in hand, which is exactly the blind spot that also hid `Add star` earlier. All nine languages in one commit rather than nine PRs: this is a single gap in a check, not a translation pass, and splitting it per language would imply nine decisions where there is one. After this, a scan of **1,149 strings** — every `t()` literal, every value reaching `t()` through a variable, and every `plural()` form — reports **0 missing** in all nine catalogues. Typecheck clean, 101 test files / 1016 tests pass. **Merged** 2026-09-03 as coffey-labs/ihasmail@17d98748c466 <sub>Rebuilt from: git history, session transcript.</sub>
This repo is archived. You cannot comment on issues.