[Skyrim/SSE] Traduction des scripts

Vous trouverez ici les conseils indispensables pour bien traduire et maîtriser les outils de traduction des jeux.
Avatar du membre
Doridion
Traducteur aguerri
Traducteur aguerri
Messages : 354

Traduction des scripts

Message par Doridion »

Plop tatous !

Alors oui, je lance le sujet car beaucoup d'entre nous sont toujours aussi frileux à traduire les scripts. Même si certains éléments dépendent desdits scripts, j'aimerais savoir s'il y a des lignes "standard" que l'on peut traduire les yeux fermés.

Pour mieux voir ces lignes dans EET, vous pouvez effectuer les deux manipulations suivantes :
- Dans EET, quand vous traduisez des scripts, n'oubliez pas d'aller dans Affichage > Afficher les commentaires pour voir à quelle ligne appartient le terme que vous voulez traduire.
- Clic-droit sur la première ligne du tableau principal (GRUP/ID/EDID/etc.) et cochez "Commentaire". Ensuite, vous n'avez plus qu'a mettre dans votre recherche par colonne le préfixe des lignes à ne pas traduire, puis passer les lignes trouvées en "Ignorée". Comme ça, plus de bêtises ;)

Tous les éléments dont la phrase entre guillemets pouvant être traduits, commencent par :

- debug.messagebox("[Cette partie peut être traduite]")
- debug.notification("[Cette partie peut être traduite]")
- self.AddHeaderOption("[Cette partie peut être traduite]", x)
- self.AddToggleOption("[Cette partie peut être traduite]", x)
- self.AddSliderOption("[Cette partie peut être traduite]", x)
- self.AddTextOption("[Cette partie peut être traduite]", x)
- xxx.SetName("[Cette partie peut être traduite]")
- String Property xxx Auto = ("[Cette partie peut être traduite]")

En revanche, les lignes à ne surtout pas traduire sont :

- self.GotoState("[Pas traduire]")
- self.Transfer("[Pas traduire]", "[Pas traduire]")
- xxx.SetActorValue("[Pas traduire]") (ou SetAV, RestoreAV, GetAV)
- akTarget.ModActorValue("[Pas traduire]", x)
- debug.SendAnimationEvent(x, "[Pas traduire]")
- message.ResetHelpMessage("[Pas traduire]")
- xxx.ShowAsHelpMessage("[Pas traduire]", x)
- xxx.PlayGamebryoAnimation("[Pas traduire]", x)
- xxx.AdvanceSkill("[Pas traduire]", x)
- xxx.QueryStat("[Pas traduire]")
- xxx.IncrementStat("[Pas traduire]", x)
- asStatFilter == "[Pas traduire]")

Il ne faut absolument pas toucher aux Stat qui correspondent à ce qu'on voit dans le menu de Statistiques (Maisons possédées, Coffres crochetés, etc.). Dans les scripts, ce ne sont pas des textes, mais des variables en anglais : les traduire brise le script.

Exemples :
Game.QueryStat("Houses Owned") == 5
asStatFilter == "Barters"

La liste des Stat concernés :
► Afficher le texte
ATTENTION : c'est aussi le cas dans les VMAD des QUST !


Les lignes qui n'apparaissent pas en jeu et que vous pouvez donc ignorer (si vous traduisez ça ne cassera pas les scripts) sont :

- debug.Trace("[Pas utile de traduire]", x)
- xxx.PrintDebugMessage("[Pas utile de traduire]") (ou PDB)

Merci d'avance de modifier/corriger/augmenter ces listes, pour tous les traducteurs qui peinent à être rassurés pour les scripts ;)
Modifié en dernier par Doridion le 14 mars 2017, 10:42, modifié 6 fois.
Avatar du membre
Titanlevak
Traducteur aspirant
Traducteur aspirant
Messages : 31

Re: Traduction des scripts

Message par Titanlevak »

Question débile du petit nouveau du fond de la classe,

Ce qui veut dire qu'en dehors de ces phrases entre crochets, les scripts ne se traduisent pas ?
Skyrimement vôtre !
Avatar du membre
Doridion
Traducteur aguerri
Traducteur aguerri
Messages : 354

Re: Traduction des scripts

Message par Doridion »

Nop ( en tout cas de c que j'ai pu tester ), sauf si vous voulez "casser" le script, ce qui serait dommage ;)

En même temps je t'avoues attendre qu'un moddeur/traducteur qui s'y connaisse puisse ajouter/retirer/corriger ces lignes histoire d'avoir de plus amples infos.
Proverbe nain : " Quand le coq chante, la brique vole "
Avatar du membre
Oaristys
Administratrice | Traductrice
Administratrice | Traductrice
Messages : 9957

Re: Traduction des scripts

Message par Oaristys »

Salut, j'ai étoffé un peu la liste à partir de ce que j'ai moi-même croisé dans des scripts. J'ai épinglé le sujet qui est une très bonne idée.
Aux traducteurs : dans EET, quand vous traduisez des scripts, n'oubliez pas d'aller dans Affichage > Afficher les commentaires pour voir à quelle ligne appartient le terme que vous voulez traduire.
Avatar du membre
Doridion
Traducteur aguerri
Traducteur aguerri
Messages : 354

Re: Traduction des scripts

Message par Doridion »

Mouh que c'est gentil tout plein Oa ^^ Merci merci merci ! \o/

PS : J'avais effectivement oublié de préciser de mettre en valeur les commentaires, et je vais ajouter aussi qu'on peut ajouter une colonne "commentaires" pour faire un tri par recherche dans la colonne, histoire de marquer les lignes a ne pas traduire a l'avance ( ça évite pas mal de bêtises ).

Edit : Premier post édité pour plus de lisibilité et ajout des deux astuces d'affichage.
Proverbe nain : " Quand le coq chante, la brique vole "
Avatar du membre
Irwine
Traductrice vétérante
Traductrice vétérante
Messages : 1876

Re: Traduction des scripts

Message par Irwine »

Bon je poste ici car ça pourra peut-être aidé.
J'ai quelques SCPT que je ne sais pas si je dois traduire ou non.

game.AdvanceSkill("Speechcraft", ORD_XPMult * ShoutCooldown),
If (asStatFilter == "Pockets Picked"),
game.QueryStat("People Killed"),
String OilAnim = "stopeffect",
String OilDisappearEvent = "end",
game.IncrementStat("Locks Picked", 1),

Bon j'ai aussi le cas ou j'ai carrément des calculs (augmentation xp, compétences etc), j'aurais tendance à supposer que dans ce cas la même si j'ai des game.AdvanceSkill (si peut être) traduit, je ne traduit pas le champ.
Je suis partie également du principe que tout ce qui avait un rapport avec les ActorValue et les animations ne doit pas être traduit.

Est-ce que ce que j'ai fait comme supposition est correct et est que vous savez si oui ou non il faut traduire les bouts que je vous ai donné plus haut?

Merci
Vers l'infini et l'au delà
Avatar du membre
Doridion
Traducteur aguerri
Traducteur aguerri
Messages : 354

Re: Traduction des scripts

Message par Doridion »

Alors, pour certains éléments, j'ai des réponses :
If (asStatFilter == "Pockets Picked"), => Par logique, j'te dirais d'éviter de le traduire, c'est un appel à la variable "Pockets Picked". Soit tu traduit la variable partout dans le(s) script(s), soit tu laisse tout court. ( Oui, il est possible qu'a de multiples endroits du script, cette variable ne soit pas détectée par EET )
String OilAnim = "stopeffect", et String OilDisappearEvent = "end", sont exactement sur le même principe, sauf que pour ces deux cas, c'est ici que les variables sont "déclarées".

game.AdvanceSkill("Speechcraft", ORD_XPMult * ShoutCooldown),
game.QueryStat("People Killed"),
game.IncrementStat("Locks Picked", 1),


Alors d'un avis personnel, pour moi, les game. sont, dans les scripts, l'équivalent des codes console utilisable IG. Donc je dirais que par logique, ils sont traduisible, mais je vais largement éviter de m'avancer.
Proverbe nain : " Quand le coq chante, la brique vole "
Avatar du membre
Irwine
Traductrice vétérante
Traductrice vétérante
Messages : 1876

Re: Traduction des scripts

Message par Irwine »

Merci pour la réponse et oui je suis idiote de ne pas avoir pensé au fait qu'on parle de variable.
Je vais voir si Oa ne peut pas infirmer ou confirmer tes dires ou qqun d'autre.
Vers l'infini et l'au delà
Avatar du membre
Yoplala
Modérateur | Scribe | Traducteur | Testeur
Modérateur | Scribe | Traducteur | Testeur
Messages : 5001
Contact :

Re: Traduction des scripts

Message par Yoplala »

Yop !

Dans un mod, il y a des lignes comme ceci :

SCPT 946 OCWWargameScript SCPT OCW: DoSorryMario not found a valid swap hold
Commentaire : cwscript.log("OCWWargameScript", "OCW: DoSorryMario not found a valid swap hold", 0, False, False)

SCPT 505 OCWWargameScript SCPT OCW: error: quest CWFortSiegeCapital did not start.
Commentaire : cwscript.log("OCWWargameScript", "OCW: error: quest CWFortSiegeCapital did not start.", 0, False, False)

Ce sont des messages qui arrivent en jeu je pense, on peut donc traduire sans risque ? La plupart le sont mais pas tous.

Même mod, il y a des :
SCPT 355 CWMapActivatorScript SCPT FortGreymoor
Commentaire : If (NodeOfFlag == "FortGreymoor") && ocws.CWGarrisonEnableMarkerMonsterFortGreymoor.isEnabled()
If (NodeOfFlag == "FortGreymoor") && ocwscript.isWhiterunWargameNeutral()
CWMapFlagFortGreymoorRef = self.TryToPlaceFlag(CWMapFlagFortGreymoorRef, CWMapFlagRedFortGreymoor, CWMapFlagBlueFortGreymoor, FortGreymoorLocation, "FortGreymoor")

SCPT 375 CWMapActivatorScript SCPT TownRiverwood
Commentaire : If (NodeOfFlag == "TownRiverwood") && ocwscript.isWhiterunWargameNeutral()
CWMapFlagRiverwoodRef = self.TryToPlaceFlag(CWMapFlagRiverwoodRef, CWMapFlagRedRiverwood, CWMapFlagBlueRiverwood, RiverwoodLocation, "TownRiverwood")

La traduction automatique a traduit certaines lignes comme les forts qu'elle a reconnus mais pas les "town", "cap" et autres. Il me semble que ces lignes ne doivent pas être traduites, mais est-ce problématique ? Merci d'avance pour vos éclairages.
Avatar du membre
A .
Légende de la Confrérie
Légende de la Confrérie
Messages : 5582

Re: Traduction des scripts

Message par A . »

À froid :
- je dirais que les 2 premiers scripts servent à débugger le mod, ce qui est entre guillemet sera écrit dans un fichier .log.

- tout le reste je n'y toucherais pas, ce ne sont pas des noms de lieu apparaissant en jeu, mais des références internes, du moins c'est comme cela que je le vois. Y'a que Morrowind qui utilise le nom des cellules comme références dans les scripts :p
Répondre

Retourner vers « Tutoriels et conseils de traduction »