| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193 |
- <?xml version="1.0" encoding="UTF-8"?>
- <!-- EN-Revision: 17175 -->
- <!-- Reviewed: no -->
- <sect1 id="zend.locale.migration">
- <title>Migrer à partir des versions précédentes</title>
- <para>
- L'API de <classname>Zend_Locale</classname> a changé au cours du temps. Si vous avez
- commencé à utiliser <classname>Zend_Locale</classname> et ses sous-composants avec les
- versions précédentes, suivez les lignes directrices ci-dessous pour migrer vos scripts et
- ainsi utiliser la nouvelle <acronym>API</acronym>.
- </para>
- <sect2 id="zend.locale.migration.fromoneeighttoonenine">
- <title>Migrer de la version 1.8 vers 1.9 ou plus récent</title>
- <sect3 id="zend.locale.migration.fromoneeighttoonenine.depreciated">
- <title>Méthodes dépréciées</title>
- <para>
- Quelques méthodes de traductions spéciales ont été dépréciées car elles dupliquaient
- un comportement existant. Notez cependant que les anciens appels vont toujours
- fonctionner, mais une notice utilisateur, qui décrira le nouvel appel, sera émise.
- Ces méthodes seront effacées en 2.0. Ci-dessous la liste des anciens et nouveaux
- appels :
- </para>
- <table id="zend.locale.migration.fromoneeighttoonenine.depreciated.table-1">
- <title>Liste des types de mesures</title>
- <tgroup cols="2">
- <thead>
- <row>
- <entry>Ancien appel</entry>
- <entry>Nouvel appel</entry>
- </row>
- </thead>
- <tbody>
- <row>
- <entry>getLanguageTranslationList($locale)</entry>
- <entry>getTranslationList('language', $locale)</entry>
- </row>
- <row>
- <entry>getScriptTranslationList($locale)</entry>
- <entry>getTranslationList('script', $locale)</entry>
- </row>
- <row>
- <entry>getCountryTranslationList($locale)</entry>
- <entry>getTranslationList('territory', $locale, 2)</entry>
- </row>
- <row>
- <entry>getTerritoryTranslationList($locale)</entry>
- <entry>getTranslationList('territory', $locale, 1)</entry>
- </row>
- <row>
- <entry>getLanguageTranslation($value, $locale)</entry>
- <entry>getTranslation($value, 'language', $locale)</entry>
- </row>
- <row>
- <entry>getScriptTranslation($value, $locale)</entry>
- <entry>getTranslation($value, 'script', $locale)</entry>
- </row>
- <row>
- <entry>getCountryTranslation($value, $locale)</entry>
- <entry>getTranslation($value, 'country', $locale)</entry>
- </row>
- <row>
- <entry>getTerritoryTranslation($value, $locale)</entry>
- <entry>getTranslation($value, 'territory', $locale)</entry>
- </row>
- </tbody>
- </tgroup>
- </table>
- </sect3>
- </sect2>
- <sect2 id="zend.locale.migration.fromonesixtooneseven">
- <title>Migrer de la version 1.6 vers 1.7 ou plus récent</title>
- <sect3 id="zend.locale.migration.fromonesixtooneseven.islocale">
- <title>Changement dans l'utilisation de isLocale()</title>
- <para>
- Conformément aux standards de codage <methodname>isLocale()</methodname> a été changé pour
- retourner un booléen. Dans les versions précédentes une chaîne était retournée lors
- du succès. Pour la version 1.7 un mode de compatibilité a été ajouté qui vous permet
- d'utiliser l'ancien comportement (avec une chaîne retournée), mais ceci émet un
- warning pour vous informer de changer vers le nouveau comportement. Le reroutage que
- l'ancien comportement de <methodname>isLocale()</methodname> pouvait avoir à faire n'est plus
- nécessaire car tous les composants de l'I18N traiteront maintenant eux-mêmes le
- reroutage.
- </para>
- <para>
- Pour migrer vos scripts vers la nouvelle <acronym>API</acronym>, utilisez simplement la méthode
- décrite ci-dessous.
- </para>
- <example id="zend.locale.migration.fromonesixtooneseven.example">
- <title>Comment changer l'appel de isLocale() de 1.6 vers 1.7 ?</title>
- <programlisting language="php"><![CDATA[
- // Exemple pour ZF 1.6
- if ($locale = Zend_Locale::isLocale($locale)) {
- // faire qqch
- }
- // Même exemple pour ZF 1.7
- // Vous devez changer le mode de compatibilité pour empêcher l'émission de warning
- // Mais ceci peut être fait dans votre bootstrap
- Zend_Locale::$compatibilityMode = false;
- if (Zend_Locale::isLocale($locale)) {
- }
- ]]></programlisting>
- <para>
- Notez que vous pouvez utiliser le second paramètre pour voir si la locale
- est correcte sans nécessiter de reroutage.
- </para>
- <programlisting language="php"><![CDATA[
- // Exemple pour ZF 1.6
- if ($locale = Zend_Locale::isLocale($locale, false)) {
- // do something
- }
- // Même exemple pour ZF 1.7
- // Vous devez changer le mode de compatibilité pour empêcher l'émission de warning
- // Mais ceci peut être fait dans votre bootstrap
- Zend_Locale::$compatibilityMode = false;
- if (Zend_Locale::isLocale($locale, false)) {
- if (Zend_Locale::isLocale($locale, true)) {
- // pas de locale du tout
- }
- // original string is no locale but can be rerouted
- }
- ]]></programlisting>
- </example>
- </sect3>
- <sect3 id="zend.locale.migration.fromonesixtooneseven.getdefault">
- <title>Changement dans l'utilisation de getDefault()</title>
- <para>
- La signification de la méthode <methodname>getDefault()</methodname> a été changé étant
- donné que nous avons intégré une locale de framework qui peut être paramétrée avec
- <methodname>setDefault()</methodname>. Ceci ne renvoie plus la chaîne de la locale mais
- seulement la locale du framework.
- </para>
- <para>
- Pour migrer vos scripts vers la nouvelle <acronym>API</acronym>, utilisez simplement la méthode
- décrite ci-dessous.
- </para>
- <example id="zend.locale.migration.fromonesixtooneseven.getdefault.example">
- <title>Comment changer l'appel de getDefaut() de 1.6 vers 1.7 ?</title>
- <programlisting language="php"><![CDATA[
- // Exemple pour ZF 1.6
- $locales = $locale->getDefault(Zend_Locale::BROWSER);
- // Même exemple pour ZF 1.7
- // Vous devez changer le mode de compatibilité pour empêcher l'émission de warning
- // Mais ceci peut être fait dans votre bootstrap
- Zend_Locale::$compatibilityMode = false;
- $locale = Zend_Locale::getOrder(Zend_Locale::BROWSER);
- ]]></programlisting>
- <para>
- Notez que le second paramètre de l'ancienne implémentation de
- <methodname>getDefault()</methodname> n'est plus disponible non plus, mais les valeurs
- retournées sont les mêmes.
- </para>
- </example>
- <note>
- <para>
- Par défaut l'ancien comportement est toujours actif, mais émet un warning.
- Quand vous avez changé votre code vers le nouveau comportement, vous devriez
- aussi changer le mode de compatibilité à <constant>FALSE</constant> ainsi aucun nouveau
- warning ne sera émis.
- </para>
- </note>
- </sect3>
- </sect2>
- </sect1>
|