Zend_Locale-Migration.xml 8.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!-- EN-Revision: 17175 -->
  3. <!-- Reviewed: no -->
  4. <sect1 id="zend.locale.migration">
  5. <title>Migrer à partir des versions précédentes</title>
  6. <para>
  7. L'API de <classname>Zend_Locale</classname> a changé au cours du temps. Si vous avez
  8. commencé à utiliser <classname>Zend_Locale</classname> et ses sous-composants avec les
  9. versions précédentes, suivez les lignes directrices ci-dessous pour migrer vos scripts et
  10. ainsi utiliser la nouvelle <acronym>API</acronym>.
  11. </para>
  12. <sect2 id="zend.locale.migration.fromoneeighttoonenine">
  13. <title>Migrer de la version 1.8 vers 1.9 ou plus récent</title>
  14. <sect3 id="zend.locale.migration.fromoneeighttoonenine.depreciated">
  15. <title>Méthodes dépréciées</title>
  16. <para>
  17. Quelques méthodes de traductions spéciales ont été dépréciées car elles dupliquaient
  18. un comportement existant. Notez cependant que les anciens appels vont toujours
  19. fonctionner, mais une notice utilisateur, qui décrira le nouvel appel, sera émise.
  20. Ces méthodes seront effacées en 2.0. Ci-dessous la liste des anciens et nouveaux
  21. appels&#160;:
  22. </para>
  23. <table id="zend.locale.migration.fromoneeighttoonenine.depreciated.table-1">
  24. <title>Liste des types de mesures</title>
  25. <tgroup cols="2">
  26. <thead>
  27. <row>
  28. <entry>Ancien appel</entry>
  29. <entry>Nouvel appel</entry>
  30. </row>
  31. </thead>
  32. <tbody>
  33. <row>
  34. <entry>getLanguageTranslationList($locale)</entry>
  35. <entry>getTranslationList('language', $locale)</entry>
  36. </row>
  37. <row>
  38. <entry>getScriptTranslationList($locale)</entry>
  39. <entry>getTranslationList('script', $locale)</entry>
  40. </row>
  41. <row>
  42. <entry>getCountryTranslationList($locale)</entry>
  43. <entry>getTranslationList('territory', $locale, 2)</entry>
  44. </row>
  45. <row>
  46. <entry>getTerritoryTranslationList($locale)</entry>
  47. <entry>getTranslationList('territory', $locale, 1)</entry>
  48. </row>
  49. <row>
  50. <entry>getLanguageTranslation($value, $locale)</entry>
  51. <entry>getTranslation($value, 'language', $locale)</entry>
  52. </row>
  53. <row>
  54. <entry>getScriptTranslation($value, $locale)</entry>
  55. <entry>getTranslation($value, 'script', $locale)</entry>
  56. </row>
  57. <row>
  58. <entry>getCountryTranslation($value, $locale)</entry>
  59. <entry>getTranslation($value, 'country', $locale)</entry>
  60. </row>
  61. <row>
  62. <entry>getTerritoryTranslation($value, $locale)</entry>
  63. <entry>getTranslation($value, 'territory', $locale)</entry>
  64. </row>
  65. </tbody>
  66. </tgroup>
  67. </table>
  68. </sect3>
  69. </sect2>
  70. <sect2 id="zend.locale.migration.fromonesixtooneseven">
  71. <title>Migrer de la version 1.6 vers 1.7 ou plus récent</title>
  72. <sect3 id="zend.locale.migration.fromonesixtooneseven.islocale">
  73. <title>Changement dans l'utilisation de isLocale()</title>
  74. <para>
  75. Conformément aux standards de codage <methodname>isLocale()</methodname> a été changé pour
  76. retourner un booléen. Dans les versions précédentes une chaîne était retournée lors
  77. du succès. Pour la version 1.7 un mode de compatibilité a été ajouté qui vous permet
  78. d'utiliser l'ancien comportement (avec une chaîne retournée), mais ceci émet un
  79. warning pour vous informer de changer vers le nouveau comportement. Le reroutage que
  80. l'ancien comportement de <methodname>isLocale()</methodname> pouvait avoir à faire n'est plus
  81. nécessaire car tous les composants de l'I18N traiteront maintenant eux-mêmes le
  82. reroutage.
  83. </para>
  84. <para>
  85. Pour migrer vos scripts vers la nouvelle <acronym>API</acronym>, utilisez simplement la méthode
  86. décrite ci-dessous.
  87. </para>
  88. <example id="zend.locale.migration.fromonesixtooneseven.example">
  89. <title>Comment changer l'appel de isLocale() de 1.6 vers 1.7 ?</title>
  90. <programlisting language="php"><![CDATA[
  91. // Exemple pour ZF 1.6
  92. if ($locale = Zend_Locale::isLocale($locale)) {
  93. // faire qqch
  94. }
  95. // Même exemple pour ZF 1.7
  96. // Vous devez changer le mode de compatibilité pour empêcher l'émission de warning
  97. // Mais ceci peut être fait dans votre bootstrap
  98. Zend_Locale::$compatibilityMode = false;
  99. if (Zend_Locale::isLocale($locale)) {
  100. }
  101. ]]></programlisting>
  102. <para>
  103. Notez que vous pouvez utiliser le second paramètre pour voir si la locale
  104. est correcte sans nécessiter de reroutage.
  105. </para>
  106. <programlisting language="php"><![CDATA[
  107. // Exemple pour ZF 1.6
  108. if ($locale = Zend_Locale::isLocale($locale, false)) {
  109. // do something
  110. }
  111. // Même exemple pour ZF 1.7
  112. // Vous devez changer le mode de compatibilité pour empêcher l'émission de warning
  113. // Mais ceci peut être fait dans votre bootstrap
  114. Zend_Locale::$compatibilityMode = false;
  115. if (Zend_Locale::isLocale($locale, false)) {
  116. if (Zend_Locale::isLocale($locale, true)) {
  117. // pas de locale du tout
  118. }
  119. // original string is no locale but can be rerouted
  120. }
  121. ]]></programlisting>
  122. </example>
  123. </sect3>
  124. <sect3 id="zend.locale.migration.fromonesixtooneseven.getdefault">
  125. <title>Changement dans l'utilisation de getDefault()</title>
  126. <para>
  127. La signification de la méthode <methodname>getDefault()</methodname> a été changé étant
  128. donné que nous avons intégré une locale de framework qui peut être paramétrée avec
  129. <methodname>setDefault()</methodname>. Ceci ne renvoie plus la chaîne de la locale mais
  130. seulement la locale du framework.
  131. </para>
  132. <para>
  133. Pour migrer vos scripts vers la nouvelle <acronym>API</acronym>, utilisez simplement la méthode
  134. décrite ci-dessous.
  135. </para>
  136. <example id="zend.locale.migration.fromonesixtooneseven.getdefault.example">
  137. <title>Comment changer l'appel de getDefaut() de 1.6 vers 1.7 ?</title>
  138. <programlisting language="php"><![CDATA[
  139. // Exemple pour ZF 1.6
  140. $locales = $locale->getDefault(Zend_Locale::BROWSER);
  141. // Même exemple pour ZF 1.7
  142. // Vous devez changer le mode de compatibilité pour empêcher l'émission de warning
  143. // Mais ceci peut être fait dans votre bootstrap
  144. Zend_Locale::$compatibilityMode = false;
  145. $locale = Zend_Locale::getOrder(Zend_Locale::BROWSER);
  146. ]]></programlisting>
  147. <para>
  148. Notez que le second paramètre de l'ancienne implémentation de
  149. <methodname>getDefault()</methodname> n'est plus disponible non plus, mais les valeurs
  150. retournées sont les mêmes.
  151. </para>
  152. </example>
  153. <note>
  154. <para>
  155. Par défaut l'ancien comportement est toujours actif, mais émet un warning.
  156. Quand vous avez changé votre code vers le nouveau comportement, vous devriez
  157. aussi changer le mode de compatibilité à <constant>FALSE</constant> ainsi aucun nouveau
  158. warning ne sera émis.
  159. </para>
  160. </note>
  161. </sect3>
  162. </sect2>
  163. </sect1>