[ZF-10089] Zend_Log
[zend.git] / documentation / manual / es / module_specs / Zend_Form-I18n.xml
blobcf894e2e6d2aeaa41e7d9435a0d3b2b24d531678
1 <?xml version="1.0" encoding="UTF-8"?>
2     <!-- EN-Revision: 17987 -->
3     <!-- Reviewed: no -->
4 <sect1 id="zend.form.i18n">
5     <title>Internacionalización de Zend_Form</title>
7     <para>
8         Cada vez más, desarrolladores necesitan adaptar su contenido para multiples idiomas y
9         regiones.
10         <classname>Zend_Form</classname>
11         intenta hacer de ésta una tarea trivial, y provee
12         funcionalidad en ambas
13         <link linkend="zend.translate">Zend_Translate</link>
14         y
15         <link linkend="zend.validate">Zend_Validate</link>
16         para realizar esa funcionalidad.
17     </para>
19     <para>
20         Por defecto, no se realiza ninguna internacionalización (I18n). Para iniciar las
21         caraterísticas de I18n en
22         <classname>Zend_Form</classname>
23         , se necesitará instanciar un
24         objeto
25         <classname>Zend_Translate</classname>
26         con un adaptador apropiado, y adjuntarlo a
27         <classname>Zend_Form</classname>
28         y/o
29         <classname>Zend_Validate</classname>
30         . Ver la
31         <link linkend="zend.translate">documentación Zend_Translate </link>
32         para más información sobre
33         crear el objeto traducción y los archivos de traducción
34     </para>
36     <note>
37         <title>La Traducción Puede Ser Deshabilitado Por Item</title>
39         <para>
40             Se puede deshabilitar la traducción para cualquier formulario, elemento, grupo de
41             visualización o subformulario llamando al método
42             <methodname>setDisableTranslator($flag)</methodname>
43             o pasando la opción
44             <property>disableTranslator</property>
45             al objeto. Puede ser de mucha ayuda
46             cuando se quiere deshabilitar selectivamente la
47             traducción para elementos individuales o
48             grupo de elementos.
49         </para>
50     </note>
52     <sect2 id="zend.form.i18n.initialization">
53         <title>Inicializando I18n en formularios</title>
55         <para>
56             Para poder inicializar I18n en formularios, se necesitará un objeto
57             <classname>Zend_Translate</classname>
58             o un objeto
59             <classname>Zend_Translate_Adapter</classname>
60             , como se detalló en la documentación
61             <classname>Zend_Translate</classname>
62             . Una vez que se tenga el objeto traducción,
63             existen varias opciones:
64         </para>
66         <itemizedlist>
67             <listitem>
68                 <para>
69                     <emphasis>Fácil:</emphasis>
70                     añadirlo al registro. Todos los componentes I18n de
71                     Zend Framework descubrirán
72                     automáticamente un objeto traducción que está en el
73                     registro con la clave
74                     'Zend_Translate' y lo usará para ejecutar la traducción
75                     y/o la localización:
76                 </para>
78                 <programlisting language="php"><![CDATA[
79 // use la clave 'Zend_Translate'; $translate es un objeto Zend_Translate:
80 Zend_Registry::set('Zend_Translate', $translate);
81 ]]></programlisting>
83                 <para>
84                     Será recibido por
85                     <classname>Zend_Form</classname>
86                     ,
87                     <classname>Zend_Validate</classname>
88                     y
89                     <classname>Zend_View_Helper_Translate</classname>
90                     .
91                 </para>
92             </listitem>
94             <listitem>
95                 <para>
96                     Si todo lo que le preocupa es traducir los mensajes de error de validación,
97                     puede registrar el objeto traducción con
98                     <classname>Zend_Validate_Abstract</classname>
99                     :
100                 </para>
102                 <programlisting language="php"><![CDATA[
103 // Decir a todas las clases de validación que se use un adaptador especifico de traducción
104 Zend_Validate_Abstract::setDefaultTranslator($translate);
105 ]]></programlisting>
106             </listitem>
108             <listitem>
109                 <para>
110                     Alternativamente, se puede adjuntar al objeto
111                     <classname>Zend_Form</classname>
112                     como un traductor global. Tiene el mismo
113                     efecto que traduciendo los mensajes de
114                     error de validación.
115                 </para>
117                 <programlisting language="php"><![CDATA[
118 // Decir a todas las clases del formulario usar un adaptador especifico, así como también
119 // use este adaptador para traducir mensajes de error de validación
120 Zend_Form::setDefaultTranslator($translate);
121 ]]></programlisting>
122             </listitem>
124             <listitem>
125                 <para>
126                     Finalmente, se puede adjuntar un traductor a una instancia especifica de un
127                     formulario o a elementos especificar usando sus métodos
128                     <methodname>setTranslator()</methodname>
129                     :
130                 </para>
132                 <programlisting language="php"><![CDATA[
133 // Decir a *esta* instancia del formulario que use un adaptador especifico de traducción;
134 // será usado para traducir mensajes de error de validación para todos los
135 // elementos:
136 $form->setTranslator($translate);
138 // Decir a *este* elemento usar un adaptador especifico de traducción; será
139 // usado para traducir los mensajes de error de validación para este
140 // elemento en particular:
141 $element->setTranslator($translate);
142 ]]></programlisting>
143             </listitem>
144         </itemizedlist>
145     </sect2>
147     <sect2 id="zend.form.i18n.standard">
148         <title>Objetivos estándar I18n</title>
150         <para>Ahora que ya se tiene adjuntado un objeto de traducción, ¿qué se puede traducir
151             exactamente por defecto?</para>
153         <itemizedlist>
154             <listitem>
155                 <para>
156                     <emphasis>Mensajes de error de validación.</emphasis>
157                     Los mensajes de error de
158                     validación pueden ser traducidos. Para hacerlo, use la
159                     variedad de constantes de
160                     códigos de error de
161                     <classname>Zend_Validate</classname>
162                     las clases de
163                     validación como los ID del mensaje. Para más información sobre esos
164                     códigos, ver
165                     la documentación
166                     <link linkend="zend.validate">Zend_Validate</link>
167                     .
168                 </para>
170                 <para>Alternativamente, desde la versión 1.6.0, se pueden proveer cadenas de
171                     traducción usando los mensajes de error actuales como mensajes identificadores.
172                     Este es el caso preferido de uso para 1.6.0 en adelante, así como también se
173                     volverá obsoleta la traducción de las claves de mensajes en versiones futuras.
174                </para>
175             </listitem>
177             <listitem>
178                 <para>
179                     <emphasis>Etiquetas.</emphasis>
180                     Las etiquetas elemento serán traducidas, si una
181                     traducción existe.
182                 </para>
183             </listitem>
185             <listitem>
186                 <para>
187                     <emphasis>Leyendas de campos.</emphasis>
188                     Grupos de visualización y
189                     subformularios se generan por defecto en fieldsets. El
190                     decorador de fieldsets
191                     intenta traducir la leyenda antes de generar el fieldset.
192                 </para>
193             </listitem>
195             <listitem>
196                 <para>
197                     <emphasis>Descripciones de formularios y elementos.</emphasis>
198                     Todos los tipos
199                     de formulario (elemento, formulario, visualización de grupos,
200                     subformularios)
201                     permiten especificar una descripción opcional. El decorador
202                     Description puede
203                     generarlo y por defecto tomará el valor e intentará traducirlo.
204                 </para>
205             </listitem>
207             <listitem>
208                 <para>
209                     <emphasis>Valores multi-opción.</emphasis>
210                     Para los múltiples items que heredan
211                     de
212                     <classname>Zend_Form_Element_Multi</classname>
213                     (incluyendo el MultiCheckbox,
214                     Multiselect y elementos Radio), la valores de
215                     opciones (no claves) serán
216                     traducidos si una traducción esta disponible; eso
217                     significa que las etiquetas de
218                     opciones presentadas al usuario serán traducidas.
219                 </para>
220             </listitem>
222             <listitem>
223                 <para>
224                     <emphasis>Submit y etiquetas Button.</emphasis>
225                     Los múltiples elementos Submit y
226                     Button (Button, Submit y Reset) traducirán la
227                     etiqueta mostrada al usuario.
228                 </para>
229             </listitem>
230         </itemizedlist>
231     </sect2>
232 </sect1>