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 la ruta relativa deben ser los mismos que los 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.
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 necesiten 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.
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 en el directorio raíz webwml que se usará para determinar a qué idioma se está traduciendo. Ese fichero necesita hasta dos líneas: de la primera línea obtiene el nombre del idioma (como spanish) y la segunda que sería opcional obtiene el nombre del traductor responsable. 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. Como una tercera posibilidad puede indicar el idioma y (opcionalmente) al responsable a través de la línea de comandos -l spanish -m "Donald Duck" y no usa el archivo language.conf para nada. 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.
NOTA: Las páginas web son regularmente reconstruidas en el servidor www-master, basándose en la fuente wml en git. Este proceso es en su mayor parte impermeable 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 webwml ; y si no, envíelo a alguien que tenga derechos de escritura en el repositorio.
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, copie nuestro árbol de fuentes, tal como se describe en nuestra página de introducción a Git.
Tras haber clonado el repositorio git, empiece creando un directorio de alto nivel para su 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, solo tenga que cambiar estas cosas:
- Debe cambiar la variable LANGUAGE del fichero Make.lang.
- 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.
- 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.
- 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 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, así ellos (casi) nunca tendrán 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 asegúrese de que el problema sea arreglado en una manera general (puede pedirle a alguien más que lo haga por usted), en lugar de enviar las traducciones a las plantillas, lo que sería (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 ser 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 automáticamente 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:
- Algunos ejemplos para darle una idea más clara de cómo puede empezar.
- Respuestas a algunas preguntas comunes con consejos de ayuda, en la página consejos de traducción.
- Tenemos mecanismos para ayudar a mantener las traducciones actualizadas.
- Para ver el estado de su traducción y compararlo con otros, compruebe las estadísticas.
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.