Преглед изворни кода

[MANUAL] German:

- sync to r20110

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@20162 44c647ce-9c0f-0410-b52a-842ac1e357ba
thomas пре 16 година
родитељ
комит
3d18cad31e
21 измењених фајлова са 1217 додато и 662 уклоњено
  1. BIN
      documentation/manual/de/figures/zend.barcode.objects.details.upce.png
  2. 1 1
      documentation/manual/de/module_specs/Zend_Amf-Server.xml
  3. 11 11
      documentation/manual/de/module_specs/Zend_Barcode-Objects_Details.xml
  4. 1 1
      documentation/manual/de/module_specs/Zend_Config_Xml.xml
  5. 141 0
      documentation/manual/de/module_specs/Zend_Currency-Additional.xml
  6. 122 0
      documentation/manual/de/module_specs/Zend_Currency-Calculation.xml
  7. 175 0
      documentation/manual/de/module_specs/Zend_Currency-Description.xml
  8. 110 0
      documentation/manual/de/module_specs/Zend_Currency-Exchange.xml
  9. 21 25
      documentation/manual/de/module_specs/Zend_Currency-Introduction.xml
  10. 120 0
      documentation/manual/de/module_specs/Zend_Currency-Number.xml
  11. 175 0
      documentation/manual/de/module_specs/Zend_Currency-Options.xml
  12. 90 0
      documentation/manual/de/module_specs/Zend_Currency-Position.xml
  13. 59 556
      documentation/manual/de/module_specs/Zend_Currency-Usage.xml
  14. 112 0
      documentation/manual/de/module_specs/Zend_Currency-Value.xml
  15. 9 7
      documentation/manual/de/module_specs/Zend_Feed_Pubsubhubbub.xml
  16. 1 1
      documentation/manual/de/ref/coding_standard.xml
  17. 7 7
      documentation/manual/de/tutorials/paginator-simple.xml
  18. 8 7
      documentation/manual/de/tutorials/quickstart-create-form.xml
  19. 16 16
      documentation/manual/de/tutorials/quickstart-intro-mvc.xml
  20. 18 13
      documentation/manual/de/tutorials/view-placeholders-basics.xml
  21. 20 17
      documentation/manual/de/tutorials/view-placeholders-standard.xml

BIN
documentation/manual/de/figures/zend.barcode.objects.details.upce.png


+ 1 - 1
documentation/manual/de/module_specs/Zend_Amf-Server.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 17136 -->
+<!-- EN-Revision: 20106 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.amf.server">
     <title>Zend_Amf_Server</title>

+ 11 - 11
documentation/manual/de/module_specs/Zend_Barcode-Objects_Details.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 20081 -->
+<!-- EN-Revision: 20091 -->
 <!-- Reviewed: no -->
 <sect2 id="zend.barcode.objects.details">
     <title>Beschreibung der ausgelieferten Barcodes</title>
@@ -151,7 +151,7 @@
         <title>Zend_Barcode_Object_Ean2</title>
 
         <para>
-            <inlinegraphic width="101" align="center" valign="middle"
+            <inlinegraphic width="41" align="center" valign="middle"
                 fileref="figures/zend.barcode.objects.details.ean2.png" format="PNG"/>
         </para>
 
@@ -204,7 +204,7 @@
         <title>Zend_Barcode_Object_Ean5</title>
 
         <para>
-            <inlinegraphic width="101" align="center" valign="middle"
+            <inlinegraphic width="68" align="center" valign="middle"
                 fileref="figures/zend.barcode.objects.details.ean5.png" format="PNG"/>
         </para>
 
@@ -257,7 +257,7 @@
         <title>Zend_Barcode_Object_Ean8</title>
 
         <para>
-            <inlinegraphic width="101" align="center" valign="middle"
+            <inlinegraphic width="82" align="center" valign="middle"
                 fileref="figures/zend.barcode.objects.details.ean8.png" format="PNG"/>
         </para>
 
@@ -310,7 +310,7 @@
         <title>Zend_Barcode_Object_Ean13</title>
 
         <para>
-            <inlinegraphic width="101" align="center" valign="middle"
+            <inlinegraphic width="113" align="center" valign="middle"
                 fileref="figures/zend.barcode.objects.details.ean13.png" format="PNG"/>
         </para>
 
@@ -404,7 +404,7 @@
         <title>Zend_Barcode_Object_Identcode</title>
 
         <para>
-            <inlinegraphic width="155" align="center" valign="middle"
+            <inlinegraphic width="137" align="center" valign="middle"
                 fileref="figures/zend.barcode.objects.details.identcode.png" format="PNG"/>
         </para>
 
@@ -564,7 +564,7 @@
         <title>Zend_Barcode_Object_Planet</title>
 
         <para>
-            <inlinegraphic width="155" align="center" valign="middle"
+            <inlinegraphic width="286" align="center" valign="middle"
                 fileref="figures/zend.barcode.objects.details.planet.png" format="PNG"/>
         </para>
 
@@ -603,7 +603,7 @@
         <title>Zend_Barcode_Object_Postnet</title>
 
         <para>
-            <inlinegraphic width="155" align="center" valign="middle"
+            <inlinegraphic width="286" align="center" valign="middle"
                 fileref="figures/zend.barcode.objects.details.postnet.png" format="PNG"/>
         </para>
 
@@ -642,7 +642,7 @@
         <title>Zend_Barcode_Object_Royalmail</title>
 
         <para>
-            <inlinegraphic width="155" align="center" valign="middle"
+            <inlinegraphic width="158" align="center" valign="middle"
                 fileref="figures/zend.barcode.objects.details.royalmail.png" format="PNG"/>
         </para>
 
@@ -682,7 +682,7 @@
         <title>Zend_Barcode_Object_Upca</title>
 
         <para>
-            <inlinegraphic width="155" align="center" valign="middle"
+            <inlinegraphic width="115" align="center" valign="middle"
                 fileref="figures/zend.barcode.objects.details.upca.png" format="PNG"/>
         </para>
 
@@ -735,7 +735,7 @@
         <title>Zend_Barcode_Object_Upce</title>
 
         <para>
-            <inlinegraphic width="155" align="center" valign="middle"
+            <inlinegraphic width="71" align="center" valign="middle"
                 fileref="figures/zend.barcode.objects.details.upce.png" format="PNG"/>
         </para>
 

+ 1 - 1
documentation/manual/de/module_specs/Zend_Config_Xml.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 16945 -->
+<!-- EN-Revision: 20101 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.config.adapters.xml">
     <title>Zend_Config_Xml</title>

+ 141 - 0
documentation/manual/de/module_specs/Zend_Currency-Additional.xml

@@ -0,0 +1,141 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 20100 -->
+<!-- Reviewed: no -->
+<sect1 id="zend.currency.additional">
+    <title>Zusätzliche Informationen für Zend_Currency</title>
+
+    <sect2 id="zend.currency.additional.informations">
+        <title>Währungsinformationen</title>
+
+        <para>
+            Manchmal ist es notwendig Informationen zu erhalten die sich auf eine Währung beziehen.
+            <classname>Zend_Currency</classname> bietet verschiedene Methoden an um diese
+            Informationen zu erhalten. Als vorhandenen Methoden sind die folgenden enthalten:
+        </para>
+
+        <itemizedlist mark='opencircle'>
+            <listitem>
+                <para>
+                    <emphasis><methodname>getCurrencyList()</methodname></emphasis>: Gibt eine Liste
+                    aller Währungen als Array zurück welche in einer angegebenen Region verwendet
+                    werden. Wenn keine Region angegeben wurde ist der Standardwert das Gebietsschema
+                    des Objekts.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <emphasis><methodname>getLocale()</methodname></emphasis>: Gibt das gesetzte
+                    Gebietsschema für die aktuelle Währung zurück.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <emphasis><methodname>getName()</methodname></emphasis>: Gibt den kompletten
+                    Namen für die aktuelle Währung zurück. Wenn für die aktuelle Währung kein
+                    kompletter Name vorhanden ist, wird deren Abkürzung zurückgegeben.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <emphasis><methodname>getRegionList()</methodname></emphasis>: Gibt eine Liste
+                    aller Regionen als Array zurück in denen diese Währung verwendet wird. Wenn
+                    keine Währung angegeben wurde ist der Standardwert das Gebietsschema des
+                    Objektes.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <emphasis><methodname>getService()</methodname></emphasis>: Gibt das, für die
+                    aktuelle Währung gesetzte, Service zur Währungsumrechnung zurück.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <emphasis><methodname>getShortName()</methodname></emphasis>: Gibt die
+                    Abkürzung für die aktuelle Währung zurück.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <emphasis><methodname>getSymbol()</methodname></emphasis>: Gibt das Zeichen für
+                    die Währung zurück. Wenn die Währung kein Zeichen enthält, dann wird deren
+                    Abkürzung zurückgegeben.
+                </para>
+            </listitem>
+
+            <listitem>
+                <para>
+                    <emphasis><methodname>getValue()</methodname></emphasis>: Gibt den gesetzten
+                    Wert für die aktuelle Währung zurück.
+                </para>
+            </listitem>
+        </itemizedlist>
+
+        <para>
+            Schauen wir uns ein paar Codeabschnitte als Beispiel an:
+        </para>
+
+        <programlisting language="php"><![CDATA[
+$currency = new Zend_Currency();
+
+var_dump($currency->getValue());
+// Gibt 0 zurück
+
+var_dump($currency->getRegionList());
+// Könnte ein Array mit allen Regionen zurückgeben in denen USD verwendet wird
+
+var_dump($currency->getRegionList('EUR'));
+// Gibt ein Array mit allen Regionen zurück in welchen EUR verwendet wird
+
+var_dump($currency->getName());
+// Könnte 'US Dollar' zurückgeben
+
+var_dump($currency->getName('EUR'));
+// Gibt 'Euro' zurück
+]]></programlisting>
+
+        <para>
+            Wie man sehen kann erlauben verschiedene Methode die Verwendung von zusätzlichen
+            Parametern welche das aktuelle Objekt überschreiben um Informationen für andere
+            Währungen zu erhalten. Bei Unterdrückung dieser Parameter werden die Informationen
+            von der aktuell gesetzten Währung zurückgegeben.
+        </para>
+    </sect2>
+
+    <sect2 id="zend.currency.additional.cache">
+        <title>Performance Optimierung für Währungen</title>
+
+        <para>
+            Die Performance von <classname>Zend_Currency</classname> kann durch Verwendung von
+            <classname>Zend_Cache</classname> optimiert werden. Die statische Methode
+            <methodname>Zend_Currency::setCache($cache)</methodname> akzeptiert eine Option: einen
+            Adapter für <classname>Zend_Cache</classname>. Wenn der Cache Adapter gesetzt ist,
+            werden die Daten der Lokalisierung welche von <classname>Zend_Currency</classname>
+            verwendet werden, gecacht. Zusätzlich gibt es einige statische Methoden für die
+            Manipulation des Caches: <methodname>getCache()</methodname>,
+            <methodname>hasCache()</methodname>, <methodname>clearCache()</methodname> und
+            <methodname>removeCache()</methodname>.
+        </para>
+
+        <example id="zend.currency.usage.cache.example">
+            <title>Währungen cachen</title>
+
+            <programlisting language="php"><![CDATA[
+// Erstellung eines Cache Objekts
+$cache = Zend_Cache::factory('Core',
+                             'File',
+                             array('lifetime' => 120,
+                                   'automatic_serialization' => true),
+                             array('cache_dir'
+                                       => dirname(__FILE__) . '/_files/'));
+Zend_Currency::setCache($cache);
+]]></programlisting>
+        </example>
+    </sect2>
+</sect1>

+ 122 - 0
documentation/manual/de/module_specs/Zend_Currency-Calculation.xml

@@ -0,0 +1,122 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 20100 -->
+<!-- Reviewed: no -->
+<sect1 id="zend.currency.calculation">
+    <title>Rechnen mit Währungen</title>
+
+    <para>
+        Wenn man mit Währungen arbeitet muss man manchmal mit Ihnen kalkulieren.
+        <classname>Zend_Currency</classname> erlaubt das mit einigen einfachen Methoden. Die
+        folgenden Methoden sind zur Unterstützung von Berechnungen:
+    </para>
+
+    <itemizedlist mark='opencircle'>
+        <listitem>
+            <para>
+                <emphasis><methodname>add()</methodname></emphasis>: Diese Methode addiert die
+                angegebene Währung zum existierenden Währungsobjekt.
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis><methodname>sub()</methodname></emphasis>: Diese Methode substrahiert
+                die angegebene Währung vom existierenden Währungsobjekt.
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis><methodname>div()</methodname></emphasis>: Diese Methode dividiert die
+                angegebene Währung vom existierenden Währungsobjekt.
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis><methodname>mul()</methodname></emphasis>: Diese Methode multipliziert
+                die angegebene Währung zum existierenden Währungsobjekt.
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis><methodname>mod()</methodname></emphasis>: Diese Methode berechnet den
+                verbleibenden Wert (Modulo) einer Division der angegebenen Währung vom existierenden
+                Währungsobjekt.
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis><methodname>compare()</methodname></emphasis>: Diese Methode vergleicht
+                die angegebene Währung mit dem existierenden Währungsobjekt. Wenn beide Werte
+                identisch sind wird '0' zurückgegeben. Wenn der existierende Währungswert größer als
+                der angegebene ist gibt diese Methode 1 zurück. Andernfalls wird '-1' zurückgegeben.
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis><methodname>equals()</methodname></emphasis>: Diese Methode vergleicht
+                die angegebene Währung mit dem existierenden Währungsobjekt. Wenn beide Werte
+                identisch sind wird <constant>TRUE</constant> zurückgegeben, andernfalls
+                <constant>FALSE</constant>.
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis><methodname>isMore()</methodname></emphasis>: Diese Methode vergleicht
+                die angegebene Währung mit dem existierenden Währungsobjekt. Wenn die existierende
+                Währung größer als die angegebene ist wird <constant>TRUE</constant> zurückgegeben,
+                andernfalls <constant>FALSE</constant>.
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis><methodname>isLess()</methodname></emphasis>: Diese Methode vergleicht
+                die angegebene Währung mit dem existierenden Währungsobjekt. Wenn die existierende
+                Währung kleiner als die angegebene ist wird <constant>TRUE</constant> zurückgegeben,
+                andernfalls <constant>FALSE</constant>.
+            </para>
+        </listitem>
+    </itemizedlist>
+
+    <para>
+        Wie man sehen kann erlauben die verschiedenen Methoden mit
+        <classname>Zend_Currency</classname> jede Art der Berechnung. Die nächsten Schnipsel zeigen
+        einige Beispiele:
+    </para>
+
+    <programlisting language="php"><![CDATA[
+$currency = new Zend_Currency(
+    array(
+        'value'    => 1000,
+        'currency' => 'USD',
+    )
+);
+
+print $currency; // Könnte '$ 1.000,00' zurückgeben
+
+$currency->add(500);
+print $currency; // Könnte '$ 1.500,00' zurückgeben
+]]></programlisting>
+
+    <programlisting language="php"><![CDATA[
+$currency_2 = new Zend_Currency(
+    array(
+        'value'    => 500,
+        'currency' => 'USD',
+    )
+);
+
+if ($currency->isMore($currency_2)) {
+    print "First is more";
+}
+
+$currency->div(5);
+print $currency; // Könnte '$ 200,00' zurückgeben
+]]></programlisting>
+</sect1>

+ 175 - 0
documentation/manual/de/module_specs/Zend_Currency-Description.xml

@@ -0,0 +1,175 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 20102 -->
+<!-- Reviewed: no -->
+<sect1 id="zend.currency.description">
+    <title>Was macht eine Währung aus?</title>
+
+    <para>
+        Eine Währung besteht aus verschiedenen Informationen. Einem Namen, einer Abkürzung und einem
+        Zeichen. Jeder dieser Werte könnte relevant sein um dargestellt zu werden, aber immer nur
+        einer zur selben Zeit. Es würde keine gute Praxis sein etwas wie "USD 1.000 $" anzuzeigen.
+    </para>
+
+    <para>
+        Hierfür unterstützt <classname>Zend_Currency</classname> die Definition der
+        Währungsinformation welche dargestellt werden soll. Die folgenden Konstanten können
+        verwendet werden:
+    </para>
+
+    <table id="zend.currency.description.table-1">
+        <title>Dargestellte Informationen für eine Währung</title>
+
+        <tgroup cols="2" align="left">
+            <thead>
+                <row>
+                    <entry>Konstante</entry>
+                    <entry>Beschreibung</entry>
+                </row>
+            </thead>
+
+            <tbody>
+                <row>
+                    <entry><constant>NO_SYMBOL</constant></entry>
+                    <entry>Es wird gar keine Darstellung einer Währung angezeigt</entry>
+                </row>
+
+                <row>
+                    <entry><constant>USE_SYMBOL</constant></entry>
+
+                    <entry>
+                        Das Währungssymbol wird dargestellt. Für US Dollar wäre dies '$'
+                    </entry>
+                </row>
+
+                <row>
+                    <entry><constant>USE_SHORTNAME</constant></entry>
+
+                    <entry>
+                        Die Abkürzung für diese Währung wird dargestellt. Für US Dollar wäre dies
+                        'USD'. Die meisten Abkürzungen bestehen aus 3 Zeichen.
+                    </entry>
+                </row>
+
+                <row>
+                    <entry><constant>USE_NAME</constant></entry>
+
+                    <entry>
+                        Der komplette Name für diese Währung wird dargestellt. Für US Dollar wäre
+                        der komplette Name "US Dollar"
+                    </entry>
+                </row>
+            </tbody>
+        </tgroup>
+    </table>
+
+    <example id="zend.currency.description.example-1">
+        <title>Auswahl der Währungsbeschreibung</title>
+
+        <para>
+            Angenommen unser Client setzt wieder "en_US" als Gebietsschema. Wenn keine Option
+            verwendet wird könnte der zurückgegebene Wert wie folgt aussehen:
+        </para>
+
+        <programlisting language="php"><![CDATA[
+$currency = new Zend_Currency(
+    array(
+        'value' => 100,
+    )
+);
+
+print $currency; // Könnte '$ 100' zurückgeben
+]]></programlisting>
+
+        <para>
+            Durch Angabe der richtigen Option kann definiert werden welche Information dargestellt
+            werden soll.
+        </para>
+
+        <programlisting language="php"><![CDATA[
+$currency = new Zend_Currency(
+    array(
+        'value'   => 100,
+        'display' => Zend_Currency::USE_SHORTNAME,
+    )
+);
+
+print $currency; // Könnte 'USD 100' zurückgeben
+]]></programlisting>
+
+        <para>
+            Ohne Angabe von <property>display</property> wird das Währungssymbol für die Darstellung
+            des Objekts verwendet. Wen die Währung kein Symbol hat wird die Abkürzung als Ersatz
+            verwendet.
+        </para>
+    </example>
+
+    <note>
+        <title>Nicht alle Währungen haben Symbole</title>
+
+        <para>
+            Man sollte beachten das nicht alle Währungen standardmäßige Währungssymbole haben. Das
+            bedeutet, wenn es kein Standardsymbol gibt, und das Symbol als dargestellt setzt, wird
+            man überhaupt keine dargestellte Währung haben, da das Symbol ein leerer String ist.
+        </para>
+    </note>
+
+    <para>
+        Manchmal ist es notwendig die Standardinformationen zu ändern. Man kann jede der drei
+        Währungsinformationen unabhängig setzen indem die richtige Option angegeben wird. Siehe
+        das folgende Beispiel.
+    </para>
+
+    <example id="zend.currency.description.example-2">
+        <title>Verändern der Beschreibung einer Währung</title>
+
+        <para>
+            Angenommen unser Client hat wieder mal "en_US" als Gebietsschema gesetzt. Aber jetzt
+            wollen sie nicht die Standardeinstellungen verwenden sondern unsere eigene
+            Beschreibung setzen. Das kann einfach durch Angabe der richtigen Option durchgeführt
+            werden:
+        </para>
+
+        <programlisting language="php"><![CDATA[
+$currency = new Zend_Currency(
+    array(
+        'value' => 100,
+        'name'  => 'Dollar',
+    )
+);
+
+print $currency; // Könnte 'Dollar 100' zurückgeben
+]]></programlisting>
+
+        <para>
+            Man kann auch ein Symbol oder eine Abkürzung selbst setzen.
+        </para>
+
+        <programlisting language="php"><![CDATA[
+$currency = new Zend_Currency(
+    array(
+        'value'    => 100,
+        'symbol' => '$$$',
+    )
+);
+
+print $currency; // Könnte '$$$ 100' zurückgeben
+]]></programlisting>
+    </example>
+
+    <note>
+        <title>Einstellungen für die automatische Anzeige</title>
+
+        <para>
+            Wenn man einen Namen, eine Abkürzung oder ein Symbol selbst setzt, dann werden diese
+            neuen Informationen automatisch gesetzt und dargestellt. Diese Vereinfachung verhindert
+            das man die richtige <property>display</property> Option angeben muss wenn eine
+            Information gesetzt wird.
+        </para>
+
+        <para>
+            Wenn man also die Option <property>sign</property> verwendet kann man
+            <property>display</property> unterdrücken und muss diese nicht auf
+            '<constant>USE_SYMBOL</constant>' setzen.
+        </para>
+    </note>
+</sect1>

+ 110 - 0
documentation/manual/de/module_specs/Zend_Currency-Exchange.xml

@@ -0,0 +1,110 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 20102 -->
+<!-- Reviewed: no -->
+<sect1 id="zend.currency.exchange">
+    <title>Währungen wechseln</title>
+
+    <para>
+        Im vorherigen Abschnitt haben wir die Berechnung der Währung besprochen. Aber wie man sich
+        vorstellen kann bedeutet das Rechnen mit Währungen oft das man mit unterschiedlichen
+        Währungen von verschiedenen Ländern rechnen will.
+    </para>
+
+    <para>
+        In diesem Fall müssen die Währungen gewechselt werden so dass beide die selbe Währung
+        verwenden. Im wirklichen Leben ist diese Information von Banken oder Tageszeitungen
+        erhältlich. Aber wir sind im Web, also sollten wir vorhandene Wechselservices verwenden.
+        <classname>Zend_Currency</classname> erlaubt deren Verwendung mit einem einfachen Callback.
+    </para>
+
+    <para>
+        Zuerst schreiben wir ein einfaches Umrechnungsservice.
+    </para>
+
+    <programlisting language="php"><![CDATA[
+class SimpleExchange implements Zend_Currency_CurrencyInterface
+{
+    public function getRate($from, $to)
+    {
+        if ($from !== "USD") {
+            throw new Exception('Wir können nur USD umrechnen');
+        }
+
+        switch ($to) {
+            case 'EUR':
+                return 0.5;
+            case 'JPE':
+                return 0.7;
+       }
+
+       throw new Exception('$to kann nicht umgerechnet werden');
+    }
+}
+]]></programlisting>
+
+    <para>
+        Wir haben jetzt ein manuelles Umrechnungsservice erstellt. Es passt nicht im wirklichen
+        Leben, aber es zeigt wie die Umrechnung von Währungen arbeitet.
+    </para>
+
+    <para>
+        Unsere Umrechnungsklasse muss das <classname>Zend_Currency_CurrencyInterface</classname>
+        Interface implementieren. Diese Interface erwartet das die einzige Methode
+        <methodname>getRate()</methodname> implementiert wird. Diese Methode hat zwei Parameter
+        die Sie empfängt. Beide sind die Kurznamen für die angegebenen Währungen.
+        <classname>Zend_Currency</classname> auf der anderen Seite erwartet dass der
+        Umrechnungsfaktor zurückgegeben wird.
+    </para>
+
+    <para>
+        In einer lebenden Umrechnungsklasse wird man warscheinlich einen Serviceprovider nach den
+        richtigen Umrechnungsfaktoren fragen. Für unser Beispiel ist der händische Faktor in
+        Ordnung.
+    </para>
+
+    <para>
+        Jetzt verbinden wir unsere Umrechnungsklasse einfach mit
+        <classname>Zend_Currency</classname>. Es gibt zwei Wege mit denen das getan werden kann.
+        Entweder durch Anhängen einer Instanz der Umrechnungsklasse, oder einfach durch Angabe eines
+        Strings mit dem Klassennamen.
+    </para>
+
+    <programlisting language="php"><![CDATA[
+$currency = new Zend_Currency(
+    array(
+        'value'    => 1000,
+        'currency' => 'USD',
+    )
+);
+
+$service  = new SimpleExchange();
+
+// Das Umrechnungsservice anfügen
+$currency->setService($service);
+
+$currency_2 = new Zend_Currency(
+    array(
+        'value'    => 1000,
+        'currency' => 'EUR',
+    )
+);
+
+print $currency->add($currency2);
+]]></programlisting>
+
+    <para>
+        Um obigen Beispeil wird '$ 3.000' zurückgegeben weil die 1.000 <acronym>EUR</acronym> mit
+        dem Faktor 2 in 2.000 <acronym>USD</acronym> umgerechnet werden.
+    </para>
+
+    <note>
+        <title>Kalkulation ohne Umrechnungsservice</title>
+
+        <para>
+            Wenn man versucht zwei Währungsobjekte zu berechnen wenn diese nicht die selbe Währung
+            haben und kein Umrechnungsservice angehängt wurde, erhält man eine Exception. Der Grund
+            hierfür ist, dass <classname>Zend_Currency</classname> dann nicht mehr in der Lage ist
+            zwischen verschiedenen Währungen zu wechseln.
+        </para>
+    </note>
+</sect1>

+ 21 - 25
documentation/manual/de/module_specs/Zend_Currency-Introduction.xml

@@ -1,36 +1,33 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 15681 -->
-<!-- Reviewed: 15681 -->
+<!-- EN-Revision: 20100 -->
+<!-- Reviewed: no -->
 <sect1 id="zend.currency.introduction">
     <title>Einführung in Zend_Currency</title>
 
     <para>
-        <classname>Zend_Currency</classname> ist Teil des starken Supports für I18n des Zend
-        Frameworks. Es behandelt alle Vorgänge betreffend Währungen, Darstellung von Geld und
-        Formatierung. Außerdem bietet es zusätzliche informative Methoden, welche lokalisierte
-        Informationen zu Währungen und Informationen darüber enthalten, welche Währung in welcher
-        Region verwendet wird.
+        <classname>Zend_Currency</classname> ist Teil der starken Unterstützung für I18n im Zend
+        Framework. Es behandelt alle Themen bezüglich Währung, Darstellung von Geld, Formatierung,
+        Wechselkurs Services und Berechnung.
     </para>
 
     <sect2 id="zend.currency.introduction.list">
         <title>Warum sollte man Zend_Currency verwenden?</title>
 
         <para>
-            <classname>Zend_Currency</classname> bietet die folgenden Funktionen für die
-            Manipulation von Währungen.
+            <classname>Zend_Currency</classname> bietet die folgenden Vorteile:
         </para>
 
         <itemizedlist mark='opencircle'>
             <listitem>
                 <para>
-                    <emphasis>Kompletter Support für Gebietsschemata</emphasis>
+                    <emphasis>Komplette Unterstützung für Gebietsschemata</emphasis>
                 </para>
 
                 <para>
-                    <classname>Zend_Currency</classname> arbeitet mit allen vorhandenen
-                    Gebietsschemata und kennt über 100 verschiedene lokalisierte Währungen. Das
-                    beinhaltet zum Beispiel Namen von Währungen, Abkürzungen, Währungssymbole und
-                    mehr.
+                    Diese Komponente arbeitet mit allen vorhandenen Gebietsschemata und weiß deshalb
+                    über mehr als 100 unterschiedliche lokalisierte Währungen bescheid. Das
+                    enthält Informationen wie die Namen von Währungen, deren Abkürzungen,
+                    Währungszeichen und viele andere.
                 </para>
             </listitem>
 
@@ -40,22 +37,20 @@
                 </para>
 
                 <para>
-                    <classname>Zend_Currency</classname> enthält nicht den Wert der Währung. Das ist
-                    der Grund, warum dessen Funktionalität nicht in
-                    <classname>Zend_Locale_Format</classname> vorhanden ist.
-                    <classname>Zend_Currency</classname> bietet den Vorteil, dass bereits definierte
-                    Währungsdarstellungen wieder verwendet werden können.
+                    <classname>Zend_Currency</classname> bietet den Vorteil das bereits definierte
+                    Darstellungen für Währungen wiederverwendet werden können. Man könnte also 2
+                    unterschiedliche Darstellungen für die gleiche Währung haben.
                 </para>
             </listitem>
 
             <listitem>
                 <para>
-                    <emphasis>Fluent Interface</emphasis>
+                    <emphasis>Währungen Kalkulieren</emphasis>
                 </para>
 
                 <para>
-                    <classname>Zend_Currency</classname> beinhaltet das Fluent Interface, wo es
-                    möglich ist.
+                    <classname>Zend_Currency</classname> erlaubt es mit Währungswerten zu rechnen.
+                    Hierfür bietet sie ein Interface zu Währungsumrechnungs Services.
                 </para>
             </listitem>
 
@@ -65,9 +60,10 @@
                 </para>
 
                 <para>
-                    <classname>Zend_Currency</classname> enthält zusätzliche Methoden, die
-                    Informationen darüber anbieten, in welcher Region eine Währung verwendet wird,
-                    oder welche Währung in einer bestimmten Region verwendet wird.
+                    <classname>Zend_Currency</classname> enthält verschiedene zusätzliche Methoden
+                    welche Informationen über Details zu Währungen bieten wie z.B.: Welche Währung
+                    wird in einer bestimmten Region verwendet, oder Was sind die bekannten
+                    Abkürzungen einer Währung.
                 </para>
             </listitem>
         </itemizedlist>

+ 120 - 0
documentation/manual/de/module_specs/Zend_Currency-Number.xml

@@ -0,0 +1,120 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 20100 -->
+<!-- Reviewed: no -->
+<sect1 id="zend.currency.number">
+    <title>Wie sieht die Währung aus?</title>
+
+    <para>
+        Wie der Wert einer Währung dargestellt wird hängt hauptsächlich vom verwendeten
+        Gebietsschema ab. Es gibt verschiedene Informationen welche vom Gebietsschema gesetzt
+        werden. Jede von Ihnen kann manuell überschrieben werden indem die richtige Option
+        verwendet wird.
+    </para>
+
+    <para>
+        Zum Beispiel verwenden die meisten Gebietsschemata die lateinische Schreibweise für die
+        darstellung von Ziffern. Aber es gibt Sprachen wie "Arabisch" welche andere Ziffern
+        verwenden. Und wenn man eine arabische Website hat, will man möglicherweise andere
+        Währungen auch durch Verwendung der arabischen Schreibweise darstellen. Siehe das folgende
+        Beispiel:
+    </para>
+
+    <example id="zend.currency.number.example-1">
+        <title>Verwendung einer eigenen Schreibweise</title>
+
+        <para>
+            Angenommen wir verwenden wieder unsere Währung "Dollar". Aber jetzt wollen wir unsere
+            Währung durch Verwendung der arabischen Schreibweise darstellen.
+        </para>
+
+        <programlisting language="php"><![CDATA[
+$currency = new Zend_Currency(
+    array(
+        'value'  => 1000,
+        'script' => 'Arab',
+    )
+);
+
+print $currency; // Könnte '$ ١٬٠٠٠٫٠٠' zurückgeben
+]]></programlisting>
+    </example>
+
+    <para>
+        Weitere Informationen über vorhandenen Schreibweisen können in
+        <classname>Zend_Locale</classname>'s <link linkend="zend.locale.numbersystems">Kapitel über
+            Zahlensysteme</link> nachgelesen werden.
+    </para>
+
+    <para>
+        Aber auch die Formatierung der Währungszahl (Geldwert) kann verwändert werden. Standardmäßig
+        hängt Sie vom verwendeten Gebietsschema ab. Sie enthält einen Separator der zwischen
+        Tausendern verwendet wird, ein Zeichen das als Dezimalpunkt verwendet wird, sowie die
+        verwendete Genauigkeit.
+    </para>
+
+    <programlisting language="php"><![CDATA[
+$currency = new Zend_Currency(
+    array(
+        'value'    => 1000,
+        'currency' => 'USD'
+        'format'   => 'de',
+    )
+);
+
+print $currency; // Könnte '$ 1.000' zurückgeben
+]]></programlisting>
+
+    <para>
+        Es gibt zwei Wege um das Format zu definieren das verwendet wird. Man kann entweder ein
+        Gebietsschema angeben oder ein Format manuell definieren.
+    </para>
+
+    <para>
+        Wenn man ein Gebietsschema für die Definierung des Formats verwendet wird alles automatisch
+        gesetzt. Das Gebietsschema 'de' zum Beispiel,definiert '.' als Separator für die
+        Tausender, und ',' als Dezimalpunkt. Im englischen ist es genau umgekehrt.
+    </para>
+
+    <programlisting language="php"><![CDATA[
+$currency_1 = new Zend_Currency(
+    array(
+        'value'    => 1000,
+        'currency' => 'USD'
+        'format'   => 'de',
+    )
+);
+
+$currency_2 = new Zend_Currency(
+    array(
+        'value'    => 1000,
+        'currency' => 'USD'
+        'format'   => 'en',
+    )
+);
+
+print $currency_1; // Könnte '$ 1.000' zurückgeben
+print $currency_2; // Könnte '$ 1,000' zurückgeben
+]]></programlisting>
+
+    <para>
+        Wenn man es manuell definiert muss es dem Format entsprechen welches in <link
+            linkend="zend.locale.number.localize.table-1">diesem Kapitel über Lokalisierung</link>
+        beschrieben wird. Siehe das folgende:
+    </para>
+
+    <programlisting language="php"><![CDATA[
+$currency = new Zend_Currency(
+    array(
+        'value'    => 1000,
+        'currency' => 'USD'
+        'format'   => '#0',
+    )
+);
+
+print $currency; // Könnte '$ 1000' zurückgeben
+]]></programlisting>
+
+    <para>
+        Im obigen Abschnitt haben wir den Separator und auch die Genauigkeit gelöscht.
+    </para>
+</sect1>

+ 175 - 0
documentation/manual/de/module_specs/Zend_Currency-Options.xml

@@ -0,0 +1,175 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 20102 -->
+<!-- Reviewed: no -->
+<sect1 id="zend.currency.options">
+    <title>Optionen für Währungen</title>
+
+    <para>
+        Abhängig von der Notwendigkeit können verschiedene Optionen bei der Instanzierung
+        spezifiziert werden. Jede dieser Optionen hat Standardwerte. Aber manchmal ist es notwendig
+        zu definieren wie die eigenen Währungen dargestellt werden sollen. Das enthält zum Beispiel:
+    </para>
+
+    <itemizedlist mark='opencircle'>
+        <listitem>
+            <para>
+                <emphasis>Währungssymbol, Kurzname oder Name</emphasis>:
+            </para>
+
+            <para>
+                <classname>Zend_Currency</classname> kennt alle Währungsnamen, Abkürzungen und
+                Symbole. Aber manchmal besteht die Notwendigkeit den String, der als Ersatz für eine
+                Währung angezeigt werden soll, selbst zu definieren.
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis>Position der Währung</emphasis>:
+            </para>
+
+            <para>
+                Die Position des Währungssymbols ist automatisch definiert. Aber manchmal besteht
+                die Notwendigkeit sie manuell zu definieren.
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis>Schreibweise</emphasis>:
+            </para>
+
+            <para>
+                Man könnte die Schreibweise definieren die verwendet wird wenn Ziffern dargestellt
+                werden. Detailierte Informationen über Schreibweisen und deren Verwendung können in
+                <classname>Zend_Locale</classname>'s Kapitel über <link
+                    linkend="zend.locale.numbersystems">Konvertierung des Zahlensystems</link>
+                gefunden werden.
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis>Formatieren von Nummern</emphasis>:
+            </para>
+
+            <para>
+                Der Wert der Währung (generell als Geldwert bekannt) wird durch die Verwendung
+                der Formatierungsregeln definiert, welche durch das Gebietsschema selbst definiert
+                wird. Zum Beispiel wird das ',' Zeichen im englischen als Separator für Tausender
+                verwendet, aber im deutschen als Kommazeichen.
+            </para>
+        </listitem>
+    </itemizedlist>
+
+    <para>
+        Die folgende Liste erwähnt alle Optionen die gesetzt werden können. Sie können entweder bei
+        der Instanzierung oder durch Verwendung der Methode <methodname>setFormat()</methodname>
+        gesetzt werden. In jedem Fall müssen diese Optionen als Array angegeben werden.
+    </para>
+
+    <itemizedlist mark='opencircle'>
+        <listitem>
+            <para>
+                <emphasis><property>currency</property></emphasis>: Definiert die Abkürzung welche
+                angezeigt werden kann.
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis><property>display</property></emphasis>: Definiert welcher Teil der
+                Währung für die Darstellung der Währungsrepräsenation verwendet werden soll. Es gibt
+                4 Repräsentationen welche verwendet werden können und alle sind in <link
+                    linkend="zend.currency.description">dieser Tabelle</link> beschrieben.
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis><property>format</property></emphasis>: Definiert das Format welches für
+                die Anzeige von Nummern verwendet werden soll. Dieses Nummernformat enthält zum
+                Beispiel den Tausender-Separator. Man kann entweder ein Standardformat verwenden
+                in dem ein Identifikator für ein Gebietsschema angegeben wird, oder durch manuelles
+                definieren des Nummernformats. Wenn kein Format gesetzt wird, dann wird das
+                Gebietsschema vom <classname>Zend_Currency</classname> Objekt verwendet. Siehe <link
+                    linkend="zend.locale.number.localize.table-1">das Kapitel über
+                    Zahlenformatierung</link> für Details.
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis><property>locale</property></emphasis>: Definiert ein Gebietsschema für
+                diese Währung. Es wird für die Erkennung der Standardwerte verwendet wenn andere
+                Einstellungen unterdrückt werden. Es ist zu beachten dass das Gebietsschema
+                automatisch erkannt wird, wenn man selbst kein Gebietsschema angibt. Das könnte
+                zu Problemen führen.
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis><property>name</property></emphasis>: Definiert den kompletten Namen
+                der Währung welcher angezeigt werden kann.
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis><property>position</property></emphasis>: Definiert die Position an
+                welcher die Beschreibung der Währung angezeigt werden soll. Die unterstützten
+                Positionen sind <link linkend="zend.currency.position">in diesem Abschnitt</link>
+                beschrieben.
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis><property>precision</property></emphasis>: Definiert die Genauigkeit
+                welche für die Darstellung der Währung verwendet werden soll. Der Standardwert
+                hängt vom Gebietsschema ab und ist für die meisten Gebietsschemata
+                <emphasis>2</emphasis>.
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis><property>script</property></emphasis>: Definiert welche Schreibweise
+                für die Anzeige von Ziffern verwendet wird. Die Standardschreibweise der meisten
+                Gebietsschemata ist <emphasis>'Latn'</emphasis>, welches die Ziffern 0 bis 9
+                enthält. Andere Schreibweisen wie 'Arab' (arabisch) verwenden andere Ziffern.
+                Siehe auch <link linkend="zend.locale.numbersystems">das Kapitel über
+                    Zahlensysteme</link> für Details und vorhandene Optionen.
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis><property>service</property></emphasis>: Definiert das Umrechnungsservice
+                welches verwendet wird wenn mit unterschiedlichen Währungen gerechnet wird.
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis><property>symbol</property></emphasis>: Definiert das Währungssymbol
+                welches angezeigt werden kann.
+            </para>
+        </listitem>
+
+        <listitem>
+            <para>
+                <emphasis><property>value</property></emphasis>: Definiert den Wert der Währung
+                (Geldwert). Bei Verwendung dieser Option sollte man auch die Option
+                <property>service</property> setzen.
+            </para>
+        </listitem>
+    </itemizedlist>
+
+    <para>
+        Wie man sehen kann gibt es vieles das verändert werden kann. Trotzdem entsprechen, wie
+        bereits erwähnt, die Standardwerte dieser Einstellungen den offiziellen Standards der
+        Währungsdarstellung für jedes Land.
+    </para>
+</sect1>

+ 90 - 0
documentation/manual/de/module_specs/Zend_Currency-Position.xml

@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 20102 -->
+<!-- Reviewed: no -->
+<sect1 id="zend.currency.position">
+    <title>Wo ist die Währung?</title>
+
+    <para>
+        Die Position an welche das Währungssymbol oder der Namen angezeigt werden hängt vom
+        Gebietsschema ab. Trotzdem kann man, wenn das gewünscht ist, eigene Einstellungen definieren
+        indem die Option <property>display</property> verwendet wird und eine der folgenden
+        Konstanten angegeben wird:
+    </para>
+
+    <table id="zend.currency.position.table-1">
+        <title>Vorhadene Positionen für die Währung</title>
+
+        <tgroup cols="2" align="left">
+            <thead>
+                <row>
+                    <entry>Konstante</entry>
+                    <entry>Beschreibung</entry>
+                </row>
+            </thead>
+
+            <tbody>
+                <row>
+                    <entry><constant>STANDARD</constant></entry>
+                    <entry>Setzt die Standardposition wie Sie im Gebietsschema definiert ist</entry>
+                </row>
+
+                <row>
+                    <entry><constant>RIGHT</constant></entry>
+
+                    <entry>
+                        Zeigt die Darstellung der Währung an der rechten Seite des Wertes an
+                    </entry>
+                </row>
+
+                <row>
+                    <entry><constant>LEFT</constant></entry>
+
+                    <entry>
+                        Zeigt die Darstellung der Währung an der linken Seite des Wertes an
+                    </entry>
+                </row>
+            </tbody>
+        </tgroup>
+    </table>
+
+    <example id="zend.currency.position.example-1">
+        <title>Setzen der Währungsposition</title>
+
+        <para>
+            Angenommen der Client hat wieder mal "en_US" als Gebietsschema gesetzt. Wenn keine
+            Option verwendet wird könnte der Wert wie folgt aussehen:
+        </para>
+
+        <programlisting language="php"><![CDATA[
+$currency = new Zend_Currency(
+    array(
+        'value' => 100,
+    )
+);
+
+print $currency; // Könnte '$ 100' zurückgeben
+]]></programlisting>
+
+        <para>
+            Bei Verwendung der Standardeinstellung würde die Währung (in unserem Fall $) also
+            entweder links oder rechts vom Wert dargestellt werden. Jetzt definieren wir eine
+            fixe Position:
+        </para>
+
+        <programlisting language="php"><![CDATA[
+$currency = new Zend_Currency(
+    array(
+        'value'    => 100,
+        'position' => Zend_Currency::RIGHT,
+    )
+);
+
+print $currency; // Könnte '100 $' zurückgeben
+]]></programlisting>
+
+        <para>
+            Es ist zu beachten das im zweiten Codeabschnitt die Position von <acronym>USD</acronym>
+            fixiert ist, unabhängig vom verwendeten Gebietsschema oder der Währung.
+        </para>
+    </example>
+</sect1>

+ 59 - 556
documentation/manual/de/module_specs/Zend_Currency-Usage.xml

@@ -1,598 +1,101 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 19150 -->
-<!-- Reviewed: 19150 -->
+<!-- EN-Revision: 20100 -->
+<!-- Reviewed: no -->
 <sect1 id="zend.currency.usage">
-    <title>Arbeiten mit Währungen</title>
+    <title>Zend_Currency verwenden</title>
 
-    <para>
-        Um <classname>Zend_Currency</classname> in einer Anwendung zu verwenden, muss nur eine
-        Instanz davon erstellt werden, ohne das Parameter angegeben werden. Das erstellt eine
-        Instanz von <classname>Zend_Currency</classname> mit deinem Gebietsschema, und definiert die
-        Währung, die aktuell in diesem Gebietsschema verwendet wird.
-    </para>
-
-    <example id="zend.currency.usage.example1">
-        <title>Eine Instanz von Zend_Currency anhand des Gebietsschemas erstellen</title>
+    <sect2 id="zend.currency.usage.generic">
+        <title>Generelle Verwendung</title>
 
         <para>
-            Angenommen 'en_US' ist, durch die Umgebung des Benutzers, als aktuelles Gebietsschema
-            gesetzt. Durch die fehlende Angabe von Parametern wärend der Erstellung der Instanz wird
-            <classname>Zend_Currency</classname> mitgeteilt, dass es die aktuelle Währung des
-            Gebietsschemas 'en_US' verwenden soll. Das führt zu einer Instanz mit US Dollar als
-            aktueller Währung mit den Formatierungsregeln von 'en_US'.
+            Der einfachste Anwendungsfall in einer Anwendung ist die Verwendung des Gebietsschemas
+            des Clients. Wenn man eine Instanz von <classname>Zend_Currency</classname> erstellt
+            ohne eine Option anzugeben, wird das Gebietsschema des Clients verwendet um die richtige
+            Währung zu setzen.
         </para>
 
-        <programlisting language="php"><![CDATA[
-$currency = new Zend_Currency();
-]]></programlisting>
-    </example>
-
-    <para>
-        <classname>Zend_Currency</classname> unterstützt auch die Verwendung eines
-        anwendungsweiten Gebietsschemas. Man kann eine Instanz von
-        <classname>Zend_Locale</classname> in der Registry wie unten gezeigt setzen. Mit dieser
-        Schreibweise kann man verhindern, dass Gebietsschematas mit jeder Instanz gesetzt werden
-        müssen, wenn man das gleiche Gebietsschema in der gesamten Anwendung verwenden will.
-    </para>
+        <example id="zend.currency.usage.generic.example-1">
+            <title>Erstellung einer Währung mit Client Einstellungen</title>
 
-    <programlisting language="php"><![CDATA[
-// In der Bootstrap Datei
-$locale = new Zend_Locale('de_AT');
-Zend_Registry::set('Zend_Locale', $locale);
+            <para>
+                Angenommen unser Client hat "en_US" als gewünschte Sprache in seinem Browser
+                gesetzt. In diesem Fall wird <classname>Zend_Currency</classname> die Währung welche
+                zu verwenden automatisch erkannt.
+            </para>
 
-// Irgendwo in der Anwendung
+            <programlisting language="php"><![CDATA[
 $currency = new Zend_Currency();
-]]></programlisting>
 
-    <note>
-        <para>
-            Wenn das eigene System kein standardmäßiges Gebietsschema hat, oder das
-            Gebietsschema des eigenen Systems nicht automatisch eruiert werden kann, wird
-            <classname>Zend_Currency</classname> eine Ausnahme werfen. Wenn dieses Verhalten
-            auftritt, sollte man daran denken das Gebietsschema per Hand zu setzen.
-        </para>
-    </note>
-
-    <para>
-        Abhängig von den eigenen Bedürfnissen, können verschiedene Parameter bei der Instanzierung
-        angegeben werden. Jeder dieser Parameter ist optional und kann unterdrückt werden. Selbst
-        die Reihenfolge dieser Parameter kann gewechselt werden. Die Bedeutung dieser Parmeter wird
-        in der folgenden Liste beschrieben:
-    </para>
+// Siehe die Standardwerte welche vom Client abhängen
+// var_dump($currency);
+]]></programlisting>
 
-    <itemizedlist mark='opencircle'>
-        <listitem>
             <para>
-                <emphasis>currency</emphasis>:
+                Das erstellte Objekt würde jetzt die Währung "US Dollar" enthalten da dies die
+                aktuell zugeordnete Währung für US (Vereinigte Staaten) ist. Es wurden auch andere
+                Optionen gesetzt wie "$" für das Währungszeichen oder "USD" für die Abkürzung.
             </para>
+        </example>
 
-            <para>
-                Ein Gebietsschema kann verschiedene Währungen beinhalten. Deshalb kann der erste
-                Parameter <emphasis>'currency'</emphasis> definieren welche Währung verwendet werden
-                soll, indem der Kurzname oder der komplette Name dieser Währung angegeben wird. Wenn
-                die angegebene Währung in keinem Gebietsschema erkannt wird, wird eine Ausnahme
-                geworfen. Kurznamen von Währungen bestehen immer aus 3 Buchstaben und sind groß
-                geschrieben. Bekannte Kurznamen von Währungen sind zum Beispiel
-                <acronym>USD</acronym> oder <acronym>EUR</acronym>.
-            </para>
-        </listitem>
+        <note>
+            <title>Die automatische Erkennung des Gebietsschemas funktioniert nicht immer</title>
 
-        <listitem>
             <para>
-                <emphasis>locale</emphasis>:
+                Es ist zu beachten das die automatische Erkennung des Gebietsschemas nicht immer
+                richtig funktioniert. Der Grund für dieses Verhalten liegt darin das
+                <classname>Zend_Currency</classname> ein Gebietsschema benötigt welches eine Region
+                enthält. Wenn der Client nur "en" als Gebietsschema setzt würde
+                <classname>Zend_Currency</classname> nicht mehr wissen welches der mehr als 30
+                Länder gemeint ist. In diesem Fall wird eine Exception geworfen.
             </para>
 
             <para>
-                Der <emphasis>'locale'</emphasis> Parameter definiert, welches
-                Gebietsschema für die Formatierung der Währung verwendet werden soll. Das
-                spezifizierte Gebietsschema wird auch verwendet, um die Schreibweise und das Symbol
-                für diese Währung zu erhalten, wenn diese Parameter nicht angegeben werden.
+                Ein Client könnte die Einstellungen des Gebietsschemas in seinem Browser auch
+                unterdrücken. Das würde zum Problem führen dass die Einstellungen der eigenen
+                Umgebung als Fallback verwendet werden und dies könnte auch zu einer Exception
+                führen.
             </para>
-
-            <note>
-                <para>
-                    Es gilt zu Beachten das <classname>Zend_Currency</classname> nur Gebietsschema
-                    akzeptiert, die eine Region beinhalten. Das bedeutet, dass alle angegebenen
-                    Gebietsschemata, die nur eine Sprache beinhalten, zu einer Ausnahme führen. Zum
-                    Beispiel wird das Gebietsschema <emphasis>en</emphasis> zu einer Ausnahme
-                    führen, aber das Gebietsschema <emphasis>en_US</emphasis> wird als Währung
-                    <acronym>USD</acronym> zurückgeben.
-                </para>
-            </note>
-        </listitem>
-    </itemizedlist>
-
-    <example id="zend.currency.usage.example2">
-        <title>Andere Wege für die Erstellung einer Instanz von Zend_Currency</title>
-
-        <programlisting language="php"><![CDATA[
-// Wir nehmen das Standardgebietsschema 'de_AT' an
-
-// Erstellt eine Instanz von from 'en_US' und verwendet
-// 'USD' welches die Standardwert von 'en_US' ist
-$currency = new Zend_Currency('en_US');
-
-// Erstellt eine Instanz vom aktuellen Gebietsschema
-// ('de_AT') und verwendet 'EUR' als Währung
-$currency = new Zend_Currency();
-
-// Erstellt eine Instanz und verwendet 'EUR' als Währung,
-// 'en_US' für die Formatierung der Ziffern
-$currency = new Zend_Currency('en_US', 'EUR');
-]]></programlisting>
-    </example>
-
-    <para>
-        Es können also alle diese Parameter bei <classname>Zend_Currency</classname>'s Constructor
-        unterdrückt werden wenn man die Standardwerte verwenden will. Das hat keine negativen
-        Effekte bei der Handhabung von Währungen. Es kann aber nützlich sein, wenn man zum Beispiel
-        die Standardwährung einer Region nicht weiß.
-    </para>
-
-    <note>
-        <para>
-            Für viele Länder gibt es verschiedene bekannte Währungen. Typischerweise wird eine
-            Währung immer gerade aktuell verwendet und es gibt eventuell noch alte Währungen. Wenn
-            der '<emphasis>currency</emphasis>' Parameter unterdrückt wird, wird immer die aktuelle
-            Währung verwendet. Die Region '<emphasis>de</emphasis>' zum Beispiel kennt die
-            Währungen '<acronym>EUR</acronym>' und '<acronym>DEM</acronym>'...
-            '<acronym>EUR</acronym>' ist die aktuell verwendete Währung und wird verwendet, wenn der
-            Parameter unterdrückt wird.
-        </para>
-    </note>
-
-    <sect2 id="zend.currency.usage.tocurrency">
-        <title>Eine Ausgabe von einer Währung erstellen</title>
-
-        <para>
-            Um einen numerischen Wert in einen formatierten String für die aktuelle Währung zu
-            konvertieren, muss man die Methode <methodname>toCurrency()</methodname> verwenden. Sie
-            nimmt einen Wert, der konvertiert werden soll. Der Wert selbst kann jede normalisierte
-            Zahl sein.
-        </para>
-
-        <para>
-            Wenn man nur eine lokalisierte Zahl hat, muss diese zunächst mit
-            <link linkend="zend.locale.number.normalize">Zend_Locale_Format::getNumber()</link>
-            in einen normalisierte Zahl konvertiert werden. Anschließend kann sie mit
-            <methodname>toCurrency()</methodname> verwendet werden, um eine Ausgabe einer Währung zu
-            erstellen.
-        </para>
-
-        <para>
-            <methodname>toCurrency(array $options)</methodname> akzeptiert ein Array mit Optionen,
-            welche gesetzt werden können, um temporär ein Format oder eine Darstellung einer Währung
-            festzulegen. Für Details darüber, welche Optionen gesetzt werden können, siehe
-            <link linkend="zend.currency.usage.setformat">Ändern des Formats einer Währung</link>.
-        </para>
-
-        <example id="zend.currency.usage.tocurrency.example">
-            <title>Erstellung und Ausgabe eines Strings einer Währung</title>
-
-            <programlisting language="php"><![CDATA[
-// Erstellt eine Instanz mit 'en_US' und verwendet 'USD'
-// welches die Standardwerte von 'en_US' sind
-$currency = new Zend_Currency('en_US');
-
-// Gibt '$ 1,000.00' aus
-echo $currency->toCurrency(1000);
-
-// Gibt '$ 1.000,00' aus
-echo $currency->toCurrency(1000, array('format' => 'de_AT'));
-
-// Gibt '$ ١٬٠٠٠٫٠٠' aus
-echo $currency->toCurrency(1000, array('script' => 'Arab'));
-]]></programlisting>
-        </example>
+        </note>
     </sect2>
 
-    <sect2 id="zend.currency.usage.setformat">
-        <title>Das Format einer Währung ändern</title>
-
-        <para>
-            Das Format, welches bei der Erstellung der <classname>Zend_Currency</classname> Instanz
-            angegeben wurde, ist natürlich das Standardformat. Aber manchmal ist es nützlich dieses
-            Format anzupassen.
-        </para>
-
-        <para>
-            Das Format einer Währung enthält die folgenden Teile:
-        </para>
-
-        <itemizedlist mark='opencircle'>
-            <listitem>
-                <para>
-                    <emphasis>Symbol, Kurzname oder Name der Währung</emphasis>:
-                </para>
-
-                <para>
-                    Das Symbol der Währung wird normalerweise bei der Ausgabe eines Währungsstrings
-                    angezeigt. Es kann unterdrückt oder sogar überschrieben werden, wenn das
-                    notwendig ist.
-                </para>
-            </listitem>
-
-            <listitem>
-                <para>
-                    <emphasis>Position der Währung</emphasis>:
-                </para>
-
-                <para>
-                    Die Position des Währungssymbols ist normalerweise automatisch durch das
-                    Gebietsschema definiert. Es kann geändert werden, wenn das notwendig ist.
-                </para>
-            </listitem>
-
-            <listitem>
-                <para>
-                    <emphasis>Script</emphasis>:
-                </para>
-
-                <para>
-                    Die Schreibweise, welche zur Anzeige von Ziffern verwendet werden soll.
-                    Detaillierte Informationen über Schreibweisen und deren Verwendung kann in der
-                    Dokumentation von <classname>Zend_Locale</classname> im Kapitel <link
-                        linkend="zend.locale.numbersystems">Nummerische Konvertierung von
-                        Zahlen</link> gefunden werden.
-                </para>
-            </listitem>
-
-            <listitem>
-                <para>
-                    <emphasis>Zahlenformat</emphasis>:
-                </para>
-
-                <para>
-                    Der Wert der Währung (üblicherweise bekannt als Geldwert) wird durch die
-                    Verwendung der Formatierungsregeln des Gebietsschemas formatiert. Zum Beispiel
-                    wird im Englischen das ',' Zeichen als Separator für Tausender verwendet,
-                    während im Deutschen das '.' Zeichen verwendet wird.
-                </para>
-            </listitem>
-        </itemizedlist>
+    <sect2 id="zend.currency.usage.locale">
+        <title>Erstellung einer Währung basierend auf einem Gebietsschema</title>
 
         <para>
-            Wenn man also das Format ändern muss, kann die Methode
-            <methodname>setFormat()</methodname> verwendet werden. Diese akzeptiert ein Array,
-            welches alle zu ändernden Optionen enthält. Das <varname>$options</varname> Array
-            unterstützt die folgenden Einstellungen:
+            Um diese Probleme mit dem Client zu vermeiden kann man das gewünschte Gebietsschema
+            einfach manuell setzen.
         </para>
 
-        <itemizedlist mark='opencircle'>
-            <listitem>
-                <para>
-                    <emphasis>position</emphasis>: Definiert die Position, an der die Beschreibung
-                    der Währung angezeigt werden soll. Die unterstützten Positionen können in
-                    <link linkend="zend.currency.usage.setformat.constantsposition">dieser
-                        Tabelle</link> gefunden werden.
-                </para>
-            </listitem>
-
-            <listitem>
-                <para>
-                    <emphasis>script</emphasis>: Definiert welche Schreibweise für die Anzeige
-                    von Ziffern verwendet werden soll. Die Standardschreibweise der meisten
-                    Gebietsschemata ist <emphasis>'Latn'</emphasis>, welches die Ziffern 0 bis 9
-                    enthält. Aber auch andere Schreibweisen wie 'Arab' (Arabisch) können verwendet
-                    werden.
-                </para>
-            </listitem>
-
-            <listitem>
-                <para>
-                    <emphasis>format</emphasis>: Definiert das Format, welches zur Darstellung von
-                    Nummern verwendet werden soll. Dieses Nummern-Format enthält zum Beispiel das
-                    Trennzeichen für Tausender. Man kann entweder ein Standardformat verwenden,
-                    indem ein Identifikator für ein Gebietsschema angegeben wird, oder das
-                    Nummern-Format manuell definieren. Wenn kein Format gesetzt wurde, wird das
-                    Gebietsschema des <classname>Zend_Currency</classname> Objekts verwendet.
-                </para>
-            </listitem>
-
-            <listitem>
-                <para>
-                    <emphasis>display</emphasis>: Definiert, welcher Teil der Währung zur
-                    Darstellung der Währung verwendet werden soll. Es gibt 4 Darstellungen welche
-                    verwendet werden können. Sie werden in
-                    <link linkend="zend.currency.usage.setformat.constantsdescription">dieser
-                        Tabelle</link> beschrieben.
-                </para>
-            </listitem>
-
-            <listitem>
-                <para>
-                    <emphasis>precision</emphasis>: Definiert die Genauigkeit der Darstellung der
-                    Währung. Der Standardwert ist <emphasis>2</emphasis>.
-                    <emphasis>2</emphasis>.
-                </para>
-            </listitem>
-
-            <listitem>
-                <para>
-                    <emphasis>name</emphasis>: Definiert den kompletten angezeigten Namen der
-                    Währung. Diese Option überschreibt den Namen der Währung, der durch
-                    die Erstellung von <classname>Zend_Currency</classname> gesetzt wurde.
-                </para>
-            </listitem>
-
-            <listitem>
-                <para>
-                    <emphasis>currency</emphasis>: Definiert die angezeigte internationale
-                    Abkürzung. Diese Option überschreibt die Abkürzung, die durch die Erstellung von
-                    <classname>Zend_Currency</classname> gesetzt wurde.
-                </para>
-            </listitem>
-
-            <listitem>
-                <para>
-                    <emphasis>symbol</emphasis>: Definiert das angezeigte Symbol der Währung. Diese
-                    Option überschreibt das Symbol, welches durch die Erstellung von
-                    <classname>Zend_Currency</classname> gesetzt wurde.
-                </para>
-            </listitem>
-        </itemizedlist>
-
-        <table id="zend.currency.usage.setformat.constantsdescription">
-            <title>Konstanten für die Auswahl der Position der Währungs Beschreibung</title>
-
-            <tgroup cols="2" align="left">
-                <thead>
-                    <row>
-                        <entry>Konstante</entry>
-                        <entry>Beschreibung</entry>
-                    </row>
-                </thead>
-
-                <tbody>
-                    <row>
-                        <entry><constant>NO_SYMBOL</constant></entry>
-                        <entry>Keine Repräsentation der Währung anzeigen</entry>
-                    </row>
-
-                    <row>
-                        <entry><constant>USE_SYMBOL</constant></entry>
-                        <entry>Das Währungssymbol anzeigen</entry>
-                    </row>
-
-                    <row>
-                        <entry><constant>USE_SHORTNAME</constant></entry>
-
-                        <entry>
-                            Die internationale Abkürzung der Währung (3 Buchstaben) anzeigen
-                        </entry>
-                    </row>
-
-                    <row>
-                        <entry><constant>USE_NAME</constant></entry>
-                        <entry>Den kompletten Währungsnamen anzeigen</entry>
-                    </row>
-                </tbody>
-            </tgroup>
-        </table>
-
-        <table id="zend.currency.usage.setformat.constantsposition">
-            <title>Konstanten für die Auswahl der Position der Währung</title>
-
-            <tgroup cols="2" align="left">
-                <thead>
-                    <row>
-                        <entry>Konstante</entry>
-                        <entry>Beschreibung</entry>
-                    </row>
-                </thead>
-
-                <tbody>
-                    <row>
-                        <entry><constant>STANDARD</constant></entry>
-
-                        <entry>
-                            Setzt die Position auf den Standard wie im Gebietsschema definiert
-                        </entry>
-                    </row>
-
-                    <row>
-                        <entry><constant>RIGHT</constant></entry>
-
-                        <entry>
-                            Die Währung soll rechts vom Werts angezeigt werden
-                        </entry>
-                    </row>
-
-                    <row>
-                        <entry><constant>LEFT</constant></entry>
-                        <entry>Die Währung soll links vom Wert angezeigt werden</entry>
-                    </row>
-                </tbody>
-            </tgroup>
-        </table>
-
-        <example id="zend.currency.usage.setformat.example">
-            <title>Das Anzeigeformat der Währung ändern</title>
-
-            <programlisting language="php"><![CDATA[
-// Erstellt eine Instanz mit 'en_US' und verwendet 'USD', 'Latin'
-// und 'en_US' da das die Standardwerte von 'en_US' sind
-$currency = new Zend_Currency('en_US');
-
-// Gibt 'US$ 1,000.00' aus
-echo $currency->toCurrency(1000);
-
-$currency->setFormat(array('display' => Zend_Currency::USE_NAME,
-                           'position' => Zend_Currency::RIGHT));
-// Gibt '1.000,00 US Dollar' aus
-echo $currency->toCurrency(1000);
-
-$currency->setFormat(array('name' => 'Amerikanische Dollar'));
-// Gibt '1.000,00 Amerikanische Dollar' aus
-echo $currency->toCurrency(1000);
-
-$currency->setFormat(array('format' => '##0.00'));
-// Gibt '1000,00 Amerikanische Dollar' aus
-echo $currency->toCurrency(1000);
-]]></programlisting>
-        </example>
-    </sect2>
-
-    <sect2 id="zend.currency.usage.informational">
-        <title>Referenz Methoden von Zend_Currency</title>
-
-        <para>
-            Natürlich bietet <classname>Zend_Currency</classname> auch Methoden an um Informationen
-            über jede existierende und viele historische Währungen von
-            <classname>Zend_Locale</classname> zu bekommen. Die unterstützten Methoden sind:
-        </para>
-
-        <itemizedlist mark='opencircle'>
-            <listitem>
-                <para>
-                    <emphasis><methodname>getSymbol()</methodname></emphasis>:
-                </para>
-
-                <para>
-                    Gibt das bekannte Symbol der aktuellen oder einer angegebenen Währung zurück.
-                    Zum Beispiel <emphasis>$</emphasis> für den US Dollar innerhalb des
-                    Gebietsschemas '<emphasis>en_US</emphasis>'.
-                </para>
-            </listitem>
-
-            <listitem>
-                <para>
-                    <emphasis><methodname>getShortName()</methodname></emphasis>:
-                </para>
-
-                <para>
-                    Gibt die Abkürzung der aktuellen oder einer angegebenen Währung zurück. Zum
-                    Beispiel <acronym>USD</acronym> für den US Dollar innerhalb des
-                    Gebietsschemas '<emphasis>en_US</emphasis>'.
-                </para>
-            </listitem>
-
-            <listitem>
-                <para>
-                    <emphasis><methodname>getName()</methodname></emphasis>:
-                </para>
-
-                <para>
-                    Gibt den kompletten Namen der aktuellen oder einer angegebenen Währung zurück.
-                    Zum Beispiel <emphasis>US Dollar</emphasis> für den US Dollar innerhalb des
-                    Gebietsschemas '<emphasis>en_US</emphasis>'.
-                </para>
-            </listitem>
-
-            <listitem>
-                <para>
-                    <emphasis><methodname>getRegionList()</methodname></emphasis>:
-                </para>
-
-                <para>
-                    Gibt eine Liste von Regionen zurück, in denen die aktuelle oder eine angegebene
-                    Währung verwendet wird. Es ist möglich, dass eine Währung in mehreren Regionen
-                    Verwendung findet, deswegen ist der Rückgabewert immer ein Array.
-                </para>
-            </listitem>
-
-            <listitem>
-                <para>
-                    <emphasis><methodname>getCurrencyList()</methodname></emphasis>:
-                </para>
-
-                <para>
-                    Gibt eine Liste von Währungen zurück, die in einer angegebenen Region verwendet
-                    werden.
-                </para>
-            </listitem>
-        </itemizedlist>
-
-        <para>
-            Die Funktion <methodname>getSymbol()</methodname>,
-            <methodname>getShortName()</methodname> und <methodname>getName()</methodname>
-            akzeptieren zwei optionale Parameter. Wenn kein Parameter angegeben wird, werden die
-            Daten von der aktuell gesetzten Währung zurückgegeben. Der erste Parameter akzeptiert
-            den Kurznamen der Währung. Kurznamen bestehen immer aus drei Buchstaben, zum Beispiel
-            <acronym>EUR</acronym> für Euro oder <acronym>USD</acronym> für US Dollar. Der zweite
-            Parameter definiert, von welchem Gebietsschema die Daten gelesen werden sollen. Wenn
-            kein Gebietsschema angegeben wird, wird das aktuelle Gebietsschema verwendet.
-        </para>
-
-        <example id="zend.currency.usage.informational.example">
-            <title>Informationen von Währungen erhalten</title>
-
-            <programlisting language="php"><![CDATA[
-// Erstellt eine Instanz mit 'en_US' und verwendet 'USD', 'Latin'
-// und 'en_US' da das die Standardwerte von 'en_US' sind
+        <programlisting language="php"><![CDATA[
 $currency = new Zend_Currency('en_US');
 
-// Gibt '$' aus
-echo $currency->getSymbol();
-
-// Gibt 'EUR' aus
-echo $currency->getShortName('EUR');
-
-// Gibt 'Österreichische Schilling' aus
-echo $currency->getName('ATS', 'de_AT');
+// Man könnte auch die 'locale' Option verwenden
+// $currency = new Zend_Currency(array('locale' => 'en_US'));
 
-// Gibt ein Array aus mit allen Regionen in denen USD verwendet wird
-print_r($currency->getRegionList();
-
-// Gibt ein Array mit allen Währungen, die jemals in dieser
-// Region verwendet wurden, aus
-print_r($currency->getCurrencyList('de_AT');
+// Siehe die aktuellen Einstellungen welche auf 'en_US' fixiert sind
+// var_dump($currency);
 ]]></programlisting>
-        </example>
-    </sect2>
-
-    <sect2 id="zend.currency.usage.setlocale">
-        <title>Neue Standardwerte setzen</title>
 
         <para>
-            Die Methode <methodname>setLocale()</methodname> erlaubt es, ein neues Gebietsschema für
-            <classname>Zend_Currency</classname> zu setzen. Alle Standardwerte werden überschrieben,
-            wenn diese Funktion aufgerufen wird. Das beinhaltet den Namen der Währung, die Abkürzung
-            und das Symbol.
+            Wie in unserem ersten Beispiel ist die verwendete Währung "US Dollar". Aber jetzt sind
+            wir nicht mehr von den Einstellungen des Clients abhängig.
         </para>
 
-        <example id="zend.currency.usage.setlocale.example">
-            <title>Ein neues Gebietsschema setzen</title>
-
-            <programlisting language="php"><![CDATA[
-// Die Währung für US bekommen
-$currency = new Zend_Currency('en_US');
-print $currency->toCurrency(1000);
-
-// Die Währung für AT erhalten
-$currency->setLocale('de_AT');
-print $currency->toCurrency(1000);
-]]></programlisting>
-        </example>
-    </sect2>
-
-    <sect2 id="zend.currency.usage.cache">
-        <title>Zend_Currency Performance Optimierung</title>
-
         <para>
-            <classname>Zend_Currency</classname>'s Geschwindigkeit kann optimiert werden, indem
-            <classname>Zend_Cache</classname> verwendet wird. Die statischen Methode
-            <methodname>Zend_Currency::setCache($cache)</methodname> akzeptiert eine Option: Einen
-            <classname>Zend_Cache</classname> Adapter. Wenn der Cache Adapter gesetzt wird, werden
-            die Lokalisierungsdaten von <classname>Zend_Currency</classname> gecached. Es gibt
-            einige statischen Methoden für die Manipulation des Caches:
-            <methodname>Zend_Currency::getCache()</methodname>, <methodname>hasCache()</methodname>,
-            <methodname>clearCache()</methodname> und <methodname>removeCache()</methodname>.
+            <classname>Zend_Currency</classname> unterstützt auch die Verwendung eines
+            Anwendungsweiten Gebietsschemas. Man kann eine Instanz von
+            <classname>Zend_Locale</classname> wie anbei gezeigt in der Registry setzen. Mit dieser
+            Schreibweise vermeidet man das manuelle Setzen des Gebietsschemas für jede Instanz, wenn
+            man das selbe Gebietsschema in der gesamten Anwendung verwenden will.
         </para>
 
-        <example id="zend.currency.usage.cache.example">
-            <title>Cachen von Währungen</title>
+        <programlisting language="php"><![CDATA[
+// In der Bootstrap Datei
+$locale = new Zend_Locale('de_AT');
+Zend_Registry::set('Zend_Locale', $locale);
 
-            <programlisting language="php"><![CDATA[
-// Ein Cache-Objekt erstellen
-$cache = Zend_Cache::factory('Core',
-                             'File',
-                             array('lifetime' => 120,
-                                   'automatic_serialization' => true),
-                             array('cache_dir'
-                                       => dirname(__FILE__) . '/_files/'));
-Zend_Currency::setCache($cache);
+// Irgendwo in der Anwendung
+$currency = new Zend_Currency();
 ]]></programlisting>
-        </example>
     </sect2>
 </sect1>

+ 112 - 0
documentation/manual/de/module_specs/Zend_Currency-Value.xml

@@ -0,0 +1,112 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 20100 -->
+<!-- Reviewed: no -->
+<sect1 id="zend.currency.value">
+    <title>Wie viel Währung habe ich?</title>
+
+    <para>
+        Wenn man mit Währungen arbeitet will man normalerweise eine Menge an Geld darstellen. Und
+        wenn man mit unterschiedlichen Währungen arbeitet dann will man mit Ihnen drei verschiedene
+        Dinge machen. Man will die Menge anzeigen, eine Genauigkeit und möglicherweise einen
+        Wechselkurs verwenden.
+    </para>
+
+    <sect2 id="zend.currency.value.money">
+        <title>Arbeiten mit Währungswerten</title>
+
+        <para>
+            Der Wert einer Währung, auch als Geld bekannt, welchen man verwenden will kann durch
+            Verwendung der Option <property>value</property> gesetzt werden.
+        </para>
+
+        <programlisting language="php"><![CDATA[
+$currency = new Zend_Currency(
+    array(
+        'value'    => 1000,
+        'currency' => 'USD',
+    )
+);
+
+print $currency; // Könnte '$ 1.000' zurückgeben
+]]></programlisting>
+
+        <para>
+            Durch Verwendung der Methode <methodname>setFormat()</methodname> mit dieser
+            Arrayoption, und durch Verwendung der Methode <methodname>setValue()</methodname> kann
+            der Wert im Nachhinein gesetzt werden.
+        </para>
+
+        <programlisting language="php"><![CDATA[
+$currency = new Zend_Currency(
+    array(
+        'value'    => 1000,
+        'currency' => 'USD',
+    )
+);
+
+print $currency->setValue(2000); // Könnte '$ 2.000' zurückgeben
+]]></programlisting>
+
+        <para>
+            Mit der Methode <methodname>getValue()</methodname> erhält man den aktuell gesetzten
+            Wert.
+        </para>
+    </sect2>
+
+    <sect2 id="zend.currency.value.precision">
+        <title>Verwendung von Genauigkeit bei Währungen</title>
+
+        <para>
+            Wenn man mit Währungen arbeitet muss man möglicherweise auch eine Genauigkeit verwenden.
+            Die meisten Währungen verwenden eine Genauigkeit von 2. Das bedeutet, wenn man 100 US
+            Dollar hat dass man auch 50 Cent haben könnte. Der betreffende Wert ist einfach eine
+            Gleitkommazahl.
+        </para>
+
+        <programlisting language="php"><![CDATA[
+$currency = new Zend_Currency(
+    array(
+        'value'    => 1000.50,
+        'currency' => 'USD',
+    )
+);
+
+print $currency; // Könnte '$ 1.000,50' zurückgeben
+]]></programlisting>
+
+        <para>
+            Natürlich bekommt man, durch die standardmäßige Genauigkeit von 2, '00' für den
+            Dezimalwert wenn es keine Genauigkeit anzuzeigen gibt.
+        </para>
+
+        <programlisting language="php"><![CDATA[
+$currency = new Zend_Currency(
+    array(
+        'value'    => 1000,
+        'currency' => 'USD',
+    )
+);
+
+print $currency; // Könnte '$ 1.000,00' zurückgeben
+]]></programlisting>
+
+        <para>
+            Um die standardmäßige Genauigkeit zu entfernen kann die Option
+            <property>precision</property> einfach auf '0' gesetzt werden. Und man kann jede andere
+            Genauigkeit zwischen 0 und 9 setzen. Alle Werte werden gerundet oder gestreckt wenn Sie
+            nicht in die gesetzte Genauigkeit passen.
+        </para>
+
+        <programlisting language="php"><![CDATA[
+$currency = new Zend_Currency(
+    array(
+        'value'     => 1000,30,
+        'currency'  => 'USD',
+        'precision' => 0
+    )
+);
+
+print $currency; // Könnte '$ 1.000' zurückgeben
+]]></programlisting>
+    </sect2>
+</sect1>

+ 9 - 7
documentation/manual/de/module_specs/Zend_Feed_Pubsubhubbub.xml

@@ -7,19 +7,21 @@
     <para>
         <classname>Zend_Feed_Pubsubhubbub</classname> ist eine Implementation der PubSubHubbub Core
         0.2 Spezifikation (Working Draft). Sie bietet eine Implementation eines Pubsubhubbub
-        Publishers und Subscribers geeignet für den Zend Framework und andere PHP Anwendungen.
+        Publizisten und Abonnenten geeignet für den Zend Framework und andere PHP Anwendungen.
     </para>
 
     <sect2 id="zend.feed.pubsubhubbub.what.is.pubsubhubbub">
         <title>Was ist Pubsubhubbub?</title>
 
         <para>
-            Pubsubhubbub is an open, simple web-scale pubsub protocol. A common use case to enable
-            blogs (Publishers) to "push" updates from their RSS or Atom feeds (Topics) to end
-            Subscribers. These Subscribers will have subscribed to the blog's RSS or Atom feed via a
-            Hub, a central server which is notified of any updates by the Publisher and which then
-            distributes these updates to all Subscribers. Any feed may advertise that it supports
-            one or more Hubs using an Atom namespaced link element with a rel attribute of "hub".
+            Pubsubhubbub ist ein offenes, einfaches Web-skalierbares Pubsub Protokoll. Der normale
+            Anwendungsfall ist es Blogs (Publizist) zu erlauben Aktualisierungen von deren RSS oder
+            Atom Feeds (Themen) an Abonnenten zu "senden". Diese Abonenten müssen dem RSS oder Atom
+            Feed des Blogs über einen Hub abonniert haben. Das ist ein zentraler Server der
+            benachrichtigt wird wenn es Aktualisierungen des Publizisten gibt und diese anschließend
+            an alle Abonnenten verteilt. Jeder Feed kann bekanntgeben das er ein oder mehrere Hubs
+            unterstützen indem ein Atom Namespaced Linkelement mit dem Rel Attribut "hub" verwendet
+            wird.
         </para>
 
         <para>

+ 1 - 1
documentation/manual/de/ref/coding_standard.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 18940 -->
+<!-- EN-Revision: 20096 -->
 <!-- Reviewed: no -->
 <appendix id="coding-standard">
   <title>Zend Framework Coding Standard für PHP</title>

+ 7 - 7
documentation/manual/de/tutorials/paginator-simple.xml

@@ -1,15 +1,15 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 19777 -->
+<!-- EN-Revision: 20106 -->
 <!-- Reviewed: no -->
 <sect1 id="learning.paginator.simple">
     <title>Einfaches Beispiel</title>
 
     <para>
         In diesem ersten Beispiel wollen wir nichts spektakuläres, aber hoffentlich gibt es eine
-        gute Idee darüber wozu Zend_Paginator designt wurde. Angenommen wir haben ein Array das
-        $data heißt mit den Zahlen 1 bis 100 in Ihm, welches wir in eine Anzahl von Seiten
-        aufteilen wollen. Man kann die statische <methodname>factory()</methodname> Methode in der
-        Klasse <classname>Zend_Paginator</classname> verwenden um ein
+        gute Idee darüber wozu <classname>Zend_Paginator</classname> designt wurde. Angenommen wir
+        haben ein Array das $data heißt mit den Zahlen 1 bis 100 in Ihm, welches wir in eine Anzahl
+        von Seiten aufteilen wollen. Man kann die statische <methodname>factory()</methodname>
+        Methode in der Klasse <classname>Zend_Paginator</classname> verwenden um ein
         <classname>Zend_Paginator</classname> Objekt mit unseren Array in Ihm zu erhalten.
     </para>
 
@@ -120,7 +120,7 @@ foreach ($paginator as $item) {
         Der einzige Unterschied besteht darin dass man ein <classname>Zend_Db_Select</classname>
         Objekt statt einem Array an die <methodname>factory()</methodname> Methode des Paginator's
         übergibt. Für weitere Details darüber wie der Datenbank Adapter sicherstellt das eigene
-        Anfragen effizient ausgeführt werden, sollte in das Zend_Paginator Kapitel im Referenz
-        Handbuch bei den Adaptern DbSelect und DbTableSelect nachgesehen werden.
+        Anfragen effizient ausgeführt werden, sollte in das <classname>Zend_Paginator</classname>
+        Kapitel im Referenz Handbuch bei den Adaptern DbSelect und DbTableSelect nachgesehen werden.
     </para>
 </sect1>

+ 8 - 7
documentation/manual/de/tutorials/quickstart-create-form.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 19777 -->
+<!-- EN-Revision: 20106 -->
 <!-- Reviewed: no -->
 <sect1 id="learning.quickstart.create-form">
     <title>Erstellen eines Formulars</title>
@@ -73,8 +73,8 @@ class Default_Form_Guestbook extends Zend_Form
 
     <para>
         Das obige Formular definiert fünf Elemente: ein Feld für die Email Adresse, eines für das
-        Kommentar, ein CAPTCHA um Spam Einträge zu verhindern, einen Submit Button und ein CSRF
-        Protektions Token.
+        Kommentar, ein <acronym>CAPTCHA</acronym> um Spam Einträge zu verhindern, einen Submit
+        Button und ein <acronym>CSRF</acronym> Protektions Token.
     </para>
 
     <para>
@@ -99,10 +99,11 @@ C:> zf.bat create action sign guestbook
 
     <para>
         Fügen wir etwas Logik in unsere Sign Aktion des Guestbook Controller's ein. Wir müssen
-        zuerst prüfen ob wir eine POST oder eine GET Anfrage erhalten; im letzteren Fall zeigen wir
-        das Formular einfach an. Wenn wir aber eine POST Anfrage erhalten, wollten wir die
-        übermittelten Daten gegenüber unserem Formular prüfen, und wenn es gültig ist, wird ein
-        neuer Eintrag erstellt und gespeichert. Die Logik könnte wie folgt aussehen:
+        zuerst prüfen ob wir eine <acronym>POST</acronym> oder eine <acronym>GET</acronym> Anfrage
+        erhalten; im letzteren Fall zeigen wir das Formular einfach an. Wenn wir aber eine
+        <acronym>POST</acronym> Anfrage erhalten, wollten wir die übermittelten Daten gegenüber
+        unserem Formular prüfen, und wenn es gültig ist, wird ein neuer Eintrag erstellt und
+        gespeichert. Die Logik könnte wie folgt aussehen:
     </para>
 
     <programlisting language="php"><![CDATA[

+ 16 - 16
documentation/manual/de/tutorials/quickstart-intro-mvc.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 20000 -->
+<!-- EN-Revision: 20106 -->
 <!-- Reviewed: no -->
 <sect1 id="learning.quickstart.intro">
     <title>Zend Framework &amp; MVC Einführung</title>
@@ -79,31 +79,31 @@
             <itemizedlist>
                 <listitem>
                     <para>
-                        <emphasis role="strong">Modell</emphasis> - Dieser Teil der eigenen
-                        Anwendung definiert die grundsätzliche Funktionalität in einem Set von
-                        Abstraktionen. Datenzugriffs Routinen und etwas Business Logik kann im
-                        Model definiert sein.
+                        <emphasis>Modell</emphasis> - Dieser Teil der eigenen Anwendung definiert
+                        die grundsätzliche Funktionalität in einem Set von Abstraktionen.
+                        Datenzugriffs Routinen und etwas Business Logik kann im Model definiert
+                        sein.
                     </para>
                 </listitem>
 
                 <listitem>
                     <para>
-                        <emphasis role="strong">View</emphasis> - Views definieren was exakt dem
-                        Benutzer präsentiert wird. Normalerweise übergeben Controller Daten in jede
-                        View damit Sie in einem Format dargestellt werden. Views sammeln auch oft
-                        Daten vom Benutzer. Dort findet man üblicherweise <acronym>HTML</acronym>
-                        Markup in der eigenen <acronym>MVC</acronym> Anwendung.
+                        <emphasis>View</emphasis> - Views definieren was exakt dem Benutzer
+                        präsentiert wird. Normalerweise übergeben Controller Daten in jede View
+                        damit Sie in einem Format dargestellt werden. Views sammeln auch oft Daten
+                        vom Benutzer. Dort findet man üblicherweise <acronym>HTML</acronym> Markup
+                        in der eigenen <acronym>MVC</acronym> Anwendung.
                     </para>
                 </listitem>
 
                 <listitem>
                     <para>
-                        <emphasis role="strong">Controller</emphasis> - Controller verbinden das
-                        komplette Pattern. Sie manipulieren Modelle, entscheiden welche View,
-                        basieren auf der Benutzeranfrage und anderen Faktoren, angezeigt werden soll
-                        übergeben die Daten welche jede View benötigt, oder übergeben die Kontrolle
-                        komplett an andere Controller. Die meisten <acronym>MVC</acronym> Experten
-                        empfehlen <ulink
+                        <emphasis>Controller</emphasis> - Controller verbinden das komplette
+                        Pattern. Sie manipulieren Modelle, entscheiden welche View, basieren auf der
+                        Benutzeranfrage und anderen Faktoren, angezeigt werden soll übergeben die
+                        Daten welche jede View benötigt, oder übergeben die Kontrolle komplett an
+                        andere Controller. Die meisten <acronym>MVC</acronym> Experten empfehlen
+                        <ulink
                             url="http://weblog.jamisbuck.org/2006/10/18/skinny-controller-fat-model">Controller
                             so schlank wie möglich zu halten</ulink>.
                     </para>

+ 18 - 13
documentation/manual/de/tutorials/view-placeholders-basics.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 19777 -->
+<!-- EN-Revision: 20109 -->
 <!-- Reviewed: no -->
 <sect1 id="learning.view.placeholders.basics">
     <title>Grundsätzliche Verwendung von Platzhaltern</title>
@@ -8,7 +8,8 @@
         Zend Framework definiert einen generischen <methodname>placeholder()</methodname> View
         Helfer den man für so viele eigene Platzhalter verwenden kann wie man will. Er bietet auch
         eine Vielzahl an Platzhalter Implementationen für oft benötigte Funktionalitäten, wie die
-        Spezifikation der <acronym>DocType</acronym> Deklaration, den Titel des Dokuments und mehr.
+        Spezifikation der <emphasis>DocType</emphasis> Deklaration, den Titel des Dokuments und
+        mehr.
     </para>
 
     <para>
@@ -82,9 +83,10 @@
 <div class="sidebar">
     <div class="block">
         <p>
-            Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus consectetur aliquet
-            odio ac consectetur. Nulla quis eleifend tortor. Pellentesque varius, odio quis bibendum
-            consequat, diam lectus porttitor quam, et aliquet mauris orci eu augue.
+            Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus
+            consectetur aliquet odio ac consectetur. Nulla quis eleifend
+            tortor. Pellentesque varius, odio quis bibendum consequat, diam
+            lectus porttitor quam, et aliquet mauris orci eu augue.
         </p>
     </div>
     <div class="block">
@@ -145,7 +147,8 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
     </para>
 
     <para>
-        Wir benennen das View Skript "user/_sidebar.phtml", und machen es wir folgt bekannt:
+        Wir benennen das View Skript "<filename>user/_sidebar.phtml</filename>", und machen es wir
+        folgt bekannt:
     </para>
 
     <programlisting language="php"><![CDATA[
@@ -163,8 +166,9 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
     <para>
         Das obige Beispiel verwendet das Capture Feature für den Inhalt des Platzhalters.
         Standardmäßig wird Inhalt dem Container als neues Element angehängt, was es erlaubt Ihn zu
-        sammeln. Dieses Beispiel verwendet View Helfer und statisches HTML um Markup zu erzeugen.
-        Der Inhalt wird anschließend gefangen und dem Platzhalter selbst angehängt.
+        sammeln. Dieses Beispiel verwendet View Helfer und statisches <acronym>HTML</acronym> um
+        Markup zu erzeugen. Der Inhalt wird anschließend gefangen und dem Platzhalter selbst
+        angehängt.
     </para>
 
     <para>
@@ -197,8 +201,8 @@ class UserController extends Zend_Controller_Action
 
     <para>
         Nehmen wir also an das unsere "view" Aktion die im selben Controlle ist einige Informationen
-        anzeigen muss. Im View Skript "user/view.phtml" könnten wie den folgende Inhalts Abschnitt
-        haben:
+        anzeigen muss. Im View Skript "<filename>user/view.phtml</filename>" könnten wie den
+        folgende Inhalts Abschnitt haben:
     </para>
 
     <programlisting language="php"><![CDATA[
@@ -233,9 +237,10 @@ $this->placeholder('sidebar')
         Für Controller und Aktionen welche den "sidebar" Platzhalter nicht verwenden wird kein
         Inhalt dargestellt; für jene die es tun wird, wenn der Platzhalter ausgegeben wird der
         Inhalt, entsprechend der Regeln die in unserer Bootstrap erstellt wurden, dargestellt als
-        auch der Inhalt den wir über die Anwendung hinaus sammeln. Im Falle der "/user/view"
-        Aktion, und der Annahme des Benutzernamens "matthew" würden wir den folgenden Inhalt der
-        Sidebar erhalten (aus Gründen der Lesbarkeit formatiert):
+        auch der Inhalt den wir über die Anwendung hinaus sammeln. Im Falle der
+        "<filename>/user/view</filename>" Aktion, und der Annahme des Benutzernamens "matthew"
+        würden wir den folgenden Inhalt der Sidebar erhalten (aus Gründen der Lesbarkeit
+        formatiert):
     </para>
 
     <programlisting language="html"><![CDATA[

+ 20 - 17
documentation/manual/de/tutorials/view-placeholders-standard.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 19778 -->
+<!-- EN-Revision: 20109 -->
 <!-- Reviewed: no -->
 <sect1 id="learning.view.placeholders.standard">
     <title>Standard Platzhalter</title>
@@ -237,11 +237,12 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
         <title>Stylesheets mit HeadLink spezifizieren</title>
 
         <para>
-            Gute CSS entwickler erstellen oft ein generisches Stylesheet für Siteweite Stile, und
-            individuelle Stylesheets für spezifische Sektionen oder Seite der Website, und laden die
-            zweiteren über Konditionen um die Menge der Daten zu verringern die bei jeder Anfrage
-            übertragen werden müssen. Der <methodname>headLink()</methodname> Platzhalter macht die
-            Sammlung von solchen konditionellen Stylesheets in der Anwendung trivial.
+            Gute <acronym>CSS</acronym> Entwickler erstellen oft ein generisches Stylesheet für
+            Siteweite Stile, und individuelle Stylesheets für spezifische Sektionen oder Seite der
+            Website, und laden die zweiteren über Konditionen um die Menge der Daten zu verringern
+            die bei jeder Anfrage übertragen werden müssen. Der <methodname>headLink()</methodname>
+            Platzhalter macht die Sammlung von solchen konditionellen Stylesheets in der Anwendung
+            trivial.
         </para>
 
         <para>
@@ -250,18 +251,19 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
             denen wir uns befassen sind <methodname>appendStylesheet()</methodname> und
             <methodname>prependStylesheet()</methodname>. Jede nimmt bis zu vier Argumente,
             <varname>$href</varname> (den relativen Pfad zum Stylesheet), <varname>$media</varname>
-            (den MIME Typ, der standardmäßig "text/css" ist),
+            (den <acronym>MIME</acronym> Typ, der standardmäßig "text/css" ist),
             <varname>$conditionalStylesheet</varname> (kann verwendet werden um eine "Kondition" zu
             spezifizieren bei dem das Stylesheet evaluiert wird), und <varname>$extras</varname>
-            (ein assoziatives Array von Schlüssel/Werte Paare, üblicherweise verwendet um einen
+            (ein assoziatives Array von Schlüssel und Werte Paare, üblicherweise verwendet um einen
             Schlüssel für "media" zu definieren). In den meisten Fällen muss man nur das erste
             Argument spezifizieren, den relativen Pfad zum Stylesheet.
         </para>
 
         <para>
             In unserem Beispiel nehmen wir an das alle Seiten das Stylesheet laden mussen welches in
-            "/styles/site.css" vorhanden ist (relativ zum Dokument Root); wir spezifizieren dass in
-            unserer Bootstrap Methode <methodname>_initPlaceholders()</methodname>.
+            "<filename>/styles/site.css</filename>" vorhanden ist (relativ zum Dokument Root); wir
+            spezifizieren dass in unserer Bootstrap Methode
+            <methodname>_initPlaceholders()</methodname>.
         </para>
 
         <programlisting language="php"><![CDATA[
@@ -341,20 +343,21 @@ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
         </para>
 
         <para>
-            So wie <methodname>headLink()</methodname> bietet <methodname>headScript</methodname>
+            So wie <methodname>headLink()</methodname> bietet <methodname>headScript()</methodname>
             "virtuelle" Methoden durch Überladen als Bequemlichkeit wenn Elemente spezifiziert
             werden um Sie zu sammeln; übliche Methoden sind <methodname>prependFile()</methodname>,
             <methodname>appendFile()</methodname>, <methodname>prependScript()</methodname>, und
             <methodname>appendScript()</methodname>. Die ersten zwei erlauben es Dateien zu
-            spezifizieren auf die im <varname>src</varname> Attribut des <code>&lt;script&gt;</code>
-            Tags referenziert wird; die letzteren zwei nehmen den angegebenen Inhalt und stellen Ihn
-            als literales JavaScript im <code>&lt;script&gt;</code> Tag dar.
+            spezifizieren auf die im <varname>$src</varname> Attribut des
+            <code>&lt;script&gt;</code> Tags referenziert wird; die letzteren zwei nehmen den
+            angegebenen Inhalt und stellen Ihn als literales JavaScript im
+            <code>&lt;script&gt;</code> Tag dar.
         </para>
 
         <para>
-            In diesem Beispiel spezifizieren wir ein Skript, "/js/site.js" muss bei jeder Seite
-            geladen werden; wir aktualisieren die <methodname>_initPlaceholders()</methodname>
-            Methode in der Bootstrap um das zu tun.
+            In diesem Beispiel spezifizieren wir ein Skript, "<filename>/js/site.js</filename>"
+            muss bei jeder Seite geladen werden; wir aktualisieren die
+            <methodname>_initPlaceholders()</methodname> Methode in der Bootstrap um das zu tun.
         </para>
 
         <programlisting language="php"><![CDATA[