add the product-name reason that should have been in 43197745

Repairs my own mistake rather than adding anything. The commit that moved
Untranslated into components/ was meant to widen `reason` to
'foreign-ui-label' | 'product-name' at the same time; its `git add` listed the
pre-move path with stderr suppressed, so the add failed silently, nothing but the
`git mv` rename was staged, and the widening stayed in my working tree.

Consequence, stated plainly: f4ab274d..fa32c82e do not typecheck in isolation,
because the terminal panel uses reason="product-name" against a union that did not
yet have it. The working tree was green throughout, which is exactly why I did not
notice — the per-commit guarantee was broken while the visible state looked fine.
Not rewriting the pushed history: master is shared and another session is pushing to
it, and a force-push to fix a type union is the wrong trade.

The lesson worth keeping is about `git add ... 2>/dev/null`, which turns a bad
pathspec into a no-op that still lets the commit succeed.
This commit is contained in:
2026-08-23 14:50:06 +00:00
parent fa32c82e0d
commit 7899539d4b
2 changed files with 11 additions and 4 deletions
+10 -3
View File
@@ -2,15 +2,22 @@ import type { ReactNode } from 'react';
type UntranslatedProps = {
children: ReactNode;
/** Why this text is not localized. Required so the decision is legible at the call site. */
reason: 'foreign-ui-label';
/**
* Why this text is not localized. Required so the decision is legible at the call site.
*
* `foreign-ui-label` — quoted from another product's interface ("click **Enable**"). It has to match
* what the reader sees on THEIR screen, and that product localizes by its own account language.
* `product-name` — the name of a product or feature: Tmux, Neovim, Claude Code, Officer. The doc's
* never-translate list covers these directly.
*/
reason: 'foreign-ui-label' | 'product-name';
className?: string;
};
/**
* Text that is deliberately NOT localized, marked as such where it is written.
*
* The only reason so far is `foreign-ui-label`: a label quoted from another product's interface, which
* The first reason was `foreign-ui-label`: a label quoted from another product's interface, which
* docs/localization.md classifies as an identifier rather than prose. "Click **Enable**" has to match
* what the reader sees on Google's screen, and Google localises by their Google account language rather
* than by ours — so translating it sends somebody hunting for "Ativar" in a console that says "Enable".