= Parámetros de Organización =

 * Se mantienen los nombres de los archivos
 * Se traduce solamente el contenido
 * Copie los archivos de en a es y tradúzcalos
 * Las gráficas son tan importantes como los archivos
 de texto, ya han sido traducidas
 * Encoding UTF-8 para las tildes, eñes y demás
 * Ancho de línea de 70 caracteres

= ¿Cómo contribuir? =
Obtenga la copia :
hg clone http://mercurial.intuxication.org/hg/mercurial_book_es/

Esto le ofrecerá un clon del repositorio en el directorio recién 
creado '''mercurial_book_es''':

mercurial_book_es
|
|-- en
|-- es
|-- examples
|-- html
`-- sillybench

El directorio de trabajo es '''es'''.


Una vez que haya traducido o aplicado correcciones a los archivos de
su copia local, haga un commit

 hg commit -m "comentario descriptivo de lo que hizo"

Siempre mantenga actualizado su repositorio local
 hg pull
 hg update

Hay dos formas de hacer la contribución, primero envíe un correo a
igor@tamarapatino.org indicando lo que desea hacer, se le puede
otorgar permiso de escritura en el repositorio, o si lo prefiere,
puede enviar un parche (patch).  Describimos a continuación los dos
procedimientos : Repositorio Público y Parches.   Es preferible el
repositorio público frente a los parches, puesto que estos segundos
pueden tardar en propagarse más.

== Repositorio Público ==
Este sería el método preferido para que los cambios que usted haga
automáticamente queden en el repositorio y todos los traductores
podamos contar con la información rápidamente.

Una vez que usted haya recibido la información necesaria, habiendo
elegido su usuario y su clave podrá "publicar" (push).

Como este es un sistema distribuido, después de hacer la
consignación (commit), deberá publicarlo.

 hg push

Se le solicitará su usuario y clave.

== Parches ==
Este método exige que alguien reciba el parche y haga manualmente la
aplicación del mismo, ese alguien es igor@tamarapatino.org por ahora,
después de haber hecho commit en su repositorio local, revise su log.

 hg log | head

Esta última orden le permitirá establecer la última revisión que se
consignó en su repositorio local, su identificador de revisión tendrá
el formato número:hash.   Generaría el archivo 
/tmp/patchparahgbook.patch con la orden

 hg -o /tmp/patchparahgbook.patch REV

donde REV es el identificador de revisión que debió haber encontrado.

= Traducción/Revisión =

En esta sección indicamos quienes están traduciendo
y quienes revisando lo traducido. Coloque su nombre 
para que los demás colaboradores sepan en dónde 
enfocar sus esfuerzos.

Indique qué archivos está traduciendo y/o revisando en 
la lista siguiente. Cada archivo debe ser traducido y
revisado antes de poder considerarlo terminado. El revisor
no puede ser la misma persona que hizo la traducción.

Cada traductor puede traducir o revisar el archivo que
desee, teniendo siempre en cuenta los archivos que ya tengan
alguien a cargo y escogiendo en la medida de lo posible
otros que no lo tengan. Los arreglos de 'typos' y problemas
de ortografía son siempre bienvenidos.

== Archivos en proceso de traducción ==
||'''archivo'''    ||'''traductor'''||'''Estado'''||'''Inicio'''||  '''Fin'''  ||
|| 00book.tex      || Igor Támara   ||    100%    || 16/10/2008 ||  16/10/2008 ||
|| preface.tex     || Javier Rojas  ||    100%    || 18/10/2008 ||  19/10/2008 ||
|| intro.tex       || Igor Támara   ||	  100%	  || 08/11/2008	||  09/11/2008 ||
|| tour-basic.tex  || Javier Rojas  ||    100%    || 19/10/2008 ||  27/10/2008 ||
|| tour-merge.tex  || Javier Rojas  ||    100%    || 28/10/2008 ||  03/11/2008 ||
|| concepts.tex    || Javier Rojas  ||    100%    || 03/11/2008 ||  23/11/2008 ||
|| daily.tex       || Igor Támara   ||    100%    || 19/10/2008 ||  26/10/2008 ||
|| collab.tex      || Igor Támara   ||    100%    || 10/11/2008 ||  06/12/2008 ||
|| filenames.tex   || Javier Rojas  ||    100%    || 27/11/2008 ||  12/01/2008 ||
|| branch.tex      || Igor Támara   ||    100%    || 16/10/2008 ||  19/10/2008 ||
|| undo.tex        || Igor Támara   ||    100%    || 26/10/2008 ||  07/11/2008 ||
|| hook.tex        || Javier Rojas  ||    100%    || 01/12/2008 ||  04/01/2009 ||
|| template.tex    || Igor Támara   ||    100%    || 27/12/2008 ||  01/01/2009 ||
|| mq.tex          || Igor Támara   ||    100%    || 06/12/2008 ||  13/12/2008 ||
|| mq-collab.tex   || Javier Rojas  ||    100%    || 04/01/2009 ||  08/01/2009 ||
|| hgext.tex       || Igor Támara   ||    100%    || 13/12/2008 ||  16/12/2008 ||
|| cmdref.tex      || Igor Támara   ||    100%    || 01/01/2009 ||  01/01/2009 ||
|| mq-ref.tex      || Igor Támara   ||    100%    || 06/01/2009 ||  10/01/2009 ||
|| srcinstall.tex  || Igor Támara   ||    100%    || 01/01/2009 ||  01/01/2009 ||
|| license.tex     || Igor Támara   ||    100%    || 16/12/2008 ||  16/12/2008 ||

== Archivos en proceso de revisión ==
||'''archivo'''   || '''revisor''' ||'''Estado'''||'''Inicio'''||  '''Fin'''  ||
|| 00book.tex     || Javier Rojas  ||    100%    || 18/01/2009 ||  18/01/2009 ||
|| branch.tex     || Javier Rojas  ||    100%    || 25/01/2009 ||  25/01/2009 ||
|| preface.tex    ||               ||            ||            ||             ||
|| daily.tex      || Javier Rojas  ||    100%    || 25/01/2009 ||  29/01/2009 ||
|| tour-basic.tex ||               ||            ||            ||             ||
|| undo.tex       || Javier Rojas  ||            ||            ||             ||
|| tour-merge.tex ||               ||            ||            ||             ||
|| concepts.tex   ||               ||            ||            ||             ||
|| intro.tex      || Javier Rojas  ||    100%    || 12/01/2009 ||  12/01/2009 ||
|| collab.tex     || Javier Rojas  ||      0%    || 29/01/2009 ||             ||
|| mq.tex         ||               ||            ||            ||             ||
|| hgext.tex      ||               ||            ||            ||             ||
|| template.tex   ||               ||            ||            ||             ||
|| mq-collab.tex  ||               ||            ||            ||             ||
|| mq-ref.tex     ||               ||            ||            ||             ||
|| cmdref.tex     ||               ||            ||            ||             ||
|| license.tex    ||               ||            ||            ||             ||
|| srcinstall.tex ||               ||            ||            ||             ||

== Archivos terminados ==
||'''archivo'''   ||'''Inicio'''||  '''Fin'''  ||
|| 00book.tex     || 16/10/2008 ||  18/01/2009 ||
|| intro.tex      || 08/11/2008 ||  12/01/2009 ||
|| branch.tex     || 16/10/2008 ||  25/01/2009 ||
|| daily.tex      || 19/10/2008 ||  29/01/2009 ||

= Unificación de Términos de Traducción =
Por favor mantenga esta lista en orden alfabético

La mayor parte del texto a continuación fue tomado del glosario de la
traducción del libro de subversion al idioma español.

Pequeño glosario de términos traducidos. Aquí deben ponerse esos
"bonitos palabros" que tanto nos ha costado traducir para evitar
inconsistencias en la traducción por varias personas. Normalmente
son técnicos, pero puede incluirse cualquier "giro" o expresión que
consideremos útil mantener y repetir a lo largo de la traducción.
En el libro final posiblemente se añada una versión de este fichero
como apéndice.

Para incluir algo, hay que especificar la expresión en inglés, su
versión traducida, y una pequeña explicación como justificación.

 Alice: Alicia
 Anne: Ana
 Back out: Retroceder
 Binary test: Prueba binaria
 Bob : Roberto
 Branch: Rama
 Bug: Fallo
 Build Script: Guión de construcción
 Builtin: integrada/o
 Bundle: Agrupamiento 
 Bundled: Incluído o agrupado
 Changelog: Bitácora de Cambios
 Changeset: Conjunto de Cambios
 Command: Orden
 Commit: Consignar
 Core: alma
 Directory: Directorio
 Escape Sequence: Secuencia de control
 File: fichero
 Filelog: fichero de registro
 Fold: Integrar
 Fork: Bifurcación
 Hash: No se traduce
 Head: Principal. En el contexto de revisiones HEAD se sugiere usar "frente"
 Hook: Gancho
 Merge: Fusión
 Milestone: Etapa
 Mistake: Equivocación, cometida por un humano
 Output: salida o despliegue
 Patch: Parche
 Path: Ruta de archivo
 Pointer: apuntador
 Pop: Sustraer, la contraparte push, será publicar
 Probe: Sondeo
 Pull: Jalar
 Push: Publicar.  En el contexto de parches introducir.
 Queue: Cola
 Release: Versión o liberación de versión
 Revlog: Bitácora de revisiones
 Roll back: NO se traduce Ver más abajo
 Snapshot: instantánea
 Snippet: Recorte de código
 Stack: pila
 Stripped: 
 Sprint: sprint
 Tarball: paquete de cambios
 Timestamp : marca de tiempo
 Tip: punta
 Update: actualización
 Upstream: principal, mantenedor principal. De acuerdo al contexto.

abort -> cancelar

ancestry -> ascendencia
    La traducción literal concuerda con el significado que se le
    da al mismo término en la jerga de Subversion.

API, GUI -> no se traduce
    La primera vez que aparecen, poner nota del traductor indicando
    qué significan las siglas y su traducción al castellano. De
    hecho, verificar la aparición de las notas de traductor en el
    sitio correcto debería ser una entrada del fichero TODO...

back-end -> ???
    Se refiere al término opuesto de front-end. En el octavo
    capítulo se usa al menos tres veces para referirse al "motor"
    que hay detrás de la capa de base de datos. Hmmm... pero motor
    suena raro...

backup -> copia de seguridad
    Obtenido del glosario ORCA.

Blanket Access Control -> Control de acceso simple
    Por ahora no se me ocurre mejor traducción. Aquí blanket se
    refiere a un control muy genérico, con poca granularidad.

branching and merging -> crear ramas y fusionarlas
    Aunque branch está bien traducido como rama o rama de desarrollo
    (en su versión "verbose"), no hay forma de hacer de un sustantivo
    un verbo.  Por lo tanto, se crean, borran y fusionan ramas.

browse -> navegar
    Usado con frecuencia para navegar por directorios o repositorios.

build -> comodín
    No es que se traduzca como comodín, sino que en función del
    contexto es una de esas palabras que significan muchas cosas y
    no es posible traducirla literalmente. Por ejemplo, cuando se
    usa como verbo se suele referir a compilar código fuente. En
    cambio, cuando se usa como sustantivo se suele referir a una
    versión particular del fichero binario ejecutable de un software,
    resultado de una compilación previa. Cuidado con esto. Anotar
    aquí traducciones realizadas para comparar.

        ...using and building Subversion...
        ...usando y compilando Subversion...

changeset -> ???
    Aparentemente conjunto de cambios. No puede ser traducido
    como parche, el libro inglés indica que un "changeset" es un
    parche con nombre único. Por ahora dejar en "changeset", ya se
    buscará algo en el futuro. Para ver la descripción del libro,
    buscar en ch04.xml la frase "Subversion y los changesets".

cheap copy -> copia ligera
    Otras posibilidades barajadas son copia barata o liviana.
    Veremos si en el futuro éstas suenan mejor.

click -> haga clic, pulse
    Traducción obtenida del glosario. Parece ser que click sólo se
    deja tal cual cuando se refiere a un sonido mecánico. Cuando
    se refiere a pulsar el botón del ratón se traduce como clic.

CVS -> No se traduce

DAV share -> recurso DAV compartido
    No tengo ni idea de lo que es un DAV share, así que cuando me
    entere (o alguien lo haga), que cambie esta entrada del glosario.

directory -> directorio
    Entre carpeta y directorio se prefiere directorio.

email -> correo electrónico
    Entre las posibilidades de dejar la palabra tal cual, añadir un
    guión (e-mail) y poner la traducción, se prefiere la traducción
    completa.

FAQ -> FAQ
    Se deja tal cual pues se explica en el primer párrafo del prólogo
    como una nota del traductor, y porque es muy frecuente ver su
    uso en español. PyRF, PUFs o PFs son realmente desconcertantes.

file -> fichero
    Entre archivo y fichero se prefiere fichero.

file path -> ruta del fichero
    Cuando se ve path a secas, la forma más común de traducirlo
    es decir ruta a secas igualmente. Bueno, el glosario de ORCA
    también da como válidos camino y trayectoria. A ser posible
    usar ruta si el contexto de la frase así lo favorece, en caso
    contrario probar con camino o trayectoria.

hash table -> tabla hash
    Sugerido por Miguel Pérez Ibars. También encontrado en el
    glosario ORCA.

history -> Depende del contexto. Cuando se use en el contexto del repositorio
    (the history of the repository), debe usarse el término historial. En otro
    caso, historia. Valga anotar que ambas traducciones son aceptadas (al menos
    en wordreference.com).

hook, to hook -> gancho, enganchar
    Usado en terminología de programación para indicar que el usuario
    tiene un mecanismo estándar para modificar el comportamiento de
    un dispositivo existente. Un ejemplo a nivel de programación
    son las funciones "callback" que se pasan como parámetros,
    o a nivel de sistema, scripts que existen en un directorio
    concreto y que se ejecutan por el servidor de Subversion para
    realizar tareas personalizadas por el administrador.

ignore pattern -> ignorar patrones, pero patrones de exclusión
    Subversion permite que ciertas opciones almacenen patrones
    con los que se ignoran ficheros no versionados. Cuando la
    frase original usa el verbo, se puede traducir como ignorar
    directamente, pero cuando se usa a modo de sustantivo,
    es mejor traducirlo como "patrón de exclusión" en lugar de
    "patrón a ignorar".

language -> lenguaje o idioma
    Precisamente para diferenciar si nos estamos refiriendo a un
    lenguaje de programación o a un lenguaje hablado por humanos,
    se usará idioma en este último caso.

language binding, SWIG binding, wrapper -> interfaz, enlace, ligadura, envoltorio...
    Dependiendo del contexto, y desde un punto de vista personal,
    se puede traducir esta palabra de muchas maneras. Una manera
    genérica es decir "Interfaz con el lenguaje X", o "Ligadura con
    el lenguaje X". Habitualmente, cuando se habla de una interfaz,
    se está hablando de un binding ligero, o que únicamente permite
    a hacer llamadas a funciones del lenguaje de programación A
    desde el lenguaje de programación B.

    En cambio, se suele hablar de wrapper cuando el código entre
    el lenguaje A y B es algo más complejo, o adapta el estilo de
    programación del lenguaje A al del lenguaje B. Un ejemplo de esto
    último sería una librería en C cuyo binding en Perl/Ruby/Python
    fuese orientado a objetos.

    Aparte, wrapper también se usa cuando se habla de una función
    o librería que engloba o asimila otra menor, con el propósito
    de extender su funcionalidad o hacerla más fácil de usar
    de cara al usuario, sin necesidad de cruzar ninguna barrera
    "intra-lenguaje".

    Por lo tanto, hay que decidir con cuidado el contexto de la
    palabra binding o wrapper, y escoger una. En el capítulo octavo
    hay varios usos, aunque como son relativos a SWIG, se habla de
    interfaces o envoltorios simplificados, puesto que se generan
    de manera automática y no hay ninguna "conversión" en el estilo
    de uso.

lazy copy -> copia vaga
    Horrible traducción literal. ¿Sugerencias?
    copia perezosa

location (repository) -> ubicación (del repositorio)
    Cuidado, no traducir como localización, que es la acción y
    efecto de localizar.

log, log message -> informe de cambios, mensaje del informe de cambios
    Traducción extraída del manual de CVS en español. La traducción
    de "log message" es muy larga, pero únicamente porque no se
    tiene contexto alguno. Con contexto suele ser posible omitir
    la palabra informe si se considera apropiado.

memory pool -> área de memoria
    Traducción temporal hasta que se revise algún libro en castellano
    de programación que use el mismo término.

merge -> fusionar cambios, fusión
    Obtenida referencia del manual de CVS en castellano, la otra
    alternativa obvia para traducir merge es mezclar. No obstante,
    mezclar tiene una connotación de azar al realizar la mezcla. Se
    mezclan líquidos, ingredientes, etc. En cambio, un "merge" es
    cualquier cosa menos un proceso realizado al azar (especialmente
    si ha habido conflictos). En caso de traducir como sustantivo,
    fusión vuelve a "sonar mejor" que mezcla, que por alguna razón me
    suena a un combustible especial usado en vehículos de transporte.

namespace -> espacio de nombrado,
    Tecnicismo del C++, obtenido de la traducción del libro
    "Pensar en C++", en concreto la sección 3.2 disponible en
    http://arco.inf-cr.uclm.es/~dvilla/pensar_en_C++/ch02s03.html#id2589039.

open source -> código fuente abierto
    Referencia: http://es.tldp.org/ORCA/glosario.html#O

plugins -> módulos
    El término fue extraído del glosario de ORCA.

repository -> repositorio
    No hay mucha alternativa, ¿verdad?

roll back -> No se traduce 
    El significado igual que en los ambientes
     de sistemas manejadores de bases de datos se refiere a la atomicidad
     e integridad al devolver un conjunto de acciones que permitan dejar
     el repositorio en un estado consistente previo.

repository layou t-> estructura del repositorio En referencia a cómo
    están organizados los directorios.

schedule -> programa o planifica
    Parece más correcta la opción programa, en el sentido de pensar en
    hacer algo.
    schedule foo to be added -> programa la adición de foo

switch -> cambiar
    Únicamente cuando se habla del comando svn switch, no como la
    palabra switch aislada, que significa parámetro o interruptor.
    En el contexto de svn switch, traducirlo como cambiar. Quizás
    traducir como reubicar una vez haya suficiente material traducido
    y una lectura final sugiera una u otra traducción.

tag, tagging -> etiqueta, etiquetar
    Expresión ya común en español.

three-way differencing program -> programa de diferenciación a tres bandas
    Una diferenciación "normal" es generar las diferencias entre
    dos ficheros.  Una diferenciación a tres bandas es comparar las
    diferencias entre tres ficheros, y se usa cuando se intentan
    fusionar los cambios de una copia local junto con los cambios
    recibidos del repositorio (por ejemplo, otra persona ha cambiado
    el fichero sobre el que trabajábamos).

timestamp, datestamp -> marca de tiempo, fecha y hora
    Esa traducción viene del ORCA. No obstante en muchos casos es
    más claro traducirla como "fecha de fichero" o "fecha" a secas.
    Ejemplo: ...will show the modification timestamp. -> mostrará
    la fecha de modificación. Decir "mostrará la marca de tiempo de
    la modificación" o algo así es una traducción demasiado literal,
    así que ojo con el contexto.

track -> seguir, monitorear
    este término suele ser usado cuando se habla de archivos, y de llevar la 
    pista o monitorear los cambios en un archivo.

trunk -> tronco
    Se refiere al nombre que recibe la línea de desarrollo
    principal del repositorio que no está asociada a ninguna rama
    en particular. Traducción obtenida del manual de CVS en español.

Unix-like systems -> sistemas tipo unix

URL -> No se traduce

working copy -> copia (de trabajo) local/activa
    Traducción similar a la de "commit data" (razonamiento
    cliente-servidor).

= Términos a no-usar =
Evite el uso de estos términos en la traducción aún si son de uso
común para usted; el consenso general de la comunidad hispana puede
ser diferente del que usted tenga ;)

  * "archivo". Use "fichero" en su lugar.
  * "carpeta". Use "directorio".
  * "la historia". Use "el historial" (por supuesto, cuando se refiera al
  historial del repositorio)

= Diferencias de redacción =
Hay varias expresiones que pueden terminar siendo traducidas de formas
diferentes por los traductores, y que aún siendo ambas correctas, ponen en
evidencia que el trabajo fue llevado a cabo por varias personas y que el estilo
que ellas usan difiere. Una vez terminada la traducción habrá que buscar cuáles
son éstos términos y decidirse por uno solo de ellos. A continuación se presenta
una lista de los términos o expresiones encontrados hasta ahora

  * comando - orden. Ambos son la traducción para "command". Parece que la
  traducción más adecuada es "comando"
  (http://www.wordreference.com/es/translation.asp?tranword=command)
  * kernel - núcleo.
  * Colas de Mercurial - colas de Mercurial. Creo que lo mejor es revisar qué
  usó el autor (y rogar que él no haya sido inconsistente :P)
  * armar - compilar - construir. Build, compile. Más que todo "build"
  * daemonio - demonio. daemon
  * kernel - núcleo.
  * la URL - el URL

= Notas del traductor =
Por favor use el comando \ndt para insertar notas del traductor. Este
comando requiere un argumento. Por ejemplo: \ndt{Del inglés del original.}

= Para compilar =
He aquí algunas dependencias para Debian:

apt-get install texlive-latex-extra tex4ht diffstat patchutils \ 
   inkscape graphviz texlive-pdfetex

= Traductores =
Por favor mantenga esta lista en orden alfabético de acuerdo al
apellido.

 * Javier Rojas <jerojasro@devnull.li>
 * Igor Támara <igor@tamarapatino.org>
 * Su nombre <su@e.mail>
