Page 1 sur 2

Traduction des scripts

Posté : 21 nov. 2016, 11:12
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 ;)

Re: Traduction des scripts

Posté : 03 déc. 2016, 09:11
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 ?

Re: Traduction des scripts

Posté : 03 déc. 2016, 09:59
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.

Re: Traduction des scripts

Posté : 03 déc. 2016, 10:42
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.

Re: Traduction des scripts

Posté : 03 déc. 2016, 10:54
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.

Re: Traduction des scripts

Posté : 03 févr. 2017, 21:42
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

Re: Traduction des scripts

Posté : 03 févr. 2017, 22:14
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.

Re: Traduction des scripts

Posté : 03 févr. 2017, 22:20
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.

Re: Traduction des scripts

Posté : 06 janv. 2018, 16:07
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.

Re: Traduction des scripts

Posté : 06 janv. 2018, 16:28
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