Issues / #3479
#3479 [GUI] 48 UI strings never reach the locale files - /plan, /research and /new stay English in every language
open · @Astemiir · 1 comentários · No GitHub
Descrição
## What happens
In the Russian UI the command palette shows three hints in English while the rest are translated:
/plan Have the assistant write a plan first; nothing runs until you approve it
/research Search the web, read the pages and answer with sources
/new Start a new conversation; keep this one
## Why
It is not a translation gap. These strings are missing from `en.json` itself, so no language can translate them:
- `apps/host/src/locales/en.json` — 3348 keys, `ru.json` — the same 3348, 0 keys missing;
- a search for any of the three strings in `en.json` returns nothing;
- the strings live in code as literals that never went through the string extraction: `apps/host/src/screens/Chat.tsx:456` (`/plan`), `Chat.tsx:457` (`/research`), `apps/host/src/lib/commands.ts:42` (`/new`).
The same gap covers 48 strings in total, mostly in the newer screens:
- `components/NativeTune.tsx` — "Tune this model", "How long to spend", "What you mostly do", "Saved tunings";
- `components/TuneRunView.tsx` — "Took", "Changed", "Variation", "Nothing was changed";
- `components/TelemetryPopover.tsx` — "Thinking time", "Writing time", "tokens/s", "% of context";
- `components/GoalBar.tsx`, `components/TimeSkipPanel.tsx`, `components/PlanCard.tsx`;
- `components/DropZone.tsx`, `components/TaskBoard.tsx`, `screens/Tasks.tsx`, `app/TaskTree.tsx`;
- `screens/Chat.tsx` — "Scroll to the latest message", "The assistant is still answering".
They appear in English in all eight languages, because the key is the same for everyone.
## Fix
1. Run the string extraction over these files so each literal gets a key in `en.json`.
2. Add the translations for the languages you ship; I can supply Russian for all 48.
3. Worth a check in CI: fail when a `hint:`/`tr()` literal has no key, so new screens cannot silently miss the dictionary again.
## Validation
- `ru.json` has no missing keys and no placeholder mistakes; the only values identical to English are terms such as `API`, `GPU`, `JSON`, `PCIe`, `PDF`, `Ctrl` (104 of them) — those are fine.
- After the extraction step the three palette hints and the other 45 strings show translated text in the UI without any layout change.
No site
Links install, modelos, releases.