Repository navigation
Conversation
19 locale dictionaries still translated four key families English had dropped: session.question.pending, session.background.runningCount, .background.shell and .background.subagent. All 116 entries are plural variants of those families, none is reachable because lookup keys come from the English dictionary, and nothing outside runtime/i18n references them. The ui dictionaries had none. This is what anomalyco#50835's subset assertion needs before it can pass.
|
The following comment was made by an LLM, it may be inaccurate: |
There was a problem hiding this comment.
This looks good to me. The removed entries can't be reached. The plural lookup in language.tsx only accepts a key whose .one and .other forms exist in en.ts. None of session.question.pending, session.background.runningCount, session.background.shell or session.background.subagent exists there (they were dropped in #52369), and nothing builds these keys at runtime. I checked that every deleted line belongs to one of those four groups, so nearby keys that are still used are untouched. I also checked that latest dev still has the stale entries. A script comparing each locale's keys with en.ts reports exactly 116 fewer keys English lacks with this PR. In packages/app, bun run typecheck passes and bun test src/runtime/i18n passes (20/20).
The public API is unchanged: the change only touches internal app locale dictionaries.
I have no concerns.
Issue for this PR
Closes #56610
Type of change
What does this PR do?
Removes 116 locale entries that no longer correspond to any key in English.
19 dictionaries still carried translations for four key families that
en.tsno longer defines:session.question.pending,session.background.runningCount,session.background.shellandsession.background.subagent. Every one of the 116 entries is a CLDR plural variant (few,many,zeroortwo) of those families.None of them is reachable. A locale lookup only ever asks for a key the English dictionary defines, and the families were removed from
en.tslong ago, so nothing ever selects those strings. Nothing outsideruntime/i18nreferences them either.packages/uihad none.This is what blocks the subset assertion in #50835: "no locale defines a key English does not" cannot pass while the locales define families English does not have.
I kept this separate from #50835 on purpose. It is a mechanical deletion that needs no judgement about what the copy should say, so it can be reviewed and landed without waiting on the test it unblocks.
How did you verify your code works?
en.tsbefore deleting: none of the four families exists there, by plural family as well as by exact key.grepacrosspackages/app/src,packages/core/srcandpackages/cli/srcfinds no reference to any of the four names outsideruntime/i18n.bun test src/runtime/i18ninpackages/app: 18 pass, 1 fail. That failure is pre-existing —language.test.tscannot resolvejsxDEVfrom the locally installed solid-js — and reproduces identically with these changes stashed.bun typecheckreports the same 2 errors with and without the change. Note thatpackages/aicurrently has 6 typecheck errors ondevitself, which is why the pre-pushbun run checkhook fails on a clean tree; I verified this on a stashed checkout rather than assuming.Screenshots / recordings
None. No user-visible change; these strings were already unreachable.
Checklist