Commit e05f052
Backfills `console`, `home`, `topbar` and `layout` — 193 keys x 8 packs,
1,544 strings — so a ja/ko/de/fr/es/pt/ru/ar admin sees the AI console, the
home screen, the top bar and the system navigation in their own language
instead of silently falling back to English. The gap in those eight packs
drops from 469-471 keys to 277-279; en and zh stay at exact parity.
This is the "high-frequency namespaces only" strategy, not a full backfill:
`grid` (101), `gantt` (58), `dashboard` (25) and the long tail stay on
English fallback and remain tracked under #2872.
Four keys are deliberately NOT translated, and that is the load-bearing part
of this change:
console.ai.planApproveMessage
console.ai.planApproveDefaultsMessage
console.ai.planAnswerMessage
console.ai.changesConfirmMessage
These are not labels — they are text a button TRANSMITS to the agent, and the
cloud confirm gate (service-ai-studio confirm-gate.ts APPROVAL_RE) decides
whether it reads as approval. It recognises Chinese and English, nothing else.
AiChatPage picks them by the language of the CONVERSATION, not the UI, so the
t() call is expected to miss in every non-Chinese pack and fall through to its
English defaultValue. Translating them would make a German user's "Build it"
send German, the gate stop matching, and the agent re-propose instead of
building — the button looks inert while nothing visibly errors.
#2900 shipped exactly that bug for changesConfirmMessage, which had been added
to all ten packs; this removes it from the eight and restores the English
fallback. A new guard pins the invariant in both directions and was
mutation-tested against re-adding an outbound key and against dropping an
ordinary label.
Translations are model-generated and would benefit from native review; every
string's placeholder set was verified programmatically against the English
source.
Claude-Session: https://claude.ai/code/session_01TubWYdWquVkS9dj733sDmC
Co-authored-by: Claude <noreply@anthropic.com>
1 parent 1bb77aa commit e05f052
10 files changed
Lines changed: 2058 additions & 8 deletions
File tree
- .changeset
- packages/i18n/src
- __tests__
- locales
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
Lines changed: 78 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
| 15 | + | |
| 16 | + | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
| 28 | + | |
| 29 | + | |
| 30 | + | |
| 31 | + | |
| 32 | + | |
| 33 | + | |
| 34 | + | |
| 35 | + | |
| 36 | + | |
| 37 | + | |
| 38 | + | |
| 39 | + | |
| 40 | + | |
| 41 | + | |
| 42 | + | |
| 43 | + | |
| 44 | + | |
| 45 | + | |
| 46 | + | |
| 47 | + | |
| 48 | + | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
0 commit comments