¿Dónde están las traducciones?
Después de explicar que una gran parte del planeta no habla inglés, entonces explicó cómo contribuir a la distribución Fedora, veamos dónde están las traducciones de un software.
Las traducciones son una parte integral del código
Las traducciones son archivos que forman parte integral del código fuente necesario para ejecutar el programa. El formato del archivo que contiene las traducciones varía según las herramientas utilizadas por el equipo de desarrollo. Para tener una idea de los principales formatos de archivo, resulta útil la lista de formatos admitidos por la plataforma de traducción Weblate es interesante. En términos generales, el formato Gettext es el más utilizado para software compilado/de escritorio, y el formato Json para software web. Cada archivo tiene sus ventajas y desventajas, esto entra dentro del ámbito de la internacionalización del software, muchas veces abreviado como ‘i18n’.
El impacto en el trabajo de traducción
Dado que las traducciones forman parte del código fuente, los traductores deben entregar su trabajo a tiempo para garantizar que se traduzcan todos los cambios realizados en la versión actual. Incluso el cambio más pequeño, incluso en una sola letra o carácter, requiere que cada traducción se revise para determinar si afecta el significado o la estructura de la oración. Los cambios son costosos para los traductores.
Con frecuencia, y esto es normal, los desarrolladores no saben cómo adaptar las traducciones cuando se realizan sus cambios. Por lo tanto, es necesario que los traductores sigan de cerca el desarrollo del proyecto para ser receptivos y evitar que la nueva versión del proyecto llegue a los usuarios con una cadena en inglés en medio de un software ya parcialmente traducido.
Aquí es donde la cosa se complica: hay al menos miles, si no cientos de miles, de proyectos de software libre. Hay miles de idiomas. ¿Podemos tener suficientes traductores en cada idioma para dar soporte a todos estos proyectos? ¡Claro que no!
Proceso de integración de las traducciones
Tomemos ahora algunos proyectos de ejemplo para ver cómo se organiza la interacción entre los procesos de desarrollo de software y de traducción.
Traducible… ¡pero arcaico!
Jitsi Meet es un software de videoconferencia en línea, en su código fuente, una carpeta lang contiene un archivo json por idioma.
Cada traducción debe enviarse junto con una solicitud de integración, lo cual es complicado y requiere mucho tiempo.
En pocos minutos me encuentro con un caso extremo, esta solicitud que lleva más de 8 meses esperando. Sin embargo, mientras tanto, el archivo que contiene las cadenas que se van a traducir desde el software ya ha cambiado 19 veces y hubo 8 versiones publicadas !
No hay en el readme información sobre cómo traducir, ni en la guía de contribución.
Las grandes comunidades lingüísticas podrían dedicar el tiempo necesario gracias a la cantidad de colaboradores (e incluso así…), pero el resto se quedará atrás y el software solo ofrecerá traducciones actualizadas para los idiomas que ya están sobrerrepresentados. Para mantenerse al día con los cambios, probablemente deba suscribirse a los cambios del proyecto de GitHub.
Cuestionaremos la eficiencia de esta forma de trabajar. Si bien podemos aplaudir el esfuerzo para facilitar la traducción del software, lamento la falta de consideración hacia este tipo de contribución. No he participado en conversaciones con los equipos de Jitsi Meet; no siempre ha sido así; ya se ha utilizado una plataforma de traducción en el pasado.
Claro… pero muy específico de GNOME
El proyecto GNOME utiliza una versión similar, pero enfocada en las necesidades de los equipos de traducción. Para enviar una traducción al software final, es obligatorio usar Git. Sin embargo, existe una herramienta disponible para traductores que les permite saber con precisión qué se debe traducir y colaborar. Además, una larga lista de software en el ecosistema GNOME sigue el mismo ritmo de nuevas versiones y los mismos flujos de trabajo. Por lo tanto, el proceso es imperfecto y manual, pero las herramientas reducen significativamente el coste de gestión para los colaboradores.
Eficaz… pero muy específico de Mozilla
El proyecto Mozilla considera la traducción como un tema clave en su actividad, si quieres contribuir puedes acudir a la plataforma de traducción Pontoon (el proyecto está organizado en equipos de traducción).
Saber qué es traducible es fácil, y encontrar contactos para responder preguntas también es fácil.
Este proyecto es enorme y te resultará difícil comprender los pasos entre la plataforma de traducción y las versiones del software, pero ¿es eso un gran problema? Funciona bien; se conocen las fechas de lanzamiento del software y se han establecido las prioridades. Perderás tiempo configurando un equipo de revisión y los procesos; todas las herramientas son específicas de los proyectos de Mozilla, pero en general, es bastante eficiente.
Modernidad automatizada y genérica, emancipadora
Es posible proporcionar una herramienta dedicada a las actividades de traducción, permitiendo suscripciones en caso de cambios, trabajar con varias personas y detectar anomalías.
Y, como ventaja adicional, tener sincronización automática con el código fuente del software.
Un gran ejemplo: la plataforma de traducción Weblate es un ejemplo: todo está conectado y automatizado. Los cambios en las traducciones son numerosos y es fácil encontrar los que afectan a las traducciones son numerosos y los cambios que afectan a las traducciones son fáciles de encontrar.
Muchos proyectos usan Weblate, así que es la opción ideal, independientemente del contexto. En el ecosistema de plataformas de traducción, Weblate se ha vuelto tan obvio y eficiente como Git para la gestión del código fuente en el desarrollo de software.
Si su proyecto proporciona esta plataforma, entonces proporciona un impulso para las contribuciones en otros idiomas y, al cultivar relaciones con esta gran comunidad, tiene una buena posibilidad de lograr que su herramienta se traduzca a muchos idiomas.
Conclusión
La articulación entre la vida técnica del proyecto y las traducciones es crucial para la eficiencia de los procesos de traducción.
Hay herramientas repletas de funciones interesantes y automatización para hacer la vida de todos más fácil.
Depende de los equipos de desarrollo aprovechar esto para que el software contenga cada vez más traducciones y sea compatible con un número cada vez mayor de idiomas.
Pero ¿qué ocurre cuando el proyecto no lanza nuevas versiones? ¿Cómo se puede compensar un proyecto inactivo? Este será el tema de un próximo artículo.