Nota: La página original es más nueva que esta traducción.

Traducción de las páginas web de Debian

Para hacer el trabajo de los traductores tan fácil como sea posible, las páginas se generan de forma algo diferente a como muchos de ustedes están acostumbrados. Las páginas web se actualizan realmente usando fuentes que están escritas en wml. Hay diferentes directorios para cada idioma.

Si piensa comenzar una traducción completamente nueva del servidor web de Debian, por favor, vea la sección del comienzo de una nueva traducción.

Traducción de páginas individuales

Usamos WML para separar el contenido específico de una página de los elementos comunes a múltiples páginas. Esto significa que uno debe editar ciertos ficheros fuente WML en lugar de ficheros HTML. Por favor, utilice Git para obtener los fuentes actuales. Necesitará descargar al menos dos directorios: webwml/english/ y webwml/<idioma>/.

Para traducir una única página del inglés a su idioma, deberá traducir el fichero .wml y colocarlo dentro del directorio del otro idioma. El nombre y el path relativo deben ser los mismos que el del directorio inglés, para que los enlaces sigan funcionando.

Cabeceras de traducción

También recomendamos encarecidamente que la persona que traduce añada una línea adicional a las cabeceras tras la última sentencia #use para registrar la versión («commit») exacta del fichero original que se tradujo, de manera que sea más sencillo actualizar. La línea sería algo como: #use wml::debian::translation-check translation="<git_commit_hash>". Por favor tenga en cuenta que si genera el fichero a traducir usando la herramienta copypage.pl (que se recomienda encarecidamente), el hash del commit de git se generará automáticamente. El uso de copypage.pl se explica más adelante.

Nota: algunas partes de la información siguiente están obsoletas, especialmente todo lo relacionado con CVS. Por favor descarte esa parte de la información por ahora y ayude a actualizar estas instrucciones, si puede.

Algunos equipos de traducción usan también esta línea para marcar la persona encargada oficialmente de la traducción de cada página web. Haciéndolo, le llegarán mensajes automáticamente cada vez que las páginas que mantiene sean actualizadas en inglés, y necesitan su atención para actualizar la traducción. Para ello, simplemente añada su nombre como mantenedor al final de la línea #use de manera que quede así: #use wml::debian::translation-check translation="git_commit_hash" maintainer="su nombre". El script copypage.pl hará esto automáticamente si está presente la variable de entorno DWWW_MAINT o usa la opción -m en la línea de órdenes.

También hace falta explicarle al robot quién es usted, con qué frecuencia quiere que le lleguen mensajes automáticos y su contenido. Para ello, edite (o dígaselo a su coordinador) el fichero webwml/idioma/international/idioma/translator.db.pl en el repositorio. Debería entender la sintaxis fácilmente, y puede usar el fichero del equipo francés como plantilla si no existe aún el de su idioma. El robot puede enviar varios tipos de información, y para cada tipo, puede escoger la frecuencia con que le será enviada. Los tipos disponibles son:

Luego, para cada tipo, el valor debe ser: 0 (nunca), 1 (mensual), 2 (semanal) o 3 (diario).

Un ejemplo podría ser:

                'Martin Quinson' => {
                        email       => 'martin.quinson@tuxfamily.org',
                        summary     => 3,
                        logs        => 3,
                        diff        => 3,
                        tdiff       => 0,
                        file        => 0
                },

La cabecera de la página web puede producirla fácilmente usando el script copypage.pl del directorio raíz de webwml. El script copiará la página en el lugar correcto, creará directorios y «makefiles» si fuera necesario, y añadirá la cabecera adecuada de forma automática. Se le advertirá si una pagina a copiar existe en el repositorio, ya sea porque la página fue eliminada del repositorio (debido a estar muy desactualizada) o porque alguien ya envió una traducción y su repositorio local no está actualizado.

Para empezar a usar copypage.pl primero debe configurar el fichero language.conf que se usará para determinar a qué idioma se está traduciendo. Ese fichero solo necesita tener una línea con el nombre del idioma, eso es todo. También puede definir el idioma usando la variable de entorno DWWW_LANG y usar la variable de entorno DWWW_MAINT para poner su nombre, que se añadirá a la cabecera de los ficheros wml generados, como persona encargada de la traducción. Existen otras características disponibles en el script, solo ejecútelo sin argumentos para obtener la ayuda.

Después de haber ejecutado, digamos, ./copypage.pl fichero.wml, traduzca el texto original que hay dentro del fichero. Encontrará comentarios en los ficheros indicando si hay elementos que no deberían ser traducidos: respételos. No haga cambios innecesarios al formato; si hay que arreglar algo, debería hacerse en el fichero original.

Creación y publicación de páginas

Ya que usamos negociación de contenido, los ficheros HTML no se llaman fichero.html sino fichero.<idioma>.html, siendo <idioma> el código de dos letras del idioma, de acuerdo con la lista ISO 639 (ej: es para Español).

Puede generar HTML del WML ejecutando make fichero.<idioma>.html. Si funciona, compruebe que la sintaxis es completamente válida con weblint fichero.<lang>.html.

Las páginas web se reconstruirán en el servidor www-master partiendo del sistema de control de versiones, y este proceso es el más suceptible a errores. Sin embargo, si envía un fichero estropeado en el nivel superior de la traducción (ej: el fichero index.wml de nivel superior), interrumpirá el proceso de compilación y detendrá todo el resto de actualizaciones del sitio web. Preste atención especial a estos ficheros.

Una vez esté lista la página, puede enviarla a Git. Si tiene permiso para hacerlo por sí mismo, envíe sus cambios (git push) al repositorio git en la plataforma Salsa; y si no, envíelo a alguien que tenga derechos de escritura en el respositorio.

Comienzo de una nueva traducción

Si desea comenzar la traducción de las páginas web de Debian a un nuevo idioma, envíenos un mensaje (en inglés) a webmaster@debian.org.

Antes que nada, asegúrese de que ha descargado adecuadamente del Git nuestro árbol fuente, tal como se describe en nuestra página de introducción a Git.

Tras haber descargado los directorios webwml/ y (por lo menos) webwml/english/, empiece creando un directorio nuevo para la traducción, junto a english y los otros. El nombre del directorio de la traducción debe estar en inglés y todo en minúsculas (ej: «german», no «Deutsch»).

Copie los ficheros Make.lang y .wmlrc del directorio english/ al nuevo directorio de traducción. Estos ficheros son esenciales para compilar la traducción partiendo de ficheros WML. Están pensados para que una vez los copie al nuevo directorio de idioma, sólo tenga que cambiar estas cosas:

  1. Debe cambiar la variable LANGUAGE del fichero Make.lang.
  2. Debe cambiar las variables CUR_LANG, CUR_ISO_LANG y CHARSET en el fichero .wmlrc. Añada CUR_LOCALE en caso de que la necesite para ordenación.
  3. Puede que algunos idiomas necesiten algo de procesado extra para controlar el juego de caracteres. Esto se puede hacer usando las opciones de wml --prolog y --epilog. Use las variables WMLPROLOG y WMLEPILOG de Make.lang para esto.
  4. Debe cambiar la variable LANGUAGES en el fichero de nivel superior webwml/Makefile de manera que su idioma se compile junto con los otros, en www.debian.org. Preferiríamos que dejase este cambio en particular a los webmasters, porque puede que los ficheros de la traducción contengan errores al ser descargados desde cero del repositorio, y esto podría interrumpir el proceso de compilación del resto de nuestro sitio web.

Tras hacer esto, ponga la siguiente línea en un fichero nuevo llamado "Makefile" en ese directorio:

include $(subst webwml/dirdesuidioma,webwml/english,$(CURDIR))/Makefile

(Cambie dirdesuidioma por el nombre del directorio de su idioma, por supuesto).

Ahora cree un subdirectorio llamado «po» dentro del de idioma, y copie el mismo Makefile dentro de ese subdirectorio (cp ../Makefile .).

Ejecute make init-po en el directorio po/ para generar el conjunto inicial de ficheros *.po.

Ahora que ya tiene el esqueleto preparado, puede empezar a añadir traducciones a nuestras etiquetas WML compartidas que se usan en las plantillas. Las primeras plantillas que debería traducir son aquellas que aparecen en todas las páginas, como las palabras clave de la cabecera, las entradas en la barra de navegación, y el pie de página.

Empiece traduciendo el fichero po/templates.xy.po (siendo xy el código de dos letras de su idioma). Por cada msgid "algo" hay en principio un msgstr "" y debería escribir la traducción de algo dentro de las comillas dobles tras el msgstr.

No tiene que traducir todas las cadenas de texto de todos los ficheros .po, sino sólo aquellas que necesiten realmente las páginas ya traducidas. Para saber si necesita traducir una cadena, vea los comentarios en el fichero .po justo encima de cada sentencia msgid. Si el fichero referenciado está en english/template/debian, entonces mejor tradúzcalo. Si no, puede posponerlo para más adelante, cuando traduzca realmente la sección relevante de las páginas web que lo precisan.

El punto de los ficheros po/ es hacer las cosas mas fáciles para los traductores, asi ellos (casi) nunca tendran que editar nada en el directorio english/template/debian. Si encuentra algo incorrecto en la forma en que esta configurado el directorio de plantillas, por favor asegurese de que el problema sea arreglado en una manera general (puede pedirle a alguien mas que lo haga por usted), en lugar de enviar las traducciones a las plantillas, lo que seria (generalmente) un problema grave.

Si no está seguro de si lo hizo correctamente, pregunte en la lista debian-www antes de enviar los cambios.

Nota: si encuentra que necesita hacer cualquier otro cambio, envíe un mensaje de correo a debian-www diciendo qué necesita cambiar y por qué, para que el problema pueda se corregido.

Tras terminar con el esqueleto de plantilla, puede empezar con la traducción de la página inicial y otros ficheros *.wml. Si desea una lista de lo que debería ser traducido antes que nada, consulte la página de consejos. Traduzca páginas *.wml tal como está descrito al principio de esta página.

Reviviendo traducciones desactualizadas

Como se describió en mantener las traducciones actualizadas, traducciones desactualizadas del sitio pueden ser removidas automaticamente cuando un largo periodo de tiempo ha pasado sin tener una actualización.

Si encuentra que algún fichero se eliminó en algún momento en el pasado y le gustaría recuperar el fichero de nuevo para editarlo, puede buscar a través de la historia de cambios usando las órdenes estándar de git.

Por ejemplo, si el fichero eliminado es "eliminado.wml", puede buscar en la historia de cambios ejecutando:

   git log --all --full-history -- <ruta/al/fichero/eliminado.wml>

Puede encontrar el «commit» exacto que eliminó el fichero que desea, junto con la cadena del hash de ese «commit». Para mostrar la información detallada sobre la modificación realizada al fichero en ese «commit» puede usar git show subcommand:

  git show <COMMIT_HASH_STRING> -- <ruta/al/fichero/eliminado.wml>

Si el cambio es exactamente el que eliminó el archivo, puede restaurar el archivo usando git checkout:

  git checkout <COMMIT_HASH_STRING>^ -- <ruta/al/fichero/eliminado.wml>

Una vez que haga esto tendrá que, por supuesto, actualizar el documento antes de añadirlo otra vez. O podría ser eliminado.

El resto de la historia

Es probable que la descripción anterior sea suficiente para empezar. Tras esto, quizá quiera consultar los siguientes documentos, que proporcionan explicaciones más detalladas e información útil adicional.

Esperamos que encuentre que el trabajo que hemos hecho haga que la traducción de las páginas sea tan sencilla como sea posible. Como ya hemos mencionado, si tiene alguna pregunta, puede hacerla en la lista de correo debian-www.