BL [Résolu] Comment s'adapter au sexe de l'interlocuteur dans un dialogue ?

Users who are viewing this thread

Lluid

Recruit
Bonjour,
J'ai peu d'expérience en programmation mais j'ai récemment fait des mods (notamment "culture switch - companion") et des chinois m'ont fait savoir qu'une traduction serait appréciée.
Du coup j'ai essayé, à grand peine, déjà en français pour m'entraîner. La traduction fonctionne presque, sauf cette histoire de sexe de l'interlocuteur.

Comme c'est mon propre mod j'ai l'opportunité de créer des variables à loisir, mais malgré ça le jeu semble considérer que le sexe est toujours féminin.
J'ai ajouté cela dans mon mod, quand on lance le dialogue (o fait référence à l'interlocuteur) :
C#:
MBTextManager.SetTextVariable("DIALOG_PARTNER_GENDER", o.IsFemale);
Le but étant d'utiliser cette variable DIALOG_PARTNER_GENDER dans ma traduction en français.
Malheureusement, même si cette variable a bien la faleur "false" quand je parle a un homme, la traduction fait toujours comme si c'était la valeur "true", autrement dit une femme.
Dans mon fichier xml de traduction j'ai ça :
XML:
<string id="CCSMOD09T" text="Avec plaisir. C'est un honneur d'être {?DIALOG_PARTNER_GENDER}considérée{?}considéré{\?} comme {?DIALOG_PARTNER_GENDER}l'une{?}l'un{\?} des tiens."/>
Sachant que bien entendu dans la version anglaise le sexe de l'interlocuteur n'a pas dimportance.
XML:
<string id="CCSMOD09T" text="Yes, my {?PLAYER.GENDER}lady{?}lord{\\?}. I&apos;m honored to be considered as one of yours."/>

Quelle astuce ai-je loupé ? Merci d'avance.
 
Quel con ! Il a suffit de faire une pause pour trouver le problème en 1min en revenant.
Si jamais ça intéresse des gens, voici la solution :
C#:
MBTextManager.SetTextVariable("DIALOG_PARTNER_GENDER", (o.IsFemale ? "1" : "0"));
 
Salut !

Juste une remarque si je puis me permettre par le traducteur de Bannerlord que je suis.

Dans les textes officiels de Bannerlord, la façon de récupérer le sexe d'une personne est, comme tu le sais, via une sous variable GENDER avec cette syntaxe : PLAYER.GENDER ou CONVERSATION_NPC.GENDER ou RULER.GENDER. Il serait donc bien que tu fasses de même en permettant d'écrire DIALOG_PARTNER.GENDER.

Par ailleurs, et même si là tu es ton propre traducteur, il faut penser à ceux qui voudraient traduire ton mod dans une autre langue à partir de l'anglais, il faut donc que le traducteur sache qu'il existe une variable DIALOG_PARTNER. Ce qui signifie que même en anglais tu dois t'assurer que cette variable soit évidente d'une manière ou d'une autre pour que les traducteur puissent penser à chercher son genre quand ils en ont besoin dans leur propre langue. Car si DIALOG_PARTNER n'est pas citée dans le texte anglais, un traducteur ne pourra pas deviner que cette variable est initialisée et que l'on peut trouver son genre via DIALOG_PARTNER.GENDER.

Bon courage ! :xf-smile:
 
Merci pour les conseils !
Je n'avais pas trouvé l'info que CONVERSATION_NPC.GENDER existait, pourtant j'avais cherché mais je n'avais trouvé que des exemples avec PLAYER et RULER ironiquement. J'avais essayé des choses comme ONETOONECONVERSATIONHERO ou CONVERSATION_HERO (en m'inspirant des noms de variables dans le code) mais sans succès.
Je crois que ce n'est pas mentionné dans ton document, qui est super par ailleurs.

En ce qui concerne les traducteurs, oui ils sont mis au courant qu'il existe des variables dans la discussion que j'ai lancée sur le workshop. Mais je n'ai aucune idée si d'autres langages ont besoin d'autres infos dont on n'a pas besoin de français, du genre l'âge de l'interlocuteur ou des choses du genre. Et au final même le gars qui me proposait de traduire a pris peur dès qu'il a vu qu'il faut s'adapter avec des variables et que ça ne consiste pas juste à traduire des phrases. Ce n'est pas bien grave.
 
Oui, je sens que la relève va être difficile pour les traductions quand les anciens dans mon genre vont raccrocher. Dernièrement j'ai repris la VF partielle d'un mod de Bannerlord et il est clair que le simple fait que le héros puisse être une femme, avec toutes les conséquences grammaticales que cela a en français telles que de devoir ajouter spontanément des "{?PLAYER.GENDER}...", est totalement étranger aux nouveaux traducteurs malgré toute la bonne volonté qu'ils peuvent y mettre. De même, bien entendu, que l'utilisation des tokens de grammaire française qui sont pourtant très présents dans la traduction officielle de Bannerlord et qui sont une grosse amélioration pour les traducteurs de toutes langues par rapport à Warband.

Je dois reprendre mon document tutoriel de traduction de Bannerlord, ne serait-ce que pour introduire les nouveaux fichiers obligatoires language_data.xml dans le dossier FR, fichiers qui n'existaient pas il y a six mois. J'en profiterai pour le passer en revue et je regarderai ce que j'ai pu dire au sujet des variables XXX.GENDER. :xf-smile:

Quand il sera mis à jour, j'essaierai de faire connaitre à nouveau l'existence de ce document explicatif dans divers forums et serveurs Discord afin que l'information ait davantage de chances de passer et d'être intégrée par les futurs traducteurs.
 
Last edited:
Back
Top Bottom