Motor compatible · Ren'Py
Ren'Py es el motor dominante de novelas visuales basado en Python, usado para todo, desde novelas cinéticas indie hasta VN para adultos de larga duración. RuneTranslate lo traduce en tres modos: proyectos con código fuente (game/**/*.rpy), lanzamientos solo compilados (.rpyc, descompilados vía el sidecar unrpyc incluido) y lanzamientos solo archivados (.rpa, desempaquetados vía el sidecar rpatool incluido con detección automática de clave de ofuscación). Extrae líneas de say / narración / menú más cadenas de interfaz _() / __() / _p(). Al exportar, el diálogo y los menús se aplican en tiempo de ejecución: un .rpy generado empareja por contenido cada línea de origen (config.say_menu_text_filter) contra un mapa game/rt_translations.json y fuerza el idioma del juego a tu traducción — deliberadamente no los bloques nativos tl/ basados en id de Ren'Py, cuyos ids no siempre pueden reproducirse. Solo las cadenas de interfaz _() se escriben como un bloque real game/tl/translated/translation.rpy. Para destinos no latinos, RuneTranslate incluye una fuente capaz de CJK / tailandés / árabe y enruta las fuentes del juego a través de config.font_replacement_map para que el texto traducido nunca se renderice como recuadros. Nada se vuelve a empaquetar — los archivos .rpy adicionales y el JSON caen en game/ junto al original. Combínalo con el Glosario de nivel Supporter para fijar los nombres de personajes y los términos característicos a lo largo de VN largas.
Las VN de Ren'Py viven y mueren por la voz de los personajes — y que la heroína se llame 'Alice' / 'Aris' / 'Arisu' a lo largo de tres escenas romperá rápido la inmersión del lector. Fija cada nombre de personaje, las variantes del apodo del protagonista, los nombres de lugares y cualquier terminología inventada del mundo con el glosario. La máscara es independiente del proveedor, así que tanto si estás en DeepL para la pasada económica como en Claude para los capítulos principales con muchos diálogos, tu terminología se mantiene idéntica. Glosario 101 →
Apunta RuneTranslate a la carpeta que contiene el ejecutable del juego. La detección del motor autoclasifica el proyecto como con código fuente (.rpy presente), compilado (solo .rpyc) o archivado (solo .rpa). Los sidecars unrpyc y rpatool incluidos se ejecutan automáticamente — sin necesidad de instalar Python.
Elige el idioma de destino (uno de 30+ soportados) y el proveedor. Anthropic Claude y OpenAI GPT-4o son los más fuertes en el diálogo de Ren'Py porque preservan mejor el tono, el registro y la onomatopeya que la MT estadística. DeepL es una segunda opción sólida para la narración descriptiva larga.
RuneTranslate extrae cada línea traducible (diálogo, texto de opción, etiquetas de pantalla, cadenas de interfaz) y las agrupa por lotes. Las etiquetas específicas de Ren'Py ([[player_name]], {color=#fff}…{/color}, {b}…{/b}) se enmascaran durante la traducción para que el LLM las trate como marcadores de posición opacos, y luego se restauran palabra por palabra.
RuneTranslate deja unos pocos archivos pequeños en game/: un mapa rt_translations.json y un .rpy generado que empareja por contenido cada línea de origen en tiempo de ejecución (config.say_menu_text_filter) y fuerza el idioma a tu traducción, para que el diálogo y los menús se muestren traducidos sin reempaquetar el .rpa. Las cadenas de interfaz _() van a game/tl/translated/translation.rpy, y se incluye una fuente CJK / no latina cuando el destino la necesita. Volver a ejecutar el traductor preserva tus líneas editadas a mano.