Excluye líneas no deseadas de la traducción con filtros regex
Las cadenas de depuración, las rutas de recursos y el texto de desarrollo residual pueden colarse a pesar de la exclusión automática. Los filtros regex por proyecto de RuneTranslate excluyen cualquier línea cuyo origen coincida con un patrón —con una vista previa en directo de exactamente lo que capturan— para que nunca gastes una traducción en basura. Gratis, en todos los niveles.
Apunta RuneTranslate a un juego y absorberá todas las cadenas traducibles que pueda encontrar. La mayoría es diálogo real y texto de menús, pero parte es basura: líneas de depuración residuales, nombres de archivos de recursos, indicadores internos e identificadores sueltos que el juego nunca muestra al jugador. RuneTranslate ya excluye los casos obvios de cada motor y los marca como filas rojas de inclusión opcional, pero cada juego es diferente y parte de la basura es específica del título en el que estás trabajando.
Para eso están los filtros de exclusión regex. Le das a RuneTranslate uno o varios patrones, y cualquier línea cuyo texto de origen coincida con un patrón se descarta de la ejecución: el traductor la omite y se muestra como una fila roja de inclusión opcional que siempre puedes volver a activar. Es la misma maquinaria que las exclusiones integradas de cada motor, pero gobernada por tus propias reglas y guardada con el proyecto. Y no cuesta nada: a diferencia del glosario y la memoria de traducción, las exclusiones regex son gratuitas en todos los niveles.
¿Por qué excluir líneas siquiera?
Dos razones: una obvia y otra que importa más:
- Coste y tiempo. Cada línea de basura que traduces es cuota del proveedor (o límite de peticiones del scraper gratuito) gastada en texto que nadie va a leer. A lo largo de un juego entero, eso se acumula.
- Mantener el juego funcionando. Esta es la de verdad. Algunas líneas no son texto en absoluto: son claves, rutas de archivos u operandos de flujo que el motor resuelve por valor. Traduce
bg_office_01oEV_FLAG_TRUEy puedes romper de forma silenciosa una transición de escena o una búsqueda de variable. Excluirlas mantiene estable la compilación exportada.
Dónde encontrarlo
Abre un proyecto y, en la barra de herramientas del editor, abre el menú ⋯ Más y elige Exclusiones regex. Eso abre el panel Filtros de exclusión personalizados: añades patrones, ves exactamente qué capturan y aplicas, todo en un mismo cuadro de diálogo.
La vista previa en directo es lo esencial
Nunca aplicas un patrón a ciegas. A medida que escribes una regex, RuneTranslate muestra Coincide con N de TOTAL líneas y enumera unas cuantas de las líneas reales que capturaría, actualizándose con cada pulsación de tecla. Un patrón no válido se señala al instante con el error, de modo que no puedes guardar uno defectuoso.
Como la vista previa muestra las líneas reales de tu proyecto, ajustas el patrón hasta que captura exactamente la basura y nada real, y entonces lo aplicas. Un detalle que conviene recordar: los patrones coinciden con el texto de origen —el japonés original, o cualquiera que sea tu idioma de origen—, no con la traducción. Escribes los patrones contra el texto sin traducir.
Patrones ya preparados
El panel incluye fichas predefinidas de un solo clic para los patrones que aparecen en casi todos los juegos japoneses:
- Solo ASCII —
^[\x00-\x7F]+$— una línea sin ningún carácter del idioma de origen (inglés residual, romaji o un identificador). Normalmente es seguro descartarla cuando tu origen es el japonés. - Ruta de recurso —
\.(png|jpe?g|gif|webp|ogg|mp3|wav|webm|mp4)$— cualquier cosa que termine en una extensión de archivo multimedia. - Variable —
^[a-z_]+\.[a-z_]— referencias de código con punto comof.pageostate.flag. - Token en MAYÚSCULAS —
^[A-Z0-9_]+$— constantes e indicadores comoEVENT_FLAG_3. - Números / símbolos —
^[\d\s.,:%/+\-]+$— filas solo numéricas y máscaras de tiles como11111112222. - Etiqueta entre corchetes —
^\[.*\]$— una línea entera que no es más que una[tag].
El panel también muestra una chuleta compacta para crear los tuyos: ^ y $ anclan el inicio y el final de una línea, . es cualquier carácter, * y + significan cero-o-más y uno-o-más, ? es opcional, \d un dígito, \w un carácter de palabra y \s un espacio en blanco.
Escribir tus propios filtros
Los preajustes cubren los casos habituales; para cualquier cosa específica de un juego, escribes tu propia expresión regular de JavaScript. Unas cuantas reglas generales:
- Ancla a la línea entera. Un simple
debugcoincide con cualquier línea que contenga esa palabra, incluido el diálogo real sobre depuración.^DEBUG:solo coincide con las líneas que empiezan por el marcador, y envolver un patrón en^...$coincide con la línea completa. Anclar es la opción por defecto más segura. - Vigila el recuento de la vista previa. Si un patrón pasa de capturar 12 líneas de basura a capturar 400, casi con seguridad has capturado texto real: revisa las muestras y ajústalo.
- Prefiere la estructura a las palabras. La basura suele reconocerse por su forma —todo en mayúsculas, rutas con puntos, extensiones de archivo al final, números puros—, no por palabras concretas. Los patrones estructurales generalizan por todo el proyecto.
- Una regla por idea. Varios patrones pequeños y obvios son más fáciles de razonar, y de eliminar después, que uno gigante e ilegible.
Aplicar y deshacer
Pulsa Aplicar y guardar. RuneTranslate almacena los patrones con el proyecto y reclasifica cada línea, y luego te dice exactamente qué ha pasado; por ejemplo 340 líneas excluidas · 5 restauradas. El recuento de restauradas son líneas que un filtro capturaba antes pero ya no, recuperadas automáticamente.
Es totalmente reversible: elimina un patrón, vuelve a aplicar y sus líneas regresan. Los filtros solo son dueños de sus propias exclusiones —nunca anulan una exclusión automática del motor— y siempre puedes reactivar una línea concreta con el interruptor de su fila si un filtro resultó un pelín demasiado amplio.
El aviso de restablecer las traducciones filtradas
Un caso que RuneTranslate gestiona por ti: ¿y si filtras líneas que ya habías traducido? Una línea excluida exporta su texto de origen, pero la traducción antigua sigue vinculada a ella. Así que justo después de aplicar, si alguna de las líneas recién filtradas ya llevaba una traducción, RuneTranslate te pregunta si restablecerlas a pendiente —descartando la traducción para que la exportación recurra limpiamente al origen— o conservarlas. Restablecer suele ser lo que quieres, ya que excluiste esas líneas precisamente porque no querías que se tradujeran.
Cómo encaja con todo lo demás
Los filtros regex son la herramienta de última milla. Los adaptadores de motor ya excluyen la basura estructural que conocen de cada formato, así que en un juego bien soportado la IA nunca ve una ruta de recurso. Los filtros son para los restos: un marcador específico de un juego, algún canal de depuración raro o cadenas que un motor poco común expone y que no llegan a ser diálogo.
Usa el filtro de estado Excluidas del editor para revisar todo lo que ahora está retenido —las exclusiones del motor y tus exclusiones regex juntas— y volver a incluir lo que quieras. Y allí donde los filtros eliminan líneas, el glosario hace lo contrario: fija los términos elegidos para que siempre se traduzcan igual. Entre los dos controlas tanto lo que se traduce como el cómo.
Cinco minutos con el panel de filtros al empezar un proyecto —colocas un par de fichas predefinidas, echas un vistazo a la vista previa y aplicas— ahorra cuota en cada ejecución posterior y mantiene fuera del traductor por completo el texto arriesgado que no es texto de verdad. Descarga RuneTranslate, abre cualquier juego y busca Exclusiones regex en el menú ⋯ Más.
¿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