On són les traduccions?
Després d’haver explicat que una gran part del planeta no parla anglès, i d’haver mostrat com contribuir a la distribució Fedora, vegem ara on es troben les traduccions d’un programari.
Les traduccions són una part integral del codi
Les traduccions són fitxers que formen part íntegra del codi font necessari
per executar el programa. El format del fitxer que conté les traduccions
varia segons les eines utilitzades per l’equip de desenvolupament. Per
fer-se una idea dels formats de fitxer principals, és interessant consultar
la llista de formats compatibles amb la plataforma de traducció
Weblate. En termes
generals, el format Gettext és el més utilitzat per als programes compilats
o d’escriptori, mentre que els formats JSON són més habituals en aplicacions
web. Cada format té els seus avantatges i inconvenients, i tot això forma
part del camp de la internacionalització del programari, sovint abreujat com
a i18n.
L’impacte en el treball de traducció
Com que les traduccions formen part del codi font, els traductors han de lliurar la seva feina a temps perquè cada canvi fet en la versió en curs pugui ser traduït. El més mínim canvi, fins i tot d’una lletra o un caràcter, requereix que cada traducció sigui revisada per determinar si el canvi afecta el significat o l’estructura de la frase. Els canvis tenen, doncs, un cost elevat per als traductors.
La majoria de vegades, i és ben comprensible, els desenvolupadors i desenvolupadores no saben adaptar les traduccions quan fan canvis. Per això és necessari comptar amb traductors i traductores que segueixin de prop el desenvolupament del projecte per poder reaccionar amb rapidesa i evitar que la nova versió arribi als usuaris amb alguna cadena en anglès entremig d’un programari ja parcialment traduït.
És aquí on la cosa es complica, hi ha, com a mínim, milers de projectes de programari lliure, si no centenars de milers. I llengües, n’hi ha també milers. Podem tenir prou traductors i traductores per a cada llengua que segueixin tots aquests projectes? Sens dubte, no.
Procés d’integració de la traducció
Agafem ara alguns projectes d’exemple per veure com s’organitza la interacció entre els processos de desenvolupament de programari i traducció.
Traduïble… però arcaic!
Jitsi Meet és un programari de videoconferència en línia, al seu codi font, una carpeta lang conté un fitxer json per cada idioma.
Cada traducció s’ha d’enviar amb una sol·licitud d’integració, que és complicada i requereix molt de temps.
En pocs minuts, trobo un cas extrem, aquesta petició que fa més de 8 mesos que s’espera. Tanmateix, mentrestant, el fitxer que conté les cadenes que s’ha de traduir pel programari ja ha canviat 19 vegades i es van publicar 8 versions !
No hi ha informació al readme sobre com traduir, ni a la guia de contribucions.
Les comunitats lingüístiques amb molta gent potser aconseguiran dedicar-hi el temps necessari gràcies al nombre de col·laboradors (i fins i tot llavors…), totes les altres es deixaran de banda i el programari només oferirà traduccions actualitzades d’idiomes que ja estan sobrerepresentats. Per estar al dia dels canvis, probablement us haureu de subscriure als canvis del projecte de github.
Caldrà qüestionar-se l’eficiència d’aquesta manera de treballar. Tot i que es pot valorar l’esforç per permetre la traducció del programari, lamento la manca de consideració envers aquest tipus de contribució. No he iniciat cap conversa amb els equips de Jitsi Meet; no sempre ha estat així, ja que en el passat ja s’havia utilitzat una plataforma de traducció.
Clar… però molt específic de GNOME
El projecte GNOME utilitza una versió similar, però centrada en les necessitats dels equips de traducció. Per enviar una traducció al programari final, és obligatori utilitzar git. Tanmateix, hi ha una eina disponible per als traductors i traductores que els permet saber amb precisió què cal traduir i col·laborar. A més, una llarga llista de programes de l’ecosistema GNOME segueixen el mateix ritme de noves versions i els mateixos processos de treball. El procés, per tant, és imperfecte i manual, però les eines disponibles permeten reduir molt significativament el cost de gestió per a les persones que hi contribueixen.
Eficaç… però molt específic de Mozilla
El projecte Mozilla considera la traducció com un tema clau dins la seva activitat. Si hi voleu contribuir, podeu anar a la plataforma de traducció Pontoon (el projecte està organitzat en equips de traducció).
Saber què és traduïble és fàcil, i trobar contactes per respondre preguntes també és fàcil.
Aquest projecte és enorme, i potser tindreu algunes dificultats per entendre les etapes entre la plataforma de traducció i les versions del programari, però… és realment un problema? El sistema funciona bé: les dates de llançament del programari són conegudes, les prioritats estan definides. Perdreu una mica de temps a crear un equip i establir processos de revisió, i totes les eines són específiques dels projectes de Mozilla, però en general és força eficaç.
Automatitzat i genèric, la modernitat emancipadora
És possible oferir una eina dedicada a les activitats de traducció, que permeti subscriure’s als canvis, treballar en equip i detectar anomalies.
I, com a bonus final, tenir una sincronització automàtica amb el codi font del programari.
Un exemple excel·lent: la plataforma de traducció Weblate mostra el camí a seguir, tot està connectat i automatitzat. Les modificacions de traduccions són nombroses, i els canvis que afecten les traduccions es poden trobar fàcilment.
Molts projectes utilitzen Weblate, és la decisió que hauries de prendre, sigui quin sigui el teu context. Dins l’ecosistema de plataformes de traducció, Weblate s’ha convertit en tan evident i eficient com git per a la gestió del codi font en el desenvolupament de programari.
Si el vostre projecte proporciona aquesta plataforma, llavors esteu oferint poder d’acció per a les contribucions lingüístiques, i si cuideu la relació amb aquesta àmplia comunitat, tindreu moltes possibilitats d’obtenir una eina traduïda a moltes llengües.
Conclusió
L’articulació entre la vida tècnica del projecte i les traduccions és crucial per a l’eficiència dels processos de traducció.
Hi ha eines plenes de funcionalitats interessants i d’automatització que existeixen per facilitar la vida de tothom.
Només depèn dels equips de desenvolupament aprofitar-les perquè els programes continguin cada cop més traduccions i es doni suport a un nombre creixent de llengües.
Però què passa quan el projecte no treu noves versions? Com es pot compensar un projecte adormit? Aquest serà el tema d’un futur article.