Comment incorporer des nouvelles phrases traduites de la 3.9.4 dans la VF 3.9.3 en cours de révision ?
Comme on peut le voir dans le nouveau sujet sur la VF de PoP 3.9.4, Trime1iPredator a traduit les nouveaux textes de la 3.9.4 qui venait de sortir avant que je n'aie fini de nettoyer la 3.9.3. Il me fallait donc essayer d'intégrer les nouveaux textes de la 3.9.4 traduits par Trime dans les fichiers de la 3.9.3 avant de poursuivre mon travail de nettoyage. Voici la façon dont je m'y suis pris.
J'ai fait un premier essai avec Traduire M&B et les résultats ne furent pas ceux attendus de prime abord.
J'avais la vague impression que quelque chose d'inattendu risquait de se produire, alors j'ai fait un petit essai avec
quests. Pourquoi celui-là ? Parce qu'il a peu de lignes et les seules modifs entre la 3.9.3 et la 3.9.4 sont l'ajout de trois lignes en fin de fichier. Ce que je visais : partir de
quests en 3.9.3 et le générer en 3.9.4 avec ses trois lignes supplémentaires.
Fin du fichier en 3.9.3 :
Le même en 3.9.4 :
On voit bien les trois lignes ajoutées juste avant la ligne de fin des quêtes.
Je décide de lancer une traduction automatique avec les paramètres suivants :
1 - Bibliothèque prioritaire pour récupérer les trads de la bib s'il y en a pour les nouvelles lignes.
2 - Utiliser un mod de référence, parce que je vais utiliser comme référence le fichier de Trime où se trouvent déjà traduites les trois nouvelles lignes. Je coche "Marquer le FR du mod de référence" pour retrouver facilement les lignes de Trim dans le nouveau fichier.
3 - Je garde le FR existant parce que je veux conserver ce que j'ai déjà traduit et vérifié de
quests dans la 3.9.3. J'ai volontairement simulé un fichier non entièrement vérifié, donc les dernières lignes sont encore marquées par {***}, signe de vérification restant à faire.
Je lance une traduction automatique avec les paramètres suivants :
1 - En dossiers VA, à chaque fois les fichiers anglais de la 3.9.4.
2 -
En dossier VF de référence, la trad 3.9.4 de Trime.
3 -
En dossier VF, le dossier de la future VF 3.9.4 où j'ai mis une copie des fichiers VF de la 3.9.3.
Ce que j'espère obtenir ? Toutes les lignes de mon fichier VF 3.9.3 inchangées, c'est à dire ayant conservé leurs {***} pour les lignes non vérifiées, augmentées des nouvelles lignes de la 3.9.4 avec la traduction de Trime marquée elle aussi par {***}. Et voici ce que j'ai obtenu :
Constats :
- OK, les nouvelles lignes avec la trad FR de Trime sont bien apparues (75, 76 et 77), marquées comme prévu, c'est très bien.
- Mais la ligne 69 (et d'autres plus haut dans le fichier que vous ne voyez pas) est désormais marquée alors que normalement elle aurait dû rester inchangée.
- Et accessoirement les lignes 71 à 74 ne sont plus marquées, de même que la ligne finale.
WTF ??? Après analyse, j'ai fini par comprendre.
Le plus simple : les lignes qui ont perdu leur marque. Ce sont des lignes dont le texte anglais existe depuis Native car ce sont des quêtes récurrentes dans la plupart des mods, celui-ci ne fait pas exception, donc la traduction a été prise dans la bibliothèque de traduction et non marquée, c'est normal.
Mais les lignes qui se voient affublées d'une marque alors qu'elles n'en avaient pas ? Et bien tout simplement, vu que par défaut le mod de référence est prioritaire sur la VF à conserver, à chaque fois que le texte FR du fichier de Trime était différent du FR du fichier corrigé 3.9.3, c'est le texte du fichier de Trime qui a été rapatrié à la place du texte de la 3.9.3.
Autrement dit, cette opération a certes fait apparaitre les nouvelles traductions de la 3.9.4 faites par Trime, ce qui était le but recherché, mais elle a aussi gommé toutes les corrections que j'y avait faites, comme "Le Grand-Maître de l'Ordre" à la place de la traduction erronée "L'Ordre du Grand-Maître" pour "The Order Grandmaster".
Gasp ! Donc ça ne fonctionne pas puisque je perd toutes mes corrections ! La solution ? Ajouter une option dans Traduire M&B pour pouvoir indiquer qui, de la VF de référence ou du FR à conserver quand il y en a, doit être prioritaire. Je m'étais imaginé à l'époque où j'ai développé ces options que la Référence serait "naturellement" prioritaire sur la VF existante, vu qu'elle est la référence et donc normalement correcte, mais ce cas de figure vient de me démontrer que ce n'est pas toujours souhaitable et qu'on peut souhaiter ne prendre dans la référence que ce qui n'est pas encore traduit dans la VF à conserver.
Il m'a donc fallu modifier mon programme pour pouvoir obtenir le but recherché, à savoir incorporer dans la VF 3.9.3 les nouvelles lignes traduites de la 3.9.4... sans toucher aux autres.
J'ai introduit dans le programme une nouvelle option pour l'initialisation automatique, " FR existant prioritaire", et j'ai relancé l'initialisation de
quests avec les paramètres suivants :
Effet attendu de cette nouvelle option : à chaque fois qu'il existe déjà une traduction dans le fichier VF existant, la ligne reste en place au lieu d'être écrasée par la traduction de la référence qui n'est plus prioritaire.
Le résultat fut cette fois le suivant :
Le résultat est conforme à ce que je voulais faire :
- Les textes sans marque {***} déjà vérifiés et corrigés comme la ligne 69 sont restés en place.
- Les textes figurant en bibliothèque ont été remis sans marque (71, 72, 73, 7
.
- Les textes marqués pas encore vérifiés de la 3.9.3 sont restés en place, toujours marqués (ligne 70).
- Les nouveaux textes de la 3.9.4 traduits par Trime ont été insérés, avec une marque pour qu'elles aient le statut de lignes à vérifier (lignes 75, 76 et 77), comme toutes les lignes issues de la VF 3.9.2.
Voilà, je peux donc, avec précaution, mettre à jour mes fichiers en cours de vérification de la VF 3.9.3 pour migrer sur la 3.9.4 tout en récupérant les nouvelles traductions de Trime1iPredator. Je dis avec précaution parce par sécurité j'aurai toujours en parallèle la comparaison faite par Winmerge entre les fichiers anglais 3.9.3 et 3.9.4, histoire de vérifier que le fichiers de VF 3.9.4 générés par mon programme sont bien conformes aux textes anglais 3.9.4. Ceci parce que la nouvelle option est toute récente et qu'il y a peut-être des effets de bord que je n'ai pas vus avec cet exemple simple.