Ver código fonte

[DOCUMENTATION SPANISH] News Files and updates

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@15609 44c647ce-9c0f-0410-b52a-842ac1e357ba
benjamin-gonzales 16 anos atrás
pai
commit
e62f25b0c9
56 arquivos alterados com 1921 adições e 1841 exclusões
  1. 12 11
      documentation/manual/es/module_specs/Zend_Acl-Advanced.xml
  2. 16 13
      documentation/manual/es/module_specs/Zend_Acl-Refining.xml
  3. 17 14
      documentation/manual/es/module_specs/Zend_Acl.xml
  4. 44 69
      documentation/manual/es/module_specs/Zend_Amf-Server.xml
  5. 5 2
      documentation/manual/es/module_specs/Zend_Amf.xml
  6. 4 1
      documentation/manual/es/module_specs/Zend_Application-AvailableResources-Db.xml
  7. 2 0
      documentation/manual/es/module_specs/Zend_Application-AvailableResources-Frontcontroller.xml
  8. 3 0
      documentation/manual/es/module_specs/Zend_Application-AvailableResources-Modules.xml
  9. 1 0
      documentation/manual/es/module_specs/Zend_Application-AvailableResources-Session.xml
  10. 1 0
      documentation/manual/es/module_specs/Zend_Application-AvailableResources-View.xml
  11. 17 16
      documentation/manual/es/module_specs/Zend_Application-Examples.xml
  12. 13 1
      documentation/manual/es/module_specs/Zend_Application-QuickStart.xml
  13. 15 0
      documentation/manual/es/module_specs/Zend_Application-TheoryOfOperation.xml
  14. 50 58
      documentation/manual/es/module_specs/Zend_Auth.xml
  15. 13 13
      documentation/manual/es/module_specs/Zend_Cache-Introduction.xml
  16. 5 2
      documentation/manual/es/module_specs/Zend_Captcha.xml
  17. 9 0
      documentation/manual/es/module_specs/Zend_CodeGenerator-Examples.xml
  18. 4 0
      documentation/manual/es/module_specs/Zend_CodeGenerator-Introduction.xml
  19. 16 17
      documentation/manual/es/module_specs/Zend_Config-Introduction.xml
  20. 20 18
      documentation/manual/es/module_specs/Zend_Config-TheoryOfOperation.xml
  21. 11 11
      documentation/manual/es/module_specs/Zend_Config_Ini.xml
  22. 18 17
      documentation/manual/es/module_specs/Zend_Config_Writer.xml
  23. 43 11
      documentation/manual/es/module_specs/Zend_Config_Xml.xml
  24. 7 14
      documentation/manual/es/module_specs/Zend_Controller-QuickStart.xml
  25. 17 15
      documentation/manual/es/module_specs/Zend_Date-Introduction.xml
  26. 253 296
      documentation/manual/es/module_specs/Zend_Db_Adapter.xml
  27. 9 8
      documentation/manual/es/module_specs/Zend_Db_Profiler-Firebug.xml
  28. 33 43
      documentation/manual/es/module_specs/Zend_Db_Profiler.xml
  29. 102 127
      documentation/manual/es/module_specs/Zend_Db_Select.xml
  30. 20 28
      documentation/manual/es/module_specs/Zend_Db_Statement.xml
  31. 50 63
      documentation/manual/es/module_specs/Zend_Db_Table-Relationships.xml
  32. 109 151
      documentation/manual/es/module_specs/Zend_Db_Table.xml
  33. 20 3
      documentation/manual/es/module_specs/Zend_Db_Table_Row.xml
  34. 33 45
      documentation/manual/es/module_specs/Zend_Db_Table_Rowset.xml
  35. 10 9
      documentation/manual/es/module_specs/Zend_Debug.xml
  36. 28 17
      documentation/manual/es/module_specs/Zend_Exception.xml
  37. 117 128
      documentation/manual/es/module_specs/Zend_Form-Advanced.xml
  38. 17 19
      documentation/manual/es/module_specs/Zend_Form-Decorators.xml
  39. 94 90
      documentation/manual/es/module_specs/Zend_Form-Elements.xml
  40. 75 114
      documentation/manual/es/module_specs/Zend_Form-Forms.xml
  41. 21 22
      documentation/manual/es/module_specs/Zend_Form-I18n.xml
  42. 6 3
      documentation/manual/es/module_specs/Zend_Form-Introduction.xml
  43. 51 74
      documentation/manual/es/module_specs/Zend_Form-QuickStart.xml
  44. 19 21
      documentation/manual/es/module_specs/Zend_Form-StandardDecorators.xml
  45. 220 124
      documentation/manual/es/module_specs/Zend_Form-StandardElements.xml
  46. 5 2
      documentation/manual/es/module_specs/Zend_Layout-Introduction.xml
  47. 18 21
      documentation/manual/es/module_specs/Zend_Loader.xml
  48. 1 1
      documentation/manual/es/module_specs/Zend_Tool_Framework-CliTool.xml
  49. 1 1
      documentation/manual/es/module_specs/Zend_Tool_Framework-WritingProviders.xml
  50. 27 29
      documentation/manual/es/module_specs/Zend_Validate-EmailAddress.xml
  51. 17 19
      documentation/manual/es/module_specs/Zend_Validate-Hostname.xml
  52. 72 8
      documentation/manual/es/module_specs/Zend_Validate-Set.xml
  53. 7 6
      documentation/manual/es/module_specs/Zend_Validate-ValidatorChains.xml
  54. 14 14
      documentation/manual/es/module_specs/Zend_Validate-WritingValidators.xml
  55. 80 18
      documentation/manual/es/module_specs/Zend_Validate.xml
  56. 29 34
      documentation/manual/es/module_specs/Zend_XmlRpc_Client.xml

+ 12 - 11
documentation/manual/es/module_specs/Zend_Acl-Advanced.xml

@@ -1,4 +1,7 @@
-<sect1 id="zend.acl.advanced">
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15103 -->
+<!-- Reviewed: no -->
+<sect1 id="zend.acl.advanced">
 
     <title>Uso Avanzado</title>
 
@@ -7,14 +10,14 @@
         <title>Almacenamiento Permanente de los Datos ACL</title>
 
         <para>
-            Zend_Acl fue diseñado de tal manera que no requiere ninguna
+            <classname>Zend_Acl</classname> fue diseñado de tal manera que no requiere ninguna
             tecnología particular como bases de datos o un servidor de
             cache para el almacenamiento de datos ACL. Al poseer una
             implementación completamente construida en PHP, es posible
             contruir herramientas de administración personalizadas sobre
-            Zend_Acl con relativa facilidad y flexibilidad. En muchas
+            <classname>Zend_Acl</classname> con relativa facilidad y flexibilidad. En muchas
             situaciones se requiere alguna forma de mantenimiento
-            interactivo de una ACL, y Zend_Acl provee métodos para
+            interactivo de una ACL, y <classname>Zend_Acl</classname> provee métodos para
             configurar, y consultar, los controles de acceso de una
             aplicación.
         </para>
@@ -22,7 +25,7 @@
         <para>
             El almacenamiento de los datos ACL es una tarea que se
             delega al desarrollador, puesto que la utilización variará
-            exténsamente en distintas situaciones. Dado que Zend_Acl es
+            exténsamente en distintas situaciones. Dado que <classname>Zend_Acl</classname> es
             serializable, los objetos ACL pueden serializarse con la
             función
             <ulink url="http://php.net/serialize">
@@ -47,13 +50,13 @@
             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
+            ha marcado como una fuente de abusos. <classname>Zend_Acl</classname> 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
+        <classname>Zend_Acl</classname> 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
@@ -77,8 +80,7 @@ class CleanIPAssertion implements Zend_Acl_Assert_Interface
         // ...
     }
 }
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             Una vez la clase de aserción esta disponible, el desarrollador puede
@@ -90,8 +92,7 @@ class CleanIPAssertion implements Zend_Acl_Assert_Interface
         <programlisting role="php"><![CDATA[
 $acl = new Zend_Acl();
 $acl->allow(null, null, null, new CleanIPAssertion());
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             El código anterior crea una regla condicional que permite el acceso a

+ 16 - 13
documentation/manual/es/module_specs/Zend_Acl-Refining.xml

@@ -1,3 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15103 -->
+<!-- Reviewed: no -->
 <sect1 id="zend.acl.refining">
 
     <title>Perfeccionamiento de los controles de acceso</title>
@@ -38,8 +41,8 @@
 
         <programlisting role="php"><![CDATA[
  // El nuevo grupo de Marketing hereda los permisos de Staff
- $acl->addRole(new Zend_Acl_Role('marketing'), 'staff'); ]]>
-        </programlisting>
+ $acl->addRole(new Zend_Acl_Role('marketing'), 'staff');
+]]></programlisting>
 
         <para>
             A continuación, la nota que por encima de los controles de
@@ -60,15 +63,16 @@
  $acl->add(new Zend_Acl_Resource('latest'), 'news');
 
  // anuncio de noticias
- $acl->add(new Zend_Acl_Resource('announcement'), 'news'); ]]>
-        </programlisting>
+ $acl->add(new Zend_Acl_Resource('announcement'), 'news');
+]]></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>
 
-        <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',
@@ -81,8 +85,8 @@
 
  // Todos (incluyendo los administradores) tienen permiso denegado para
  // archivar anuncios y noticias
- $acl->deny(null, 'announcement', 'archive'); ]]>
-        </programlisting>
+ $acl->deny(null, 'announcement', 'archive');
+]]></programlisting>
 
         <para>
             Ahora podemos consultar el ACL con respecto a los últimos
@@ -121,8 +125,8 @@
  echo $acl->isAllowed('administrator', 'announcement', 'archive') ?
  "allowed" : "denied";
  // denegado
- ]]>
-        </programlisting>
+
+]]></programlisting>
 
     </sect2>
 
@@ -161,8 +165,8 @@ echo $acl->isAllowed('marketing', 'newsletter', 'archive') ?
 "allowed" : "denied";
 
 // denegado
- ]]>
-        </programlisting>
+
+]]></programlisting>
 
         <para>
             Los privilegios pueden ser modificados de manera incremental como se
@@ -186,8 +190,7 @@ echo $acl->isAllowed('marketing', 'latest', 'archive') ?
 echo $acl->isAllowed('marketing', 'latest', 'anything') ?
 "allowed" : "denied";
 // permitido
-]]>
-        </programlisting>
+]]></programlisting>
 
     </sect2>
 

+ 17 - 14
documentation/manual/es/module_specs/Zend_Acl.xml

@@ -1,4 +1,7 @@
-<sect1 id="zend.acl.introduction">
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15103 -->
+<!-- Reviewed: no -->
+<sect1 id="zend.acl.introduction">
     <title>Introducción</title>
     <para>
         <classname>Zend_Acl</classname> provee la implementación de un sistema simple y
@@ -14,21 +17,21 @@
             <listitem>
                 <para>
                     Un
-                    <emphasis role="strong">recurso</emphasis>
+                    <emphasis>recurso</emphasis>
                     es un objeto al cual el acceso esta controlado.
                 </para>
             </listitem>
             <listitem>
                 <para>
                     Un
-                    <emphasis role="strong">rol</emphasis>
+                    <emphasis>rol</emphasis>
                     es un objeto que puede solicitar acceso a un
                     recurso.
                 </para>
             </listitem>
         </itemizedlist>
         En términos generales,
-        <emphasis role="strong">
+        <emphasis>
             Los roles solicitan acceso a los recursos
         </emphasis>
         . Por ejemplo, si una persona solicita acceso a un automóvil,
@@ -169,8 +172,8 @@ $acl->add(new Zend_Acl_Resource('unRecurso'));
 $acl->deny('invitado', 'unRecurso');
 $acl->allow('miembro', 'unRecurso');
 
-echo $acl->isAllowed('unUsuario', 'unRecurso') ? 'permitido' : 'denegado';]]>
-            </programlisting>
+echo $acl->isAllowed('unUsuario', 'unRecurso') ? 'permitido' : 'denegado';
+]]></programlisting>
             <para>
                 Ya que no hay reglas específicamente definidas para
                 el rol "
@@ -244,8 +247,8 @@ echo $acl->isAllowed('unUsuario', 'unRecurso') ? 'permitido' : 'denegado';]]>
         <programlisting role="php"><![CDATA[
 require_once 'Zend/Acl.php';
 
-$acl = new Zend_Acl();]]>
-        </programlisting>
+$acl = new Zend_Acl();
+]]></programlisting>
 
         <note>
             <para>
@@ -348,8 +351,8 @@ $rolInvitado = $acl->addRole(new Zend_Acl_Role('personal'), 'invitado');
 $acl->addRole(new Zend_Acl_Role('editor'), 'personal');
 
 // Administrador no hereda controles de acceso
-$acl->addRole(new Zend_Acl_Role('administrador'));]]>
-        </programlisting>
+$acl->addRole(new Zend_Acl_Role('administrador'));
+]]></programlisting>
 
     </sect2>
 
@@ -403,8 +406,8 @@ $acl->allow('personal', null, array('editar', 'enviar', 'revisar'));
 $acl->allow('editor', null, array('publicar', 'archivar', 'eliminar'));
 
 // Administrador no hereda nada, pero tiene todos los privilegios permitidos
-$acl->allow('administrador');]]>
-        </programlisting>
+$acl->allow('administrador');
+]]></programlisting>
 
         <para>
             El valor
@@ -452,8 +455,8 @@ echo $acl->isAllowed('administrador') ?
      "permitido" : "denegado"; // permitido porque administrador tiene permitidos todos los privilegios
 
 echo $acl->isAllowed('administrador', null, 'actualizar') ?
-     "permitido" : "denegado"; // permitido porque administrador tiene permitidos todos los privilegios]]>
-        </programlisting>
+     "permitido" : "denegado"; // permitido porque administrador tiene permitidos todos los privilegios
+]]></programlisting>
     </sect2>
 </sect1>
 <!--

+ 44 - 69
documentation/manual/es/module_specs/Zend_Amf-Server.xml

@@ -1,8 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15103 -->
+<!-- Reviewed: no -->
 <sect1 id="zend.amf.server">
     <title>Zend_Amf_Server</title>
 
     <para>
-        <code>Zend_Amf_Server</code> proporciona un servidor al estilo RPC para
+        <classname>Zend_Amf_Server</classname> proporciona un servidor al estilo RPC para
         tramitar solicitudes hechas desde Adobe Flash Player utilizando el protocolo AMF.
         Al igual que todas las clases de servidor, Zend Framework sigue la API de
         SoapServer, proporcionando una interfaz para crear servidores fácil de recordar.
@@ -23,8 +26,7 @@ $servidor = new Zend_Amf_Server();
 $servidor->setClass('Foo');
 $respuesta = $servidor->handle();
 echo $respuesta;
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             Alternativamente, en su lugar puede elegir agregar una función simple como
@@ -36,8 +38,7 @@ $servidor = new Zend_Amf_Server();
 $servidor->addFunction('myUberCoolFunction');
 $respuesta = $servidor->handle();
 echo $respuesta;
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             También puede combinar y examinar la identidad de varias clases y funciones.
@@ -54,11 +55,10 @@ $servidor->addFunction('myUberCoolFunction', 'my')
        ->setClass('Bar', 'bar');
 $respuesta = $servidor->handle();
 echo $respuesta;
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
-        El <code>Zend_Amf_Server</code> también permite cargar servicios
+        El <classname>Zend_Amf_Server</classname> también permite cargar servicios
         dinámicamente, en función de una ruta de directorio ya suministrada.
         Puede añadir al servidor tantos directorios como desee.
         El orden en que se añadan los directorios al servidor será el orden en que
@@ -70,8 +70,7 @@ echo $respuesta;
         <programlisting role="php"><![CDATA[
 $servidor->addDirectory(dirname(__FILE__) .'/../services/');
 $servidor->addDirectory(dirname(__FILE__) .'/../package/');
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
         Cuando se llama a servicios remotos, los nombres de los directorios que
@@ -113,8 +112,7 @@ function holaMundo($ombre, $saludo = 'Hola')
 {
     return $saludo . ', ' . $nombre;
 }
-]]>
-        </programlisting>
+]]></programlisting>
 
         <programlisting role="php"><![CDATA[
 // Clase agregada
@@ -131,8 +129,7 @@ class Mundo
         return $saludo . ', ' . $nombre;
     }
 }
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             Pueden usarse otras anotaciones, pero serán ignoradas.
@@ -143,9 +140,9 @@ class Mundo
         <title>Conectándose al Servidor desde Flex</title>
 
         <para>
-            Conectarse a <code>Zend_Amf_Server</code> desde su proyecto Flex
+            Conectarse a <classname>Zend_Amf_Server</classname> desde su proyecto Flex
             es bastante simple; solo necesita apuntar el final del URI
-            a su script <code>Zend_Amf_Server</code>.
+            a su script <classname>Zend_Amf_Server</classname>.
         </para>
 
         <para>
@@ -219,13 +216,12 @@ class Mundo
         </channel-definition>
     </channels>
 </services-config>
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             Hay dos puntos clave en el ejemplo.
             En primer lugar, pero último en el listado, creamos un canal AMF,
-            y especificamos el punto final como la URL a nuestro <code>Zend_Amf_Server</code>:
+            y especificamos el punto final como la URL a nuestro <classname>Zend_Amf_Server</classname>:
         </para>
 
         <programlisting role="xml"><![CDATA[
@@ -233,8 +229,7 @@ class Mundo
     <endpoint uri="http://example.com/server.php"
         class="flex.messaging.endpoints.AMFEndpoint"/>
 </channel-definition>
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             Advierta que a este canal le hemos dado un identificador, "zend-endpoint".
@@ -251,24 +246,20 @@ class Mundo
 <mx:RemoteObject id="myservice"
     fault="faultHandler(event)"
     showBusyCursor="true"
-    source="RoundTrip"
     destination="zend">
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             Aquí, hemos definido un nuevo objeto remoto identificado por "myservice"
             vinculado destino de servicio "zend" que hemos definido en el fichero
             <code>services-config.xml</code>. Entonces invocamos sus métodos en
             nuestro ActionScript simplemente llamando a "myservice.&lt;method&gt;".
-            (En este caso, el código original "RoundTrip" es el nombre de nuestra
-            aplicación Flex). Un ejemplo:
+            . A modo de ejemplo:
         </para>
 
         <programlisting role="ActionScript"><![CDATA[
 myservice.hello("Wade");
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             Cuando se usan nombres-de-espacio, puede usarse
@@ -277,8 +268,7 @@ myservice.hello("Wade");
 
         <programlisting role="ActionScript"><![CDATA[
 myservice.world.hello("Wade");
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             Para más información sobre como invocar a Flex RemoteObject visite el
@@ -311,18 +301,16 @@ myservice.world.hello("Wade");
         </para>
 
         <programlisting role="php"><![CDATA[
-$servidor->setProduction(false);
-]]>
-        </programlisting>
+$server->setProduction(false);
+]]></programlisting>
 
         <para>
             Para habilitarlo nuevamente, pase el valor true en su lugar.
         </para>
 
         <programlisting role="php"><![CDATA[
-$servidor->setProduction(true);
-]]>
-        </programlisting>
+$server->setProduction(true);
+]]></programlisting>
 
         <note>
             <title>¡Deshabilite el modo de producción racionalmente!</title>
@@ -372,8 +360,7 @@ $servidor->setProduction(true);
 $respuesta = $servidor->handle();
 $respuesta->addAmfHeader(new Zend_Amf_Value_MessageHeader('foo', true, 'bar'))
 echo $respuesta;
-]]>
-            </programlisting>
+]]></programlisting>
         </example>
     </sect2>
 
@@ -402,8 +389,7 @@ echo $respuesta;
                 <programlisting role="php"><![CDATA[
 // Mapea la clase ActionScript 'ContactVO' a la clase PHP 'Contact':
 $servidor->setClassMap('ContactVO', 'Contact');
-]]>
-                </programlisting>
+]]></programlisting>
             </listitem>
 
             <listitem>
@@ -418,8 +404,7 @@ class Contact
 {
     public $_explicitType = 'ContactVO';
 }
-]]>
-                </programlisting>
+]]></programlisting>
             </listitem>
 
             <listitem>
@@ -437,8 +422,7 @@ class Contact
         return 'ContactVO';
     }
 }
-]]>
-                </programlisting>
+]]></programlisting>
             </listitem>
         </itemizedlist>
 
@@ -468,8 +452,7 @@ package
         }
     }
 }
-]]>
-            </programlisting>
+]]></programlisting>
         <para>
             La clase es sintácticamente equivalente a la de PHP del mismo nombre.
             Los nombres de variables son exactamente los mismos y necesitan estar
@@ -488,8 +471,7 @@ private var myContact:ContactVO;
 private function getContactHandler(event:ResultEvent):void {
     myContact = ContactVO(event.result);
 }
-]]>
-        </programlisting>
+]]></programlisting>
         <para>
             El siguiente resultado del evento debido a la llamada de servicio,
             se incorporó instantáneamente a ContactVO de Flex.
@@ -499,15 +481,15 @@ private function getContactHandler(event:ResultEvent):void {
     </sect2>
 
     <sect2 id="zend.amf.server.flash">
-        <title>Conectándose al servidor desde Flash</title>
+        <title>Conectándose al Servidor desde Flash</title>
 
         <para>
-            La conexión a <code>Zend_Amf_Server</code> desde su proyecto Flash
+            La conexión a <classname>Zend_Amf_Server</classname> desde su proyecto Flash
             es ligeramente distinta a la de Flex. Sin embargo una vez que la conexión
-            con Flash funcione con <code>Zend_Amf_Server</code> lo hará igual
+            con Flash funcione con <classname>Zend_Amf_Server</classname> lo hará igual
             modo que con Flex. El siguiente ejemplo también puede ser utilizado
             desde un fichero Flex AS3. Para nuestra conexión vamos a reutilizar
-            la misma configuracion <code>Zend_Amf_Server</code> junto a la clase Mundo.
+            la misma configuracion <classname>Zend_Amf_Server</classname> junto a la clase Mundo.
         </para>
         <para>
             Abra Flash CS y cree un nuevo fichero Flash (ActionScript 3).
@@ -560,8 +542,7 @@ package {
     }
   }
 }
-]]>
-        </programlisting>
+]]></programlisting>
 
 
         <para>
@@ -574,21 +555,19 @@ package {
         <programlisting role="as"><![CDATA[
 import flash.net.NetConnection;
 import flash.net.Responder;
-]]>
-        </programlisting>
+]]></programlisting>
         <para>
             En la clase necesitaremos tres variables para representar a NetConnection,
-            Responder, y la URL del gateway a nuestra instalación <code>Zend_Amf_Server</code>.
+            Responder, y la URL del gateway a nuestra instalación <classname>Zend_Amf_Server</classname>.
         </para>
         <programlisting role="as"><![CDATA[
 private var gateway:String = "http://example.com/server.php";
 private var connection:NetConnection;
 private var responder:Responder;
-]]>
-        </programlisting>
+]]></programlisting>
         <para>
             En el constructor Main creamos un Responder(respondedor) y una nueva conexión al
-            punto final de <code>Zend_Amf_Server</code>. El respondedor define dos
+            punto final de <classname>Zend_Amf_Server</classname>. El respondedor define dos
             diferentes métodos para manejar la respuesta desde el servidor.
             Por simplicidad los hemos llamado onResult y onFault.
         </para>
@@ -596,18 +575,16 @@ private var responder:Responder;
 responder = new Responder(onResult, onFault);
 connection = new NetConnection;
 connection.connect(gateway);
-]]>
-        </programlisting>
+]]></programlisting>
         <para>
             La función onComplete se ejecuta tan pronto como la construcción
             ha concluido, enviando los datos al servidor.
             Necesitamos añadir una línea más que hace una llamada a la función
-            <code>Zend_Amf_Server</code> Mundo->hola.
+            <classname>Zend_Amf_Server</classname> Mundo->hola.
         </para>
         <programlisting role="as"><![CDATA[
 connection.call("Mundo.hola", responder, params);
-]]>
-        </programlisting>
+]]></programlisting>
         <para>
             Cuando creamos la variable responder hemos definido las funciones onResult y onFault
             para manejar la respuesta proveniente del servidor.
@@ -620,8 +597,7 @@ private function onResult(result:Object):void {
     // Muestra los datos devueltos
     trace(String(result));
 }
-]]>
-        </programlisting>
+]]></programlisting>
         <para>
             La función onFault, se llama si hubo una respuesta nula desde el servidor.
             Esto ocurre cuando hay un error en el servidor, la URL al servidor es inválida,
@@ -632,8 +608,7 @@ private function onResult(result:Object):void {
 private function onFault(fault:Object):void {
     trace(String(fault.description));
 }
-]]>
-        </programlisting>
+]]></programlisting>
         <para>
             La inclusión de ActionScript para realizar la conexión remota ha finalizado.
             Al ejecutar el fichero ZendExample, se establece una conexión con Zend_Amf.

+ 5 - 2
documentation/manual/es/module_specs/Zend_Amf.xml

@@ -1,8 +1,11 @@
-<sect1 id="zend.amf.introduction">
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15103 -->
+<!-- Reviewed: no -->
+<sect1 id="zend.amf.introduction">
     <title>Introducción</title>
 
     <para>
-        <code>Zend_Amf</code>
+        <classname>Zend_Amf</classname>
         provee apoyo para el Formato de Mensajes de ActionScript
         <ulink url="http://en.wikipedia.org/wiki/Action_Message_Format">Action
             Message Format</ulink>

+ 4 - 1
documentation/manual/es/module_specs/Zend_Application-AvailableResources-Db.xml

@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version="1.0" encoding="UTF-8"?>
 <!-- EN-Revision: 15103 -->
 <!-- Reviewed: no -->
 <sect2 id="zend.application.available-resources.db">
@@ -39,6 +39,7 @@
         </para>
 
         <programlisting role="ini"><![CDATA[
+
 [production]
 resources.db.adapter = "pdo_mysql"
 resources.db.params.host = "localhost"
@@ -64,6 +65,7 @@ resources.db.isDefaultTableAdapter = true
         </para>
 
         <programlisting role="php"><![CDATA[
+
 $resource = $bootstrap->getPluginResource('db');
 ]]></programlisting>
 
@@ -73,6 +75,7 @@ $resource = $bootstrap->getPluginResource('db');
         </para>
 
         <programlisting role="php"><![CDATA[
+
 $db = $resource->getDbAdapter();
 ]]></programlisting>
     </note>

+ 2 - 0
documentation/manual/es/module_specs/Zend_Application-AvailableResources-Frontcontroller.xml

@@ -89,6 +89,7 @@
         </para>
 
         <programlisting role="ini"><![CDATA[
+
 [production]
 resources.frontController.controllerDirectory = APPLICATION_PATH . "/controllers"
 resources.frontController.moduleControllerDirectoryName = "actions"
@@ -111,6 +112,7 @@ resources.frontController.env = APPLICATION_ENV
         </para>
 
         <programlisting role="php"><![CDATA[
+
 $bootstrap->bootstrap('frontController');
 $front = $bootstrap->frontController;
 ]]></programlisting>

+ 3 - 0
documentation/manual/es/module_specs/Zend_Application-AvailableResources-Modules.xml

@@ -50,6 +50,7 @@
         </para>
 
         <programlisting role="ini"><![CDATA[
+
 [production]
 news.resources.db.adapter = "pdo_mysql"
 news.resources.db.params.host = "localhost"
@@ -60,6 +61,7 @@ news.resources.layout.layout = "news.phtml"
 ]]></programlisting>
 
         <programlisting role="xml"><![CDATA[
+
 <?xml version="1.0"?>
 <config>
     <production>
@@ -94,6 +96,7 @@ news.resources.layout.layout = "news.phtml"
         </para>
 
         <programlisting role="php"><![CDATA[
+
 $resource = $bootstrap->getPluginResource('modules');
 $moduleBootstraps = $resource->getExecutedBootstraps();
 $newsBootstrap = $moduleBootstraps['news'];

+ 1 - 0
documentation/manual/es/module_specs/Zend_Application-AvailableResources-Session.xml

@@ -54,6 +54,7 @@
         </para>
 
         <programlisting role="ini"><![CDATA[
+
 resources.session.save_path = APPLICATION_PATH "/../data/session"
 resources.session.use_only_cookies = true
 resources.session.remember_me_seconds = 864000

+ 1 - 0
documentation/manual/es/module_specs/Zend_Application-AvailableResources-View.xml

@@ -29,6 +29,7 @@
         </para>
 
         <programlisting role="ini"><![CDATA[
+
 resources.view.encoding = "UTF-8"
 resources.view.basePath = APPLICATION_PATH "/views/scripts"
 ]]></programlisting>

+ 17 - 16
documentation/manual/es/module_specs/Zend_Application-Examples.xml

@@ -10,17 +10,18 @@
     </para>
 
     <programlisting role="php"><![CDATA[
+
 class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
 {
 }
-]]>
-    </programlisting>
+]]></programlisting>
 
     <para>
         Con el archivo de configuración coresspondiente:
     </para>
 
     <programlisting role="ini"><![CDATA[
+
 ; APPLICATION_PATH/configs/application.ini
 [production]
 bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
@@ -57,6 +58,7 @@ resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
     </para>
 
     <programlisting role="php"><![CDATA[
+
 class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
 {
     protected function _initRequest(array $options = array())
@@ -77,8 +79,7 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
         return $request;
     }
 }
-]]>
-    </programlisting>
+]]></programlisting>
 
     <para>
         Nótese en este ejemplo la llamada a <code>bootstrap()</code>;
@@ -121,6 +122,7 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
     </para>
 
     <programlisting role="php"><![CDATA[
+
 class My_Bootstrap_Resource_View
     extends Zend_Application_Resource_ResourceAbstract
 {
@@ -149,8 +151,7 @@ class My_Bootstrap_Resource_View
         return $view;
     }
 }
-]]>
-    </programlisting>
+]]></programlisting>
 
     <para>
         Para decirle al bootstrap que utilice éste, usted tendría que proveer
@@ -160,6 +161,7 @@ class My_Bootstrap_Resource_View
     </para>
 
     <programlisting role="php"><![CDATA[
+
 $application = new Zend_Application(
     APPLICATION_ENV,
     array(
@@ -178,8 +180,7 @@ $application = new Zend_Application(
         )
     )
 );
-]]>
-    </programlisting>
+]]></programlisting>
 
     <para>
         Los recursos puede llamar a otros recursos e inicializadores accediendo
@@ -187,6 +188,7 @@ $application = new Zend_Application(
     </para>
 
     <programlisting role="php"><![CDATA[
+
 class My_Bootstrap_Resource_Layout
     extends Zend_Application_Resource_ResourceAbstract
 {
@@ -201,8 +203,7 @@ class My_Bootstrap_Resource_Layout
         // ...
     }
 }
-]]>
-    </programlisting>
+]]></programlisting>
 
     <para>
         En el uso normal, usted podría instanciar la aplicación, arrancarla,
@@ -210,11 +211,11 @@ class My_Bootstrap_Resource_Layout
     </para>
 
     <programlisting role="php"><![CDATA[
+
 $application = new Zend_Application(...);
 $application->bootstrap()
             ->run();
-]]>
-    </programlisting>
+]]></programlisting>
 
     <para>
         Para un script personalizado, podría necesitar simplemente
@@ -222,14 +223,14 @@ $application->bootstrap()
     </para>
 
     <programlisting role="php"><![CDATA[
+
 $application = new Zend_Application(...);
 $application->getBootstrap()->bootstrap('db');
 
 $service = new Zend_XmlRpc_Server();
 $service->setClass('Foo');  // uses database...
 echo $service->handle();
-]]>
-    </programlisting>
+]]></programlisting>
 
     <para>
         En lugar de utilizar el método <code>bootstrap()</code> para llamar
@@ -237,8 +238,8 @@ echo $service->handle();
     </para>
 
     <programlisting role="php"><![CDATA[
+
 $application = new Zend_Application(...);
 $application->getBootstrap()->bootstrapDb();
-]]>
-    </programlisting>
+]]></programlisting>
 </sect1>

+ 13 - 1
documentation/manual/es/module_specs/Zend_Application-QuickStart.xml

@@ -33,6 +33,7 @@
         </para>
 
         <programlisting role="sh"><![CDATA[
+
 % zf create project newproject
 ]]></programlisting>
 
@@ -41,6 +42,7 @@
         </para>
 
         <programlisting role="dos"><![CDATA[
+
 C:> zf.bat create project newproject
 ]]></programlisting>
 
@@ -49,6 +51,7 @@ C:> zf.bat create project newproject
         </para>
 
         <programlisting role="text"><![CDATA[
+
 newproject
 |-- application
 |   |-- Bootstrap.php
@@ -83,6 +86,7 @@ newproject
         </para>
 
         <programlisting role="php"><![CDATA[
+
 class Bootstrap extends Zend_Application_Bootstrap_BootstrapAbstract
 {
 }
@@ -95,6 +99,7 @@ class Bootstrap extends Zend_Application_Bootstrap_BootstrapAbstract
         </para>
 
         <programlisting role="dosini"><![CDATA[
+
 [production]
 phpSettings.display_startup_errors = 0
 phpSettings.display_errors = 0
@@ -127,6 +132,7 @@ phpSettings.display_errors = 1
         </para>
 
         <programlisting role="php"><![CDATA[
+
 <?php
 // Define el path al directorio de la aplicación
 defined('APPLICATION_PATH')
@@ -190,6 +196,7 @@ $application->bootstrap()
         </para>
 
         <programlisting role="php"><![CDATA[
+
 <?php
 class Bootstrap extends Zend_Application_Bootstrap_BootstrapAbstract
 {
@@ -205,6 +212,7 @@ class Bootstrap extends Zend_Application_Bootstrap_BootstrapAbstract
         </para>
 
         <programlisting role="dosini"><![CDATA[
+
 [production]
 phpSettings.display_startup_errors = 0
 phpSettings.display_errors = 0
@@ -231,6 +239,7 @@ phpSettings.display_errors = 1
         </para>
 
         <programlisting role="php"><![CDATA[
+
 <?php
 // Define el path al directorio de la aplicación
 defined('APPLICATION_PATH')
@@ -265,6 +274,7 @@ $application->bootstrap()
         </para>
 
         <programlisting role="conf"><![CDATA[
+
 SetEnv APPLICATION_ENV development
 
 RewriteEngine On
@@ -273,7 +283,6 @@ RewriteCond %{REQUEST_FILENAME} -l [OR]
 RewriteCond %{REQUEST_FILENAME} -d
 RewriteRule ^.*$ - [NC,L]
 RewriteRule ^.*$ index.php [NC,L]
-
 ]]></programlisting>
 
         <para>
@@ -313,6 +322,7 @@ RewriteRule ^.*$ index.php [NC,L]
         </para>
 
         <programlisting role="dosini"><![CDATA[
+
 [production]
 phpSettings.display_startup_errors = 0
 phpSettings.display_errors = 0
@@ -344,6 +354,7 @@ phpSettings.display_errors = 1
         </para>
 
         <programlisting role="php"><![CDATA[
+
 <?php echo $this->doctype() ?>
 <html>
 <head>
@@ -371,6 +382,7 @@ phpSettings.display_errors = 1
         </para>
 
         <programlisting role="php"><![CDATA[
+
 <?php
 class Bootstrap extends Zend_Application_Bootstrap_BootstrapAbstract
 {

+ 15 - 0
documentation/manual/es/module_specs/Zend_Application-TheoryOfOperation.xml

@@ -149,6 +149,7 @@
         </para>
 
         <programlisting role="php"><![CDATA[
+
 interface Zend_Application_Bootstrap_Bootstrapper
 {
     public function __construct($application);
@@ -211,6 +212,7 @@ interface Zend_Application_Bootstrap_Bootstrapper
             </para>
 
             <programlisting role="php"><![CDATA[
+
 class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
 {
     protected function _initFoo()
@@ -236,6 +238,7 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
             </para>
 
             <programlisting role="php"><![CDATA[
+
 $bootstrap->bootstrap('foo');
 ]]></programlisting>
 
@@ -245,6 +248,7 @@ $bootstrap->bootstrap('foo');
             </para>
 
             <programlisting role="php"><![CDATA[
+
 $bootstrap->bootstrap(array('foo', 'bar));
 ]]></programlisting>
 
@@ -254,6 +258,7 @@ $bootstrap->bootstrap(array('foo', 'bar));
             </para>
 
             <programlisting role="php"><![CDATA[
+
 $bootstrap->bootstrap();
 ]]></programlisting>
         </sect3>
@@ -281,6 +286,7 @@ $bootstrap->bootstrap();
             </para>
 
         <programlisting role="php"><![CDATA[
+
 interface Zend_Application_Bootstrap_ResourceBootstrapper
 {
     public function registerPluginResource($resource, $options = null);
@@ -324,6 +330,7 @@ interface Zend_Application_Bootstrap_ResourceBootstrapper
             </para>
 
             <programlisting role="php"><![CDATA[
+
 $application = new Zend_Application(APPLICATION_ENV, array(
     'resources' => array(
         'FrontController' => array(
@@ -357,6 +364,7 @@ $application = new Zend_Application(APPLICATION_ENV, array(
             </para>
 
             <programlisting role="php"><![CDATA[
+
 $application = new Zend_Application(APPLICATION_ENV, array(
     'pluginPaths' => array(
         'My_Resource' => APPLICATION_PATH . '/resources/',
@@ -383,6 +391,7 @@ $application = new Zend_Application(APPLICATION_ENV, array(
             </para>
 
             <programlisting role="php"><![CDATA[
+
 // Ejecute uno:
 $bootstrap->bootstrap('FrontController');
 
@@ -431,6 +440,7 @@ $bootstrap->bootstrap();
             </para>
 
             <programlisting role="php"><![CDATA[
+
 class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
 {
     protected function _initView()
@@ -448,6 +458,7 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
             </para>
 
             <programlisting role="php"><![CDATA[
+
 // Usando el par has/getResource():
 if ($bootstrap->hasResource('view')) {
     $view = $bootstrap->getResource('view');
@@ -478,6 +489,7 @@ if (isset($container->view)) {
             </para>
 
             <programlisting role="php"><![CDATA[
+
 class FooController extends Zend_Controller_Action
 {
     public function init()
@@ -529,6 +541,7 @@ class FooController extends Zend_Controller_Action
             </para>
 
             <programlisting role="php"><![CDATA[
+
 class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
 {
     protected function _initRequest()
@@ -574,6 +587,7 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
         </para>
 
         <programlisting role="php"><![CDATA[
+
 interface Zend_Application_Resource_Resource
 {
     public function __construct($options = null);
@@ -602,6 +616,7 @@ interface Zend_Application_Resource_Resource
         </para>
 
         <programlisting role="php"><![CDATA[
+
 class My_Resource_View extends Zend_Application_Resource_ResourceAbstract
 {
     protected $_view;

+ 50 - 58
documentation/manual/es/module_specs/Zend_Auth.xml

@@ -1,25 +1,27 @@
 <?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15103 -->
+<!-- Reviewed: no -->
 <sect1 id="zend.auth.introduction">
     <title>Introducción</title>
     <para>
-        Zend_Auth provee una API para autenticación e incluye adaptadores concretos de autenticación para
+        <classname>Zend_Auth</classname> provee una API para autenticación e incluye adaptadores concretos de autenticación para
         escenarios de casos de uso común.
     </para>
     <para>
-        Zend_Auth es concerniente sólo con <emphasis role="strong">autenticación</emphasis> y no con
-        <emphasis role="strong">autorización</emphasis>. Autenticación es vagamente definido como: determinar
+        <classname>Zend_Auth</classname> es concerniente sólo con <emphasis>autenticación</emphasis> y no con
+        <emphasis>autorización</emphasis>. Autenticación es vagamente definido como: determinar
         si una entidad realmente es lo que pretende ser (o sea, identificación), basandose en un grupo de
     credenciales. Autorización, el proceso de decidir si se permite a una entidad: acceso a, o el
-    realizar operaciones en, otras entidades esta fuera del alcance de Zend_Auth. Para más información sobre
+    realizar operaciones en, otras entidades esta fuera del alcance de <classname>Zend_Auth</classname>. Para más información sobre
     autorización y control de acceso con Zend Framework, por favor vea
     <link linkend="zend.acl">Zend_Acl</link>.
     </para>
     <note>
         <para>
-            La clase <code>Zend_Auth</code> implementa el patrón Singleton - sólo una instancia de la clase está
+            La clase <classname>Zend_Auth</classname>implementa el patrón Singleton - sólo una instancia de la clase está
             disponible - a través de su método estático <code>getInstance()</code>. Esto significa que usar el operador <code>new</code>
-            y la keyword <code>clone</code> no va a funcionar con la clase <code>Zend_Auth</code> : use
-            <code>Zend_Auth::getInstance()</code> en su lugar.
+            y la keyword <code>clone</code> no va a funcionar con la clase <classname>Zend_Auth</classname> : use
+            <classname>Zend_Auth::getInstance()<classname> en su lugar.
         </para>
     </note>
     <sect2 id="zend.auth.introduction.adapters">
@@ -27,15 +29,15 @@
         <title>Adaptadores</title>
 
         <para>
-            Un adaptador Zend_Auth es usado para autenticar en contra de un tipo particular de servicio de autenticación,
+            Un adaptador <classname>Zend_Auth</classname> es usado para autenticar en contra de un tipo particular de servicio de autenticación,
             como LDAP, RDBMS, o almacenamiento basado en ficheros. Diferentes adaptadores pueden tener opciones y compotamientos
             muy diferentes, pero algunas cosas básicas son comunes entre los adaptadores de autenticación. Por ejemplo,
             aceptar credenciales de autenticación (incluyendo una identidad supuesta), realizar consultas ante el
-            servicio de autenticación, y regresar resultados, son comunes para los adaptadores Zend_Auth.
+            servicio de autenticación, y regresar resultados, son comunes para los adaptadores <classname>Zend_Auth</classname>.
         </para>
 
         <para>
-            Cada clase adaptadora Zend_Auth implementa <code>Zend_Auth_Adapter_Interface</code>. Esta interface define un
+            Cada clase adaptadora <classname>Zend_Auth</classname> implementa <classname>Zend_Auth_Adapter_Interface</classname>. Esta interface define un
             metodo, <code>authenticate()</code>, que la clase adaptadora debe implementar para realizar una peticion de
             autenticación. Cada clase adaptadora debe ser preparada antes de llamar a <code>authenticate()</code>. Esta preparación
             del adaptador incluye la creación de credenciales (p.ej. nombre de usuario y contraseña) y la definición de valores para opciones
@@ -72,13 +74,12 @@ class MyAuthAdapter implements Zend_Auth_Adapter_Interface
         // ...
     }
 }
-]]>
-            </programlisting>
+]]></programlisting>
 
             Como se ha indicado en su docblock, <code>authenticate()</code> debe regresar una instancia de
-            <code>Zend_Auth_Result</code> (o de una clase derivada de <code>Zend_Auth_Result</code>). Si por alguna
+            <classname>Zend_Auth_Result</classname> (o de una clase derivada de <classname>Zend_Auth_Result</classname>). Si por alguna
             razón es imposible realizar una petición de autenticación, <code>authenticate()</code> debería arrojar
-            una excepción que se derive de <code>Zend_Auth_Adapter_Exception</code>.
+            una excepción que se derive de <classname>Zend_Auth_Adapter_Exception<classname>.
         </para>
 
     </sect2>
@@ -88,9 +89,9 @@ class MyAuthAdapter implements Zend_Auth_Adapter_Interface
         <title>Resultados</title>
 
         <para>
-            Los adaptadores Zend_Auth regresan una instancia de <code>Zend_Auth_Result</code> con
+            Los adaptadores Zend_Auth regresan una instancia de <classname>Zend_Auth_Result</classname> con
             <code>authenticate()</code> para representar el resultado de un intento de autenticación. Los adaptadores
-            llenan el objeto <code>Zend_Auth_Result</code> en cuanto se construye, así que los siguientes cuatro métodos
+            llenan el objeto <classname>Zend_Auth_Result</classname> en cuanto se construye, así que los siguientes cuatro métodos
             proveen un grupo básico de operaciones "frente al usuario" que son comunes a los resultados de adaptadores Zend_Auth:
             <itemizedlist>
                 <listitem>
@@ -101,13 +102,13 @@ class MyAuthAdapter implements Zend_Auth_Adapter_Interface
                 </listitem>
                 <listitem>
                     <para>
-                        <code>getCode()</code> - regresa una constante identificadora <code>Zend_Auth_Result</code> para
+                        <code>getCode()</code> - regresa una constante identificadora <classname>Zend_Auth_Result</classname> para
                         determinar el tipo de fallo en la autenticación o si ha sido exitosa. Este puede ser usado
                         en situaciones cuando el desarrollador desea distinguir entre varios tipos de resultados
                         de autenticación. Esto permite a los desarrolladores, por ejemplo, mantener estadísticas
                         detalladas de los resultados de autenticación. Otro uso de esta característica es: proporcionar
                         al usuario mensajes específicos detallados por razones de usabilidad, aunque los desarrolladores
-                        son    exhortados a considerar el riesgo de proporcionar tales detalles a los usuarios, en vez de
+                        son	exhortados a considerar el riesgo de proporcionar tales detalles a los usuarios, en vez de
                         un mensaje general de fallo en la autenticación. Para más información, vea las siguientes notas:
                     </para>
                 </listitem>
@@ -139,8 +140,7 @@ Zend_Auth_Result::FAILURE_IDENTITY_NOT_FOUND
 Zend_Auth_Result::FAILURE_IDENTITY_AMBIGUOUS
 Zend_Auth_Result::FAILURE_CREDENTIAL_INVALID
 Zend_Auth_Result::FAILURE_UNCATEGORIZED
-]]>
-            </programlisting>
+]]></programlisting>
 
         </para>
 
@@ -169,8 +169,7 @@ switch ($result->getCode()) {
         /** realiza algo para otras fallas **/
         break;
 }
-]]>
-            </programlisting>
+]]></programlisting>
 
         </para>
 
@@ -196,19 +195,19 @@ switch ($result->getCode()) {
             <title>Persistencia por Defecto en la Sesión PHP</title>
 
             <para>
-                 Por defecto, <code>Zend_Auth</code> provee almacenamiento persistente de la identidad desde un intento
+                 Por defecto, <classname>Zend_Auth</classname> provee almacenamiento persistente de la identidad desde un intento
                  de autenticación exitoso usando la sesión PHP. En un intento de autenticación exitoso,
-                 <code>Zend_Auth::authenticate()</code> almacena la identidad del resultado de autenticación en
-                 almacenamiento persistente. A menos que se configure diferente, <code>Zend_Auth</code> usa una clase de
-                 almacenamiento llamada <code>Zend_Auth_Storage_Session</code>, la cual, a su vez usa
-                 <link linkend="zend.session">Zend_Session</link>. Una clase diferente podría ser utilizada mediante
-                 proveer un objeto que implemente <code>Zend_Auth_Storage_Interface</code> a <code>Zend_Auth::setStorage()</code>
+                 <classname>end_Auth::authenticate()<classname> almacena la identidad del resultado de autenticación en
+                 almacenamiento persistente. A menos que se configure diferente, <classname>Zend_Auth</classname> usa una clase de
+                 almacenamiento llamada <classname>Zend_Auth_Storage_Session</classname>, la cual, a su vez usa
+                 <link linkend="zend.session"><classname>Zend_Session</classname></link>. Una clase diferente podría ser utilizada mediante
+                 proveer un objeto que implemente <classname>Zend_Auth_Storage_Interface</classname> a <classname>Zend_Auth::setStorage()</classname>
             </para>
 
             <note>
                 <para>
                     Si el automático almacenamiento persistente de la identidad no es apropiado para un caso en particular,
-                    entonces los desarrolladores podrían dejar de usar la clase <code>Zend_Auth</code> al mismo tiempo,
+                    entonces los desarrolladores podrían dejar de usar la clase <classname>Zend_Auth</classname> al mismo tiempo,
                     utilizando en su lugar una clase adaptadora directamente.
                 </para>
             </note>
@@ -218,11 +217,11 @@ switch ($result->getCode()) {
                 <title>Modifying the Session Namespace</title>
 
                 <para>
-                    <code>Zend_Auth_Storage_Session</code> usa un espacionombre (namespace) de sesión <code>'Zend_Auth'</code>.
+                    <classname>Zend_Auth_Storage_Session</classname> usa un espacionombre (namespace) de sesión 'Zend_Auth'.
                     Este espacio-nombre podría ser OVERRIDDEN al pasar un valor diferente al contructor de
-                    <code>Zend_Auth_Storage_Session</code>, y este valor es pasado internamente al constructor de
-                    <code>Zend_Session_Namespace</code>. Esto debería ocurrir antes de que se intente la autenticación, ya que
-                    <code>Zend_Auth::authenticate()</code> realiza el almacenamiento automático de la identidad.
+                    <classname>Zend_Auth_Storage_Session</classname>, y este valor es pasado internamente al constructor de
+                    <classname>Zend_Session_Namespace</classname>. Esto debería ocurrir antes de que se intente la autenticación, ya que
+                    <code>Zend_Auth::authenticate()</classname> realiza el almacenamiento automático de la identidad.
 
                     <programlisting role="php"><![CDATA[
 // Almacena una referencia a la instancia Singleton de Zend_Auth
@@ -238,8 +237,7 @@ $auth->setStorage(new Zend_Auth_Storage_Session('unEspacionombre'));
 // Autenticar, almacenando el resultado, y persistiendo la identidad en
 // suceso
 $result = $auth->authenticate($authAdapter);
-]]>
-                    </programlisting>
+]]></programlisting>
 
                 </para>
 
@@ -252,10 +250,10 @@ $result = $auth->authenticate($authAdapter);
             <title>Implementando Almacenamiento Personalizado</title>
 
             <para>
-                En ocaciones los desarrolladores podrían necesitar usar un diferente comportamiento de persistencia    de identidad
-                que el provisto por <code>Zend_Auth_Storage_Session</code>. Para esos casos los desarrolladores podrían simplemente
-                implementar <code>Zend_Auth_Storage_Interface</code> y suplir una instancia de la clase a
-                <code>Zend_Auth::setStorage()</code>.
+                En ocaciones los desarrolladores podrían necesitar usar un diferente comportamiento de persistencia	de identidad
+                que el provisto por <classname>Zend_Auth_Storage_Session</classname>. Para esos casos los desarrolladores podrían simplemente
+                implementar <classname>Zend_Auth_Storage_Interface</classname> y suplir una instancia de la clase a
+                <classname>Zend_Auth::setStorage()</classname>.
             </para>
 
             <example id="zend.auth.introduction.persistence.custom.example">
@@ -264,7 +262,7 @@ $result = $auth->authenticate($authAdapter);
 
                 <para>
                     Para poder utilizar una clase de almacenamiento persistente de identidad diferente a
-                    <code>Zend_Auth_Storage_Session</code>, el desarrollador implementa <code>Zend_Auth_Storage_Interface</code>:
+                    <classname>Zend_Auth_Storage_Session</classname>, el desarrollador implementa <classname>Zend_Auth_Storage_Interface</classname>:
 
                     <programlisting role="php"><![CDATA[
 class MyStorage implements Zend_Auth_Storage_Interface
@@ -329,13 +327,12 @@ class MyStorage implements Zend_Auth_Storage_Interface
          */
     }
 }
-]]>
-                    </programlisting>
+]]></programlisting>
 
                 </para>
 
                 <para>
-                    A fin de poder usar esta clase de almacenamiento personalizada, <code>Zend_Auth::setStorage()</code>
+                    A fin de poder usar esta clase de almacenamiento personalizada, <classname>Zend_Auth::setStorage()</classname>
                     es invocada antes de intentar una petición de autenticación:
 
                     <programlisting role="php"><![CDATA[
@@ -349,8 +346,7 @@ Zend_Auth::getInstance()->setStorage(new MyStorage());
 // Autenticar, almacenando el resultado, y persistiendo la identidad
 // si hay exito
 $result = Zend_Auth::getInstance()->authenticate($authAdapter);
-]]>
-                    </programlisting>
+]]></programlisting>
 
                 </para>
 
@@ -362,14 +358,14 @@ $result = Zend_Auth::getInstance()->authenticate($authAdapter);
 
     <sect2 id="zend.auth.introduction.using">
 
-        <title>Usando Zend_Auth</title>
+        <title>Uso</title>
 
         <para>
             Hay dos formas provistas de usar adaptadores Zend_Auth:
             <orderedlist>
             <listitem>
                 <para>
-                    indirectamente, a través de <code>Zend_Auth::authenticate()</code>
+                    indirectamente, a través de <classname>Zend_Auth::authenticate()</classname>
                 </para>
             </listitem>
             <listitem>
@@ -381,8 +377,8 @@ $result = Zend_Auth::getInstance()->authenticate($authAdapter);
         </para>
 
         <para>
-            El siguiente ejemplo ilustra como usar el adaptador Zend_Auth indirectamente, a través
-            del uso de la clase <code>Zend_Auth</code>:
+            El siguiente ejemplo ilustra como usar el adaptador  <classname>:Zend_Auth</classname>: indirectamente, a través
+            del uso de la clase <classname>Zend_Auth</classname>:
 
             <programlisting role="php"><![CDATA[
 // Recibe una referencia a la instancia singleton de Zend_Auth
@@ -405,8 +401,7 @@ if (!$result->isValid()) {
     // $result->getIdentity() === $auth->getIdentity()
     // $result->getIdentity() === $username
 }
-]]>
-            </programlisting>
+]]></programlisting>
         </para>
 
         <para>
@@ -418,8 +413,7 @@ if ($auth->hasIdentity()) {
     // Existe la identidad; obtenla
     $identity = $auth->getIdentity();
 }
-]]>
-            </programlisting>
+]]></programlisting>
         </para>
 
         <para>
@@ -427,13 +421,12 @@ if ($auth->hasIdentity()) {
             Comunmente esto sería usado para implementar una operación "cerrar sesión" en la aplicación:
             <programlisting role="php"><![CDATA[
 Zend_Auth::getInstance()->clearIdentity();
-]]>
-            </programlisting>
+]]></programlisting>
         </para>
 
         <para>
             Cuando el uso automático de almacenamiento persistente es inapropiado para un caso en particular,
-            el desarrollador podría simplemente omitir el uso de la clase <code>Zend_Auth</code>, usando una
+            el desarrollador podría simplemente omitir el uso de la clase <classname>Zend_Auth</classname>, usando una
             clase adaptadora directamente. El uso directo de una clase adaptadora implica configurar y preparar
             un objeto adaptador y despues llamar a su metodo <code>authenticate()</code>. Los detalles específicos
             del adaptador son discutidos en la documentación de cada adaptador. El siguiente ejemplo utiliza
@@ -455,8 +448,7 @@ if (!$result->isValid()) {
     // Autenticación exitosa
     // $result->getIdentity() === $username
 }
-]]>
-            </programlisting>
+]]></programlisting>
         </para>
 
     </sect2>

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

@@ -1,7 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15103 -->
+<!-- Reviewed: no -->
 <sect1 id="zend.cache.introduction">
     <title>Introducción</title>
     <para>
-        <code>Zend_Cache</code>
+        <classname>Zend_Cache</classname>
         provee una forma genérica para cualquier caché de datos.
     </para>
     <para>
@@ -20,10 +23,10 @@
     </para>
     <para>
         El módulo principal (
-        <code>Zend_Cache_Core</code>
+        <classname>Zend_Cache_Core</classname>
         ) es genérico, flexible y configurable. Aun para sus necesidades
         específicas existen frontends de caché que extienden
-        <code>Zend_Cache_Core</code>
+        <classname>Zend_Cache_Core</classname>
         a conveniencia:
         <code>Output</code>
         ,
@@ -38,10 +41,10 @@
     <example id="zend.cache.introduction.example-1">
         <title>
             Obtener un frontend con
-            <code>Zend_Cache::factory()</code>
+            <classname>Zend_Cache::factory()</classname>
         </title>
         <para>
-            <code>Zend_Cache::factory()</code>
+            <classname>Zend_Cache::factory()</classname>
             ejemplifica objetos correctos y los une. En este primer
             ejemplo, usaremos el frontend
             <code>Core</code>
@@ -65,8 +68,7 @@ $cache = Zend_Cache::factory('Core',
                              'File',
                              $frontendOptions,
                              $backendOptions);
-]]>
-        </programlisting>
+]]></programlisting>
     </example>
 
     <note>
@@ -116,15 +118,14 @@ if(!$result = $cache->load('myresult')) {
 }
 
 print_r($result);
-]]>
-        </programlisting>
+]]></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>
+            Zend_Cache
         </title>
         <para>
             ‘Resaltamos’ las secciones en las que deseamos almacenar en
@@ -169,8 +170,7 @@ if(!$cache->start('mypage')) {
 }
 
 echo 'Esto no estará en caché nunca ('.time().').';
-]]>
-        </programlisting>
+]]></programlisting>
         <para>
             Note que delineamos el resultado de
             <code>time()</code>
@@ -189,7 +189,7 @@ echo 'Esto no estará en caché nunca ('.time().').';
     </example>
     <note>
         <para>
-            Cuando usamos Zend_Cache, ponemos atención a la importación
+            Cuando usamos <classname>Zend_Cache</classname>, ponemos atención a la importación
             del identificador caché (pasado a
             <code>save()</code>
             y

+ 5 - 2
documentation/manual/es/module_specs/Zend_Captcha.xml

@@ -1,3 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15103 -->
+<!-- Reviewed: no -->
 <sect1 id="zend.captcha.introduction">
     <title>Introducción</title>
 
@@ -16,8 +19,8 @@
 
     <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
+        preguntas lógicas, caracteres trastocados o presentar múltiples imágenes y preguntar
+        cómo se relacionan. <classname>Zend_Form</classname> intenta proveer una amalgama de backends
         que pueden ser utilizados por separado o en conjunción con
         <code>Zend_Form</code>
         .

+ 9 - 0
documentation/manual/es/module_specs/Zend_CodeGenerator-Examples.xml

@@ -13,6 +13,7 @@
         </para>
 
         <programlisting role="php"><![CDATA[
+
 $foo      = new Zend_CodeGenerator_Php_Class();
 $docblock = new Zend_CodeGenerator_Php_Docblock(array(
     'shortDescription' => 'Sample generated class',
@@ -38,6 +39,7 @@ echo $foo->generate();
         </para>
 
             <programlisting role="php"><![CDATA[
+
 /**
  * Sample generated class
  *
@@ -64,6 +66,7 @@ class Foo
         </para>
 
         <programlisting role="php"><![CDATA[
+
 $foo      = new Zend_CodeGenerator_Php_Class();
 $docblock = new Zend_CodeGenerator_Php_Docblock(array(
     'shortDescription' => 'Sample generated class',
@@ -106,6 +109,7 @@ echo $foo->generate();
         </para>
 
         <programlisting role="php"><![CDATA[
+
 /**
  * Sample generated class
  *
@@ -140,6 +144,7 @@ class Foo
         </para>
 
             <programlisting role="php"><![CDATA[
+
 $foo      = new Zend_CodeGenerator_Php_Class();
 $docblock = new Zend_CodeGenerator_Php_Docblock(array(
     'shortDescription' => 'Sample generated class',
@@ -218,6 +223,7 @@ echo $foo->generate();
         </para>
 
             <programlisting role="php"><![CDATA[
+
 /**
  * Sample generated class
  *
@@ -283,6 +289,7 @@ class Foo
         </para>
 
             <programlisting role="php"><![CDATA[
+
 $file = new Zend_CodeGenerator_Php_File(array(
     'classes'  => array($foo);
     'docblock' => new Zend_CodeGenerator_Php_Docblock(array(
@@ -305,6 +312,7 @@ $file = new Zend_CodeGenerator_Php_File(array(
         </para>
 
         <programlisting role="php"><![CDATA[
+
 $code = $file->generate();
 file_put_contents('Foo.php', $code);
 ]]></programlisting>
@@ -314,6 +322,7 @@ file_put_contents('Foo.php', $code);
         </para>
 
         <programlisting role="php"><![CDATA[
+
 <?php
 /**
  * Foo class file

+ 4 - 0
documentation/manual/es/module_specs/Zend_CodeGenerator-Introduction.xml

@@ -26,6 +26,7 @@
         </para>
 
         <programlisting role="php"><![CDATA[
+
 // Pasando la configuración al constructor:
 $file = new Zend_CodeGenerator_Php_File(array(
     'classes' => array(
@@ -65,6 +66,7 @@ file_put_contents('World.php', $file->generate());
         </para>
 
         <programlisting role="php"><![CDATA[
+
 <?php
 
 class World
@@ -96,6 +98,7 @@ class World
         </para>
 
         <programlisting role="php"><![CDATA[
+
 $class = Zend_CodeGenerator_Php_Class::fromReflection(
     new Zend_Reflection_Class('World')
 );
@@ -120,6 +123,7 @@ file_put_contents('World.php', $file->generate());
         </para>
 
         <programlisting role="php"><![CDATA[
+
 <?php
 
 class World

+ 16 - 17
documentation/manual/es/module_specs/Zend_Config-Introduction.xml

@@ -1,8 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15103 -->
+<!-- Reviewed: no -->
 <sect1 id="zend.config.introduction">
     <title>Introducción</title>
     <para>
 
-        <code>Zend_Config</code>
+        <classname>Zend_Config</classname>
         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
@@ -10,15 +13,15 @@
         datos de configuración pueden venir de multitud de medios que
         soporten almacenamiento de datos de forma jerárquica.
         Actualmente
-        <code>Zend_Config</code>
+        <classname>Zend_Config</classname>
         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>
+            <classname>Zend_Config_Ini</classname>
         </link>
         y
         <link linkend="zend.config.adapters.xml">
-            <code>Zend_Config_Xml</code>
+            <classname>Zend_Config_Xml</classname>
         </link>
         .
     </para>
@@ -28,16 +31,16 @@
             Normalmente, se espera que los usuarios usen
             una de las clases adaptadoras como
             <link linkend="zend.config.adapters.ini">
-                <code>Zend_Config_Ini</code>
+                <classname>Zend_Config_Ini</classname>
             </link>
             o
             <link linkend="zend.config.adapters.xml">
-                <code>Zend_Config_Xml</code>
+                <classname>Zend_Config_Xml</classname>
             </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>
+            <classname>Zend_Config</classname>
             para utilizar una interfaz simple orientada a objetos:
         </para>
         <programlisting role="php"><![CDATA[
@@ -68,18 +71,17 @@ $db = Zend_Db::factory($config->database->adapter,
 // Uso alternativo: simplemente pase el objeto Zend_Config.
 // La Zend_Db factory sabe cómo interpretarlo.
 $db = Zend_Db::factory($config->database);
-]]>
-        </programlisting>
+]]></programlisting>
     </example>
     <para>
         Como se ilustra en el ejemplo de arriba,
-        <code>Zend_Config</code>
+        <classname>Zend_Config</classname>
         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>
+        <classname>Zend_Config</classname>
         también tiene el método
         <code>get()</code>
         que devolverá el valor por defecto suministrado si el elemento
@@ -87,8 +89,7 @@ $db = Zend_Db::factory($config->database);
     </para>
     <programlisting role="php"><![CDATA[
 $host = $config->database->get('host', 'localhost');
-]]>
-    </programlisting>
+]]></programlisting>
     <example id="zend.config.introduction.example.file.php">
         <title>Usando Zend_Config con un Archivo de Configuración PHP</title>
         <para>
@@ -110,16 +111,14 @@ return array(
         )
     )
 );
-]]>
-        </programlisting>
+]]></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>
+]]></programlisting>
     </example>
 </sect1>
 <!--

+ 20 - 18
documentation/manual/es/module_specs/Zend_Config-TheoryOfOperation.xml

@@ -1,62 +1,64 @@
-
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15103 -->
+<!-- Reviewed: no -->
 
 <sect1 id="zend.config.theory_of_operation">
     <title>Aspectos Teóricos</title>
     <para>
-        Los datos de configuración se hacen accesibles al constructor <code>Zend_Config</code>
+        Los datos de configuración se hacen accesibles al constructor <classname>Zend_Config</classname>
         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>
+        permiten construir una tabla asociativa para el constructor de <classname>Zend_Config</classname>
         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>.
+        Cada valor del array de datos de configuración se convierte en una propiedad del objeto <classname>Zend_Config</classname>.
         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
+        <classname>Zend_Config</classname>, 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.
     </para>
     <para>
-        <code>Zend_Config</code> implementa las interfaces <code>Countable</code> e <code>Iterator</code>
+        <classname>Zend_Config</classname> implementa las interfaces <code>Countable</code> e <code>Iterator</code>
         para facilitar el aceso sencillo a los datos de configuración.
         Así, uno puede usar la función <ulink url="http://php.net/count"><code>count()</code></ulink>
         y constructores PHP como
         <ulink url="http://php.net/foreach"><code>foreach</code></ulink> sobre objetos
-        <code>Zend_Config</code>.
+        <classname>Zend_Config</classname>.
     </para>
     <para>
-        Por defecto, los datos de configuración permitidos a través de <code>Zend_Config</code>
+        Por defecto, los datos de configuración permitidos a través de <classname>Zend_Config</classname>
         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
-        <code>readOnly()</code> puede ser usado para determinar si las modificaciones a un objeto <code>Zend_Config</code>
+        las modificaciones están permitidas, <classname>Zend_Config</classname> 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 <classname>Zend_Config</classname>
         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 <classname>Zend_Config</classname> 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>.
+                distintos medios de almacenamiento están fuera del alcance de <classname>Zend_Config</classname>.
                 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.
             </para>
         </note>
     </para>
     <para>
-        Las clases del adaptador heredan de la clase <code>Zend_Config</code> debido a que utilizan su funcionalidad.
+        Las clases del adaptador heredan de la clase <classname>Zend_Config</classname> debido a que utilizan su funcionalidad.
     </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>
+        La familia de clases <classname>Zend_Config</classname> permite organizar en secciones
+        los datos de configuración. Los objetos de adaptador <classname>Zend_Config</classname>
         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
+        Las clases del adaptador <classname>Zend_Config</classname> 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
@@ -65,14 +67,14 @@
         (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
+        Si tiene dos objetos <classname>Zend_Config</classname>, puede combinarlos en un único
         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>.
         <note>
             <para>
-                El objeto <code>Zend_Config</code> que está ejecutando el merge debe haber sido construido
+                El objeto <classname>Zend_Config</classname> que está ejecutando el merge debe haber sido construido
                 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.

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

@@ -1,7 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15103 -->
+<!-- Reviewed: no -->
 <sect1 id="zend.config.adapters.ini">
     <title>Zend_Config_Ini</title>
     <para>
-        <code>Zend_Config_Ini</code>
+        <classname>Zend_Config_Ini</classname>
         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
@@ -21,14 +24,14 @@
     <note>
         <title>parse_ini_file</title>
         <para>
-            <code>Zend_Config_Ini</code>
+            <classname>Zend_Config_Ini</classname>
             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>
+            <classname>Zend_Config_Ini</classname>
             , tales como la forma en que los valores especiales:
             <code>true</code>
             ,
@@ -52,22 +55,21 @@
             llamada
             <code>'nestSeparator'</code>
             al construir el objeto
-            <code>Zend_Config_Ini</code>
+            <classname>Zend_Config_Ini</classname>
             . Por ejemplo:
             <programlisting role="php"><![CDATA[
 $options['nestSeparator'] = ':';
 $config = new Zend_Config_Ini('/path/to/config.ini',
                               'pruebas',
                               $options);
-]]>
-            </programlisting>
+]]></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>
+            <classname>Zend_Config_Ini</classname>
             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
@@ -98,8 +100,7 @@ database.params.dbname   = dbname
 database.params.host     = dev.example.com
 database.params.username = devuser
 database.params.password = devsecret
-]]>
-        </programlisting>
+]]></programlisting>
         <para>
             Ahora, asuma que el desarrollador de aplicaciones necesita
             los datos de configuración de la etapa de pruebas del
@@ -111,8 +112,7 @@ $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>
+]]></programlisting>
     </example>
     <note>
         <table id="zend.config.adapters.ini.table">

+ 18 - 17
documentation/manual/es/module_specs/Zend_Config_Writer.xml

@@ -1,60 +1,63 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15103 -->
+<!-- Reviewed: no -->
 <sect1 id="zend.config.writer.introduction">
     <title>Zend_Config_Writer</title>
     <para>
-        <code>Zend_Config_Writer</code> gives you the ability to write config
-        files out of <code>Zend_Config</code> objects. It works with an
+        <classname>Zend_Config_Writer</classname>> gives you the ability to write config
+        files out of <classname>Zend_Config</classname> objects. It works with an
         adapter-less system and thus is very easy to use. By default
-        <code>Zend_Config_Writer</code> ships with three adapters, which all
+        <classname>Zend_Config_Writer</classname>> ships with three adapters, which all
         work the same. You instantiate a writer with specific options, which
         can be <code>filename</code> and <code>config</code>. Then
         you call the <code>write()</code> method of the writer and the config
         file is created. You can also give <code>$filename</code> and
         <code>$config</code> directly to the <code>write()</code> method.
         Currently the following writers are shipped with
-        <code>Zend_Config_Writer</code>:
+        <classname>Zend_Config_Writer</classname>>:
     </para>
 
     <itemizedlist>
         <listitem>
             <para>
-                <code>Zend_Config_Writer_Array</code>
+                <classname>Zend_Config_Writer_Array</classname>
             </para>
         </listitem>
         <listitem>
             <para>
-                <code>Zend_Config_Writer_Ini</code>
+                <classname>Zend_Config_Writer_Ini</classname>
             </para>
         </listitem>
         <listitem>
             <para>
-                <code>Zend_Config_Writer_Xml</code>
+                <classname>Zend_Config_Writer_Xml</classname>
             </para>
         </listitem>
     </itemizedlist>
 
     <para>
-        As an exception, <code>Zend_Config_Writer_Ini</code> has an additional
+        As an exception, <classname>Zend_Config_Writer_Ini</classname> has an additional
         option parameter <code>nestSeparator</code>, which defines with which
         character the single nodes are separated. The default is a single dot,
-        like it is accepted by <code>Zend_Config_Ini</code> by default.
+        like it is accepted by <classname>Zend_Config_Ini</classname> by default.
     </para>
 
     <para>
-        When modifying or creating a <code>Zend_Config</code> object, there are
+        When modifying or creating a <classname>Zend_Config</classname> object, there are
         some things to know. To create or modify a value, you simply say set
-        the parameter of the <code>Zend_Config</code> object via the parameter
+        the parameter of the <classname>Zend_Config</classname> object via the parameter
         accessor (<code>-&gt;</code>). To create a section in the root or to
         create a branch, you just create a new array
         (<code>$config-&gt;branch = array();</code>). To define which section
         extends another one, you call the <code>setExtend()</code> method
-        on the root <code>Zend_Config</code> object.
+        on the root <classname>Zend_Config</classname> object.
     </para>
 
     <example id="zend.config.writer.example.using">
         <title>Using Zend_Config_Writer</title>
         <para>
             This example illustrates the basic use of
-            <code>Zend_Config_Writer_Xml</code> to create a new config file:
+            <classname>Zend_Config_Writer_Xml</classname> to create a new config file:
         </para>
         <programlisting role="php"><![CDATA[
 // Create the config object
@@ -86,8 +89,7 @@ $writer->setConfig($config)
 // c)
 $writer = new Zend_Config_Writer_Xml();
 $writer->write('config.xml', $config);
-]]>
-        </programlisting>
+]]></programlisting>
         <para>
             This will create an XML config file with the sections production
             and staging, where staging extends production.
@@ -113,8 +115,7 @@ $config->production->hostname = 'foobar';
 $writer = new Zend_Config_Writer_Ini(array('config'   => $config,
                                            'filename' => 'config.ini'));
 $writer->write();
-]]>
-        </programlisting>
+]]></programlisting>
     </example>
 
     <note>

+ 43 - 11
documentation/manual/es/module_specs/Zend_Config_Xml.xml

@@ -1,7 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15103 -->
+<!-- Reviewed: no -->
 <sect1 id="zend.config.adapters.xml">
     <title>Zend_Config_Xml</title>
     <para>
-        <code>Zend_Config_Xml</code> permite a los desarrolladores almacenar
+        <classname>Zend_Config_Xml</classname> permite a los desarrolladores almacenar
         datos de configuración en un formato sencillo XML y leerlos a través de
         una sintáxis de propiedades de objetos anidados. El elemento raíz del
         archivo XML es irrelevante y puede ser nombrado arbitrariamente.
@@ -17,7 +20,7 @@
     <note>
         <title>Tipo devuelto</title>
         <para>
-        Los datos de configuración que se leen en <code>Zend_Config_Xml</code>
+        Los datos de configuración que se leen en <classname>Zend_Config_Xml</classname>
         son siempre devueltos como strings.
               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.
@@ -26,7 +29,7 @@
     <example id="zend.config.adapters.xml.example.using">
         <title>Usando Zend_Config_Xml</title>
         <para>
-         Este ejemplo ilustra un uso básico de <code>Zend_Config_Xml</code>
+         Este ejemplo ilustra un uso básico de <classname>Zend_Config_Xml</classname>
          para cargar datos de configuración de un archivo XML. En este ejemplo
          hay datos de configuración tanto para un sistema de producción como
          para un sistema de pruebas. Debido a que los datos de configuración del
@@ -63,8 +66,7 @@
         </database>
     </staging>
 </configdata>
-]]>
-</programlisting>
+]]></programlisting>
         <para>
             Ahora, asuma que el desarrollador de aplicaciones necesita los datos
             de configuración de la fase de pruebas del archivo XML. Es una tarea
@@ -76,8 +78,7 @@ $config = new Zend_Config_Xml('/ruta/de/config.xml', 'pruebas');
 
 echo $config->database->params->host;   // muestra "dev.example.com"
 echo $config->database->params->dbname; // muestra "dbname"
-]]>
-        </programlisting>
+]]></programlisting>
     </example>
     <example id="zend.config.adapters.xml.example.attributes">
         <title>Usando atributos de etiqueta en Zend_Config_Xml</title>
@@ -104,8 +105,7 @@ echo $config->database->params->dbname; // muestra "dbname"
         </database>
     </staging>
 </configdata>
-]]>
-</programlisting>
+]]></programlisting>
         <para>
         La otra forma no reduce la configuración, sino que permite mantenerla de
         forma más fácil dado que no es necesario escribir el nombre de la
@@ -137,9 +137,41 @@ echo $config->database->params->dbname; // muestra "dbname"
         </database>
     </staging>
 </configdata>
-]]>
-</programlisting>
+]]></programlisting>
     </example>
+    <note>
+        <title>XML strings</title>
+        <para>
+            <classname>Zend_Config_Xml</classname> is able to load an XML string directly,
+            such as that retrieved from a database. The string is passed
+            as the first parameter to the constructor and must start with the
+            characters <code>'&lt;?xml'</code>:
+        </para>
+        <programlisting role="xml"><![CDATA[
+$string = <<<EOT
+<?xml version="1.0"?>
+<config>
+    <production>
+        <db>
+            <adapter value="pdo_mysql"/>
+            <params>
+                <host value="db.example.com"/>
+            </params>
+        </db>
+    </production>
+    <staging extends="production">
+        <db>
+            <params>
+                <host value="dev.example.com"/>
+            </params>
+        </db>
+    </staging>
+</config>
+EOT;
+
+$config = new Zend_Config_Xml($string, 'staging');
+]]></programlisting>
+    </note>
 </sect1>
 <!--
 vim:se ts=4 sw=4 et:

+ 7 - 14
documentation/manual/es/module_specs/Zend_Controller-QuickStart.xml

@@ -66,8 +66,7 @@ application/
 html/
     .htaccess
     index.php
-]]>
-            </programlisting>
+]]></programlisting>
 
         </sect3>
 
@@ -98,8 +97,7 @@ RewriteCond %{REQUEST_FILENAME} -l [OR]
 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
@@ -133,8 +131,7 @@ RewriteRule ^.*$ index.php [NC,L]
 
             <programlisting role="php"><![CDATA[
 Zend_Controller_Front::run('/path/to/app/controllers');
-]]>
-            </programlisting>
+]]></programlisting>
 
             <para>
                 Esto instanciará y hará un dispatch del front controller, que
@@ -214,8 +211,7 @@ class IndexController extends Zend_Controller_Action
     {
     }
 }
-]]>
-            </programlisting>
+]]></programlisting>
 
             <para>
                 Por defecto, el action helper
@@ -282,8 +278,7 @@ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     <h1>>¡Hola, Mundo!</h1>
 </body>
 </html>
-]]>
-            </programlisting>
+]]></programlisting>
         </sect3>
 
         <sect3 id="zend.controller.quickstart.go.errorhandler">
@@ -309,8 +304,7 @@ class ErrorController extends Zend_Controller_Action
     {
     }
 }
-]]>
-            </programlisting>
+]]></programlisting>
 
             <para>
                 Asumiendo el sistema de carpetas discutido anteriormente,
@@ -335,8 +329,7 @@ PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
     <p>Ocurrió un error; Por favor, inténtelo de nuevo más tarde.</p>
 </body>
 </html>
-]]>
-            </programlisting>
+]]></programlisting>
         </sect3>
 
         <sect3 id="zend.controller.quickstart.go.finish">

+ 17 - 15
documentation/manual/es/module_specs/Zend_Date-Introduction.xml

@@ -1,10 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15103 -->
+<!-- Reviewed: no -->
 <sect1 id="zend.date.introduction">
 
     <title>Introducción</title>
 
     <para>
         El componente
-        <code>Zend_Date</code>
+        <classname>Zend_Date</classname>
         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
@@ -29,15 +32,15 @@
         con manejo de localizaciones y normalización, por favor
         vea el manual de
         <link linkend="zend.locale.date.datesandtimes">
-            <code>Zend_Locale</code>
+            <classname>Zend_Locale</classname>
         </link>
         .
     </para>
 
     <para>
-        <code>Zend_Date</code>
+        <classname>Zend_Date</classname>
         también soporta nombres de meses abreviados en varios idiomas.
-        <code>Zend_Locale</code>
+        <classname>Zend_Locale</classname>
         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.
@@ -74,20 +77,19 @@
 date_default_timezone_set('America/Los_Angeles');
 // zona horaria para un alemán en Alemania
 date_default_timezone_set('Europe/Berlin');
-]]>
-                </programlisting>
+]]></programlisting>
             </example>
-            <emphasis role="strong">¡Al crear instancias de Zend_Date, su zona horaria se convertirá automáticamente
+            <emphasis>¡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.
         </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
+            Tenga en cuenta que las zonas horarias <emphasis>UTC</emphasis> y
+            <emphasis>GMT</emphasis> no incluyen el cambio de hora de invierno/verano (Daylight Saving Time, DST).
+            Esto significa que aunque defina a mano que <classname>Zend_Date</classname> deba trabajar con DST, podría
+            ser anulado por las instancias de <classname>Zend_Date</classname> que han sido fijadas a
             UTC o GMT.
         </para>
     </sect2>
@@ -97,7 +99,7 @@ date_default_timezone_set('Europe/Berlin');
         <title>¿Por Qué Usar Zend_Date?</title>
 
         <para>
-            <code>Zend_Date</code> ofrece las siguientes prestaciones, las cuales extienden el alcance de las funciones de fecha de PHP:
+            <classname>Zend_Date</classname> ofrece las siguientes prestaciones, las cuales extienden el alcance de las funciones de fecha de PHP:
         </para>
 
         <itemizedlist mark="opencircle">
@@ -106,7 +108,7 @@ date_default_timezone_set('Europe/Berlin');
                     API sencilla
                 </para>
                 <para>
-                    <code>Zend_Date</code> aporta una API muy sencilla, que combina lo mejor de la funcionalidad
+                    <classname>Zend_Date</classname> 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.
                 </para>
@@ -126,7 +128,7 @@ 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
+                    desde el 13 Dec 1901 20:45:54 GMT al 19 Ene 2038 03:14:07 GMT," <classname>Zend_Date</classname> 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
@@ -146,7 +148,7 @@ date_default_timezone_set('Europe/Berlin');
                     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
+                    difieren ligeramente uno de otro, ambos tienen soporte por parte de <classname>Zend_Date</classname> usando la constante
                     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

Diferenças do arquivo suprimidas por serem muito extensas
+ 253 - 296
documentation/manual/es/module_specs/Zend_Db_Adapter.xml


+ 9 - 8
documentation/manual/es/module_specs/Zend_Db_Profiler-Firebug.xml

@@ -1,8 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15103 -->
+<!-- Reviewed: no -->
 <sect3 id="zend.db.profiler.profilers.firebug">
     <title>Perfilando con Firebug</title>
 
     <para>
-        <code>Zend_Db_Profiler_Firebug</code> envía información de
+        <classname>Zend_Db_Profiler_Firebug</classname> envía información de
 perfilado a la <ulink
             url="http://getfirebug.com/logging.html">Consola</ulink> de
         <ulink url="http://www.getfirebug.com/">Firebug</ulink>.
@@ -10,7 +13,7 @@ perfilado a la <ulink
 
     <para>
         Todos los datos son enviados a través del componente
-        <code>Zend_Wildfire_Channel_HttpHeaders</code> que usa cabeceras HTTP
+        <classname>Zend_Wildfire_Channel_HttpHeaders</classname> que usa cabeceras HTTP
         para asegurar que el contenido de la página no sea alterado.
         Depurar peticiones AJAX que requieren respuestas JSON y XML
         es perfectamente posible con este enfoque.
@@ -41,7 +44,7 @@ mozilla .org/en-US/firefox/addon/1843</ulink>.
     </itemizedlist>
 
     <example id="zend.db.profiler.profilers.firebug.example.with_front_controller">
-        <title>Perfilando DB con <code>Zend_Controller_Front</code></title>
+        <title>Perfilando DB con Zend_Controller_Front</title>
 
         <programlisting role="php"><![CDATA[
 // En tu archivo bootstrap
@@ -56,12 +59,11 @@ $db->setProfiler($profiler)
 
 // Todas las consultas a la base de datos en tus archivos modelo, vista y controlador
 // ahora serán perfilados y enviados a Firebug
-]]>
-        </programlisting>
+]]></programlisting>
     </example>
 
     <example id="zend.db.profiler.profilers.firebug.example.without_front_controller">
-        <title>Perfilar DB sin <code>Zend_Controller_Front</code></title>
+        <title>Perfilar DB sin <classname>Zend_Controller_Front</classname></title>
 
         <programlisting role="php"><![CDATA[
 $profiler = new Zend_Db_Profiler_Firebug('All DB Queries');
@@ -84,8 +86,7 @@ ob_start();
 // Enviar los datos de perfilado al navegador
 $channel->flush();
 $response->sendHeaders();
-]]>
-        </programlisting>
+]]></programlisting>
     </example>
 </sect3>
 <!--

+ 33 - 43
documentation/manual/es/module_specs/Zend_Db_Profiler.xml

@@ -1,3 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15103 -->
+<!-- Reviewed: no -->
 <sect1 id="zend.db.profiler" xmlns:xi="http://www.w3.org/2001/XInclude">
 
     <title>Zend_Db_Profiler</title>
@@ -7,7 +10,7 @@
         <title>Introducción</title>
 
         <para>
-            <code>Zend_Db_Profiler</code> puede ser habilitado para Perfilar las
+            <classname>Zend_Db_Profiler</classname> 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
@@ -37,8 +40,7 @@ $db->getProfiler()->setEnabled(false);
 
 // encender el perfilador:
 $db->getProfiler()->setEnabled(true);
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             El valor de la opción '<code>profiler</code>' es flexible. Es interpretada de distintas
@@ -49,25 +51,23 @@ $db->getProfiler()->setEnabled(true);
         <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>.
+            es el la clase de perfilador por defecto del adaptador, <classname>Zend_Db_Profiler</classname>.
             <programlisting role="php"><![CDATA[
 $params['profiler'] = true;
 $db = Zend_Db::factory('PDO_MYSQL', $params);
-]]>
-            </programlisting>
+]]></programlisting>
         </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.
+            El tipo del objeto debe ser <classname>Zend_Db_Profiler</classname> o una subclase de este.
             Habilitar el perfilador se hace por separado.
             <programlisting role="php"><![CDATA[
 $profiler = MyProject_Db_Profiler();
 $profiler->setEnabled(true);
 $params['profiler'] = $profiler;
 $db = Zend_Db::factory('PDO_MYSQL', $params);
-]]>
-            </programlisting>
+]]></programlisting>
         </para>
 
         <para>
@@ -76,7 +76,7 @@ $db = Zend_Db::factory('PDO_MYSQL', $params);
             '<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
+            <classname>Zend_Db_Profiler</classname> 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[
@@ -85,8 +85,7 @@ $params['profiler'] = array(
     'class'   => 'MyProject_Db_Profiler'
 );
 $db = Zend_Db::factory('PDO_MYSQL', $params);
-]]>
-            </programlisting>
+]]></programlisting>
         </para>
 
         <para>
@@ -97,8 +96,7 @@ $db = Zend_Db::factory('PDO_MYSQL', $params);
 [main]
 db.profiler.class   = "MyProject_Db_Profiler"
 db.profiler.enabled = true
-]]>
-            </programlisting>
+]]></programlisting>
 
             Esta configuración puede ser aplicada con el siguiente código PHP:
 
@@ -106,8 +104,7 @@ db.profiler.enabled = true
 $config = new Zend_Config_Ini('config.ini', 'main');
 $params['profiler'] = $config->db->profiler;
 $db = Zend_Db::factory('PDO_MYSQL', $params);
-]]>
-            </programlisting>
+]]></programlisting>
 
             La propiedad '<code>instance</code>' debe ser usada como el siguiente ejemplo:
             <programlisting role="php"><![CDATA[
@@ -119,8 +116,7 @@ $configData = array(
 $config = new Zend_Config($configData);
 $params['profiler'] = $config;
 $db = Zend_Db::factory('PDO_MYSQL', $params);
-]]>
-            </programlisting>
+]]></programlisting>
 
         </para>
 
@@ -137,11 +133,10 @@ $db = Zend_Db::factory('PDO_MYSQL', $params);
 
         <programlisting role="php"><![CDATA[
 $profiler = $db->getProfiler();
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
-            Este retorna una instancia del objeto <code>Zend_Db_Profiler</code>. Con
+            Este retorna una instancia del objeto <classname>Zend_Db_Profiler</classname>. Con
             esta instancia, el desarrollador puede examinar las consultar usando una variedad
             de métodos:
         </para>
@@ -214,7 +209,7 @@ $profiler = $db->getProfiler();
         </itemizedlist>
 
         <para>
-            La información que <code>Zend_Db_Profiler</code> provee es útil para
+            La información que <classname>Zend_Db_Profiler</classname> 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:
@@ -224,8 +219,7 @@ $profiler = $db->getProfiler();
 $query = $profiler->getLastQueryProfile();
 
 echo $query->getQuery();
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             Tal vez una página se genera lentamente; use el perfilador para
@@ -254,8 +248,7 @@ echo 'Promedio de tiempo de consulta: ' . $totalTime / $queryCount .
 echo 'Consultas por segundo: ' . $queryCount / $totalTime . "\n";
 echo 'Tardanza de la consulta más lenta: ' . $longestTime . "\n";
 echo "Consulta más lenta: \n" . $longestQuery . "\n";
-]]>
-        </programlisting>
+]]></programlisting>
 
     </sect2>
 
@@ -266,7 +259,7 @@ echo "Consulta más lenta: \n" . $longestQuery . "\n";
         <para>
             Además de la inspección de consultas, el perfilador también le permite
             al desarrollador filtrar que consultas serán perfiladas. El siguiente método
-            opera en una instancia de <code>Zend_Db_Profiler</code>:
+            opera en una instancia de <classname>Zend_Db_Profiler</classname>:
         </para>
 
         <sect3 id="zend.db.profiler.advanced.filtertime">
@@ -284,8 +277,7 @@ $profiler->setFilterElapsedSecs(5);
 
 // Perfilar todas las consultas sin importar el tiempo:
 $profiler->setFilterElapsedSecs(null);
-]]>
-            </programlisting>
+]]></programlisting>
         </sect3>
 
         <sect3 id="zend.db.profiler.advanced.filtertype">
@@ -295,49 +287,49 @@ $profiler->setFilterElapsedSecs(null);
                 <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
-                constantes de <code>Zend_Db_Profiler</code>:
+                constantes de <classname>Zend_Db_Profiler</classname>:
             </para>
 
             <itemizedlist>
                 <listitem>
                     <para>
-                        <code>Zend_Db_Profiler::CONNECT</code>: operaciones de
+                        <classname>Zend_Db_Profiler::CONNECT</classname>: operaciones de
                         conexión o selección de base de datos.
                     </para>
                 </listitem>
                 <listitem>
                     <para>
-                        <code>Zend_Db_Profiler::QUERY</code>: consultas generales
+                        <classname>Zend_Db_Profiler::QUERY</classname>: consultas generales
                         a la base de datos que no calzan con otros tipos.
                     </para>
                 </listitem>
                 <listitem>
                     <para>
-                        <code>Zend_Db_Profiler::INSERT</code>: cualquier consulta
+                        <classname>Zend_Db_Profiler::INSERT</classname>: cualquier consulta
                         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
+                        <classname>Zend_Db_Profiler::UPDATE</classname>: cualquier consulta que
                         actualice registros existentes, usualmente un SQL UPDATE.
                     </para>
                 </listitem>
                 <listitem>
                     <para>
-                        <code>Zend_Db_Profiler::DELETE</code>: cualquier consulta
+                        <classname>Zend_Db_Profiler::DELETE</classname>: cualquier consulta
                         que elimine datos existentes, usualmente un SQL DELETE.
                     </para>
                 </listitem>
                 <listitem>
                     <para>
-                        <code>Zend_Db_Profiler::SELECT</code>: cualquier consulta que
+                        <classname>Zend_Db_Profiler::SELECT</classname>: cualquier consulta que
                         retorne datos existentes, usualmente un SQL SELECT.
                     </para>
                 </listitem>
                 <listitem>
                     <para>
-                        <code>Zend_Db_Profiler::TRANSACTION</code>: cualquier
+                        <classname>Zend_Db_Profiler::TRANSACTION</classname>: cualquier
                         operación transaccional, tal como iniciar una transacción, confirmar,
                         o revertir.
                     </para>
@@ -345,7 +337,7 @@ $profiler->setFilterElapsedSecs(null);
             </itemizedlist>
 
             <para>
-                Asi como con <code>setFilterElapsedSecs()</code>, puedes remover cualquier filtro
+                Asi como con <classname>setFilterElapsedSecs()</classname>, puedes remover cualquier filtro
                 existente pasando un <code>null</code> como único argumento.
             </para>
 
@@ -363,8 +355,7 @@ $profiler->setFilterQueryType(Zend_Db_Profiler::DELETE);
 
 // Remover todos los filtros
 $profiler->setFilterQueryType(null);
-]]>
-            </programlisting>
+]]></programlisting>
 
         </sect3>
 
@@ -393,8 +384,7 @@ $profiles = $profiler->getQueryProfiles(Zend_Db_Profiler::SELECT |
 
 // Obtiene solo perfiles de consultas DELETE
 $profiles = $profiler->getQueryProfiles(Zend_Db_Profiler::DELETE);
-]]>
-            </programlisting>
+]]></programlisting>
 
         </sect3>
 
@@ -405,7 +395,7 @@ $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
+            <classname>Zend_Db_Profiler</classname>.  Los Perfiladores Especializados
             tratan la información de perfilado de maneras más especificas.
         </para>
 

+ 102 - 127
documentation/manual/es/module_specs/Zend_Db_Select.xml

@@ -1,4 +1,7 @@
-<sect1 id="zend.db.select">
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15103 -->
+<!-- Reviewed: no -->
+<sect1 id="zend.db.select">
 
     <title>Zend_Db_Select</title>
 
@@ -16,7 +19,7 @@
         </para>
 
         <para>
-            Las posibilidades de Zend_Db_Select incluyen:
+            Las posibilidades de <classname>Zend_Db_Select</classname> incluyen:
         </para>
 
         <itemizedlist>
@@ -51,10 +54,10 @@
         </itemizedlist>
 
         <para>
-            El uso de Zend_Db_Select no es obligatorio. Para consultas SELECT muy simples,
+            El uso de <classname>Zend_Db_Select</classname> 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 útil si se necesita ensamblar
+            <code>fetchAll()</code>. Usar <classname>Zend_Db_Select</classname> es útil si se necesita ensamblar
             una consulta SELECT proceduralmente, o basada en condiciones lógicas en
             la aplicación.
         </para>
@@ -66,8 +69,8 @@
         <title>Creando un Objeto Select</title>
 
         <para>
-            Se puede crear una instancia del objeto Zend_Db_Select usando el método
-            <code>select()</code> de un objeto Zend_Db_Adapter_Abstract.
+            Se puede crear una instancia del objeto <classname>Zend_Db_Select</classname> usando el método
+            <code>select()</code> de un objeto <classname>Zend_Db_Adapter_Abstract</classname>.
         </para>
 
         <example id="zend.db.select.creating.example-db">
@@ -77,13 +80,12 @@
             <programlisting role="php"><![CDATA[
 $db = Zend_Db::factory( ...options... );
 $select = $db->select();
-]]>
-            </programlisting>
+]]></programlisting>
 
         </example>
 
         <para>
-            Otra manera de crear el objeto Zend_Db_Select es con su constructor,
+            Otra manera de crear el objeto <classname>Zend_Db_Select</classname> es con su constructor,
             especificando el adaptador de base de datos como un argumento.
         </para>
 
@@ -94,8 +96,7 @@ $select = $db->select();
             <programlisting role="php"><![CDATA[
 $db = Zend_Db::factory( ...options... );
 $select = new Zend_Db_Select($db);
-]]>
-            </programlisting>
+]]></programlisting>
 
         </example>
 
@@ -106,7 +107,7 @@ $select = new Zend_Db_Select($db);
         <title>Construyendo consultas Select</title>
 
         <para>Cuando se construye una consulta, puede agregar cláusulas a ésta, una por una.
-            Hay un método separado para agregar cada una al objeto Zend_Db_Select.</para>
+            Hay un método separado para agregar cada una al objeto <classname>Zend_Db_Select</classname>.</para>
 
         <example id="zend.db.select.building.example">
 
@@ -124,12 +125,11 @@ $select->where( ...specify search criteria... )
 
 // Agregar una cláusula ORDER BY
 $select->order( ...specify sorting criteria... );
-]]>
-            </programlisting>
+]]></programlisting>
 
         </example>
 
-        <para>También puede utilizar la mayoría de los métodos del objeto Zend_Db_Select con una
+        <para>También puede utilizar la mayoría de los métodos del objeto <classname>Zend_Db_Select</classname> con una
         interfaz fluida. Una interfaz fluida significa que cada método devuelve una referencia
             al objeto que se ha llamado, así se puede llamar inmediatamente a otro método.</para>
 
@@ -142,8 +142,7 @@ $select = $db->select()
     ->from( ...specify table and columns... )
     ->where( ...specify search criteria... )
     ->order( ...specify sorting criteria... );
-]]>
-            </programlisting>
+]]></programlisting>
 
         </example>
 
@@ -158,7 +157,7 @@ $select = $db->select()
 
             <para>
                 Especifique la tabla para esta consulta usando el método <code>from()</code>.
-                Se puede especificar el nombre de la tabla como un string. Zend_Db_Select
+                Se puede especificar el nombre de la tabla como un string. <classname>Zend_Db_Select</classname>
                 aplica el identificador entrecomillando el nombre de la tabla, así puede
                 utilizar caracteres especiales.
             </para>
@@ -174,8 +173,7 @@ $select = $db->select()
 
 $select = $db->select()
              ->from( 'products' );
-]]>
-                </programlisting>
+]]></programlisting>
 
             </example>
 
@@ -184,7 +182,7 @@ $select = $db->select()
                 "alias de tabla") para una tabla. En lugar de un string, se usa un
                 array asociativo que mapee el nombre de correlación con el nombre de la tabla.
                 En otras cláusulas de consulta SQL, utilice nombre de correlación.
-                Si su consulta se une con más de una tabla, Zend_Db_Select genera una
+                Si su consulta se une con más de una tabla, <classname>Zend_Db_Select</classname> genera 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 de correlación.
             </para>
@@ -200,15 +198,14 @@ $select = $db->select()
 
 $select = $db->select()
              ->from( array('p' => 'products') );
-]]>
-                </programlisting>
+]]></programlisting>
 
             </example>
 
             <para>
                 Algunos RDBMS apoyan el uso de un especificador de esquema para una tabla.
                 Puede especificar el nombre de la tabla como
-                "<code>nombreDeEsquema.nombre DeTabla</code>", donde Zend_Db_Select entrecomillará
+                "<code>nombreDeEsquema.nombre DeTabla</code>", donde <classname>Zend_Db_Select</classname> 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
@@ -231,8 +228,7 @@ $select = $db->select()
 
 $select = $db->select()
              ->from('products', '*', 'myschema');
-]]>
-                </programlisting>
+]]></programlisting>
 
             </example>
 
@@ -266,7 +262,7 @@ $select = $db->select()
             <para>
                 Puedes especificar el nombre de columna como
                 "<code>nombreCorrelacionado.nombreDeColumna</code>".
-                Zend_Db_Select entrecomillará cada parte individualmente. Si no especifica
+                <classname>Zend_Db_Select</classname> entrecomillará cada parte individualmente. Si no especifica
                 un nombre de correlación para una columna, se usará el nombre de correlación
                 para la tabla nombrada en el método actual <code>from()</code>.
             </para>
@@ -299,8 +295,7 @@ $select = $db->select()
 $select = $db->select()
              ->from(array('p' => 'products'),
                     array('prodno' => 'product_id', 'product_name'));
-]]>
-                </programlisting>
+]]></programlisting>
 
             </example>
 
@@ -313,13 +308,13 @@ $select = $db->select()
             <para>
                 Las columnas en consultas SQL a veces son expresiones, no simples columnas
                 de una tabla. Las expresiones no deberían tener nombres de correlación o entrecomillado aplicado.
-                Si sus columnas contienen paréntesis, Zend_Db_Select las reconoce como una expresión.
+                Si sus columnas contienen paréntesis, <classname>Zend_Db_Select</classname> las reconoce como una expresión.
             </para>
 
             <para>
-                Tambien puede crear un objeto de tipo Zend_Db_Expr explícitamente, para prevenir
-                que el string sea tratado como columna. Zend_Db_Expr es una clase mínima, que contiene
-                un simple string. Zend_Db_Select reconoce el objeto de tipo Zend_Db_Expr y
+                Tambien puede crear un objeto de tipo <classname>Zend_Db_Expr</classname> explícitamente, para prevenir
+                que el string sea tratado como columna. <classname>Zend_Db_Expr</classname> es una clase mínima, que contiene
+                un simple string. <classname>Zend_Db_Select</classname> reconoce el objeto de tipo <classname>Zend_Db_Expr</classname> y
                 lo convierte de vuelta en el string, pero no le aplica ninguna alteración,
                 tal como el entrecomillado o la correlación de nombres.
             </para>
@@ -327,8 +322,8 @@ $select = $db->select()
             <note>
 
                 <para>
-                    El Uso de Zend_Db_Expr para nombres de columnas no es necesario si
-                    la expresión de la columna contiene paréntesis; Zend_Db_Select reconoce
+                    El Uso de <classname>Zend_Db_Expr</classname> para nombres de columnas no es necesario si
+                    la expresión de la columna contiene paréntesis; <classname>Zend_Db_Select</classname> reconoce
                     y trata el string como expresión, saltándose el entrecomillado y la
                     correlación de nombres.
                 </para>
@@ -370,13 +365,12 @@ $select = $db->select()
                           'cost_plus_tax' =>
                               new Zend_Db_Expr('p.cost * 1.08'))
                     );
-]]>
-                </programlisting>
+]]></programlisting>
 
             </example>
 
             <para>
-                En los casos anteriores, Zend_Db_Select no altera el string para aplicar
+                En los casos anteriores, <classname>Zend_Db_Select</classname> no altera el string para aplicar
                 correlación de nombres o entrecomillado de identificadores. Si estos
                 cambios son necesarios para resolver ambigüedades, deberías realizar
                 cambios manualmente en el string.
@@ -418,8 +412,7 @@ $select = $db->select()
                     array('origin' =>
                               '(p.' . $db->quoteIdentifier('from') . ' + 10)')
                    );
-]]>
-                </programlisting>
+]]></programlisting>
 
             </example>
 
@@ -433,7 +426,7 @@ $select = $db->select()
                 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.
-                Puedes pasar las columnas bien como un string, un <code>Zend_Db_Expr</code> o
+                Puedes pasar las columnas bien como un string, un <classname>Zend_Db_Expr</classname> o
                 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.
@@ -459,8 +452,8 @@ $select = $db->select()
 $select = $db->select()
              ->from(array('p' => 'products'), 'p.product_id')
              ->columns('product_name', 'p');
-             // Alternativamente puede usar columns('p.product_name')]]>
-                </programlisting>
+             // Alternativamente puede usar columns('p.product_name')
+]]></programlisting>
 
             </example>
 
@@ -472,7 +465,7 @@ $select = $db->select()
 
             <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
+                combinar filas de multiples tablas. Puedes agregar tablas a una consulta <classname>Zend_Db_Select</classname>
                 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
                 en la mayoría de los casos.
@@ -493,8 +486,7 @@ $select = $db->select()
                     array('product_id', 'product_name'))
              ->join(array('l' => 'line_items'),
                     'p.product_id = l.product_id');
-]]>
-                </programlisting>
+]]></programlisting>
 
             </example>
 
@@ -517,7 +509,7 @@ $select = $db->select()
             <para>
                 El tercer argumento <code>join()</code> es un array de nombres de columnas, como
                 al usar el método <code>from()</code>. Este es por defecto "<code>*</code>", soporta
-                correlación de nombres, expresiones, y Zend_Db_Expr de la misma manera que el array de
+                correlación de nombres, expresiones, y <classname>Zend_Db_Expr</classname> de la misma manera que el array de
                 nombres de columnas en el método <code>from()</code>.
             </para>
 
@@ -544,8 +536,7 @@ $select = $db->select()
              ->join(array('l' => 'line_items'),
                     'p.product_id = l.product_id',
                     array() ); // empty list of columns
-]]>
-                </programlisting>
+]]></programlisting>
 
                 <para>
                     Note el array vacío <code>array()</code> en el ejemplo anterior
@@ -556,7 +547,7 @@ $select = $db->select()
 
             <para>
                 SQL tiene muchos tipos de uniones. Vea una lista a continuación para los métodos
-                que soporta cada tipo de unión en Zend_Db_Select.
+                que soporta cada tipo de unión en <classname>Zend_Db_Select</classname>.
             </para>
 
             <itemizedlist>
@@ -683,7 +674,7 @@ $select = $db->select()
                 Además de los métodos de unión, puede simplificar las consultas
                 usando métodos JoinUsing. En vez de proveer una condición completa a la unión,
                 simplemente pase el nombre de columna en la que se hará la unión y
-                el objeto Zend_Db_Select completa la condición.
+                el objeto <classname>Zend_Db_Select</classname> completa la condición.
             </para>
 
             <example id="zend.db.select.building.joinusing.example">
@@ -701,14 +692,14 @@ $select = $db->select()
 $select = $db->select()
              ->from('table1')
              ->joinUsing('table2', 'column1')
-             ->where('column2 = ?', 'foo');]]>
-                </programlisting>
+             ->where('column2 = ?', 'foo');
+]]></programlisting>
 
             </example>
 
             <para>
                 Cada uno de los métodos aplicables para uniones en el componente
-                Zend_Db_Select tiene su correspondiente método 'using' (usando)
+                <classname>Zend_Db_Select</classname> tiene su correspondiente método 'using' (usando)
             </para>
 
             <itemizedlist>
@@ -764,8 +755,8 @@ $select = $db->select()
 $select = $db->select()
              ->from('products',
                     array('product_id', 'product_name', 'price'))
-             ->where('price > 100.00');]]>
-                </programlisting>
+             ->where('price > 100.00');
+]]></programlisting>
 
             </example>
 
@@ -781,7 +772,7 @@ $select = $db->select()
 
             <para>
                 El segundo argumento del método <code>where()</code> es opcional.
-                Es un valor para sustituir en la expresión. Zend_Db_Select entrecomilla el valor
+                Es un valor para sustituir en la expresión. <classname>Zend_Db_Select</classname> entrecomilla el valor
                 y lo sustituye por un signo de interrogación ("<code>?</code>") en la expresión.
             </para>
 
@@ -808,14 +799,13 @@ $select = $db->select()
              ->from('products',
                     array('product_id', 'product_name', 'price'))
              ->where('price > ?', $minimumPrice);
-]]>
-                </programlisting>
+]]></programlisting>
 
             </example>
 
             <para>
                 Puede invocar el método <code>where()</code> múltiples veces en el mismo objeto
-                Zend_Db_Select. La consulta resultante combina los términos multiples
+                <classname>Zend_Db_Select</classname>. La consulta resultante combina los términos multiples
                 usando <code>AND</code> entre ellos.
             </para>
 
@@ -838,8 +828,7 @@ $select = $db->select()
                     array('product_id', 'product_name', 'price'))
              ->where('price > ?', $minimumPrice)
              ->where('price < ?', $maximumPrice);
-]]>
-                </programlisting>
+]]></programlisting>
 
             </example>
 
@@ -869,13 +858,12 @@ $select = $db->select()
                     array('product_id', 'product_name', 'price'))
              ->where('price < ?', $minimumPrice)
              ->orWhere('price > ?', $maximumPrice);
-]]>
-                </programlisting>
+]]></programlisting>
 
             </example>
 
             <para>
-                Zend_Db_Select automáticamente pone paréntesis alrededor de cada expresión
+                <classname>Zend_Db_Select</classname> automáticamente pone paréntesis alrededor de cada expresión
                 que especifique usando el método <code>where()</code> u <code>orWhere()</code>.
                 Esto ayuda a asegurar que la precedencia del operador Booleano no cause resultados
                 inesperados.
@@ -901,15 +889,14 @@ $select = $db->select()
                     array('product_id', 'product_name', 'price'))
              ->where("price < $minimumPrice OR price > $maximumPrice")
              ->where('product_name = ?', $prod);
-]]>
-                </programlisting>
+]]></programlisting>
 
             </example>
 
             <para>
                 En el ejemplo anterior, los resultados deberían ser diferentes sin paréntesis,
                 porque <code>AND</code> tiene precedencia más alta respecto a <code>OR</code>.
-                Zend_Db_Select aplica el parentesis con un efecto tal que la expresión en sucesivas
+                <classname>Zend_Db_Select</classname> aplica el parentesis con un efecto tal que la expresión en sucesivas
                 llamadas al método <code>where()</code> vincula de forma más fuerte el <code>AND</code>
                 que combina las expresiones.
             </para>
@@ -928,7 +915,7 @@ $select = $db->select()
             </para>
 
             <para>
-                En Zend_Db_Select, puede especificar la(s) columna(s) que usar para el
+                En <classname>Zend_Db_Select</classname>, puede especificar la(s) columna(s) que 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
                 que se usarán en la cláusula <code>GROUP BY</code>.
@@ -952,8 +939,7 @@ $select = $db->select()
                     'p.product_id = l.product_id',
                     array('line_items_per_product' => 'COUNT(*)'))
              ->group('p.product_id');
-]]>
-                </programlisting>
+]]></programlisting>
 
             </example>
 
@@ -961,7 +947,7 @@ $select = $db->select()
                 Como el array de columnas del método <code>from()</code>, se puede usar
                 correlación de nombres en el string de nombre de columna, y la columna será
                 entrecomillada como un identificador, salvo que el string contenga paréntesis
-                o sea un objeto de tipo Zend_Db_Expr.
+                o sea un objeto de tipo <classname>Zend_Db_Expr</classname>.
             </para>
 
         </sect3>
@@ -980,7 +966,7 @@ $select = $db->select()
             </para>
 
             <para>
-                En Zend_Db_Select, puede especificar condiciones para restringir
+                En <classname>Zend_Db_Select</classname>, puede 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
                 conteniendo una expresión SQL. El segundo argumento es un valor
@@ -1011,8 +997,7 @@ $select = $db->select()
                     array('line_items_per_product' => 'COUNT(*)'))
              ->group('p.product_id')
              ->having('line_items_per_product > 10');
-]]>
-                </programlisting>
+]]></programlisting>
 
             </example>
 
@@ -1045,7 +1030,7 @@ $select = $db->select()
             </para>
 
             <para>
-                En Zend_Db_Select, puede usar el método <code>order()</code>
+                En <classname>Zend_Db_Select</classname>, puede usar 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
                 palabra reservada <code>ASC</code> o <code>DESC</code> siguiendola, separada
@@ -1055,7 +1040,7 @@ $select = $db->select()
             <para>
                 Como en el método <code>from()</code> y <code>group()</code>, los nombres de columnas
                 son entrecomillados como identificadores, a menos que contengan paréntesis
-                o sean un obheto de tipo Zend_Db_Expr.
+                o sean un obheto de tipo <classname>Zend_Db_Expr</classname>.
             </para>
 
             <example id="zend.db.select.building.order.example">
@@ -1079,8 +1064,7 @@ $select = $db->select()
              ->group('p.product_id')
              ->order(array('line_items_per_product DESC',
                            'product_id'));
-]]>
-                </programlisting>
+]]></programlisting>
 
             </example>
 
@@ -1100,7 +1084,7 @@ $select = $db->select()
             </para>
 
             <para>
-                En Zend_Db_Select, puede usar el método <code>limit()</code> para especificar
+                En <classname>Zend_Db_Select</classname>, puede usar el método <code>limit()</code> para especificar
                 la cantidad de filas y el número de filas que saltar. El primer argumento es
                 el método es el número de filas deseado. El segundo argument es el número de filas que saltar.
             </para>
@@ -1119,8 +1103,7 @@ $select = $db->select()
              ->from(array('p' => 'products'),
                     array('product_id', 'product_name'))
              ->limit(10, 20);
-]]>
-                </programlisting>
+]]></programlisting>
 
             </example>
 
@@ -1129,7 +1112,7 @@ $select = $db->select()
                 <para>
                     La sintaxis de <code>LIMIT</code> no está soportada por todos los RDBMS brands.
                     Algunos RDBMS requieren diferente sintaxis para soportar una funcionalidad similar
-                    Cada clase Zend_Db_Adapter_Abstract incluye un método
+                    Cada clase <classname>Zend_Db_Adapter_Abstract</classname> incluye un método
                     para producir el SQL apropiado para cada RDBMS.
                 </para>
 
@@ -1161,8 +1144,7 @@ $select = $db->select()
              ->from(array('p' => 'products'),
                     array('product_id', 'product_name'))
              ->limitPage(2, 10);
-]]>
-                </programlisting>
+]]></programlisting>
 
             </example>
 
@@ -1189,8 +1171,7 @@ $select = $db->select()
 $select = $db->select()
              ->distinct()
              ->from(array('p' => 'products'), 'product_name');
-]]>
-                </programlisting>
+]]></programlisting>
 
             </example>
 
@@ -1217,8 +1198,7 @@ $select = $db->select()
 $select = $db->select()
              ->forUpdate()
              ->from(array('p' => 'products'));
-]]>
-                </programlisting>
+]]></programlisting>
 
             </example>
 
@@ -1232,7 +1212,7 @@ $select = $db->select()
 
         <para>
             En esta sección se describe cómo ejecutar una consulta representada por
-             un objeto Zend_Db_Select.
+             un objeto <classname>Zend_Db_Select</classname>.
         </para>
 
         <sect3 id="zend.db.select.execute.query-adapter">
@@ -1240,9 +1220,9 @@ $select = $db->select()
             <title>Ejecutando Consultas SelectExecuting desde el Adaptador de Base de Datos</title>
 
             <para>
-                Puede ejecutar la consulta representada por el objeto Zend_Db_Select pasándolo
-                como primer argumento al método <code>query()</code> de un objeto Zend_Db_Adapter_Abstract.
-                Use objetos Zend_Db_Select en lugar de un string de consulta.
+                Puede ejecutar la consulta representada por el objeto <classname>Zend_Db_Select</classname> pasándolo
+                como primer argumento al método <code>query()</code> de un objeto <classname>Zend_Db_Adapter_Abstract</classname>.
+                Use objetos <classname>Zend_Db_Select</classname> en lugar de un string de consulta.
             </para>
 
             <para>
@@ -1260,8 +1240,7 @@ $select = $db->select()
 
 $stmt = $db->query($select);
 $result = $stmt->fetchAll();
-]]>
-                </programlisting>
+]]></programlisting>
 
             </example>
 
@@ -1273,7 +1252,7 @@ $result = $stmt->fetchAll();
 
             <para>
                 Como alternativa al uso del método <code>query()</code> del objeto adaptador,
-                puede usar el método <code>query()</code> del objeto Zend_Db_Select. Ambos
+                puede usar el método <code>query()</code> del objeto <classname>Zend_Db_Select</classname>. Ambos
                 métodos devuelven un objeto de tipo Zend_Db_Statement o PDOStatement, dependiendo
                 del tipo de adaptador.
             </para>
@@ -1288,8 +1267,7 @@ $select = $db->select()
 
 $stmt = $select->query();
 $result = $stmt->fetchAll();
-]]>
-                </programlisting>
+]]></programlisting>
 
             </example>
 
@@ -1301,7 +1279,7 @@ $result = $stmt->fetchAll();
 
             <para>
                 Si necesita acceder a una represantación en un string de la
-                consulta SQL correspondiente al objeto Zend_Db_Select,
+                consulta SQL correspondiente al objeto <classname>Zend_Db_Select</classname>,
                 use el método <code>__toString()</code>.
             </para>
 
@@ -1318,8 +1296,7 @@ echo "$sql\n";
 
 // La salida es el string:
 //   SELECT * FROM "products"
-]]>
-                </programlisting>
+]]></programlisting>
 
             </example>
 
@@ -1332,7 +1309,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 <classname>Zend_Db_Select</classname> que no han
             sido cubiertos antes: <code>getPart()</code> y <code>reset()</code>.
         </para>
 
@@ -1368,7 +1345,7 @@ echo "$sql\n";
             </para>
 
             <para>
-                La clase Zend_Db_Select define constantes que puedes usar para
+                La clase <classname>Zend_Db_Select</classname> define constantes que puedes usar para
                 las partes de la consulta SQL.
                 Puede usar estas definiciones de constantes, o los strings
                 literales.
@@ -1388,53 +1365,53 @@ echo "$sql\n";
 
                     <tbody>
                         <row>
-                            <entry><code>Zend_Db_Select::DISTINCT</code></entry>
-                            <entry><code>'distinct'</code></entry>
+                            <entry><classname>Zend_Db_Select::DISTINCT</classname></entry>
+                            <entry><classname>'distinct'</classname></entry>
                         </row>
 
                         <row>
-                            <entry><code>Zend_Db_Select::FOR_UPDATE</code></entry>
-                            <entry><code>'forupdate'</code></entry>
+                            <entry><classname>Zend_Db_Select::FOR_UPDATE</classname></entry>
+                            <entry><classname>'forupdate'</classname></entry>
                         </row>
 
                         <row>
-                            <entry><code>Zend_Db_Select::COLUMNS</code></entry>
-                            <entry><code>'columns'</code></entry>
+                            <entry><classname>Zend_Db_Select::COLUMNS</classname></entry>
+                            <entry><classname>'columns'</classname></entry>
                         </row>
 
                         <row>
-                            <entry><code>Zend_Db_Select::FROM</code></entry>
-                            <entry><code>'from'</code></entry>
+                            <entry><classname>Zend_Db_Select::FROM</classname></entry>
+                            <entry><classname>'from'</classname></entry>
                         </row>
 
                         <row>
-                            <entry><code>Zend_Db_Select::WHERE</code></entry>
-                            <entry><code>'where'</code></entry>
+                            <entry><classname>Zend_Db_Select::WHERE</classname></entry>
+                            <entry><classname>'where'</classname></entry>
                         </row>
 
                         <row>
-                            <entry><code>Zend_Db_Select::GROUP</code></entry>
-                            <entry><code>'group'</code></entry>
+                            <entry><classname>Zend_Db_Select::GROUP</classname></entry>
+                            <entry><classname>'group'</classname></entry>
                         </row>
 
                         <row>
-                            <entry><code>Zend_Db_Select::HAVING</code></entry>
-                            <entry><code>'having'</code></entry>
+                            <entry><classname>Zend_Db_Select::HAVING</classname></entry>
+                            <entry><classname>'having'</classname></entry>
                         </row>
 
                         <row>
-                            <entry><code>Zend_Db_Select::ORDER</code></entry>
-                            <entry><code>'order'</code></entry>
+                            <entry><classname>Zend_Db_Select::ORDER</classname></entry>
+                            <entry><classname>'order'</classname></entry>
                         </row>
 
                         <row>
-                            <entry><code>Zend_Db_Select::LIMIT_COUNT</code></entry>
-                            <entry><code>'limitcount'</code></entry>
+                            <entry><classname>Zend_Db_Select::LIMIT_COUNT</classname></entry>
+                            <entry><classname>'limitcount'</classname></entry>
                         </row>
 
                         <row>
-                            <entry><code>Zend_Db_Select::LIMIT_OFFSET</code></entry>
-                            <entry><code>'limitoffset'</code></entry>
+                            <entry><classname>Zend_Db_Select::LIMIT_OFFSET</classname></entry>
+                            <entry><classname>'limitoffset'</classname></entry>
                         </row>
                     </tbody>
                 </tgroup>
@@ -1458,8 +1435,7 @@ $orderData = $select->getPart( Zend_Db_Select::ORDER );
 // El valor de retorno puede ser una estructura en un array, no un string.
 // Cada parte tiene distinta estructura.
 print_r( $orderData );
-]]>
-                </programlisting>
+]]></programlisting>
 
             </example>
 
@@ -1517,8 +1493,7 @@ $select->order('product_id');
 
 // Limpia todas las partes de la consulta
 $select->reset();
-]]>
-                </programlisting>
+]]></programlisting>
 
             </example>
 

+ 20 - 28
documentation/manual/es/module_specs/Zend_Db_Statement.xml

@@ -1,3 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15103 -->
+<!-- Reviewed: no -->
 <sect1 id="zend.db.statement">
 
     <title>Zend_Db_Statement</title>
@@ -12,7 +15,7 @@
     </para>
 
     <para>
-        Zend_Db_Statement está basado en el objeto PDOStatement en la extensión
+        <classname>Zend_Db_Statement</classname> está basado en el objeto PDOStatement en la extensión
         <ulink url="http://www.php.net/pdo">PHP Data Objects</ulink>.
     </para>
 
@@ -37,8 +40,7 @@ $stmt = $db->query(
             'SELECT * FROM bugs WHERE reported_by = ? AND bug_status = ?',
             array('goofy', 'FIXED')
         );
-]]>
-            </programlisting>
+]]></programlisting>
         </example>
 
         <para>
@@ -65,8 +67,7 @@ $stmt = $db->query(
 $sql = 'SELECT * FROM bugs WHERE reported_by = ? AND bug_status = ?';
 
 $stmt = new Zend_Db_Statement_Mysqli($db, $sql);
-]]>
-            </programlisting>
+]]></programlisting>
         </example>
 
     </sect2>
@@ -97,8 +98,7 @@ $sql = 'SELECT * FROM bugs WHERE reported_by = ? AND bug_status = ?';
 $stmt = new Zend_Db_Statement_Mysqli($db, $sql);
 
 $stmt->execute(array('goofy', 'FIXED'));
-]]>
-            </programlisting>
+]]></programlisting>
         </example>
 
         <para>
@@ -118,14 +118,13 @@ $sql = 'SELECT * FROM bugs WHERE ' .
 $stmt = new Zend_Db_Statement_Mysqli($db, $sql);
 
 $stmt->execute(array(':reporter' => 'goofy', ':status' => 'FIXED'));
-]]>
-            </programlisting>
+]]></programlisting>
         </example>
 
         <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
+            SQL. Algunas clases <classname>Zend_Db_Statement</classname> para extensiones no-PDO
             soportan solo un tipo de parámetro o el otro.
         </para>
 
@@ -145,7 +144,7 @@ $stmt->execute(array(':reporter' => 'goofy', ':status' => 'FIXED'));
             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
+            <classname>Zend_Db_Statement</classname>, pero no puede llamar a los métodos que extraen
             filas de resultados desde éste.
         </para>
 
@@ -162,7 +161,7 @@ $stmt->execute(array(':reporter' => 'goofy', ':status' => 'FIXED'));
             <itemizedlist>
                 <listitem>
                     <para>
-                        <emphasis role="strong">Estilo de Extracción</emphasis>
+                        <emphasis>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" />
@@ -172,7 +171,7 @@ $stmt->execute(array(':reporter' => 'goofy', ':status' => 'FIXED'));
                 </listitem>
                 <listitem>
                     <para>
-                        <emphasis role="strong">Orientación del Cursor</emphasis>
+                        <emphasis>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
@@ -182,7 +181,7 @@ $stmt->execute(array(':reporter' => 'goofy', ':status' => 'FIXED'));
                 </listitem>
                 <listitem>
                     <para>
-                        <emphasis role="strong">Compensación</emphasis> es el
+                        <emphasis>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
@@ -207,8 +206,7 @@ $stmt = $db->query('SELECT * FROM bugs');
 while ($row = $stmt->fetch()) {
     echo $row['bug_description'];
 }
-]]>
-                </programlisting>
+]]></programlisting>
             </example>
 
             <para>
@@ -240,8 +238,7 @@ $stmt = $db->query('SELECT * FROM bugs');
 $rows = $stmt->fetchAll();
 
 echo $rows[0]['bug_description'];
-]]>
-                </programlisting>
+]]></programlisting>
             </example>
 
             <para>
@@ -282,8 +279,7 @@ $stmt->setFetchMode(Zend_Db::FETCH_NUM);
 $rows = $stmt->fetchAll();
 
 echo $rows[0][0];
-]]>
-                </programlisting>
+]]></programlisting>
             </example>
 
             <para>
@@ -321,8 +317,7 @@ echo $rows[0][0];
 $stmt = $db->query('SELECT bug_id, bug_description, bug_status FROM bugs');
 
 $bug_status = $stmt->fetchColumn(2);
-]]>
-                </programlisting>
+]]></programlisting>
             </example>
 
             <para>
@@ -353,8 +348,7 @@ $stmt = $db->query('SELECT bug_id, bug_description, bug_status FROM bugs');
 $obj = $stmt->fetchObject();
 
 echo $obj->bug_description;
-]]>
-                </programlisting>
+]]></programlisting>
             </example>
 
             <para>
@@ -379,8 +373,7 @@ echo $obj->bug_description;
             <title>Binding parameters from PHP variables</title>
             <programlisting role="php"><![CDATA[
 <?php
-]]>
-            </programlisting>
+]]></programlisting>
         </example>
 
         <para>
@@ -403,8 +396,7 @@ echo $obj->bug_description;
             <title>Binding results to PHP variables</title>
             <programlisting role="php"><![CDATA[
 <?php
-]]>
-            </programlisting>
+]]></programlisting>
         </example>
 
         <para>

+ 50 - 63
documentation/manual/es/module_specs/Zend_Db_Table-Relationships.xml

@@ -1,4 +1,7 @@
-<sect1 id="zend.db.table.relationships">
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15103 -->
+<!-- Reviewed: no -->
+<sect1 id="zend.db.table.relationships">
 
     <title>Zend_Db_Table Relationships</title>
 
@@ -13,7 +16,7 @@
         </para>
 
         <para>
-            The Zend_Db_Table_Row class has methods for querying related rows in other tables.
+            The <classname>Zend_Db_Table_Row</classname> class has methods for querying related rows in other tables.
         </para>
 
     </sect2>
@@ -24,7 +27,7 @@
 
         <para>
             Define classes for each of your tables, extending the abstract class
-            Zend_Db_Table_Abstract, as described in <xref linkend="zend.db.table.defining" />. Also
+            <classname>Zend_Db_Table_Abstract</classname>, as described in <xref linkend="zend.db.table.defining" />. Also
             see <xref linkend="zend.db.adapter.example-database" /> for a description of the
             example database for which the following example code is designed.
         </para>
@@ -89,11 +92,10 @@ class BugsProducts extends Zend_Db_Table_Abstract
     );
 
 }
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
-            If you use Zend_Db_Table to emulate cascading UPDATE and DELETE operations, declare the
+            If you use <classname>Zend_Db_Table</classname> to emulate cascading UPDATE and DELETE operations, declare the
             <code>$_dependentTables</code> array in the class for the parent table. List the class
             name for each dependent table. Use the class name, not the physical name of the SQL
             table.
@@ -137,7 +139,7 @@ class BugsProducts extends Zend_Db_Table_Abstract
         <itemizedlist>
             <listitem>
                 <para>
-                    <emphasis role="strong">columns</emphasis> => A string or an array of strings
+                    <emphasis>columns</emphasis> => A string or an array of strings
                     naming the foreign key column name(s) in the dependent table.
                 </para>
 
@@ -149,7 +151,7 @@ class BugsProducts extends Zend_Db_Table_Abstract
 
             <listitem>
                 <para>
-                    <emphasis role="strong">refTableClass</emphasis> => The class name of the
+                    <emphasis>refTableClass</emphasis> => The class name of the
                     parent table. Use the class name, not the physical name of the SQL table.
                 </para>
 
@@ -165,7 +167,7 @@ class BugsProducts extends Zend_Db_Table_Abstract
 
             <listitem>
                 <para>
-                    <emphasis role="strong">refColumns</emphasis> => A string or an array of
+                    <emphasis>refColumns</emphasis> => A string or an array of
                     strings naming the primary key column name(s) in the parent table.
                 </para>
 
@@ -185,7 +187,7 @@ class BugsProducts extends Zend_Db_Table_Abstract
 
             <listitem>
                 <para>
-                    <emphasis role="strong">onDelete</emphasis> => The rule for an action to
+                    <emphasis>onDelete</emphasis> => The rule for an action to
                     execute if a row is deleted in the parent table. See
                     <xref linkend="zend.db.table.relationships.cascading" /> for more information.
                 </para>
@@ -193,7 +195,7 @@ class BugsProducts extends Zend_Db_Table_Abstract
 
             <listitem>
                 <para>
-                    <emphasis role="strong">onUpdate</emphasis> => The rule for an action to
+                    <emphasis>onUpdate</emphasis> => The rule for an action to
                     execute if values in primary key columns are updated in the parent table. See
                     <xref linkend="zend.db.table.relationships.cascading" /> for more information.
                 </para>
@@ -213,11 +215,10 @@ class BugsProducts extends Zend_Db_Table_Abstract
 
         <programlisting role="php"><![CDATA[
 $row->findDependentRowset($table, [$rule]);
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
-            This method returns a Zend_Db_Table_Rowset_Abstract object, containing a set of rows
+            This method returns a <classname>Zend_Db_Table_Rowset_Abstract</classname> object, containing a set of rows
             from the dependent table <code>$table</code> that refer to the row identified by the
             <code>$row</code> object.
         </para>
@@ -243,8 +244,7 @@ $accountsRowset = $accountsTable->find(1234);
 $user1234 = $accountsRowset->current();
 
 $bugsReportedByUser = $user1234->findDependentRowset('Bugs');
-]]>
-            </programlisting>
+]]></programlisting>
 
         </example>
 
@@ -278,8 +278,7 @@ $accountsRowset = $accountsTable->find(1234);
 $user1234 = $accountsRowset->current();
 
 $bugsAssignedToUser = $user1234->findDependentRowset('Bugs', 'Engineer');
-]]>
-            </programlisting>
+]]></programlisting>
 
         </example>
 
@@ -310,13 +309,12 @@ $select = $accountsTable->select()->order('name ASC')
 $bugsAssignedToUser = $user1234->findDependentRowset('Bugs',
                                                      'Engineer',
                                                      $select);
-]]>
-                </programlisting>
+]]></programlisting>
 
             </example>
 
             Alternatively, you can query rows from a dependent table using a special mechanism
-            called a "magic method". Zend_Db_Table_Row_Abstract invokes the method:
+            called a "magic method". <classname>Zend_Db_Table_Row_Abstract</classname> invokes the method:
             <code>findDependentRowset('&lt;TableClass&gt;', '&lt;Rule&gt;')</code> if you invoke a method on
             the Row object matching either of the following patterns:
         </para>
@@ -346,7 +344,7 @@ $bugsAssignedToUser = $user1234->findDependentRowset('Bugs',
             <para>
                 Some application frameworks, such as Ruby on Rails, use a mechanism called
                 "inflection" to allow the spelling of identifiers to change depending on usage. For
-                simplicity, Zend_Db_Table_Row does not provide any inflection mechanism. The table
+                simplicity, <classname>Zend_Db_Table_Row</classname> does not provide any inflection mechanism. The table
                 identity and the rule key named in the method call must match the spelling of the
                 class and rule key exactly.
             </para>
@@ -373,8 +371,7 @@ $bugsReportedBy = $user1234->findBugs();
 
 // Specify the reference rule
 $bugsAssignedTo = $user1234->findBugsByEngineer();
-]]>
-            </programlisting>
+]]></programlisting>
 
         </example>
 
@@ -391,8 +388,7 @@ $bugsAssignedTo = $user1234->findBugsByEngineer();
 
         <programlisting role="php"><![CDATA[
 $row->findParentRow($table, [$rule]);
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             There always should be exactly one row in the parent table referenced by a dependent
@@ -421,8 +417,7 @@ $bugsRowset = $bugsTable->fetchAll(array('bug_status = ?' => 'NEW'));
 $bug1 = $bugsRowset->current();
 
 $reporter = $bug1->findParentRow('Accounts');
-]]>
-            </programlisting>
+]]></programlisting>
 
         </example>
 
@@ -455,14 +450,13 @@ $bugsRowset = $bugsTable->fetchAll(array('bug_status = ?', 'NEW'));
 $bug1 = $bugsRowset->current();
 
 $engineer = $bug1->findParentRow('Accounts', 'Engineer');
-]]>
-            </programlisting>
+]]></programlisting>
 
         </example>
 
         <para>
             Alternatively, you can query rows from a parent table using a "magic method".
-            Zend_Db_Table_Row_Abstract invokes the method:
+            <classname>Zend_Db_Table_Row_Abstract</classname> invokes the method:
             <code>findParentRow('&lt;TableClass&gt;', '&lt;Rule&gt;')</code> if you invoke a method
             on the Row object matching either of the following patterns:
         </para>
@@ -517,8 +511,7 @@ $reporter = $bug1->findParentAccounts();
 
 // Specify the reference rule
 $engineer = $bug1->findParentAccountsByEngineer();
-]]>
-            </programlisting>
+]]></programlisting>
 
         </example>
 
@@ -543,11 +536,10 @@ $row->findManyToManyRowset($table,
                                    [Zend_Db_Table_Select $select]
                                ]
                            ]);
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
-            This method returns a Zend_Db_Table_Rowset_Abstract containing rows from the table
+            This method returns a <classname>Zend_Db_Table_Rowset_Abstract</classname> containing rows from the table
             <code>$table</code>, satisfying the many-to-many relationship. The current Row object
             <code>$row</code> from the origin table is used to find rows in the intersection table,
             and that is joined to the destination table.
@@ -583,8 +575,7 @@ $bug1234 = $bugsRowset->current();
 
 $productsRowset = $bug1234->findManyToManyRowset('Products',
                                                  'BugsProducts');
-]]>
-            </programlisting>
+]]></programlisting>
 
         </example>
 
@@ -637,14 +628,13 @@ $bug1234 = $bugsRowset->current();
 $productsRowset = $bug1234->findManyToManyRowset('Products',
                                                  'BugsProducts',
                                                  'Bug');
-]]>
-            </programlisting>
+]]></programlisting>
 
         </example>
 
         <para>
             Alternatively, you can query rows from the destination table in a many-to-many
-            relationship using a "magic method." Zend_Db_Table_Row_Abstract invokes the method:
+            relationship using a "magic method." <classname>Zend_Db_Table_Row_Abstract</classname> invokes the method:
             <code>findManyToManyRowset('&lt;TableClass&gt;', '&lt;IntersectionTableClass&gt;',
             '&lt;Rule1&gt;', '&lt;Rule2&gt;')</code> if you invoke a method matching any of the
             following patterns:
@@ -710,8 +700,7 @@ $products = $bug1234->findProductsViaBugsProducts();
 
 // Specify the reference rule
 $products = $bug1234->findProductsViaBugsProductsByBug();
-]]>
-            </programlisting>
+]]></programlisting>
 
         </example>
 
@@ -726,28 +715,28 @@ $products = $bug1234->findProductsViaBugsProductsByBug();
             <title>Declare DRI in the database:</title>
 
             <para>
-                Declaring cascading operations in Zend_Db_Table is intended
-                <emphasis role="strong">only</emphasis> for RDBMS brands that do not support
+                Declaring cascading operations in <classname>Zend_Db_Table</classname> is intended
+                <emphasis>only</emphasis> for RDBMS brands that do not support
                 declarative referential integrity (DRI).
             </para>
 
             <para>
                 For example, if you use MySQL's MyISAM storage engine, or SQLite, these solutions
                 do not support DRI. You may find it helpful to declare the cascading operations
-                with Zend_Db_Table.
+                with <classname>Zend_Db_Table</classname>.
             </para>
 
             <para>
                 If your RDBMS implements DRI and the <code>ON DELETE</code> and
                 <code>ON UPDATE</code> clauses, you should declare these clauses in your database
-                schema, instead of using the cascading feature in Zend_Db_Table. Declaring
+                schema, instead of using the cascading feature in <classname>Zend_Db_Table</classname>. Declaring
                 cascading DRI rules in the RDBMS is better for database performance, consistency,
                 and integrity.
             </para>
 
             <para>
                 Most importantly, do not declare cascading operations both in the RDBMS and in your
-                Zend_Db_Table class.
+                <classname>Zend_Db_Table</classname> class.
             </para>
 
         </note>
@@ -774,8 +763,7 @@ $product1234 = $productsRowset->current();
 $product1234->delete();
 // Automatically cascades to Bugs table
 // and deletes dependent rows.
-]]>
-            </programlisting>
+]]></programlisting>
 
         </example>
 
@@ -793,7 +781,7 @@ $product1234->delete();
         </para>
 
         <para>
-            To declare a cascading relationship in the Zend_Db_Table, edit the rules in the
+            To declare a cascading relationship in the <classname>Zend_Db_Table</classname>, edit the rules in the
             <code>$_referenceMap</code>. Set the associative array keys <code>'onDelete'</code> and
             <code>'onUpdate'</code> to the string 'cascade' (or the constant
             <code>self::CASCADE</code>). Before a row is deleted from the parent table, or its
@@ -815,8 +803,8 @@ $product1234->delete();
             <para>
                 No cascading update is done in the example below if the primary key value in the
                 parent class is changed. The <code>'onUpdate'</code> element of the reference map
-                entry is <code>self::RESTRICT</code>. You can get the same result using the value
-                <code>self::NO_ACTION</code>, or by omitting the <code>'onUpdate'</code> entry.
+                entry is <code>self::RESTRICT</code>. You can get the same result by omitting
+                the <code>'onUpdate'</code> entry.
             </para>
 
             <programlisting role="php"><![CDATA[
@@ -834,8 +822,7 @@ class BugsProducts extends Zend_Db_Table_Abstract
         ...
     );
 }
-]]>
-            </programlisting>
+]]></programlisting>
 
         </example>
 
@@ -844,15 +831,15 @@ class BugsProducts extends Zend_Db_Table_Abstract
             <title>Notes Regarding Cascading Operations</title>
 
             <para>
-                <emphasis role="strong">Cascading operations invoked by Zend_Db_Table are not
+                <emphasis>Cascading operations invoked by <classname>Zend_Db_Table</classname> are not
                 atomic.</emphasis>
             </para>
 
             <para>
                 This means that if your database implements and enforces referential integrity
-                constraints, a cascading <code>UPDATE</code> executed by a Zend_Db_Table class
+                constraints, a cascading <code>UPDATE</code> executed by a <classname>Zend_Db_Table</classname> class
                 conflicts with the constraint, and results in a referential integrity violation.
-                You can use cascading <code>UPDATE</code> in Zend_Db_Table
+                You can use cascading <code>UPDATE</code> in <classname>Zend_Db_Table</classname>
                 <emphasis>only</emphasis> if your database does not enforce that referential
                 integrity constraint.
             </para>
@@ -881,22 +868,22 @@ class BugsProducts extends Zend_Db_Table_Abstract
             </para>
 
             <para>
-                <emphasis role="strong">Cascading operations in Zend_Db_Table are invoked only by
-                Zend_Db_Table.</emphasis>
+                <emphasis>Cascading operations in <classname>Zend_Db_Table</classname> are invoked only by
+                <classname>Zend_Db_Table</classname>.</emphasis>
             </para>
 
             <para>
-                Cascading deletes and updates defined in your Zend_Db_Table classes are applied if
+                Cascading deletes and updates defined in your <classname>Zend_Db_Table</classname> classes are applied if
                 you execute the <code>save()</code> or <code>delete()</code> methods on the Row
                 class. However, if you update or delete data using another interface, such as a
                 query tool or another application, the cascading operations are not applied. Even
                 when using <code>update()</code> and <code>delete()</code> methods in the
-                Zend_Db_Adapter class, cascading operations defined in your Zend_Db_Table classes
+                <classname>Zend_Db_Adapter</classname> class, cascading operations defined in your <classname>Zend_Db_Table</classname> classes
                 are not executed.
             </para>
 
             <para>
-                <emphasis role="strong">No Cascading <code>INSERT</code>.</emphasis>
+                <emphasis>No Cascading <code>INSERT</code>.</emphasis>
             </para>
 
             <para>

+ 109 - 151
documentation/manual/es/module_specs/Zend_Db_Table.xml

@@ -1,19 +1,22 @@
-<sect1 id="zend.db.table">
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15103 -->
+<!-- Reviewed: no -->
+<sect1 id="zend.db.table">
 
     <title>Zend_Db_Table</title>
 
     <sect2 id="zend.db.table.introduction">
 
-        <title>Introduction to Table Class</title>
+        <title>Introduction</title>
 
         <para>
-            The Zend_Db_Table class is an object-oriented interface to database tables. It provides
+            The <classname>Zend_Db_Table</classname> class is an object-oriented interface to database tables. It provides
             methods for many common operations on tables. The base class is extensible, so you can
             add custom logic.
         </para>
 
         <para>
-            The Zend_Db_Table solution is an implementation of the
+            The <classname>Zend_Db_Table</classname> solution is an implementation of the
             <ulink url="http://www.martinfowler.com/eaaCatalog/tableDataGateway.html">Table Data
             Gateway</ulink> pattern. The solution also includes a class that implements the
             <ulink url="http://www.martinfowler.com/eaaCatalog/rowDataGateway.html">Row Data
@@ -28,7 +31,7 @@
 
         <para>
             For each table in your database that you want to access, define a class that extends
-            Zend_Db_Table_Abstract.
+            <classname>Zend_Db_Table_Abstract</classname>.
         </para>
 
         <sect3 id="zend.db.table.defining.table-schema">
@@ -50,8 +53,7 @@ class Bugs extends Zend_Db_Table_Abstract
 {
     protected $_name = 'bugs';
 }
-]]>
-                </programlisting>
+]]></programlisting>
 
             </example>
 
@@ -70,8 +72,7 @@ class bugs extends Zend_Db_Table_Abstract
 {
     // table name matches class name
 }
-]]>
-                </programlisting>
+]]></programlisting>
 
             </example>
 
@@ -110,8 +111,7 @@ class Bugs extends Zend_Db_Table_Abstract
     protected $_name   = 'bug_db.bugs';
     protected $_schema = 'ignored';
 }
-]]>
-                </programlisting>
+]]></programlisting>
 
             </example>
 
@@ -138,15 +138,14 @@ $tableBugs = new Bugs(array('name' => 'bugs', 'schema' => 'bug_db'));
 
 // Second alternative:
 
-$tableBugs = new Bugs(array('name' => 'bug_db.bugs');
+$tableBugs = new Bugs(array('name' => 'bug_db.bugs'));
 
 // If schemas are specified in both 'name' and 'schema', the one
 // specified in 'name' takes precedence:
 
 $tableBugs = new Bugs(array('name' => 'bug_db.bugs',
-                            'schema' => 'ignored');
-]]>
-                </programlisting>
+                            'schema' => 'ignored'));
+]]></programlisting>
 
             </example>
 
@@ -178,14 +177,13 @@ class Bugs extends Zend_Db_Table_Abstract
     protected $_name = 'bugs';
     protected $_primary = 'bug_id';
 }
-]]>
-                </programlisting>
+]]></programlisting>
 
             </example>
 
             <para>
-                If you don't specify the primary key, Zend_Db_Table_Abstract tries to discover the
-                primary key based on the information provided by the <code>describeTable()</code>´
+                If you don't specify the primary key, <classname>Zend_Db_Table_Abstract</classname> tries to discover the
+                primary key based on the information provided by the <code>describeTable()</code>´
                 method.
             </para>
 
@@ -196,7 +194,7 @@ class Bugs extends Zend_Db_Table_Abstract
                     uniquely. If no primary key column(s) are specified in the table class
                     definition or the table constructor arguments, or discovered in the table
                     metadata provided by <code>describeTable()</code>, then the table cannot be
-                    used with Zend_Db_Table.
+                    used with <classname>Zend_Db_Table</classname>.
                 </para>
 
             </note>
@@ -227,8 +225,7 @@ class Bugs extends Zend_Db_Table_Abstract
         parent::_setupTableName();
     }
 }
-]]>
-                </programlisting>
+]]></programlisting>
 
             </example>
 
@@ -285,27 +282,25 @@ class Bugs extends Zend_Db_Table_Abstract
                 which is called after all Table metadata has been processed. This is recommended
                 over the <code>__construct</code> method if you do not need to alter the metadata
                 in any programmatic way.
+            </para>
 
-                <example id="zend.db.table.defining.init.usage.example">
+            <example id="zend.db.table.defining.init.usage.example">
 
-                    <title>Example usage of init() method</title>
+                <title>Example usage of init() method</title>
 
-                    <programlisting role="php"><![CDATA[
+                <programlisting role="php"><![CDATA[
 class Bugs extends Zend_Db_Table_Abstract
 {
     protected $_observer;
 
-    protected function init()
+    public function init()
     {
         $this->_observer = new MyObserverClass();
     }
 }
-]]>
-                    </programlisting>
-
-                </example>
+]]></programlisting>
 
-            </para>
+            </example>
 
         </sect3>
 
@@ -329,7 +324,7 @@ class Bugs extends Zend_Db_Table_Abstract
 
             <para>
                 The first way to provide a database adapter to a Table class is by passing it as an
-                object of type Zend_Db_Adapter_Abstract in the options array, identified by the key
+                object of type <classname>Zend_Db_Adapter_Abstract</classname> in the options array, identified by the key
                 <code>'db'</code>.
             </para>
 
@@ -341,8 +336,7 @@ class Bugs extends Zend_Db_Table_Abstract
 $db = Zend_Db::factory('PDO_MYSQL', $options);
 
 $table = new Bugs(array('db' => $db));
-]]>
-                </programlisting>
+]]></programlisting>
 
             </example>
 
@@ -354,10 +348,10 @@ $table = new Bugs(array('db' => $db));
 
             <para>
                 The second way to provide a database adapter to a Table class is by declaring an
-                object of type Zend_Db_Adapter_Abstract to be a default database adapter for all
+                object of type <classname>Zend_Db_Adapter_Abstract</classname> to be a default database adapter for all
                 subsequent instances of Tables in your application. You can do this with the static
-                method <code>Zend_Db_Table_Abstract::setDefaultAdapter()</code>. The argument is an
-                object of type Zend_Db_Adapter_Abstract.
+                method <classname>Zend_Db_Table_Abstract::setDefaultAdapter()</classname>. The argument is an
+                object of type <classname>Zend_Db_Adapter_Abstract</classname>.
             </para>
 
             <example id="zend.db.table.constructing.default-adapter.example">
@@ -371,8 +365,7 @@ Zend_Db_Table_Abstract::setDefaultAdapter($db);
 // Later...
 
 $table = new Bugs();
-]]>
-                </programlisting>
+]]></programlisting>
 
             </example>
 
@@ -393,8 +386,8 @@ $table = new Bugs();
             <para>
                 The third way to provide a database adapter to a Table class is by passing a string
                 in the options array, also identified by the <code>'db'</code> key. The string is
-                used as a key to the static Zend_Registry instance, where the entry at that key is
-                an object of type Zend_Db_Adapter_Abstract.
+                used as a key to the static <classname>Zend_Registry</classname> instance, where the entry at that key is
+                an object of type <classname>Zend_Db_Adapter_Abstract</classname>.
             </para>
 
             <example id="zend.db.table.constructing.registry.example">
@@ -408,8 +401,7 @@ Zend_Registry::set('my_db', $db);
 // Later...
 
 $table = new Bugs(array('db' => 'my_db'));
-]]>
-                </programlisting>
+]]></programlisting>
 
             </example>
 
@@ -450,15 +442,14 @@ $data = array(
 );
 
 $table->insert($data);
-]]>
-            </programlisting>
+]]></programlisting>
 
         </example>
 
         <para>
             By default, the values in your data array are inserted as literal values, using
             parameters. If you need them to be treated as SQL expressions, you must make sure they
-            are distinct from plain strings. Use an object of type Zend_Db_Expr to do this.
+            are distinct from plain strings. Use an object of type <classname>Zend_Db_Expr</classname> to do this.
         </para>
 
         <example id="zend.db.table.insert.example-expr">
@@ -473,14 +464,13 @@ $data = array(
     'bug_description' => 'Something wrong',
     'bug_status'      => 'NEW'
 );
-]]>
-            </programlisting>
+]]></programlisting>
 
         </example>
 
         <para>
             In the examples of inserting rows above, it is assumed that the table has an
-            auto-incrementing primary key. This is the default behavior of Zend_Db_Table_Abstract,
+            auto-incrementing primary key. This is the default behavior of <classname>Zend_Db_Table_Abstract</classname>,
             but there are other types of primary keys as well. The following sections describe how
             to support different types of primary keys.
         </para>
@@ -495,7 +485,7 @@ $data = array(
             </para>
 
             <para>
-                In Zend_Db_Table_Abstract, if you define the protected variable
+                In <classname>Zend_Db_Table_Abstract</classname>, if you define the protected variable
                 <code>$_sequence</code> to be the Boolean value <code>true</code>, then the class
                 assumes that the table has an auto-incrementing primary key.
             </para>
@@ -513,8 +503,7 @@ class Bugs extends Zend_Db_Table_Abstract
     // you do not need to define this.
     protected $_sequence = true;
 }
-]]>
-                </programlisting>
+]]></programlisting>
 
             </example>
 
@@ -527,7 +516,7 @@ class Bugs extends Zend_Db_Table_Abstract
                 PostgreSQL has a <code>SERIAL</code> notation that implicitly defines a sequence
                 based on the table and column name, and uses the sequence to generate key values
                 for new rows. IBM DB2 has an <code>IDENTITY</code> notation that works similarly.
-                If you use either of these notations, treat your Zend_Db_Table class as having an
+                If you use either of these notations, treat your <classname>Zend_Db_Table</classname> class as having an
                 auto-incrementing column with respect to declaring the <code>$_sequence</code>
                 member as <code>true</code>.
             </para>
@@ -544,7 +533,7 @@ class Bugs extends Zend_Db_Table_Abstract
             </para>
 
             <para>
-                If you define <code>$_sequence</code> to be a string, then Zend_Db_Table_Abstract
+                If you define <code>$_sequence</code> to be a string, then <classname>Zend_Db_Table_Abstract</classname>
                 assumes the string to name a sequence object in the database. The sequence is
                 invoked to generate a new value, and this value is used in the <code>INSERT</code>
                 operation.
@@ -561,8 +550,7 @@ class Bugs extends Zend_Db_Table_Abstract
 
     protected $_sequence = 'bug_sequence';
 }
-]]>
-                </programlisting>
+]]></programlisting>
 
             </example>
 
@@ -592,10 +580,10 @@ class Bugs extends Zend_Db_Table_Abstract
 
             <para>
                 If you define the <code>$_sequence</code> to be the Boolean value
-                <code>false</code>, then Zend_Db_Table_Abstract assumes that the table has a
+                <code>false</code>, then <classname>Zend_Db_Table_Abstract</classname> assumes that the table has a
                 natural primary key. You must provide values for the primary key columns in the
                 array of data to the <code>insert()</code> method, or else this method throws a
-                Zend_Db_Table_Exception.
+                <classname>Zend_Db_Table_Exception</classname>.
             </para>
 
             <example id="zend.db.table.insert.key-natural.example">
@@ -609,8 +597,7 @@ class BugStatus extends Zend_Db_Table_Abstract
 
     protected $_sequence = false;
 }
-]]>
-                </programlisting>
+]]></programlisting>
 
             </example>
 
@@ -655,8 +642,7 @@ $data = array(
 $where = $table->getAdapter()->quoteInto('bug_id = ?', 1234);
 
 $table->update($data, $where);
-]]>
-            </programlisting>
+]]></programlisting>
 
         </example>
 
@@ -700,20 +686,14 @@ $table = new Bugs();
 $where = $table->getAdapter()->quoteInto('bug_id = ?', 1235);
 
 $table->delete($where);
-]]>
-            </programlisting>
+]]></programlisting>
 
         </example>
 
         <para>
-            The second argument can be an array of SQL expressions. The expressions are combined as
-            Boolean terms using an <code>AND</code> operator.
-        </para>
-
-        <para>
             Since the table <code>delete()</code> method proxies to the database adapter
             <link linkend="zend.db.adapter.write.delete"><code>delete()</code></link> method, the
-            second argument can be an array of SQL expressions. The expressions are combined as
+            argument can also be an array of SQL expressions. The expressions are combined as
             Boolean terms using an <code>AND</code> operator.
         </para>
 
@@ -754,8 +734,7 @@ $rows = $table->find(1234);
 // Find multiple rows
 // Also returns a Rowset
 $rows = $table->find(array(1234, 5678));
-]]>
-            </programlisting>
+]]></programlisting>
 
         </example>
 
@@ -815,8 +794,7 @@ $rows = $table->find(1234, 'ABC');
 // Find multiple rows with compound primary keys
 // Also returns a Rowset
 $rows = $table->find(array(1234, 5678), array('ABC', 'DEF'));
-]]>
-            </programlisting>
+]]></programlisting>
 
         </example>
 
@@ -836,7 +814,7 @@ $rows = $table->find(array(1234, 5678), array('ABC', 'DEF'));
 
                     <para>
                         The API for fetch operations has been superseded to allow a
-                        <code>Zend_Db_Table_Select</code> object to modify the query. However, the
+                        <classname>Zend_Db_Table_Select</classname> object to modify the query. However, the
                         deprecated usage of the <code>fetchRow()</code> and <code>fetchAll()</code>
                         methods will continue to work without modification.
                     </para>
@@ -860,8 +838,7 @@ $rows = $table->fetchAll($table->select()->where('bug_status = ?', 'NEW')
 $row = $table->fetchRow('bug_status = "NEW"', 'bug_id ASC');
 $row = $table->fetchRow($table->select()->where('bug_status = ?', 'NEW')
                                         ->order('bug_id ASC'));
-]]>
-                        </programlisting>
+]]></programlisting>
 
                     </para>
 
@@ -889,7 +866,7 @@ $row = $table->fetchRow($table->select()->where('bug_status = ?', 'NEW')
                         You <emphasis>can</emphasis> specify columns that evaluate expressions from
                         within the selected table. However this will mean that the returned row or
                         rowset will be <property>readOnly</property> and cannot be used for save()
-                        operations. A <code>Zend_Db_Table_Row</code> with
+                        operations. A <classname>Zend_Db_Table_Row</classname> with
                         <property>readOnly</property> status will throw an exception if a
                         <code>save()</code> operation is attempted.
                     </para>
@@ -906,8 +883,8 @@ $row = $table->fetchRow($table->select()->where('bug_status = ?', 'NEW')
                     <para>
                         You <emphasis>can not</emphasis> specify columns from a JOINed tabled to be
                         returned in a row/rowset. Doing so will trigger a PHP error. This was done
-                        to ensure the integrity of the <code>Zend_Db_Table is retained</code>. i.e.
-                        A <code>Zend_Db_Table_Row</code> should only reference columns derived from
+                        to ensure the integrity of the <classname>Zend_Db_Table</classname> is retained. i.e.
+                        A <classname>Zend_Db_Table_Row</classname> should only reference columns derived from
                         its parent table.
                     </para>
                 </listitem>
@@ -926,8 +903,7 @@ $select = $table->select();
 $select->where('bug_status = ?', 'NEW');
 
 $rows = $table->fetchAll($select);
-]]>
-                    </programlisting>
+]]></programlisting>
 
                 </example>
 
@@ -949,8 +925,7 @@ $table = new Bugs();
 
 $rows =
     $table->fetchAll($table->select()->where('bug_status = ?', 'NEW'));
-]]>
-                    </programlisting>
+]]></programlisting>
 
                 </example>
 
@@ -965,7 +940,7 @@ $rows =
             <para>
                 You can query for a set of rows using any criteria other than the primary key
                 values, using the <code>fetchAll()</code> method of the Table class. This method
-                returns an object of type <code>Zend_Db_Table_Rowset_Abstract</code>.
+                returns an object of type <classname>Zend_Db_Table_Rowset_Abstract</classname>.
             </para>
 
             <example id="zend.db.table.qry.rows.set.finding.row.example">
@@ -978,8 +953,7 @@ $table = new Bugs();
 $select = $table->select()->where('bug_status = ?', 'NEW');
 
 $rows = $table->fetchAll($select);
-]]>
-                </programlisting>
+]]></programlisting>
 
             </example>
 
@@ -1008,8 +982,7 @@ $select = $table->select()->where(array('bug_status = ?' => 'NEW'))
                           ->limit($count, $offset);
 
 $rows = $table->fetchAll($select);
-]]>
-                </programlisting>
+]]></programlisting>
 
             </example>
 
@@ -1029,8 +1002,8 @@ $rows = $table->fetchAll($select);
                 For more specific and optimized requests, you may wish to limit the number of
                 columns returned in a row/rowset. This can be achieved by passing a FROM clause to
                 the select object. The first argument in the FROM clause is identical to that of a
-                Zend_Db_Select object with the addition of being able to pass an instance of
-                Zend_Db_Table_Abstract and have it automatically determine the table name.
+                <classname>Zend_Db_Select</classname> object with the addition of being able to pass an instance of
+                <classname>Zend_Db_Table_Abstract</classname> and have it automatically determine the table name.
             </para>
 
             <para>
@@ -1047,8 +1020,7 @@ $select->from($table, array('bug_id', 'bug_description'))
        ->where('bug_status = ?', 'NEW');
 
 $rows = $table->fetchAll($select);
-]]>
-                    </programlisting>
+]]></programlisting>
 
                 </example>
 
@@ -1089,8 +1061,7 @@ $select->from($table,
        ->group('reported_by');
 
 $rows = $table->fetchAll($select);
-]]>
-                    </programlisting>
+]]></programlisting>
 
                 </example>
 
@@ -1114,8 +1085,7 @@ $select->where('bug_status = ?', 'NEW')
        ->where('accounts.account_name = ?', 'Bob');
 
 $rows = $table->fetchAll($select);
-]]>
-                    </programlisting>
+]]></programlisting>
 
                 </example>
 
@@ -1125,7 +1095,7 @@ $rows = $table->fetchAll($select);
                 The <classname>Zend_Db_Table_Select</classname> is primarily used to constrain and
                 validate so that it may enforce the criteria for a legal SELECT query. However
                 there may be certain cases where you require the flexibility of the
-                Zend_Db_Table_Row component and do not require a writable or deletable row. For
+                <classname>Zend_Db_Table_Row</classname> component and do not require a writable or deletable row. For
                 this specific user case, it is possible to retrieve a row/rowset by passing a false
                 value to setIntegrityCheck. The resulting row/rowset will be returned as a 'locked'
                 row (meaning the save(), delete() and any field-setting methods will throw an
@@ -1147,8 +1117,7 @@ $select->where('bug_status = ?', 'NEW')
        ->where('accounts.account_name = ?', 'Bob');
 
 $rows = $table->fetchAll($select);
-]]>
-                </programlisting>
+]]></programlisting>
 
             </example>
 
@@ -1176,13 +1145,12 @@ $select  = $table->select()->where('bug_status = ?', 'NEW')
                            ->order('bug_id');
 
 $row = $table->fetchRow($select);
-]]>
-            </programlisting>
+]]></programlisting>
 
         </example>
 
         <para>
-            This method returns an object of type Zend_Db_Table_Row_Abstract. If the search
+            This method returns an object of type <classname>Zend_Db_Table_Row_Abstract</classname>. If the search
             criteria you specified match no rows in the database table, then
             <code>fetchRow()</code> returns PHP's <code>null</code> value.
         </para>
@@ -1194,7 +1162,7 @@ $row = $table->fetchRow($select);
         <title>Retrieving Table Metadata Information</title>
 
         <para>
-            The Zend_Db_Table_Abstract class provides some information about its metadata. The
+            The <classname>Zend_Db_Table_Abstract</classname> class provides some information about its metadata. The
             <code>info()</code> method returns an array structure with information about the table,
             its columns and primary key, and other metadata.
         </para>
@@ -1209,8 +1177,7 @@ $table = new Bugs();
 $info = $table->info();
 
 echo "The table name is " . $info['name'] . "\n";
-]]>
-            </programlisting>
+]]></programlisting>
 
         </example>
 
@@ -1221,27 +1188,27 @@ echo "The table name is " . $info['name'] . "\n";
         <itemizedlist>
             <listitem>
                 <para>
-                    <emphasis role="strong">name</emphasis> => the name of the table.
+                    <emphasis>name</emphasis> => the name of the table.
                 </para>
             </listitem>
 
             <listitem>
                 <para>
-                    <emphasis role="strong">cols</emphasis> => an array, naming the column(s) of
+                    <emphasis>cols</emphasis> => an array, naming the column(s) of
                     the table.
                 </para>
             </listitem>
 
             <listitem>
                 <para>
-                    <emphasis role="strong">primary</emphasis> => an array, naming the column(s) in
+                    <emphasis>primary</emphasis> => an array, naming the column(s) in
                     the primary key.
                 </para>
             </listitem>
 
             <listitem>
                 <para>
-                    <emphasis role="strong">metadata</emphasis> => an associative array, mapping
+                    <emphasis>metadata</emphasis> => an associative array, mapping
                     column names to information about the columns. This is the information returned
                     by the <code>describeTable()</code> method.
                 </para>
@@ -1249,23 +1216,23 @@ echo "The table name is " . $info['name'] . "\n";
 
             <listitem>
                 <para>
-                    <emphasis role="strong">rowClass</emphasis> => the name of the concrete class
+                    <emphasis>rowClass</emphasis> => the name of the concrete class
                     used for Row objects returned by methods of this table instance. This defaults
-                    to Zend_Db_Table_Row.
+                    to <classname>Zend_Db_Table_Row</classname>.
                 </para>
             </listitem>
 
             <listitem>
                 <para>
-                    <emphasis role="strong">rowsetClass</emphasis> => the name of the concrete
+                    <emphasis>rowsetClass</emphasis> => the name of the concrete
                     class used for Rowset objects returned by methods of this table instance. This
-                    defaults to Zend_Db_Table_Rowset.
+                    defaults to <classname>Zend_Db_Table_Rowset</classname>.
                 </para>
             </listitem>
 
             <listitem>
                 <para>
-                    <emphasis role="strong">referenceMap</emphasis> => an associative array, with
+                    <emphasis>referenceMap</emphasis> => an associative array, with
                     information about references from this table to any parent tables. See
                     <xref linkend="zend.db.table.relationships.defining" />.
                 </para>
@@ -1273,7 +1240,7 @@ echo "The table name is " . $info['name'] . "\n";
 
             <listitem>
                 <para>
-                    <emphasis role="strong">dependentTables</emphasis> => an array of class names
+                    <emphasis>dependentTables</emphasis> => an array of class names
                     of tables that reference this table. See
                     <xref linkend="zend.db.table.relationships.defining" />.
                 </para>
@@ -1281,7 +1248,7 @@ echo "The table name is " . $info['name'] . "\n";
 
             <listitem>
                 <para>
-                    <emphasis role="strong">schema</emphasis> => the name of the schema (or
+                    <emphasis>schema</emphasis> => the name of the schema (or
                     database or tablespace) for this table.
                 </para>
             </listitem>
@@ -1294,10 +1261,10 @@ echo "The table name is " . $info['name'] . "\n";
         <title>Caching Table Metadata</title>
 
         <para>
-            By default, <code>Zend_Db_Table_Abstract</code> queries the
+            By default, <classname>Zend_Db_Table_Abstract</classname> queries the
             underlying database for <link linkend="zend.db.table.info">table
                 metadata</link> whenever that data is needed to perform table
-            operations.  The table object fetches the table metadata from the
+            operations. The table object fetches the table metadata from the
             database using the adapter's <code>describeTable()</code> method.
             Operations requiring this introspection include:
         </para>
@@ -1324,8 +1291,8 @@ echo "The table name is " . $info['name'] . "\n";
             <itemizedlist>
                 <listitem>
                     <para>
-                        <emphasis role="strong">Call
-                        Zend_Db_Table_Abstract::setDefaultMetadataCache()</emphasis> - This allows
+                        <emphasis>Call
+                        <classname>Zend_Db_Table_Abstract::setDefaultMetadataCache()</classname></emphasis> - This allows
                         a developer to once set the default cache object to be used for all table
                         classes.
                     </para>
@@ -1333,8 +1300,8 @@ echo "The table name is " . $info['name'] . "\n";
 
                 <listitem>
                     <para>
-                        <emphasis role="strong">Configure
-                        Zend_Db_Table_Abstract::__construct()</emphasis> - This allows a developer
+                        <emphasis>Configure
+                        <classname>Zend_Db_Table_Abstract::__construct()</classname></emphasis> - This allows a developer
                         to set the cache object to be used for a particular table class instance.
                     </para>
                 </listitem>
@@ -1342,7 +1309,7 @@ echo "The table name is " . $info['name'] . "\n";
 
             In both cases, the cache specification must be either <code>null</code> (i.e., no cache
             used) or an instance of
-            <link linkend="zend.cache.frontends.core"><code>Zend_Cache_Core</code></link>. The
+            <link linkend="zend.cache.frontends.core"><classname>Zend_Cache_Core</classname></link>. The
             methods may be used in conjunction when it is desirable to have both a default metadata
             cache and the ability to change the cache for individual table objects.
         </para>
@@ -1356,7 +1323,8 @@ echo "The table name is " . $info['name'] . "\n";
                 all table objects:
             </para>
 
-            <programlisting role="php"><![CDATA[<
+            <programlisting role="php"><![CDATA[
+<
 // First, set up the Cache
 $frontendOptions = array(
     'automatic_serialization' => true
@@ -1371,22 +1339,18 @@ $cache = Zend_Cache::factory('Core',
                              $frontendOptions,
                              $backendOptions);
 
-
 // Next, set the cache to be used with all table objects
 Zend_Db_Table_Abstract::setDefaultMetadataCache($cache);
 
-
 // A table class is also needed
 class Bugs extends Zend_Db_Table_Abstract
 {
     // ...
 }
 
-
 // Each instance of Bugs now uses the default metadata cache
 $bugs = new Bugs();
-]]>
-            </programlisting>
+]]></programlisting>
 
         </example>
 
@@ -1422,8 +1386,7 @@ class Bugs extends Zend_Db_Table_Abstract
 
 // Configure an instance upon instantiation
 $bugs = new Bugs(array('metadataCache' => $cache));
-]]>
-            </programlisting>
+]]></programlisting>
 
         </example>
 
@@ -1434,13 +1397,13 @@ $bugs = new Bugs(array('metadataCache' => $cache));
             <para>
                 Since the information returned from the adapter's describeTable() method is an
                 array, ensure that the <code>automatic_serialization</code> option is set to
-                <code>true</code> for the <code>Zend_Cache_Core</code> frontend.
+                <code>true</code> for the <classname>Zend_Cache_Core</classname> frontend.
             </para>
 
         </note>
 
         <para>
-            Though the above examples use <code>Zend_Cache_Backend_File</code>, developers may use
+            Though the above examples use <classname>Zend_Cache_Backend_File</classname>, developers may use
             whatever cache backend is appropriate for the situation. Please see
             <link linkend="zend.cache">Zend_Cache</link> for more information.
         </para>
@@ -1518,10 +1481,10 @@ $bugs->setMetadataCacheInClass(false);
 
             <para>
                 By default, methods of the Table class return a Rowset in instances of the concrete
-                class Zend_Db_Table_Rowset, and Rowsets contain a collection of instances of the
-                concrete class Zend_Db_Table_Row. You can specify an alternative class to use for
-                either of these, but they must be classes that extend Zend_Db_Table_Rowset_Abstract
-                and Zend_Db_Table_Row_Abstract, respectively.
+                class <classname>Zend_Db_Table_Rowset</classname>, and Rowsets contain a collection of instances of the
+                concrete class <classname>Zend_Db_Table_Row</classname> You can specify an alternative class to use for
+                either of these, but they must be classes that extend <classname>Zend_Db_Table_Rowset_Abstract</classname>
+                and <classname>Zend_Db_Table_Row_Abstract</classname>, respectively.
             </para>
 
             <para>
@@ -1557,8 +1520,7 @@ $where = $table->getAdapter()->quoteInto('bug_status = ?', 'NEW')
 // Returns an object of type My_Rowset,
 // containing an array of objects of type My_Row.
 $rows = $table->fetchAll($where);
-]]>
-                </programlisting>
+]]></programlisting>
 
             </example>
 
@@ -1590,8 +1552,7 @@ $table->setRowsetClass('My_Rowset');
 $rowsCustom = $table->fetchAll($where);
 
 // The $rowsStandard object still exists, and it is unchanged.
-]]>
-                </programlisting>
+]]></programlisting>
 
             </example>
 
@@ -1640,8 +1601,7 @@ class Bugs extends Zend_Db_Table_Abstract
         return parent::update($data, $where);
     }
 }
-]]>
-                </programlisting>
+]]></programlisting>
 
             </example>
 
@@ -1679,8 +1639,7 @@ class Bugs extends Zend_Db_Table_Abstract
         return $this->fetchAll($where, 'bug_id');
     }
 }
-]]>
-                </programlisting>
+]]></programlisting>
 
             </example>
 
@@ -1710,7 +1669,7 @@ class Bugs extends Zend_Db_Table_Abstract
             </para>
 
             <para>
-                Zend_Db_Table_Abstract performs no inflection to map the class name to the table
+                <classname>Zend_Db_Table_Abstract</classname> performs no inflection to map the class name to the table
                 name. If you omit the declaration of <code>$_name</code> in your table class, the
                 class maps to a database table that matches the spelling of the class name exactly.
             </para>
@@ -1718,7 +1677,7 @@ class Bugs extends Zend_Db_Table_Abstract
             <para>
                 It is inappropriate to transform identifiers from the database, because this can
                 lead to ambiguity or make some identifiers inaccessible. Using the SQL identifiers
-                exactly as they appear in the database makes Zend_Db_Table_Abstract both simpler
+                exactly as they appear in the database makes <classname>Zend_Db_Table_Abstract</classname> both simpler
                 and more flexible.
             </para>
 
@@ -1726,7 +1685,7 @@ class Bugs extends Zend_Db_Table_Abstract
                 If you prefer to use inflection, then you must implement the transformation
                 yourself, by overriding the <code>_setupTableName()</code> method in your Table
                 classes. One way to do this is to define an abstract class that extends
-                Zend_Db_Table_Abstract, and then the rest of your tables extend your new abstract
+                <classname>Zend_Db_Table_Abstract</classname>, and then the rest of your tables extend your new abstract
                 class.
             </para>
 
@@ -1749,8 +1708,7 @@ abstract class MyAbstractTable extends Zend_Db_Table_Abstract
 class BugsProducts extends MyAbstractTable
 {
 }
-]]>
-                </programlisting>
+]]></programlisting>
 
             </example>
 

+ 20 - 3
documentation/manual/es/module_specs/Zend_Db_Table_Row.xml

@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version="1.0" encoding="UTF-8"?>
 <!-- EN-Revision: 15103 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.db.table.row">
@@ -39,6 +39,7 @@
             <title>Example of fetching a row</title>
 
             <programlisting role="php"><![CDATA[
+
 $bugs = new Bugs();
 $row = $bugs->fetchRow($bugs->select()->where('bug_id = ?', 1));
 ]]></programlisting>
@@ -55,6 +56,7 @@ $row = $bugs->fetchRow($bugs->select()->where('bug_id = ?', 1));
             <title>Example of reading a row in a rowset</title>
 
             <programlisting role="php"><![CDATA[
+
 $bugs = new Bugs();
 $rowset = $bugs->fetchAll($bugs->select()->where('bug_status = ?', 1));
 $row = $rowset->current();
@@ -76,6 +78,7 @@ $row = $rowset->current();
                 <title>Example of reading a column in a row</title>
 
                 <programlisting role="php"><![CDATA[
+
 $bugs = new Bugs();
 $row = $bugs->fetchRow($bugs->select()->where('bug_id = ?', 1));
 
@@ -118,6 +121,7 @@ echo $row->bug_description;
                 <title>Example of using the toArray() method</title>
 
                 <programlisting role="php"><![CDATA[
+
 $bugs = new Bugs();
 $row = $bugs->fetchRow($bugs->select()->where('bug_id = ?', 1));
 
@@ -179,6 +183,7 @@ foreach ($rowArray as $column => $value) {
                 <title>Example of changing a column in a row</title>
 
                 <programlisting role="php"><![CDATA[
+
 $bugs = new Bugs();
 $row = $bugs->fetchRow($bugs->select()->where('bug_id = ?', 1));
 
@@ -209,6 +214,7 @@ $row->save();
                 <title>Example of creating a new row for a table</title>
 
                 <programlisting role="php"><![CDATA[
+
 $bugs = new Bugs();
 $newRow = $bugs->createRow();
 
@@ -232,6 +238,7 @@ $newRow->save();
                 <title>Example of populating a new row for a table</title>
 
                 <programlisting role="php"><![CDATA[
+
 $data = array(
     'bug_description' => '...description...',
     'bug_status'      => 'NEW'
@@ -275,6 +282,7 @@ $newRow->save();
                 <title>Example of using setFromArray() to set values in a new Row</title>
 
                 <programlisting role="php"><![CDATA[
+
 $bugs = new Bugs();
 $newRow = $bugs->createRow();
 
@@ -309,6 +317,7 @@ $newRow->save();
                 <title>Example of deleting a row</title>
 
                 <programlisting role="php"><![CDATA[
+
 $bugs = new Bugs();
 $row = $bugs->fetchRow('bug_id = 1');
 
@@ -352,6 +361,7 @@ $row->delete();
                 <title>Example of serializing a row</title>
 
                 <programlisting role="php"><![CDATA[
+
 $bugs = new Bugs();
 $row = $bugs->fetchRow('bug_id = 1');
 
@@ -386,6 +396,7 @@ $serializedRow = serialize($row);
                 <title>Example of unserializing a serialized row</title>
 
                 <programlisting role="php"><![CDATA[
+
 $rowClone = unserialize($serializedRow);
 
 // Now you can use object properties, but read-only
@@ -430,6 +441,7 @@ echo $rowClone->bug_description;
                 <title>Example of reactivating a row</title>
 
                 <programlisting role="php"><![CDATA[
+
 $rowClone = unserialize($serializedRow);
 
 $bugs = new Bugs();
@@ -467,6 +479,7 @@ $rowClone->save();
             <title>Specifying a custom Row class</title>
 
             <programlisting role="php"><![CDATA[
+
 class MyRow extends Zend_Db_Table_Row_Abstract
 {
     // ...customizations
@@ -503,6 +516,7 @@ $bugs = new Bugs(array('rowClass' => 'MyRow'));
                     <title>Example usage of init() method</title>
 
                     <programlisting role="php"><![CDATA[
+
 class MyApplicationRow extends Zend_Db_Table_Row_Abstract
 {
     protected $_role;
@@ -522,7 +536,7 @@ class MyApplicationRow extends Zend_Db_Table_Row_Abstract
 
         <sect3 id="zend.db.table.row.extending.insert-update">
 
-            <title>Defining Custom Logic for Insert, Update, and Delete in <classname>Zend_Db_Table_Row</classname></title>
+            <title>Defining Custom Logic for Insert, Update, and Delete in Zend_Db_Table_Row</title>
 
             <para>
                 The Row class calls protected methods <code>_insert()</code>,
@@ -563,6 +577,7 @@ class MyApplicationRow extends Zend_Db_Table_Row_Abstract
                 </para>
 
                 <programlisting role="php"><![CDATA[
+
 class MyLoggingRow extends Zend_Db_Table_Row_Abstract
 {
     protected function _insert()
@@ -602,6 +617,7 @@ if ($loggingEnabled) {
                 </para>
 
                 <programlisting role="php"><![CDATA[
+
 class MyLoggingRow extends Zend_Db_Table_Row_Abstract
 {
     protected function _insert()
@@ -633,7 +649,7 @@ class Products extends Zend_Db_Table_Abstract
 
         <sect3 id="zend.db.table.row.extending.inflection">
 
-            <title>Define Inflection in <classname>Zend_Db_Table_Row</classname></title>
+            <title>Define Inflection in Zend_Db_Table_Row</title>
 
             <para>
                 Some people prefer that the table class name match a table name in the RDBMS by
@@ -663,6 +679,7 @@ class Products extends Zend_Db_Table_Abstract
                 </para>
 
                 <programlisting role="php"><![CDATA[
+
 class MyInflectedRow extends Zend_Db_Table_Row_Abstract
 {
     protected function _transformColumn($columnName)

+ 33 - 45
documentation/manual/es/module_specs/Zend_Db_Table_Rowset.xml

@@ -1,4 +1,7 @@
-<sect1 id="zend.db.table.rowset">
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15103 -->
+<!-- Reviewed: no -->
+<sect1 id="zend.db.table.rowset">
 
     <title>Zend_Db_Table_Rowset</title>
 
@@ -8,8 +11,8 @@
 
         <para>
             When you run a query against a Table class using the <code>find()</code> or <code>fetchAll()</code>
-            methods, the result is returned in an object of type <code>Zend_Db_Table_Rowset_Abstract</code>. A Rowset
-            contains a collection of objects descending from <code>Zend_Db_Table_Row_Abstract</code>. You can iterate
+            methods, the result is returned in an object of type <classname>Zend_Db_Table_Rowset_Abstract</classname>. A Rowset
+            contains a collection of objects descending from <classname>Zend_Db_Table_Row_Abstract</classname>. You can iterate
             through the Rowset and access individual Row objects, reading or modifying data in the Rows.
         </para>
 
@@ -20,8 +23,8 @@
         <title>Fetching a Rowset</title>
 
         <para>
-            <code>Zend_Db_Table_Abstract</code> provides methods <code>find()</code> and <code>fetchAll()</code>, each
-            of which returns an object of type <code>Zend_Db_Table_Rowset_Abstract</code>.
+            <classname>Zend_Db_Table_Abstract</classname> provides methods <code>find()</code> and <code>fetchAll()</code>, each
+            of which returns an object of type <classname>Zend_Db_Table_Rowset_Abstract</classname>.
         </para>
 
         <example id="zend.db.table.rowset.fetch.example">
@@ -31,8 +34,7 @@
             <programlisting role="php"><![CDATA[
 $bugs   = new Bugs();
 $rowset = $bugs->fetchAll("bug_status = 'NEW'");
-]]>
-            </programlisting>
+]]></programlisting>
 
         </example>
 
@@ -49,7 +51,7 @@ $rowset = $bugs->fetchAll("bug_status = 'NEW'");
 
         <para>
             A legitimate query returns zero rows when no rows in the database match the query conditions. Therefore, a
-            Rowset object might contain zero Row objects. Since <code>Zend_Db_Table_Rowset_Abstract</code> implements
+            Rowset object might contain zero Row objects. Since <classname>Zend_Db_Table_Rowset_Abstract</classname> implements
             the <code>Countable</code> interface, you can use <code>count()</code> to determine the number of Rows in
             the Rowset.
         </para>
@@ -68,8 +70,7 @@ if ($rowCount > 0) {
 } else {
     echo 'no rows matched the query';
 }
-]]>
-            </programlisting>
+]]></programlisting>
 
         </example>
 
@@ -86,8 +87,7 @@ if ($rowCount > 0) {
 $bugs   = new Bugs();
 $rowset = $bugs->fetchAll("bug_id = 1");
 $row    = $rowset->current();
-]]>
-            </programlisting>
+]]></programlisting>
 
         </example>
 
@@ -101,9 +101,9 @@ $row    = $rowset->current();
             <title>Iterating through a Rowset</title>
 
             <para>
-                Objects descending from <code>Zend_Db_Table_Rowset_Abstract</code> implement the <code>SeekableIterator</code>
+                Objects descending from <classname>Zend_Db_Table_Rowset_Abstract</classname> implement the <code>SeekableIterator</code>
                 interface, which means you can loop through them using the <code>foreach</code> construct. Each value
-                you retrieve this way is a <code>Zend_Db_Table_Row_Abstract</code> object that corresponds to one
+                you retrieve this way is a <classname>Zend_Db_Table_Row_Abstract</classname> object that corresponds to one
                 record from the table.
             </para>
 
@@ -127,8 +127,7 @@ foreach ($rowset as $row) {
     // write the change to the database
     $row->save();
 }
-]]>
-            </programlisting>
+]]></programlisting>
 
         </example>
 
@@ -153,14 +152,13 @@ $rowset = $bugs->fetchAll();
 // takes the iterator to the 9th element (zero is one element) :
 $rowset->seek(8);
 
-// retrive it
+// retrieve it
 $row9 = $rowset->current();
 
 // and use it
 $row9->assigned_to = 'mmouse';
 $row9->save();
-]]>
-            </programlisting>
+]]></programlisting>
 
         </example>
 
@@ -168,7 +166,7 @@ $row9->save();
                 <code>getRow()</code> allows you to get a specific row in the Rowset, knowing its position; don't forget
                 however that positions start with index zero. The first parameter for <code>getRow()</code> is an integer
                 for the position asked. The second optional parameter is a boolean; it tells the Rowset iterator if it must
-                seek to that position in the same time, or not (default is false). This method returns a Zend_Db_Table_Row
+                seek to that position in the same time, or not (default is false). This method returns a <classname>Zend_Db_Table_Row</classname>
                 object by default. If the position requested does not exist, an exception will be thrown. Here is an example :
             </para>
 
@@ -184,10 +182,7 @@ $row9->getRow(8);
 // and use it:
 $row9->assigned_to = 'mmouse';
 $row9->save();
-]]>
-            </programlisting>
-
-
+]]></programlisting>
 
         <para>
             After you have access to an individual Row object, you can manipulate the Row using methods described in
@@ -225,8 +220,7 @@ foreach ($rowsetArray as $rowArray) {
     ++$rowCount;
     echo "\n";
 }
-]]>
-            </programlisting>
+]]></programlisting>
         </example>
 
         <para>
@@ -241,7 +235,7 @@ foreach ($rowsetArray as $rowArray) {
         <title>Serializing and Unserializing a Rowset</title>
 
         <para>
-            Objects of type <code>Zend_Db_Table_Rowset_Abstract</code> are serializable. In a similar fashion to
+            Objects of type <classname>Zend_Db_Table_Rowset_Abstract</classname> are serializable. In a similar fashion to
             serializing an individual Row object, you can serialize a Rowset and unserialize it later.
         </para>
 
@@ -262,8 +256,7 @@ $rowset = $bugs->fetchAll();
 $serializedRowset = serialize($rowset);
 
 // Now you can write $serializedRowset to a file, etc.
-]]>
-            </programlisting>
+]]></programlisting>
 
         </example>
 
@@ -273,7 +266,7 @@ $serializedRowset = serialize($rowset);
 
             <para>
                 Use PHP's <code>unserialize()</code> function to restore a string containing a byte-stream
-                representation of an object.  The function returns the original object.
+                representation of an object. The function returns the original object.
             </para>
 
             <para>
@@ -289,8 +282,7 @@ $rowsetDisconnected = unserialize($serializedRowset);
 // Now you can use object methods and properties, but read-only
 $row = $rowsetDisconnected->current();
 echo $row->bug_description;
-]]>
-            </programlisting>
+]]></programlisting>
 
         </example>
 
@@ -306,10 +298,10 @@ echo $row->bug_description;
         </note>
 
         <para>
-            You can reactivate a disconnected Rowset using the <code>setTable()</code> method.  The argument to this
-            method is a valid object of type <code>Zend_Db_Table_Abstract</code>, which you create.  Creating a Table
+            You can reactivate a disconnected Rowset using the <code>setTable()</code> method. The argument to this
+            method is a valid object of type <classname>Zend_Db_Table_Abstract</classname>, which you create. Creating a Table
             object requires a live connection to the database, so by reassociating the Table with the Rowset, the
-            Rowset gains access to the database.  Subsequently, you can change values in the Row objects contained in
+            Rowset gains access to the database. Subsequently, you can change values in the Row objects contained in
             the Rowset and save the changes to the database.
         </para>
 
@@ -331,8 +323,7 @@ $row = $rowset->current();
 // Now you can make changes to the row and save them
 $row->bug_status = 'FIXED';
 $row->save();
-]]>
-            </programlisting>
+]]></programlisting>
 
         </example>
 
@@ -349,7 +340,7 @@ $row->save();
 
         <para>
             You can use an alternative concrete class for instances of Rowsets
-            by extending Zend_Db_Table_Rowset_Abstract.  Specify the custom
+            by extending <classname>Zend_Db_Table_Rowset_Abstract</classname>. Specify the custom
             Rowset class by name either in the <code>$_rowsetClass</code>
             protected member of a Table class, or in the array argument of the
             constructor of a Table object.
@@ -374,13 +365,12 @@ class Products extends Zend_Db_Table_Abstract
 // Or specify a custom Rowset to be used in one
 // instance of a Table class.
 $bugs = new Bugs(array('rowsetClass' => 'MyRowset'));
-]]>
-            </programlisting>
+]]></programlisting>
         </example>
 
         <para>
-            Typically, the standard Zend_Db_Rowset concrete class is
-            sufficient for most usage.  However, you might find it useful
+            Typically, the standard <classname>Zend_Db_Rowset</classname> concrete class is
+            sufficient for most usage. However, you might find it useful
             to add new logic to a Rowset, specific to a given Table.
             For example, a new method could calculate an aggregate
             over all the Rows in the Rowset.
@@ -413,13 +403,11 @@ class Bugs extends Zend_Db_Table_Abstract
     protected $_name = 'bugs';
     protected $_rowsetClass = 'MyBugsRowset';
 }
-]]>
-            </programlisting>
+]]></programlisting>
         </example>
 
     </sect2>
 
-
 </sect1>
 <!--
 vim:se ts=4 sw=4 et:

+ 10 - 9
documentation/manual/es/module_specs/Zend_Debug.xml

@@ -1,10 +1,12 @@
-<!-- versión 11089 -->
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15103 -->
+<!-- Reviewed: no -->
 <sect1 id="zend.debug.dumping">
 
     <title>Mostrar información de variables(Dumping Variables)</title>
 
     <para>
-        El método estático <code>Zend_Debug::dump()</code> imprime o devuelve
+        El método estático <classname>Zend_Debug::dump()</classname> 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.
@@ -15,25 +17,24 @@
         <programlisting role="php"><![CDATA[
 
 Zend_Debug::dump($var, $label=null, $echo=true);
-]]>
-        </programlisting>
+]]></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.
+        la cual el método <classname>Zend_Debug::dump()</classname> 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
+        <classname>Zend_Debug::dump()</classname> 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>
+        Puede ser útil comprender que el método <classname>Zend_Debug::dump()</classname>
         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
@@ -45,7 +46,7 @@ Zend_Debug::dump($var, $label=null, $echo=true);
     <tip>
         <title>Depurando con Zend_Log</title>
         <para>
-            Usar <code>Zend_Debug::dump()</code> es lo mejor para la depuración
+            Usar <classname>Zend_Debug::dump()</classname> 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>
@@ -54,7 +55,7 @@ Zend_Debug::dump($var, $label=null, $echo=true);
             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>.
+            cadena de salida de <classname>Zend_Debug::dump()</classname>.
         </para>
     </tip>
 

+ 28 - 17
documentation/manual/es/module_specs/Zend_Exception.xml

@@ -1,35 +1,46 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15103 -->
+<!-- Reviewed: no -->
+<!-- Traducir todo de nuevo-->
 <sect1 id="zend.exception.using">
 
-    <title>Usando Excepciones</title>
+    <title>Using Exceptions</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.
+        <classname>Zend_Exception</classname> is simply the base class for all exceptions thrown within Zend Framework.
     </para>
 
     <example id="zend.exception.using.example">
-        <title>Ejemplo de catching de una excepción</title>
+        <title>Catching an Exception</title>
+        <para>
+            The following code listing demonstrates how to catch an exception thrown in a Zend Framework class:
+        </para>
         <programlisting role="php"><![CDATA[
 try {
-    Zend_Loader::loadClass('clasenoexistente');
+    // Calling Zend_Loader::loadClass() with a non-existant class will cause
+    // an exception to be thrown in Zend_Loader
+    Zend_Loader::loadClass('nonexistantclass');
 } catch (Zend_Exception $e) {
-    echo "Recibida excepción: " . get_class($e) . "\n";
-    echo "Mensaje: " . $e->getMessage() . "\n";
-    // código para recuperar el fallo.
+    echo "Caught exception: " . get_class($e) . "\n";
+    echo "Message: " . $e->getMessage() . "\n";
+    // Other code to recover from the error
 }
-]]>
-        </programlisting>
+]]></programlisting>
     </example>
+    <para>
+        <classname>Zend_Exception</classname> can be used as a catch-all exception class in a
+        catch block to trap all exceptions thrown by Zend Framework classes. This can
+        be useful when the program can not recover by catching a specific exception type.
+    </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.
+        The documentation for each Zend Framework
+        component and class will contain specific information on which methods
+        throw exceptions, the circumstances that cause an exception to be thrown,
+        and the class of all exceptions that may be thrown.
     </para>
 
 </sect1>
 <!--
-    vim:se ts=4 sw=4 et:
--->
+vim:se ts=4 sw=4 et:
+-->

+ 117 - 128
documentation/manual/es/module_specs/Zend_Form-Advanced.xml

@@ -1,8 +1,11 @@
-<sect1 id="zend.form.advanced">
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15103 -->
+<!-- Reviewed: no -->
+<sect1 id="zend.form.advanced">
     <title>Uso avanzado de Zend_Form</title>
 
     <para>
-        <code>Zend_Form</code> tiene una funcional riqueza, muchas de ellas dirigidas
+        <classname>Zend_Form</classname> tiene una funcional riqueza, muchas de ellas dirigidas
         a expertos desarroladores. Este capítulo esta dirigido a documentar algunas de las
         funcionalidades con ejemplos y casos de uso.
     </para>
@@ -11,11 +14,11 @@
         <title>Notación de array</title>
 
         <para>
-            Muchos desarroladores web experimentados les gusta agrupar relacionados elementos de formulario
-            usando notación de array en los nombres del elemento. Por ejemplo, si se tiene
-            dos direcciones que se desea capturar, un envio y una dirección de facturación,
-            se puede tener elementos idénticos; agrupandolos en un array se puede
-            asegurar que son capturados por separado. Notese el siguiente formulario
+            A muchos desarroladores web experimentados les gusta agrupar elementos relacionados de formulario
+            usando notación de array en los nombres del elemento. Por ejemplo, si se tienen
+            dos direcciones que se desean capturar, un envío y una dirección de facturación,
+            se pueden tener elementos idénticos; agrupándolos en un array se puede
+            asegurar que son capturados por separado. Nótese el siguiente formulario
             por ejemplo:
         </para>
 
@@ -69,17 +72,12 @@
         <dd><input name="save" type="submit" value="Save" /></dd>
     </dl>
 </form>
-]]>
-</programlisting>
+]]></programlisting>
 
         <para>
             En este ejemplo, la facturación y la dirección de envío contienen algunos
-            campos idénticos, eso significa uno puede sobre escribir al otro. Nosotros podemos
+            campos idénticos, eso significa que uno puede sobrescribir al otro. Nosotros podemos
             resolver esta solución usando una notación de array:
-
-            In this example, the billing and shipping address contain some
-            identical fields, which means one would overwrite the other. We can
-            solve this solution using array notation:
         </para>
 
         <programlisting role="html"><![CDATA[
@@ -142,28 +140,27 @@
         <dd><input name="save" type="submit" value="Save" /></dd>
     </dl>
 </form>
-]]>
-</programlisting>
+]]></programlisting>
 
         <para>
-            En el ejemplo anterior, obtenemos separadas direcciones. En el formulario
+            En el ejemplo anterior, obtenemos direcciones separadas. En el formulario
             sometido, ahora tenemos tres elementos, 'guardar' elemento para someterlo,
             y dos arrays, 'envio' y 'cuenta', cada uno con
             llaves para los variados elementos.
         </para>
 
         <para>
-            <code>Zend_Form</code> intenta automatizar este proceso con los
-            <link linkend="zend.form.forms.subforms">sub formularios</link>. Por
-            defecto, los sub formularios son generados usando la notación de array como se muestra
+            <classname>Zend_Form</classname> intenta automatizar este proceso con los
+            <link linkend="zend.form.forms.subforms">subformularios</link>. Por
+            defecto, los subformularios son generados usando la notación de array como se muestra
             en el anterior formulario HTML listado completo con identificadores. El nombre del array
-            esta basado en el nombre del sub formulario, con las llaves basados en los elementos
-            contenidos  en el sub formulario. Los sub formularios pueder ser anidados arbitrariamente,
+            esta basado en el nombre del subformulario, con las llaves basados en los elementos
+            contenidos  en el subformulario. Los subformularios pueder ser anidados arbitrariamente,
             y esto puede crear arrays anidados que reflejan la estructura.
             Adicionalmente, las validaciones rutinarias en
-            <code>Zend_Form</code> respetan la estructura del array, asegurando que sus
+            <classname>Zend_Form</classname> respetan la estructura del array, asegurando que sus
             formularios sean validados correctamente, no importa cuan arbitrariamente anidados esten los
-            sub formularios. No se necesita hacer nada para beneficiarse; éste
+            subformularios. No se necesita hacer nada para beneficiarse; éste
             comportamiento esta activo por defecto.
         </para>
 
@@ -177,19 +174,19 @@
             <listitem>
                 <para>
                     <code>Zend_Form::setIsArray($flag)</code>: Definiendo la
-                    bandera a verdadero, se puede indicar que un entero formulario deberia ser
+                    bandera a verdadero, se puede indicar que un formulario entero debería ser
                     tratado como un array. Por defecto, el nombre del formulario será
                     usado como el nombre del array, a no ser que
-                    <code>setElementsBelongTo()</code> haya sido llamado. si el
-                    formulario no tiene un específico nombre, o si
+                    <code>setElementsBelongTo()</code> haya sido llamado. Si el
+                    formulario no tiene un nombre específico, o si
                     <code>setElementsBelongTo()</code> no ha sido definido, esta bandera
-                    será ignorada (como no hay nombre del array al cual
+                    será ignorada (como cuando no hay nombre del array al cual
                     los elementos puedan pertenecer).
                 </para>
 
                 <para>
-                    Se deberá determinar si un formulario esta siendo tratado como un array
-                    usando el acceso <code>isArray()</code>.
+                    Se deberá determinar si un formulario está siendo tratado como un array
+                    usando el accesor <code>isArray()</code>.
                 </para>
             </listitem>
 
@@ -202,39 +199,39 @@
         </itemizedlist>
 
         <para>
-            Adicionalmente, sobre el nivel del elemento, se puede especificar
+            Adicionalmente, a nivel del elemento, se pueden especificar
             elementos individuales que puedan pertenecer a arrays particulares usando
-            el método <code>Zend_Form_Element::setBelongsTo()</code>.
-            Para descubrir el valor que tiene -- sea o no sea definido explicitamente o
-            implicitamente a través del formulario -- se puede usar el
-            acceso <code>getBelongsTo()</code>.
+            el método <classname>Zend_Form_Element::setBelongsTo()</classname>.
+            Para descubrir el valor que tiene -- sea o no sea definido explícitamente o
+            implícitamente a través del formulario -- se puede usar el
+            accesor <code>getBelongsTo()</code>.
         </para>
     </sect2>
 
     <sect2 id="zend.form.advanced.multiPage">
-        <title>Formularioss Multi-Página</title>
+        <title>Formularios Multi-Página</title>
 
         <para>
-            Actualmente, los formularios multi-página no son oficialmente soportados in
-            <code>Zend_Form</code>; sin embargo, mas soporte para implementarlos
-            esta disponible y puede ser utilizado con una pequeña ayuda.
+            Actualmente, los formularios multi-página no están oficialmente soportados en
+            <classname>Zend_Form</classname>; sin embargo, la mayoría del soporte para implementarlos
+            está disponible y puede ser utilizado con algunos retoques.
         </para>
 
         <para>
-            La clave para crear fomrularios multi-página es utilizar sub formularios, pero
-            solo para desplegar un solo sub formulario por página. Esto le permite
-            someter un solo sub formulario a la vez y validarlo, pero no procesar
-            el formulario hasta que todos los sub formularios esten completos.
+            La clave para crear fomrularios multi-página es utilizar subformularios, pero
+            solo para mostrar un solo subformulario por página. Esto le permite
+            someter un solo subformulario a la vez y validarlo, pero no procesar
+            el formulario hasta que todos los subformularios esten completos.
         </para>
 
         <example id="zend.form.advanced.multiPage.registration">
-            <title>Ejemplo de formulario registración</title>
+            <title>Ejemplo de formulario de registro</title>
             <para>
-                Vamos a usar un formulario registración como un ejemplo. para nuestros propósitos,
-                nosotros queremos capturar el nombre del usuario y la contraseña en la
-                primera página, despues la información del usuario -- nombre, apellido,
-                y ubicación -- y finalmente prmitirles decidir que lista de correo,
-                si ellos desean suscribirse.
+                Vamos a usar un formulario de registro como ejemplo. Para nuestros propósitos,
+                queremos capturar el nombre del usuario y la contraseña en la
+                primera página, después la información del usuario -- nombre, apellido,
+                y ubicación -- y finalmente permitirles decidir qué lista de correo,
+                si desean suscribirse.
             </para>
 
             <para>
@@ -247,7 +244,7 @@ class My_Form_Registration extends Zend_Form
 {
     public function init()
     {
-        // Crea un sub formulario usuario: username y password
+        // Crea un subformulario usuario: username y password
         $user = new Zend_Form_SubForm();
         $user->addElements(array(
             new Zend_Form_Element_Text('username', array(
@@ -273,7 +270,7 @@ class My_Form_Registration extends Zend_Form
             )),
         ));
 
-        // Crea un sub formulario de datos demográficos : given name, family name, y
+        // Crea un subformulario de datos demográficos : given name, family name, y
         // location
         $demog = new Zend_Form_SubForm();
         $demog->addElements(array(
@@ -309,7 +306,7 @@ class My_Form_Registration extends Zend_Form
             )),
         ));
 
-        // Crea un sub fomulario de de correos
+        // Crea un sub fomulario de correos
         $listOptions = array(
             'none'        => 'No lists, please',
             'fw-general'  => 'Zend Framework General List',
@@ -333,7 +330,7 @@ class My_Form_Registration extends Zend_Form
             )),
         ));
 
-        // Adjuntando los sub formlarios al formulario principal
+        // Adjuntando los subformlarios al formulario principal
         $this->addSubForms(array(
             'user'  => $user,
             'demog' => $demog,
@@ -341,17 +338,16 @@ class My_Form_Registration extends Zend_Form
         ));
     }
 }
-]]>
-            </programlisting>
+]]></programlisting>
 
             <para>
-                Note que hay botones de sometimiento, y que ni hemos hecho
-                nada con el decorador de sub formularios -- lo que significa que por
+                Note que no hay botones de enviar, y que ni hemos hecho
+                nada con los decoradores de subformularios -- lo que significa que por
                 defecto serán desplegados como campos. Necesitaremos hacer
-                algo con ellos mientras desplegamos cada sub formulario indivisualmente,
-                y adicionar botones demanera que podamos actualmente procesarlos --
-                el cual requerira las propiedades acción y método. vamos adicionar
-                algunos scaffolding a nuestras clases para proveer esa información:
+                algo con ellos mientras desplegamos cada subformulario individualmente,
+                y añadir botones de manera que podamos procesarlos realmente --
+                el cual requerira las propiedades acción y método. Vamos a añadir
+                algunos andamios a nuestras clases para proveer esa información:
             </para>
 
             <programlisting role="php"><![CDATA[
@@ -360,7 +356,7 @@ class My_Form_Registration extends Zend_Form
     // ...
 
     /**
-     * Prepara un sub formulario para mostrar
+     * Prepara un subformulario para mostrar
      *
      * @param  string|Zend_Form_SubForm $spec
      * @return Zend_Form_SubForm
@@ -399,7 +395,7 @@ class My_Form_Registration extends Zend_Form
     }
 
     /**
-     * Añade un Boton de envio(submit) a cada sub formulario
+     * Añade un Boton de envio(submit) a cada subformulario
      *
      * @param  Zend_Form_SubForm $subForm
      * @return My_Form_Registration
@@ -418,7 +414,7 @@ class My_Form_Registration extends Zend_Form
     }
 
     /**
-     * Añade el method y el action a cada sub formulario
+     * Añade el method y el action a cada subformulario
      *
      * @param  Zend_Form_SubForm $subForm
      * @return My_Form_Registration
@@ -430,23 +426,21 @@ class My_Form_Registration extends Zend_Form
         return $this;
     }
 }
-]]>
-            </programlisting>
+]]></programlisting>
 
             <para>
-                Siguiente, necesitamos adicionar scaffolding en nuestro controlador acción,
-
-                y tener muchas consideraciones. Primero, necesitamos asegurar que
+                Siguiente, necesitamos añadir andamios a nuestro action controller,
+                y tener varias consideraciones. Primero, necesitamos asegurar que
                 persiste la información del formulario entre los requerimientos, de esa manera determinar
-                cuadno terminar. Segundo, necesitamos alguna lógica para determinar que segmentos
-                del formulario han sido sometidos, y que sub formulario
-                desplegar de acuerdo a la información. Usaremos
-                <code>Zend_Session_Namespace</code> para persistir la información, el cual
-                nos ayudará a responder la pregunta de cual formulario someter.
+                cuándo terminar. Segundo, necesitamos alguna lógica para determinar qué segmentos
+                del formulario han sido sometidos, y qué subformulario
+                mostrar de acuerdo a la información. Usaremos
+                <classname>Zend_Session_Namespace</classname> para persistir la información, el cual
+                nos ayudará a responder la pregunta de qué formulario someter.
             </para>
 
             <para>
-                Vamos a crear nuestro controlador, y adicionar un método para recuperar un
+                Vamos a crear nuestro controlador, y añadir un método para recuperar un
                 formulario instanciado:
             </para>
 
@@ -463,17 +457,16 @@ class RegistrationController extends Zend_Controller_Action
         return $this->_form;
     }
 }
-]]>
-            </programlisting>
+]]></programlisting>
 
             <para>
-                Ahora, vamos adicionar algunas funcionalidades para determinar cual formulario
-                desplegar. Basicamente, hasta que el entero formulario sea considerado válido,
-                necesitamos continuar desplegando segmentos de formulario. Adicionalmente,
-                queremos asegurar que estan en un orden particular: usuario,
-                demog, y despues las listas. Podemos determinar que información ha sido
-                sometida verificando nuestra sesión namespace para claves particulares
-                representando cada sub formulario.
+                Ahora, vamos a añadir algunas funcionalidades para determinar qué formulario
+                mostrar. Básicamente, hasta que el formulario entero sea considerado válido,
+                necesitamos continuar mostrando segmentos de formulario. Adicionalmente,
+                queremos asegurar que están en un orden particular: usuario,
+                demog, y después las listas. Podemos determinar qué información ha sido
+                sometida verificando nuestro session namespace para claves particulares
+                representando cada subformulario.
             </para>
 
             <programlisting role="php"><![CDATA[
@@ -500,7 +493,7 @@ class RegistrationController extends Zend_Controller_Action
     }
 
     /**
-     * Obtiene la lista de Formularios que ya estan almacenados en la sesión
+     * Obtiene la lista de Formularios que ya están almacenados en la sesión
      *
      * @return array
      */
@@ -525,7 +518,7 @@ class RegistrationController extends Zend_Controller_Action
     }
 
     /**
-     * Que sub formulario se envio?
+     * ¿Qué subformulario se envio?
      *
      * @return false|Zend_Form_SubForm
      */
@@ -549,7 +542,7 @@ class RegistrationController extends Zend_Controller_Action
     }
 
     /**
-     * Obtiene el siguiente sub formulario para mostratlo
+     * Obtiene el siguiente subformulario para mostrarlo
      *
      * @return Zend_Form_SubForm|false
      */
@@ -567,33 +560,32 @@ class RegistrationController extends Zend_Controller_Action
         return false;
     }
 }
-]]>
-            </programlisting>
+]]></programlisting>
 
             <para>
                 El método de arriba nos permite usar notaciones tal como "<code>$subForm =
                     $this-&gt;getCurrentSubForm();</code>" recuperar el actual
-                sub formulario para la validación, o "<code>$next =
+                subformulario para la validación, o "<code>$next =
                     $this-&gt;getNextSubForm();</code>" obtener el siguiente para
-                desplegar.
+                mostrar.
             </para>
 
             <para>
-                Ahora, vamos a encontrar la manera para procesar y desplegar varios
-                sub formularios. pdemos usar <code>getCurrentSubForm()</code> para determianr
-                si algún sub formulario ha sido sometido (falso retorna ningún valor
-                ha sido desplegado o sometido), y
-                <code>getNextSubForm()</code> recupera el formulario a desplegar. Podemos
+                Ahora, vamos a encontrar la manera para procesar y mostrar varios
+                subformularios. Podemos usar <code>getCurrentSubForm()</code> para determinar
+                si algún subformulario ha sido sometido (los valores de retorno falso indican que
+                ninguno ha sido desplegado o sometido), y
+                <code>getNextSubForm()</code> recupera el formulario que mostrar. Podemos
                 entonces usar el método del formulario <code>prepareSubForm()</code> para asegurar
-                que el formulario esta listo para desplegar.
+                que el formulario está listo para mostrar.
             </para>
 
             <para>
-                Cuando tenemos un formulario sometido, podemos validar el sub formulario,
-                y luego verificar si el entero formulario es válido ahora. Para hacer
+                Cuando tenemos un formulario sometido, podemos validar el subformulario,
+                y luego verificar si el formulario entero es válido ahora. Para hacer
                 esas tareas, necesitamos métodos adicionales que aseguren que la
-                información sometida es adicionada a la sesión, y que cuando validamos
-                el entero formulario, nosotros validamos contra todos los segmentos de
+                información sometida es añadida a la sesión, y que cuando validamos
+                el formulario entero, nosotros validamos contra todos los segmentos de
                 la sesión:
             </para>
 
@@ -603,7 +595,7 @@ class RegistrationController extends Zend_Controller_Action
     // ...
 
     /**
-     * Es válido el sub formulario ?
+     * ¿Es válido el subformulario?
      *
      * @param  Zend_Form_SubForm $subForm
      * @param  array $data
@@ -622,7 +614,7 @@ class RegistrationController extends Zend_Controller_Action
     }
 
     /**
-     * Es válido todo el formulario?
+     * ¿Es válido todo el formulario?
      *
      * @return bool
      */
@@ -636,13 +628,12 @@ class RegistrationController extends Zend_Controller_Action
         return $this->getForm()->isValid($data);
     }
 }
-]]>
-            </programlisting>
+]]></programlisting>
 
             <para>
                 Ahora que tenemos el trabajo preparado, vamos a construir las
-                acciones para este controlador. Necesitaremos una página landing
-                para el formulario, y luego un 'proceso' acción para procesar el formulario.
+                acciones para este controlador. Necesitaremos una página de destino
+                para el formulario, y luego una acción 'process' para procesar el formulario.
             </para>
 
             <programlisting role="php"><![CDATA[
@@ -653,7 +644,7 @@ class RegistrationController extends Zend_Controller_Action
     public function indexAction()
     {
         // volver a mostrar la página actual, o mostrar el "siguiente"
-        // (primer) sub formulario
+        // (primer) subformulario
         if (!$form = $this->getCurrentSubForm()) {
             $form = $this->getNextSubForm();
         }
@@ -684,28 +675,27 @@ class RegistrationController extends Zend_Controller_Action
         $this->render('verification');
     }
 }
-]]>
-            </programlisting>
+]]></programlisting>
 
             <para>
                 Como se ha notado, el código actual para procesar el formulario es
-                relativamente simple. Verificamos si tenemos un actual sub formulario
-                sometido y si no, retornamos a la página landing. Si tenemos
-                un sub formulario, intentaremos validarlo, redesplagandolo si tiene
-                fallas. Si el sub formulario es válido, entonces verificaremos si
-                el formulario es válido, lo que debería indicar hemos terminado; si no,
-                desplegaremos el siguiente segmento del formulario. Finalmente, desplegaremos una
+                relativamente simple. Verificamos si tenemos un subformulario actual
+                sometido y si no, retornamos a la página de destino. Si tenemos
+                un subformulario, intentaremos validarlo, volviéndolo a mostrar si tiene
+                fallos. Si el subformulario es válido, entonces verificaremos si
+                el formulario es válido, lo que debería indicar que hemos terminado; si no,
+                mostraremos el siguiente segmento del formulario. Finalmente, mostraremos una
                 página de verificación con el contenido de la sesión.
             </para>
 
             <para>
-                La vista de scripts son muy simples:
+                Los scripts de vista son muy simples:
             </para>
 
             <programlisting role="php"><![CDATA[
 <? // registration/index.phtml ?>
 <h2>registro</h2>
-<?= $this->form ?>
+<?php echo  $this->form ?>
 
 <? // registration/verification.phtml ?>
 <h2>Gracias por Registrarse!</h2>
@@ -718,29 +708,28 @@ class RegistrationController extends Zend_Controller_Action
 // de la sesión
 foreach ($this->info as $info):
     foreach ($info as $form => $data): ?>
-<h4><?= ucfirst($form) ?>:</h4>
+<h4><?php echo  ucfirst($form) ?>:</h4>
 <dl>
     <? foreach ($data as $key => $value): ?>
-    <dt><?= ucfirst($key) ?></dt>
+    <dt><?php echo  ucfirst($key) ?></dt>
     <? if (is_array($value)):
         foreach ($value as $label => $val): ?>
-    <dd><?= $val ?></dd>
+    <dd><?php echo  $val ?></dd>
         <? endforeach;
        else: ?>
-    <dd><?= $this->escape($value) ?></dd>
+    <dd><?php echo  $this->escape($value) ?></dd>
     <? endif;
     endforeach; ?>
 </dl>
 <? endforeach;
-endforeach ?>
-]]>
-            </programlisting>
+endforeach
+]]></programlisting>
 
             <para>
                 Próximas novedades de Zend Framework incluirán componentes
-                para hacer formularios multi páginas mas simple extrayendo la sesión y
-                el lógico orden. Mientras tanto, el ejemplo de arriba debería servir
-                como guia razonable en como alcanzar la tarea para su sitio.
+                para hacer formularios multi páginas mas simples, abstrayendo la sesión y
+                la lógica de orden. Mientras tanto, el ejemplo de arriba debería servir
+                como guia razonable para alcanzar esta tarea en su web.
             </para>
         </example>
     </sect2>

+ 17 - 19
documentation/manual/es/module_specs/Zend_Form-Decorators.xml

@@ -1,9 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15103 -->
+<!-- Reviewed: no -->
 <sect1 id="zend.form.decorators">
     <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,
+        los métodos <classname>Zend_Form</classname> render() en absoluto. Sin embargo, si lo hace,
         los decoradores se usan para representar distintos objetos form.
     </para>
 
@@ -40,8 +43,8 @@
 
         <para>
             Para configurar un decorador, pase un array de opciones o un
-            objeto <code>Zend_Config</code> a este constructor, a un array
-            <code>setOptions()</code>, o a un objeto <code>Zend_Config</code>
+            objeto <classname>Zend_Config</classname> a este constructor, a un array
+            <code>setOptions()</code>, o a un objeto <classname>Zend_Config</classname>
             <code>setConfig()</code>.
         </para>
 
@@ -99,8 +102,8 @@
 
         <para>
             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>,
+            tipos de clases <classname>Zend_Form</classname>: <classname>Zend_Form</classname>,
+            <classname>Zend_Form_Element</classname>, <code>Zend_Form_DisplayGroup</code>,
             y todas las clases derivan de ellas. El método
             <code>setElement()</code> permite determinar el objeto del
             decorador que esta actualmente trabajando con, y <code>getElement()</code>
@@ -122,7 +125,7 @@
         <title>Decoradores estándar</title>
 
         <para>
-            <code>Zend_Form</code> entrega muchos decoradores estándar; ver
+            <classname>Zend_Form</classname> entrega muchos decoradores estándar; ver
             <link linkend="zend.form.standardDecorators">el capítulo Decoradores
             estándar</link> para detalles.
         </para>
@@ -138,7 +141,7 @@
 
         <para>
             Los decoradores necesitan implementar sólo
-            <code>Zend_Decorator_Interface</code>. La interface especifica lo
+           <classname>Zend_Decorator_Interface</classname>. La interface especifica lo
             siguiente:
         </para>
 
@@ -157,12 +160,11 @@ interface Zend_Decorator_Interface
     public function clearOptions();
     public function render($content);
 }
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             Para hacerlo mas simple, simplemente puede extender
-            <code>Zend_Decorator_Abstract</code>, el cual implementa todos los métodos
+            <classname>Zend_Decorator_Abstract</classname>, el cual implementa todos los métodos
             excepto <code>render()</code>.
         </para>
 
@@ -258,8 +260,7 @@ class My_Decorator_Composite extends Zend_Form_Decorator_Abstract
         }
     }
 }
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             Puede entonces ubicarlo en el directorio del decorador:
@@ -275,8 +276,7 @@ $element->addPrefixPath('My_Decorator',
 $form->addElementPrefixPath('My_Decorator',
                             'My/Decorator/',
                             'decorator');
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             Puede especificar este decorador como compuesto (composite) y adjuntarlo a
@@ -286,8 +286,7 @@ $form->addElementPrefixPath('My_Decorator',
         <programlisting role="php"><![CDATA[
 // Sobreescribe los decoradores existentes con este otro:
 $element->setDecorators(array('Composite'));
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             Mientras este ejemplo mostró cómo crear un decorador que genera
@@ -326,12 +325,11 @@ class My_Decorator_Errors
         }
     }
 }
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             En este ejemplo particular, debido al segmento del decorador final,
-            'Errors', se combina como <code>Zend_Form_Decorator_Errors</code>,
+            'Errors', se combina como <classname>Zend_Form_Decorator_Errors</classname>,
             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

+ 94 - 90
documentation/manual/es/module_specs/Zend_Form-Elements.xml

@@ -1,9 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15103 -->
+<!-- Reviewed: no -->
 <sect1 id="zend.form.elements">
     <title>Creando elementos de formulario usando Zend_Form_Element</title>
 
     <para>
         Un formulario esta compuesto de elementos, que normalmente corresponden
-        al  elemento HTML input. <code>Zend_Form_Element</code> encapsula
+        al  elemento HTML input. <classname>Zend_Form_Element</classname> encapsula
         elementos de formulario individualmente, con las siguientes áreas de
         responsabilidad:
     </para>
@@ -35,7 +38,7 @@
     </itemizedlist>
 
     <para>
-        La clase base, <code>Zend_Form_Element</code>, funciona por defecto para
+        La clase base, <classname>Zend_Form_Element</classname>, funciona por defecto para
         varios casos, pero es mejor extender la clase para elementos con fines
         especiales de uso común. Adicionalmente, Zend Framework contiene un
         número de elementos XHTML estándar; puede leer de ellos <link linkend="zend.form.standardElements">en el capítulo Elementos
@@ -46,7 +49,7 @@
         <title>Cargadores de Plugin</title>
 
         <para>
-            <code>Zend_Form_Element</code> hace uso de <link linkend="zend.loader.pluginloader">Zend_Loader_PluginLoader</link>
+            <classname>Zend_Form_Element</classname> hace uso de <link linkend="zend.loader.pluginloader">Zend_Loader_PluginLoader</link>
             para permitir a los desarrolladores especificar ubicaciones de
             validadores, filtros y decoradores alternos. Cada uno tiene su
             propio cargador de plugin asociado a él y métodos de acceso
@@ -123,6 +126,7 @@
             </para>
 
             <programlisting role="php"><![CDATA[
+
 class My_Decorator_Label extends Zend_Form_Decorator_Abstract
 {
     protected $_placement = 'PREPEND';
@@ -161,8 +165,7 @@ class My_Decorator_Label extends Zend_Form_Decorator_Abstract
         }
     }
 }
-]]>
-            </programlisting>
+]]></programlisting>
 
             <para>
                 Ahora diremos al elemento que use esta ruta cuando busque por
@@ -170,9 +173,9 @@ class My_Decorator_Label extends Zend_Form_Decorator_Abstract
             </para>
 
             <programlisting role="php"><![CDATA[
+
 $element->addPrefixPath('My_Decorator', 'My/Decorator/', 'decorator');
-]]>
-            </programlisting>
+]]></programlisting>
 
             <para>
                 Alternativamente, podemos hacerlo en el formulario para asegurar
@@ -180,9 +183,9 @@ $element->addPrefixPath('My_Decorator', 'My/Decorator/', 'decorator');
             </para>
 
             <programlisting role="php"><![CDATA[
+
 $form->addElementPrefixPath('My_Decorator', 'My/Decorator/', 'decorator');
-]]>
-            </programlisting>
+]]></programlisting>
 
             <para>
                 Con esta ruta añadida, cuando agregue un decorador, la ruta
@@ -205,17 +208,17 @@ $form->addElementPrefixPath('My_Decorator', 'My/Decorator/', 'decorator');
             blanco al inicio o fin de la entrada para asegurarse de que un validador
             StringLenth (longitud de la cadena) no regrese un positivo falso. Estas
             operaciones pueden realizarse usando <code>Zend_Filter</code>, y
-            <code>Zend_Form_Element</code> que soportan cadenas de filtros,
+            <classname>Zend_Form_Element</classname> que soportan cadenas de filtros,
             permitiéndole especificar múltiples filtros secuenciales a utilizar.
             El filtrado sucede tanto en la validación como cuando recupera el
             valor del elemento vía <code>getValue()</code>:
         </para>
 
         <programlisting role="php"><![CDATA[
+
 $filtered = $element->getValue();
 
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             Los filtros pueden ser agregados a la pila de dos maneras:
@@ -237,6 +240,7 @@ $filtered = $element->getValue();
         </para>
 
         <programlisting role="php"><![CDATA[
+
 // Instancia específica del filtro
 $element->addFilter(new Zend_Filter_Alnum());
 
@@ -246,8 +250,7 @@ $element->addFilter('Zend_Filter_Alnum');
 // Nombre corto del filtro:
 $element->addFilter('Alnum');
 $element->addFilter('alnum');
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             Los nombres cortos son típicamente el nombre del filtro sin el
@@ -261,16 +264,16 @@ $element->addFilter('alnum');
 
             <para>
                 Si tiene su propio conjunto de clases de filtro, puede
-                informarle de ellas a <code>Zend_Form_Element</code> usando
+                informarle de ellas a <classname>Zend_Form_Element</classname> usando
                 <code>addPrefixPath()</code>. Por ejemplo, si tiene filtros
                 con el prefijo 'My_Filter', puede indicárselo a
-                <code>Zend_Form_Element</code> de la siguiente manera:
+                <classname>Zend_Form_Element</classname> de la siguiente manera:
             </para>
 
             <programlisting role="php"><![CDATA[
+
 $element->addPrefixPath('My_Filter', 'My/Filter/', 'filter');
-]]>
-            </programlisting>
+]]></programlisting>
 
             <para>
                 (Recuerde que el tercer argumento indica el cargador de plugin
@@ -284,9 +287,9 @@ $element->addPrefixPath('My_Filter', 'My/Filter/', 'filter');
         </para>
 
         <programlisting role="php"><![CDATA[
+
 $unfiltered = $element->getUnfilteredValue();
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             Para mayor información sobre filtros, vea la <link linkend="zend.filter.introduction">documentación de
@@ -337,7 +340,7 @@ $unfiltered = $element->getUnfilteredValue();
         <para>
             Si sigue el mantra de seguridad "filtrar la entrada, escapar la
             salida" querrá validar ("filtrar la entrada") los datos de los
-            formularios. En <code>Zend_Form</code> cada elemento contiene su
+            formularios. En <classname>Zend_Form</classname> cada elemento contiene su
             propia cadena de validadores, consistente en validadores
             <code>Zend_Validate_*</code>.
         </para>
@@ -362,6 +365,7 @@ $unfiltered = $element->getUnfilteredValue();
         </para>
 
         <programlisting role="php"><![CDATA[
+
 // Instancia específica del validador:
 $element->addValidator(new Zend_Validate_Alnum());
 
@@ -371,8 +375,7 @@ $element->addValidator('Zend_Validate_Alnum');
 // Nombre corto del validador:
 $element->addValidator('Alnum');
 $element->addValidator('alnum');
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             Los nombres cortos son típicamente el nombre del validador sin el
@@ -386,16 +389,16 @@ $element->addValidator('alnum');
 
             <para>
                 Si tiene su propio conjunto de clases de validación, puede
-                informarle de ellas a <code>Zend_Form_Element</code> usando
+                informarle de ellas a <classname>Zend_Form_Element</classname> usando
                 <code>addPrefixPath()</code>. Por ejemplo, si tiene validadores
                 con el prefijo 'My_Validator', puede indicárselo a
-                <code>Zend_Form_Element</code> de la siguiente manera:
+                <classname>Zend_Form_Element</classname> de la siguiente manera:
             </para>
 
             <programlisting role="php"><![CDATA[
+
 $element->addPrefixPath('My_Validator', 'My/Validator/', 'validate');
-]]>
-            </programlisting>
+]]></programlisting>
 
             <para>
                 (Recuerde que el tercer argumento indica el cargador de plugin
@@ -409,9 +412,9 @@ $element->addPrefixPath('My_Validator', 'My/Validator/', 'validate');
         </para>
 
         <programlisting role="php"><![CDATA[
+
 $element->addValidator('alnum', true);
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             Si está usando la cadena nombre para añadir el validador, y la clase
@@ -421,21 +424,21 @@ $element->addValidator('alnum', true);
         </para>
 
         <programlisting role="php"><![CDATA[
+
 $element->addValidator('StringLength', false, array(6, 20));
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             Los argumentos pasados de esta manera deben estar en el orden en el
             cual son definidos en el constructor. El ejemplo de arriba
-            instanciará la clase <code>Zend_Validate_StringLenth</code> con los
+            instanciará la clase <classname>Zend_Validate_StringLenth</classname> con los
             parámetros <code>$min</code> y <code>$max</code>:
         </para>
-
+        
         <programlisting role="php"><![CDATA[
+
 $validator = new Zend_Validate_StringLength(6, 20);
-]]>
-        </programlisting>
+]]></programlisting>
 
         <note>
             <title>Estipulando mensajes de error de validación personalizados</title>
@@ -444,7 +447,7 @@ $validator = new Zend_Validate_StringLength(6, 20);
                 Algunos desarrolladores querrán estipular mensajes de error
                 personalizados para un validador. El argumento
                 <code>$options</code> de
-                <code>Zend_Form_Element::addValidator()</code> le permite
+                <classname>Zend_Form_Element::addValidator()</classname> le permite
                 hacerlo proporcionando la clave 'messages' y estableciendolos en
                 un array de pares clave/valor para especificar las plantillas
                 de mensaje. Necesitará conocer los códigos de error de los
@@ -452,7 +455,7 @@ $validator = new Zend_Validate_StringLength(6, 20);
             </para>
 
             <para>
-                Una opción mejor es usar <code>Zend_Translate_Adapter</code>
+                Una opción mejor es usar <classname>Zend_Translate_Adapter</classname>
                 con su formulario. Los códigos de error son automáticamente
                 pasados al adaptador por el decorador Errors por defecto; puede
                 especificar su propias cadenas de mensaje de error mediante la
@@ -469,13 +472,13 @@ $validator = new Zend_Validate_StringLength(6, 20);
         </para>
 
         <programlisting role="php"><![CDATA[
+
 $element->addValidators(array(
     array('NotEmpty', true),
     array('alnum'),
     array('stringLength', false, array(6, 20)),
 ));
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             Si quiere ser más detallado o explícito, puede utilizar las claves
@@ -483,6 +486,7 @@ $element->addValidators(array(
         </para>
 
         <programlisting role="php"><![CDATA[
+
 $element->addValidators(array(
     array(
         'validator'           => 'NotEmpty',
@@ -492,8 +496,7 @@ $element->addValidators(array(
         'validator' => 'stringLength',
         'options'   => array(6, 20)),
 ));
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             Este uso es bueno para ilustrar cómo puede configurar validadores
@@ -501,14 +504,14 @@ $element->addValidators(array(
         </para>
 
         <programlisting role="ini"><![CDATA[
+
 element.validators.notempty.validator = "NotEmpty"
 element.validators.notempty.breakChainOnFailure = true
 element.validators.alnum.validator = "Alnum"
 element.validators.strlen.validator = "StringLength"
 element.validators.strlen.options.min = 6
 element.validators.strlen.options.max = 20
-]]>
-</programlisting>
+]]></programlisting>
 
         <para>
             Note que cada elemento tiene una clave, la necesite o no; esta es
@@ -524,19 +527,19 @@ element.validators.strlen.options.max = 20
         </para>
 
         <programlisting role="php"><![CDATA[
+
 if ($element->isValid($value)) {
     // válido
 } else {
     // no válido
 }
-]]>
-        </programlisting>
+]]></programlisting>
 
         <note>
             <title>Validación operando en valores filtrados</title>
 
             <para>
-                <code>Zend_Form_Element::isValid()</code> siempre filtra los
+                <classname>Zend_Form_Element::isValid()</classname>> siempre filtra los
                 valores antes de la validación a través de la cadena de filtros.
                 Vea <link linkend="zend.form.elements.filters">la sección de
                 filtros</link> para más información.
@@ -547,11 +550,11 @@ if ($element->isValid($value)) {
             <title>Contexto de validación</title>
 
             <para>
-                <code>Zend_Form_Element::isValid()</code> soporta un argumento
+                <classname>Zend_Form_Element::isValid()</classname>> soporta un argumento
                 adicional, <code>$context</code>.
-                <code>Zend_Form::isValid()</code> pasa todo el conjunto de datos
+                <classname>Zend_Form::isValid()</classname> pasa todo el conjunto de datos
                 procesados a <code>$context</code> cuando valida un formulario,
-                y <code>Zend_Form_Element::isValid()</code>, a su vez, lo pasa a
+                y <classname>Zend_Form_Element::isValid()</classname>>, a su vez, lo pasa a
                 cada validador. Esto significa que puede escribir validadores
                 que son conscientes de los datos pasados a otros elementos del
                 formulario. Como ejemplo, considere un formulario de registro
@@ -562,6 +565,7 @@ if ($element->isValid($value)) {
             </para>
 
             <programlisting role="php"><![CDATA[
+
 class My_Validate_PasswordConfirmation extends Zend_Validate_Abstract
 {
     const NOT_MATCH = 'notMatch';
@@ -589,8 +593,7 @@ class My_Validate_PasswordConfirmation extends Zend_Validate_Abstract
         return false;
     }
 }
-]]>
-            </programlisting>
+]]></programlisting>
         </note>
 
         <para>
@@ -606,10 +609,10 @@ class My_Validate_PasswordConfirmation extends Zend_Validate_Abstract
         </para>
 
         <programlisting role="php"><![CDATA[
+
 $errors   = $element->getErrors();
 $messages = $element->getMessages();
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             (Nota: los mensajes de error retornados son un array asociativo de
@@ -670,8 +673,8 @@ $messages = $element->getMessages();
             <title>Usando Zend_Form_Elements como validador de propósito general</title>
 
             <para>
-                <code>Zend_Form_Element</code> implementa
-                <code>Zend_Validate_Interface</code>, significando un elemento
+                <classname>Zend_Form_Element</classname> implementa
+                <classname>Zend_Validate_Interface</classname>, significando un elemento
                 puede también usarse como un validador en otro, cadenas de
                 validación no relacionadas al formulario.
             </para>
@@ -688,7 +691,7 @@ $messages = $element->getMessages();
                     estado de la bandera 'required'. Cuando se le asigna un
                     booleano <code>true</code>, esta bandera requiere que el
                     elemento esté presente en la información procesada por
-                    <code>Zend_Form</code>.
+                    <classname>Zend_Form</classname>.
             </para></listitem>
 
             <listitem><para>
@@ -831,7 +834,7 @@ $messages = $element->getMessages();
         </para>
 
         <para>
-            <code>Zend_Form_Element</code> intenta resolver este problema mediante
+            <classname>Zend_Form_Element</classname> intenta resolver este problema mediante
             el uso de "decoradores". Los decoradores son clases simples que tienen
             métodos de acceso al elemento y métodos para generar el contenido. Para
             obtener mayor información sobre cómo trabajan los decoradores, consulte
@@ -841,7 +844,7 @@ $messages = $element->getMessages();
 
         <para>
             Los decoradores usados por defecto por
-            <code>Zend_Form_Element</code> son:
+            <classname>Zend_Form_Element</classname> son:
         </para>
 
         <itemizedlist>
@@ -849,7 +852,7 @@ $messages = $element->getMessages();
                 <emphasis>ViewHelper</emphasis>: especifica un view helper que
                 usar para general el elemento. El atributo 'helper' del elemento
                 puede usarse para especificar qué auxiliar vista usar. Por
-                defecto, <code>Zend_Form_Element</code> especifica el auxiliar
+                defecto, <classname>Zend_Form_Element</classname> especifica el auxiliar
                 vista 'formText', pero cada subclase especifica diferentes
                 auxiliares.
             </para></listitem>
@@ -890,12 +893,12 @@ $messages = $element->getMessages();
             </para>
 
             <programlisting role="php"><![CDATA[
+
 $element = new Zend_Form_Element('foo',
                                  array('disableLoadDefaultDecorators' =>
                                       true)
                                 );
-]]>
-            </programlisting>
+]]></programlisting>
 
             <para>
                 Esta opción puede ser combinada junto con cualquier otra opción que
@@ -914,6 +917,7 @@ $element = new Zend_Form_Element('foo',
         </para>
 
         <programlisting role="php"><![CDATA[
+
 $this->addDecorators(array(
     array('ViewHelper'),
     array('Errors'),
@@ -921,8 +925,7 @@ $this->addDecorators(array(
     array('HtmlTag', array('tag' => 'dd')),
     array('Label', array('tag' => 'dt')),
 ));
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             El contenido inicial es creado por el decorador 'ViewHelper', que
@@ -941,6 +944,7 @@ $this->addDecorators(array(
         </para>
 
         <programlisting role="html"><![CDATA[
+
 <dt><label for="foo" class="optional">Foo</label></dt>
 <dd>
     <input type="text" name="foo" id="foo" value="123" />
@@ -951,8 +955,7 @@ $this->addDecorators(array(
         This is some descriptive text regarding the element.
     </p>
 </dd>
-]]>
-</programlisting>
+]]></programlisting>
 
         <para>
             Para más información sobre decoradores, lea la <link linkend="zend.form.decorators"> sección de Zend_Form_Decorator</link>.
@@ -962,7 +965,7 @@ $this->addDecorators(array(
             <title>Usando múltiples decoradores al mismo tiempo</title>
 
             <para>
-                Internamente, <code>Zend_Form_Element</code> utiliza una clase
+                Internamente, <classname>Zend_Form_Element</classname> utiliza una clase
                 decorador como mecanismo de búsqueda para la recuperación de
                 decoradores. Como resultado, no puede registrar múltiples
                 decoradores del mismo tipo; decoradores subsecuentes
@@ -978,14 +981,14 @@ $this->addDecorators(array(
             </para>
 
             <programlisting role="php"><![CDATA[
+
 // Alias a 'FooBar':
 $element->addDecorator(array('FooBar' => 'HtmlTag'),
                        array('tag' => 'div'));
 
 // Y recuperandolo posteriormente:
 $decorator = $element->getDecorator('FooBar');
-]]>
-            </programlisting>
+]]></programlisting>
 
             <para>
                 En los métodos <code>addDecorators()</code> y
@@ -994,6 +997,7 @@ $decorator = $element->getDecorator('FooBar');
             </para>
 
             <programlisting role="php"><![CDATA[
+
 // Y dos decoradores 'HtmlTag', 'FooBar' como alias:
 $element->addDecorators(
     array('HtmlTag', array('tag' => 'div')),
@@ -1006,8 +1010,7 @@ $element->addDecorators(
 // Y recuperándolos posteriormente:
 $htmlTag = $element->getDecorator('HtmlTag');
 $fooBar  = $element->getDecorator('FooBar');
-]]>
-            </programlisting>
+]]></programlisting>
         </note>
 
         <para>
@@ -1048,7 +1051,7 @@ $fooBar  = $element->getDecorator('FooBar');
         </itemizedlist>
 
         <para>
-            <code>Zend_Form_Element</code> también utiliza la sobrecarga para
+            <classname>Zend_Form_Element</classname> también utiliza la sobrecarga para
             permitir generar decoradores específicos. <code>__call()</code>
             interceptará métodos que comiencen con el texto 'render' y utilizará
             el resto del nombre del método para buscar un decorador; si se
@@ -1059,6 +1062,7 @@ $fooBar  = $element->getDecorator('FooBar');
         </para>
 
         <programlisting role="php"><![CDATA[
+
 // Genera solo el decorador ViewHelper:
 echo $element->renderViewHelper();
 
@@ -1075,7 +1079,7 @@ echo $element->renderHtmlTag("This is the html tag content");
         <title>Metadatos y atributos</title>
 
         <para>
-            <code>Zend_Form_Element</code> manipula una variedad de atributos y
+            <classname>Zend_Form_Element</classname> manipula una variedad de atributos y
             medatados del elemento. Atributos básicos incluyen:
         </para>
 
@@ -1168,15 +1172,15 @@ echo $element->renderHtmlTag("This is the html tag content");
 
         <para>
             La mayoría de las veces, como sea, puede simplemente acceder a ellos
-            como propiedades de objeto, ya que <code>Zend_Form_Element</code>
+            como propiedades de objeto, ya que <classname>Zend_Form_Element</classname>
             utiliza la sobrecarga para facilitar el acceso a ellos:
         </para>
 
         <programlisting role="php"><![CDATA[
+
 // Equivalente a $element->setAttrib('class', 'text'):
 $element->class = 'text;
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             Por defecto, todos los atributos son pasados al auxiliar vista usado
@@ -1189,7 +1193,7 @@ $element->class = 'text;
         <title>Elementos Estándar</title>
 
         <para>
-            <code>Zend_Form</code> contiene un buen número de elementos
+            <classname>Zend_Form</classname> contiene un buen número de elementos
             estándar; por favor lea el capítulo <link linkend="zend.form.standardElements">Elementos Estándar</link> para
             todos los detalles.
         </para>
@@ -1199,7 +1203,7 @@ $element->class = 'text;
         <title>Métodos de Zend_Form_Element</title>
 
         <para>
-            <code>Zend_Form_Element</code> tiene muchos, muchos métodos. Lo que
+            <classname>Zend_Form_Element</classname> tiene muchos, muchos métodos. Lo que
             sigue es un sumario de sus funciones, agrupados por tipo:
         </para>
 
@@ -1306,7 +1310,7 @@ $element->class = 'text;
         <title>Configuración</title>
 
         <para>
-            El constructor de <code>Zend_Form_Element</code> acepta tanto una
+            El constructor de <classname>Zend_Form_Element</classname> acepta tanto una
             matriz de opciones como un objeto <code>Zend_Config</code>
             conteniendo opciones, y esto puede configurarse usando
             <code>setOptions()</code> o <code>setConfig()</code>. Hablando de
@@ -1316,7 +1320,7 @@ $element->class = 'text;
         <itemizedlist>
             <listitem><para>
                 Si 'set' + clave se refiere a un método de
-                <code>Zend_Form_Element</code>, entonces el valor provisto será
+                <classname>Zend_Form_Element</classname>, entonces el valor provisto será
                 pasado a el método.
             </para></listitem>
 
@@ -1365,6 +1369,7 @@ $element->class = 'text;
         </para>
 
         <programlisting role="ini"><![CDATA[
+
 [element]
 name = "foo"
 value = "foobar"
@@ -1391,8 +1396,7 @@ filters.ucase.filter = "StringToUpper"
 decorators.element.decorator = "ViewHelper"
 decorators.element.options.helper = "FormText"
 decorators.label.decorator = "Label"
-]]>
-</programlisting>
+]]></programlisting>
     </sect2>
 
     <sect2 id="zend.form.elements.custom">
@@ -1400,7 +1404,7 @@ decorators.label.decorator = "Label"
 
         <para>
             Usted puede crear sus propios elementos personalizados simplemente
-            extendiendo la clase <code>Zend_Form_Element</code>. Las razones
+            extendiendo la clase <classname>Zend_Form_Element</classname>. Las razones
             comunes para hacer esto incluyen:
         </para>
 
@@ -1434,6 +1438,7 @@ decorators.label.decorator = "Label"
         </para>
 
         <programlisting role="php"><![CDATA[
+
 class My_Element_Text extends Zend_Form_Element
 {
     public function init()
@@ -1447,8 +1452,7 @@ class My_Element_Text extends Zend_Form_Element
              ->setAttrib('class', 'text');
     }
 }
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             Entonces puede informar a su objeto formulario acerca del prefijo de
@@ -1456,10 +1460,10 @@ class My_Element_Text extends Zend_Form_Element
         </para>
 
         <programlisting role="php"><![CDATA[
+
 $form->addPrefixPath('My_Element', 'My/Element/', 'element')
      ->addElement('foo', 'text');
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             El elemento 'foo' será ahora del tipo <code>My_Element_Text</code>,
@@ -1468,7 +1472,7 @@ $form->addPrefixPath('My_Element', 'My/Element/', 'element')
 
         <para>
             Otro método que puede querer sobreescribir cuando extienda
-            <code>Zend_Form_Element</code> es el método
+            <classname>Zend_Form_Element</classname> es el método
             <code>loadDefaultDecorators()</code>. Este método carga
             condicionalmente un grupo de decoradores predefinidos para su
             elemento; puede querer sustituir su propio decorador en su clase
@@ -1476,6 +1480,7 @@ $form->addPrefixPath('My_Element', 'My/Element/', 'element')
         </para>
 
         <programlisting role="php"><![CDATA[
+
 class My_Element_Text extends Zend_Form_Element
 {
     public function loadDefaultDecorators()
@@ -1487,12 +1492,11 @@ class My_Element_Text extends Zend_Form_Element
                             array('tag' => 'div', 'class' => 'element'));
     }
 }
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             Hay muchas maneras de personalizar elementos; asegúrese de leer la
-            documentación de la API de <code>Zend_Form_Element</code> para
+            documentación de la API de <classname>Zend_Form_Element</classname> para
             conocer todos los métodos disponibles.
         </para>
     </sect2>

+ 75 - 114
documentation/manual/es/module_specs/Zend_Form-Forms.xml

@@ -1,8 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15103 -->
+<!-- Reviewed: no -->
 <sect1 id="zend.form.forms">
     <title>Creando formularios usando Zend_Form</title>
 
     <para>
-        La clase <code>Zend_Form</code> es usada para agregar elementos de
+        La clase <classname>Zend_Form</classname> es usada para agregar elementos de
         formulario, desplegar grupos y subformularios. Éstos pueden ejecutar las
         siguientes acciones en estos elementos:
     </para>
@@ -30,9 +33,9 @@
     </itemizedlist>
 
     <para>
-        Mientras los formularios creados con <code>Zend_Form</code> pueden ser
+        Mientras los formularios creados con <classname>Zend_Form</classname> pueden ser
         complejos, probablemente su mejor uso es para formularios simples; es
-        mejor utilizarlo para desarrollar aplicaciones rápidas y de prototipado.
+        mejor utilizarlo para desarrollar aplicaciones rápidas (RAD) y de prototipado.
     </para>
 
     <para>
@@ -45,8 +48,7 @@ $form = new Zend_Form();
 
 // Objeto form personalizado:
 $form = new My_Form()
-]]>
-    </programlisting>
+]]></programlisting>
 
     <para>
         Opcionalmente puede pasarlo en la configuración, la cual será usada para
@@ -57,18 +59,17 @@ $form = new My_Form()
     <programlisting role="php"><![CDATA[
 // Pasando opciones en la configuración:
 $form = new Zend_Form($config);
-]]>
-    </programlisting>
+]]></programlisting>
 
     <para>
-        <code>Zend_Form</code> es iterable, e iterará sobre elementos, grupos que
+        <classname>Zend_Form</classname> 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
         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
+        La magia de <classname>Zend_Form</classname> radica en la habilidad para servir como
         fábrica para elementos y grupos, así como también la habilidad de generarse
         a sí mismo a través de decoradores.
     </para>
@@ -76,8 +77,8 @@ $form = new Zend_Form($config);
     <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
+            <classname>Zend_Form</classname> hace uso de
+            <classname>Zend_Loader_PluginLoader</classname> 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
@@ -127,7 +128,7 @@ $form = new Zend_Form($config);
         <para>
             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:
+            <classname>Zend_Form</classname>  usando los siguientes métodos:
         </para>
 
         <itemizedlist>
@@ -136,7 +137,7 @@ $form = new Zend_Form($config);
                 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
+                <classname>Zend_Form_Element</classname>; 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
@@ -166,7 +167,7 @@ $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
+            <classname>Zend_Form</classname> 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.
@@ -175,8 +176,8 @@ $form = new Zend_Form($config);
         <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
-            de tipo <code>Zend_Form_Element</code> (o de una clase extendiendo
-            <code>Zend_Form_Element</code>), o argumentos para construir un nuevo
+            de tipo <classname>Zend_Form_Element</classname> (o de una clase extendiendo
+            <classname>Zend_Form_Element</classname>), o argumentos para construir un nuevo
             elemento -- incluyendo el elemento tipo, nombre y algunas opciones de
             configuración.
         </para>
@@ -198,15 +199,14 @@ $form->addElement('text', 'foo');
 
 // Pasa una opción etiqueta al elemento:
 $form->addElement('text', 'foo', array('label' => 'Foo:'));
-]]>
-        </programlisting>
+]]></programlisting>
 
         <note>
             <title>addElement() Implementa una Interfaz Fluida</title>
 
             <para>
                 <code>addElement()</code> implementa una interfaz fluida; es
-                decir, retorna el objeto <code>Zend_Form</code> y no un
+                decir, retorna el objeto <classname>Zend_Form</classname> y no un
                 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
@@ -240,8 +240,7 @@ $foo = $form->getElement('foo');
 
 // Como propiedad del objeto:
 $foo = $form->foo;
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             Ocasionalmente, se quiere crear un elemento sin adjuntarlo
@@ -254,8 +253,7 @@ $foo = $form->foo;
         <programlisting role="php"><![CDATA[
 // $username llega a ser un objeto Zend_Form_Element_Text:
 $username = $form->createElement('text', 'username');
-]]>
-        </programlisting>
+]]></programlisting>
 
         <sect3 id="zend.form.forms.elements.values">
             <title>Llenar y recuperar valores</title>
@@ -275,8 +273,7 @@ $values = $form->getValues();
 
 // Obtener sólo los valores del elemento 'foo':
 $value = $form->getValue('foo');
-]]>
-            </programlisting>
+]]></programlisting>
 
             <para>
                 A veces se quiere llenar el formulario con valores especificos
@@ -287,8 +284,7 @@ $value = $form->getValue('foo');
             <programlisting role="php"><![CDATA[
 $form->setDefaults($data);
 $form->populate($data);
-]]>
-            </programlisting>
+]]></programlisting>
 
             <para>
                 Por otro lado, si se quisera limpiar el formulario antes de llenarlo
@@ -298,8 +294,7 @@ $form->populate($data);
 
             <programlisting role="php"><![CDATA[
 $form->reset();
-]]>
-            </programlisting>
+]]></programlisting>
         </sect3>
 
         <sect3 id="zend.form.forms.elements.global">
@@ -340,8 +335,7 @@ $form->addElementPrefixPath('My_Foo_Validate',
 $form->addElementPrefixPath('My_Foo_Decorator',
                             'My/Foo/Decorator',
                             'decorator');
-]]>
-                </programlisting>
+]]></programlisting>
             </example>
 
             <example id="zend.form.forms.elements.global.decorators">
@@ -361,8 +355,7 @@ $form->setElementDecorators(array(
     'ViewHelper',
     'Label'
 ));
-]]>
-                </programlisting>
+]]></programlisting>
             </example>
 
             <example id="zend.form.forms.elements.global.decoratorsFilter">
@@ -400,8 +393,7 @@ $form->setElementDecorators(
         'bar'
     )
 );
-]]>
-                </programlisting>
+]]></programlisting>
 
                 <para>
                     Por otro lado, con este fragmento, indicaremos
@@ -422,8 +414,7 @@ $form->setElementDecorators(
     ),
     false
 );
-]]>
-                </programlisting>
+]]></programlisting>
             </example>
 
                 <note>
@@ -463,8 +454,7 @@ $form->setElementDecorators(
 
         <programlisting role="php"><![CDATA[
 $form->setElementFilters(array('StringTrim'));
-]]>
-        </programlisting>
+]]></programlisting>
             </example>
         </sect3>
 
@@ -566,7 +556,7 @@ $form->setElementFilters(array('StringTrim'));
             La clase base para los grupos de visualización es
             <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
+            de la clase<classname>Zend_Form</classname>. 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.
@@ -580,8 +570,7 @@ $form->setElementFilters(array('StringTrim'));
 
         <programlisting role="php"><![CDATA[
 $form->addDisplayGroup(array('username', 'password'), 'login');
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             Puede acceder a los grupos de visualización usando el
@@ -595,8 +584,7 @@ $login = $form->getDisplayGroup('login');
 
 // Usando sobrecarga:
 $login = $form->login;
-]]>
-        </programlisting>
+]]></programlisting>
 
         <note>
             <title>Decoradores por defecto que no necesitan ser cargados</title>
@@ -613,8 +601,7 @@ $form->addDisplayGroup(
     'foobar',
     array('disableLoadDefaultDecorators' => true)
 );
-]]>
-            </programlisting>
+]]></programlisting>
 
             <para>
                 Esta opción puede ser una mezcla con otras opciones pasadas,
@@ -643,8 +630,7 @@ $form->addDisplayGroup(
 
                 <programlisting role="php"><![CDATA[
 $form->addDisplayGroupPrefixPath('My_Foo_Decorator', 'My/Foo/Decorator');
-]]>
-                </programlisting>
+]]></programlisting>
             </example>
 
             <example id="zend.form.forms.displaygroups.global.decorators">
@@ -664,8 +650,7 @@ $form->setDisplayGroupDecorators(array(
     'FormElements',
     'Fieldset'
 ));
-]]>
-                </programlisting>
+]]></programlisting>
             </example>
         </sect3>
 
@@ -673,7 +658,7 @@ $form->setDisplayGroupDecorators(array(
             <title>Usando Clases de Grupos de Visualización Personalizadas</title>
 
             <para>
-                Por defecto, <code>Zend_Form</code> utiliza la clase
+                Por defecto, <classname>Zend_Form</classname> 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>
@@ -689,11 +674,10 @@ $form->addDisplayGroup(
     'user',
     array('displayGroupClass' => 'My_DisplayGroup')
 );
-]]>
-            </programlisting>
+]]></programlisting>
 
             <para>
-                Si la clase no ha sido todavía cargada, <code>Zend_Form</code>
+                Si la clase no ha sido todavía cargada, <classname>Zend_Form</classname>
                 intentará cargarla a través de <code>Zend_Loader</code>.
             </para>
 
@@ -706,8 +690,7 @@ $form->addDisplayGroup(
             <programlisting role="php"><![CDATA[
 // Use the 'My_DisplayGroup' class for all display groups:
 $form->setDefaultDisplayGroupClass('My_DisplayGroup');
-]]>
-            </programlisting>
+]]></programlisting>
 
             <para>
                 Esta funcionalidad puede especificarse en configuraciones como
@@ -925,7 +908,7 @@ $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 <classname>Zend_Form</classname> 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
@@ -935,8 +918,7 @@ $form->setDefaultDisplayGroupClass('My_DisplayGroup');
 
         <programlisting role="php"><![CDATA[
 $form->addSubForm($subForm, 'subform');
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             Se puede recuperar un sub formulario usando ya sea
@@ -950,8 +932,7 @@ $subForm = $form->getSubForm('subform');
 
 // Usando sobrecarga:
 $subForm = $form->subform;
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             Los Subformularios son incluidos en la interacción del formulario, sin embargo los elementos
@@ -978,8 +959,7 @@ $form->setSubFormDecorators(array(
     'FormElements',
     'Fieldset'
 ));
-]]>
-            </programlisting>
+]]></programlisting>
         </sect3>
 
         <sect3 id="zend.form.forms.subforms.methods">
@@ -1047,8 +1027,7 @@ $form->setName('registration');
 
 // Recuperar el nombre:
 $name = $form->getName();
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             Para determinar la acción (url en el cual se envia el formulario) y método (método
@@ -1060,8 +1039,7 @@ $name = $form->getName();
 // Determinar la acción y método:
 $form->setAction('/user/login')
      ->setMethod('post');
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             Se puede también especificar el tipo de codificación del fomulario usando el
@@ -1078,8 +1056,7 @@ $form->setAction('/user/login')
 $form->setAction('/user/login')
      ->setMethod('post')
      ->setEnctype(Zend_Form::ENCTYPE_MULTIPART);
-]]>
-        </programlisting>
+]]></programlisting>
 
         <note>
             <para>
@@ -1089,18 +1066,17 @@ $form->setAction('/user/login')
         </note>
 
         <para>
-            <code>Zend_Form</code> implementa la interfaz <code>Countable</code>
+            <classname>Zend_Form</classname> implementa la interfaz <code>Countable</code>
             permitiéndole pasarlo como un argumento para contar:
         </para>
 
         <programlisting role="php"><![CDATA[
 $numItems = count($form);
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             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
+            Dado que la sobrecarga en <classname>Zend_Form</classname> es usada para acceder
             elementos, grupos de visualización y subformularios, este es el único método para
             acceder a los metadatos.
         </para>
@@ -1122,8 +1098,7 @@ $form->removeAttrib('onSubmit');
 
 // Limpiando todos los atributos:
 $form->clearAttribs();
-]]>
-        </programlisting>
+]]></programlisting>
     </sect2>
 
     <sect2 id="zend.form.forms.decorators">
@@ -1133,12 +1108,12 @@ $form->clearAttribs();
             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
+            La respuesta de <classname>Zend_Form</classname> a este problema es los
             <emphasis>decoradores</emphasis>.
         </para>
 
         <para>
-            Los decoradores para objetos <code>Zend_Form</code> pueden ser usados para generar
+            Los decoradores para objetos <classname>Zend_Form</classname> 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
@@ -1146,7 +1121,7 @@ $form->clearAttribs();
         </para>
 
         <para>
-            Los decoradores por defecto de <code>Zend_Form</code> son FormElements,
+            Los decoradores por defecto de <classname>Zend_Form</classname> son FormElements,
             HtmlTag (envuelve una lista de definición) y Form; el código equivalente
             para crearlos es como sigue:
         </para>
@@ -1157,8 +1132,7 @@ $form->setDecorators(array(
     array('HtmlTag', array('tag' => 'dl')),
     'Form'
 ));
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             Que crea la salida como sigue:
@@ -1170,8 +1144,7 @@ $form->setDecorators(array(
 ...
 </dl>
 </form>
-]]>
-</programlisting>
+]]></programlisting>
 
         <para>
             Algunos de los atributos se determinan en el objeto formulario que será usado como
@@ -1189,8 +1162,7 @@ $form->setDecorators(array(
 
             <programlisting role="php"><![CDATA[
 $form = new Zend_Form(array('disableLoadDefaultDecorators' => true));
-]]>
-            </programlisting>
+]]></programlisting>
 
             <para>
                 Esta opción puede ser combinada con alguna otra opción que usted pueda pasar,
@@ -1202,7 +1174,7 @@ $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
+                Internamente, <classname>Zend_Form</classname> 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
@@ -1223,8 +1195,7 @@ $form->addDecorator(array('FooBar' => 'HtmlTag'), array('tag' => 'div'));
 
 // y recuperarlo después:
 $form = $element->getDecorator('FooBar');
-]]>
-            </programlisting>
+]]></programlisting>
 
             <para>
                 En los métodos <code>addDecorators()</code> y
@@ -1245,8 +1216,7 @@ $form->addDecorators(
 // y recuperándolo después:
 $htmlTag = $form->getDecorator('HtmlTag');
 $fooBar  = $form->getDecorator('FooBar');
-]]>
-            </programlisting>
+]]></programlisting>
         </note>
 
         <para>
@@ -1292,7 +1262,7 @@ $fooBar  = $form->getDecorator('FooBar');
         </itemizedlist>
 
         <para>
-            <code>Zend_Form</code> también usa sobrecarga que permite generar
+            <classname>Zend_Form</classname> también usa sobrecarga que permite generar
             decoradores específicos. <code>__call()</code> interceptará métodos
             que lleve con el texto 'render' y use el resto del nombre del método
             para buscar un decorador; si se encuentran, serán generados por un
@@ -1319,7 +1289,7 @@ echo $form->renderFieldset("<p>This is fieldset content</p>");
 
         <para>
             Un caso de uso primario para formularios es validar datos enviados.
-            <code>Zend_Form</code> le permite validar un formulario entero de una vez,
+            <classname>Zend_Form</classname> 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
             métodos para recuperar los distintos códigos errores y los mensajes de
@@ -1334,8 +1304,7 @@ echo $form->renderFieldset("<p>This is fieldset content</p>");
 if (!$form->isValid($_POST)) {
     // validación fallida
 }
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             <code>isValid()</code> validará cada elemento requerido, y algún
@@ -1351,8 +1320,7 @@ if (!$form->isValid($_POST)) {
 if (!$form->isValidPartial($data)) {
     // validación fallida
 }
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             <code>isValidPartial()</code> sólo intenta validar aquellos elementos
@@ -1368,8 +1336,7 @@ if (!$form->isValidPartial($data)) {
 
         <programlisting role="php"><![CDATA[
 $json = $form->processAjax($data);
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             Entonces, puede simplemente enviar la respuesta JSON al cliente. Si el
@@ -1387,8 +1354,7 @@ $json = $form->processAjax($data);
         <programlisting role="php"><![CDATA[
 $codes = $form->getErrors();
 $messages = $form->getMessage();
-]]>
-        </programlisting>
+]]></programlisting>
 
         <note>
             <para>
@@ -1406,12 +1372,11 @@ $messages = $form->getMessage();
         <programlisting role="php"><![CDATA[
 $codes = $form->getErrors('username');
 $messages = $form->getMessages('username');
-]]>
-        </programlisting>
+]]></programlisting>
 
         <note>
             <para>
-                Nota: Cuando validamos elementos, <code>Zend_Form</code> envía un
+                Nota: Cuando validamos elementos, <classname>Zend_Form</classname> 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
@@ -1501,7 +1466,7 @@ $messages = $form->getMessages('username');
 
         <para>
             La siguiente lista es la lista completa de métodos disponibles para
-            <code>Zend_Form</code>, agrupados por tipo:
+            <classname>Zend_Form</classname>, agrupados por tipo:
         </para>
 
         <itemizedlist>
@@ -1695,7 +1660,7 @@ $messages = $form->getMessages('username');
         <title>Configuración</title>
 
         <para>
-            <code>Zend_Form</code> es totalmente configurable mediante
+            <classname>Zend_Form</classname> es totalmente configurable mediante
             <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,
@@ -1704,7 +1669,7 @@ $messages = $form->getMessages('username');
 
         <para>
             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á
+            métodos <classname>Zend_Form</classname>, 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
             <code>setAttrib()</code>.
@@ -1793,8 +1758,7 @@ decorators.elements.decorator = "FormElements"
 decorators.fieldset.decorator = "FieldSet"
 decorators.fieldset.decorator.options.class = "zend_form"
 decorators.form.decorator = "Form"
-]]>
-</programlisting>
+]]></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.
@@ -1806,7 +1770,7 @@ decorators.form.decorator = "Form"
 
         <para>
             Una alternativa a usar los formularios basados en configuraciones es realizar una subclase de
-            <code>Zend_Form</code>. Esto tiene muchos beneficios:
+            <classname>Zend_Form</classname>. Esto tiene muchos beneficios:
         </para>
 
         <itemizedlist>
@@ -1881,8 +1845,7 @@ class My_Form_Login extends Zend_Form
         ));
     }
 }
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             Este formulario puede ser instanciado simplemente así:
@@ -1890,8 +1853,7 @@ class My_Form_Login extends Zend_Form
 
         <programlisting role="php"><![CDATA[
 $form = new My_Form_Login();
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             y toda la funcionalidad está instalada y lista; no se necesitan archivos
@@ -1917,8 +1879,7 @@ class My_Form_Login extends Zend_Form
         ));
     }
 }
-]]>
-        </programlisting>
+]]></programlisting>
     </sect2>
 </sect1>
 <!--

+ 21 - 22
documentation/manual/es/module_specs/Zend_Form-I18n.xml

@@ -1,9 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15103 -->
+<!-- Reviewed: no -->
 <sect1 id="zend.form.i18n">
     <title>Internacionalización de Zend_Form</title>
 
     <para>
         Cada vez más, desarrolladores necesitan adaptar su contenido para multiples
-        idiomas y regiones. Zend_Form intenta hacer de ésta una tarea trivial, y
+        idiomas y regiones. <classname>Zend_Form</classname> intenta hacer de ésta una tarea trivial, y
         provee funcionalidad en ambas <link
             linkend="zend.translate">Zend_Translate</link> y <link
             linkend="zend.validate">Zend_Validate</link> para realizar esa funcionalidad.
@@ -11,9 +14,9 @@
 
     <para>
         Por defecto, no se realiza ninguna internacionalización (I18n). Para iniciar las caraterísticas
-        de I18n en <code>Zend_Form</code>, se necesitará instanciar un objeto
-        <code>Zend_Translate</code> con un adaptador apropiado, y
-        adjuntarlo a <code>Zend_Form</code> y/o <code>Zend_Validate</code>.
+        de I18n en <classname>Zend_Form</classname>, se necesitará instanciar un objeto
+        <classname>Zend_Translate</classname> con un adaptador apropiado, y
+        adjuntarlo a <classname>Zend_Form</classname> y/o <classname>Zend_Validate</classname>.
         Ver la <link linkend="zend.translate">documentación Zend_Translate
             </link> para más información sobre crear el objeto traducción
             y los archivos de traducción
@@ -36,9 +39,9 @@
 
         <para>
             Para poder inicializar I18n en formularios, se necesitará un objeto
-            <code>Zend_Translate</code> o un objeto
-            <code>Zend_Translate_Adapter</code>, como se detalló en la documentación
-            <code>Zend_Translate</code>.  Una vez que se tenga el
+            <classname>Zend_Translate</classname> o un objeto
+            <classname>Zend_Translate_Adapter</classname>, como se detalló en la documentación
+            <classname>Zend_Translate</classname>.  Una vez que se tenga el
             objeto traducción, existen varias opciones:
         </para>
 
@@ -54,13 +57,12 @@
                 <programlisting role="php"><![CDATA[
 // use la clave 'Zend_Translate'; $translate es un objeto Zend_Translate:
 Zend_Registry::set('Zend_Translate', $translate);
-]]>
-                </programlisting>
+]]></programlisting>
 
                 <para>
-                    Será recibido por <code>Zend_Form</code>,
-                    <code>Zend_Validate</code> y
-                    <code>Zend_View_Helper_Translate</code>.
+                    Será recibido por <classname>Zend_Form</classname>,
+                    <classname>Zend_Validate</classname> y
+                    <classname>Zend_View_Helper_Translate</classname>.
                 </para>
             </listitem>
 
@@ -68,19 +70,18 @@ Zend_Registry::set('Zend_Translate', $translate);
                 <para>
                     Si todo lo que le preocupa es traducir los mensajes de error de
                     validación, puede registrar el objeto traducción con
-                    <code>Zend_Validate_Abstract</code>:
+                    <classname>Zend_Validate_Abstract</classname>:
                 </para>
 
                 <programlisting role="php"><![CDATA[
 // Decir a todas las clases de validación que se use un adaptador especifico de traducción
 Zend_Validate_Abstract::setDefaultTranslator($translate);
-]]>
-                </programlisting>
+]]></programlisting>
             </listitem>
 
             <listitem>
                 <para>
-                    Alternativamente, se puede adjuntar al objeto <code>Zend_Form</code>
+                    Alternativamente, se puede adjuntar al objeto <classname>Zend_Form</classname>
                     como un traductor global. Tiene el mismo efecto que traduciendo los
                     mensajes de error de validación.
                 </para>
@@ -89,8 +90,7 @@ Zend_Validate_Abstract::setDefaultTranslator($translate);
 // Decir a todas las clases del formulario usar un adaptador especifico, así como también
 // use este adaptador para traducir mensajes de error de validación
 Zend_Form::setDefaultTranslator($translate);
-]]>
-                </programlisting>
+]]></programlisting>
             </listitem>
 
             <listitem>
@@ -110,8 +110,7 @@ $form->setTranslator($translate);
 // usado para traducir los mensajes de error de validación para este
 // elemento en particular:
 $element->setTranslator($translate);
-]]>
-                </programlisting>
+]]></programlisting>
             </listitem>
         </itemizedlist>
     </sect2>
@@ -129,7 +128,7 @@ $element->setTranslator($translate);
                 <para>
                     <emphasis>Mensajes de error de validación.</emphasis> Los mensajes
                     de error de validación pueden ser traducidos. Para hacerlo, use la variedad de
-                    constantes de códigos de error de <code>Zend_Validate</code>
+                    constantes de códigos de error de <classname>Zend_Validate</classname>
                     las clases de validación como los ID del mensaje. Para más información
                     sobre esos códigos, ver la documentación <link
                         linkend="zend.validate">Zend_Validate</link>.
@@ -171,7 +170,7 @@ $element->setTranslator($translate);
             <listitem>
                 <para>
                     <emphasis>Valores multi-opción.</emphasis> Para los
-                    múltiples items que heredan de <code>Zend_Form_Element_Multi</code>
+                    múltiples items que heredan de <classname>Zend_Form_Element_Multi</classname>
                     (incluyendo el MultiCheckbox, Multiselect y elementos
                     Radio), la valores de opciones (no claves) serán traducidos
                     si una traducción esta disponible; eso significa que las

+ 6 - 3
documentation/manual/es/module_specs/Zend_Form-Introduction.xml

@@ -1,8 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15103 -->
+<!-- Reviewed: no -->
 <sect1 id="zend.form.introduction">
     <title>Zend_Form</title>
 
     <para>
-        Zend_Form simplifica la creación y manejo de formularios en sus
+        <classname>Zend_Form</classname> simplifica la creación y manipulación de formularios en tus
         aplicaciones web. Cumple los siguientes objetivos:
     </para>
 
@@ -16,8 +19,8 @@
 
     <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>,
-        <code>Zend_Loader_PluginLoader</code> y, opcionalmente, <code>Zend_View</code>.
+        incluyendo <classname>Zend_Config</classname>, <classname>Zend_Validate</classname>, <classname>Zend_Filter</classname>,
+        <classname>Zend_Loader_PluginLoader</classname> y, opcionalmente, <classname>Zend_View</classname>.
     </para>
 </sect1>
 <!--

+ 51 - 74
documentation/manual/es/module_specs/Zend_Form-QuickStart.xml

@@ -1,9 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15103 -->
+<!-- Reviewed: no -->
 <sect1 id="zend.form.quickstart">
     <title>Inicio rápido a Zend_Form</title>
 
     <para>
         Esta guía rápida pretende cubrir los fundamentos para
-        crear, validar y presentar formularios usando <code>Zend_Form</code>
+        crear, validar y presentar formularios usando <classname>Zend_Form</classname>
     </para>
 
     <sect2 id="zend.form.quickstart.create">
@@ -11,19 +14,18 @@
 
         <para>
             Crear un objeto de formulario es muy simple: solo instancíe
-            <code>Zend_Form</code>
+            <classname>Zend_Form</classname>
         </para>
 
         <programlisting role="php"><![CDATA[
 $form = new Zend_Form;
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             Para casos de uso avanzados, es posible desee crear una subclase de
-            <code>Zend_Form</code>, pero para formularios simples, puede
+            <classname>Zend_Form</classname>, pero para formularios simples, puede
             programar la creación de un formulario usando un objeto
-            <code>Zend_Form</code>
+            <classname>Zend_Form</classname>
         </para>
 
         <para>
@@ -35,8 +37,7 @@ $form = new Zend_Form;
         <programlisting role="php"><![CDATA[
 $form->setAction('/resource/process')
      ->setMethod('post');
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             El código de arriba establece el action del formulario a la URL
@@ -53,17 +54,16 @@ $form->setAction('/resource/process')
 
         <programlisting role="php"><![CDATA[
 $form->setAttrib('id', 'login');
-]]>
-        </programlisting>
+]]></programlisting>
     </sect2>
 
     <sect2 id="zend.form.quickstart.elements">
         <title>Añadir elementos al formulario</title>
 
         <para>
-            Un formulario no es nada sin sus elementos. <code>Zend_Form</code>
+            Un formulario no es nada sin sus elementos. <classname>Zend_Form</classname>
             contiene de manera predeterminada algunos elementos que generan
-            XHTML vía auxiliares <code>Zend_View</code>. Son los
+            XHTML vía auxiliares <classname>Zend_View</classname>. Son los
             siguientes:
         </para>
 
@@ -116,7 +116,7 @@ $form->setAttrib('id', 'login');
         <para>
             Tiene dos opciones para añadir elementos a un formulario; puede
             instanciar elementos concretos y pasarlos como objetos, o
-            simplemente puede pasar el tipo de elemento y <code>Zend_Form</code>
+            simplemente puede pasar el tipo de elemento y <classname>Zend_Form</classname>
             instaciará por usted un objeto del tipo correspondiente.
         </para>
 
@@ -130,8 +130,7 @@ $form->addElement(new Zend_Form_Element_Text('username'));
 
 // Pasando el tipo de elemento del formulario al objeto form:
 $form->addElement('text', 'username');
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             De manera predeterminada, éstos no tienen validadores o filtros.
@@ -139,14 +138,14 @@ $form->addElement('text', 'username');
             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
-            <code>Zend_Form</code>, o (c) recuperar el elemento del objeto form
+            <classname>Zend_Form</classname>, o (c) recuperar el elemento del objeto form
             y configurándolo posteriormente.
         </para>
 
         <para>
             Veamos primero la creación de validadores para la instancia de
             un elemento concreto. Puede pasar objetos
-            <code>Zend_Validate_*</code> o el nombre de un validador para utilizar:
+            <classname>Zend_Validate_*</classname> o el nombre de un validador para utilizar:
         </para>
 
         <programlisting role="php"><![CDATA[
@@ -157,8 +156,7 @@ $username->addValidator(new Zend_Validate_Alnum());
 
 // Pasando el nombre de un validador:
 $username->addValidator('alnum');
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             Cuando se utiliza esta segunda opción, si el constructor del
@@ -169,8 +167,7 @@ $username->addValidator('alnum');
         <programlisting role="php"><![CDATA[
 // Pasando un patrón
 $username->addValidator('regex', false, array('/^[a-z]/i'));
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             (El segundo parámetro se utiliza para indicar si el fallo
@@ -187,8 +184,7 @@ $username->addValidator('regex', false, array('/^[a-z]/i'));
         <programlisting role="php"><![CDATA[
 // Hace este elemento requerido:
 $username->setRequired(true);
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             Cuando un elemento es requerido, un validador 'NotEmpty' (NoVacio)
@@ -204,8 +200,7 @@ $username->setRequired(true);
 
         <programlisting role="php"><![CDATA[
 $username->addFilter('StringtoLower');
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             Entonces, la configuración final de nuestro elemento queda así:
@@ -223,15 +218,14 @@ $username->addValidators(array('alnum',
     ))
     ->setRequired(true)
     ->addFilters(array('StringToLower'));
-]]>
-        </programlisting>
+]]></programlisting>
 
 
         <para>
             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
+            <classname>Zend_Form::addElement()</classname> 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:
@@ -246,13 +240,12 @@ $form->addElement('text', 'username', array(
     'required' => true,
     'filters'  => array('StringToLower'),
 ));
-]]>
-        </programlisting>
+]]></programlisting>
 
         <note><para>
             Si encuentra que está asignando elementos con las mismas opciones en
             varios lugares, podría considerar crear su propia subclase de
-            <code>Zend_Form_Element</code> y utilizar ésta; a largo plazo le
+            <classname>Zend_Form_Element</classname> y utilizar ésta; a largo plazo le
             permitirá escribir menos.
         </para></note>
     </sect2>
@@ -262,7 +255,7 @@ $form->addElement('text', 'username', array(
 
         <para>
             Generar un formulario es simple. La mayoría de los elementos
-            utilizan un auxiliar de <code>Zend_View</code> para generarse a sí
+            utilizan un auxiliar de <classname>Zend_View</classname> 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()
             del formulario, o simplemente mostrarlo con echo.
@@ -274,12 +267,11 @@ echo $form->render($view);
 
 // Suponiendo un objeto vista ha sido previamente establecido vía setView():
 echo $form;
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
-            De manera predeterminada, <code>Zend_Form</code> y
-            <code>Zend_Form_Element</code> intentarán utilizar el objeto vista
+            De manera predeterminada, <classname>Zend_Form</classname> y
+            <classname>Zend_Form_Element</classname> 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
             Zend Framework. Generar un formulario en un script vista es tan
@@ -287,17 +279,16 @@ echo $form;
         </para>
 
         <programlisting role="php"><![CDATA[
-<?php echo $this->form ?>
-]]>
-        </programlisting>
+<?php echo $this->form
+]]></programlisting>
 
         <para>
-            Detrás del telón, <code>Zend_Form</code> utiliza "decoradores"
+            Detrás del telón, <classname>Zend_Form</classname> utiliza "decoradores"
             (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
+            Predeterminadamente, <classname>Zend_Form_Element</classname> actualmente
             combina cuatro decoradores para obtener su salida; la configuración
             sería como sigue:
         </para>
@@ -309,8 +300,7 @@ $element->addDecorators(array(
     array('HtmlTag', array('tag' => 'dd')),
     array('Label', array('tag' => 'dt')),
 ));
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             (Donde &lt;HELPERNAME&gt; es el nombre de un view helper que
@@ -330,8 +320,7 @@ $element->addDecorators(array(
         <li>'123-abc' does not match against pattern '/^[a-z]/i'</li>
     </ul>
 </dd>
-]]>
-</programlisting>
+]]></programlisting>
 
         <para>
             (Aunque no con el mismo formato.)
@@ -359,8 +348,7 @@ $element->addDecorators(array(
 
         <programlisting role="php"><![CDATA[
 $element->setOrder(10);
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             O, cuando crea un elemento, pasándolo como una opción:
@@ -368,8 +356,7 @@ $element->setOrder(10);
 
         <programlisting role="php"><![CDATA[
 $form->addElement('text', 'username', array('order' => 10));
-]]>
-        </programlisting>
+]]></programlisting>
     </sect2>
 
     <sect2 id="zend.form.quickstart.validate">
@@ -394,8 +381,7 @@ if ($form->isValid($_POST)) {
 } else {
     // ¡Fallo!
 }
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             Con solicitudes AJAX, a veces puede ignorar la validación de un solo
@@ -412,8 +398,7 @@ if ($form->isValidPartial($_POST)) {
 } else {
     // uno u más elementos probados no pasaron las validaciones
 }
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             Un método adicional, <code>processAjax()</code>, puede también ser
@@ -429,8 +414,7 @@ if ($form->isValidPartial($_POST)) {
 
         <programlisting role="php"><![CDATA[
 $values = $form->getValues();
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             Si necesita los valores sin filtrar en algún punto, utilice:
@@ -438,8 +422,7 @@ $values = $form->getValues();
 
         <programlisting role="php"><![CDATA[
 $unfiltered = $form->getUnfilteredValues();
-]]>
-        </programlisting>
+]]></programlisting>
     </sect2>
 
     <sect2 id="zend.form.quickstart.errorstatus">
@@ -459,8 +442,7 @@ if (!$form->isValid($_POST)) {
     $this->view->form = $form;
     return $this->render('form');
 }
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             Si quiere inspeccionar los errores, tiene dos métodos.
@@ -499,7 +481,7 @@ if (!$form->isValid($_POST)) {
 
         <para>
             Usaremos el poder de la opciones de configuración de
-            <code>Zend_Form</code> para crear el formulario:
+            <classname>Zend_Form</classname> para crear el formulario:
         </para>
 
         <programlisting role="php"><![CDATA[
@@ -525,8 +507,7 @@ $form->addElement($username)
      ->addElement($password)
      // uso de addElement() como fábrica para crear el botón 'Login':
      ->addElement('submit', 'login', array('label' => 'Login'));
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             A continuación, vamos a crear un controlador para manejar esto:
@@ -564,8 +545,7 @@ class UserController extends Zend_Controller_Action
         // ahora intenta y autentica...
     }
 }
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             Y un script para la vista que muestra el formulario:
@@ -573,9 +553,8 @@ class UserController extends Zend_Controller_Action
 
 <programlisting role="php"><![CDATA[
 <h2>Please login:</h2>
-<?= $this->form ?>
-]]>
-</programlisting>
+<?php echo $this->form
+]]></programlisting>
 
         <para>
             Como notará en el código del controlador, hay más trabajo por hacer:
@@ -589,8 +568,8 @@ class UserController extends Zend_Controller_Action
         <title>Usando un objeto Zend_Config</title>
 
         <para>
-            Todas las clases <code>Zend_Form</code> son configurables mediante
-            <code>Zend_Config</code>; puede incluso pasar un objeto al
+            Todas las clases <classname>Zend_Form</classname> son configurables mediante
+            <classname>Zend_Config</classname>; 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
@@ -625,8 +604,7 @@ user.login.elements.password.options.required = true
 
 ; elemento submit
 user.login.elements.submit.type = "submit"
-]]>
-</programlisting>
+]]></programlisting>
 
         <para>
             Entonces puede pasarlo al constructor del formulario:
@@ -635,8 +613,7 @@ user.login.elements.submit.type = "submit"
         <programlisting role="php"><![CDATA[
 $config = new Zend_Config_Ini($configFile, 'development');
 $form   = new Zend_Form($config->user->login);
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             y el formulario entero será definido.
@@ -648,7 +625,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 <classname>Zend_Form</classname>. Continúe leyendo
             para profundizar más en el tema.
         </para>
     </sect2>

+ 19 - 21
documentation/manual/es/module_specs/Zend_Form-StandardDecorators.xml

@@ -1,8 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15103 -->
+<!-- Reviewed: no -->
 <sect1 id="zend.form.standardDecorators">
     <title>Decoradores de Formulario (Form Decorartors) estándar contenidos en Zend Framework</title>
 
     <para>
-        <code>Zend_Form</code> se distribuye con distintos decoradores estándar. Para más
+        <classname>Zend_Form</classname> se distribuye con distintos decoradores estándar. Para más
         información sobre el uso de decoradores en general, vea <link
             linkend="zend.form.decorators">la sección sobre decoradores</link>.
     </para>
@@ -28,8 +31,7 @@ class Util
         return '<span class="label">' . $element->getLabel() . "</span>";
     }
 }
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             Esta llamada de retorno se especificaría como <code>array('Util',
@@ -69,8 +71,8 @@ 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
-            <code>Zend_Form_DisplayGroup</code>; toma la descripción usando el método
+            de un elemento <classname>Zend_Form</classname>, <code>Zend_Form_Element</code>, o
+           <classname>Zend_Form_DisplayGroup</classname>; toma la descripción usando el método
             <code>getDescription()</code> del objeto.
         </para>
 
@@ -113,8 +115,7 @@ class Util
     <legend>Información de Usuario</legend>
     ...
 </fieldset></dd>
-]]>
-</programlisting>
+]]></programlisting>
 
         <para>
             Este decorador reemplaza el contenido que se le provee
@@ -159,7 +160,7 @@ 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
+            File es usado por <classname>Zend_Form_Element_File</classname> 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>
@@ -169,7 +170,7 @@ class Util
         <title>Zend_Form_Decorator_Form</title>
 
         <para>
-            Los objetos <code>Zend_Form</code> normalmente necesitan generar una etiqueta
+            Los objetos <classname>Zend_Form</classname> 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.
@@ -392,7 +393,7 @@ $form->setDecorators(array(
         <title>Zend_Form_Decorator_ViewHelper</title>
 
         <para>
-            La mayoría de los elementos utiliza helpers <code>Zend_View</code>
+            La mayoría de los elementos utiliza helpers <classname>Zend_View</classname>
             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,
@@ -468,27 +469,25 @@ $element->setDecorators(array(array('ViewScript', array(
 $element->viewScript = '_element.phtml';
 $element->setDecorators(array(array('ViewScript',
                                     array('class' => 'form element'))));
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             Un view script puede tener el siguiente aspecto:
         </para>
 
         <programlisting role="php"><![CDATA[
-<div class="<?= $this->class ?>">
-    <?= $this->formLabel($this->element->getName(),
+<div class="<?php echo  $this->class ?>">
+    <?php echo  $this->formLabel($this->element->getName(),
                          $this->element->getLabel()) ?>
-    <?= $this->{$this->element->helper}(
+    <?php echo  $this->{$this->element->helper}(
         $this->element->getName(),
         $this->element->getValue(),
         $this->element->getAttribs()
     ) ?>
-    <?= $this->formErrors($this->element->getMessages()) ?>
-    <div class="hint"><?= $this->element->getDescription() ?></div>
+    <?php echo  $this->formErrors($this->element->getMessages()) ?>
+    <div class="hint"><?php echo  $this->element->getDescription() ?></div>
 </div>
-]]>
-        </programlisting>
+]]></programlisting>
 
         <note>
             <title>Reemplazar contenido con un script de vista (view script)</title>
@@ -512,8 +511,7 @@ $element->getDecorator('ViewScript')->setOption('placement', false);
 
 // Dentro de un view script usado por un decorador:
 $this->decorator->setOption('placement', false);
-]]>
-            </programlisting>
+]]></programlisting>
         </note>
 
         <para>

+ 220 - 124
documentation/manual/es/module_specs/Zend_Form-StandardElements.xml

@@ -1,3 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15103 -->
+<!-- Reviewed: no -->
 <sect1 id="zend.form.standardElements">
     <title>Elementos Enviados en el Formulario Estandard de Zend Framework</title>
 
@@ -15,7 +18,7 @@
 
         <para>
             Usada para crear elementos HTML de tipo button,
-            <code>Zend_Form_Element_Button</code> extiende <link linkend="zend.form.standardElements.submit">Zend_Form_Element_Submit</link>,
+            <classname>Zend_Form_Element_Button</classname> extiende <link linkend="zend.form.standardElements.submit">Zend_Form_Element_Submit</link>,
             derivandi sy funcionalidad personalizada. It specifies the 'formButton'
             view helper for decoration.
         </para>
@@ -53,11 +56,11 @@
             <link linkend="zend.captcha.adapters">Zend_Captcha adapter</link> you
             wish to utilize as a form captcha. It then sets this adapter as a
             validator to the object, and uses a Captcha decorator for rendering
-            (which proxies to the captcha adapter).
+            (which proxies to the CAPTCHA adapter).
         </para>
 
         <para>
-            Adapters may be any adapters in <code>Zend_Captcha</code>, as well
+            Adapters may be any adapters in <classname>Zend_Captcha</classname>, as well
             as any custom adapters you may have defined elsewhere. To allow
             this, you may pass an additional plugin loader type key, 'CAPTCHA'
             or 'captcha', when specifying a plugin loader prefix path:
@@ -65,13 +68,12 @@
 
         <programlisting role="php"><![CDATA[
 $element->addPrefixPath('My_Captcha', 'My/Captcha/', 'captcha');
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             Los Captcha entonces pueden ser cargados usando el método
             <code>setCaptcha()</code>, el cual puede tomar una instancia
-            cualquiera de captcha instance, o el nombre corto del adaptador
+            cualquiera de CAPTCHA instance, o el nombre corto del adaptador
             captcha:
         </para>
 
@@ -81,8 +83,7 @@ $element->setCaptcha(new Zend_Captcha_Figlet());
 
 // Usando nombre corto:
 $element->setCaptcha('Dumb');
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             Si desea cargar sus elementos configuración, especifique la clave
@@ -111,8 +112,7 @@ $element = new Zend_Form_Element_Captcha('foo', array(
         'timeout' => 300,
     ),
 ));
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             El decorador usado es determinado consultando el adaptador captcha.
@@ -123,7 +123,7 @@ $element = new Zend_Form_Element_Captcha('foo', array(
         </para>
 
         <para>
-            Como ha notado, el adaptador captcha actúa él mismo como un validador
+            Como ha notado, el adaptador CAPTCHA actúa él mismo como un validador
             para el elemento. Adicionalmente, el validador NotEmpty
             no es usado y el elemento es marcado como requerido. En la mayoría de
             los casos, usted no necesitará hacer nada más para tener un captcha
@@ -137,7 +137,8 @@ $element = new Zend_Form_Element_Captcha('foo', array(
         <para>
             Las casillas de verificación (checkboxes) HTML le permiten devolver
             un valor específico, pero básicamente funcionan como los booleanos:
-            cuando está marcada, el valor es enviado; cuando no está marcada, no                     se envía nada. Internamente, Zend_Form_Element_Checkbox fuerza este
+            cuando está marcada, el valor es enviado; cuando no está marcada, no
+            se envía nada. Internamente, Zend_Form_Element_Checkbox fuerza este
             estado.
         </para>
 
@@ -162,7 +163,7 @@ $element = new Zend_Form_Element_Captcha('foo', array(
         </para>
 
         <para>
-            <code>Zend_Form_Element_Checkbox</code> uses the 'formCheckbox' view
+            <classname>Zend_Form_Element_Checkbox</classname> uses the 'formCheckbox' view
             helper. The checked value is always used to populate it.
         </para>
     </sect2>
@@ -204,8 +205,7 @@ $element->addValidator('Size', false, 102400);
 // only JPEG, PNG, and GIFs
 $element->addValidator('Extension', false, 'jpg,png,gif');
 $form->addElement($element, 'foo');
-]]>
-            </programlisting>
+]]></programlisting>
 
             <para>
                 También debe asegurarse de que se ha provisto un tipo de
@@ -216,14 +216,12 @@ $form->addElement($element, 'foo');
 
             <programlisting role="php"><![CDATA[
 $form->setAttrib('enctype', 'multipart/form-data');
-]]>
-            </programlisting>
+]]></programlisting>
 
             <para>
-                Cuando el atributo ha sido validado exitosamente, usted debe
-                recibir el archivo para almacenarlo en el destino final
-                usando receive(). Adicionalmente, puede determinar la
-                ubicación final usando getFileName():
+                After the form is validated successfully, you must receive the file
+                to store it in the final destination using <code>receive()</code>. Additionally you
+                can determinate the final location using <code>getFileName()</code>:
             </para>
 
             <programlisting role="php"><![CDATA[
@@ -236,8 +234,7 @@ if (!$form->foo->receive()) {
 }
 
 $location = $form->foo->getFileName();
-]]>
-            </programlisting>
+]]></programlisting>
 
         </example>
 
@@ -262,8 +259,110 @@ $location = $form->foo->getFileName();
             </para>
         </note>
 
+                <para>
+            Per default the file will automatically be received when you call
+            <code>getValues()</code> on the form. The reason behind this behaviour is, that the
+            file itself is the value of the file element.
+        </para>
+
+        <programlisting role="php"><![CDATA[
+$form->getValues();
+]]></programlisting>
+
+        <note>
+            <para>
+                Therefor another call of <code>receive()</code> after calling
+                <code>getValues()</code> will not have an effect. Also creating a instance of
+                <classname>Zend_File_Transfer</classname> will not have an effect as there no file anymore
+                to receive.
+            </para>
+        </note>
+
         <para>
-            <code>Zend_Form_Element_File</code> soporta también archivos
+            Still, sometimes you may want to call <code>getValues()</code> without receiving the
+            file. You can archive this by calling <code>setValueDisabled(true)</code>. To get the
+            actual value of this flag you can call <code>isValueDisabled()</code>.
+        </para>
+
+        <example id="zend.form.standardElements.file.retrievement">
+            <title>Explicit file retrievement</title>
+
+            <para>
+                First call <code>setValueDisabled(true)</code>.
+            </para>
+
+            <programlisting role="php"><![CDATA[
+$element = new Zend_Form_Element_File('foo');
+$element->setLabel('Upload an image:')
+        ->setDestination('/var/www/upload')
+        ->setValueDisabled(true);
+]]></programlisting>
+
+            <para>
+                Now the file will not be received when you call <code>getValues()</code>.
+                So you must call <code>receive()</code> on the file element, or an instance of
+                <classname>Zend_File_Transfer</classname> yourself.
+            </para>
+
+            <programlisting role="php"><![CDATA[
+$values = $form->getValues();
+
+if ($form->isValid($form->getPost())) {
+    if (!$form->foo->receive()) {
+        print "Upload error";
+    }
+}
+]]></programlisting>
+        </example>
+
+        <para>
+            There are several states of the uploaded file which can be checked
+            with the following methods:
+        </para>
+
+        <itemizedlist>
+            <listitem>
+                <para>
+                    <code>isUploaded()</code>: Checks if the file element has
+                    been uploaded or not.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <code>isReceived()</code>: Checks if the file element has
+                    already been received.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <code>isFiltered()</code>: Checks if the filters have already
+                    been applied to the file element or not.
+                </para>
+            </listitem>
+        </itemizedlist>
+
+        <example id="zend.form.standardElements.file.isuploaded">
+            <title>Checking if an optional file has been uploaded</title>
+
+            <programlisting role="php"><![CDATA[
+$element = new Zend_Form_Element_File('foo');
+$element->setLabel('Upload an image:')
+        ->setDestination('/var/www/upload')
+        ->setRequired(false);
+$element->addValidator('Size', false, 102400);
+$form->addElement($element, 'foo');
+
+// The foo file element is optional but when it's given go into here
+if ($form->foo->isUploaded()) {
+    // foo file given... do something
+}
+]]></programlisting>
+        </example>
+
+        <para>
+            <classname>Zend_Form_Element_File</classname> soporta también archivos
             múltiples. Para llamar el método <code>setMultiFile($count)</code>
             usted puede establecer la cantidad de elementos file que usted desea
             crear. Esto le previene de establecer la misma configuración varias
@@ -292,8 +391,7 @@ $element->addValidator('Extension', false, 'jpg,png,gif');
 // define 3 elementos file idénticos
 $element->setMultiFile(3);
 $form->addElement($element, 'foo');
-]]>
-            </programlisting>
+]]></programlisting>
 
             <para>
                 En su vista usted ahora obtendrá 3 elementos para carga de
@@ -305,7 +403,7 @@ $form->addElement($element, 'foo');
         </example>
 
         <note>
-            <title>Elementos File en Subformularioss</title>
+            <title>Elementos File en Subformularios</title>
 
             <para>
                 Cuando usted use elementos file en subformularios debería
@@ -337,8 +435,7 @@ $element->setLabel('Upload an image:')
         ->addValidator('Size', false, 102400) // límite en 100K
         ->setMaxFileSize(102400); // limita el tamaño del archivo en el lado del cliente
 $form->addElement($element, 'foo');
-]]>
-        </programlisting>
+]]></programlisting>
 
         <note>
             <title>MaxFileSize con elementos file múltiples</title>
@@ -363,7 +460,7 @@ $form->addElement($element, 'foo');
         <para>
             Los elementos Hidden simplemente inyectan datos que deben ser
             enviados, pero que el usuario no debe manipular.
-            <code>Zend_Form_Element_Hidden</code> logra esto a través del uso del helper de vista 'formHidden'.
+            <classname>Zend_Form_Element_Hidden</classname> logra esto a través del uso del helper de vista 'formHidden'.
         </para>
     </sect2>
 
@@ -386,8 +483,7 @@ $form->addElement($element, 'foo');
 
         <programlisting role="php"><![CDATA[
 $form->addElement('hash', 'no_csrf_foo', array('salt' => 'unique'));
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
             Puede establecer el salt más tarde usando el método
@@ -418,7 +514,7 @@ $form->addElement('hash', 'no_csrf_foo', array('salt' => 'unique'));
 
         <para>
             Los elementos Image necesitan una imagen fuente.
-            <code>Zend_Form_Element_Image</code>  le permite especificar esto
+            <classname>Zend_Form_Element_Image</classname>  le permite especificar esto
             usando el método de acceso <code>setImage()</code>
             (o clave de configuración 'image'). Opcionalmente, también puede
             especificar un valor para utilizar al momento de enviar la imagen
@@ -449,7 +545,7 @@ $form->addElement('hash', 'no_csrf_foo', array('salt' => 'unique'));
         </para>
 
         <para>
-            <code>Zend_Form_Element_MultiCheckbox</code> hace esto sencillo. Like
+            <classname>Zend_Form_Element_MultiCheckbox</classname> hace esto sencillo. Like
             all other elements extending the base Multi element, you can specify
             a list of options, and easily validate against that same list. The
             'formMultiCheckbox' view helper ensures that these are returned as
@@ -457,17 +553,17 @@ $form->addElement('hash', 'no_csrf_foo', array('salt' => 'unique'));
         </para>
 
         <para>
-            By default, this element registers an <code>InArray</code> validator
-            which validates against the array keys of registered options. You
-            can disable this behavior by either calling
-            <code>setRegisterInArrayValidator(false)</code>, or by passing a
-            false value to the <code>registerInArrayValidator</code>
-            configuration key.
+            Por defecto, este elemnto requiere un validador <code>InArray</code>
+            el cual valida contra el array de llaves de las opciones registradas. Se
+            puede desactivar esta caracteristica llamando a
+            <code>setRegisterInArrayValidator(false)</code>, o pasando un
+            valor falso a la configuración de llaves
+            <code>registerInArrayValidator</code>.
         </para>
 
         <para>
-            You may manipulate the various checkbox options using the following
-            methods:
+            Se puede manipular las opciones de checkbox usando los siguinetes
+            métodos:
         </para>
 
         <itemizedlist>
@@ -488,9 +584,9 @@ $form->addElement('hash', 'no_csrf_foo', array('salt' => 'unique'));
         </itemizedlist>
 
         <para>
-            To mark checked items, you need to pass an array of values to
-            <code>setValue()</code>. The following will check the values "bar"
-            and "bat":
+            Para marcar los valores confirmados, se necesita pasar un array de valores a
+            <code>setValue()</code>. El siguiente código verificará los valores "bar"
+            y "bat":
         </para>
 
         <programlisting role="php"><![CDATA[
@@ -504,11 +600,10 @@ $element = new Zend_Form_Element_MultiCheckbox('foo', array(
 ));
 
 $element->setValue(array('bar', 'bat'));
-]]>
-        </programlisting>
+]]></programlisting>
 
         <para>
-            Note that even when setting a single value, you must pass an array.
+            Note que cuando se determina un asimple variable, se debe pasar un array.
         </para>
     </sect2>
 
@@ -516,14 +611,14 @@ $element->setValue(array('bar', 'bat'));
         <title>Zend_Form_Element_Multiselect</title>
 
         <para>
-            XHTML <code>select</code> elements allow a 'multiple' attribute,
-            indicating multiple options may be selected for submission, instead
-            of the usual one. <code>Zend_Form_Element_Multiselect</code> extends
+            XHTML <code>selector</code> de elementos permite 'multiple' atributos,
+            indicando multiples opciones pueden ser seleccionados por submision, en vez
+            de lo usual. <classname>Zend_Form_Element_Multiselect</classname> extiende
             <link linkend="zend.form.standardElements.select">Zend_Form_Element_Select</link>,
-            and sets the <code>multiple</code> attribute to 'multiple'. Like
-            other classes that inherit from the base
-            <code>Zend_Form_Element_Multi</code> class, you can manipulate the
-            options for the select using:
+            y define los atributos <code>multiple</code> a 'multiple'. Como las otras
+            clases que heredan de la clase base
+            <classname>Zend_Form_Element_Multi</classname>, se puede manipular las
+            opciones del selector usando:
         </para>
 
         <itemizedlist>
@@ -544,17 +639,17 @@ $element->setValue(array('bar', 'bat'));
         </itemizedlist>
 
         <para>
-            If a translation adapter is registered with the form and/or element,
-            option values will be translated for display purposes.
+            Si un adaptador de tranducción es registrado con el formulario y/o elemnto,
+            la opción valores será traducido para propósito de despliegue.
         </para>
 
         <para>
-            By default, this element registers an <code>InArray</code> validator
-            which validates against the array keys of registered options. You
-            can disable this behavior by either calling
-            <code>setRegisterInArrayValidator(false)</code>, or by passing a
-            false value to the <code>registerInArrayValidator</code>
-            configuration key.
+            Por defecto, este elemento registra un validador <code>InArray</code>
+            el cual valida contra el array de llaves de opciones registradas. se puede
+            deshabilitar esta caracteristica llamando a
+            <code>setRegisterInArrayValidator(false)</code>, o pasando
+            un valor falso a la configuracion de llaves
+            <code>registerInArrayValidator</code>.
         </para>
     </sect2>
 
@@ -562,17 +657,17 @@ $element->setValue(array('bar', 'bat'));
         <title>Zend_Form_Element_Password</title>
 
         <para>
-            Password elements are basically normal text elements -- except that
-            you typically do not want the submitted password displayed in error
-            messages or the element itself when the form is re-displayed.
+            Elementos contraseña son basicamente elementos de texto -- excepto que
+            tipicamente no se quiera desplegar la contraseña en los mensajes de
+            error o del elemnto en si cuando el formulario es re desplegado.
         </para>
 
         <para>
-            <code>Zend_Form_Element_Password</code> achieves this by calling
-            <code>setObscureValue(true)</code> on each validator (ensuring that
-            the password is obscured in validation error messages), and using
-            the 'formPassword' view helper (which does not display the value
-            passed to it).
+            <classname>Zend_Form_Element_Password</classname> archiva esto llamando
+            <code>setObscureValue(true)</code> en cada validador (asegurando que
+            la contraseña este oculta en mensajes de validación de errores), y usando
+            la vista ayuda 'formPassword' (el cual no desplega el valor
+            pasado).
         </para>
     </sect2>
 
@@ -580,26 +675,27 @@ $element->setValue(array('bar', 'bat'));
         <title>Zend_Form_Element_Radio</title>
 
         <para>
-            Radio elements allow you to specify several options, of which you
-            need a single value returned. <code>Zend_Form_Element_Radio</code>
-            extends the base <code>Zend_Form_Element_Multi</code> class,
-            allowing you to specify a number of options, and then uses the
-            <code>formRadio</code> view helper to display these.
+            elementos de Radio permite especificar muchas opciones, de los cuales
+            se necesita retornar un solo valor. <classname>Zend_Form_Element_Radio</classname>
+            extiende la clase base <classname>Zend_Form_Element_Multi</classname>,
+            permitiendonos especificar un numero de opciones, y luego usa la
+            vista ayuda <code>formRadio</code> para desplegar.
         </para>
 
         <para>
-            By default, this element registers an <code>InArray</code> validator
-            which validates against the array keys of registered options. You
-            can disable this behavior by either calling
-            <code>setRegisterInArrayValidator(false)</code>, or by passing a
-            false value to the <code>registerInArrayValidator</code>
+            Por defecto, este elemento registra un validador <code>InArray</code>
+            el cual valida contra el array de llaves de opciones registradas. se puede
+            deshabilitar esta caracteristica llamando a
+            <code>setRegisterInArrayValidator(false)</code>, o pasando
+            un valor falso a la configuracion de llaves
+            <code>registerInArrayValidator</code>.
             configuration key.
         </para>
 
         <para>
-            Like all elements extending the Multi element base class, the
-            following methods may be used to manipulate the radio options
-            displayed:
+            Como todos los elementos se extienden del elemento clase base Multi,
+            los siguientes métodos pueden ser usados para manipular las opciones de radio
+            desplegadas:
         </para>
 
         <itemizedlist>
@@ -624,17 +720,17 @@ $element->setValue(array('bar', 'bat'));
         <title>Zend_Form_Element_Reset</title>
 
         <para>
-            Reset buttons are typically used to clear a form, and are not part
-            of submitted data. However, as they serve a purpose in the display,
-            they are included in the standard elements.
+            Botones Reset son tipicamente usados para limpiar un formulario, y no son parte
+            de la información sometida. Como sea, como ellos sirven como propósito en el despliegue,
+            son incluidos en los elementos estándar.
         </para>
 
         <para>
-            <code>Zend_Form_Element_Reset</code> extends <link linkend="zend.form.standardElements.submit">Zend_Form_Element_Submit</link>.
-            As such, the label is used for the button display, and will be
-            translated if a translation adapter is present. It utilizes only the
-            'ViewHelper' and 'DtDdWrapper' decorators, as there should never be
-            error messages for such elements, nor will a label be necessary.
+            <classname>Zend_Form_Element_Reset</classname> extends <link linkend="zend.form.standardElements.submit">Zend_Form_Element_Submit</link>.
+            Tal cual, la etiqueta es usada para desplegar el botón y será
+            traducido si el adaptador traducción esta presente. Se utiliza sólo los
+            decoradores 'ViewHelper' y 'DtDdWrapper', nunca debería existir
+            mensajes de error para tales elementos, no se necesitará una etiqueta.
         </para>
     </sect2>
 
@@ -642,23 +738,24 @@ $element->setValue(array('bar', 'bat'));
         <title>Zend_Form_Element_Select</title>
 
         <para>
-            Select boxes are a common way of limiting to specific choices for a
-            given form datum. <code>Zend_Form_Element_Select</code> allows you
-            to generate these quickly and easily.
+            Cajas selectoras son una manera común de limitar espeficias opciones
+            para un dado formulario datum. <classname>Zend_Form_Element_Select</classname> le permite
+            generar esto rápido y fácil.
         </para>
 
         <para>
-            By default, this element registers an <code>InArray</code> validator
-            which validates against the array keys of registered options. You
-            can disable this behavior by either calling
-            <code>setRegisterInArrayValidator(false)</code>, or by passing a
-            false value to the <code>registerInArrayValidator</code>
+            Por defecto, este elemento registra un validador <code>InArray</code>
+            el cual valida contra el array de llaves de opciones registradas. se puede
+            deshabilitar esta caracteristica llamando a
+            <code>setRegisterInArrayValidator(false)</code>, o pasando
+            un valor falso a la configuracion de llaves
+            <code>registerInArrayValidator</code>.
             configuration key.
         </para>
 
         <para>
-            As it extends the base Multi element, the following methods may be
-            used to manipulate the select options:
+            Como se extiende el elemento base Multi, los siguientes métodos pueden ser
+            usados para manipular las opciones seleccionadas:
         </para>
 
         <itemizedlist>
@@ -679,8 +776,8 @@ $element->setValue(array('bar', 'bat'));
         </itemizedlist>
 
         <para>
-            <code>Zend_Form_Element_Select</code> uses the 'formSelect' view
-            helper for decoration.
+            <classname>Zend_Form_Element_Select</classname> usa la vista ayuda 'formSelect'
+            para decoración.
         </para>
     </sect2>
 
@@ -691,7 +788,7 @@ $element->setValue(array('bar', 'bat'));
             Submit buttons are used to submit a form. You may use multiple
             submit buttons; you can use the button used to submit the form to
             decide what action to take with the data submitted.
-            <code>Zend_Form_Element_Submit</code> makes this decisioning easy,
+            <classname>Zend_Form_Element_Submit</classname> makes this decisioning easy,
             by adding a <code>isChecked()</code> method; as only one button
             element will be submitted by the form, after populating or
             validating the form, you can call this method on each submit button
@@ -699,18 +796,18 @@ $element->setValue(array('bar', 'bat'));
         </para>
 
         <para>
-            <code>Zend_Form_Element_Submit</code> uses the label as the "value"
-            of the submit button, translating it if a translation adapter is
-            present. <code>isChecked()</code> checks the submitted value against
-            the label in order to determine if the button was used.
+            <classname>Zend_Form_Element_Submit</classname> usa la etiqueta como el "valor"
+            del botón sometido, traduciendolo si el adaptador traducción esta
+            presente. <code>isChecked()</code> verifica el valor sometido contra
+            la etiqueta en orden to determinar si el botón ha sido usado.
         </para>
 
         <para>
-            The <link linkend="zend.form.standardDecorators.viewHelper">ViewHelper</link>
-            and <link linkend="zend.form.standardDecorators.dtDdWrapper">DtDdWrapper</link>
-            decorators to render the element. No label decorator is used, as the
-            button label is used when rendering the element; also, typically,
-            you will not associate errors with a submit element.
+            El <link linkend="zend.form.standardDecorators.viewHelper">ViewHelper</link>
+            y <link linkend="zend.form.standardDecorators.dtDdWrapper">DtDdWrapper</link>
+            decoradores generan al elemento. no decorador de etiquetas es usado, como el
+            botón etiqueta es usado cuando se generan los elementos; asi tipicamente,
+            no se asociarán errores con el elemnto sometido.
         </para>
     </sect2>
 
@@ -718,10 +815,10 @@ $element->setValue(array('bar', 'bat'));
         <title>Zend_Form_Element_Text</title>
 
         <para>
-            By far the most prevalent type of form element is the text element,
-            allowing for limited text entry; it's an ideal element for most data
-            entry. <code>Zend_Form_Element_Text</code> simply uses the
-            'formText' view helper to display the element.
+            Lejos el mas prevaleciente tipo de formulario es el elemento texto,
+            permitido para entrada de texto limitado; es un elemento ideal para la
+            entrada de la información. <classname>Zend_Form_Element_Text</classname> simplemente usa la
+            vista ayuda 'formText' para desplegar el elemento.
         </para>
     </sect2>
 
@@ -729,12 +826,11 @@ $element->setValue(array('bar', 'bat'));
         <title>Zend_Form_Element_Textarea</title>
 
         <para>
-            Textareas are used when large quantities of text are expected, and
-            place no limits on the amount of text submitted (other than maximum
-            size limits as dictated by your server or PHP).
-            <code>Zend_Form_Element_Textarea</code> uses the 'textArea' view
-            helper to display such elements, placing the value as the content of
-            the element.
+            Textareas son usadas cuando se espera una larga cantidad de texto y
+            no limites en la cantidad de texto sometido ( otro que el máximo tamaño
+            tomado por su servidor or PHP).
+            <classname>Zend_Form_Element_Textarea</classname> usa la vista ayuda 'textArea'
+            para desplegar tales elementos, ocupando el valor como el contendio del elemento.
         </para>
     </sect2>
 </sect1>

+ 5 - 2
documentation/manual/es/module_specs/Zend_Layout-Introduction.xml

@@ -1,8 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15103 -->
+<!-- Reviewed: no -->
 <sect1 id="zend.layout.introduction">
     <title>Introducción</title>
 
     <para>
-        <code>Zend_Layout</code> implementa un patrón clásico "Vista en dos
+        <classname>Zend_Layout</classname> 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
@@ -11,7 +14,7 @@
     </para>
 
     <para>
-        Los objetivos principales de <code>Zend_Layout</code> son los
+        Los objetivos principales de <classname>Zend_Layout</classname>> son los
         siguientes:
     </para>
 

+ 18 - 21
documentation/manual/es/module_specs/Zend_Loader.xml

@@ -1,4 +1,6 @@
-<!-- versión 12819 -->
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15103 -->
+<!-- Reviewed: no -->
 <sect1 id="zend.loader.load">
 
     <title>Cargando archivos y clases dinámicamente</title>
@@ -11,11 +13,11 @@
     <tip>
         <title>Zend_Loader vs. require_once()</title>
         <para>
-            Los métodos de <code>Zend_Loader</code> tienen más utilidad si el
+            Los métodos de <classname>Zend_Loader</classname> 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
+            hay ningún beneficio al usar <classname>Zend_Loader</classname> sobre el uso
             de funciones tradicionales de PHP como
             <ulink url="http://php.net/require_once"><code>require_once()</code></ulink>.
         </para>
@@ -26,7 +28,7 @@
         <title>Cargando Archivos</title>
 
         <para>
-            El método estático <code>Zend_Loader::loadFile()</code> carga un archivo
+            El método estático <classname>Zend_Loader::loadFile()</classname> carga un archivo
             PHP. El archivo cargado puede contener cualquier código PHP.
             El método se comporta como un envoltorio para la función PHP
             <ulink url="http://php.net/include"><code>include()</code></ulink>.
@@ -38,8 +40,7 @@
             <title>Ejemplo del Método loadFile()</title>
             <programlisting role="php"><![CDATA[
 Zend_Loader::loadFile($filename, $dirs=null, $once=false);
-]]>
-            </programlisting>
+]]></programlisting>
     </example>
 
         <para>
@@ -60,7 +61,7 @@ Zend_Loader::loadFile($filename, $dirs=null, $once=false);
 
         <para>
             El argumento <code>$once</code> es un booleano.  Si es <code>TRUE</code>,
-            <code>Zend_Loader::loadFile()</code> esa la función PHP
+            <classname>Zend_Loader::loadFile()</classname> esa la función PHP
             <ulink url="http://php.net/include"><code>include_once()</code></ulink>
             para cargar el archivo, de lo contrario se utiliza la función PHP
             <ulink url="http://php.net/include_once"><code>include()</code></ulink>.
@@ -86,8 +87,7 @@ Zend_Loader::loadClass('Container_Tree',
         '/home/production/myapp'
     )
 );
-]]>
-            </programlisting>
+]]></programlisting>
         </example>
 
         <para>
@@ -98,7 +98,7 @@ Zend_Loader::loadClass('Container_Tree',
 
         <para>
             Si <code>$dirs</code> es una cadena o un array,
-            <code>Zend_Loader::loadClass()</code> busca las carpetas en el
+            <classname>Zend_Loader::loadClass()</classname> 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.
@@ -110,7 +110,7 @@ Zend_Loader::loadClass('Container_Tree',
         </para>
 
         <para>
-            <code>Zend_Loader::loadFile()</code> se usa para cargar, así que
+            <classname>Zend_Loader::loadFile()</classname> se usa para cargar, así que
             el nombre de la clase puede contener únicamente caracteres alfanuméricos,
             guiones ('-'), barras bajas ('_'), y puntos ('.').
         </para>
@@ -122,7 +122,7 @@ Zend_Loader::loadClass('Container_Tree',
         <title>Comprobando si un Archivo Puede Ser Leído</title>
 
         <para>
-            El método estático <code>Zend_Loader::isReadable($pathname)</code>
+            El método estático <classname>Zend_Loader::isReadable($pathname)</classname>
             devuelve <code>TRUE</code> si el archivo en la ruta $pathname existe
             y tiene permisos de lectura, <code>FALSE</code> en caso contrario.
         </para>
@@ -133,8 +133,7 @@ Zend_Loader::loadClass('Container_Tree',
 if (Zend_Loader::isReadable($filename)) {
     // hace algo con $filename
 }
-]]>
-            </programlisting>
+]]></programlisting>
         </example>
 
         <para>
@@ -153,9 +152,9 @@ if (Zend_Loader::isReadable($filename)) {
         <title>Usando el Autoloader</title>
 
         <para>
-            La clase <code>Zend_Loader</code> contiene un método que se puede registrar
+            La clase <classname>Zend_Loader</classname> contiene un método que se puede registrar
             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
+            callback.  Por comodidad, <classname>Zend_Loader</classname> permite a la función
             <code>registerAutoload()</code> registrar su método
             <code>autoload()</code>.  Si la extensión <code>spl_autoload</code>
             no está presente en el entorno PHP, entonces el método
@@ -166,8 +165,7 @@ if (Zend_Loader::isReadable($filename)) {
             <title>Ejemplo de registro del método callback del autoloader</title>
             <programlisting role="php"><![CDATA[
 Zend_Loader::registerAutoload();
-]]>
-            </programlisting>
+]]></programlisting>
         </example>
 
         <para>
@@ -178,7 +176,7 @@ Zend_Loader::registerAutoload();
         </para>
 
         <para>
-            Si ha extendido la clase <code>Zend_Loader</code>, se puede pasar un
+            Si ha extendido la clase <classname>Zend_Loader</classname>, 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>.
         </para>
@@ -215,8 +213,7 @@ class My_Loader extends Zend_Loader
 }
 
 Zend_Loader::registerAutoload('My_Loader');
-]]>
-            </programlisting>
+]]></programlisting>
         </example>
 
         <para>

+ 1 - 1
documentation/manual/es/module_specs/Zend_Tool_Framework-CliTool.xml

@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version="1.0" encoding="UTF-8"?>
 <!-- EN-Revision: 15103 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.tool.framework.clitool">

+ 1 - 1
documentation/manual/es/module_specs/Zend_Tool_Framework-WritingProviders.xml

@@ -1,4 +1,4 @@
-<?xml version="1.0" encoding="UTF-8"?>
+<?xml version="1.0" encoding="UTF-8"?>
 <!-- EN-Revision: 15103 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.tool.framework.writing-providers">

+ 27 - 29
documentation/manual/es/module_specs/Zend_Validate-EmailAddress.xml

@@ -1,16 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15103 -->
+<!-- Reviewed: no -->
 <sect2 id="zend.validate.set.email_address">
 
     <title>Dirección de Email</title>
 
     <para>
-        <code>Zend_Validate_EmailAddress</code> Le permite validar una dirección
+        <classname>Zend_Validate_EmailAddress</classname> 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
         conocidas para direcciones y nombres de host para el correo electrónico.
     </para>
 
     <para>
-        <emphasis role="strong">Utilización básica</emphasis>
+        <emphasis>Utilización básica</emphasis>
     </para>
 
     <para>
@@ -26,19 +29,18 @@ if ($validator->isValid($email)) {
         echo "$message\n";
     }
 }
-]]>
-        </programlisting>
+]]></programlisting>
 
         Esto coincide con el correo electrónico <code>$email</code> y si fracasa,
         alimenta <code>$validator->getMessages()</code> con mensajes de error útiles.
     </para>
 
     <para>
-        <emphasis role="strong">Partes locales complejas</emphasis>
+        <emphasis>Partes locales complejas</emphasis>
     </para>
 
     <para>
-        <code>Zend_Validate_EmailAddress</code> se comparará con cualquier
+        <classname>Zend_Validate_EmailAddress</classname> 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
@@ -52,21 +54,21 @@ if ($validator->isValid($email)) {
     </para>
 
     <para>
-        <emphasis role="strong">Validar diferentes tipos de nombres de host</emphasis>
+        <emphasis>Validar diferentes tipos de nombres de host</emphasis>
     </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>.
+        <link linkend="zend.validate.set.hostname"><classname>Zend_Validate_Hostname</classname></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>
+        Para ello necesita instanciar a <classname>Zend_Validate_EmailAddress</classname>
         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>,
+        Más detalles están incluidos en <classname>Zend_Validate_EmailAddress</classname>,
         aunque abajo hay un ejemplo de cómo aceptar tanto nombres de host DNS y
         locales:
 
@@ -82,12 +84,11 @@ if ($validator->isValid($email)) {
         echo "$message\n";
     }
 }
-]]>
-        </programlisting>
+]]></programlisting>
     </para>
 
     <para>
-        <emphasis role="strong">Verificar si el nombre de host realmente acepta email</emphasis>
+        <emphasis>Verificar si el nombre de host realmente acepta email</emphasis>
     </para>
 
     <para>
@@ -104,13 +105,12 @@ if ($validator->isValid($email)) {
         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>.
+        constructor <classname>Zend_Validate_EmailAddress</classname>.
 
         <programlisting role="php"><![CDATA[
 $validator = new Zend_Validate_EmailAddress(Zend_Validate_Hostname::ALLOW_DNS,
                                             true);
-]]>
-        </programlisting>
+]]></programlisting>
         Alternativamente, para activar o desactivar la validación MX puede pasar
         <code>true</code> o <code>false</code> a <code>$validator->setValidateMx()</code>.
     </para>
@@ -123,23 +123,22 @@ $validator = new Zend_Validate_EmailAddress(Zend_Validate_Hostname::ALLOW_DNS,
     </para>
 
     <para>
-        <emphasis role="strong">Validating International Domains Names</emphasis>
+        <emphasis>Validating International Domains Names</emphasis>
     </para>
 
     <para>
-        <code>Zend_Validate_EmailAddress</code> también comparará caracteres
+        <classname>Zend_Validate_EmailAddress</classname> 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>.
+        cambiando el ajuste a través del objeto <classname>Zend_Validate_Hostname</classname>
+        que existe en <classname>Zend_Validate_EmailAddress</classname>.
 
         <programlisting role="php"><![CDATA[
 $validator->hostnameValidator->setValidateIdn(false);
-]]>
-        </programlisting>
+]]></programlisting>
         Sobre el uso de <code>setValidateIdn()</code> encontrará más información
-        en la documentación de <code>Zend_Validate_Hostname</code>.
+        en la documentación de <classname>Zend_Validate_Hostname</classname>.
     </para>
 
     <para>
@@ -148,21 +147,20 @@ $validator->hostnameValidator->setValidateIdn(false);
     </para>
 
     <para>
-        <emphasis role="strong">Validar Dominios de Nivel Superior (TLD)</emphasis>
+        <emphasis>Validar Dominios de Nivel Superior (TLD)</emphasis>
     </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>
-        que existe en <code>Zend_Validate_EmailAddress</code>.
+        ajuste a través del objeto interno <classname>Zend_Validate_Hostname</classname>
+        que existe en <classname>Zend_Validate_EmailAddress</classname>.
 
         <programlisting role="php"><![CDATA[
 $validator->hostnameValidator->setValidateTld(false);
-]]>
-        </programlisting>
+]]></programlisting>
         Encontrará más información sobre el uso de <code>setValidateTld()</code>
-        en la documentación de <code>Zend_Validate_Hostname</code>.
+        en la documentación de <classname>Zend_Validate_Hostname</classname>.
     </para>
 
     <para>

+ 17 - 19
documentation/manual/es/module_specs/Zend_Validate-Hostname.xml

@@ -1,9 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15103 -->
+<!-- Reviewed: no -->
 <sect2 id="zend.validate.set.hostname">
 
     <title>Hostname (Nombre de Host)</title>
 
     <para>
-        <code>Zend_Validate_Hostname</code> le permite validar un nombre de host
+        <classname>Zend_Validate_Hostname<classname> 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),
@@ -12,7 +15,7 @@
     </para>
 
     <para>
-        <emphasis role="strong">Uso básico</emphasis>
+        <emphasis>Uso básico</emphasis>
     </para>
 
     <para>
@@ -28,30 +31,29 @@ if ($validator->isValid($hostname)) {
         echo "$message\n";
     }
 }
-]]>
-        </programlisting>
+]]></programlisting>
 
         Comprobará el nombre de host <code>$hostname</code> y si fracasa
         alimentará a <code>$validator->getMessages()</code> con mensajes de error.
     </para>
 
     <para>
-        <emphasis role="strong">Validar diferentes tipos de nombres de host</emphasis>
+        <emphasis>Validar diferentes tipos de nombres de host</emphasis>
     </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>
+        Esto puede hacerse pasando un parámetro a <classname>Zend_Validate_Hostname<classname>
         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>
+        Se recomienda el uso de las constantes de <classname>Zend_Validate_Hostname<classname>
         para hacerlo.
     </para>
 
     <para>
-        Las constantes de <code>Zend_Validate_Hostname</code> son:
+        Las constantes de <classname>Zend_Validate_Hostname<classname> 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
@@ -67,25 +69,23 @@ if ($validator->isValid($hostname)) {
         echo "$message\n";
     }
 }
-]]>
-        </programlisting>
+]]></programlisting>
     </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.
         Por ejemplo, para aceptar nombres de host DNS y locales, instancie el
-        objeto <code>Zend_Validate_Hostname</code> como:
+        objeto <classname>Zend_Validate_Hostname<classname> como:
         <programlisting role="php"><![CDATA[
 $validator = new Zend_Validate_Hostname(Zend_Validate_Hostname::ALLOW_DNS |
                                         Zend_Validate_Hostname::ALLOW_IP);
-]]>
-        </programlisting>
+]]></programlisting>
 
     </para>
 
     <para>
-        <emphasis role="strong">Validación de Nombres de Dominio Internacionales</emphasis>
+        <emphasis>Validación de Nombres de Dominio Internacionales</emphasis>
     </para>
 
     <para>
@@ -144,8 +144,7 @@ $validator = new Zend_Validate_Hostname(Zend_Validate_Hostname::ALLOW_DNS |
         <programlisting role="php"><![CDATA[
 $validator =
     new Zend_Validate_Hostname(Zend_Validate_Hostname::ALLOW_DNS, false);
-]]>
-        </programlisting>
+]]></programlisting>
         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
@@ -161,7 +160,7 @@ $validator =
     </para>
 
     <para>
-        <emphasis role="strong">Validar dominios de nivel superior</emphasis>
+        <emphasis>Validar dominios de nivel superior</emphasis>
     </para>
 
     <para>
@@ -178,8 +177,7 @@ $validator =
     new Zend_Validate_Hostname(Zend_Validate_Hostname::ALLOW_DNS,
                                true,
                                false);
-]]>
-        </programlisting>
+]]></programlisting>
 
         Alternativamente puede pasar TRUE o FALSE a <code>$validator->setValidateTld()</code>
         para activar o desactivar la validación TLD.

+ 72 - 8
documentation/manual/es/module_specs/Zend_Validate-Set.xml

@@ -1,3 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15103 -->
+<!-- Reviewed: no -->
+
 <sect1 id="zend.validate.set" xmlns:xi="http://www.w3.org/2001/XInclude">
 
     <title>Clases de Validación Estándar</title>
@@ -17,6 +21,15 @@
         </para>
     </sect2>
 
+        <note>
+            <para>
+                The alphabetic characters mean characters that makes up words in each language.
+                However, the English alphabet is treated as the alphabetic characters in following languages: Chinese, Japanese, Korean.
+                The language is specified by Zend_Locale.
+            </para>
+        </note>
+
+
     <sect2 id="zend.validate.set.alpha">
         <title>Alpha</title>
         <para>
@@ -93,11 +106,14 @@
     <sect2 id="zend.validate.set.float">
         <title>Float</title>
         <para>
-            Devuelve <code>true</code> si y sólo si <code>$valor</code> es un
-            valor de punto flotante.
+            Returns <code>true</code> if and only if <code>$value</code> is a floating-point value.
+            Since Zend Framework 1.8 this validator takes into account the actual locale from browser,
+            environment or application wide set locale. You can of course use the get/setLocale accessors
+            to change the used locale or give it while creating a instance of this validator.
         </para>
     </sect2>
 
+
     <sect2 id="zend.validate.set.greater_than">
         <title>GreaterThan</title>
         <para>
@@ -115,9 +131,53 @@
     </sect2>
 
 
-    <xi:include href="Zend_Validate-Hostname.xml">
-        <xi:fallback href="../../en/module_specs/Zend_Validate-Hostname.xml"></xi:fallback>
-    </xi:include>
+    <xi:include href="Zend_Validate-Hostname.xml" />
+
+    <sect2 id="zend.validate.set.iban">
+        <title>Iban</title>
+        <para>
+            Returns <code>true</code> if and only if <code>$value</code> contains a valid IBAN
+            (International Bank Account Number). IBAN numbers are validated against the country where they are
+            used and by a checksum.
+        </para>
+        <para>
+            There are two ways to validate IBAN numbers. As first way you can give a locale which represents
+            a country. Any given IBAN number will then be validated against this country.
+        </para>
+        <programlisting role="php"><![CDATA[
+$validator = new Zend_Validate_Iban('de_AT');
+$iban = 'AT611904300234573201';
+if ($validator->isValid($iban)) {
+    // IBAN appears to be valid
+} else {
+    // IBAN is invalid
+    foreach ($validator->getMessages() as $message) {
+        echo "$message\n";
+    }
+}
+]]></programlisting>
+        <para>
+            This should be done when you want to validate IBAN numbers for a single countries. The simpler way
+            of validation is not to give a locale like shown in the next example.
+        </para>
+        <programlisting role="php"><![CDATA[
+$validator = new Zend_Validate_Iban();
+$iban = 'AT611904300234573201';
+if ($validator->isValid($iban)) {
+    // IBAN appears to be valid
+} else {
+    // IBAN is invalid
+}
+]]></programlisting>
+        <para>
+            But this shows one big problem: When you have to accept only IBAN numbers from one single country,
+            for example france, then IBAN numbers from other countries would also be valid. Therefor just
+            remember: When you have to validate a IBAN number against a defined country you should give the
+            locale. And when you accept all IBAN numbers regardless of any country omit the locale for
+            simplicity.
+        </para>
+    </sect2>
+
 
     <sect2 id="zend.validate.set.in_array">
         <title>InArray</title>
@@ -128,14 +188,18 @@
         </para>
     </sect2>
 
+
     <sect2 id="zend.validate.set.int">
         <title>Int</title>
         <para>
-            Devuelve <code>true</code> si y sólo si <code>$valor</code> es un valor entero válido.
+            Returns <code>true</code> if and only if <code>$value</code> is a valid integer.
+            Since Zend Framework 1.8 this validator takes into account the actual locale from browser,
+            environment or application wide set locale. You can of course use the get/setLocale accessors
+            to change the used locale or give it while creating a instance of this validator.
         </para>
     </sect2>
-
-    <sect2 id="zend.validate.set.ip">
+    
+       <sect2 id="zend.validate.set.ip">
         <title>Ip</title>
         <para>
             Devuelve <code>true</code> si y sólo si <code>$valor</code> es una dirección IP válida.

+ 7 - 6
documentation/manual/es/module_specs/Zend_Validate-ValidatorChains.xml

@@ -1,3 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15103 -->
+<!-- Reviewed: no -->
 <sect1 id="zend.validate.validator_chains">
 
     <title>Cadenas de Validadores</title>
@@ -24,8 +27,7 @@ if ($validatorChain->isValid($username)) {
         echo "$message\n";
     }
 }
-]]>
-        </programlisting>
+]]></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
@@ -40,7 +42,7 @@ if ($validatorChain->isValid($username)) {
     <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
+        <classname>Zend_Validate</classname> 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,
@@ -53,13 +55,12 @@ if ($validatorChain->isValid($username)) {
         <programlisting role="php"><![CDATA[
 $validatorChain->addValidator(new Zend_Validate_StringLength(6, 12), true)
         ->addValidator(new Zend_Validate_Alnum());
-]]>
-        </programlisting>
+]]></programlisting>
 
     </para>
 
     <para>
-        Cualquier objeto que implemente <code>Zend_Validate_Interface</code>
+        Cualquier objeto que implemente <classname>Zend_Validate_Interface</classname>
         puede ser utilizado en una cadena de validación.
     </para>
 

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

@@ -1,26 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15103 -->
+<!-- Reviewed: no -->
 <sect1 id="zend.validate.writing_validators">
 
     <title>Escribiendo Validadores</title>
 
     <para>
-        Zend_Validate provee un conjunto de validadores que suelen necesitarse,
+        <classname>Zend_Validate</classname> 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(),
+        <classname>Zend_Validate_Interface</classname> 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>.
+        Un objeto que implementa una interfaz <classname>Zend_Validate_Interface</classname>
+        puede añadirse a una cadena de validación con <classname>Zend_Validate::addValidator()</classname>.
         Tales objetos también pueden ser usados con
-        <link linkend="zend.filter.input"><code>Zend_Filter_Input</code></link>.
+        <link linkend="zend.filter.input"><classname>Zend_Filter_Input</classname></link>.
     </para>
 
     <para>
-        De la descripción anterior de <code>Zend_Validate_Interface</code>, podrá inferir
+        De la descripción anterior de <classname>Zend_Validate_Interface</classname>, 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>
@@ -32,9 +35,9 @@
 
     <para>
         La funcionalidad de los mensajes de validación básica de fallos están
-        implementados en <code>Zend_Validate_Abstract</code>.
+        implementados en <classname>Zend_Validate_Abstract</classname>.
         A fin de incluir esta funcionalidad al crear una clase de validación,
-        simplemente extienda <code>Zend_Validate_Abstract</code>.
+        simplemente extienda <classname>Zend_Validate_Abstract</classname>.
         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.
@@ -86,8 +89,7 @@ class MyValid_Float extends Zend_Validate_Abstract
         return true;
     }
 }
-]]>
-            </programlisting>
+]]></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>.
@@ -172,8 +174,7 @@ class MyValid_NumericBetween extends Zend_Validate_Abstract
         return true;
     }
 }
-]]>
-            </programlisting>
+]]></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,
@@ -274,8 +275,7 @@ class MyValid_PasswordStrength extends Zend_Validate_Abstract
         return $isValid;
     }
 }
-]]>
-            </programlisting>
+]]></programlisting>
 
             Las cuatro pruebas de criterio en <code>isValid()</code> no devuelven
             inmediatamente <code>false</code>.

+ 80 - 18
documentation/manual/es/module_specs/Zend_Validate.xml

@@ -1,9 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15103 -->
+<!-- Reviewed: no -->
 <sect1 id="zend.validate.introduction">
 
     <title>Introducción</title>
 
     <para>
-        Cuando se necesita validar algún tipo de dato, el componente Zend_Validate ofrece un conjunto de validadores,
+        Cuando se necesita validar algún tipo de dato, el componente <classname>Zend_Validate</classname> 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>
@@ -38,7 +41,7 @@
 
         <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,
+            para <classname>Zend_Validate_Interface</classname> 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
@@ -84,8 +87,7 @@ if ($validator->isValid($email)) {
         echo "Falla de validación '$messageId': $message\n";
     }
 }
-]]>
-            </programlisting>
+]]></programlisting>
 
         </para>
 
@@ -105,7 +107,7 @@ if ($validator->isValid($email)) {
            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>.
+           apoyado por <classname>Zend_Validate_LessThan</classname>.
            El método <code>getMessageVariables()</code> devuelve un array de tokens
            variables aceptados por el validador.
         </para>
@@ -138,8 +140,7 @@ if (!$validator->isValid('word')) {
 
     // "El string 'word' es muy corto; debe tener al menos 8 caracteres"
 }
-]]>
-            </programlisting>
+]]></programlisting>
         </para>
 
         <para>
@@ -155,8 +156,7 @@ $validator->setMessages( array(
     Zend_Validate_StringLength::TOO_LONG  =>
         'El string \'%value%\' es muy largo'
 ));
-]]>
-            </programlisting>
+]]></programlisting>
 
         </para>
 
@@ -182,8 +182,7 @@ if (!validator->isValid('word')) {
         . $validator->max
         . "\n";
 }
-]]>
-            </programlisting>
+]]></programlisting>
         </para>
 
     </sect2>
@@ -195,11 +194,11 @@ if (!validator->isValid('word')) {
         <para>
             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.
+            <classname>Zend_Validate::is()</classname> 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
-            de la clase de validación, relativo al nombre de espacio <code>Zend_Validate</code>.
+            de la clase de validación, relativo al nombre de espacio <classname>Zend_Validate</classname>.
             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.
 
@@ -207,8 +206,7 @@ if (!validator->isValid('word')) {
 if (Zend_Validate::is($email, 'EmailAddress')) {
     // Si, el email parece ser válido
 }
-]]>
-            </programlisting>
+]]></programlisting>
 
         </para>
 
@@ -219,8 +217,7 @@ if (Zend_Validate::is($email, 'EmailAddress')) {
 if (Zend_Validate::is($value, 'Between', array(1, 12))) {
     // Si, $value está entre 1 y 12
 }
-]]>
-            </programlisting>
+]]></programlisting>
 
         </para>
 
@@ -239,15 +236,80 @@ if (Zend_Validate::is($value, 'Between', array(1, 12))) {
         </para>
 
         <para>
-            También la clase <code>Zend_Filter_Input</code> le permite crear
+            También la clase <classname>Zend_Filter_Input</classname> 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" />.
         </para>
 
     </sect2>
+    <sect2 id="zend.validate.introduction.translation">
 
+        <title>Translating messages</title>
 
+        <para>
+            Validate classes provide a <code>setTranslator()</code> method with
+            which you can specify a instance of <classname>Zend_Translate</classname> which
+            will translate the messages in case of a validation failure. The
+            <code>getTranslator()</code> method returns the set translator instance.
+        </para>
+
+        <programlisting role="php"><![CDATA[
+$validator = new Zend_Validate_StringLength(8, 12);
+$translate = new Zend_Translate(
+    'array',
+    array(Zend_Validate_StringLength::TOO_SHORT => 'Translated \'%value%\''),
+    'en'
+);
+
+$validator->setTranslator($translate);
+]]></programlisting>
+
+        <para>
+            With the static <code>setDefaultTranslator()</code> method you can set
+            a instance of <classname>Zend_Translate</classname> which will be used for all
+            validation classes, and can be retrieved with <code>getDefaultTranslator()</code>.
+            This prevents you from setting a translator manually for all validator classes,
+            and simplifies your code.
+        </para>
+
+        <programlisting role="php"><![CDATA[
+$translate = new Zend_Translate(
+    'array',
+    array(Zend_Validate_StringLength::TOO_SHORT => 'Translated \'%value%\''),
+    'en'
+);
+Zend_Validate::setDefaultTranslator($translate);
+]]></programlisting>
+
+        <note>
+            <para>
+                When you have set an application wide locale within your registry, then this
+                locale will be used as default translator.
+            </para>
+        </note>
+
+        <para>
+            Sometimes it is necessary to disable the translator within a validator.
+            To archive this you can use the <code>setDisableTranslator()</code> method,
+            which accepts a boolean parameter, and <code>translatorIsDisabled()</code>
+            to get the set value.
+        </para>
+
+        <programlisting role="php"><![CDATA[
+$validator = new Zend_Validate_StringLength(8, 12);
+if (!$validator->isTranslatorDisabled()) {
+    $validator->setDisableTranslator();
+}
+]]></programlisting>
+
+        <para>
+            It is also possible to use a translator instead of setting own messages with
+            <code>setMessage()</code>. But doing so, you should keep in mind, that the
+            translator works also on messages you set your own.
+        </para>
+
+    </sect2>
 </sect1>
 <!--
 vim:se ts=4 sw=4 et:

+ 29 - 34
documentation/manual/es/module_specs/Zend_XmlRpc_Client.xml

@@ -1,3 +1,6 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 15103 -->
+<!-- Reviewed: no -->
 <sect1 id="zend.xmlrpc.client">
     <title>Zend_XmlRpc_Client</title>
 
@@ -6,7 +9,7 @@
 
         <para>
             Zend Framework provee soporte para consumo remoto para servicios XML-RPC
-            como un cliente en el paquete <code>Zend_XmlRpc_Client</code>
+            como un cliente en el paquete <classname>Zend_XmlRpc_Client</classname>
             . Su mejor característica es la conversión automática de tipos
             entre PHP y XML-RPC, un servidor de objeto proxy, y acceso a
             capacidades de instrospección del servidor.
@@ -19,7 +22,7 @@
         <title>Method Calls</title>
 
         <para>
-            El constructor de <code>Zend_XmlRpc_Client</code> recibe la
+            El constructor de <classname>Zend_XmlRpc_Client</classname> recibe la
             URL del servidor XML-RPC como su primer parámetro.
             La nueva instacia devuelta puede ser usada para llamar cualquier número de métodos remotos en el punto final.
         </para>
@@ -39,8 +42,7 @@ $client = new Zend_XmlRpc_Client('http://framework.zend.com/xmlrpc');
 echo $client->call('test.sayHello');
 
 // hello
-]]>
-            </programlisting>
+]]></programlisting>
         </example>
 
         <para>
@@ -66,8 +68,7 @@ $arg2 = 'foo';
 $result = $client->call('test.sayHello', array($arg1, $arg2));
 
 // $result es un tipo nativo PHP
-]]>
-            </programlisting>
+]]></programlisting>
         </example>
 
         <para>
@@ -90,7 +91,7 @@ $result = $client->call('test.sayHello', array($arg1, $arg2));
         <title>Tipos y Conversiones</title>
         <para>
             Algunas llamadas a métodos remoto requieren parámetros. Éstos son
-           dados al método <code>call()</code> de <code>Zend_XmlRpc_Client</code>
+           dados al método <code>call()</code> de <classname>Zend_XmlRpc_Client</classname>
             como un array en el segundo parámetro. Cada parámetro puede ser dado
             como un tipo nativo PHP, que será convertido automáticamente,
             o como un  objeto que representa un tipo específico de XML-RPC
@@ -157,7 +158,7 @@ $result = $client->call('test.sayHello', array($arg1, $arg2));
                 <para>
                     Pasar un array vacío a un método XML-RPC es problemático,
                     as it could represent either an array or a struct.
-                    <code>Zend_XmlRpc_Client</code> detects such conditions and
+                    <classname>Zend_XmlRpc_Client</classname> detects such conditions and
                     makes a request to the server's
                     <code>system.methodSignature</code> method to determine the
                     appropriate XML-RPC type to cast to.
@@ -167,7 +168,7 @@ $result = $client->call('test.sayHello', array($arg1, $arg2));
                     However, this in itself can lead to issues. First off,
                     servers that do not support
                     <code>system.methodSignature</code> will log failed
-                    requests, and <code>Zend_XmlRpc_Client</code> will resort to
+                    requests, and <classname>Zend_XmlRpc_Client</classname> will resort to
                     casting the value to an XML-RPC array type. Additionally,
                     this means that any call with array arguments will result in
                     an additional call to the remote server.
@@ -182,8 +183,7 @@ $result = $client->call('test.sayHello', array($arg1, $arg2));
                 <programlisting role="php"><![CDATA[
 $client->setSkipSystemLookup(true);
 $result = $client->call('foo.bar', array(array()));
-]]>
-                </programlisting>
+]]></programlisting>
             </note>
         </sect3>
 
@@ -313,7 +313,7 @@ $result = $client->call('foo.bar', array(array()));
 
         <para>
             To instantiate a server proxy, call the <code>getProxy()</code>
-            instance method of <code>Zend_XmlRpc_Client</code>. This will
+            instance method of <classname>Zend_XmlRpc_Client</classname>. This will
             return an instance of <code>Zend_XmlRpc_Client_ServerProxy</code>.
             Any method call on the server proxy object will be forwarded to
             the remote, and parameters may be passed like any other PHP
@@ -328,8 +328,7 @@ $client = new Zend_XmlRpc_Client('http://framework.zend.com/xmlrpc');
 $server = $client->getProxy();           // Proxy the default namespace
 
 $hello = $server->test->sayHello(1, 2);  // test.Hello(1, 2) returns "hello"
-]]>
-            </programlisting>
+]]></programlisting>
         </example>
 
         <para>
@@ -348,8 +347,7 @@ $client = new Zend_XmlRpc_Client('http://framework.zend.com/xmlrpc');
 $test  = $client->getProxy('test');     // Proxy the "test" namespace
 
 $hello = $test->sayHello(1, 2);         // test.Hello(1,2) returns "hello"
-]]>
-            </programlisting>
+]]></programlisting>
         </example>
 
         <para>
@@ -366,7 +364,7 @@ $hello = $test->sayHello(1, 2);         // test.Hello(1,2) returns "hello"
         <title>Error Handling</title>
         <para>
             Two kinds of errors can occur during an XML-RPC method call: HTTP
-            errors and XML-RPC faults. The <code>Zend_XmlRpc_Client</code>
+            errors and XML-RPC faults. The <classname>Zend_XmlRpc_Client</classname>
             recognizes each and provides the ability to detect and trap them
             independently.
         </para>
@@ -396,8 +394,7 @@ try {
     // $e->getMessage() returns "Not Found"
 
 }
-]]>
-                </programlisting>
+]]></programlisting>
             </example>
 
             <para>
@@ -415,7 +412,7 @@ try {
                 special type returned from an XML-RPC method call that has
                 both an error code and an error message. XML-RPC faults are
                 handled differently depending on the context of how the
-                <code>Zend_XmlRpc_Client</code> is used.
+                <classname>Zend_XmlRpc_Client</classname> is used.
             </para>
 
             <para>
@@ -443,23 +440,22 @@ try {
     // $e->getMessage() returns "Unknown method"
 
 }
-]]>
-                </programlisting>
+]]></programlisting>
             </example>
 
             <para>
                 Cuando el método <code>call()</code> es usado para realizar la
                 petición, <code>Zend_XmlRpc_Client_FaultException</code> será
-                lanzado como error. Un objeto <code>Zend_XmlRpc_Response</code> conteniendo
-                el error estará disponible llamando a
+				lanzado como error. Un objeto <code>Zend_XmlRpc_Response</code> conteniendo
+				el error estará disponible llamando a
                 <code>getLastResponse()</code>.
             </para>
 
             <para>
                 Cuando el método <code>doRequest()</code> sea usado para realizar una
-                petición, no lanzará una excepción. En vez de eso, devolverá un objeto
-                <code>Zend_XmlRpc_Response</code> que contendrá el error.
-                Esto puede comprobarse con
+				petición, no lanzará una excepción. En vez de eso, devolverá un objeto
+				<code>Zend_XmlRpc_Response</code> que contendrá el error.
+				Esto puede comprobarse con
                 <code>isFault()</code> método instancia de
                 <code>Zend_XmlRpc_Response</code>.
             </para>
@@ -471,7 +467,7 @@ try {
         <title>Server Introspection</title>
         <para>
             Some XML-RPC servers support the de facto introspection methods under the XML-RPC
-            <code>system.</code> namespace.  <code>Zend_XmlRpc_Client</code> provides special
+            <code>system.</code> namespace.  <classname>Zend_XmlRpc_Client</classname> provides special
             support for servers with these capabilities.
         </para>
 
@@ -485,7 +481,7 @@ try {
     <sect2 id="zend.xmlrpc.client.request-to-response">
         <title>From Request to Response</title>
         <para>
-            Under the hood, the <code>call()</code> instance method of <code>Zend_XmlRpc_Client</code>
+            Under the hood, the <code>call()</code> instance method of <classname>Zend_XmlRpc_Client</classname>
             builds a request object (<code>Zend_XmlRpc_Request</code>) and sends it to another method,
             <code>doRequest()</code>, that returns a response object (<code>Zend_XmlRpc_Response</code>).
         </para>
@@ -508,8 +504,7 @@ $client->doRequest($request);
 
 // $server->getLastRequest() returns instanceof Zend_XmlRpc_Request
 // $server->getLastResponse() returns instanceof Zend_XmlRpc_Response
-]]>
-            </programlisting>
+]]></programlisting>
         </example>
 
         <para>
@@ -529,7 +524,7 @@ $client->doRequest($request);
             In all of the prior examples, an HTTP client was never specified.
             When this is the case, a new instance of
             <code>Zend_Http_Client</code> will be created with its default
-            options and used by <code>Zend_XmlRpc_Client</code> automatically.
+            options and used by <classname>Zend_XmlRpc_Client</classname> automatically.
         </para>
 
         <para>
@@ -542,8 +537,8 @@ $client->doRequest($request);
 
         <para>
             The <code>setHttpClient()</code> is particularly useful for unit testing.  When combined
-            with the <code>Zend_Http_Client_Adapter_Test</code>, remote services can be mocked
-            out for testing.  See the unit tests for <code>Zend_XmlRpc_Client</code> for examples
+            with the <classname>Zend_Http_Client_Adapter_Test</classname>, remote services can be mocked
+            out for testing.  See the unit tests for <classname>Zend_XmlRpc_Client</classname> for examples
             of how to do this.
         </para>
     </sect2>

Alguns arquivos não foram mostrados porque muitos arquivos mudaram nesse diff