🇪🇸 Español
Idea / discusión — Weftmap hoy trae dos locales de UI (inglés y español). A medida que el proyecto crece, queremos que la interfaz sea traducible a más idiomas humanos (p.ej. portugués, francés, alemán, chino, japonés, …) para que sea accesible a una audiencia internacional más amplia.
Es una idea paraguas, no un fix puntual. Depende de que primero se resuelva el endurecimiento de i18n ya reportado (strings hardcodeados, aria-labels localizados, selector de idioma consciente de la ruta) para que todo el texto visible pase realmente por los diccionarios.
Alcance posible:
- Hacer que la lista de locales en
src/i18n/config.ts sea fácil de extender (agregar un locale = agregar un archivo de diccionario).
- Asegurar que
generateStaticParams, el routing, el selector de idioma y la metadata (hreflang) escalen a N locales en vez de asumir dos.
- Agregar una guía corta "Agregar una traducción" a CONTRIBUTING para que los contributors puedan enviar un nuevo
dictionaries/<locale>.json.
- Opcionalmente, agregar un check de CI que verifique que cada archivo de locale tenga las mismas claves que la fuente (
en.json).
- Elegir el/los primeros idiomas adicionales para sembrar.
Por qué: traducir la UI es una forma valiosa y bien acotada de que contributors no programadores participen, y amplía el alcance.
Se aceptan opiniones sobre qué idiomas priorizar y si conviene supeditar esto a las issues de limpieza de i18n.
🇬🇧 English
Idea / discussion — Weftmap currently ships two UI locales (English and Spanish). As the project grows, we'd like the interface to be translatable into more human languages (e.g. Portuguese, French, German, Chinese, Japanese, …) so it's accessible to a wider, international open-source audience.
This is an umbrella idea, not a single fix. It depends on the i18n hardening already filed (hardcoded strings, localized aria-labels, locale-aware language switcher) being addressed first so that all user-facing text actually flows through the dictionaries.
Possible scope:
- Make the locale list in
src/i18n/config.ts easy to extend (add a locale = add one dictionary file).
- Ensure
generateStaticParams, routing, the language switcher, and metadata (hreflang) scale to N locales rather than assuming two.
- Add a short "Adding a translation" guide to CONTRIBUTING so contributors can submit a new
dictionaries/<locale>.json.
- Optionally add a CI check that every locale file has the same keys as the source (
en.json).
- Pick the first additional language(s) to seed.
Why: translating the UI is a high-value, well-scoped way for non-code contributors to participate, and it broadens reach.
Feedback welcome on which languages to prioritize and whether to gate this behind the i18n-cleanup issues.
🇪🇸 Español
Idea / discusión — Weftmap hoy trae dos locales de UI (inglés y español). A medida que el proyecto crece, queremos que la interfaz sea traducible a más idiomas humanos (p.ej. portugués, francés, alemán, chino, japonés, …) para que sea accesible a una audiencia internacional más amplia.
Es una idea paraguas, no un fix puntual. Depende de que primero se resuelva el endurecimiento de i18n ya reportado (strings hardcodeados,
aria-labels localizados, selector de idioma consciente de la ruta) para que todo el texto visible pase realmente por los diccionarios.Alcance posible:
src/i18n/config.tssea fácil de extender (agregar un locale = agregar un archivo de diccionario).generateStaticParams, el routing, el selector de idioma y la metadata (hreflang) escalen a N locales en vez de asumir dos.dictionaries/<locale>.json.en.json).Por qué: traducir la UI es una forma valiosa y bien acotada de que contributors no programadores participen, y amplía el alcance.
Se aceptan opiniones sobre qué idiomas priorizar y si conviene supeditar esto a las issues de limpieza de i18n.
🇬🇧 English
Idea / discussion — Weftmap currently ships two UI locales (English and Spanish). As the project grows, we'd like the interface to be translatable into more human languages (e.g. Portuguese, French, German, Chinese, Japanese, …) so it's accessible to a wider, international open-source audience.
This is an umbrella idea, not a single fix. It depends on the i18n hardening already filed (hardcoded strings, localized
aria-labels, locale-aware language switcher) being addressed first so that all user-facing text actually flows through the dictionaries.Possible scope:
src/i18n/config.tseasy to extend (add a locale = add one dictionary file).generateStaticParams, routing, the language switcher, and metadata (hreflang) scale to N locales rather than assuming two.dictionaries/<locale>.json.en.json).Why: translating the UI is a high-value, well-scoped way for non-code contributors to participate, and it broadens reach.
Feedback welcome on which languages to prioritize and whether to gate this behind the i18n-cleanup issues.