Context
PR #545 added two new keys — error.startup.projectIoUnavailable and error.startup.retry —
to all 19 locale source trees (locales/<lang>/common.json). The 5 production locales
(de/en/es/fr/it) received real translations via the /i18n-key skill (and two review passes on
#545 corrected genuine translation-accuracy bugs in the es/de/fr wording). The other 14
non-production locale trees still show the literal English source string for both keys.
Correction to an earlier mischaracterization
During #545's review, CodeRabbit flagged this gap for ja and sv specifically. Both were
initially dispositioned as an "accepted interim state for beta/near-production tier locales" and
resolved without further action. That disposition was incorrect for these two locales (though
correct for ar/he, see below):
docs/LANGUAGE-EXPANSION-2026.md states the Language-Expansion-2026 Beta cohort's common.json
(and every other module except help.json) was already fully machine-translated in the
2026-06-17 bulk-translate run — help.json is the only documented English-fallback
exception for that cohort.
CLAUDE.md's i18n section states the near-production tier (ja/zh/pt/el) has "full key
parity, help.json still falls back to English" — again singling out help.json as the sole
named exception.
So an English placeholder in common.json for either tier is real, if minor (P3), translation
debt accumulated since each locale's last bulk-translate pass — not a provably policy-permitted
end state. This issue conserves that finding rather than letting it silently pass as "already
correct."
Explicit exception: ar / he
ar and he are not included in the affected-locale list below. Per B-5
(docs/technical-debt / CLAUDE.md), those two locales are intentional, entirely English-fallback
stubs across every module (not just help.json), pending a dedicated v2.0 community
translation task — a genuinely different, already-correctly-documented situation.
Affected locales (12)
el, eu, fa, fi, hu, is, ja, ko, pt, ru, sv, zh
Affected keys (2)
error.startup.projectIoUnavailable
error.startup.retry
Both in locales/<lang>/common.json for each of the 12 locales above.
Resolution
Covered by the next node scripts/bulk-translate-locales.mjs --lang=el,eu,fa,fi,hu,is,ja,ko,pt,ru,sv,zh --all sweep (or an equivalent manual pass), then pnpm run i18n:bundle. Not urgent or
blocking — P3. No rollback of #545 is implied or needed; #545's own production-locale content is
correct.
Context
PR #545 added two new keys —
error.startup.projectIoUnavailableanderror.startup.retry—to all 19 locale source trees (
locales/<lang>/common.json). The 5 production locales(de/en/es/fr/it) received real translations via the
/i18n-keyskill (and two review passes on#545 corrected genuine translation-accuracy bugs in the es/de/fr wording). The other 14
non-production locale trees still show the literal English source string for both keys.
Correction to an earlier mischaracterization
During #545's review, CodeRabbit flagged this gap for
jaandsvspecifically. Both wereinitially dispositioned as an "accepted interim state for beta/near-production tier locales" and
resolved without further action. That disposition was incorrect for these two locales (though
correct for
ar/he, see below):docs/LANGUAGE-EXPANSION-2026.mdstates the Language-Expansion-2026 Beta cohort'scommon.json(and every other module except
help.json) was already fully machine-translated in the2026-06-17 bulk-translate run —
help.jsonis the only documented English-fallbackexception for that cohort.
CLAUDE.md's i18n section states the near-production tier (ja/zh/pt/el) has "full keyparity,
help.jsonstill falls back to English" — again singling outhelp.jsonas the solenamed exception.
So an English placeholder in
common.jsonfor either tier is real, if minor (P3), translationdebt accumulated since each locale's last bulk-translate pass — not a provably policy-permitted
end state. This issue conserves that finding rather than letting it silently pass as "already
correct."
Explicit exception:
ar/hearandheare not included in the affected-locale list below. Per B-5(
docs/technical-debt/CLAUDE.md), those two locales are intentional, entirely English-fallbackstubs across every module (not just
help.json), pending a dedicated v2.0 communitytranslation task — a genuinely different, already-correctly-documented situation.
Affected locales (12)
el,eu,fa,fi,hu,is,ja,ko,pt,ru,sv,zhAffected keys (2)
error.startup.projectIoUnavailableerror.startup.retryBoth in
locales/<lang>/common.jsonfor each of the 12 locales above.Resolution
Covered by the next
node scripts/bulk-translate-locales.mjs --lang=el,eu,fa,fi,hu,is,ja,ko,pt,ru,sv,zh --allsweep (or an equivalent manual pass), thenpnpm run i18n:bundle. Not urgent orblocking — P3. No rollback of #545 is implied or needed; #545's own production-locale content is
correct.