EngineHub / EngineHub/Intake

Localization support

Abierto
#6 9 comentarios 0 reacciones 0 asignados Ver en GitHub
Lenguaje dominante
Java
Estrellas
102
Forks
18
Métricas de merge de PR
Sin PR fusionados en 30 d

Descripción

Intake should provide some sort of support for localizations. This affects two fields:
1. **Internal localization:** All hard-coded strings should be externalized in a Java ResourceBundle and some behaviour might need to be updated in order to work as expected in an localized environment. Some points might need discussion:
- Intake has several internal runtime exceptions that the end-user should never see (e.g. `ParametricException`). These might not need localization.
- It might be a good idea to allow users to alter or replace the internal localization logic by providing custom translations. In that case the two entry points are `ParametricBuilder` and `CommandGraph`.
2. **External localization:** The values in command annotations, specifically description and help, need localization support. The entry point here is the `ParametricBuilder`.
- If localizations use key -> value relationships, as enforced by Java resource bundles, description and help methods would need to return the key. This contradicts the current behaviour where both methods return the actual value, so a support for that old, non localised behaviour is needed.

On both fields, the support should be as flexible as possible and do not enforce any specific way of handling `Locales` on the user.

---

Since I need localization support in MyWarp, I have implemented a limited localization support in my own Intake fork ([i18n branch](https://github.com/TheE/Intake/tree/i18n)). I would be happy to contribute these changes in a PR so there is something to discuss about, if the general direction fits.

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Línea de trabajo

Comienza revisando la rama i18n existente y los puntos de entrada ParametricBuilder y CommandGraph mencionados en el issue; después, sigue el rastro de los mensajes de ejecución codificados directamente y de las descripciones y la ayuda de las anotaciones de comandos. Compara el enfoque propuesto de Java ResourceBundle con el comportamiento actual y con el debate de los nueve comentarios. El trabajo se considerará terminado cuando exista un diseño de localización flexible y acordado que cubra los mensajes internos y el texto de los comandos externos.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
java
Área
cli, internationalization
Tipo de issue
Nueva funcionalidad
Dificultad
5/5
Tiempo estimado
Más de una semana
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
25/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.