Si estás leyendo este documento de traducción de extensiones mediante MozillaTranslator, es porque quieres usar MT para el proceso de realizar la traducción de extensiones. Este documento es un complemento al de traducción de extensiones, y que, antes de continuar, es imprescindible haber seguido al menos hasta el punto donde se elige el programa con el que se desea realizar la traducción.
MT es la herramienta que se ha venido usando tradicionalmente en la traducción de productos Mozilla. Carece de ciertas características avanzadas, pero tiene otras funcionalidad útiles que no lo desechan inicialmente. La elección o no de MT es totalmente personal, y no debe ser excluyente de usar otras herramientas, bien ahora, bien en el futuro.
El primer requisito es leer e instalar MozillaTranslator según se indica en el tutorial de MT5. Se parte de la base de que ya se está familiarizado con los conceptos de utilización de MT. Se ha preparado un script llamado MT.sh, y que está incluido en el fichero con las plantillas de las extensiones, el cual habremos descomprimido y comprobado con las especificaciones del mismo documento, al menos la parte relativa a MT. El contenido actual del script es el siguiente:
#!/bin/bash
# Variables definidas por el usuario
# Directorio donde reside el fichero mt.jar (enlace a mt504.jar)
MTDIR=~/MT
# Toma la variable del sistema. Si no existe, definir JAVA_HOME
if [ ! "$JAVA_HOME" ]; then
JAVA_HOME=/usr/local/java;
# JAVA_HOME=/cygdrive/c/Archivos\ de\ programa/Java/jre1.5.0_06;
fi
# Fin de variables definidas por el usuario
# Directorio de trabajo
WKDIR=$(pwd)
echo "El directorio de trabajo es $WKDIR"
if [ $OSTYPE = 'cygwin' ]; then
"$JAVA_HOME/bin/java.exe" -jar $(cygpath -w $MTDIR/mt.jar) &
else
${JAVA_HOME}/bin/java -jar $MTDIR/mt.jar &
fi
Una variante introducida en este script, es que si se define el directorio donde se encuentra el fichero original mt.jar en la variable $MTDIR (según la documentación de extensiones debe ser siempre ~/MT), ya no es necesario el enlace simbólico que había antes en el directorio de trabajo. El script viene configurado para un entorno linux, y se define la variable JAVA_HOME=/usr/local/java para un binario de java que se encuentra en /usr/local/java/bin/java. Si usas linux y el binario de java está en otro sitio, modifica la línea para que apunte a la ubicación adecuada (quitando /bin/java de la ruta completa). Procede igualmente si usas cygwin, pero tomando el modelo de debajo, con la referencia de que /cygdrive/c/Archivos\ de\ programa/Java/jre1.5.0_06 corresponde a
Todas las acciones que se tratan en este documento se van a realizar siempre desde el directorio de trabajo de MT, que es el directorio de la versión específica de la extensión. Para traducir extensiones, el método de ejecución difiere ligeramente del especificado. Al estar en el directorio de trabajo de MT, también estarán los ficheros relacionados de MT, como Glossary.zip, que obviamente en el instante de crear el directorio de trabajo, pues no existen.
Ejecutamos MT con ./MT.sh (ojo al punto ".", es importante). Si hemos configurado correctamente los parámetros y la máquina virtual de java, se abrirá MT en blanco (a menos que exista un Glossary.zip anterior, obviamente). Si no tenemos ningún producto, creamos uno rellenando únicamente la casilla "Name" con el nombre de la extensión (el nombre puede ser cualquiera).
Este paso tiene como objetivo cargar y/o actualizar en MT las cadenas que hay que traducir, circunstancia que ocurre cuando no tenemos esas cadenas en el Glossary.zip (es decir, cuando vamos a traducir una versión nueva de una extensión o no se ha realizado nunca una traducción de esa extensión).
Para importar las cadenas a traducir, vamos al menú Import-> Import CVS directory, elegimos el directorio jar/locale/en-US/ de nuestra versión, y después de poner es-ES en la casilla "Locale" y seleccionar los elementos que deseamos ver, pulsamos OK. Nos saldrá una ventana con todas las cadenas modificadas (si no sale ninguna ventana, es que no hay modificaciones), las cuales iremos comprobando manualmente y traduciendo a menos que queramos importar una traducción anterior, en cuyo caso dejaremos esta ventana abierta sin tocar nada más de momento.
Después de haber importado las cadenas a traducir, y para no empezar la traducción desde cero (es decir, si no tenemos un Glossary.zip anterior) y si disponemos de la traducción de una versión anterior de la extensión, podemos adelantar trabajo. Si no, entonces podemos saltar al apartado siguiente.
Tenemos que tener un directorio jar/locale/es-ES que cuelgue de la versión anterior des de la cual queremos importar la traucción. Si no existe, podemos crearlo, dependiendo de si tenemos el fichero jar o xpi con la traducción correspondiente:
./unzipxpi.sh [fichero.xpi], donde el argumento es el fichero xpi con la traducción. Esto extraerá el contenido del mismo creará la estructura para importar.unzip -d jar [fichero.jar].Una vez tenemos la traducción anterior descomprimida, vamos al menú Import-> CVS translation, en donde se nos pide elegir el producto (sólo debe haber uno, el que hemos puesto antes, por lo que aceptamos), seleccionamos el directorio de la versión anterior ../versión_anterior/jar/locale/es-ES/ y elegimos es-ES cuando nos pregunte por la traducción en la que vamos a importar lo elegido. Omitiremos todos estos detalles cuando en otros puntos tengamos que importar la traducción, pero en caso de duda, consultar de nuevo este párrafo.
Conviene destacar que seguramente veremos algún fichero contents.rdf en MT, pero se pueden ignorar ya que el script final se encarga de poner el contenido adecuado, machacando cualquier modificación que realicemos en este paso.
Una vez acabada la traducción, guardamos el Glossary.zip. Después, vamos al menú Export-> CVS Translation, y con cuidado de elegir el directorio jar/locale/es-ES/ de nuestra versión (que no debería existir, y por tanto, deberíamos crearlo desde el examinador de directorios de MT). En teoría, una vez exportado, ya no necesitamos MT, por lo que podemos cerrarlo, guardando el Glossary.zip.
IMPORTANTE: asegúrate de que el directorio jar/locale/es-ES/ queda con la misma estructura de ficheros y directorios que el directorio jar/locale/en-US/. Si no es así, es que has exportado en el directorio incorrecto, por lo que borra esos ficheros debajo de es-ES y vuelve a exportar según lo explicado en el párrafo anterior.
En esta forma de trabajo (en parte quizás por un fallo de esta versión de MT, en donde la opción Update Product no funciona como con un jar), si tenemos una versión anterior en el Glossary.zip, conviene que realicemos una operación adicional para asegurarnos de la consistencia de las cadenas. Esto es opcional, y en general no hacerlo no debería dar ningún problema si se han seguido los pasos anteriores adecuadamente.
Vamos al menú File ->Manage Products, y renombramos el producto añadiendo .old al nombre (cualquier otro valor es válido) y pulsamos OK. Después, creamos un nuevo producto con el nombre definitivo (que es el que teníamos hace un momento antes de renombrar), y pulsamos OK dos veces para volver a la pantalla de inicio de MT. Elegimos Import -> CVS directory, e importamos las cadenas en-US originales. Ahora vamos al menú Advanced y elegimos Migrate product (la única opción que hay). En la pantalla que nos sale, elegimos como Source la traducción anterior (.old), y como Destination, la nueva, y ponemos es-ES en el campo locale (si no estuviera). Pulsamos OK y en este instante ya deberíamos tener las cadenas migradas y consistentes en el producto nuevo, en cuyo caso, volvemos a File -> Manage Products y borramos el old para quedarnos con el nuevo.
Finalmente, y al igual que en el punto anterior, exportamos la traducción y volvemos a comprobar que los ficheros exportados son correctos. En este punto, podemos guardar el nuevo Glossary.zip, desechar la copia de seguridad y pasar al siguiente punto.
NOTA: A partir de la versión 009 del script, se realiza una comprobación adicional de la consistencia de las cadenas, cuyo funcionamient se explica en el docuemnto de traducción de extensiones.
Si se diera la circunstancia de que debemos realizar alguna modificación en la traducción, se ejecuta el script de MT exactamente igual que al principio desde el directorio de trabajo (si estuviera cerrado, obviamente), pero ya se cargan las cadenas que se salvaron en el Glossary.zip, por lo que sólo habría que ir al menú Edit-> Chrome view y realizar las modificaciones necesarias. Luego, se exportaría la traducción exactamente igual, asegurándonos de que se sobreescribe el contenido del directorio jar/locale/es-ES/.
No hace falta decir que debemos exportar los cambios y volver a guardar el Glossary.zip antes de cerrar MT, por si se hubiera olvidado alguna de las dos operaciones.
Si tienes información sobre extensiones traducidas que no tenemos, o cualquier otra cosa relacionada con lo expuesto en este documento, escribe a la lista o usa el formulario de contacto (preferiblemente usa la lista) para informar sobre ello.