Преглед на файлове

[MANUAL] German:

- sync to r19688

git-svn-id: http://framework.zend.com/svn/framework/standard/trunk@19791 44c647ce-9c0f-0410-b52a-842ac1e357ba
thomas преди 16 години
родител
ревизия
94cedf1d1a

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

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 19550 -->
+<!-- EN-Revision: 19661 -->
 <!-- Reviewed: no -->
 <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.4//EN"
     "@DOCBOOK_DTD@"
@@ -181,6 +181,8 @@
     <chapter id="zend.exception">
         <title>Zend_Exception</title>
         <xi:include href="module_specs/Zend_Exception.xml" />
+        <xi:include href="module_specs/Zend_Exception-Basic.xml" />
+        <xi:include href="module_specs/Zend_Exception-Previous.xml" />
     </chapter>
 
     <chapter id="zend.feed">

+ 41 - 0
documentation/manual/de/module_specs/Zend_Exception-Basic.xml

@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 19661 -->
+<!-- Reviewed: no -->
+<sect1 id="zend.exception.basic">
+    <title>Grundsätzliche Verwendung</title>
+
+    <para>
+        <classname>Zend_Exception</classname> ist die Basisklasse für alle Exceptions die von Zend
+        Framework geworfen werden. Diese Klasse erweitert die grundsätzliche
+        <classname>Exception</classname> Klasse von PHP.
+    </para>
+
+    <example id="zend.exception.catchall.example">
+        <title>Alle Zend Framework Exceptions fangen</title>
+
+        <programlisting language="php"><![CDATA[
+try {
+    // eigener Code
+} catch (Zend_Exception $e) {
+    // mach was
+}
+]]></programlisting>
+    </example>
+
+    <example id="zend.exception.catchcomponent.example">
+        <title>
+            Exceptions fangen die von einer speziellen Komponente von Zend Framework geworfen werden
+        </title>
+
+        <programlisting language="php"><![CDATA[
+try {
+    // eigener Code
+} catch (Zend_Db_Exception $e) {
+    // mach was
+}
+]]></programlisting>
+    </example>
+</sect1>
+<!--
+vim:se ts=4 sw=4 et:
+-->

+ 47 - 0
documentation/manual/de/module_specs/Zend_Exception-Previous.xml

@@ -0,0 +1,47 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- EN-Revision: 19661 -->
+<!-- Reviewed: no -->
+<sect1 id="zend.exception.previous">
+    <title>Vorherige Exceptions</title>
+
+    <para>
+        Seit Zend Framework 1.10 implementiert <classname>Zend_Exception</classname> die
+        Unterstützung von PHP 5.3 für vorgerige Exceptions. Einfach gesagt, wenn man in einem
+        <methodname>catch</methodname> ist, kann man eine neue Exception werfen welche auf die
+        vorherige Exception referenziert, was wiederum hilft indem zusätzlicher Kontext angeboten
+        wird wenn man debuggt. Indem diese Unterstützung im Zend Framework angeboten wird, ist der
+        eigene Code jetzt vorwärts kompatibel mit PHP 5.3.
+    </para>
+
+    <para>
+        Vorherige Exceptions werden als drittes Argument an den Contructor der Exceptions indiziert.
+    </para>
+
+    <example id="zend.exception.previous.example">
+        <title>Vorherige Exceptions</title>
+
+        <programlisting language="php"><![CDATA[
+try {
+    $db->query($sql);
+} catch (Zend_Db_Statement_Exception $e) {
+    if ($e->getPrevious()) {
+        echo '[' . get_class($e)
+            . '] hat die vorherige Exception von ['
+            . get_class($e->getPrevious())
+            . ']' . PHP_EOL;
+    } else {
+        echo '[' . get_class($e)
+            . '] hat keine vorherige Exception'
+            . PHP_EOL;
+    }
+
+    echo $e;
+    // zeigt alle Exceptions beginnend mit der ersten geworfenen
+    // Exception wenn vorhanden.
+}
+]]></programlisting>
+    </example>
+</sect1>
+<!--
+vim:se ts=4 sw=4 et:
+-->

+ 13 - 13
documentation/manual/de/module_specs/Zend_Exception.xml

@@ -1,28 +1,29 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 15681 -->
+<!-- EN-Revision: 19661 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.exception.using">
-
     <title>Verwenden von Ausnahmen</title>
 
     <para>
-        <classname>Zend_Exception</classname> ist einfach die Basisklasse für alle Ausnahmen die
+        <classname>Zend_Exception</classname> ist einfach die Basisklasse für alle Exceptions die
         vom Zend Framework geworfen werden.
     </para>
 
     <example id="zend.exception.using.example">
-        <title>Fangen einer Ausnahme</title>
+        <title>Fangen einer Exception</title>
+
         <para>
-            Das folgende Code Beispiel demonstriert wie eine Ausnahme gefangen werden
+            Das folgende Code Beispiel demonstriert wie eine Exception gefangen werden
             kann die in einer Zend Framework Klasse geworfen wird:
         </para>
+
         <programlisting language="php"><![CDATA[
 try {
     // Der Aufruf von Zend_Loader::loadClass() mit einer nicht-existierenden
-    // Klasse wird eine Ausnahme in Zend_Loader werfen
+    // Klasse wird eine Exception in Zend_Loader werfen:
     Zend_Loader::loadClass('nonexistantclass');
 } catch (Zend_Exception $e) {
-    echo "Gefangene Ausnahme: " . get_class($e) . "\n";
+    echo "Gefangene Exception: " . get_class($e) . "\n";
     echo "Nachricht: " . $e->getMessage() . "\n";
     // anderer Code um den Fehler zu korrigieren.
 }
@@ -31,18 +32,17 @@ try {
 
     <para>
         <classname>Zend_Exception</classname> kann als fang-sie-alle Exception Klasse in einem
-        Catch Block verwendet werden um alle Ausnahmen, die von Zend Framework Klassen geworfen
+        Catch Block verwendet werden um alle Exceptions, die von Zend Framework Klassen geworfen
         werden, zu fangen. Das kann nützlich sein wenn das Programm, durch das Fangen eines
-        speziellen Ausnahmetyps, nicht wiederhergestellt werden kann.
+        speziellen Exception Typs, nicht wiederhergestellt werden kann.
     </para>
 
     <para>
         Die Dokumentation der einzelnen Zend Framework Komponenten und Klassen
-        enthält spezielle Informationen darüber welche Methoden Ausnahmen werfen,
-        die Gründe die dazu führen das eine Ausnahme geworfen wird, und die Klassen
-        aller Ausnahmen die geworfen werden können.
+        enthält spezielle Informationen darüber welche Methoden Exceptions werfen,
+        die Gründe die dazu führen das eine Exception geworfen wird, und die verschiedenen Exception
+        Typen die geworfen werden können.
     </para>
-
 </sect1>
 <!--
 vim:se ts=4 sw=4 et:

+ 17 - 4
documentation/manual/de/module_specs/Zend_Pdf-InteractiveFeatures.xml

@@ -1,8 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 19419 -->
+<!-- EN-Revision: 19670 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.pdf.interactive-features">
     <title>Interaktive Features</title>
+
     <sect2 id="zend.pdf.pages.interactive-features.destinations">
         <title>Ziele</title>
 
@@ -797,15 +798,27 @@ $pdf->resolveDestination(Zend_Pdf_Destination_Named::create('Page3'));
             </itemizedlist>
 
             <para>
-                Nur <classname>Zend_Pdf_Action_GoTo</classname> Aktionen können aktuell von
-                Benutzern erstellt werden. Das kann getan werden indem die Methode
+                Nur <classname>Zend_Pdf_Action_GoTo</classname> und
+                <classname>Zend_Pdf_Action_URI</classname> Aktionen können aktuell von
+                Benutzern erstellt werden.
+            </para>
+
+            <para>
+                Goto Aktionen können erstellt werden indem die Methode
                 <methodname>Zend_Pdf_Action_GoTo::create($destination)</methodname> verwendet
                 wird wobei <varname>$destination</varname> ein
-                <classname>Zend_Pdf_Destination</classname> Objekt oder String ist der verwendet
+                <classname>Zend_Pdf_Destination</classname> Objekt oder ein String ist der verwendet
                 werden kann um ein benanntes Ziel zu identifizieren.
             </para>
 
             <para>
+                Die Methode <methodname>Zend_Pdf_Action_URI::create($uri[, $isMap])</methodname>
+                muss verwendet werden um eine URI Aktion zu erstellen (siehe die API Dokumentation
+                für Details). Der optionale <varname>$isMap</varname> Parameter wird
+                standardmäßig auf false gesetzt.
+            </para>
+
+            <para>
                 Es unterstützt auch die folgenden Methoden:
             </para>
         </sect3>

+ 84 - 14
documentation/manual/de/module_specs/Zend_Translate-Plurals.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 19383 -->
+<!-- EN-Revision: 19669 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.translate.plurals">
     <title>Plurale Schreibweisen für Übersetzungen</title>
@@ -33,7 +33,6 @@
     </para>
 
     <sect2 id="zend.translate.plurals.traditional">
-
         <title>Traditionelle plurale Übersetzung</title>
 
         <para>
@@ -44,7 +43,6 @@
         </para>
 
         <example id="zend.translate.plurals.traditional.example1">
-
             <title>Beispiel einer traditionellen pluralen Übersetzung</title>
 
             <para>
@@ -63,13 +61,10 @@
 $translate = new Zend_Translate('gettext', '/path/to/german.mo', 'de');
 $translate->plural('Car', 'Cars', $number);
 ]]></programlisting>
-
         </example>
-
     </sect2>
 
     <sect2 id="zend.translate.plurals.modern">
-
         <title>Moderne plurale Übersetzungen</title>
 
         <para>
@@ -88,7 +83,6 @@ $translate->plural('Car', 'Cars', $number);
         </para>
 
         <example id="zend.translate.plurals.modern.example1">
-
             <title>Beispiel für moderne plurale Übersetzungen</title>
 
             <para>
@@ -109,7 +103,6 @@ $translate->translate(array('Car', 'Cars', $number));
         </para>
 
         <example id="zend.translate.plurals.modern.example2">
-
             <title>
                 Beispiel einer modernen pluralen Übersetzung durch Verwendung einer anderen
                 Quellsprachen
@@ -128,7 +121,6 @@ $translate->translate(array('Car',
                             $number,
                             'ru'));
 ]]></programlisting>
-
         </example>
 
         <para>
@@ -141,11 +133,9 @@ $translate->translate(array('Car',
             Wenn man die plurale Sprache nicht angibt dan wird standardmäßig englisch verwendet
             und jede zusätzliche Plurale Definition wird ignoriert.
         </para>
-
     </sect2>
 
     <sect2 id="zend.translate.plurals.source">
-
         <title>Plurale Quelldateien</title>
 
         <para>
@@ -162,39 +152,48 @@ $translate->translate(array('Car',
                         <entry>Plural unterstützt</entry>
                     </row>
                 </thead>
+
                 <tbody>
                     <row>
                         <entry>Array</entry>
                         <entry><emphasis>Ja</emphasis></entry>
                     </row>
+
                     <row>
                         <entry>Csv</entry>
                         <entry><emphasis>Ja</emphasis></entry>
                     </row>
+
                     <row>
                         <entry>Gettext</entry>
                         <entry><emphasis>Ja</emphasis></entry>
                     </row>
+
                     <row>
                         <entry>Ini</entry>
                         <entry><emphasis>Nein</emphasis></entry>
                     </row>
+
                     <row>
                         <entry>Qt</entry>
                         <entry><emphasis>Nein</emphasis></entry>
                     </row>
+
                     <row>
                         <entry>Tbx</entry>
                         <entry><emphasis>Nein</emphasis></entry>
                     </row>
+
                     <row>
                         <entry>Tmx</entry>
                         <entry><emphasis>Nein</emphasis></entry>
                     </row>
+
                     <row>
                         <entry>Xliff</entry>
                         <entry><emphasis>Nein</emphasis></entry>
                     </row>
+
                     <row>
                         <entry>XmlTm</entry>
                         <entry><emphasis>Nein</emphasis></entry>
@@ -208,7 +207,6 @@ $translate->translate(array('Car',
         </para>
 
         <sect3 id="zend.translate.plurals.source.array">
-
             <title>Array Quellen mit pluralen Definitionen</title>
 
             <para>
@@ -251,11 +249,9 @@ array(
                 Quellsprache mehr plurale Formen unterstützt, dann muß einfach eine neue leere
                 Übersetzung hinzugefügt werden.
             </para>
-
         </sect3>
 
         <sect3 id="zend.translate.plurals.source.csv">
-
             <title>CSV Quellen mit pluralen Definitionen</title>
 
             <para>
@@ -295,6 +291,80 @@ array(
             </note>
         </sect3>
     </sect2>
+
+    <sect2 id="zend.translate.plurals.customrules">
+        <title>Eigene Plural Regeln</title>
+
+        <para>
+            In seltenen Fällen kann es nützlich sein wenn man in der Lage ist eigene Plural Regeln
+            zu definieren. Chinesisch zum Beispiel. Diese Sprache definiert zwei Plural Regeln.
+            Standardmäßig verwendet Sie kein Plural. Aber in seltenen Fällen wird eine Regel wie
+            diese verwendet: <emphasis>(number == 1) ? 0 : 1</emphasis>.
+        </para>
+
+        <para>
+            Auch wenn man eine Sprache verwenden will die keine bekannten Plural Regeln hat, und
+            man eigene Regeln definieren will.
+        </para>
+
+        <para>
+            Das kann durch Verwendung von <methodname>Zend_Translate_Plural::setRule()</methodname>
+            getan werden. Diese Methode erwartet zwei Parameter welche angegeben werden müssen. Eine
+            Regel, welche einfach ein Callback zu einer selbst definierten Methode ist. Und ein
+            Gebietsschema für das diese Regel verwendet wird.
+        </para>
+
+        <para>
+            Die eigene Regel könnte wie folgt aussehen:
+        </para>
+
+        <programlisting language="php"><![CDATA[
+public function MyRule($number) {
+    return ($number == 10) ? 0 : 1;
+}
+]]></programlisting>
+
+        <para>
+            Wie man sieht muss die eigene Regel einen Parameter akzeptieren. Er ist eine Zahl die
+            man verwendet um zurückzugeben welches Plural der Übersetzung verwendet werden muss.
+            In unserem Beispiel haben wir definiert dass wenn wie eine '10' erhalten, die Plural
+            Definition 0 verwendet werden soll, und in allen anderen Fälle verwendet wir eine 1.
+        </para>
+
+        <para>
+            Eigene Regeln können so einfach oder so kompliziert sein wie man will. Man muss einfach
+            nur einen Integer Wert zurückgeben. Die Plural Definition ß steht hierbei für die
+            Singular Übersetzung, und 1 steht für die erste Plural Regel.
+        </para>
+
+        <para>
+            Um die eigene Regel zu aktivieren und diese mit dem gewünschten Gebietsschema zu
+            verknüpfen, muss man den folgenden Aufruf tätigen:
+        </para>
+
+        <programlisting language="php"><![CDATA[
+Zend_Translate_Plural::setPlural('MyPlural', 'zh');
+]]></programlisting>
+
+        <para>
+            Jetzt haben wir unsere Plural Definition mit der chinesischen Sprache verknüpft.
+        </para>
+
+        <para>
+            Man kann für jede Sprache eigene Plural Regeln definieren. Aber man sollte aufpassen
+            dass man plurale Regeln setzt bevor Übersetzungen durchgeführt werden.
+        </para>
+
+        <note>
+            <title>Eigene Plural Regeln nur definieren wenn dies benötigt wird</title>
+
+            <para>
+                <classname>Zend_Translate</classname> definiert Plurale für die meisten bekannten
+                Sprachen. Man sollte keine eigenen Plurale definieren wenn man das nicht
+                benötigt. Die Standardregeln funktionieren meistens.
+            </para>
+        </note>
+    </sect2>
 </sect1>
 <!--
 vim:se ts=4 sw=4 et:

+ 40 - 30
documentation/manual/de/module_specs/Zend_XmlRpc_Server.xml

@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!-- EN-Revision: 19614 -->
+<!-- EN-Revision: 19674 -->
 <!-- Reviewed: no -->
 <sect1 id="zend.xmlrpc.server">
     <title>Zend_XmlRpc_Server</title>
@@ -194,11 +194,13 @@ function myFunc($val1, $val2, $val3)
 }
 ]]></programlisting>
 
-        <para>
-            Wenn man viele Signaturen erlaubt kann dies zu Verwirrung bei Entwicklern führen, welche
-            diese Services nutzen; um die Dinge einfach zu halten sollte eine
-            <acronym>XML-RPC</acronym> Methode deshalb nur eine Signatur haben.
-        </para>
+        <note>
+            <para>
+                Wenn man viele Signaturen erlaubt kann dies zu Verwirrung bei Entwicklern führen,
+                welche diese Services nutzen; um die Dinge einfach zu halten sollte eine
+                <acronym>XML-RPC</acronym> Methode deshalb nur eine Signatur haben.
+            </para>
+        </note>
     </sect2>
 
     <sect2 id="zend.xmlrpc.server.namespaces">
@@ -449,7 +451,10 @@ class Services_PricingService
 }
 
 $server = new Zend_XmlRpc_Server();
-$server->setClass('Services_PricingService', 'pricing', new ProductRepository(), new PurchaseRepository());
+$server->setClass('Services_PricingService',
+                  'pricing',
+                  new ProductRepository(),
+                  new PurchaseRepository());
 ]]></programlisting>
 
             <para>
@@ -503,7 +508,10 @@ class Services_PricingService2
 
 $server = new Zend_XmlRpc_Server();
 $server->sendArgumentsToAllMethods(false);
-$server->setClass('Services_PricingService2', 'pricing', new ProductRepository(), new PurchaseRepository());
+$server->setClass('Services_PricingService2',
+                  'pricing',
+                  new ProductRepository(),
+                  new PurchaseRepository());
 ]]></programlisting>
         </example>
 
@@ -710,7 +718,10 @@ echo $server->handle($request);
 ]]></programlisting>
 
             <note>
-                Die Datei des Server Caches sollte ausserhalb des Document Roots platziert werden.
+                <para>
+                    Die Datei des Server Caches sollte ausserhalb des Document Roots platziert
+                    werden.
+                </para>
             </note>
         </example>
 
@@ -733,7 +744,6 @@ echo $server->handle($request);
             </para>
 
             <programlisting language="php"><![CDATA[
-<?php
 require_once 'Zend/XmlRpc/Server.php';
 require_once 'Zend/XmlRpc/Generator/XMLWriter.php';
 
@@ -742,30 +752,30 @@ Zend_XmlRpc_Value::setGenerator(new Zend_XmlRpc_Generator_XMLWriter());
 $server = new Zend_XmlRpc_Server();
 ...
 ]]></programlisting>
+        </example>
 
-            <note>
-                <title>Die eigene Anwendung benchmarken</title>
+        <note>
+            <title>Die eigene Anwendung benchmarken</title>
 
-                <para>
-                    Performance wird durch eine Vielzahl an Parametern und Benchmarks ermittelt
-                    welche nur für den speziellen Testfall angewendet werden. Unterschiede basieren
-                    auf der PHP Version, installierten Erweiterungen, dem Webserver und dem
-                    Betriebssystem um nur einige zu nennen. Man sollte darauf achten das man die
-                    eigene Anwendung selbst benchmarkt und anschließend auswählt welchen Generator
-                    man verwendet, aber basierend auf <emphasis>eigenen</emphasis> Zahlen.
-                </para>
-            </note>
+            <para>
+                Performance wird durch eine Vielzahl an Parametern und Benchmarks ermittelt
+                welche nur für den speziellen Testfall angewendet werden. Unterschiede basieren
+                auf der PHP Version, installierten Erweiterungen, dem Webserver und dem
+                Betriebssystem um nur einige zu nennen. Man sollte darauf achten das man die
+                eigene Anwendung selbst benchmarkt und anschließend auswählt welchen Generator
+                man verwendet, aber basierend auf <emphasis>eigenen</emphasis> Zahlen.
+            </para>
+        </note>
 
-            <note>
-                <title>Den eigenen Client benchmarken</title>
+        <note>
+            <title>Den eigenen Client benchmarken</title>
 
-                <para>
-                    Diese Optimierung macht auch für die Client Seite Sinn. Man muss den
-                    alternativen <acronym>XML</acronym> Generator nur auswählen bevor man irgendeine
-                    Arbeit mit <classname>Zend_XmlRpc_Client</classname> durchführt.
-                </para>
-            </note>
-        </example>
+            <para>
+                Diese Optimierung macht auch für die Client Seite Sinn. Man muss den
+                alternativen <acronym>XML</acronym> Generator nur auswählen bevor man irgendeine
+                Arbeit mit <classname>Zend_XmlRpc_Client</classname> durchführt.
+            </para>
+        </note>
     </sect2>
 </sect1>
 <!--