<?xml version="1.0" encoding="UTF-8"?>
<!-- EN-Revision: 17175 -->
<!-- Reviewed: no -->
<sect1 id="zend.translate.migration">

    <title>Migration von vorhergehenden Versionen</title>

    <para>
        Die <acronym>API</acronym> von <classname>Zend_Translate</classname> wurde von Zeit zu Zeit
        verändert. Wenn man bereits angefangen hat <classname>Zend_Translate</classname> und dessen
        Subkomponenten in vorhergehenden Versionen zu verwenden sollte man den anbei beschriebenen
        Richtlinien folgen um eigene Skripts auf die neue <acronym>API</acronym> zu migrieren.
    </para>

    <sect2 id="zend.translate.migration.fromonesixtooneseven">
        <title>Migrieren von 1.6 zu 1.7 oder neuer</title>
        <sect3 id="zend.translate.migration.fromonesixtooneseven.languages">
            <title>Setzen von Sprachen</title>

            <para>
                Wenn man die automatische Erkennung von Sprachen verwendet, oder Sprachen manuell
                auf <classname>Zend_Translate</classname> setzt kann es sein das man von Zeit zu
                Zeit eine Notiz geworfen bekommen die über nicht hinzugefügte oder leere
                Übersetzungen schreibt. In einigen vorhergehenden Releases wurde in einigen Fällen
                auch eine Exception geworfen.
            </para>

            <para>
                Der Grund ist, das wenn ein Benutzer eine nicht existierende Sprache anfragt, man
                einfach keinen Weg hat um festzustellen was falsch ist. Deswegen haben wir diese
                Notizen hinzugefügt die einem in den eigenen Logs zeigen das der Benutzer eine
                Sprache angefragt hat die man nicht unterstützt. Es ist zu beachten das der Code,
                selbst wenn eine Notiz getriggert wird, weiterhin ohne Probleme arbeitet.
            </para>

            <para>
                Aber wenn man einen eigenen Fehler oder Exception Handler, wie XDebug, verwendet
                wird man alle Notizen zurückerhalten, selbst wenn man das nicht gewollt hat. Das ist
                der Fall, weil diese Handler alle Einstellungen von <acronym>PHP</acronym> selbst
                überschreiben.
            </para>

            <para>
                Um diese Notizen wegzubekommen kann man einfach die neue Option 'disableNotices' auf
                true setzen. Der Standardwert ist false.
            </para>

            <example id="zend.translate.migration.fromonesixtooneseven.example">
                <title>Setzen von Sprachen ohne das man Notizen erhält</title>

                <para>
                    Nehmen wir an das wir 'en' vorhanden haben und unser Benutzer 'fr' anfragt was
                    nicht in unserem Portfolio der übersetzten Sprachen ist.
                </para>

                <programlisting language="php"><![CDATA[
$language = new Zend_Translate('gettext',
                               '/path/to/translations',
                               'auto');
]]></programlisting>

                <para>
                    In diesem Fall werden wir eine Notiz darüber erhalten das die Sprache 'fr' nicht
                    vorhanden ist. Durch das einfache Hinzufügen der Option wird die Notiz
                    abgeschaltet.
                </para>

                <programlisting language="php"><![CDATA[
$language = new Zend_Translate('gettext',
                               '/path/to/translations',
                               'auto',
                               array('disableNotices' => true));
]]></programlisting>

            </example>

        </sect3>
    </sect2>
</sect1>
