Issues / #3479
#3479 [GUI] 48 UI strings never reach the locale files - /plan, /research and /new stay English in every language
open · @Astemiir · 1 Kommentare · Auf GitHub
Beschreibung
## 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.
Mehr auf der Site
Links zu Install, Modellen, Releases.