| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 24249 -->
- <!-- 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>
-
- <sect3 id="zend.application.available-resources.locale.cache">
- <title>Configure cache template</title>
- <para>
- When you have set no cache,
- <classname>Zend_Locale</classname> will set itself a cache
- with the file backend by default. But if you want to choose the backend or others
- options, you can use the name of a cache template or an instance of
- <classname>Zend_Cache_Core</classname>.
- For more informations look into
- <xref linkend="zend.locale.cache" />.
- </para>
- <example id="zend.application.available-resources.locale.configExampleCache">
- <title>Defining a cache template to use</title>
- <programlisting language="ini"><![CDATA[
- ; Optionally you can also the cache template to use for caching:
- resources.locale.cache = "locale"
- ]]>
- </programlisting>
- </example>
- </sect3>
- </sect2>
|