Zend_Application-AvailableResources-Locale.xml 5.9 KB

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