Просмотр исходного кода

DOCUMENTATION Spanish:
- tabs => 4 spaces
- erase endline spaces
- convert CRLF => LF

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@15290 44c647ce-9c0f-0410-b52a-842ac1e357ba

mikaelkael 17 лет назад
Родитель
Сommit
618e149a6b
32 измененных файлов с 2484 добавлено и 2484 удалено
  1. 46 46
      documentation/manual/es/module_specs/Zend_Acl-Advanced.xml
  2. 82 82
      documentation/manual/es/module_specs/Zend_Acl-Refining.xml
  3. 28 28
      documentation/manual/es/module_specs/Zend_Amf.xml
  4. 1 1
      documentation/manual/es/module_specs/Zend_Auth.xml
  5. 141 141
      documentation/manual/es/module_specs/Zend_Cache-Introduction.xml
  6. 20 20
      documentation/manual/es/module_specs/Zend_Captcha.xml
  7. 72 72
      documentation/manual/es/module_specs/Zend_Config-Introduction.xml
  8. 27 27
      documentation/manual/es/module_specs/Zend_Config-TheoryOfOperation.xml
  9. 160 160
      documentation/manual/es/module_specs/Zend_Config_Ini.xml
  10. 3 3
      documentation/manual/es/module_specs/Zend_Config_Xml.xml
  11. 302 302
      documentation/manual/es/module_specs/Zend_Controller-QuickStart.xml
  12. 85 85
      documentation/manual/es/module_specs/Zend_Date-Introduction.xml
  13. 488 488
      documentation/manual/es/module_specs/Zend_Db_Adapter.xml
  14. 63 63
      documentation/manual/es/module_specs/Zend_Db_Profiler.xml
  15. 122 122
      documentation/manual/es/module_specs/Zend_Db_Select.xml
  16. 52 52
      documentation/manual/es/module_specs/Zend_Db_Statement.xml
  17. 48 48
      documentation/manual/es/module_specs/Zend_Debug.xml
  18. 18 18
      documentation/manual/es/module_specs/Zend_Exception.xml
  19. 9 9
      documentation/manual/es/module_specs/Zend_Form-Advanced.xml
  20. 64 64
      documentation/manual/es/module_specs/Zend_Form-Decorators.xml
  21. 186 186
      documentation/manual/es/module_specs/Zend_Form-Forms.xml
  22. 4 4
      documentation/manual/es/module_specs/Zend_Form-Introduction.xml
  23. 43 43
      documentation/manual/es/module_specs/Zend_Form-QuickStart.xml
  24. 101 101
      documentation/manual/es/module_specs/Zend_Form-StandardDecorators.xml
  25. 12 12
      documentation/manual/es/module_specs/Zend_Layout-Introduction.xml
  26. 25 25
      documentation/manual/es/module_specs/Zend_Loader.xml
  27. 40 40
      documentation/manual/es/module_specs/Zend_Validate-EmailAddress.xml
  28. 41 41
      documentation/manual/es/module_specs/Zend_Validate-Hostname.xml
  29. 33 33
      documentation/manual/es/module_specs/Zend_Validate-Set.xml
  30. 21 21
      documentation/manual/es/module_specs/Zend_Validate-ValidatorChains.xml
  31. 77 77
      documentation/manual/es/module_specs/Zend_Validate-WritingValidators.xml
  32. 70 70
      documentation/manual/es/module_specs/Zend_Validate.xml

+ 46 - 46
documentation/manual/es/module_specs/Zend_Acl-Advanced.xml

@@ -41,25 +41,25 @@
             Escribiendo reglas condicionales ACL con aserciones
         </title>
 
-		<para>
-			A veces, una regla para permitir o negar una función de acceso a un
-			recurso no debería ser absoluta sino que depende de varios criterios.
-			Por ejemplo, supóngase que debe permitirse cierto acceso, pero
-			únicamente entre las 8:00am y 5:00pm. Otro ejemplo sería negar el
-			acceso debido a una petición que proviene de una dirección IP que se
-			ha marcado como una fuente de abusos. Zend_Acl tiene soporte para la
-			aplicación de normas basadas en cualquier condición que el
-			desarrollador necesite.
+        <para>
+            A veces, una regla para permitir o negar una función de acceso a un
+            recurso no debería ser absoluta sino que depende de varios criterios.
+            Por ejemplo, supóngase que debe permitirse cierto acceso, pero
+            únicamente entre las 8:00am y 5:00pm. Otro ejemplo sería negar el
+            acceso debido a una petición que proviene de una dirección IP que se
+            ha marcado como una fuente de abusos. Zend_Acl tiene soporte para la
+            aplicación de normas basadas en cualquier condición que el
+            desarrollador necesite.
         </para>
 
-	<para>
-		Zend_Acl provee soporte para reglas condicionales con
-		<code>Zend_Acl_Assert_Interface</code>
-		. Con el fin de utilizar la regla de aserción de la interfaz,
-		un desarrollador escribe una clase que implemente el método
-		<code>assert()</code>
-		de la interfaz:
-	</para>
+    <para>
+        Zend_Acl provee soporte para reglas condicionales con
+        <code>Zend_Acl_Assert_Interface</code>
+        . Con el fin de utilizar la regla de aserción de la interfaz,
+        un desarrollador escribe una clase que implemente el método
+        <code>assert()</code>
+        de la interfaz:
+    </para>
 
         <programlisting role="php"><![CDATA[
 class CleanIPAssertion implements Zend_Acl_Assert_Interface
@@ -80,43 +80,43 @@ class CleanIPAssertion implements Zend_Acl_Assert_Interface
 ]]>
         </programlisting>
 
-		<para>
-			Una vez la clase de aserción esta disponible, el desarrollador puede 
-			suministrar una instancia de la clase de aserción cuando asigna reglas 
-			condicionales. Una regla que es creada con una aserción
-			sólo se aplica cuando el método de la aserción devuelve true.
-		</para>
-		
+        <para>
+            Una vez la clase de aserción esta disponible, el desarrollador puede 
+            suministrar una instancia de la clase de aserción cuando asigna reglas 
+            condicionales. Una regla que es creada con una aserción
+            sólo se aplica cuando el método de la aserción devuelve true.
+        </para>
+        
         <programlisting role="php"><![CDATA[
 $acl = new Zend_Acl();
 $acl->allow(null, null, null, new CleanIPAssertion());
 ]]>
         </programlisting>
 
-		<para>
-			El código anterior crea una regla condicional que permite el acceso a 
-			todos los privilegios sobre todo, por todo el mundo, excepto cuando la IP 
-			de quien hace la petición está en la "lista negra". Si una petición 
-			viene desde una IP que no está considerada "limpia", entonces la regla no
-			se aplica. Dado que la regla se aplica a todos los roles, todos los 
-			recursos, y todos los privilegios, una IP "no limpia" daría lugar a una 
-			negación de acceso. Éste es un caso especial, sin embargo, y debería ser
-			entendido que en todos los otros casos (por ejemplo, cuando un rol 
-			específico, recurso, o privilegio está especificado por la regla), 
-			una aserción fallida provoca que la regla no se aplique, y otras reglas 
-			deberían ser usadas para determinar si el acceso está permitido o
-			denegado.
-		</para>
-
-		<para>
-			El método
-			<code>assert()</code>
-			de un objeto aserción es pasado a la ACL, regla,  recurso, y privilegio 
+        <para>
+            El código anterior crea una regla condicional que permite el acceso a 
+            todos los privilegios sobre todo, por todo el mundo, excepto cuando la IP 
+            de quien hace la petición está en la "lista negra". Si una petición 
+            viene desde una IP que no está considerada "limpia", entonces la regla no
+            se aplica. Dado que la regla se aplica a todos los roles, todos los 
+            recursos, y todos los privilegios, una IP "no limpia" daría lugar a una 
+            negación de acceso. Éste es un caso especial, sin embargo, y debería ser
+            entendido que en todos los otros casos (por ejemplo, cuando un rol 
+            específico, recurso, o privilegio está especificado por la regla), 
+            una aserción fallida provoca que la regla no se aplique, y otras reglas 
+            deberían ser usadas para determinar si el acceso está permitido o
+            denegado.
+        </para>
+
+        <para>
+            El método
+            <code>assert()</code>
+            de un objeto aserción es pasado a la ACL, regla,  recurso, y privilegio 
       para el cual una consulta de autorización (por ejemplo,
-			<code>isAllowed()</code>
-			) se aplica, con el fin de proporcionar un contexto para que la clase de 
+            <code>isAllowed()</code>
+            ) se aplica, con el fin de proporcionar un contexto para que la clase de 
       aserción determine sus condiciones cuando fuera necesario.
-		</para>
+        </para>
 
     </sect2>
 

+ 82 - 82
documentation/manual/es/module_specs/Zend_Acl-Refining.xml

@@ -1,54 +1,54 @@
 <sect1 id="zend.acl.refining">
 
-	<title>Perfeccionamiento de los controles de acceso</title>
-
-	<sect2 id="zend.acl.refining.precise">
-
-		<title>Definir mejor los controles de acceso</title>
-
-		<para>
-			El ACL básico según lo definido en la
-			<link linkend="zend.acl.introduction">
-				sección anterior
-			</link>
-			demuestra cómo los diversos privilegios se pueden otorgar
-			sobre todo el ACL (todos los recursos). En la práctica, sin
-			embargo, los controles de acceso tienden a tener excepciones
-			y diversos grados de complejidad. Zend_Acl permite lograr
-			estos refinamientos de una manera sencilla y flexible.
-		</para>
-
-		<para>
-			Para el CMS del ejemplo se ha determinado que, si bien el
-			grupo 'staff' cubre las necesidades de la gran mayoría de
-			usuarios, hay una necesidad de un nuevo grupo 'marketing'
-			que requiere el acceso al boletín de noticias y las últimas
-			noticias en el CMS. El grupo es bastante autosuficiente y
-			tendrá la capacidad de publicar y de archivar los boletines
-			de noticias y las últimas noticias.
-		</para>
-
-		<para>
-			Primero revisamos el registro del rol para reflejar estos
-			cambios. Hemos determinado que el grupo 'marketing' tiene
-			los mismos permisos básicos que 'staff', así que definimos
-			'marketing' de tal manera que herede los permisos de
-			'staff':
-		</para>
-
-		<programlisting role="php"><![CDATA[ 
+    <title>Perfeccionamiento de los controles de acceso</title>
+
+    <sect2 id="zend.acl.refining.precise">
+
+        <title>Definir mejor los controles de acceso</title>
+
+        <para>
+            El ACL básico según lo definido en la
+            <link linkend="zend.acl.introduction">
+                sección anterior
+            </link>
+            demuestra cómo los diversos privilegios se pueden otorgar
+            sobre todo el ACL (todos los recursos). En la práctica, sin
+            embargo, los controles de acceso tienden a tener excepciones
+            y diversos grados de complejidad. Zend_Acl permite lograr
+            estos refinamientos de una manera sencilla y flexible.
+        </para>
+
+        <para>
+            Para el CMS del ejemplo se ha determinado que, si bien el
+            grupo 'staff' cubre las necesidades de la gran mayoría de
+            usuarios, hay una necesidad de un nuevo grupo 'marketing'
+            que requiere el acceso al boletín de noticias y las últimas
+            noticias en el CMS. El grupo es bastante autosuficiente y
+            tendrá la capacidad de publicar y de archivar los boletines
+            de noticias y las últimas noticias.
+        </para>
+
+        <para>
+            Primero revisamos el registro del rol para reflejar estos
+            cambios. Hemos determinado que el grupo 'marketing' tiene
+            los mismos permisos básicos que 'staff', así que definimos
+            'marketing' de tal manera que herede los permisos de
+            'staff':
+        </para>
+
+        <programlisting role="php"><![CDATA[ 
  // El nuevo grupo de Marketing hereda los permisos de Staff
  $acl->addRole(new Zend_Acl_Role('marketing'), 'staff'); ]]>
-		</programlisting>
+        </programlisting>
 
-		<para>
-			A continuación, la nota que por encima de los controles de
-			acceso se refieren a recursos específicos (por ejemplo,
-			"boletín informativo", "últimas noticias", "anuncio de
-			noticias"). Ahora añadimos estos recursos:
-		</para>
+        <para>
+            A continuación, la nota que por encima de los controles de
+            acceso se refieren a recursos específicos (por ejemplo,
+            "boletín informativo", "últimas noticias", "anuncio de
+            noticias"). Ahora añadimos estos recursos:
+        </para>
 
-		<programlisting role="php"><![CDATA[ 
+        <programlisting role="php"><![CDATA[ 
 // Crear recursos para las reglas
  // newsletter
  $acl->add(new Zend_Acl_Resource('newsletter'));
@@ -61,14 +61,14 @@
  
  // anuncio de noticias
  $acl->add(new Zend_Acl_Resource('announcement'), 'news'); ]]>
-		</programlisting>
+        </programlisting>
 
-		<para>
-			Entonces es simplemente una cuestión de la definición de
-			estas normas más específicas en ámbitos de la ACL:
-		</para>
+        <para>
+            Entonces es simplemente una cuestión de la definición de
+            estas normas más específicas en ámbitos de la ACL:
+        </para>
 
-		<programlisting role="php"><![CDATA[ // 
+        <programlisting role="php"><![CDATA[ // 
  Marketing debe ser capaz de archivar y publicar boletines informativos y
  // las últimas noticias
  $acl->allow('marketing',
@@ -82,21 +82,21 @@
  // Todos (incluyendo los administradores) tienen permiso denegado para
  // archivar anuncios y noticias
  $acl->deny(null, 'announcement', 'archive'); ]]>
-		</programlisting>
+        </programlisting>
 
-		<para>
-			Ahora podemos consultar el ACL con respecto a los últimos
-			cambios:
-		</para>
+        <para>
+            Ahora podemos consultar el ACL con respecto a los últimos
+            cambios:
+        </para>
 
-		<programlisting role="php"><![CDATA[ 
+        <programlisting role="php"><![CDATA[ 
  echo $acl->isAllowed('staff', 'newsletter', 'publish') ?
  "allowed" : "denied";
  // denegado
  
  echo $acl->isAllowed('marketing', 'newsletter', 'publish') ?
  "allowed" : "denied";
- // permitido	
+ // permitido    
  
  echo $acl->isAllowed('staff', 'latest', 'publish') ?
  "allowed" : "denied";
@@ -104,11 +104,11 @@
  
  echo $acl->isAllowed('marketing', 'latest', 'publish') ?
  "allowed" : "denied";
- // permitido	
+ // permitido    
  
  echo $acl->isAllowed('marketing', 'latest', 'archive') ?
  "allowed" : "denied";
- // permitido	
+ // permitido    
  
  echo $acl->isAllowed('marketing', 'latest', 'revise') ?
  "allowed" : "denied";
@@ -122,23 +122,23 @@
  "allowed" : "denied";
  // denegado 
  ]]>
-		</programlisting>
+        </programlisting>
 
-	</sect2>
+    </sect2>
 
-	<sect2 id="zend.acl.refining.removing">
+    <sect2 id="zend.acl.refining.removing">
 
-		<title>Eliminar los controles de acceso</title>
+        <title>Eliminar los controles de acceso</title>
 
-		<para>
-			Para eliminar una o más reglas ACL, simplemente utilice el
-			método removeAllow() o removeDeny(). Al igual que con
-			allow() y deny(), puede utilizar un valor null para indicar
-			que el método es aplicable a todos los roles, recursos y/o
-			privilegios:
-		</para>
+        <para>
+            Para eliminar una o más reglas ACL, simplemente utilice el
+            método removeAllow() o removeDeny(). Al igual que con
+            allow() y deny(), puede utilizar un valor null para indicar
+            que el método es aplicable a todos los roles, recursos y/o
+            privilegios:
+        </para>
 
-		<programlisting role="php"><![CDATA[
+        <programlisting role="php"><![CDATA[
 // Elimina la prohibición de leer las últimas noticias de staff (y marketing, 
 // por herencia)
 $acl->removeDeny('staff', 'latest', 'revise');
@@ -162,16 +162,16 @@ echo $acl->isAllowed('marketing', 'newsletter', 'archive') ?
 
 // denegado
  ]]>
-		</programlisting>
+        </programlisting>
 
-		<para>
-			Los privilegios pueden ser modificados de manera incremental como se
-			ha indicado anteriormente, pero un valor null para los
-			privilegios anula tales cambios incrementales:
-		</para>
+        <para>
+            Los privilegios pueden ser modificados de manera incremental como se
+            ha indicado anteriormente, pero un valor null para los
+            privilegios anula tales cambios incrementales:
+        </para>
 
-		<programlisting role="php">
-			<![CDATA[
+        <programlisting role="php">
+            <![CDATA[
 //Permitir al grupo de "marketing" todos los permisos a las últimas noticias
 $acl->allow('marketing', 'latest');
 
@@ -187,8 +187,8 @@ echo $acl->isAllowed('marketing', 'latest', 'anything') ?
 "allowed" : "denied";
 // permitido
 ]]>
-		</programlisting>
+        </programlisting>
 
-	</sect2>
+    </sect2>
 
 </sect1>

+ 28 - 28
documentation/manual/es/module_specs/Zend_Amf.xml

@@ -1,34 +1,34 @@
 <sect1 id="zend.amf.introduction">
-	<title>IntroducciГіn</title>
+    <title>IntroducciГіn</title>
 
-	<para>
-		<code>Zend_Amf</code>
-		provee apoyo para el Formato de Mensajes de ActionScript
-		<ulink url="http://en.wikipedia.org/wiki/Action_Message_Format">Action
-			Message Format</ulink>
-		(AMF) de Adobe, que permite la comunicaciГіn
-		entre Adobe
-		<ulink url="http://en.wikipedia.org/wiki/Adobe_Flash_Player">Flash
-			Player</ulink>
-		y PHP. EspecГ­ficamente, proporciona una aplicaciГіn
-		para un
-		servidor gateway que tramita las solicitudes enviadas desde
-		Flash Player al servidor, mapeando estos requerimientos
-		al objeto y a sus mГ©todos de clase, como asГ­ tambiГ©n a llamadas
-		arbitrarias de comunicaciГіn.
-	</para>
+    <para>
+        <code>Zend_Amf</code>
+        provee apoyo para el Formato de Mensajes de ActionScript
+        <ulink url="http://en.wikipedia.org/wiki/Action_Message_Format">Action
+            Message Format</ulink>
+        (AMF) de Adobe, que permite la comunicaciГіn
+        entre Adobe
+        <ulink url="http://en.wikipedia.org/wiki/Adobe_Flash_Player">Flash
+            Player</ulink>
+        y PHP. EspecГ­ficamente, proporciona una aplicaciГіn
+        para un
+        servidor gateway que tramita las solicitudes enviadas desde
+        Flash Player al servidor, mapeando estos requerimientos
+        al objeto y a sus mГ©todos de clase, como asГ­ tambiГ©n a llamadas
+        arbitrarias de comunicaciГіn.
+    </para>
 
-	<para>
-		Las
-		<ulink>
-			url="http://download.macromedia.com/pub/labs/amf/amf3_spec_121207.pdf">
-		</ulink>
-		especificaciones
-		(en inglГ©s) de AMF3 son de libre disponibilidad y sirven como referencia
-		para establecer quГ© tipos de mensajes
-		pueden ser enviados entre Flash Player y el servidor.
-	</para>
+    <para>
+        Las
+        <ulink>
+            url="http://download.macromedia.com/pub/labs/amf/amf3_spec_121207.pdf">
+        </ulink>
+        especificaciones
+        (en inglГ©s) de AMF3 son de libre disponibilidad y sirven como referencia
+        para establecer quГ© tipos de mensajes
+        pueden ser enviados entre Flash Player y el servidor.
+    </para>
 </sect1>
-	<!--
+    <!--
 vim:se ts=4 sw=4 et:
 -->

+ 1 - 1
documentation/manual/es/module_specs/Zend_Auth.xml

@@ -1,6 +1,6 @@
 <sect1 id="zend.auth.introduction">
 
-    <title>Introduction</title> 
+    <title>Introduction</title>
 
     <para>
         Zend_Auth provides an API for authentication and includes concrete authentication adapters for

+ 141 - 141
documentation/manual/es/module_specs/Zend_Cache-Introduction.xml

@@ -1,56 +1,56 @@
 <sect1 id="zend.cache.introduction">
-	<title>Introducción</title>
-	<para>
-		<code>Zend_Cache</code>
-		provee una forma genérica para cualquier caché de datos.
-	</para>
-	<para>
-		El almacenamiento en caché en Zend Framework se opera por
-		interfaces, mientras que los registros de caché son almacenados
-		a través de adapatadores del backend (
-		<code>Archivo</code>
-		,
-		<code>Sqlite</code>
-		,
-		<code>Memcache</code>
-		...) mediante un sistema flexible de documentos de identidad y
-		etiquetas. Utilizando éstas, es fácil en el futuro eliminar
-		determinados tipos de registro.(Ejemplo: "eliminar todos los
-		registros caché de determinada etiqueta").
-	</para>
-	<para>
-		El módulo principal (
-		<code>Zend_Cache_Core</code>
-		) es genérico, flexible y configurable. Aun para sus necesidades
-		específicas existen frontends de caché que extienden
-		<code>Zend_Cache_Core</code>
-		a conveniencia:
-		<code>Output</code>
-		,
-		<code>File</code>
-		,
-		<code>Function</code>
-		y
-		<code>Class</code>
-		.
-
-	</para>
-	<example id="zend.cache.introduction.example-1">
-		<title>
-			Obtener un frontend con
-			<code>Zend_Cache::factory()</code>
-		</title>
-		<para>
-			<code>Zend_Cache::factory()</code>
-			ejemplifica objetos correctos y los une. En este primer
-			ejemplo, usaremos el frontend
-			<code>Core</code>
-			junto con el backend
-			<code>File</code>
-			.
-		</para>
-
-		<programlisting role="php"><![CDATA[
+    <title>Introducción</title>
+    <para>
+        <code>Zend_Cache</code>
+        provee una forma genérica para cualquier caché de datos.
+    </para>
+    <para>
+        El almacenamiento en caché en Zend Framework se opera por
+        interfaces, mientras que los registros de caché son almacenados
+        a través de adapatadores del backend (
+        <code>Archivo</code>
+        ,
+        <code>Sqlite</code>
+        ,
+        <code>Memcache</code>
+        ...) mediante un sistema flexible de documentos de identidad y
+        etiquetas. Utilizando éstas, es fácil en el futuro eliminar
+        determinados tipos de registro.(Ejemplo: "eliminar todos los
+        registros caché de determinada etiqueta").
+    </para>
+    <para>
+        El módulo principal (
+        <code>Zend_Cache_Core</code>
+        ) es genérico, flexible y configurable. Aun para sus necesidades
+        específicas existen frontends de caché que extienden
+        <code>Zend_Cache_Core</code>
+        a conveniencia:
+        <code>Output</code>
+        ,
+        <code>File</code>
+        ,
+        <code>Function</code>
+        y
+        <code>Class</code>
+        .
+
+    </para>
+    <example id="zend.cache.introduction.example-1">
+        <title>
+            Obtener un frontend con
+            <code>Zend_Cache::factory()</code>
+        </title>
+        <para>
+            <code>Zend_Cache::factory()</code>
+            ejemplifica objetos correctos y los une. En este primer
+            ejemplo, usaremos el frontend
+            <code>Core</code>
+            junto con el backend
+            <code>File</code>
+            .
+        </para>
+
+        <programlisting role="php"><![CDATA[
 $frontendOptions = array(
    'lifetime' => 7200, // tiempo de vida de caché de 2 horas
    'automatic_serialization' => true
@@ -66,35 +66,35 @@ $cache = Zend_Cache::factory('Core',
                              $frontendOptions,
                              $backendOptions);
 ]]>
-		</programlisting>
-	</example>
-
-	<note>
-		<title>
-			Frontends y Backends Compuestos de Múltiples Palabras
-		</title>
-		<para>
-			Algunos frontends y backends se nombran usando varias
-			palabras, tal como 'ZenPlatform'. Al fabricarlas las
-			especificamos, las separamos usando un separador de
-			palabras, como un espacio (' '), guión ('-'), o punto ('.').
-		</para>
-	</note>
-
-	<example id="zend.cache.introduction.example-2">
-		<title>Almacenando en caché un resultado de consulta a una base de datos</title>
-
-		<para>
-			Ahora que tenemos un frontend, podemos almacenar en caché
-			cualquier tipo de dato (hemos activado la serialización). Por
-			ejemplo, podemos almacenar en caché un resultado de una
-			consulta de base de datos muy costosa. Después de ser
-			almacenada en caché, no es necesario ni conectar la base
-			de datos; los registros se obtienen del caché de forma no
-			serializada.
-		</para>
-
-		<programlisting role="php"><![CDATA[
+        </programlisting>
+    </example>
+
+    <note>
+        <title>
+            Frontends y Backends Compuestos de Múltiples Palabras
+        </title>
+        <para>
+            Algunos frontends y backends se nombran usando varias
+            palabras, tal como 'ZenPlatform'. Al fabricarlas las
+            especificamos, las separamos usando un separador de
+            palabras, como un espacio (' '), guión ('-'), o punto ('.').
+        </para>
+    </note>
+
+    <example id="zend.cache.introduction.example-2">
+        <title>Almacenando en caché un resultado de consulta a una base de datos</title>
+
+        <para>
+            Ahora que tenemos un frontend, podemos almacenar en caché
+            cualquier tipo de dato (hemos activado la serialización). Por
+            ejemplo, podemos almacenar en caché un resultado de una
+            consulta de base de datos muy costosa. Después de ser
+            almacenada en caché, no es necesario ni conectar la base
+            de datos; los registros se obtienen del caché de forma no
+            serializada.
+        </para>
+
+        <programlisting role="php"><![CDATA[
 // $cache initializada en el ejemplo anterior
 
 // Verificar si la cahce existe:
@@ -117,35 +117,35 @@ if(!$result = $cache->load('myresult')) {
 
 print_r($result);
 ]]>
-		</programlisting>
-	</example>
-
-	<example id="zend.cache.introduction.example-3">
-		<title>
-			El almacenamiento en caché de salida con la interfaz de
-			salida
-			<code>Zend_Cache</code>
-		</title>
-		<para>
-			‘Resaltamos’ las secciones en las que deseamos almacenar en
-			caché la salida, mediante la adición de algunas condiciones lógicas,
-			encapsulamos la sección dentro de los métodos
-			<code>start()</code>
-			y
-			<code>end()</code>
-			(esto se parece al primer ejemplo y es la estrategia
-			fundamental para el almacenamiento en caché).
-		</para>
-		<para>
-			Dentro, los datos de salida, como siempre – todas las salidas
-			serán almacenadas en caché cuando se ordene la ejecución del
-			método
-			<code>end()</code>
-			. En la siguiente ejecución, toda la sección se saltará a
-			favor de la búsqueda de datos del caché (tanto tiempo como
-			el registro del caché sea válido).
-		</para>
-		<programlisting role="php"><![CDATA[
+        </programlisting>
+    </example>
+
+    <example id="zend.cache.introduction.example-3">
+        <title>
+            El almacenamiento en caché de salida con la interfaz de
+            salida
+            <code>Zend_Cache</code>
+        </title>
+        <para>
+            ‘Resaltamos’ las secciones en las que deseamos almacenar en
+            caché la salida, mediante la adición de algunas condiciones lógicas,
+            encapsulamos la sección dentro de los métodos
+            <code>start()</code>
+            y
+            <code>end()</code>
+            (esto se parece al primer ejemplo y es la estrategia
+            fundamental para el almacenamiento en caché).
+        </para>
+        <para>
+            Dentro, los datos de salida, como siempre – todas las salidas
+            serán almacenadas en caché cuando se ordene la ejecución del
+            método
+            <code>end()</code>
+            . En la siguiente ejecución, toda la sección se saltará a
+            favor de la búsqueda de datos del caché (tanto tiempo como
+            el registro del caché sea válido).
+        </para>
+        <programlisting role="php"><![CDATA[
 $frontendOptions = array(
    'lifetime' => 30,                   // tiempo de vida de caché de 30 segundos
    'automatic_serialization' => false  // éste es el valor por defecto
@@ -170,37 +170,37 @@ if(!$cache->start('mypage')) {
 
 echo 'Esto no estará en caché nunca ('.time().').';
 ]]>
-		</programlisting>
-		<para>
-			Note que delineamos el resultado de
-			<code>time()</code>
-			dos veces; esto es algo dinámico para los propósitos de la
-			demostración. Trate de ejecutarlo y entonces regenérelo
-			muchas veces; notará que el primer número no cambia mientras
-			que el segundo cambia a medida que pasa el tiempo. Esto
-			es porque el primer número esta delineado en la sección
-			caché y esta guardado en medio de otras salidas. Después de
-			medio minuto (habremos establecido el tiempo de vida de 30
-			segundos) los números deben acoplarse nuevamente porque el
-			registro caché ha expirado -- sólo para ser almacenado en
-			caché nuevamente. Deberá probarlo en su visualizador o
-			consola.
-		</para>
-	</example>
-	<note>
-		<para>
-			Cuando usamos Zend_Cache, ponemos atención a la importación
-			del identificador caché (pasado a 
-			<code>save()</code>
-			y
-			<code>start()</code>
-			). Éste deberá ser único para cada recurso que se almacene
-			en caché, de otra manera los registros almacenados en caché
-			que no se vinculan podrían borrarse unos a otros, o peor
-			aún, mostrarse uno en lugar del otro.
-		</para>
-	</note>
+        </programlisting>
+        <para>
+            Note que delineamos el resultado de
+            <code>time()</code>
+            dos veces; esto es algo dinámico para los propósitos de la
+            demostración. Trate de ejecutarlo y entonces regenérelo
+            muchas veces; notará que el primer número no cambia mientras
+            que el segundo cambia a medida que pasa el tiempo. Esto
+            es porque el primer número esta delineado en la sección
+            caché y esta guardado en medio de otras salidas. Después de
+            medio minuto (habremos establecido el tiempo de vida de 30
+            segundos) los números deben acoplarse nuevamente porque el
+            registro caché ha expirado -- sólo para ser almacenado en
+            caché nuevamente. Deberá probarlo en su visualizador o
+            consola.
+        </para>
+    </example>
+    <note>
+        <para>
+            Cuando usamos Zend_Cache, ponemos atención a la importación
+            del identificador caché (pasado a 
+            <code>save()</code>
+            y
+            <code>start()</code>
+            ). Éste deberá ser único para cada recurso que se almacene
+            en caché, de otra manera los registros almacenados en caché
+            que no se vinculan podrían borrarse unos a otros, o peor
+            aún, mostrarse uno en lugar del otro.
+        </para>
+    </note>
 </sect1>
 <!--
-	vim:se ts=4 sw=4 et:
+    vim:se ts=4 sw=4 et:
 -->

+ 20 - 20
documentation/manual/es/module_specs/Zend_Captcha.xml

@@ -1,28 +1,28 @@
 <sect1 id="zend.captcha.introduction">
-	<title>Introducción</title>
+    <title>Introducción</title>
 
-	<para>
-		<ulink url="http://en.wikipedia.org/wiki/Captcha">
-			CAPTCHA
-		</ulink>
-		es el acrónimo de "Completely Automated Public Turing test to
-		tell Computers and Humans Apart" (Prueba de Turing pública y
-		automática para diferenciar a máquinas y humanos). Es usado como un 
-		desafío-respuesta para asegurar que la información individual suministrada
+    <para>
+        <ulink url="http://en.wikipedia.org/wiki/Captcha">
+            CAPTCHA
+        </ulink>
+        es el acrónimo de "Completely Automated Public Turing test to
+        tell Computers and Humans Apart" (Prueba de Turing pública y
+        automática para diferenciar a máquinas y humanos). Es usado como un 
+        desafío-respuesta para asegurar que la información individual suministrada
     viene de un humano y no de un proceso automatizado. Típicamente,
-		un captcha es usado con envío de formularios donde no es necesario que el 
+        un captcha es usado con envío de formularios donde no es necesario que el 
     usuario se haya autenticado, pero se desea prevenir el envío de spam.
-	</para>
+    </para>
 
-	<para>
-		Los Captchas pueden presentarse en multitud de formas, incluyendo 
-		preguntas lógicas, caracteres trastocados o presentar imágenes y preguntar
-		cómo se relacionan. Zend_Captcha intenta proveer una amalgama de backends
-		que pueden ser utilizados por separado o en conjunción con
-		<code>Zend_Form</code>
-		.
-	</para>
+    <para>
+        Los Captchas pueden presentarse en multitud de formas, incluyendo 
+        preguntas lógicas, caracteres trastocados o presentar imágenes y preguntar
+        cómo se relacionan. Zend_Captcha intenta proveer una amalgama de backends
+        que pueden ser utilizados por separado o en conjunción con
+        <code>Zend_Form</code>
+        .
+    </para>
 </sect1>
 <!--
-	vim:se ts=4 sw=4 et:
+    vim:se ts=4 sw=4 et:
 -->

+ 72 - 72
documentation/manual/es/module_specs/Zend_Config-Introduction.xml

@@ -1,46 +1,46 @@
 <sect1 id="zend.config.introduction">
-	<title>Introducción</title>
-	<para>
+    <title>Introducción</title>
+    <para>
 
-		<code class="code">Zend_Config</code>
-		está diseñado para simplificar el acceso y el uso de datos de
-		configuración dentro de aplicaciones. Provee una interfaz de
-		usuario basada en propiedades de objetos anidadas para acceder a
-		datos de configuración dentro del código de la aplicación. Los
-		datos de configuración pueden venir de multitud de medios que
-		soporten almacenamiento de datos de forma jerárquica.
-		Actualmente
-		<code class="code">Zend_Config</code>
-		provee adaptadores para datos de configuración que están
-		almacenados en archivos de texto con
-		<link linkend="zend.config.adapters.ini">
-			<code>Zend_Config_Ini</code>
-		</link>
-		y
-		<link linkend="zend.config.adapters.xml">
-			<code>Zend_Config_Xml</code>
-		</link>
-		.
-	</para>
-	<example id="zend.config.introduction.example.using">
-		<title>Usando Zend_Config Per Se</title>
-		<para>
-			Normalmente, se espera que los usuarios usen 
-			una de las clases adaptadoras como
-			<link linkend="zend.config.adapters.ini">
-				<code>Zend_Config_Ini</code>
-			</link>
-			o
-			<link linkend="zend.config.adapters.xml">
-				<code>Zend_Config_Xml</code>
-			</link>
-			, pero si los datos de configuración están disponibles
-			en un array PHP, se puede simplemente pasar los datos al
-			constructor 
-			<code>Zend_Config</code>
-			para utilizar una interfaz simple orientada a objetos:
-		</para>
-		<programlisting role="php"><![CDATA[
+        <code class="code">Zend_Config</code>
+        está diseñado para simplificar el acceso y el uso de datos de
+        configuración dentro de aplicaciones. Provee una interfaz de
+        usuario basada en propiedades de objetos anidadas para acceder a
+        datos de configuración dentro del código de la aplicación. Los
+        datos de configuración pueden venir de multitud de medios que
+        soporten almacenamiento de datos de forma jerárquica.
+        Actualmente
+        <code class="code">Zend_Config</code>
+        provee adaptadores para datos de configuración que están
+        almacenados en archivos de texto con
+        <link linkend="zend.config.adapters.ini">
+            <code>Zend_Config_Ini</code>
+        </link>
+        y
+        <link linkend="zend.config.adapters.xml">
+            <code>Zend_Config_Xml</code>
+        </link>
+        .
+    </para>
+    <example id="zend.config.introduction.example.using">
+        <title>Usando Zend_Config Per Se</title>
+        <para>
+            Normalmente, se espera que los usuarios usen
+            una de las clases adaptadoras como
+            <link linkend="zend.config.adapters.ini">
+                <code>Zend_Config_Ini</code>
+            </link>
+            o
+            <link linkend="zend.config.adapters.xml">
+                <code>Zend_Config_Xml</code>
+            </link>
+            , pero si los datos de configuración están disponibles
+            en un array PHP, se puede simplemente pasar los datos al
+            constructor
+            <code>Zend_Config</code>
+            para utilizar una interfaz simple orientada a objetos:
+        </para>
+        <programlisting role="php"><![CDATA[
 // Dado un array de datos de configuración
 $configArray = array(
     'webhost'  => 'www.example.com',
@@ -69,34 +69,34 @@ $db = Zend_Db::factory($config->database->adapter,
 // La Zend_Db factory sabe cómo interpretarlo.
 $db = Zend_Db::factory($config->database);
 ]]>
-		</programlisting>
-	</example>
-	<para>
-		Como se ilustra en el ejemplo de arriba,
-		<code>Zend_Config</code>
-		provee una sintáxis de propiedades de objetos anidados para acceder a datos de configuración
-		pasados a su constructor.
-	</para>
-	<para>
-		Junto al acceso a valores de datos orientado a objetos,
-		<code>Zend_Config</code>
-		también tiene el método
-		<code>get()</code>
-		que devolverá el valor por defecto suministrado si el elemento 
-		de datos no existe. Por ejemplo:
-	</para>
-	<programlisting role="php"><![CDATA[
+        </programlisting>
+    </example>
+    <para>
+        Como se ilustra en el ejemplo de arriba,
+        <code>Zend_Config</code>
+        provee una sintáxis de propiedades de objetos anidados para acceder a datos de configuración
+        pasados a su constructor.
+    </para>
+    <para>
+        Junto al acceso a valores de datos orientado a objetos,
+        <code>Zend_Config</code>
+        también tiene el método
+        <code>get()</code>
+        que devolverá el valor por defecto suministrado si el elemento
+        de datos no existe. Por ejemplo:
+    </para>
+    <programlisting role="php"><![CDATA[
 $host = $config->database->get('host', 'localhost');
 ]]>
-	</programlisting>
-	<example id="zend.config.introduction.example.file.php">
-		<title>Usando Zend_Config con un Archivo de Configuración PHP</title>
-		<para>
-			A veces, es deseable usar un archivo de configuración 
-			puramente PHP. El código siguiente ilustra cómo podemos conseguir
-			esto fácilmente:
-		</para>
-		<programlisting role="php"><![CDATA[
+    </programlisting>
+    <example id="zend.config.introduction.example.file.php">
+        <title>Usando Zend_Config con un Archivo de Configuración PHP</title>
+        <para>
+            A veces, es deseable usar un archivo de configuración
+            puramente PHP. El código siguiente ilustra cómo podemos conseguir
+            esto fácilmente:
+        </para>
+        <programlisting role="php"><![CDATA[
 // config.php
 return array(
     'webhost'  => 'www.example.com',
@@ -111,17 +111,17 @@ return array(
     )
 );
 ]]>
-		</programlisting>
-		<programlisting role="php"><![CDATA[
+        </programlisting>
+        <programlisting role="php"><![CDATA[
 // Lectura de la configuración
 $config = new Zend_Config(require 'config.php');
 
 // Muestra un dato de configuración (resultado: 'www.example.com')
 echo $config->webhost;
 ]]>
-		</programlisting>
-	</example>
+        </programlisting>
+    </example>
 </sect1>
 <!--
-	vim:se ts=4 sw=4 et:
+    vim:se ts=4 sw=4 et:
 -->

+ 27 - 27
documentation/manual/es/module_specs/Zend_Config-TheoryOfOperation.xml

@@ -4,19 +4,19 @@
     <title>Aspectos Teóricos</title>
     <para>
         Los datos de configuración se hacen accesibles al constructor <code>Zend_Config</code>
-		a través de un array asociativo, que puede ser multidimensional, para permitir
-		organizar los datos desde lo general a lo específico. Las clases de adaptador concretas 
-		permiten construir una tabla asociativa para el constructor de <code>Zend_Config</code> 
-		a partir de un sistema de almacenamiento de datos de configuración. Algunos scripts 
-		de usuario pueden proveer esos arrays directamente al constructor Zend_Config, 
-		sin usar una clase adaptador, lo cual puede ser apropiado en ciertas ocasiones.
+        a través de un array asociativo, que puede ser multidimensional, para permitir
+        organizar los datos desde lo general a lo específico. Las clases de adaptador concretas 
+        permiten construir una tabla asociativa para el constructor de <code>Zend_Config</code> 
+        a partir de un sistema de almacenamiento de datos de configuración. Algunos scripts 
+        de usuario pueden proveer esos arrays directamente al constructor Zend_Config, 
+        sin usar una clase adaptador, lo cual puede ser apropiado en ciertas ocasiones.
     </para>
     <para>
         Cada valor del array de datos de configuración se convierte en una propiedad del objeto <code>Zend_Config</code>.
-		La clave es usada como el nombre de la propiedad. Si un valor es un array por sí solo, entonces la propiedad
-		de objeto resultante es creada como un nuevo objeto
+        La clave es usada como el nombre de la propiedad. Si un valor es un array por sí solo, entonces la propiedad
+        de objeto resultante es creada como un nuevo objeto
         <code>Zend_Config</code>, cargado con los datos del array. Esto ocurre recursivamente, de forma
-		que una jerarquía de datos de configuración puede ser creada con cualquier número de niveles.
+        que una jerarquía de datos de configuración puede ser creada con cualquier número de niveles.
     </para>
     <para>
         <code>Zend_Config</code> implementa las interfaces <code>Countable</code> e <code>Iterator</code>
@@ -31,18 +31,18 @@
         son de sólo lectura, y una asignación (e.g.,
         <code>$config-&gt;database-&gt;host = 'example.com'</code>)
         provoca que se lance una excepción. Este comportamiento por defecto puede ser sobrescrito a través
-		del constructor, sin embargo, para permitir la modificación de valores de datos. Además, cuando
-		las modificaciones están permitidas, <code>Zend_Config</code> soporta el borrado de elementos (unset) (i.e. <code>unset($config-&gt;database-&gt;host);</code>). El método
+        del constructor, sin embargo, para permitir la modificación de valores de datos. Además, cuando
+        las modificaciones están permitidas, <code>Zend_Config</code> soporta el borrado de elementos (unset) (i.e. <code>unset($config-&gt;database-&gt;host);</code>). El método
         <code>readOnly()</code> puede ser usado para determinar si las modificaciones a un objeto <code>Zend_Config</code>
         están permitidas y el método <code>setReadOnly()</code> puede ser usado para evitar cualquier modificación
-		posterior a un objeto <code>Zend_Config</code> que fue creado con permiso de modificaciones.
+        posterior a un objeto <code>Zend_Config</code> que fue creado con permiso de modificaciones.
         <note>
             <para>
                 Es importante no confundir tales modificaciones en memoria con guardar los datos de configuración a un
-				medio de almacenamiento específico. Las herramientas para crear y modificar datos de configuración para 
-				distintos medios de almacenamiento están fuera del alcance de <code>Zend_Config</code>.
+                medio de almacenamiento específico. Las herramientas para crear y modificar datos de configuración para 
+                distintos medios de almacenamiento están fuera del alcance de <code>Zend_Config</code>.
                 Existen soluciones third-party de código abierto con el propósito de crear y modificar
-				datos de configuración de distintos medios de almacenamiento.
+                datos de configuración de distintos medios de almacenamiento.
             </para>
         </note>
     </para>
@@ -51,31 +51,31 @@
     </para>
     <para>
         La familia de clases <code>Zend_Config</code> permite organizar en secciones 
-		los datos de configuración. Los objetos de adaptador <code>Zend_Config</code>
-		pueden ser cargados con una sola sección especificada, múltiples secciones especificadas,
-		o todas las secciones (si no se especifica ninguna).
+        los datos de configuración. Los objetos de adaptador <code>Zend_Config</code>
+        pueden ser cargados con una sola sección especificada, múltiples secciones especificadas,
+        o todas las secciones (si no se especifica ninguna).
     </para>
     <para>
         Las clases del adaptador <code>Zend_Config</code> soportan un modelo de herencia única
-		que permite que los datos de configuración hereden de una sección de datos de configuración a otra. 
-		Esto es provisto con el fin de reducir o eliminar la necesidad de duplicar datos de configuración por
-		distintos motivos. Una sección heredada puede también sobrescribir los valores que hereda de su sección
-		padre. Al igual que la herencia de clases PHP, una sección puede heredar de una sección padre,
-		la cual puede heredar de una sección abuela, etc..., pero la herencia múltiple
+        que permite que los datos de configuración hereden de una sección de datos de configuración a otra. 
+        Esto es provisto con el fin de reducir o eliminar la necesidad de duplicar datos de configuración por
+        distintos motivos. Una sección heredada puede también sobrescribir los valores que hereda de su sección
+        padre. Al igual que la herencia de clases PHP, una sección puede heredar de una sección padre,
+        la cual puede heredar de una sección abuela, etc..., pero la herencia múltiple
         (i.e., la sección C heredando directamente de las secciones padre A y B) no está permitida.
     </para>
     <para>
         Si tiene dos objetos <code>Zend_Config</code>, puede combinarlos en un único
-		objeto usando la función <code>merge()</code>. Por ejemplo, dados <code>$config</code> y
+        objeto usando la función <code>merge()</code>. Por ejemplo, dados <code>$config</code> y
         <code>$localConfig</code>, puede fusionar datos de <code>$localConfig</code> a <code>$config</code> usando
         <code>$config-&gt;merge($localConfig);</code>. Los ítemes en <code>$localConfig</code> sobrescribirán
-		cualquier item con el mismo nombre en <code>$config</code>.
+        cualquier item con el mismo nombre en <code>$config</code>.
         <note>
             <para>
                 El objeto <code>Zend_Config</code> que está ejecutando el merge debe haber sido construido
-				para permitir modificaciones, pasando <code>true</code> como el segundo parámetro del constructor.
+                para permitir modificaciones, pasando <code>true</code> como el segundo parámetro del constructor.
                 El método <code>setReadOnly()</code> puede entonces ser usado para evitar cualquier
-				modificación posterior después de que el merge se haya completado.
+                modificación posterior después de que el merge se haya completado.
             </para>
         </note>
     </para>

+ 160 - 160
documentation/manual/es/module_specs/Zend_Config_Ini.xml

@@ -1,88 +1,88 @@
 <sect1 id="zend.config.adapters.ini">
-	<title>Zend_Config_Ini</title>
-	<para>
-		<code>Zend_Config_Ini</code>
-		permite a los desarrolladores almacenar datos de configuración
-		en un formato de datos INI familiar, y leer de ellos en la
-		aplicación usando una sintáxis de propiedades de objetos
-		anidados. El formato INI se especializa en proveer tanto la
-		habilidad de mantener una jerarquía de claves de datos (data
-		keys) de configuración como la de mantener una jerarquía entre
-		secciones de datos de configuración. Las jerarquías de datos de
-		configuración son provistas separando las claves mediante el
-		carácter punto (
-		<code>.</code>
-		). Una sección puede extender o heredar de otra sección
-		indicando el nombre de la sección seguido de dos puntos (
-		<code>:</code>
-		) y el nombre de la sección desde la cual se quieren heredar los
-		datos.
-	</para>
-	<note>
-		<title>parse_ini_file</title>
-		<para>
-			<code>Zend_Config_Ini</code>
-			utiliza la función
-			<ulink url="http://php.net/parse_ini_file">
-				<code>parse_ini_file()</code>
-			</ulink>
-			de PHP. Por favor, revise esta documentación para observar
-			sus comportamientos específicos, que se propagan a
-			<code>Zend_Config_Ini</code>
-			, tales como la forma en que los valores especiales:
-			<code>true</code>
-			,
-			<code>false</code>
-			,
-			<code>yes</code>
-			,
-			<code>no</code>
-			, y
-			<code>null</code>
-			son manejados.
-		</para>
-	</note>
-	<note>
-		<title>Separador de clave</title>
-		<para>
-			Por defecto, el carácter separador de clave es el punto (
-			<code>.</code>
-			). Puede ser reemplazado, no obstante,cambiando la clave de
-			<code>$options</code>
-			llamada
-			<code>'nestSeparator'</code>
-			al construir el objeto
-			<code>Zend_Config_Ini</code>
-			. Por ejemplo:
-			<programlisting role="php"><![CDATA[
+    <title>Zend_Config_Ini</title>
+    <para>
+        <code>Zend_Config_Ini</code>
+        permite a los desarrolladores almacenar datos de configuración
+        en un formato de datos INI familiar, y leer de ellos en la
+        aplicación usando una sintáxis de propiedades de objetos
+        anidados. El formato INI se especializa en proveer tanto la
+        habilidad de mantener una jerarquía de claves de datos (data
+        keys) de configuración como la de mantener una jerarquía entre
+        secciones de datos de configuración. Las jerarquías de datos de
+        configuración son provistas separando las claves mediante el
+        carácter punto (
+        <code>.</code>
+        ). Una sección puede extender o heredar de otra sección
+        indicando el nombre de la sección seguido de dos puntos (
+        <code>:</code>
+        ) y el nombre de la sección desde la cual se quieren heredar los
+        datos.
+    </para>
+    <note>
+        <title>parse_ini_file</title>
+        <para>
+            <code>Zend_Config_Ini</code>
+            utiliza la función
+            <ulink url="http://php.net/parse_ini_file">
+                <code>parse_ini_file()</code>
+            </ulink>
+            de PHP. Por favor, revise esta documentación para observar
+            sus comportamientos específicos, que se propagan a
+            <code>Zend_Config_Ini</code>
+            , tales como la forma en que los valores especiales:
+            <code>true</code>
+            ,
+            <code>false</code>
+            ,
+            <code>yes</code>
+            ,
+            <code>no</code>
+            , y
+            <code>null</code>
+            son manejados.
+        </para>
+    </note>
+    <note>
+        <title>Separador de clave</title>
+        <para>
+            Por defecto, el carácter separador de clave es el punto (
+            <code>.</code>
+            ). Puede ser reemplazado, no obstante,cambiando la clave de
+            <code>$options</code>
+            llamada
+            <code>'nestSeparator'</code>
+            al construir el objeto
+            <code>Zend_Config_Ini</code>
+            . Por ejemplo:
+            <programlisting role="php"><![CDATA[
 $options['nestSeparator'] = ':';
 $config = new Zend_Config_Ini('/path/to/config.ini',
                               'pruebas',
                               $options);
 ]]>
-			</programlisting>
-		</para>
-	</note>
-	<example id="zend.config.adapters.ini.example.using">
-		<title>Utilizando Zend_Config_Ini</title>
-		<para>
-			Este ejemplo muestra una forma de uso básica de
-			<code>Zend_Config_Ini</code>
-			para cargar datos de configuración de un archivo INI. En
-			este ejemplo hay datos de configuración tanto para un
-			sistema de producción como para un sistema en fase de
-			pruebas. Debido a que los datos de la fase de pruebas son
-			muy parecidos a los de producción, la sección de pruebas
-			hereda de la sección de producción. En este caso, la
-			decisión es arbitraria y podría haberse escrito a la
-			inversa, con la sección de producción heredando de la
-			sección de pruebas, a pesar de que éste no sería el caso
-			para situaciones más complejas. Supongamos, entonces, que
-			los siguientes datos de configuración están contenidos en
-			<code>/path/to/config.ini</code>
-			:
-		</para>
-		<programlisting role="ini"><![CDATA[
+            </programlisting>
+        </para>
+    </note>
+    <example id="zend.config.adapters.ini.example.using">
+        <title>Utilizando Zend_Config_Ini</title>
+        <para>
+            Este ejemplo muestra una forma de uso básica de
+            <code>Zend_Config_Ini</code>
+            para cargar datos de configuración de un archivo INI. En
+            este ejemplo hay datos de configuración tanto para un
+            sistema de producción como para un sistema en fase de
+            pruebas. Debido a que los datos de la fase de pruebas son
+            muy parecidos a los de producción, la sección de pruebas
+            hereda de la sección de producción. En este caso, la
+            decisión es arbitraria y podría haberse escrito a la
+            inversa, con la sección de producción heredando de la
+            sección de pruebas, a pesar de que éste no sería el caso
+            para situaciones más complejas. Supongamos, entonces, que
+            los siguientes datos de configuración están contenidos en
+            <code>/path/to/config.ini</code>
+            :
+        </para>
+        <programlisting role="ini"><![CDATA[
 ; Datos de configuración de la web de producción
 [produccion]
 webhost                  = www.example.com
@@ -99,92 +99,92 @@ database.params.host     = dev.example.com
 database.params.username = devuser
 database.params.password = devsecret
 ]]>
-		</programlisting>
-		<para>
-			Ahora, asuma que el desarrollador de aplicaciones necesita
-			los datos de configuración de la etapa de pruebas del
-			archivo INI. Resulta fácil cargar estos datos especificando
-			el archivo INI en la sección de la etapa de pruebas:
-		</para>
-		<programlisting role="php"><![CDATA[
+        </programlisting>
+        <para>
+            Ahora, asuma que el desarrollador de aplicaciones necesita
+            los datos de configuración de la etapa de pruebas del
+            archivo INI. Resulta fácil cargar estos datos especificando
+            el archivo INI en la sección de la etapa de pruebas:
+        </para>
+        <programlisting role="php"><![CDATA[
 $config = new Zend_Config_Ini('/path/to/config.ini', 'pruebas');
 
 echo $config->database->params->host;   // muestra "dev.example.com"
 echo $config->database->params->dbname; // muestra "dbname"
 ]]>
-		</programlisting>
-	</example>
-	<note>
-		<table id="zend.config.adapters.ini.table">
-			<title>Parámetros del constructor Zend_Config_Ini</title>
-			<tgroup cols="2">
-				<thead>
-					<row>
-						<entry>Parámetros</entry>
-						<entry>Notas</entry>
-					</row>
-				</thead>
-				<tbody>
-					<row>
-						<entry>
-							<code>$filename</code>
-						</entry>
-						<entry>
-							El archivo INI que se va a cargar.
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<code>$section</code>
-						</entry>
-						<entry>
-							La [sección] contenida en el archivo ini que
-							se va a cargar. Fijar este parámetro a null
-							cargará todas las secciones.
-							Alternativamente, se puede introducir un
-							array de nombres de sección para cargar
-							multiples secciones.
-						</entry>
-					</row>
-					<row>
-						<entry>
-							<code>$options = false</code>
-						</entry>
-						<entry>
-							Array de opciones. Las siguientes claves
-							están aceptadas:
-							<itemizedlist>
-								<listitem>
-									<para>
-										<emphasis>
-											allowModifications
-										</emphasis>
-										: Fijar a
-										<emphasis>true</emphasis>
-										para permitir modificaciones
-										subsiguientes del archivo
-										cargado. Por defecto es
-										<emphasis>false</emphasis>
-									</para>
-								</listitem>
-								<listitem>
-									<para>
-										<emphasis>
-											nestSeparator
-										</emphasis>
-										: Carácter que utilizar como
-										separador de anidamiento. Por
-										defecto es "."
-									</para>
-								</listitem>
-							</itemizedlist>
-						</entry>
-					</row>
-				</tbody>
-			</tgroup>
-		</table>
-	</note>
+        </programlisting>
+    </example>
+    <note>
+        <table id="zend.config.adapters.ini.table">
+            <title>Parámetros del constructor Zend_Config_Ini</title>
+            <tgroup cols="2">
+                <thead>
+                    <row>
+                        <entry>Parámetros</entry>
+                        <entry>Notas</entry>
+                    </row>
+                </thead>
+                <tbody>
+                    <row>
+                        <entry>
+                            <code>$filename</code>
+                        </entry>
+                        <entry>
+                            El archivo INI que se va a cargar.
+                        </entry>
+                    </row>
+                    <row>
+                        <entry>
+                            <code>$section</code>
+                        </entry>
+                        <entry>
+                            La [sección] contenida en el archivo ini que
+                            se va a cargar. Fijar este parámetro a null
+                            cargará todas las secciones.
+                            Alternativamente, se puede introducir un
+                            array de nombres de sección para cargar
+                            multiples secciones.
+                        </entry>
+                    </row>
+                    <row>
+                        <entry>
+                            <code>$options = false</code>
+                        </entry>
+                        <entry>
+                            Array de opciones. Las siguientes claves
+                            están aceptadas:
+                            <itemizedlist>
+                                <listitem>
+                                    <para>
+                                        <emphasis>
+                                            allowModifications
+                                        </emphasis>
+                                        : Fijar a
+                                        <emphasis>true</emphasis>
+                                        para permitir modificaciones
+                                        subsiguientes del archivo
+                                        cargado. Por defecto es
+                                        <emphasis>false</emphasis>
+                                    </para>
+                                </listitem>
+                                <listitem>
+                                    <para>
+                                        <emphasis>
+                                            nestSeparator
+                                        </emphasis>
+                                        : Carácter que utilizar como
+                                        separador de anidamiento. Por
+                                        defecto es "."
+                                    </para>
+                                </listitem>
+                            </itemizedlist>
+                        </entry>
+                    </row>
+                </tbody>
+            </tgroup>
+        </table>
+    </note>
 </sect1>
 <!--
-	vim:se ts=4 sw=4 et:
+    vim:se ts=4 sw=4 et:
 -->

+ 3 - 3
documentation/manual/es/module_specs/Zend_Config_Xml.xml

@@ -19,7 +19,7 @@
         <para>
         Los datos de configuración que se leen en <code>Zend_Config_Xml</code>
         son siempre devueltos como strings.
-			  La conversión de datos de string a otros tipos se deja en manos de los
+              La conversión de datos de string a otros tipos se deja en manos de los
         desarrolladores para que se ajuste a sus necesidades particulares.
         </para>
     </note>
@@ -36,7 +36,7 @@
          producción heredando de la sección de pruebas, a pesar de que éste no          
          sería el caso para situaciones más complejas. Suponga, pues, que los 
          datos de configuración siguientes están contenidos
-			en <code>/ruta/de/config.xml</code>:
+            en <code>/ruta/de/config.xml</code>:
         </para>
         <programlisting role="xml"><![CDATA[
 <?xml version="1.0"?>
@@ -87,7 +87,7 @@ echo $config->database->params->dbname; // muestra "dbname"
             los atributos <code>extends</code> y <code>value</code> son palabras
             reservadas (la última por la segunda manera de usar atributos),
             pueden no ser utilizadas. 
-			      La primera manera de utilizar atributos es añadir atributos en un
+                  La primera manera de utilizar atributos es añadir atributos en un
             nodo padre, el cual será interpretado como hijo de ese nodo:
         </para>
         <programlisting role="xml"><![CDATA[

+ 302 - 302
documentation/manual/es/module_specs/Zend_Controller-QuickStart.xml

@@ -1,58 +1,58 @@
 <sect1 id="zend.controller.quickstart">
-	<title>Zend_Controller Quick Start</title>
-
-	<sect2 id="zend.controller.quickstart.introduction">
-		<title>Introducción</title>
-		<para>
-			<code>Zend_Controller</code>
-			es el corazón del sistema de MVC de Zend Framework MVC. MVC
-			son las siglas de
-			<ulink url="http://en.wikipedia.org/wiki/Model-view-controller">
-				Modelo-Vista-Controlador
-			</ulink>
-			y es un patrón de diseño con el objetivo de separar la
-			lógica de la aplicación de la lógica de visualización.
-			<code>Zend_Controller_Front</code>
-			implementa el patrón
-			<ulink url="http://www.martinfowler.com/eaaCatalog/frontController.html">
-				Front Controller (Controlador Frontal)
-			</ulink>
-			en el cual todas las transacciones HTTP (requests) son
-			interceptadas por el controlador frontal y despachado a una
-			Acción particular de un Controlador según la URL pedida.
-
-
-		</para>
-		<para>
-			El sistema
-			<code>Zend_Controller</code>
-			fue construido con la extensibilidad en mente, ya sea
-			heredando las clases existentes, escribiendo nuevas clases
-			que implementan varias interfaces o clases abstractas que
-			forman la base de la familia de clases del controlador, o
-			escribiendo plugins o helpers de las acciones para aumentar
-			o manipular la funcionalidad del sistema.
-		</para>
-	</sect2>
-
-	<sect2 id="zend.controller.quickstart.go">
-		<title>Quick Start</title>
-
-		<para>
-			Si necesita información más detallada, mire las secciones
-			siguientes. Si solamente quiere inicializar y ejecutar una
-			aplicación rápidamente, siga leyendo.
-		</para>
-
-		<sect3 id="zend.controller.quickstart.go.directory">
-			<title>Cree su estructura de archivos</title>
-
-			<para>
-				El primer paso es crear su estructura de archivos. La
-				estructura típica es la siguiente:
-			</para>
-
-			<programlisting role="php"><![CDATA[
+    <title>Zend_Controller Quick Start</title>
+
+    <sect2 id="zend.controller.quickstart.introduction">
+        <title>Introducción</title>
+        <para>
+            <code>Zend_Controller</code>
+            es el corazón del sistema de MVC de Zend Framework MVC. MVC
+            son las siglas de
+            <ulink url="http://en.wikipedia.org/wiki/Model-view-controller">
+                Modelo-Vista-Controlador
+            </ulink>
+            y es un patrón de diseño con el objetivo de separar la
+            lógica de la aplicación de la lógica de visualización.
+            <code>Zend_Controller_Front</code>
+            implementa el patrón
+            <ulink url="http://www.martinfowler.com/eaaCatalog/frontController.html">
+                Front Controller (Controlador Frontal)
+            </ulink>
+            en el cual todas las transacciones HTTP (requests) son
+            interceptadas por el controlador frontal y despachado a una
+            Acción particular de un Controlador según la URL pedida.
+
+
+        </para>
+        <para>
+            El sistema
+            <code>Zend_Controller</code>
+            fue construido con la extensibilidad en mente, ya sea
+            heredando las clases existentes, escribiendo nuevas clases
+            que implementan varias interfaces o clases abstractas que
+            forman la base de la familia de clases del controlador, o
+            escribiendo plugins o helpers de las acciones para aumentar
+            o manipular la funcionalidad del sistema.
+        </para>
+    </sect2>
+
+    <sect2 id="zend.controller.quickstart.go">
+        <title>Quick Start</title>
+
+        <para>
+            Si necesita información más detallada, mire las secciones
+            siguientes. Si solamente quiere inicializar y ejecutar una
+            aplicación rápidamente, siga leyendo.
+        </para>
+
+        <sect3 id="zend.controller.quickstart.go.directory">
+            <title>Cree su estructura de archivos</title>
+
+            <para>
+                El primer paso es crear su estructura de archivos. La
+                estructura típica es la siguiente:
+            </para>
+
+            <programlisting role="php"><![CDATA[
 application/
     controllers/
         IndexController.php
@@ -67,31 +67,31 @@ html/
     .htaccess
     index.php
 ]]>
-			</programlisting>
+            </programlisting>
 
-		</sect3>
+        </sect3>
 
-		<sect3 id="zend.controller.quickstart.go.docroot">
-			<title>Establezca su document root</title>
+        <sect3 id="zend.controller.quickstart.go.docroot">
+            <title>Establezca su document root</title>
 
-			<para>
-				Apunte su document root en su servidor web hacia el
-				directorio
-				<code>html</code>
-				de la estrctura de archivos de arriba.
-			</para>
-		</sect3>
+            <para>
+                Apunte su document root en su servidor web hacia el
+                directorio
+                <code>html</code>
+                de la estrctura de archivos de arriba.
+            </para>
+        </sect3>
 
-		<sect3 id="zend.controller.quickstart.go.rewrite">
-			<title>Cree sus reglas de reescritura</title>
+        <sect3 id="zend.controller.quickstart.go.rewrite">
+            <title>Cree sus reglas de reescritura</title>
 
-			<para>
-				Edite el archivo
-				<code>html/.htaccess</code>
-				que aparece arriba de la siguiente forma:
-			</para>
+            <para>
+                Edite el archivo
+                <code>html/.htaccess</code>
+                que aparece arriba de la siguiente forma:
+            </para>
 
-			<programlisting role="php"><![CDATA[
+            <programlisting role="php"><![CDATA[
 RewriteEngine On
 RewriteCond %{REQUEST_FILENAME} -s [OR]
 RewriteCond %{REQUEST_FILENAME} -l [OR]
@@ -99,114 +99,114 @@ RewriteCond %{REQUEST_FILENAME} -d
 RewriteRule ^.*$ - [NC,L]
 RewriteRule ^.*$ index.php [NC,L]
 ]]>
-			</programlisting>
+            </programlisting>
 
-			<para>
-				La regla de arriba redigirá las peticiones a recuros existentes
-				(enlaces simbólicos existentes, archivos no vacíos, o directorios no vacíos) 
+            <para>
+                La regla de arriba redigirá las peticiones a recuros existentes
+                (enlaces simbólicos existentes, archivos no vacíos, o directorios no vacíos) 
         en consecuencia, y todas las otras peticiones al front controller.
-			</para>
-
-			<note>
-				<para>
-					Las reglas de arriba pertenecen a Apache. Para ejemplos de reglas
-					de rewrite para otros servidores web, mire la 
-					<link linkend="zend.controller.router.introduction">
-						documentación de router
-					</link>
-					.
-				</para>
-			</note>
-		</sect3>
-
-		<sect3 id="zend.controller.quickstart.go.bootstrap">
-			<title>Cree su archivo bootstrap</title>
-
-			<para>
-				El archivo bootstrap es la página a la que todas las peticiones
-				son redirigidas a través de --
-				<code>html/index.php</code>
-				en este caso. Abra el archivo 
-				<code>html/index.php</code>
-				en el editor de su elección y añada lo siguiente:
-			</para>
-
-			<programlisting role="php"><![CDATA[
+            </para>
+
+            <note>
+                <para>
+                    Las reglas de arriba pertenecen a Apache. Para ejemplos de reglas
+                    de rewrite para otros servidores web, mire la 
+                    <link linkend="zend.controller.router.introduction">
+                        documentación de router
+                    </link>
+                    .
+                </para>
+            </note>
+        </sect3>
+
+        <sect3 id="zend.controller.quickstart.go.bootstrap">
+            <title>Cree su archivo bootstrap</title>
+
+            <para>
+                El archivo bootstrap es la página a la que todas las peticiones
+                son redirigidas a través de --
+                <code>html/index.php</code>
+                en este caso. Abra el archivo 
+                <code>html/index.php</code>
+                en el editor de su elección y añada lo siguiente:
+            </para>
+
+            <programlisting role="php"><![CDATA[
 Zend_Controller_Front::run('/path/to/app/controllers');
 ]]>
-			</programlisting>
-
-			<para>
-				Esto instanciará y hará un dispatch del front controller, que 
-				redigirá las peticiones a los action controllers.
-			</para>
-		</sect3>
-
-		<sect3 id="zend.controller.quickstart.go.controller">
-			<title>Cree su action controller por defecto</title>
-
-			<para>
-				Antes de tratar los action controllers, debe primero
-				entender cómo las peticiones son redirigidas en Zend Framework.
-				Por defecto, el primero segmento de una ruta URL apunta
-				a un controlador, y el segundo a una acción. Por ejemplo,
-				dada la URL
-				<code>
-					http://framework.zend.com/roadmap/components
-				</code>
-				, la ruta es
-				<code>/roadmap/components</code>
-				, que apuntará al controlador
-				<code>roadmap</code>
-				y la acción
-				<code>components</code>
-				. Si no se suministra una acción, se asume la acción
-				<code>index</code>
-				, y si no se suministra un controlador, se asume el controlador
-				<code>index</code>
-				(siguiendo la convención de Apache de apuntar a 
-				<code>DirectoryIndex</code>
-				automáticamente).
-			</para>
-
-			<para>
-				El dispatcher de <code>Zend_Controller</code>
-				toma entonces el valor del controlador y lo apunta
-				a una clase. Por defecto, pone en mayúsculas la primera letra
-				del nombre de controlador y agrega la palabra
-				<code>Controller</code>
-				. De esta forma, en nuestro ejemplo de arriba, el controlador
-				<code>roadmap</code>
-				es dirigido a la clase
-				<code>RoadmapController</code>
-				.
-			</para>
-
-			<para>
-				De la misma forma, el valor de action es dirigido
-				a un método de la clase controladora. Por defecto, el valor se
-				pasa a minúsculas, y la palabra
-				<code>Action</code>
-				es añadida. De esta forma, en nuestro ejemplo de arriba, la acción
-				<code>components</code>
-				se convierte en
-				<code>componentsAction</code>
-				, y el método final llamado es
-				<code>RoadmapController::componentsAction()</code>
-				.
-			</para>
-
-			<para>
-				Continuando, creemos ahora un action controller 
-				y un método de acción por defecto. Como se ha dicho antes,
-				el controlador por defecto y la acción llamada son ambos
-				<code>index</code>
-				. Abra el archivo
-				<code>application/controllers/IndexController.php</code>
-				, e introduzca lo siguiente:
-			</para>
-
-			<programlisting role="php"><![CDATA[
+            </programlisting>
+
+            <para>
+                Esto instanciará y hará un dispatch del front controller, que 
+                redigirá las peticiones a los action controllers.
+            </para>
+        </sect3>
+
+        <sect3 id="zend.controller.quickstart.go.controller">
+            <title>Cree su action controller por defecto</title>
+
+            <para>
+                Antes de tratar los action controllers, debe primero
+                entender cómo las peticiones son redirigidas en Zend Framework.
+                Por defecto, el primero segmento de una ruta URL apunta
+                a un controlador, y el segundo a una acción. Por ejemplo,
+                dada la URL
+                <code>
+                    http://framework.zend.com/roadmap/components
+                </code>
+                , la ruta es
+                <code>/roadmap/components</code>
+                , que apuntará al controlador
+                <code>roadmap</code>
+                y la acción
+                <code>components</code>
+                . Si no se suministra una acción, se asume la acción
+                <code>index</code>
+                , y si no se suministra un controlador, se asume el controlador
+                <code>index</code>
+                (siguiendo la convención de Apache de apuntar a 
+                <code>DirectoryIndex</code>
+                automáticamente).
+            </para>
+
+            <para>
+                El dispatcher de <code>Zend_Controller</code>
+                toma entonces el valor del controlador y lo apunta
+                a una clase. Por defecto, pone en mayúsculas la primera letra
+                del nombre de controlador y agrega la palabra
+                <code>Controller</code>
+                . De esta forma, en nuestro ejemplo de arriba, el controlador
+                <code>roadmap</code>
+                es dirigido a la clase
+                <code>RoadmapController</code>
+                .
+            </para>
+
+            <para>
+                De la misma forma, el valor de action es dirigido
+                a un método de la clase controladora. Por defecto, el valor se
+                pasa a minúsculas, y la palabra
+                <code>Action</code>
+                es añadida. De esta forma, en nuestro ejemplo de arriba, la acción
+                <code>components</code>
+                se convierte en
+                <code>componentsAction</code>
+                , y el método final llamado es
+                <code>RoadmapController::componentsAction()</code>
+                .
+            </para>
+
+            <para>
+                Continuando, creemos ahora un action controller 
+                y un método de acción por defecto. Como se ha dicho antes,
+                el controlador por defecto y la acción llamada son ambos
+                <code>index</code>
+                . Abra el archivo
+                <code>application/controllers/IndexController.php</code>
+                , e introduzca lo siguiente:
+            </para>
+
+            <programlisting role="php"><![CDATA[
 /** Zend_Controller_Action */
 class IndexController extends Zend_Controller_Action
 {
@@ -215,61 +215,61 @@ class IndexController extends Zend_Controller_Action
     }
 }
 ]]>
-			</programlisting>
-
-			<para>
-				Por defecto, el action helper
-				<link linkend="zend.controller.actionhelpers.viewrenderer">
-					ViewRenderer
-				</link>
-				está activado. Esto significa que simplemente
-				definiendo un action method y un view script correspondiente,
-				tendrá su contenido generado inmediatamente.
-				Por defecto,
-				<code>Zend_View</code>
-				es usado como la capa Vista en el patrón MVC. El
-				<code>ViewRenderer</code>
-				hace algo de magia, y usa el nombre de controlador (e.g.,
-				<code>index</code>
-				) y el nombre de acción actual (e.g.,
-				<code>index</code>
-				) para determinar qué plantilla traer. Por defecto,
-				las plantillas terminan con la extensión
-				<code>.phtml</code>
-				, lo que significa que en el ejemplo de arriba, la
-				plantilla
-				<code>index/index.phtml</code>
-				será generada. Adicionalmente, el
-				<code>ViewRenderer</code>
-				asume automáticamente que la carpeta
-				<code>views</code>
-				al mismo nivel que la carpeta controller será
-				la carpeta raíz de la vista, y que el script de vista actual
-				estará en la subcarpeta
-				<code>views/scripts/</code>.
-				De esta forma, la plantilla generada será encontrada en
-				<code>application/views/scripts/index/index.phtml</code>
-				.
-			</para>
-		</sect3>
-
-		<sect3 id="zend.controller.quickstart.go.view">
-			<title>Cree su view script</title>
-
-			<para>
-				Como hemos mencionado
-				<link linkend="zend.controller.quickstart.go.controller">
-					en la sección anterior
-				</link>
-				, los scripts de vista se encuentran en 
-				<code>application/views/scripts/</code>
-				; el view script para el controlador y la acción por defecto 
-				está en
-				<code>application/views/scripts/index/index.phtml</code>
-				. Cree este archivo, y escriba un poco de HTML:
-			</para>
-
-			<programlisting role="php"><![CDATA[
+            </programlisting>
+
+            <para>
+                Por defecto, el action helper
+                <link linkend="zend.controller.actionhelpers.viewrenderer">
+                    ViewRenderer
+                </link>
+                está activado. Esto significa que simplemente
+                definiendo un action method y un view script correspondiente,
+                tendrá su contenido generado inmediatamente.
+                Por defecto,
+                <code>Zend_View</code>
+                es usado como la capa Vista en el patrón MVC. El
+                <code>ViewRenderer</code>
+                hace algo de magia, y usa el nombre de controlador (e.g.,
+                <code>index</code>
+                ) y el nombre de acción actual (e.g.,
+                <code>index</code>
+                ) para determinar qué plantilla traer. Por defecto,
+                las plantillas terminan con la extensión
+                <code>.phtml</code>
+                , lo que significa que en el ejemplo de arriba, la
+                plantilla
+                <code>index/index.phtml</code>
+                será generada. Adicionalmente, el
+                <code>ViewRenderer</code>
+                asume automáticamente que la carpeta
+                <code>views</code>
+                al mismo nivel que la carpeta controller será
+                la carpeta raíz de la vista, y que el script de vista actual
+                estará en la subcarpeta
+                <code>views/scripts/</code>.
+                De esta forma, la plantilla generada será encontrada en
+                <code>application/views/scripts/index/index.phtml</code>
+                .
+            </para>
+        </sect3>
+
+        <sect3 id="zend.controller.quickstart.go.view">
+            <title>Cree su view script</title>
+
+            <para>
+                Como hemos mencionado
+                <link linkend="zend.controller.quickstart.go.controller">
+                    en la sección anterior
+                </link>
+                , los scripts de vista se encuentran en 
+                <code>application/views/scripts/</code>
+                ; el view script para el controlador y la acción por defecto 
+                está en
+                <code>application/views/scripts/index/index.phtml</code>
+                . Cree este archivo, y escriba un poco de HTML:
+            </para>
+
+            <programlisting role="php"><![CDATA[
 <!DOCTYPE html
 PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
@@ -283,26 +283,26 @@ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
 </body>
 </html>
 ]]>
-			</programlisting>
-		</sect3>
-
-		<sect3 id="zend.controller.quickstart.go.errorhandler">
-			<title>Cree su controlador de errores</title>
-
-			<para>
-				Por defecto, está registrado
-				<link linkend="zend.controller.plugins.standard.errorhandler">
-					el plugin 'error handler'
-				</link>. Este plugin espera que exista
-				un controlador para manejar los errores.
-				Por defecto, asume un 
-				<code>ErrorController</code>
-				en el módulo default con un método
-				<code>errorAction</code>
-				:
-			</para>
-
-			<programlisting role="php"><![CDATA[
+            </programlisting>
+        </sect3>
+
+        <sect3 id="zend.controller.quickstart.go.errorhandler">
+            <title>Cree su controlador de errores</title>
+
+            <para>
+                Por defecto, está registrado
+                <link linkend="zend.controller.plugins.standard.errorhandler">
+                    el plugin 'error handler'
+                </link>. Este plugin espera que exista
+                un controlador para manejar los errores.
+                Por defecto, asume un 
+                <code>ErrorController</code>
+                en el módulo default con un método
+                <code>errorAction</code>
+                :
+            </para>
+
+            <programlisting role="php"><![CDATA[
 class ErrorController extends Zend_Controller_Action
 {
     public function errorAction()
@@ -310,18 +310,18 @@ class ErrorController extends Zend_Controller_Action
     }
 }
 ]]>
-			</programlisting>
-
-			<para>
-				Asumiendo el sistema de carpetas discutido anteriormente, 
-				este archivo irá en
-				<code>application/controllers/ErrorController.php</code>
-				. También necesitará crear un view script en
-				<code>application/views/scripts/error/error.phtml</code>
-				; el contenido de ejemplo será parecido a:
-			</para>
-
-			<programlisting role="php"><![CDATA[
+            </programlisting>
+
+            <para>
+                Asumiendo el sistema de carpetas discutido anteriormente, 
+                este archivo irá en
+                <code>application/controllers/ErrorController.php</code>
+                . También necesitará crear un view script en
+                <code>application/views/scripts/error/error.phtml</code>
+                ; el contenido de ejemplo será parecido a:
+            </para>
+
+            <programlisting role="php"><![CDATA[
 <!DOCTYPE html
 PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
 "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
@@ -336,44 +336,44 @@ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
 </body>
 </html>
 ]]>
-			</programlisting>
-		</sect3>
-
-		<sect3 id="zend.controller.quickstart.go.finish">
-			<title>¡Vea el sitio!</title>
-
-			<para>
-				Con su primer controlador y vista, ya puede arrancar su navegador y acceder a su sitio.
-				Asumiendo que
-				<code>example.com</code>
-				es su dominio, cualquiera de las siguientes URLs le llevará a 
-				la página que acaba de crear:
-			</para>
-
-			<itemizedlist>
-				<listitem>
-					<para>
-						<code>http://example.com/</code>
-					</para>
-				</listitem>
-				<listitem>
-					<para>
-						<code>http://example.com/index</code>
-					</para>
-				</listitem>
-				<listitem>
-					<para>
-						<code>http://example.com/index/index</code>
-					</para>
-				</listitem>
-			</itemizedlist>
-
-			<para>
-				Ya está listo para empezar a crear más métodos de controladores y acciones. ¡Felicidades!
-			</para>
-		</sect3>
-	</sect2>
+            </programlisting>
+        </sect3>
+
+        <sect3 id="zend.controller.quickstart.go.finish">
+            <title>¡Vea el sitio!</title>
+
+            <para>
+                Con su primer controlador y vista, ya puede arrancar su navegador y acceder a su sitio.
+                Asumiendo que
+                <code>example.com</code>
+                es su dominio, cualquiera de las siguientes URLs le llevará a 
+                la página que acaba de crear:
+            </para>
+
+            <itemizedlist>
+                <listitem>
+                    <para>
+                        <code>http://example.com/</code>
+                    </para>
+                </listitem>
+                <listitem>
+                    <para>
+                        <code>http://example.com/index</code>
+                    </para>
+                </listitem>
+                <listitem>
+                    <para>
+                        <code>http://example.com/index/index</code>
+                    </para>
+                </listitem>
+            </itemizedlist>
+
+            <para>
+                Ya está listo para empezar a crear más métodos de controladores y acciones. ¡Felicidades!
+            </para>
+        </sect3>
+    </sect2>
 </sect1>
 <!--
-	vim:se ts=4 sw=4 et:
+    vim:se ts=4 sw=4 et:
 -->

+ 85 - 85
documentation/manual/es/module_specs/Zend_Date-Introduction.xml

@@ -1,76 +1,76 @@
 <sect1 id="zend.date.introduction">
 
-	<title>Introducción</title>
+    <title>Introducción</title>
 
-	<para>
-		El componente
-		<code>Zend_Date</code>
-		ofrece una API detallada pero simple para manipular fechas y
-		horas. Sus métodos aceptan una gran variedad de tipos de
-		información, incluyendo partes de fecha, en numerosas
-		combinaciones provocando muchas características y posibilidades
-		más allá de las funciones de fecha PHP relacionadas. Para
-		las últimas actualizaciones manuales, por favor ver el siguiente
-		link <ulink>
-		url="http://framework.zend.com/wiki/display/ZFDOCDEV/Home"&gt;our
-		online manual (sincronizado frecuentemente con Subversion)
-		</ulink>
-		.
-	</para>
+    <para>
+        El componente
+        <code>Zend_Date</code>
+        ofrece una API detallada pero simple para manipular fechas y
+        horas. Sus métodos aceptan una gran variedad de tipos de
+        información, incluyendo partes de fecha, en numerosas
+        combinaciones provocando muchas características y posibilidades
+        más allá de las funciones de fecha PHP relacionadas. Para
+        las últimas actualizaciones manuales, por favor ver el siguiente
+        link <ulink>
+        url="http://framework.zend.com/wiki/display/ZFDOCDEV/Home"&gt;our
+        online manual (sincronizado frecuentemente con Subversion)
+        </ulink>
+        .
+    </para>
 
-	<para>
-		Aunque la simplicidad sea el objetivo, trabajar con fechas y
-		tiempos localizados mientras se modifican, combinan y comparan
-		partes, provoca una complejidad inevitable. Las fechas, así como
-		los tiempos, a menudo son escritos de forma diferente en
-		zonas locales distintas. Por ejemplo, algunos colocan primero el
-		mes, mientras otros escriben el año en primer lugar cuando
-		expresan fechas del calendario. Para más información relacionada
-		con manejo de localizaciones y normalización, por favor
-		vea el manual de
-		<link linkend="zend.locale.date.datesandtimes">
-			<code>Zend_Locale</code>
-		</link>
-		.
-	</para>
+    <para>
+        Aunque la simplicidad sea el objetivo, trabajar con fechas y
+        tiempos localizados mientras se modifican, combinan y comparan
+        partes, provoca una complejidad inevitable. Las fechas, así como
+        los tiempos, a menudo son escritos de forma diferente en
+        zonas locales distintas. Por ejemplo, algunos colocan primero el
+        mes, mientras otros escriben el año en primer lugar cuando
+        expresan fechas del calendario. Para más información relacionada
+        con manejo de localizaciones y normalización, por favor
+        vea el manual de
+        <link linkend="zend.locale.date.datesandtimes">
+            <code>Zend_Locale</code>
+        </link>
+        .
+    </para>
 
-	<para>
-		<code>Zend_Date</code>
-		también soporta nombres de meses abreviados en varios idiomas.
-		<code>Zend_Locale</code>
-		facilita la normalización de meses localizados y nombres de días
-		de la semana a timestamps, los cuales pueden, a su vez, ser
-		mostrados localizados a otras regiones.
-	</para>
+    <para>
+        <code>Zend_Date</code>
+        también soporta nombres de meses abreviados en varios idiomas.
+        <code>Zend_Locale</code>
+        facilita la normalización de meses localizados y nombres de días
+        de la semana a timestamps, los cuales pueden, a su vez, ser
+        mostrados localizados a otras regiones.
+    </para>
 
-	<sect2 id="zend.date.setdefaulttimezone">
+    <sect2 id="zend.date.setdefaulttimezone">
 
-		<title>Asigne Siempre una Zona Horaria por Defecto</title>
+        <title>Asigne Siempre una Zona Horaria por Defecto</title>
 
-		<para>
-			Antes de utilizar funciones relacionadas con fechas en PHP o
-			en el Zend Framework, primero debe asegurarse que su
-			aplicación tiene una zona horaria correcta por defecto,
-			configurando la variable de entorno TZ, usando el
-			parametro del php.ini
-			<code>date.timezone</code>
-			, o usando
-			<ulink url="http://php.net/date_default_timezone_set">
-				date_default_timezone_set()
-			</ulink>
-			. En PHP, podemos ajustar todas las funciones relacionadas
-			con fechas y hora para trabajar para un usuario particular
-			configurando por defecto una zona horaria de acuerdo a las
-			expectativas del usuario. Para una lista completa de
-			configuraciones de zona horaria, vea el siguiente link
-			<ulink url="http://unicode.org/cldr/data/diff/supplemental/territory_containment_un_m_49.html">
-				Lista de Identificadores de Zonas Horarias CLDR
-			</ulink>
-			.
-			<example id="zend.date.setdefaulttimezone.example-1">
-				<title>Configurando una Zona Horaria por Defecto</title>
-				<programlisting role="php"><![CDATA[
-				// zona horaria para un estadounidense en California
+        <para>
+            Antes de utilizar funciones relacionadas con fechas en PHP o
+            en el Zend Framework, primero debe asegurarse que su
+            aplicación tiene una zona horaria correcta por defecto,
+            configurando la variable de entorno TZ, usando el
+            parametro del php.ini
+            <code>date.timezone</code>
+            , o usando
+            <ulink url="http://php.net/date_default_timezone_set">
+                date_default_timezone_set()
+            </ulink>
+            . En PHP, podemos ajustar todas las funciones relacionadas
+            con fechas y hora para trabajar para un usuario particular
+            configurando por defecto una zona horaria de acuerdo a las
+            expectativas del usuario. Para una lista completa de
+            configuraciones de zona horaria, vea el siguiente link
+            <ulink url="http://unicode.org/cldr/data/diff/supplemental/territory_containment_un_m_49.html">
+                Lista de Identificadores de Zonas Horarias CLDR
+            </ulink>
+            .
+            <example id="zend.date.setdefaulttimezone.example-1">
+                <title>Configurando una Zona Horaria por Defecto</title>
+                <programlisting role="php"><![CDATA[
+                // zona horaria para un estadounidense en California
 date_default_timezone_set('America/Los_Angeles');
 // zona horaria para un alemán en Alemania
 date_default_timezone_set('Europe/Berlin');
@@ -78,17 +78,17 @@ date_default_timezone_set('Europe/Berlin');
                 </programlisting>
             </example>
             <emphasis role="strong">¡Al crear instancias de Zend_Date, su zona horaria se convertirá automáticamente
-			en la zona horaria por defecto actual!</emphasis> De esta forma, la configuración de zona horaria tendrá
-			en cuenta cualquier cambio de hora de invierno/verano (Daylight Saving Time, DST), eliminando la necesidad
-			de especificarlo explícitamente.
+            en la zona horaria por defecto actual!</emphasis> De esta forma, la configuración de zona horaria tendrá
+            en cuenta cualquier cambio de hora de invierno/verano (Daylight Saving Time, DST), eliminando la necesidad
+            de especificarlo explícitamente.
         </para>
 
         <para>
             Tenga en cuenta que las zonas horarias <emphasis role="strong">UTC</emphasis> y
             <emphasis role="strong">GMT</emphasis> no incluyen el cambio de hora de invierno/verano (Daylight Saving Time, DST). 
-			Esto significa que aunque defina a mano que <code>Zend_Date</code> deba trabajar con DST, podría
-			ser anulado por las instancias de <code>Zend_Date</code> que han sido fijadas a
-			UTC o GMT.
+            Esto significa que aunque defina a mano que <code>Zend_Date</code> deba trabajar con DST, podría
+            ser anulado por las instancias de <code>Zend_Date</code> que han sido fijadas a
+            UTC o GMT.
         </para>
     </sect2>
 
@@ -107,8 +107,8 @@ date_default_timezone_set('Europe/Berlin');
                 </para>
                 <para>
                     <code>Zend_Date</code> aporta una API muy sencilla, que combina lo mejor de la funcionalidad
-					fecha/hora de cuatro lenguajes de programación. Es posible, por ejemplo, añadir o comparar dos horas 
-					dentro de una misma columna.
+                    fecha/hora de cuatro lenguajes de programación. Es posible, por ejemplo, añadir o comparar dos horas 
+                    dentro de una misma columna.
                 </para>
             </listitem>
             <listitem>
@@ -126,15 +126,15 @@ date_default_timezone_set('Europe/Berlin');
                 </para>
                 <para>
                     A pesar de que la documentación de PHP 5.2 indice: "El intervalo de valores admitidos de timestamps es
-					desde el 13 Dec 1901 20:45:54 GMT al 19 Ene 2038 03:14:07 GMT," <code>Zend_Date</code> admite un rango
-					casi ilimitado, con la ayuda de la extensión BCMath. Si BCMath no está disponible, Zend_Date tendrá una 
-					funcionalidad de timestamps reducida al rango del tipo <code>float</code> soportado por su servidor.
-					El tamaño de un float es dependiente de la plataforma, aunque un máximo de ~1.8e308 con una precisión
-					de cerca de 14 dígitos decimales es un valor habitual (formato 64 bit IEEE)." [
+                    desde el 13 Dec 1901 20:45:54 GMT al 19 Ene 2038 03:14:07 GMT," <code>Zend_Date</code> admite un rango
+                    casi ilimitado, con la ayuda de la extensión BCMath. Si BCMath no está disponible, Zend_Date tendrá una 
+                    funcionalidad de timestamps reducida al rango del tipo <code>float</code> soportado por su servidor.
+                    El tamaño de un float es dependiente de la plataforma, aunque un máximo de ~1.8e308 con una precisión
+                    de cerca de 14 dígitos decimales es un valor habitual (formato 64 bit IEEE)." [
                     <ulink url="http://www.php.net/float">http://www.php.net/float</ulink>
                     ].  Adicionalmente, las limitaciones heredadas de los tipos de dato float, y errores de redondeo de números
-					flotantes pueden introducir errores en los cálculos. Para evitar estos problemas, los componentes ZF I18n 
-					usan la extensión BCMath, si está disponible.
+                    flotantes pueden introducir errores en los cálculos. Para evitar estos problemas, los componentes ZF I18n 
+                    usan la extensión BCMath, si está disponible.
                 </para>
             </listitem>
             <listitem>
@@ -143,11 +143,11 @@ date_default_timezone_set('Europe/Berlin');
                 </para>
                 <para>
                     Las especificaciones de fecha ISO_8601 están aceptadas. Incluso las especificaciones de fecha ISO_8601 
-					parcialmente autorizadas serán identificadas. Estos formatos de fecha son particularmente útiles al
-					trabajar con bases de datos. Por ejemplo, aunque MsSQL y 
+                    parcialmente autorizadas serán identificadas. Estos formatos de fecha son particularmente útiles al
+                    trabajar con bases de datos. Por ejemplo, aunque MsSQL y 
                     <ulink url="http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html">MySQL</ulink>
                     difieren ligeramente uno de otro, ambos tienen soporte por parte de <code>Zend_Date</code> usando la constante 
-					de especificación de formato 
+                    de especificación de formato 
                     <link linkend="zend.date.constants.list">Zend_Date::ISO_8601</link>.
                     Cuando las cadenas de fecha sean del tipo "Y/m/d" o "Y-m-d H:i:s", de acuerdo con los tokens de formato
                     PHP date(), use el soporte integrado de Zend_Date para fechas formateadas ISO 8601.
@@ -159,7 +159,7 @@ date_default_timezone_set('Europe/Berlin');
                 </para>
                 <para>
                     Las horas de amanecer y puesta de sol pueden mostrarse para cualquier lugar y día, para que no pierda ni un segundo de luz diurna 
-					para trabajar en su proyecto PHP favorito :)
+                    para trabajar en su proyecto PHP favorito :)
                 </para>
             </listitem>
         </itemizedlist>
@@ -168,5 +168,5 @@ date_default_timezone_set('Europe/Berlin');
 
 </sect1>
 <!--
-	vim:se ts=4 sw=4 et:
+    vim:se ts=4 sw=4 et:
 -->

Разница между файлами не показана из-за своего большого размера
+ 488 - 488
documentation/manual/es/module_specs/Zend_Db_Adapter.xml


+ 63 - 63
documentation/manual/es/module_specs/Zend_Db_Profiler.xml

@@ -7,17 +7,17 @@
         <title>Introducción</title>
 
         <para>
-            <code>Zend_Db_Profiler</code> puede ser habilitado para Perfilar las 
+            <code>Zend_Db_Profiler</code> puede ser habilitado para Perfilar las
             consultas. Los Perfiles incluyen la consulta procesada por el adaptador como
-			el tiempo as transcurrido en la ejecución de las consultas, permitiendo 
-			inspeccionar las consultas realizadas win necesidad de agregar información 
-			de depuración extra en el código de las clases. El uso avanzado también permite
-			que el desarrollador filtre las consultas que desea perfilar.
+            el tiempo as transcurrido en la ejecución de las consultas, permitiendo
+            inspeccionar las consultas realizadas win necesidad de agregar información
+            de depuración extra en el código de las clases. El uso avanzado también permite
+            que el desarrollador filtre las consultas que desea perfilar.
         </para>
 
         <para>
-            Habilite el perfilador pasando una directiva al al constructor del adaptador, 
-			o pidiendole al adaptador permitirlo más adelante.
+            Habilite el perfilador pasando una directiva al al constructor del adaptador,
+            o pidiendole al adaptador permitirlo más adelante.
         </para>
 
         <programlisting role="php"><![CDATA[
@@ -42,14 +42,14 @@ $db->getProfiler()->setEnabled(true);
 
         <para>
             El valor de la opción '<code>profiler</code>' es flexible. Es interpretada de distintas
-			formas dependiendo del tipo. Normalmente, debería usar un valor booleano simple, pero
-			otros tipos le permiten personalizar el comportamiento del perfilador.
+            formas dependiendo del tipo. Normalmente, debería usar un valor booleano simple, pero
+            otros tipos le permiten personalizar el comportamiento del perfilador.
         </para>
 
         <para>
-            Un argumento booleano establece el perfilador como habilitado si el valor es 
-			<code>true</code>, o deshabilitado si es <code>false</code>. La clase del perfilador
-			es el la clase de perfilador por defecto del adaptador, <code>Zend_Db_Profiler</code>.
+            Un argumento booleano establece el perfilador como habilitado si el valor es
+            <code>true</code>, o deshabilitado si es <code>false</code>. La clase del perfilador
+            es el la clase de perfilador por defecto del adaptador, <code>Zend_Db_Profiler</code>.
             <programlisting role="php"><![CDATA[
 $params['profiler'] = true;
 $db = Zend_Db::factory('PDO_MYSQL', $params);
@@ -58,9 +58,9 @@ $db = Zend_Db::factory('PDO_MYSQL', $params);
         </para>
 
         <para>
-            Una instancia del objeto perfilador hace que el adaptador use ese objeto. 
-			El tipo del objeto debe ser <code>Zend_Db_Profiler</code> o una subclase de este. 
-			Habilitar el perfilador se hace por separado.
+            Una instancia del objeto perfilador hace que el adaptador use ese objeto.
+            El tipo del objeto debe ser <code>Zend_Db_Profiler</code> o una subclase de este.
+            Habilitar el perfilador se hace por separado.
             <programlisting role="php"><![CDATA[
 $profiler = MyProject_Db_Profiler();
 $profiler->setEnabled(true);
@@ -72,13 +72,13 @@ $db = Zend_Db::factory('PDO_MYSQL', $params);
 
         <para>
             El argumento puede ser un array asociativo conteniendo algunas o todas las claves
-			'<code>enabled</code>', '<code>instance</code>', y '<code>class</code>'. Las claves 
-			'<code>enabled</code>' e '<code>instance</code>' corresponden a los tipos booleano y
-			la instancia documentada previamente. La clave '<code>class</code>' es usada para nombrar
-			la clase que usará el perfilador personalizado. La clase debe ser 
-			<code>Zend_Db_Profiler</code> o una subclase. La clase es instanciada sin argumentos
-			de constructor. La opción '<code>class</code>' es ignorada cuando la opción
-			'<code>instance</code>' está dada.
+            '<code>enabled</code>', '<code>instance</code>', y '<code>class</code>'. Las claves
+            '<code>enabled</code>' e '<code>instance</code>' corresponden a los tipos booleano y
+            la instancia documentada previamente. La clave '<code>class</code>' es usada para nombrar
+            la clase que usará el perfilador personalizado. La clase debe ser
+            <code>Zend_Db_Profiler</code> o una subclase. La clase es instanciada sin argumentos
+            de constructor. La opción '<code>class</code>' es ignorada cuando la opción
+            '<code>instance</code>' está dada.
             <programlisting role="php"><![CDATA[
 $params['profiler'] = array(
     'enabled' => true,
@@ -91,8 +91,8 @@ $db = Zend_Db::factory('PDO_MYSQL', $params);
 
         <para>
             Finalmente, el argumento puede ser un objeto de tipo <code>Zend_Config</code>
-			conteniendo las propiedades, que son tratadas como las claves de array descritas recién.
-			Por ejemplo, un archivo "config.ini" puede contener los siguientes datos:
+            conteniendo las propiedades, que son tratadas como las claves de array descritas recién.
+            Por ejemplo, un archivo "config.ini" puede contener los siguientes datos:
             <programlisting role="ini"><![CDATA[
 [main]
 db.profiler.class   = "MyProject_Db_Profiler"
@@ -143,14 +143,14 @@ $profiler = $db->getProfiler();
         <para>
             Este retorna una instancia del objeto <code>Zend_Db_Profiler</code>. Con
             esta instancia, el desarrollador puede examinar las consultar usando una variedad
-			de métodos:
+            de métodos:
         </para>
 
         <itemizedlist>
             <listitem>
                 <para>
-                    <code>getTotalNumQueries()</code> retorna el número total 
-					de consultas que han sido perfiladas.
+                    <code>getTotalNumQueries()</code> retorna el número total
+                    de consultas que han sido perfiladas.
                 </para>
             </listitem>
             <listitem>
@@ -161,15 +161,15 @@ $profiler = $db->getProfiler();
             </listitem>
             <listitem>
                 <para>
-                    <code>getQueryProfiles()</code> retorna un array con todos 
-					los perfiles de consultas.
+                    <code>getQueryProfiles()</code> retorna un array con todos
+                    los perfiles de consultas.
                 </para>
             </listitem>
             <listitem>
                 <para>
                     <code>getLastQueryProfile()</code> retorna el último perfil (más
-	                    reciente) de consulta, independientemente de si la consulta ha 
-						terminado o no (si no lo ha hecho, la hora de finalización será nula).
+                        reciente) de consulta, independientemente de si la consulta ha
+                        terminado o no (si no lo ha hecho, la hora de finalización será nula).
                 </para>
             </listitem>
             <listitem>
@@ -180,9 +180,9 @@ $profiler = $db->getProfiler();
         </itemizedlist>
 
         <para>
-            El valor de retorno de <code>getLastQueryProfile()</code> y 
-			elementos individuales de <code>getQueryProfiles()</code> son
-            <code>Zend_Db_Profiler_Query</code> objetos, que proporcionan la 
+            El valor de retorno de <code>getLastQueryProfile()</code> y
+            elementos individuales de <code>getQueryProfiles()</code> son
+            <code>Zend_Db_Profiler_Query</code> objetos, que proporcionan la
              capacidad para inspeccionar cada una de las consultas:
         </para>
 
@@ -192,7 +192,7 @@ $profiler = $db->getProfiler();
                     <code>getQuery()</code> retorna el texto SQL de la consulta.
                     El texto SQL de una declaración preparada con parámetros es el
                     texto al tiempo en que la consulta fué preparada, por lo que contiene
-					marcadores de posición, no los valores utilizados cuando la
+                    marcadores de posición, no los valores utilizados cuando la
                     declaración se ejecuta.
                 </para>
             </listitem>
@@ -200,9 +200,9 @@ $profiler = $db->getProfiler();
                 <para>
                     <code>getQueryParams()</code> retorna un array de
                     los valores de los parámetros usados cuando se ejecuta una consulta preparada.
-                    Este incluye ambos parámetros y argumentos vinculados al método 
-					<code>execute()</code> de la declaración.  Las claves del array
-					son las posiciones (basado en 1) o indices de parámetros nombrados (string).
+                    Este incluye ambos parámetros y argumentos vinculados al método
+                    <code>execute()</code> de la declaración.  Las claves del array
+                    son las posiciones (basado en 1) o indices de parámetros nombrados (string).
                 </para>
             </listitem>
             <listitem>
@@ -215,9 +215,9 @@ $profiler = $db->getProfiler();
 
         <para>
             La información que <code>Zend_Db_Profiler</code> provee es útil para
-            perfilar cuellos de botella en aplicaciones, y para depurar consultas que 
-			han sido ejecutadas. Por instancia, para ver la consulta exacta que tuvo la
-			última ejecución:
+            perfilar cuellos de botella en aplicaciones, y para depurar consultas que
+            han sido ejecutadas. Por instancia, para ver la consulta exacta que tuvo la
+            última ejecución:
         </para>
 
         <programlisting role="php"><![CDATA[
@@ -228,10 +228,10 @@ echo $query->getQuery();
         </programlisting>
 
         <para>
-            Tal vez una página se genera lentamente; use el perfilador para 
-			determinar primero el número total de segundos de todas las consultas, 
-			y luego recorrer paso a paso a través de las consultas para encontrar 
-			la más lenta:
+            Tal vez una página se genera lentamente; use el perfilador para
+            determinar primero el número total de segundos de todas las consultas,
+            y luego recorrer paso a paso a través de las consultas para encontrar
+            la más lenta:
         </para>
 
         <programlisting role="php"><![CDATA[
@@ -275,7 +275,7 @@ echo "Consulta más lenta: \n" . $longestQuery . "\n";
             <para>
                 <code>setFilterElapsedSecs()</code> le permite al desarrolador establecer
                 un tiempo mínimo antes de que una consulta se perfile. Para remover el filtro,
-				pase un valor null al método.
+                pase un valor null al método.
             </para>
 
             <programlisting role="php"><![CDATA[
@@ -293,8 +293,8 @@ $profiler->setFilterElapsedSecs(null);
 
             <para>
                 <code>setFilterQueryType()</code> le permite al desarrollador
-				establecer que tipo de consulta serán perfiladas; para perfilar multiples tipos,
-				use un "OR" lógico. Los tipos de consulta se definen como las siguientes
+                establecer que tipo de consulta serán perfiladas; para perfilar multiples tipos,
+                use un "OR" lógico. Los tipos de consulta se definen como las siguientes
                 constantes de <code>Zend_Db_Profiler</code>:
             </para>
 
@@ -302,31 +302,31 @@ $profiler->setFilterElapsedSecs(null);
                 <listitem>
                     <para>
                         <code>Zend_Db_Profiler::CONNECT</code>: operaciones de
-						conexión o selección de base de datos.
+                        conexión o selección de base de datos.
                     </para>
                 </listitem>
                 <listitem>
                     <para>
                         <code>Zend_Db_Profiler::QUERY</code>: consultas generales
-						a la base de datos que no calzan con otros tipos.
+                        a la base de datos que no calzan con otros tipos.
                     </para>
                 </listitem>
                 <listitem>
                     <para>
                         <code>Zend_Db_Profiler::INSERT</code>: cualquier consulta
-						que agrega filas a la base de datos, generalmente un SQL INSERT.
+                        que agrega filas a la base de datos, generalmente un SQL INSERT.
                     </para>
                 </listitem>
                 <listitem>
                     <para>
                         <code>Zend_Db_Profiler::UPDATE</code>: cualquier consulta que
-						actualice registros existentes, usualmente un SQL UPDATE.
+                        actualice registros existentes, usualmente un SQL UPDATE.
                     </para>
                 </listitem>
                 <listitem>
                     <para>
                         <code>Zend_Db_Profiler::DELETE</code>: cualquier consulta
-						que elimine datos existentes, usualmente un SQL DELETE.
+                        que elimine datos existentes, usualmente un SQL DELETE.
                     </para>
                 </listitem>
                 <listitem>
@@ -346,7 +346,7 @@ $profiler->setFilterElapsedSecs(null);
 
             <para>
                 Asi como con <code>setFilterElapsedSecs()</code>, puedes remover cualquier filtro
-				existente pasando un <code>null</code> como único argumento.
+                existente pasando un <code>null</code> como único argumento.
             </para>
 
             <programlisting role="php"><![CDATA[
@@ -372,13 +372,13 @@ $profiler->setFilterQueryType(null);
             <title>Obtener perfiles por tipo de consulta</title>
 
             <para>
-                Usando <code>setFilterQueryType()</code> puedes reducir los 
-				perfiles generados. Sin embargo, a veces puede ser más útil 
-                mantener todos los perfiles, pero ver sólo los que necesita 
-				en un determinado momento. Otra característica de 
-				<code>getQueryProfiles()</code> es que puede este filtrado al-vuelo,
-				pasando un tipo de consulta(o una combinación lógica de tipos de consulta)
-				en el primer; vea <xref linkend="zend.db.profiler.advanced.filtertype" />
+                Usando <code>setFilterQueryType()</code> puedes reducir los
+                perfiles generados. Sin embargo, a veces puede ser más útil
+                mantener todos los perfiles, pero ver sólo los que necesita
+                en un determinado momento. Otra característica de
+                <code>getQueryProfiles()</code> es que puede este filtrado al-vuelo,
+                pasando un tipo de consulta(o una combinación lógica de tipos de consulta)
+                en el primer; vea <xref linkend="zend.db.profiler.advanced.filtertype" />
                 para una lista las constantes de tipo de consulta.
             </para>
 
@@ -405,8 +405,8 @@ $profiles = $profiler->getQueryProfiles(Zend_Db_Profiler::DELETE);
 
         <para>
             Un Perfilador Especializado es un objeto que hereda de
-            <code>Zend_Db_Profiler</code>.  Los Perfiladores Especializados 
-			tratan la información de perfilado de maneras más especificas.
+            <code>Zend_Db_Profiler</code>.  Los Perfiladores Especializados
+            tratan la información de perfilado de maneras más especificas.
         </para>
 
         <xi:include href="Zend_Db_Profiler-Firebug.xml" />

+ 122 - 122
documentation/manual/es/module_specs/Zend_Db_Select.xml

@@ -8,11 +8,11 @@
 
         <para>
             El objeto Zend_Db_Select object representa una declaración de consulta
-			<code>SELECT</code> de SQL. La clase tiene métodos para agregar partes 
-			individuales a la consulta. Puedes especificar algunas partes de la consulta
-			usando los métodos en PHP y sus estructuras de datos, y la clase forma la sintaxis
-			SLQ correcta. Despues de construir la consulta, puedes ejecutarla como si
-			se hubiera escrito como un string.
+            <code>SELECT</code> de SQL. La clase tiene métodos para agregar partes
+            individuales a la consulta. Puedes especificar algunas partes de la consulta
+            usando los métodos en PHP y sus estructuras de datos, y la clase forma la sintaxis
+            SLQ correcta. Despues de construir la consulta, puedes ejecutarla como si
+            se hubiera escrito como un string.
         </para>
 
         <para>
@@ -22,41 +22,41 @@
         <itemizedlist>
             <listitem>
                 <para>
-                    Métodos Orientados a objetos para especificar consultas SQL 
-					de manera pieza-a-pieza;
+                    Métodos Orientados a objetos para especificar consultas SQL
+                    de manera pieza-a-pieza;
                 </para>
             </listitem>
 
             <listitem>
                 <para>
                     Abstracción de partes de las consultas SQL, independiente de la
-					Base de datos;
+                    Base de datos;
                 </para>
             </listitem>
 
             <listitem>
                 <para>
-                    Entrecomillado automático de identificadores de metadatos en 
-					la mayoría de los casos, soportanto identificadores que contienen palabras
-					reservadas de SQL y caracteres especiales;
+                    Entrecomillado automático de identificadores de metadatos en
+                    la mayoría de los casos, soportanto identificadores que contienen palabras
+                    reservadas de SQL y caracteres especiales;
                 </para>
             </listitem>
 
             <listitem>
                 <para>
-                    Entrecomillado de identificadores y valores, para ayudar a reducir el 
-					riesgo de ataque de inyección SQL.
+                    Entrecomillado de identificadores y valores, para ayudar a reducir el
+                    riesgo de ataque de inyección SQL.
                 </para>
             </listitem>
         </itemizedlist>
 
         <para>
-            El uso de Zend_Db_Select no es obligatorio. Para consultas SELECT muy simples, 
-			es usualmente más simple especificar la consulta completa como un string
-            y ejecutarla usando un método del Adapter como <code>query()</code> o 
-			<code>fetchAll()</code>. Usar Zend_Db_Select es util si se necesita ensamblar 
-			una consulta SELECT proceduralmente, o basado en condiciones lógicas en 
-			la aplicación.
+            El uso de Zend_Db_Select no es obligatorio. Para consultas SELECT muy simples,
+            es usualmente más simple especificar la consulta completa como un string
+            y ejecutarla usando un método del Adapter como <code>query()</code> o
+            <code>fetchAll()</code>. Usar Zend_Db_Select es util si se necesita ensamblar
+            una consulta SELECT proceduralmente, o basado en condiciones lógicas en
+            la aplicación.
         </para>
 
     </sect2>
@@ -67,7 +67,7 @@
 
         <para>
             Puedes crear un a instancia del objeto Zend_Db_Select usando el método
-			<code>select()</code> de un objeto Zend_Db_Adapter_Abstract.
+            <code>select()</code> de un objeto Zend_Db_Adapter_Abstract.
         </para>
 
         <example id="zend.db.select.creating.example-db">
@@ -83,8 +83,8 @@ $select = $db->select();
         </example>
 
         <para>
-            Otra manera de crear el objeto Zend_Db_Select es con su constructor, 
-			especificando el adaptador de base de datos como un argumento.
+            Otra manera de crear el objeto Zend_Db_Select es con su constructor,
+            especificando el adaptador de base de datos como un argumento.
         </para>
 
         <example id="zend.db.select.creating.example-new">
@@ -106,7 +106,7 @@ $select = new Zend_Db_Select($db);
         <title>Construyendo consultas Select</title>
 
         <para>Cuando se construye una consulta, puede agregar clausulas a esta, una por una.
-			Hay un método separado para agregar cada al objeto Zend_Db_Select.</para>
+            Hay un método separado para agregar cada al objeto Zend_Db_Select.</para>
 
         <example id="zend.db.select.building.example">
 
@@ -130,8 +130,8 @@ $select->order( ...specify sorting criteria... );
         </example>
 
         <para>También puede utilizar la mayoría de los métodos del objeto Zend_Db_Select con una 
-			interfaz fluida. Una interfaz fluida significa que cada método retorna una referencia
-			al objeto que se ha llamado, así puedes llamar inmediatamente a otro método.</para>
+            interfaz fluida. Una interfaz fluida significa que cada método retorna una referencia
+            al objeto que se ha llamado, así puedes llamar inmediatamente a otro método.</para>
 
         <example id="zend.db.select.building.example-fluent">
 
@@ -148,19 +148,19 @@ $select = $db->select()
         </example>
 
         <para>Los ejemplos en esta sección muestran el uso de la interfaz fluída, pero también
-			puedes usar la interfaz no-fluída en todos los casos. A menudo es necesario
-			utilizar la interfaz no-fluída, por ejemplo, si su aplicación necesita realizar
-			cierta lógica antes de añadir una cláusula a la consulta.</para>
+            puedes usar la interfaz no-fluída en todos los casos. A menudo es necesario
+            utilizar la interfaz no-fluída, por ejemplo, si su aplicación necesita realizar
+            cierta lógica antes de añadir una cláusula a la consulta.</para>
 
         <sect3 id="zend.db.select.building.from">
 
             <title>Agregando una cláusula FROM</title>
 
             <para>
-				Especifica la tabla para esta consulta usando el método <code>from()</code>.
-				Puedes especificar el nombre de la tabla  como un simple string. Zend_Db_Select
-				aplica el identificador entrecomillando el nombre de la tabla, así puedes 
-				usar caracteres especiales.
+                Especifica la tabla para esta consulta usando el método <code>from()</code>.
+                Puedes especificar el nombre de la tabla  como un simple string. Zend_Db_Select
+                aplica el identificador entrecomillando el nombre de la tabla, así puedes
+                usar caracteres especiales.
             </para>
 
             <example id="zend.db.select.building.from.example">
@@ -181,12 +181,12 @@ $select = $db->select()
 
             <para>
                 Puedes especificar un nombre correlacionado (también llamado a veces
-				"alias de tabla") para una tabla. En lugar de un simple string, se usa un 
-				array asociativo que mapee el nombre de la correlación con el nombre de la tabla.
-				En otras cláusulas de consulta SQL, se usa esta correlación de nombre.
-				si su consulta se une con más de una tabla, Zend_Db_Select generatiza una
-				correlación unica de nombres basados en el nombre de la tabla, para una tabla
-				a la cual no se le espicifique un nombre correlacionado.
+                "alias de tabla") para una tabla. En lugar de un simple string, se usa un
+                array asociativo que mapee el nombre de la correlación con el nombre de la tabla.
+                En otras cláusulas de consulta SQL, se usa esta correlación de nombre.
+                si su consulta se une con más de una tabla, Zend_Db_Select generatiza una
+                correlación unica de nombres basados en el nombre de la tabla, para una tabla
+                a la cual no se le espicifique un nombre correlacionado.
             </para>
 
             <example id="zend.db.select.building.from.example-cname">
@@ -206,13 +206,13 @@ $select = $db->select()
             </example>
 
             <para>
-                Algunos RDBMS apoyan el uso de un especificador de esquema para una tabla. 
-				Puedes especificar el nombre de la tabla como 
-				"<code>nombreDeEsquema.nombre DeTabla</code>", donde Zend_Db_Select entrecomillará
-                cada parte individualmente, o tambien puedes especificar el nombre de esquema 
-				por separado. Un nombre de esquema especificado en el nombre de la tabla toma
-				precedencia en sobre un esquema dado por separado en el caso de que ambos 
-				sean dados.
+                Algunos RDBMS apoyan el uso de un especificador de esquema para una tabla.
+                Puedes especificar el nombre de la tabla como
+                "<code>nombreDeEsquema.nombre DeTabla</code>", donde Zend_Db_Select entrecomillará
+                cada parte individualmente, o tambien puedes especificar el nombre de esquema
+                por separado. Un nombre de esquema especificado en el nombre de la tabla toma
+                precedencia en sobre un esquema dado por separado en el caso de que ambos
+                sean dados.
             </para>
 
             <example id="zend.db.select.building.from.example-schema">
@@ -243,32 +243,32 @@ $select = $db->select()
             <title>Agregando Columnas</title>
 
             <para>
-                En el segundo argumento del método <code>from()</code>, puedes especificar 
-				las columnas a seleccionar desde la respectiva tabla.
-                Si no especificas columns, por defecto será "<code>*</code>", 
-				el comodín SQL para "todas las columnas".
+                En el segundo argumento del método <code>from()</code>, puedes especificar
+                las columnas a seleccionar desde la respectiva tabla.
+                Si no especificas columns, por defecto será "<code>*</code>",
+                el comodín SQL para "todas las columnas".
             </para>
 
             <para>
                 Puedes listar las columnas en un simple array de strings, o en un
-				array asociativo mapeando los alias de columnas a su nombre de tabla.
-				Si solo se especifica una columna en la consulta y no necesitas especificar un
-				alias de columna, puedes listarla solo con un string plano de lugar de un array.
+                array asociativo mapeando los alias de columnas a su nombre de tabla.
+                Si solo se especifica una columna en la consulta y no necesitas especificar un
+                alias de columna, puedes listarla solo con un string plano de lugar de un array.
             </para>
 
             <para>
                 Si se entrega un array vacío como el argumento de las tablas, no se incluirán
-				columnas en el resultado. Vea un 
+                columnas en el resultado. Vea un
                 <link linkend="zend.db.select.building.join.example-no-columns">codigo de ejemplo</link>
                 bajo la sección del método <code>join()</code>.
             </para>
 
             <para>
-                Puedes especificar el nombre de columna como 
-				"<code>nombreCorrelacionado.nombreDeColumna</code>".
-                Zend_Db_Select entrecomullará cada parte individualmente. Si no especificas 
-				un nombre correlacionado para una columna, se usará el nombre correlacionado
-				para la tabla nombrada en el actual método <code>from()</code>.
+                Puedes especificar el nombre de columna como
+                "<code>nombreCorrelacionado.nombreDeColumna</code>".
+                Zend_Db_Select entrecomullará cada parte individualmente. Si no especificas
+                un nombre correlacionado para una columna, se usará el nombre correlacionado
+                para la tabla nombrada en el actual método <code>from()</code>.
             </para>
 
             <example id="zend.db.select.building.columns.example">
@@ -329,7 +329,7 @@ $select = $db->select()
                 <para>
                     El Uso de Zend_Db_Expr para nombres de columnas no es necesario si
                     la expresión de la columna contiene parentesis; Zend_Db_Select reconoce
-                    y trata el string como expresión, saltándose el entrcomillado y la 
+                    y trata el string como expresión, saltándose el entrcomillado y la
                     correlación de nombres.
                 </para>
 
@@ -383,11 +383,11 @@ $select = $db->select()
             </para>
 
             <para>
-                Si el nombre de su columna es alguna palabra reservada de SQL o 
-                contiene caracteres especiales, debería usar el método 
-                <code>quoteIdentifier()</code> del Adapdator e interpolar el resultado en un 
+                Si el nombre de su columna es alguna palabra reservada de SQL o
+                contiene caracteres especiales, debería usar el método
+                <code>quoteIdentifier()</code> del Adapdator e interpolar el resultado en un
                 string. El método <code>quoteIdentifier()</code> usa entrecomillado SQL para
-                delimitar el identificador, 
+                delimitar el identificador,
                 the identifier, dejando en claro que es un identificador de tabla o columna y no
                 otra parte de la sintaxis SQL.
             </para>
@@ -408,7 +408,7 @@ $select = $db->select()
                 <title>Ejemplo de entrecomillado de columnas en una expresión</title>
 
                 <programlisting role="php"><![CDATA[
-// Construye esta consulta, entrecomillando el nombre 
+// Construye esta consulta, entrecomillando el nombre
 // especial de la columna llamada "from" en la expresión:
 //   SELECT p."from" + 10 AS origin
 //   FROM "products" AS p
@@ -432,9 +432,9 @@ $select = $db->select()
             <para>
                 Puede haber casos en los que desea agregar columnas a una tabla FROM o JOIN
                 después de que estos métodos han sido llamados. El método <code>columns()</code>
-                permite agregar columnas en cualquier punto antes de ejecutar la consulta. 
+                permite agregar columnas en cualquier punto antes de ejecutar la consulta.
                 Puedes pasar las columnas bien como un string, un <code>Zend_Db_Expr</code> o
-                un array de estos elementos. El segundo argumento para este método puede ser omitido, 
+                un array de estos elementos. El segundo argumento para este método puede ser omitido,
                 implicando que las columnas serán agregadas a una tabla FROM, en otro caso
                 debería usarse un nombre de correlación existente.
             </para>
@@ -471,7 +471,7 @@ $select = $db->select()
             <title>Agregar Otra Tabla a la Consulta Query con JOIN</title>
 
             <para>
-                Muchas consultas útiles involucran el uso de un <code>JOIN</code> para 
+                Muchas consultas útiles involucran el uso de un <code>JOIN</code> para
                 combinar filas de multiples tablas. Puedes agregar tablas a una consulta Zend_Db_Select
                 usando el método <code>join()</code>. Usar este método, es similar
                 al método <code>from()</code>, excepto que puedes especificar una condición de unión
@@ -522,8 +522,8 @@ $select = $db->select()
             </para>
 
             <para>
-                Para no seleccionar columnas de una tabla, use un array vacío para la lista de columnas. 
-                El uso de esto trabaja con el método <code>from()</code> también, pero en general 
+                Para no seleccionar columnas de una tabla, use un array vacío para la lista de columnas.
+                El uso de esto trabaja con el método <code>from()</code> también, pero en general
                 deseará algunas columnas de la tabla primaria en sus consultas, a la vez que no se desean
                 columnas de la tabla unida.
             </para>
@@ -548,7 +548,7 @@ $select = $db->select()
                 </programlisting>
 
                 <para>
-                    Note el array vacío <code>array()</code> en el ejemplo anterior 
+                    Note el array vacío <code>array()</code> en el ejemplo anterior
                     en lugar de una lista de columnas de la tabla unida.
                 </para>
 
@@ -569,7 +569,7 @@ $select = $db->select()
 
                     <para>
                         Esta es el tipo de unión más comun. Las filas de cada tabla son comparadas
-                        usando la condición de unión especificada. El resultado incluye solo las filas 
+                        usando la condición de unión especificada. El resultado incluye solo las filas
                         que satisfacen la condición. El resultado puede ser vacio si no hay filas que
                         satisfagan la condición.
                     </para>
@@ -613,7 +613,7 @@ $select = $db->select()
 
                     <para>
                         Algunos RDBMS no soportan'este tipo de join, pero en general, cualquier unión
-                        por la derecha puede representarse por una unión por la derecha invirtiendo 
+                        por la derecha puede representarse por una unión por la derecha invirtiendo
                         el orden de las tablas.
                     </para>
                 </listitem>
@@ -625,10 +625,10 @@ $select = $db->select()
                     </para>
 
                     <para>
-                        Una unión externa total es como una combinación de una unión exterior por 
+                        Una unión externa total es como una combinación de una unión exterior por
                         la izquierda y una unión exterior por la derecha.
                         Todas las filas de ambas tablas son incluídas, vinculadas entre sí
-                        en la  misma fila si estos satisfacen la condición de unión, y en otro 
+                        en la  misma fila si estos satisfacen la condición de unión, y en otro
                         caso se vinculan con valores nulos en lugar de columnas de la otra tabla.
                     </para>
 
@@ -646,9 +646,9 @@ $select = $db->select()
                     <para>
                         Una unión cruzada es un Producto Cartesiano. Cada fila en la primera tabla
                         es pareada con cada una en la segunda tabla.
-                        Por lo tanto, el número de filas en el resultado es igual al producto del 
-                        número de filas en cada tabla. 
-                        Puede filtrar el conjunto de resultados con el uso de condiciones en una 
+                        Por lo tanto, el número de filas en el resultado es igual al producto del
+                        número de filas en cada tabla.
+                        Puede filtrar el conjunto de resultados con el uso de condiciones en una
                         cláusula WHERE; de esta forma una unión cruzada es similar a la antigua
                         sintaxis de unión en SQL-89.
                     </para>
@@ -666,7 +666,7 @@ $select = $db->select()
                     </para>
 
                     <para>
-                        Una unión natural compara cualquier columa(s) que aparezca con el nombre 
+                        Una unión natural compara cualquier columa(s) que aparezca con el nombre
                         en ambas tablas. La comparación es el equivalente de todas las columna(s);
                         comparando las columnas usando desigualdad no es una unión natural.
                         Solo la unión interna natural es soportada por este API, aun cuando SQL
@@ -682,7 +682,7 @@ $select = $db->select()
             <para>
                 Además de los métodos de unión, puedes simplificar las consultas
                 usando métodos JoinUsing. En vez de proveer una condición completa a la unión,
-                simplemente pasas el nombre de columna en la que se hará la uninón y 
+                simplemente pasas el nombre de columna en la que se hará la uninón y
                 el objeto Zend_Db_Select completa la condición por ti.
             </para>
 
@@ -707,7 +707,7 @@ $select = $db->select()
             </example>
 
             <para>
-                Cada uno de los métodos aplicables para uniones en el componente 
+                Cada uno de los métodos aplicables para uniones en el componente
                 Zend_Db_Select tiene su correspondiente método 'usando'.
             </para>
 
@@ -747,7 +747,7 @@ $select = $db->select()
             <para>
                 Puede especificar un criterio para restringir las filas de resultado
                 usando el método <code>where()</code>. El primer argumento de este método
-                es una expresión SQL, y esta expresión es usada como una expresión SQL 
+                es una expresión SQL, y esta expresión es usada como una expresión SQL
                 <code>WHERE</code> en la consulta.
             </para>
 
@@ -787,7 +787,7 @@ $select = $db->select()
 
             <para>
                 Este método acepta solo un parámetro. Si tienes una expresión
-                en la cual necesitas sustituir multiples variables, deberás formar 
+                en la cual necesitas sustituir multiples variables, deberás formar
                 el string manualmente, interpolando variables y realizando entrecomillado
                 tu mismo.
             </para>
@@ -876,7 +876,7 @@ $select = $db->select()
 
             <para>
                 Zend_Db_Select automáticamente pone paréntesis alrededor de cada expresión
-                que especifiques usandp el método <code>where()</code> u <code>orWhere()</code>. 
+                que especifiques usandp el método <code>where()</code> u <code>orWhere()</code>.
                 Esto ayuda a asegurar que la precedencia del operador Booleano no cause resultados
                 inesperados.
             </para>
@@ -908,9 +908,9 @@ $select = $db->select()
 
             <para>
                 En el ejemplo anterior, los resultados deberían ser diferentes sin paréntesis,
-                porque <code>AND</code> tiene alta precedencia respecto a <code>OR</code>. 
-                Zend_Db_Select aplica el parentesis con un efecto tal que la expresión en sucesivas 
-                llamadas al método <code>where()</code> vincule más estrechamente el <code>AND</code> 
+                porque <code>AND</code> tiene alta precedencia respecto a <code>OR</code>.
+                Zend_Db_Select aplica el parentesis con un efecto tal que la expresión en sucesivas
+                llamadas al método <code>where()</code> vincule más estrechamente el <code>AND</code>
                 que combina las expresiones.
             </para>
 
@@ -921,16 +921,16 @@ $select = $db->select()
             <title>Agregando una cláusula GROUP BY</title>
 
             <para>
-                En SQL, la cláusula <code>GROUP BY</code> permite reducir el número 
-                de filas del resultado de una consulta a una fila por cada valor único 
+                En SQL, la cláusula <code>GROUP BY</code> permite reducir el número
+                de filas del resultado de una consulta a una fila por cada valor único
                 encontrado en la(s) columna(s) nombrada(s) en la cláusula
                 <code>GROUP BY</code>.
             </para>
 
             <para>
-                En Zend_Db_Select, puedes especificar la(s) columna(s) a usar para el 
+                En Zend_Db_Select, puedes especificar la(s) columna(s) a usar para el
                 cálculo de grupos de filas usando el método <code>group()</code>.
-                El argumento de este método es una columna o un array de columnas 
+                El argumento de este método es una columna o un array de columnas
                 que se usarán en la cláusula <code>GROUP BY</code>.
             </para>
 
@@ -972,7 +972,7 @@ $select = $db->select()
 
             <para>
                 En SQL, la cláusula <code>HAVING</code> aplica una condición de restricción
-                en grupos de filas. Es similar a una cláusula <code>WHERE</code> 
+                en grupos de filas. Es similar a una cláusula <code>WHERE</code>
                 aplicando una condición de restricción a las filas. Pero las 2 cláusulas
                 son diferentes porque las condiciones <code>WHERE</code>
                 son aplicadas antes que definan los grupos, mientras que las condiciones
@@ -982,7 +982,7 @@ $select = $db->select()
             <para>
                 En Zend_Db_Select, puedes especificar condiciones para restringir
                 grupos usando el método <code>having()</code>. Su uso es similar al
-                del método <code>where()</code>. El primer agumento es un string 
+                del método <code>where()</code>. El primer agumento es un string
                 conteniendo una expresión SQL. El segundo argumento es un valor
                 que es usado para reemplazar un parámetro marcador de posición en la
                 expresión SQL. Las expresiones dadas en multiples invocaciones al método
@@ -1035,7 +1035,7 @@ $select = $db->select()
 
             <para>
                 En SQL, la cláusula <code>ORDER BY</code> especifica una o más
-                columnas o expresiones por el cual el resultado de la consulta 
+                columnas o expresiones por el cual el resultado de la consulta
                 será ordenado. Si multiples columnas son listadas, las columnas secundarias
                 serán usadas para resolver relaciones; el orden de clasificación es determinado
                 por columnas secundarias si la columna anterior contiene valores identicos.
@@ -1045,9 +1045,9 @@ $select = $db->select()
             </para>
 
             <para>
-                En Zend_Db_Select, puedes usar el método el método <code>order()</code> 
+                En Zend_Db_Select, puedes usar el método el método <code>order()</code>
                 para especificar una columna o un array de columnas por el cual ordenar.
-                Cada elemento del array es un string nombrando la columna. Opcionalmente con la 
+                Cada elemento del array es un string nombrando la columna. Opcionalmente con la
                 palabra reservada <code>ASC</code> o <code>DESC</code> siguiendola, deparada
                 por un espacio.
             </para>
@@ -1094,8 +1094,8 @@ $select = $db->select()
                 Algunos RDBMS extienden una consulta SQL con una cláusula conocida como <code>LIMIT</code>.
                 Esta cláusuala reduce el número de filas en el resultado a no más de un número
                 especificado. También puedes especificar saltar el número de filas antes
-                de empezar la salida. Esta característica hace más fácil tomar un subconjunto de 
-                resultados, por ejemplo cuando mostramos los resultados de una consulta en 
+                de empezar la salida. Esta característica hace más fácil tomar un subconjunto de
+                resultados, por ejemplo cuando mostramos los resultados de una consulta en
                 progresivas páginas de salida.
             </para>
 
@@ -1127,7 +1127,7 @@ $select = $db->select()
             <note>
 
                 <para>
-                    La sintaxis de <code>LIMIT</code> no está soportada por todos los RDBMS brands. 
+                    La sintaxis de <code>LIMIT</code> no está soportada por todos los RDBMS brands.
                     Algunos RDBMS requieren diferente sintaxis para soportar una funcionalidad simialr.
                     Cada clase Zend_Db_Adapter_Abstract incluye un método
                     para producir el SQL apropiado para cada RDBMS.
@@ -1173,7 +1173,7 @@ $select = $db->select()
             <title>Agregar el modificador DISTINCT a la consulta</title>
 
             <para>
-                El método <code>distinct()</code> permite agregar la palabra 
+                El método <code>distinct()</code> permite agregar la palabra
                 clave a la consulta <code>DISTINCT</code> a su consulta SQL.
             </para>
 
@@ -1201,7 +1201,7 @@ $select = $db->select()
             <title>Agregar el modificador FOR UPDATE</title>
 
             <para>
-                El método <code>forUpdate()</code> permite agregar el modificador 
+                El método <code>forUpdate()</code> permite agregar el modificador
                 <code>FOR UPDATE</code> a su consulta SQL.
             </para>
 
@@ -1300,7 +1300,7 @@ $result = $stmt->fetchAll();
             <title>Convertiendo un Objeto Select a un String SQL</title>
 
             <para>
-                Si necesitas acceder a una represantación en un string de la 
+                Si necesitas acceder a una represantación en un string de la
                 consulta SQL correspondiente al objeto Zend_Db_Select,
                 use el método <code>__toString()</code>.
             </para>
@@ -1332,7 +1332,7 @@ echo "$sql\n";
         <title>Otros Métodos</title>
 
         <para>
-            Esta sección describe otros métodos de Zend_Db_Select que no han 
+            Esta sección describe otros métodos de Zend_Db_Select que no han
             sido cubiertos antes: <code>getPart()</code> y <code>reset()</code>.
         </para>
 
@@ -1341,28 +1341,28 @@ echo "$sql\n";
             <title>Obtener Partes de un Objeto Select</title>
 
             <para>
-                El método <code>getPart()</code> retorna una representación de 
-                una parte de su consulta SQL. Por ejemplo, puedes usar este 
-                método para retornar un array de expresiones para la cláusula 
-                <code>WHERE</code>, o el array de columnas (o expresiones de 
-                columnas) que estan en la lista del <code>SELECT</code>, o los 
-                valores de la cantidad y comienzo para la cláusula 
+                El método <code>getPart()</code> retorna una representación de
+                una parte de su consulta SQL. Por ejemplo, puedes usar este
+                método para retornar un array de expresiones para la cláusula
+                <code>WHERE</code>, o el array de columnas (o expresiones de
+                columnas) que estan en la lista del <code>SELECT</code>, o los
+                valores de la cantidad y comienzo para la cláusula
                 <code>LIMIT</code>.
             </para>
 
             <para>
                 El valor de retorno no es un string conteniendo un fragmento
-                de la sintaxis SQL. El valor de retorno es una representación, 
-                típicamente un array con una estructura que contiene valores y 
-                expresiones. Cada parte de la consulta tiene una estructura 
+                de la sintaxis SQL. El valor de retorno es una representación,
+                típicamente un array con una estructura que contiene valores y
+                expresiones. Cada parte de la consulta tiene una estructura
                 diferente.
             </para>
 
             <para>
-                El único argumento del método <code>getPart()</code> es un 
-                string que identifica que parte del la consulta Select va a 
+                El único argumento del método <code>getPart()</code> es un
+                string que identifica que parte del la consulta Select va a
                 retornar. Por ejemplo, el string <code>'from'</code> identifica
-                la parte del objeto Select que almacena la información de las 
+                la parte del objeto Select que almacena la información de las
                 tablas de la cláusula <code>FROM</code>, incluyendo uniones de
                 tablas.
             </para>
@@ -1370,7 +1370,7 @@ echo "$sql\n";
             <para>
                 La clase Zend_Db_Select define constantes que puedes usar para
                 las partes de la consulta SQL.
-                Puedes usar estas definiciones de constantes, o los strings 
+                Puedes usar estas definiciones de constantes, o los strings
                 literales.
             </para>
 
@@ -1470,23 +1470,23 @@ print_r( $orderData );
             <title>Restableciendo Partes de un Objeto</title>
 
             <para>
-                El método <code>reset()</code> permite limpiar una parte 
+                El método <code>reset()</code> permite limpiar una parte
                 específica de la consulta SQL, o limpia todas las partes de la
                 consulta SQL si omites el argumento.
             </para>
 
             <para>
-                El argumento es opcional. Puedes especificar la parte de la 
+                El argumento es opcional. Puedes especificar la parte de la
                 consulta que será limpiada, usando los mismos strings que usa el
-                argumento del método <code>getPart()</code>. La parte de la 
-                consulta que especifiques se reestablecerá a su estado por 
+                argumento del método <code>getPart()</code>. La parte de la
+                consulta que especifiques se reestablecerá a su estado por
                 omisión.
             </para>
 
             <para>
-                Si omites el parámetro, <code>reset()</code> cambia todas las 
+                Si omites el parámetro, <code>reset()</code> cambia todas las
                 partes de la consulta a su estado por omisión. Esto hace que
-                el objeto Zend_Db_Select sea equivalente a crear un nuevo 
+                el objeto Zend_Db_Select sea equivalente a crear un nuevo
                 objeto, como si acabases de instanciarlo.
             </para>
 
@@ -1509,7 +1509,7 @@ $select = $db->select()
 //   FROM "products" AS p
 //   ORDER BY "product_id"
 
-// Limpia una parte para poder redefinirla 
+// Limpia una parte para poder redefinirla
 $select->reset( Zend_Db_Select::ORDER );
 
 // Y especificar una columna diferente

+ 52 - 52
documentation/manual/es/module_specs/Zend_Db_Statement.xml

@@ -3,11 +3,11 @@
     <title>Zend_Db_Statement</title>
 
     <para>
-        Además de algunos métodos convenientes tales como 
+        Además de algunos métodos convenientes tales como
         <code>fetchAll()</code> e <code>insert()</code> documentados en
         <xref linkend="zend.db.adapter" />, puede usarse un objeto de declaración
-        para obtener más opciones al ejecutar consultas y devolver conjuntos de 
-        resultados. Esta sección describe cómo obtener una instancia de un 
+        para obtener más opciones al ejecutar consultas y devolver conjuntos de
+        resultados. Esta sección describe cómo obtener una instancia de un
         objeto de declaración y como usar sus métodos.
     </para>
 
@@ -22,11 +22,11 @@
 
         <para>
             Típicamente, un objeto de declaración statement es devuelto por el
-            método <code>query()</code> de la clase de Adaptador de la base de 
+            método <code>query()</code> de la clase de Adaptador de la base de
             datos.
             Este método es un modo general de preparar una declaración SQL.
             El primer parámetro es un string conteniendo la declaración SQL.
-            El segundo parámetro (opcional) es un array de valores para 
+            El segundo parámetro (opcional) es un array de valores para
             vincular posiciones de parámetros en el string SQL.
         </para>
 
@@ -42,19 +42,19 @@ $stmt = $db->query(
         </example>
 
         <para>
-            El objeto de declaración corresponde a una declaración SQL que ha 
-            sido preparada, y ejecutada una vez con valores vinculados 
+            El objeto de declaración corresponde a una declaración SQL que ha
+            sido preparada, y ejecutada una vez con valores vinculados
             especificados.
             Si la declaración fue una consulta SELECT u otro tipo de declaración
-            que devuelve un conjunto de resultados, ahora estará lista para 
+            que devuelve un conjunto de resultados, ahora estará lista para
             extraer resultados.
         </para>
 
         <para>
-            Puede crear una declaración con su constructor, pero este es un 
+            Puede crear una declaración con su constructor, pero este es un
             uso menos típico. No hay un método factory para crear el objeto,
             así que es necesario cargar una clase de declaración específica y llamar a su constructor.
-            Pase el objeto Adaptador como el primer parámetro, y un string 
+            Pase el objeto Adaptador como el primer parámetro, y un string
             conteniendo la declaración SQL como el segundo parámetro.
             La declaración es preparada pero no ejecutada.
         </para>
@@ -76,15 +76,15 @@ $stmt = new Zend_Db_Statement_Mysqli($db, $sql);
         <title>Ejecutando la declaración</title>
 
         <para>
-            Necesita ejecutar un objeto de declaración si lo crea con el 
+            Necesita ejecutar un objeto de declaración si lo crea con el
             constructor, o si desea ejecutar la misma declaración varias veces.
-            Use el método <code>execute()</code> del mismo objeto de 
-            declaración. El único parámetro es un array de valores a vincular a 
+            Use el método <code>execute()</code> del mismo objeto de
+            declaración. El único parámetro es un array de valores a vincular a
             posiciones de parámetros en la declaración.
         </para>
 
         <para>
-            Si usa <emphasis>parámetros posicionales</emphasis>, o los que 
+            Si usa <emphasis>parámetros posicionales</emphasis>, o los que
             están marcados por un signo de interrogación (<code>?</code>), pase
             los valores de vinculación en un array plano.
         </para>
@@ -103,9 +103,9 @@ $stmt->execute(array('goofy', 'FIXED'));
 
         <para>
             Si usa <emphasis>parámetros nombrados</emphasis>, o los que son
-            indicados por un string identificador precedido por un caracter de 
+            indicados por un string identificador precedido por un caracter de
             dos puntos (<code>:</code>), pase el valor en un array asociativo.
-            Las claves de este array deben coincidir con el nombre de los 
+            Las claves de este array deben coincidir con el nombre de los
             parámetros.
         </para>
 
@@ -124,8 +124,8 @@ $stmt->execute(array(':reporter' => 'goofy', ':status' => 'FIXED'));
 
         <para>
             Las declaraciones PDO soportan tanto parámetros posicionales como
-            parámetros nombrados, pero no ambos tipos en la misma declaración 
-            SQL. Algunas clases Zend_Db_Statement para extensiones no-PDO 
+            parámetros nombrados, pero no ambos tipos en la misma declaración
+            SQL. Algunas clases Zend_Db_Statement para extensiones no-PDO
             soportan solo un tipo de parámetro o el otro.
         </para>
 
@@ -138,14 +138,14 @@ $stmt->execute(array(':reporter' => 'goofy', ':status' => 'FIXED'));
         <para>
             Puede llamar a métodos del objeto de declaración para obtener filas
             desde declaraciones SQL que producen conjuntos de resultados.
-            
-            SELECT, SHOW, DESCRIBE y EXPLAIN son ejemplos de declaraciones que 
+
+            SELECT, SHOW, DESCRIBE y EXPLAIN son ejemplos de declaraciones que
             producen un conjunto de resultados.
             INSERT, UPDATE, and DELETE son ejemplo de declaraciones que
             no producen un conjunto de resultados.
-            
-            Puede ejecutar las últimas declaraciones de SQL usando 
-            Zend_Db_Statement, pero no puede llamar a los métodos que extraen 
+
+            Puede ejecutar las últimas declaraciones de SQL usando
+            Zend_Db_Statement, pero no puede llamar a los métodos que extraen
             filas de resultados desde este.
         </para>
 
@@ -154,7 +154,7 @@ $stmt->execute(array(':reporter' => 'goofy', ':status' => 'FIXED'));
             <title>Extrayendo una Fila Simple desde un Conjunto de Resultados</title>
 
             <para>
-                Para extraer una fila desde el conjunto de resultados, 
+                Para extraer una fila desde el conjunto de resultados,
                 use el método <code>fetch()</code> del objeto de declaración.
                 Los tres parámetros de este método son opcionales:
             </para>
@@ -162,11 +162,11 @@ $stmt->execute(array(':reporter' => 'goofy', ':status' => 'FIXED'));
             <itemizedlist>
                 <listitem>
                     <para>
-                        <emphasis role="strong">Estilo de Extracción</emphasis> 
-                        es el primer parámetro.  Éste controla la estructura 
+                        <emphasis role="strong">Estilo de Extracción</emphasis>
+                        es el primer parámetro.  Éste controla la estructura
                         en la que será devuelta la fila.
                         Vea <xref linkend="zend.db.adapter.select.fetch-mode" />
-                        para la descripción de un valor válido los 
+                        para la descripción de un valor válido los
                         correspondientes formatos de datos.
                     </para>
                 </listitem>
@@ -174,8 +174,8 @@ $stmt->execute(array(':reporter' => 'goofy', ':status' => 'FIXED'));
                     <para>
                         <emphasis role="strong">Orientación del Cursor</emphasis>
                         es el segundo parámetro. Por omisión es
-                        Zend_Db::FETCH_ORI_NEXT, lo cual simplemente significa 
-                        que cada llamada a <code>fetch()</code> devuelve la 
+                        Zend_Db::FETCH_ORI_NEXT, lo cual simplemente significa
+                        que cada llamada a <code>fetch()</code> devuelve la
                         siguiente fila del resultado, en el orden devuelto por
                         el RDBMS.
                     </para>
@@ -185,10 +185,10 @@ $stmt->execute(array(':reporter' => 'goofy', ':status' => 'FIXED'));
                         <emphasis role="strong">Compensación</emphasis> es el
                         tercer parámetro.
                         Si la orientación del cursor es Zend_Db::FETCH_ORI_ABS,
-                        entonces el offset es el número ordinal 
+                        entonces el offset es el número ordinal
                         de las filas que devolver.
                         Si la orientación del cursor es Zend_Db::FETCH_ORI_REL,
-                        entonces el offset es relativo a la posición del 
+                        entonces el offset es relativo a la posición del
                         cursor antes de que <code>fetch()</code> fuera llamado.
                     </para>
                 </listitem>
@@ -222,13 +222,13 @@ while ($row = $stmt->fetch()) {
             <title>Extrayendo un Conjunto de Resultados completo</title>
 
             <para>
-                Para extraer todas las filas de un resultado en un solo paso, 
+                Para extraer todas las filas de un resultado en un solo paso,
                 use el método <code>fetchAll()</code>. Esto es equivalente a
-                llamar al método <code>fetch()</code> en un bucle devolviendo 
+                llamar al método <code>fetch()</code> en un bucle devolviendo
                 todas las filas en una array. El método <code>fetchAll()</code>
-                acepta 2 parámetros.  El primero es el estilo de extracción, 
-                descrito anteriormente, y el segundo indica el número de la 
-                columa que devolver, cuando el estilo de extracción es 
+                acepta 2 parámetros.  El primero es el estilo de extracción,
+                descrito anteriormente, y el segundo indica el número de la
+                columa que devolver, cuando el estilo de extracción es
                 Zend_Db::FETCH_COLUMN.
             </para>
 
@@ -255,13 +255,13 @@ echo $rows[0]['bug_description'];
             <title>Cambiando el Modo de extracción</title>
 
             <para>
-                Por defecto, el objeto de declaración devuelve filas de un 
-                conjunto de resultados como array asociativo, mapeando los 
+                Por defecto, el objeto de declaración devuelve filas de un
+                conjunto de resultados como array asociativo, mapeando los
                 nombres de columnas a los valores de la columna.
-                Se puede especificar un formato diferente para que la clase de 
+                Se puede especificar un formato diferente para que la clase de
                 declaración devuelva las filas, tal como se puede con la clase
-                Adaptadora. Puede usar él método <code>setFetchMode()</code> 
-                para establecer el modo de extracción. Especifique el modo de 
+                Adaptadora. Puede usar él método <code>setFetchMode()</code>
+                para establecer el modo de extracción. Especifique el modo de
                 extracción usando las constantes de la clase
                 Zend_Db: FETCH_ASSOC, FETCH_NUM, FETCH_BOTH,
                 FETCH_COLUMN, and FETCH_OBJ.
@@ -297,21 +297,21 @@ echo $rows[0][0];
             <title>Extrayendo una Única Columna desde un Conjunto de Resultados</title>
 
             <para>
-                Para devolver una única columna de la siguiente fila del 
-                conjunto de resultados, use <code>fetchColumn()</code>. El 
-                parámetro opcional es el índice de la columna (integer), y por 
-                defecto es 0.  Este método devuelve un valor escalar, o 
+                Para devolver una única columna de la siguiente fila del
+                conjunto de resultados, use <code>fetchColumn()</code>. El
+                parámetro opcional es el índice de la columna (integer), y por
+                defecto es 0.  Este método devuelve un valor escalar, o
                 <code>false</code> si todas las filas del conjunto de resultados
                 han sido extraídas.
             </para>
 
             <para>
-                Note que este método opera diferente que el método 
+                Note que este método opera diferente que el método
                 <code>fetchCol()</code> de la clase Adaptadora.
                 El método <code>fetchColumn()</code> de una declaración devuelve
                 un único valor desde una fila.
                 El método <code>fetchCol()</code> de un adaptador devuelve un
-                array de valores, tomados desde la primera columa de todas las 
+                array de valores, tomados desde la primera columa de todas las
                 del conjunto de resultados.
             </para>
 
@@ -336,12 +336,12 @@ $bug_status = $stmt->fetchColumn(2);
             <title>Extrayendo una Fila como un Objeto</title>
 
             <para>
-                Para extraer una fila desde un conjunto de resultados 
-                estructurado como un Objeto, use el método 
-                <code>fetchObject()</code>.  Este método tiene 2 parámetros 
+                Para extraer una fila desde un conjunto de resultados
+                estructurado como un Objeto, use el método
+                <code>fetchObject()</code>.  Este método tiene 2 parámetros
                 opcionales. El primer parámetro es un string con el nombre de
-                la clase del objeto que devolver; por defecto será 'stdClass'. El segundo 
-                parámetro es un array de valores que serán pasados al 
+                la clase del objeto que devolver; por defecto será 'stdClass'. El segundo
+                parámetro es un array de valores que serán pasados al
                 constructor de la clase.
             </para>
 

+ 48 - 48
documentation/manual/es/module_specs/Zend_Debug.xml

@@ -1,64 +1,64 @@
 <!-- versión 11089 -->
 <sect1 id="zend.debug.dumping">
 
-	<title>Mostrar información de variables(Dumping Variables)</title>
+    <title>Mostrar información de variables(Dumping Variables)</title>
 
-	<para>
-		El método estático <code>Zend_Debug::dump()</code> imprime o devuelve 
-		información sobre una expresión. Esta sencilla técnica de depuración es 
-		común, porque es fácil de utilizar en caliente y no requiere 
-		inicialización, herramientas especiales, o la depuración del entorno.
-	</para>
+    <para>
+        El método estático <code>Zend_Debug::dump()</code> imprime o devuelve
+        información sobre una expresión. Esta sencilla técnica de depuración es
+        común, porque es fácil de utilizar en caliente y no requiere
+        inicialización, herramientas especiales, o la depuración del entorno.
+    </para>
 
-	<example id="zend.debug.dumping.example">
-		<title>Ejemplo del método dump()</title>
-		<programlisting role="php"><![CDATA[
+    <example id="zend.debug.dumping.example">
+        <title>Ejemplo del método dump()</title>
+        <programlisting role="php"><![CDATA[
 
 Zend_Debug::dump($var, $label=null, $echo=true);
 ]]>
-		</programlisting>
-	</example>
+        </programlisting>
+    </example>
 
-	<para>
-		El argumento <code>$var</code> especifica la expresión o variable sobre 
-		la cual el método <code>Zend_Debug::dump()</code> generará información.
-	</para>
+    <para>
+        El argumento <code>$var</code> especifica la expresión o variable sobre
+        la cual el método <code>Zend_Debug::dump()</code> generará información.
+    </para>
 
-	<para>
-		El argumento boleano <code>$echo</code> especifica si la salida de
-		<code>Zend_Debug::dump()</code> es o no mostrada. Si es 
-		<code>verdadera</code>, la salida es mostrada. A pesar del valor del 
-		argumento <code>$echo</code>, el retorno de este método contiene la 
-		salida.
-	</para>
+    <para>
+        El argumento boleano <code>$echo</code> especifica si la salida de
+        <code>Zend_Debug::dump()</code> es o no mostrada. Si es
+        <code>verdadera</code>, la salida es mostrada. A pesar del valor del
+        argumento <code>$echo</code>, el retorno de este método contiene la
+        salida.
+    </para>
 
-	<para>
-		Puede ser útil comprender que el método <code>Zend_Debug::dump()</code>
-		envuelve la función de PHP 
-		<ulink url="http://php.net/var_dump"><code>var_dump()</code></ulink>. 
-		Si el flujo de salida es detectado como una presentación de la web, la 
-		salida de <code>var_dump()</code> es escapada usando 
-		<ulink url="http://php.net/htmlspecialchars"><code>htmlspecialchars()</code></ulink>
-		y envuelta con el tag (X)HTML <code>pre</code>.
-	</para>
+    <para>
+        Puede ser útil comprender que el método <code>Zend_Debug::dump()</code>
+        envuelve la función de PHP
+        <ulink url="http://php.net/var_dump"><code>var_dump()</code></ulink>.
+        Si el flujo de salida es detectado como una presentación de la web, la
+        salida de <code>var_dump()</code> es escapada usando
+        <ulink url="http://php.net/htmlspecialchars"><code>htmlspecialchars()</code></ulink>
+        y envuelta con el tag (X)HTML <code>pre</code>.
+    </para>
 
-	<tip>
-		<title>Depurando con Zend_Log</title>
-		<para>
-			Usar <code>Zend_Debug::dump()</code> es lo mejor para la depuración 
-			en caliente durante el desarrollo de software. Puede añadir el código para 
-			volcar una variable y después quitar el código fácilmente.
-		</para>
-		<para>
-			También considere el componente <link linkend="zend.log.overview">
-			Zend_Log</link> escribiendo el código de depuración más
-			permanente. Por ejemplo, puede utilizar el nivel de log de
-			<code>DEPURACIÓN</code> y el Stream log writer, para mostrar la 
-			cadena de salida de <code>Zend_Debug::dump()</code>.
-		</para>
-	</tip>
+    <tip>
+        <title>Depurando con Zend_Log</title>
+        <para>
+            Usar <code>Zend_Debug::dump()</code> es lo mejor para la depuración
+            en caliente durante el desarrollo de software. Puede añadir el código para
+            volcar una variable y después quitar el código fácilmente.
+        </para>
+        <para>
+            También considere el componente <link linkend="zend.log.overview">
+            Zend_Log</link> escribiendo el código de depuración más
+            permanente. Por ejemplo, puede utilizar el nivel de log de
+            <code>DEPURACIÓN</code> y el Stream log writer, para mostrar la
+            cadena de salida de <code>Zend_Debug::dump()</code>.
+        </para>
+    </tip>
 
 </sect1>
 <!--
-	vim:se ts=4 sw=4 et:
+    vim:se ts=4 sw=4 et:
 -->

+ 18 - 18
documentation/manual/es/module_specs/Zend_Exception.xml

@@ -1,16 +1,16 @@
 <sect1 id="zend.exception.using">
 
-	<title>Usando Excepciones</title>
+    <title>Usando Excepciones</title>
 
-	<para>
-		Todas las excepciones lanzadas por las clases de Zend Framework
-		deberian arrojar una excepción que deriva de la clase base
-		Zend_Exception.
-	</para>
+    <para>
+        Todas las excepciones lanzadas por las clases de Zend Framework
+        deberian arrojar una excepción que deriva de la clase base
+        Zend_Exception.
+    </para>
 
-	<example id="zend.exception.using.example">
-		<title>Ejemplo de catching de una excepción</title>
-		<programlisting role="php"><![CDATA[
+    <example id="zend.exception.using.example">
+        <title>Ejemplo de catching de una excepción</title>
+        <programlisting role="php"><![CDATA[
 try {
     Zend_Loader::loadClass('clasenoexistente');
 } catch (Zend_Exception $e) {
@@ -19,17 +19,17 @@ try {
     // código para recuperar el fallo.
 }
 ]]>
-		</programlisting>
-	</example>
+        </programlisting>
+    </example>
 
-	<para>
-		Consulte la documentación de cada uno de los componente de Zend
-		Framework para obtener información más específica sobre los
-		métodos que lanzan excepciones, las circunstancias de las
-		excepciones, y qué clases derivan de Zend_Exception.
-	</para>
+    <para>
+        Consulte la documentación de cada uno de los componente de Zend
+        Framework para obtener información más específica sobre los
+        métodos que lanzan excepciones, las circunstancias de las
+        excepciones, y qué clases derivan de Zend_Exception.
+    </para>
 
 </sect1>
 <!--
-	vim:se ts=4 sw=4 et:
+    vim:se ts=4 sw=4 et:
 -->

+ 9 - 9
documentation/manual/es/module_specs/Zend_Form-Advanced.xml

@@ -11,12 +11,12 @@
         <title>Notación de array</title>
 
         <para>
-        	Muchos desarroladores experimentados les gusta agrupar elementos de formulario
-        	usando notación de array en los nombres de elementos. Por ejemplo, si se tiene
-        	dos direcciones que se desea capturar, un envio y una dirección de facturación,
-        	se puede tener elementos identicos; agrupandolos en un array se puede 
-        	asegurar que son capturados por separado. Toma el siguiente fomrulario
-        	por ejemplo:
+            Muchos desarroladores experimentados les gusta agrupar elementos de formulario
+            usando notación de array en los nombres de elementos. Por ejemplo, si se tiene
+            dos direcciones que se desea capturar, un envio y una dirección de facturación,
+            se puede tener elementos identicos; agrupandolos en un array se puede
+            asegurar que son capturados por separado. Toma el siguiente fomrulario
+            por ejemplo:
         </para>
 
         <programlisting role="html"><![CDATA[
@@ -73,9 +73,9 @@
 </programlisting>
 
         <para>
-        	En este ejemplo, la facturación y la dirección de envío contienen algunos
-        	campos identicos, eso significa uno puede sobre escribir al otro. Nosotros podemos
-        	resolver esta solución usando una notación de array:
+            En este ejemplo, la facturación y la dirección de envío contienen algunos
+            campos identicos, eso significa uno puede sobre escribir al otro. Nosotros podemos
+            resolver esta solución usando una notación de array:
         </para>
 
         <programlisting role="html"><![CDATA[

+ 64 - 64
documentation/manual/es/module_specs/Zend_Form-Decorators.xml

@@ -2,23 +2,23 @@
     <title>Creando un personalizado marcado de formulario usando Zend_Form_Decorator</title>
 
     <para>
-    	Representar un objeto form es completamente opcional -- no está obligado a usar
-    	los métodos <code>Zend_Form</code> render() en absoluto. Sin embargo, si lo hace,
+        Representar un objeto form es completamente opcional -- no está obligado a usar
+        los métodos <code>Zend_Form</code> render() en absoluto. Sin embargo, si lo hace,
         los decoradores se usan para representar distintos objetos form.
     </para>
 
     <para>
-    	Un número arbitrario de decoradores pueden estar junto a cada elemento
-    	(elements, display groups, sub forms o el objeto form por si mismo);
-    	Sin embargo, solo un decorador de un tipo dado puede estar al lado de cada 
-    	elemento. Los decoradores son llamados en el orden en que han sido introducidos. Dependiendo
-    	del decorador, puede reemplazar el contenido que se ha pasado, postponerlo o 
-    	anteponerlo. 
+        Un número arbitrario de decoradores pueden estar junto a cada elemento
+        (elements, display groups, sub forms o el objeto form por si mismo);
+        Sin embargo, solo un decorador de un tipo dado puede estar al lado de cada
+        elemento. Los decoradores son llamados en el orden en que han sido introducidos. Dependiendo
+        del decorador, puede reemplazar el contenido que se ha pasado, postponerlo o
+        anteponerlo.
     </para>
 
     <para>
         El estado del objeto es determinado a través de las opciones de configuración pasadas al constructor
-        o el método decorador <code>setOptions()</code>. Cuando se crean 
+        o el método decorador <code>setOptions()</code>. Cuando se crean
         decoradores mediante funciones <code>addDecorator()</code> o métodos relacionados,
         las opciones pueden ser pasadas como argumentos al método. Esto puese ser usado para
         una ubicación especifica, un separador se usa entre el contenido pasado y el
@@ -26,13 +26,13 @@
     </para>
 
     <para>
-    	Antes de que el <code>render()</code> de cada decorador sea llamado, el
-    	item actual es determinado en el decorador usando <code>setElement()</code>,
+        Antes de que el <code>render()</code> de cada decorador sea llamado, el
+        item actual es determinado en el decorador usando <code>setElement()</code>,
         dando al decorador conocimiento del item representado. Esto permite
         crear decoradores que sólo representan porciones especificas del item
         -- tal como etiquetas, el valor, mensajes de error, etc. Encadenando
         muchos decoradores que representan especificos segmentos, puede construir
-		marcados complejos representando al item entero.
+        marcados complejos representando al item entero.
     </para>
 
     <sect2 id="zend.form.decorators.operation">
@@ -53,26 +53,26 @@
             <listitem><para>
                     <code>placement</code>: La ubicación puede ser cualquiera de los dos 'append' o
                     'prepend' (caso insensitivo) e indica cualquier contenido
-                    pasado a <code>render()</code> será postpuesto o 
+                    pasado a <code>render()</code> será postpuesto o
                     antepuesto respectivamente. En el caso de que el decorador
                     reemplace el contenido, esta configuración es ignorada. La configuración
                     por defecto es adjuntada.
             </para></listitem>
 
             <listitem><para>
-            		<code>separator</code>: El separator es usado entre el 
-            		contenido pasado a <code>render()</code> y el nuevo contenido
-            		generado por el decorador, o entre items generados por el
-            		decorador (ejemplo FormElements usa el separador entre cada
-            		item generado). En el caso que un decorador reemplace el
-            		contenido, esta configuración puede ser ignorada. El valor por defecto
-            		es <code>PHP_EOL</code>.
+                    <code>separator</code>: El separator es usado entre el
+                    contenido pasado a <code>render()</code> y el nuevo contenido
+                    generado por el decorador, o entre items generados por el
+                    decorador (ejemplo FormElements usa el separador entre cada
+                    item generado). En el caso que un decorador reemplace el
+                    contenido, esta configuración puede ser ignorada. El valor por defecto
+                    es <code>PHP_EOL</code>.
             </para></listitem>
         </itemizedlist>
 
         <para>
-        	La interface del decorador especifica los métodos para interactuar con las 
-        	opciones. Esto incluye:
+            La interface del decorador especifica los métodos para interactuar con las
+            opciones. Esto incluye:
         </para>
 
         <itemizedlist>
@@ -98,11 +98,11 @@
         </itemizedlist>
 
         <para>
-        	Decoradores son diseñados para interactuar con varios
+            Decoradores son diseñados para interactuar con varios
             tipos de clases <code>Zend_Form</code>: <code>Zend_Form</code>,
             <code>Zend_Form_Element</code>, <code>Zend_Form_DisplayGroup</code>,
             y todas las clases derivan de ellas. El método
-            <code>setElement()</code> permite determinar el objeto del 
+            <code>setElement()</code> permite determinar el objeto del
             decorador que esta actualmente trabajando con, y <code>getElement()</code>
             es usado para recuperarlo.
         </para>
@@ -122,8 +122,8 @@
         <title>Decoradores estándar</title>
 
         <para>
-        	<code>Zend_Form</code> entrega muchos decoradores estándar; ver
-            <link linkend="zend.form.standardDecorators">el capítulo Decoradores 
+            <code>Zend_Form</code> entrega muchos decoradores estándar; ver
+            <link linkend="zend.form.standardDecorators">el capítulo Decoradores
             estándar</link> para detalles.
         </para>
     </sect2>
@@ -132,12 +132,12 @@
         <title>Decoradores personalizados</title>
 
         <para>
-        	Si encuentra que sus necesidades son complejas o necesita una enorme
-        	personalización, debería considerar crear un decorador personalizado.
+            Si encuentra que sus necesidades son complejas o necesita una enorme
+            personalización, debería considerar crear un decorador personalizado.
         </para>
 
         <para>
-        	Los decoradores necesitan implementar sólo
+            Los decoradores necesitan implementar sólo
             <code>Zend_Decorator_Interface</code>. La interface especifica lo
             siguiente:
         </para>
@@ -161,17 +161,17 @@ interface Zend_Decorator_Interface
         </programlisting>
 
         <para>
-        	Para hacerlo mas simple, simplemente puede extender
-        	<code>Zend_Decorator_Abstract</code>, el cual implementa todos los métodos
+            Para hacerlo mas simple, simplemente puede extender
+            <code>Zend_Decorator_Abstract</code>, el cual implementa todos los métodos
             excepto <code>render()</code>.
         </para>
 
         <para>
-        	Como ejemplo, digamos que quiere reducir el número de
-        	decoradores que utiliza, y construir un decorador compuesto que se
-        	encargó de renderizar la etiqueta generadora, el elemento, cualquier 
-			mensaje de error, y descripción en un <code>div</code> HTML. 
-			Puede construir como un decorador compuesto como sigue:
+            Como ejemplo, digamos que quiere reducir el número de
+            decoradores que utiliza, y construir un decorador compuesto que se
+            encargó de renderizar la etiqueta generadora, el elemento, cualquier
+            mensaje de error, y descripción en un <code>div</code> HTML.
+            Puede construir como un decorador compuesto como sigue:
         </para>
 
         <programlisting role="php"><![CDATA[
@@ -262,7 +262,7 @@ class My_Decorator_Composite extends Zend_Form_Decorator_Abstract
         </programlisting>
 
         <para>
-        	Puede entonces ubicarlo en el directorio del decorador:
+            Puede entonces ubicarlo en el directorio del decorador:
         </para>
 
         <programlisting role="php"><![CDATA[
@@ -279,8 +279,8 @@ $form->addElementPrefixPath('My_Decorator',
         </programlisting>
 
         <para>
-        	Puede especificar este decorador como compuesto (composite) y adjuntarlo a 
-        	un elemento:
+            Puede especificar este decorador como compuesto (composite) y adjuntarlo a
+            un elemento:
         </para>
 
         <programlisting role="php"><![CDATA[
@@ -290,20 +290,20 @@ $element->setDecorators(array('Composite'));
         </programlisting>
 
         <para>
-        	Mientras este ejemplo mostró cómo crear un decorador que genera
-        	salidas complejas de muchas propiedades de elementos, puede también crear
-        	decoradores que manejen un solo aspecto de un elemento; los decoradores
-        	'Decorator' y 'Label' son excelentes ejemplos para 
-        	esta práctica. Hacerlo le permite mezclar y combinar decoradores para llegar
-        	a complejas salidas -- y también anular aspectos de decoración para 
-        	personalizar sus necesidades.
+            Mientras este ejemplo mostró cómo crear un decorador que genera
+            salidas complejas de muchas propiedades de elementos, puede también crear
+            decoradores que manejen un solo aspecto de un elemento; los decoradores
+            'Decorator' y 'Label' son excelentes ejemplos para
+            esta práctica. Hacerlo le permite mezclar y combinar decoradores para llegar
+            a complejas salidas -- y también anular aspectos de decoración para
+            personalizar sus necesidades.
         </para>
 
         <para>
-        	Por ejemplo, si quiere simplemente desplegar que un error ha ocurrido
-        	cuando validábamos un elemento, pero no desplegar individualmente 
-        	cada uno de los mensajes de error, usted podría crear su propio 
-        	decorador 'Errores':
+            Por ejemplo, si quiere simplemente desplegar que un error ha ocurrido
+            cuando validábamos un elemento, pero no desplegar individualmente
+            cada uno de los mensajes de error, usted podría crear su propio
+            decorador 'Errores':
         </para>
 
         <programlisting role="php"><![CDATA[
@@ -330,8 +330,8 @@ class My_Decorator_Errors
         </programlisting>
 
         <para>
-        	En este ejemplo particular, debido al segmento del decorador final,
-        	'Errors', se combina como <code>Zend_Form_Decorator_Errors</code>,
+            En este ejemplo particular, debido al segmento del decorador final,
+            'Errors', se combina como <code>Zend_Form_Decorator_Errors</code>,
             será generado <emphasis>en lugar de</emphasis> el decorador
             -- significa que no necesitará cambiar ningún decorador para modificar la
             salida. Nombrando sus decoradores después de los decoradores existentes
@@ -344,17 +344,17 @@ class My_Decorator_Errors
         <title>Generando decoradores individuales</title>
 
         <para>
-        	Desde que los decoradores pueden capturar distintos metadatos del elemento o formulario
-        	que ellos decoran, es a menudo útil generar un decorador individual.
-        	Afortunadamente, esta caracteristica es posible inicializando el método
-        	en cada tipo de clase form (forms, sub form, display group,
-        	element).
+            Desde que los decoradores pueden capturar distintos metadatos del elemento o formulario
+            que ellos decoran, es a menudo útil generar un decorador individual.
+            Afortunadamente, esta caracteristica es posible inicializando el método
+            en cada tipo de clase form (forms, sub form, display group,
+            element).
         </para>
 
         <para>
-        	Para hacer eso, simplemente <code>render[DecoratorName]()</code>, cuando
-        	"[DecoratorName]" es el "nombre corto" de su decorador; opcionalmente, 
-			puede pasar en el contenido lo que usted quiera. Por ejemplo:
+            Para hacer eso, simplemente <code>render[DecoratorName]()</code>, cuando
+            "[DecoratorName]" es el "nombre corto" de su decorador; opcionalmente,
+            puede pasar en el contenido lo que usted quiera. Por ejemplo:
         </para>
 
         <programlisting role="php"><![CDATA[
@@ -369,13 +369,13 @@ echo $form->renderHtmlTag('wrap this content');
 ]]></programlisting>
 
         <para>
-        	Si el decorador no existe, una excepción es inicializada.
+            Si el decorador no existe, una excepción es inicializada.
         </para>
 
         <para>
-        	Esto puede ser útil particularmente cuando se genera un formulario con el
-        	decorador ViewScript; cada elemento puede usar sus decoradores adjuntos
-        	para generar contenido, pero con un control minucioso.
+            Esto puede ser útil particularmente cuando se genera un formulario con el
+            decorador ViewScript; cada elemento puede usar sus decoradores adjuntos
+            para generar contenido, pero con un control minucioso.
         </para>
     </sect2>
 </sect1>

+ 186 - 186
documentation/manual/es/module_specs/Zend_Form-Forms.xml

@@ -3,7 +3,7 @@
 
     <para>
         La clase <code>Zend_Form</code> es usada para agregar elementos de
-        formulario, desplegar grupos y subformularios. Éstos pueden ejecutar las 
+        formulario, desplegar grupos y subformularios. Éstos pueden ejecutar las
         siguientes acciones en estos elementos:
     </para>
 
@@ -18,20 +18,20 @@
         </para></listitem>
 
         <listitem><para>
-            Iteración sobre todos los elementos, en el orden en el cual han sido 
+            Iteración sobre todos los elementos, en el orden en el cual han sido
             introducidos o basados en el orden recuperado de cada elemento
         </para></listitem>
 
         <listitem><para>
-            Generando el formulario entero, ya sea por un simple decorador que 
-            ejecuta un muestreo personalizado o por iteración sobre cada 
-            elemento del formulario 
+            Generando el formulario entero, ya sea por un simple decorador que
+            ejecuta un muestreo personalizado o por iteración sobre cada
+            elemento del formulario
         </para></listitem>
     </itemizedlist>
 
     <para>
-        Mientras los formularios creados con <code>Zend_Form</code> pueden ser 
-        complejos, probablemente su mejor uso es para formularios simples; es 
+        Mientras los formularios creados con <code>Zend_Form</code> pueden ser
+        complejos, probablemente su mejor uso es para formularios simples; es
         mejor utilizarlo para desarrollar aplicaciones rápidas y de prototipado.
     </para>
 
@@ -49,8 +49,8 @@ $form = new My_Form()
     </programlisting>
 
     <para>
-        Opcionalmente puede pasarlo en la configuración, la cual será usada para 
-        establecer el estado del objeto, potencialmente así como también crear 
+        Opcionalmente puede pasarlo en la configuración, la cual será usada para
+        establecer el estado del objeto, potencialmente así como también crear
         nuevos elementos:
     </para>
 
@@ -63,29 +63,29 @@ $form = new Zend_Form($config);
     <para>
         <code>Zend_Form</code> es iterable, e iterará sobre elementos, grupos que
         mostrar y subformularios, usando el orden en el cual han sido registrados
-        y en cualquier índice de orden que cada uno pueda tener. Esto es útil 
+        y en cualquier índice de orden que cada uno pueda tener. Esto es útil
         en casos donde desee generar los elementos manualmente en el orden apropiado.
     </para>
 
     <para>
         La magia de <code>Zend_Form</code> radica en la habilidad para servir como
-        fábrica para elementos y grupos, así como también la habilidad de generarse 
+        fábrica para elementos y grupos, así como también la habilidad de generarse
         a sí mismo a través de decoradores.
     </para>
 
     <sect2 id="zend.form.forms.plugins">
         <title>Cargadores de Plugin</title>
         <para>
-            <code>Zend_Form</code> hace uso de 
-            <code>Zend_Loader_PluginLoader</code> para permitir a los 
-            desarroladores especificar la ubicación de elementos y decoradores 
-            alternativos. Cada uno tiene su propio plugin loader asociado, y 
-            métodos de acceso genéricos son usados para recuperar y modificar 
+            <code>Zend_Form</code> hace uso de
+            <code>Zend_Loader_PluginLoader</code> para permitir a los
+            desarroladores especificar la ubicación de elementos y decoradores
+            alternativos. Cada uno tiene su propio plugin loader asociado, y
+            métodos de acceso genéricos son usados para recuperar y modificar
             cada uno.
         </para>
 
         <para>
-            Los siguientes tipos de cargadores son usados con los variados métodos 
+            Los siguientes tipos de cargadores son usados con los variados métodos
             del plugin loader: 'element' y 'decorator'. Los nombres de los tipos
             no distinguen mayúsculas de minúsculas.
         </para>
@@ -97,8 +97,8 @@ $form = new Zend_Form($config);
         <itemizedlist>
             <listitem><para>
                 <code>setPluginLoader($loader, $type)</code>: $loader es el propio
-                objeto plugin loader, mientras $type es uno de los tipos 
-                especificados arriba. Esto establece el plugin loader para el 
+                objeto plugin loader, mientras $type es uno de los tipos
+                especificados arriba. Esto establece el plugin loader para el
                 tipo dado al objeto loader recién especificado.
             </para></listitem>
 
@@ -108,12 +108,12 @@ $form = new Zend_Form($config);
             </para></listitem>
 
             <listitem><para>
-                <code>addPrefixPath($prefix, $path, $type = null)</code>: agrega 
+                <code>addPrefixPath($prefix, $path, $type = null)</code>: agrega
                 una asociación prefijo/ruta al loader especificado por $type. Si
                 $type es nulo, intentará añadir una ruta a todos los loaders,
-                añadiendo el prefijo "_Element" y "_Decorator"; y añadiendo la 
-                ruta con "Element/" y "Decorator/". Si tiene todas sus clases 
-                form element extras bajo una jerarquía común, éste es un método 
+                añadiendo el prefijo "_Element" y "_Decorator"; y añadiendo la
+                ruta con "Element/" y "Decorator/". Si tiene todas sus clases
+                form element extras bajo una jerarquía común, éste es un método
                 coveniente para establecer el prefijo de base para ellas.
             </para></listitem>
 
@@ -125,40 +125,40 @@ $form = new Zend_Form($config);
         </itemizedlist>
 
         <para>
-            Adicionalmente, puede especificar prefijos de rutas para todos los 
-            elementos y mostrar grupos creados a través de una instancia de 
+            Adicionalmente, puede especificar prefijos de rutas para todos los
+            elementos y mostrar grupos creados a través de una instancia de
             <code>Zend_Form</code>  usando los siguientes métodos:
         </para>
 
         <itemizedlist>
             <listitem><para>
                 <code>addElementPrefixPath($prefix, $path, $type = null)</code>:
-                Igual que <code>addPrefixPath()</code>, debe especificar un 
-                prefijo y ruta de clase. <code>$type</code>, cuando se especifica, 
+                Igual que <code>addPrefixPath()</code>, debe especificar un
+                prefijo y ruta de clase. <code>$type</code>, cuando se especifica,
                 tiene que ser uno de los tipos plugin loader especificados por
                 <code>Zend_Form_Element</code>; vea la <link
                     linkend="zend.form.elements.loaders">sección elemento plugins
-                    </link> para más información de valores válidos para 
-                <code>$type</code>. Si <code>$type</code> no es especificado, el 
+                    </link> para más información de valores válidos para
+                <code>$type</code>. Si <code>$type</code> no es especificado, el
                 método asumirá que es un prefijo general para todos los tipos.
             </para></listitem>
 
             <listitem><para>
                 <code>addDisplayGroupPrefixPath($prefix, $path)</code>:
                 Igual que <code>addPrefixPath()</code>, debe especificar un
-                prefijo y ruta de clase; sin embargo, dado que los grupos de visualización (display groups) 
-                sólo soportan decoradores como plugins, <code>$type</code> no es 
+                prefijo y ruta de clase; sin embargo, dado que los grupos de visualización (display groups)
+                sólo soportan decoradores como plugins, <code>$type</code> no es
                 necesario.
             </para></listitem>
         </itemizedlist>
 
         <para>
-            Elementos y decoradores personalizados son una manera fácil de compartir 
+            Elementos y decoradores personalizados son una manera fácil de compartir
             funcionalidad entre formularios y encapsular funcionalidad personalizada.
             Vea el  <link
                 linkend="zend.form.elements.loaders.customLabel">ejemplo de Etiqueta
-                Personalizada</link> en la documentación de elementos para un 
-            ejemplo de cómo elementos personalizados pueden ser usados como 
+                Personalizada</link> en la documentación de elementos para un
+            ejemplo de cómo elementos personalizados pueden ser usados como
             reemplazos para clases estándar.
         </para>
     </sect2>
@@ -166,18 +166,18 @@ $form = new Zend_Form($config);
     <sect2 id="zend.form.forms.elements">
         <title>Elementos</title>
         <para>
-            <code>Zend_Form</code> proporciona varios métodos de acceso para añadir 
-            y eliminar elementos de el formulario. Éstos pueden tomar instancias 
-            de objetos de elemento o servir como fábricas para instanciar el 
+            <code>Zend_Form</code> proporciona varios métodos de acceso para añadir
+            y eliminar elementos de el formulario. Éstos pueden tomar instancias
+            de objetos de elemento o servir como fábricas para instanciar el
             objeto elemento a sí mismo.
         </para>
 
         <para>
             El método más básico para añadir un elemento es
-            <code>addElement()</code>. Este método puede tomar también un objeto 
+            <code>addElement()</code>. Este método puede tomar también un objeto
             de tipo <code>Zend_Form_Element</code> (o de una clase extendiendo
-            <code>Zend_Form_Element</code>), o argumentos para construir un nuevo 
-            elemento -- incluyendo el elemento tipo, nombre y algunas opciones de 
+            <code>Zend_Form_Element</code>), o argumentos para construir un nuevo
+            elemento -- incluyendo el elemento tipo, nombre y algunas opciones de
             configuración.
         </para>
 
@@ -192,7 +192,7 @@ $form->addElement($element);
 
 // Usando una fábrica
 //
-// Crea un elemento de tipo Zend_Form_Element_Text con el 
+// Crea un elemento de tipo Zend_Form_Element_Text con el
 // nombre de 'foo':
 $form->addElement('text', 'foo');
 
@@ -207,7 +207,7 @@ $form->addElement('text', 'foo', array('label' => 'Foo:'));
             <para>
                 <code>addElement()</code> implementa una interfaz fluida; es
                 decir, retorna el objeto <code>Zend_Form</code> y no un
-                elemento. Esto se ha hecho para permitirle encadenar 
+                elemento. Esto se ha hecho para permitirle encadenar
                 multiples métodos addElement() u otros métodos formulario que
                 implementen una interfaz fluida (todos los establecedores en Zend_Form
                 implementan el patrón).
@@ -228,9 +228,9 @@ $form->addElement('text', 'foo', array('label' => 'Foo:'));
         </note>
 
         <para>
-            Una vez que el elemento ha sido añadido al formulario, puede recuperarlo por 
+            Una vez que el elemento ha sido añadido al formulario, puede recuperarlo por
             el nombre. Puede también finalizar usando el método <code>getElement()</code>
-            o usando sobrecarga para acceder al elemento como una propiedad de 
+            o usando sobrecarga para acceder al elemento como una propiedad de
             objeto:
         </para>
 
@@ -244,7 +244,7 @@ $foo = $form->foo;
         </programlisting>
 
         <para>
-            Ocasionalmente, se quiere crear un elemento sin adjuntarlo 
+            Ocasionalmente, se quiere crear un elemento sin adjuntarlo
             al formulario (para instanciar, si se desea hacer uso de las
             rutas de plugin introducidas con el formulario, pero después se desea adjuntar el
             objeto al subformulario). El método <code>createElement()</code>
@@ -263,10 +263,10 @@ $username = $form->createElement('text', 'username');
             <para>
                 Después de validar el formulario, originalmente se necesitará recuperar los
                 valores para poder ejecutar otras operaciones, tal como actualizar una
-                base de datos o notificar un servicio web. Se pueden recuperar todos los valores 
+                base de datos o notificar un servicio web. Se pueden recuperar todos los valores
                 para todos los elementos usando <code>getValues()</code>;
                 <code>getValue($name)</code> le permite recuperar un solo
-                valor del elemento por su nombre:                
+                valor del elemento por su nombre:
             </para>
 
             <programlisting role="php"><![CDATA[
@@ -291,8 +291,8 @@ $form->populate($data);
             </programlisting>
 
             <para>
-                Por otro lado, si se quisera limpiar el formulario antes de llenarlo 
-                o validarlo; se puede realizar usando el 
+                Por otro lado, si se quisera limpiar el formulario antes de llenarlo
+                o validarlo; se puede realizar usando el
                 método <code>reset()</code>:
             </para>
 
@@ -307,8 +307,8 @@ $form->reset();
 
             <para>
                 Ocasionalemnte se necesitarán ciertas operaciones que afecten a todos
-                los elementos. Escenarios comunes incluyen la necesidad de determinar rutas de acceso 
-                al prefijo complemento para todos los elementos, determinando decoradores para todos los elementos y 
+                los elementos. Escenarios comunes incluyen la necesidad de determinar rutas de acceso
+                al prefijo complemento para todos los elementos, determinando decoradores para todos los elementos y
                 determinando filtros para todos los elementos. Como ejemplos:
             </para>
 
@@ -316,7 +316,7 @@ $form->reset();
                 <title>Determinando rutas de acceso de prefijos para todos los elementos</title>
 
                 <para>
-                    Se puede determinar rutas de acceso para prefijos para todos los elementos por tipo, 
+                    Se puede determinar rutas de acceso para prefijos para todos los elementos por tipo,
                     o usando un prefijo global. Como ejemplos:
                 </para>
 
@@ -350,7 +350,7 @@ $form->addElementPrefixPath('My_Foo_Decorator',
                 <para>
                     Se pueden determinar decoradores para todos los elementos.
                     <code>setElementDecorators()</code> acepta una matriz de
-                    decoradores, solo como <code>setDecorators()</code>, y 
+                    decoradores, solo como <code>setDecorators()</code>, y
                     reescribirá cualquier decorador previamente determinado en cada elemento. En
                     este ejemplo, determinamos los decoradores para simplificar una ViewHelper
                     y una Label:
@@ -374,18 +374,18 @@ $form->setElementDecorators(array(
                     <code>setElementDecorators()</code> puede ser un array de
                     nombres de elemento; por defecto, especificar un array de ese tipo
                     determinará los decoradores especificados en esos elementos solamente. Puede
-                    tambien pasar un tercer elemento, una bandera indicando si  
+                    tambien pasar un tercer elemento, una bandera indicando si
                     esta lista de elementos es para propósitos de inclusión o exclusión;
-                    si es falso, decorará todos los elementos 
+                    si es falso, decorará todos los elementos
                     <emphasis>excepto</emphasis> los pasados en la lista,
-                    Como uso estándar del método, cualquier decorador pasado 
+                    Como uso estándar del método, cualquier decorador pasado
                     reescribirá cualquier decorador previamente determinado en cada
                     elemento.
                 </para>
 
                 <para>
                     En el siguiente fragmento, indicamos que queremos los decoradores
-                    ViewHelper y Label para los elementos 
+                    ViewHelper y Label para los elementos
                     'foo' y 'bar':
                 </para>
 
@@ -404,8 +404,8 @@ $form->setElementDecorators(
                 </programlisting>
 
                 <para>
-                    Por otro lado, con este fragmento, indicaremos 
-                    que queremos usar solamente los decoradores 
+                    Por otro lado, con este fragmento, indicaremos
+                    que queremos usar solamente los decoradores
                     ViewHelper y Label para cada elemento <emphasis>excepto</emphasis>
                     los elementos 'foo' y 'bar':
                 </para>
@@ -431,10 +431,10 @@ $form->setElementDecorators(
 
                     <para>
                         Mientras <code>setElementDecorators()</code> puede parecer
-						una buena solución, existen algunos casos donde puede
+                        una buena solución, existen algunos casos donde puede
                         terminar con resultados inesperados, Por ejemplo,
                         los muchos elementos botones (Submit, Button, Reset),
-                        actualmente usan la etiqueta como el valor del botón 
+                        actualmente usan la etiqueta como el valor del botón
                         y sólo usan los decoradores ViewHelper y DtDdWrapper --
                         previniendo una etiqueta adicional, errores, y sugerencias de
                         ser generadas; el ejemplo de arriba podría duplicar algún
@@ -556,19 +556,19 @@ $form->setElementFilters(array('StringTrim'));
 
         <para>
             Los grupos de visualización (display groups) son una manera de crear grupos virtuales de elementos para
-			propósitos de visualización. Todos los elementos quedan accesibles por nombre en el
+            propósitos de visualización. Todos los elementos quedan accesibles por nombre en el
             formulario, pero cuando interactúan o se ejecutan sobre el formulario, cualquiera de los elementos en
-            un grupos de visualización son generados juntos. El caso más común de uso es 
+            un grupos de visualización son generados juntos. El caso más común de uso es
             agrupando los elementos en fieldsets. (TODO)
         </para>
 
         <para>
             La clase base para los grupos de visualización es
-            <code>Zend_Form_DisplayGroup</code>. Mientras puede ser instanciado 
+            <code>Zend_Form_DisplayGroup</code>. Mientras puede ser instanciado
             directamente, es mejor usar el método <code>addDisplayGroup()</code>
-            de la clase<code>Zend_Form</code>. Este método toma un 
-            array de elementos como primer argumento y el nombre para el grupo de 
-			visualización como segundo argumento. Opcionalmente, se puede  pasar en una array
+            de la clase<code>Zend_Form</code>. Este método toma un
+            array de elementos como primer argumento y el nombre para el grupo de
+            visualización como segundo argumento. Opcionalmente, se puede  pasar en una array
             de opciones o en un objeto <code>Zend_Config</code> como tercer argumento.
         </para>
 
@@ -584,7 +584,7 @@ $form->addDisplayGroup(array('username', 'password'), 'login');
         </programlisting>
 
         <para>
-            Puede acceder a los grupos de visualización usando el 
+            Puede acceder a los grupos de visualización usando el
             método <code>getDisplayGroup()</code>, o mediante la sobrecarga usando el
             nombre del grupo de visualización:
         </para>
@@ -635,9 +635,9 @@ $form->addDisplayGroup(
                 <title>Fijando el Prefijo de Ruta del Decorador para todos los Grupos de Visualización</title>
 
                 <para>
-                    Por defecto, los grupos de visualización heredan cualquier 
-					ruta de decorador que use el formulario; sin embargo, si deberían buscar
-					en una ruta alternativa, puede usar el método
+                    Por defecto, los grupos de visualización heredan cualquier
+                    ruta de decorador que use el formulario; sin embargo, si deberían buscar
+                    en una ruta alternativa, puede usar el método
                     <code>addDisplayGroupPrefixPath()</code> method.
                 </para>
 
@@ -653,10 +653,10 @@ $form->addDisplayGroupPrefixPath('My_Foo_Decorator', 'My/Foo/Decorator');
                 <para>
                     Pueden determinarse decoradores para todos los grupos de visualización,
                     <code>setDisplayGroupDecorators()</code> admite un array de
-					decoradores, al igual que <code>setDecorators()</code>, y sobreescribirá
-					cualquier conjunto de decoradores previo en cada grupo de visualización.
-					En este ejemplo, fijamos los decoradores a un fieldset (el decorador FormElements
-					es necesario para asegurar que los elementos son iterador):
+                    decoradores, al igual que <code>setDecorators()</code>, y sobreescribirá
+                    cualquier conjunto de decoradores previo en cada grupo de visualización.
+                    En este ejemplo, fijamos los decoradores a un fieldset (el decorador FormElements
+                    es necesario para asegurar que los elementos son iterador):
                 </para>
 
                 <programlisting role="php"><![CDATA[
@@ -676,9 +676,9 @@ $form->setDisplayGroupDecorators(array(
                 Por defecto, <code>Zend_Form</code> utiliza la clase
                 <code>Zend_Form_DisplayGroup</code> para grupos de visualización.
                 Puede ocurrir que necesite extender esta clase con el fin
-				de obtener una funcionalid personalizada. <code>addDisplayGroup()</code> 
-				no permite pasar una instancia determinada, pero permite especificar
-				la clase que usar como una de sus opciones, usando la clave
+                de obtener una funcionalid personalizada. <code>addDisplayGroup()</code>
+                no permite pasar una instancia determinada, pero permite especificar
+                la clase que usar como una de sus opciones, usando la clave
                 'displayGroupClass':
             </para>
 
@@ -699,8 +699,8 @@ $form->addDisplayGroup(
 
             <para>
                 También puede especificar una clase de grupo de visualización por defecto
-				para usar con el formulario, de forma que todos los grupos de visualización
-				creados con el objeto formulario usen esa clase:
+                para usar con el formulario, de forma que todos los grupos de visualización
+                creados con el objeto formulario usen esa clase:
             </para>
 
             <programlisting role="php"><![CDATA[
@@ -711,8 +711,8 @@ $form->setDefaultDisplayGroupClass('My_DisplayGroup');
 
             <para>
                 Esta funcionalidad puede especificarse en configuraciones como
-                'defaultDisplayGroupClass', y será cargada con antelación para 
-				asegurar que todos los grupos de visualización usen esa clase.
+                'defaultDisplayGroupClass', y será cargada con antelación para
+                asegurar que todos los grupos de visualización usen esa clase.
             </para>
         </sect3>
 
@@ -905,7 +905,7 @@ $form->setDefaultDisplayGroupClass('My_DisplayGroup');
 
         <itemizedlist>
             <listitem><para>
-                Crear grupos de elementos lógicos. Dado que los sub formularios son 
+                Crear grupos de elementos lógicos. Dado que los sub formularios son
                 simplemente formularios, se pueden validar subformularios como entidades individuales.
             </para></listitem>
 
@@ -917,7 +917,7 @@ $form->setDefaultDisplayGroupClass('My_DisplayGroup');
             </para></listitem>
 
             <listitem><para>
-                Agrupaciones de visualización. Como grupos de visualización, los sub formularios, cuando son generados 
+                Agrupaciones de visualización. Como grupos de visualización, los sub formularios, cuando son generados
                 como parte de un formulario más grande, pueden ser usados para agrupar elementos. Sea consciente,
                 de todas maneras, que el objeto formulario principal no tendrá
                 conocimiento de los elementos en un sub formulario.
@@ -925,10 +925,10 @@ $form->setDefaultDisplayGroupClass('My_DisplayGroup');
         </itemizedlist>
 
         <para>
-            Un sub formulario puede ser un objeto <code>Zend_Form</code> o mas 
+            Un sub formulario puede ser un objeto <code>Zend_Form</code> o mas
             originalmente, un objeto <code>Zend_Form_SubForm</code>. éste último
             contiene decoradores apropiados para la inclusión en un formulario extenso (i.e.,
-            no se generan adicionales formulario etiquetas HTML, pero si grupos de 
+            no se generan adicionales formulario etiquetas HTML, pero si grupos de
             elementos). Para adjuntar un sub formulario, simplemente añádalo al formulario y déle
             un nombre:
         </para>
@@ -939,7 +939,7 @@ $form->addSubForm($subForm, 'subform');
         </programlisting>
 
         <para>
-            Se puede recuperar un sub formulario usando ya sea 
+            Se puede recuperar un sub formulario usando ya sea
             <code>getSubForm($name)</code> o sobrecarga usando el nombre
             del sub formulario:
         </para>
@@ -1032,7 +1032,7 @@ $form->setSubFormDecorators(array(
             Mientras la utilidad de un formulario primariamente deriva de los elementos
             que contiene, también pueden contener otros metadatos, como un nombre (usado
             a menudo como ID único en el marcado HTML ); la accion y el método del formulario;
-            el número de elementos, grupos y sub formularios que lo contienen; y 
+            el número de elementos, grupos y sub formularios que lo contienen; y
             arbitrariamente metadatos (usualmente usados para determinar atributos HTML para la
             etiqueta del propio formulario).
         </para>
@@ -1051,9 +1051,9 @@ $name = $form->getName();
         </programlisting>
 
         <para>
-        	Para determinar la acción (url en el cual se envia el formulario) y método (método
-        	por el cual debería enviar, ej. 'POST' or 'GET'), use los accesores acción
-        	y método:
+            Para determinar la acción (url en el cual se envia el formulario) y método (método
+            por el cual debería enviar, ej. 'POST' or 'GET'), use los accesores acción
+            y método:
         </para>
 
         <programlisting role="php"><![CDATA[
@@ -1064,9 +1064,9 @@ $form->setAction('/user/login')
         </programlisting>
 
         <para>
-        	Se puede también especificar el tipo de codificación del fomulario usando el 
-        	enctype accessors. Zend_Form define dos constantes,
-        	<code>Zend_Form::ENCTYPE_URLENCODED</code> y
+            Se puede también especificar el tipo de codificación del fomulario usando el
+            enctype accessors. Zend_Form define dos constantes,
+            <code>Zend_Form::ENCTYPE_URLENCODED</code> y
             <code>Zend_Form::ENCTYPE_MULTIPART</code>, correspondiente a los
             valores 'application/x-www-form-urlencoded' y
             'multipart/form-data', respectivamente; sin embargo, puede configurarlo
@@ -1083,13 +1083,13 @@ $form->setAction('/user/login')
 
         <note>
             <para>
-            	El método, acción y enctype son solo usados internamente para generar,
-            	y no para algún tipo de validación.
+                El método, acción y enctype son solo usados internamente para generar,
+                y no para algún tipo de validación.
             </para>
         </note>
 
         <para>
-        	<code>Zend_Form</code> implementa la interfaz <code>Countable</code>
+            <code>Zend_Form</code> implementa la interfaz <code>Countable</code>
             permitiéndole pasarlo como un argumento para contar:
         </para>
 
@@ -1102,7 +1102,7 @@ $numItems = count($form);
             Determinar metadatos arbitrariamente se realiza a través de los accesores 'atribs'.
             Dado que la sobrecarga en <code>Zend_Form</code> es usada para acceder
             elementos, grupos de visualización y subformularios, este es el único método para
-            acceder a los metadatos. 
+            acceder a los metadatos.
         </para>
 
         <programlisting role="php"><![CDATA[
@@ -1130,25 +1130,25 @@ $form->clearAttribs();
         <title>Decoradores</title>
 
         <para>
-        	Crear el marcado para un formulario es a menudo una tarea que consume mucho tiempo,
-        	particularmente si se planea reusar el mismo marcado para mostrar acciones 
-        	tales como validación de errores, enviar valores, etc.
+            Crear el marcado para un formulario es a menudo una tarea que consume mucho tiempo,
+            particularmente si se planea reusar el mismo marcado para mostrar acciones
+            tales como validación de errores, enviar valores, etc.
             La respuesta de <code>Zend_Form</code> a este problema es los
             <emphasis>decoradores</emphasis>.
         </para>
 
         <para>
-        	Los decoradores para objetos <code>Zend_Form</code> pueden ser usados para generar
-        	un formulario. El decorador FormElements iterará a través de todos los elementos en
-        	un formulario -- elementos, grupos de visualización y subformularios -- y los generará,
-        	devolviendo el resultado. Adicionalmente, los decoradores pueden ser usados 
-        	para envolver el contenido o anteponerlo o postponerlo.	
+            Los decoradores para objetos <code>Zend_Form</code> pueden ser usados para generar
+            un formulario. El decorador FormElements iterará a través de todos los elementos en
+            un formulario -- elementos, grupos de visualización y subformularios -- y los generará,
+            devolviendo el resultado. Adicionalmente, los decoradores pueden ser usados
+            para envolver el contenido o anteponerlo o postponerlo.
         </para>
 
         <para>
-        	Los decoradores por defecto de <code>Zend_Form</code> son FormElements,
-        	HtmlTag (envuelve una lista de definición) y Form; el código equivalente
-        	para crearlos es como sigue:
+            Los decoradores por defecto de <code>Zend_Form</code> son FormElements,
+            HtmlTag (envuelve una lista de definición) y Form; el código equivalente
+            para crearlos es como sigue:
         </para>
 
         <programlisting role="php"><![CDATA[
@@ -1174,17 +1174,17 @@ $form->setDecorators(array(
 </programlisting>
 
         <para>
-        	Algunos de los atributos se determinan en el objeto formulario que será usado como
-        	atributos HTML de la etiqueta <code>&lt;form&gt;</code>.
+            Algunos de los atributos se determinan en el objeto formulario que será usado como
+            atributos HTML de la etiqueta <code>&lt;form&gt;</code>.
         </para>
 
         <note>
             <title>Decoradores por defecto que no necesitan ser cargados</title>
 
             <para>
-            	Por defecto, el decorador por defecto son cargados durante la 
-            	inicialización del objeto. Puede deshabilitarlo pasando la
-            	opción 'disableLoadDefaultDecorators' al constructor:
+                Por defecto, el decorador por defecto son cargados durante la
+                inicialización del objeto. Puede deshabilitarlo pasando la
+                opción 'disableLoadDefaultDecorators' al constructor:
             </para>
 
             <programlisting role="php"><![CDATA[
@@ -1193,8 +1193,8 @@ $form = new Zend_Form(array('disableLoadDefaultDecorators' => true));
             </programlisting>
 
             <para>
-            	Esta opción puede ser combinada con alguna otra opción que usted pueda pasar,
-            	tanto como opciones de array o en un objeto <code>Zend_Config</code>
+                Esta opción puede ser combinada con alguna otra opción que usted pueda pasar,
+                tanto como opciones de array o en un objeto <code>Zend_Config</code>
             </para>
         </note>
 
@@ -1202,18 +1202,18 @@ $form = new Zend_Form(array('disableLoadDefaultDecorators' => true));
             <title>Usando multiples decoradores del mismo tipo</title>
 
             <para>
-            	Internamente, <code>Zend_Form</code> usa una clase decorador
-            	como un mecanismo buscador cuando se recuperan decoradores. Como 
-            	resultado, no se pueden registrar multiples decoradores del mismo
-            	tipo; subsecuentemente los decoradores simplemente sobrescribirán esos
-            	decoradores que existían antes.
+                Internamente, <code>Zend_Form</code> usa una clase decorador
+                como un mecanismo buscador cuando se recuperan decoradores. Como
+                resultado, no se pueden registrar multiples decoradores del mismo
+                tipo; subsecuentemente los decoradores simplemente sobrescribirán esos
+                decoradores que existían antes.
             </para>
 
             <para>
-            	Para conseguir esto, se pueden usar alias. En vez de pasar un
-            	decorador o un nombre de decorador como primer argumento a
+                Para conseguir esto, se pueden usar alias. En vez de pasar un
+                decorador o un nombre de decorador como primer argumento a
                 <code>addDecorator()</code>, pase un array con un solo
-                elemento, con el alias apuntando al objeto decorador o 
+                elemento, con el alias apuntando al objeto decorador o
                 nombre:
             </para>
 
@@ -1227,7 +1227,7 @@ $form = $element->getDecorator('FooBar');
             </programlisting>
 
             <para>
-            	En los métodos <code>addDecorators()</code> y
+                En los métodos <code>addDecorators()</code> y
                 <code>setDecorators()</code>, se necesitará pasar
                 la opción 'decorator' en el array representando el decorador:
             </para>
@@ -1250,11 +1250,11 @@ $fooBar  = $form->getDecorator('FooBar');
         </note>
 
         <para>
-        	Puede crear su propio decorador para generar el formulario. Un 
-        	caso de uso común es si sabe el HTML exacto que desea usar; su
-        	decorador puede crear el mismo HTML y simplemente retornarlo,
-        	potencialmente usando los decoradores de individuales elementos o 
-        	grupos de visualización.
+            Puede crear su propio decorador para generar el formulario. Un
+            caso de uso común es si sabe el HTML exacto que desea usar; su
+            decorador puede crear el mismo HTML y simplemente retornarlo,
+            potencialmente usando los decoradores de individuales elementos o
+            grupos de visualización.
         </para>
 
         <para>
@@ -1318,7 +1318,7 @@ echo $form->renderFieldset("<p>This is fieldset content</p>");
         <title>Validación</title>
 
         <para>
-        	Un caso de uso primario para formularios es validar datos enviados.
+            Un caso de uso primario para formularios es validar datos enviados.
             <code>Zend_Form</code> le permite validar un formulario entero de una vez,
             o una parte de él, asi como también automatizar las respuestas de validación para
             XmlHttpRequests (AJAX). Si los datos enviados no son válidos, contiene
@@ -1339,12 +1339,12 @@ if (!$form->isValid($_POST)) {
 
         <para>
             <code>isValid()</code> validará cada elemento requerido, y algún
-            elemento no requerido contenido en la data sometida.            
+            elemento no requerido contenido en la data sometida.
         </para>
 
         <para>
-        	Algunas veces se necesitará validar sólo un subset del dato; para
-        	esto use <code>isValidPartial($data)</code>:
+            Algunas veces se necesitará validar sólo un subset del dato; para
+            esto use <code>isValidPartial($data)</code>:
         </para>
 
         <programlisting role="php"><![CDATA[
@@ -1355,15 +1355,15 @@ if (!$form->isValidPartial($data)) {
         </programlisting>
 
         <para>
-        	<code>isValidPartial()</code> sólo intenta validar aquellos elementos
-        	en la información para los cuales existen similares elementos; si un elemento es
-        	no representado en la información, es pasado por alto.
+            <code>isValidPartial()</code> sólo intenta validar aquellos elementos
+            en la información para los cuales existen similares elementos; si un elemento es
+            no representado en la información, es pasado por alto.
         </para>
 
         <para>
-        	Cuando se validan elementos o grupos de elementos para un requeirimiento AJAX,
-        	típicamente se validará un subset del formulario, y quiere la respuesta 
-        	en JSON. <code>processAjax()</code> precisamente realiza eso:
+            Cuando se validan elementos o grupos de elementos para un requeirimiento AJAX,
+            típicamente se validará un subset del formulario, y quiere la respuesta
+            en JSON. <code>processAjax()</code> precisamente realiza eso:
         </para>
 
         <programlisting role="php"><![CDATA[
@@ -1372,15 +1372,15 @@ $json = $form->processAjax($data);
         </programlisting>
 
         <para>
-        	Entonces, puede simplemente enviar la respuesta JSON al cliente. Si el
-        	formulario es válido, ésta será una respuesta booleana. Si no, será
-        	un objeto javascript conteniendo pares de clave/mensaje, donde cada
-        	'message' es un array de validación de mensajes de error.
+            Entonces, puede simplemente enviar la respuesta JSON al cliente. Si el
+            formulario es válido, ésta será una respuesta booleana. Si no, será
+            un objeto javascript conteniendo pares de clave/mensaje, donde cada
+            'message' es un array de validación de mensajes de error.
         </para>
 
         <para>
-        	Para los formularios que fallan la validación, se pueden recuperar ambos códigos
-        	de error y mensajes de error, usando <code>getErrors()</code> y
+            Para los formularios que fallan la validación, se pueden recuperar ambos códigos
+            de error y mensajes de error, usando <code>getErrors()</code> y
             <code>getMessages()</code>, respectivamente:
         </para>
 
@@ -1392,15 +1392,15 @@ $messages = $form->getMessage();
 
         <note>
             <para>
-            	Dado que los mensajes devueltos por <code>getMessages()</code> son un
-            	array de pares de errores código/mensaje, <code>getErrors()</code> no 
-            	es necesario.
+                Dado que los mensajes devueltos por <code>getMessages()</code> son un
+                array de pares de errores código/mensaje, <code>getErrors()</code> no
+                es necesario.
             </para>
         </note>
 
         <para>
-        	Puede recuperar códigos y mensajes de error para elementos individuales
-        	simplemente pasando el nombre del elemento a cada uno:           
+            Puede recuperar códigos y mensajes de error para elementos individuales
+            simplemente pasando el nombre del elemento a cada uno:
         </para>
 
         <programlisting role="php"><![CDATA[
@@ -1411,13 +1411,13 @@ $messages = $form->getMessages('username');
 
         <note>
             <para>
-            	Nota: Cuando validamos elementos, <code>Zend_Form</code> envía un 
-            	segundo argumento a cada método <code>isValid()</code> del elemento:
+                Nota: Cuando validamos elementos, <code>Zend_Form</code> envía un
+                segundo argumento a cada método <code>isValid()</code> del elemento:
                 el array de los datos que se están validando. Esto puede ser usado por
                 validadores individuales para permitirles utilizar otros valores
                 enviados al determinar la validez de los datos. Un ejemplo
                 sería un formulario de registro que requiere tanto una contraseña
-                como una confirmación de la contraseña; el elemento contraseña puede usar la 
+                como una confirmación de la contraseña; el elemento contraseña puede usar la
                 confirmación de la contraseña como parte de su validación.
             </para>
         </note>
@@ -1426,12 +1426,12 @@ $messages = $form->getMessages('username');
             <title>Mensajes de error personalizados</title>
 
             <para>
-            	A veces, puede querer especificar uno o más mensajes
-            	de error en vez de los mensajes de error generados por los
-            	validadores adjuntos a los elementos. Adicionalmente, a veces
-            	puede querer marcar el formulario inválido usted mismo. Como 1.6.0, 
-            	esta funcionalidad es posible siguiendo los métodos. 
-            	        
+                A veces, puede querer especificar uno o más mensajes
+                de error en vez de los mensajes de error generados por los
+                validadores adjuntos a los elementos. Adicionalmente, a veces
+                puede querer marcar el formulario inválido usted mismo. Como 1.6.0,
+                esta funcionalidad es posible siguiendo los métodos.
+
                 At times, you may want to specify one or more specific error
                 messages to use instead of the error messages generated by the
                 validators attached to your elements. Additionally, at times you
@@ -1441,9 +1441,9 @@ $messages = $form->getMessages('username');
 
             <itemizedlist>
                 <listitem><para>
-                	<code>addErrorMessage($message)</code>: añade un mensaje de error
-                	para desplegar en el formulario los errores de validación. Se debe llamar más
-                	de una vez, y los nuevos mensajes son adicionados a la pila.
+                    <code>addErrorMessage($message)</code>: añade un mensaje de error
+                    para desplegar en el formulario los errores de validación. Se debe llamar más
+                    de una vez, y los nuevos mensajes son adicionados a la pila.
                 </para></listitem>
 
                 <listitem><para>
@@ -1468,13 +1468,13 @@ $messages = $form->getMessages('username');
                 </para></listitem>
 
                 <listitem><para>
-                    <code>markAsError()</code>: marca el formulario como que la 
+                    <code>markAsError()</code>: marca el formulario como que la
                     validación ha fallado.
                 </para></listitem>
 
                 <listitem><para>
-                    <code>addError($message)</code>: añade un mensaje a la pila de 
-                    mensajes de error personalizados y señala al formulario como inválido.                  
+                    <code>addError($message)</code>: añade un mensaje a la pila de
+                    mensajes de error personalizados y señala al formulario como inválido.
                 </para></listitem>
 
                 <listitem><para>
@@ -1696,17 +1696,17 @@ $messages = $form->getMessages('username');
 
         <para>
             <code>Zend_Form</code> es totalmente configurable mediante
-            <code>setOptions()</code> y <code>setConfig()</code> (o 
+            <code>setOptions()</code> y <code>setConfig()</code> (o
             pasando opciones o un objeto <code>Zend_Config</code> al
             constructor). Usando estos métodos, se pueden especificar elementos formulario,
             grupos de visualización, decoradores, y metadatos.
         </para>
 
         <para>
-        	Como regla general, si 'set' + la clave de opción (option key) hacen referencia a 
+            Como regla general, si 'set' + la clave de opción (option key) hacen referencia a
             métodos <code>Zend_Form</code>, entonces el valor proporcionado será
-            pasado al método. Si el accessor no existe, se asume que la clave 
-            referencia a un atributo, y será pasado a 
+            pasado al método. Si el accessor no existe, se asume que la clave
+            referencia a un atributo, y será pasado a
             <code>setAttrib()</code>.
         </para>
 
@@ -1716,12 +1716,12 @@ $messages = $form->getMessages('username');
 
         <itemizedlist>
             <listitem><para>
-                    <code>prefixPaths</code> será pasado a 
+                    <code>prefixPaths</code> será pasado a
                     <code>addPrefixPaths()</code>
             </para></listitem>
 
             <listitem><para>
-                <code>elementPrefixPaths</code> será pasado a 
+                <code>elementPrefixPaths</code> será pasado a
                 <code>addElementPrefixPaths()</code>
             </para></listitem>
 
@@ -1754,8 +1754,8 @@ $messages = $form->getMessages('username');
         </itemizedlist>
 
         <para>
-        	Como un ejemplo, aquí esta un archivo de configuración que pasa la configuración
-        	por cada tipo de datos configurables:
+            Como un ejemplo, aquí esta un archivo de configuración que pasa la configuración
+            por cada tipo de datos configurables:
         </para>
 
         <programlisting role="ini"><![CDATA[
@@ -1797,7 +1797,7 @@ decorators.form.decorator = "Form"
 </programlisting>
 
         <para>
-        	El código de arriba fácilmente puede ser abstraído a un XML o un archivo de configuración basado en arrays PHP.
+            El código de arriba fácilmente puede ser abstraído a un XML o un archivo de configuración basado en arrays PHP.
         </para>
     </sect2>
 
@@ -1805,14 +1805,14 @@ decorators.form.decorator = "Form"
         <title>Formularios personalizados</title>
 
         <para>
-        	Una alternativa a usar los formularios basados en configuraciones es realizar una subclase de             
+            Una alternativa a usar los formularios basados en configuraciones es realizar una subclase de
             <code>Zend_Form</code>. Esto tiene muchos beneficios:
         </para>
 
         <itemizedlist>
             <listitem><para>
-            	Se puede centrar la prueba de su formulario facilmente para asegurar las validaciones y
-            	generar la ejecución esperada.              
+                Se puede centrar la prueba de su formulario facilmente para asegurar las validaciones y
+                generar la ejecución esperada.
             </para></listitem>
 
             <listitem><para>
@@ -1825,12 +1825,12 @@ decorators.form.decorator = "Form"
             </para></listitem>
 
             <listitem><para>
-            	Implementar funcionalidad personalizada.
+                Implementar funcionalidad personalizada.
             </para></listitem>
         </itemizedlist>
 
         <para>
-        	El caso mas típico de uso sería el método
+            El caso mas típico de uso sería el método
             <code>init()</code> para determinar elementos de formulario específicos y
             de configuración:
         </para>
@@ -1894,15 +1894,15 @@ $form = new My_Form_Login();
         </programlisting>
 
         <para>
-        	y toda la funcionalidad está instalada y lista; no se necesitan archivos 
-        	de configuración. (Note que este ejemplo esta simplificado, no contiene 
-        	validadores o filtros para los elementos.)
+            y toda la funcionalidad está instalada y lista; no se necesitan archivos
+            de configuración. (Note que este ejemplo esta simplificado, no contiene
+            validadores o filtros para los elementos.)
         </para>
 
         <para>
-        	Otra razón común para la extension es definir un conjunto de 
-        	decoradores por defecto. Puede hacerlo sobreescribiendo el 
-        	método <code>loadDefaultDecorators()</code>:
+            Otra razón común para la extension es definir un conjunto de
+            decoradores por defecto. Puede hacerlo sobreescribiendo el
+            método <code>loadDefaultDecorators()</code>:
         </para>
 
         <programlisting role="php"><![CDATA[

+ 4 - 4
documentation/manual/es/module_specs/Zend_Form-Introduction.xml

@@ -2,8 +2,8 @@
     <title>Zend_Form</title>
 
     <para>
-        Zend_Form simplifica la creación y manejo de formularios en sus 
-        aplicaciones web. Cumple los siguientes objetivos: 
+        Zend_Form simplifica la creación y manejo de formularios en sus
+        aplicaciones web. Cumple los siguientes objetivos:
     </para>
 
     <itemizedlist>
@@ -15,8 +15,8 @@
     </itemizedlist>
 
     <para>
-        Se aprovecha en gran medida de otros componentes de Zend Framework para lograr sus objetivos, 
-        incluyendo <code>Zend_Config</code>, <code>Zend_Validate</code>, <code>Zend_Filter</code>, 
+        Se aprovecha en gran medida de otros componentes de Zend Framework para lograr sus objetivos,
+        incluyendo <code>Zend_Config</code>, <code>Zend_Validate</code>, <code>Zend_Filter</code>,
         <code>Zend_Loader_PluginLoader</code> y, opcionalmente, <code>Zend_View</code>.
     </para>
 </sect1>

+ 43 - 43
documentation/manual/es/module_specs/Zend_Form-QuickStart.xml

@@ -10,7 +10,7 @@
         <title>Creando un objeto formulario</title>
 
         <para>
-            Crear un objeto de formulario es muy simple: solo instancíe 
+            Crear un objeto de formulario es muy simple: solo instancíe
             <code>Zend_Form</code>
         </para>
 
@@ -20,7 +20,7 @@ $form = new Zend_Form;
         </programlisting>
 
         <para>
-            Para casos de uso avanzados, es posible desee crear una subclase de 
+            Para casos de uso avanzados, es posible desee crear una subclase de
             <code>Zend_Form</code>, pero para formularios simples, puede
             programar la creación de un formulario usando un objeto
             <code>Zend_Form</code>
@@ -46,7 +46,7 @@ $form->setAction('/resource/process')
 
         <para>
             Usted puede establecer atributos HTML adicionales para la etiqueta
-            <code>&lt;form&gt;</code> mediante el uso de los métodos 
+            <code>&lt;form&gt;</code> mediante el uso de los métodos
             setAttrib() o setAttribs(). Por ejemplo, si desea especificar el id
             establezca el atributo "id":
         </para>
@@ -62,8 +62,8 @@ $form->setAttrib('id', 'login');
 
         <para>
             Un formulario no es nada sin sus elementos. <code>Zend_Form</code>
-            contiene de manera predeterminada algunos elementos que generan 
-            XHTML vía auxiliares <code>Zend_View</code>. Son los 
+            contiene de manera predeterminada algunos elementos que generan
+            XHTML vía auxiliares <code>Zend_View</code>. Son los
             siguientes:
         </para>
 
@@ -135,7 +135,7 @@ $form->addElement('text', 'username');
 
         <para>
             De manera predeterminada, éstos no tienen validadores o filtros.
-            Esto significa que tendrá que configurar sus elementos con un 
+            Esto significa que tendrá que configurar sus elementos con un
             mínimo de validadores, y potencialmente filtros. Puede hacer esto
             (a) antes de pasar el elemento al formulario, (b) vía opciones de
             configuración pasadas cuando crea un elemento a través de
@@ -145,7 +145,7 @@ $form->addElement('text', 'username');
 
         <para>
             Veamos primero la creación de validadores para la instancia de
-            un elemento concreto. Puede pasar objetos 
+            un elemento concreto. Puede pasar objetos
             <code>Zend_Validate_*</code> o el nombre de un validador para utilizar:
         </para>
 
@@ -173,13 +173,13 @@ $username->addValidator('regex', false, array('/^[a-z]/i'));
         </programlisting>
 
         <para>
-            (El segundo parámetro se utiliza para indicar si el fallo 
-            debería prevenir la ejecución de validadores posteriores o no; por 
+            (El segundo parámetro se utiliza para indicar si el fallo
+            debería prevenir la ejecución de validadores posteriores o no; por
             defecto, el valor es false.)
         </para>
 
         <para>
-            Puede también desear especificar un elemento como requerido. Esto 
+            Puede también desear especificar un elemento como requerido. Esto
             puede hacerse utilizando un método de acceso o pasando una opción al
             crear el elemento. En el primer caso:
         </para>
@@ -231,7 +231,7 @@ $username->addValidators(array('alnum',
             Tan simple como esto, realizarlo para cada uno de los elementos
             del formulario puede resultar un poco tedioso. Intentemos la opción
             (b) arriba mencionada. Cuando creamos un nuevo elemento utilizando
-            <code>Zend_Form::addElement()</code> como fábrica, opcionalmente 
+            <code>Zend_Form::addElement()</code> como fábrica, opcionalmente
             podemos pasar las opciones de configuración. Éstas pueden incluir
             validadores y los filtros que se van a utilizar. Por lo tanto, para hacer todo
             lo anterior implícitamente, intente lo siguiente:
@@ -261,10 +261,10 @@ $form->addElement('text', 'username', array(
         <title>Generar un formulario</title>
 
         <para>
-            Generar un formulario es simple. La mayoría de los elementos 
+            Generar un formulario es simple. La mayoría de los elementos
             utilizan un auxiliar de <code>Zend_View</code> para generarse a sí
-            mismos, por lo tanto necesitan un objeto vista con el fin de 
-            generarse. Además, tiene dos opciones: usar el método render() 
+            mismos, por lo tanto necesitan un objeto vista con el fin de
+            generarse. Además, tiene dos opciones: usar el método render()
             del formulario, o simplemente mostrarlo con echo.
         </para>
 
@@ -278,7 +278,7 @@ echo $form;
         </programlisting>
 
         <para>
-            De manera predeterminada, <code>Zend_Form</code> y 
+            De manera predeterminada, <code>Zend_Form</code> y
             <code>Zend_Form_Element</code> intentarán utilizar el objeto vista
             inicializado en el <code>ViewRenderer</code>, lo que significa que
             no tendrá que establecer la vista manualmente cuando use el MVC de
@@ -296,8 +296,8 @@ echo $form;
             (decorators) para generar la salida. Estos decoradores pueden
             reemplazar, añadir o anteponer contenido, y tienen plena
             introspección al elemento que les es pasado. Como resultado, puede
-            combinar múltiples decoradores para lograr efectos personalizados. 
-            Predeterminadamente, <code>Zend_Form_Element</code> actualmente 
+            combinar múltiples decoradores para lograr efectos personalizados.
+            Predeterminadamente, <code>Zend_Form_Element</code> actualmente
             combina cuatro decoradores para obtener su salida; la configuración
             sería como sigue:
         </para>
@@ -313,7 +313,7 @@ $element->addDecorators(array(
         </programlisting>
 
         <para>
-            (Donde &lt;HELPERNAME&gt; es el nombre de un view helper que 
+            (Donde &lt;HELPERNAME&gt; es el nombre de un view helper que
             utilizar, y varía según el elemento)
         </para>
 
@@ -339,13 +339,13 @@ $element->addDecorators(array(
 
         <para>
             Puede cambiar los decoradores usados para un elemento si desea tener
-            diferente salida; véase la sección sobre decoradores para mayor 
+            diferente salida; véase la sección sobre decoradores para mayor
             información.
         </para>
 
         <para>
-            El propio formulario simplemente itera sobre los elementos y 
-            los cubre en un &lt;form&gt; HTML. El action y method que 
+            El propio formulario simplemente itera sobre los elementos y
+            los cubre en un &lt;form&gt; HTML. El action y method que
             proporcionó cuando definió el formulario se pasan a la etiqueta
             <code>&lt;form&gt;</code>, como cualquier atributo que establezca
             vía <code>setAttribs()</code> y familia.
@@ -376,15 +376,15 @@ $form->addElement('text', 'username', array('order' => 10));
         <title>Comprobar si un formulario es válido</title>
 
         <para>
-            Después que un formulario es enviado, necesitará comprobar y ver si 
-            pasa las validaciones. Cada elemento es valuado contra los datos 
-            provistos; si una clave no está presente y el campo fue marcado como 
+            Después que un formulario es enviado, necesitará comprobar y ver si
+            pasa las validaciones. Cada elemento es valuado contra los datos
+            provistos; si una clave no está presente y el campo fue marcado como
             requerido, la validación se ejecuta contra un valor nulo.
         </para>
 
         <para>
             ¿De dónde provienen los datos?. Puede usar <code>$_POST</code> o
-            <code>$_GET</code>, o cualquier otra fuente de datos que tenga a 
+            <code>$_GET</code>, o cualquier otra fuente de datos que tenga a
             mano (solicitud de un servicio web, por ejemplo):
         </para>
 
@@ -401,8 +401,8 @@ if ($form->isValid($_POST)) {
             Con solicitudes AJAX, a veces puede ignorar la validación de un solo
             elemento, o grupo de elementos.
             <code>isValidPartial()</code> validará parcialmente el formulario.
-            A diferencia de <code>isValid()</code>, que como sea, si alguna 
-            clave no esta presente, no ejecutará las validaciones para ese 
+            A diferencia de <code>isValid()</code>, que como sea, si alguna
+            clave no esta presente, no ejecutará las validaciones para ese
             elemento en particular.
         </para>
 
@@ -416,7 +416,7 @@ if ($form->isValidPartial($_POST)) {
         </programlisting>
 
         <para>
-            Un método adicional, <code>processAjax()</code>, puede también ser 
+            Un método adicional, <code>processAjax()</code>, puede también ser
             usado para validar formularios parciales. A diferencia de
             <code>isValidPartial()</code>, regresa una cadena en formato JSON
             conteniendo mensajes de error en caso de fallo.
@@ -447,7 +447,7 @@ $unfiltered = $form->getUnfilteredValues();
 
         <para>
             Entonces, ¿su formulario no es válido? En la mayoría de los casos,
-            simplemente puede generar el formulario nuevamente y los errores se 
+            simplemente puede generar el formulario nuevamente y los errores se
             mostrarán cuando se usen los decoradores predeterminados:
         </para>
 
@@ -464,7 +464,7 @@ if (!$form->isValid($_POST)) {
 
         <para>
             Si quiere inspeccionar los errores, tiene dos métodos.
-            <code>getErrors()</code> regresa una matriz asociativa de nombres / 
+            <code>getErrors()</code> regresa una matriz asociativa de nombres /
             códigos de elementos (donde códigos es una matriz de códigos de
             error). <code>getMessages()</code> regresa una matriz asociativa
             de nombres / mensajes de elementos (donde mensajes es una matriz
@@ -488,17 +488,17 @@ if (!$form->isValid($_POST)) {
         </itemizedlist>
 
         <para>
-            Para nuestros propósitos, vamos a suponer que un usuario válido 
+            Para nuestros propósitos, vamos a suponer que un usuario válido
             cumplirá con tener solo caracteres alfanuméricos, comenzar con una
-            letra, tener una longitud mínima de 6 caracteres y una longitud 
-            máxima de 20 caracteres; se normalizarán en minúsculas. Las 
+            letra, tener una longitud mínima de 6 caracteres y una longitud
+            máxima de 20 caracteres; se normalizarán en minúsculas. Las
             contraseñas deben tener un mínimo de 6 caracteres. Cuando se procese
-            vamos simplemente a mostrar el valor, por lo que puede permanecer 
+            vamos simplemente a mostrar el valor, por lo que puede permanecer
             inválido.
         </para>
 
         <para>
-            Usaremos el poder de la opciones de configuración de 
+            Usaremos el poder de la opciones de configuración de
             <code>Zend_Form</code> para crear el formulario:
         </para>
 
@@ -579,8 +579,8 @@ class UserController extends Zend_Controller_Action
 
         <para>
             Como notará en el código del controlador, hay más trabajo por hacer:
-            mientras la información enviada sea válida, necesitará todavía 
-            realizar la autenticación usando <code>Zend_Auth</code>, por 
+            mientras la información enviada sea válida, necesitará todavía
+            realizar la autenticación usando <code>Zend_Auth</code>, por
             ejemplo.
         </para>
     </sect2>
@@ -590,12 +590,12 @@ class UserController extends Zend_Controller_Action
 
         <para>
             Todas las clases <code>Zend_Form</code> son configurables mediante
-            <code>Zend_Config</code>; puede incluso pasar un objeto al 
-            constructor o pasarlo a través de <code>setConfig()</code>. Veamos 
-            cómo podemos crear el formulario anterior usando un archivo INI. 
-            Primero, vamos a seguir las recomendaciones, y colocaremos nuestras 
+            <code>Zend_Config</code>; puede incluso pasar un objeto al
+            constructor o pasarlo a través de <code>setConfig()</code>. Veamos
+            cómo podemos crear el formulario anterior usando un archivo INI.
+            Primero, vamos a seguir las recomendaciones, y colocaremos nuestras
             configuraciones dentro de secciones reflejando su objetivo y
-            y enfocándonos en la sección 'development'. A continuación, 
+            y enfocándonos en la sección 'development'. A continuación,
             pondremos en una sección de configuración para el controlador dado
             ('user'), y una clave para el formulario ('login'):
         </para>
@@ -648,7 +648,7 @@ $form   = new Zend_Form($config->user->login);
 
         <para>
             Esperamos que después de este pequeño tutorial sea capaz de descubrir
-            el poder y flexibilidad de <code>Zend_Form</code>. Continúe leyendo 
+            el poder y flexibilidad de <code>Zend_Form</code>. Continúe leyendo
             para profundizar más en el tema.
         </para>
     </sect2>

+ 101 - 101
documentation/manual/es/module_specs/Zend_Form-StandardDecorators.xml

@@ -12,12 +12,12 @@
 
         <para>
             El decorador Callback (llamada de retorno) permite ejecutar una llamada de retorno para
-			mostrar el contenido. Las llamadas de retorno deben especificarse a través
-			de la opción 'callback' pasada en la configuración del decorador, y pueden
-			ser de cualquier valor de llamada de retorno PHP. Los Callbacks deben
-			aceptar tres argumentos: <code>$content</code> (el contenido original
-			enviado al decorador), <code>$element</code> (el objeto que se está decorando),
-			y un array de <code>$options</code>. Un callback de ejemplo sería:
+            mostrar el contenido. Las llamadas de retorno deben especificarse a través
+            de la opción 'callback' pasada en la configuración del decorador, y pueden
+            ser de cualquier valor de llamada de retorno PHP. Los Callbacks deben
+            aceptar tres argumentos: <code>$content</code> (el contenido original
+            enviado al decorador), <code>$element</code> (el objeto que se está decorando),
+            y un array de <code>$options</code>. Un callback de ejemplo sería:
         </para>
 
         <programlisting role="php"><![CDATA[
@@ -39,10 +39,10 @@ class Util
         </para>
 
         <para>
-            El decorador Callback permite especificar un valor null para la opción 
+            El decorador Callback permite especificar un valor null para la opción
             placement (colocación), que reemplazará el contenido original
-			con el valor devuelto de la llamada de retorno; 'prepend' (anteponer) y 'append' (postponer)
-			siguen siendo válidas.
+            con el valor devuelto de la llamada de retorno; 'prepend' (anteponer) y 'append' (postponer)
+            siguen siendo válidas.
         </para>
     </sect2>
 
@@ -57,10 +57,10 @@ class Util
 
         <para>
             Una variante del decorador Captcha, 'Captcha_Word', es usada frecuentemente,
-			y crea dos elementos, un id y una entrada (input). El id indica
-			el identificador de sesión que hay que comparar, y la entrada es para
-			la verificación de usuario del captcha. Éstos elementos son validados
-			como un sólo elemento.
+            y crea dos elementos, un id y una entrada (input). El id indica
+            el identificador de sesión que hay que comparar, y la entrada es para
+            la verificación de usuario del captcha. Éstos elementos son validados
+            como un sólo elemento.
         </para>
     </sect2>
 
@@ -69,24 +69,24 @@ class Util
 
         <para>
             El decorador Description puede ser usado para mostrar un conjunto de descripciones
-			de un elemento <code>Zend_Form</code>, <code>Zend_Form_Element</code>, o
+            de un elemento <code>Zend_Form</code>, <code>Zend_Form_Element</code>, o
             <code>Zend_Form_DisplayGroup</code>; toma la descripción usando el método
-			<code>getDescription()</code> del objeto.
+            <code>getDescription()</code> del objeto.
         </para>
 
         <para>
             Por defecto, si no se encuentra la descripción, no se genera ninguna salida.
-			Si la descripción está presente, entonces se envolverá en una etiqueta 
+            Si la descripción está presente, entonces se envolverá en una etiqueta
             <code>p</code> HTML por defecto, aunque tiene la posibilidad de especificar
-			una etiqueta pasando una opción <code>tag</code> al crear el decorador, o 
-			llamando a <code>setTag()</code>. También puede especificar una clase
-			para el tag usando la opción <code>class</code> o llamando a 
-			<code>setClass()</code>; por defecto, se usa la clase 'hint'.
+            una etiqueta pasando una opción <code>tag</code> al crear el decorador, o
+            llamando a <code>setTag()</code>. También puede especificar una clase
+            para el tag usando la opción <code>class</code> o llamando a
+            <code>setClass()</code>; por defecto, se usa la clase 'hint'.
         </para>
 
         <para>
             La descripción es escapada utilizando los mecanismos de escapado por defecto
-			del objeto de vista. Puede desactivar esto pasando un valor
+            del objeto de vista. Puede desactivar esto pasando un valor
             <code>false</code> a la opción 'escape' del decorador o el método
             <code>setEscape()</code>.
         </para>
@@ -97,12 +97,12 @@ class Util
 
         <para>
             Los decoradores por defecto utilizan listas de definición
-            (<code>&lt;dl&gt;</code>) para generar elementos de formulario (form). 
-			Dato que los elementos de formulario pueden aparecer en cualquier orden,
-			grupos de visualización y subformularios pueden ser encapsulados dentro de
-			otros elementos de formulario. Para mantener estos tipos de elemento particulares
+            (<code>&lt;dl&gt;</code>) para generar elementos de formulario (form).
+            Dato que los elementos de formulario pueden aparecer en cualquier orden,
+            grupos de visualización y subformularios pueden ser encapsulados dentro de
+            otros elementos de formulario. Para mantener estos tipos de elemento particulares
             dentro de la lista de definición, DtDdWrapper crea una nuevo término de definición
-			vacío (definition term)(<code>&lt;dt&gt;</code>) y encapsula su contenido
+            vacío (definition term)(<code>&lt;dt&gt;</code>) y encapsula su contenido
             en un nuevo dato de definición (<code>&lt;dd&gt;</code>).
             La salida queda como sigue:
         </para>
@@ -126,7 +126,7 @@ class Util
         <title>Zend_Form_Decorator_Errors</title>
 
         <para>
-            Los errores de elemento obtienen su propio decorador con el decorador 
+            Los errores de elemento obtienen su propio decorador con el decorador
             de errores. Este decorador sustituye al view helper FormErrors,
             que genera mensajes de error en una lista no ordenada
             (<code>&lt;ul&gt;</code>) como elementos de lista (li). El elemento
@@ -135,7 +135,7 @@ class Util
 
         <para>
             El decorador de Errores puede anteponerse o postponerse al contenido
-			que se le provee.
+            que se le provee.
         </para>
     </sect2>
 
@@ -144,12 +144,12 @@ class Util
 
         <para>
             Por defecto, los grupos de visualización y subformularios generan sus contenidos dentro
-			de fieldsets, EL decorador Fieldset busca la opción
-            'legend' o bien el método <code>getLegend()</code> en el elemento 
-			registrado, y lo usa como campo "legend" si no es vacío. Cualquier
-			contenido pasado es envuelto en el fieldset HTML, reemplazando
-			al contenido original. Cualquier atributo pasado al elemento decorado
-			será generado como atributo del fieldset HTML.
+            de fieldsets, EL decorador Fieldset busca la opción
+            'legend' o bien el método <code>getLegend()</code> en el elemento
+            registrado, y lo usa como campo "legend" si no es vacío. Cualquier
+            contenido pasado es envuelto en el fieldset HTML, reemplazando
+            al contenido original. Cualquier atributo pasado al elemento decorado
+            será generado como atributo del fieldset HTML.
         </para>
     </sect2>
 
@@ -158,10 +158,10 @@ class Util
 
         <para>
             Los elementos de tipo "File" (upload de ficheros) tienen una notación especial
-			cuando se usan múltiples elementos file o subformularios. El decorador 
-			File es usado por <code>Zend_Form_Element_File</code> y permite fijar 
-			múltiples elementos file con una única llamada al método. Se usa automáticamente
-			y fija el nombre de cada elemento.
+            cuando se usan múltiples elementos file o subformularios. El decorador
+            File es usado por <code>Zend_Form_Element_File</code> y permite fijar
+            múltiples elementos file con una única llamada al método. Se usa automáticamente
+            y fija el nombre de cada elemento.
         </para>
     </sect2>
 
@@ -170,9 +170,9 @@ class Util
 
         <para>
             Los objetos <code>Zend_Form</code> normalmente necesitan generar una etiqueta
-			HTML "form". El decorador Form utiliza la ayuda del view helper Form. Encapsula
-			cualquier contenido provista en un elemento HTML form, usando la acción y el
-			método del objeto Zend Form, y cualquier atributo como atributo HTML.
+            HTML "form". El decorador Form utiliza la ayuda del view helper Form. Encapsula
+            cualquier contenido provista en un elemento HTML form, usando la acción y el
+            método del objeto Zend Form, y cualquier atributo como atributo HTML.
         </para>
     </sect2>
 
@@ -181,11 +181,11 @@ class Util
 
         <para>
             Los formularios(forms), grupos de visualización y subformularios
-			son colecciones de elementos. Para poder generar estos elementos,
-			utilizan el decorador FormElements, el cual itera sobre todos los elementos,
-			llamando a <code>render()</code> en cada uno de ellos y uniéndolos
+            son colecciones de elementos. Para poder generar estos elementos,
+            utilizan el decorador FormElements, el cual itera sobre todos los elementos,
+            llamando a <code>render()</code> en cada uno de ellos y uniéndolos
             con el separador indicado. Puede anteponer o postponer al contenido que
-			se le envía.
+            se le envía.
         </para>
     </sect2>
 
@@ -194,10 +194,10 @@ class Util
 
         <para>
             Algunos desarrolladores y diseñadores prefieren agrupar todos los
-			mensajes de error en la parte superior del formulario. El decorador
-			FormErrors le permite hacer esto.
+            mensajes de error en la parte superior del formulario. El decorador
+            FormErrors le permite hacer esto.
         </para>
-        
+
         <para>
             Por defecto, la lista de errores generada tiene el siguiente marcado:
         </para>
@@ -255,8 +255,8 @@ class Util
         </itemizedlist>
 
         <para>
-			El decorador FormErrors puede anteponerse o postponerse al contenido
-			que se le provee.
+            El decorador FormErrors puede anteponerse o postponerse al contenido
+            que se le provee.
         </para>
     </sect2>
 
@@ -265,11 +265,11 @@ class Util
 
         <para>
             El decorador HtmlTag le permite utilizar etiquetas HTML para
-			decorador el contenido; la etiqueta utiliza es pasada en la opción 'tag'
-            , y cualquier otra opción es usada como atributo HTML de esa etiqueta. 
-			Por defecto, el contenido generado reemplaza al contenido envolviéndolo en 
-			la etiqueta dada. De cualquier forma, se permite especificar una 
-			localización de tipo 'append' (postponer) o 'prepend' (anteponer).
+            decorador el contenido; la etiqueta utiliza es pasada en la opción 'tag'
+            , y cualquier otra opción es usada como atributo HTML de esa etiqueta.
+            Por defecto, el contenido generado reemplaza al contenido envolviéndolo en
+            la etiqueta dada. De cualquier forma, se permite especificar una
+            localización de tipo 'append' (postponer) o 'prepend' (anteponer).
         </para>
     </sect2>
 
@@ -284,10 +284,10 @@ class Util
 
         <para>
             Por defecto, el decorador usa la propiedad src del elemento,
-			que puede fijarse con el método <code>setImage()</code>, como la ruta
-			de la imagen ('src'). Adicionalmente, la etiqueta del elemento será usada
-			como la etiqueta 'alt', y <code>imageValue</code> (manipulado con los
-			métodos <code>setImageValue()</code> y
+            que puede fijarse con el método <code>setImage()</code>, como la ruta
+            de la imagen ('src'). Adicionalmente, la etiqueta del elemento será usada
+            como la etiqueta 'alt', y <code>imageValue</code> (manipulado con los
+            métodos <code>setImageValue()</code> y
             <code>getImageValue()</code>) será usada como el campo 'value'.
         </para>
 
@@ -303,56 +303,56 @@ class Util
 
         <para>
             Comúnmente, los elementos de formulario tienen etiquetas (labels) y se
-			usa el decorador Label para generar esas etiquetas. 
-			Utiliza la ayuda del view helper FormLabel, 
-			y toma la etiqueta del elemento mediante el método
+            usa el decorador Label para generar esas etiquetas.
+            Utiliza la ayuda del view helper FormLabel,
+            y toma la etiqueta del elemento mediante el método
             <code>getLabel()</code> de ese elemento. Si no se encuentra
-			la etiqueta, no se genera. Por defecto, las etiquetas se
-			traducen cuando existe un adaptador de traducciones y existe una
-			traducción para la etiqueta.
+            la etiqueta, no se genera. Por defecto, las etiquetas se
+            traducen cuando existe un adaptador de traducciones y existe una
+            traducción para la etiqueta.
         </para>
 
         <para>
             Opcionalmente, se puede especificar la opción 'tag'; si se suministra, encapsula
-			la etiqueta en la etiqueta HTML en cuestión. Si la opción está presenta
-			pero no hay etiqueta, la etiqueta será generada sin contenido.
-			Puede especificar la clase que usar con la etiqueta mediante la opción
+            la etiqueta en la etiqueta HTML en cuestión. Si la opción está presenta
+            pero no hay etiqueta, la etiqueta será generada sin contenido.
+            Puede especificar la clase que usar con la etiqueta mediante la opción
             'class' o llamando a <code>setClass()</code>.
         </para>
 
         <para>
             Adicionalmente, se pueden especificar prefijos o sufijos que usar
-			al mostrar en pantalla los elementos, basados en si la etiqueta es para
-			un elemento opcional o requerido. Por ejemplo, podríamos querer
-			añadir ':' a la etiqueta o un '*', indicando que el elemento es requerido.
-			Se puede realizar con las siguientes opciones y métodos:
+            al mostrar en pantalla los elementos, basados en si la etiqueta es para
+            un elemento opcional o requerido. Por ejemplo, podríamos querer
+            añadir ':' a la etiqueta o un '*', indicando que el elemento es requerido.
+            Se puede realizar con las siguientes opciones y métodos:
         </para>
 
         <itemizedlist>
             <listitem><para>
                     <code>optionalPrefix</code>: fija el texto antepuesto a la etiqueta
-					cuando el elemento es opcional. Utilice los accesores
+                    cuando el elemento es opcional. Utilice los accesores
                     <code>setOptionalPrefix()</code> y
                     <code>getOptionalPrefix()</code> para manipularlo.
             </para></listitem>
 
             <listitem><para>
                     <code>optionalSuffix</code>: fija el texto pospuesto a la etiqueta
-					cuando el elemento es opcional. Utilice los accesores
+                    cuando el elemento es opcional. Utilice los accesores
                     <code>setOptionalSuffix()</code> y
                     <code>getOptionalSuffix()</code> para manipularlo.
             </para></listitem>
 
             <listitem><para>
                     <code>requiredPrefix</code>: fija el texto antepuesto a la etiqueta
-					cuando el elemento es requerido. Utilice los accesores
+                    cuando el elemento es requerido. Utilice los accesores
                     <code>setRequiredPrefix()</code> y
                     <code>getRequiredPrefix()</code> para manipularlo.
             </para></listitem>
 
             <listitem><para>
                     <code>requiredSuffix</code>: fija el texto antepuesto a la etiqueta
-					cuando el elemento es requerido. Utilice los accesores
+                    cuando el elemento es requerido. Utilice los accesores
                     <code>setRequiredSuffix()</code> y
                     <code>getRequiredSuffix()</code> para manipularlo.
             </para></listitem>
@@ -360,8 +360,8 @@ class Util
 
         <para>
             Por defecto, el decorador Label antecede al contenido provisto;
-			especifique la opción 'placement' (colocación) como 'append' para
-			colocarlo después del contenido.
+            especifique la opción 'placement' (colocación) como 'append' para
+            colocarlo después del contenido.
         </para>
     </sect2>
 
@@ -370,14 +370,14 @@ class Util
 
         <para>
             Formularios, grupos de visualización, y subformularios son colecciones
-			de elementos. Al usar el decorador <link
+            de elementos. Al usar el decorador <link
                 linkend="zend.form.standardDecorators.viewScript">ViewScript</link>
-            con un formulario o subformulario, resulta útil el poder fijar 
+            con un formulario o subformulario, resulta útil el poder fijar
             recursívamente el objeto de vista, el traductor (translator)y todos los
-			nombres relacionados (determinados por la notiación de tabla del subformulario).
-			Esta tarea puede realizarse gracias al decorador
-            'PrepareElements'. Normalmente, se indicará como el primer 
-			decorador en al lista.
+            nombres relacionados (determinados por la notiación de tabla del subformulario).
+            Esta tarea puede realizarse gracias al decorador
+            'PrepareElements'. Normalmente, se indicará como el primer
+            decorador en al lista.
         </para>
 
         <programlisting role="php"><![CDATA[
@@ -392,18 +392,18 @@ $form->setDecorators(array(
         <title>Zend_Form_Decorator_ViewHelper</title>
 
         <para>
-            La mayoría de los elementos utiliza helpers <code>Zend_View</code> 
-			para generar el contenido, y esto se realiza con el decorador ViewHelper. 
-			Con él, se puede especificar una etiqueta 'helper' para fijar
-			explicitamente el view helper que utilizar; si no se suministra ninguno,
-			utiliza el último segmento del nombre de clase del elemento para determinar
-			el helper, anteponiéndole la cadena 'form': e.g., 'Zend_Form_Element_Text'
-			buscaría un view helper del tipo 'formText'.
+            La mayoría de los elementos utiliza helpers <code>Zend_View</code>
+            para generar el contenido, y esto se realiza con el decorador ViewHelper.
+            Con él, se puede especificar una etiqueta 'helper' para fijar
+            explicitamente el view helper que utilizar; si no se suministra ninguno,
+            utiliza el último segmento del nombre de clase del elemento para determinar
+            el helper, anteponiéndole la cadena 'form': e.g., 'Zend_Form_Element_Text'
+            buscaría un view helper del tipo 'formText'.
         </para>
 
         <para>
             Cualquier atributo del elemento suministrado es pasado al view helper
-			como atributo del elemento.
+            como atributo del elemento.
         </para>
 
         <para>
@@ -417,18 +417,18 @@ $form->setDecorators(array(
 
         <para>
             A veces es necesario usar un view script para crear elementos;
-			De esta forma, se puede tener un control preciso sobre los elementos;
-			entregar el view script a un diseñador, o simplemente crear 
-			una forma fácil de sobreescribir basado en el módulo que se esté usando.
-			El decorador ViewScript soluciona este problema.
+            De esta forma, se puede tener un control preciso sobre los elementos;
+            entregar el view script a un diseñador, o simplemente crear
+            una forma fácil de sobreescribir basado en el módulo que se esté usando.
+            El decorador ViewScript soluciona este problema.
         </para>
 
         <para>
-            El decorador ViewScript requiere una opción 'viewScript', o bien suministrada 
+            El decorador ViewScript requiere una opción 'viewScript', o bien suministrada
             al decorador, o bien como atributo del elemento. Entonces genera ese script de vista como un
             script parcial, lo que significa que cada llamada a él tiene su propio espacio de variables;
-			Ninguna variable de la vista será rellenada, aparte del elemento en sí. Distintas variables son
-			entonces rellenadas:
+            Ninguna variable de la vista será rellenada, aparte del elemento en sí. Distintas variables son
+            entonces rellenadas:
         </para>
 
         <itemizedlist>
@@ -495,8 +495,8 @@ $element->setDecorators(array(array('ViewScript',
 
             <para>
                 Resulta interesante que el script de vista reemplace el
-				contenido provisto por el decorador -- por ejemplo, si desea encapsularlo.
-				Puede hacer esto especificando un valor booleano false en la
+                contenido provisto por el decorador -- por ejemplo, si desea encapsularlo.
+                Puede hacer esto especificando un valor booleano false en la
                 opción 'placement' del decorador:
             </para>
 

+ 12 - 12
documentation/manual/es/module_specs/Zend_Layout-Introduction.xml

@@ -2,39 +2,39 @@
     <title>Introducción</title>
 
     <para>
-        <code>Zend_Layout</code> implementa un patrón clásico "Vista en dos 
-        etapas" (Two Step View) permitiendo a los desarrolladores colocar el 
-        contenido de la aplicación dentro de otra vista, usualmente 
-        representando la plantilla del sitio. Tales plantillas son a menudo 
-        denominadas <emphasis>layouts</emphasis> por otros proyectos, y Zend 
+        <code>Zend_Layout</code> implementa un patrón clásico "Vista en dos
+        etapas" (Two Step View) permitiendo a los desarrolladores colocar el
+        contenido de la aplicación dentro de otra vista, usualmente
+        representando la plantilla del sitio. Tales plantillas son a menudo
+        denominadas <emphasis>layouts</emphasis> por otros proyectos, y Zend
         Framework ha adoptado este término por consistencia.
     </para>
 
     <para>
-        Los objetivos principales de <code>Zend_Layout</code> son los 
+        Los objetivos principales de <code>Zend_Layout</code> son los
         siguientes:
     </para>
 
     <itemizedlist>
         <listitem><para>
-                Automatizar la selección y renderizado de layouts cuando se usan 
-                con los componentes MVC de Zend Framework. 
+                Automatizar la selección y renderizado de layouts cuando se usan
+                con los componentes MVC de Zend Framework.
         </para></listitem>
 
         <listitem><para>
-                Proveer ámbitos separados para variables relacionadas al diseño 
+                Proveer ámbitos separados para variables relacionadas al diseño
                 y contenido.
         </para></listitem>
 
         <listitem><para>
                 Permitir configuraciones, incluyendo el nombre del layout,
-                resolución (inflexión) del script layout, y ruta del script 
+                resolución (inflexión) del script layout, y ruta del script
                 layout.
         </para></listitem>
 
         <listitem><para>
-                Permitir deshabilitar layouts, cambiar el script de diseño y 
-                otras condiciones; permitir estas acciones dentro de los 
+                Permitir deshabilitar layouts, cambiar el script de diseño y
+                otras condiciones; permitir estas acciones dentro de los
                 controladores y scripts de vista.
         </para></listitem>
 

+ 25 - 25
documentation/manual/es/module_specs/Zend_Loader.xml

@@ -11,12 +11,12 @@
     <tip>
         <title>Zend_Loader vs. require_once()</title>
         <para>
-            Los métodos de <code>Zend_Loader</code> tienen más utilidad si el 
-            nombre de archivo que necesita cargar es variable. Por ejemplo, 
-            si éste se basa en un parametro de entrada del usuario o argumento 
+            Los métodos de <code>Zend_Loader</code> tienen más utilidad si el
+            nombre de archivo que necesita cargar es variable. Por ejemplo,
+            si éste se basa en un parametro de entrada del usuario o argumento
             de un método. Si carga un archivo o clase cuyo nombre es constante, no
-            hay ningún beneficio al usar <code>Zend_Loader</code> sobre el uso 
-            de funciones tradicionales de PHP como 
+            hay ningún beneficio al usar <code>Zend_Loader</code> sobre el uso
+            de funciones tradicionales de PHP como
             <ulink url="http://php.net/require_once"><code>require_once()</code></ulink>.
         </para>
     </tip>
@@ -31,7 +31,7 @@
             El método se comporta como un envoltorio para la función PHP
             <ulink url="http://php.net/include"><code>include()</code></ulink>.
             Este método devuelve un booleano false en caso de fallo, por ejemplo,
-			si el archivo especificado no existe.
+            si el archivo especificado no existe.
         </para>
 
         <example id="zend.loader.load.file.example">
@@ -53,7 +53,7 @@ Zend_Loader::loadFile($filename, $dirs=null, $once=false);
 
         <para>
             El parámetro <code>$dirs</code> especifica en qué carpetas buscar el archivo.
-			Si el valor es <code>NULL</code>, sólo se buscará en el <code>include_path</code>
+            Si el valor es <code>NULL</code>, sólo se buscará en el <code>include_path</code>
             ; si el valor es un string o un array, se buscará en la carpeta o carpetas especificadas
             , seguidas del <code>include_path</code>.
         </para>
@@ -92,15 +92,15 @@ Zend_Loader::loadClass('Container_Tree',
 
         <para>
             La cadena que especifica la clase es convertida a una ruta relativa sustituyendo las barras
-			bajas (_) por el separador de carpeta de su Sistema Operativo, y añadiendo
+            bajas (_) por el separador de carpeta de su Sistema Operativo, y añadiendo
             '.php'. En el ejemplo de arriba, 'Container_Tree' se convierte en 'Container/Tree.php' en Windows.
         </para>
 
         <para>
             Si <code>$dirs</code> es una cadena o un array,
-            <code>Zend_Loader::loadClass()</code> busca las carpetas en el 
-			orden suministrado. El primer archivo encontrado es cargado. Si el archivo
-			no existe en el <code>$dirs</code> especificado, entonces se busca en el
+            <code>Zend_Loader::loadClass()</code> busca las carpetas en el
+            orden suministrado. El primer archivo encontrado es cargado. Si el archivo
+            no existe en el <code>$dirs</code> especificado, entonces se busca en el
             <code>include_path</code> del entorno PHP.
         </para>
 
@@ -111,8 +111,8 @@ Zend_Loader::loadClass('Container_Tree',
 
         <para>
             <code>Zend_Loader::loadFile()</code> se usa para cargar, así que
-			el nombre de la clase puede contener únicamente caracteres alfanuméricos,
-			guiones ('-'), barras bajas ('_'), y puntos ('.').
+            el nombre de la clase puede contener únicamente caracteres alfanuméricos,
+            guiones ('-'), barras bajas ('_'), y puntos ('.').
         </para>
 
     </sect2>
@@ -124,7 +124,7 @@ Zend_Loader::loadClass('Container_Tree',
         <para>
             El método estático <code>Zend_Loader::isReadable($pathname)</code>
             devuelve <code>TRUE</code> si el archivo en la ruta $pathname existe
-			y tiene permisos de lectura, <code>FALSE</code> en caso contrario.
+            y tiene permisos de lectura, <code>FALSE</code> en caso contrario.
         </para>
 
         <example id="zend.loader.load.isreadable.example">
@@ -139,7 +139,7 @@ if (Zend_Loader::isReadable($filename)) {
 
         <para>
             El argumento <code>$filename</code> especifica el nombre de archivo que
-			comprobar.  Puede contener información de la ruta.
+            comprobar.  Puede contener información de la ruta.
             Este método envuelve la función PHP
             <ulink url="http://php.net/is_readable"><code>is_readable()</code></ulink>.
             La función PHP no busca en <code>include_path</code>,
@@ -154,7 +154,7 @@ if (Zend_Loader::isReadable($filename)) {
 
         <para>
             La clase <code>Zend_Loader</code> contiene un método que se puede registrar
-			con PHP SPL autoloader.  <code>Zend_Loader::autoload()</code> es el método
+            con PHP SPL autoloader.  <code>Zend_Loader::autoload()</code> es el método
             callback.  Por comodidad, <code>Zend_Loader</code> permite a la función
             <code>registerAutoload()</code> registrar su método
             <code>autoload()</code>.  Si la extensión <code>spl_autoload</code>
@@ -172,28 +172,28 @@ Zend_Loader::registerAutoload();
 
         <para>
             Después de registrar el callback de autoload de Zend Framework, se pueden
-			referenciar clases de Zend Framework sin tener que cargarlas
+            referenciar clases de Zend Framework sin tener que cargarlas
             explícitamente.  El método <code>autoload()</code> usa automáticamente
             <code>Zend_Loader::loadClass()</code> cuando referencie una clase.
         </para>
 
         <para>
             Si ha extendido la clase <code>Zend_Loader</code>, se puede pasar un
-			argumento opcional a <code>registerAutoload()</code>, para especificar
-			la clase a partir de la cual registrar un método <code>autoload()</code>.
+            argumento opcional a <code>registerAutoload()</code>, para especificar
+            la clase a partir de la cual registrar un método <code>autoload()</code>.
         </para>
 
         <example id="zend.loader.load.autoload.example-extended">
             <title>Ejemplo de registro del método de callback autoload desde una clase
-			extendida</title>
+            extendida</title>
             <para>
                 Debido a la semántica de referencia de funciones estáticas en PHP,
-				se debe implementar código tanto para la clase <code>loadClass()</code>
+                se debe implementar código tanto para la clase <code>loadClass()</code>
                 como <code>autoload()</code>, y <code>autoload()</code>
                 debe llamar a <code>self::loadClass()</code>.  Si su método
                 <code>autoload()</code> delega en su padre la llamada a
-				<code>self::loadClass()</code>, entonces llamará 
-				al método con ese nombre en la clase padre, no la subclase.
+                <code>self::loadClass()</code>, entonces llamará
+                al método con ese nombre en la clase padre, no la subclase.
             </para>
             <programlisting role="php"><![CDATA[
 class My_Loader extends Zend_Loader
@@ -220,8 +220,8 @@ Zend_Loader::registerAutoload('My_Loader');
         </example>
 
         <para>
-            Se puede eliminar un callback de autoload.  
-			<code>registerAutoload()</code> tiene un segundo parámetro opcional,
+            Se puede eliminar un callback de autoload.
+            <code>registerAutoload()</code> tiene un segundo parámetro opcional,
             que es <code>true</code> por defecto. Si este parámetro es
             <code>false</code>, el callback de autoload será borrado de la pila
             de autoload SPL.

+ 40 - 40
documentation/manual/es/module_specs/Zend_Validate-EmailAddress.xml

@@ -3,9 +3,9 @@
     <title>Dirección de Email</title>
 
     <para>
-        <code>Zend_Validate_EmailAddress</code> Le permite validar una dirección 
+        <code>Zend_Validate_EmailAddress</code> Le permite validar una dirección
         de email. El validador primero divide la dirección de email en la parte
-        local @ nombre de host e intenta igualar a estos contra especificaciones 
+        local @ nombre de host e intenta igualar a estos contra especificaciones
         conocidas para direcciones y nombres de host para el correo electrónico.
     </para>
 
@@ -29,7 +29,7 @@ if ($validator->isValid($email)) {
 ]]>
         </programlisting>
 
-        Esto coincide con el correo electrónico <code>$email</code> y si fracasa, 
+        Esto coincide con el correo electrónico <code>$email</code> y si fracasa,
         alimenta <code>$validator->getMessages()</code> con mensajes de error útiles.
     </para>
 
@@ -38,16 +38,16 @@ if ($validator->isValid($email)) {
     </para>
 
     <para>
-        <code>Zend_Validate_EmailAddress</code> se comparará con cualquier 
-        dirección de correo válida de acuardo a RFC2822. 
-        Por ejemplo, correos electrónicos válidos incluyen <code>bob@domain.com</code> , 
-        <code>bob+jones@domain.us</code> , <code>"bob@jones"@domain.com</code> y 
+        <code>Zend_Validate_EmailAddress</code> se comparará con cualquier
+        dirección de correo válida de acuardo a RFC2822.
+        Por ejemplo, correos electrónicos válidos incluyen <code>bob@domain.com</code> ,
+        <code>bob+jones@domain.us</code> , <code>"bob@jones"@domain.com</code> y
         <code>"bob jones"@domain.com</code>
     </para>
 
     <para>
-        Algunos formatos obsoletos de email actualmente no validan 
-        (por ejemplo los retornos de carro o "\" un caracter en una dirección 
+        Algunos formatos obsoletos de email actualmente no validan
+        (por ejemplo los retornos de carro o "\" un caracter en una dirección
         de correo electrónico).
     </para>
 
@@ -56,18 +56,18 @@ if ($validator->isValid($email)) {
     </para>
 
     <para>
-        La parte nombre de host de una dirección de correo es validado contra 
-        <link linkend="zend.validate.set.hostname"><code>Zend_Validate_Hostname</code></link>. 
-        Por defecto sólo son aceptados nombres de host DNS de la forma 
-        <code>domain.com</code>, aunque si lo desea también puede aceptar 
+        La parte nombre de host de una dirección de correo es validado contra
+        <link linkend="zend.validate.set.hostname"><code>Zend_Validate_Hostname</code></link>.
+        Por defecto sólo son aceptados nombres de host DNS de la forma
+        <code>domain.com</code>, aunque si lo desea también puede aceptar
         direcciones IP y nombres de host locales.
     </para>
 
     <para>
-        Para ello necesita instanciar a <code>Zend_Validate_EmailAddress</code> 
-        pasando un parámetro para indicar el tipo de nombres de host que quiere aceptar. 
-        Más detalles están incluidos en <code>Zend_Validate_EmailAddress</code>, 
-        aunque abajo hay un ejemplo de cómo aceptar tanto nombres de host DNS y 
+        Para ello necesita instanciar a <code>Zend_Validate_EmailAddress</code>
+        pasando un parámetro para indicar el tipo de nombres de host que quiere aceptar.
+        Más detalles están incluidos en <code>Zend_Validate_EmailAddress</code>,
+        aunque abajo hay un ejemplo de cómo aceptar tanto nombres de host DNS y
         locales:
 
         <programlisting role="php"><![CDATA[
@@ -91,19 +91,19 @@ if ($validator->isValid($email)) {
     </para>
 
     <para>
-        Sólo porque una dirección de correo electrónico está en el formato correcto, 
-        no necesariamente significa que esa dirección de correo electrónico 
-        existe realmente. Para ayudar a resolver este problema, puede usar la 
-        validación MX para comprobar si existe una entrada MX (email) en el 
-        registro DNS para correo electrónico en ese nombre de host. 
+        Sólo porque una dirección de correo electrónico está en el formato correcto,
+        no necesariamente significa que esa dirección de correo electrónico
+        existe realmente. Para ayudar a resolver este problema, puede usar la
+        validación MX para comprobar si existe una entrada MX (email) en el
+        registro DNS para correo electrónico en ese nombre de host.
         Esto le dice que el nombre de host acepta email, pero no le dice si la
         dirección de correo electrónico exacta es válida en si misma.
     </para>
 
     <para>
-        La comprobación MX no está activada por defecto y en este momento es 
-        soportada sólo por plataformas UNIX. 
-        Para habilitar el control MX puede pasar un segundo parámetro al 
+        La comprobación MX no está activada por defecto y en este momento es
+        soportada sólo por plataformas UNIX.
+        Para habilitar el control MX puede pasar un segundo parámetro al
         constructor <code>Zend_Validate_EmailAddress</code>.
 
         <programlisting role="php"><![CDATA[
@@ -111,14 +111,14 @@ $validator = new Zend_Validate_EmailAddress(Zend_Validate_Hostname::ALLOW_DNS,
                                             true);
 ]]>
         </programlisting>
-        Alternativamente, para activar o desactivar la validación MX puede pasar 
+        Alternativamente, para activar o desactivar la validación MX puede pasar
         <code>true</code> o <code>false</code> a <code>$validator->setValidateMx()</code>.
     </para>
 
     <para>
-        Al habilitarlo, se usarán las funciones de red para comprobar 
-        la presencia de un registro MX en el nombre de host de la dirección 
-        de correo electrónico que desea validar. 
+        Al habilitarlo, se usarán las funciones de red para comprobar
+        la presencia de un registro MX en el nombre de host de la dirección
+        de correo electrónico que desea validar.
         Tenga en cuenta esto probablemente hará más lento su script.
     </para>
 
@@ -127,11 +127,11 @@ $validator = new Zend_Validate_EmailAddress(Zend_Validate_Hostname::ALLOW_DNS,
     </para>
 
     <para>
-        <code>Zend_Validate_EmailAddress</code> también comparará caracteres 
-        internationales que existen en algunos dominios. 
-        Esto se conoce como soporte de International Domain Name (IDN). 
-        Está activado por defecto, aunque puede deshabilitarlo internamente 
-        cambiando el ajuste a través del objeto <code>Zend_Validate_Hostname</code> 
+        <code>Zend_Validate_EmailAddress</code> también comparará caracteres
+        internationales que existen en algunos dominios.
+        Esto se conoce como soporte de International Domain Name (IDN).
+        Está activado por defecto, aunque puede deshabilitarlo internamente
+        cambiando el ajuste a través del objeto <code>Zend_Validate_Hostname</code>
         que existe en <code>Zend_Validate_EmailAddress</code>.
 
         <programlisting role="php"><![CDATA[
@@ -143,7 +143,7 @@ $validator->hostnameValidator->setValidateIdn(false);
     </para>
 
     <para>
-        Tenga en cuenta que los IDNs se validarán solo si 
+        Tenga en cuenta que los IDNs se validarán solo si
         usted permite que nombres de host DNS sean validados.
     </para>
 
@@ -152,21 +152,21 @@ $validator->hostnameValidator->setValidateIdn(false);
     </para>
 
     <para>
-        Por defecto, un nombre de host se cotejará con una lista conocida de TLDs. 
-        Está activado por defecto, aunque puede deshabilitarlo cambiando el 
-        ajuste a través del objeto interno <code>Zend_Validate_Hostname</code> 
+        Por defecto, un nombre de host se cotejará con una lista conocida de TLDs.
+        Está activado por defecto, aunque puede deshabilitarlo cambiando el
+        ajuste a través del objeto interno <code>Zend_Validate_Hostname</code>
         que existe en <code>Zend_Validate_EmailAddress</code>.
 
         <programlisting role="php"><![CDATA[
 $validator->hostnameValidator->setValidateTld(false);
 ]]>
         </programlisting>
-        Encontrará más información sobre el uso de <code>setValidateTld()</code> 
+        Encontrará más información sobre el uso de <code>setValidateTld()</code>
         en la documentación de <code>Zend_Validate_Hostname</code>.
     </para>
 
     <para>
-        Tenga en cuenta que los TLDs se validarán solo si 
+        Tenga en cuenta que los TLDs se validarán solo si
         usted permite que nombres de host DNS sean validados.
     </para>
 

+ 41 - 41
documentation/manual/es/module_specs/Zend_Validate-Hostname.xml

@@ -3,11 +3,11 @@
     <title>Hostname (Nombre de Host)</title>
 
     <para>
-        <code>Zend_Validate_Hostname</code> le permite validar un nombre de host 
-        contra una serie de especificaciones conocidas. 
-        Es posible comprobar por tres diferentes tipos de nombres: 
-        el DNS Hostname (domain.com por ejemplo), dirección IP (es decir 1.2.3.4), 
-        y nombres de host locales (localhost, por ejemplo). 
+        <code>Zend_Validate_Hostname</code> le permite validar un nombre de host
+        contra una serie de especificaciones conocidas.
+        Es posible comprobar por tres diferentes tipos de nombres:
+        el DNS Hostname (domain.com por ejemplo), dirección IP (es decir 1.2.3.4),
+        y nombres de host locales (localhost, por ejemplo).
         Por defecto sólo se comprobarán nombres de host DNS.
     </para>
 
@@ -31,8 +31,8 @@ if ($validator->isValid($hostname)) {
 ]]>
         </programlisting>
 
-        Comprobará el nombre de host <code>$hostname</code> y si fracasa 
-        alimentará a <code>$validator->getMessages()</code> con mensajes de error. 
+        Comprobará el nombre de host <code>$hostname</code> y si fracasa
+        alimentará a <code>$validator->getMessages()</code> con mensajes de error.
     </para>
 
     <para>
@@ -40,22 +40,22 @@ if ($validator->isValid($hostname)) {
     </para>
 
     <para>
-        También se puede encontrar coincidencias de direcciones IP, 
-        nombres de host locales, o una combinación de todos los tipos permitidos. 
-        Esto puede hacerse pasando un parámetro a <code>Zend_Validate_Hostname</code> 
-        cuando lo instancia. 
-        El parámetro debe ser un entero que determina qué tipos de nombres de 
-        host están permitidos. 
-        Se recomienda el uso de las constantes de <code>Zend_Validate_Hostname</code>   
+        También se puede encontrar coincidencias de direcciones IP,
+        nombres de host locales, o una combinación de todos los tipos permitidos.
+        Esto puede hacerse pasando un parámetro a <code>Zend_Validate_Hostname</code>
+        cuando lo instancia.
+        El parámetro debe ser un entero que determina qué tipos de nombres de
+        host están permitidos.
+        Se recomienda el uso de las constantes de <code>Zend_Validate_Hostname</code>
         para hacerlo.
     </para>
 
     <para>
-        Las constantes de <code>Zend_Validate_Hostname</code> son: 
-        <code>ALLOW_DNS</code> para permitir sólo nombres de host DNS, 
-        <code>ALLOW_IP</code> para permitir direcciones IP, 
-        <code>ALLOW_LOCAL</code> para permitir nombres de host de la red local, y 
-        <code>ALLOW_ALL</code> para permitir todos estos tres tipos. 
+        Las constantes de <code>Zend_Validate_Hostname</code> son:
+        <code>ALLOW_DNS</code> para permitir sólo nombres de host DNS,
+        <code>ALLOW_IP</code> para permitir direcciones IP,
+        <code>ALLOW_LOCAL</code> para permitir nombres de host de la red local, y
+        <code>ALLOW_ALL</code> para permitir todos estos tres tipos.
         Para comprobar que direcciones IP puede utilizar, vea el siguiente ejemplo:
         <programlisting role="php"><![CDATA[
 $validator = new Zend_Validate_Hostname(Zend_Validate_Hostname::ALLOW_IP);
@@ -72,8 +72,8 @@ if ($validator->isValid($hostname)) {
     </para>
 
     <para>
-        Usando <code>ALLOW_ALL</code> para aceptar todos los tipos de nombres de 
-        host, también puede combinar estos tipos para realizar combinaciones.  
+        Usando <code>ALLOW_ALL</code> para aceptar todos los tipos de nombres de
+        host, también puede combinar estos tipos para realizar combinaciones.
         Por ejemplo, para aceptar nombres de host DNS y locales, instancie el
         objeto <code>Zend_Validate_Hostname</code> como:
         <programlisting role="php"><![CDATA[
@@ -89,11 +89,11 @@ $validator = new Zend_Validate_Hostname(Zend_Validate_Hostname::ALLOW_DNS |
     </para>
 
     <para>
-        Algunos (ccTLD), es decir países "Country Code Top Level Domains" , como 'de' (Alemania), 
-        aceptan caracteres internacionales como nombres de dominio. 
-        Estos son conocidos como Nombres de Dominio Internacionales 
-        (IDN, por sus siglas en inglés). 
-        Se puede buscar una coincidencia de estos dominios con Zend_Validate_Hostname,   
+        Algunos (ccTLD), es decir países "Country Code Top Level Domains" , como 'de' (Alemania),
+        aceptan caracteres internacionales como nombres de dominio.
+        Estos son conocidos como Nombres de Dominio Internacionales
+        (IDN, por sus siglas en inglés).
+        Se puede buscar una coincidencia de estos dominios con Zend_Validate_Hostname,
         a través de caracteres extendidos que se utilizan en el proceso de validación.
     </para>
 
@@ -133,12 +133,12 @@ $validator = new Zend_Validate_Hostname(Zend_Validate_Hostname::ALLOW_DNS |
         Cotejar dominios IDN es tan simple como usar el validador estándar
         Hostname, ya que este viene habilitado por defecto.
         Si desea desactivar la validación IDN, se puede hacer ya sea pasando un
-        parámetro al constructor Zend_Validate_Hostname o a través del método 
+        parámetro al constructor Zend_Validate_Hostname o a través del método
         <code>$validator->setValidateIdn()</code>.
     </para>
 
     <para>
-        Puede deshabilitar la validación IDN, pasando un segundo parámetro al 
+        Puede deshabilitar la validación IDN, pasando un segundo parámetro al
         constructor Zend_Validate_Hostname de la siguiente manera.
 
         <programlisting role="php"><![CDATA[
@@ -146,17 +146,17 @@ $validator =
     new Zend_Validate_Hostname(Zend_Validate_Hostname::ALLOW_DNS, false);
 ]]>
         </programlisting>
-        Alternativamente puede pasar TRUE o FALSE a <code>$validator->setValidateIdn()</code> 
+        Alternativamente puede pasar TRUE o FALSE a <code>$validator->setValidateIdn()</code>
         para activar o desactivar la validación IDN.
-        Si está tratando de cotejar un nombre de host IDN que actualmente no 
-        está soportado, es probable que falle la validación si tiene caracteres 
-        internacionales en el nombre de host. 
-        Cuando un archivo ccTLD no existe en Zend/Validate/Hostname, especificando 
+        Si está tratando de cotejar un nombre de host IDN que actualmente no
+        está soportado, es probable que falle la validación si tiene caracteres
+        internacionales en el nombre de host.
+        Cuando un archivo ccTLD no existe en Zend/Validate/Hostname, especificando
         los caracteres adicionales se puede realizar una validación normal.
     </para>
 
     <para>
-        Tenga en cuenta que una validación IDN solo se realizará si tiene habilidada 
+        Tenga en cuenta que una validación IDN solo se realizará si tiene habilidada
         la validación para nombres de host DNS.
     </para>
 
@@ -165,12 +165,12 @@ $validator =
     </para>
 
     <para>
-        Por defecto un nombre de host se cotejará con una lista de TLDs conocidos.  
-        Si esta funcionalidad no es necesaria, puede ser desactivada en la misma 
+        Por defecto un nombre de host se cotejará con una lista de TLDs conocidos.
+        Si esta funcionalidad no es necesaria, puede ser desactivada en la misma
         forma que deshabilita el soporte IDN.
-        Puede deshabilitar la validación TLD pasando un tercer parámetro al 
-        constructor Zend_Validate_Hostname. 
-        En el siguiente ejemplo estamos dando respaldo a la validación IDN a través 
+        Puede deshabilitar la validación TLD pasando un tercer parámetro al
+        constructor Zend_Validate_Hostname.
+        En el siguiente ejemplo estamos dando respaldo a la validación IDN a través
         del segundo parámetro.
 
         <programlisting role="php"><![CDATA[
@@ -181,12 +181,12 @@ $validator =
 ]]>
         </programlisting>
 
-        Alternativamente puede pasar TRUE o FALSE a <code>$validator->setValidateTld()</code> 
+        Alternativamente puede pasar TRUE o FALSE a <code>$validator->setValidateTld()</code>
         para activar o desactivar la validación TLD.
     </para>
 
     <para>
-        Tenga en cuenta que una validación de TLDs solo se realizará si tiene habilidada 
+        Tenga en cuenta que una validación de TLDs solo se realizará si tiene habilidada
         la validación para nombres de host DNS.
     </para>
 

+ 33 - 33
documentation/manual/es/module_specs/Zend_Validate-Set.xml

@@ -3,16 +3,16 @@
     <title>Clases de Validación Estándar</title>
 
     <para>
-        Zend Framework viene con un conjunto estándar de clases de validación  
+        Zend Framework viene con un conjunto estándar de clases de validación
         listas para usar.
     </para>
 
     <sect2 id="zend.validate.set.alnum">
         <title>Alnum</title>
         <para>
-            Devuelve <code>true</code> si y sólo si <code>$valor</code> contiene 
-            caracteres alfanuméricos únicamente. 
-            Este validador incluye una opción para considerar también al espacio 
+            Devuelve <code>true</code> si y sólo si <code>$valor</code> contiene
+            caracteres alfanuméricos únicamente.
+            Este validador incluye una opción para considerar también al espacio
             en blanco como caracter válido.
         </para>
     </sect2>
@@ -20,9 +20,9 @@
     <sect2 id="zend.validate.set.alpha">
         <title>Alpha</title>
         <para>
-            Devuelve <code>true</code> si y sólo si <code>$valor</code> sólo 
-            contiene caracteres alfabéticos. 
-            Este validador incluye una opción para considerar también al espacio 
+            Devuelve <code>true</code> si y sólo si <code>$valor</code> sólo
+            contiene caracteres alfabéticos.
+            Este validador incluye una opción para considerar también al espacio
             en blanco como caracter válido.
         </para>
     </sect2>
@@ -30,14 +30,14 @@
     <sect2 id="zend.validate.set.barcode">
         <title>Barcode</title>
         <para>
-            Este validador es instanciado con un tipo de código de barras contra 
+            Este validador es instanciado con un tipo de código de barras contra
             el valor del código de barras que quiere validar.
-            En la actualidad acepta los tipos de código de barras "<code>UPC-A</code>" 
-            (Universal Product Code) y "<code>EAN-13</code>" (European Article Number),  
+            En la actualidad acepta los tipos de código de barras "<code>UPC-A</code>"
+            (Universal Product Code) y "<code>EAN-13</code>" (European Article Number),
             además el método <code>isValid()</code> devuelve verdadero si y solo si
             la entrada valida satisfactoriamente contra el algoritmo de validación
-            del código de barras. 
-            Antes de enviar los datos de entrada al validador, debe asegurarse 
+            del código de barras.
+            Antes de enviar los datos de entrada al validador, debe asegurarse
             de eliminar todos los caracteres distintos a los dígitos cero a nueve (0-9).
         </para>
     </sect2>
@@ -45,11 +45,11 @@
     <sect2 id="zend.validate.set.between">
         <title>Between</title>
         <para>
-            Devuelve <code>true</code> si y sólo si <code>$valor</code> está entre 
-            los valores límites mínimo y máximo. 
-            La comparación es inclusiva por defecto (<code>$valor</code> puede ser 
-            igual a una valor límite), aunque esto puede ser anulado a fin de 
-            hacer una comparación estricta, donde <code>$valor</code> debe ser 
+            Devuelve <code>true</code> si y sólo si <code>$valor</code> está entre
+            los valores límites mínimo y máximo.
+            La comparación es inclusiva por defecto (<code>$valor</code> puede ser
+            igual a una valor límite), aunque esto puede ser anulado a fin de
+            hacer una comparación estricta, donde <code>$valor</code> debe ser
             estrictamente mayor al mínimo y estrictamente menor al máximo.
         </para>
     </sect2>
@@ -57,7 +57,7 @@
     <sect2 id="zend.validate.set.ccnum">
         <title>Ccnum</title>
         <para>
-            Devuelve <code>true</code> si y sólo si <code>$valor</code> sigue el 
+            Devuelve <code>true</code> si y sólo si <code>$valor</code> sigue el
             algoritmo Luhn (mod-10 checksum) para tarjetas de crédito.
         </para>
     </sect2>
@@ -65,11 +65,11 @@
     <sect2 id="zend.validate.set.date">
         <title>Date</title>
         <para>
-            Devuelve <code>true</code> si y sólo si <code>$valor</code> es una 
+            Devuelve <code>true</code> si y sólo si <code>$valor</code> es una
             fecha válida en el formato <code>YYYY-MM-DD</code> (AAAA-MM-DD).
-            Si se usa la opción <code>locale</code> entonces la fecha 
+            Si se usa la opción <code>locale</code> entonces la fecha
             será validada de acuerdo a lo establecido para ese lugar.
-            El formato <code>format</code> es una opción que establece este 
+            El formato <code>format</code> es una opción que establece este
             formato a ser utilizado para la validación.
             Para los detalles acerca de los parámetros opcionales ver en:
             <link linkend="zend.date.others.comparison.table">Zend_Date::isDate()</link>.
@@ -79,8 +79,8 @@
     <sect2 id="zend.validate.set.digits">
         <title>Digits</title>
         <para>
-            Devuelve <code>true</code> si y sólo si <code>$valor</code> contiene 
-            solamente dígitos. 
+            Devuelve <code>true</code> si y sólo si <code>$valor</code> contiene
+            solamente dígitos.
         </para>
     </sect2>
 <!--
@@ -116,7 +116,7 @@
         <title>InArray</title>
         <para>
             Devuelve <code>true</code> si y sólo si <code>$valor</code> se encuentra
-            en un array, y si la opción es estricta entonces también verificará 
+            en un array, y si la opción es estricta entonces también verificará
             el tipo de dato de <code>$valor</code>.
         </para>
     </sect2>
@@ -138,7 +138,7 @@
     <sect2 id="zend.validate.set.less_than">
         <title>LessThan</title>
         <para>
-            Devuelve <code>true</code> si y sólo si <code>$valor</code> es menor 
+            Devuelve <code>true</code> si y sólo si <code>$valor</code> es menor
             al límite máximo.
         </para>
     </sect2>
@@ -161,15 +161,15 @@
     <sect2 id="zend.validate.set.string_length">
         <title>StringLength</title>
         <para>
-            Devuelve <code>true</code> si y sólo si la longitud del string <code>$valor</code> 
-            es por lo menos un mínimo y no mayor a un máximo 
+            Devuelve <code>true</code> si y sólo si la longitud del string <code>$valor</code>
+            es por lo menos un mínimo y no mayor a un máximo
             (cuando la opción max no es <code>null</code>).
-            Desde la versión 1.5.0, el método <code>setMin()</code> lanza una 
-            excepción si la longitud mínima tiene un valor mayor que la longitud 
-            máxima establecida, y el método <code>setMax()</code> lanza una excepción si la 
-            longitud máxima se fija a un valor inferior que la longitud 
-            mínima establecida. Desde la versión 1.0.2, esta clase soporta UTF-8 y a otras 
-            codificaciones, basado en el valor actual de:        
+            Desde la versión 1.5.0, el método <code>setMin()</code> lanza una
+            excepción si la longitud mínima tiene un valor mayor que la longitud
+            máxima establecida, y el método <code>setMax()</code> lanza una excepción si la
+            longitud máxima se fija a un valor inferior que la longitud
+            mínima establecida. Desde la versión 1.0.2, esta clase soporta UTF-8 y a otras
+            codificaciones, basado en el valor actual de:
             <ulink url="http://www.php.net/manual/en/ref.iconv.php#iconv.configuration"><code>iconv.internal_encoding</code></ulink>.
         </para>
     </sect2>

+ 21 - 21
documentation/manual/es/module_specs/Zend_Validate-ValidatorChains.xml

@@ -3,9 +3,9 @@
     <title>Cadenas de Validadores</title>
 
     <para>
-        Frecuentemente deben aplicarse múltiples validaciones a algún valor en 
-        un orden particular. 
-        El siguiente código demuestra una forma de resolver el ejemplo de la 
+        Frecuentemente deben aplicarse múltiples validaciones a algún valor en
+        un orden particular.
+        El siguiente código demuestra una forma de resolver el ejemplo de la
         <link linkend="zend.validate.introduction">introducción</link>, donde el
         nombre de usuario debe tener entre 6 y 12 caracteres alfanuméricos.
 
@@ -27,27 +27,27 @@ if ($validatorChain->isValid($username)) {
 ]]>
         </programlisting>
 
-        Los validadores se ejecutan en el orden en que se agregaron a <code>Zend_Validate</code>. 
-        En el ejemplo anterior, el nombre de usuario, primero se comprueba que 
-        su longitud esté entre 6 y 12 caracteres y luego se controla para garantizar 
-        que sólo contiene caracteres alfanuméricos. 
-        La segunda validación; de caracteres alfanuméricos; se realiza independientemente 
-        de que la primera validación; de longitud entre 6 y 12 caracteres; tenga éxito. 
-        Esto significa que si ambas validaciones fallan, <code>getMessages()</code> 
+        Los validadores se ejecutan en el orden en que se agregaron a <code>Zend_Validate</code>.
+        En el ejemplo anterior, el nombre de usuario, primero se comprueba que
+        su longitud esté entre 6 y 12 caracteres y luego se controla para garantizar
+        que sólo contiene caracteres alfanuméricos.
+        La segunda validación; de caracteres alfanuméricos; se realiza independientemente
+        de que la primera validación; de longitud entre 6 y 12 caracteres; tenga éxito.
+        Esto significa que si ambas validaciones fallan, <code>getMessages()</code>
         devolverá mensajes de fracaso desde ambos validadores.
     </para>
 
     <para>
-        En algunos casos tiene sentido detener la cadena de validación si falla 
-        alguno de los procesos de validación. 
-        <code>Zend_Validate</code> acepta tales casos pasando como segundo 
-        parámetro el método <code>addValidator()</code>. 
-        Poniendo <code>$breakChainOnFailure</code> a <code>true</code>, 
-        el validador agregado quebrará la cadena de ejecución por el fracaso, 
-        que evita correr cualquier otra validación que se decida que es  
-        innecesaria o inapropiada para la situación. 
-        Si el ejemplo anterior fue escrito como sigue, entonces el sistema 
-        de validación alfanumérica no se ejecutará si falla la longitud del 
+        En algunos casos tiene sentido detener la cadena de validación si falla
+        alguno de los procesos de validación.
+        <code>Zend_Validate</code> acepta tales casos pasando como segundo
+        parámetro el método <code>addValidator()</code>.
+        Poniendo <code>$breakChainOnFailure</code> a <code>true</code>,
+        el validador agregado quebrará la cadena de ejecución por el fracaso,
+        que evita correr cualquier otra validación que se decida que es
+        innecesaria o inapropiada para la situación.
+        Si el ejemplo anterior fue escrito como sigue, entonces el sistema
+        de validación alfanumérica no se ejecutará si falla la longitud del
         string de validación:
 
         <programlisting role="php"><![CDATA[
@@ -59,7 +59,7 @@ $validatorChain->addValidator(new Zend_Validate_StringLength(6, 12), true)
     </para>
 
     <para>
-        Cualquier objeto que implemente <code>Zend_Validate_Interface</code> 
+        Cualquier objeto que implemente <code>Zend_Validate_Interface</code>
         puede ser utilizado en una cadena de validación.
     </para>
 

+ 77 - 77
documentation/manual/es/module_specs/Zend_Validate-WritingValidators.xml

@@ -3,54 +3,54 @@
     <title>Escribiendo Validadores</title>
 
     <para>
-        Zend_Validate provee un conjunto de validadores que suelen necesitarse, 
-        pero inevitablemente, los desarrolladores quiere escribir sus propios 
-        validadores personalizados para sus necesidades particulares. 
+        Zend_Validate provee un conjunto de validadores que suelen necesitarse,
+        pero inevitablemente, los desarrolladores quiere escribir sus propios
+        validadores personalizados para sus necesidades particulares.
         La tarea de escribir un validador personalizado se describe en esta sección.
     </para>
 
     <para>
-        <code>Zend_Validate_Interface</code> define tres métodos, isValid(), 
-        getMessages(), y getErrors(), que pueden ser implementadas por clases de usuario 
-        a fin de crear objetos de validación personalizados. 
-        Un objeto que implementa una interfaz <code>Zend_Validate_Interface</code>  
-        puede añadirse a una cadena de validación con <code>Zend_Validate::addValidator()</code>.  
-        Tales objetos también pueden ser usados con  
-        <link linkend="zend.filter.input"><code>Zend_Filter_Input</code></link>. 
+        <code>Zend_Validate_Interface</code> define tres métodos, isValid(),
+        getMessages(), y getErrors(), que pueden ser implementadas por clases de usuario
+        a fin de crear objetos de validación personalizados.
+        Un objeto que implementa una interfaz <code>Zend_Validate_Interface</code>
+        puede añadirse a una cadena de validación con <code>Zend_Validate::addValidator()</code>.
+        Tales objetos también pueden ser usados con
+        <link linkend="zend.filter.input"><code>Zend_Filter_Input</code></link>.
     </para>
 
     <para>
-        De la descripción anterior de <code>Zend_Validate_Interface</code>, podrá inferir 
-        que las clases de validación que proporciona Zend Framework devuelven un 
-        valor booleano para cuando un valor se valida satisfactoriamente o no. 
-        También proporcionan información sobre <emphasis role="bold">por qué</emphasis>  
-        un valor falló en la validación. 
-        La disponibilidad de las razones para los fracasos de validación puede ser 
-        valiosa para una aplicación por diversos motivos, tales como proporcionar 
+        De la descripción anterior de <code>Zend_Validate_Interface</code>, podrá inferir
+        que las clases de validación que proporciona Zend Framework devuelven un
+        valor booleano para cuando un valor se valida satisfactoriamente o no.
+        También proporcionan información sobre <emphasis role="bold">por qué</emphasis>
+        un valor falló en la validación.
+        La disponibilidad de las razones para los fracasos de validación puede ser
+        valiosa para una aplicación por diversos motivos, tales como proporcionar
         estadísticas para análisis de usabilidad.
     </para>
 
     <para>
-        La funcionalidad de los mensajes de validación básica de fallos están 
-        implementados en <code>Zend_Validate_Abstract</code>. 
-        A fin de incluir esta funcionalidad al crear una clase de validación, 
-        simplemente extienda <code>Zend_Validate_Abstract</code>. 
-        En la extensión de la clase deberá aplicar la lógica del método 
-        <code>isValid()</code> y definir las variables y plantillas de mensajes 
-        que correspondan a los tipos de fallos de validación que puedan suceder. 
-        Si falla un valor en su test de validación, entonces <code>isValid()</code> 
-        deberá devolver <code>false</code>. 
-        Si el valor pasa su test de validación, entonces <code>isValid()</code> 
-        deberá devolver <code>true</code>. 
+        La funcionalidad de los mensajes de validación básica de fallos están
+        implementados en <code>Zend_Validate_Abstract</code>.
+        A fin de incluir esta funcionalidad al crear una clase de validación,
+        simplemente extienda <code>Zend_Validate_Abstract</code>.
+        En la extensión de la clase deberá aplicar la lógica del método
+        <code>isValid()</code> y definir las variables y plantillas de mensajes
+        que correspondan a los tipos de fallos de validación que puedan suceder.
+        Si falla un valor en su test de validación, entonces <code>isValid()</code>
+        deberá devolver <code>false</code>.
+        Si el valor pasa su test de validación, entonces <code>isValid()</code>
+        deberá devolver <code>true</code>.
     </para>
 
     <para>
-        En general, el método <code>isValid()</code> no debería arrojar 
-        excepciones, salvo que sea imposible determinar si el valor de entrada 
-        es válido o no. 
-        Algunos ejemplos de casos razonables para lanzar una excepción podría ser 
-        si un archivo no puede abrirse, que un servidor LDAP no pudiera ser 
-        contactado, o una conexión a una base de datos no estuviera disponible. 
+        En general, el método <code>isValid()</code> no debería arrojar
+        excepciones, salvo que sea imposible determinar si el valor de entrada
+        es válido o no.
+        Algunos ejemplos de casos razonables para lanzar una excepción podría ser
+        si un archivo no puede abrirse, que un servidor LDAP no pudiera ser
+        contactado, o una conexión a una base de datos no estuviera disponible.
         Estos son casos en los que puede ser necesario determinar el éxito o
         fracaso de la validación.
     </para>
@@ -60,9 +60,9 @@
         <title>Crear una Clase de Validación sencilla</title>
 
         <para>
-            El siguiente ejemplo demuestra cómo podría escribirse un sencillo 
-            validador personalizado. 
-            En este caso las reglas de validación son simplemente que el valor 
+            El siguiente ejemplo demuestra cómo podría escribirse un sencillo
+            validador personalizado.
+            En este caso las reglas de validación son simplemente que el valor
             de entrada debe ser de punto flotante.
 
             <programlisting role="php"><![CDATA[
@@ -89,14 +89,14 @@ class MyValid_Float extends Zend_Validate_Abstract
 ]]>
             </programlisting>
 
-            La clase define una plantilla para su único mensaje de fallo de 
-            validación, que incluye el mágico parámetro <code>%value%</code>. 
-            La llamada a <code>_setValue()</code> prepara al objeto para insertar 
-            automáticamente en el mensaje de fallo al valor probado, si éste  
-            falla en la validación. 
-            La llamada a <code>_error()</code> sigue las pistas para establecer 
-            una razón por el fracaso de la validación. 
-            Dado que esta clase sólo define un mensaje de fallo, no es necesario 
+            La clase define una plantilla para su único mensaje de fallo de
+            validación, que incluye el mágico parámetro <code>%value%</code>.
+            La llamada a <code>_setValue()</code> prepara al objeto para insertar
+            automáticamente en el mensaje de fallo al valor probado, si éste
+            falla en la validación.
+            La llamada a <code>_error()</code> sigue las pistas para establecer
+            una razón por el fracaso de la validación.
+            Dado que esta clase sólo define un mensaje de fallo, no es necesario
             darle a <code>_error()</code> el nombre de la plantilla del mensaje
             de fallo.
         </para>
@@ -107,10 +107,10 @@ class MyValid_Float extends Zend_Validate_Abstract
 
         <title>Escribiendo una Clase de Validación habiendo Condiciones Dependientes </title>
         <para>
-            El siguiente ejemplo muestra un conjunto de reglas de validación 
-            más complejo, donde es necesario que el valor de entrada ser numérico 
-            y dentro del límite de un rango de valores mínimos y máximos. 
-            Un valor de entrada podría fallar en la validación exactamente por una 
+            El siguiente ejemplo muestra un conjunto de reglas de validación
+            más complejo, donde es necesario que el valor de entrada ser numérico
+            y dentro del límite de un rango de valores mínimos y máximos.
+            Un valor de entrada podría fallar en la validación exactamente por una
             de las siguientes razones:
 
             <itemizedlist>
@@ -175,27 +175,27 @@ class MyValid_NumericBetween extends Zend_Validate_Abstract
 ]]>
             </programlisting>
 
-            Las propiedades públicas <code>$minimum</code> y <code>$maximum</code> 
-            se han establecido para proporcionar los límites mínimo y máximo, 
-            respectivamente, de un valor a validar. 
-            La clase también define dos variables de mensajes que corresponden a 
-            las propiedades públicas y permiten usar <code>min</code> y <code>max</code> 
-            en plantillas de mensajes como parámetros mágicos, al igual que con  
+            Las propiedades públicas <code>$minimum</code> y <code>$maximum</code>
+            se han establecido para proporcionar los límites mínimo y máximo,
+            respectivamente, de un valor a validar.
+            La clase también define dos variables de mensajes que corresponden a
+            las propiedades públicas y permiten usar <code>min</code> y <code>max</code>
+            en plantillas de mensajes como parámetros mágicos, al igual que con
             <code>value</code>.
         </para>
 
         <para>
-        
-            Tenga en cuenta que si cualquiera de las comprobaciones de validación 
-            falla en <code>isValid()</code>, ya está preparado un mensaje apropiado, 
+
+            Tenga en cuenta que si cualquiera de las comprobaciones de validación
+            falla en <code>isValid()</code>, ya está preparado un mensaje apropiado,
             y el método inmediatamente devuelve <code>false</code>.
-            Estas reglas de validación son por lo tanto secuencialmente dependientes. 
-            Es decir, si uno de los tests falla, no hay necesidad de poner a 
-            prueba las posteriores reglas de validación. 
-            Sin embargo, esta necesidad no será el caso. 
-            El siguiente ejemplo ilustra cómo escribir una clase con reglas de 
-            validación independientes, donde el objeto validación puede devolver 
-            múltiples razones por las cuales fracasó un intento de validación en 
+            Estas reglas de validación son por lo tanto secuencialmente dependientes.
+            Es decir, si uno de los tests falla, no hay necesidad de poner a
+            prueba las posteriores reglas de validación.
+            Sin embargo, esta necesidad no será el caso.
+            El siguiente ejemplo ilustra cómo escribir una clase con reglas de
+            validación independientes, donde el objeto validación puede devolver
+            múltiples razones por las cuales fracasó un intento de validación en
             particular.
         </para>
 
@@ -205,10 +205,10 @@ class MyValid_NumericBetween extends Zend_Validate_Abstract
 
         <title>Validación con Condiciones Independientes, Múltiples Razones del Fracaso</title>
         <para>
-            Considere escribir una clase de validación y control de 
-            contraseñas - cuando es necesario que un usuario elija una 
-            contraseña que cumple determinados criterios para ayudar a tener  
-            cuentas de usuario seguras. Supongamos que la seguridad de la contraseña 
+            Considere escribir una clase de validación y control de
+            contraseñas - cuando es necesario que un usuario elija una
+            contraseña que cumple determinados criterios para ayudar a tener
+            cuentas de usuario seguras. Supongamos que la seguridad de la contraseña
             aplica criterios que fuerzan a lo siguiente:
 
             <itemizedlist>
@@ -277,14 +277,14 @@ class MyValid_PasswordStrength extends Zend_Validate_Abstract
 ]]>
             </programlisting>
 
-            Las cuatro pruebas de criterio en <code>isValid()</code> no devuelven 
-            inmediatamente <code>false</code>. 
-            Esto permite a la clase de validación a proporcionar <emphasis role="bold">todas</emphasis> 
-            las razones por las que la contraseña de entrada no cumplió los requisitos 
-            de validación. 
-            Si, por ejemplo, un usuario ingresara el string "<code>#$%</code>" 
-            como contraseña, <code>isValid()</code> causaría que los cuatro 
-            mensajes de fracaso de validación sean devueltos por un llamado posterior 
+            Las cuatro pruebas de criterio en <code>isValid()</code> no devuelven
+            inmediatamente <code>false</code>.
+            Esto permite a la clase de validación a proporcionar <emphasis role="bold">todas</emphasis>
+            las razones por las que la contraseña de entrada no cumplió los requisitos
+            de validación.
+            Si, por ejemplo, un usuario ingresara el string "<code>#$%</code>"
+            como contraseña, <code>isValid()</code> causaría que los cuatro
+            mensajes de fracaso de validación sean devueltos por un llamado posterior
             a <code>getMessages()</code>.
         </para>
 

+ 70 - 70
documentation/manual/es/module_specs/Zend_Validate.xml

@@ -3,8 +3,8 @@
     <title>Introducción</title>
 
     <para>
-        Cuando se necesita validar algún tipo de dato, el componente Zend_Validate ofrece un conjunto de validadores, 
-        como así también un sencillo mecanismo de encadenado de validaciones por el cual 
+        Cuando se necesita validar algún tipo de dato, el componente Zend_Validate ofrece un conjunto de validadores,
+        como así también un sencillo mecanismo de encadenado de validaciones por el cual
         múltiples validadores pueden aplicarse a un dato en un orden definido por el usuario.
     </para>
 
@@ -13,20 +13,20 @@
         <title>¿Qué es un validador?</title>
 
         <para>
-            Un validador examina su entrada con respecto a algunos requerimientos  
-            y produce un resultado booleano si la entrada valida satisfactoriamente 
-            con los requisitos. Si la entrada no cumple los requisitos, 
-            un validador también podrá proporcionar información adicional 
+            Un validador examina su entrada con respecto a algunos requerimientos
+            y produce un resultado booleano si la entrada valida satisfactoriamente
+            con los requisitos. Si la entrada no cumple los requisitos,
+            un validador también podrá proporcionar información adicional
             sobre que requisito(s) no son satisfechos.
         </para>
 
         <para>
             Por ejemplo, una aplicación web podría requerir que un usuario ingrese
-            su nombre, de entre seis y doce caracteres de longitud y 
-            que sólo puede contener caracteres alfanuméricos. 
-            Se puede usar un validador para asegurar que los usuarios cumplan 
-            estos requisitos. 
-            Si el nombre de usuario elegido no cumple con uno o ambos de los requisitos, 
+            su nombre, de entre seis y doce caracteres de longitud y
+            que sólo puede contener caracteres alfanuméricos.
+            Se puede usar un validador para asegurar que los usuarios cumplan
+            estos requisitos.
+            Si el nombre de usuario elegido no cumple con uno o ambos de los requisitos,
             sería útil saber cuál de estos requisitos no se cumple.
         </para>
 
@@ -37,35 +37,35 @@
         <title>Uso básico de validadores</title>
 
         <para>
-            Habiendo definido la validación de esta manera, Zend Framework nos proporciona el fundamento 
-            para <code>Zend_Validate_Interface</code> que define dos métodos, 
-            <code>isValid()</code> y <code>getMessages()</code>. 
-            El método <code>isValid()</code> realiza la validación del valor, 
-            devolviendo <code>true</code> si y sólo si el valor pasa contra el criterio de 
+            Habiendo definido la validación de esta manera, Zend Framework nos proporciona el fundamento
+            para <code>Zend_Validate_Interface</code> que define dos métodos,
+            <code>isValid()</code> y <code>getMessages()</code>.
+            El método <code>isValid()</code> realiza la validación del valor,
+            devolviendo <code>true</code> si y sólo si el valor pasa contra el criterio de
             validación.
         </para>
 
         <para>
-            Si <code>isValid()</code> devuelve <code>false</code>, la función 
-            <code>getMessages()</code> devuelve un array de mensajes explicando 
-            el motivo(s) del fracaso de la validación. Las claves del array son 
-            strings cortos que identifican las razones por las cuales fracasó 
-            la validación, y los valores del array son los correspondientes mensajes  
-            para ser leídos por un ser humano. 
-            Las claves y los valores son dependientes de la clase; cada clase de validación 
-            define su propio conjunto de mensajes de validación fallidas y las 
-            claves únicas que las identifican. 
-            Cada clase tiene también una definición <code>const</code>  
-            que hace corresponder a cada identificador con una causa del fallo 
+            Si <code>isValid()</code> devuelve <code>false</code>, la función
+            <code>getMessages()</code> devuelve un array de mensajes explicando
+            el motivo(s) del fracaso de la validación. Las claves del array son
+            strings cortos que identifican las razones por las cuales fracasó
+            la validación, y los valores del array son los correspondientes mensajes
+            para ser leídos por un ser humano.
+            Las claves y los valores son dependientes de la clase; cada clase de validación
+            define su propio conjunto de mensajes de validación fallidas y las
+            claves únicas que las identifican.
+            Cada clase tiene también una definición <code>const</code>
+            que hace corresponder a cada identificador con una causa del fallo
             de validación.
         </para>
 
         <note>
             <para>
-               El método <code>getMessages()</code> devuelve información del fracaso 
-               de la validación sólo para la llamada más reciente a <code>isValid()</code>. 
-               Cada llamada a <code>isValid()</code> borra los mensajes y errores 
-               causados por una llamada anterior <code>isValid()</code>, porque es 
+               El método <code>getMessages()</code> devuelve información del fracaso
+               de la validación sólo para la llamada más reciente a <code>isValid()</code>.
+               Cada llamada a <code>isValid()</code> borra los mensajes y errores
+               causados por una llamada anterior <code>isValid()</code>, porque es
                probable que cada llamada a <code>isValid()</code> se refiera al valor de una entrada diferente.
             </para>
         </note>
@@ -96,31 +96,31 @@ if ($validator->isValid($email)) {
         <title>Personalizar los mensajes</title>
 
         <para>
-           Para validar las clases se proporciona un método <code>setMessage()</code> 
-           con el que se puede especificar el formato de un mensaje devuelto por 
-           <code>getMessages()</code> en caso de fallo de validación. 
-           El primer argumento de este método es un string que contiene el mensaje 
-           de error. Usted puede incluir tokens en este array que serán sustituidos 
-           con datos relevantes al validador. El token <code>%value%</code> es aceptado 
-           por todos los validadores, que es sustituido por el valor que pasó a 
+           Para validar las clases se proporciona un método <code>setMessage()</code>
+           con el que se puede especificar el formato de un mensaje devuelto por
+           <code>getMessages()</code> en caso de fallo de validación.
+           El primer argumento de este método es un string que contiene el mensaje
+           de error. Usted puede incluir tokens en este array que serán sustituidos
+           con datos relevantes al validador. El token <code>%value%</code> es aceptado
+           por todos los validadores, que es sustituido por el valor que pasó a
            <code>isValid()</code>. Cada clase de validación, puede dar apoyo a otros
-           tokens en base a cada caso. Por ejemplo, <code>%max%</code> es un token 
-           apoyado por <code>Zend_Validate_LessThan</code>. 
-           El método <code>getMessageVariables()</code> devuelve un array de tokens 
+           tokens en base a cada caso. Por ejemplo, <code>%max%</code> es un token
+           apoyado por <code>Zend_Validate_LessThan</code>.
+           El método <code>getMessageVariables()</code> devuelve un array de tokens
            variables aceptados por el validador.
         </para>
 
         <para>
-            El segundo argumento opcional es un string que identifica la plantilla 
-            de mensajes que se establecerá en caso del fracaso de la validación, 
-            lo que es útil cuando una clase de validación define más de una causa para 
-            el fallo. 
-            Si omite el segundo argumento, <code>setMessage()</code> asume que el 
+            El segundo argumento opcional es un string que identifica la plantilla
+            de mensajes que se establecerá en caso del fracaso de la validación,
+            lo que es útil cuando una clase de validación define más de una causa para
+            el fallo.
+            Si omite el segundo argumento, <code>setMessage()</code> asume que el
             mensaje que especifique debe ser utilizado por la plantilla del
             primer mensaje que declaró en la clase de validación.
-            Muchas clases de validación sólo definen una plantilla de mensaje de 
-            error, así que no hay necesidad de especificar el cambio de plantilla 
-            de mensaje. 
+            Muchas clases de validación sólo definen una plantilla de mensaje de
+            error, así que no hay necesidad de especificar el cambio de plantilla
+            de mensaje.
         </para>
 
         <para>
@@ -143,7 +143,7 @@ if (!$validator->isValid('word')) {
         </para>
 
         <para>
-            Puede establecer varios mensajes usando el método <code>setMessages()</code>. 
+            Puede establecer varios mensajes usando el método <code>setMessages()</code>.
             Su argumento es un array que contiene pares de clave/mensaje.
 
             <programlisting role="php"><![CDATA[
@@ -161,14 +161,14 @@ $validator->setMessages( array(
         </para>
 
         <para>
-            Incluso, si su aplicación requiere una mayor flexibilidad para informar 
-            los fallos de validación, puede acceder a las propiedades por el 
-            mismo nombre, tal como los tokens de mensajes apoyados por una determinada 
+            Incluso, si su aplicación requiere una mayor flexibilidad para informar
+            los fallos de validación, puede acceder a las propiedades por el
+            mismo nombre, tal como los tokens de mensajes apoyados por una determinada
             clase de validación.
-            La propiedad <code>value</code> siempre está disponible en un validador; 
-            es el valor que especificó en el argumento de <code>isValid()</code>. 
-            En cada clase de validación se puede dar apoyo a otras propiedades 
-            basándose en el esquema de caso por caso. 
+            La propiedad <code>value</code> siempre está disponible en un validador;
+            es el valor que especificó en el argumento de <code>isValid()</code>.
+            En cada clase de validación se puede dar apoyo a otras propiedades
+            basándose en el esquema de caso por caso.
 
             <programlisting role="php"><![CDATA[
 $validator = new Zend_Validate_StringLength(8, 12);
@@ -193,14 +193,14 @@ if (!validator->isValid('word')) {
         <title>Utilizando el método estático <code>is()</code> </title>
 
         <para>
-            Si es inconveniente cargar una clase de validación y crear una 
-            instancia del validador, puede usar el método estático 
+            Si es inconveniente cargar una clase de validación y crear una
+            instancia del validador, puede usar el método estático
             <code>Zend_Validate::is()</code> como un estilo alternativo de invocación.
-            El primer argumento de este método es el valor de una entrada de datos  
-            que usted pasaría al método <code>isValid()</code>. 
-            El segundo argumento es un string, que corresponde al nombre base 
+            El primer argumento de este método es el valor de una entrada de datos
+            que usted pasaría al método <code>isValid()</code>.
+            El segundo argumento es un string, que corresponde al nombre base
             de la clase de validación, relativo al nombre de espacio <code>Zend_Validate</code>.
-            El método <code>is()</code> carga automáticamente la clase, crea una 
+            El método <code>is()</code> carga automáticamente la clase, crea una
             instancia y aplica el método <code>isValid()</code> a la entrada de datos.
 
             <programlisting role="php"><![CDATA[
@@ -225,24 +225,24 @@ if (Zend_Validate::is($value, 'Between', array(1, 12))) {
         </para>
 
         <para>
-            El método <code>is()</code> devuelve un valor booleano, lo mismo que 
-            el método <code>isValid()</code>. Cuando se utiliza el método estático 
+            El método <code>is()</code> devuelve un valor booleano, lo mismo que
+            el método <code>isValid()</code>. Cuando se utiliza el método estático
             <code>is()</code>, no están disponibles los mensajes de fracaso de
             validación.
         </para>
 
         <para>
-            El uso estático puede ser conveniente para invocar un validador ad-hoc  
-            (hecho especialmente), pero si tiene la necesidad de ejecutar el validador para múltiples 
+            El uso estático puede ser conveniente para invocar un validador ad-hoc
+            (hecho especialmente), pero si tiene la necesidad de ejecutar el validador para múltiples
             entradas, es más eficiente usar métodos no estáticos, creando una
             instancia del objeto validador y llamando a su método <code>isValid()</code>.
         </para>
 
         <para>
-            También la clase <code>Zend_Filter_Input</code> le permite crear 
+            También la clase <code>Zend_Filter_Input</code> le permite crear
             ejemplos y ejecutar múltiples filtros y clases de validadores por
-            demanda, para procesar juegos de datos de entrada. Ver 
-            <xref linkend="zend.filter.input" />.        
+            demanda, para procesar juegos de datos de entrada. Ver
+            <xref linkend="zend.filter.input" />.
         </para>
 
     </sect2>

Некоторые файлы не были показаны из-за большого количества измененных файлов