|
Tutorial de iniciaci髇 a la Traduccion de Programas
CONSIDERACIONES INICIALES
Lo primero que debemos tener en cuenta a la hora de plantear un proyecto de traducci贸n es si estamos legalmente autorizados para efectuar dicha traducci贸n. Como todos sabemos, los programas son propiedad de sus desarrolladores y estos conceden autorizaci贸n para el uso de sus aplicaciones bajo unos condiciones o t茅rminos que, normalmente, vienen reflejados en la Licencia del programa. Si en la citada licencia viene expresamente prohibido la traducci贸n del programa, debemos de abstenernos de confeccionarla, salvo que solicitemos (y obtengamos) la pertinente autorizaci贸n de aquellos que legalmente est茅n capacitados para concederla.
--------------------------------------------------------------------------------
HERRAMIENTAS Y UTILIDADES PARA LA TRADUCCI脫N
Seg煤n mi opinion (y experiencia) personal son necesarios estos programas:
English-Spanish Interpreter Profesional - Shareware
Un traductor complet铆simo, f谩cil de usar (est谩 en castellano), conjuga verbos, tiene sin贸nimos, etc. Es absolutamente imprescindible. Se puede descargar desde http://www.wordmagicsoft.com/
Translation Dictionary & Tools Profesional - Shareware
Un diccionario de lo mejorcito que hay, y que complementa al traductor. En castellano. Se puede descargar desde http://www.wordmagicsoft.com/
IT Dictionary - Shareware
Diccionario especializado en t茅rminos inform谩ticos. Es un excelente complemento a los dos programas anteriores y aunque no es imprescindible, s铆 que es de mucha utilidad. En castellano. Se puede descargar desde http://www.wordmagicsoft.com/
Ultraedit - Shareware
Es un editor h茅xadecimal con el cual se pueden abrir casi todos los tipos de archivos conocidos. Est谩 en castellano y nos servir谩 para modificar los textos que no se pueden traducir con los editores de recursos. Se puede descargar desde http://www.idmcomp.com/
PSPad - Freeware
Es otro editor h茅xadecimal similar al anterior. Nos servir谩 para modificar los textos que no se pueden traducir con los editores de recursos. Se puede descargar la versi贸n en ingl茅s desde http://www.pspad.com/
Nota: En la secci贸n de HERRAMIENTAS TRADUCCI脫N puedes encontrar el parche traductor para este programa.
AnalogX TextScan 1.02 - Freeware
Esta es una curiosa aplicaci贸n que sirve para extraer todos los textos escritos en un archivo exe o dll (muchos de los cuales no veremos con los editores de recursos) a un simple un fichero .csv que podemos pasar f谩cilmente a texto cambi谩ndole la extension a .txt. Es muy 煤til para encontrar los textos que tendremos que cambiar con los editores h茅xadecimales. Est谩 en ingl茅s (aunque esto no es un inconveniente, porque es muy f谩cil de usar y tiene pocas opciones) y lo puedes bajar desde http://www.analogx.com/
Exescope - Shareware
Este programa, junto con el siguiente, ser谩n tus mejores herramientas. Es un editor de recursos y con 茅l se pueden abrir y modificar los men煤s de los archivos EXE y las DLL (tambi茅n alg煤n tipo m谩s, pero los fundamentales son estos). Tambi茅n puede modificar el tama帽o y disposici贸n de las teclas y cuadros de di谩logo, etc. Est谩 en ingl茅s y se puede descargar desde http://hp.vector.co.jp/authors/VA003525/Eindex.htm
Nota: En la secci贸n de HERRAMIENTAS TRADUCCI脫N puedes encontrar una versi贸n de este programa traducida al espa帽ol.
Resource Hacker - Freeware
Este es otro editor de recursos muy parecido al anterior (en algunas situaciones es m谩s conveniente que el anterior). Es interesante tener los dos editores, ya que a veces los archivos que no se pueden editar con uno de ellos se pueden editar con el otro. Est谩 en ingl茅s y lo puedes bajar desde http://www.users.on.net/johnson/resourcehacker/
Nota: En la secci贸n de HERRAMIENTAS TRADUCCI脫N puedes encontrar una versi贸n de este programa traducida al espa帽ol.
File Inspector XL - Freeware
Muy buena utilidad para analizar archivos y averiguar si est谩n comprimidos y que programa se ha utilizado para ello. En espa帽ol. Se puede bajar de http://www.fileinspector.cjb.net/
UPX-GUI 1.20w - Freeware
Herramienta para comprimir/descomprimir los archivos ejecutables en los que se han usado Nota:En la secci贸n de HERRAMIENTAS TRADUCCI脫N puedes encontrar una versi贸n de este programa traducida al espa帽ol.
Estos son los programas fundamentales. Por supuesto hay otros muchos m谩s que tambi茅n puede servir para nuestro objetivo, pero estos que aqu铆 relaciono son los que habitualmente yo utilizo. Con estos programas y las necesarias e imprescindibles nociones del idioma ingl茅s ya estamos perfectamente preparados para acometer nuestra primera traducci贸n.
--------------------------------------------------------------------------------
QUE TRADUCIR
Normalmente los textos, men煤s, avisos, im谩genes, iconos, etc, (todo lo cual denominaremos RECURSOS), se encuentran localizados en los archivos EXE (ejecutables) y DLL (librer铆as), aunque tambi茅n se pueden encontrar en archivos con otras extensiones (como *.ocx y *.vbx).
Tambi茅n est谩n los programas con soporte multil铆ngue (por ejemplo: FlashGet o Ad-Aware) que ya vienen preparados para que el usuario confeccione su propio m贸dulo de idioma. La mayor铆a de los textos de men煤s y avisos est谩n en un archivo de texto simple que puede tener diferentes extensiones (lng, txt, ini) y que se puede editar desde el Bloc de Notas o Word (aunque lo suyo es usar un editor h茅xadecimal como Ultraedit). No tienen m谩s dificultad que abrir el fichero en ingl茅s y cambiar las frases y palabras por su traducci贸n al espa帽ol, renombrar el archivo, incorporarlo a la carpeta que contenga el resto de los archivos de idioma y seleccionar desde el programa el nuevo idioma. Tambi茅n hay algunos programas con soporte multilingue que utiliza archivos dll en vez de archivos de texto para los m贸dulos de idioma. En ese caso, en vez de un editor de texto simple utilizaremos un programa editor de recursos.
Por desgracia los programas con soporte multilingue no son tan abundantes como ser铆a deseable y normalmente tendremos que trabajar con los archivos EXE y DLL del programa en ingl茅s. Por ello en los pr贸ximos cap铆tulos nos centraremos en los programas que NO tienen este soporte multilingue.
--------------------------------------------------------------------------------
COMO TRADUCIR
Para explicar lo siguiente, vamos a utilizar principalmente un editor de recursos, en concreto el programa Exescope, [ver captura], aunque tambi茅n podriamos usar igualmente el programa Resource Hacker. Al "abrir" los archivos EXE y DLL nos podemos encontrar (en la mayor铆a de los casos) con dos estilos diferentes, en funci贸n de que los archivos abiertos est茅n compilados con Basic o con Delphi (los dos lenguajes de programaci贸n m谩s utilizados) y que a efectos did谩cticos vamos a denominar respectivamente Tipo 1 y Tipo 2.
TIPO 1 (Basic)
Es el m谩s manejable y por lo tanto, el mejor desde el punto de vista del traductor. De este tipo son los archivos ejecutables de los programas WinZip y ZoneAlarm, entre otros. Si utilizamos de ejemplo el archivo ejecutable del primero (Winzip32.exe) y lo editamos con Exescope veremos esto [ver captura 1]. Al desplegar la ra铆z Resources (recursos) nos encontramos una serie de sub-apartados, algunos de los cuales son los que interesan para nuestra labor. En este caso concreto, nos interesan los siguientes:
AVI (tambi茅n puede ser GIF) --> Aqu铆 tenemos los ficheros en formato .avi 贸 .gif con las animaciones que se pueden ver en el programa [ver captura 2]. Desde el editor de recursos podemos exportarlas (extraer del ejecutable) y con la herramienta adecuada, hacer las modificaciones que deseemos para, a continuaci贸n, importarlas de nuevo dentro del ejecutable.
BITMAP --> Aqu铆 est谩n los archivos de mapas de bits que contienen las im谩genes que el programa muestra [ver captura 3]. Se pueden exportar como archivos .bmp, modificar con un editor tal como el Paint que trae Windows (por ejemplo) y volver a importarlo dentro del ejecutable. Al hacer esto hay que tener en cuenta no modificar el tama帽o de la imagen.
MENU --> Nos muestra los men煤s del programa en esquema de 谩rbol [ver captura 4]. Estos men煤s pueden ser los que aparecen en la barra de men煤s (el t铆pico de la parte superior de la pantalla), el men煤 contextual (el que aparece cuando hacemos clic con el bot贸n derecho del rat贸n) o cualquier otro tipo de men煤 desplegable. Para modificarlo hay que resaltar el t茅rmino que deseamos cambiar y escribir. El tama帽o y disposici贸n se adapta autom谩ticamente a la extensi贸n de t茅rmino escrito, por lo cual, no hay que preocuparse por este aspecto. Observaremos que, muy a menudo, aparece delante o en medio de los t茅rminos o frases el s铆mbolo &, esto sirve para indicar que el caracter siguiente al s铆mbolo es la tecla de acceso r谩pido y por lo tanto en el programa aparecer谩 subrayada. Hay que tener cuidado de que en una misma rama del men煤 no aparezca la misma letra marcada en dos opciones distintas.
DIALOG --> Como podemos deducir, aqu铆 encontramos los cuadros de di谩logo del programa [ver captura 5] que podremos ver de forma gr谩fica gracias al editor de di谩logos de Exescope [ver captura 6]. Es donde m谩s trabajaremos, puesto que no solo hay que traducir sino que adem谩s, en algunos casos, habr谩 que modificar la disposici贸n de los elementos del cuadro del di谩logo para que se visualicen correctamente. Esto es debido a que casi todas las palabras en espa帽ol ocupan m谩s espacio f铆sico que los t茅rminos equivalentes en ingl茅s y en los cuadros de di谩logo (al contrario de lo que suced铆a con los men煤s) no se produce el redimensionado autom谩tico, por lo cual debemos hacerlo manualmente, modificando la disposici贸n original de los elementos. Esto se puede hacer de dos maneras:
1.- Redimensionando directamente con el editor de di谩logo, mediante el simple procedimiento de pulsar y arrastrar [ver captura 7].
2.- Mediante la modificaci贸n de los valores que se pueden ver en la parte superior del cuadro derecho de Exescope, donde se puede indicar la posicion (X,Y) y el tama帽o (Width->Ancho y Height->Alto) que debe tener el elemento que tengamos seleccionado en ese momento [ver captura 8].
STRING --> Aqu铆 est谩n las frases o palabras que aparecen en los cuadros de aviso y error, en la barra de estado, en los "tools tips" (que s贸n estos cartelitos explicativos que aparecen al poner el puntero sobre un icono o una funci贸n del programa), etc... [ver captura 9]. Muchas de estas frases o palabras no las veremos casi nunca, puesto que solo aparecen en casos muy espec铆ficos y que normalmente no se d谩n. Aqu铆, igual que con los men煤s, no hay que preocuparse de las dimensiones y/o posici贸n, la 煤nica e importante precauci贸n a tener en cuenta es no modificar nada m谩s que los textos. No debemos cambiar el orden, ni los n煤meros identificativos, ni la coma que les sigue, as铆 como tampoco s铆mbolos como "%s", "%d", "$0A", "$0D" 贸 similares. S铆 podemos cambiar de posici贸n el s铆mbolo &, que tiene aqu铆 la misma funci贸n que en los men煤s.
CURSOR --> Aqu铆 est谩n los cursores del programa [ver captura 10]. Se pueden exportar e importar.
ICON --> Aqu铆 est谩n los iconos [ver captura 11]. Tambi茅n se pueden exportar e importar.
En el archivo del ejemplo no est谩, pero en otros puede aparecer este apartado:
DIALOGDATA --> Aqu铆 est谩n las frases/palabras que aparecen en los cuadros de di谩logo desplegables [ver captura 12] y son iguales a las que aparecen en string.
Podemos encontrar algunos otros tipos de apartados pero o bi茅n no pueden editarse para modificarlos o no interesa hacerlo, ya que el resultado no se apreciar谩.
TIPO 2 (Delphi)
Este otro tipo es un m谩s complejo de manejar, pero igualmente factible. De este tipo son los ejecutables de, por ejemplo, los programas editores de recursos, Exescope y ResHacker y al abrirlos encontraremos pr谩cticamente las mismas clases de recursos. La diferencia estriba en que los cuadros de di谩logo est谩n en el apartado llamado RCData y no se presentan gr谩ficamente, sino como una relaci贸n de ordenes escritas una tr谩s la otra [ver captura 13].
Aqu铆 hay que buscar las frases/palabras que est谩n entre comillas simples y que son los elementos a traducir (ejemplo: Caption = 'About...' 贸 Hint = 'About...'). Algunos ejecutables de este tipo no permiten escribir m谩s caracteres de los que tiene la palabra o frase en ingl茅s. Es decir, si vemos 'About...' se puede escribir, como mucho, ocho caracteres, pero si se usa alguno menos los sobrantes se pueden utilizar en la siguiente palabra/frase.
Aunque es algo m谩s complicado, tambi茅n se pueden modificar la posici贸n y dimensiones de los diferentes elementos de un cuadro de di谩logo. Para ello, una vez traducida la frase/palabra, buscamos unas l铆neas m谩s arriba o abajo las siguientes expresiones:
Left = 27
Top = 128
Width = 241
Height = 15
Esto es equivalente a lo que vimos anteriormente como X, Y,Ancho y Alto. Por lo cual es posible modificarlos de igual forma que se redimensionaba por valores en el TIPO 1. La dificultad est谩 en que para ver los resultados habr谩 que ejecutar el programa una vez modificado y habr谩 que buscar la pantalla en cuesti贸n dentro del programa para as铆 poder observar los resultados.
Tambi茅n puede ocurrir (esto es com煤n para los dos tipos) que, una vez traducidos los archivos EXE y DLL del programa, al comprobar el resultado de nuestro esfuerzo, nos apercibamos que en el programa aparece alg煤n texto sin traducir. Esto es debido (normalmente) a que este texto no traducido se encuentra en una parte del archivo diferente a la que contiene los recursos. En estos casos tenemos que recurrir al editor h茅xadecimal para abrir el archivo en cuesti贸n y desde ah铆 buscar el texto y modificarlo, teniendo much铆simo cuidado de no modificar nada m谩s y con la gran limitaci贸n de que aqu铆 no podremos a帽adir ni un caracter m谩s de los que tenga la palabra o frase en ingl茅s.
Para facilitarnos un poco este tipo operaciones podemos ayudarnos del programa AnalogX TextScan 1.02. Este programa posibilita la extracci贸n a un archivo .csv de todas las palabras o frases escritas dentro de un archivo EXE, DLL. etc, que sean legibles. Una vez que tengamos este archivo .csv lo renombraremos manualmente con la extensi贸n .txt para poder leerlo con el Bloc de Notas y as铆 seleccionar aquellas palabras/frases que queramos localizar y traducir. Por 煤ltimo s贸lo tenemos que abrir con el editor h茅xadecimal el archivo EXE o DLL a traducir, y mediante la herramienta Buscar que tienen estos programas localizar facilmente la ubicaci贸n de la frase 贸 palabra a traducir.
--------------------------------------------------------------------------------
ARCHIVOS COMPRIMIDOS Y ENCRIPTADOS
Bastantes veces nos encontraremos que, al intentar abrir un archivo, el editor de recursos es incapaz de leerlo y modificarlo porque est谩 comprimido o ha sido encriptado [ver captura 14]. En este caso y con un poco de suerte, a煤n es posible solucionar este detalle. Lo primero que debemos hacer es averiguar que programa y versi贸n de compresor (packer) ha sido utilizado.
Para ello usaremos el programa File Inspector XL (o similar), con el cual analizaremos el archivo en cuesti贸n. Una vez conocido el packer, [ver captura 15] (en el ejemplo se trata de UPX 0.80-0.84; http://upx.sourceforge.net) lo siguiente es buscar una aplicaci贸n que invierta esta compresi贸n o encriptaci贸n (unpacker). Lo cual podremos hacer visitando alguna de las dedicadas a ese tema, como http://www.exetools.com/, en la que seguramente encontraremos lo que necesitamos y conseguiremos desempacar el archivo y hacerlo legible para los editores de recursos, tras lo que proceremos como se ha descrito anteriormente.
Uno de los empacadores m谩s populares y por lo tanto muy usado por los desarrolladores de programas por ser de gran calidad a la vez que esgratuito es el programa UPX. Debido a esto, es muy conveniente tener instalado el programa UPX-GUI 1.20w, con el que podremos en unos segundos y desde el mismo men煤 contextual del Exlorador de Windows empacar o desempacar ejecutables y librer铆as sin ninguna dificultad.
--------------------------------------------------------------------------------
CONCLUSION
He intentado volcar el m谩ximo de informaci贸n disponible en este breve tutorial para facilitar en la mayor medida posible el inicio en la traducci贸n de programas, pero si tenemos en cuenta que la madre de la ciencia es la experiencia, la mejor manera de adquirir los conocimientos necesarios es, simplemente, practicando. Para ello lo m谩s recomendable es empezar con un archivo ya traducido y su correspondiente original en ingl茅s y as铆 poder ir comparando como se ha realizado la traducci贸n. Y por supuesto no hay que olvidarse de hacer una copia de seguridad del archivo que quieras traducir. . . , por si acaso.
CONSIDERACIONES INICIALES
Lo primero que debemos tener en cuenta a la hora de plantear un proyecto de traducci贸n es si estamos legalmente autorizados para efectuar dicha traducci贸n. Como todos sabemos, los programas son propiedad de sus desarrolladores y estos conceden autorizaci贸n para el uso de sus aplicaciones bajo unos condiciones o t茅rminos que, normalmente, vienen reflejados en la Licencia del programa. Si en la citada licencia viene expresamente prohibido la traducci贸n del programa, debemos de abstenernos de confeccionarla, salvo que solicitemos (y obtengamos) la pertinente autorizaci贸n de aquellos que legalmente est茅n capacitados para concederla.
--------------------------------------------------------------------------------
HERRAMIENTAS Y UTILIDADES PARA LA TRADUCCI脫N
Seg煤n mi opinion (y experiencia) personal son necesarios estos programas:
English-Spanish Interpreter Profesional - Shareware
Un traductor complet铆simo, f谩cil de usar (est谩 en castellano), conjuga verbos, tiene sin贸nimos, etc. Es absolutamente imprescindible. Se puede descargar desde http://www.wordmagicsoft.com/
Translation Dictionary & Tools Profesional - Shareware
Un diccionario de lo mejorcito que hay, y que complementa al traductor. En castellano. Se puede descargar desde http://www.wordmagicsoft.com/
IT Dictionary - Shareware
Diccionario especializado en t茅rminos inform谩ticos. Es un excelente complemento a los dos programas anteriores y aunque no es imprescindible, s铆 que es de mucha utilidad. En castellano. Se puede descargar desde http://www.wordmagicsoft.com/
Ultraedit - Shareware
Es un editor h茅xadecimal con el cual se pueden abrir casi todos los tipos de archivos conocidos. Est谩 en castellano y nos servir谩 para modificar los textos que no se pueden traducir con los editores de recursos. Se puede descargar desde http://www.idmcomp.com/
PSPad - Freeware
Es otro editor h茅xadecimal similar al anterior. Nos servir谩 para modificar los textos que no se pueden traducir con los editores de recursos. Se puede descargar la versi贸n en ingl茅s desde http://www.pspad.com/
Nota: En la secci贸n de HERRAMIENTAS TRADUCCI脫N puedes encontrar el parche traductor para este programa.
AnalogX TextScan 1.02 - Freeware
Esta es una curiosa aplicaci贸n que sirve para extraer todos los textos escritos en un archivo exe o dll (muchos de los cuales no veremos con los editores de recursos) a un simple un fichero .csv que podemos pasar f谩cilmente a texto cambi谩ndole la extension a .txt. Es muy 煤til para encontrar los textos que tendremos que cambiar con los editores h茅xadecimales. Est谩 en ingl茅s (aunque esto no es un inconveniente, porque es muy f谩cil de usar y tiene pocas opciones) y lo puedes bajar desde http://www.analogx.com/
Exescope - Shareware
Este programa, junto con el siguiente, ser谩n tus mejores herramientas. Es un editor de recursos y con 茅l se pueden abrir y modificar los men煤s de los archivos EXE y las DLL (tambi茅n alg煤n tipo m谩s, pero los fundamentales son estos). Tambi茅n puede modificar el tama帽o y disposici贸n de las teclas y cuadros de di谩logo, etc. Est谩 en ingl茅s y se puede descargar desde http://hp.vector.co.jp/authors/VA003525/Eindex.htm
Nota: En la secci贸n de HERRAMIENTAS TRADUCCI脫N puedes encontrar una versi贸n de este programa traducida al espa帽ol.
Resource Hacker - Freeware
Este es otro editor de recursos muy parecido al anterior (en algunas situaciones es m谩s conveniente que el anterior). Es interesante tener los dos editores, ya que a veces los archivos que no se pueden editar con uno de ellos se pueden editar con el otro. Est谩 en ingl茅s y lo puedes bajar desde http://www.users.on.net/johnson/resourcehacker/
Nota: En la secci贸n de HERRAMIENTAS TRADUCCI脫N puedes encontrar una versi贸n de este programa traducida al espa帽ol.
File Inspector XL - Freeware
Muy buena utilidad para analizar archivos y averiguar si est谩n comprimidos y que programa se ha utilizado para ello. En espa帽ol. Se puede bajar de http://www.fileinspector.cjb.net/
UPX-GUI 1.20w - Freeware
Herramienta para comprimir/descomprimir los archivos ejecutables en los que se han usado Nota:En la secci贸n de HERRAMIENTAS TRADUCCI脫N puedes encontrar una versi贸n de este programa traducida al espa帽ol.
Estos son los programas fundamentales. Por supuesto hay otros muchos m谩s que tambi茅n puede servir para nuestro objetivo, pero estos que aqu铆 relaciono son los que habitualmente yo utilizo. Con estos programas y las necesarias e imprescindibles nociones del idioma ingl茅s ya estamos perfectamente preparados para acometer nuestra primera traducci贸n.
--------------------------------------------------------------------------------
QUE TRADUCIR
Normalmente los textos, men煤s, avisos, im谩genes, iconos, etc, (todo lo cual denominaremos RECURSOS), se encuentran localizados en los archivos EXE (ejecutables) y DLL (librer铆as), aunque tambi茅n se pueden encontrar en archivos con otras extensiones (como *.ocx y *.vbx).
Tambi茅n est谩n los programas con soporte multil铆ngue (por ejemplo: FlashGet o Ad-Aware) que ya vienen preparados para que el usuario confeccione su propio m贸dulo de idioma. La mayor铆a de los textos de men煤s y avisos est谩n en un archivo de texto simple que puede tener diferentes extensiones (lng, txt, ini) y que se puede editar desde el Bloc de Notas o Word (aunque lo suyo es usar un editor h茅xadecimal como Ultraedit). No tienen m谩s dificultad que abrir el fichero en ingl茅s y cambiar las frases y palabras por su traducci贸n al espa帽ol, renombrar el archivo, incorporarlo a la carpeta que contenga el resto de los archivos de idioma y seleccionar desde el programa el nuevo idioma. Tambi茅n hay algunos programas con soporte multilingue que utiliza archivos dll en vez de archivos de texto para los m贸dulos de idioma. En ese caso, en vez de un editor de texto simple utilizaremos un programa editor de recursos.
Por desgracia los programas con soporte multilingue no son tan abundantes como ser铆a deseable y normalmente tendremos que trabajar con los archivos EXE y DLL del programa en ingl茅s. Por ello en los pr贸ximos cap铆tulos nos centraremos en los programas que NO tienen este soporte multilingue.
--------------------------------------------------------------------------------
COMO TRADUCIR
Para explicar lo siguiente, vamos a utilizar principalmente un editor de recursos, en concreto el programa Exescope, [ver captura], aunque tambi茅n podriamos usar igualmente el programa Resource Hacker. Al "abrir" los archivos EXE y DLL nos podemos encontrar (en la mayor铆a de los casos) con dos estilos diferentes, en funci贸n de que los archivos abiertos est茅n compilados con Basic o con Delphi (los dos lenguajes de programaci贸n m谩s utilizados) y que a efectos did谩cticos vamos a denominar respectivamente Tipo 1 y Tipo 2.
TIPO 1 (Basic)
Es el m谩s manejable y por lo tanto, el mejor desde el punto de vista del traductor. De este tipo son los archivos ejecutables de los programas WinZip y ZoneAlarm, entre otros. Si utilizamos de ejemplo el archivo ejecutable del primero (Winzip32.exe) y lo editamos con Exescope veremos esto [ver captura 1]. Al desplegar la ra铆z Resources (recursos) nos encontramos una serie de sub-apartados, algunos de los cuales son los que interesan para nuestra labor. En este caso concreto, nos interesan los siguientes:
AVI (tambi茅n puede ser GIF) --> Aqu铆 tenemos los ficheros en formato .avi 贸 .gif con las animaciones que se pueden ver en el programa [ver captura 2]. Desde el editor de recursos podemos exportarlas (extraer del ejecutable) y con la herramienta adecuada, hacer las modificaciones que deseemos para, a continuaci贸n, importarlas de nuevo dentro del ejecutable.
BITMAP --> Aqu铆 est谩n los archivos de mapas de bits que contienen las im谩genes que el programa muestra [ver captura 3]. Se pueden exportar como archivos .bmp, modificar con un editor tal como el Paint que trae Windows (por ejemplo) y volver a importarlo dentro del ejecutable. Al hacer esto hay que tener en cuenta no modificar el tama帽o de la imagen.
MENU --> Nos muestra los men煤s del programa en esquema de 谩rbol [ver captura 4]. Estos men煤s pueden ser los que aparecen en la barra de men煤s (el t铆pico de la parte superior de la pantalla), el men煤 contextual (el que aparece cuando hacemos clic con el bot贸n derecho del rat贸n) o cualquier otro tipo de men煤 desplegable. Para modificarlo hay que resaltar el t茅rmino que deseamos cambiar y escribir. El tama帽o y disposici贸n se adapta autom谩ticamente a la extensi贸n de t茅rmino escrito, por lo cual, no hay que preocuparse por este aspecto. Observaremos que, muy a menudo, aparece delante o en medio de los t茅rminos o frases el s铆mbolo &, esto sirve para indicar que el caracter siguiente al s铆mbolo es la tecla de acceso r谩pido y por lo tanto en el programa aparecer谩 subrayada. Hay que tener cuidado de que en una misma rama del men煤 no aparezca la misma letra marcada en dos opciones distintas.
DIALOG --> Como podemos deducir, aqu铆 encontramos los cuadros de di谩logo del programa [ver captura 5] que podremos ver de forma gr谩fica gracias al editor de di谩logos de Exescope [ver captura 6]. Es donde m谩s trabajaremos, puesto que no solo hay que traducir sino que adem谩s, en algunos casos, habr谩 que modificar la disposici贸n de los elementos del cuadro del di谩logo para que se visualicen correctamente. Esto es debido a que casi todas las palabras en espa帽ol ocupan m谩s espacio f铆sico que los t茅rminos equivalentes en ingl茅s y en los cuadros de di谩logo (al contrario de lo que suced铆a con los men煤s) no se produce el redimensionado autom谩tico, por lo cual debemos hacerlo manualmente, modificando la disposici贸n original de los elementos. Esto se puede hacer de dos maneras:
1.- Redimensionando directamente con el editor de di谩logo, mediante el simple procedimiento de pulsar y arrastrar [ver captura 7].
2.- Mediante la modificaci贸n de los valores que se pueden ver en la parte superior del cuadro derecho de Exescope, donde se puede indicar la posicion (X,Y) y el tama帽o (Width->Ancho y Height->Alto) que debe tener el elemento que tengamos seleccionado en ese momento [ver captura 8].
STRING --> Aqu铆 est谩n las frases o palabras que aparecen en los cuadros de aviso y error, en la barra de estado, en los "tools tips" (que s贸n estos cartelitos explicativos que aparecen al poner el puntero sobre un icono o una funci贸n del programa), etc... [ver captura 9]. Muchas de estas frases o palabras no las veremos casi nunca, puesto que solo aparecen en casos muy espec铆ficos y que normalmente no se d谩n. Aqu铆, igual que con los men煤s, no hay que preocuparse de las dimensiones y/o posici贸n, la 煤nica e importante precauci贸n a tener en cuenta es no modificar nada m谩s que los textos. No debemos cambiar el orden, ni los n煤meros identificativos, ni la coma que les sigue, as铆 como tampoco s铆mbolos como "%s", "%d", "$0A", "$0D" 贸 similares. S铆 podemos cambiar de posici贸n el s铆mbolo &, que tiene aqu铆 la misma funci贸n que en los men煤s.
CURSOR --> Aqu铆 est谩n los cursores del programa [ver captura 10]. Se pueden exportar e importar.
ICON --> Aqu铆 est谩n los iconos [ver captura 11]. Tambi茅n se pueden exportar e importar.
En el archivo del ejemplo no est谩, pero en otros puede aparecer este apartado:
DIALOGDATA --> Aqu铆 est谩n las frases/palabras que aparecen en los cuadros de di谩logo desplegables [ver captura 12] y son iguales a las que aparecen en string.
Podemos encontrar algunos otros tipos de apartados pero o bi茅n no pueden editarse para modificarlos o no interesa hacerlo, ya que el resultado no se apreciar谩.
TIPO 2 (Delphi)
Este otro tipo es un m谩s complejo de manejar, pero igualmente factible. De este tipo son los ejecutables de, por ejemplo, los programas editores de recursos, Exescope y ResHacker y al abrirlos encontraremos pr谩cticamente las mismas clases de recursos. La diferencia estriba en que los cuadros de di谩logo est谩n en el apartado llamado RCData y no se presentan gr谩ficamente, sino como una relaci贸n de ordenes escritas una tr谩s la otra [ver captura 13].
Aqu铆 hay que buscar las frases/palabras que est谩n entre comillas simples y que son los elementos a traducir (ejemplo: Caption = 'About...' 贸 Hint = 'About...'). Algunos ejecutables de este tipo no permiten escribir m谩s caracteres de los que tiene la palabra o frase en ingl茅s. Es decir, si vemos 'About...' se puede escribir, como mucho, ocho caracteres, pero si se usa alguno menos los sobrantes se pueden utilizar en la siguiente palabra/frase.
Aunque es algo m谩s complicado, tambi茅n se pueden modificar la posici贸n y dimensiones de los diferentes elementos de un cuadro de di谩logo. Para ello, una vez traducida la frase/palabra, buscamos unas l铆neas m谩s arriba o abajo las siguientes expresiones:
Left = 27
Top = 128
Width = 241
Height = 15
Esto es equivalente a lo que vimos anteriormente como X, Y,Ancho y Alto. Por lo cual es posible modificarlos de igual forma que se redimensionaba por valores en el TIPO 1. La dificultad est谩 en que para ver los resultados habr谩 que ejecutar el programa una vez modificado y habr谩 que buscar la pantalla en cuesti贸n dentro del programa para as铆 poder observar los resultados.
Tambi茅n puede ocurrir (esto es com煤n para los dos tipos) que, una vez traducidos los archivos EXE y DLL del programa, al comprobar el resultado de nuestro esfuerzo, nos apercibamos que en el programa aparece alg煤n texto sin traducir. Esto es debido (normalmente) a que este texto no traducido se encuentra en una parte del archivo diferente a la que contiene los recursos. En estos casos tenemos que recurrir al editor h茅xadecimal para abrir el archivo en cuesti贸n y desde ah铆 buscar el texto y modificarlo, teniendo much铆simo cuidado de no modificar nada m谩s y con la gran limitaci贸n de que aqu铆 no podremos a帽adir ni un caracter m谩s de los que tenga la palabra o frase en ingl茅s.
Para facilitarnos un poco este tipo operaciones podemos ayudarnos del programa AnalogX TextScan 1.02. Este programa posibilita la extracci贸n a un archivo .csv de todas las palabras o frases escritas dentro de un archivo EXE, DLL. etc, que sean legibles. Una vez que tengamos este archivo .csv lo renombraremos manualmente con la extensi贸n .txt para poder leerlo con el Bloc de Notas y as铆 seleccionar aquellas palabras/frases que queramos localizar y traducir. Por 煤ltimo s贸lo tenemos que abrir con el editor h茅xadecimal el archivo EXE o DLL a traducir, y mediante la herramienta Buscar que tienen estos programas localizar facilmente la ubicaci贸n de la frase 贸 palabra a traducir.
--------------------------------------------------------------------------------
ARCHIVOS COMPRIMIDOS Y ENCRIPTADOS
Bastantes veces nos encontraremos que, al intentar abrir un archivo, el editor de recursos es incapaz de leerlo y modificarlo porque est谩 comprimido o ha sido encriptado [ver captura 14]. En este caso y con un poco de suerte, a煤n es posible solucionar este detalle. Lo primero que debemos hacer es averiguar que programa y versi贸n de compresor (packer) ha sido utilizado.
Para ello usaremos el programa File Inspector XL (o similar), con el cual analizaremos el archivo en cuesti贸n. Una vez conocido el packer, [ver captura 15] (en el ejemplo se trata de UPX 0.80-0.84; http://upx.sourceforge.net) lo siguiente es buscar una aplicaci贸n que invierta esta compresi贸n o encriptaci贸n (unpacker). Lo cual podremos hacer visitando alguna de las dedicadas a ese tema, como http://www.exetools.com/, en la que seguramente encontraremos lo que necesitamos y conseguiremos desempacar el archivo y hacerlo legible para los editores de recursos, tras lo que proceremos como se ha descrito anteriormente.
Uno de los empacadores m谩s populares y por lo tanto muy usado por los desarrolladores de programas por ser de gran calidad a la vez que esgratuito es el programa UPX. Debido a esto, es muy conveniente tener instalado el programa UPX-GUI 1.20w, con el que |