Repository navigation
v0.4.6 — Slash Command Palette i18n
Released: 2026-04-13 · Published to: npm llmxray@0.4.6 · Docker djovaneli/llmxray:0.4.6 · (GitHub Release backfilled 2026-05-24)
The slash command dropdown was rendering hard-coded English everywhere — descriptions, category labels, and runtime notification messages. The memory category had no label mapping at all (showed as raw memory text in the badge). v0.4.6 fixes all of it.
What shipped
SlashCommand.descriptionKeyfield — vue-i18n key resolved by UI surfaces. The literaldescriptionis kept as English fallback for/helpoutput and tests.SlashCommandContext.tfunction — bound to vue-i18n'stfrom the consuming component. Commandexecute()callbacks usectx.t(key, args)to produce localized notifications.- 50+ notification strings translated for en / fr / sr (sr-Cyrl auto-mirrored). ar / zh fall back to en.
- Memory category label added (
dashboard.slashCommands.memory) — was missing from the dropdown'scategoryLabelmap entirely. getCommandsByCategory(t?)— now accepts optionaltfor localized labels; falls back to English when called without one (e.g. tests).
Gotchas hit during this work
- vue-i18n parses
<word>as inline HTML — the original help text used<number>,<fact>, etc. as placeholder syntax. Build refused to compile messages containing<…>with "Detected HTML in '…' message". Switched to[…]notation across all locales. Lesson: never use angle brackets in vue-i18n message strings. - Test mock
thad to do interpolation — the registry tests calltoContain('I like Vue')on notification text. The naive mock that returnedkeyas-is broke that. Fixed by appendingObject.values(args)to the key.
Install
```
npm install -g llmxray@0.4.6
or
docker pull djovaneli/llmxray:0.4.6
```