Skip to content

feat(i18n): add Spanish (es) locale for desktop app - #86195

Open
satirojordi-boop wants to merge 1 commit into
NousResearch:mainfrom
satirojordi-boop:main
Open

feat(i18n): add Spanish (es) locale for desktop app#86195
satirojordi-boop wants to merge 1 commit into
NousResearch:mainfrom
satirojordi-boop:main

Conversation

@satirojordi-boop

Copy link
Copy Markdown

Adds Spanish (Spain) locale to Hermes Desktop app.

Complete translation (~3150 lines, 39 top-level blocks) covering all UI: settings, cron, composer, sidebar, shell, notifications, keybinds, gateway, mcp, model picker, profiles, messaging, webhooks, artifacts, starmap, agents, command center, updates, install, onboarding, and all UI components.

TypeScript compiles without errors (tsc --noEmit passes).

Fixes #59780

- Add es.ts with full translation (~3150 lines, 39 top-level blocks)
- Register 'es' in Locale type, LOCALE_OPTIONS, LOCALE_ALIASES, TRANSLATIONS catalog
- Complete coverage: settings, cron, composer, sidebar, shell, notifications, keybinds, gateway, mcp, model picker, profiles, messaging, webhooks, artifacts, starmap, agents, command center, updates, install, onboarding, and all UI components
- TypeScript compiles without errors (tsc --noEmit passes)

Co-authored-by: Jordi <satirojordi-boop>
@alt-glitch alt-glitch added type/feature New feature or request comp/desktop Electron desktop app (apps/desktop/*) area/i18n Localization, locales, translations P3 Low — cosmetic, nice to have duplicate This issue or pull request already exists labels Aug 14, 2026
@alt-glitch

Copy link
Copy Markdown
Collaborator

This was generated by AI during triage.

Duplicate of #41230: both implement the Desktop Spanish locale on the same catalog, language registration, type, and translation surface.

@Enough1122

Copy link
Copy Markdown
Contributor

AI code review — automated review for reference, author can ignore or act on any point.

feat(i18n): add Spanish (es) locale for desktop app

  1. titlebar.layoutEditorTitle reads 'Editor de disposición — -clic restablece la disposición' — the modifier-key interpolation appears to be missing ("-clic" with no modifier). If the source string embeds a placeholder (e.g. a $mod/keybind token), the Spanish string must reproduce it (e.g. ⌘-clic / Ctrl-clic or the same placeholder) or the rendered text is broken. Worth auditing the whole catalog for lost interpolation placeholders.
  2. defineLocale/Translations should enforce key parity at compile time; interpolation-parameter parity (function-valued entries like count => ... vs plain strings) is not type-checked the same way — an automated check comparing parameter arity per key across locales would prevent future drift.
  3. Pluralization is hand-rolled per string (cambio${n === 1 ? '' : 's'}...). It is correct here ("1 cambio nuevo disponible" / "2 cambios nuevos disponibles"), but a shared plural helper would keep it consistent as the catalog grows.
  4. Minor: a sweep for any leftover English tokens in the new file (e.g. "Layout editor" fragments) is cheap insurance — the file is large (~3k lines) and spot-checking only a sample is what an automated reviewer can do.

@satirojordi-boop

Copy link
Copy Markdown
Author

Bug en la traducción: pierde el placeholder del modificador

En la clave es una función que recibe ("⌘" en Mac, "Ctrl" en Win/Linux):

layoutEditorTitle: mod => `Layout editor — ${mod}-click resets the layout`

En se tradujo como string plano, perdiendo el placeholder:

layoutEditorTitle: "Editor de disposición — -clic restablece la disposición"

Resultado en UI: se mostrará — -clic restablece la disposición (sin tecla).

Fix sugerido:

layoutEditorTitle: mod => `Editor de disposición — ${mod}-clic restablece la disposición`

También recomiendo un barrido rápido del catálogo (es.ts ~3150 líneas) buscando otros placeholders perdidos (${...}, $mod, etc.) antes de mergear, ya que el revisor automático (Enough1122) advirtió del mismo riesgo en el punto #4.

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

Labels

area/i18n Localization, locales, translations comp/desktop Electron desktop app (apps/desktop/*) duplicate This issue or pull request already exists P3 Low — cosmetic, nice to have type/feature New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Feature Request] Spanish (Spain) localization / Traducción al castellano (España)

3 participants