MANUAL DE TRADUCCIÓN PARA DUMMIES
por d3m3nt14 tr4dUx10n3s(SkaZZ)
VI. ¿QUÉ ES EL HEXADECIMAL?"Es un mundo que no ha visto la luz del Sol,
plagado de orcos y pesadillas, y otras bestias
capaces de encoger el corazón de hombres,
elfos y enanos..."
Sí, podríamos decir que es complicado al principio. Así que empecemos desde el principio. Normalmente los archivos con textos para traducir vienen en archivos en los que no se puede modificar su tamaño, como archivos EXE entre otros. Para modificarlos necesitamos un editor hexadecimal. En un editor hexadecimal, cada carácter dentro del archivo representa una númeración de 1 a 255 posibilidades desde 00 a FF. Si tenemos más de 255 carácteres entonces crecerá de modo que irá de 0000 a FFFF (sí, al cubo). En fin, esto sólo son cuestiones técnicas y no indagaré más.
Editores hexadecimales existen muchos, pero siempre recomendaremos primeros los freeware como
XVI32,
Translhextion o
Notepad++ (usando plug-ins). Sí queréis algo dedicado exclusivamente al mundo hexadecimal, escoged entre
UltraEdit o
HExplore.
Con el editor hexadecimal podréis substituir carácter a carácter (sin pasarnos del límite de caracteres y, los sobrantes, poniendo espacios en blanco) y guardar sin corromper el archivo.
Apéndice A: No me cabe el texto o qué es un punteroLa opción de arriba es limitada. Traducir "apple" por "manzana" se quedaría en "manza" (a veces se puede usar el sinónimo "fruta"
), dado que el inglés es muy limitado gramáticamente (Recordad el capítulo anterior, buscad juegos en idiomas provenientes del latín). Para intentar cambiar tamaños de texto (pero sin cambiar el tamaño del archivo) es necesario encontrar los punteros.
Un puntero es una dirección en hexadecimal que apunta a un texto o a una zona específica del archivo. Esto se explica mejor con un ejemplo:
Tenemos el texto
I am SkaZZ, SkaZZ Bond... baby, seguido del carácter "00" y luego otro texto; del juego imaginario SkaZZ's Quest: Cuantum Sol Hace (Coño) dentro del archivo GAME.EXE
Abrimos el archivo GAME.EXE y buscamos el texto. Y queremos cambiarlo por
Soy SkaZZ, SkaZZ Bond... chavalita. Si lo cambiamos directamente comiéndonos texto del otro archivo, lo más probable es que la frase siguiente a esta no salga y salga
lita. Debido a que la otra frase empieza en esa posición. Bien, hay dos formas de buscar los punteros para cambiar esa dirección y que lea cuatro carácteres más.
@ Forma 1
Nos posicionamos en la posición dónde empieza el primer carácter de la frase a la que queremos cambiar la posición (normalmente es después del carácter "00"). La posición en la que estáis en hexadecimal normalmente viene en una de las esquinas de la pantalla (aunque también se puede ver a la izquierda). Si viene en decimal (estáis, por ejemplo, la el carácter 1040), convertidla a hexadecimal (usad la
Calculadora del sistema operativo en modo científica).
Supongamos que es "AF34". Lo primero que hacemos es darle la vuelta "34AF" y lo buscamos en todo el archivo (usad la opción "Hexadecimal" o lo cogerá como texto). Si lo encontráis así, pasamos a la siguiente fase y, si no, mirad la
@Forma 2.
Una vez encontrado, hacemos una prueba sumándole +1 a la cifra completa. En nuestro caso, quedaría como "34B0" (usad la
Calculadora. Grabamos, ejecutamos el juego y vemos si la frase ha cambiado (el primer carácter no debería verse). Si funciona, habéis encontrado los punteros (los punteros suelen ir muy juntos o bastante juntos unos de otros). Podéis modificar la longitud de los textos respetando el tamaño del archivo.
@Forma 2
¿No me digas que no has encontrado los punteros? Bueno, en ese caso deberás buscar agrupaciones de carácteres similares del tipo:
EB12 EB18 EB2F EB2ANo explícitamente eso, claro, me refiero a cosas parecidas. Debéis buscarlo por los archivos y modificar el primero o el segundo (primera frase, segunda frase...) o ambos y comprobar si se ha modificado algo. Sí, es más largo. Sí, puede que no los encontréis. Pero es lo que hay. Intentad sobre todo buscar en las partes superiores o inferiores de textos agrupados. ¡Buena suerte!
Apéndice B: Textos encriptadosPor si fuera poco, a veces los textos vienen comprimidos o encriptados.
Los textos comprimidos es simplemente que se ha comprimido el archivo o los archivos en otro (similar a
WinRAR, pero con un formato propio y, por supuesto, desconocido en muchos casos). En caso de ser archivos "EXE", la compresión suele ser realizada con compresores tipo
PKLite. Estos compresores hacen que un archivo ejecutable reduzca considerablemente su tamaño y se pueda seguir ejecutando tal cual. Es decir, por ejemplo, que un "EXE" de 250KB queda reducido en un "EXE" de 45KB y puedes seguir ejecutando el archivo sin usar ningún programa para ejecutarlo.
(Inciso: ¿Por qué comprimir un ejecutable? Bueno, esto suele pasar en juegos antiguos, cuando todos teníamos un 386 y un disco duro de 1MB
)
Al abrirlo en un editor hexadecimal, normalmente pone "PKLITE" u otro nombre del compresor. Para descomprimir estos archivos y ver el texto real, deberemos usar un descompresor. Yo recomiendo
UNP, la versión 4.11 creo que es la última. Copiamos
UNP en el directorio donde está el ejecutable y ejecutamos la sentencia:
c:\skazz\>unp e GAME.EXELuego mirad el tamaño del archivo y veréis que se ha hecho más grande. Al abrirlo también hallaréis el texto normal. Si no os funciona en
Vista o en
Windows 7, buscad "Unpack EXE" en el google y veréis que hay muchos.
Si el texto está encriptado, entonces podréis intentar buscarlo con el método "Búsqueda Relativa". En
Translhextion viene por defecto debido a que se usa sobre todo para traducir
ROMS de consolas y en ellas el texto casi siempre viene encriptado. Si, buscad algún programa que realice este tipo de búsquedas. Cuando hagáis la búsqueda relativa, buscad palabras de cuatro letras como máximo para que haya más posibilidades de encontrarlo.
Si encontráis algo como que "Hola" es:
D1 = H
88 = o
7A = l
66 = a
... es que habéis encontrado la encriptación. Abrid un archivo de texto e id rellenando una tabla como la de arriba con los carácteres que encontréis. En muchos casos, suelen ir seguidos:
D1 = a
D2 = b
D3 = c
D4 = d
... grabad el archivo de texto y luego, en
Translhextion, buscad la opción "Cargar Tabla..." y cargar el archivo de texto. Veréis los caracteres cambiados y los textos...
En caso de no encontrar la encriptación, bueno, pues o sabes ingeniería inversa o algo por el estilo u olvidalo...
ComentariosDependiendo del juego, a veces es muy complicado o muy sencillo, eso no se puede saber hasta que se ve. Pero de todos modos, siemrpe hay que intentarlo...