Zend_Application-AvailableResources-Locale.xml 7.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 24604 -->
  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> peut être utilisé pour paramétrer
  8. de manière globale la région dans une application qui sera alors utilisée par toutes les
  9. classes et les composants qui travaille avec la localisation et l'internationalisation.
  10. Par défaut la locale est sauvegardée dans une entrée de <classname>Zend_Registry</classname>
  11. avec la clé '<property>Zend_Locale</property>'.
  12. </para>
  13. <para>
  14. Il y a basiquement trois cas d'utilisation du plugin de ressource Locale. Chacun pouvant
  15. être utilisé suivant les besoins de votre application.
  16. </para>
  17. <sect3 id="zend.application.available-resources.locale.auto">
  18. <title>Autodétection de la locale à utiliser</title>
  19. <para>
  20. Sans spécifier d'options pour
  21. <classname>Zend_Application_Resource_Locale</classname>,
  22. <classname>Zend_Locale</classname> va détecter automatiquement la locale, que votre
  23. application va utiliser.
  24. </para>
  25. <para>
  26. Cette détection fonctionne car votre client émet la langue souhaitée à l'intérieur
  27. de sa requête <acronym>HTTP</acronym>. Normalement le navigateur client envoie
  28. les langues qu'il accepte de voir, et <classname>Zend_Locale</classname> utilise
  29. cette information pour la détection.
  30. </para>
  31. <para>
  32. Mais il y a deux problèmes avec cette approche&#160;:
  33. </para>
  34. <itemizedlist>
  35. <listitem>
  36. <para>
  37. Le navigateur pourrait ne paramétrer aucune langue
  38. </para>
  39. </listitem>
  40. <listitem>
  41. <para>
  42. L'utilisateur pourrait avoir manuellement paramétrer une locale qui n'existe pas
  43. </para>
  44. </listitem>
  45. </itemizedlist>
  46. <para>
  47. Dans ces deux cas <classname>Zend_Locale</classname> reviendra vers d'autres
  48. mécanismes pour détecter la locale&#160;:
  49. </para>
  50. <itemizedlist>
  51. <listitem>
  52. <para>
  53. Quand une locale inexistante a été fournie, <classname>Zend_Locale</classname>
  54. essaie de réduire la chaîne.
  55. </para>
  56. <para>
  57. Quand, par exemple, <emphasis>fr_ZZ</emphasis> a été paramétré, il est
  58. automatiquement réduit en <emphasis>fr</emphasis>. Dans ce cas
  59. <emphasis>fr</emphasis> sera utilisé en tant que locale pour votre application.
  60. </para>
  61. </listitem>
  62. <listitem>
  63. <para>
  64. Quand la locale ne peut pas non plus être reconnue même après réduction, la
  65. locale de votre environnement (serveur Web) sera utilisée. La plupart des
  66. environnements des hébergeurs utilise <emphasis>en</emphasis> en tant que
  67. locale.
  68. </para>
  69. </listitem>
  70. <listitem>
  71. <para>
  72. Quand la locale de l'environnement ne peut pas non plus être détectée,
  73. <classname>Zend_Locale</classname> utilisera sa locale par défaut, qui
  74. est par défaut <emphasis>en</emphasis>.
  75. </para>
  76. </listitem>
  77. </itemizedlist>
  78. <para>
  79. Pour de plus amples informations concernant la détection des locales, lisez <link
  80. linkend="zend.locale.selection.automatic">le chapitre sur la déctection automatique
  81. avec Zend_Locale</link>.
  82. </para>
  83. </sect3>
  84. <sect3 id="zend.application.available-resources.locale.fallback">
  85. <title>Autodétection de la locale avec ajout de votre propre valeur par défaut</title>
  86. <para>
  87. L'autodétection ci-dessus peut entraîner des problèmes quand la locale ne peut pas être
  88. détectée et que vous souhaitez une autre locale par défaut que <emphasis>en</emphasis>.
  89. Pour empêcher ceci, <classname>Zend_Application_Resource_Locale</classname> vous permet
  90. de paramétrer votre propre locale qui sera utilisée si aucune locale ne peut être
  91. détectée.
  92. </para>
  93. <example id="zend.application.available-resources.locale.configExampleDetectAndFallback">
  94. <title>Autodétecter la locale et paramétrer une valeur par défaut</title>
  95. <para>
  96. L'extrait suivant montre comment spécifier sa propre locale utilisée si le client
  97. n'envoie pas lui-même une locale.
  98. </para>
  99. <programlisting language="ini"><![CDATA[
  100. ; tentative de détection automatique,
  101. ; si impossible alors on prend fr_FR.
  102. resources.locale.default = "fr_FR"
  103. ]]></programlisting>
  104. </example>
  105. </sect3>
  106. <sect3 id="zend.application.available-resources.locale.forcing">
  107. <title>Forcer l'utilisation d'une locale</title>
  108. <para>
  109. Parfois il peut être pratique de définir la locale qui devra être utilisée. Ceci peut
  110. être fait en utilisant l'option <property>force</property>.
  111. </para>
  112. <para>
  113. Dans ce cas, cette locale seule sera utilisée et la détection automatique sera
  114. désactivée.
  115. </para>
  116. <example id="zend.application.available-resources.locale.configExampleFallbackOnly">
  117. <title>Définition de la locale à utiliser</title>
  118. <para>
  119. L'extrait suivant montre comment spécifier la locale à utiliser pour toute votre
  120. application.
  121. </para>
  122. <programlisting language="ini"><![CDATA[
  123. ; dans tous les cas, fr_FR doit être utilisé
  124. resources.locale.default = "fr_FR"
  125. resources.locale.force = true
  126. ]]></programlisting>
  127. </example>
  128. </sect3>
  129. <sect3 id="zend.application.available-resources.locale.cache">
  130. <title>Configurer le modèle de cache</title>
  131. <para>
  132. Lorsque vous ne définissez pas de cache, <classname>Zend_Locale</classname> définit son
  133. propre cache avec le backend fichier par défaut. Cependant, vous pouvez utiliser un nom
  134. de modèle du gestionnaire de cache, ou une instance de
  135. <classname>Zend_Cache_Core</classname>, pour choisir le backend, ou d'autres options.
  136. Pour plus d'informations, veuillez vous reporter à <xref linkend="zend.locale.cache" />.
  137. </para>
  138. <example id="zend.application.available-resources.locale.configExampleCache">
  139. <title>Définition du cache avec un modèle du gestionnaire</title>
  140. <programlisting language="ini"><![CDATA[
  141. ; Optionnellement, on peut utiliser un modèle du gestionnaire de cache :
  142. resources.locale.cache = "locale"
  143. ]]></programlisting>
  144. </example>
  145. </sect3>
  146. </sect2>