Tutorial Ren'Py French Tutorial To Translate Ren'py Games

gilius

New Member
Mar 6, 2018
11
13
Salut tout le monde
De nombreuses personnes essaient de savoir comment accéder au fichier de jeu sans comprendre le fonctionnement des outils.
C'est pourquoi je vais leur donner un tutoriel en français pour les aider.

EDIT 27/11/2018:
comme me la fait remarqué une personne, actuellement ma façon de traduire supprime en effet l'ancien fichier et donc l'original
cela bloquerais tout éventuel mise à jour, ou même de retourné à la version original donc je renomme se poste, il vous permettras d'avoir accès au fichier du jeu et de vous essayer au traduction si jamais cela vous intéresse.
Du coup cela est plutôt "une version temporaire de la traduction" en effet, je vais devoir travailler dessus pour comprendre comment cela fonctionne, mais il faudrait pouvoir avoir le choix de la langue en jeu, le jeu ainsi reconnaîtrais la langue et utiliserais les fichier traduit comme cela sa permettrais d'avoir toujours les fichiers originaux, ce qui ferais qu'en cas éventuelle de mise à jour, ou de modification par le créateur, en cas de manque, le jeu utiliserais la version original, ce qui nous permettrais à notre tour de mettre a jour la version française, enfin je ne sais pas si je m'exprime correctement ^^
En tout cas je vais lire toutes les infos à ce sujet je ferai les modification sur le poste a l'avenir dés que j'aurais compris comment garder les fichier originaux et nos traduction :)

Correction du 27/11/2018 ! :

Bonjour à tous.
Comme certains me l'ont demandé je vais vous faire ici, un petit tuto pour que vous puissiez accédez au fichier du jeu et ainsi traduire, ou autre.

Tout d'abord les Outils !
NotePad+++ (utile pour lire les fichier texte et les ligne de code :p) (vous le trouverez sur internet :) )
Renpy (Obligatoire) : Cette outil permet de créer vos jeux directement. (et il permettent de généré les fichier permettant de traduire! vous le trouverez sur le site ou facilement sur internet )
RPA Extractor : Cette outil permet d'extraire le contenu d'un fichier RPA. (tout simplement ^^)
UNRPYC : Cette outil permet de décrypté un fichier RPYC en RPY le rendant ainsi lisible.
Explication, le programme de création du jeu, à été conçu avec un cryptage pour évité que les gens est accès au fichier du créateur tout simplement. De ce faite lorsque vous lancez le jeu avec un fichier RPY celui-ci ce convertie directement en RPYC.
RPATOOL : Cette outil permet d'archivé un fichier en .RPA.

Commençons :
Premièrement vous devez savoir ce que vous chercher bon c'est pas très complexe, ici les jeux n'ont que des fichier image, gif, vidéo, texte, audio, en l'occurrence ici, nous allons parler de DMD donc aucun Audio, juste des Texte, image (et peu être des gif? je ne m'en souvient plus ^^) partons sur la traduction de DMD

Donc vous devez chercher le/les fichier(s) texte(s) de celui-ci. Ici, MR Dots à séparé ses fichier image et ses fichier texte (je ne sais pas comment cela se présente dans d'autre jeu n'ayant pas vérifier)
Donc vous comprenez assez rapidement que les fichiers accompagné du _0.rpa est celui des texte faisant pas plus 1Mo, les _1.rpa pesant plus de 100 Mo (Dans un cas éventuelle ou les fichier serais ensemble vous n'aurez pas d'autre choix que d'extraire tout et de séparé les fichier.)
Bref

Utilisé RPA Extractor :
Une fois que vous avez votre fichier, donc moi je part sur DAY_A03_0.rpa puisque j'en suis à la traduction de la 3e journée.
Vous placez le fichier dans le dossier RPA Extractor
Une fois celui-ci placé dedans, cliqué en haut dans l'emplacement windows et tapez cmd (comme l'image ci-dessous)
Celui-ci vas vous ouvrir un CMD a l'emplacement de votre RPA Extractor évitant ainsi d'être obligé de lui indiqué la racine du dossier :)
CMD.PNG

Maintenant le cmd vas vous permettre d'accédé au RPA extractor et de lui demander D'extraire votre fichier, pour cela c'est très simple, vous aurez un exemple a l’intérieur de votre fichier, mais sinon voici la commande à taper (sans les guillemet) : "RPAExtractor -x VotreFichierRpaAExtraire.RPA -o NomDuDossierDansLequelVousAllezExtraire"
Vous pouvez voir ci-dessous l'exemple avec DAY_A03 (N'oublier pas le ".RPA"!! )
RPAEXTRACTOR.PNG
Appuyez sur entrée maintenant, vous avez votre dossier avec vos fichiers extrait (ici il n'y a que le fichier texte)
Voila vous savez utilisé RPAExtractor.

Utiliser UNRPYCgui :

Ici le fichier extrait est illisible puisqu'il est crypté en RPYC (le jeu crypte automatiquement en RPYC a chaque lancement)

Donc vous devez ouvrir UNRPYCgui que j'ai trouvé sur internet (celui-ci ouvrira un CMD déjà préchargé avec les instruction, vous n'aurez simplement qu'a indiqué le chemin de votre dossier il fera le reste tout seul!)
Grace à ce petit bijoux cela vous épargne de devoir faire la même chose que RPA Extractor et d'entré une commande pour devoir décrypter :p)
UNRPYC.PNG
Une fois que vous aurez indiqué le chemin de votre dossier et appuyez sur ok celui-ci se fermera.
maintenant vous pouvez voir que vous avez votre fichier RPYC et un nouveau fichier RPY (qui lui est lisible!)

Voila vous avez accès au fichier de texte, totalement lisible, et vous pouvez traduire sans soucis.
(Pour rappel, vous devez traduire que ce qui se trouve entre guillemet, entre parenthèse ou accompagné d'un /i le reste ce n'ai que des commandes pour le jeu, si vous les modifier c'est à vos risque et périls, ne triché pas trop non plus )


Maintenant passons à la traduction pour la traduction, mon erreur était de traduire directement les fichiers originaux hors, au final c'est pas une véritable traduction, disons que celle-ci empèche les mise à jour et d'éventuelle modification, de plus vous avez votre jeu en français mais impossible de retrouver votre jeu en langue orignal.. (je n'y avais même pas pensé.. honte à moi ^^) Donc grâce à AON (Anne O'nnymous) il m'a fait comprendre mon erreur et nous a partagé le lien ci-contre :
Grâce à lui, j'ai pu comprendre comment traduire sans perdre les fichiers originaux! merci à lui vraiment.

Maintenant vous devez avoir Renpy
Vous devez placer une copie de votre jeu à l’intérieur de celui-ci comme ceci :
renpy.PNG
Maintenant vous devez vous assurez que tout vos fichiez texte Day 1,2,3,4 etc... sois en RPY et non RPA, du coup faites l'extraction avec RPAextractor pour chacun des fichiers texte et la conversion avec UNRPYC
Une fois que vous avez récupérer tout les fichier en RPY

Vous devez ouvrir Renpy, la vous verrez vos "projet" en cours, il devrait y avoir justement la copie de votre jeu. Ensuite vous verrez en bas a gauche "Generate translation" cliqué dessus, puis il vous demandera en quel langue vous voulez traduire, ici french (normal ^^) puis vous cliquez juste en dessous sur "Generate translation" attendez que le logiciel face son travail
maintenant allez dans le dossier du jeu puis dans game/tl/Nomquevousavezchoisie (french en l'occurrence ici)
Vous allez avoir du coup ici tout vos fichier, simplement il on été modifier de tel sorte à ce que le logiciel comprenne que lorsque l'utilisateur utilise la traduction française le logiciel vas pouvoir lire le fichier original puis vas lire dans le dossier french la traduction adapté, le logiciel vous aura déjà tout préparé, de tel sorte a ce que vous n'ayez plus qu'a traduire exemple :

pour la ligne du premier jour !

# game / day1_00.rpy: 15
traduire en français lb_intro_knockdoor_322337a1:

# f "Je sais que tu n'as pas vu ta fille depuis des années, mais il n'y a aucune raison d'être aussi nerveux." (Cette ligne est la phrase originale
f "" (ligne dans lequel vous devez inscrire votre traduction)

Cela donnera :

# f "Je sais que tu n'as pas vu ta fille depuis des années, mais il n'y a aucune raison d'être aussi nerveux."
f "Je sais que tu n'a pas vu ta fille depuis des années, mais il n'y a aucune raison d'être si nerveux."

Ainsi le jeu va automatiquement savoir quel phrase remplacer a quel moment sans difficulté (croyez moi c'est largement mieux que de devoir traduire toutes les lignes entre les codes! je me compliquais la vie et détruisais le jeu d'une certaine manière

Je n'ai pas encore pu tester, mais je pense qu'après que vous ayez traduit que se sois que quelque ligne, le menu, l'intro, ou une journée, vous aurez simplement qu'a allez dans option utiliser French plutôt que English :p (je vais vous confirmer cela :) )



You don't have permission to view the spoiler content. Log in or register now.

Voici le lien pour UnrpycGUI étant trop lourd celui-ci ne s'uploader pas sur le site :) :

Edit: unrpycGUI étant un outils venant d'internet et pas de F95 (les autres outils sont déjà présent sur le site) je met donc un virustotal pour celui-ci :) )
 

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Donor
Respected User
Jun 10, 2017
10,864
16,014
Ahem... There's a big problem with this way to work on translation, it totally break . You've access to a single language, your own one, instead of keeping the original one and adding yours on top of it as a choice. This make the translation suitable for you, but for you only, which is useless.
If you can translate the game from English to French, then you don't need the translation, your English is good enough to play the game in its native language. In the same time, by rewriting directly the game's rpy files, you risk to break the game. By reverting the rpy file to the state they had when you translated them, you can invalidate changes/corrections made by the author in the code of these files.
All this while the Ren'py's way to works with translation make it totally transparent ; the worse that can happen is that someone will have an old version of the text.

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

Hum... Il y a un gros problème avec cette façon de travailler sur la traduction, ça casse totalement la fonction de traduction de Ren'py. Vous n'avez accès qu'à une seule langue, la votre, au lieu de garder la langue originale et d'ajouter votre traduction par dessus en tant que choix possible. Cela rend la traduction adapté pour vous, mais pour vous seulement, ce qui est inutile.
Si vous pouvez traduire le jeu de l'anglais au français, alors vous n'avez pas besoin de la traduction, votre niveau d'anglais est suffisement bon pour jouer dans la langue originale. Dans le même temps, en réécrivant les fichiers rpy du jeu, vous risquez de casser le jeu. En renvoyant les fichiers rpy à l'état dans lequel ils étaient lorsque vous les avez traduits, vous pouvez invalider des changements/corrections faites par l'auteur dans le code de ces fichiers.
Tout cela alors que la façon dont Ren'py gère les traductions les rends entièrement transparente ; le pire qui puisse arriver est que quelqu'un aura une ancienne version du texte.
 
  • Like
Reactions: gilius

gilius

New Member
Mar 6, 2018
11
13
Ahem... There's a big problem with this way to work on translation, it totally break . You've access to a single language, your own one, instead of keeping the original one and adding yours on top of it as a choice. This make the translation suitable for you, but for you only, which is useless.
If you can translate the game from English to French, then you don't need the translation, your English is good enough to play the game in its native language. In the same time, by rewriting directly the game's rpy files, you risk to break the game. By reverting the rpy file to the state they had when you translated them, you can invalidate changes/corrections made by the author in the code of these files.
All this while the Ren'py's way to works with translation make it totally transparent ; the worse that can happen is that someone will have an old version of the text.

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

Hum... Il y a un gros problème avec cette façon de travailler sur la traduction, ça casse totalement la fonction de traduction de Ren'py. Vous n'avez accès qu'à une seule langue, la votre, au lieu de garder la langue originale et d'ajouter votre traduction par dessus en tant que choix possible. Cela rend la traduction adapté pour vous, mais pour vous seulement, ce qui est inutile.
Si vous pouvez traduire le jeu de l'anglais au français, alors vous n'avez pas besoin de la traduction, votre niveau d'anglais est suffisement bon pour jouer dans la langue originale. Dans le même temps, en réécrivant les fichiers rpy du jeu, vous risquez de casser le jeu. En renvoyant les fichiers rpy à l'état dans lequel ils étaient lorsque vous les avez traduits, vous pouvez invalider des changements/corrections faites par l'auteur dans le code de ces fichiers.
Tout cela alors que la façon dont Ren'py gère les traductions les rends entièrement transparente ; le pire qui puisse arriver est que quelqu'un aura une ancienne version du texte.
Oh yes, you're right, it's true that I didn't think of all that!
In fact, when I started translating, I just wanted to help those who had difficulty understanding English and then I was asked how I did it, which is why I explained how the tools worked.
But yes, you're right, once replaced it completely changes the language, and even prevents eventual updates.
In this case I will specify it on the post, this does not prevent some people from trying their hand at translation and thus at least provide texts that could be useful.
For the moment I have health problems, but I will work on it to learn how to translate while designing the original files.
And then I'll reformulate this tutorial
Thank you for your help!

Edit :It's okay I fixed everything, this tutorial will be better! thanks to you, thank you again.. it's so much better, and easier too!

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

Ah oui, vous avez raison, c'est vrai que je n'ai pas pensé à tout cela!
Enfaîte en commençant à traduire j'ai simplement voulu aider ceux qui on dus mal à comprendre l'anglais puis on ma demander comment je faisait c'est pourquoi j'expliquais le fonctionnement des outils.
Mais oui, vous avez raison, une fois remplacé cela change totalement la langue, et empêche même d'éventuelle mise à jour.
Dans ce cas je vais le préciser sur le poste, cela n’empêche pas certaine personne de s'essayer à la traduction et ainsi au moins fournir des texte qui pourrais servir.
Pour le moment j'ai des problèmes de santé, mais je vais travailler dessus pour apprendre comment traduire tout en concevant les fichier originaux.
Et ensuite je reformulerais ce tutorial
Merci pour votre aide!

Edit :C'est bon j'ai tout corriger, ce tutoriel sera meilleur! grâce à vous, merci encore! c'est tellement meilleur, et plus simple aussi!
 
Last edited:

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Donor
Respected User
Jun 10, 2017
10,864
16,014
Well, you've just a problem with your spoiler. The name you gave it is too long. Try something like :
Je vous laisse les lignes...
[ spoiler]
[...]
[ /spoiler]
Then all will be perfect.
 

frelon71

Active Member
Nov 29, 2018
780
549
Bonjour j'ai essayer se que vous avez mis en haut avec le jeu milf city, dès que j'arrive a renpy sa me marque erreur.
j'ai pris les fichier rta extrait avec rpa extractor dans un meme dossier, ensuite decrypter avec UNRPYCgui , sa fonctionne aussi.
Mais arriver a renpy je met le dossier "milf" dans le dossier renpy
renpy.jpg
ensuite le dossier est presente log renpy.jpg

je marque generer traduction, ensuite il y a marquer french et je met generer traduction traduire renpy.jpg

et la erreur. erreur renpy.jpg

merci de votre aide
 

Larry Kubiac

Well-Known Member
Feb 4, 2018
1,895
10,098
Bonjour j'ai essayer se que vous avez mis en haut avec le jeu milf city, dès que j'arrive a renpy sa me marque erreur.
j'ai pris les fichier rta extrait avec rpa extractor dans un meme dossier, ensuite decrypter avec UNRPYCgui , sa fonctionne aussi.
Mais arriver a renpy je met le dossier "milf" dans le dossier renpy
View attachment 187178
ensuite le dossier est presente View attachment 187177

je marque generer traduction, ensuite il y a marquer french et je met generer traduction View attachment 187179

et la erreur. View attachment 187176

merci de votre aide
Supprime le dossier None : Milfy_City-0.5c-pc\game\tl\None

j'avoue c'est bien plus simple que de traduire le jeu directement et sa passe nickel sous crowdin, je traduis un rpy en 5/10min maintenant, incluans le temps de correction gogolisé par google.
 
Last edited:

steve08

New Member
Mar 1, 2018
10
2
Hello, I'm trying to translate a game, I followed your tutorial and I managed to create the TL French folder in the game with all the dialogues. the problem is that I don't have the choice to change the language in the game so it remains in English despite my translation in the TL folder can you explain how to add multilanguage in the game? good day

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

bonjour, j'essaye de traduire un jeu, j'ai bien suivi ton tuto et j'ai reussi a créé le dossier TL French dans le jeu avec tous les dialogues. le soucis est que je n'ai pas le chois pour changer de langue dans le jeu donc il reste en anglais malgré ma traduction dans le dossier TL pouvez vous expliquer comment ajouter le multilanguage dans le jeu? bonne journée
 

rackam50

Member
Mar 7, 2018
245
175
Salut pour ma part j'ai créer une macro qui simplifie la traduction.Il extrai le texte avec les 2 façons rpy ou tl vous traduisez votre texte soit ligne part ligne ou vous le balancer dans google trad c'est vous de choisir la qualité de traduction.Ensuite il réimplante votre traduction soit dans rpy ou tl.Le seule truc qui me manque c'est des testeur si y en a qui veule teste.
En gros sa permet de faire moins d'erreur de balise lors de la trad
 
  • Like
Reactions: Meda

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Donor
Respected User
Jun 10, 2017
10,864
16,014
[...] the problem is that I don't have the choice to change the language in the game [...]
It's not automatic. You need to create a button to change the value of according to the correct language.
If the game use a recent version of Ren'py, you can also try to use the automatic detection by setting at True.
 

rackam50

Member
Mar 7, 2018
245
175
Ba en utilisant ma macro tien je te montre comment ça marche
tu commence avec ton fichier tl a trad
sa ressemble a ça

1.PNG

après tu lance ma macro sa te donne ça
2.PNG

la ton texte est plus clair plus facile a traduire
une fois que tu a fait ton taf sa donne ça

3.PNG

et au final tu réutilise ma macro et sa donne ça
4.PNG

voila toujours pas de testeur ?
ps: la c'est une traduction avec deepl donc pas parfaite
 

Larry Kubiac

Well-Known Member
Feb 4, 2018
1,895
10,098
ok mais dans le dossier que j'ai extrait il y a pas le dossier tl
Le jeu que tu as placé dans le dossier renpy se lance correctement ?
Apparemment cela vient du faite que le jeu ce lance pas correctement (y a peut-etre d'autres trucs, le traceback.txt du jeu et/ou renpy donne le/les erreur(s)):
- la présence du dossier "None" dans "tl" (pourquoi je les eu idk, déja présent?)
- certain(s) rpy peuve(nt) être considéré comme doublon
- des rpy peuvent empeché le démarrage du jeu, comme dans SummertimeSaga "LayerdImage.rpy"
J'ai utilisé tous les outils fournis ici sur Milfy City et le faite d'avoir supprimé le dossier None a reglé le probleme. capture.png
 

papill6n

Newbie
Dec 13, 2018
20
0
It's not automatic. You need to create a button to change the value of according to the correct language.
If the game use a recent version of Ren'py, you can also try to use the automatic detection by setting at True.
So I tried so many ways to create a Language button on the Main Screen (by reading hte links you sent and reading the forum posts) but without success :/

The game was created with version 6.99 of Ren'Py.

Can you tell me which file I need to open and what I need to change or modify, because I already searched for and didn't find any trace of it in the Renpy files of the game.

Thank you very much
 

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Donor
Respected User
Jun 10, 2017
10,864
16,014
So I tried so many ways to create a Language button on the Main Screen (by reading hte links you sent and reading the forum posts) but without success :/
The simpliest way is to add something like this :
Code:
   textbutton _( "English" ) action SetField( config, "language", "English" )
   textbutton _( "French" ) action SetField( config, "language", "French" )
on the "navigation" screen located in the screens.rpy file.
Note: I'm not sure if the second "English"/"French" must have their first letter in uppercase.


The game was created with version 6.99 of Ren'Py.
Er... There 23 different versions of Ren'py 6.99. It's only the four digit last number that is irrelevant.


Can you tell me which file I need to open and what I need to change or modify, because I already searched for and didn't find any trace of it in the Renpy files of the game.
It's probably not set by default, so you need to add it by yourself. Even if it's location is not this important, put it at the end of the "config.rpy" file.
 

papill6n

Newbie
Dec 13, 2018
20
0
So what I did is:

- Downloaded Renpy new version yesterday
- inside it, I placed the folder of the english game I want to translate

c:\Renpy\TheGame

I extracted .RPA content into .RPYC stuffs and others, converted it in .RPY in the folder c:\Renpy\TheGame\game\
Then used Renpy to generate translation files.
It created this: c:\Renpy\TheGame\game\tl\french\

So in c:\Renpy\TheGame\game\ I added the line you said between the other in screens.pry :

Code:
screen navigation tag menu:
    modal True

    add "mm_bg"
    add "gui/chalkboard_line.png"

    vbox:
        pos (83,150)
        spacing 60
        textbutton "RETURN" action Return() text_style "chalk" style "chalk"
        textbutton "LOAD" action ShowMenu("load_main") text_style "chalk" style "chalk"

        textbutton "GALLERY" action ShowMenu("gallery") text_style "chalk" style "chalk"
        textbutton "OPTIONS" action ShowMenu("preferences_main") text_style "chalk" style "chalk"
        textbutton "English" action SetField(config, "language", "none") text_style "chalk" style "chalk"
        textbutton "french" action SetField(config, "language", "french") text_style "chalk" style "chalk" 
        textbutton "BEARDS/HAIR" action ShowMenu("hair_preferences") text_style "chalk" style "chalk"

        textbutton "HELP" action ShowMenu("helpscreen_main") text_style "chalk" style "chalk"
        textbutton "MAIN MENU" action MainMenu() text_style "chalk" style "chalk"
        textbutton "QUIT" action Quit() text_style "chalk" style "chalk"
I also tried with this, but no success:
Code:
textbutton "English" action Language(None) text_style "chalk" style "chalk"
textbutton "french" action Language("french") text_style "chalk" style "chalk"
I just edited to fit the rest of the other code, and use None instead of English because None seems to be the standardized name for Englsih game.

And in c:\Renpy\TheGame\renpy\ I edited the file config.py to add at the ende of the file :


Code:
config.enable_language_autodetect = True

# the text below is the original one at the end of the file

del renpy
del os


def init():
    pass
Then I launch the game via the Renpy Project screen, but once the game is loaded no Language selection appears on my Main screen or in the Options menu.
The translation I did on the file c:\Renpy\TheGame\game\tl\french\common.rpy is not applied at all.

Is it normal that in my c:\Renpy\TheGame\game\tl\french\ there is also .RPYC files? (they were put by Renpy during the translation generating process)
Is it normal that in my c:\Renpy\TheGame\game\ there is also .RPYC files?


So as you can see I'm lost in what to do next [*scratching my head*]?
 

anne O'nymous

I'm not grumpy, I'm just coded that way.
Modder
Donor
Respected User
Jun 10, 2017
10,864
16,014
I also tried with this, but no success:
Code:
textbutton "English" action Language(None) text_style "chalk" style "chalk"
textbutton "french" action Language("french") text_style "chalk" style "chalk"
When you click on "french", then open the console and type :
Code:
config.language
what do you get ?


and use None instead of English because None seems to be the standardized name for Englsih game.
Yeah, like I said in another thread, it's my "I'm an idiot" day, sorry for that.


And in c:\Renpy\TheGame\renpy\ I edited the file config.py
No, I said "config.rpy". The file is in the game folder.
But first we need to understood why the buttons aren't working.


Is it normal that in my c:\Renpy\TheGame\game\tl\french\ there is also .RPYC files?
Yes. Translation files are just regular (but specialized) Ren'py code, so they are compiled like any other rpy file.
 

papill6n

Newbie
Dec 13, 2018
20
0
No there is no button showing up on the Main screen at all, so I can't click on it...

Thank you for helping me with this
 

Larry Kubiac

Well-Known Member
Feb 4, 2018
1,895
10,098
No there is no button showing up on the Main screen at all, so I can't click on it...

Thank you for helping me with this
Il faut parfois ajouté du code, si le dev a créé sa propre interface (exemple : si y a pas de style prédéfinie il faut indiqué a quel endroit les affichés avec des valeur x/y/z...)
Et vu qu'il y a un png et un bg il doit te manqué la position c'est pour sa qu'il s'affiche pas.
Peut-etre que le code de cette position se trouve pas dans l'arbre ou tu as ajouté tes 2 ligne de code pour la selection de la langue.

T'a meilleur temps de les ajouté dans "preferences_main" si son arborescence est dans config.rpy

Le code a ajouté ressemblera a sa :
style_prefix "Si y a un style prédéfinie"
label _("Language")
textbutton _("English") action Language(None)
textbutton _("French") action Language("french")
(pour t'aider il suffit de regardé comment est codé les option)
Avec ce bout de code voila se qu'on obtient exemple sur Milfy City capture.png

En gros soit tu crée la position de tes 2 boutons dans le menu ou alors tu les ajoutes dans les options bien plus simple.

PS : Voila un exemple ou tu dois créé la position des bouton en plus des 2 ligne de code ( sans compté photoshop pour la création du png )
Je me suis lancé dans la trad de summertime saga 17.5 et voila se que j'ai ajouté

ligne 357 hotspot ( 567, 520, 167, 33) action Language(None)
ligne 358 hotspot ( 567, 570, 167, 33) action Language("french")

ligne 381 if _preferences.language:
add "buttons/checkbox.png" pos 766,578
else:
add "buttons/checkbox.png" pos 766,528

Ligne 388 pos 591,635 (remplacement des valeurs)

ligne 405 hotspot (567 , 520, 167, 33) action Language(None)
ligne 406 hotspot (567 , 570, 167, 33) action Language("french")

ligne 424 if _preferences.language:
add "buttons/checkbox.png" pos 766,578
else:
add "buttons/checkbox.png" pos 766,528

capture.png sa donne sa au final ( un peu dégueulasse le english mais pour tester sa fera l'affaire )


ligne 357 358 et 405 406 servent a positionné le calque qui donne une surbrillance quand on clic sur une option + la fonction du clic

ligne 381 et 424 permet au carré vert de se déplacé suivant l'option choisit

ligne 388 m'a permi de déplacé le bouton rouge "clear persistent"