MotoresGuíasFAQPatreonDiscordDescargar
Iniciar sesión
RuneTranslate · traduce juegos japoneses de principio a fin
MotoresGuíasCompararTexto en imágenesEditor de partidasModo trucosFAQDescargarCambiosPatreonDiscordYouTubePrivacidadTérminosContacto
Todas las publicaciones
troubleshooting · workflow · export · exclusions

¿El juego traducido no arranca? Encuentra la línea

29 ago 2026·11 min de lectura

Tu juego traducido se abre y se cierra, o se queda colgado para siempre en la pantalla de carga. Una de las líneas que tradujiste nunca fue texto: un id, una ruta, una bandera que el juego compara. Primero comprueba que la culpa es de la traducción, y luego encuentra la línea partiendo por la mitad: unas trece exportaciones reducen cinco mil líneas a una.

La ventana se abre. La ventana se cierra. Ayer este juego funcionaba, luego pasaste una tarde traduciéndolo y ahora está muerto.

En algún punto de esas líneas hay una que nunca fue texto: el nombre de una escena, una ruta de archivo, una bandera que el juego compara. El motor se topó con ella y se rindió antes de dibujar nada.

No vas a leer cinco mil líneas para encontrarla. Vas a hacer una pregunta de sí o no unas trece veces.

La respuesta corta. Comprueba primero que la culpa es de la traducción y luego parte por la mitad: traduce la mitad de las sospechosas, exporta, ejecuta. La mitad que falle contiene tu línea. Repite sobre esa mitad hasta que quede una sola.

Antes de buscar: ¿es realmente la traducción?

  1. Ejecuta el juego original. No tu exportación, la copia intacta. Si esa también falla, el problema es tu equipo, la carpeta o el propio juego.
  2. Traduce una línea corta e inofensiva, exporta y ejecuta. Vale una palabra de menú que puedas ver en pantalla.
  3. Solo entonces empieces a buscar una línea.

El paso 2 dice una línea, no ninguna, y es a propósito. Varios adaptadores se cortocircuitan cuando no hay nada que escribir, así que una exportación vacía prueba una copia de archivos en lugar de la entrega, y puede pasar mientras lo de verdad falla.

Si la compilación de una línea también falla, ninguna línea concreta tiene la culpa y partir por la mitad no encontrará nada. Vuelve a exportar a una carpeta nueva y vacía, comprueba que estás ejecutando la copia exportada y no la original, y lee los avisos de la exportación. Si sigue fallando, repórtalo como un problema de entrega.

El triaje cuesta dos ejecuciones y una exportación: minutos en un proyecto pequeño de RPG Maker, más en un juego grande de Unity. Te ahorra una tarde buscando una línea que no está ahí.

Dos casos que se parecen. Cuadros, signos de interrogación o latín corrupto mientras el juego funciona es un problema de fuente o codificación. Un cierre justo después de instalar un plugin o un overlay es la herramienta, no tus líneas.

Encuentra la línea partiendo por la mitad

La mayoría de los proyectos tienen muchos archivos, y la lista de archivos es lo más fácil de cortar en dos.

  1. Restablecer todas las traducciones desde la barra de herramientas.
  2. Abre Seleccionar archivos para traducir, que se explica solo: «Elige qué archivos traducir. Los archivos sin marcar se dejan intactos.» Desmarca la mitad de los archivos y traduce el resto.
  3. Exporta a una carpeta nueva y vacía y ejecuta el juego.
  4. Si arranca, tu línea está en la mitad que dejaste en paz; si no, está en la que acabas de traducir. En cualquier caso tu lista es la mitad de grande, y te olvidas de la otra mitad.
  5. Restablecer todas las traducciones otra vez, parte la lista superviviente, exporta, ejecuta.
  6. Repite hasta que quede un archivo, y luego parte dentro de ese archivo hasta que quede una línea.

Partir por archivo es más basto que partir por línea, así que el número de rondas sigue a tu número de archivos: cuarenta archivos son unas seis rondas hasta dar con el archivo, y luego empiezas de nuevo dentro de él.

Los proyectos de un solo archivo —un script de NScripter, un juego de Kirikiri o Wolf con un único escenario— no tienen lista de archivos que cortar. Arrastra un recuadro sobre las filas: las casillas y la barra de acciones aparecen solas, y Retraducir seleccionadas hace el resto. Para una pasada más amplia, filtra o busca primero y luego usa Seleccionar todo lo visible. Cuidado con esa: toma exactamente lo que el filtro está mostrando, así que un filtro que olvidaste limpiar contamina en silencio todas las rondas siguientes. Apunta qué filtro usaste.

Un lote roto de cien líneas, jugado hasta el final:

  • Ronda 1 — 100 bajo sospecha, traduce las primeras 50: arranca, así que está en las otras 50.
  • Ronda 2 — 50 bajo sospecha, traduce las primeras 25: falla, así que está en esas 25.
  • Ronda 3 — 25 bajo sospecha, traduce las primeras 13: arranca, así que está en las otras 12.
  • Ronda 4 — 12 bajo sospecha, traduce las primeras 6: falla, así que está en esas 6.
  • Ronda 5 — 6 bajo sospecha, traduce las primeras 3: falla, así que está en esas 3.
  • Ronda 6 — 3 bajo sospecha, traduce las primeras 2: arranca, queda una línea.

Siete exportaciones es el peor caso a partir de cien líneas, y unas trece el peor a partir de cinco mil.

Lo que cuesta una ronda

Una exportación, una ejecución y lo que el juego tarde en llegar a su primera línea de diálogo. Dos o tres minutos en un proyecto pequeño de RPG Maker. En un juego grande de Unity, donde la exportación copia el juego entero y la pantalla de título se toma su tiempo, más bien diez.

Así que trece rondas son casi una tarde entera. Sigue siendo la opción barata, porque la alternativa es leer cinco mil líneas y acertar.

Dos cosas salen mal cuando se hace a mano. Exporta a una carpeta nueva y vacía en cada ronda, porque algunos motores montan los parches de forma acumulativa, y la ronda 3 cayendo sobre las rondas 1 y 2 prueba las tres a la vez. Restablecer significa restablecer: usa Restablecer todas las traducciones, nunca una edición manual, porque eso recupera el texto capturado al crear el proyecto aunque hayas sobrescrito la carpeta de origen desde entonces.

Si sigue fallando después de revertir tu línea

Entonces había más de una, que es el resultado normal de una primera pasada de traducir-todo en un motor sensible al análisis. Deja tu línea revertida y vuelve a correr el bucle sobre lo que siga traducido. Un segundo culpable suele ser el mismo tipo de cadena que el primero, en el mismo archivo.

La próxima vez, traduce por lotes

Los lotes no ahorran exportaciones; son exportaciones que ibas a hacer de todas formas, y cada fallo llega ya acotado. Se rompió en el último lote, así que partir por la mitad empieza en cien líneas en vez de cinco mil. Empieza en 100 y amplía a 500 o a un archivo entero cuando varios lotes salgan limpios.

¿Qué motores se rompen si traduces la línea equivocada?

Se habla de motores estrictos y motores relajados. Lo que de verdad lo decide es dónde aterriza tu traducción.

Algunos motores la leen como datos: un archivo aparte y un enganche en tiempo de ejecución en Ren'Py, JSON escapado en RPG Maker, un valor .locres cuyos hashes de clave se conservan intactos en Unreal. La estructura del juego nunca ve tu texto, así que una línea equivocada te cuesta una línea equivocada. Otros la insertan en un archivo que el juego analiza como script, marcado o flujo de bytes, y tu frase pasa a formar parte de la estructura de ese archivo. Ahí basta con dos puntos, un corchete, un byte de más o una cadena que también era una clave de búsqueda para detener el juego.

Esa es toda la regla. Busca tu motor, lee su línea y sigue adelante.

  • RPG Maker MV/MZ — nada estructural: JSON y CSV escapados, y solo se ofrece un conjunto fijo de comandos de evento. El único riesgo real es un plugin que compara un nombre de personaje de forma exacta, y la exportación reescribe también la clave de ese plugin.
  • Ren'Py — muy poco. El código fuente nunca se reescribe, así que una cadena que también sirve de clave lógica está a salvo.
  • Unreal Engine — ningún modo de fallo a nivel de línea que hayamos visto: las cadenas .locres son texto visible por construcción. Aquí el riesgo es texto que falta, no una compilación muerta.
  • Unity — grave y silencioso: nombres de escena, claves de variables y callbacks se guardan igual que el diálogo. Espera cargas infinitas, un botón muerto o una pantalla negra.
  • Godot — grave. Las rutas de nodo, los StringName y las referencias res:// son la dirección que el motor consulta; la reescritura las rechaza.
  • Wolf RPG — el formato más frágil de la lista. Un byte de desfase desincroniza todo el flujo y el proceso aborta antes de que exista una ventana.
  • Kirikiri / KAG — grave: los corchetes son sintaxis y los nombres de almacenamiento son nombres de archivo. Un nombre de etiqueta traducido, un corchete convertido o un nombre de imagen traducido detienen el juego en seco.
  • Electron VN — grave. Un marcador de plantilla escrito dentro del JavaScript vivo de app.asar es un error de sintaxis, no una mala traducción.
  • TyranoBuilder / TyranoScript — misma familia que Kirikiri: las etiquetas KAG son marcado, así que una etiqueta traducida es sintaxis. Las referencias de personaje en línea nunca se reescriben.
  • NScripter — grave y de forma única: ?, % y $ son sigilos de variable, así que uno suelto es un error de sintaxis.
  • YU-RIS — grave, porque mucho de lo que el formato llama cadena es en realidad un operando. Separarlos llevó un juego de 40.678 filas activas a 8.914, sin perder diálogo.

Otros motores tienen su propia página, cada una con su guía, en motores.

Tres líneas que mataron un juego

Cada regla de exclusión de RuneTranslate la pagó un juego que dejó de arrancar. Estas tres están corregidas. En cada una, la línea rota parecía perfectamente razonable y la exportación terminó en verde.

Godot: el juego se inventa un personaje. Una línea decía Warning: the door is locked. Inglés perfecto. Dialogic escapa cada dos puntos en el texto almacenado, porque unos dos puntos sin escapar son justo como separa el nombre del hablante. Al escribirla de vuelta en crudo, la frase se reinterpretó como un personaje llamado Warning diciendo the door is locked, y el complemento lo creó tan tranquilo.

Kirikiri: el juego busca un archivo llamado `End`. La etiqueta de un botón llevaba un nombre de imagen y una etiqueta de destino, y el enmascarador no podía abarcar una etiqueta con corchetes propios, así que ambos quedaron expuestos y se tradujeron. Ahora el escáner entiende corchetes: cierra en el corchete que corresponde, así que una expresión anidada se queda dentro de la etiqueta mientras que una normal termina en su primer ].

RPG Maker: un retrato desaparece sin más. Un plugin de retratos elige el arte de un personaje comparando el nombre del hablante, letra por letra, contra una tabla en su propia configuración. Traducir el nombre es correcto; dejar esa configuración intacta también lo es, porque está llena de claves de recursos. Juntas rompieron la igualdad, y los retratos del personaje desaparecieron sin dejar nada en el registro.

Las tres exportaciones informaron de éxito. Una exportación limpia no es prueba de un juego que funcione, en ningún motor. La única prueba es ejecutarlo.

Cuando no son tus líneas en absoluto

Partir por la mitad no encuentra estos casos, porque ninguna mitad arranca: el problema es dónde aterrizó la exportación. Los juegos de Wolf RPG leen su archivo .wolf antes que cualquier archivo suelto a su lado, así que uno arrancó su pantalla de título mientras los datos traducidos estaban en disco sin leerse. Los Addressables de Unity rechazan un paquete cuyos bytes ya no coinciden con su suma de comprobación, y te dan una pantalla negra sin nada en ningún registro. Los juegos de RPG Maker empaquetados ignoran los archivos de datos que hay junto al ejecutable. Los tres ya están cubiertos, y por eso un fallo de entrega merece un reporte antes que una cacería.

¿Hay alguna marca que indique qué líneas son diálogo?

No. Y desconfía de quien te diga lo contrario.

Un usuario nos contó una vez que había encontrado un juego de Godot que envolvía cada cadena de diálogo en ||, tradujo solo esas y el juego funcionó. Genuinamente útil para ese juego. Es la costumbre de un desarrollador, no una convención de Godot, y el siguiente juego hará otra cosa.

El contraejemplo viene de YU-RIS. En un juego, el canal de comillas invertidas contenía toda la tabla de cadenas de interfaz, 687 de sus 692 filas eran texto visible — y aun así la comilla invertida no significa nada ahí. Los tres estilos de comillas compilan a lo mismo, así que una regla basada en el delimitador marca prosa real. Dónde vivía el valor te lo decía todo; cómo estaba entrecomillado no te decía nada.

Confía en la posición y en la forma, y deja que el juego te enseñe ambas. Ejecútalo, lee la primera línea de diálogo en pantalla y luego busca esa línea exacta en el editor: su archivo, su grupo y sus vecinas son el aspecto que tiene el diálogo en este juego. Cualquier cosa que esté en otro sitio es candidata a no ser diálogo.

Qué marca la aplicación y qué no puede saber

RuneTranslate marca como excluidas las filas que cree que son código, rutas de recursos o identificadores. Siguen visibles en lugar de ocultarse, teñidas de naranja tras un interruptor mostrar excluidas, para que veas qué decidió y puedas forzar cualquier fila con traducir de todos modos. También puedes añadir tus propios patrones.

Selecciona filas excluidas e inicia una pasada, y se detiene a preguntar: «12 de las 340 líneas que elegiste están excluidas — marcadas por tus filtros, o por RuneTranslate como código, rutas de recursos o IDs. Traducirlas puede romper el juego. Omitirlas las mantiene excluidas. Traducirlas las incluye también en futuras pasadas.»

Pasar por encima está bien. Solo acuérdate de que lo hiciste, porque es el primer sitio donde mirar cuando la exportación deja de arrancar.

Un límite honesto: una exclusión es una conjetura sobre una cadena, así que no puede saber que una frase de tu juego también hace de clave de búsqueda en algún plugin que ese juego incluye. Un juego cuyo idioma de origen ya es inglés recibe todavía menos protección, porque los filtros más fuertes preguntan si una cadena contiene texto en el idioma de origen.

Preguntas frecuentes

¿Por qué no arranca mi juego después de traducirlo?

Casi siempre porque una línea que tradujiste era un identificador, una ruta, un nombre de escena o una bandera que el juego compara por cadena exacta. Cambiarla rompe el análisis, o la búsqueda.

¿Cómo encuentro qué línea traducida rompió el juego?

Parte por la mitad. Restablece todas las traducciones, traduce la mitad, exporta a una carpeta vacía y ejecuta. La mitad que falle contiene la línea; pártela y repite. Seis o siete rondas desde cien líneas, unas trece desde cinco mil.

Mi juego traducido se cierra de inmediato, ¿qué significa?

Un error fatal durante el arranque. En Kirikiri, novelas visuales de Electron y NScripter, suele ser un error de sintaxis: un corchete, una comilla o un marcador traducido o perdido. En Wolf RPG y YU-RIS, un flujo desincronizado.

¿Por qué mi juego traducido abre en pantalla negra?

Normalmente una carga que falló dentro de código que se tragó la excepción; en Unity, un paquete cuya suma de comprobación ya no coincide con su entrada de catálogo. Prueba una compilación con una sola línea inofensiva traducida: si también sale negra, la culpa es de la entrega y no de ninguna línea.

Mi juego traducido se queda en la pantalla de carga, ¿es la traducción?

Muy probablemente, en Unity. Una carga infinita es el síntoma clásico de un nombre de escena o una clave de variable traducidos: el juego espera un nombre que ya no coincide, y no salta ningún error.

¿Qué tipo de líneas no hay que traducir nunca?

Todo lo que el juego resuelve por cadena exacta: rutas, nombres de escena y de nodo, nombres de variables y eventos, códigos de idioma, cualquier cosa con forma de snake_case o res://. Si no te imaginas a un jugador leyéndolo en pantalla, déjalo.

El juego funciona pero el texto son cuadros o signos de interrogación, ¿es el mismo problema?

No. Los cuadros uniformes significan que la fuente no tiene glifo para esos caracteres; un signo de interrogación literal significa que se perdieron al escribir el archivo. Ambos son problemas de fuente o codificación, con otra solución.

Adónde ir después

¿Estás empezando una traducción en lugar de reparar una? Cómo hacer un parche de traducción cubre el trabajo entero.

Cuando encuentres tu línea: déjala en el idioma original, traduce todo lo que la rodea, exporta a una carpeta nueva y vacía, y ejecútalo. Un identificador sin traducir no le cuesta nada al jugador.

Lecturas relacionadas
01

Cómo hacer un parche de traducción

patchsharingtutorialworkflow18 ago 2026 · 9 min
Leer →
02

XUnity.AutoTranslator no traduce

unityxunity-autotranslatortroubleshooting18 ago 2026 · 9 min
Leer →
03

Por qué la traducción sale en recuadros

unitytextmeshprofontstroubleshooting18 ago 2026 · 9 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