RuneTranslate traduit désormais les visual novels YU-RIS
RuneTranslate traduit désormais les visual novels du moteur YU-RIS (raiL-soft) en anglais et dans plus de 30 langues. Il lit les paquets .ypf en TypeScript pur et les scripts YSTB compilés dans ysbin.ypf, récupère automatiquement la clé XOR de chaque script, extrait les dialogues japonais et exporte les scripts traduits en fichiers libres pour que le jeu les charge sans réempaquetage. Nouvellement ajouté et pas encore vérifié sur beaucoup de jeux réels — signalez tout jeu qui ne s'ouvre pas.
RuneTranslate lit désormais un moteur de plus, longtemps resté un mur pour les traducteurs amateurs : YU-RIS, le moteur de script Windows de raiL-soft derrière des centaines de visual novels japonaises, doujin comme commerciales. Si vous avez déjà ouvert le dossier d'un jeu YU-RIS, trouvé un répertoire pac/ rempli d'archives .ypf et un ysbin.ypf sans rien de lisible à l'intérieur, puis abandonné — c'est ce moteur. RuneTranslate le détecte maintenant, ouvre ces paquets en TypeScript pur, lit les dialogues dans les scripts compilés et exporte une copie traduite que le jeu charge tout seul. C'est le moteur le plus récent pris en charge par RuneTranslate.
Il s'agit d'un moteur tout nouveau et la part d'honnêteté vient d'abord : la prise en charge de YU-RIS vient d'être créée et n'a pas encore été vérifiée sur beaucoup de jeux réels. Alors avant tout — si vous pointez RuneTranslate sur un jeu YU-RIS et qu'il ne le détecte pas, ne l'ouvre pas ou exporte quelque chose que le jeu ne charge pas, dites-le-nous. Plus de détails sur la marche à suivre, à la fin.
Ce qu'est vraiment le moteur YU-RIS
YU-RIS (parfois écrit ゆーりす) est un moteur japonais de script pour visual novels, créé par raiL-soft. Un jeu YU-RIS terminé est un .exe Windows accompagné d'un ensemble d'archives de paquet .ypf — généralement dans un dossier pac/ — qui contiennent les graphismes, l'audio et les scripts. Le scénario lui-même est compilé : le script lisible qu'écrit un développeur est transformé en un format binaire appelé YSTB, stocké sous forme de fichiers .ybn dans ysbin.ypf (à des chemins internes comme ysbin/yst00000.ybn). Cette combinaison de « scénario compilé à l'intérieur d'une archive empaquetée » est précisément ce qui a maintenu l'immense catalogue du moteur hors de portée des outils de traduction automatique ordinaires.
Pourquoi les jeux YU-RIS ont été si difficiles à traduire
Comparé à un moteur piloté par les sources comme Ren'Py, YU-RIS cache son texte derrière plusieurs couches :
- Tout se trouve à l'intérieur des paquets `.ypf`. Les scripts ne sont pas libres sur le disque — ils sont empaquetés dans le conteneur
.ypfpropre à YU-RIS, avec des noms de fichiers obscurcis et des entrées compressées en zlib. Sans un lecteur pour ce format, il n'y a tout simplement rien à éditer. - Le scénario est compilé, ce n'est pas du texte. Un
.ybnn'est pas un script que l'on peut ouvrir dans le Bloc-notes — c'est un conteneur binaireYSTBdivisé en quatre sections (un flux d'instructions, une table de descripteurs d'arguments, une table de chaînes et des numéros de ligne). Le japonais réel se trouve dans la table de chaînes, référencé par les descripteurs. - Les scripts sont chiffrés en XOR. Les quatre sections de données de chaque script
YSTBsont brouillées avec une clé de 4 octets. Vous devez récupérer cette clé avant que le moindre texte soit lisible — et la clé varie d'un jeu à l'autre. - Toutes les chaînes ne sont pas des dialogues. La table de chaînes contient aussi des noms de variables, des chemins de ressources et des opérandes d'expressions que la logique du script compare. Traduisez l'un d'eux par accident et le déroulement du jeu se casse en silence.
Résultat net : même un lecteur parfaitement à l'aise en japonais doit d'abord dépaqueter une archive propriétaire, puis analyser un binaire compilé, puis casser le XOR, puis distinguer les dialogues des chaînes internes du moteur — le tout avant qu'une seule ligne soit traduite. C'est ce travail que RuneTranslate fait désormais pour vous.
Ce que fait RuneTranslate désormais
RuneTranslate traite YU-RIS comme un moteur de premier plan et gère toute la chaîne en TypeScript pur — aucun outil externe, aucun sidecar Python, rien à installer :
- Lit directement les paquets `.ypf`. Il ouvre les archives en interne, décompresse les entrées et récupère les noms de fichiers obscurcis — sans GARbro ni dépaqueteur séparé. Vous avez déjà extrait le jeu vous-même ? Un dossier
ysbin/libre contenant des scripts.ybnest aussi détecté. - Analyse les scripts `YSTB` compilés et casse le chiffrement. Il récupère la clé XOR de 4 octets de chaque script automatiquement à partir de la table de descripteurs d'arguments, décode la table de chaînes Shift-JIS et liste chaque ligne japonaise dans l'éditeur, regroupée par fichier de script.
- Distingue les dialogues de la mécanique. Les noms de variables, les chemins de ressources et les opérandes d'expressions sont affichés mais exclus par défaut — présentés sous forme de lignes rouges à activer — pour que vous ne traduisiez jamais par accident une chaîne que la logique de l'histoire compare.
- Préserve les codes de contrôle en ligne. Les codes à barre oblique inverse (saut de ligne, couleur, ruby) et les balises entre crochets tissées dans le texte du message sont masqués derrière des marqueurs numériques avant que quoi que ce soit n'atteigne le fournisseur, puis restaurés exactement à la sortie.
- Exporte sans réempaquetage. À l'export, il reconstruit chaque script traduit — en ajustant les décalages de la table de chaînes pour qu'une traduction plus longue ou plus courte tienne, et en réappliquant la même clé XOR — puis écrit le
.ybnen fichier libre à son chemin d'archive d'origine. Le runtime YU-RIS préfère un fichier libre au même chemin empaqueté dans un.ypf, si bien que le jeu lit tout simplement votre traduction. Il n'y a aucun réempaquetage. (C'est la même approche de remplacement par fichiers libres que notre flux de patch Kirikiri et notre prise en charge d'Artemis.)
Le japonais → anglais est le point fort, mais vous pouvez viser n'importe laquelle de plus de 30 langues — espagnol, français, allemand, portugais, russe, chinois, italien, turc, vietnamien, et plus encore.
Ce qu'il vous faut
- RuneTranslate pour Windows — gratuit ; tous les moteurs et fournisseurs sont débloqués (le palier gratuit est bridé en vitesse, pas en fonctionnalités).
- Un dossier de jeu YU-RIS. C'est le répertoire contenant le
yu-ris.exedu jeu et ses paquets.ypf(généralement dans un sous-dossierpac/, avec les scripts dansysbin.ypf). - Une langue cible — anglais, espagnol, français, allemand, portugais, russe, chinois, italien, turc, vietnamien, et plus de 20 autres.
- Un fournisseur de traduction. Le Google Translate gratuit fonctionne d'emblée ; DeepL propose un palier gratuit ; OpenAI, Anthropic, un modèle local (Ollama / LM Studio) et toute API compatible OpenAI nécessitent votre propre clé. Les jeux YU-RIS sont riches en dialogues, donc un LLM (OpenAI / Anthropic) ou DeepL donne généralement le meilleur rendu.
Étape 1 : Ouvrir le dossier du jeu
Lancez RuneTranslate, cliquez sur Nouveau projet et pointez-le sur le répertoire du jeu YU-RIS. La détection du moteur s'exécute automatiquement — lorsqu'il voit un paquet .ypf (ou un dossier ysbin/ libre contenant des scripts .ybn), il reconnaît le projet comme YU-RIS. Votre dossier de jeu d'origine n'est jamais modifié.
Étape 2 : Comment les scripts sont lus
RuneTranslate ouvre les paquets .ypf, extrait les scripts YSTB compilés de ysbin.ypf, récupère la clé XOR de chaque script et décode la table de chaînes Shift-JIS — en listant chaque ligne japonaise dans l'éditeur, regroupée par fichier. Les chaînes internes du moteur (noms de variables, chemins de ressources, opérandes d'expressions) sont affichées mais exclues par défaut, et les codes de contrôle en ligne sont masqués derrière des marqueurs numériques pour que le fournisseur ne les abîme jamais.
Étape 3 : Traduire
Choisissez un fournisseur et lancez. Pour une visual novel, un LLM (OpenAI / Anthropic) est idéal pour la voix et le ton des personnages, DeepL est rapide et propre pour la narration, et le Google Translate gratuit convient aux courtes chaînes de menu et aux choix. Constituez d'emblée un glossaire de votre distribution et de vos termes récurrents pour que les noms s'affichent de façon identique dans tout le jeu — voir Glossaire 101. Une fois terminé, un passage facultatif avec le raffineur IA relit chaque ligne en contexte et resserre les tournures rigides et littérales que la traduction automatique a tendance à laisser.
Étape 4 : Exporter une copie prête à jouer
Cliquez sur Exporter. RuneTranslate écrit une copie traduite du jeu avec chaque .ybn reconstruit placé en fichier libre à son chemin d'archive d'origine, aux côtés des paquets .ypf intacts. Il n'y a aucun réempaquetage — YU-RIS charge les scripts libres de préférence aux originaux empaquetés, si bien que le jeu lit simplement vos traductions. Lancez-le, et il se joue dans votre langue cible.
Limitations connues
- Les chaînes de YU-RIS sont en Shift-JIS (cp932). L'anglais et les autres langues cibles représentables en cp932 s'exportent proprement. Les langues avec des caractères hors cp932 — cyrillique étendu, coréen, chinois traditionnel — nécessitent un hack de police/encodage du jeu qui n'est pas encore automatisé.
- Le remplacement par fichiers libres est le chemin de chargement attendu, et sur la plupart des jeux YU-RIS il fonctionne parce que le moteur préfère un script libre à la copie empaquetée. Sur le rare titre qui ne respecte pas cela, l'export peut nécessiter des ajustements — exactement le genre de comportement sur jeu réel que nous sommes encore en train de confirmer.
- Le texte incrusté dans les images — un écran-titre ou un bouton de menu dessiné en bitmap — ce sont des pixels, pas du texte de script. Pour cela, voir la traduction de texte dans les images.
- La variante exacte d'archive et de script peut différer d'une version à l'autre. Vérifiez toujours sur votre exemplaire précis.
C'est tout nouveau — dites-nous ce qui casse
Cela vaut la peine de le répéter clairement : la prise en charge de YU-RIS est un ajout récent et n'a pas encore été testée sur beaucoup de jeux réels. Le lecteur .ypf, l'analyseur YSTB et la récupération de clé sont construits et couverts par des tests unitaires, mais le moteur cumule des années de variations propres à chaque studio que nous n'avons pas toutes vues. Donc si vous pointez RuneTranslate sur un jeu YU-RIS et qu'il ne le détecte pas, n'ouvre pas les archives, n'extrait rien ou exporte quelque chose que le jeu ne charge pas, signalez-le sur notre Discord — le nom du jeu et sa façon d'être empaqueté sont exactement ce qui nous aide à le renforcer le plus vite.
Téléchargez RuneTranslate, pointez-le sur cette visual novel YU-RIS que vous rêvez de lire, et essayez. Pour voir comment nous gérons un autre moteur de visual novel basé sur des archives, lisez ensuite le guide Artemis.
Prêt à essayer RuneTranslate ?
L'offre gratuite débloque tous les moteurs et tous les fournisseurs de traduction. Supporter (3 $/mois) débloque la vitesse maximale.
Télécharger pour Windows