Bonjour à tous et à toutes....
Coup de sang ce matin...
QLinguist est un superbe outils que j'aimerais utiliser. Actuellement nous avons 2 logiciels :
- Un en JAVA
- Un en Qt
Voyant que le débutant qui a créé l'application Qt il a deux ans a utiliser un fichier xml unique pour la traduction de l'application j'ai voulu changer les choses :
Ce fichier xml est composé d'une clef, puis pour cette clef toutes les traductions dans toutes les langues possibles.
Ce fichier est dans le même format que celui utilisé en JAVA.
- Obligation de créer une variable globale qui recompile tout le projet à chaque chaîne ajouté (30 minutes)
- Cette variable membre contient la clef dans le fichier xml de la traduction (donc le texte n'est pas en clair dans le code source, ça ne le rend pas vraiment lisible)
- Aucune gestion de l'obsolescence de la traduction (comme qlinguist)
- Aucune gestion du pluriel (on n'a qu'a mettre (s) et puis c'est tout, j'ai fais plein de projets comme ça : dixit le développeur JAVA hyper expérimenté)
- Aucune gestion de contexte si une même chaîne doit être présente plusieurs fois mais avec des traductions qui peuvent changer en fonction du contexte (bon, on peut faire 2 entrées différente dans le xml)
- La traduction générée automatiquement pour les ui est inutilisable il faut tout retraduire 'à la main'.
- Obligé de se palucher à traduction en même temps qu'on ajoute la chaîne (impossible de mettre tr("ma chaine") et voir plus tard), il faut faire toute la chaîne sinon rien ne s'affiche.
- Pas de vérification des %1 %2 %3 comme qlinguist (vérification qu'il ne manque pas d'argument). De toute façon souvent dans le code on a : "Ma chaine = " + value + " est correcte" au lieu d'utiliser les .arg()
- Edit : Bien entendu, pas de traduction des boites de dialogue standard avec le fichier xml donc elles resteront dans la langue de la plateforme cible.
- Edit : Pas d'affichage de droite à gauche pour l'arabe, de toute façon tout les contrôles sont positionnés en absolue en utilisant un minimum de layout (ou alors mal foutu donc ça ne marche pas) !
Mais : on a le même format pour les deux logiciels et pour le client final, s'il a une chaîne à changer il n'a pas deux systèmes de traduction, voilà c'est à peut près le seul point positif retenu par mon chef et le développeur JAVA confirmé qui de toute façon s'en tape puisque c'est pas lui qui code en Qt.
J'ai l'impression de revenir 6 mois en arrière quand j'ai commencé à mettre ça en place et d'être entouré de gens incompétents.
On prend le pire système des deux logiciels et nous on va se faire super chier à continuer de développer tout ça !
Et hélas, le seul argument c'est l'éditeur et un seul fichier...
Bon, c'est clair que QLinguist est pourri, d'ailleurs c'est le même système utilisé par poEdit (utilisé par wxWidgets) alors qu'un fichier xml c'est tellement bien, comment ça se fait que ces deux grosses librairies n'y ont pas pensé ?
Il faudrait que nos équipes viennent un peu revoir le code de tout ça, Qt c'est quand même de la mer....
Bon, le fichier ts c'est du xml, une solution ce serait de développer l'outils d'édition en masquant tout le format Qt, qu'il lise le fichier ts et propose d'éditer les traductions et le compile quand on sauve.
Mais le développeur JAVA n'est pas chaud, on aurait encore deux formats et pourquoi faire ? En JAVA c'est suffisant !
J'en ai marre devant tant de mauvaise fois et d'incompétence !
Si vous avez des idées ou d'autres arguments je suis preneur !
... désolé un peu énervé là !
Partager