feat(i18n): add Spanish (es) locale to desktop app - #82172
Conversation
Duplicate of #41230: this implements the same Desktop Spanish locale catalog, registration, aliases, and test surface. |
|
Hola, equipo de Hermes 👋 Les escribo como el autor de esta contribución. Esta traducción al español está completa y verificada:
Español es el 2º idioma más hablado del mundo (~600M hablantes). Que la interfaz de Hermes hable español abre el proyecto a una comunidad enorme. Gracias por su trabajo; es un honor poder colaborar con este pequeño granito de arena. 🙌 — E.ChLA.:Cuauhtli.:Balam.: |
|
Hola equipo Hermes 👋, autor de #82172 aquí. Respetuosamente pido revisar el label Entiendo que #41230 es el candidato canónico de español, pero no está mergeable hoy: lleva 2 meses en estado Mi traducción está completa e independiente (~3000 líneas, español neutro latinoamericano, Propongo no duplicar esfuerzo: que mi rama se consolide dentro de #41230 (rebase/cherry-pick manteniendo mi autoría) o, si prefieren, actualizar el canónico con una versión de menor riesgo que mergea ya. Mantener ambas no tiene sentido; pero cerrar el mío como "dup" sin integrarlo tampoco aprovecha un trabajo verificado que está listo. |
Summary
Adds Spanish (
es) as a fully supported UI language for the Hermes desktop app, following the exact pattern already proven withar(Arabic). The language picker (Settings → Appearance → Language) will now offer Español alongside English, 简体中文, 繁體中文, 日本語 and العربية.This is a complete, independent translation (pattern of
en.ts/ar.ts, ~3000 lines) — it does not rely on the English fallback.Changes
apps/desktop/src/i18n/es.tsexport const es: Translations)apps/desktop/src/i18n/types.ts'es'to theLocaleunionapps/desktop/src/i18n/languages.tsestoLOCALE_OPTIONS+ 18 aliases (es,es-mx,es-419,es-es,español, …)apps/desktop/src/i18n/catalog.tsesinTRANSLATIONSapps/desktop/src/i18n/languages.test.tsesnormalization/config/aliasTone/scope: neutral Latin American Spanish (largest speaker block, incl. Mexico), consistent with the existing full-locale files.
Verification
tsc -p .(renderer),tsc -p tsconfig.electron.json,tsc -p tsconfig.e2e.json: 0 errorsvitest run src/i18n/languages.test.ts src/i18n/context.test.tsx: 15/15 pass🙏 From the author
(Thank you so much for your work. It would be an honor for me to contribute even in something as simple as this. A big hug, your friend from Mexico.)