Motor compatible · Electron VN
Algunos estudios de novelas visuales japonesas distribuyen sus juegos como aplicaciones personalizadas de Electron que no son TyranoBuilder — un renderizador de JavaScript más un entorno de ejecución de Chromium empaquetado, todo dentro de resources/app.asar. El adaptador de Electron VN de RuneTranslate es el comodín para estos casos: lee y reempaqueta app.asar mediante @electron/asar, traduce archivos de contenido conocidos (files/text.js, html/chat.html), y ejecuta un escáner genérico de texto japonés sobre archivos .js, .html, .json y .ks del archivo. La salida es un app.asar modificado que se vuelve a colocar en resources/ — sin necesidad de parchear el entorno de ejecución de Electron.
Las VN personalizadas de Electron vienen en disposiciones a medida — el escáner genérico de texto de origen de RuneTranslate (afinado para el japonés, pero también capta otros idiomas de origen) puede encontrar las cadenas, pero no puede saber cuáles son nombres de hablantes y cuáles son diálogo libre. Fija el reparto en el glosario para que los fragmentos extraídos heurísticamente se mantengan coherentes: cada nombre en los paneles de chat, cada mensaje de sistema con nombre y cualquier terminología del mundo. Una vez configurado el glosario, puedes volver a ejecutar la traducción con un proveedor distinto y las entidades con nombre seguirán coincidiendo con la pasada anterior. Glosario 101 →
Apunta RuneTranslate al directorio del juego que contiene el .exe de Electron. El adaptador busca resources/app.asar y confirma que NO es una disposición de TyranoBuilder (que tiene un adaptador dedicado). Acceso de lectura mediante @electron/asar — sin necesidad de desempaquetar manualmente.
El escáner genérico recorre cada archivo .js, .html, .json y .ks dentro del asar y extrae los literales de cadena en el idioma de origen (japonés por defecto; cualquier idioma de origen compatible). Los archivos de formato conocido (files/text.js, html/chat.html) reciben una extracción estructurada; los archivos desconocidos reciben el escáner heurístico. Los archivos binarios se omiten.
Elige un proveedor — Anthropic Claude y OpenAI GPT-4o son los más fuertes en las cadenas conversacionales incrustadas en JS que estos envoltorios tienden a usar. DeepL es una alternativa sólida. Google Translate gratuito funciona para cadenas de interfaz cortas mediante el enrutamiento de proveedores.
Al exportar, RuneTranslate escribe un app.asar modificado con las cadenas traducidas integradas. Vuelve a colocarlo en la carpeta resources/ del juego. La versión traducida se ejecuta en el entorno de ejecución original de Electron.