Traducción de Flash (II)

En el primer número de esta serie de artículos sobre la traducción de archivos flash vimos cómo se podría afrontar la localización de un archivo en el que todo el texto traducible se localizaba fácilmente a través de una rápida revisión de los elementos de la biblioteca del archivo .fla.

En este artículo vamos a analizar cómo plantear la localización de un archivo flash que contenga referencias cargadas dinámicamente de forma externa. En realidad, esta técnica es muy habitual, ya que permite incorporar al archivo flash una gran cantidad de texto y material en diferentes formatos, sin que para ello sea necesario añadirlo a la biblioteca del archivo.

Bueno, empecemos con un ejemplo para ilustrar el planteamiento de este segundo artículo sobre traducción de flash, para que todo se entienda más fácilmente. Como vemos en la imagen, tenemos el mismo archivo flash del niño y la niña de la vez anterior, sólo que esta vez se ha añadido un botón; al pulsarlo, aparecen en la película texto un párrafo adicional y un botón con texto.

Pasemos pues a analizar la biblioteca en busca de nuestros elementos traducibles que, en este caso (tras ver la película entera, disponible aquí), serían los del ejemplo del tutorial anterior (el texto ‘The boy/girl’, el texto del botón ‘Text’, el texto del párrafo y el texto ‘SAMPLE’ del botón que aparece abajo del todo). Como podemos ver en la captura de la biblioteca a continuación, encontramos una serie de elementos, que vamos traduciendo como en el caso del primer artículo.

Accedemos a los diferentes símbolos o elementos de la biblioteca y los modificamos para traducirlos. Tras editar correspondientemente los 12 elementos que encontramos en la biblioteca (y duplicar el símbolo The para adaptarlo adecuadamente como se enseñó en el primer tutorial), el resultado es el siguiente.

Todo parecía correcto, pero al pulsar el botón Texto, han aparecido un párrafo y una imagen de un botón que no estaban dentro de la biblioteca y que, por lo tanto, no hemos sabido encontrar. ¿Dónde están? Como se ha comentado al principio, muy a menudo, componentes de todo tipo se cargan externamente (tanto dentro del mismo servidor como de otro) mediante ‘llamadas’ que el propio archivo hace. Estas ‘llamadas’ siempre se realizan a través del código de programación de flash, ActionScript. Por lo tanto, ahora nuestro deber, para poder traducir todo el archivo completo, es estudiar la ‘llamada’ (acción) a los elementos externos para, posteriormente, ubicarlos y localizarlos pertinentemente. Para ello, pulsamos la tecla F9 a fin de abrir la pestaña Acciones de nuestro archivo flash.

Como se observa en esta captura, a través del panel de navegación de la izquierda, podemos movernos por todos los elementos de la película (todas las escenas y la selección actual) que tienen acciones asignadas. En este caso, tenemos una acción en el primer fotograma (una acción ‘stop’ para detener la película) y otra asignada el botón Texto, que es la que nos interesa. En este momento es donde nos valemos de nuestros conocimientos de ActionScript para analizar la acción y detectar la llamada los elementos externos. Aunque el código contiene algunos elementos más para la codificación y la forma de la ejecución, a grandes rasgos podríamos decir que lo que nos interesa es que tras pulsar el botón (elemento on (release)), se declara (crea) una nueva variable de tipo de carga de texto (loadtxt.load) que ‘llama’ al elemento textual externo (exp_en.txt), que en este caso se encuentra en la misma ruta que el propio flash, pero dentro de la carpeta ext (porque así se indica en la ruta de la carga de la variable).

Por lo tanto, ahora que hemos localizado de dónde viene el texto, tan sólo tenemos que acceder al archivo de texto .txt y traducirlo, como se muestra en la siguiente imagen. Es muy importante que sólo se traduzca el texto traducible y que no se modifiquen las marcas ni las referencias HTML inintencionadamente. Por otra parte, dado que no quiero perder el contenido original, guardo la traducción con el mismo nombre pero con el identificador de idioma ES.

Ya hemos traducido todo el texto respetando las marcas HTML, así que ahora sólo tenemos que cambiar la llamada al archivo externo en la pestaña Acciones del archivo flash de exp_en.txt a exp_ES.txt para que se ejecute nuestro texto localizado. Parece que ya está todo listo, ¿no? Comprobémoslo…

¡Vaya, hemos olvidado el botón Sample! Pero, ¿dónde está? En la pestaña Acciones no había ninguna llamada al botón o la imagen del botón, así que, ¿qué hacemos para encontrarla? En realidad, este ejemplo está un poco rebuscado, pero lo he puesto para que se vea que cuando empezamos a escarbar, las posibilidades de programación para los lenguajes orientados a objetos como ActionScript, JavaScript o PHP son prácticamente infinitas. Como dicen en inglés, devil is in the detail, así que en realidad todo sería cuestión de volver a estudiar todos los recursos de nuestra película flash para finalmente darnos cuenta de que dentro del mismo archivo externo exp_ES.txt había enlazada una imagen llamada sample.png mediante la marca SRC= “ext/sample.png”>. Por lo tanto, para finalmente cerrar nuestra traducción, todo lo que quedaría sería localizar de la imagen del botón Sample (si quieres informarte sobre cómo localizar imágenes, hay muchos tutoriales en la Red, por ejemplo, este de Oliver Carreira en http://olivercarreira.es/blog/page/2/) para que el resultado final fuese este:

Ahora sí, ya hemos localizado todo nuestro archivo flash con referencias externas no incluidas en la biblioteca. Sin embargo, es importante decir que en realidad todavía quedaría ajustar bien el texto y la imagen del botón para evitar que queden truncadas, pero eso ya son otros menesteres y la entrada ya se ha alargado más de lo debido.

Bueno, espero que este artículo os haya servido como orientación sobre cómo manejar y buscar referencias externas en un archivo flash. No obstante, es necesario tener en cuenta que hay miles de formas de ejecutar elementos externos. Cuanto mejor interpretemos el código ActionScript, más eficazmente localizaremos los archivos.

Esto es todo. Un saludo,

Álvaro

Traducción de Flash (I)

En los últimos años, el crecimiento de la popularidad del formato Flash en el diseño web se ha visto incrementado de forma exponencial. De hecho, es raro encontrarse ya con alguna web moderna que no incorpore algún elemento en forma de película animada de Flash.

Para los profesionales de la localización esto supone el tener que añadir una serie de habilidades adicionales a la ya de por sí amplia cartera de servicios: el buen profesional debe ser capaz de superar las dificultades de tipo técnico que presentan los archivos en Flash a fin de poder ofrecer un servicio lingüístico de localización de máxima calidad.

En esta entrada del blog (que espero sea la primera de una serie de tres), trataré una serie de consideraciones básicas que los localizadores han de tener en cuenta al enfrentarse  a la traducción de un encargo con elementos en Flash. En este caso, me gustaría puntualizar además que el caso práctico de ejemplo se referirá a un trabajo ficticio con un cliente directo en el que el traductor tendrá acceso al archivo editable .fla tras solicitarlo expresamente al propio cliente. Esta entrada no tiene validez alguna para los flujos de trabajos con grandes LSP (language service provider), en los que a los traductores se le entregan una lista de cadenas y en las que el localizador es exclusivamente responsable de la traducción de las mismas, y no del producto final (incluidas las labores de rediseño, adaptación, etc. que sí se pueden llevar a cabo con algunos clientes directos).

Hecha esta aclaración, expongamos el caso ficticio. Un cliente directo encarga al especialista la localización de un sitio web simple en HTML + CSS que incluye contenidos en Flash como, por ejemplo, la siguiente animación (como se trata de un ejemplo, el archivo en cuestión es lo más sencillo que se me ha ocurrido):

Flash_EN

El cliente directo entrega al traductor un paquete en .rar con todos los archivos publicados en el servidor web (es decir, los archivos .html, imágenes en .jpg y .gif, los archivos Flash en formato .swf, etc.). En este punto, el deber del traductor consiste en solicitar al cliente el archivo de origen y editable de Flash, es decir, en formato .fla (asimismo, también podría solicitar los archivos editables de las imágenes, aunque en este tutorial no vamos a tratarlo). He leído que algunos profesionales proponen usar herramientas tipo SoThink para directamente convertir los archivos finales no editables de .swf Flash en archivos editables .fla. Aunque es una solución que puede funcionar en determinados casos, personalmente preferiría evitarla, ya que sobre todo para animaciones complejas con abundante código ActionScript, la gestión de este tipo de aplicaciones de software puede resultar no muy adecuada y, a largo plazo, podría generar conflictos con el equipo de desarrollo web del cliente. Por lo tanto, si utilizamos el archivo .fla original, nos ahorraremos este tipo de problemas.

Una vez disponemos de nuestro archivo .fla de la animación, podemos abrirlo para traducirlo (en mi caso trabajo con la versión 8 de Flash, no con la actual versión CS5 de Adobe). En primer  lugar, yo recomiendo ver la película completa para analizar visualmente todo el texto que tenemos que traducir. En este caso, sólo se trataría de ‘The boy’ y ‘The girl’. El archivo en cuestión sólo tiene una escena y un fotograma (no podría ser más sencillo), como se muestra en la captura.

Escenario Flash

Por lo tanto, una vez sabemos cuál es el texto que tenemos que traducir tras el análisis visual de la película de origen, es momento de ubicarlo. Es importante aclarar aquí que nos basamos en que para este ejemplo todo el texto localizable está incluido en elementos (símbolos) de la película (veremos en posteriores entradas del blog que también puede incluirse el texto de otras formas, de manera que en principio está oculto y se añade dinámicamente). Partiendo de esta idea, para ubicar el texto debemos examinar la biblioteca de la película (en la parte inferior derecha), donde se encuentran todos los símbolos o elementos constituyentes de la animación Flash.

Antes de comenzar la traducción, voy a guardar el archivo como XXX_es.fla (donde XXX es el nombre original). Ahora ya me dispongo a traducir. Para ello, como se ve en el vídeo ofrecido a continuación, se debe consultar la biblioteca en busca de los archivos donde se almacena el texto. Si el texto se encuentra incluido dentro de imágenes, deberé editar las propias imágenes en su formato original (.jpg, .png, etc.) y, a continuación, actualizarlas (en este ejemplo no se da el caso). Si, por el contrario se encuentra dentro de los símbolos, deberé acceder a ellos y editar los elementos textuales tal y como se muestra en el vídeo de ejemplo disponible en el siguiente enlace:

http://www.alvaromira.es/blog/FlashIa.htm

¿Qué ha sucedido al final? El artículo ‘The’ se ha traducido igualmente para los dos géneros, algo incorrecto. ¿El motivo? Se ha creado en inglés un único símbolo y se han insertado dos instancias (las instancias son repeticiones de los símbolos o elementos de la película), es decir, se ha ahorrado un elemento para el diseño. Aunque en este ejemplo este procedimiento no ahorra demasiado tiempo, esto es algo habitual cuando se trabaja con películas muy grandes en las que hay elementos textuales o visuales que se repiten. Por cuando respecta a la localización, lo interesante es que, como todos sabemos, no todo se traduce siempre de la misma forma, sino que las opciones varían en función del contexto, el espacio (algo que también afecta a la traducción del Flash, como si se tratase de las restricciones de caracteres en la traducción de software), etc. ¿La solución? La mejor solución que podemos ofrecer consiste en duplicar el símbolo original que contiene el texto ‘The’, traducirlo correctamente por ‘La’ y reemplazarlo. Muestro cómo hacerlo en el ejemplo siguiente:

http://www.alvaromira.es/blog/FlashIb.htm

Como vemos, ya hemos superado la dificultad y traducido todo el texto localizable del archivo. Ahora sólo nos quedaría generar el archivo final y compararlo con el original para determinar si el resultado obtenido es el deseado. En nuestro caso, la cosa quería así:

Flash ES

Este ha sido un ejemplo simplificado hasta el extremo con el objetivo de que todos los conceptos estén claros. Como vemos, para traducir películas de Flash sencillas, necesitamos disponer de ciertos conocimientos de Flash, prestar mucha atención al texto y a todos los detalles, así como consultar todos los elementos a fin de detectar posibles problemas como, por ejemplo, cadenas iguales cuya traducción varía en función del contexto, tal como se muestra en el ejemplo. No obstante, como veremos en posteriores entradas, no siempre todo resulta así de sencillo ni tan visual.

Bueno, espero que os haya resultado interesante. Para cualquier duda, ya sabéis, escribidme.

Un saludo,

Álvaro

Recomendación musical: un clásico del indie en español, Los Planetas – Un buen día.