Moteur pris en charge · Ren'Py
Ren'Py est le moteur de romans visuels dominant basé sur Python, utilisé pour tout, des romans cinétiques indépendants aux longs romans visuels adultes. RuneTranslate le traduit en trois modes : projets pilotés par la source (game/**/*.rpy), sorties compilées seulement (.rpyc, décompilées via le sidecar unrpyc embarqué), et sorties archivées seulement (.rpa, déballées via le sidecar rpatool embarqué avec détection automatique de clé d'obfuscation). Il extrait les lignes say / narration / menu plus les chaînes d'interface _() / __() / _p(). À l'export, dialogues et menus sont appliqués à l'exécution : un .rpy généré met en correspondance chaque ligne source (config.say_menu_text_filter) avec une carte game/rt_translations.json et force la langue du jeu vers votre traduction — délibérément pas les blocs tl/ natifs basés sur id de Ren'Py, dont les ids ne peuvent pas toujours être reproduits. Seules les chaînes d'interface _() sont écrites comme un vrai bloc game/tl/translated/translation.rpy. Pour les cibles non latines, RuneTranslate embarque une police capable de CJC / thaï / arabe et route les polices du jeu à travers config.font_replacement_map pour que le texte traduit ne s'affiche jamais en carrés. Rien n'est réempaqueté — les fichiers .rpy supplémentaires et le JSON se déposent dans game/ à côté de l'original. Associez au Glossaire de palier Supporter pour verrouiller les noms de personnages et les termes signatures sur les longs romans visuels.
Les romans visuels Ren'Py vivent et meurent par la voix des personnages — et l'héroïne appelée « Alice » / « Aris » / « Arisu » sur trois scènes brisera vite l'immersion d'un lecteur. Verrouillez chaque nom de personnage, les variantes de surnom du protagoniste, les noms de lieux, et toute terminologie inventée de l'univers avec le glossaire. Le masque est agnostique au fournisseur, donc que vous soyez sur DeepL pour la passe économique ou Claude pour les chapitres principaux riches en dialogues, votre terminologie reste identique. Le glossaire : les bases →
Pointez RuneTranslate vers le dossier contenant l'exécutable du jeu. La détection du moteur classe automatiquement le projet comme piloté par la source (.rpy présent), compilé (.rpyc seulement), ou archivé (.rpa seulement). Les sidecars unrpyc et rpatool embarqués s'exécutent automatiquement — aucune installation Python nécessaire.
Choisissez la langue cible (l'une des plus de 30 prises en charge) et le fournisseur. Anthropic Claude et OpenAI GPT-4o sont les plus forts sur le dialogue Ren'Py parce qu'ils préservent mieux le ton, le registre et les onomatopées que la traduction automatique statistique. DeepL est un solide deuxième choix pour la longue narration descriptive.
RuneTranslate extrait chaque ligne traduisible (dialogue, texte de choix, libellés d'écran, chaînes d'interface) et les met en lots. Les balises propres à Ren'Py ([[player_name]], {color=#fff}…{/color}, {b}…{/b}) sont masquées pendant la traduction pour que le LLM les traite comme des espaces réservés opaques, puis restaurées verbatim.
RuneTranslate dépose quelques petits fichiers dans game/ : une carte rt_translations.json et un .rpy généré qui met en correspondance chaque ligne source à l'exécution (config.say_menu_text_filter) et force la langue vers votre traduction, pour que dialogues et menus s'affichent traduits sans réempaqueter le .rpa. Les chaînes d'interface _() vont dans game/tl/translated/translation.rpy, et une police CJC / non latine est embarquée quand la cible en a besoin. Relancer le traducteur préserve vos lignes modifiées à la main.