Motor compatible · GameMaker
Un juego de GameMaker (las versiones anteriores se vendían como GameMaker Studio) guarda sus datos compilados en un solo archivo: data.win en Windows, game.unx en Linux y game.ios en macOS. RuneTranslate lee y escribe ese archivo por sí mismo, sin herramientas de terceros ni sidecar. Sigue cada cadena a través del bytecode del juego para ver si llega a una función de dibujo o de mensajes, de modo que el texto que ve el jugador se ofrece para traducir, mientras que las claves de búsqueda, los nombres de archivo y las cadenas con las que el juego compara quedan intactos. También se recogen los archivos de idioma que el juego trae al lado (JSON, CSV, INI / clave=valor, diálogos de Yarn y Chatterbox) y los catálogos gettext .po / .mo, y el marcado y los códigos de control se enmascaran tras marcadores de posición para que un proveedor no pueda romperlos. Traduces con cualquier proveedor: DeepL, un LLM (OpenAI / Anthropic), Google Translate gratuito o un modelo local. Al exportar, cuando la traducción necesita caracteres que las fuentes del juego no tienen (cirílico, vietnamita, chino, japonés, coreano, tailandés, latín con acentos), RuneTranslate añade esos glifos a las fuentes del propio juego con un estilo equivalente y, para japonés, chino y tailandés, parte las líneas solo donde el ancho del cuadro de texto está demostrado a partir del juego. Cada exportación se vuelve a leer y se verifica byte a byte antes de reemplazar nada. GameMaker se ha añadido hace poco y se verificó de principio a fin en juegos reales hechos con GameMaker Studio 1.4, GameMaker Studio 2.3 y las versiones GameMaker 2022 LTS, 2023 y 2024. Los juegos compilados con YYC (código nativo) son la excepción: sus archivos de idioma y sus fuentes se pueden traducir, pero el texto que está dentro de su código no es accesible. El idioma de origen es el japonés por defecto y se configura por proyecto.
Los juegos de GameMaker repiten nombres de personajes, nombres de objetos y términos de menú entre el archivo de datos y sus archivos de idioma. Añádelos primero a tu glosario para que cada línea los traduzca igual. Glosario 101 →
Apunta RuneTranslate a la carpeta del juego: la que contiene data.win en Windows, game.unx en Linux o game.ios en una compilación de macOS. La detección reconoce el archivo de datos automáticamente y abrir el juego no cambia nada. Si el juego venía como instalador, instálalo primero. Un juego de GameMaker Studio 1.4 empaquetado en un único ejecutable se desempaqueta en una carpeta de juego normal al exportar.
RuneTranslate lee el archivo de datos por sí mismo, sin herramientas de terceros ni sidecar, y sigue cada cadena a través del bytecode del juego para ver si llega a una función de dibujo o de mensajes. El texto que ve el jugador se convierte en una unidad de traducción; las claves de búsqueda, los nombres de archivo y las cadenas con las que el juego compara quedan intactos. También se listan los archivos de idioma que el juego trae al lado (JSON, CSV, INI / clave=valor, diálogos de Yarn y Chatterbox) y los catálogos gettext .po / .mo.
Traduce con DeepL, un LLM (OpenAI / Anthropic), Google Translate gratuito o un modelo local. El marcado y los códigos de control se enmascaran tras marcadores de posición para que un proveedor no pueda reordenarlos, eliminarlos ni traducirlos, y la memoria de traducción reutiliza las líneas repetidas.
Exporta una copia traducida a otra carpeta o en el mismo sitio, algo que necesitan algunos juegos de Steam. Cuando la traducción usa caracteres que las fuentes del juego no tienen, la exportación añade esos glifos a las fuentes del propio juego con un estilo equivalente. Para japonés, chino y tailandés, parte las líneas solo donde el ancho del cuadro de texto está demostrado a partir del juego, con reglas kinsoku. En una compilación de macOS o Linux escribe solo los archivos modificados, que copias sobre la instalación.
Cada exportación se vuelve a leer y se verifica byte a byte antes de reemplazar nada. Lanza el juego traducido y revisa el diálogo, los menús y las fuentes dentro del juego antes de compartirlo.