Skip to content

feat(i18n): add Spanish (es) locale — 15 namespaces, ~1 450 keys - #264

Open
Mukller wants to merge 1 commit into
hoangsonww:masterfrom
Mukller:feat/i18n-spanish
Open

feat(i18n): add Spanish (es) locale — 15 namespaces, ~1 450 keys#264
Mukller wants to merge 1 commit into
hoangsonww:masterfrom
Mukller:feat/i18n-spanish

Conversation

@Mukller

@Mukller Mukller commented Jul 30, 2026

Copy link
Copy Markdown

Summary

Closes #197 — adds a complete Spanish (es) locale to the i18n layer.

What's included

  • 15 JSON namespace files in client/src/i18n/locales/es/:
    activity, alerts, analytics, ccConfig, common, dashboard,
    errors, kanban, nav, run, sessions, settings, splash,
    updates, workflows
  • ~1 450 translated string keys — full parity with the en locale
  • Upstream-only keys included: awaitingReason (common), waitingBanner /
    conversation / timeline / transcriptNotFound (sessions),
    remoteSources / cursorPathsNote (settings), clearSearch / jumpTo /
    new keybinding fields (ccConfig)
  • Language switcher wired: languageNames.es = "Español" and
    languageShort.es = "ES" added to nav.json for all five locales
  • client/src/i18n/index.ts: imports all 15 es bundles and adds "es"
    to supportedLngs
  • client/src/i18n/__tests__/i18n.test.ts: three new assertions —
    Spanish nav keys, non-explicit es-ES tag resolution, and terminology check

Translation notes

  • Interpolation variables ({{count}}, {{name}}, <code>…</code>) are
    preserved verbatim throughout
  • The word Agent (as in the Claude agent concept) is rendered as agente /
    subagente — the natural Spanish equivalent; technical UI identifiers such
    as toolLegend.agent remain untranslated, matching the project convention
  • All 16 splash taglines and 11 chart-info what/howToRead/why blocks
    are fully translated

Test plan

  • Switch language to Español in the dashboard Settings → language picker
  • Verify nav labels, dashboard cards, session detail, Kanban, and Workflows
    page all render in Spanish
  • Verify es-ES browser locale also resolves to es (nonExplicitSupportedLngs)
  • cd client && npx vitest run src/i18n — three new Spanish test cases pass

Implements full Spanish translation covering all existing locale namespaces:
activity, alerts, analytics, ccConfig, common, dashboard, errors, kanban,
nav, run, sessions, settings, splash, updates, workflows.

- All interpolation variables preserved; upstream/master-only keys included
- Language switcher wired: languageNames.es/languageShort.es added
- i18n/index.ts: imports all 15 es bundles, adds es to supportedLngs
- i18n.test.ts: adds Spanish nav, non-explicit es-ES, and terminology tests

Closes hoangsonww#197
@Mukller
Mukller requested a review from hoangsonww as a code owner July 30, 2026 18:47
@github-actions github-actions Bot added bug Something isn't working documentation Improvements or additions to documentation enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed question Further information is requested labels Jul 30, 2026

@Dcastroro Dcastroro left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The new Spanish option is only added to the Spanish nav file. The English, Chinese, Vietnamese, and Korean nav resources do not contain languageNames.es or languageShort.es. Since the language selector renders while one of those locales is active, users cannot get the localized Spanish label before switching and will see the raw key or fallback behavior. Add the Spanish language name and short label to every existing nav locale, and extend the locale parity test so future languages must be discoverable from every active locale.

@hoangsonww hoangsonww left a comment

Copy link
Copy Markdown
Owner

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the changes -- mostly lgtm, but can you also add Spanish support to the documentation (README in spanish, the wiki page at wiki/index.html, etc.)? If you're using AI agents, it can be as easy as telling the agent to do the docs update skill already in the repo.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working documentation Improvements or additions to documentation enhancement New feature or request good first issue Good for newcomers help wanted Extra attention is needed question Further information is requested

Projects

None yet

Development

Successfully merging this pull request may close these issues.

i18n: community translations for new languages (Spanish, German, French, ...) -- contributors welcome

3 participants