Bonjour,
je vais essayer ici de faire la liste de ce qu’il faut connaitre si on veut se lancer dans la traduction de ce jeu (et de sa suite).
Introduction ****************************************************
Alors oui la tâche est gigantesque, rien que pour les dialogues il faut compter entre 47 et 48 000 lignes à traduire (pour un peu plus de 2 800 000 de caractères)… Cela que pour First chapter, c’est même pire pour le « Second Chapter » (on dépasse les 50 000 lignes et 3 200 000 caractères… toujours que pour les dialogues)
C’est clairement une tache dans laquelle il ne vaut mieux pas se lancer seul (ou il faut vraiment aimer traduire)
A mon meilleur rythme, de mémoire, j’ai dû faire du 50 ou 60 lignes par jour sur Valkyria Chronicle je vous laisse imaginer le temps que cela me prendrait (en ne faisant plus que cela de ma vie, hors du boulot/dodo, sans mentionner le fait que les lignes faisaient 120 caractères max contrairement à celui-ci de jeu)
Bon je ne suis pas d’un bon niveau en anglais (beaucoup de blocage/recherche sur le net pour pas mal de truc) et je n’aime pas traduire (c’est la leçon que Valkyria m’a apprise à la dure), donc quelqu’un de balèze en anglais aura forcément un bien meilleur taux de lignes/jour.
Un regret : cette taille conséquente ne serait pas un problème si un vrai travail collaboratif pouvait fonctionner, 5lignes pour 10000 traducteurs, 50 lignes pour 1000, 500 pour 100, 2500 pour 20, 5000 pour 10, 50000 pour 1. Ce serait une chose triviale si on arrivait à faire une plateforme dédiée à la traduction des jeux ou un nombre conséquent de participants donneraient que qq minutes de leur temps et connaissance en anglais chaque semaine
Bref, je le dis tout net, traduire comme un loisir que qq lignes par semaines, je dis pourquoi pas, mais passer des jours et des jours à ne faire que cela, c’est fini je ne le ferais plus.
Par contre j’aime bien l’aspect technique, le « comment faire pour y arriver » donc, bref, entrons dans le sujet
Structure du jeu **************************************************** :
Le jeu se compose de fichier .dat et .dir.
Ces fichiers marchent par couple, chaque .dir contient seulement la liste du contenu du .dat (qui contient donc les données du jeu)
Ces .dat sont des archives compressées contenant les fichiers du jeu.
En ouvrant un .dir avec un éditeur hexadécimal on peut voir les type de fichier que contient le .dat (entre une masse de code définissant ces fichiers)
Par exemple :
ED6_DT00.dir contient des types de fichier comme « C_EMOTIO._CH » , « C_WIPE00._DS » et surtout « FONT30 ._DA »
ED6_DT01.dir , que des fichiers ._SN comme « T0311 ._SN »
ED6_DT02.dir , des fichiers ._DT comme « T_QUEST ._DT »
ED6_DT04.dir et Ed6_DT05.dir contiennent principalement des ._CH
Je ne cite bien évidemment pas ces .dir/dat par hasard :
- Les FONTxxx ._DA sont les polices de caractères utilisées par le jeu.
Hors sur les jeux japonais pas prévu pour l’exportation en Europe la police utilise un codage « Shift.JS » ou la zone E0 a EF est interdite et sert uniquement pour faire une combinaison pour avoir un Kanji japonais, hors beaucoup de nos lettres accentuées sont dans les Ex.
Comme sur Valkyria il faut en passer par le sacrifice de caractère pas trop utilisé pour en faire nos accents, il faut donc modifier ces FONTxxx ._DA (j’en reparlerais plus loin)
- Les fichiers ._SN contiennent les dialogues du jeu, dès qu’un perso ou un objet/truc parlent la ligne est prise dans un .SN, c’est donc ici que j’ai compté quasi 48000lignes de texte
- Les fichiers ._CH sont des textures/images qui sont utilisées dans le jeu, ED6_DT04 contient des éléments des menus du jeu, ED6_DT05 contient toutes les « faces » des personnages qui parlent dans le jeu.
La face C_KAO291 est par exemple « Estelle Jeune heureuse » quand son papa arrive enfin (qq secondes après le début du jeu, quand elle dit son « Daddy ! », hors on retrouve aussi cela dans les fichiers ._SN)
- Les fichiers ._DT contiennent pour certain du texte traduisible en plus , par exemple T_QUEST ._DT dont je vous laisse deviner le contenu.
Des outils nécessaires : ****************************************************
La liste suivante contient beaucoup d’outils asiatiques, Corée, Japon et surement Chine, ils sont peu clairs/peu documentés et pour ne rien arrangé pas parfaitement clean dans Virustotal.com pour certain (mais j’appelle cela l’enfer virustotal, si on compile un bout de programme y en a quasi toujours un pour râler si le compilateur est pas assez à jour, si on a pas coché la bonne option, si… plein de truc en fait, mais bon si moi je compile un truc je peux dire/assurer que la source est clean, là c’est pas trop possible)
CrystalTile2 : Je l’ai utilisé principalement pour modifier les polices d’écritures du jeu (dommage que je ne le connaissais pas pour valkyria il m’aurait surement fait gagner plusieurs heures)
Utilisation :
L’icône pour ouvrir un fichier est pareil que d’habitude -> pour voir les fichiers il faut juste lui dire d’afficher « all files » au lieu de « supported files »
Il peut servir d’éditeur hexadécimal, c’est d’ailleurs dans ce mode que le fichier ouvert sera affiché au début, mais dans l’onglet view on peut voir les 3 usages que j’ai utilisé :
Hex Editor : touche F6 : si vous ouvrez un ._SN vous verrez le texte anglais dans ce mode, cela peut servir pour trouver des erreurs par comparaison si le jeu bug avec la traduction.
Pour la police de caractère les 2 écrans important sont Tile Viewer (touche F5) et Tile Editor (touche F8)
Tile viewer permet de voir les caractères contenus dans la Font, de faire des copier-coller entre case, d’essayer de mettre des lettres venant de font windows
Tile Editor permet de modifier à la main 1 caractère de la font
Dans Tile viewer il faut mettre pour ce jeu 3 paramètres dans property/Tile property et 1 dans palette/ bouton palette pour que cela s’affiche correctement.
property/Tile property , en height = la taille de la font : 30 si font30 ._DA, 50 si font50 ._DA
property/Tile property , en width = height/2 (+1 si division = chiffre impair) : 20 si font40 ._DA, 16 si font30 et 26 si font50
property/Tile property ,en Tile form : N64/MD 4bpp
dans Palette / Bouton Palette : mettre Combo
Mon usage :
- Aller sur le « e » et faire ctrl + c pour le copier
- Aller sur « < » et faire ctrl +v pour coller le « e », à noter qu’il faut faire touche entrée après ctrl + v pour « enregistrer » le collage ici
Ctrl+Z permet de faire un Undo
- Passer en mode Tile editor sur le « < » qui contient mon « e » et en faire un « é » à la main
- Pour faire cela, suffit de cliquer sur Char dans palette et de choisir la bonne couleur à mettre dans le haut de la palette, puis à cliquer sur les cases qui vont bien
- Astuce : dans property/Tile property il y a un « Scale » faut trouver la valeur qui correspond à la taille d’affichage en jeu, cela permettra de voir comment rendra l’accent dessiné en jeu directement en mode tile viewer
Voilà une image guide qui reprend ce qui vient d’être dit :
voila qq taille de Font en fonction des options de lancement du jeu:
en fait j'ai mis 2 lignes contenant ABCDEF, une normale et une autre en #3S (grosse voix)
et j'ai mis le numero de la font à la place de ABC (A = font > 100) si on a A60 c'est la FONT60 ._DA
A noter que les FONT sont normalement en ._DA, hors ici c’est en .dat, voir l’outil falcnvrt plus bas pour l’explication
Si CrystalTile2 peut servir d’éditeur hexadécimal il y en a plein d’autre :
Notepad++ via un plugin pour lire les fichiers en hexadécimal et le plugin compare pour comparer 2 fichiers m’ont un peu servi
Madedit qui support les codepage Shift-Js japonais peut servir
Frhed
Mon préféré reste Hexedit http://hexedit.com/ pour son interface, sa capacité de comparer à partir de point , recherche par zone…
Si qq choses est anormal dans l’affichage d’un texte en jeu, ouvrir le bon fichier ._sn avec un éditeur hexadécimal permettra éventuellement d’en voir la cause
Un outil majeur sans lequel rien est possible : Ed6Back.exe trouvable sur http://modding.tistory.com/3 sous la forme de ED6Back.7z ou sur https://github.com/Ouroboros/Arianrhod/tree/master/Source/Falcom/ED6Back directement en exécutable
C’est le seul outil que j’ai trouvé pour remettre les fichiers dans les .DAT après modification.
La version officielle est surement celle de Github, mais sous sa forme archive compressé .7z il contient un fichier batch _Ed6back.cmd qui permet de faire le traitement d’un répertoire entier avec une boucle for (pour chaque fichier du répertoire faire ed6back truc).
La ligne de commande de Ed6back est : ed6back nom_fichier_.dat nom_fichier_a_remettre [type compression]
nom_fichier_.dat le fichier .dat
nom_fichier_à_remettre = il y a pas photo, c’est le nom du fichier que l’on veut remettre dans le .dat, genre T0311 ._SN, avec son chemin
sachant qu’il y a 393 fichiers ._sn à remettre, le fichier batch est utile pour tous les faire d’un coup.
Exemple d’utilisation :
Ed6back.exe est dans le même répertoire que Ed6_DT00.DIR et ED6_DT00.DAT et un répertoire ED6_DT00 contient le fichier FONT50 ._DA modifié avec crystalTile2
Il faut taper ed6back ED6_DT00.DAT ".\ED6_DT00\FONT50 ._DA" en invite de commande (après s’être rendu dans le répertoire avec un cd nom_du_repertoire, les " " à cause des espace dans le nom de fichier )
Avec le fichier de commande _ed6back.cmd :
_Ed6back.cmd est dans le même répertoire que Ed6_DT00.DIR et ED6_DT00.DAT et un répertoire ED6_DT00 contient des fichiers modifiés (et un répertoire _exe contient ed6back.exe)
Il faut taper _ed6back ED6_DT00
Tous les fichiers dans le répertoire ED6_DT00 seront remis dans ED6_DT00.DAT
Son pendant c’est Ed6Unpacker trouvable dans cette page https://github.com/Ouroboros/Arianrhod/blob/master/Source/Falcom/ED6DatCreator
Suffit de lui glisser/déposer un fichier .dat dessus pour qu’il se lance dans sa décompression.
Pour Ed6_DT01 cela se passe assez bien.
Mais il a tendance à planter, il ne finit pas ED6_DT00.DAT par exemple, je le pense fait pour la version japonaise du jeu, hors je pense qu’il y a des fichiers en plus dans la US.
Avantage : il garde le même nom que le fichier d’origine lisible dans le .DIR (obligatoirement 8 caractères (cela met des espaces si moins de 8), même extensions de fichier ._DA pour les FONT)
Désavantage : il plante
A cause de ce plantage pour avoir accès au FONT > 30 j’ai dû en passer par le logiciel Falcnvrt
Falcnvrt trouvable sur http://modding.tistory.com/3 est fait pour décompresser les jeux Falcom, mais là encore j’ai dû deviner comment l’utiliser
Avantage, il fait bien le taf, il sait même transformer automatiquement les textures en image éditable (.bmp)
Désavantage : il renomme les fichiers à sa sauce : FONT30 ._DA il le nommera FONT30.DAT, en gros non seulement il fait sauter les espaces (règle d’avoir toujours 8 caractères sur chaque nom de fichiers) mais en plus il met du .DAT à la place de ._DA
Ed6back n’acceptera pas les noms de fichiers dans cet état il faudra les renommer, FONT8.DAT il faudra remettre FONT8 ._DA (3 espaces) et FONT192.DAT redeviendra FONT192 ._DA (1 espace), quand on est pas sûr, voir le contenu du fichier ED6_DT00.DIR qui indique le bon nom de fichier
Voilà une image qui résume comment l’utiliser :
Pour remettre les image .bmp sous forme de texture ._CH il faudra surement en passer par ED6-PNG2CH (ED6-PNG2CH.7z sur sur http://modding.tistory.com/3 ) ou TGA2CH (https://github.com/Ouroboros/Arianrhod/tree/master/Source/Falcom/tga2_ch ) mais j’avoue ne pas m'être penché dessus, pas beaucoup de texture en ont besoin a priori.