Zend_Application-AvailableResources-Locale.xml 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 24249 -->
  3. <!-- Reviewed: no -->
  4. <sect2 id="zend.application.available-resources.locale">
  5. <title>Zend_Application_Resource_Locale</title>
  6. <para>
  7. <classname>Zend_Application_Resource_Locale</classname> puede ser usado para configurar
  8. una localidad en el ámbito de una aplicación entera. Ésta localidad es usada en todas las
  9. clases y componentes que trabajen con localización o internacionalización. Por defecfto
  10. la localidad es guardada en una entrada en
  11. <classname>Zend_Registry</classname> baje la
  12. clave '
  13. <property>Zend_Locale</property>'.
  14. </para>
  15. <para>
  16. Hay básicamente tres casos de uso para el Locale Resource Plugin. Cada uno deberá ser usado
  17. dependiendo de la necesidad de la apliación.
  18. </para>
  19. <sect3 id="zend.application.available-resources.locale.auto">
  20. <title>Autodetectando la localidad a usar</title>
  21. <para>
  22. Sin especificar ninguna opción para
  23. <classname>Zend_Application_Resource_Locale</classname>,
  24. <classname>Zend_Locale</classname> detectará la localidad y la aplicación la usará
  25. automaticamente.
  26. </para>
  27. <para>
  28. Ésta detección funciona porque el cliente envía el idioma deseado en su pedido
  29. <acronym>HTTP</acronym>. Normalmente el navegador envía los idiomas que desea ver
  30. y
  31. <classname>Zend_Locale</classname> usa esta información para la detección.
  32. </para>
  33. <para>
  34. Pero hay dos problemas con este enfoque:
  35. </para>
  36. <itemizedlist>
  37. <listitem>
  38. <para>
  39. El navegador podría estar configurado para no enviar el idioma
  40. </para>
  41. </listitem>
  42. <listitem>
  43. <para>
  44. El usuario podría haber configurado manualmente una localidad que no exista
  45. </para>
  46. </listitem>
  47. </itemizedlist>
  48. <para>
  49. En ambos casos
  50. <classname>Zend_Locale</classname> se apoyará en otros mecanismos
  51. para realizar la detección de la localidad:
  52. </para>
  53. <itemizedlist>
  54. <listitem>
  55. <para>
  56. Cuando se configuró una localidad que no existe,
  57. <classname>Zend_Locale</classname> trata de degradar la cadena.
  58. </para>
  59. <para>
  60. Cuando, por ejemplo se configura
  61. <emphasis>en_ZZ</emphasis>, automáticamente
  62. será degradado a
  63. <emphasis>en</emphasis>. En este caso
  64. <emphasis>en</emphasis>
  65. será usado como la localidad de la aplicación.
  66. </para>
  67. </listitem>
  68. <listitem>
  69. <para>
  70. Cuando la localidad tampoco haya podido ser detectada incluso degradando la
  71. cadena, la localidad de su entorno (servidor web) será usada. La mayoría de
  72. los entornos disponibles en la web usan
  73. <emphasis>en</emphasis> como localidad.
  74. </para>
  75. </listitem>
  76. <listitem>
  77. <para>
  78. Cuando la localidad del sistema no se haya podido detectar,
  79. <classname>Zend_Locale</classname> usara su localidad por defecto, que está
  80. configurada como
  81. <emphasis>en</emphasis>.
  82. </para>
  83. </listitem>
  84. </itemizedlist>
  85. <para>
  86. Para más información acerda de la detección de localidad, vea
  87. <link
  88. linkend="zend.locale.selection.automatic">este capitulo acerca de detección automática
  89. de Zend_Locale
  90. </link>
  91. </para>
  92. </sect3>
  93. <sect3 id="zend.application.available-resources.locale.fallback">
  94. <title>Autodetectando la localidad y agregando su mecanismo propio de reserva</title>
  95. <para>
  96. La detección descrita más arriba podría llegar a provocar problemas cuando la localidad
  97. no haya podido ser detectada y se desea tener otra localidad como defecto que no sea
  98. <emphasis>en</emphasis>. Para prevenir esto,
  99. <classname>Zend_Application_Resource_Locale</classname> permite configurar su propia
  100. localidad, que será usada en el cado de que una localidad no se haya podido detectar.
  101. </para>
  102. <example id="zend.application.available-resources.locale.configExampleDetectAndFallback">
  103. <title>Autodetectar la loclidad configurando un mecanismo de reserva</title>
  104. <para>
  105. El siguiente ejemplo muestra como configurar su propia localidad que será usada
  106. cuando el cliente no especifique ninguna localidad.
  107. </para>
  108. <programlisting language="ini"><![CDATA[
  109. ; Try to determine automatically first,
  110. ; if unsuccessful, use nl_NL as fallback.
  111. resources.locale.default = "nl_NL"
  112. ]]>
  113. </programlisting>
  114. </example>
  115. </sect3>
  116. <sect3 id="zend.application.available-resources.locale.forcing">
  117. <title>Forzando una localidad en particular</title>
  118. <para>
  119. Muchas veces es útil definir una única localidad para ser usada. Esto se puede
  120. conseguir usando la opción
  121. <property>force</property>.
  122. </para>
  123. <para>
  124. En este caso, ésta única localidad será usada y detección automática será desactivada.
  125. </para>
  126. <example id="zend.application.available-resources.locale.configExampleFallbackOnly">
  127. <title>Definiendo una única localidad a ser usada</title>
  128. <para>
  129. El siguiente ejemplo muestra como usar una única localidad para la aplicación
  130. entera.
  131. </para>
  132. <programlisting language="ini"><![CDATA[
  133. ; No matter what, the nl_NL locale will be used.
  134. resources.locale.default = "nl_NL"
  135. resources.locale.force = true
  136. ]]>
  137. </programlisting>
  138. </example>
  139. </sect3>
  140. <sect3 id="zend.application.available-resources.locale.cache">
  141. <title>Configure cache template</title>
  142. <para>
  143. When you have set no cache,
  144. <classname>Zend_Locale</classname> will set itself a cache
  145. with the file backend by default. But if you want to choose the backend or others
  146. options, you can use the name of a cache template or an instance of
  147. <classname>Zend_Cache_Core</classname>.
  148. For more informations look into
  149. <xref linkend="zend.locale.cache" />.
  150. </para>
  151. <example id="zend.application.available-resources.locale.configExampleCache">
  152. <title>Defining a cache template to use</title>
  153. <programlisting language="ini"><![CDATA[
  154. ; Optionally you can also the cache template to use for caching:
  155. resources.locale.cache = "locale"
  156. ]]>
  157. </programlisting>
  158. </example>
  159. </sect3>
  160. </sect2>