RuneTranslate traduit désormais les visual novels du moteur Artemis
RuneTranslate traduit désormais les visual novels de l'Artemis Engine — le moteur basé sur Lua d'iMel/Mikage derrière environ 730 sorties sur VNDB — en anglais et dans plus de 30 langues. Il lit les archives .pfs du moteur en TypeScript pur, y compris le chiffrement XOR à clé SHA-1 du PF8, extrait les dialogues, les noms des personnages et les choix des scripts .ast (tables Lua) et .txt, préserve les commandes inline de ruby/plaque de nom/couleur, et exporte les scripts traduits en fichiers libres pour que le jeu les charge sans réempaquetage. Ajouté récemment 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 qui, jusqu'ici, était resté presque intouchable pour les traducteurs amateurs : l'Artemis Engine, le framework de visual novels basé sur Lua derrière des centaines de sorties japonaises. Si vous avez déjà ouvert le dossier d'un jeu Artemis, trouvé un tas d'archives .pfs et rien de lisible, puis abandonné — c'est ce moteur-là. RuneTranslate le détecte maintenant, ouvre ces archives en TypeScript pur (chiffrement compris), lit les dialogues, les noms des personnages et les choix dans ses scripts, et exporte une copie traduite que le jeu charge tout seul. C'est le dernier moteur pris en charge par RuneTranslate.
Il s'agit d'un moteur tout nouveau, et la part d'honnêteté vient en premier : la prise en charge d'Artemis vient d'être créée et n'a pas encore été vérifiée sur beaucoup de jeux réels. Donc, avant toute chose — si vous pointez RuneTranslate vers un jeu Artemis 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 s'il vous plaît. Plus de détails sur la marche à suivre, à la fin.
Ce qu'est vraiment l'Artemis Engine
Artemis est un moteur commercial japonais de visual novels développé par iMel Inc. (le studio également connu pour Mikage). Là où des moteurs plus anciens comme Kirikiri ou NScripter exposent un langage de script propriétaire et spécifique, Artemis est construit autour de Lua — ses scripts de scénario sont essentiellement des tables de données Lua —, ce qui le rend flexible pour les développeurs mais, en pratique, un mur pour quiconque tente de traduire un jeu terminé de l'extérieur. Environ 730 sorties sur VNDB reposent dessus, il est donc loin d'être une curiosité de niche ; c'est tout un catalogue historique que les outils de traduction automatique ont toujours laissé de côté.
Sur le disque, un jeu Artemis est un .exe Windows accompagné d'une ou plusieurs archives de ressources .pfs qui contiennent les scripts, les illustrations et l'audio. Les scripts à l'intérieur sont majoritairement des fichiers .ast (scripts de scénario en tables Lua) et des fichiers .txt (un format plus simple orienté ligne). RuneTranslate travaille directement à partir de ces archives et scripts, il couvre donc le jeu que le studio ait livré les scénarios en .ast ou en .txt.
Pourquoi les jeux Artemis ont été si difficiles à traduire
Comparé à un moteur piloté par le code source comme Ren'Py, Artemis cache son texte derrière plusieurs couches. Quelques-unes en particulier l'ont mis hors de portée à la fois des traducteurs manuels et des outils naïfs :
- Tout se trouve à l'intérieur d'archives `.pfs`. Les scripts ne sont pas libres sur le disque — ils sont empaquetés dans le format conteneur
.pfspropre à Artemis (vous verrez les variantesPF8,PF6et l'anciennePF2). Sans un lecteur pour ce format, il n'y a tout simplement rien à éditer au départ. - Les archives les plus récentes sont chiffrées. Le format
PF8actuel ne se contente pas d'empaqueter les fichiers, il chiffre leur contenu : chaque entrée subit un XOR contre une clé dérivée d'un hachageSHA-1de l'index même de l'archive. Vous ne pouvez pas simplement extraire les octets — vous devez reproduire la dérivation de clé du moteur pour récupérer un script lisible. - Les scripts sont des données Lua, pas du texte brut. Un scénario
.astest une table Lua — les dialogues, les noms des locuteurs et les choix sont des champs imbriqués dans des tables structurées, mêlés aux commandes du moteur. Il existe deux dispositions de table dans la nature (une v1 plus ancienne et une v2 plus récente), et un traducteur doit comprendre les deux pour extraire les répliques réellement prononcées sans abîmer la structure qui les entoure. - Les commandes inline du moteur sont tissées à travers le dialogue. Les annotations ruby/furigana, les plaques de nom, les changements de couleur et les attentes de clic sont écrits inline avec le texte. Un rechercher-remplacer qui ne les reconnaît pas traduira aussi les jetons de commande, et le jeu casse.
Résultat net : même un traducteur qui lit couramment le japonais doit d'abord décompresser un conteneur chiffré propriétaire, puis analyser à la main des tables Lua, puis contourner soigneusement le balisage inline — avant qu'une seule ligne ne soit traduite. C'est ce travail que RuneTranslate fait désormais à votre place.
Ce que fait RuneTranslate maintenant
RuneTranslate traite Artemis 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 les archives `.pfs` directement. Il ouvre les formats d'archive
PF8,PF6et l'ancienPF2en interne, y compris le chiffrement XOR à clé `SHA-1` du PF8 — en reproduisant la dérivation de clé du moteur pour que le contenu du script ressorte lisible. - Extrait les dialogues, les noms et les choix. Il analyse les scripts de scénario
.astlisibles (tables Lua) — aussi bien la disposition v1 plus ancienne que la v2 plus récente —, les scripts.txt(orientés ligne), ET les scénarios binaires compilés `ASB` que beaucoup de jeux livrent en réalité (détectés par signature, même renommés en une extension personnalisée comme.iet), et liste dans l'éditeur chaque ligne traduisible : le dialogue prononcé, les noms des personnages sur les plaques de nom, et les choix ramifiés. - Préserve les commandes du moteur. Le balisage inline — ruby/furigana, plaques de nom, couleur, attentes de clic — et les sauts de ligne sont masqués derrière des marqueurs numériques avant que quoi que ce soit n'atteigne le fournisseur de traduction, puis restaurés à l'identique en sortie. Le texte est traduit ; pas les instructions du moteur.
- Exporte sans réempaqueter. Artemis préfère un script libre sur le disque au même fichier empaqueté dans un
.pfs, donc à l'export RuneTranslate écrit les scripts.ast/.txttraduits en fichiers libres, à leurs chemins d'archive d'origine, à côté du jeu. Il n'y a aucun réempaquetage — le jeu lit simplement vos traductions à la place des originaux empaquetés. (C'est la même approche de remplacement par fichiers libres que notre flux de patch Kirikiri.)
Le japonais → anglais est le point fort, mais vous pouvez cibler 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 Artemis. C'est le répertoire contenant le
.exedu jeu et ses archives.pfs(les scripts et les ressources sont empaquetés à l'intérieur). - Une langue cible — anglais, espagnol, français, allemand, portugais, russe, chinois, italien, turc, vietnamien, et plus de 20 autres.
- Un fournisseur de traduction. Google Translate gratuit fonctionne d'emblée ; DeepL a un palier gratuit ; OpenAI, Anthropic, un modèle local (Ollama / LM Studio) et toute API compatible OpenAI fonctionnent avec votre propre clé. Les jeux Artemis sont riches en dialogues et sensibles au ton, donc un LLM (OpenAI / Anthropic) ou DeepL rendent généralement le mieux.
Étape 1 : ouvrez le dossier du jeu
Lancez RuneTranslate, cliquez sur Nouveau projet et pointez-le vers le répertoire du jeu Artemis. La détection du moteur s'exécute automatiquement — lorsqu'elle voit les archives .pfs du moteur, elle reconnaît le projet comme Artemis. Votre dossier de jeu d'origine n'est jamais modifié.
Étape 2 : comment les scripts sont lus
RuneTranslate ouvre les archives .pfs et en extrait les scripts pour vous, en déchiffrant et en analysant au passage :
- Archives `PF8` chiffrées — déchiffrées en interne à l'aide du schéma XOR à clé
SHA-1, si bien que vous n'exécutez jamais de dépaqueteur séparé. - Archives `PF6` non chiffrées / `PF2` anciennes — lues directement.
- Scripts `.ast` et `.txt` — analysés pour les dialogues, les noms et les choix, puis listés dans l'éditeur, regroupés par fichier.
Les commandes inline du moteur et les sauts de ligne sont masqués derrière des marqueurs numériques avant que quoi que ce soit n'atteigne le fournisseur, puis restaurés en sortie — de sorte que les annotations ruby, les plaques de nom et les balises de couleur survivent à l'aller-retour intactes.
Étape 3 : traduisez
Choisissez un fournisseur et lancez. Pour un visual novel, un LLM (OpenAI / Anthropic) est le meilleur pour la voix et le ton des personnages, DeepL est rapide et net pour la narration, et Google Translate gratuit convient pour les courtes chaînes de menu et les choix. Constituez un glossaire de votre casting et des termes récurrents à l'avance pour que les noms s'affichent à l'identique dans tout le jeu — voir Glossaire 101. Une fois terminé, une passe facultative 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 : exportez une copie prête à jouer
Cliquez sur Exporter. RuneTranslate écrit une copie traduite du jeu avec les scripts .ast / .txt traduits placés en fichiers libres à leurs chemins d'origine, aux côtés des archives .pfs intactes. Il n'y a aucun réempaquetage — Artemis charge les scripts libres de préférence aux originaux empaquetés, donc le jeu lit simplement vos traductions. Lancez-le, et il se joue dans votre langue cible.
Limites connues
- Les scénarios `.asb` compilés sont lus — beaucoup de jeux Artemis livrent le scénario sous forme d'AST binaire compilé (la forme qui commence par le marqueur
ASB) au lieu du.ast/.txtlisible, et plusieurs renomment l'extension (un jeu que nous avons testé utilise.iet). RuneTranslate le détecte par signature, pas par extension, et le traduit sur place. Lorsqu'un jeu stocke les noms des locuteurs dans des graphismes ou sous forme de noms de commande plutôt que sous forme de texte dans le script, ces noms proviennent du flux de texte en image, pas du script — si un nom reste en japonais, c'est généralement pour cela. - Le remplacement par fichiers libres est le chemin de chargement attendu, et sur la plupart des jeux Artemis 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 — c'est exactement le genre de comportement en jeu réel que nous confirmons encore.
- Le texte incrusté dans les illustrations — un écran-titre ou un bouton de menu dessiné en bitmap — ce sont des pixels, pas du texte de script, donc l'extracteur de scripts ne peut pas l'atteindre. Pour cela, voir la traduction de texte en image.
- La variante exacte d'archive et de script peut différer d'une sortie à l'autre. Vérifiez toujours sur votre exemplaire précis.
C'est tout nouveau — dites-nous ce qui casse
À répéter clairement : la prise en charge d'Artemis est un ajout récent et n'a pas encore été testée sur beaucoup de jeux réels. Le lecteur .pfs, le chiffrement et les analyseurs .ast / .txt sont construits et testés unitairement, mais le moteur a des années de variations par studio que nous n'avons pas toutes vues. Donc si vous pointez RuneTranslate vers un jeu Artemis 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 la façon dont il est empaqueté (quelle variante de .pfs, .ast contre .txt contre .asb) est exactement ce qui nous aide à le durcir le plus vite.
Téléchargez RuneTranslate, pointez-le vers ce visual novel Artemis que vous rêvez de lire, et essayez. Pour voir comment nous gérons un autre moteur de VN basé sur des archives, lisez ensuite le guide Kirikiri.
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