Переглянути джерело

[DOCUMENTATION] German:

- sync up to r16830

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@16950 44c647ce-9c0f-0410-b52a-842ac1e357ba
thomas 16 роки тому
батько
коміт
8f35314445

+ 3 - 1
documentation/manual/de/manual.xml.in

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 16772 -->
+<!-- EN-Revision: 16790 -->
 <!-- Reviewed: no -->
 <!-- Reviewed: no -->
 <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
 <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
     "@DOCBOOK_DTD@"
     "@DOCBOOK_DTD@"
@@ -584,6 +584,8 @@
 
 
     <xi:include href="ref/requirements.xml" />
     <xi:include href="ref/requirements.xml" />
     <xi:include href="ref/coding_standard.xml" />
     <xi:include href="ref/coding_standard.xml" />
+    <xi:include href="ref/documentation-standard.xml" />
+    <xi:include href="ref/project-structure.xml" />
     <appendix id="performance">
     <appendix id="performance">
         <title>Zend Framework Performance Handbuch</title>
         <title>Zend Framework Performance Handbuch</title>
         <xi:include href="ref/performance-introduction.xml" />
         <xi:include href="ref/performance-introduction.xml" />

+ 1 - 1
documentation/manual/de/module_specs/Zend_Date-Constants.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 16561 -->
+<!-- EN-Revision: 16810 -->
 <!-- Reviewed: no -->
 <!-- Reviewed: no -->
 <sect1 id="zend.date.constants">
 <sect1 id="zend.date.constants">
 
 

+ 37 - 37
documentation/manual/de/module_specs/Zend_Db_Table_Definition.xml

@@ -7,38 +7,38 @@
 
 
     <sect2 id="zend.db.table.definition.introduction">
     <sect2 id="zend.db.table.definition.introduction">
 
 
-        <title>Introduction</title>
+        <title>Einführung</title>
 
 
         <para>
         <para>
-            <classname>Zend_Db_Table_Definition</classname> is a class that can be used to
-            describe the relationships and configuration options that should be used when
-            <classname>Zend_Db_Table</classname> is used via concrete instantiation.
+            <classname>Zend_Db_Table_Definition</classname> ist eine Klasse die verwendet werden kann
+            um Relationen und Optionen der Konfiguration zu beschreiben die verwendet werden sollten
+            wenn <classname>Zend_Db_Table</classname> über eine konkrete Instanz verwendet wird.
         </para>
         </para>
 
 
     </sect2>
     </sect2>
 
 
     <sect2 id="zend.db.table.definition.usage">
     <sect2 id="zend.db.table.definition.usage">
 
 
-        <title>Basic Usage</title>
+        <title>Grundsätzliche Verwendung</title>
 
 
         <para>
         <para>
-            For all of the same options that are available when configuring an extended
-            Zend_Db_Table_Abstract class, those options are also available when describing
-            a definition file.  This definition file should be passed to the class at
-            instantiation time so that it can know the full definition of all tables
-            in said definition.
+            Für alle gleichen Optionen die vorhanden sind wenn eine erweiterte
+            Zend_Db_Table_Abstract Klasse konfiguriert wird, sind diese Optionen auch vorhanden
+            wenn eine Definitionsdatei beschrieben wird. Diese Definitionsdatei sollte der Klasse
+            zum Zeitpunkt der Instanziierung übergeben werden damit diese die komplette Definition
+            aller Tabellen in der besagten Definition kennt.
         </para>
         </para>
 
 
         <para>
         <para>
-            Below is a definition that will describe the table names and relationships
-            between table objects.  Note: if 'name' is left out of the definition, it
-            will be take as the key of the defined table (an example of this is in the
-            'genre' section in the example below.)
+            Anbei ist eine Definition welche die Tabellennamen und Relationen zwischen den Tabellen
+            Objekten beschreibt. Beachte: Wenn 'name' von der Definition ausgelassen wird, wird er
+            als Schlüssel der definierten Tabelle genommen (ein Beispiel hierfür ist die 'genre'
+            Sektion im Beispiel anbei.)
         </para>
         </para>
 
 
         <example id="zend.db.table.definition.example1">
         <example id="zend.db.table.definition.example1">
 
 
-            <title>Describing the Definition of a Database Data Model</title>
+            <title>Die Definition eines Datenbank Data Modells beschreiben</title>
 
 
             <programlisting language="php"><![CDATA[
             <programlisting language="php"><![CDATA[
 $definition = new Zend_Db_Table_Definition(array(
 $definition = new Zend_Db_Table_Definition(array(
@@ -77,23 +77,23 @@ $definition = new Zend_Db_Table_Definition(array(
         </example>
         </example>
 
 
         <para>
         <para>
-            As you can see, the same options you'd generally see inside of an
-            extended Zend_Db_Table_Abstract class are documented in this
-            array as well.  When passed into Zend_Db_Table constructor, this
-            definition is <emphasis>persisted</emphasis> to any tables it will need
-            to create in order to return the proper rows.
+            Wie man sieht sind die gleichen Optionen die man generell in einer erweiterten
+            Zend_Db_Table_Abstract Klasse sieht auch in diesem Array dokumentiert. Wenn es
+            in den Constructor von Zend_Db_Table übergeben wird, ist diese Definition
+            <emphasis>persistent</emphasis> in jeder Tabelle die erstellt werden muß um die
+            richtigen Zeilen zurückzugeben.
         </para>
         </para>
 
 
         <para>
         <para>
-            Below is an example of the primary table instantiation as well as
-            the findDependentRowset() and findManyToManyRowset() calls that will
-            correspond to the data model described above:
+            Anbei ist ein Beispiel der Instanziierung einer primären Tabelle sowie Aufrufe von
+            findDependentRowset() und findManyToManyRowset() die mit dem oben beschriebenen
+            Datenmodell korrespondieren:
         </para>
         </para>
 
 
 
 
         <example id="zend.db.table.definition.example2">
         <example id="zend.db.table.definition.example2">
 
 
-            <title>Interacting with the described definition</title>
+            <title>Mit der beschriebenen Definition interagieren</title>
 
 
             <programlisting language="php"><![CDATA[
             <programlisting language="php"><![CDATA[
 $authorTable = new Zend_Db_Table('author', $definition);
 $authorTable = new Zend_Db_Table('author', $definition);
@@ -103,7 +103,7 @@ foreach ($authors as $author) {
     echo $author->id . ': ' . $author->first_name . ' ' . $author->last_name . PHP_EOL;
     echo $author->id . ': ' . $author->first_name . ' ' . $author->last_name . PHP_EOL;
     $books = $author->findDependentRowset('book');
     $books = $author->findDependentRowset('book');
     foreach ($books as $book) {
     foreach ($books as $book) {
-        echo '    Book: ' . $book->title . PHP_EOL;
+        echo '    Buch: ' . $book->title . PHP_EOL;
         $genreOutputArray = array();
         $genreOutputArray = array();
         foreach ($book->findManyToManyRowset('genre', 'book_to_genre') as $genreRow) {
         foreach ($book->findManyToManyRowset('genre', 'book_to_genre') as $genreRow) {
             $genreOutputArray[] = $genreRow->name;
             $genreOutputArray[] = $genreRow->name;
@@ -120,26 +120,26 @@ foreach ($authors as $author) {
 
 
     <sect2 id="zend.db.table.definition.advanced-usage">
     <sect2 id="zend.db.table.definition.advanced-usage">
 
 
-        <title>Advanced Usage</title>
+        <title>Fortgeschrittene Verwendung</title>
 
 
         <para>
         <para>
-            Sometimes you want to use both paradigms for defining and using the
-            table gateway: both by extension and concrete instantiation.  To do this
-            simply leave out any table configurations out of the definition.  This will
-            allow Zend_Db_Table to look for the actual refered class instead of the
-            definition key.
+            Manchmal will man beide Paradigmen für die Definition und Verwendung des
+            Tabellen Gateways verwenden: Beide durch Wrweiterung und konkrete Instanziierung.
+            Um das zu tun muß man einfach alle Tabellen Konfigurationen aus der Definition
+            lassen. Das erlaubt es Zend_Db_Table in der aktuell referierten Klasse statt im
+            Definitionsschlüssel nachzusehen.
         </para>
         </para>
 
 
         <para>
         <para>
-            Building on the example above, we will allow for one of the table configurations
-            to be a Zend_Db_Table_Abstract extended class, while keeping the rest of the tables
-            as part of the definition.  We will also show how one would interact with this
-            new definition.
+            Aufbauend auf dem Beispiel anbei, erlauben wir es einer der Tabellenkonfigurationen
+            eine erweiterte Zend_Db_Table_Abstract Klasse zu sein, wärend der Rest der Tabellen
+            Teil der Definition ist. Wir zeigen auch wie man mit dieser neuen Definition
+            interagieren kann.
         </para>
         </para>
 
 
         <example id="zend.db.table.definition.example3">
         <example id="zend.db.table.definition.example3">
 
 
-            <title>Interacting A Mixed Use Zend_Db_Table Definition</title>
+            <title>Mit einer gemischten Zend_Db_Table Definition interagieren</title>
 
 
             <programlisting language="php"><![CDATA[
             <programlisting language="php"><![CDATA[
 class MyBook extends Zend_Db_Table_Abstract
 class MyBook extends Zend_Db_Table_Abstract
@@ -183,7 +183,7 @@ foreach ($authors as $author) {
     echo $author->id . ': ' . $author->first_name . ' ' . $author->last_name . PHP_EOL;
     echo $author->id . ': ' . $author->first_name . ' ' . $author->last_name . PHP_EOL;
     $books = $author->findDependentRowset(new MyBook());
     $books = $author->findDependentRowset(new MyBook());
     foreach ($books as $book) {
     foreach ($books as $book) {
-        echo '    Book: ' . $book->title . PHP_EOL;
+        echo '    Buch: ' . $book->title . PHP_EOL;
         $genreOutputArray = array();
         $genreOutputArray = array();
         foreach ($book->findManyToManyRowset('genre', 'book_to_genre') as $genreRow) {
         foreach ($book->findManyToManyRowset('genre', 'book_to_genre') as $genreRow) {
             $genreOutputArray[] = $genreRow->name;
             $genreOutputArray[] = $genreRow->name;

+ 17 - 19
documentation/manual/de/module_specs/Zend_Ldap-API-Ldap-Ldif-Encoder.xml

@@ -5,24 +5,23 @@
     <title>Zend_Ldif_Encoder</title>
     <title>Zend_Ldif_Encoder</title>
 
 
     <table id="zend.ldap.api.reference.zend-ldap-ldif-encoder.table">
     <table id="zend.ldap.api.reference.zend-ldap-ldif-encoder.table">
-        <title>Zend_Ldif_Encoder API</title>
+        <title>API für Zend_Ldif_Encoder</title>
 
 
         <tgroup cols="2">
         <tgroup cols="2">
             <thead>
             <thead>
                 <row>
                 <row>
-                    <entry>Method</entry>
-                    <entry>Description</entry>
+                    <entry>Methode</entry>
+                    <entry>Beschreibung</entry>
                 </row>
                 </row>
             </thead>
             </thead>
             <tbody>
             <tbody>
                 <row>
                 <row>
                     <entry>
                     <entry>
-                        <emphasis><code>array decode(string $string)</code>
-                        </emphasis>
+                        <emphasis><code>array decode(string $string)</code></emphasis>
                     </entry>
                     </entry>
                     <entry>
                     <entry>
-                        Decodes the string <code>$string</code> into an array of
-                        <acronym>LDIF</acronym> items.
+                        Dekodiert den String <code>$string</code> in ein Array von
+                        <acronym>LDIF</acronym> Elementen.
                     </entry>
                     </entry>
                 </row>
                 </row>
                 <row>
                 <row>
@@ -31,18 +30,18 @@
                         $value, array $options)</code> </emphasis>
                         $value, array $options)</code> </emphasis>
                     </entry>
                     </entry>
                     <entry>
                     <entry>
-                        Encode <code>$value</code> into a <acronym>LDIF</acronym> representation.
-                        <code>$options</code> is an array that may contain the following
-                        keys:
+                        Kodiert <code>$value</code> in eine <acronym>LDIF</acronym> Repräsentation.
+                        <code>$options</code> ist ein Array welches die folgenden Schlüssel
+                        enthalten kann:
                         <variablelist>
                         <variablelist>
                             <varlistentry>
                             <varlistentry>
                                 <term><code>'sort'</code></term>
                                 <term><code>'sort'</code></term>
                                 <listitem>
                                 <listitem>
                                     <para>
                                     <para>
-                                        Sort the given attributes with <code>dn</code>
-                                        following <code>objectClass</code> and following all other
-                                        attributes sorted alphabetically. <code>true</code> by
-                                        default.
+                                        Sortiert die gegebenen Attribute nach <code>dn</code>
+                                        gefolgt von <code>objectClass</code> und dann gefolgt von
+                                        allen anderen Attributen alphabetisch sortiert.
+                                        Standardmäßig ist er <code>true</code>.
                                     </para>
                                     </para>
                                 </listitem>
                                 </listitem>
                             </varlistentry>
                             </varlistentry>
@@ -51,8 +50,8 @@
                                 <term><code>'version'</code></term>
                                 <term><code>'version'</code></term>
                                 <listitem>
                                 <listitem>
                                     <para>
                                     <para>
-                                        The <acronym>LDIF</acronym> format version. <code>1</code> by
-                                        default.
+                                        Die Version des <acronym>LDIF</acronym> Formats.
+                                        Standardmäßig ist er <code>1</code>.
                                     </para>
                                     </para>
                                 </listitem>
                                 </listitem>
                             </varlistentry>
                             </varlistentry>
@@ -61,8 +60,8 @@
                                 <term><code>'wrap'</code></term>
                                 <term><code>'wrap'</code></term>
                                 <listitem>
                                 <listitem>
                                 <para>
                                 <para>
-                                    The line-length. <code>78</code> by default to
-                                    conform to the <acronym>LDIF</acronym> specification.
+                                    Die Zeilenlänge. Standardmäßig ist er <code>78</code> um der
+                                    <acronym>LDIF</acronym> Spezifikation zu entsprechen.
                                 </para>
                                 </para>
                                 </listitem>
                                 </listitem>
                             </varlistentry>
                             </varlistentry>
@@ -73,4 +72,3 @@
         </tgroup>
         </tgroup>
     </table>
     </table>
 </sect3>
 </sect3>
-

+ 1 - 1
documentation/manual/de/module_specs/Zend_Ldap-API.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
 <?xml version="1.0" encoding="utf-8"?>
-<!-- EN-Revision: 16641 -->
+<!-- EN-Revision: 16825 -->
 <!-- Reviewed: no -->
 <!-- Reviewed: no -->
 <sect1 id="zend.ldap.api" xmlns:xi="http://www.w3.org/2001/XInclude">
 <sect1 id="zend.ldap.api" xmlns:xi="http://www.w3.org/2001/XInclude">
     <title>API overview</title>
     <title>API overview</title>

+ 1 - 1
documentation/manual/de/module_specs/Zend_Ldap-Introduction.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 16638 -->
+<!-- EN-Revision: 16828 -->
 <!-- Reviewed: no -->
 <!-- Reviewed: no -->
 <sect1 id="zend.ldap.introduction">
 <sect1 id="zend.ldap.introduction">
     <title>Introduction</title>
     <title>Introduction</title>

+ 4 - 4
documentation/manual/de/module_specs/Zend_Ldap-LDIF.xml

@@ -2,9 +2,9 @@
 <!-- EN-Revision: 16633 -->
 <!-- EN-Revision: 16633 -->
 <!-- Reviewed: no -->
 <!-- Reviewed: no -->
 <sect1 id="zend.ldap.ldif">
 <sect1 id="zend.ldap.ldif">
-    <title>Serializing LDAP data to and from LDIF</title>
+    <title>Serialisieren von LDAP Daten von und zu LDIF</title>
     <sect2 id="zend.ldap.ldif.encode">
     <sect2 id="zend.ldap.ldif.encode">
-        <title>Serialize a LDAP entry to LDIF</title>
+        <title>Einen LDAP Eintrag zu LDIF serialisieren</title>
 
 
         <programlisting language="php"><![CDATA[
         <programlisting language="php"><![CDATA[
 $data = array(
 $data = array(
@@ -36,7 +36,7 @@ $data = array(
 $ldif = Zend_Ldap_Ldif_Encoder::encode($data, array('sort' => false,
 $ldif = Zend_Ldap_Ldif_Encoder::encode($data, array('sort' => false,
                                                     'version' => null));
                                                     'version' => null));
 /*
 /*
-$ldif contains:
+$ldif enthält:
 dn:: dWlkPXJvZ2FzYXdhcmEsb3U95Za25qWt6YOoLG89QWlyaXVz
 dn:: dWlkPXJvZ2FzYXdhcmEsb3U95Za25qWt6YOoLG89QWlyaXVz
 objectclass: top
 objectclass: top
 objectclass: person
 objectclass: person
@@ -67,7 +67,7 @@ title;lang-en: Sales, Director
     </sect2>
     </sect2>
 
 
     <sect2 id="zend.ldap.ldif.decode">
     <sect2 id="zend.ldap.ldif.decode">
-        <title>Deserialize a LDIF string into a LDAP entry</title>
+        <title>Einen LDIF Strin in einen LDAP Eintrag deserialisieren</title>
 
 
         <programlisting language="php"><![CDATA[
         <programlisting language="php"><![CDATA[
 $ldif = "dn:: dWlkPXJvZ2FzYXdhcmEsb3U95Za25qWt6YOoLG89QWlyaXVz
 $ldif = "dn:: dWlkPXJvZ2FzYXdhcmEsb3U95Za25qWt6YOoLG89QWlyaXVz

+ 60 - 59
documentation/manual/de/module_specs/Zend_Queue-Framework.xml

@@ -5,15 +5,15 @@
     <title>Framework</title>
     <title>Framework</title>
 
 
     <para>
     <para>
-        The <classname>Zend_Queue</classname> is a proxy that hides the details
-        of the queue services. The queue services are represented by
-        <classname>Zend_Queue_Adapter_&lt;service&gt;</classname>. For example,
-        <classname>Zend_Queue_Adapter_Db</classname> is a queue that will use
-        database tables to store and retrieve messages.
+        <classname>Zend_Queue</classname> ist ein Proxy der die Details des Queue Services
+        versteckt. Die Queue Services werden durch
+        <classname>Zend_Queue_Adapter_&lt;service&gt;</classname> repräsentiert. Zum Beispiel ist
+        <classname>Zend_Queue_Adapter_Db</classname> eine Queue die Datenbanktabellen verwendet
+        um Nachrichten zu speichern und zu empfangen.
     </para>
     </para>
 
 
     <para>
     <para>
-        Below is an example for using database tables for a queuing system:
+        Anbei ist ein Beispiel für die Verwendung von Datenbanktabellen für ein Queueing System:
     </para>
     </para>
 
 
     <programlisting language="php"><![CDATA[
     <programlisting language="php"><![CDATA[
@@ -29,148 +29,149 @@ $options = array(
     )
     )
 );
 );
 
 
-// Create a database queue.
-// Zend_Queue will prepend Zend_Queue_Adapter_ to 'Db' for the class name.
+// Erstellt eine Datenbank Queue.
+// Zend_Queue fügt vorne Zend_Queue_Adapter_ an 'Db' für den Klassennamen an.
 $queue = Zend_Queue('Db', $options);
 $queue = Zend_Queue('Db', $options);
 ]]></programlisting>
 ]]></programlisting>
 
 
     <para>
     <para>
-        The <classname>Zend_Queue</classname> constructor will create a
-        <classname>Zend_Queue_Adapter_Db</classname> and initialize the adapter
-        with the configuration settings.
+        Der Constructor von <classname>Zend_Queue</classname> erstellt eine
+        <classname>Zend_Queue_Adapter_Db</classname> und initialisiert den Adapter mit den
+        Konfigurationseinstellungen.
     </para>
     </para>
 
 
     <para>
     <para>
-        The accepted configuration settings for each adapter are provided
-        in the <ulink url="zend.queue.adapters">adapter notes</ulink>.
+        Die akzeptierten Konfigurationseinstellungen für jeden Adapter sind in den
+        <ulink url="zend.queue.adapters">Adapter Notizen</ulink> beschrieben.
     </para>
     </para>
 
 
     <para>
     <para>
-        <classname>Zend_Queue</classname> returns messages using the class
-        <classname>Zend_Queue_Message_Iterator</classname>, which is an
-        implementation of <acronym>SPL</acronym> <classname>Iterator</classname> and
-        <classname>Countable</classname>.
-        <classname>Zend_Queue_Message_Iterator</classname> contains an array of
-        <classname>Zend_Queue_Message</classname> objects.
+        <classname>Zend_Queue</classname> gibt Nachrichten zurück indem es die
+        <classname>Zend_Queue_Message_Iterator</classname> Klasse verwendet, welche eine
+        Implementation vom <acronym>SPL</acronym> <classname>Iterator</classname> und von
+        <classname>Countable</classname> ist.
+        <classname>Zend_Queue_Message_Iterator</classname> enthält ein Array von
+        <classname>Zend_Queue_Message</classname> Objekten.
     </para>
     </para>
 
 
     <programlisting language="php"><![CDATA[
     <programlisting language="php"><![CDATA[
 $messages = $queue->receive(5);
 $messages = $queue->receive(5);
 foreach ($messages as $i => $message) {
 foreach ($messages as $i => $message) {
-    echo "$i) Message => ", $message->body, "\n";
+    echo "$i) Nachricht => ", $message->body, "\n";
 }
 }
 ]]></programlisting>
 ]]></programlisting>
 
 
     <para>
     <para>
-        Any exceptions thrown are of class
+        Alle Exceptions die geworfen werden sind von der Klasse
         <classname>Zend_Queue_Exception</classname>.
         <classname>Zend_Queue_Exception</classname>.
     </para>
     </para>
 
 
     <sect2 id="zend.queue.framework.basics">
     <sect2 id="zend.queue.framework.basics">
-        <title>Introduction</title>
+        <title>Einführung</title>
 
 
         <para>
         <para>
-            <classname>Zend_Queue</classname> is a proxy class that represents
-            an adapter.
+            <classname>Zend_Queue</classname> ist eine Proxy Klasse die einen Adapter
+            repräsentiert.
         </para>
         </para>
 
 
         <para>
         <para>
-            The <methodname>send()</methodname>,
-            <methodname>count($queue)</methodname>, and
-            <methodname>receive()</methodname> methods are employed by each
-            adapter to interact with queues.
+            Die Methoden <methodname>send()</methodname>, <methodname>count($queue)</methodname>,
+            und <methodname>receive()</methodname> werden von jedem Adapter verwendet um mit den
+            Queues zu interagieren.
         </para>
         </para>
 
 
         <para>
         <para>
-            The <methodname>createQueue()</methodname>,
-            <methodname>deleteQueue()</methodname> methods are used to manage
-            queues.
+            Die Methoden <methodname>createQueue()</methodname>,
+            <methodname>deleteQueue()</methodname> werden verwendet um Queues zu managen.
         </para>
         </para>
     </sect2>
     </sect2>
 
 
     <sect2 id="zend.queue.framework.support">
     <sect2 id="zend.queue.framework.support">
-        <title>Commonality among adapters</title>
+        <title>Gemeinsamkeiten für alle Adapter</title>
 
 
         <para>
         <para>
-            The queue services supported by <classname>Zend_Queue</classname> do
-            not all support the same functions. For example,
-            <classname>Zend_Queue_Adapter_Array</classname>,
-            <classname>Zend_Queue_Adapter_Db</classname>, support all functions,
-            while <classname>Zend_Queue_Adapter_Activemq</classname> does not
-            support queue listing, queue deletion, or counting of messages.
+            Die Queue Services die von <classname>Zend_Queue</classname> unterstützt werden
+            unterstützen nicht alle die gleichen Funktionalitäten. Zum Beispiel unterstützen
+            <classname>Zend_Queue_Adapter_Array</classname> und
+            <classname>Zend_Queue_Adapter_Db</classname> alle Funktionen, wärend
+            <classname>Zend_Queue_Adapter_Activemq</classname> das Auflisten und Löschen von Queues
+            der das Zählen von Nachrichten nicht unterstützt.
         </para>
         </para>
 
 
         <para>
         <para>
-            You can determine what functions are supported by using
-            <methodname>Zend_Queue::isSupported()</methodname> or
-            <methodname>Zend_Queue::getCapabilities()</methodname>.
+            Man kann erkennen welche Funktionen unterstützt werden indem
+            <methodname>Zend_Queue::isSupported()</methodname> oder
+            <methodname>Zend_Queue::getCapabilities()</methodname> verwendet wird.
         </para>
         </para>
 
 
         <itemizedlist>
         <itemizedlist>
             <listitem>
             <listitem>
                 <para>
                 <para>
-                    <methodname>create()</methodname> - create a queue
+                    <emphasis><methodname>create()</methodname></emphasis> - Erstellt eine Queue
                 </para>
                 </para>
             </listitem>
             </listitem>
 
 
             <listitem>
             <listitem>
                 <para>
                 <para>
-                    <methodname>delete()</methodname> - delete a queue
+                    <emphasis><methodname>delete()</methodname></emphasis> - Löscht eine Queue
                 </para>
                 </para>
             </listitem>
             </listitem>
 
 
             <listitem>
             <listitem>
                 <para>
                 <para>
-                    <methodname>send()</methodname> - send a message
+                    <emphasis><methodname>send()</methodname></emphasis> - Sendet eine Nachricht
                 </para>
                 </para>
 
 
                 <para>
                 <para>
-                    <methodname>send()</methodname> is not available in all adapters; the
-                    <classname>Zend_Queue_Adapter_Null</classname> does not
-                    support <methodname>send()</methodname>.
+                    <methodname>send()</methodname> ist nicht in allen Adaptern vorhanden;
+                    <classname>Zend_Queue_Adapter_Null</classname> unterstützt
+                    <methodname>send()</methodname> nicht.
                 </para>
                 </para>
             </listitem>
             </listitem>
 
 
             <listitem>
             <listitem>
                 <para>
                 <para>
-                    <methodname>receive()</methodname> - receive messages
+                    <emphasis><methodname>receive()</methodname></emphasis> - Empfängt eine
+                    Nachricht
                 </para>
                 </para>
 
 
                 <para>
                 <para>
-                    <methodname>receive()</methodname> is not available in all adapters;
-                    the <classname>Zend_Queue_Adapter_Null</classname> does not
-                    support <methodname>receive()</methodname>.
+                    <methodname>receive()</methodname> ist nicht in allen Adaptern vorhanden;
+                    <classname>Zend_Queue_Adapter_Null</classname> unterstützt
+                    <methodname>receive()</methodname> nicht.
                 </para>
                 </para>
             </listitem>
             </listitem>
 
 
             <listitem>
             <listitem>
                 <para>
                 <para>
-                    <methodname>deleteMessage()</methodname> - delete a message
+                    <emphasis><methodname>deleteMessage()</methodname></emphasis> - Löscht eine
+                    Nachricht
                 </para>
                 </para>
             </listitem>
             </listitem>
 
 
             <listitem>
             <listitem>
                 <para>
                 <para>
-                    <methodname>count()</methodname> - count the number of messages in a queue
+                    <emphasis><methodname>count()</methodname></emphasis> - Zählt die Anzahl an
+                    Nachrichten in einer Queue
                 </para>
                 </para>
             </listitem>
             </listitem>
 
 
             <listitem>
             <listitem>
                 <para>
                 <para>
-                    <methodname>isExists()</methodname> - checks the existence of a queue
+                    <emphasis><methodname>isExists()</methodname></emphasis> - Prüft auf die
+                    Existenz einer Queue
                 </para>
                 </para>
             </listitem>
             </listitem>
         </itemizedlist>
         </itemizedlist>
 
 
         <para>
         <para>
-            <methodname>receive()</methodname> methods are employed by each
-            adapter to interact with queues.
+            <methodname>receive()</methodname> Methoden werden von jedem Adapter zur Verfügung
+            gestellt um mit Queues zu interagieren.
         </para>
         </para>
 
 
         <para>
         <para>
-            The <methodname>createQueue()</methodname> and
-            <methodname>deleteQueue()</methodname> methods are used to manage
-            queues.
+            Die Methoden <methodname>createQueue()</methodname> und
+            <methodname>deleteQueue()</methodname> werden verwendet um Queues zu managen.
         </para>
         </para>
     </sect2>
     </sect2>
 </sect1>
 </sect1>

+ 12 - 8
documentation/manual/de/ref/coding_standard.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 16734 -->
+<!-- EN-Revision: 16783 -->
 <!-- Reviewed: no -->
 <!-- Reviewed: no -->
 <appendix id="coding-standard">
 <appendix id="coding-standard">
   <title>Zend Framework Coding Standard für PHP</title>
   <title>Zend Framework Coding Standard für PHP</title>
@@ -16,15 +16,19 @@
                 Ihr Code Stil mit jedem Zend Framework Code konsistent bleibt. Es ist auch
                 Ihr Code Stil mit jedem Zend Framework Code konsistent bleibt. Es ist auch
                 anzumerken das es signifikant viel Arbeit erfordert einen kompletten Coding
                 anzumerken das es signifikant viel Arbeit erfordert einen kompletten Coding
                 Standard zu definieren.
                 Standard zu definieren.
-
-                Beachte: Manchmal entscheiden Entwickler das die Verfügbarkeit eines Standards
-                wichtiger ist als was der Standard aktuell im höchsten Level des Designs empfiehlt.
-                Diese Richtlinien im Zend Framework Coding Standard beschreiben die Praxis die im
-                ZF Projekt sehr gut funktionieren. Diese Standard können geändert oder so wie sie
-                sind verwendet werden solange Sie sich an unsere
-                <ulink url="http://framework.zend.com/license">Lizenz</ulink> halten.
             </para>
             </para>
 
 
+            <note>
+                <para>
+                    Manchmal entscheiden Entwickler das die Verfügbarkeit eines Standards wichtiger
+                    ist als was der Standard aktuell im höchsten Level des Designs empfiehlt. Diese
+                    Richtlinien im Zend Framework Coding Standard beschreiben die Praxis die im
+                    ZF Projekt sehr gut funktionieren. Diese Standard können geändert oder so wie
+                    sie sind verwendet werden solange Sie sich an unsere
+                    <ulink url="http://framework.zend.com/license">Lizenz</ulink> halten.
+                </para>
+            </note>
+
             <para>
             <para>
                 Die Bereiche die im ZF Coding Standard abgedeckt werden enthalten:
                 Die Bereiche die im ZF Coding Standard abgedeckt werden enthalten:
             </para>
             </para>

+ 663 - 0
documentation/manual/de/ref/documentation-standard.xml

@@ -0,0 +1,663 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 16785 -->
+<!-- Reviewed: no -->
+<appendix id="doc-standard">
+    <title>Zend Framework Documentation Standard</title>
+
+    <sect1 id="doc-standard.overview">
+        <title>Overview</title>
+
+        <sect2 id="doc-standard.overview.scope">
+            <title>Scope</title>
+
+            <para>
+                This document provides guidelines for creation of the end-user
+                documentation found within Zend Framework. It is intended as a
+                guide to Zend Framework contributors, who must write
+                documentation as part of component contributions, as well as to
+                documentation translators. The standards contained herein are
+                intended to ease translation of documentation, minimize
+                visual and stylistic differences between different documentation
+                files, and make finding changes in documentation easier with
+                <command>diff</command> tools.
+            </para>
+
+            <para>
+                You may adopt and/or modify these standards in accordance with the terms of our
+                <ulink url="http://framework.zend.com/license">license</ulink>.
+            </para>
+
+            <para>
+                Topics covered in the ZF documentation standards include documentation file
+                formatting and recommendations for documentation quality.
+            </para>
+        </sect2>
+    </sect1>
+
+    <sect1 id="doc-standard.file-formatting">
+        <title>Documentation File Formatting</title>
+
+        <sect2 id="doc-standard.file-formatting.xml-tags">
+            <title>XML Tags</title>
+
+            <para>
+                Each manual file must include the following <acronym>XML</acronym> declarations at
+                the top of the file:
+            </para>
+
+            <programlisting language="xml"><![CDATA[
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- Reviewed: no -->
+]]></programlisting>
+
+            <para>
+                <acronym>XML</acronym> files from translated languages must also include a revision
+                tag containing the revision of the corresponding English-language file the
+                translation was based on.
+            </para>
+
+            <programlisting language="xml"><![CDATA[
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 14978 -->
+<!-- Reviewed: no -->
+]]></programlisting>
+        </sect2>
+
+        <sect2 id="doc-standard.file-formatting.max-line-length">
+            <title>Maximum Line Length</title>
+
+            <para>
+                The maximum line length, including tags, attributes, and indentation, is not to
+                exceed 100 characters. There is only one exception to this rule: attribute/value
+                pairs are allowed to exceed the 100 chars as they are not allowed to be seperated.
+            </para>
+        </sect2>
+
+        <sect2 id="doc-standard.file-formatting.indentation">
+            <title>Indentation</title>
+
+            <para>Indentation should consist of 4 spaces. Tabs are not allowed.</para>
+
+            <para>Tags which are at the same level must have the same indentation.</para>
+
+            <programlisting language="xml"><![CDATA[
+<sect1>
+</sect1>
+
+<sect1>
+</sect1>
+]]></programlisting>
+
+            <para>
+                Tags which are one level under the previous tag must be indented with 4 additional
+                spaces.
+            </para>
+
+            <programlisting language="xml"><![CDATA[
+<sect1>
+    <sect2>
+    </sect2>
+</sect1>
+]]></programlisting>
+
+            <para>
+                Multiple block tags within the same line are not allowed; multiple inline tags are
+                allowed, however.
+            </para>
+
+            <programlisting language="xml"><![CDATA[
+<!-- NOT ALLOWED: -->
+<sect1><sect2>
+</sect2></sect1>
+
+<!-- ALLOWED -->
+<para>
+    <code>Zend_Magic</code> does not exist. <code>Zend_Acl</code> does.
+</para>
+]]></programlisting>
+        </sect2>
+
+        <sect2 id="doc-standard.file-formatting.line-termination">
+            <title>Line Termination</title>
+
+            <para>
+                Line termination follows the Unix text file convention. Lines must end with a
+                single linefeed (LF) character. Linefeed characters are represented as ordinal 10,
+                or hexadecimal 0x0A.
+            </para>
+
+            <para>
+                Note: Do not use carriage returns (<acronym>CR</acronym>) as is the convention in
+                Apple OS's (0x0D) or the carriage return - linefeed combination
+                (<acronym>CRLF</acronym>) as is standard for the Windows OS (0x0D, 0x0A).
+            </para>
+        </sect2>
+
+        <sect2 id="doc-standard.file-formatting.empty-tags">
+            <title>Empty tags</title>
+
+            <para>
+                Empty tags are not allowed; all tags must contain text or child tags.
+            </para>
+
+            <programlisting language="xml"><![CDATA[
+<!-- NOT ALLOWED -->
+<para>
+    Some text. <link></link>
+</para>
+
+<para>
+</para>
+]]></programlisting>
+        </sect2>
+
+        <sect2 id="doc-standard.file-formatting.whitespace">
+            <title>Usage of whitespace within documents</title>
+
+            <sect3 id="doc-standard.file-formatting.whitespace.trailing">
+                <title>Whitespace within tags</title>
+
+                <para>
+                    Opening block tags should have no whitespace immediately following them other
+                    than line breaks (and indentation on the following line).
+                </para>
+
+                <programlisting language="xml"><![CDATA[
+<!-- NOT ALLOWED -->
+<sect1>WHITESPACE
+</sect1>
+]]></programlisting>
+
+                <para>
+                    Opening inline tags should have no whitespace immediately following them.
+                </para>
+
+                <programlisting language="xml"><![CDATA[
+<!-- NOT ALLOWED -->
+This is the class <classname> Zend_Class</classname>.
+
+<!-- OK -->
+This is the class <classname>Zend_Class</classname>.
+]]></programlisting>
+
+                <para>
+                    Closing block tags may be preceded by whitespace equivalent to the current
+                    indentation level, but no more than that amount.
+                </para>
+
+                <programlisting language="xml"><![CDATA[
+<!-- NOT ALLOWED -->
+    <sect1>
+     </sect1>
+
+<!-- OK -->
+    <sect1>
+    </sect1>
+]]></programlisting>
+
+                <para>
+                    Closing inline tags must not be preceded by any whitespace.
+                </para>
+
+                <programlisting language="xml"><![CDATA[
+<!-- NOT ALLOWED -->
+This is the class <classname>Zend_Class </classname>
+
+<!-- OK -->
+This is the class <classname>Zend_Class</classname>
+]]></programlisting>
+            </sect3>
+
+            <sect3 id="doc-standard.file-formatting.whitespace.multiple-line-breaks">
+                <title>Multiple line breaks</title>
+
+                <para>
+                    Multiple line breaks within or between tags are not allowed.
+                </para>
+
+                <programlisting language="xml"><![CDATA[
+<!-- NOT ALLOWED -->
+<para>
+    Some text...
+
+    ... and more text
+</para>
+
+
+<para>
+    Another paragraph.
+</para>
+
+<!-- OK -->
+<para>
+    Some text...
+    ... and more text
+</para>
+
+<para>
+    Another paragraph.
+</para>
+]]></programlisting>
+            </sect3>
+
+            <sect3 id="doc-standard.file-formatting.whitespace.tag-separation">
+                <title>Separation between tags</title>
+
+                <para>
+                    Tags at the same level must be separated by an empty line to improve
+                    readability.
+                </para>
+
+                <programlisting language="xml"><![CDATA[
+<!-- NOT ALLOWED -->
+<para>
+    Some text...
+</para>
+<para>
+    More text...
+</para>
+
+<!-- OK -->
+<para>
+    Some text...
+</para>
+
+<para>
+    More text...
+</para>
+]]></programlisting>
+
+                <para>
+                    The first child tag should open directly below its parent, with no empty line
+                    between them; the last child tag should close directly before the closing tag of
+                    its parent.
+                </para>
+
+                <programlisting language="xml"><![CDATA[
+<!-- NOT ALLOWED -->
+<sect1>
+
+    <sect2>
+    </sect2>
+
+    <sect2>
+    </sect2>
+
+    <sect2>
+    </sect2>
+
+</sect1>
+
+<!-- OK -->
+<sect1>
+    <sect2>
+    </sect2>
+
+    <sect2>
+    </sect2>
+
+    <sect2>
+    </sect2>
+</sect1>
+]]></programlisting>
+            </sect3>
+        </sect2>
+
+        <sect2 id="doc-standard.file-formatting.program-listing">
+            <title>Program Listings</title>
+
+            <para>
+                The opening <emphasis>&lt;programlisting&gt;</emphasis> tag must indicate the
+                appropriate "language" attribute and be indented at the same level as its sibling
+                blocks.
+            </para>
+
+            <programlisting language="xml"><![CDATA[
+<para>Sibling paragraph.</para>
+
+<programlisting language="php">]]>&lt;<![CDATA[![CDATA[
+]]></programlisting>
+
+            <para>
+                <acronym>CDATA</acronym> should be used around all program listings.
+            </para>
+
+            <para>
+                <emphasis>&lt;programlisting&gt;</emphasis> sections must not add linebreaks or
+                whitespace at the beginning or end of the section, as these are then represented in
+                the final output.
+            </para>
+
+            <programlisting language="xml"><![CDATA[
+<!-- NOT ALLOWED -->
+<programlisting language="php">]]>&lt;<![CDATA[![CDATA[
+
+$render = "xxx";
+
+]]]]>&gt;<![CDATA[</programlisting>
+
+<!-- OK -->
+<programlisting language="php">]]>&lt;<![CDATA[![CDATA[
+$render = "xxx";
+]]]]>&gt;<![CDATA[</programlisting>
+]]></programlisting>
+
+            <para>
+                Ending <acronym>CDATA</acronym> and <emphasis>&lt;programlisting&gt;</emphasis>
+                tags should be on the same line, without any indentation.
+            </para>
+
+            <programlisting language="xml"><![CDATA[
+<!-- NOT ALLOWED -->
+    <programlisting language="php">]]>&lt;<![CDATA[![CDATA[
+$render = "xxx";
+]]]]>&gt;<![CDATA[
+    </programlisting>
+
+<!-- NOT ALLOWED -->
+    <programlisting language="php">]]>&lt;<![CDATA[![CDATA[
+$render = "xxx";
+    ]]]]>&gt;<![CDATA[</programlisting>
+
+<!-- OK -->
+    <programlisting language="php">]]>&lt;<![CDATA[![CDATA[
+$render = "xxx";
+]]]]>&gt;<![CDATA[</programlisting>
+]]></programlisting>
+
+            <para>
+                The <emphasis>&lt;programlisting&gt;</emphasis> tag should contain the "language"
+                attribute with a value appropriate to the contents of the program listing. Typical
+                values include "css", "html", "ini", "javascript", "php", "text", and "xml".
+            </para>
+
+            <programlisting language="xml"><![CDATA[
+<!-- PHP -->
+<programlisting language="php">]]>&lt;<![CDATA[![CDATA[
+
+<!-- Javascript -->
+<programlisting language="javascript">]]>&lt;<![CDATA[![CDATA[
+
+<!-- XML -->
+<programlisting language="xml">]]>&lt;<![CDATA[![CDATA[
+]]></programlisting>
+
+            <para>
+                For program listings containing only <acronym>PHP</acronym> code,
+                <acronym>PHP</acronym> tags (e.g., "&lt;?php", "?&gt;") are not required, and
+                should not be used. They simply clutter the narrative, and are implied by the use
+                of the <emphasis>&lt;programlisting&gt;</emphasis> tag.
+            </para>
+
+            <programlisting language="xml"><![CDATA[
+<!-- NOT ALLOWED -->
+<programlisting language="php"]]>&lt;<![CDATA[![CDATA[<?php
+    // ...
+?>]]]]>&gt;<![CDATA[</programlisting>
+
+<programlisting language="php"]]>&lt;<![CDATA[![CDATA[
+<?php
+    // ...
+?>
+]]]]>&gt;<![CDATA[</programlisting>
+]]></programlisting>
+
+            <para>
+                Line lengths within program listings should follow the <link
+                    linkend="coding-standard.php-file-formatting.max-line-length">coding standards
+                recommendations</link>.
+            </para>
+
+            <para>
+                Refrain from using <methodname>require_once()</methodname>,
+                <methodname>require()</methodname>, <methodname>include_once()</methodname>, and
+                <methodname>include()</methodname> calls within <acronym>PHP</acronym> listings.
+                They simply clutter the narrative, and are largely obviated when using an
+                autoloader. Use them only when they are essential to the example.
+            </para>
+
+            <note>
+                <title>Never use short tags</title>
+
+                <para>
+                    Short tags (e.g., "&lt;?", "&lt;?=") should never be used within
+                    <emphasis>programlisting</emphasis> or the narrative of a document.
+                </para>
+            </note>
+        </sect2>
+
+        <sect2 id="doc-standard.file-formatting.inline-tags">
+            <title>Notes on specific inline tags</title>
+
+            <sect3 id="doc-standard.file-formatting.inline-tags.classname">
+                <title>classname</title>
+
+                <para>
+                    The tag <emphasis>&lt;classname&gt;</emphasis> must be used each time a class name is
+                    represented by itself; it should not be used when combined with a method name,
+                    variable name, or constant, and no other content is allowed within the tag.
+                </para>
+
+                <programlisting language="xml"><![CDATA[
+<para>
+    The class <classname>Zend_Class</classname>.
+</para>
+]]></programlisting>
+            </sect3>
+
+            <sect3 id="doc-standard.file-formatting.inline-tags.varname">
+                <title>varname</title>
+
+                <para>
+                    Variables must be wrapped in the <emphasis>&lt;varname&gt;</emphasis> tag.
+                    Variables must be written using the "$" sigil. No other content is allowed
+                    within this tag, unless a class name is used, which indicates a class variable.
+                </para>
+
+                <programlisting language="xml"><![CDATA[
+<para>
+    The variable <varname>$var</varname> and the class variable
+    <varname>Zend_Class::$var</varname>.
+</para>
+]]></programlisting>
+            </sect3>
+
+            <sect3 id="doc-standard.file-formatting.inline-tags.methodname">
+                <title>methodname</title>
+
+                <para>
+                    Methods must be wrapped in the <emphasis>&lt;methodname&gt;</emphasis> tag.
+                    Methods must either include the full method signature or at the least a pair of
+                    closing parentheses (e.g., "()"). No other content is allowed within this tag,
+                    unless a class name is used, which indicates a class method.
+                </para>
+
+                <programlisting language="xml"><![CDATA[
+<para>
+    The method <methodname>foo()</methodname> and the class method
+    <methodname>Zend_Class::foo()</methodname>. A method with a full signature:
+    <methodname>foo($bar, $baz)</methodname>
+</para>
+]]></programlisting>
+            </sect3>
+
+            <sect3 id="doc-standard.file-formatting.inline-tags.constant">
+                <title>constant</title>
+
+                <para>
+                    Use the <emphasis>&lt;constant&gt;</emphasis> tag when denoting constants.
+                    Constants must be written in <acronym>UPPERCASE</acronym>. No other content is
+                    allowed within this tag, unless a class name is used, which indicates a class
+                    constant.
+                </para>
+
+                <programlisting language="xml"><![CDATA[
+<para>
+    The constant <constant>FOO</constant> and the class constant
+    <constant>Zend_Class::FOO</constant>.
+</para>
+]]></programlisting>
+            </sect3>
+
+            <sect3 id="doc-standard.file-formatting.inline-tags.filename">
+                <title>filename</title>
+
+                <para>
+                    Filenames and paths must be wrapped in the
+                    <emphasis>&lt;filename&gt;</emphasis> tag. No other content is allowed in this
+                    tag.
+                </para>
+
+                <programlisting language="xml"><![CDATA[
+<para>
+    The filename <filename>application/Bootstrap.php</filename>.
+</para>
+]]></programlisting>
+            </sect3>
+
+            <sect3 id="doc-standard.file-formatting.inline-tags.command">
+                <title>command</title>
+
+                <para>
+                    Commands, shell scripts, and program calls must be wrapped in the
+                    <emphasis>&lt;command&gt;</emphasis> tag. If the command includes arguments,
+                    these should also be included within the tag.
+                </para>
+
+                <programlisting language="xml"><![CDATA[
+<para>
+    Execute <command>zf.sh create project</command>.
+</para>
+]]></programlisting>
+            </sect3>
+
+            <sect3 id="doc-standard.file-formatting.inline-tags.code">
+                <title>code</title>
+
+                <para>
+                    Usage of the <emphasis>&lt;code&gt;</emphasis> tag is discouraged, in favor of
+                    the other inline tasks discussed previously.
+                </para>
+            </sect3>
+        </sect2>
+
+        <sect2 id="doc-standard.file-formatting.block-tags">
+            <title>Notes on specific block tags</title>
+
+            <sect3 id="doc-standard.file-formatting.block-tags.title">
+                <title>title</title>
+
+                <para>
+                    The <emphasis>&lt;title&gt;</emphasis> tag is not allowed to hold other tags.
+                </para>
+
+                <programlisting language="xml"><![CDATA[
+<!-- NOT ALLOWED -->
+<title>Using <classname>Zend_Class</classname></title>
+
+<!-- OK -->
+<title>Using Zend_Class</title>
+]]></programlisting>
+            </sect3>
+        </sect2>
+    </sect1>
+
+    <sect1 id="doc-standard.recommendations">
+        <title>Recommendations</title>
+
+        <sect2 id="doc-standard.recommendations.editors">
+            <title>Use editors without autoformatting</title>
+
+            <para>
+                For editing the documentation, typically you should not use formal
+                <acronym>XML</acronym> editors. Such editors normally autoformat existing documents
+                to fit their own standards and/or do not strictly follow the docbook standard. As
+                examples, we have seen them erase the <acronym>CDATA</acronym> tags, change 4 space
+                seperation to tabs or 2 spaces, etc.
+            </para>
+
+            <para>
+                The style guidelines were written in large part to assist translators in recognizing
+                the lines that have changed using normal <command>diff</command> tools.
+                Autoformatting makes this process more difficult.
+            </para>
+        </sect2>
+
+        <sect2 id="doc-standard.recommendations.images">
+            <title>Use Images</title>
+
+            <para>
+                Good images and diagrams can improve readability and comprehension. Use them
+                whenever they will assist in these goals. Images should be placed in the
+                <filename>documentation/manual/en/figures/</filename> directory, and be named after
+                the section identifier in which they occur.
+            </para>
+        </sect2>
+
+        <sect2 id="doc-standard.recommendations.examples">
+            <title>Use Case Examples</title>
+
+            <para>
+                Look for good use cases submitted by the community, especially those posted in
+                proposal comments or on one of the mailing lists. Examples often illustrate usage
+                far better than the narrative does.
+            </para>
+
+            <para>
+                When writing your examples for inclusion in the manual, follow
+                all coding standards and documentation standards.
+            </para>
+        </sect2>
+
+        <sect2 id="doc-standard.recommendations.phpdoc">
+            <title>Avoid Replicating phpdoc Contents</title>
+
+            <para>
+                The manual is intended to be a reference guide for end-user usage. Replicating
+                the phpdoc documentation for internal-use components and classes is not wanted, and
+                the narrative should be focussed on usage, not the internal workings. In any case,
+                at this time, we would like the documentation teams to focus on translating the
+                English manual, not the phpdoc comments.
+            </para>
+        </sect2>
+
+        <sect2 id="doc-standard.recommendations.links">
+            <title>Use Links</title>
+
+            <para>
+                Link to other sections of the manual or to external sources
+                instead of recreating documentation.
+            </para>
+
+            <para>
+                Linking to other sections of the manual may be done using either the
+                <emphasis>&lt;xref&gt;</emphasis> tag (which will substitute the section title for
+                the link text) or the <emphasis>&lt;link&gt;</emphasis> tag (to which you must
+                provide link text).
+            </para>
+
+            <programlisting language="xml"><![CDATA[
+<para>
+    "Xref" links to a section: <xref
+        linkend="doc-standard.recommendations.links" />.
+</para>
+
+<para>
+    "Link" links to a section, using descriptive text: <link
+        linkend="doc-standard.recommendations.links">documentation on
+        links</link>.
+</para>
+]]></programlisting>
+
+            <para>
+                To link to an external resource, use <emphasis>&lt;ulink&gt;</emphasis>:
+            </para>
+
+            <programlisting language="xml"><![CDATA[
+<para>
+    The <ulink url="http://framework.zend.com/">Zend Framework site</ulink>.
+</para>
+]]></programlisting>
+        </sect2>
+    </sect1>
+</appendix>

+ 393 - 0
documentation/manual/de/ref/project-structure.xml

@@ -0,0 +1,393 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 16795 -->
+<!-- Reviewed: no -->
+<appendix id="project-structure">
+    <title>Recommended Project Structure for Zend Framework MVC Applications</title>
+
+    <sect1 id="project-structure.overview">
+        <title>Overview</title>
+
+        <para>
+            Many developers seek guidance on the best project structure for a Zend Framework project
+            in a relatively flexible environment. A "flexible" environment is one in which the
+            developer can manipulate their file systems and web server configurations as needed to
+            achieve the most ideal project structure to run and secure their application. The
+            default project structure will assume that the developer has such flexibility at their
+            disposal.
+        </para>
+
+        <para>
+            The following directory structure is designed to be maximally extensible for complex
+            projects, while providing a simple subset of folder and files for project with simpler
+            requirements. This structure also works without alteration for both modular and
+            non-modular ZF applications. The <filename>.htaccess</filename> files require URL
+            rewrite functionality in the web server as described in the <link
+                linkend="project-structure.rewrite">Rewrite Configuration Guide</link>, also
+            included in this appendix.
+        </para>
+
+        <para>
+            It is not the intention that this project structure will support all possible ZF project
+            requirements. The default project profile used by <classname>Zend_Tool</classname>
+            reflect this project structure, but applications with requirements not supported by this
+            structure should use a custom project profile.
+        </para>
+    </sect1>
+
+    <sect1 id="project-structure.project">
+        <title>Recommended Project Directory Structure</title>
+
+        <literallayout>
+&lt;project name&gt;/
+    application/
+        configs/
+            application.ini
+        controllers/
+            helpers/
+        layouts/
+            filters/
+            helpers/
+            scripts/
+        models/
+        modules/
+        services/
+        views/
+            filters/
+            helpers/
+            scripts/
+        Bootstrap.php
+    data/
+        cache/
+        indexes/
+        locales/
+        logs/
+        sessions/
+        uploads/
+    docs/
+    library/
+    public/
+        css/
+        images/
+        js/
+        .htaccess
+        index.php
+    scripts/
+        jobs/
+        build/
+    temp/
+    tests/
+        </literallayout>
+
+        <para>
+            The following describes the use cases for each directory as listed.
+        </para>
+
+        <itemizedlist>
+            <listitem>
+                <para>
+                    <emphasis>application/</emphasis>: This directory contains your application. It
+                    will house the MVC system, as well as configurations, services used, and your
+                    bootstrap file.
+                </para>
+
+                <itemizedlist>
+                    <listitem>
+                        <para>
+                            <emphasis>configs/</emphasis>: The application-wide configuration
+                            directory.
+                        </para>
+                    </listitem>
+
+                    <listitem>
+                        <para>
+                            <emphasis>controllers/</emphasis>, <emphasis>models/</emphasis>, and
+                            <emphasis>views/</emphasis>: These directories serve as the default
+                            controller/model/view directories. Having these three directories inside
+                            the application directory provides the best layout for starting a simple
+                            project as well as starting a modular project that has global
+                            controllers/models/views.
+                        </para>
+                    </listitem>
+
+                    <listitem>
+                        <para>
+                            <emphasis>controllers/helpers/</emphasis>: These directories will
+                            contain action helpers. Action helpers will be namespaced either as
+                            "Controller_Helper_" for the default module or
+                            "&lt;Module&gt;_Controller_Helper" in other modules.
+                        </para>
+                    </listitem>
+
+                    <listitem>
+                        <para>
+                            <emphasis>layouts/</emphasis>: This layout directory is for MCV-based
+                            layouts. Since <classname>Zend_Layout</classname> is capable of MVC-
+                            and non-MVC-based layouts, the location of this directory reflects that
+                            layouts are not on a 1-to-1 relationship with controllers and are
+                            independent of templates within <filename>views/</filename>.
+                        </para>
+                    </listitem>
+
+                    <listitem>
+                        <para>
+                            <emphasis>modules/</emphasis>: Modules allow a developer to group a set
+                            of related controllers into a logically organized group. The structure
+                            under the modules directory would resemble the structure under the
+                            application directory.
+                        </para>
+                    </listitem>
+
+                    <listitem>
+                        <para>
+                            <emphasis>services</emphasis>: This directory is for your application
+                            specific web-service files that are provided by your application, or for
+                            implementing a <ulink
+                            url="http://www.martinfowler.com/eaaCatalog/serviceLayer.html">Service
+                            Layer</ulink> for your models.
+                        </para>
+                    </listitem>
+
+                    <listitem>
+                        <para>
+                            <emphasis>Bootstrap.php</emphasis>: This file is the entry point for
+                            your application, and should implement
+                            <interfacename>Zend_Application_Bootstrap_Bootstrapper</interfacename>.
+                            The purpose for this file is to bootstrap the application and make
+                            components available to the application by initializing them.
+                        </para>
+                    </listitem>
+                </itemizedlist>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <emphasis>data</emphasis>: This directory provides a place to store application
+                    data that is volatile and possibly temporary. The disturbance of data in this
+                    directory might cause the application to fail. Also, the information in this
+                    directory may or may not be committed to a subversion repository. Examples of
+                    things in this directory are session files, cache files, sqlite databases, logs
+                    and indexes.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <emphasis>docs/</emphasis>: This directory contains documentation, either
+                    generated or directly authored.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <emphasis>library/</emphasis>: This directory is for common libraries on which
+                    the application depends, and should be on the PHP
+                    <varname>include_path</varname>.  Developers should place their application's
+                    library code under this directory in a unique namespace, following the
+                    guidelines established in the PHP manual's <ulink
+                        url="http://www.php.net/manual/en/userlandnaming.php">Userland Naming
+                    Guide</ulink>, as well as those established by Zend itself.  This may directory
+                    may also include Zend Framework itself; if so, you would house it in
+                    <filename>library/Zend/</filename>.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <emphasis>public/</emphasis>: This directory contains all public files for your
+                    application.  <filename>index.php</filename> sets up and invokes
+                    <classname>Zend_Application</classname>, which in turn invokes the
+                    <filename>application/Bootstrap.php</filename> file, resulting in dispatching
+                    the front controller. The web root of your web server would typically be set to
+                    this directory.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <emphasis>scripts/</emphasis>: This directory contains maintenance and/or build
+                    scripts. Such scripts might include command line, cron, or phing build scripts
+                    that are not executed at runtime but are part of the correct functioning of the
+                    application.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <emphasis>temp/</emphasis>: The <filename>temp/</filename> folder is set aside
+                    for transient application data. This information would not typically be
+                    committed to the applications svn repository. If data under the
+                    <filename>temp/</filename> directory were deleted, the application should be
+                    able to continue running with a possible decrease in performance until data is
+                    once again restored/recached.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <emphasis>tests/</emphasis>: This directory contains application tests. These
+                    could be hand-written, PHPUnit tests, Selenium-RC based tests or based on some
+                    other testing framework. By default, library code can be tested by mimicing the
+                    directory structure of your <filename>library/</filename> directory.
+                    Additionally, functional tests for your application could be written mimicing
+                    the <filename>application/</filename> directory structure (including the
+                    application subdirectory).
+                </para>
+            </listitem>
+        </itemizedlist>
+    </sect1>
+
+    <sect1 id="project-structure.filesystem">
+        <title>Module Structure</title>
+
+        <para>
+            The directory structure for modules should mimic that of the
+            <filename>application/</filename> directory in the recommended project structure:
+        </para>
+
+        <literallayout>
+&lt;modulename&gt;/
+    configs/
+        application.ini
+    controllers/
+        helpers/
+    layouts/
+        filters/
+        helpers/
+        scripts/
+    models/
+    services/
+    views/
+        filters/
+        helpers/
+        scripts/
+    Bootstrap.php
+        </literallayout>
+
+        <para>
+            The purpose of these directories remains exactly the same as for the recommended
+            project directory structure.
+        </para>
+    </sect1>
+
+    <sect1 id="project-structure.rewrite">
+        <title>Rewrite Configuration Guide</title>
+
+        <para>
+            URL rewriting is a common function of HTTP servers. However, the rules and configuration
+            differ widely between them. Below are some common approaches across a variety of popular
+            web servers available at the time of writing.
+        </para>
+
+        <sect2 id="project-structure.rewrite.apache">
+            <title>Apache HTTP Server</title>
+
+            <para>
+                All examples that follow use <application>mod_rewrite</application>, an official
+                module that comes bundled with Apache. To use it,
+                <application>mod_rewrite</application> must either be included at compile time or
+                enabled as a Dynamic Shared Object (DSO). Please consult the <ulink
+                    url="http://httpd.apache.org/docs/">Apache documentation</ulink> for your
+                version for more information.
+            </para>
+
+            <sect3 id="project-structure.rewrite.apache.vhost">
+                <title>Rewriting inside a VirtualHost</title>
+
+                <para>
+                    Here is a very basic virtual host definition. These rules direct all requests
+                    to <filename>index.php</filename>, except when a matching file is found under
+                    the <option>document_root</option>.
+                </para>
+
+                <programlisting language="xml"><![CDATA[
+<VirtualHost my.domain.com:80>
+    ServerName   my.domain.com
+    DocumentRoot /path/to/server/root/my.domain.com/public
+
+    RewriteEngine off
+
+    <Location />
+        RewriteEngine On
+        RewriteCond %{REQUEST_FILENAME} -s [OR]
+        RewriteCond %{REQUEST_FILENAME} -l [OR]
+        RewriteCond %{REQUEST_FILENAME} -d
+        RewriteRule ^.*$ - [NC,L]
+        RewriteRule ^.*$ /index.php [NC,L]
+    </Location>
+</VirtualHost>
+]]></programlisting>
+
+                <para>
+                    Note the slash ("/") prefixing <filename>index.php</filename>; the rules for
+                    <filename>.htaccess</filename> differ in this regard.
+                </para>
+            </sect3>
+
+            <sect3 id="project-structure.rewrite.apache.htaccess">
+                <title>Rewriting within a .htaccess file</title>
+
+                <para>
+                    Below is a sample <filename>.htaccess</filename> file that utilizes
+                    <application>mod_rewrite</application>. It is similar to the virtual host
+                    configuration, except that it specifies only the rewrite rules, and the leading
+                    slash is omitted from <filename>index.php</filename>.
+                </para>
+
+                <programlisting language="text"><![CDATA[
+RewriteEngine On
+RewriteCond %{REQUEST_FILENAME} -s [OR]
+RewriteCond %{REQUEST_FILENAME} -l [OR]
+RewriteCond %{REQUEST_FILENAME} -d
+RewriteRule ^.*$ - [NC,L]
+RewriteRule ^.*$ index.php [NC,L]
+]]></programlisting>
+
+                <para>
+                    There are many ways to configure <application>mod_rewrite</application>; if you
+                    would like more information, see Jayson Minard's <ulink
+                        url="http://devzone.zend.com/a/70">Blueprint for PHP Applications:
+                    Bootstrapping</ulink>.
+                </para>
+            </sect3>
+
+        </sect2>
+
+        <sect2 id="project-structure.rewrite.iis">
+            <title>Microsoft Internet Information Server</title>
+
+            <para>
+                As of version 7.0, IIS now ships with a standard rewrite engine.  You may use the
+                following configuration to create the appropriate rewrite rules.
+            </para>
+
+            <programlisting language="xml"><![CDATA[
+<?xml version="1.0" encoding="UTF-8"?>
+<configuration>
+    <system.webServer>
+        <rewrite>
+            <rules>
+                <rule name="Imported Rule 1" stopProcessing="true">
+                    <match url="^.*$" />
+                    <conditions logicalGrouping="MatchAny">
+                        <add input="{REQUEST_FILENAME}"
+                             matchType="IsFile" pattern=""
+                             ignoreCase="false" />
+                        <add input="{REQUEST_FILENAME}"
+                             matchType="IsDirectory"
+                             pattern=""
+                             ignoreCase="false" />
+                    </conditions>
+                    <action type="None" />
+                </rule>
+                <rule name="Imported Rule 2" stopProcessing="true">
+                    <match url="^.*$" />
+                    <action type="Rewrite" url="index.php" />
+                </rule>
+            </rules>
+        </rewrite>
+    </system.webServer>
+</configuration>
+]]></programlisting>
+        </sect2>
+    </sect1>
+</appendix>