Browse Source

[DOCUMENTATION] German:

- sync up to r18322

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@18323 44c647ce-9c0f-0410-b52a-842ac1e357ba
thomas 16 years ago
parent
commit
20a8123261

+ 36 - 1
documentation/manual/de/module_specs/Zend_Feed_Reader.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 17618 -->
+<!-- EN-Revision: 18318 -->
 <!-- Reviewed: no -->
 <!-- Reviewed: no -->
 <sect1 id="zend.feed.reader">
 <sect1 id="zend.feed.reader">
     <title>Zend_Feed_Reader</title>
     <title>Zend_Feed_Reader</title>
@@ -374,6 +374,14 @@ $feed = Zend_Feed_Reader::import(
             <acronym>RDF</acronym> oder Atom Feed <acronym>URI</acronym> prüfen kann.
             <acronym>RDF</acronym> oder Atom Feed <acronym>URI</acronym> prüfen kann.
         </para>
         </para>
 
 
+        <para>
+            Das zurückgegebene Objekt ist ein <classname>ArrayObject</classname> welches
+            <classname>Zend_Feed_Reader_FeedSet</classname> heisst, damit es in ein Array gecastet
+            werden kann, oder damit man es iterieren kann um auf alle erkannten Links zuzugreifen.
+            Trotzdem kann man, als einfache Abkürzung, den ersten RSS, RDF oder Atom Link holen
+            indem dessen öffentliche Eigenschaft wie im beiliegenden Beispiel verwendet wird.
+        </para>
+
         <programlisting language="php"><![CDATA[
         <programlisting language="php"><![CDATA[
 $links = Zend_Feed_Reader::findFeedLinks('http://www.planet-php.net');
 $links = Zend_Feed_Reader::findFeedLinks('http://www.planet-php.net');
 
 
@@ -392,6 +400,33 @@ if(isset($links->atom)) {
             Basierend auf diesen Links kann man dann, von welchen Quellen man auch immer will,
             Basierend auf diesen Links kann man dann, von welchen Quellen man auch immer will,
             importieren indem die übliche Vorgehensweise verwendet wird.
             importieren indem die übliche Vorgehensweise verwendet wird.
         </para>
         </para>
+
+        <para>
+            Diese schnelle Methode gibt nur einen Link für jeden Feed Typ zurück, aber Webseiten
+            können viele Links von jedem Typ enthalten. Möglicherweise ist es eine News Site mit
+            einem RSS Feed für jede News Kategorie. Man kann durch alle Links iterieren indem
+            der ArrayObject Iterator verwendet wird.
+        </para>
+
+                <programlisting language="php"><![CDATA[
+$links = Zend_Feed_Reader::findFeedLinks('http://www.planet-php.net');
+
+foreach ($links as $link) {
+    echo $link['href'], "\n";
+}
+]]></programlisting>
+
+        <para>
+            Die möglichen Schlüssel sind <emphasis>href</emphasis>, <emphasis>rel</emphasis> der
+            immer 'alternate' ist, <emphasis>type</emphasis> welcher
+            <code>application/rss+xml</code>, <code>application/rdf+xml</code> oder
+            <code>application/atom+xml</code> ist, und <emphasis>feed</emphasis>.
+            <emphasis>feed</emphasis>. ist nur vorhanden wenn man <classname>ArrayObject</classname>
+            erhält (es also nicht in ein Array castet) und dessen Verwendung führt zu einem
+            Versuch den Feed in eine <classname>Zend_Feed_Reader_FeedAbstract</classname> Instanz
+            zu laden. Das ist ein Versuch des Lazy Loadings - Feeds werden trotzdem geladen sobald
+            man versucht auf Sie zuzugreifen indem diese Methode verwendet wird.
+        </para>
   </sect2>
   </sect2>
 
 
   <sect2 id="zend.feed.reader.retrieve-info">
   <sect2 id="zend.feed.reader.retrieve-info">

+ 649 - 0
documentation/manual/de/module_specs/Zend_Filter-Compress.xml

@@ -0,0 +1,649 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 18311 -->
+<!-- Reviewed: no -->
+<sect2 id="zend.filter.set.compress">
+    <title>Compress und Decompress</title>
+    <para>
+        Diese zwei Filter sind in der Lage Strings, Dateien und Verzeichnisse zu komprimieren und zu
+        dekomprimieren. Sie verwenden Adapter und unterstützen die folgenden Kompressions Formate:
+    </para>
+
+    <itemizedlist>
+        <listitem>
+            <para>
+                <emphasis>Bz2</emphasis>
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis>Gz</emphasis>
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis>Lzf</emphasis>
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis>Rar</emphasis>
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis>Tar</emphasis>
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis>Zip</emphasis>
+            </para>
+        </listitem>
+    </itemizedlist>
+
+    <para>
+        Jedes Kompressions Format hat unterschiedliche Fähigkeiten die anbei beschrieben sind. Alle
+        Kompressions Filter können fast der selben Art und Weise verwendet werden, und unterscheiden
+        sich primär in den vorhandenen Optionen  und der Art der Kompression welche diese anbieten
+        (beide bieten Algorithmen für Strings vs. Dateien vs. Verzeichnisse an)
+    </para>
+
+    <sect3 id="zend.filter.set.compress.generic">
+        <title>Generelle Handhabung</title>
+
+        <para>
+            Um einen Kompressions Filter zu erstellen muss man das Kompressions Format auswählen
+            welches man verwenden will. Die folgende Beschreibung nimmt den <emphasis>Bz2</emphasis>
+            Adapter. Details für alle anderen Adapter werden nach dieser Sektion beschrieben.
+        </para>
+
+        <para>
+            Diese zwei Filter sind grundsätzlich identisch, da Sie das gleiche Backend verwenden.
+            <classname>Zend_Filter_Compress</classname> sollte verwendet werden wenn man Elemente
+            komprimieren will, und <classname>Zend_Filter_Decompress</classname> sollte verwendet
+            werden wenn man Elemente dekomprimieren will.
+        </para>
+
+        <para>
+            Wenn man zum Beispiel einen String komprimieren will, müssen wir
+            <classname>Zend_Filter_Compress</classname> instanziieren und den gewünschten Adapter
+            angeben.
+        </para>
+
+        <programlisting language="php"><![CDATA[
+$filter = new Zend_Filter_Compress('Bz2');
+]]></programlisting>
+
+        <para>
+            Um einen anderen Adapter zu verwenden muss dieser einfach im Constructor spezifiziert
+            werden.
+        </para>
+
+        <para>
+            Man kann auch ein Array von Optionen oder ein <classname>Zend_Config</classname> Objekt
+            anbieten. Wenn man das tut sollte mindestens der Schlüssel "adapter" angegeben werden,
+            und anschließend entweder der Schlüssel "options" oder "adapterOptions" (welches ein
+            Array von Optionen ein sollte das dem Adapter bei der Instanziierung übergeben wird).
+        </para>
+
+        <programlisting language="php"><![CDATA[
+$filter = new Zend_Filter_Compress(array(
+    'adapter' => 'Bz2',
+    'options' => array(
+        'blocksize' => 8,
+    ),
+));
+]]></programlisting>
+
+        <note>
+            <title>Standardmäßiger Kompressions Adapter</title>
+
+            <para>
+                Wenn kein Kompressions Adapter angegeben wird, dann wird der
+                <emphasis>Gz</emphasis> Adapter verwendet.
+            </para>
+        </note>
+
+        <para>
+            Fast die gleiche Verwendung ist die Dekomprimierung eines Strings. Wir müssen in diesem
+            Fall nur den Dekompressions Filter verwenden.
+        </para>
+
+        <programlisting language="php"><![CDATA[
+$filter = new Zend_Filter_Decompress('Bz2');
+]]></programlisting>
+
+        <para>
+            Um einen komprimierten String zu erhalten muss der originale String angegeben werden.
+            Der gefilterte Wert ist die komprimierte Version des originalen Strings.
+        </para>
+
+        <programlisting language="php"><![CDATA[
+$filter     = new Zend_Filter_Compress('Bz2');
+$compressed = $filter->filter('Uncompressed string');
+// Gibt den komprimierten String zurück
+]]></programlisting>
+
+        <para>
+            Dekomprimierung funktioniert auf die gleiche Weise.
+        </para>
+
+        <programlisting language="php"><![CDATA[
+$filter     = new Zend_Filter_Decompress('Bz2');
+$compressed = $filter->filter('Compressed string');
+// Gibt den dekomprimierten String zurück
+]]></programlisting>
+
+        <note>
+            <title>Hinweis zur Komprimierung von Strings</title>
+
+            <para>
+                Nicht alle Adapter unterstützen die Kompression von Strings. Kompressions Formate
+                wie <emphasis>Rar</emphasis> können nur Dateien und Verzeichnisse verarbeiten. Für
+                Details muss man in die Sektion für den Adapter gesehen werden den man verwenden
+                will.
+            </para>
+        </note>
+    </sect3>
+
+    <sect3 id="zend.filter.set.compress.archive">
+        <title>Ein Archiv erstellen</title>
+
+        <para>
+            Die Erstellung einer Archivedatei arbeitet fast auf die gleiche Weise wie die
+            Komprimierung eines Strings. Trotzdem benötigen wir in diesem Fall einen zusätzlichen
+            Parameter welcher den Namen des Archivs enthält welches wir erstellen wollen.
+        </para>
+
+        <programlisting language="php"><![CDATA[
+$filter     = new Zend_Filter_Compress(array(
+    'adapter' => 'Bz2',
+    'options' => array(
+        'archive' => 'filename.bz2',
+    ),
+));
+$compressed = $filter->filter('Uncompressed string');
+// Gibt bei Erfolg true zurück und erstellt die Archiv Datei
+]]></programlisting>
+
+        <para>
+            Im obigen Beispeil wird der unkomprimierte String komprimiert, und wird dann in die
+            angegebene Archiv Datei geschrieben.
+        </para>
+
+        <note>
+            <title>Existierende Archive werden überschrieben</title>
+
+            <para>
+                Der Inhalt einer existierenden Datei wird überschrieben wenn der angegebene
+                Dateiname des Archivs bereits existiert.
+            </para>
+        </note>
+
+        <para>
+            Wenn man eine Datei komprimieren will, dann muss man den Namen der Datei mit dessen Pfad
+            angeben.
+        </para>
+
+        <programlisting language="php"><![CDATA[
+$filter     = new Zend_Filter_Compress(array(
+    'adapter' => 'Bz2',
+    'options' => array(
+        'archive' => 'filename.bz2'
+    ),
+));
+$compressed = $filter->filter('C:\temp\compressme.txt');
+// Gibt bei Erfolg true zurück und erstellt die Archiv Datei
+]]></programlisting>
+
+        <para>
+            Man kann auch ein Verzeichnis statt einem Dateinamen spezifizieren. In diesem Fall wird
+            das gesamte Verzeichnis mit allen seinen Dateien und Unterverzeichnissen in das Archiv
+            komprimiert.
+        </para>
+
+        <programlisting language="php"><![CDATA[
+$filter     = new Zend_Filter_Compress(array(
+    'adapter' => 'Bz2',
+    'options' => array(
+        'archive' => 'filename.bz2'
+    ),
+));
+$compressed = $filter->filter('C:\temp\compressme.txt');
+// Gibt bei Erfolg true zurück und erstellt die Archiv Datei
+]]></programlisting>
+
+        <note>
+            <title>Keine großen oder Basisverzeichnisse komprimieren</title>
+
+            <para>
+                Man sollte niemals große oder Basisverzeichnisse wie eine komplette Partition
+                komprimieren. Die Komprimierung einer kompletten Partition ist ein sehr
+                Zeitintensiver Task welcher zu massiven Problemen auf dem Server führen kann,
+                wenn es nicht genug Platz gibt, oder das eigene Skript zu viel Zeit benötigt.
+            </para>
+        </note>
+    </sect3>
+
+    <sect3 id="zend.filter.set.compress.decompress">
+        <title>Ein Archiv dekomprimieren</title>
+
+        <para>
+            Die Dekomprimierung einer Archivdatei arbeitet fast wie dessen Komprimierung. Man muss
+            entweder die Eigenschaft <property>archive</property> spezifizieren, oder den Dateinamen
+            des Archivs angeben wenn man die Datei dekomprimiert.
+        </para>
+
+        <programlisting language="php"><![CDATA[
+$filter     = new Zend_Filter_Decompress('Bz2');
+$compressed = $filter->filter('filename.bz2');
+// Gibt bei Erfolg true zurück und dekomprimiert die Archiv Datei
+]]></programlisting>
+
+        <para>
+            Einige Adapter unterstützen die Dekomprimierung des Archivs in ein anderes
+            Unterverzeichnis. In diesem Fall kann der Parameter <property>target</property>
+            spezifiziert werden.
+        </para>
+
+        <programlisting language="php"><![CDATA[
+$filter     = new Zend_Filter_Decompress(array(
+    'adapter' => 'Zip',
+    'options' => array(
+        'target' => 'C:\temp',
+    )
+));
+$compressed = $filter->filter('filename.zip');
+// Gibt bei Erfolg true zurück und dekomprimiert die Archiv Datei
+// in das angegebene Zielverzeichnis
+]]></programlisting>
+
+        <note>
+            <title>Verzeichnisse in welche extrahiert werden soll müssen existieren</title>
+
+            <para>
+                Wenn man ein Archiv in ein Verzeichnis dekomprimieren will, dann muss dieses
+                Verzeichnis existieren.
+            </para>
+        </note>
+    </sect3>
+
+    <sect3 id="zend.filter.set.compress.bz2">
+        <title>Bz2 Adapter</title>
+
+        <para>
+            Der Bz2 Adapter kann folgendes komprimieren und dekomprimieren:
+        </para>
+
+        <itemizedlist>
+            <listitem>
+                <para>Strings</para>
+            </listitem>
+
+            <listitem>
+                <para>Dateien</para>
+            </listitem>
+
+            <listitem>
+                <para>Verzeichnisse</para>
+            </listitem>
+        </itemizedlist>
+
+        <para>
+            Dieser Adapter verwendet <acronym>PHP</acronym>'s Bz2 Erweiterung.
+        </para>
+
+        <para>
+            Um die Komprimierung anzupassen unterstützt dieser Adapter die folgenden Optionen:
+        </para>
+
+        <itemizedlist>
+            <listitem>
+                <para>
+                    <emphasis>Archive</emphasis>: Dieser Parameter setzt die Archivdatei welche
+                    verwendet oder erstellt werden soll.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <emphasis>Blocksize</emphasis>: Dieser Parameter setzt die Blockgröße welche
+                    zu verwenden ist. Diese kann zwischen '0' und '9' liegen. Der Standardwert ist
+                    '4'.
+                </para>
+            </listitem>
+        </itemizedlist>
+
+        <para>
+            Alle Optionen können bei der Instanziierung oder durch Verwendung der betreffenden
+            Methode verwendet werden. Zum Beispiel sind die zu 'Blocksize' gehörenden Methoden
+            <methodname>getBlocksize()</methodname> und <methodname>setBlocksize()</methodname>.
+            Man kann auch die <methodname>setOptions()</methodname> Methode verwenden welche
+            alle Optionen als Array akzeptiert.
+        </para>
+    </sect3>
+
+    <sect3 id="zend.filter.set.compress.gz">
+        <title>Gz Adapter</title>
+
+        <para>
+            Der Gz Adapter kann folgendes komprimieren und dekomprimieren:
+        </para>
+
+        <itemizedlist>
+            <listitem>
+                <para>Strings</para>
+            </listitem>
+
+            <listitem>
+                <para>Dateien</para>
+            </listitem>
+
+            <listitem>
+                <para>Verzeichnisse</para>
+            </listitem>
+        </itemizedlist>
+
+        <para>
+            Dieser Adapter verwendet <acronym>PHP</acronym>'s Zlib Erweiterung.
+        </para>
+
+        <para>
+            Um die Komprimierung anzupassen unterstützt dieser Adapter die folgenden Optionen:
+        </para>
+
+        <itemizedlist>
+            <listitem>
+                <para>
+                    <emphasis>Archive</emphasis>: Dieser Parameter setzt die Archivdatei welche
+                    verwendet oder erstellt werden soll.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <emphasis>Level</emphasis>: Das Level der Kompression welches verwendet werden
+                    soll. Es kann zwischen '0' und '9' liegen. Der Standardwert ist '9'.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <emphasis>Mode</emphasis>: Es gibt zwei unterstützte Modi. 'compress' und
+                    'deflate'. Der Standardwert ist 'compress'.
+                </para>
+            </listitem>
+        </itemizedlist>
+
+        <para>
+            Alle Optionen können bei der Instanziierung oder durch Verwendung der betreffenden
+            Methode verwendet werden. Zum Beispiel sind die zu 'Level' gehörenden Methoden
+            <methodname>getLevel()</methodname> und <methodname>setLevel()</methodname>.
+            Man kann auch die <methodname>setOptions()</methodname> Methode verwenden welche
+            alle Optionen als Array akzeptiert.
+        </para>
+    </sect3>
+
+    <sect3 id="zend.filter.set.compress.lzf">
+        <title>Lzf Adapter</title>
+
+        <para>
+            Der Lzf Adapter kann folgendes komprimieren und dekomprimieren:
+        </para>
+
+        <itemizedlist>
+            <listitem>
+                <para>Strings</para>
+            </listitem>
+        </itemizedlist>
+
+        <note>
+            <title>Lzf unterstützt nur Strings</title>
+
+            <para>
+                Der Lzf Adapter kann keine Dateien oder Verzeichnisse verarbeiten.
+            </para>
+        </note>
+
+        <para>
+            Dieser Adapter verwendet <acronym>PHP</acronym>'s Lzf Erweiterung.
+        </para>
+
+        <para>
+            Es sind keine Optionen vorhanden um diesen Adapter anzupassen.
+        </para>
+    </sect3>
+
+    <sect3 id="zend.filter.set.compress.rar">
+        <title>Rar Adapter</title>
+
+        <para>
+            Der Rar Adapter kann folgendes komprimieren und dekomprimieren:
+        </para>
+
+        <itemizedlist>
+            <listitem>
+                <para>Dateien</para>
+            </listitem>
+
+            <listitem>
+                <para>Verzeichnisse</para>
+            </listitem>
+        </itemizedlist>
+
+        <note>
+            <title>Rar unterstützt keine Strings</title>
+
+            <para>
+                Der Rar Adapter kann keine Strings verarbeiten.
+            </para>
+        </note>
+
+        <para>
+            Dieser Adapter verwendet <acronym>PHP</acronym>'s Rar Erweiterung.
+        </para>
+
+        <note>
+            <title>Die Kompression wird von Rar nicht unterstützt</title>
+
+            <para>
+                Durch Beschränkungen des Kompressions Formats von Rar, gibt es keine frei
+                erhältliche Komprimierung. Wenn man Dateien in ein neues Rar Archiv komprimieren
+                will, muss man dem Adapter einen Callback anbieten mit dem ein Rar Kompressions
+                Programm aufgerufen wird.
+            </para>
+        </note>
+
+        <para>
+            Um die Komprimierung anzupassen unterstützt dieser Adapter die folgenden Optionen:
+        </para>
+
+        <itemizedlist>
+            <listitem>
+                <para>
+                    <emphasis>Archive</emphasis>: Dieser Parameter setzt die Archivdatei welche
+                    verwendet oder erstellt werden soll.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <emphasis>Callback</emphasis>: Ein Callback welcher diesem Adapter Unterstützung
+                    für Komprimierung anbietet.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <emphasis>Password</emphasis>: Das Passwort welches für die Dekomprimierung
+                    verwendet werden soll.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <emphasis>Target</emphasis>: Das Ziel zu dem dekomprimierte Dateien geschrieben
+                    werden.
+                </para>
+            </listitem>
+        </itemizedlist>
+
+        <para>
+            Alle Optionen können bei der Instanziierung oder durch Verwendung der betreffenden
+            Methode verwendet werden. Zum Beispiel sind die zu 'Target' gehörenden Methoden
+            <methodname>getTarget()</methodname> und <methodname>setTarget()</methodname>.
+            Man kann auch die <methodname>setOptions()</methodname> Methode verwenden welche
+            alle Optionen als Array akzeptiert.
+        </para>
+    </sect3>
+
+    <sect3 id="zend.filter.set.compress.tar">
+        <title>Tar Adapter</title>
+
+        <para>
+            Der Rar Adapter kann folgendes komprimieren und dekomprimieren:
+        </para>
+
+        <itemizedlist>
+            <listitem>
+                <para>Dateien</para>
+            </listitem>
+
+            <listitem>
+                <para>Verzeichnisse</para>
+            </listitem>
+        </itemizedlist>
+
+        <note>
+            <title>Tar unterstützt keine Strings</title>
+
+            <para>
+                Der Tar Adapter kann keine Strings verarbeiten.
+            </para>
+        </note>
+
+        <para>
+            Dieser Adapter verwendet <acronym>PEAR</acronym>'s <classname>Archive_Tar</classname>
+            Komponente.
+        </para>
+
+        <para>
+            Um die Komprimierung anzupassen unterstützt dieser Adapter die folgenden Optionen:
+        </para>
+
+        <itemizedlist>
+            <listitem>
+                <para>
+                    <emphasis>Archive</emphasis>: Dieser Parameter setzt die Archivdatei welche
+                    verwendet oder erstellt werden soll.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <emphasis>Mode</emphasis>: Ein Modus der für die Komprimierung verwendet werden
+                    soll. Unterstützt werden entweder 'null', was keine Komprimierung bedeutet,
+                    'Gz' was <acronym>PHP</acronym>'s Zlib Erweiterung verwendet, und 'Bz2' was
+                    <acronym>PHP</acronym>'s Bz2 Erweiterung verwendet. Der Standardwert ist 'null'.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <emphasis>Target</emphasis>: Das Ziel zu dem dekomprimierte Dateien geschrieben
+                    werden.
+                </para>
+            </listitem>
+        </itemizedlist>
+
+        <para>
+            Alle Optionen können bei der Instanziierung oder durch Verwendung der betreffenden
+            Methode verwendet werden. Zum Beispiel sind die zu 'Target' gehörenden Methoden
+            <methodname>getTarget()</methodname> und <methodname>setTarget()</methodname>.
+            Man kann auch die <methodname>setOptions()</methodname> Methode verwenden welche
+            alle Optionen als Array akzeptiert.
+        </para>
+
+        <note>
+            <title>Verwendung von Verzeichnissen</title>
+
+            <para>
+                Wenn Verzeichnisse mit Tar komprimiert werden, dann wird der komplette Dateipfad
+                verwendet. Das bedeutet das erstellte Tar Dateien nicht nur das Unterverzeichnis
+                sondern den kompletten Pfad für die komprimierten Dateien enthält.
+            </para>
+        </note>
+    </sect3>
+
+    <sect3 id="zend.filter.set.compress.zip">
+        <title>Zip Adapter</title>
+
+        <para>
+            Der Rar Adapter kann folgendes komprimieren und dekomprimieren:
+        </para>
+
+        <itemizedlist>
+            <listitem>
+                <para>Strings</para>
+            </listitem>
+
+            <listitem>
+                <para>Dateien</para>
+            </listitem>
+
+            <listitem>
+                <para>Verzeichnisse</para>
+            </listitem>
+        </itemizedlist>
+
+        <note>
+            <title>Zip unterstützt die Dekomprimierung von Strings nicht</title>
+
+            <para>
+                Der Zip Adapter kann die Dekomprimierung von Strings nicht verarbeiten; eine
+                Dekomprimierung wird immer in eine Datei geschrieben.
+            </para>
+        </note>
+
+        <para>
+            Dieser Adapter verwendet <acronym>PHP</acronym>'s <classname>Zip</classname>
+            Erweiterung.
+        </para>
+
+        <para>
+            Um die Komprimierung anzupassen unterstützt dieser Adapter die folgenden Optionen:
+        </para>
+
+        <itemizedlist>
+            <listitem>
+                <para>
+                    <emphasis>Archive</emphasis>: Dieser Parameter setzt die Archivdatei welche
+                    verwendet oder erstellt werden soll.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <emphasis>Target</emphasis>: Das Ziel zu dem dekomprimierte Dateien geschrieben
+                    werden.
+                </para>
+            </listitem>
+        </itemizedlist>
+
+        <para>
+            Alle Optionen können bei der Instanziierung oder durch Verwendung der betreffenden
+            Methode verwendet werden. Zum Beispiel sind die zu 'Target' gehörenden Methoden
+            <methodname>getTarget()</methodname> und <methodname>setTarget()</methodname>.
+            Man kann auch die <methodname>setOptions()</methodname> Methode verwenden welche
+            alle Optionen als Array akzeptiert.
+        </para>
+    </sect3>
+</sect2>
+<!--
+vim:se ts=4 sw=4 et:
+-->

+ 2 - 1
documentation/manual/de/module_specs/Zend_Filter-Set.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 18216 -->
+<!-- EN-Revision: 18311 -->
 <!-- Reviewed: no -->
 <!-- Reviewed: no -->
 <sect1 id="zend.filter.set" xmlns:xi="http://www.w3.org/2001/XInclude">
 <sect1 id="zend.filter.set" xmlns:xi="http://www.w3.org/2001/XInclude">
 
 
@@ -46,6 +46,7 @@
     </sect2>
     </sect2>
 
 
     <xi:include href="Zend_Filter-Callback.xml" />
     <xi:include href="Zend_Filter-Callback.xml" />
+    <xi:include href="Zend_Filter-Compress.xml" />
     <xi:include href="Zend_Filter-Decryption.xml" />
     <xi:include href="Zend_Filter-Decryption.xml" />
 
 
     <sect2 id="zend.filter.set.digits">
     <sect2 id="zend.filter.set.digits">

+ 4 - 1
documentation/manual/de/module_specs/Zend_Navigation-Containers.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 17134 -->
+<!-- EN-Revision: 18313 -->
 <!-- Reviewed: no -->
 <!-- Reviewed: no -->
 <sect1 id="zend.navigation.containers">
 <sect1 id="zend.navigation.containers">
     <title>Container</title>
     <title>Container</title>
@@ -384,6 +384,9 @@ $container = new Zend_Navigation(array(
         <home>
         <home>
             <label>Home</label>
             <label>Home</label>
             <order>-100</order>
             <order>-100</order>
+            <module>default</module>
+            <controller>index</controller>
+            <action>index</action>
         </home>
         </home>
 
 
     </nav>
     </nav>

+ 95 - 83
documentation/manual/de/module_specs/Zend_Pdf-InteractiveFeatures.xml

@@ -887,35 +887,37 @@ printf("Aktionen im Baum: %d\n", $actionsCount++); // Ausgabe 'Aktionen im Baum:
     </sect2>
     </sect2>
 
 
     <sect2 id="zend.pdf.pages.interactive-features.outlines">
     <sect2 id="zend.pdf.pages.interactive-features.outlines">
-        <title>Document Outline (bookmarks)</title>
+        <title>Dokument Outline (Bookmarks)</title>
         <para>
         <para>
-            A PDF document may optionally display a document outline on the screen, allowing
-            the user to navigate interactively from one part of the document to another.
-            The outline consists of a tree-structured hierarchy of outline items (sometimes
-            called bookmarks), which serve as a visual table of contents to display the document’s
-            structure to the user. The user can interactively open and close individual
-            items by clicking them with the mouse. When an item is open, its immediate children
-            in the hierarchy become visible on the screen; each child may in turn be
-            open or closed, selectively revealing or hiding further parts of the hierarchy.
-            When an item is closed, all of its descendants in the hierarchy are hidden. Clicking
-            the text of any visible item activates the item, causing the viewer application to
-            jump to a destination or trigger an action associated with the item.
+            Ein PDF Dokument kann optional ein Dokument Outline am Schirm anzeigen, welcher es dem
+            Benutzer erlaubt interaktiv von einem Teil des Dokuments zu einem anderen zu navigieren.
+            Der Outline besteht aus einer baum-strukturierten Hierarchie von Outline Elementen
+            (manchmal Bookmarks genannt), welche als visuelle Tabelle des Inhalts fungieren um dem
+            Benutzer die Struktur des Dokuments anzuzeigen. Der Benutzer kann individuelle Elemente
+            interaktiv öffnen und schließen indem er Sie mit der Maus anklickt. Wenn ein Element
+            geöffnet ist, werden seine unmittelbaren Kinder in der Hierarchie auf dem Schirm
+            sichtbar; jedes Kind kann seinerseits geöffnet und geschlossen werden, das weitere Teile
+            der Hierarchie selektiv anzeigt oder versteckt. Wenn ein Element geschlossen wird,
+            werden alle seine abhängigen Elemente in der Hierarchie versteckt. Das Klicken auf einen
+            Text von irgendeinem sichtbaren Element aktiviert dieses Element, was dazu führt das die
+            anzeigende Anwendung zum Ziel springt oder eine mit dem Element assoziierte Aktion
+            ausführt.
         </para>
         </para>
 
 
         <para>
         <para>
-            <classname>Zend_Pdf</classname> class provides public property
-            <varname>$outlines</varname> which is an array of
-            <classname>Zend_Pdf_Outline</classname> objects.
+            Die Klasse <classname>Zend_Pdf</classname> bietet eine öffentliche Eigenschaft
+            <varname>$outlines</varname> welche ein Array von
+            <classname>Zend_Pdf_Outline</classname> Objekten ist.
             <programlisting language="php"><![CDATA[
             <programlisting language="php"><![CDATA[
 $pdf = Zend_Pdf::load($path);
 $pdf = Zend_Pdf::load($path);
 
 
-// Remove outline item
+// Entfernt ein Outline Element
 unset($pdf->outlines[0]->childOutlines[1]);
 unset($pdf->outlines[0]->childOutlines[1]);
 
 
-// Set Outline to be displayed in bold
+// Setzt Outline damit es Dick angezeigt wird
 $pdf->outlines[0]->childOutlines[3]->setIsBold(true);
 $pdf->outlines[0]->childOutlines[3]->setIsBold(true);
 
 
-// Add outline entry
+// Fügt den Outline Eintrag hinzu
 $pdf->outlines[0]->childOutlines[5]->childOutlines[] =
 $pdf->outlines[0]->childOutlines[5]->childOutlines[] =
     Zend_Pdf_Outline::create('Chapter 2', 'chapter_2');
     Zend_Pdf_Outline::create('Chapter 2', 'chapter_2');
 
 
@@ -924,116 +926,118 @@ $pdf->save($path, true);
         </para>
         </para>
 
 
         <para>
         <para>
-            Outline attributes may be retrieved or set using the following methods:
+            Outline Attribute können mit Hilfe der folgenden Methoden empfangen oder gesetzt werden:
         </para>
         </para>
 
 
         <itemizedlist>
         <itemizedlist>
             <listitem>
             <listitem>
                 <para>
                 <para>
-                    <methodname>string getTitle()</methodname> - get outline item title.
+                    <methodname>string getTitle()</methodname> - holt den Titel des Outline
+                    Elements.
                 </para>
                 </para>
             </listitem>
             </listitem>
 
 
             <listitem>
             <listitem>
                 <para>
                 <para>
-                    <methodname>setTitle(string $title)</methodname> - set outline item title.
+                    <methodname>setTitle(string $title)</methodname> - setzt den Titel des Outline
+                    Elements.
                 </para>
                 </para>
             </listitem>
             </listitem>
 
 
             <listitem>
             <listitem>
                 <para>
                 <para>
-                    <methodname>boolean isOpen()</methodname> - true if outline is open
-                    by default.
+                    <methodname>boolean isOpen()</methodname> - true wenn Outline standardmäßig
+                    geöffnet ist.
                 </para>
                 </para>
             </listitem>
             </listitem>
 
 
             <listitem>
             <listitem>
                 <para>
                 <para>
-                    <methodname>setIsOpen(boolean $isOpen)</methodname> - set isOpen state.
+                    <methodname>setIsOpen(boolean $isOpen)</methodname> - setzt den isOpen Status.
                 </para>
                 </para>
             </listitem>
             </listitem>
 
 
             <listitem>
             <listitem>
                 <para>
                 <para>
-                    <methodname>boolean isItalic()</methodname> - true if outline item
-                    is displayed in italic.
+                    <methodname>boolean isItalic()</methodname> - true wenn das Outline Element
+                    schräg dargestellt wird.
                 </para>
                 </para>
             </listitem>
             </listitem>
 
 
             <listitem>
             <listitem>
                 <para>
                 <para>
-                    <methodname>setIsItalic(boolean $isItalic)</methodname> - set
-                    isItalic state.
+                    <methodname>setIsItalic(boolean $isItalic)</methodname> - setzt den isItalic
+                    Status.
                 </para>
                 </para>
             </listitem>
             </listitem>
 
 
             <listitem>
             <listitem>
                 <para>
                 <para>
-                    <methodname>boolean isBold()</methodname> - true if outline item
-                    is displayed in bold.
+                    <methodname>boolean isBold()</methodname> - true wenn das Outline Element
+                    dick dargestellt wird.
                 </para>
                 </para>
             </listitem>
             </listitem>
 
 
             <listitem>
             <listitem>
                 <para>
                 <para>
-                    <methodname>setIsBold(boolean $isBold)</methodname> - set
-                    isBold state.
+                    <methodname>setIsBold(boolean $isBold)</methodname> - setzt den isBold Status.
                 </para>
                 </para>
             </listitem>
             </listitem>
 
 
             <listitem>
             <listitem>
                 <para>
                 <para>
-                    <methodname>Zend_Pdf_Color_Rgb getColor()</methodname> - get outline
-                    text color (null means black).
+                    <methodname>Zend_Pdf_Color_Rgb getColor()</methodname> - holt die Outline Text
+                    Farbe (null bedeutet schwarz).
                 </para>
                 </para>
             </listitem>
             </listitem>
 
 
             <listitem>
             <listitem>
                 <para>
                 <para>
-                    <methodname>setColor(Zend_Pdf_Color_Rgb $color)</methodname> - set
-                    outline text color (null means black).
+                    <methodname>setColor(Zend_Pdf_Color_Rgb $color)</methodname> - setzt die Outline
+                    Text Farbe (null bedeutet schwarz).
                 </para>
                 </para>
             </listitem>
             </listitem>
 
 
             <listitem>
             <listitem>
                 <para>
                 <para>
-                    <methodname>Zend_Pdf_Target getTarget()</methodname> - get outline
-                    target (action or explicit or named destination object).
+                    <methodname>Zend_Pdf_Target getTarget()</methodname> - holt das Outline Ziel
+                    (eine Aktion oder ein benanntes Zielobjekt).
                 </para>
                 </para>
             </listitem>
             </listitem>
 
 
             <listitem>
             <listitem>
                 <para>
                 <para>
-                    <methodname>setTarget(Zend_Pdf_Target|string $target)</methodname> - set
-                    outline target (action or destination). String may be used to identify
-                    named destination. Null means 'no target'.
+                    <methodname>setTarget(Zend_Pdf_Target|string $target)</methodname> - setzt ein
+                    Outline Ziel (Aktion oder Ziel). Ein String kann verwendet werden um ein
+                    benanntes Ziel zu identifizieren. Null bedeutet 'kein Ziel'.
                 </para>
                 </para>
             </listitem>
             </listitem>
 
 
             <listitem>
             <listitem>
                 <para>
                 <para>
-                    <methodname>array getOptions()</methodname> - get outline attributes
-                    as an array.
+                    <methodname>array getOptions()</methodname> - holt die Outline Attribute als
+                    Array.
                 </para>
                 </para>
             </listitem>
             </listitem>
 
 
             <listitem>
             <listitem>
                 <para>
                 <para>
-                    <methodname>setOptions(array $options)</methodname> - set outline options.
-                    The following options are recognized: 'title', 'open', 'color', 'italic',
-                    'bold', and 'target'.
+                    <methodname>setOptions(array $options)</methodname> - setzt Outline Optionen.
+                    Die folgenden Optionen werden erkannt: 'title', 'open', 'color', 'italic',
+                    'bold', und 'target'.
                 </para>
                 </para>
             </listitem>
             </listitem>
         </itemizedlist>
         </itemizedlist>
 
 
         <para>
         <para>
-            New outline may be created in two ways:
+            Ein neues Outline kann auf folgenden zwei Wegen erstellt werden:
         </para>
         </para>
 
 
         <itemizedlist>
         <itemizedlist>
             <listitem>
             <listitem>
                 <para>
                 <para>
-                    <methodname>Zend_Pdf_Outline::create(string $title[, Zend_Pdf_Target|string $target])</methodname>
+                    <methodname>Zend_Pdf_Outline::create(string $title[, Zend_Pdf_Target|string
+                        $target])</methodname>
                 </para>
                 </para>
             </listitem>
             </listitem>
 
 
@@ -1045,15 +1049,16 @@ $pdf->save($path, true);
         </itemizedlist>
         </itemizedlist>
 
 
         <para>
         <para>
-            Each outline object may have child outline items listed in
-            <varname>Zend_Pdf_Outline::$childOutlines</varname> public property.
-            It's an array of <classname>Zend_Pdf_Outline</classname> objects,
-            so outlines are organized in a tree.
+            Jedes Outline Objekt kann Kinder-Outline Elemente haben die in der öffentlichen
+            Eigenschaft <varname>Zend_Pdf_Outline::$childOutlines</varname> aufgelistet werden. Das
+            ist ein Array von <classname>Zend_Pdf_Outline</classname> Objekten. Deshalb sind
+            Outlines als Baum organisiert.
         </para>
         </para>
 
 
         <para>
         <para>
-            <classname>Zend_Pdf_Outline</classname> class implements RecursiveArray interface,
-            so child outlines may be recursively iterated using RecursiveIteratorIterator:
+            Die Klasse <classname>Zend_Pdf_Outline</classname> implementiert das RecursiveArray
+            Interface damit man durch Kinder-Outlines rekursiv iterieren kann indem
+            RecursiveIteratorIterator verwendet wird:
             <programlisting language="php"><![CDATA[
             <programlisting language="php"><![CDATA[
 $pdf = Zend_Pdf::load($path);
 $pdf = Zend_Pdf::load($path);
 
 
@@ -1064,12 +1069,14 @@ foreach ($pdf->outlines as $documentRootOutlineEntry) {
         $OutlineItemTarget = $childOutlineItem->getTarget();
         $OutlineItemTarget = $childOutlineItem->getTarget();
         if ($OutlineItemTarget instanceof Zend_Pdf_Destination) {
         if ($OutlineItemTarget instanceof Zend_Pdf_Destination) {
             if ($pdf->resolveDestination($OutlineItemTarget) === null) {
             if ($pdf->resolveDestination($OutlineItemTarget) === null) {
-                // Mark Outline item with unresolvable destination using RED color
+                // Markiert ein Outline Element dessen Ziel
+                // nicht auflösbar ist mit Roter Farbe
                 $childOutlineItem->setColor(new Zend_Pdf_Color_Rgb(1, 0, 0));
                 $childOutlineItem->setColor(new Zend_Pdf_Color_Rgb(1, 0, 0));
             }
             }
         } else if ($OutlineItemTarget instanceof Zend_Pdf_Action_GoTo) {
         } else if ($OutlineItemTarget instanceof Zend_Pdf_Action_GoTo) {
             if ($pdf->resolveDestination($OutlineItemTarget->setDestination()) === null) {
             if ($pdf->resolveDestination($OutlineItemTarget->setDestination()) === null) {
-                // Mark Outline item with unresolvable destination using RED color
+                // Markiert ein Outline Element dessen Ziel
+                // nicht auflösbar ist mit Roter Farbe
                 $childOutlineItem->setColor(new Zend_Pdf_Color_Rgb(1, 0, 0));
                 $childOutlineItem->setColor(new Zend_Pdf_Color_Rgb(1, 0, 0));
             }
             }
         }
         }
@@ -1082,74 +1089,79 @@ $pdf->save($path, true);
 
 
         <note>
         <note>
             <para>
             <para>
-                All outline items with unresolved destinations (or destinations of GoTo
-                actions) are updated while document saving by setting their targets to null.
-                So document will not be corrupted by removing pages referenced by outlines.
+                Alle Outline Elemente mit unlösbaren Zielen (oder Zielen auf GoTo Aktionen) werden
+                aktualisiert wärend das dokument gespeichert wird, indem dessen Ziele auf null
+                gesetzt werden. Damit wird das Dokument nicht durch entfernen von Seiten korrupiert
+                auf die durch Outlines referenziert wird.
             </para>
             </para>
         </note>
         </note>
     </sect2>
     </sect2>
 
 
     <sect2 id="zend.pdf.pages.interactive-features.annotations">
     <sect2 id="zend.pdf.pages.interactive-features.annotations">
-        <title>Annotations</title>
+        <title>Anhänge</title>
 
 
         <para>
         <para>
-            An annotation associates an object such as a note, sound, or movie with a location
-            on a page of a PDF document, or provides a way to interact with the user by means
-            of the mouse and keyboard.
+            Ein Anhang assoziiert ein Objekt wie eine Notiz, einen Sound, oder einen Film mit einem
+            Ort auf einer Seite in einem PDF Dokument, oder bietet einen Weg um mit dem Benutzer zu
+            interagieren, durch Verwendung von Maus und Tastatur.
         </para>
         </para>
 
 
         <para>
         <para>
-            All annotations are represented by <classname>Zend_Pdf_Annotation</classname>
-            abstract class.
+            Alle Anhänge werden durch die abstrakte Klasse
+            <classname>Zend_Pdf_Annotation</classname> repräsentiert.
         </para>
         </para>
 
 
         <para>
         <para>
-            Annotation may be attached to a page using
-            <methodname>Zend_Pdf_Page::attachAnnotation(Zend_Pdf_Annotation $annotation)</methodname>
-            method.
+            Anhänge können einer Seite angehängt werden indem die Methode
+            <methodname>Zend_Pdf_Page::attachAnnotation(Zend_Pdf_Annotation
+                $annotation)</methodname> verwendet wird.
         </para>
         </para>
 
 
         <para>
         <para>
-            Three types of annotations may be created by user now:
+            Aktuell können drei Typen von Anhängen von Benutzern erstellt werden:
         </para>
         </para>
 
 
         <itemizedlist>
         <itemizedlist>
             <listitem>
             <listitem>
                 <para>
                 <para>
-                    <methodname>Zend_Pdf_Annotation_Link::create($x1, $y1, $x2, $y2, $target)</methodname>
-                    where <varname>$target</varname> is an action object or a destination or
-                    string (which may be used in place of named destination object).
+                    <methodname>Zend_Pdf_Annotation_Link::create($x1, $y1, $x2, $y2,
+                        $target)</methodname> wobei <varname>$target</varname> ein Aktionsobjekt
+                    oder ein Ziel oder ein String ist (welche für ein benanntes Zielobjekt
+                    verwendet werden kann).
                 </para>
                 </para>
             </listitem>
             </listitem>
 
 
             <listitem>
             <listitem>
                 <para>
                 <para>
-                    <methodname>Zend_Pdf_Annotation_Text::create($x1, $y1, $x2, $y2, $text)</methodname>
+                    <methodname>Zend_Pdf_Annotation_Text::create($x1, $y1, $x2, $y2,
+                        $text)</methodname>
                 </para>
                 </para>
             </listitem>
             </listitem>
 
 
             <listitem>
             <listitem>
                 <para>
                 <para>
-                    <methodname>Zend_Pdf_Annotation_FileAttachment::create($x1, $y1, $x2, $y2, $fileSpecification)</methodname>
+                    <methodname>Zend_Pdf_Annotation_FileAttachment::create($x1, $y1, $x2, $y2,
+                        $fileSpecification)</methodname>
                 </para>
                 </para>
             </listitem>
             </listitem>
         </itemizedlist>
         </itemizedlist>
 
 
         <para>
         <para>
-            A link annotation represents either a hypertext link to a destination elsewhere in
-            the document or an action to be performed.
+            Ein Link-Anhang repräsentiert entweder einen Hypertext Link oder ein Ziel anderswo im
+            Dokument oder eine Aktion die ausgeführt werden soll.
         </para>
         </para>
 
 
         <para>
         <para>
-            A text annotation represents a "sticky note" attached to a point in the PDF document.
+            Ein Text Anhang repräsentiert eine "schnelle Notiz" die an einem Punkt im PDF Dokument
+            angehängt ist.
         </para>
         </para>
 
 
         <para>
         <para>
-            A file attachment annotation contains a reference to a file.
+            Ein File Anhang enthält eine Referenz zu einer Datei.
         </para>
         </para>
 
 
         <para>
         <para>
-            The following methods are shared between all annotation types:
+            Die folgenden Methoden können von allen Typen von Anhängen verwendet werden:
         </para>
         </para>
 
 
         <itemizedlist>
         <itemizedlist>
@@ -1195,13 +1207,13 @@ $pdf->save($path, true);
         </itemizedlist>
         </itemizedlist>
 
 
         <para>
         <para>
-            Text annotation property is a text to be displayed for the annotation or, if this
-            type of annotation does not display text, an alternate description of the annotation’s
-            contents in human-readable form.
+            Die Text Anhang Eigenschaft ist ein Text der für den Anhang dargestellt wird oder, wenn
+            dieser Typ von Anhang keinen Text darstellt, eine alternative Beschreibung des
+            Inhalts des Anhangs in einer menschlich lesbaren Form.
         </para>
         </para>
 
 
         <para>
         <para>
-            Link annotation objects also provide two additional methods:
+            Link Anhangs Objekte bieten auch zwei zusätzliche Methoden:
         </para>
         </para>
 
 
         <itemizedlist>
         <itemizedlist>

+ 70 - 25
documentation/manual/de/module_specs/Zend_Tool_Framework-WritingProviders.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 18033 -->
+<!-- EN-Revision: 18306 -->
 <!-- Reviewed: no -->
 <!-- Reviewed: no -->
 <sect1 id="zend.tool.framework.writing-providers">
 <sect1 id="zend.tool.framework.writing-providers">
     <title>Erstellen von Providern für die Verwendung mit Zend_Tool_Framework</title>
     <title>Erstellen von Providern für die Verwendung mit Zend_Tool_Framework</title>
@@ -11,36 +11,81 @@
         <acronym>MVC</acronym> Anwendung ist.
         <acronym>MVC</acronym> Anwendung ist.
     </para>
     </para>
 
 
-    <sect2 id="zend.tool.framework.writing-providers.manifest">
-        <title>Eigene Provider mit einem Manifest bekanntmachen</title>
+    <sect2 id="zend.tool.framework.writing-providers.loading">
+        <title>Wie Zend Took eigene Provider findet</title>
 
 
         <para>
         <para>
-            Bevor man eigene Provider schreibt muss man ein Manifest erstellen, welches Instanzen
-            der eigenen Provider zurückgibt, um es Zend Tool zu erlauben diese zu erkennen. Ein
-            Provider Manifest ist eine Implementation von
-            <interface>Zend_Tool_Framework_Manifest_ProviderManifestable</interface> und benötigt
-            die Methode <code>getProviders()</code> welche ein Array von initialisierten Providern
-            zurückgibt. Im gegensatz zu unserem ersten eigenen Provider
-            <classname>My_Component_HelloProvider</classname> erstellen wir das folgende Manifest:
+            Standardmäßig verwendet Zend Tool den IncludePathLoader um alle Provider zu finden die
+            man ausführen kann. Er iteriert rekursiv alle Verzeichnisse des Include Pfads und öffnet
+            alle Dateien die mit "Manifest.php" oder "Provider.php" enden. Alle Klassen in diesen
+            Dateien werden angeschaut ob Sie entweder
+            <classname>Zend_Tool_Framework_Provider_Interface</classname> oder
+            <classname>Zend_Tool_Framework_Manifest_ProviderManifestable</classname> implementieren.
+            Instanzen des Provider Interfaces machen die wirkliche Funtionalität aus und auf alle
+            Ihre öffentlichen Methoden kann man als Provider Aktionen zugreifen. Das Interface
+            ProviderManifestable benötigt trotzdem eine Implementation einer
+            <methodname>getProviders()</methodname> Methode welche ein Array der instanziierten
+            Provider Interface Instanzen zurückgibt.
         </para>
         </para>
 
 
-        <programlisting language="php"><![CDATA[
-class My_Component_Manifest implements Zend_Tool_Framework_Manifest_ProviderManifestable
-{
-    public function getProviders()
-    {
-        return array(
-            new My_Component_HelloProvider()
-        );
-    }
-}
-]]>
-        </programlisting>
-
         <para>
         <para>
-            Eine Provider Manifest Klasse muss immer mit dem Term "Manifest" enden, andernfalls
-            kann Sie Zend_Tool nicht automatisch erkennen wenn es den Include Pfad durchsucht.
+            Die folgenden Namensregeln zeigen wir man auf die Provider zugreifen kann die vom
+            IncludePathLoader gefunden wurden:
         </para>
         </para>
+
+        <itemizedlist>
+            <listitem>
+                Der letzte Teil des Klassennamens der durch einen Unterstrich geteilt wird, wird
+                für den Provider Namen verwendet, z.B. führt "My_Provider_Hello" dazu dass auf den
+                eigenen Provider mit dem Namen "hello" zugegriffen werden kann.
+            </listitem>
+
+            <listitem>
+                Wenn der eigene Provider eine <methodname>getCode()</methodname> Methode hat, wird
+                diese statt der vorhergehenden Methode verwendet um den Namen zu erkennen.
+            </listitem>
+
+            <listitem>
+                Wenn der eigene Provider "Provider" als Präfix hat, er z.B.
+                <classname>My_HelloProvider</classname> genannt wird, dann wird dieser vom Namen
+                entfernt sodass der Provider "hello" genannt wird.
+            </listitem>
+        </itemizedlist>
+
+        <note>
+            <para>
+                Der IncludePathLoader folgt Symlinks nicht, was bedeutet das man Provider
+                Funktionalitäten nicht im eigenen Include Pfad verlinken kann, da diese physikalisch
+                im Include Pfad vorhanden sein müssen.
+            </para>
+        </note>
+
+        <example id="zend.tool.framework.writing-providers.loading.example">
+            <title>Eigene Provider mit einem Manifest bekanntmachen</title>
+
+            <para>
+                Man kann eigene Provider bei Zend Tool bekannt machen indem man ein Manifest mit
+                einem speziellen Dateinamen anbietet der mit "Manifest.php" endet. Ein Provider
+                Manifest ist eine Implementation von
+                <interface>Zend_Tool_Framework_Manifest_ProviderManifestable</interface> und
+                benötigt die Methode <code>getProviders()</code> welche ein Array von instanziierten
+                Providern zurückgibt. Anders als unser erster eigener Provider erstellt
+                <classname>My_Component_HelloProvider</classname> das folgende Manifest:
+            </para>
+
+            <programlisting language="php"><![CDATA[
+    class My_Component_Manifest implements Zend_Tool_Framework_Manifest_ProviderManifestable
+    {
+        public function getProviders()
+        {
+            return array(
+                new My_Component_HelloProvider()
+            );
+        }
+    }
+    ]]>
+            </programlisting>
+        </example>
     </sect2>
     </sect2>
 
 
     <sect2 id="zend.tool.framework.writing-providers.basic">
     <sect2 id="zend.tool.framework.writing-providers.basic">