<?xml version="1.0" encoding="UTF-8"?>
<!-- EN-Revision: 17175 -->
<!-- Reviewed: no -->
<sect1 id="zend.translate.migration">
    <title>Migrer à partir des versions précédentes</title>

    <para>
        L'API de <classname>Zend_Translate</classname> a changé au cours du temps. Si vous
        avez commencé à utiliser <classname>Zend_Translate</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.translate.migration.fromonesixtooneseven">
        <title>Migrer de la version 1.6 vers 1.7 ou plus récent</title>

        <sect3 id="zend.translate.migration.fromonesixtooneseven.languages">
            <title>Paramétrer les langues</title>

            <para>
                Lors de l'utilisation de la détection automatique des langues, ou du réglage
                manuel des langues de <classname>Zend_Translate</classname>, vous avez peut-être
                remarqué que de temps en temps une notice est envoyée concernant le non-ajout de
                traductions vides. Dans certaines versions précédentes, une exception était levée
                dans certains cas.
            </para>

            <para>
                Ceci intervient quand un utilisateur requête une langue non existante, vous
                n'avez alors aucun moyen simple de détecter ce qui ne va pas. Nous avons donc ajouté
                ces notices qui apparaîtront dans votre historisation et qui vous diront qu'un
                utilisateur a requêté une langue que vous ne supportez pas. Notez bien que votre
                code, même si une notice est déclenchée, fonctionnera sans problèmes.
            </para>

            <para>
                Mais quand vous utilisez votre propre gestionnaire d'erreur ou d'exception,
                comme xDebug, toutes les notices vous seront retournées, même si ce n'est pas votre
                intention initiale. Ceci est du au fait, que ces gestionnaires surchargent tous les
                réglages internes de <acronym>PHP</acronym>.
            </para>

            <para>
                Pour vous affranchir de ces notices, vous pouvez simplement paramétrer la
                nouvelle option <code>disableNotices</code> à <constant>TRUE</constant>, sa valeur par
                défaut étant <constant>FALSE</constant>.
            </para>

            <example id="zend.translate.migration.fromonesixtooneseven.example">
                <title>Paramétrer les langues sans avoir de notices</title>

                <para>
                    Assumons que "<code>fr</code>" soit disponible et qu'un utilisateur
                    requête pour "<code>de</code>" qui ne fait pas partie de votre portefeuille de
                    traductions.
                </para>

                <programlisting language="php"><![CDATA[
$language = new Zend_Translate('gettext',
                               '/chemin/vers/les/traductions',
                               'auto');
]]></programlisting>

                <para>
                    Dans ce cas nous aurons une notice indiquant la non-disponibilité de la
                    langue "<code>de</code>". Ajoutez simplement l'option et les notices seront
                    désactivées.
                </para>

                <programlisting language="php"><![CDATA[
$language = new Zend_Translate('gettext',
                               '/chemin/vers/les/traductions',
                               'auto',
                               array('disableNotices' => true));
]]></programlisting>
            </example>
        </sect3>
    </sect2>
</sect1>