Moteur pris en charge · AliceSoft System
Le moteur System maison d'AliceSoft propulse l'un des plus grands catalogues du jeu PC japonais — toute la série Rance, Evenicle, Daiakuji, les jeux Toushin Toshi et des décennies de sorties. Ce sont en réalité deux moteurs sous une même marque : les titres classiques tournent sur System 3.x (un interpréteur alice.exe / System39.exe avec un index System39.ain et des archives .ald), tandis que les titres modernes tournent sur System 4 (un interpréteur System40.exe avec une image de programme .ain par jeu et des archives .ald / .afa). RuneTranslate lit désormais les deux. Il ouvre les conteneurs .ald (Alice Linked Data) et .afa (Alice File Archive) en pur TypeScript — sans GARbro, sans outils externes, sans module — puis va chercher le texte là où il vit réellement. Sur System 3.x, le dialogue destiné au joueur n'est pas du tout dans les scénarios .SCO compilés : ceux-ci ne référencent chaque message que par numéro, et les chaînes elles-mêmes se trouvent dans la section MSGI de System39.ain, légèrement obfusquées. RuneTranslate dé-obfusque cette section, liste chaque message et, à l'export, la réécrit sur place — octet pour octet identique quand vous n'avez rien changé. Sur System 4, le .ain est une image de programme compilée entière enveloppée dans l'un de deux conteneurs — un fichier AI2 compressé en zlib ou un fichier entièrement chiffré en MT19937 — et RuneTranslate déballe les deux, parcourt les sections du programme et en extrait les pools de messages et de chaînes pour la traduction. Comme le bytecode du jeu pointe vers chaque ligne par index plutôt que par offset d'octet, votre traduction peut avoir n'importe quelle longueur et les références s'alignent toujours. À l'export, il ré-empaquette le conteneur d'origine et écrit le .ain traduit en vrac à côté du jeu, si bien que l'interpréteur charge votre version. Ce moteur est encore en cours de vérification sur de vrais jeux, testez donc le build exporté avant de le redistribuer.
La série Rance et le catalogue plus large d'AliceSoft reposent sur une énorme distribution récurrente et un dense réseau de noms de lieux, de compétences et de termes de faction à travers des dizaines de milliers de lignes. La traduction automatique romanisera le même nom de trois façons différentes. Mettez au glossaire vos personnages, lieux et termes récurrents dès le départ pour que chaque ligne les rende à l'identique de la première scène à la dernière. Le glossaire : les bases →
Pointez RuneTranslate vers le répertoire du jeu — le dossier avec l'interpréteur du jeu (alice.exe / System39.exe pour System 3.x, ou System40.exe pour System 4), son System39.ain ou .ain par jeu, et les archives .ald / .afa. La détection du moteur reconnaît automatiquement la structure AliceSoft et vous indique de quelle version System il s'agit ; votre dossier d'origine n'est jamais modifié.
RuneTranslate ouvre les archives .ald / .afa en pur TypeScript. Pour un jeu System 3.x, il dé-obfusque la section de messages MSGI de System39.ain et liste chaque ligne. Pour un jeu System 4, il déballe le conteneur .ain (AI2 compressé en zlib ou chiffré en MT19937), parcourt l'image de programme et en extrait le pool de messages (dialogue destiné au joueur) plus le pool de chaînes. Les chaînes de code — spécificateurs de format, texte de débogage, identifiants — sont mises en avant mais exclues par défaut pour que vous ne traduisiez que ce que le joueur voit.
Ce sont des jeux riches en dialogues et sensibles au ton, donc un LLM (OpenAI GPT-4o / Anthropic Claude) ou DeepL rend généralement le mieux ; Google Translate gratuit ou un modèle local (Ollama / LM Studio) couvre les courtes chaînes de menus et les noms d'objets, et vous pouvez pointer le fournisseur compatible OpenAI vers OpenRouter ou NanoGPT. Une seconde passe de raffinage IA optionnelle resserre les formulations littérales.
Le texte AliceSoft est en Shift-JIS (cp932). RuneTranslate normalise chaque traduction avant de la réécrire — repliant les guillemets typographiques, tirets cadratins, points de suspension et caractères latins accentués en ASCII simple — pour qu'un glyphe manquant dans la police du jeu ne puisse jamais se transformer silencieusement en « ? ». L'anglais et les autres cibles représentables en cp932 s'exportent proprement.
À l'export, RuneTranslate copie le jeu et réécrit le .ain traduit : pour System 3.x, il réécrit la section MSGI sur place ; pour System 4, il reconstruit les pools de messages / chaînes modifiés et ré-empaquette le conteneur d'origine (zlib ou chiffré). Le .ain traduit est déposé en vrac à côté du jeu, si bien que l'interpréteur charge votre version. Lancez la copie exportée et elle se joue dans votre langue.