changeset 577:95bc07aaf1a8

merged work from Igor
author Javier Rojas <jerojasro@devnull.li>
date Sat, 03 Jan 2009 18:31:12 -0500
parents 1f9ef8b3ab79 (current diff) 1b8b19825994 (diff)
children 5236357a00b2
files es/Leame.1st
diffstat 4 files changed, 495 insertions(+), 450 deletions(-) [+]
line wrap: on
line diff
--- a/es/Leame.1st	Fri Jan 02 22:30:00 2009 -0500
+++ b/es/Leame.1st	Sat Jan 03 18:31:12 2009 -0500
@@ -108,12 +108,12 @@
 || hook.tex        || Javier Rojas  ||     78%    || 01/12/2008 ||             ||
 || mq.tex          || Igor Támara   ||    100%    || 06/12/2008 ||  13/12/2008 ||
 || hgext.tex       || Igor Támara   ||    100%    || 13/12/2008 ||  16/12/2008 ||
-|| template.tex    || Igor Támara   ||            ||            ||             ||
+|| template.tex    || Igor Támara   ||    100%    || 27/12/2008 ||  01/01/2009 ||
 || mq-collab.tex   || Javier Rojas  ||            ||            ||             ||
 || mq-ref.tex      || Javier Rojas  ||            ||            ||             ||
-|| cmdref.tex      ||               ||            ||            ||             ||
+|| cmdref.tex      || Igor Támara   ||    100%    || 01/01/2009 ||  01/01/2009 ||
 || license.tex     || Igor Támara   ||    100%    || 16/12/2008 ||  16/12/2008 ||
-|| srcinstall.tex  ||               ||            ||            ||             ||
+|| srcinstall.tex  || Igor Támara   ||    100%    || 01/01/2009 ||  01/01/2009 ||
 
 == Archivos en proceso de revisión ==
 ||'''archivo'''   || '''revisor''' ||'''Estado'''||'''Inicio'''||  '''Fin'''  ||
@@ -128,6 +128,13 @@
 || intro.tex      ||               ||            ||            ||             ||
 || collab.tex     || Javier Rojas  ||            ||            ||             ||
 || mq.tex         ||               ||            ||            ||             ||
+|| hgext.tex      ||               ||            ||            ||             ||
+|| template.tex   ||               ||            ||            ||             ||
+|| mq-collab.tex  ||               ||            ||            ||             ||
+|| mq-ref.tex     ||               ||            ||            ||             ||
+|| cmdref.tex     ||               ||            ||            ||             ||
+|| license.tex    ||               ||            ||            ||             ||
+|| srcinstall.tex ||               ||            ||            ||             ||
 
 == Archivos terminados ==
 
@@ -163,15 +170,18 @@
  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
@@ -188,6 +198,7 @@
  Stack: pila
  Sprint: sprint
  Tarball: paquete de cambios
+ Timestamp : marca de tiempo
  Tip: punta
  Update: actualización
  Upstream: principal, mantenedor principal. De acuerdo al contexto.
@@ -390,7 +401,7 @@
      e integridad al devolver un conjunto de acciones que permitan dejar
      el repositorio en un estado consistente previo.
 
-repository layout -> estructura del repositorio En referencia a cómo
+repository layou t-> estructura del repositorio En referencia a cómo
     están organizados los directorios.
 
 schedule -> programa o planifica
--- a/es/cmdref.tex	Fri Jan 02 22:30:00 2009 -0500
+++ b/es/cmdref.tex	Sat Jan 03 18:31:12 2009 -0500
@@ -1,174 +1,184 @@
-\chapter{Command reference}
+\chapter{Referencia de Órdenes}
 \label{cmdref}
 
-\cmdref{add}{add files at the next commit}
+\cmdref{add}{Añade ficheros en la próxima consignación}
 \optref{add}{I}{include}
 \optref{add}{X}{exclude}
 \optref{add}{n}{dry-run}
 
-\cmdref{diff}{print changes in history or working directory}
+\cmdref{diff}{imprime los cambios en la historia o el directorio actual}
 
-Show differences between revisions for the specified files or
-directories, using the unified diff format.  For a description of the
-unified diff format, see section~\ref{sec:mq:patch}.
+Mostrar las diferencias entre revisiones para ficheros especificados o
+directorios, con el formato unificado diff.  Si desea ver una
+descripción del formato unificado diff, ver la sección~\ref{sec:mq:patch}.
 
-By default, this command does not print diffs for files that Mercurial
-considers to contain binary data.  To control this behaviour, see the
-\hgopt{diff}{-a} and \hgopt{diff}{--git} options.
+De forma predeterminada, esta orden no imprime las diferencias para
+los archivos binarios que Mercurial esté siguiendo.  Para controlar
+este comportamiento, vea las opciones \hgopt{diff}{-a} y
+\hgopt{diff}{--git}.
 
 \subsection{Options}
 
 \loptref{diff}{nodates}
 
-Omit date and time information when printing diff headers.
+Omite la fecha y hora cuando se muestran los encabezados de las
+diferencias.
 
 \optref{diff}{B}{ignore-blank-lines}
 
-Do not print changes that only insert or delete blank lines.  A line
-that contains only whitespace is not considered blank.
+No imprime los cambios que solamente insertan o eliminan líneas en
+blanco.  Una línea que contiene espacios en blanco no se considera
+como una línea en blanco.
 
 \optref{diff}{I}{include}
 
-Include files and directories whose names match the given patterns.
+Incluye ficheros y directorios cuyos nombres coinciden con los
+patrones elegidos.
 
 \optref{diff}{X}{exclude}
 
-Exclude files and directories whose names match the given patterns.
+Excluye los ficheros y directorios cuyos nombres coinciden con los
+patrones elegidos.
 
 \optref{diff}{a}{text}
 
-If this option is not specified, \hgcmd{diff} will refuse to print
-diffs for files that it detects as binary. Specifying \hgopt{diff}{-a}
-forces \hgcmd{diff} to treat all files as text, and generate diffs for
-all of them.
+Si no especifica esta opción, \hgcmd{diff} no mostrará las diferencias
+de los ficheros que detecte como binarios.  Al especificar \hgopt{diff}{-a}
+se forza a \hgcmd{diff} a tratar los ficheros como texto, y generar
+diferencias para todos.
 
-This option is useful for files that are ``mostly text'' but have a
-few embedded NUL characters.  If you use it on files that contain a
-lot of binary data, its output will be incomprehensible.
+Esta opción es útil para los ficherso que son ``texto en mayor
+medida'' pero que tienen caracteres NUL.  Si lo usa en ficheros que
+contienen muchos datos binarios, la salida será incomprensible.
 
 \optref{diff}{b}{ignore-space-change}
 
-Do not print a line if the only change to that line is in the amount
-of white space it contains.
+No imprime si el único cambio que en la línea es la cantidad de
+espacio en blanco.
 
 \optref{diff}{g}{git}
 
-Print \command{git}-compatible diffs.  XXX reference a format
+Mostrar diferencias compatibles con \command{git}.  XXX reference a format
 description.
 
 \optref{diff}{p}{show-function}
 
-Display the name of the enclosing function in a hunk header, using a
-simple heuristic.  This functionality is enabled by default, so the
-\hgopt{diff}{-p} option has no effect unless you change the value of
-the \rcitem{diff}{showfunc} config item, as in the following example.
+Mostrar el nombre de la función que contiene el código en una porción
+del encabzado usando una heurística simple.  Esta funcionalidad se
+habilita de forma predeterminada, así que la opción \hgopt{diff}{-p}
+no tiene efectos a menos que cambie el valor de
+\rcitem{diff}{showfunc} en la configuración, como en el ejemplo
+siguiente.
 \interaction{cmdref.diff-p}
 
 \optref{diff}{r}{rev}
 
-Specify one or more revisions to compare.  The \hgcmd{diff} command
-accepts up to two \hgopt{diff}{-r} options to specify the revisions to
-compare.
+Especifique una o más revisiones para comparar.  La orden \hgcmd{diff}
+acepta hasta dos opciones \hgopt{diff}{-r} para especificar las
+revisiones a comparar.
 
 \begin{enumerate}
 \setcounter{enumi}{0}
-\item Display the differences between the parent revision of the
-  working directory and the working directory.
-\item Display the differences between the specified changeset and the
-  working directory.
-\item Display the differences between the two specified changesets.
+\item Despliega las diferencias entre la revisión padre y del directorio
+  de trabajo.
+\item Despliega las diferencias entre el conjunto de cambios
+  especificados y el directorio de trabajo.
+\item Despliega las diferencias entre dos conjuntos de cambios
+  especificados.
 \end{enumerate}
 
-You can specify two revisions using either two \hgopt{diff}{-r}
-options or revision range notation.  For example, the two revision
-specifications below are equivalent.
+Puede especificar dos revisiones usando o bien sea las opciones
+\hgopt{diff}{-r} o la notación de rango.  Por ejemplo, las dos
+especificaciones de revisiones a continuación son equivalentes:
 \begin{codesample2}
   hg diff -r 10 -r 20
   hg diff -r10:20
 \end{codesample2}
 
-When you provide two revisions, Mercurial treats the order of those
-revisions as significant.  Thus, \hgcmdargs{diff}{-r10:20} will
-produce a diff that will transform files from their contents as of
-revision~10 to their contents as of revision~20, while
-\hgcmdargs{diff}{-r20:10} means the opposite: the diff that will
-transform files from their revision~20 contents to their revision~10
-contents.  You cannot reverse the ordering in this way if you are
-diffing against the working directory.
+Cuando especifica dos revisiones, esto tiene significado para
+Mercurial.  Esto significa que \hgcmdargs{diff}{-r10:20} producirá un
+diff que transformará los ficheros desde los contenidos en la revisión
+10 a los contenidos de la revisión 20, mientras que
+\hgcmdargs{diff}{-r20:10} significa lo opuesto:  el diff que
+transformaría los contenidos de los ficheros de la revisión 20 a los
+contenidos de la revisión 10.  No puede invertir el orden de esta
+forma si está haciendo un diff frente al directorio de trabajo.
 
 \optref{diff}{w}{ignore-all-space}
 
-\cmdref{version}{print version and copyright information}
+\cmdref{version}{imprime la información de versión y derechos de reproducción}
 
-This command displays the version of Mercurial you are running, and
-its copyright license.  There are four kinds of version string that
-you may see.
+Esta orden despliega la versión de Mercurial que está usando, y su
+nota de derechos de reproducción.  Hay cuatro clases de cadenas de
+versión posibles:
 \begin{itemize}
-\item The string ``\texttt{unknown}''. This version of Mercurial was
-  not built in a Mercurial repository, and cannot determine its own
-  version.
-\item A short numeric string, such as ``\texttt{1.1}''. This is a
-  build of a revision of Mercurial that was identified by a specific
-  tag in the repository where it was built.  (This doesn't necessarily
-  mean that you're running an official release; someone else could
-  have added that tag to any revision in the repository where they
-  built Mercurial.)
-\item A hexadecimal string, such as ``\texttt{875489e31abe}''.  This
-  is a build of the given revision of Mercurial.
-\item A hexadecimal string followed by a date, such as
-  ``\texttt{875489e31abe+20070205}''.  This is a build of the given
-  revision of Mercurial, where the build repository contained some
-  local changes that had not been committed.
+\item La cadena ``\texttt{unknown}''. Esta versión de Mercurial no fue
+  construida en un repositorio de Mercurial, y no puede determinar su
+  propia versión.
+\item Una cadena numérica corta, tal como ``\texttt{1.1}''. Esta es
+  una construcción de una versión de Mercurial que se identifica con
+  una etiqueta específica en el repositorio en el cual fue
+  armada(Esto no significa necesariamente que está ejecutando una
+  versión oficial; alguien pudo haber añadido tal etiqueta a cualquier
+  versión del repositorio en el cual armaron Mercurial).
+\item Una cadena hexadecimal, tal como ``\texttt{875489e31abe}''.
+  Esta es una construcción de una revisión dada de Mercurial.
+\item Una cadena hexadecimal seguida por una fecha, tal como
+  ``\texttt{875489e31abe+20070205}''.  Esta construcción de la
+  revisión de Mercurial fue la construcción de un repositorio que tuvo
+  cambios locales que no han sido consignados.
 \end{itemize}
 
-\subsection{Tips and tricks}
+\subsection{Consejos y trucos}
 
-\subsubsection{Why do the results of \hgcmd{diff} and \hgcmd{status}
-  differ?}
+\subsubsection{¿Por qué difieren los resultados de \hgcmd{diff} y
+  \hgcmd{status}?}
 \label{cmdref:diff-vs-status}
 
-When you run the \hgcmd{status} command, you'll see a list of files
-that Mercurial will record changes for the next time you perform a
-commit.  If you run the \hgcmd{diff} command, you may notice that it
-prints diffs for only a \emph{subset} of the files that \hgcmd{status}
-listed.  There are two possible reasons for this.
+Cuando ejecuta la orden \hgcmd{status}, verá una lista de ficheros
+para los cuales Mercurial almacenará cambios la próxima vez que
+consigne.  Si ejecuta la orden \hgcmd{diff}, verá que imprime
+diferencias solamente para un \emph{subconjunto} de los ficheros que
+\hgcmd{status} liste.  Hay dos posibles razones para este comportamiento:
 
-The first is that \hgcmd{status} prints some kinds of modifications
-that \hgcmd{diff} doesn't normally display.  The \hgcmd{diff} command
-normally outputs unified diffs, which don't have the ability to
-represent some changes that Mercurial can track.  Most notably,
-traditional diffs can't represent a change in whether or not a file is
-executable, but Mercurial records this information.
+La primera es que \hgcmd{status} imprime cierta clase de
+modificaciones que \hgcmd{diff} no despliega normalmente.  La orden
+\hgcmd{diff} usualmente despliega diferencias unificadas, las cuales
+no tienen la habilidad de representar algunos cambios que Mercurial
+puede seguir.  Lo más notable es que las diferencias tradicionales no
+pueden representar un cambio acerca de la ejecutabilidad de un
+fichero, pero Mercurial sí almacena esta información.
 
-If you use the \hgopt{diff}{--git} option to \hgcmd{diff}, it will
-display \command{git}-compatible diffs that \emph{can} display this
-extra information.
+Si usa la opción \hgopt{diff}{--git} de \hgcmd{diff}, mostrará
+diferencias compatibles con \command{git} que \emph{pueden} desplegar
+esta información adicional.
 
-The second possible reason that \hgcmd{diff} might be printing diffs
-for a subset of the files displayed by \hgcmd{status} is that if you
-invoke it without any arguments, \hgcmd{diff} prints diffs against the
-first parent of the working directory.  If you have run \hgcmd{merge}
-to merge two changesets, but you haven't yet committed the results of
-the merge, your working directory has two parents (use \hgcmd{parents}
-to see them).  While \hgcmd{status} prints modifications relative to
-\emph{both} parents after an uncommitted merge, \hgcmd{diff} still
-operates relative only to the first parent.  You can get it to print
-diffs relative to the second parent by specifying that parent with the
-\hgopt{diff}{-r} option.  There is no way to print diffs relative to
-both parents.
+La segunda razón posible para que \hgcmd{diff} esté imprimiendo
+diferencias para un subconjunto de ficheros de lo que muestra
+\hgcmd{status} es que si usted le invoca sin argumento alguno,
+\hgcmd{diff} imprime diferencias frente al primer padre del directorio
+de trabajo.  Si ha ejecutado \hgcmd{merge} para fusionar dos conjuntos
+de cambios, pero no ha consignado aún los resultados de la fusión,  su
+directorio de trabajo tiene dos padres(use \hgcmd{parents} para
+verlos).  Mientras que \hgcmd{status} imprime modificaciones relativas
+a \emph{ambos} padres después de una fusión que no se ha consignado,
+\hgcmd{diff} opera aún relativo solamente al primer padre.  Puede
+lograr que imprima las diferencias relativas al segundo padre
+especificando tal padre con la opción \hgopt{diff}{-r}.  No hay forma
+de hacer que imprima las diferencias relativas a los dos padres.
 
-\subsubsection{Generating safe binary diffs}
+\subsubsection{Generar diferencias seguras en binarios}
 
-If you use the \hgopt{diff}{-a} option to force Mercurial to print
-diffs of files that are either ``mostly text'' or contain lots of
-binary data, those diffs cannot subsequently be applied by either
-Mercurial's \hgcmd{import} command or the system's \command{patch}
-command.  
+Si usa la opción \hgopt{diff}{-a} para forzar que Mercurial imprima
+las diferencias de los ficheros que so o bien ``casi completamente
+texto'' o contienen muchos datos binarios, tales diferencias no pueden
+aplicarse subsecuentemente a la orden \hgcmd{import} de Mercurial o a
+la orden \command{patch} del sistema.
 
-If you want to generate a diff of a binary file that is safe to use as
-input for \hgcmd{import}, use the \hgcmd{diff}{--git} option when you
-generate the patch.  The system \command{patch} command cannot handle
-binary patches at all.
+Si desea generar una diferencia de un fichero binario que es seguro
+para usarlo como entrada a la orden \hgcmd{import}, use la opción
+\hgcmd{diff}{--git} cuando genere el parche.  La orden \command{patch}
+del sistema no puede tratar con parches binarios.
 
 %%% Local Variables: 
 %%% mode: latex
--- a/es/srcinstall.tex	Fri Jan 02 22:30:00 2009 -0500
+++ b/es/srcinstall.tex	Sat Jan 03 18:31:12 2009 -0500
@@ -1,51 +1,53 @@
-\chapter{Installing Mercurial from source}
+\chapter{Instalar Mercurial desde las fuentes}
 \label{chap:srcinstall}
 
-\section{On a Unix-like system}
+\section{En un sistema tipo Unix}
 \label{sec:srcinstall:unixlike}
 
-If you are using a Unix-like system that has a sufficiently recent
-version of Python (2.3~or newer) available, it is easy to install
-Mercurial from source.
+Si usa un sistema tipo Unix que tiene una versión suficientemente
+reciente de Python(2.3~o superior) disponible, es fácil instalar
+Mercurial desde las fuentes.
 \begin{enumerate}
-\item Download a recent source tarball from
+\item Descargue un paquete fuente reciente de
   \url{http://www.selenic.com/mercurial/download}.
-\item Unpack the tarball:
+\item Descomprímalo:
   \begin{codesample4}
     gzip -dc mercurial-\emph{version}.tar.gz | tar xf -
   \end{codesample4}
-\item Go into the source directory and run the installer script.  This
-  will build Mercurial and install it in your home directory.
+\item Vaya al directorio fuente y ejecute el guión de instalación.
+  Esto armará Mercurial y lo instalará en su directorio casa:
   \begin{codesample4}
     cd mercurial-\emph{version}
     python setup.py install --force --home=\$HOME
   \end{codesample4}
 \end{enumerate}
-Once the install finishes, Mercurial will be in the \texttt{bin}
-subdirectory of your home directory.  Don't forget to make sure that
-this directory is present in your shell's search path.
-
-You will probably need to set the \envar{PYTHONPATH} environment
-variable so that the Mercurial executable can find the rest of the
-Mercurial packages.  For example, on my laptop, I have set it to
-\texttt{/home/bos/lib/python}.  The exact path that you will need to
-use depends on how Python was built for your system, but should be
-easy to figure out.  If you're uncertain, look through the output of
-the installer script above, and see where the contents of the
-\texttt{mercurial} directory were installed to.
+Cuando termine la instalación, Mercurial estará en el subdirectorio
+\texttt{bin} de su directorio casa.  No olvide asegurarse de que este
+directorio esté presente en el camino de búsqueda de su intérprete de
+órdenes.
 
-\section{On Windows}
+Probablemente necesitará establecer la variable de ambiente
+\envar{PYTHONPATH} de tal forma que los ejecutables de Mercurial
+puedan encontrar el resto de los paquetes de Mercurial.  Por ejemplo,
+en mi portátil, la establecía a \texttt{/home/bos/lib/python}.  La
+ruta exacta que usted use dependerá de como ha sido construído Python
+en su sistema, pero debería ser fácil deducirla.  Si no está seguro,
+mire lo que haya mostrado el script en el paso anterior, y vea dónde
+se instalaron los contenidos del directorio \texttt{mercurial} se
+instalaron.
 
-Building and installing Mercurial on Windows requires a variety of
-tools, a fair amount of technical knowledge, and considerable
-patience.  I very much \emph{do not recommend} this route if you are a
-``casual user''.  Unless you intend to hack on Mercurial, I strongly
-suggest that you use a binary package instead.
+\section{En Windows}
 
-If you are intent on building Mercurial from source on Windows, follow
-the ``hard way'' directions on the Mercurial wiki at
+Armar e instalar Mercurial en Windows requiere una variedad de
+herramientas, cierta suficiencia técnica y paciencia considerable.
+Personalmente, \emph{no le recomiendo} hacerlo si es un ``usuario
+casual''.  A menos que intente hacer hacks a Mercurial, le recomiendo
+que mejor use un paquete binario.
+
+Si está decidido a construir Mercurial desde las fuentes en Windows,
+siga el ``camino difícil'' indicado en el wiki de Mercurial en
 \url{http://www.selenic.com/mercurial/wiki/index.cgi/WindowsInstall},
-and expect the process to involve a lot of fiddly work.
+y espere que el proceso sea realmente un trabajo duro.
 
 %%% Local Variables: 
 %%% mode: latex
--- a/es/template.tex	Fri Jan 02 22:30:00 2009 -0500
+++ b/es/template.tex	Sat Jan 03 18:31:12 2009 -0500
@@ -1,144 +1,153 @@
-\chapter{Customising the output of Mercurial}
+\chapter{Personalizar los mensajes de Mercurial}
 \label{chap:template}
 
-Mercurial provides a powerful mechanism to let you control how it
-displays information.  The mechanism is based on templates.  You can
-use templates to generate specific output for a single command, or to
-customise the entire appearance of the built-in web interface.
+Mercurial provee un poderoso mecanismo que permite controlar como
+despliega la información.  El mecanismo se basa en plantillas.  Puede
+usar plantillas para generar salida específica para una orden
+particular o para especificar la visualización completa de la interfaz
+web embebida.
 
-\section{Using precanned output styles}
+\section{Usar estilos que vienen con Mercurial}
 \label{sec:style}
 
-Packaged with Mercurial are some output styles that you can use
-immediately.  A style is simply a precanned template that someone
-wrote and installed somewhere that Mercurial can find.
+Hay ciertos estilos listos que vienen con Mercurial.  Un estilo es
+simplemente una plantilla predeterminada que alguien escribió e
+instaló en un sitio en el cual Mercurial puede encontrarla.
 
-Before we take a look at Mercurial's bundled styles, let's review its
-normal output.
+Antes de dar un vistazo a los estilos que trae Mercurial, revisemos su
+salida usual.
 
 \interaction{template.simple.normal}
 
-This is somewhat informative, but it takes up a lot of space---five
-lines of output per changeset.  The \texttt{compact} style reduces
-this to three lines, presented in a sparse manner.
+Es en cierta medida informativa, pero ocupa mucho espacio---cinco
+líneas de salida por cada conjunto de cambios.  El estilo
+\texttt{compact} lo reduce a tres líneas, presentadas de forma
+suscinta.
 
 \interaction{template.simple.compact}
 
-The \texttt{changelog} style hints at the expressive power of
-Mercurial's templating engine.  This style attempts to follow the GNU
-Project's changelog guidelines\cite{web:changelog}.
+El estilo de la \texttt{bitácora de cambios} vislumbra el poder
+expresivo del sistema de plantillas de Mercurial.  Este estilo busca
+seguir los estándares de bitácora de cambios del proyecto
+GNU\cite{web:changelog}.
 
 \interaction{template.simple.changelog}
 
-You will not be shocked to learn that Mercurial's default output style
-is named \texttt{default}.
+No es una sorpresa que el estilo predeterminado de Mercurial se llame
+\texttt{default}\ndt{predeterminado}.
 
-\subsection{Setting a default style}
+\subsection{Especificar un estilo predeterminado}
 
-You can modify the output style that Mercurial will use for every
-command by editing your \hgrc\ file, naming the style you would
-prefer to use.
+Puede modificar el estilo de presentación que Mercurial usará para
+toda orden vía el fichero \hgrc\, indicando el estilo que prefiere
+usar.
 
 \begin{codesample2}
   [ui]
   style = compact
 \end{codesample2}
 
-If you write a style of your own, you can use it by either providing
-the path to your style file, or copying your style file into a
-location where Mercurial can find it (typically the \texttt{templates}
-subdirectory of your Mercurial install directory).
+Si escribe un estilo, puede usarlo bien sea proveyendo la ruta a su
+fichero de estilo o copiando su fichero de estilo a un lugar en el
+cual Mercurial pueda encontrarlo(típicamente el subdirectorio
+\texttt{templates} de su directorio de instalación de Mercurial).
 
-\section{Commands that support styles and templates}
+\section{Órdenes que soportan estilos y plantillas}
 
-All of Mercurial's ``\texttt{log}-like'' commands let you use styles
-and templates: \hgcmd{incoming}, \hgcmd{log}, \hgcmd{outgoing}, and
-\hgcmd{tip}.
+Todas las órdenes de Mercurial``relacionadas con \texttt{log}'' le
+permiten usar estilos y plantillas: \hgcmd{incoming}, \hgcmd{log},
+\hgcmd{outgoing} y \hgcmd{tip}.
 
-As I write this manual, these are so far the only commands that
-support styles and templates.  Since these are the most important
-commands that need customisable output, there has been little pressure
-from the Mercurial user community to add style and template support to
-other commands.
+Al momento de la escritura del manual estas son las únicas órdenes que
+soportan estilos y plantillas.  Dado que son las órdenes más
+importantes que necesitan personalización, no ha habido muchas
+solicitudes desde la comunidad de usuarios de Mercurial para añadir
+soporte de plantillas y estilos a otras órdenes.
 
-\section{The basics of templating}
+\section{Cuestiones básicas de plantillas}
 
-At its simplest, a Mercurial template is a piece of text.  Some of the
-text never changes, while other parts are \emph{expanded}, or replaced
-with new text, when necessary.
+Una plantilla de Mercurial es sencillamente una pieza de texto.
+Cierta porción nunca cambia, otras partes se \emph{expanden}, o
+reemplazan con texto nuevo cuando es necesario.
 
-Before we continue, let's look again at a simple example of
-Mercurial's normal output.
+Antes de continuar, veamos de nuevo un ejemplo sencillo de la salida
+usual de Mercurial:
 
 \interaction{template.simple.normal}
 
-Now, let's run the same command, but using a template to change its
-output.
+Ahora, ejecutemos la misma orden, pero usemos una plantilla para
+modificar su salida:
 
 \interaction{template.simple.simplest}
 
-The example above illustrates the simplest possible template; it's
-just a piece of static text, printed once for each changeset.  The
-\hgopt{log}{--template} option to the \hgcmd{log} command tells
-Mercurial to use the given text as the template when printing each
-changeset.
+El ejemplo anterior ilustra la plantilla más sencilla posible;  es
+solamente una porción estática de código que se imprime una vez por
+cada conjunto de cambios.  La opción \hgopt{log}{--template} de la
+orden \hgcmd{log} indica a Mercurial usar el texto dado como la
+plantilla cuando se imprime cada conjunto de cambios.
 
-Notice that the template string above ends with the text
-``\Verb+\n+''.  This is an \emph{escape sequence}, telling Mercurial
-to print a newline at the end of each template item.  If you omit this
-newline, Mercurial will run each piece of output together.  See
-section~\ref{sec:template:escape} for more details of escape sequences.
+Observe que la cadena de plantilla anterior termina con el texto
+``\Verb+\n+''.  Es una \emph{secuencia de control}, que le indica a
+Mercurial imprimira una nueva línea al final de cada objeto de la
+plantilla.  Si omite esta nueva línea, Mercurial colocará cada pieza
+de salida seguida.  Si desea más detalles acerca de secuencias de
+control, vea la sección~\ref{sec:template:escape}.
 
-A template that prints a fixed string of text all the time isn't very
-useful; let's try something a bit more complex.
+Una plantilla que imprime una cadena fija de texto siempre no es muy
+útil; intentemos algo un poco más complejo.
 
 \interaction{template.simple.simplesub}
 
-As you can see, the string ``\Verb+{desc}+'' in the template has been
-replaced in the output with the description of each changeset.  Every
-time Mercurial finds text enclosed in curly braces (``\texttt{\{}''
-and ``\texttt{\}}''), it will try to replace the braces and text with
-the expansion of whatever is inside.  To print a literal curly brace,
-you must escape it, as described in section~\ref{sec:template:escape}.
+Como puede ver, la cadena ``\Verb+{desc}+'' en la plantilla ha sido
+reemplazada en la salida con la descricipción de cada conjunto de
+cambios.  Cada vez que Mercurial encuentra texto encerrado entre
+corchetes(``\texttt{\{}'' y ``\texttt{\}}''), intentará reemplazar los
+corchetes y el texto con la expansión de lo que sea está adentro.
+Para imprimir un corchete de forma literal, debe escaparlo, como se
+describe en la sección~\ref{sec:template:escape}.
 
-\section{Common template keywords}
+\section{Palabras claves más comunes en las plantillas}
 \label{sec:template:keyword}
 
-You can start writing simple templates immediately using the keywords
-below.
+Puede empezar a escribir plantillas sencillas rápidamente con las
+palabras claves descritas a continuación:
 
 \begin{itemize}
-\item[\tplkword{author}] String.  The unmodified author of the changeset.
-\item[\tplkword{branches}] String.  The name of the branch on which
-  the changeset was committed.  Will be empty if the branch name was
+\item[\tplkword{author}] Cadena.  El autor NO modificado del conjunto
+  de cambios.
+\item[\tplkword{branches}] Cadena.  El nombre de la rama en la cual se
+  consignó el conjunto de cambios.  Será vacía si el nombre de la rama es
   \texttt{default}.
-\item[\tplkword{date}] Date information.  The date when the changeset
-  was committed.  This is \emph{not} human-readable; you must pass it
-  through a filter that will render it appropriately.  See
-  section~\ref{sec:template:filter} for more information on filters.
-  The date is expressed as a pair of numbers.  The first number is a
-  Unix UTC timestamp (seconds since January 1, 1970); the second is
-  the offset of the committer's timezone from UTC, in seconds.
-\item[\tplkword{desc}] String.  The text of the changeset description.
-\item[\tplkword{files}] List of strings.  All files modified, added, or
-  removed by this changeset.
-\item[\tplkword{file\_adds}] List of strings.  Files added by this
-  changeset.
-\item[\tplkword{file\_dels}] List of strings.  Files removed by this
-  changeset.
-\item[\tplkword{node}] String.  The changeset identification hash, as a
-  40-character hexadecimal string.
-\item[\tplkword{parents}] List of strings.  The parents of the
-  changeset.
-\item[\tplkword{rev}] Integer.  The repository-local changeset revision
-  number.
-\item[\tplkword{tags}] List of strings.  Any tags associated with the
-  changeset.
+\item[\tplkword{date}] Información de fecha.  La fecha en la cual se
+  consignó el conjunto de cambios.  \emph{No} es legible por un
+  humano, debe pasarla por un firltro que la desplegará
+  apropiadamente.  En la sección~\ref{sec:template:filter} hay más
+  detalles acerca de filtros.  La fecha se expresa como un par de
+  números.  El primer número corresponde a una marca de tiempo UNIX
+  UTC(segundos desde el primero de enero de 1970); la segunda es el
+  corrimiento horario de la zona horaria del UTC en la cual se encontraba
+  quien hizo la consignación, en segundos.
+\item[\tplkword{desc}] Cadena.  La descripción en texto del conjunto
+  de cambios.
+\item[\tplkword{files}] Lista de cadenas.  Todos los ficheros
+  modificados, adicionados o eliminados por este conjunto de cambios.
+\item[\tplkword{file\_adds}] Lista de cadenas.  Ficheros adicionados
+  por este conjunto de cambios.
+\item[\tplkword{file\_dels}] Lista de cadenas.  Ficheros eliminados
+  por este conjunto de cambios.
+\item[\tplkword{node}] Cadena.  El hash de identificación de este
+  conjunto de cambios como una cadena hexadecimal de 40 caracteres.
+\item[\tplkword{parents}] Lista de cadenas.  Los ancestros del
+  conjunto de cambios.
+\item[\tplkword{rev}] Entero.  El número de revisión del repositorio
+  local.
+\item[\tplkword{tags}] Lista de cadenas.  Todas las etiquetas
+  asociadas al conjunto de cambios.
 \end{itemize}
 
-A few simple experiments will show us what to expect when we use these
-keywords; you can see the results in
-figure~\ref{fig:template:keywords}.
+Unos experimentos sencillos nos mostrarán qué esperar cuando usamos
+estas palabras claves; puede ver los resultados en la
+figura~\ref{fig:template:keywords}.
 
 \begin{figure}
   \interaction{template.simple.keywords}
@@ -146,328 +155,341 @@
   \label{fig:template:keywords}
 \end{figure}
 
-As we noted above, the date keyword does not produce human-readable
-output, so we must treat it specially.  This involves using a
-\emph{filter}, about which more in section~\ref{sec:template:filter}.
+Como mencionamos anteriormente, la palabra clave de fecha no produce
+salida legible por un humano, debemos tratarla de forma especial.
+Esto involucra usar un \emph{filtro}, acerca de lo cual hay más en la
+sección~\ref{sec:template:filter}.
 
 \interaction{template.simple.datekeyword}
 
-\section{Escape sequences}
+\section{Secuencias de Control}
 \label{sec:template:escape}
 
-Mercurial's templating engine recognises the most commonly used escape
-sequences in strings.  When it sees a backslash (``\Verb+\+'')
-character, it looks at the following character and substitutes the two
-characters with a single replacement, as described below.
+El motor de plantillas de Mercurial reconoce las secuencias de control
+más comunmente usadas dentro de las cadenas.  Cuando ve un backslash
+(``\Verb+\+''), ve el caracter siguiente y sustituye los dos
+caracteres con un reemplazo sencillo, como se describe a continuación:
 
 \begin{itemize}
 \item[\Verb+\textbackslash\textbackslash+] Backslash, ``\Verb+\+'',
   ASCII~134.
-\item[\Verb+\textbackslash n+] Newline, ASCII~12.
-\item[\Verb+\textbackslash r+] Carriage return, ASCII~15.
+\item[\Verb+\textbackslash n+] Nueva línea, ASCII~12.
+\item[\Verb+\textbackslash r+] Cambio de línea, ASCII~15.
 \item[\Verb+\textbackslash t+] Tab, ASCII~11.
-\item[\Verb+\textbackslash v+] Vertical tab, ASCII~13.
-\item[\Verb+\textbackslash \{+] Open curly brace, ``\Verb+{+'', ASCII~173.
-\item[\Verb+\textbackslash \}+] Close curly brace, ``\Verb+}+'', ASCII~175.
+\item[\Verb+\textbackslash v+] Tab Vertical, ASCII~13.
+\item[\Verb+\textbackslash \{+] Corchete abierto, ``\Verb+{+'', ASCII~173.
+\item[\Verb+\textbackslash \}+] Corchete cerrado, ``\Verb+}+'', ASCII~175.
 \end{itemize}
 
-As indicated above, if you want the expansion of a template to contain
-a literal ``\Verb+\+'', ``\Verb+{+'', or ``\Verb+{+'' character, you
-must escape it.
+Como se indicó arriba, si desea que la expansión en una plantilla
+contenga un caracter literal ``\Verb+\+'', ``\Verb+{+'', o
+  ``\Verb+{+'', debe escaparlo.
 
-\section{Filtering keywords to change their results}
+\section{Uso de filtros con palabras claves}
 \label{sec:template:filter}
 
-Some of the results of template expansion are not immediately easy to
-use.  Mercurial lets you specify an optional chain of \emph{filters}
-to modify the result of expanding a keyword.  You have already seen a
-common filter, \tplkwfilt{date}{isodate}, in action above, to make a
-date readable.
+Algunos de los resultados de la expansión de la plantilla no son
+fáciles de usar de inmediato.  Mercurial le permite especificar una
+cadena de \emph{filtros} opcionales para modificar el resultado de
+expandir una palabra clave.  Ya ha visto el filtro usual
+\tplkwfilt{date}{isodate} en acción con anterioridad para hacer
+legible la fecha.
 
-Below is a list of the most commonly used filters that Mercurial
-supports.  While some filters can be applied to any text, others can
-only be used in specific circumstances.  The name of each filter is
-followed first by an indication of where it can be used, then a
-description of its effect.
+A continuación hay una lista de los filtros de Mercurial más
+comunmente usados.  Ciertos filtros pueden aplicarse a cualquier
+texto, otros pueden usarse únicamente en circunstancias específicas.
+El nombre de cada filtro está seguido de la indicación de dónde puede
+ser usado y una descripción de su efecto.
 
 \begin{itemize}
-\item[\tplfilter{addbreaks}] Any text. Add an XHTML ``\Verb+<br/>+''
-  tag before the end of every line except the last.  For example,
-  ``\Verb+foo\nbar+'' becomes ``\Verb+foo<br/>\nbar+''.
-\item[\tplkwfilt{date}{age}] \tplkword{date} keyword.  Render the
-  age of the date, relative to the current time.  Yields a string like
+\item[\tplfilter{addbreaks}] Cualquier texto. Añade una etiqueta XHTML
+  ``\Verb+<br/>+'' antes del final de cada línea excepto en la final.
+  Por ejemplo, ``\Verb+foo\nbar+'' se convierte en ``\Verb+foo<br/>\nbar+''.
+\item[\tplkwfilt{date}{age}] palabra clave \tplkword{date}.  Muestra
+  la edad de la fecha, relativa al tiempo actual. Ofrece una cadena como
   ``\Verb+10 minutes+''.
-\item[\tplfilter{basename}] Any text, but most useful for the
-  \tplkword{files} keyword and its relatives.  Treat the text as a
-  path, and return the basename. For example, ``\Verb+foo/bar/baz+''
-  becomes ``\Verb+baz+''.
-\item[\tplkwfilt{date}{date}] \tplkword{date} keyword.  Render a date
-  in a similar format to the Unix \tplkword{date} command, but with
-  timezone included.  Yields a string like
-  ``\Verb+Mon Sep 04 15:13:13 2006 -0700+''.
-\item[\tplkwfilt{author}{domain}] Any text, but most useful for the
-  \tplkword{author} keyword.  Finds the first string that looks like
-  an email address, and extract just the domain component.  For
-  example, ``\Verb+Bryan O'Sullivan <bos@serpentine.com>+'' becomes
+\item[\tplfilter{basename}] Cualquier texto, pero de utilidad sobre
+  todo en palabras claves relativas a \tplkword{ficheros}.  Trata el
+  texto como una ruta, retornando el nombre base.  Por ejemplo,
+  ``\Verb+foo/bar/baz+'', se convierte en ``\Verb+baz+''.
+\item[\tplkwfilt{date}{date}] \tplkword{date} palabra clave.  Mostrar
+  la fecha en un formato similar a la orden \tplkword{date} de 
+  in a similar format to the Unix, pero con la zona horaria incluída.
+  Una cadena como ``\Verb+Mon Sep 04 15:13:13 2006 -0700+''.
+\item[\tplkwfilt{author}{domain}] Cualquier texto, pero de mayor
+  utilidad para la palabra clave \tplkword{author}.  Encuentra la
+  primera cadena que luce como una dirección de correo electrónico, y
+  extrae solamente el componente del dominio.  Por ejemplo, de 
+  ``\Verb+Bryan O'Sullivan <bos@serpentine.com>+'' se extrae
   ``\Verb+serpentine.com+''.
-\item[\tplkwfilt{author}{email}] Any text, but most useful for the
-  \tplkword{author} keyword.  Extract the first string that looks like
-  an email address.  For example,
-  ``\Verb+Bryan O'Sullivan <bos@serpentine.com>+'' becomes
+\item[\tplkwfilt{author}{email}] Cualquier texto, pero de mayor
+  utilidad para la palabra clave \tplkword{author}.  Extrae la primera
+  cadena que luce como una dirección de correo. Por ejemplo, de
+  ``\Verb+Bryan O'Sullivan <bos@serpentine.com>+'' extrae 
   ``\Verb+bos@serpentine.com+''.
-\item[\tplfilter{escape}] Any text.  Replace the special XML/XHTML
-  characters ``\Verb+&+'', ``\Verb+<+'' and ``\Verb+>+'' with
-  XML entities.
-\item[\tplfilter{fill68}] Any text.  Wrap the text to fit in 68
-  columns.  This is useful before you pass text through the
-  \tplfilter{tabindent} filter, and still want it to fit in an
-  80-column fixed-font window.
-\item[\tplfilter{fill76}] Any text.  Wrap the text to fit in 76
-  columns.
-\item[\tplfilter{firstline}] Any text.  Yield the first line of text,
-  without any trailing newlines.
-\item[\tplkwfilt{date}{hgdate}] \tplkword{date} keyword.  Render the
-  date as a pair of readable numbers.  Yields a string like
-  ``\Verb+1157407993 25200+''.
-\item[\tplkwfilt{date}{isodate}] \tplkword{date} keyword.  Render the
-  date as a text string in ISO~8601 format.  Yields a string like
-  ``\Verb+2006-09-04 15:13:13 -0700+''.
-\item[\tplfilter{obfuscate}] Any text, but most useful for the
-  \tplkword{author} keyword.  Yield the input text rendered as a
-  sequence of XML entities.  This helps to defeat some particularly
-  stupid screen-scraping email harvesting spambots.
-\item[\tplkwfilt{author}{person}] Any text, but most useful for the
-  \tplkword{author} keyword.  Yield the text before an email address.
-  For example, ``\Verb+Bryan O'Sullivan <bos@serpentine.com>+''
-  becomes ``\Verb+Bryan O'Sullivan+''.
-\item[\tplkwfilt{date}{rfc822date}] \tplkword{date} keyword.  Render a
-  date using the same format used in email headers.  Yields a string
-  like ``\Verb+Mon, 04 Sep 2006 15:13:13 -0700+''.
-\item[\tplkwfilt{node}{short}] Changeset hash.  Yield the short form
-  of a changeset hash, i.e.~a 12-byte hexadecimal string.
-\item[\tplkwfilt{date}{shortdate}] \tplkword{date} keyword.  Render
-  the year, month, and day of the date.  Yields a string like
+\item[\tplfilter{escape}] Cualquier texto.  Reemplaza los caracteres
+  especiales de XML/XHTML: ``\Verb+&+'', ``\Verb+<+'' y ``\Verb+>+''
+  con las entidades XML.
+\item[\tplfilter{fill68}] Cualquier texto.  lograr que el texto ocupe
+  las primeras 68 columnas.  Es útil emplearlo antes de pasar el texto
+  por el filtro \tplfilter{tabindent}, y queremos que aún quepa en una
+  ventana de fuente fija y 80 columnas.
+\item[\tplfilter{fill76}] Cualquier texto.  Lograr que el texto quepa
+  en 76 columnas.
+\item[\tplfilter{firstline}] Cualquier texto.  Mostrar la primera
+  línea de texto sin saltos de línea.
+\item[\tplkwfilt{date}{hgdate}] \tplkword{date} palabra clave.
+  Mostrar la fecha como un par de números legibles.  Muestra una
+  cadena como ``\Verb+1157407993 25200+''.
+\item[\tplkwfilt{date}{isodate}] \tplkword{date} palabra clave.
+  Mostrar la fecha como una cadena de texto en el formato.  Muestra
+  una cadena como ``\Verb+2006-09-04 15:13:13 -0700+''.
+\item[\tplfilter{obfuscate}] Cualquier texto, pero de mayor utilidad
+  para la palabra clave \tplkword{author}.  Muestra el campo de texto
+  como una secuencia de entidades XML.  Esto ayuda a eliminar ciertos
+  robots estúpidos de adquisición de correo.
+\item[\tplkwfilt{author}{person}] Cualquier texto, útil sobre todo
+  para la palabra clave \tplkword{author}.  Muestra el texto que hay
+  antes de la dirección de correo electrónico.  Por ejemplo,
+  ``\Verb+Bryan O'Sullivan <bos@serpentine.com>+'' mostraría
+  ``\Verb+Bryan O'Sullivan+''.
+\item[\tplkwfilt{date}{rfc822date}] \tplkword{date} palabra clave.
+  Muestra una fecha con el mismo formato que se usa en los encabezados
+  de correo.  Mostraría una cadena como
+ ``\Verb+Mon, 04 Sep 2006 15:13:13 -0700+''.
+\item[\tplkwfilt{node}{short}] Hash del conjunto de cambios.  Muestra
+  la forma corta de un hash de conjunto de cambios, 
+  of a changeset hash, p.e.~una cadena hexadecimal de 12 bytes.
+\item[\tplkwfilt{date}{shortdate}] \tplkword{date} palabra clave.
+  Mostrar año, mes y día de una fecha.  Muestrauna cadena como
   ``\Verb+2006-09-04+''.
-\item[\tplfilter{strip}] Any text.  Strip all leading and trailing
-  whitespace from the string.
-\item[\tplfilter{tabindent}] Any text.  Yield the text, with every line
-  except the first starting with a tab character.
-\item[\tplfilter{urlescape}] Any text.  Escape all characters that are
-  considered ``special'' by URL parsers.  For example, \Verb+foo bar+
-  becomes \Verb+foo%20bar+.
-\item[\tplkwfilt{author}{user}] Any text, but most useful for the
-  \tplkword{author} keyword.  Return the ``user'' portion of an email
-  address.  For example,
-  ``\Verb+Bryan O'Sullivan <bos@serpentine.com>+'' becomes
+\item[\tplfilter{strip}] Cualquier texto.  Elimina todos los espacios
+  en blanco al principio y al final de la cadena.
+\item[\tplfilter{tabindent}] Cualquier texto.  Muestra el texto con
+  todas las líneas excepto la primera que comience con el caracter tab.
+\item[\tplfilter{urlescape}] Cualquier texto.  Escapa todos los
+  caracteres que se consideren como ``especiales'' por los parsers de
+  URL.  Por ejemplo, \Verb+foo bar+ se convierte en \Verb+foo%20bar+.
+\item[\tplkwfilt{author}{user}] Cualquier texto, útil sobre todo para
+  la palabra clave \tplkword{author}.  Retorna el ``usuario'' de una
+  dirección de correo.  Por ejemplo, 
+  ``\Verb+Bryan O'Sullivan <bos@serpentine.com>+'' se convierte en 
   ``\Verb+bos+''.
 \end{itemize}
 
 \begin{figure}
   \interaction{template.simple.manyfilters}
-  \caption{Template filters in action}
+  \caption{Filtros de plantilla en acción}
   \label{fig:template:filters}
 \end{figure}
 
 \begin{note}
-  If you try to apply a filter to a piece of data that it cannot
-  process, Mercurial will fail and print a Python exception.  For
-  example, trying to run the output of the \tplkword{desc} keyword
-  into the \tplkwfilt{date}{isodate} filter is not a good idea.
+  Si trata de aplicar un filtro a una porción de datos que no puede
+  procesarse, Mercurial fallará e imprimirá una excepción de Python.
+  Por ejemplo, el tratar de usar la salida de la palabra clave
+  \tplkword{desc} con el filtro \tplkwfilt{date}{isodate} no resultará
+  algo útil.
 \end{note}
 
-\subsection{Combining filters}
+\subsection{Combinar filtros}
 
-It is easy to combine filters to yield output in the form you would
-like.  The following chain of filters tidies up a description, then
-makes sure that it fits cleanly into 68 columns, then indents it by a
-further 8~characters (at least on Unix-like systems, where a tab is
-conventionally 8~characters wide).
+Combinar filtros es para generar una salida en la forma como usted lo
+desea es muy sencillo.  La cadena de filtros siguientes arman una
+descripción, después aseguran que cabe limpiamente en 68 columnas, y
+las indenta con 8~caracteres (por lo menos en sistemas tipo Unix, en
+los que el tab por convención se extiende en 8~caracteres).
 
 \interaction{template.simple.combine}
 
-Note the use of ``\Verb+\t+'' (a tab character) in the template to
-force the first line to be indented; this is necessary since
-\tplkword{tabindent} indents all lines \emph{except} the first.
+Observe el uso de ``\Verb+\t+'' (un caracter tab) en la plantilla para
+forzar que la primera línea se indente; esto es necesario para lograr
+que la primera línea luzca indentada;  es necesario debido a que
+\tplkword{tabindent} indenta todas las líneas \emph{excepto} la primera.
 
-Keep in mind that the order of filters in a chain is significant.  The
-first filter is applied to the result of the keyword; the second to
-the result of the first filter; and so on.  For example, using
-\Verb+fill68|tabindent+ gives very different results from
-\Verb+tabindent|fill68+.
+Tenga en cuenta que el orden de los filtros importa.  El primer filtro
+se aplica primero al resultado de la palabra clave; el segundo al
+resultado de la aplicación del primer filtro y así sucesivamente.  Por
+ejemplo, usar \Verb+fill68|tabindent+ es muy distinto al resultado de
+usar \Verb+tabindent|fill68+.
 
 
-\section{From templates to styles}
+\section{De plantillas a estilos}
 
-A command line template provides a quick and simple way to format some
-output.  Templates can become verbose, though, and it's useful to be
-able to give a template a name.  A style file is a template with a
-name, stored in a file.
+Una plantilla provee una forma rápida y sencilla para dar formato a
+una salida.  Las plantillas pueden volvers verbosas, y es útil poder
+darle un nombre a una plantilla.  Un fichero de estilo es una
+plantilla con un nombre, almacenado en un fichero.
 
-More than that, using a style file unlocks the power of Mercurial's
-templating engine in ways that are not possible using the command line
-\hgopt{log}{--template} option.
+Más aún, al usar un fichero de estilo se dispara el poder del motor de
+plantillas en un nivel imposible de alcanzar usando las opción
+\hgopt{log}{--template} desde la línea de órdenes.
 
-\subsection{The simplest of style files}
 
-Our simple style file contains just one line:
+\subsection{Los ficheros de estilo más sencillos}
+
+Nuestro fichero sencillo de estilo contiene una sola línea:
 
 \interaction{template.simple.rev}
 
-This tells Mercurial, ``if you're printing a changeset, use the text
-on the right as the template''.
+Se le indica a Mercurial, ``si está imprimiendo un conjunto de
+cambios, use el texto de la derecha como la plantilla''.
 
-\subsection{Style file syntax}
+\subsection{Sintaxis de ficheros de estilo}
 
-The syntax rules for a style file are simple.
+Las reglas de sintaxis para un fichero de estilo son sencillas:
 
 \begin{itemize}
-\item The file is processed one line at a time.
+\item El fichero se procesa línea por línea.
 
-\item Leading and trailing white space are ignored.
+\item Se ignoran el espacio en blanco circundante.
 
-\item Empty lines are skipped.
+\item Se omiten las líneas en blanco.
 
-\item If a line starts with either of the characters ``\texttt{\#}'' or
-  ``\texttt{;}'', the entire line is treated as a comment, and skipped
-  as if empty.
+\item Si una línea comienza con los caracteres ``\texttt{\#}'' o
+  ``\texttt{;}'', la línea completa se trata como un comentario, y se
+  omite como si fuera vacía.
 
-\item A line starts with a keyword.  This must start with an
-  alphabetic character or underscore, and can subsequently contain any
-  alphanumeric character or underscore.  (In regexp notation, a
-  keyword must match \Verb+[A-Za-z_][A-Za-z0-9_]*+.)
-
-\item The next element must be an ``\texttt{=}'' character, which can
-  be preceded or followed by an arbitrary amount of white space.
+\item Una línea comienza con una palabra clave.  Esta debe comenzar
+  con una caracter alfabético o una raya al piso, y puede contener
+  subsecuentemente cualquier caracter alfanumérico o una raya al
+  piso.  (En notación de expresiones regulares debe coincidir con
+  \Verb+[A-Za-z_][A-Za-z0-9_]*+.)
 
-\item If the rest of the line starts and ends with matching quote
-  characters (either single or double quote), it is treated as a
-  template body.
+\item El próximo elemento debe ser un caracter ``\texttt{=}'', que
+  puede estar precedido o seguido por una cantidad arbitraria de
+  espacio.
 
-\item If the rest of the line \emph{does not} start with a quote
-  character, it is treated as the name of a file; the contents of this
-  file will be read and used as a template body.
+\item Si el resto de la línea comienza y termina con caracteres
+  encerrados entre caracteres de comillas(bien sea sencillas o
+  dobles),  se trata como cuerpo de la plantilla.
+
+\item Si el resto de la línea \emph{no} comienza con una comilla, se
+  trata como el nombre de un fichero; los contenidos de este fichero
+  se leerán y se usarán como cuerpo de la plantilla.
 \end{itemize}
 
-\section{Style files by example}
+\section{Ejemplos de ficheros de estilos}
 
-To illustrate how to write a style file, we will construct a few by
-example.  Rather than provide a complete style file and walk through
-it, we'll mirror the usual process of developing a style file by
-starting with something very simple, and walking through a series of
-successively more complete examples.
+Para ilustrar la creación de un fichero de estilo, construiremos
+algunos ejemplos.  En lugar de ofrecer un fichero completo de estilo y
+analizarlo, replicaremos el proceso usual de desarrollo de un fichero
+de estilo comenzando con algo muy sencillo, y avanzando por una serie
+de ejemplos sucesivos más completos.
 
-\subsection{Identifying mistakes in style files}
+\subsection{Identificar equivocaciones en ficheros de estilo}
 
-If Mercurial encounters a problem in a style file you are working on,
-it prints a terse error message that, once you figure out what it
-means, is actually quite useful.
+Si Mercurial encuentra un problema en un fichero de estilo en el cual
+usted está trabajando, imprime un mensaje de error suscinto, cuando
+usted identifique lo que significa, resulta muy útil.
 
 \interaction{template.svnstyle.syntax.input}
 
-Notice that \filename{broken.style} attempts to define a
-\texttt{changeset} keyword, but forgets to give any content for it.
-When instructed to use this style file, Mercurial promptly complains.
+Tenga en cuenta que \filename{broken.style} trata de definir la
+palabra clave \texttt{changeset}, pero omite dar un contenido para esta.
+Cuando se le indica a Mercurial que use este fichero de estilo, se
+queja inmediatamente.
 
 \interaction{template.svnstyle.syntax.error}
 
-This error message looks intimidating, but it is not too hard to
-follow.
+Este mensaje de error luce intimidante, pero no es muy difícil de
+seguir:
 
 \begin{itemize}
-\item The first component is simply Mercurial's way of saying ``I am
-  giving up''.
+\item El primer componente es la forma como Mercurial dice ``me rindo''.
   \begin{codesample4}
     \textbf{abort:} broken.style:1: parse error
   \end{codesample4}
 
-\item Next comes the name of the style file that contains the error.
+\item A continuación viene el nombre del fichero que contiene el error.
   \begin{codesample4}
     abort: \textbf{broken.style}:1: parse error
   \end{codesample4}
 
-\item Following the file name is the line number where the error was
-  encountered.
+\item Siguendo el nombre del fichero viene el número de línea en la
+  que se encontró el error.
   \begin{codesample4}
     abort: broken.style:\textbf{1}: parse error
   \end{codesample4}
 
-\item Finally, a description of what went wrong.
+\item Finalmente, la descripción de lo que falló.
   \begin{codesample4}
     abort: broken.style:1: \textbf{parse error}
   \end{codesample4}
-  The description of the problem is not always clear (as in this
-  case), but even when it is cryptic, it is almost always trivial to
-  visually inspect the offending line in the style file and see what
-  is wrong.
+  La descripción del problema no siempre es clara(como en este caso),
+  pero aunque sea críptica, casi siempre es trivial la inspección
+  visual de la línea en el fichero de estilo y encontrar lo que está
+  mal.
 \end{itemize}
 
-\subsection{Uniquely identifying a repository}
+\subsection{Identificar de forma única un repositorio}
 
-If you would like to be able to identify a Mercurial repository
-``fairly uniquely'' using a short string as an identifier, you can
-use the first revision in the repository.
+Si desea identificar un repositorio de Mercurial ``de forma única''
+con una cadena corta como identificador, puede usar la primera
+revisión en el repositorio.
 \interaction{template.svnstyle.id} 
-This is not guaranteed to be unique, but it is nevertheless useful in
+No es garantía de unicidad, pero no es útill en ciertos casos:
 many cases.
 \begin{itemize}
-\item It will not work in a completely empty repository, because such
-  a repository does not have a revision~zero.
-\item Neither will it work in the (extremely rare) case where a
-  repository is a merge of two or more formerly independent
-  repositories, and you still have those repositories around.
+\item No funcionará en un repositorio completamente vacío, porque un
+  repositorio así no tiene una revisión~zero.
+\item Tampoco funcionará en caso(muy raro) cuando el repositorio sea
+  una fusión de dos repositorios independientes y tiene los dos
+  directorios por ahí.
 \end{itemize}
-Here are some uses to which you could put this identifier:
+Hay ciertos casos en los cuales podría colocar el identificador:
 \begin{itemize}
-\item As a key into a table for a database that manages repositories
-  on a server.
-\item As half of a \{\emph{repository~ID}, \emph{revision~ID}\} tuple.
-  Save this information away when you run an automated build or other
-  activity, so that you can ``replay'' the build later if necessary.
+\item Como una llave en la tabla de una base de datos que administra
+  repositorios en un servidor.
+\item Como una parte del par \{\emph{ID~repositorio}, \emph{ID~revisión}\}.
+  Almacene esta información de forma independiente cuando ejecute
+  construcciones automatizadas u otras actividades, de forma que pueda
+  ``reconstruir'' posteriormente en caso de ser necesario.
 \end{itemize}
 
-\subsection{Mimicking Subversion's output}
+\subsection{Mostrando salida parecida a Subversion}
 
-Let's try to emulate the default output format used by another
-revision control tool, Subversion.
+Intentemos emular la salida usual que usa otro sistema de control de
+revisiones,  Subversion.
 \interaction{template.svnstyle.short}
 
-Since Subversion's output style is fairly simple, it is easy to
-copy-and-paste a hunk of its output into a file, and replace the text
-produced above by Subversion with the template values we'd like to see
-expanded.
+Dado que la salida de Subversion es sencilla, es fácil copiar y pegar
+una porción de su salida en un fichero, y reemplazar el texto
+producido previamente por Subversion con valores base que quisiéramos
+ver expandidos.
 \interaction{template.svnstyle.template}
 
-There are a few small ways in which this template deviates from the
-output produced by Subversion.
+Esta plantilla difiere en algunos detalles de la salida producida por
+Subversion:
 \begin{itemize}
-\item Subversion prints a ``readable'' date (the ``\texttt{Wed, 27 Sep
-    2006}'' in the example output above) in parentheses.  Mercurial's
-  templating engine does not provide a way to display a date in this
-  format without also printing the time and time zone.
-\item We emulate Subversion's printing of ``separator'' lines full of
-  ``\texttt{-}'' characters by ending the template with such a line.
-  We use the templating engine's \tplkword{header} keyword to print a
-  separator line as the first line of output (see below), thus
-  achieving similar output to Subversion.
-\item Subversion's output includes a count in the header of the number
-  of lines in the commit message.  We cannot replicate this in
-  Mercurial; the templating engine does not currently provide a filter
-  that counts the number of items it is passed.
+\item Subversion imprime una fecha ``legible'' (el ``\texttt{Wed, 27 Sep
+    2006}'' en el ejemplo de salida anterior) en paréntesis.  El motor
+  de plantillas de Mercurial no ofrece una forma sencilla de desplegar
+  una fecha en este formato sin imprimir también la hora y la zona horaria.
+\item Emulamos las líneas de ``separación'' de subversion con caracteres
+  ``\texttt{-}'' en una línea.  Usamos la palabra clave
+  \tplkword{header} del motor de plantillas para imprimir una línea de
+  separación como la primera línea de salida(ver más abajo), para
+  lograr una salida similara a la de Subversion.
+\item La salida de subversion incluye un conteo en el encabezado del
+  número de líneas en el mensaje de consinación.  No podemos
+  replicarlo en Mercurial; el motor de plantilla no ofrece en la
+  actualidad un filtro que cuente la cantidad de objetos que se le
+  pasen.
 \end{itemize}
-It took me no more than a minute or two of work to replace literal
-text from an example of Subversion's output with some keywords and
-filters to give the template above.  The style file simply refers to
-the template.
+No me tomó más de un minuto o dos de trabajo para reemplazar texto
+literal de un ejemplo de salida de la salida de Subversion con ciertas
+palabras claves y filtros para ofrecer la plantilla anterior.  El
+fichero de estilo se refiere sencillamente a la plantilla.
 \interaction{template.svnstyle.style}
 
-We could have included the text of the template file directly in the
-style file by enclosing it in quotes and replacing the newlines with
-``\verb!\n!'' sequences, but it would have made the style file too
-difficult to read.  Readability is a good guide when you're trying to
-decide whether some text belongs in a style file, or in a template
-file that the style file points to.  If the style file will look too
-big or cluttered if you insert a literal piece of text, drop it into a
-template instead.
+Podríamos haber incluído el texto del fichero plantilla directamente
+en el fichero de estilo encerrando entre comillas y reemplazando las
+nuevas líneas con secuencias ``\verb!\n!'', pero haría muy difícil de
+leer el archivo de estilos.  La facilidad para leer es importante
+cuando está decidiendo si un texto pertenece a un fichero de estilo o
+a un fichero de plantilla incluído en el estilo.  Si el fichero de
+estilo luce muy grande o complicado, si inserta una pieza de texto
+literal, mejor colóquelo en una plantilla.
 
 %%% Local Variables: 
 %%% mode: latex