MotoresGuíasFAQPatreonDiscordDescargar
Iniciar sesión
RuneTranslate · traduce juegos japoneses de principio a fin
MotoresGuíasCompararTexto en imágenesEditor de partidasModo trucosFAQDescargarPatreonDiscordYouTubePrivacidadTérminosContacto
Todas las publicaciones
yu-ris · engine

Cómo traducir novelas visuales YU-RIS al inglés

25 jun 2026·6 min de lectura

RuneTranslate traduce novelas visuales YU-RIS (raiL-soft) al inglés y a 30+ idiomas — leyendo paquetes .ypf y scripts YSTB compilados en TypeScript puro, recuperando la clave XOR de cada script y exportando los scripts traducidos sueltos. Mejor esfuerzo.

RuneTranslate lee otro motor que durante mucho tiempo ha sido un muro para los traductores fans: YU-RIS, el motor de scripting para Windows de raiL-soft detrás de cientos de novelas visuales japonesas doujin y comerciales. Si alguna vez abriste una carpeta de juego de YU-RIS, encontraste un directorio pac/ lleno de archivos .ypf y un ysbin.ypf sin nada legible dentro, y te rendiste — ese es el motor. RuneTranslate lo detecta, abre esos paquetes en TypeScript puro, lee el diálogo de los scripts compilados y exporta una copia traducida que el juego carga por sí solo.

La parte honesta primero: el soporte de YU-RIS es de creación reciente y no se ha verificado aún en muchos juegos reales. Así que si apuntas RuneTranslate a un juego de YU-RIS y no lo detecta, no lo abre o exporta algo que el juego no carga, por favor dínoslo — más al final.

Qué es en realidad el motor YU-RIS

YU-RIS (a veces escrito ゆーりす) es un motor japonés de scripting de novelas visuales de raiL-soft. Un juego terminado es un .exe de Windows más un conjunto de archivos de paquete .ypf — normalmente en una carpeta pac/ — que contienen arte, audio y scripts. El escenario está compilado en un formato binario llamado YSTB, almacenado como los archivos .ybn dentro de ysbin.ypf (en rutas internas como ysbin/yst00000.ybn). Esa combinación de «escenario compilado dentro de un archivo empaquetado» es exactamente lo que ha mantenido el gran catálogo del motor fuera del alcance de las herramientas de traducción automática corrientes.

Por qué los juegos de YU-RIS han sido tan difíciles de traducir

En comparación con un motor basado en código fuente como Ren’Py, YU-RIS esconde su texto tras varias capas:

  • Todo vive dentro de paquetes `.ypf`. Los scripts no están sueltos — están empaquetados en el propio contenedor de YU-RIS con nombres de archivo ofuscados y entradas comprimidas con zlib. Sin un lector para ese formato, no hay nada que editar.
  • El escenario está compilado, no es texto. Un .ybn es un contenedor binario YSTB dividido en cuatro secciones (flujo de instrucciones, tabla de descriptores de argumentos, tabla de cadenas, números de línea). El japonés vive en la tabla de cadenas, referenciado por los descriptores.
  • Los scripts están cifrados con XOR. Las cuatro secciones de cada YSTB están codificadas con una clave de 4 bytes que varía por juego. Hay que recuperarla antes de que ningún texto sea legible.
  • No toda cadena es diálogo. La tabla de cadenas también contiene nombres de variables, rutas de recursos y operandos de expresión con los que el script compara — traduce uno y el flujo se rompe en silencio.

El efecto neto: incluso un lector fluido debe desempaquetar un archivo propietario, analizar un binario compilado, romper el XOR y luego distinguir el diálogo de las cadenas internas del motor — antes de traducir una sola línea. Ese es el trabajo que RuneTranslate hace por ti.

Qué hace RuneTranslate ahora

RuneTranslate maneja todo el pipeline en TypeScript puro — sin herramientas externas, sin sidecar de Python, nada que instalar:

  • Lee los paquetes `.ypf` directamente. Abre los archivos internamente, descomprime las entradas y recupera los nombres de archivo ofuscados — sin GARbro. ¿Ya desempaquetaste el juego tú mismo? También se detecta una carpeta ysbin/ suelta de scripts .ybn.
  • Analiza los scripts `YSTB` compilados y rompe el cifrado. Recupera la clave XOR de 4 bytes de cada script automáticamente a partir de la tabla de descriptores de argumentos, decodifica la tabla de cadenas Shift-JIS y lista cada línea japonesa, agrupada por archivo de script.
  • Distingue el diálogo de la maquinaria. Nombres de variables, rutas de recursos y operandos de expresión se muestran pero se excluyen por defecto como filas rojas de inclusión opcional, así que nunca traduces una cadena con la que la lógica de la historia compara.
  • Preserva los códigos de control en línea. Los códigos con barra invertida (salto de línea, color, ruby) y las etiquetas entre corchetes se enmascaran tras marcadores de posición numéricos antes de que el proveedor los vea, y luego se restauran exactamente.
  • Exporta sin reempaquetar. Reconstruye cada script traducido — parcheando los offsets de la tabla de cadenas para que una traducción más larga o más corta encaje, y reaplicando la clave XOR — y luego escribe el .ybn suelto en su ruta de archivo original. YU-RIS prefiere un archivo suelto sobre la copia empaquetada, así que el juego simplemente lee tu traducción — la misma sobreescritura de archivos sueltos que nuestros flujos de Kirikiri y Artemis.

Japonés → inglés es el punto óptimo, pero puedes apuntar a 30+ idiomas.

Qué necesitas

  • RuneTranslate para Windows — gratis; todos los motores y proveedores están desbloqueados (el nivel gratuito tiene límite de velocidad, no de funciones).
  • Una carpeta de juego de YU-RIS — el directorio con el yu-ris.exe del juego y sus paquetes .ypf (normalmente en pac/, con los scripts en ysbin.ypf).
  • Un idioma de destino — inglés, español, francés, alemán, chino y 30+ más.
  • Un proveedor. Google Translate gratuito funciona sin más; DeepL tiene un nivel gratuito; OpenAI, Anthropic, un modelo local y cualquier API compatible con OpenAI requieren tu propia clave. Los juegos de YU-RIS tienen muchos diálogos, así que un LLM o DeepL leen mejor.

Paso 1: Abre la carpeta del juego

Inicia RuneTranslate, haz clic en Nuevo proyecto y apúntalo al directorio del juego de YU-RIS. La detección se ejecuta automáticamente — cuando ve un paquete .ypf (o una carpeta ysbin/ suelta de scripts .ybn), reconoce el proyecto como YU-RIS. Tu carpeta de juego original nunca se modifica.

Paso 2: Cómo se leen los scripts

RuneTranslate abre los paquetes .ypf, extrae los scripts YSTB compilados de ysbin.ypf, recupera la clave XOR de cada script y decodifica la tabla de cadenas Shift-JIS — listando cada línea japonesa en el editor, agrupada por archivo. Las cadenas internas del motor (nombres de variables, rutas de recursos, operandos de expresión) se muestran pero se excluyen por defecto, y los códigos de control en línea se enmascaran tras marcadores de posición numéricos para que el proveedor nunca los estropee.

Paso 3: Traduce

Elige un proveedor y ejecuta. Un LLM (OpenAI / Anthropic) es lo mejor para la voz de los personajes y el tono, DeepL es rápido y limpio para la narración, y Google Translate gratuito va bien para cadenas cortas de menú y opciones. Pon en el glosario a tu reparto desde el principio para que los nombres se rendericen de forma idéntica — consulta Glosario 101. Cuando termines, un pase opcional con el refinador de IA vuelve a leer cada línea en contexto y pule la fraseología rígida y literal que la MT tiende a dejar.

Paso 4: Exporta una copia lista para ejecutar

Haz clic en Exportar. RuneTranslate escribe una copia traducida del juego con cada .ybn reconstruido colocado suelto en su ruta de archivo original, junto a los paquetes .ypf intactos. No hay reempaquetado — YU-RIS carga los scripts sueltos con preferencia sobre los originales empaquetados, así que el juego simplemente lee tus traducciones. Ejecútalo y se juega en tu idioma de destino.

Limitaciones conocidas

  • Las cadenas de YU-RIS son Shift-JIS (cp932). El inglés y otros destinos representables en cp932 se exportan limpiamente. Los destinos fuera de cp932 — cirílico extendido, coreano, chino tradicional — necesitan un truco de fuente/codificación del juego que aún no está automatizado.
  • La sobreescritura de archivos sueltos es la ruta de carga esperada y funciona en la mayoría de los juegos de YU-RIS porque el motor prefiere un script suelto sobre la copia empaquetada. En el raro título que no lo respeta, la exportación puede necesitar ajustes — exactamente el comportamiento en juego real que todavía estamos confirmando.
  • El texto incrustado en el arte de imagen — una pantalla de título o un botón de menú dibujado como mapa de bits — son píxeles, no texto de script. Para eso, consulta traducción de texto en imágenes.
  • La variante exacta de archivo y script puede diferir entre lanzamientos. Verifica siempre en tu copia concreta.

Es totalmente nuevo — cuéntanos qué se rompe

Vale la pena repetirlo: el soporte de YU-RIS es una incorporación reciente y no se ha probado aún en muchos juegos reales. El lector de .ypf, el analizador de YSTB y la recuperación de claves están construidos y probados con pruebas unitarias, pero el motor tiene años de variación por estudio que no hemos visto toda. Así que si apuntas RuneTranslate a un juego de YU-RIS y no lo detecta, no abre los archivos, no extrae nada o exporta algo que el juego no carga, por favor repórtalo en nuestro Discord — el nombre del juego y cómo está empaquetado nos ayuda a robustecerlo más rápido.

Descarga RuneTranslate, apúntalo a esa VN de YU-RIS que llevas queriendo leer, y pruébalo. Para otro motor de VN basado en archivos, lee a continuación el tutorial de Artemis.

Lecturas relacionadas
01

Cómo traducir los archivos .po y .mo de un juego (gettext)

gettextpomoenginetutorial4 ago 2026 · 7 min
Leer →
02

Cómo traducir juegos AliceSoft System (Rance, Evenicle…)

alicesoftranceengine26 jun 2026 · 6 min
Leer →
03

Cómo traducir novelas visuales del motor Artemis al inglés

artemisengine23 jun 2026 · 6 min
Leer →

¿Listo para probar RuneTranslate?

El plan gratuito desbloquea todos los motores y todos los proveedores de traducción. Supporter ($3/mo) desbloquea la velocidad completa.

Descargar para Windows