Oyez, oyez !

Les résultats du vote sur les meilleurs RPG de tous les temps sont désormais dévoilés dans ce message !

Merci à toutes et à tous pour votre participation !

N'hésitez pas à aller commenter, ajouter des jeux auxquels vous n'auriez pas pensé...

[D'oghms] Techniques et Outils de traduction

Point de rendez-vous des plus grands traducteurs de l'Empire ! Tenez-vous informés de l'avancement des traductions des mods et des disponibilités des traducteurs qui veillent à mettre à disposition des modeurs les tutoriels de création. Posez vos questions et apportez votre contribution !
Répondre
Avatar du membre
Thot
Berserker ogre
Messages : 1090
Enregistré le : jeu. 27 mars 2003, 10:20
Localisation : Cathay
Contact :
Statut : Hors ligne
.

Message par Thot »

Sommaire



-------------------------------------------------------------------------------------------


  • Que faire avant de se lancer dans toute installation ?
Il faut impérativement sauvegarder dans un fichier "backup" les 4 éléments suivants (après install complète du jeu) : le répertoire override - les fichiers Chitin.key - dialog.tlk - dialogF.tlk !!!

  • Que faire avant de se lancer dans toute traduction ?
Il est impératif d'obtenir l'autorisation du concepteur. Cela lui permet de savoir qui planche sur une traduction au cas où d'autres personnes le contacteraient et inversement de ne pas se lancer dans une traduction alors qu'elle est en passe de l'être. Un petit mail est donc de rigueur.
De plus il est possible que certains concepteurs aient installé un forum protégé pour les traducteurs dans le forum de leur mod (c'est le cas pour Chloe par exemple) - vous signaler auprès du concepteur vous permettra d'obtenir le mot de passe et de pouvoir poser vos questions tranquillou.
Sans parler d'avoir des fichiers dialogue à jour si le mod est en cours de changement de version.

  • Où trouver les fichiers dialogue ?
Pour les mods WeiDu, ils sont contenus dans les fichiers .tra du répertoire du mod.
Les autres mods écrasant les fichiers dialogue du jeu, il faut reprendre les fichiers "dialog.tlk" et "dialogF.tlk" (pour un adaptation aux personnages féminins).


-------------------------------------------------------------------------------------------

  • Comment traduire un mod WeiDU ? (merci à Thot)

1 ) Récupérer les fichiers à traduire.

Ces fichiers sont tous sous la forme *.tra

Pour les obtenir, il y a deux possibilités :
- envoyer directement un mail au concepteur pour les lui demander (ce qui permet entre autre d'avoir des fichiers à jour si le mod est toujours en cours de développement, et d'obtenir les mises-à-jours quand elles paraissent).
- décompresser le mod dans le répertoire d'installation du jeu (c:ProgramFilesBlackIsleNomDuJeu). Celui-ci comprendra un nouveau répertoire contenant les différents fichiers du mods. Il y aura entre autre un répertoire English ou American qui comprendra tous les fichiers *.tra

2) Traduction
Les fichiers *.tra sont les seuls à traduire.
Les lignes se présentent sous la forme suivante:

@num = ~Texte à traduire~
ou
// Commentaire

Pour la traduction, créer un nouveau fichier texte simple portant le même nom que celui que celui que vous allez traduire, et ouvrez-le avec un éditeur simple qui ne créera pas d'espaces ou de formatage particulier (donc NotePad, Context, UltraEdit, mais surtout pas Word).
JRRTolkienn a écrit :Pour ma part, pour éditer les fichiers .tra, je conseille MED . Il a une interface très claire, ne déforme pas la présentation, est un des programmes les moins lourds que je connaisse gérant plusieurs documents à la fois... Certains créateurs de mods l'utilisent d'ailleurs. ^^
Eric a écrit :Et moi je conseille TextPad (que vous trouverez en Français)... Vous pourrez même bidouiller pour mettre le texte 'en couleur' :D
Vous devrez alors traduire les lignes une à une selon le même format :

@num = ~Texte traduit~

Dans le cas où le texte diffère selon le genre du personnage principal, il faut écrire:

@num = ~Texte traduit version masculine~ ~Texte traduit version féminine~

Pour les commentaires, vous pouvez les ignorer dans la traduction.
Enfin, les phrases peuvent être suivies de texte entre crochets. Ils correspondent aux fichiers audios qui sont alors joués. Il suffit de les copier tels quels à la fin de chaque ligne. Petite subtilité pour un fichier son associé à un texte disposant de versions masculine et féminine :

@num = ~Texte traduit version masculine~ [SON] ~Texte traduit version féminine~ [SON]


Remarque : seuls les lignes qui seront présentes dans la boîte de dialogue doivent être éventuellement adaptées au féminin. Inutile d'adapter les notes du journal -> la version féminine ne sera pas prise en compte.

3) C'est fini
Vous pouvez renvoyez vos fichiers traduits directement à l'auteur du mod.


---------------------------------------------


Les lignes particulières du setup
Certains fichiers sont des fichiers de setup, ce qui signifie que toutes les lignes correspondant à des composants du mod (des multiples de 100 en général) doivent être dépouillés de leurs caractères exotiques (accents, cédilles, etc...) car elles s'affichent dans une fenêtre DOS.
Dans le cas contraire, le mod marcherait tout de même correctement, mais les caractères correspondant à des à, é, è, etc.. apparaîtraient de façon bizarre dans la fenêtre d'installation.


Lignes du type ~[MALETHREAT] texte en anglais~[_MALETHREAT]
Certains textes viennent directement du jeu, notamment dont la ressource sonore à la fin commence par '_', signe d'une conversion par BG1Tutu depuis Baldurs Gate.

En reprenant la traduction d'origine, on évitera la duplication dans le fichier tlk juste pour une toute petite différence de traduction. Vu la façon dont le texte est formé (avec la partie entre crochets au début), on peut penser que ce texte n'est jamais affiché, sauf si on active l'option de sous-titrage du jeu. Autrement, on a juste le son. Je soupçonne que ce soit le son de sélection d'un personnage quand on clique dessus.


Un mot sur les cinématiques (extrait d'un mp d'Isaya) :
Elles sont réalisées dans des fichiers .bcs qui font directement référence aux numéros des textes dans le fichier tlk. A moins de décortiquer le script et de vérifier les créatures qui sont créées et qui parlent, c'est impossible de connaître le contexte exact (ou alors, il faut jouer et vérifier les protagonistes de la scène).


-------------------------------------------------------------------------------------------

  • Traduction des textes d'installation de WeiDU (merci à Isaya)
Dans le cadre de la traduction de Widescreen, qui ne comporte que des textes affichés pendant l'installation, nous nous sommes penchés sur la possibilité qu'offre WeiDU de traduire les textes des questions qu'il pose pendant l'installation. Ces textes sont disponibles dans le fichier prompts.tra qui se trouve dans l'archive de WeiDU.
Malheureusement, ce fichier n'est pas mis à jour suite aux ajouts récents et il faut plonger dans le code source de WeiDU pour trouver trace des nouveautés. L'auteur de WeiDU/BiggDU, thebigg, a donné dans ce sujet un lien permanent sur le fichier en question. Les textes se situent aux environs de la ligne 200.
VO a écrit :@-1000= "The %TP2_FILE_NAME% mod has"
@-1001= "distinct optional components.\nTo save time, you can choose what to do with them at a high level rather\nthan being asked about each one.\n"
@-1002= "What should be done with all components that are NOT YET installed?\nnstall them, kip them, [A]sk about each one? "
@-1003= "What should be done with all components that are ALREADY installed?\n[R]e-install them, ninstall them, kip them, [A]sk about each one? "

@-1004= "PLEASE email the file"
@-1005= "to"

@-1006= "Install Component ["
@-1007= "]?\n[R]e-Install, [N]o Change or ninstall or [Q]uit? "
@-1008= "]?\nnstall, or [N]ot Install or [Q]uit? "

@-1009= "Enter part of a module name: "

@-1010= "Re-Installing ["
@-1011= "] component "
@-1012= "Re-Installing Using Language"

@-1013= "Removing old installation of ["
@-1014= "] first ..."
@-1015= "SUCCESSFULLY REMOVED OLD"

@-1016= "Installing"
@-1017= "ERROR Installing ["
@-1018= "], rolling back to previous state"
@-1019= "SUCCESSFULLY INSTALLED "
@-1020= "Skipping"
@-1021= "Removing ["
@-1022= "] (component #"
@-1023= ")"
@-1024= "SUCCESSFULLY REMOVED ["

@-1025= "]?\n[R]e-install, [N]o Change, ninstall, [Q]uit or choose one:"
@-1026= "]?\n[N]o, [Q]uit or choose one:"
@-1027= " (currently installed="

@-1028= "Would you like to display the components from ["
@-1029= "]?\n[Y]es, [N]o? "

@-1030= "]?\nchoose one:"
@-1031= "]?\n[R]e-install, [N]o Change, [Q]uit or choose one:"
@-1032= "NOT INSTALLED DUE TO ERRORS"
@-1033= "INSTALLED WITH WARNINGS "
@-1034= "Would you like to display the readme? [Y]es [N]o"
@-1035= "Using Language"

@-1036= "Skipping GROUP ["
@-1037= "] because it fails its requirements."

@-1038= "[A]sk about each component, kip all, or choose a pre-defined selection:"
@-1039= "[A]sk about each component, [R]einstall the current configuration, ninstall all, kip all, or choose a pre-defined selection:"

@-1040= "\nPlease choose the language in which you wish to play the game.\nIf you later wish to play the game in a different language you will need to edit the file weidu.conf and reinstall your mods.\n"
@-1041= "Czech"
@-1042= "German"
@-1043= "English"
@-1044= "Spanish"
@-1045= "French"
@-1046= "Italian"
@-1047= "Polish"
@-1048= "Portuguese"
@-1049= "Turkish"
@-1050= "Japanese"
@-1051= "Korean"
@-1052= "Simplified Chinese"
@-1053= "Russian"
@-1054= "Ukrainian"

@-1060= "\nThis game is available in multiple languages, but WeiDU does not know which game language was used when this mod was installed.\n\nPlease indicate which game language was used when you installed this mod. Your choice will be used until WeiDU exits but will not be remembered.\n"
@-1061= "\nUsing"
@-1062= " and "

En voici la traduction française :
VF a écrit :// WeiDU prompts
@-1000= "Le mod %TP2_FILE_NAME% contient"
@-1001= "composants optionnels distincts.
Pour gagner du temps, vous pouvez choisir ce que vous souhaitez faire d'eux
au niveau general plutot que de repondre aux questions pour chacun.
"
@-1002= "Que faut-il faire de tous les composants qui NE sont PAS ENCORE installes ?
Les nstaller, les auter, dem[A]nder pour chacun ? "
@-1003= "Que faut-il faire de tous les composants qui sont DEJA installes ?
Les [R]einstaller, les spprimer, les auter, dem[A]nder pour chacun ? "

@-1004= "S'IL VOUS PLAIT, envoyez par e-mail le fichier"
@-1005= "a"

@-1006= "Installer le composant ["
@-1007= "] ?
[R]einstaller, co[N]server, spprimer ou [Q]uitter ? "
@-1008= "] ?
nstaller, [N]e pas installer ou [Q]uitter ? "

@-1009= "Entrez une partie du nom du module : "

@-1010= "Reinstallation du composant ["
@-1011= "] "
@-1012= "Reinstallation dans la langue"

@-1013= "Suppression de l'ancienne installation de ["
@-1014= "] au prealable..."
@-1015= "SUPPRESSION REUSSIE DE L'ANCIEN"

@-1016= "Installation en cours"
@-1017= "ERREUR pendant l'installation de ["
@-1018= "], retour a l'etat anterieur"
@-1019= "INSTALLATION REUSSIE"
@-1020= "Saute"
@-1021= "Suppression de ["
@-1022= "] (composant #"
@-1023= ")"
@-1024= "SUPPRESSION REUSSIE DE ["

@-1025= "] ?
[R]einstaller, co[N]server, spprimer, [Q]uitter ou choisir un parmi :"
@-1026= "] ?
[N]e pas installer, [Q]uitter ou choisir un parmi :"
@-1027= " (installe actuellement)"

@-1028= "Souhaitez-vous afficher les composants de ["
@-1029= "] ?
[Y]Oui, [N]on ? "

@-1030= "] ?
choisir un parmi :"
@-1031= "] ?
[R]einstaller, co[N]server, [Q]uitter ou choisir un parmi :"
@-1032= "INSTALLATION ECHOUEE A CAUSE D'ERREURS"
@-1033= "INSTALLATION AVEC DES ALERTES"
@-1034= "Souhaitez-vous afficher les instructions (ReadMe) ? [Y]Oui [N]on"
@-1035= "Dans la langue"

@-1036= "Saute le GROUPE ["
@-1037= "] pour cause d'absence des pre-requis."

@-1038= "dem[A]nder pour chaque composant, tout auter, ou choisir une selection pre-definie :"
@-1039= "dem[A]nder pour chaque composant, [R]einstaller la configuration courante, tout spprimer, tout auter, ou choisir une selection pre-definie :"

@-1040= "
Veuillez choisir la langue dans laquelle vous souhaitez jouer au jeu.
Si par la suite vous desirez jouer au jeu dans une langue differente, il vous
faudra editer le fichier weidu.conf et reinstaller vos mods.
"
@-1041= "Tcheque"
@-1042= "Allemand"
@-1043= "Anglais"
@-1044= "Espagnol"
@-1045= "Francais"
@-1046= "Italien"
@-1047= "Polonais"
@-1048= "Portugais"
@-1049= "Turc"
@-1050= "Japonais"
@-1051= "Coreen"
@-1052= "Chinois simplifie"
@-1053= "Russe"
@-1054= "Ukrainien"

@-1060= "
Ce jeu est disponible en plusieurs langues mais WeiDU ne sait pas laquelle a ete choisie quand ce mod a ete installe.

Veuillez indiquer quelle langue du jeu a ete utilisee quand vous avez installe ce mod. Votre choix servira jusqu'a ce que WeiDU s'arrete mais ne sera pas memorise.
"
@-1061= "
Utilisation de"
@-1062= " et "

Il est nécessaire de respecter les touches, ce qui nous a conduit à employer des termes approchant dans lesquels nous pouvions faire ressortir la lettre nécessaire entre crochets.
L'absence de caractères accentués est due à l'affichage dans la fenêtre DOS.

En ajoutant ce morceau dans le fichier généralement appelé setup.tra, celui qui contient généralement les noms de composants du mod, des objets, ... ils seront employés par WeiDU quand on choisit la langue française.
Ce n'est pas un gros plus, mais ça pourrait simplifier la vie des non-anglophones si on l'ajoutait systématiquement à toutes nos traductions de mods.

Graoumf a écrit :n'y a-t-il pas des setup utilisant les lignes @1000 à @1024 ? Ou alors les N° de lignes ne sont pas importants ? N'y a-t-il pas possibilité d'intégrer la traduction directement dans WeiDU ?

Tous les nombres sont négatifs, donc ils ne risquent pas d'être en conflit avec ceux employés par des mods. Les --traify et autres --automate de WeiDU génèrent tous des nombres positifs ou nuls. Pas de souci, donc, à moins qu'un concepteur ait l'esprit tordu. ]Beh justement... dans le setup d'Item Revisions, l'auteur a ajouté une ligne avec un nombre négatif :
@-1004= ~Please submit a report regarding this problem, including the information contained in~
[/QUOTE]
Oui, c'est pareil dans Widescreen. Mais le but est justement de remplacer, y compris en anglais, le texte par défaut de WeiDU. Dans Widescreen, the bigg ne veut pas recevoir de mail et demande de le poster sur le forum. Et dans Item Revision, l'auteur a décidé d'être plus précis et de demander aussi un compte-rendu du problème en plus du fichier DEBUG.

Pour résumer, la règle d'utilisation est la suivante : on utilise ces textes, sauf ceux que les mods ont déjà sous les mêmes numéros dans le fichier setup.tra, et qu'on traduit fidèlement dans ce cas.
Traducteur, Administrateur et Moddeur retraité
Rôliste et Maître de Jeu au chômage
Voyageur au long cours
Avatar du membre
Isaya
Adepte de Grondemarteau
Planaire
Messages : 6990
Enregistré le : mar. 22 juil. 2003, 21:03
Localisation : Plaisir
Contact :
Statut : Hors ligne
.

Message par Isaya »

Faire apparaître les occurences en jeu (par Elegyr Menahel)

Lorsque vous testez les mods "in game", la CLUAconsole vous permet d'assurer une meilleure navigation entre les lignes "string" en les montrant pendant le jeu.


Ouvrez Baldur.ini
Sous Program option, entrez la ligne suivante :
Debug Mode=1

Dans le jeu, faites ctrl+space pour ouvrir la console

Tapez la ligne suivante :
CLUAConsole:StrrefOn()

Toutes les lignes de dialogue du jeu sont alors précédées de leur numéro de référence. Vous pouvez dès lors les retrouver sans difficulté (dans le fichier dialog.tra qui vous sert de copie de travail) et les traduire. Image


---------------------------------------

Graoumf a écrit :Y'a Mhoram de Clan Dlan qui a posté ceci sur FW :
Mhoram a écrit :You should use the tlkcmp command of weidu, it compares two tlk´s (or two parts (i.e from lines 34 to 60000) of tlk) and generates list with all diferent lines.

For example, if you know some mod (maybe TS or DoS or some of them) changes the original BG2 lines only compare the tlk with that mod installed with one of the original BG2, and you got all the diferent lines.
Ca serait peut-être plus rapide pour identifier les lignes propres à SoS, puis TS dans BP... mais comment utilise-t-on l'outil ?
J'avais complètement oublié cette option de WeiDU.. Elle est très pratique pour vérifier les modifications qu'un mod avec dialog.tlk pourraient apporter à la partie SoA ou ToB (avant 74107) du dialog.tlk (le genre de truc que Vlad avait apparemment beaucoup fait dans Tortured Souls). Quand je pense que je me suis embêté à vérifier ce que faisait Epic en utilisant WinMerge alors que WeiDU me l'aurait fait en un rien de temps. :snif:
Par contre j'ai peur que ça ne serve à rien pour identifier les doublons dans un fichier donné (en fait WeiDU compare la ligne N d'un fichier avec la ligne N d'un autre). Par contre, ça pourrait permettre de vérifier qu'Horred a bien repris à l'identique tous les textes de TDD par exemple.

En ce qui concerne le fichier pour la traduction d'objets et de sorts, voici les fichiers que je m'étais constitué en parcourant les objets et sorts de BG II. Rien d'extraordinaire, mais ça me servait de base.


Voici le fichier :
Fichiers joints
BaseDesc.txt
(9.49 Kio) Téléchargé 144 fois
Graoumf
Statut : Hors ligne

Règles pour les interjections

.

Message par Graoumf »

Les interjections (dixit Isaya) :
Une interjection est toujours une exclamation. Le point d'exclamation se trouve soit directement après l'interjection, soit à la fin de la phrase ou du groupe de mot qui la suit. Exemples (extraits du Petit Robert) :

"Ah ! j'y pense, pouvez-vous venir demain ?" (ici, l'interjection est seule, la suite est une question, donc on n'a pas le choix)
"Ah ! ah ! c'est ennuyeux."
"Ah bon !"

Voici un autre exemple, avec plusieurs possibilités :

1- "Ah ! la bière est vraiment excellente ici."
2- "Ah la bière est vraiment excellente ici !"
3- "Ah ! la bière est vraiment excellente ici !"
Avatar du membre
Egrevyn
Basilic mineur
Messages : 2128
Enregistré le : mar. 06 mai 2003, 14:42
Localisation : Dans le néant le plus obscur...
Contact :
Statut : Hors ligne
.

Message par Egrevyn »

PONCTUATION : LA VIRGULE

Des virgules bien positionnées changent la psysionomie d'une phrase et la font passer du stade incohérent au stade lisible, mine de rien.

>> Il faut toujours encadrer le groupe de mot mis en valeur par cette dernière.

Il est parti en effet, à remplacer par Il est parti, en effet, ....

Bref, si la virgule sert à isoler à l'intérieur d'une phrase (incise, compléments et propositions diverses...), mettre entre parenthèse, etc: on aura ouverture et fermeture.

Elgaern, qui avait mitonné une vengeance, décida de bisounourser Perdy. :tongue:

>> Si l'isolement s'effectue entre deux segments de la phrase, alors bien faire attention où la placer mais ne pas l'oublier, surtout dans le cadre d'un groupe de verbes précédé par un groupe nominal: "Des fraises, j'en déguste tous les matins". Et pas "Des fraises j'en déguste...." Idem pour un adjectif placé en tête de phrase.

>> Dans les énumérations: ne pas oublier une virgule après chacune d'entre elles. Faire attention, dans les descriptions (souvent nombreuses dans les modules), à la segmentation des adjectifs ou non.

>> Les complément de temps, de lieu, et de manière, en début de phrase sont succédés par une virgule: "D'une voix inquiète, il me demande..." Mais point de celle ci pour "Il me demande d'une voix inquiète".

>> Pour "ni", "ou" et "et":

Bref, la virgule ne s'emploie jamais devant "et", "ni" "ou" sauf lorsque plus de deux éléments sont séparés ou bien lorsque les deux éléments séparés ont des sujets différents, bref pour éviter toute rupture de construction. De même, pour clore une énumération, "et" se verra précédé d'une virgule.

Il lit, ou il traduit, ou il corrige. Mais Il lit ou il traduit.

Il écouta sa réponse, et sa fureur se calma mais Il écouta sa réponse et se calma.

>> "Mais", "or", "donc", "car", "cependant" sont toujours précédés d'une virgule.

Je suis désolé, mais je dois partir.

>> En revanche, jamais de virgule entre un sujet et son verbe, une principale et sa subordonnée liée, le verbe et son complément immédiat. Il faut éviter de rompre les groupes qui doivent rester unis grammaticalement.

Les ACCORDS

A priori, pas de problèmes, les adjectifs et les participes passés s'accordent en genre et en nombre avec les noms qu'ils qualifient.

Mais il y a quelques petits pièges:

>> Quand un adjectif ou un participe passé se rapporte à plusieurs mots, il prendra toujours le masculin pluriel sauf dans le cas d'une unanimité de mots féminins. Bref, même s'il n'y a qu'un seul terme masculins avec de nombreux termes féminin, c'est le premier qui l'emporte.

Des barbies, des poupées, des bisounours et autres peluches sont très nombreux dans les appartements de Perdy.

>> Si l'adjectif fait partie d'une gradation ou une accumulation à contenu répétitif (bref une accumulation de synonymes), là c'est le dernier de la liste qui domine.

La traduction est un travail, une occupation prenante. Cela sera différent avec "et".

>> Attention à "demi":

Une demi-heure.
Une heure et demie (accord avec nom qui précède).
Midi et demi.


Bref, attention aux tournures des modules "demi-elfe" et non une "demie-elfe".

>> adjectifs de couleur:

L'accord se fait (bleu, noir...) sauf pour les adjectifs issus de noms (noisette, marron.

Une armure noire
Une armure marron


Cas particuliers:

Les mots "rose", "écarlate", "fauve", "mauve", "pourpre" s'accordent même issus de noms.

Les adjectifs composés sont invariables, avec ou sans trait d'union.

Cas très particulier: "orange" est dit invariable et possède une version adjectivée "orangé" mais on considère dans l'usage qu'accorder "orange" est acceptable, car il devenu un peu comme "rose".

>> Accord du verbe avec un sujet collectif.

Tout dépend de savoir si c'est le nom ou le compléments du nom qu'on considère.

Une foule de nains était en train de se biturer.
Une foule de nains étaient en train de se biturer.


Grammaticalement on préférera la première.
Silently, we wander...

"Arghhhhh, j'ai drow mal", hurla le sorcier Shuy Imbhoulaï ------> extrait exclusif du "Blagonomicon de Gygy les bons tuyaux"
Avatar du membre
Isaya
Adepte de Grondemarteau
Planaire
Messages : 6990
Enregistré le : mar. 22 juil. 2003, 21:03
Localisation : Plaisir
Contact :
Statut : Hors ligne
.

Message par Isaya »

[Technique] "Traifier" un mod WeiDU - Traduction de mod sans fichiers TRA

Pendant la conversion d'Epic Endeavours pour qu'il utilise des fichiers TRA, pour éviter d'avoir à convertir une centaine de fichier à la main, j'ai écrit un fichier .BAT permettant d'automatiser la conversion des fichiers .D, .BAF et .TP2 et la génération des fichiers TRA associés.

Depuis, certaines options de ligne de commande de WeiDU ont changé et d'autres sont apparues qui apportent quelques avantages intéressants.
Voici une version plus "moderne" et massivement commentée (en anglais) du fichier bat capable de réaliser un traify de mod (ici, le mod Hannah).

Code : Tout sélectionner

:: General note on .BAT file:
:: - lines beginning with "::" are comments and are also used to disable unused code.
:: - lines beginning with ":" are labels for goto statement, used to to skip blocs.

:: Script handling conversion of Hanna mod to handle TRA files.
:: Copy this script in the BG2 directory, along with the Hanna mod.
:: This script uses WeiDU.exe, so it must also be present in the BG2 directory.

:: I suggest using WeiDU v210 as this was the version used to tune the script.
:: It has the extra benefit of a working --traify-comment capability which leaves
:: the dialog text as comment in the .d, .tp2 and .baf files after conversion.

:: Create directories to store the modified files without overwriting the originals.
:: Use the same directory hierarchy with suffixes

:: Create directory for script converted from the baf directory
if exist Hanna\baf_tra goto baf_tra_exists
mkdir Hanna\baf_tra

:baf_tra_exists

:: Create directory for dialogs converted from the d directory
if exist Hanna\d_tra goto d_tra_exists
mkdir Hanna\d_tra

:d_tra_exists

:: IMPORTANT NOTE
:: All files in the mod whose name include non ASCII characters will look weird
:: if this file is opened under Windows as the special characters are different
:: under DOS (or command line) and Windows. As this conversion script is
:: executed under DOS, the names shall follow the DOS form. To create the file
:: lists, I used a DOS command and redirected the output to a file.
:: For instance, for D files (*.d), stored into the list.txt file:
:: dir /b > list.txt 

:: The list were built from all the files in a given directory. After one
:: conversion try, I removed all those that created an empty tra file (that
:: means they don't have any text to translate). This is notably required for
:: the scripts (BAF) which do not always contain texts.
:: The extension (.D, .BAF) of the files shall be removed in the list between ()
:: in the for statement due to the way the weidu command is built.

:: IMPORTANT NOTE
:: In the mod directory, all the files are named Hanna.d, Hanna.baf and
:: Hanna.tp2, i.e. they all have the same root name.
:: The problem is that both the .D and .BAF have texts to extract. This is
:: a problem when all TRA files must be grouped in a single directory for each
:: language.
:: To overcome such case, the solution is to rename, before conversion, the
:: either the dialog file (.D) or the script file (.BAF) in conflict for the
:: same TRA file name. The easiest solution is to rename the dialog file,
:: adding any suitable suffix for instance (the name of a .D file is not restricted
:: to 8 characters constrary to the DLG file it produces, whose name is defined
:: inside the .D file, and must not be changed). On the contrary, renaming a BAF
:: and have WeiDU compile it with a different name is not as easy.
:: Such name change only has one consequence: the TP2 file must be modified to
:: take into account the new names. 

:: If we have a conflict for some file, we rename them before conversion.
:: Note: to rename in a sub-directory, we need to use "move" instead of "rename"
:: Not required in this mod
::move Hanna\d\Hanna.d Hanna\d\Hanna_d.d

:: Convert original dialog files. All texts are moved into a .TRA files using the
:: same prefix as the original .D files. The name of the .TRA files must remain
:: the same as the .D files so that WeiDU can make the link at installation.
:: To avoid overwriting the original while keeping the same name, the files are
:: created in the new directories (_tra suffix).
:: Notes:
:: - using the --traify-comment keeps the original texts in the .D file as comments
::   (between /* */) to keep the .D files more readable. Requires WeiDU > 196
:: - duplicate the commands if new dialogs are added later.
:: - WeiDU >= 200 includes an interesting capability to handle "traify" updated
::   versions of the .D files with additional texts not added using the @xxx
::   method, while avoiding conflicts with a previous TRA file. So a new version
::   of the mod may be written with texts inside the .D, then a new
::   "traifycation" could simply add the new texts at the end of the TRA file
::   created with the current version.
::   This option, --traify-old-tra, can be used like that:
::   weidu --traify Hanna\d\hanna.d --traify-old-tra Hanna\translations\castellano\hanna.tra --out Hanna\d_tra\hanna --traify-comment
::   where Hanna\translations\castellano\hanna.tra is the file containing the
::   texts already traified. The end result, .d fully traified and .tra with the
::   additional texts end up in Hanna\d_tra directory. The new texts are added
::   after the existing ones so that the existing numbering of texts is preserved.
:: The --out option specifies only the root name, so that the TRA file and the
:: modified D file shared the same root. This has the side effect or creating
:: an empty file with the root name but avoid creation of the TRA files with the
:: form "Hanna.d.tra".
for %%i in (ESTROLL1
estroll2
haene01
hanna
HannaTob
HANNOBL1) do weidu --traify Hanna\d\%%i.d --out Hanna\d_tra\%%i --traify-comment

:: Convert all scripts while extracting all texts to a .TRA file with the same
:: root name as the script. The modified script files (with reference to the
:: TRA files) keep the same in the process, so they are created in another
:: directory to avoid overwriting the originals.
for %%i in (esgen01
esrak01
ESTROL0
ESTROL2
HAENE03
sujon) do weidu --traify Hanna\baf\%%i.baf --out Hanna\baf_tra\%%i --traify-comment


:: Conversion of the TP2 original file to move texts in a .TRA file.
:: As we move the TP2 file to the Hanna directory (as per SConrad suggestion, see comments below),
:: there is no need for the _tra suffix to avoid overwriting the original.
weidu --traify Hanna.tp2 --out Hanna\Hanna --traify-comment

:: Move all TRA files to the castellano directory

:tra_exists
if exist Hanna\translations\castellano goto Castellano_exists
mkdir Hanna\translations\castellano
:: Also create francais directory for test purpose
mkdir Hanna\translations\francais

:Castellano_exists
:: Warning!
:: If dialogs (.D) or scripts (.BAF) have the same name, the .TRA file for them
:: will have the same name after conversion. In this case, you would have to
:: rename one of the .D or .BAF to avoid conflicts before conversion to .TRA
:: files. Otherwise the .TRA files can't be stored in the same language directory,
:: which would be a big complication.
:: Move .TRA files in the "castellano" language directory.
:: Note
:: I decided to keep all languages in a subdirectory to avoid languages to appear
:: at the same level as dialogs, scripts ... directories.
move Hanna\baf_tra\*.tra        Hanna\translations\castellano\
move Hanna\D_tra\*.tra          Hanna\translations\castellano\
:: Rename the TRA file for the setup as setup.tra to avoid conflict with other
:: file also called Hanna.tra. The name of the TRA file for the setup is easy
:: to specify in the TP2 file.
move Hanna\Hanna.tra            Hanna\translations\castellano\setup.tra

:: Final notes
:: - The new TP2 file can't be used directly after conversion as it lacks all the
::   stuff regarding translations and use of .TRA files.
::   Use the one provided with the .BAT file, modified for that purpose.
:: - The TP2 file is now be placed inside the "Hanna" directory to avoid crowding
::   the BG2 game directory. Refer to SConrad explanations on Spellhold Studios
::   (http://forums.spellholdstudios.net/index.php?showtopic=13684&st=0&p=184940%EF%BF%BDentry184940)
:: - This requires ensuring the Hanna directory and the setup-Hanna.exe
::   have the same name, i.e. the setup-<name>.exe must match the <name> of the
::   directory. That was already the case but this is now mandatory.
:: - For installation, in the new "Hanna" directory, you also need to replace
::   the original the .D and .BAF files in the "baf-files" and "d-files" directories
::  with those traifyed from the directories witt the "_tra" suffix.
:: - Ensure to remove all TP2 files (original and converted) from the BG2 directory
::   otherwise the version in the Hanna directory (the new one with TRA handling)
::   will not be used.
:: Remove the original TP2 by hand, I don't want to remove any original file
:: in the script, in case if fails!!!

:: Work to do by hand after this automated script
:: - Hanna.TP2: addition of language choice, default option to look for the TRA files,
::     modification of dialog file names for those renamed
::
pause
Bien entendu, il faut adapter les répertoires et les noms au mod concerné. Ce n'est pas compliqué. Le plus "dur" est de faire la liste des fichiers D et BAF. Une simple commande DOS, lancée dans le répertoire qui regroupe les fichiers D ou BAF fait ça très bien :

Code : Tout sélectionner

dir /b *.d > ..\listeficd.txt
donne dans le répertoire parent de celui des fichiers D le fichier listeficd.txt contenant les noms de fichiers D du mod. Il suffira de copier son contenu entre les parenthèses de la commande for et de supprimer les extensions .D pour que le fichier BAT soit à jour.

Il suffit de faire la même chose pour les fichiers BAF. Tous n'ont pas forcément de texte à extraire, en fait très peu en ont en général. En lançant une fois le fichier bat, on constate que beaucoup des fichiers TRA générés pour les fichiers BAF ont une taille nulle car il n'y avait aucun texte à extraire.


Utilisation
- avoir WeiDU.exe dans le répertoire de BG2
- mettre le fichier .BAT dans le répertoire de BG2
- adapter les noms de répertoire, de fichiers .D, .BAF, .TP2
- adapter ou supprimer les "renommages" de fichier
- lancer le fichier .BAT à partir de la ligne de commande

Je suis à votre disposition pour toute précision.
Mathrim Cauthon
Statut : Hors ligne
.

Message par Mathrim Cauthon »

Utilisation des fichiers .D pour les traductions

(Ecrit par Mathrim Cauthon et complété par Isaya)

Tous celles et ceux qui ont eu à traduire des fichiers TRA se sont retrouvés à un moment ou à un autre confrontés à des questions brûlantes telles que :
- qui prononce cette phrase ? Le PJ, un PNJ du groupe, un PNJ non-recrutable ?
- que vient faire cette ligne dans cette conversation ? A quelle question correspond cette réponse ?

Dans ces cas-là, il est vraiment nécessaire de connaître la structure du dialogue pour pouvoir traduire correctement une phrase.
C'est pour cela que l'étude des fichiers D peut se révéler très utile pour la traduction.
Les fichiers D sont les fichiers de dialogues écrits par le concepteur du mod, et qui indiquent de quelles façons sont rajoutés les dialogues dans le jeu.
On peut, en fouillant un peu dedans, déterminer sans peine qui prononce telle ou telle phrase, et à quoi elle peut faire référence.

Où trouver les fichiers D qui nous intéressent ?

La première étape consiste déjà à trouver le fichier .D correspondant au dialogue que vous êtes en train de traduire.
Les fichiers .D se trouvent en général à la racine du répertoire du mod. Ils peuvent aussi se trouver dans un répertoire spécifique nommé dialog, dialogs, dlg ou tout simplement D. Il peut, selon les cas, y en avoir un seul ou un bon nombre.
Les cas suivants peuvent se présenter:
- Le mod ne contient qu'un unique fichier TRA, comprenant les traductions de tous les dialogues du jeu. Dans ce cas-là, il vous suffit d'aller dans l'explorateur windows, dans le répertoire contenant les fichiers D, et de cliquer sur rechercher. Il faudra alors rechercher les fichiers nommés *.D contenant le texte @*** (*** devant être remplacé par le numéro de ligne qui vous pose problème).
- Le mod contient plusieurs fichiers TRA. Dans ces cas-là, il y a le plus souvent plusieurs fichiers D, et chacun porte le nom du fichier TRA correspondant. Par exemple, pour Chloe, ChloeDIA.D et ChloeDIA.TRA
- il arrive parfois que, par une perversion satanique des moddeurs, on puisse trouver plusieurs fichiers TRA, plusieurs fichiers D, et que les noms de ces derniers ne correspondent pas entre eux. Il n'y a pas vraiment de solution unique dans ces cas-là : il faut regarder le nom des différents fichiers .D, voir à quoi ils peuvent correspondre en les ouvrant ou en se basant sur le répertoire dans lequel ils se trouvent, et chercher celui qui pourrait correspondre au fichier TRA que vous êtes en train de traduire. Ces cas-là sont cependant assez rares.

Comment utiliser un fichier D pour la traduction d'un dialogues entre PNJ ?

Regardons maintenant comment utiliser un fichier .D pour s'aider dans la traduction d'un dialogue entre PNJ. Voici un extrait de fichier TRA du Banter Pack, qui correspond à un dialogue entre personnages du jeu original :

Code : Tout sélectionner

@11 * = ~..."Short Stack." I have since heard that one more than I care to recount.~
@12 * = ~Aye, a foul, unforgivable thing. No doubt, no doubt about it. For me, 'twas "Toadstool."~
@13 * = ~O' course, we had a fellow in the crew at the time by the name o' Mushroom, so I dinna realize I was being addressed the first time I heard it. The second time, I put two and two together because the blighter was in my face, so I removed the offender's left pinky with me axe.~
@14 * = ~Ye can rest assured he called me "Sir" after that!~
@15 * = ~"Shrimp." And "Shrimpy." And "Shrimp-Faced Shrimpy." And "Shrimp-Smelling Shrimp-Faced Shrimpy." And--~
@16 * = ~"Little Belle." I always hated that one. I will never allow a mother I know to name their daughter Belle for that very reason.~
@17 * = ~--"Shrimp-Nosed Shrimp-Eyed Shrimp-Smelling Shrimp-Faced Shrimpy." And--~
@18 * = ~Aye, it's a longlimbed world out there. We see them for what they are, though, since their arsewarts be that much harder to hide from the likes of us! Hah!~
@19 * = ~--and of course, "Herbert."~
@20 * = ~Herbert?~
@21 * = ~Why, yes. What self-respecting gnome would ever want to be called Herbert?~
Ce dialogue est savoureux à lire, mais encore faut-il savoir qui parle. Combien y a-t-il de locuteurs ? Qui sont-ils ? Auquel correspond chacune des lignes ?
Ca n'a rien d'évident, et c'est le genre de cas dans lesquel regarder le fichier .D peut être utile. Sa structure peut sembler barbare, mais il suffit surtout de chercher la zone dans laquelle se trouve les lignes en question, indiquées par les @. Dans notre exemple, c'est le bloc suivant:

Code : Tout sélectionner

CHAIN IF ~InParty("Korgan")
See("Korgan")
!StateCheck("Korgan",STATE_SLEEPING)
InParty("Jan")
See("Jan")
!StateCheck("Jan",STATE_SLEEPING)
Global("FWBanterMazzy1","LOCALS",0)~ THEN BMAZZY shortpeople
@11
DO ~SetGlobal("FWBanterMazzy1","LOCALS",1)~
== BKORGAN @12
= @13
= @14
== BJAN @15
== BMAZZY @16
== BJAN @17
== BKORGAN @18
== BJAN @19
== BMAZZY @20
== BJAN @21
EXIT
Le début correspond à une série de conditions sur les personnages pour que le dialogue s'engage.

Code : Tout sélectionner

InParty("Korgan")
See("Korgan")
!StateCheck("Korgan",STATE_SLEEPING)
InParty("Jan")
See("Jan")
!StateCheck("Jan",STATE_SLEEPING)
Global("FWBanterMazzy1","LOCALS",0)
signifie qu'il faut que Jan et Korgan soient présents.

Code : Tout sélectionner

THEN BMAZZY shortpeople
nous indique qu'il faut que le dialogue soit initié par Mazzy.

@11 est donc une réplique de Mazzy.

== BKORGAN @12 nous indique que c'est ensuite Korgan qui prend la parole.

= @13
= @14
Signifient que le locuteur n'a pas changé : c'est toujours Korgan.

== BJAN @15 montre que Jan prend à son tour la parole...

Et vous devinez donc de vous même à qui correspondent les différentes lignes de dialogues qui suivent.

Facile, non ?

Pour voir si vous avez compris, vous pouvez essayer de déterminer à qui appartiennent les lignes suivantes, extraites du BG1 NPC Project :

Code : Tout sélectionner

@224 *= ~Ah, what a grand day to be adventuring! The birds are chirping, the air is fresh and clear, the trees are tall and majestic. What more could we humble mortals ask from the Gods than to be alive on such a day?~ 
@225 *= ~Tiax could ask for a great deal more; for example, Tiax could ask that his destiny be fulfilled and that he be allowed to bestride the world with his power and glory!~
@226 *= ~Oh, why must this idiot continue to trail around with us? Why am I surrounded by such cretins as this?!?~
@227 *= ~Tiax could ask that Cyric slay his enemies and lay waste to the faithless, bringing pain and misery to all those fools who do not bend knee to Tiax's might!~
@228 *= ~Remind me to emigrate before that happens.~
@229 *= ~You know, Tiax, I really think you should see a mental health specialist or something, y'know? You're giving us gnomes a bad name, you buffoon!~
@230 *= ~Tiax could ask that Cyric remove these flies that keep getting in Tiax's face! Tiax has *many* demands, and Tiax awaits their fulfilment with eagerness...~
@231 *= ~He wasn't even paying attention to me! Someday they'll appreciate my genius. It's not my fault I'm before my time.~
@232 *= ~Tiax, you need to relax and enjoy life more. There are simple pleasures far greater than any that world conquest could grant; the fragrance of a flower, or perhaps the soothing sound of a harp being played.~
@233 *= ~Tiax has no time for such pettiness. He dreams of *grander* things! When Tiax rules, he shall enjoy every minute he sacks and destroys disobedient kingdoms and annihilates those faithless who dare to provoke his wrath!~
@234 *= ~I mean, maybe I should talk to myself. I'm the only one capable of appreciating my wit and intellect, after all.~
@235 *= ~Tiax needs no flowers; the sweet smell of the rivers of blood, which will flow when he conquers all, shall please him far more! All hail Tiax, ruler of all things!~
@236 *= ~Uh, ok...~
@237 *= ~Sometimes I think I'm invisible. Hey, I'm not using my amazing illusionary powers again am I? No? They must just be ignoring me then. Shame I can't think down to their level.~
En vous servant du bloc qu'on trouve dans le fichier .D:

Code : Tout sélectionner

CHAIN
IF WEIGHT #-1 ~CombatCounter(0) !See([ENEMY])InParty("TIAX")
See("TIAX")
!StateCheck("TIAX",STATE_SLEEPING)
Global("Garrick_TIAX","LOCALS",0)
!TimeOfDay(NIGHT)
!TimeOfDay(DUSK)
AreaType(OUTDOOR)~ THEN ~_BGarri~ Garrick_TIAX_1
@224 
DO ~SetGlobal("Garrick_TIAX","LOCALS",1)~
== ~_BTIAX~ @225
== ~_BEDWIN~ IF ~InParty("Edwin")~ THEN @226
== ~_BTIAX~ @227
== ~_BXANNN~ IF ~InParty("Xan")~ THEN @228
== ~_BQUAYL~ IF ~InParty("Quayle")~ THEN @229
== ~_BTIAX~ @230
== ~_BQUAYL~ IF ~InParty("Quayle")~ THEN @231
== ~_BGarri~ @232
== ~_BTIAX~ @233
== ~_BQUAYL~ IF ~InParty("Quayle")~ THEN @234
== ~_BTIAX~ @235
== ~_BGarri~ @236
== ~_BQUAYL~ IF ~InParty("Quayle")~ THEN @237
EXIT
Malheureusement, tout n'est pas aussi facile que ça.

Comment utiliser un fichier D pour les dialogues avec le PJ ?

Ici, nous avions une série de dialogues qui s'enchaînaient facilement. Qu'en est-il maintenant des dialogues entre le PJ et un autre PNJ ?

Donc, prenons un exemple (encore tiré du BG1 NPC Project) : un dialogue entre <CHARNAME> et sa petite soeur :

Code : Tout sélectionner

@29 * = ~Well here we are! Beregost. Whatcha think?~ 
@30 * = ~I haven't seen enough of it yet to have much of an opinion.~
@31 * = ~Too many people for me. I'm not very fond of cities.~
@32 * = ~Looks great to me. What do you think we should do first?~
@33 * = ~The only thing I'm interested in right now is a warm room with soft bed and roof over my head.~
@34 * = ~You see one town, you've seen them all.~
@35 * = ~We'll see what she as for us then! Uh...better let me do the talking <CHARNAME>. A hayseed like you in a "big city" like this oooh...pretty scary!~
@36 * = ~Hayseed? When did you become so sophisticated, little Miss Worldly?~
@37 * = ~We'll avoid the scoundrels only to fall into the hands of the law, knowing you. Better let ME do the talking.~
@38 * = ~That's my plan! I'll just stand off to the side and look menacing.~
@39 * = ~Ya just be anti-social then. We'll be better off if I do the talking anyway. You'll just scare everyone away.~
@40 * = ~Better that, than the trouble you'll likely get us into. I think I had best to the talking.~
@41 * = ~Sure, sure; and if your quick words, wit and charm aren't enough, I'll just glower menacingly.~
@42 * = ~Sure, sure; and if my good looks and your quick words aren't enough, I'll just glower menacingly. Truly, Imo, it's long past time you have learned to do that.~
@43 * = ~I'm not anti-social. I just hate people.~
@44 * = ~Let's find a nice place and get some rooms. I haven't had a hot bath in ages! They say Feldepost's is a good inn, we should try there.~
@45 * = ~You take the bed. I've got dibs on the bath! I haven't had a hot bath in ages! They say Feldepost's is a good inn, we should try to find rooms there.~
@46 * = ~Oh, I've been all over with Winthrop before we came to Candlekeep. You should know that! But...heh, guess you're right. I was kinda little at the time.~
@47 * = ~Whatever you say. I'm just teasin' anyway.~
@48 * = ~Yer smarter than ya look! Guess there's hope for you after all, hehe.~
@49 * = ~That was almost funny <CHARNAME>. I must be rubbin' off on ya.~
@50 * = ~After that I'm going shopping. We need some supplies. Let's see...~
@51 * = ~We need a new frying pan, since you ruined the one we have.~
@52 * = ~I ruined? As I recall, YOU were the one who left it on the fire all night... ~
@53 * = ~Whatever you say.~
@54 * = ~Details, details. Was yer idea to have me cook. Um...what else? Some new blankets, soap, lantern oil, spare tent pegs...er...I think I kinda misplaced your hunting knife so we'll have to get a new one of those. I need some new clothes too. My pink tunic got ripped in that last fight.~
@55 * = ~Um...Imoen? ALL of your tunics are pink...and cloaks....and boots...and gloves... ~
@56 * = ~Me too! I wonder if they have any elvish jewlery? Ah, I *always* dreamed to buy something Evereska-made...~
@57 * = ~But that was my favorite! Soooo...I'll need a new one! There's lots we need. Hope, we have enough money...~
@58 * = ~Well, c'mon slowpoke. I wanna have a look around.~
@59 * = ~Whatever you say grouchy.~
Dans l'ensemble, on comprend tout de même le sens des phrases, mais on ignore parfois qui prononce laquelle, ce qui peut poser des problèmes de genre (choix du masculin ou du féminin). Dans ce genre de cas, regarder dans le fichier .D est aussi intéressant. L'ensemble qui nous intéresse ressemble à cela :

Code : Tout sélectionner

IF WEIGHT #-1 ~
Global("ImoenBereg","GLOBAL",1)
Global("IMPC3","LOCALS",0)~ THEN BEGIN IMPC3
SAY @29 
IF ~~ THEN REPLY @30 DO ~SetGlobal("IMPC3","LOCALS",1)~ GOTO IMPC3.1
IF ~~ THEN REPLY @31 DO ~SetGlobal("IMPC3","LOCALS",1)~ GOTO IMPC3.2
IF ~~ THEN REPLY @32 DO ~SetGlobal("IMPC3","LOCALS",1)~ GOTO IMPC3.3
IF ~~ THEN REPLY @33 DO ~SetGlobal("IMPC3","LOCALS",1)~ GOTO IMPC3.4
IF ~~ THEN REPLY @34 DO ~SetGlobal("IMPC3","LOCALS",1)~ GOTO IMPC3.15
END

IF ~~ THEN BEGIN IMPC3.1
SAY @35
IF ~~ THEN REPLY @36 GOTO IMPC3.6
IF ~~ THEN REPLY @37 GOTO IMPC3.7
IF ~~ THEN REPLY @38 GOTO IMPC3.8
END

IF ~~ THEN BEGIN IMPC3.2
SAY @39
IF ~~ THEN REPLY @40 GOTO IMPC3.7
IF ~Gender(Player1,MALE)~ THEN REPLY @41 GOTO IMPC3.8
IF ~Gender(Player1,FEMALE)~ THEN REPLY @42 GOTO IMPC3.8
IF ~~ THEN REPLY @43 GOTO IMPC3.8
END

IF ~~ THEN BEGIN IMPC3.3
SAY @44
IF ~~ THEN GOTO IMPC3.10
END

IF ~~ THEN BEGIN IMPC3.4
SAY @45
IF ~~ THEN GOTO IMPC3.10
END

IF ~~ THEN BEGIN IMPC3.6
SAY @46
IF ~~ THEN GOTO IMPC3.3
END

IF ~~ THEN BEGIN IMPC3.7
SAY @47
IF ~~ THEN GOTO IMPC3.3
END

IF ~~ THEN BEGIN IMPC3.8
SAY @48
IF ~~ THEN GOTO IMPC3.3
END

IF ~~ THEN BEGIN IMPC3.9
SAY @49
IF ~~ THEN GOTO IMPC3.3
END

IF ~~ THEN BEGIN IMPC3.10
SAY @50
IF ~~ THEN GOTO IMPC3.11
END

IF ~~ THEN BEGIN IMPC3.11
SAY @51
IF ~~ THEN REPLY @52 GOTO IMPC3.12
IF ~~ THEN REPLY @53 GOTO IMPC3.15
END

IF ~~ THEN BEGIN IMPC3.12
SAY @54
IF ~~ THEN REPLY @55 GOTO IMPC3.13
IF ~~ THEN REPLY @56 GOTO IMPC3.14
IF ~~ THEN REPLY @53 GOTO IMPC3.15
END

IF ~~ THEN BEGIN IMPC3.13
SAY @57
IF ~~ THEN GOTO IMPC3.14
END

IF ~~ THEN BEGIN IMPC3.14
SAY @58
IF ~~ THEN EXIT
END

IF ~~ THEN BEGIN IMPC3.15
SAY @59
IF ~~ THEN EXIT
END
Oui, c'est long, je suis désolé. On peut déjà remarquer que les lignes de dialogue sont précédées soit de SAY, soit de REPLY. Toutes les lignes commençant par SAY correspondent à des phrases prononcées par le PNJ. Toutes les lignes précédées de REPLY correspondent à des lignes prononcées par le PJ.
Ca éclaire un petit peu les choses, non ?

Bon, ensuite, en regardant un peu plus en détail. Tout commence par cela :

Code : Tout sélectionner

IF WEIGHT #-1 ~
Global("ImoenBereg","GLOBAL",1)
Global("IMPC3","LOCALS",0)~ THEN BEGIN IMPC3
SAY @29 
IF ~~ THEN REPLY @30 DO ~SetGlobal("IMPC3","LOCALS",1)~ GOTO IMPC3.1
IF ~~ THEN REPLY @31 DO ~SetGlobal("IMPC3","LOCALS",1)~ GOTO IMPC3.2
IF ~~ THEN REPLY @32 DO ~SetGlobal("IMPC3","LOCALS",1)~ GOTO IMPC3.3
IF ~~ THEN REPLY @33 DO ~SetGlobal("IMPC3","LOCALS",1)~ GOTO IMPC3.4
IF ~~ THEN REPLY @34 DO ~SetGlobal("IMPC3","LOCALS",1)~ GOTO IMPC3.15
END
Nous passerons sur la partie
IF WEIGHT #-1 ~
Global("ImoenBereg","GLOBAL",1)
Global("IMPC3","LOCALS",0)~
qui a peu d'intérêt en ce qui nous concerne.

SAY @29 veut dire qu'Imoen commence la conversation.

Les 5 lignes suivantes correspondent aux 5 réponses possibles du PJ.
Les GOTO indiquent à chaque fois où se trouve la réaction d'Imoen à cette réponse.
Donc la ligne @44, par exemple, est la réponse à la ligne @32.
On peut ainsi sans beaucoup de difficulté réussir à trouver de quelle façon s'enchaînent les différentes phrases du dialogue, et parvenir à se démêler de situations qui semblaient inextricables.


Comment déterminer le sexe de l'interlocuteur ?

(ajouté par Isaya)

Dès qu'un texte vous oblige à vous poser la question du sexe du personnage qui parler ou de celui à qui il s'adresse, il se peut que la lecture du fichier D ne vous donne pas d'info, par exemple s'il s'agit d'un personnage de rencontre et non un membre du groupe. Dans ce cas, la seule solution fonctionnant à tous les coups consiste à avoir installé le mod et à accéder à ses fichiers par des programmes comme Near Infinity ou Infinity Explorer.
Avec le premier, il suffit d'ouvrir le fichier dialogue concerné, son nom apparaissant au tout début du fichier D, par exemple :

Code : Tout sélectionner

BEGIN ~LHCHAR2P~
C'est le mot-clef BEGIN qui indique le nom du fichier DLG qui va être généré à partir du fichier D.
Ensuite, vous passez sur l'onglet Edit et vous utiliser la fonction Find et vous indiquez de chercher le fichier CRE. Une fois trouvé, il vous suffit de l'ouvrir pour avoir le sexe du personnage et éviter ainsi une bourde.

Merci à Graoumf pour sa relecture et ses précieux conseils pour l'écriture de ce tutorial.[/size]
Avatar du membre
Isaya
Adepte de Grondemarteau
Planaire
Messages : 6990
Enregistré le : mar. 22 juil. 2003, 21:03
Localisation : Plaisir
Contact :
Statut : Hors ligne
.

Message par Isaya »

Dans le courant du mois d'août, nous avions organisé une discussion en ligne entre les principaux responsables de traduction, et moi-même en tant qu'intervenant technique (pas fou, je ne m'occupe pas de traduction, moi ;) ). Suite à cette discussion et à des questions posées, j'avais commencé à rassembler des informations sur des outils et des méthodes utiles pour la traduction de certains mods. J'avais rapidement transmis une version préliminaire à certains.
Je viens de réviser le document et de le convertir en HTML. Il est accessible à cette adresse.
Le document explique certains mécanismes du moteur Infinity Engine et de certains outils utilisés pour faire des mods et a pour but de permettre de mieux comprendre certaines contraintes qui s'appliquent à la traduction. Il est surtout intéressant pour les coordinateurs de traduction, je pense, mais que les autres n'hésitent pas à jeter un coup d'oeil.
Je le ferai évoluer en fonction des remarques et des questions. Alors n'hésitez pas.

J'envisageais d'indiquer le lien dans la chambre des scribes. Plus que de traducteurs, j'ai l'impression qu'il faudrait vraiment trouver au moins un coordinateur. Peut-être ce genre d'informations pourrait-il susciter l'intérêt et démystifier la traduction de mod ? Qu'en dites-vous ?
Avatar du membre
Isaya
Adepte de Grondemarteau
Planaire
Messages : 6990
Enregistré le : mar. 22 juil. 2003, 21:03
Localisation : Plaisir
Contact :
Statut : Hors ligne
.

Message par Isaya »

En atttendant que les d'Oghmatiques se réveillent de l'hibernation (commencée un peu tôt cette année quand même ;) ), je vous soumets un document que j'avais préparé pour faire part de mon expérience de la traduction (The Darkest Day surtout, plus une participation pour quelques mods WeiDU) aux membres du groupe.
Il couvre différent aspects de la traduction, en particulier en expliquant certaines contraintes provenant du moteur de jeu, l'Infinity Engine ou des outils à notre disposition pour éditer les fichiers ou la réalisation de mods. Il y a pas mal de choses orientées vers les mods non WeiDU (comme BP, pour aider les intervenants sur la traduction) mais les explications sont la plupart du temps applicables pour tous les types de mods.
J'invite les personnes intéressées par la traduction de mod à y jeter un coup d'oeil (je pense en particulier aux personnes qui ont présenté leur candidature il y a quelques mois). Voici le le lien sur la page d'accueil.

N'hésitez pas à faire part de vos questions ou remarques afin d'améliorer son contenu.

S'il y en a parmi vous qui seraient prêts à s'occuper intégralement d'une traduction de mod (voire de coordonner un petit groupe de traducteurs), n'hésitez pas à vous faire connaître.
:!: Peu disponible
Guide d'installation (et FAQ) de Baldur's Gate, Baldur's Gate II, Baldur's Gate Trilogy (BGT), BG1Tutu, Widescreen, BGEE
Pensez à utiliser à la fonction Recherche pour trouver une réponse à votre question !
Avatar du membre
Egrevyn
Basilic mineur
Messages : 2128
Enregistré le : mar. 06 mai 2003, 14:42
Localisation : Dans le néant le plus obscur...
Contact :
Statut : Hors ligne
.

Message par Egrevyn »

:!: Voici une petite charte de traduction résumant la vision que l’atelier possède sur cette dernière. Elle permet de réunir certains points qu’il nous semble important, actuels et futurs membres des D‘Oghmatiques, d’adopter. :)

Qualité primordiale :

Le maître mot est la qualité. Il y a de nombreux sujets dans l’atelier mais aussi dans la chambre des scribes, épinglés ou non, qui servent de tutoriaux et aussi d’aide globales :
  • Utilisation du bon logiciel d’édition de texte
  • Règles de grammaire et de ponctuation
  • Spécificité de la présentation des fichiers .TRA
  • Problème du féminin
  • Glossaire de sorts, de noms d’objets ….
  • Bible de traduction pour la question du tutoiement/vouvoiement
Ils convient donc de les consulter pour s’aider à la traduction.

Aide des autres traducteurs… et conseils

Il ne faut pas hésiter à poster dans l’atelier, ou la chambre des scribes (en cas de test en cours) pour demander une expression ou une aide sur une tournure obscure. Attention cependant, la chambre étant visible par tous, il ne faut pas spoiler ou alors prévenir. De même, un test est censé prouver vos qualités de traducteurs, il doit demeurer dans la mesure du possible un travail personnel.

Une bonne traduction : kesako ?

Tout d’abord, elle sera exempte de fautes d’orthographe, de grammaire … Les phrases seront cohérentes et respecteront l’univers du jeu (parlure des personnages, termes spécifiques comme les sorts, les lieux …). En cas de répliques du personnage principal (l’enfant de Bhaal quoi ;) donc vous), il faudra penser à l’ajout de la réplique version féminine.

Question style : il faut conserver le style de l’auteur de départ. Une traduction se veut à la fois être d’un français harmonieux (pas de mot à mot) mais respectueuse du style d’origine (familier, neutre …).

Précisions d'Isaya sur la Gestion du Féminin
Le jeu utilise le fichier dialogF.tlk non seulement pour le personnage principal quand il est de sexe féminin mais aussi pour tous les autres personnages féminins du groupe quand elles interviennent dans une discussion avec une tierce personne. Donc si quelqu'un s'adresse au groupe et que c'est par exemple Imoen qui est la plus proche ou celle qui a engagé la conversation, ce sera aussi le fichier dialogF.tlk qui servira.
Pour les interactions à l'intérieur du groupe (enfant de Bhaal - PNJ) ou les interactions enfant de Bhaal - extérieur, c'est bien le sexe du perso principal qui est pris en compte.
Cette méthode n'est pas infaillible : un PNJ féminin qui discute avec un tiers à propos de l'enfant de Bhaal masculin risque d'amener du texte adapté au féminin (venant du fichier dialogF.tlk) quand il est question du perso principal. Pour résoudre ce type de problème, il aurait fallu 4 fichiers. :sad:
J'en profite pour mettre en garde contre les mots-clés qu'on trouve dans les dialogues : <GIRLBOY>, <LADYLORD>, ... et surtout sur ceux qui s'adaptent au perso principal : <PRO_GIRLBOY>, <PRO_LADYLORD>, ... Ces derniers sont ceux qui risquent le plus de poser des problèmes.
Autre point particulier, la langue française adapte les articles à l'objet et non au possesseur. Exemple : sa dague, son casque. Les textes anglais qui utilisent l'adaptation automatique au sexe du personnage (<HISHER> par exemple) ne doivent donc pas être utilisé en français, sous peine de donner "son dague" pour un perso masculin.

Ne pas oublier le contexte

Là aussi, il ne faut pas précipiter les choses. Nous ne sommes pas dans une logique du rendement mais dans une logique qualitative pour que les joueurs aient la meilleure traduction possible. Rien de sert d’aller vite, bien au contraire il faut prendre son temps (tout en tenant informé le responsable de traduction et/ou le concepteur de ce temps) mais progresser aussi régulièrement. Dans cette optique, il faut prendre soin de voir le contexte des phrases (en s’aidant des fichiers .D [voir sujet épinglé dans l’atelier], éventuellement faire des recherches en cas de référence à des points précis, accommoder les dialogues de chaque personnage…

Par exemple j’ai eu sur Yikari un nom de ville à traduire tirée de l’univers du Disque Monde. Plutôt que de tenter la traduction improbable du terme il fallait reprendre celui de l’univers tout en le peaufinant pour qu’il veuille dire quelque chose aussi bien pour le néophyte que pour celui connaissant le Disque-Monde.

Suggestions d'Isaya :
Il y a bien des notions différentes derrière ce terme. J'y ajouterai notamment :
- le sexe des personnages impliqués dans un dialogue. Il y a souvent des échanges qui ne dépendent pas de l'équipe (exemple : Ribald et le gnome/nain dans le bazar de l'aventurier, j'ai pris cet exemple car les traducteurs s'y sont fourvoyés). Il est bon de s'en préoccuper pour éviter d'adapter au féminin (ou de garder au masculin) des textes qui sont invariants quel que le soit le sexe du personnage du groupe.
- les intervenants des dialogues. Il est bon de savoir qui parle dans un dialogue, en particulier de savoir si une ligne est prononcé par le groupe ou un PNJ. La nécessité d'adapter au féminin/masculin en dépend.
- la personnalité du personnage. S'il s'agit d'un mod de romance ou d'un nouveau PNJ recrutable, ses interactions avec les membres du groupe ou les PNJ communs du jeu (exemple, celui qui drague les filles à la couronne) nécessitent une traduction tenant compte de sa façon de parler dans la traduction originale (si on veut préserver une bonne homogénéïté).

Je ne saurais trop conseiller aux traducteurs de télécharger le mod sur lequel ils travaillent (voire de l'installer et d'y jouer). L'accès aux fichiers du mod est quasiment indispensable pour vérifier le contexte.

De la relecture

Ne sautez jamais cette étape…quitte à devoir entreprendre deux relectures. Elle est essentielle, et même si on a effectué la traduction sous Word (et ensuite transvasé sur un fichier .tra normal), des fautes demeurent toujours et ne sont pas corrigées par le traitement de texte (accord, mots spécifique non en mémoire …).

Après, n’hésitez pas à demander des relectures de plusieurs personnes de l’atelier (mais pas sans avoir relu vous-même, il ne faut pas leur donner du travail supplémentaire), afin que le travail soit complètement achevé avant d’être inclus dans le mod en VF.

Une certaine responsabilité

Finissons cette charte par quelques points concernant l’attitude du bon traducteur, et du bon D’Oghmatiques. La traduction de module ne doit pas être un caprice.

Tenez toujours informé votre équipe et le concepteur de votre activité (pause, vacances, indisponibilité….). L’information doit circuler. Le but est de travailler sans pression, mais aussi de comprendre que lorsqu’on s’engage dans un projet, on doit respecter cette « parole ». En cas d’indisponibilité importante, pas de souci, il faut juste informer et éventuellement repasser son travail le temps de revenir plus tard aux affaires.

Ne pas rendre de travail bâclé….le mot « rendement » ne fait pas partie de notre vocabulaire.

Evitons aussi de travailler sur plusieurs modules en même temps…afin de rester concentré sur un projet à la fois, en respect du concepteur du module.

:!: Enfin, pour les futurs traducteurs, n’oubliez pas qu’il ne faut jamais débuter une traduction (même si elle n’est pas mise en chantier par l’atelier) sans prévenir le concepteur et donc obtenir ses droits (obtention orale). La structure de l’atelier (qui s’est taillée une solide réputation) facilite grandement le dialogue avec les moddeurs anglo-saxon. :!:

:p reved: Bref, l’atelier vous ouvre ses bras, alors n’hésitez pas, pour peu que pour souhaitiez vous lancer dans la traduction, en respectant les quelques points exposés plus haut qui découlent plus de l’évidence à appliquer qu’à un règlement quelconque.

La plus belle récompense n’est-elle pas ensuite de voir pleins de joueurs prendre plaisir à découvrir le mod que vous avez traduit et qui était jusque là inaccessible pour eux ? ;)
Silently, we wander...

"Arghhhhh, j'ai drow mal", hurla le sorcier Shuy Imbhoulaï ------> extrait exclusif du "Blagonomicon de Gygy les bons tuyaux"
Avatar du membre
Garfield
Goule majeure
Messages : 1994
Enregistré le : jeu. 18 nov. 2004, 13:41
Localisation : Paris
Contact :
Statut : Hors ligne
.

Message par Garfield »

[Tuto] Connaissances de base, Sur les fichiers .D

Une chose importante à savoir lorsque l'on traduit: à quoi correspondent les fichers .D

Le fichier SETUP correspond évidemment au Setup du mode. C'est ce fichier qui contient les noms de PNJ, les biographies, les noms et descriptions des armes.

Dans le cas d'un mod de PNJ:
*Le fichier MonPNJ.D: ce fichier contient le dialogue de recrutement du personnage, c'est à dire tout ce qui se dira avant que le personnage ne rjoigne l'équipe. Cela peut donc couvrir un dialogue où le PNJ demande d'accomplir une quête avant de vous rejoindre. Il ne sera utilisé qu'un fois

*Le fichier MonPNJP.D: le dialogue de départ du personnage, et son dialogue lorsque vous tentez de le recruter de nouveau.

*Le fichier MonPNJJ.D: contient les interjections avec les personnages non recrutables, ou même avec les personnage recrutables avant leur recrutement.

*Le fichier BMonPNJ.D: contient les banters. C'est dans ce fichiers là que sont stocké les paroles du PNJ en question, et les réponses des autres PNJ.

Selon les mods, ces fichiers peuvent être regroupés dans un même fichier .D et séparé par de simples
BEGIN ~BMonPNJ~

Ou ils peuvent être enregistrés dans differents fichiers .D

Pour les quêtes, il n'y a qu'un type de dialogue, donc c'est nettement plus facile. Ce sont en général des conversations PJ-PNJ declencheur de la quête.
Lies are never forgotten, they go on and they grow
Chat orange et D'Oghmatique.
Rodolpho Remington, barde/boulanger, s'exprime en FF99CC > Bio RP
Avatar du membre
Garfield
Goule majeure
Messages : 1994
Enregistré le : jeu. 18 nov. 2004, 13:41
Localisation : Paris
Contact :
Statut : Hors ligne
.

Message par Garfield »

[Tuto] Near Infinity, Un outil très utile

Pour faciliter le moddage mais aussi les traductions, il existe un outil bien utile: Near Infinity, téléchargeable ici (dernière version maintenue par Argent77, compatible EE).

Il permet de repérer des strings précis dans le dialogue, fort utile pour traduire des interjections, à condition de travailler avec le fichier MonPNJ.D.

Prenons exemple sur Allison, le one-day NPC:
-Son fichier r#allisj.D dit:

Code : Tout sélectionner

INTERJECT_COPY_TRANS HELLJON 7 AllisonInHell
 == R#ALLISJ IF ~IsValidForPartyDialogue("r#allison")~ THEN @12
END
On utilise NearInfinity (NI) pour chercher le dialogue auquel il est fait référence (HELLJON dans l'exemple). Il suffit d'ouvrir l'onglet DLG sous NI comme suit (cliquer sur les images pour les agrandir) :
Image

On cherche ensuite le fichier de dialogue HELLJON:
Image


Puis le dialogue "numéro 7":
Image
Remarque d'Isaya
:!: Pour être complet, le numéro "dialog state" à chercher dépend de la version de Near Infinity. Avec les anciennes (1.x), il faudra aller consulter le "dialog state" numéro 8 (7 + 1). En effet, WeiDU numérote les états à partir de 0 alors que l'ancienne version de Near Infinity numérote à partir de 1. Les nouvelles (2.x) utilisent la même numérotation que WeiDU.


Ainsi, la phrase @12 d'Allison "All that you stand for is an affront against nature, Irenicus! Her vengeance shall be served and the fine shall be your blood!" suivra la phrase d'Irenicus "Maintenant, bats-toi...." du screen.
Ca peut toujours aider dans une traduction, ne serais- ce que pour trouver quel personnage parle, et à quel moment ^^
Mathrim Cauthon a écrit :Une petite astuce que tu ne connais peut-être pas: lorsque tu cherches à quoi peut correspondre une string d'un mod installé, ouvre Near Infinity, fait Search->StringRef, entre le numéro de la string, puis clique sur "Find Reference". Ainsi, le programme cherche dans tous les fichiers du jeu lequel comporte des références à cette string particulière. Et tu peux voir si c'est une créature ou un objet, et sûrement avoir accès à une description plus complète :)

Edit:
tu peux en général supprimer, dans la liste des types de fichier à parcourir, les ARE, les WED et le WMP qui prennent beaucoup de temps à être scannés.
[/size]
Lies are never forgotten, they go on and they grow
Chat orange et D'Oghmatique.
Rodolpho Remington, barde/boulanger, s'exprime en FF99CC > Bio RP
Graoumf
Statut : Hors ligne
.

Message par Graoumf »

J'aimerais attirer votre attention sur un outil spécialement conçu pour les traducteurs : le TREP, par Baronius. Il ne s'appuie pas sur les .d, j'ignore encore comment il fonctionne.

TraDE a également pour but de faciliter les traductions.

Si vous désirez les tester, n'hésitez pas. Les commentaires sont également les bienvenus.

-------------------------
Voici un petit outil qui devrait en ravir plus d'un : Traify Tool. Image
Avatar du membre
Isaya
Adepte de Grondemarteau
Planaire
Messages : 6990
Enregistré le : mar. 22 juil. 2003, 21:03
Localisation : Plaisir
Contact :
Statut : Hors ligne
.

Message par Isaya »

Editeurs de fichiers .d et .tra
Pour la lecture des fichiers D et TRA, il existe des fichiers de paramètre pour certains éditeurs surlignant les mots-clés du langage des dialogues WeiDU ou de l'Infinity Engine, ainsi que les chaines de caractères entre ~~. Gibberlings 3 propose notamment des fichiers pour ConTEXT, Crimson Editor et TextPad. Les deux premiers sont gratuits mais le troisième est un shareware.
Par ailleurs Miloch a aussi proposé un jeu de fichiers pour PSPad (gratuit).

Pour ma part, j'utilise l'éditeur Notepad++. Couplé avec les fichiers de personnalisation d'Argent77 - WeiDU Highlighter for Notepad++ -, il permet de modifier les couleurs selon l'endroit où l'on se trouve dans le fichier.

Pour utiliser les fichiers d'Argent77 dans Notepad++ (note de Graoumf - testé sur Windows 7, cela fonctionne parfaitement) :
  • téléchargez Notepad++ et installez-le
  • téléchargez WeiDU Highlighter for Notepad++ v3.8.zip et dézippez-le dans un répertoire bidon
  • ouvrez Notepad++, onglet Langages -> "Définissez votre langage" -> cliquez sur "Importer"
  • une fenêtre s'ouvre -> allez chercher le 1er fichier xml de WeiDU Highlighter for Notepad++ dézippé (en théorie, ce doit être WeiDU_BAF.xml)
  • répétez l'opération d'importation pour les 3 autres fichiers xml
  • fermez Notepad++
  • rouvrez-le : le fichier .tra que vous ouvrirez disposera ainsi de coloris en fonction des blocs (entre les tildes, entrées sons, etc...)
Dans Notepad++, le paramétrage permet d'identifier facilement un défaut d'absence de caractère ~ en fin de texte par exemple. Dans ce cas, la ligne suivante ne montre plus le caractère @ et la valeur en utilisant la couleur habituelle pour cette information mais au contraire la couleur du texte entre ~~.

-------------------------

Comparateur de fichiers
Autre outil extrêmement utile, voire indispensable, un comparateur de fichier, voire de répertoire. Il permet notamment, en comparant deux fichiers, d'identifier les modifications effectuées entre deux versions du mod, de repérer les modifications faites un relecteur par rapport au texte de départ, ...
Pour ma part, j'utilise KDiff3. C'est un logiciel libre, disponible sous Windows, Linux et Mac. Son gros point fort est de montrer des différences au caractère près, pas seulement les lignes qui ont changé comme le font la plupart des outils de même nature. C'est très utile, notamment pour comparer les modifications post-relecture et y repérer facilement la correction de la petite faute d'accord du participe passé ou la modification d'une ponctuation.

--------------------------

Enfin les éditeurs évoqués dans ce message sont en général tous capables d'utiliser des expressions régulières pour la recherche-remplacement. Ceci ouvre la porte à de gros gains de temps pour la relecture.
A titre d'exemple, supposons qu'il s'agisse de vérifier que les textes respectent bien l'espacement des ponctuations. En français, il faut normalement un espace avant et après les caractères '!', '?', ';' et ':' (j'en oublie peut-être) alors qu'en anglais on n'en met pas avant. Du coup, on retrouve souvent cette faute dans les textes à relire. Avec les expressions, rien de plus simple que de corriger facilement cette faute. Il suffit de faire un remplacement de
([^ !?])([!?;:])
par
\1 \2
Principe : on cherche tout caractère qui n'est pas un espace (^ est une négation du critère, ici le contenu qui le suit entre [], à savoir l'espace, '!' et '?') suivi d'un '!', '?', ';' ou ':'. On remplace le bloc par ce même caractère, un espace puis la ponctuation d'origine. La raison pour laquelle on indique '!' et '?' en plus de l'espace après le caractère '^' est d'empêcher d'ajouter un espace au milieu de '...', '?!?', '???', '!!!' et autres.

Idem pour un espace manquant après une ponctuation, et ne se trouvant pas en fin de chaine (inutile de mettre un espace avant ~). On considèrera ici seulement '!', '?' et '.' (les autres ne doivent pas se trouver en fin de phrase). On remplacera donc
([!?.])([^ ~!?.])
par
\1 \2
Principe : on cherche la séquence '!', '?', ou '.' suivi d'un caractère autre qu'un espace ou '~' (rien à ajouter dans ces cas). J'ajoute aussi les mêmes caractères de ponctuation de façon à ne pas ajouter un espace au milieu de '...', '?!?', '???', '!!!' et autres.

Il y aura toujours des cas particuliers pour lesquels ces expressions feront une modification non souhaitée, par exemple une citation entre guillemets terminant par une ponctuation au milieu d'un texte. Alors il vaut mieux être prudent et toujours vérifier les changements proposés par l'éditeur. ;)

:!: Dans beaucoup d'éditeurs, il faut préciser par une option de la fenêtre de recherche-remplacement qu'on souhaite que l'éditeur considère les textes entrés comme des expressions régulières. Il ne faut pas oublier de sélectionner cette option sinon ça ne fonctionnera pas.
Avatar du membre
Isaya
Adepte de Grondemarteau
Planaire
Messages : 6990
Enregistré le : mar. 22 juil. 2003, 21:03
Localisation : Plaisir
Contact :
Statut : Hors ligne
.

Message par Isaya »

Comment tester une traduction
Graoumf a écrit :@Isaya : j'ai téléchargé le package d'Avatars Fixes. Je lui appliquerai le dernier WeiDU. Ensuite comment fais-je pour tester l'install telle que cmorgan la désire ? Juste une install dans les différents langages et des vérif dans le .DEBUG pour voir s'il y a des erreurs ?
Apparemment l'archive n'a pas WeiDU, donc il te faut effectivement ajouter le setup-xxx.exe qui va bien.

Je te suggère les vérifications suivantes :
- vérifier de visu le fichier .DEBUG et par le biais d'une recherche de "warning" et d'"error"
- vérifier l'ajout du ou des composants dans le fichier WeiDU.log
- lancer le jeu, créer un personnage dont l'avatar est impacté et vérifier qu'il est bien affiché dans le jeu

D'ordinaire, avec un autre type de mod, je remplace la dernière par l'utilisation de Near Infinity pour contrôler certains fichiers du mod (DLG, CRE, ...) et la prise en compte des textes en français pour les répliques ou les noms. Ici, le jeu est plus approprié pour vérifier que les éléments graphiques ont bien été pris en compte.

En général, je répète les même étapes pour toutes les langues pour vérifier que la langue est bien appliquée dans les dialogues ou autres fichiers. Ici, tu dois pouvoir te passer de répéter la vérification dans le jeu.
:!: Peu disponible
Guide d'installation (et FAQ) de Baldur's Gate, Baldur's Gate II, Baldur's Gate Trilogy (BGT), BG1Tutu, Widescreen, BGEE
Pensez à utiliser à la fonction Recherche pour trouver une réponse à votre question !
Avatar du membre
Isaya
Adepte de Grondemarteau
Planaire
Messages : 6990
Enregistré le : mar. 22 juil. 2003, 21:03
Localisation : Plaisir
Contact :
Statut : Hors ligne
.

Message par Isaya »

Conversion BGEE des mods
Pour réaliser la conversion pour tout un répertoire "french" ou "francais", suivant le nom habituellement utilisé dans un mod, il existe une méthode très simple : celle décrite dans ce message.
:!: Peu disponible
Guide d'installation (et FAQ) de Baldur's Gate, Baldur's Gate II, Baldur's Gate Trilogy (BGT), BG1Tutu, Widescreen, BGEE
Pensez à utiliser à la fonction Recherche pour trouver une réponse à votre question !
Graoumf
Statut : Hors ligne
.

Message par Graoumf »

Un outil, non référencé dans les messages au-dessus, mais qui peut s'avérer bien utile : Dialogchecker.
Attention : il ne sait pas interpréter les textes d'installation WeiDU, dont parle Isaya à la fin du 1er message. Mais en dehors de ça, c'est ok.

A utiliser une fois la relecture du mod traduit effectuée, juste avant l'envoi des fichiers au concepteur : il permet de contrôler la bonne structure des .tra.
Le mieux est toutefois de doubler cette vérif avec une install du mod en bidouillant le répertoire existant d'une langue et appelé dans le setup, pour y ajouter les fichiers français (par ex), histoire d'être sûr que le setup se joue correctement.
Avatar du membre
Isaya
Adepte de Grondemarteau
Planaire
Messages : 6990
Enregistré le : mar. 22 juil. 2003, 21:03
Localisation : Plaisir
Contact :
Statut : Hors ligne
.

Message par Isaya »

De nos jours, j'aurais tendance à recommander TraChecker plutôt que DialogChecker, pour ceux qui ne sont pas allergiques à la ligne de commande.
Les contrôles réalisés par TraChecker couvrent beaucoup plus de choses que DialogChecker. En particulier, pour une traduction, TraChecker est capable d'indiquer s'il y a des textes manquant dans le fichier de traduction, par exemple, ou s'il manque un fichier tra. La présentation rédigée par son auteur (francophone) montre bien les différents contrôles.
:!: Peu disponible
Guide d'installation (et FAQ) de Baldur's Gate, Baldur's Gate II, Baldur's Gate Trilogy (BGT), BG1Tutu, Widescreen, BGEE
Pensez à utiliser à la fonction Recherche pour trouver une réponse à votre question !
Avatar du membre
jazira
Blême
Messages : 945
Enregistré le : mar. 28 févr. 2012, 06:18
Localisation : Gironde (33)
Statut : Hors ligne
.

Message par jazira »

Dialogchecker fonctionne parfaitement, cependant impossible de faire fonctionner Trachecker.

Il n'y a pas de manuel, ni explications, ni readme, alors j'ai tout essayé. Double clique sur l'exe, avec ou sans mod de compatibilité, administrateur ou pas, via l'invité de commande, la fonction exécuter, en batch. Rien n'y fait, suis-je teuteu ?
Avatar du membre
Isaya
Adepte de Grondemarteau
Planaire
Messages : 6990
Enregistré le : mar. 22 juil. 2003, 21:03
Localisation : Plaisir
Contact :
Statut : Hors ligne
.

Message par Isaya »

Lefreut a fourni beaucoup d'exemples concrets d'utilisation de TraChecker dans la discussion d'annonces des versions de l'outil (cf. le lien). Je pense que ça couvre tous les usages probables.
Pour avoir un manuel local, il te suffit de sélectionner le texte et de le coller dans un fichier texte (c'est ce que j'ai fait). Le premier message semble à jour des changements apportés au gré des différentes versions.
:!: Peu disponible
Guide d'installation (et FAQ) de Baldur's Gate, Baldur's Gate II, Baldur's Gate Trilogy (BGT), BG1Tutu, Widescreen, BGEE
Pensez à utiliser à la fonction Recherche pour trouver une réponse à votre question !
Avatar du membre
jazira
Blême
Messages : 945
Enregistré le : mar. 28 févr. 2012, 06:18
Localisation : Gironde (33)
Statut : Hors ligne
.

Message par jazira »

J'ai trouvé, je suis teuteu, j'ai honte !

J'ai passé 3 PUTAINS D'HEURES à chercher partout, sur les forums, dans les éventuels fichiers bloqués par defender, à faires toutes les manips possible, bref...

Le problème est tout simplement que le chemin d'accès de mes fichiers comporte un espace...

C:\Users\jesuisteuteu\Desktop\trad bgqe\Trachecker.exe

Et sans espace... ça fonctionne... j'ai tellement LE SEUM !
Avatar du membre
Isaya
Adepte de Grondemarteau
Planaire
Messages : 6990
Enregistré le : mar. 22 juil. 2003, 21:03
Localisation : Plaisir
Contact :
Statut : Hors ligne
.

Message par Isaya »

Effectivement, c'est un piège très fréquent et qu'on met souvent trop longtemps à envisager.
De façon générale, dans l'invite de commande Windows, tu peux entourer les noms de fichiers de guillemets pour éviter les problèmes d'espace, y compris dans le chemin pour lancer un programme.
L'autre contournement dans le cas que tu indiques, c'est d'ouvrir l'invite de commande directement dans le dossier "trad bgqe", de sorte que tu n'as pas besoin d'indiquer le chemin pour lancer le programme.
:!: Peu disponible
Guide d'installation (et FAQ) de Baldur's Gate, Baldur's Gate II, Baldur's Gate Trilogy (BGT), BG1Tutu, Widescreen, BGEE
Pensez à utiliser à la fonction Recherche pour trouver une réponse à votre question !
Répondre

Retourner vers « La Chambre des Scribes »

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 0 invité