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

    <title>Migration von vorhergehenden Versionen</title>

    <para>
        Die API 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
        API 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 PHP 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 role="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 role="php"><![CDATA[
$language = new Zend_Translate('gettext',
                               '/path/to/translations',
                               'auto',
                               array('disableNotices' => true));
]]></programlisting>

            </example>

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