| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 23009 -->
- <!-- Reviewed: no -->
- <sect2 id="zend.application.available-resources.locale">
- <title>Zend_Application_Resource_Locale</title>
- <para>
- <classname>Zend_Application_Resource_Locale</classname> puede ser usado para configurar
- una localidad en el ámbito de una aplicación entera. Ésta localidad es usada en todas las
- clases y componentes que trabajen con localización o internacionalización. Por defecfto
- la localidad es guardada en una entrada en <classname>Zend_Registry</classname> baje la
- clave '<property>Zend_Locale</property>'.
- </para>
- <para>
- Hay básicamente tres casos de uso para el Locale Resource Plugin. Cada uno deberá ser usado
- dependiendo de la necesidad de la apliación.
- </para>
- <sect3 id="zend.application.available-resources.locale.auto">
- <title>Autodetectando la localidad a usar</title>
- <para>
- Sin especificar ninguna opción para
- <classname>Zend_Application_Resource_Locale</classname>,
- <classname>Zend_Locale</classname> detectará la localidad y la aplicación la usará
- automaticamente.
- </para>
- <para>
- Ésta detección funciona porque el cliente envía el idioma deseado en su pedido
- <acronym>HTTP</acronym>. Normalmente el navegador envía los idiomas que desea ver
- y <classname>Zend_Locale</classname> usa esta información para la detección.
- </para>
- <para>
- Pero hay dos problemas con este enfoque:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- El navegador podría estar configurado para no enviar el idioma
- </para>
- </listitem>
- <listitem>
- <para>
- El usuario podría haber configurado manualmente una localidad que no exista
- </para>
- </listitem>
- </itemizedlist>
- <para>
- En ambos casos <classname>Zend_Locale</classname> se apoyará en otros mecanismos
- para realizar la detección de la localidad:
- </para>
- <itemizedlist>
- <listitem>
- <para>
- Cuando se configuró una localidad que no existe,
- <classname>Zend_Locale</classname> trata de degradar la cadena.
- </para>
- <para>
- Cuando, por ejemplo se configura <emphasis>en_ZZ</emphasis>, automáticamente
- será degradado a <emphasis>en</emphasis>. En este caso <emphasis>en</emphasis>
- será usado como la localidad de la aplicación.
- </para>
- </listitem>
- <listitem>
- <para>
- Cuando la localidad tampoco haya podido ser detectada incluso degradando la
- cadena, la localidad de su entorno (servidor web) será usada. La mayoría de
- los entornos disponibles en la web usan <emphasis>en</emphasis> como localidad.
- </para>
- </listitem>
- <listitem>
- <para>
- Cuando la localidad del sistema no se haya podido detectar,
- <classname>Zend_Locale</classname> usara su localidad por defecto, que está
- configurada como <emphasis>en</emphasis>.
- </para>
- </listitem>
- </itemizedlist>
- <para>
- Para más información acerda de la detección de localidad, vea <link
- linkend="zend.locale.selection.automatic">este capitulo acerca de detección automática
- de Zend_Locale</link>
- </para>
- </sect3>
- <sect3 id="zend.application.available-resources.locale.fallback">
- <title>Autodetectando la localidad y agregando su mecanismo propio de reserva</title>
- <para>
- La detección descrita más arriba podría llegar a provocar problemas cuando la localidad
- no haya podido ser detectada y se desea tener otra localidad como defecto que no sea
- <emphasis>en</emphasis>. Para prevenir esto,
- <classname>Zend_Application_Resource_Locale</classname> permite configurar su propia
- localidad, que será usada en el cado de que una localidad no se haya podido detectar.
- </para>
- <example id="zend.application.available-resources.locale.configExampleDetectAndFallback">
- <title>Autodetectar la loclidad configurando un mecanismo de reserva</title>
- <para>
- El siguiente ejemplo muestra como configurar su propia localidad que será usada
- cuando el cliente no especifique ninguna localidad.
- </para>
- <programlisting language="ini"><![CDATA[
- ; Try to determine automatically first,
- ; if unsuccessful, use nl_NL as fallback.
- resources.locale.default = "nl_NL"
- ]]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.application.available-resources.locale.forcing">
- <title>Forzando una localidad en particular</title>
- <para>
- Muchas veces es útil definir una única localidad para ser usada. Esto se puede
- conseguir usando la opción <property>force</property>.
- </para>
- <para>
- En este caso, ésta única localidad será usada y detección automática será desactivada.
- </para>
- <example id="zend.application.available-resources.locale.configExampleFallbackOnly">
- <title>Definiendo una única localidad a ser usada</title>
- <para>
- El siguiente ejemplo muestra como usar una única localidad para la aplicación
- entera.
- </para>
- <programlisting language="ini"><![CDATA[
- ; No matter what, the nl_NL locale will be used.
- resources.locale.default = "nl_NL"
- resources.locale.force = true
- ]]></programlisting>
- </example>
- </sect3>
- </sect2>
|