Vi este tutorial en hispanicoweb.net, y me parecio bastante bueno, asi que pensé en ponerlo por aquí para ver si alguien se anima a traducir algún programa :
INTRODUCCION
Debido a la gran cantidad de e-mails recibidos interesándose sobre el método para confeccionar traducciones de programas, nos hemos animado a escribir este modesto tutorial que, en un principio, sólo pretende ser una orientación básica que sirva a los interesados para iniciarse en esta materia.
Todo lo expuesto aquí está basado en experiencias personales adquiridas de manera totalmente autodidacta, usando el método empírico (probando, equivocándose y aprendiendo del error), por lo cual que nadie espere de este tutorial profundas explicaciones técnicas ni respuestas exactas para todas sus dudas. Como tengo la seguridad de que es mucho más lo que desconozco que lo que conozco, pido disculpas adelantadas por los errores cometidos.
--------------------------------------------------------------------------------
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:Su traduccion
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: Su traducción
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: Su traduccion
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: Su traduccion
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 cifrados
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 cifrado [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 cifrado (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.